add_credit: (element) ->\r
@credits.add_picture(element.picture())\r
\r
- add_element: (element) ->\r
- panel_element_view = @body.add_element(element)\r
- element_tab_form = @dock.add_element_to_element_tab(element)\r
- scenario_tab_form = @dock.add_element_to_scenario_tab(element)\r
- @dig(element, panel_element_view, element_tab_form, scenario_tab_form)\r
- if element.constructor.has_picture()\r
- @credits.add_picture(element.picture())\r
- \r
- dig: (element, panel_element_view, element_tab_form, scenario_tab_form) ->\r
- _.each element.elements_items(), (child_element) =>\r
- child_element.fetch({cache: true}).done =>\r
- child_panel_element_view = panel_element_view.add_element(child_element)\r
- child_element_tab_form = element_tab_form.add_element(child_element)\r
- child_scenario_tab_form = scenario_tab_form.add_element(child_element)\r
- @dig(child_element, child_panel_element_view, child_element_tab_form, child_scenario_tab_form)\r
- \r
remove_element: (element) ->\r
\r
\r
refresh: () ->\r
@form.refresh()\r
\r
- mounted: () ->\r
- true\r
- \r
element: () ->\r
@parent.element\r
\r
this\r
\r
face: () ->\r
- this.$el.append()\r
icon = new Pettanr.Image.SymbolImg({attr: {src: '/images/new.gif'}})\r
linked_elements_tab = new Tag.A({\r
attr: {href: '#' + @board().body.dom_id() },\r
@buttons = new Editor.EditorModule.DockModule.NewElementButtons({\r
parent: this, element_models: @element_models()\r
})\r
- @form_wrapper = new Editor.EditorModule.DockModule.NewElementFormWrapper({\r
- parent: this\r
- })\r
+ @listenTo(@buttons, 'click', @click_button)\r
this.$el.append(@buttons.render().el)\r
- this.$el.append(@form_wrapper.clear().el)\r
this\r
\r
panel: () ->\r
element_models: () ->\r
@panel().my_class().child_models()\r
\r
+ click_button: (model) ->\r
+ @new_element.remove() if @new_element\r
+ @new_element = new Pettanr.Views[model.singular()].NewElement({\r
+ parent: this, model: model\r
+ })\r
+ this.$el.append(@new_element.render().el)\r
+ \r
class Editor.EditorModule.DockModule.NewElementButtons extends Backbone.View\r
tagName: 'div'\r
className: 'new-element-buttons'\r
button = new Editor.EditorModule.DockModule.NewElementButton({\r
parent: this, model: model\r
})\r
+ @listenTo(button, 'click', @click)\r
this.$el.append(button.render().el)\r
this\r
\r
+ click: (model) ->\r
+ @trigger('click', model)\r
+ \r
class Editor.EditorModule.DockModule.NewElementButton extends Backbone.View\r
tagName: 'div'\r
\r
this\r
\r
click: () ->\r
- params = {\r
- controller: @model.path_name(), action: 'index',\r
- page_size: 6, format: 'pick'\r
- }\r
- @dialog().get(params, null)\r
- @set_form()\r
- \r
- set_form: () ->\r
- @form_wrapper().select(@model)\r
- \r
- operators: () ->\r
- @editor().operators\r
- \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
+ @trigger('click', @model)\r
\r
class Editor.EditorModule.DockModule.NewElementLinkedButton extends Tag.A\r
\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('')\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.SimpleBay\r
\r
initialize: (options) ->\r
@body = options.body\r
@file_items = []\r
@file_items = _.map @filer().items, (item) =>\r
- file_item_view = new (@module().FileItem)({'file_body': this, 'item': item})\r
- @listenTo(file_item_view, 'click:symbol', @click_symbol)\r
- @listenTo(file_item_view, 'http_get', @http_get)\r
- @listenTo(file_item_view, 'http_post', @http_post)\r
- @listenTo(file_item_view, 'remove', @remove)\r
- file_item_view\r
+ @init_file_item(item)\r
@render()\r
\r
render: () ->\r
this.$el.append(file_item.render().el)\r
this\r
\r
+ init_file_item: (item) ->\r
+ file_item_view = new (@module().FileItem)({'file_body': this, 'item': item})\r
+ @listenTo(file_item_view, 'click:symbol', @click_symbol)\r
+ @listenTo(file_item_view, 'http_get', @http_get)\r
+ @listenTo(file_item_view, 'http_post', @http_post)\r
+ @listenTo(file_item_view, 'remove', @remove)\r
+ file_item_view\r
+ \r
filer: () ->\r
@body.filer\r
\r
items: () ->\r
@filer().items\r
\r
- click_symbol: (symbol_view) ->\r
- @trigger('click:symbol', symbol_view)\r
+ click_symbol: (file_item_view) ->\r
+ @trigger('click:symbol', file_item_view)\r
\r
http_get: (url) ->\r
@trigger('http_get', url)\r
class Locmare.Picker extends Locmare.Filer\r
className: 'picker'\r
\r
- @module: () ->\r
+ initialize: (options) ->\r
+ super(options)\r
+ @listenTo(@body, 'click:pick', @click_pick)\r
+ \r
+ module: () ->\r
Locmare.PickerModule\r
\r
+ click_pick: (file_item_view) ->\r
+ @trigger('pick', file_item_view.item)\r
+ \r
class Locmare.PickerModule\r
\r
class Locmare.PickerModule.Body extends Locmare.FilerModule.Body\r
\r
+ initialize: (options) ->\r
+ super(options)\r
+ @listenTo(@file_body, 'click:pick', @click_pick)\r
+ \r
module: () ->\r
Locmare.PickerModule.BodyModule\r
\r
+ click_pick: (file_item_view) ->\r
+ @trigger('click:pick', file_item_view)\r
+ \r
class Locmare.PickerModule.BodyModule\r
\r
class Locmare.PickerModule.BodyModule.FileBody extends Locmare.FilerModule.BodyModule.FileBody\r
\r
+ initialize: (options) ->\r
+ super(options)\r
+ \r
+ init_file_item: (item) ->\r
+ file_item_view = super(item)\r
+ @listenTo(file_item_view, 'click:pick', @click_pick)\r
+ file_item_view\r
+ \r
module: () ->\r
Locmare.PickerModule.BodyModule.FileBodyModule\r
\r
+ click_pick: (file_item_view) ->\r
+ @trigger('click:pick', file_item_view)\r
+ \r
class Locmare.PickerModule.BodyModule.FileBodyModule\r
initialize: (options) ->\r
@file_body = options.file_body\r
@item = options.item\r
+ icon = new Pettanr.Image.SymbolImg({attr: {src: '/images/new.gif'}})\r
+ @pick = new Tag.A({\r
+ attr: {href: '#'},\r
+ content: icon.render().el\r
+ })\r
@symbol = @module().SymbolItemColumnFactory.factory this, @manifest().symbol, @item\r
@caption = @module().CaptionItemColumnFactory.factory this, @manifest().caption, @item\r
@summary = @module().SummaryItemColumnFactory.factory this, @manifest().summary, @item\r
@icon = @module().IconItemColumnFactory.factory this, @manifest().icon, @item\r
@date = @module().DateItemColumnFactory.factory this, @manifest().date, @item\r
@el.className = 'filer-item filer-item-' + @item.item_name()\r
+ @listenTo(@pick, 'click', @click_pick)\r
@listenTo(@symbol, 'click:symbol', @click_symbol)\r
@listenTo(@caption, 'click:caption', @click_caption)\r
@listenTo(@icon, 'click:prof', @click_prof)\r
@listenTo(@item, 'destroy', @destroy)\r
\r
render: () ->\r
+ this.$el.append(@pick.render().el)\r
if @symbol.is_visible()\r
this.$el.append(@symbol.render().el)\r
if @caption.is_visible()\r
this.$el.append(@date.render().el)\r
this\r
\r
+ click_pick: () ->\r
+ @trigger('click:pick', this)\r
+ \r
module: () ->\r
# use FilerModule namespace\r
Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule\r
--- /dev/null
+class Pettanr.Views.GroundColor.NewElement extends Backbone.View\r
+ tagName: 'div'\r
+ className: 'new-element-body'\r
+ \r
+ initialize: (options) ->\r
+ @parent = options.parent\r
+ @model = options.model\r
+ params = {\r
+ controller: @model.path_name(), action: 'index',\r
+ page_size: 6, format: 'pick'\r
+ }\r
+ @dialog().get(params, null)\r
+ \r
+ render: () ->\r
+ this.$el.html(@img.clear().el)\r
+ this\r
+ \r
+ dock: () ->\r
+ @parent.dock()\r
+ \r
+ editor: () ->\r
+ @dock().editor()\r
+ \r
+ dialog: () ->\r
+ @editor().dialog\r
+ \r
--- /dev/null
+class Pettanr.Views.GroundPicture.NewElement extends Backbone.View\r
+ tagName: 'div'\r
+ className: 'new-element-body'\r
+ \r
+ initialize: (options) ->\r
+ @parent = options.parent\r
+ @model = options.model\r
+ params = {\r
+ controller: @model.path_name(), action: 'index',\r
+ page_size: 6, format: 'pick'\r
+ }\r
+ @dialog().get(params, null)\r
+ \r
+ render: () ->\r
+ this.$el.html(@img.clear().el)\r
+ this\r
+ \r
+ dock: () ->\r
+ @parent.dock()\r
+ \r
+ editor: () ->\r
+ @dock().editor()\r
+ \r
+ dialog: () ->\r
+ @editor().dialog\r
+ \r
--- /dev/null
+class Pettanr.Views.PanelPicture.NewElement extends Backbone.View\r
+ tagName: 'div'\r
+ className: 'new-element-body'\r
+ \r
+ initialize: (options) ->\r
+ @parent = options.parent\r
+ @model = options.model\r
+ \r
+ render: () ->\r
+ this.$el.html('')\r
+ params = {\r
+ controller: @model.path_name(), action: 'index',\r
+ page_size: 6, format: 'pick'\r
+ }\r
+ @dialog().get(params, null)\r
+ @listenTo(@dialog(), 'pick', @pick)\r
+ this\r
+ \r
+ pick: (item) ->\r
+ \r
+ dock: () ->\r
+ @parent.dock()\r
+ \r
+ editor: () ->\r
+ @dock().editor()\r
+ \r
+ dialog: () ->\r
+ @editor().dialog\r
+ \r
--- /dev/null
+class Pettanr.Views.SpeechBalloon.NewElement extends Backbone.View\r
+ tagName: 'div'\r
+ className: 'new-element-body'\r
+ \r
+ initialize: (options) ->\r
+ @parent = options.parent\r
+ @model = options.model\r
+ params = {\r
+ controller: @model.path_name(), action: 'index',\r
+ page_size: 6, format: 'pick'\r
+ }\r
+ @dialog().get(params, null)\r
+ \r
+ render: () ->\r
+ this.$el.html(@img.clear().el)\r
+ this\r
+ \r
+ dock: () ->\r
+ @parent.dock()\r
+ \r
+ editor: () ->\r
+ @dock().editor()\r
+ \r
+ dialog: () ->\r
+ @editor().dialog\r
+ \r