From 1d8bb6d4ebd666d3e850c138d908576614814308 Mon Sep 17 00:00:00 2001 From: yasushiito Date: Wed, 21 Jan 2015 08:21:19 +0900 Subject: [PATCH] fix open dialog --- app/assets/javascripts/editor.js.coffee | 106 -------------- .../javascripts/editor/panel_editor.js.coffee | 19 +++ .../javascripts/editor/panel_editor/dock.js.coffee | 154 ++++++++++----------- app/assets/stylesheets/test.css.scss | 9 +- 4 files changed, 100 insertions(+), 188 deletions(-) diff --git a/app/assets/javascripts/editor.js.coffee b/app/assets/javascripts/editor.js.coffee index 0afebd89..a912f7b3 100644 --- a/app/assets/javascripts/editor.js.coffee +++ b/app/assets/javascripts/editor.js.coffee @@ -315,109 +315,3 @@ class Editor.EditorModule.DestroyButton extends Backbone.View dom_id: () -> @dom_id() + '-destroy_button' -class Editor.EditorModule.DockModule.Pocket extends Editor.EditorModule.DockModule.Tab - - initialize: (options) -> - super(options) - - pocket_div: () -> - @parent - - board: () -> - @pocket_div().board() - - bay: () -> - @board.bay() - - dock: () -> - @bay().dock() - - bay_index: () -> - @bay().index - - dom_id: () -> - @board().dom_id() + '-pocket' - - dom_class: () -> - @board().dom_class() + '-pocket' - -class Editor.EditorModule.DockModule.NewElementPocketTab extends Editor.EditorModule.DockModule.Tab - - initialize: (options) -> - super(options) - @model = options.model - - pocket_div: () -> - @parent - - dom_id: () -> - @pocket_div().dom_id() + '-' + @name - -class Editor.EditorModule.DockModule.TabModule.PocketLabel extends Editor.EditorModule.DockModule.TabModule.Label - tagName: 'li' - - initialize: (options) -> - super(options) - - pocket_tab: () -> - @parent - - pocket_div: () -> - @pocket_tab().parent - - board: () -> - @pocket_div().board() - - bay: () -> - @board().bay() - - dock: () -> - @bay().dock() - - bay_name: () -> - bay().name - - dom_id: () -> - @pocket_tab().dom_id() + '-label' - - dom_class: () -> - @pocket_tab().dom_class() + '-label' - - face: () -> - icon = new Pettanr.Image.Icon({item: @pocket_tab().model}) - linked_elements_tab = new Tag.A({ - attr: {href: '#' + @pocket_tab().body.dom_id() }, - content: icon.render().el - }) - this.$el.append(linked_elements_tab.render().el) - - render: () -> - this.$el.html('') - this.$el.attr('id', @dom_id()) - this.$el.className = @dom_class() - @face() - this - -class Editor.EditorModule.DockModule.TabModule.PocketBody extends Editor.EditorModule.DockModule.TabModule.Body - - pocket_tab: () -> - @parent - - pocket_div: () -> - @pocket_tab().parent - - board: () -> - @pocket_div().board() - - bay: () -> - @board().bay() - - dock: () -> - @bay().dock() - - dom_id: () -> - @pocket_tab().dom_id() + '-body' - - dom_class: () -> - @pocket_tab().dom_class() + '-body' - diff --git a/app/assets/javascripts/editor/panel_editor.js.coffee b/app/assets/javascripts/editor/panel_editor.js.coffee index 23f1a84b..6431d4ec 100644 --- a/app/assets/javascripts/editor/panel_editor.js.coffee +++ b/app/assets/javascripts/editor/panel_editor.js.coffee @@ -5,6 +5,9 @@ class Editor.PanelEditor extends Backbone.View initialize: (options) -> @panel = options.root_item @operators = options.operators + @dialog = new Editor.PanelEditor.Dialog({ + parent: this + }) @body = new Pettanr.Views.Panel.Body.Edit({ panel: @root_item(), operators: @operators, @@ -42,6 +45,11 @@ class Editor.PanelEditor extends Backbone.View 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() @@ -67,3 +75,14 @@ class Editor.PanelEditor extends Backbone.View 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 --git a/app/assets/javascripts/editor/panel_editor/dock.js.coffee b/app/assets/javascripts/editor/panel_editor/dock.js.coffee index 04698223..375c8887 100644 --- a/app/assets/javascripts/editor/panel_editor/dock.js.coffee +++ b/app/assets/javascripts/editor/panel_editor/dock.js.coffee @@ -311,125 +311,84 @@ class Editor.EditorModule.DockModule.TabModule.NewElementBoardLabel extends Edit 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() @@ -437,15 +396,48 @@ class Editor.EditorModule.DockModule.TabModule.NewElementPocketBody extends Edit ) 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) -> diff --git a/app/assets/stylesheets/test.css.scss b/app/assets/stylesheets/test.css.scss index e138a1a4..90d8ea3f 100644 --- a/app/assets/stylesheets/test.css.scss +++ b/app/assets/stylesheets/test.css.scss @@ -130,7 +130,7 @@ font-style : italic; font-family : monospace; } -.ui-resizable-handle { +.pettanr-comic-panel .ui-resizable-handle { background-color:#f8b87c; } .ui-resizable-n { @@ -383,6 +383,13 @@ font-family : monospace; background-image: image-url("destroy-highlighted.png"); } +.new-element-board-body div { + float: left; +} +.new-element-buttons div { + clear: both; +} + .speech_balloon_template_item { float: left; } -- 2.11.0