class PettanrEditor @pettanr_current_panel_id = 0 @new_element_index = {} @new_element_index[PettanrEditor.pettanr_current_panel_id] = 0 @current_panel = () -> $('#panel' + PettanrEditor.pettanr_current_panel_id.toString()) @set_tree_value = (keys, last_attr, value) -> key = keys.shift() if keys.length <= 0 last_attr[key] = value else last_attr[key] = last_attr[key] || {} PettanrEditor.set_tree_value(keys, last_attr[key], value) @repeat_texts = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat'] @is_editting = () -> trace = '#panel' + PettanrEditor.pettanr_current_panel_id.toString() + 'wrapper' if $(trace) and $(trace).attr('editable') return true else return false @is_editable = (p) -> if p.parent().attr('editable') return true else return false @is_var = (o) -> if parseInt(o.attr('no_attr')) > 0 return false else if o.attr('column') if o.attr('column') == '_destroy' and o.val().length < 1 return false else return true else return false @is_panel = (o) -> if PettanrEditor.is_element(o) return false else return true @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_is = (element_type, o) -> if PettanrEditor.is_element(o) and o.attr('element_type') == element_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) -> PettanrEditor.element_types[element_type] @text_align_texts = ['left', 'left', 'right', 'center'] @make_tree = (attr, o) -> if PettanrEditor.is_var(o) tree = 'panels-' + o.attr('panel_id') + '-' if PettanrEditor.is_element(o) tree = tree + PettanrEditor.element_type_to_table(o.attr('element_type')) + '_attributes-' + o.attr('element_id') + '-' if PettanrEditor.is_element_part(o) tree = tree + o.attr('element_part_type') + '_attributes-' tree = tree + o.attr('column') keys = tree.split('-') PettanrEditor.set_tree_value(keys, attr, o.val()) @panel_tag_id = (element) -> '#panel' + element.attr('panel_id') @element_tag_id = (element) -> '#panel' + element.attr('panel_id') + element.attr('element_type') + element.attr('element_id') @element_part_tag_id = (element_part) -> '#panel' + element_part.attr('panel_id') + element_part.attr('element_type') + element_part.attr('element_id') + element_part.attr('element_part_type') + element_part.attr('element_part_id') @refresh_attribute = (field) -> attr = {} $('input').map -> PettanrEditor.make_tree(attr, $(@)) $('textarea').map -> PettanrEditor.make_tree(attr, $(@)) $('select').map -> PettanrEditor.make_tree(attr, $(@)) field.val(JSON.stringify(attr['panels'][PettanrEditor.pettanr_current_panel_id.toString() ])) @PettanrEditor = PettanrEditor