OSDN Git Service

change editor
[pettanr/pettanr.git] / app / assets / javascripts / editor.js.coffee
1 class Editor\r
2 @Editor = Editor\r
3 class Editor.EditorModule\r
4 class Editor.EditorModule.DockBase extends Backbone.View\r
5   \r
6   initialize: (options) ->\r
7     @parent = options.parent\r
8     @tabs = []\r
9   \r
10   add_tab: (tab, label, body) ->\r
11     @tabs.push tab\r
12     tab.label = label\r
13     tab.body = body\r
14     tab\r
15   \r
16   root_item: () ->\r
17     @parent.root_item()\r
18   \r
19 class Editor.EditorModule.DockModule\r
20   \r
21 class Editor.EditorModule.DockModule.Tab extends Editor.EditorModule.DockBase\r
22   initialize: (options) ->\r
23     super(options)\r
24     @index = options.index\r
25     @name = options.name\r
26     @label = null\r
27     @body = null\r
28   \r
29   dom_id: () ->\r
30     console.log "no dom_id"\r
31   \r
32   dom_class: () ->\r
33     console.log "no dom_class"\r
34   \r
35 class Editor.EditorModule.DockModule.Bay extends Editor.EditorModule.DockModule.Tab\r
36   \r
37   initialize: (options) ->\r
38     super(options)\r
39   \r
40   dock: () ->\r
41     @parent\r
42   \r
43   root_item: () ->\r
44     @parent.root_item()\r
45   \r
46   dom_id: () ->\r
47     @parent.dom_id() + '-bay-' + @name\r
48   \r
49   dom_class: () ->\r
50     @parent.dom_class() + '-bay'\r
51   \r
52   dom_labels_class: () ->\r
53     @dom_class() + '-labels'\r
54   \r
55 class Editor.EditorModule.DockModule.SimpleBay extends Editor.EditorModule.DockModule.Bay\r
56   tagName: 'div'\r
57   \r
58   initialize: (options) ->\r
59     super(options)\r
60   \r
61 class Editor.EditorModule.DockModule.BoardBay extends Editor.EditorModule.DockModule.Bay\r
62   tagName: 'div'\r
63   \r
64   initialize: (options) ->\r
65     super(options)\r
66     @boards = null\r
67   \r
68   render: () ->\r
69     this.$el.html('')\r
70     @el.className = @body.dom_class()\r
71     rb = new Tag.RowBreak()\r
72     this.$el.append(rb.render().el)\r
73     this\r
74   \r
75   dom_labels_class: () ->\r
76     @dom_class() + "-labels"\r
77   \r
78   dom_bodys_class: () ->\r
79     @dom_class() + "-bodys"\r
80   \r
81 class Editor.EditorModule.DockModule.Board extends Editor.EditorModule.DockModule.Tab\r
82   \r
83   initialize: (options) ->\r
84     super(options)\r
85   \r
86   root_item: () ->\r
87     @parent.root_item()\r
88   \r
89   bay: () ->\r
90     @parent\r
91   \r
92   dock: () ->\r
93     @bay().dock()\r
94   \r
95   bay_index: () ->\r
96     @bay().index\r
97   \r
98   dom_id: () ->\r
99     @bay().dom_id() + '-board-' + @name\r
100   \r
101   dom_class: () ->\r
102     @bay().dom_class() + '-board'\r
103   \r
104   header_class: () ->\r
105     ""\r
106   \r
107 class Editor.EditorModule.DockModule.Bucket extends Backbone.View\r
108   \r
109   initialize: (options) ->\r
110     super(options)\r
111     @parent = options.parent\r
112   \r
113 class Editor.EditorModule.DockModule.FormBucket extends Editor.EditorModule.DockModule.Bucket\r
114   \r
115   initialize: (options) ->\r
116     super(options)\r
117     @form = options.form\r
118   \r
119   render: () ->\r
120     @form.render()\r
121   \r
122 class Editor.EditorModule.DockModule.TabModule\r
123   \r
124 class Editor.EditorModule.DockModule.TabModule.Label extends Backbone.View\r
125   \r
126   initialize: (options) ->\r
127     @parent = options.parent\r
128     @caption = options.caption\r
129   \r
130   root_item: () ->\r
131     @parent.root_item()\r
132   \r
133   index: () ->\r
134     @parent.index\r
135   \r
136   name: () ->\r
137     @parent.name\r
138   \r
139   dom_id: () ->\r
140     console.log "no dom_id"\r
141   \r
142   dom_class: () ->\r
143     console.log "no dom_class"\r
144   \r
145   body: () ->\r
146     @parent.body\r
147   \r
148 class Editor.EditorModule.DockModule.TabModule.Body extends Backbone.View\r
149   \r
150   initialize: (options) ->\r
151     @parent = options.parent\r
152   \r
153   root_item: () ->\r
154     @parent.root_item()\r
155   \r
156   index: () ->\r
157     @parent.index\r
158   \r
159   name: () ->\r
160     @parent.name\r
161   \r
162   label: () ->\r
163     @parent.label\r
164   \r
165   dom_id: () ->\r
166     console.log "no dom_id"\r
167   \r
168   dom_class: () ->\r
169     console.log "no dom_class"\r
170   \r
171 class Editor.EditorModule.DockModule.TabModule.BayLabel extends Editor.EditorModule.DockModule.TabModule.Label\r
172   tagName: 'li'\r
173   \r
174   bay: () ->\r
175     @parent\r
176   \r
177   dock: () ->\r
178     @bay().dock()\r
179   \r
180   dom_id: () ->\r
181     @bay().dom_id() + '-label'\r
182   \r
183   dom_class: () ->\r
184     @bay().dom_class() + '-label'\r
185   \r
186   render: () ->\r
187     this.$el.html('')\r
188     @el.className = @dom_class()\r
189     a = new Tag.A({attr: {href: '#' + @body().dom_id()}, content: @caption})\r
190     this.$el.html(a.render().el)\r
191     this\r
192   \r
193 class Editor.EditorModule.DockModule.TabModule.BayBody extends Editor.EditorModule.DockModule.TabModule.Body\r
194   \r
195   initialize: (options) ->\r
196     super(options)\r
197   \r
198   render: () ->\r
199     this.$el.html('')\r
200     this.$el.attr('id', @dom_id())\r
201     this\r
202   \r
203   bay: () ->\r
204     @parent\r
205   \r
206   dock: () ->\r
207     @bay().dock()\r
208   \r
209   dom_id: () ->\r
210     @bay().dom_id() + '-body'\r
211   \r
212   dom_class: () ->\r
213     @bay().dom_class() + '-body'\r
214   \r
215 class Editor.EditorModule.DockModule.TabModule.BoardLabel extends Editor.EditorModule.DockModule.TabModule.Label\r
216   tagName: 'li'\r
217   \r
218   initialize: (options) ->\r
219     super(options)\r
220   \r
221   board: () ->\r
222     @parent\r
223   \r
224   bay: () ->\r
225     @board().bay()\r
226   \r
227   dock: () ->\r
228     @bay().dock()\r
229   \r
230   element: () ->\r
231     @parent.element\r
232   \r
233   bay_name: () ->\r
234     bay().name\r
235   \r
236   dom_id: () ->\r
237     @board().dom_id() + '-label'\r
238   \r
239   dom_class: () ->\r
240     @board().dom_class() + '-label'\r
241   \r
242   with_destroy_button: () ->\r
243     true\r
244   \r
245   face: () ->\r
246     linked_elements_tab = new Tag.A({\r
247       attr: {href: '#' + @board().body.dom_id() },\r
248       content: @element().element_face().render().el\r
249     })\r
250     this.$el.append(linked_elements_tab.render().el)\r
251     if @with_destroy_button()\r
252       destroy_button = new Editor.EditorModule.DestroyButton()\r
253       this.$el.append(destroy_button.render().el)\r
254   \r
255   render: () ->\r
256     this.$el.html('')\r
257     this.$el.attr('id', @dom_id())\r
258     this.$el.className = @dom_class()\r
259     @face()\r
260     this\r
261   \r
262 class Editor.EditorModule.DockModule.TabModule.BoardBody extends Editor.EditorModule.DockModule.TabModule.Body\r
263   board: () ->\r
264     @parent\r
265   \r
266   bay: () ->\r
267     @board().bay()\r
268   \r
269   dock: () ->\r
270     @bay().dock()\r
271   \r
272   dom_id: () ->\r
273     @board().dom_id() + '-body'\r
274   \r
275   dom_class: () ->\r
276     @board().dom_class() + '-body'\r
277   \r
278 class Editor.EditorModule.DestroyButton extends Backbone.View\r
279   tagName: 'button'\r
280   \r
281   render: () ->\r
282     this.$el.html('')\r
283     this.$el.button {\r
284       icons: {\r
285         primary: 'ui-icon-close', \r
286         secondary: null\r
287       }, \r
288       text: false\r
289     }\r
290     this\r
291   \r
292   dom_id: () ->\r
293     @dom_id() + '-destroy_button'\r
294   \r