$ ->\r
confirm_confirm_confirm = () ->\r
confirm( )\r
-\r
+ new_element_index = {}\r
+ new_element_index[pettanr_current_panel_id] = 0\r
+ \r
set_tree_value = (keys, last_attr, value) ->\r
key = keys.shift()\r
if keys.length <= 0\r
return true\r
else\r
return false\r
- is_tree = (o) ->\r
- if o.attr('tree') \r
- if o.attr('column') == '_destroy' and o.val().length < 1\r
- return false\r
+ is_var = (o) ->\r
+ if parseInt(o.attr('no_attr')) > 0\r
+ return false\r
+ else\r
+ if o.attr('column') \r
+ if o.attr('column') == '_destroy' and o.val().length < 1\r
+ return false\r
+ else\r
+ return true\r
else\r
- return true\r
+ return false\r
+ is_element = (o) ->\r
+ if o.attr('element_type')\r
return true\r
else\r
return false\r
+ is_element_part = (o) ->\r
+ if o.attr('element_part_type')\r
+ return true\r
+ else\r
+ return false\r
+ element_types = {'panel_picture': 'panel_pictures', 'speech_balloon': 'speech_balloons', 'ground_picture': 'ground_pictures', 'ground_color': 'ground_colors'}\r
+ element_type_to_table = (element_type) ->\r
+ element_types[element_type]\r
+ make_tree = (attr, o) ->\r
+ if is_var(o)\r
+ tree = 'panels-' + o.attr('panel_id') + '-'\r
+ if is_element(o)\r
+ tree = tree + element_type_to_table(o.attr('element_type')) + '_attributes-' + o.attr('element_id') + '-'\r
+ if is_element_part(o)\r
+ tree = tree + o.attr('element_part_type') + '_attributes-'\r
+ tree = tree + o.attr('column')\r
+ keys = tree.split('-')\r
+ set_tree_value(keys, attr, o.val())\r
\r
panel_tag_id = (element) ->\r
'#panel' + element.attr('panel_id')\r
refresh_attribute = () ->\r
attr = {}\r
$('input').map ->\r
- if is_tree($(@)) \r
- keys = $(@).attr('tree').split('-')\r
- set_tree_value(keys, attr, $(this).val())\r
+ make_tree(attr, $(@))\r
$('textarea').map ->\r
- if is_tree($(@)) \r
- keys = $(@).attr('tree').split('-')\r
- set_tree_value(keys, attr, $(this).val())\r
+ make_tree(attr, $(@))\r
$('select').map ->\r
- if is_tree($(@)) \r
- keys = $(@).attr('tree').split('-')\r
- set_tree_value(keys, attr, $(this).val())\r
+ make_tree(attr, $(@))\r
$('#pettanr-panel-json').val(JSON.stringify(attr['panels'][pettanr_current_panel_id.toString() ]))\r
\r
$('#tabs').tabs()\r
$('#elements-tabs').tabs()\r
+ $('#new-element-tabs').tabs()\r
+ $('#new-speech_balloon-tabs').tabs()\r
$('#elements-tabs').addClass( "ui-tabs-vertical ui-helper-clearfix" )\r
$("#elements-tabs li").removeClass("ui-corner-top")\r
$("#elements-tabs li").addClass("ui-corner-left")\r
+ $("#elements-tabs li").map ->\r
+ $(@).mouseover -> \r
+ switch $(@).attr('element_type')\r
+ when 'speech_balloon'\r
+ trace = element_tag_id($(@)) \r
+ t = $('img', $(trace))\r
+ when 'panel_picture'\r
+ trace = element_tag_id($(@)) + 'img'\r
+ t = $(trace)\r
+ else\r
+ t = null\r
+ if t\r
+ $('.ui-resizable-handle', t.parent()).map ->\r
+ $(@).css('display', 'block')\r
+ $(@).mouseout -> \r
+ switch $(@).attr('element_type')\r
+ when 'speech_balloon'\r
+ trace = element_tag_id($(@)) \r
+ t = $('img', $(trace))\r
+ when 'panel_picture'\r
+ trace = element_tag_id($(@)) + 'img'\r
+ t = $(trace)\r
+ else\r
+ t = null\r
+ if t\r
+ $('.ui-resizable-handle', t.parent()).map ->\r
+ $(@).css('display', 'none')\r
\r
#destroy button\r
$('.ui-icon-destroy').map ->\r
$('.pettanr-comic-balloon span' ).map ->\r
p = $(@).parent()\r
sb = p.parent()\r
- sb.mouseenter -> \r
+ sb.mouseover -> \r
+ trace = '#panel' + $(@).attr('panel_id') + 'speech_balloon' + $(@).attr('element_id') + 'balloon' + $(@).attr('balloon_id')\r
+ img = $(trace)\r
+ $('.ui-resizable-handle', img.parent()).map ->\r
+ $(@).css('display', 'block')\r
+ sb.mouseout -> \r
trace = '#panel' + $(@).attr('panel_id') + 'speech_balloon' + $(@).attr('element_id') + 'balloon' + $(@).attr('balloon_id')\r
img = $(trace)\r
- $('.ui-resizable-handl', img.parent()).map ->\r
- confirm( $(@).attr('class') )\r
+ $('.ui-resizable-handle', img.parent()).map ->\r
+ $(@).css('display', 'none')\r
\r
\r
# sync view \r
$(@).focusout ->\r
switch $(@).attr('column')\r
when 'content'\r
- trace = element_tag_id($(@))\r
- speech_trace = '#panel' + $(@).attr('panel_id') + 'speech_balloon' + $(@).attr('element_id') + 'speech' + $(@).attr('element_part_id')\r
- v = $(@).val()\r
- $(speech_trace).html(v)\r
+ trace = '#panel' + $(@).attr('panel_id') + 'speech_balloon' + $(@).attr('element_id') + 'speech' + $(@).attr('element_part_id')\r
+ wf_sel = $(trace + 'writing_format_id')\r
+ wf_id = parseInt(wf_sel.val())\r
+ v = writing_format_functions[writing_formats[wf_id]]($(@).val())\r
+ $(trace).html(v)\r
+ $('textarea').map ->\r
+ if $(@).attr('element_type') and $(@).attr('element_type') == 'speech_balloon'\r
+ switch $(@).attr('column')\r
+ when 'content'\r
+ $(@).bind('textchange', (event, previousText) ->\r
+ trace = '#panel' + $(@).attr('panel_id') + 'speech_balloon' + $(@).attr('element_id') + 'speech' + $(@).attr('element_part_id')\r
+ wf_sel = $(trace + 'writing_format_id')\r
+ wf_id = parseInt(wf_sel.val())\r
+ v = writing_format_functions[writing_formats[wf_id]]($(@).val())\r
+ $(trace).html(v)\r
+ )\r
+\r
\r
# ground-picture\r
# sync view \r
d = $(@).parent()\r
trace = element_tag_id(d)\r
f = $(trace + 'width')\r
- w = f.val() / 2\r
+ w = Math.floor(f.val() / 2)\r
f.val(w)\r
$(trace + 'img').width(Math.abs(w))\r
$(trace + 'img').parent().width(Math.abs(w))\r
d = $(@).parent()\r
trace = element_tag_id(d)\r
f = $(trace + 'height')\r
- h = f.val() / 2\r
+ h = Math.floor(f.val() / 2)\r
f.val(h)\r
$(trace + 'img').height(Math.abs(h))\r
$(trace + 'img').parent().height(Math.abs(h))\r
$(@).hide()\r
$(@).parent().hide() #label\r
\r
+ # add button on new form\r
+ $('.submit-new-form').map ->\r
+ $(@).html('<button class="new-element">add</button>')\r
+ \r
+ $('.new-element').map ->\r
+ $(@).click -> \r
+ false\r
+ \r