X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Feditor%2Fpanel_editor%2Felement%2Fboards.js.coffee;fp=app%2Fassets%2Fjavascripts%2Feditor%2Fpanel_editor%2Felement%2Fboards.js.coffee;h=a0726064ca177b798f1572a746ff8011347f3b1f;hb=e4faa10efb5330dde4c13345677b2fff49c4df3f;hp=0000000000000000000000000000000000000000;hpb=bfd70bbe42b6a526ac84254cda52c59b95d8a785;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/editor/panel_editor/element/boards.js.coffee b/app/assets/javascripts/editor/panel_editor/element/boards.js.coffee new file mode 100644 index 00000000..a0726064 --- /dev/null +++ b/app/assets/javascripts/editor/panel_editor/element/boards.js.coffee @@ -0,0 +1,65 @@ +class Editor.EditorModule.DockModule.ElementBay.Boards extends Backbone.View + tagName: 'div' + className: 'boards ui-tabs-vertical ui-helper-clearfix' + + initialize: (options) -> + super(options) + @parent = options.parent + @labels = new Editor.EditorModule.DockModule.ElementBay.Labels({ + parent: this + }) + @listenTo(@labels, 'sorted', @sorted) + + render: () -> + this.$el.html('') + this.$el.append(@labels.render().$el) + this + + add_element_tab: (tab) -> + tab.label.render() + tab.body.render() + @labels.render() + this.$el.append(tab.body.$el) + + sorted: () -> + # data-z copy to model + @trigger('sorted') + +class Editor.EditorModule.DockModule.ElementBay.Labels extends Backbone.View + tagName: 'ul' + + initialize: (options) -> + super(options) + @parent = options.parent + + render: () -> + this.$el.html('') + this.$el.addClass('inner-elements-tabs') + _.each @zorderd_labels(), (label) => + this.$el.append(label.$el) + _this = this + this.$el.sortable { + update: (event, ui) -> + z = 0 + $('li', $(@)).map -> + $(@).attr('data-z', z) + z++ + _this.trigger('sorted') + } + this + + zorderd_labels: () -> + res = [] + _.each @bay().tabs, (tab) => + res[tab.label.z()] = tab.label + res + + add_label: (label) -> + #z = label.z + @labels.push(label) # insert array + @render() # sorting + label.add_label() + + bay: () -> + @parent.parent +