dom_id: () ->\r
@dom_id() + '-destroy_button'\r
\r
-class Editor.EditorModule.DockModule.Pocket extends Editor.EditorModule.DockModule.Tab\r
- \r
- initialize: (options) ->\r
- super(options)\r
- \r
- pocket_div: () ->\r
- @parent\r
- \r
- board: () ->\r
- @pocket_div().board()\r
- \r
- bay: () ->\r
- @board.bay()\r
- \r
- dock: () ->\r
- @bay().dock()\r
- \r
- bay_index: () ->\r
- @bay().index\r
- \r
- dom_id: () ->\r
- @board().dom_id() + '-pocket'\r
- \r
- dom_class: () ->\r
- @board().dom_class() + '-pocket'\r
- \r
-class Editor.EditorModule.DockModule.NewElementPocketTab extends Editor.EditorModule.DockModule.Tab\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @model = options.model\r
- \r
- pocket_div: () ->\r
- @parent\r
- \r
- dom_id: () ->\r
- @pocket_div().dom_id() + '-' + @name\r
- \r
-class Editor.EditorModule.DockModule.TabModule.PocketLabel extends Editor.EditorModule.DockModule.TabModule.Label\r
- tagName: 'li'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- \r
- pocket_tab: () ->\r
- @parent\r
- \r
- pocket_div: () ->\r
- @pocket_tab().parent\r
- \r
- board: () ->\r
- @pocket_div().board()\r
- \r
- bay: () ->\r
- @board().bay()\r
- \r
- dock: () ->\r
- @bay().dock()\r
- \r
- bay_name: () ->\r
- bay().name\r
- \r
- dom_id: () ->\r
- @pocket_tab().dom_id() + '-label'\r
- \r
- dom_class: () ->\r
- @pocket_tab().dom_class() + '-label'\r
- \r
- face: () ->\r
- icon = new Pettanr.Image.Icon({item: @pocket_tab().model})\r
- linked_elements_tab = new Tag.A({\r
- attr: {href: '#' + @pocket_tab().body.dom_id() },\r
- content: icon.render().el\r
- })\r
- this.$el.append(linked_elements_tab.render().el)\r
- \r
- render: () ->\r
- this.$el.html('')\r
- this.$el.attr('id', @dom_id())\r
- this.$el.className = @dom_class()\r
- @face()\r
- this\r
- \r
-class Editor.EditorModule.DockModule.TabModule.PocketBody extends Editor.EditorModule.DockModule.TabModule.Body\r
- \r
- pocket_tab: () ->\r
- @parent\r
- \r
- pocket_div: () ->\r
- @pocket_tab().parent\r
- \r
- board: () ->\r
- @pocket_div().board()\r
- \r
- bay: () ->\r
- @board().bay()\r
- \r
- dock: () ->\r
- @bay().dock()\r
- \r
- dom_id: () ->\r
- @pocket_tab().dom_id() + '-body'\r
- \r
- dom_class: () ->\r
- @pocket_tab().dom_class() + '-body'\r
- \r
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
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
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
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