From: yasushiito Date: Sat, 3 Aug 2013 02:46:21 +0000 (+0900) Subject: t#31650:move tree X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=commitdiff_plain;h=adc603797dbdbcbb6a1e1a0d926debc35713cdfa t#31650:move tree --- diff --git a/app/assets/javascripts/panels.js.coffee b/app/assets/javascripts/panels.js.coffee index b52fde94..3c230648 100644 --- a/app/assets/javascripts/panels.js.coffee +++ b/app/assets/javascripts/panels.js.coffee @@ -19,15 +19,37 @@ $ -> return true else return false - is_tree = (o) -> - if o.attr('tree') + is_var = (o) -> + if o.attr('column') if o.attr('column') == '_destroy' and o.val().length < 1 return false else return true + else + return false + is_element = (o) -> + if o.attr('element_type') + return true + else + return false + is_element_part = (o) -> + if o.attr('element_part_type') return true else return false + element_types = {'panel_picture': 'panel_pictures', 'speech_balloon': 'speech_balloons', 'ground_picture': 'ground_pictures', 'ground_color': 'ground_colors'} + element_type_to_table = (element_type) -> + element_types[element_type] + make_tree = (attr, o) -> + if is_var(o) + tree = 'panels-' + o.attr('panel_id') + '-' + if is_element(o) + tree = tree + element_type_to_table(o.attr('element_type')) + '_attributes-' + o.attr('element_id') + '-' + if is_element_part(o) + tree = tree + o.attr('element_part_type') + '_attributes-' + tree = tree + o.attr('column') + keys = tree.split('-') + set_tree_value(keys, attr, o.val()) panel_tag_id = (element) -> '#panel' + element.attr('panel_id') @@ -38,17 +60,11 @@ $ -> refresh_attribute = () -> attr = {} $('input').map -> - if is_tree($(@)) - keys = $(@).attr('tree').split('-') - set_tree_value(keys, attr, $(this).val()) + make_tree(attr, $(@)) $('textarea').map -> - if is_tree($(@)) - keys = $(@).attr('tree').split('-') - set_tree_value(keys, attr, $(this).val()) + make_tree(attr, $(@)) $('select').map -> - if is_tree($(@)) - keys = $(@).attr('tree').split('-') - set_tree_value(keys, attr, $(this).val()) + make_tree(attr, $(@)) $('#pettanr-panel-json').val(JSON.stringify(attr['panels'][pettanr_current_panel_id.toString() ])) $('#tabs').tabs()