OSDN Git Service

fix mg fail
authoryasushiito <yas@pen-chan.jp>
Wed, 21 Jan 2015 05:44:03 +0000 (14:44 +0900)
committeryasushiito <yas@pen-chan.jp>
Wed, 21 Jan 2015 05:44:03 +0000 (14:44 +0900)
1  2 
app/assets/javascripts/editor/panel_editor.js.coffee
app/assets/javascripts/editor/panel_editor/dock.js.coffee

@@@ -5,7 -5,9 +5,9 @@@ class Editor.PanelEditor extends Backbo
    initialize: (options) ->\r
      @panel = options.root_item\r
      @operators = options.operators\r
-     @element_forms = []\r
+     @dialog = new Editor.PanelEditor.Dialog({\r
+       parent: this\r
+     })\r
      @body = new Pettanr.Views.Panel.Body.Edit({\r
        panel: @root_item(),\r
        operators: @operators,\r
          @add_element(element)\r
      #@dock.add_new_tab()\r
      @body.on('panel:resize', @panel_resize)\r
 +    @listenTo(@dock, 'put', @put)\r
    \r
    add_element: (element) ->\r
      console.log(element)\r
      panel_element_view = @body.add_element(element)\r
      element_form = @dock.add_element(element)\r
      @dig(element, panel_element_view, element_form)\r
-     @element_forms.push(element_form)\r
      if element.constructor.has_picture()\r
        @credits.add_picture(element.picture())\r
    \r
    \r
    render: () ->\r
      this.$el.html('')\r
+     this.$el.append(@dialog.render().el)\r
+     @dialog.$el.dialog({\r
+       autoOpen: false,\r
+       width: 640, height: 560\r
+     })\r
      this.$el.append(@body.render().el)\r
      this.$el.append(@dock.render().el)\r
      @dock.element_bay.add_new_tab()\r
      #$(trace + 'width').val(w)\r
      #$(trace + 'height').val(h)\r
    \r
 +  put: () ->\r
 +    attrs = @dock.save_data()\r
 +    false\r
 +  \r
    root_item: () ->\r
      @panel\r
    \r
    dom_class: () ->\r
      'editor'\r
  \r
+ class Editor.PanelEditor.Dialog extends Backbone.View\r
+   tagName: 'div'\r
+   className: 'panel-editor-dialog'\r
+   \r
+   initialize: (options) ->\r
+     @parent = options.parent\r
+   \r
+   render: () ->\r
+     this.$el.html('')\r
+     this\r
+   \r
@@@ -40,7 -40,6 +40,7 @@@ class Editor.PanelEditor.Dock extends E
          parent: @scenario_bay\r
        })\r
      )\r
 +    @listenTo(@root_bay.body, 'put', @put)\r
    \r
    render: () ->\r
      this.$el.html('')\r
    dom_labels_class: () ->\r
      @dom_class() + '-labels'\r
    \r
 +  put: () ->\r
 +    @trigger('put')\r
 +    false\r
 +  \r
 +  save_data: () ->\r
 +    attrs = @root_bay.save_data()\r
 +    _.extend(attrs, @element_bay.save_data())\r
 +    attrs\r
 +  \r
  class Editor.EditorModule.DockModule.RootBay extends Editor.EditorModule.DockModule.SimpleBay\r
    \r
    render: () ->\r
      @body.render()\r
    \r
 +  save_data: () ->\r
 +    @body.form.save_data()\r
 +  \r
  class Editor.EditorModule.DockModule.TabModule.RootBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
    \r
  class Editor.EditorModule.DockModule.TabModule.RootBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
    \r
    initialize: (options) ->\r
      super(options)\r
 -    @form = new Locmare.Bucket.factory(\r
 -      @root_item().item_name(), \r
 -      @root_item(), \r
 -      @mounted(), \r
 -      'default', \r
 -      @dock().editor().operators\r
 -    )\r
 -    @bucket = new Editor.EditorModule.DockModule.FormBucket({\r
 -      parent: this, form: @form\r
 +    @form = Locmare.Form.factory({\r
 +      form_name: @root_item().item_name(), \r
 +      item: @root_item(), \r
 +      mounted: @mounted(), \r
 +      submit: 'default', \r
 +      operators: @dock().editor().operators,\r
 +      action: '/' + @root_item().table_name() + '/' + Pettanr.to_s(@root_item().get('id'))\r
      })\r
 +    @listenTo(@form, 'put', @put)\r
    \r
    render: () ->\r
      super()\r
      @el.className = @bay().body.dom_class()\r
 -    this.$el.html(@bucket.render().el)\r
 +    this.$el.html(@form.render().el)\r
      this\r
    \r
    mounted: () ->\r
    root_item: () ->\r
      @dock().root_item()\r
    \r
 +  put: () ->\r
 +    @trigger('put')\r
 +    false\r
 +  \r
  class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.DockModule.BoardBay\r
    \r
    initialize: (options) ->\r
    panel_body: () ->\r
      @dock().editor().body\r
    \r
 +  save_data: () ->\r
 +    attrs = {}\r
 +    _.each @tabs, (tab) ->\r
 +      return if not tab.element  # without new element tab\r
 +      form = tab.body.form\r
 +      name = form.item.table_name() + '_attributes'\r
 +      attrs[name] ||= []\r
 +      attrs[name].push(form.save_data())\r
 +    attrs\r
 +  \r
  class Editor.EditorModule.DockModule.ElementBay.ElementsTabs extends Backbone.View\r
    tagName: 'div'\r
    className: 'elements_tabs ui-tabs-vertical ui-helper-clearfix'\r
@@@ -337,125 -311,84 +337,84 @@@ class Editor.EditorModule.DockModule.Ta
      this.$el.attr('id', @dom_id())\r
    \r
  class Editor.EditorModule.DockModule.TabModule.NewElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
+   className: 'new-element-board-body'\r
    \r
    initialize: (options) ->\r
      super(options)\r
    \r
    render: () ->\r
      this.$el.attr('id', @dom_id())\r
-     @new_element_pocket = new Editor.EditorModule.DockModule.NewElementPocket({\r
-       parent: this\r
+     @buttons = new Editor.EditorModule.DockModule.NewElementButtons({\r
+       parent: this, element_models: @element_models()\r
      })\r
-     this.$el.append(@new_element_pocket.render().el)\r
-     this\r
-   \r
- class Editor.EditorModule.DockModule.NewElementPocket extends Editor.EditorModule.DockModule.Pocket\r
-   \r
-   initialize: (options) ->\r
-     super(options)\r
-     @button_wrapper = new Editor.EditorModule.DockModule.NewElementPocket.ButtonWrapper({\r
+     @form_wrapper = new Editor.EditorModule.DockModule.NewElementFormWrapper({\r
        parent: this\r
      })\r
-   \r
-   render: () ->\r
-     this.$el.html('')\r
-     this.$el.append(@button_wrapper.clear().el)\r
-     @add_tabs()\r
-     _.each @tabs, (tab) =>\r
-       this.$el.append(tab.body.render().el)\r
-     @button_wrapper.render()\r
-     this.$el.tabs()\r
+     this.$el.append(@buttons.render().el)\r
+     this.$el.append(@form_wrapper.clear().el)\r
      this\r
    \r
-   add_tabs: () ->\r
-     index = 0\r
-     _.each @element_models(), (model) =>\r
-       tab = new Editor.EditorModule.DockModule.NewElementPocketTab({\r
-         parent: this, index: index, name: model.item_name(), model: model\r
-       })\r
-       bb = new Editor.EditorModule.DockModule.TabModule.NewElementPocketBody({\r
-         parent: tab\r
-       })\r
-       bl = new Editor.EditorModule.DockModule.TabModule.NewElementPocketLabel({\r
-         parent: tab\r
-       })\r
-       @add_tab(tab, bl, bb)\r
-       @button_wrapper.add_label(bl)\r
-       index++\r
-   \r
    panel: () ->\r
-     @parent.parent.panel\r
+     @parent.panel\r
    \r
    element_models: () ->\r
      @panel().my_class().child_models()\r
    \r
- class Editor.EditorModule.DockModule.NewElementPocket.ButtonWrapper extends Backbone.View\r
+ class Editor.EditorModule.DockModule.NewElementButtons extends Backbone.View\r
    tagName: 'div'\r
-   className: 'new_elements_tabs ui-tabs-vertical ui-helper-clearfix'\r
+   className: 'new-element-buttons'\r
    \r
    initialize: (options) ->\r
      super(options)\r
      @parent = options.parent\r
-     @buttons = new Editor.EditorModule.DockModule.NewElementPocket.Buttons({\r
-       parent: this\r
-     })\r
-   \r
-   clear: () ->\r
-     this.$el.html('')\r
-     this\r
+     @element_models = options.element_models\r
    \r
    render: () ->\r
-     this.$el.append(@buttons.render().$el)\r
+     _.each @element_models, (model) =>\r
+       button = new Editor.EditorModule.DockModule.NewElementButton({\r
+         parent: this, model: model\r
+       })\r
+       this.$el.append(button.render().el)\r
      this\r
    \r
-   add_label: (label) ->\r
-     @buttons.add_label(label)\r
-   \r
- class Editor.EditorModule.DockModule.NewElementPocket.Buttons extends Backbone.View\r
-   tagName: 'ul'\r
+ class Editor.EditorModule.DockModule.NewElementButton extends Backbone.View\r
+   tagName: 'div'\r
    \r
    initialize: (options) ->\r
      super(options)\r
      @parent = options.parent\r
-     @labels = []\r
+     @model = options.model\r
    \r
    render: () ->\r
      this.$el.html('')\r
-     this.$el.addClass('inner-new-elements-tabs')\r
-     _.each @labels, (label) =>\r
-       this.$el.append(label.render().$el)\r
-     this\r
-   \r
-   add_label: (label) ->\r
-     @labels.push(label)\r
-   \r
- class Editor.EditorModule.DockModule.TabModule.NewElementPocketLabel extends Editor.EditorModule.DockModule.TabModule.PocketLabel\r
-   \r
-   render: () ->\r
-     super()\r
-     this.$el.removeClass('ui-corner-top')\r
-     this.$el.addClass('ui-corner-left')\r
+     icon = new Pettanr.Image.Icon({item: @model})\r
+     linked_icon = new Editor.EditorModule.DockModule.NewElementLinkedButton({\r
+       attr: {href: '#event' },\r
+       content: icon.render().el,\r
+       handler_name: 'click'\r
+     })\r
+     @listenTo(linked_icon, 'click', @click)\r
+     this.$el.append(linked_icon.render().el)\r
      this\r
    \r
-   add_label: () ->\r
-     this.$el.attr('id', @dom_id())\r
+   click: () ->\r
+     @set_dialog()\r
+     @set_form()\r
+     @dialog().$el.dialog('open')\r
    \r
- class Editor.EditorModule.DockModule.TabModule.NewElementPocketBody extends Editor.EditorModule.DockModule.TabModule.PocketBody\r
-   \r
-   initialize: (options) ->\r
-     super(options)\r
-   \r
-   render: () ->\r
-     this.$el.attr('id', @dom_id())\r
-     @params = {controller: @model().path_name(), action: 'index'}\r
+   set_dialog: () ->\r
+     @params = {\r
+       controller: @model.path_name(), action: 'index',\r
+       page_size: 6\r
+     }\r
      @list = Locmare.ListGroup.list(\r
-       @model().path_name(), 'index', @operators(), @params\r
+       @model.path_name(), 'index', @operators(), @params\r
      )\r
      @list.open(() =>\r
        pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, @params)\r
        f = new Locmare.Filer({\r
-         el: '#' + @dom_id(),\r
-         item_name: @model().item_name(), \r
+         el: @dialog().$el,\r
+         item_name: @model.item_name(), \r
          items: @list.items(), \r
          pager: pager, \r
          operators: @operators()\r
      )\r
      this\r
    \r
+   set_form: () ->\r
+     @form_wrapper().select(@model)\r
+   \r
    operators: () ->\r
      @editor().operators\r
    \r
-   model: () ->\r
-     @pocket_tab().model\r
+   form_wrapper: () ->\r
+     @parent.parent.form_wrapper\r
+   \r
+   dock: () ->\r
+     @parent.parent.dock()\r
+   \r
+   dialog: () ->\r
+     @editor().dialog\r
    \r
    editor: () ->\r
      @dock().parent\r
    \r
+ class Editor.EditorModule.DockModule.NewElementLinkedButton extends Tag.A\r
+   \r
+   click: () ->\r
+     @trigger('click')\r
+     return false\r
+   \r
+ class Editor.EditorModule.DockModule.NewElementFormWrapper extends Backbone.View\r
+   tagName: 'div'\r
+   \r
+   initialize: (options) ->\r
+     super(options)\r
+     @parent = options.parent\r
+   \r
+   clear: () ->\r
+     this.$el.html('new form')\r
+     this\r
+   \r
+   render: () ->\r
+     this.$el.html(@model.item_name())\r
+   \r
+   select: (model) ->\r
+     @model = model\r
+     @render()\r
+   \r
  class Editor.EditorModule.DockModule.ScenarioBay extends Editor.EditorModule.DockModule.BoardBay\r
    \r
    initialize: (options) ->\r