/** * @requires javelin-behavior * trigger-rule-editor * trigger-rule * trigger-rule-type * @provides javelin-behavior-trigger-rule-editor * @javelin */ JX.behavior('trigger-rule-editor', function(config) { var form_node = JX.$(config.formNodeID); var table_node = JX.$(config.tableNodeID); var create_node = JX.$(config.createNodeID); var input_node = JX.$(config.inputNodeID); var editor = new JX.TriggerRuleEditor(form_node) .setTableNode(table_node) .setCreateButtonNode(create_node) .setInputNode(input_node); editor.start(); var ii; for (ii = 0; ii < config.types.length; ii++) { var type = JX.TriggerRuleType.newFromDictionary(config.types[ii]); editor.addType(type); } if (config.rules.length) { for (ii = 0; ii < config.rules.length; ii++) { var rule = JX.TriggerRule.newFromDictionary(config.rules[ii]); editor.addRule(rule); } } else { // If the trigger doesn't have any rules yet, add an empty rule to start // with, so the user doesn't have to click "New Rule". editor.addRule(editor.newRule()); } });