OSDN Git Service

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