From: yasushiito Date: Wed, 21 Jan 2015 05:44:03 +0000 (+0900) Subject: fix mg fail X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=commitdiff_plain;h=408ef92fab105ea87397d2913add609760f53deb;hp=-c fix mg fail --- 408ef92fab105ea87397d2913add609760f53deb diff --combined app/assets/javascripts/editor/panel_editor.js.coffee index 0d53258d,6431d4ec..a47fab55 --- a/app/assets/javascripts/editor/panel_editor.js.coffee +++ b/app/assets/javascripts/editor/panel_editor.js.coffee @@@ -5,7 -5,9 +5,9 @@@ class Editor.PanelEditor extends Backbo initialize: (options) -> @panel = options.root_item @operators = options.operators - @element_forms = [] + @dialog = new Editor.PanelEditor.Dialog({ + parent: this + }) @body = new Pettanr.Views.Panel.Body.Edit({ panel: @root_item(), operators: @operators, @@@ -20,14 -22,12 +22,13 @@@ @add_element(element) #@dock.add_new_tab() @body.on('panel:resize', @panel_resize) + @listenTo(@dock, 'put', @put) add_element: (element) -> console.log(element) panel_element_view = @body.add_element(element) element_form = @dock.add_element(element) @dig(element, panel_element_view, element_form) - @element_forms.push(element_form) if element.constructor.has_picture() @credits.add_picture(element.picture()) @@@ -45,6 -45,11 +46,11 @@@ render: () -> this.$el.html('') + this.$el.append(@dialog.render().el) + @dialog.$el.dialog({ + autoOpen: false, + width: 640, height: 560 + }) this.$el.append(@body.render().el) this.$el.append(@dock.render().el) @dock.element_bay.add_new_tab() @@@ -61,10 -66,6 +67,10 @@@ #$(trace + 'width').val(w) #$(trace + 'height').val(h) + put: () -> + attrs = @dock.save_data() + false + root_item: () -> @panel @@@ -74,3 -75,14 +80,14 @@@ dom_class: () -> 'editor' + class Editor.PanelEditor.Dialog extends Backbone.View + tagName: 'div' + className: 'panel-editor-dialog' + + initialize: (options) -> + @parent = options.parent + + render: () -> + this.$el.html('') + this + diff --combined app/assets/javascripts/editor/panel_editor/dock.js.coffee index 596f29f7,375c8887..75bb0f60 --- a/app/assets/javascripts/editor/panel_editor/dock.js.coffee +++ b/app/assets/javascripts/editor/panel_editor/dock.js.coffee @@@ -40,7 -40,6 +40,7 @@@ class Editor.PanelEditor.Dock extends E parent: @scenario_bay }) ) + @listenTo(@root_bay.body, 'put', @put) render: () -> this.$el.html('') @@@ -67,43 -66,32 +67,43 @@@ dom_labels_class: () -> @dom_class() + '-labels' + put: () -> + @trigger('put') + false + + save_data: () -> + attrs = @root_bay.save_data() + _.extend(attrs, @element_bay.save_data()) + attrs + class Editor.EditorModule.DockModule.RootBay extends Editor.EditorModule.DockModule.SimpleBay render: () -> @body.render() + save_data: () -> + @body.form.save_data() + class Editor.EditorModule.DockModule.TabModule.RootBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel class Editor.EditorModule.DockModule.TabModule.RootBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody initialize: (options) -> super(options) - @form = new Locmare.Bucket.factory( - @root_item().item_name(), - @root_item(), - @mounted(), - 'default', - @dock().editor().operators - ) - @bucket = new Editor.EditorModule.DockModule.FormBucket({ - parent: this, form: @form + @form = Locmare.Form.factory({ + form_name: @root_item().item_name(), + item: @root_item(), + mounted: @mounted(), + submit: 'default', + operators: @dock().editor().operators, + action: '/' + @root_item().table_name() + '/' + Pettanr.to_s(@root_item().get('id')) }) + @listenTo(@form, 'put', @put) render: () -> super() @el.className = @bay().body.dom_class() - this.$el.html(@bucket.render().el) + this.$el.html(@form.render().el) this mounted: () -> @@@ -115,10 -103,6 +115,10 @@@ root_item: () -> @dock().root_item() + put: () -> + @trigger('put') + false + class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.DockModule.BoardBay initialize: (options) -> @@@ -175,16 -159,6 +175,16 @@@ panel_body: () -> @dock().editor().body + save_data: () -> + attrs = {} + _.each @tabs, (tab) -> + return if not tab.element # without new element tab + form = tab.body.form + name = form.item.table_name() + '_attributes' + attrs[name] ||= [] + attrs[name].push(form.save_data()) + attrs + class Editor.EditorModule.DockModule.ElementBay.ElementsTabs extends Backbone.View tagName: 'div' className: 'elements_tabs ui-tabs-vertical ui-helper-clearfix' @@@ -337,125 -311,84 +337,84 @@@ class Editor.EditorModule.DockModule.Ta this.$el.attr('id', @dom_id()) class Editor.EditorModule.DockModule.TabModule.NewElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody + className: 'new-element-board-body' initialize: (options) -> super(options) render: () -> this.$el.attr('id', @dom_id()) - @new_element_pocket = new Editor.EditorModule.DockModule.NewElementPocket({ - parent: this + @buttons = new Editor.EditorModule.DockModule.NewElementButtons({ + parent: this, element_models: @element_models() }) - this.$el.append(@new_element_pocket.render().el) - this - - class Editor.EditorModule.DockModule.NewElementPocket extends Editor.EditorModule.DockModule.Pocket - - initialize: (options) -> - super(options) - @button_wrapper = new Editor.EditorModule.DockModule.NewElementPocket.ButtonWrapper({ + @form_wrapper = new Editor.EditorModule.DockModule.NewElementFormWrapper({ parent: this }) - - render: () -> - this.$el.html('') - this.$el.append(@button_wrapper.clear().el) - @add_tabs() - _.each @tabs, (tab) => - this.$el.append(tab.body.render().el) - @button_wrapper.render() - this.$el.tabs() + this.$el.append(@buttons.render().el) + this.$el.append(@form_wrapper.clear().el) this - add_tabs: () -> - index = 0 - _.each @element_models(), (model) => - tab = new Editor.EditorModule.DockModule.NewElementPocketTab({ - parent: this, index: index, name: model.item_name(), model: model - }) - bb = new Editor.EditorModule.DockModule.TabModule.NewElementPocketBody({ - parent: tab - }) - bl = new Editor.EditorModule.DockModule.TabModule.NewElementPocketLabel({ - parent: tab - }) - @add_tab(tab, bl, bb) - @button_wrapper.add_label(bl) - index++ - panel: () -> - @parent.parent.panel + @parent.panel element_models: () -> @panel().my_class().child_models() - class Editor.EditorModule.DockModule.NewElementPocket.ButtonWrapper extends Backbone.View + class Editor.EditorModule.DockModule.NewElementButtons extends Backbone.View tagName: 'div' - className: 'new_elements_tabs ui-tabs-vertical ui-helper-clearfix' + className: 'new-element-buttons' initialize: (options) -> super(options) @parent = options.parent - @buttons = new Editor.EditorModule.DockModule.NewElementPocket.Buttons({ - parent: this - }) - - clear: () -> - this.$el.html('') - this + @element_models = options.element_models render: () -> - this.$el.append(@buttons.render().$el) + _.each @element_models, (model) => + button = new Editor.EditorModule.DockModule.NewElementButton({ + parent: this, model: model + }) + this.$el.append(button.render().el) this - add_label: (label) -> - @buttons.add_label(label) - - class Editor.EditorModule.DockModule.NewElementPocket.Buttons extends Backbone.View - tagName: 'ul' + class Editor.EditorModule.DockModule.NewElementButton extends Backbone.View + tagName: 'div' initialize: (options) -> super(options) @parent = options.parent - @labels = [] + @model = options.model render: () -> this.$el.html('') - this.$el.addClass('inner-new-elements-tabs') - _.each @labels, (label) => - this.$el.append(label.render().$el) - this - - add_label: (label) -> - @labels.push(label) - - class Editor.EditorModule.DockModule.TabModule.NewElementPocketLabel extends Editor.EditorModule.DockModule.TabModule.PocketLabel - - render: () -> - super() - this.$el.removeClass('ui-corner-top') - this.$el.addClass('ui-corner-left') + icon = new Pettanr.Image.Icon({item: @model}) + linked_icon = new Editor.EditorModule.DockModule.NewElementLinkedButton({ + attr: {href: '#event' }, + content: icon.render().el, + handler_name: 'click' + }) + @listenTo(linked_icon, 'click', @click) + this.$el.append(linked_icon.render().el) this - add_label: () -> - this.$el.attr('id', @dom_id()) + click: () -> + @set_dialog() + @set_form() + @dialog().$el.dialog('open') - class Editor.EditorModule.DockModule.TabModule.NewElementPocketBody extends Editor.EditorModule.DockModule.TabModule.PocketBody - - initialize: (options) -> - super(options) - - render: () -> - this.$el.attr('id', @dom_id()) - @params = {controller: @model().path_name(), action: 'index'} + set_dialog: () -> + @params = { + controller: @model.path_name(), action: 'index', + page_size: 6 + } @list = Locmare.ListGroup.list( - @model().path_name(), 'index', @operators(), @params + @model.path_name(), 'index', @operators(), @params ) @list.open(() => pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, @params) f = new Locmare.Filer({ - el: '#' + @dom_id(), - item_name: @model().item_name(), + el: @dialog().$el, + item_name: @model.item_name(), items: @list.items(), pager: pager, operators: @operators() @@@ -463,15 -396,48 +422,48 @@@ ) this + set_form: () -> + @form_wrapper().select(@model) + operators: () -> @editor().operators - model: () -> - @pocket_tab().model + form_wrapper: () -> + @parent.parent.form_wrapper + + dock: () -> + @parent.parent.dock() + + dialog: () -> + @editor().dialog editor: () -> @dock().parent + class Editor.EditorModule.DockModule.NewElementLinkedButton extends Tag.A + + click: () -> + @trigger('click') + return false + + class Editor.EditorModule.DockModule.NewElementFormWrapper extends Backbone.View + tagName: 'div' + + initialize: (options) -> + super(options) + @parent = options.parent + + clear: () -> + this.$el.html('new form') + this + + render: () -> + this.$el.html(@model.item_name()) + + select: (model) -> + @model = model + @render() + class Editor.EditorModule.DockModule.ScenarioBay extends Editor.EditorModule.DockModule.BoardBay initialize: (options) ->