trace = editor.element_tag_id($(@)) \r
if rule\r
rules[name] = rule\r
+ $(@).focusout ->\r
+ if editor.is_panel(form)\r
+ validate_panel(form)\r
+ else\r
+ validate_element(form)\r
if Object.keys(rules).length > 0\r
v = form.validate({ignore:[],rules: rules})\r
-\r
+ \r
+ validate_panel = (form) ->\r
+ valid = form.valid()\r
+ bc = if valid\r
+ ''\r
+ else\r
+ '#ef29ef'\r
+ $('a', $('#tabs-1-tab')).map ->\r
+ $(@).css('background-color', bc)\r
+ valid\r
+ \r
+ display_element = (element, vis) ->\r
+ v = if vis\r
+ ''\r
+ else\r
+ 'none'\r
+ trace = editor.element_tag_id(element)\r
+ switch element.attr('element_type')\r
+ when 'panel_picture'\r
+ trace = trace + 'div'\r
+ $(trace).css('display', v)\r
+ \r
+ validate_element = (form) ->\r
+ valid = form.valid()\r
+ bc = if valid\r
+ ''\r
+ else\r
+ '#ef29ef'\r
+ display_element(form, valid)\r
+ trace = editor.element_tag_id(form) \r
+ $('.elements-tab', $(trace + 'element_tab')).map ->\r
+ $(@).css('background-color', bc)\r
+ valid\r
+ \r
validate_forms = () ->\r
valid = true\r
$('form', $('#tabs-1')).map ->\r
form_name = $(@).attr('data-form-name')\r
if form_name\r
- if $(@).valid()\r
- bc = ''\r
+ if validate_panel($(@))\r
else\r
valid = false\r
- bc = '#ef29ef'\r
- $('a', $('#tabs-1-tab')).map ->\r
- $(@).css('background-color', bc)\r
invalid_elements = []\r
$('form', $('#tabs-2')).map ->\r
form_name = $(@).attr('data-form-name')\r
if form_name\r
- if $(@).valid()\r
- bc = ''\r
+ if validate_element($(@))\r
else\r
valid = false\r
- bc = '#ef29ef'\r
invalid_elements.push form_name\r
- trace = editor.element_tag_id($(@)) \r
- $('.elements-tab', $(trace + 'element_tab')).map ->\r
- $(@).css('background-color', bc)\r
if invalid_elements.length > 0\r
bc = '#ef29ef'\r
else\r
$(trace + 'tab_panel').css('display', 'none')\r
$(trace + 'zsort').css('display', 'none')\r
$(trace + 'tsort').css('display', 'none')\r
- switch $(@).attr('element_type')\r
- when 'panel_picture'\r
- trace = trace + 'div'\r
- $(trace).css('display', 'none')\r
- \r
+ display_element($(@), false)\r
\r
$('#pettanr-panel-submit').focusin ->\r
editor.refresh_attribute($('#pettanr-panel-json'))\r