2 repeat_texts = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']
\r
4 panel_tag_id = (element) ->
\r
5 '#panel' + element.attr('panel_id')
\r
7 element_tag_id = (element) ->
\r
8 '#panel' + element.attr('panel_id') + element.attr('element_type') + element.attr('element_id')
\r
10 refresh_attribute = () ->
\r
13 if $(@).attr('tree')
\r
14 keys = $(@).attr('tree').split('-')
\r
15 set_tree_value(keys, attr, $(this).val())
\r
17 if $(@).attr('tree')
\r
18 keys = $(@).attr('tree').split('-')
\r
19 set_tree_value(keys, attr, $(this).val())
\r
20 $('#pettanr-panel-json').val(JSON.stringify(attr['panels'][pettanr_current_panel_id.toString() ]))
\r
23 $('#elements-tabs').tabs()
\r
25 $('#pettanr-panel-submit').focusin ->
\r
29 $('.pettanr-comic-panel').map ->
\r
31 stop: ( event, ui ) ->
\r
32 trace = panel_tag_id($(@))
\r
33 w = parseInt($(@).width())
\r
34 h = parseInt($(@).height())
\r
35 $(trace + 'width').val(w)
\r
36 $(trace + 'height').val(h)
\r
37 $('.pettanr-comic-ground-picture').map ->
\r
40 $('.pettanr-comic-ground-color').map ->
\r
46 $('#panel' + pettanr_current_panel_id.toString() + 'width').focusout ->
\r
47 trace = '#panel' + $(@).attr('panel_id')
\r
48 $(trace).width(parseInt( $(@).val()))
\r
50 $('#panel' + pettanr_current_panel_id.toString() + 'height').focusout ->
\r
51 trace = '#panel' + $(@).attr('panel_id')
\r
52 $(trace).height(parseInt( $(@).val()))
\r
54 $('#panel' + pettanr_current_panel_id.toString() + 'border').focusout ->
\r
55 trace = '#panel' + $(@).attr('panel_id')
\r
56 $(trace).css('border-width', parseInt($(@).val()).toString() + 'px')
\r
60 $('.pettanr-panel-picture-wrapper').map ->
\r
62 stop: ( event, ui ) ->
\r
63 trace = '#panel' + $(@).attr('panel_id') + 'panel_picture' + $(@).attr('element_id')
\r
64 img = '#panel' + $(@).attr('panel_id') + 'panel_picture' + $(@).attr('element_id') + 'img'
\r
65 left = $(img).parent().position().left + $(@).position().left
\r
66 top = $(img ).parent().position().top + $(@).position().top
\r
67 $(trace + 'x').val(left)
\r
68 $(trace + 'y').val(top)
\r
71 $('.panel-picture').map ->
\r
73 stop: ( event, ui ) ->
\r
74 trace = '#panel' + $(@).parent().attr('panel_id') + 'panel_picture' + $(@).parent().attr('element_id')
\r
75 $(trace + 'width').val($(@).width())
\r
76 $(trace + 'height').val($(@).height())
\r
80 refresh_picture = (e, w, h) ->
\r
89 pid = parseInt(e.attr('picture_id')).toString()
\r
91 src = '/pictures/' + sd + pid + '.' + ext
\r
96 if $(@).attr('element_type') and $(@).attr('element_type') == 'panel_picture'
\r
98 switch $(@).attr('column')
\r
100 trace = element_tag_id($(@)) + 'img'
\r
101 v = parseInt($(@).val()).toString() + 'px'
\r
102 $(trace).parent().css('left', v)
\r
103 $(trace).css('left', v)
\r
105 trace = element_tag_id($(@)) + 'img'
\r
106 v = parseInt($(@).val()).toString() + 'px'
\r
107 $(trace).parent().css('top', v)
\r
108 $(trace).css('top', v)
\r
110 trace = element_tag_id($(@)) + 'img'
\r
111 w = parseInt($(@).val())
\r
112 $(trace).width(Math.abs(w))
\r
113 $(trace).parent().width(Math.abs(w))
\r
114 h = parseInt($(element_tag_id($(@)) + 'height').val())
\r
116 trace = element_tag_id($(@)) + 'img'
\r
117 h = parseInt($(@).val())
\r
118 $(trace).height(Math.abs(h))
\r
119 $(trace).parent().height(Math.abs(h))
\r
120 w = parseInt($(element_tag_id($(@)) + 'width').val())
\r
122 refresh_picture($(trace), w, h)
\r
126 $('.pettanr-comic-balloon' ).map ->
\r
128 stop: ( event, ui ) ->
\r
129 trace = '#panel' + $(@).attr('panel_id') + 'speech_balloon' + $(@).attr('element_id') + 'balloon' + $(@).attr('balloon_id')
\r
130 left = $(@).position().left
\r
131 top = $(@).position().top
\r
132 $(trace + 'x').val(left)
\r
133 $(trace + 'y').val(top)
\r
137 $('.pettanr-balloon' ).map ->
\r
139 stop: ( event, ui ) ->
\r
140 trace = '#panel' + $(@).parent().attr('panel_id') + 'speech_balloon' + $(@).parent().attr('element_id') + 'balloon' + $(@).parent().attr('balloon_id')
\r
141 $(trace + 'width').val($(@).width())
\r
142 $(trace + 'height').val($(@).height())
\r
143 resize: ( event, ui ) ->
\r
144 trace = '#panel' + $(@).parent().attr('panel_id') + 'speech_balloon' + $(@).parent().attr('element_id')
\r
145 $(trace).width($(@).width())
\r
146 $(trace).height($(@).height())
\r
152 if $(@).attr('element_type') and $(@).attr('element_type') == 'speech_balloon'
\r
154 switch $(@).attr('column')
\r
156 trace = element_tag_id($(@))
\r
157 v = parseInt($(@).val()).toString() + 'px'
\r
158 $(trace).css('left', v)
\r
160 trace = element_tag_id($(@))
\r
161 v = parseInt($(@).val()).toString() + 'px'
\r
162 $(trace).css('top', v)
\r
164 trace = element_tag_id($(@))
\r
165 v = parseInt($(@).val())
\r
166 $(trace).width(Math.abs(v))
\r
167 trace = '#panel' + $(trace).attr('panel_id') + 'speech_balloon' + $(trace).attr('element_id') + 'balloon' + $(trace).attr('balloon_id')
\r
168 $(trace).parent().width(v)
\r
171 trace = element_tag_id($(@))
\r
172 v = parseInt($(@).val())
\r
173 $(trace).height(Math.abs(v))
\r
174 trace = '#panel' + $(trace).attr('panel_id') + 'speech_balloon' + $(trace).attr('element_id') + 'balloon' + $(trace).attr('balloon_id')
\r
175 $(trace).parent().height(v)
\r
183 if $(@).attr('element_type') and $(@).attr('element_type') == 'ground_picture'
\r
185 switch $(@).attr('column')
\r
187 trace = element_tag_id($(@))
\r
188 x = parseInt($(@).val()).toString() + 'px'
\r
189 ytrace = '#panel' + $(@).attr('panel_id') + 'ground_picture' + $(@).attr('element_id') + 'y'
\r
190 y = parseInt($(ytrace).val()).toString() + 'px'
\r
191 $(trace).css('background-position', y + ' ' + x)
\r
193 if $(@).attr('element_type') and $(@).attr('element_type') == 'ground_picture'
\r
195 switch $(@).attr('column')
\r
197 trace = element_tag_id($(@))
\r
198 v = parseInt($(@).val())
\r
199 $(trace).css('background-repeat', repeat_texts[v])
\r
206 if $(@).attr('element_type') and $(@).attr('element_type') == 'ground_color' and $(@).attr('column') == 'code'
\r
209 $('#colorpicker-red, #colorpicker-green, #colorpicker-blue').map ->
\r
210 trace = element_tag_id($(@).parent())
\r
212 orientation: 'horizontal',
\r
216 change: ( event, ui ) ->
\r
217 red = $('#colorpicker-red').slider('value')
\r
218 green = $('#colorpicker-green').slider('value')
\r
219 blue = $('#colorpicker-blue').slider('value')
\r
220 code = (red << 16) + (green << 8) + (blue)
\r
221 phex = "000000" + code.toString(16)
\r
222 hex = code.toString(16)
\r
223 h = phex.substring(phex.length - 6)
\r
224 $('#colorpicker-swatch').css('background-color', '#' + h)
\r
225 $('#colorpicker-hex').html('HEX: #' + h)
\r
226 $('#colorpicker-rgb').html('RGB: (' + red + ',' + green + ',' +blue + ')')
\r
227 $(trace + 'code').val(code)
\r
229 $(trace).css('background-color', v)
\r
232 $('.colorpicker').map ->
\r
233 trace = element_tag_id($(@))
\r
234 code = parseInt($(trace + 'code').val())
\r
235 $('.colorpicker-red').map ->
\r
236 v = (code >> 16) & 0xFF
\r
237 $(@).slider('value', v)
\r
238 $('.colorpicker-green').map ->
\r
239 v = (code >> 8) & 0xFF
\r
240 $(@).slider('value', v)
\r
241 $('.colorpicker-blue').map ->
\r
243 $(@).slider('value', v)
\r
245 $('.tsort').map ->
\r
247 update: ( event, ui ) ->
\r
248 trace = panel_tag_id($(@))
\r
249 ul = $(@).attr('id')
\r
251 $('#' + ul + ' li').map ->
\r
252 pid = $(@).attr('panel_id')
\r
253 eid = $(@).attr('element_id')
\r
254 etp = $(@).attr('element_type')
\r
255 tid = '#panel' + pid + etp + eid
\r
261 $('#t-sortable tbody').disableSelection()
\r
263 $('#z-sortable tbody').sortable {
\r
264 update: ( event, ui ) ->
\r
266 $('#z-sortable tr').map ->
\r
267 pid = $(@).attr('panel_id')
\r
268 eid = $(@).attr('element_id')
\r
269 etp = $(@).attr('element_type')
\r
270 tid = '#panel' + pid + etp + eid
\r
276 when 'panel_picture'
\r
277 trace = tid + 'div'
\r
278 when 'speech_balloon'
\r
280 when 'ground_picture'
\r
282 when 'ground_color'
\r
284 $(trace).css('zIndex', z)
\r
287 $('#t-sortable tbody').disableSelection()
\r
289 $('.panel_picture_width_tool').map ->
\r
290 $(@).html('<button class="wreverse">Rev</button><button class="wdouble">x2</button><button class="whalf">/2</button>')
\r
292 $('.wreverse').click ->
\r
294 trace = element_tag_id(d)
\r
295 f = $(trace + 'width')
\r
298 f = $(trace + 'height')
\r
300 refresh_picture($(trace + 'img'), w, h)
\r
302 $('.wdouble').click ->
\r
304 trace = element_tag_id(d)
\r
305 f = $(trace + 'width')
\r
308 $(trace + 'img').width(Math.abs(w))
\r
309 $(trace + 'img').parent().width(Math.abs(w))
\r
311 $('.whalf').click ->
\r
313 trace = element_tag_id(d)
\r
314 f = $(trace + 'width')
\r
317 $(trace + 'img').width(Math.abs(w))
\r
318 $(trace + 'img').parent().width(Math.abs(w))
\r
320 $('.panel_picture_height_tool').map ->
\r
321 $(@).html('<button class="hreverse">Rev</button><button class="hdouble">x2</button><button class="hhalf">/2</button>')
\r
323 $('.hreverse').click ->
\r
325 trace = element_tag_id(d)
\r
326 f = $(trace + 'height')
\r
329 f = $(trace + 'width')
\r
331 refresh_picture($(trace + 'img'), w, h)
\r
333 $('.hdouble').click ->
\r
335 trace = element_tag_id(d)
\r
336 f = $(trace + 'height')
\r
339 $(trace + 'img').height(Math.abs(h))
\r
340 $(trace + 'img').parent().height(Math.abs(h))
\r
342 $('.hhalf').click ->
\r
344 trace = element_tag_id(d)
\r
345 f = $(trace + 'height')
\r
348 $(trace + 'img').height(Math.abs(h))
\r
349 $(trace + 'img').parent().height(Math.abs(h))
\r
352 # disable form actions
\r
353 # hide submit buttons
\r
354 $('.edit_panel_picture' ).map ->
\r
357 $('.edit_speech_balloon' ).map ->
\r
360 $('.edit_ground_picture' ).map ->
\r
363 $('.edit_ground_color' ).map ->
\r
367 $('.edit_panel' ).map ->
\r
368 if $(@).attr('jqform')
\r
373 $('.submit' ).map ->
\r
378 if $(@).attr('element_type') and $(@).attr('column')
\r
379 switch $(@).attr('column')
\r
382 $(@).parent().hide() #label
\r