Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/application/herald/HeraldRuleEditor.js
Show First 20 Lines • Show All 316 Lines • ▼ Show 20 Lines | _newCondition : function(data) { | ||||
row_id, | row_id, | ||||
this._renderCondition(row_id)); | this._renderCondition(row_id)); | ||||
this._onfieldchange(r); | this._onfieldchange(r); | ||||
}, | }, | ||||
_renderCondition : function(row_id) { | _renderCondition : function(row_id) { | ||||
var groups = this._config.info.fields; | var groups = this._config.info.fields; | ||||
var optgroups = []; | |||||
for (var ii = 0; ii < groups.length; ii++) { | |||||
var group = groups[ii]; | |||||
var options = []; | |||||
for (var k in group.options) { | |||||
options.push(JX.$N('option', {value: k}, group.options[k])); | |||||
} | |||||
optgroups.push(JX.$N('optgroup', {label: group.label}, options)); | |||||
} | |||||
var attrs = { | var attrs = { | ||||
sigil: 'field-select' | sigil: 'field-select' | ||||
}; | }; | ||||
var field_select = JX.$N('select', attrs, optgroups); | var field_select = this._renderGroupSelect(groups, attrs); | ||||
field_select.value = this._config.conditions[row_id][0]; | field_select.value = this._config.conditions[row_id][0]; | ||||
var field_cell = JX.$N('td', {sigil: 'field-cell'}, field_select); | var field_cell = JX.$N('td', {sigil: 'field-cell'}, field_select); | ||||
var condition_cell = JX.$N('td', {sigil: 'condition-cell'}); | var condition_cell = JX.$N('td', {sigil: 'condition-cell'}); | ||||
var value_cell = JX.$N('td', {className : 'value', sigil: 'value-cell'}); | var value_cell = JX.$N('td', {className : 'value', sigil: 'value-cell'}); | ||||
return [field_cell, condition_cell, value_cell]; | return [field_cell, condition_cell, value_cell]; | ||||
}, | }, | ||||
_renderActions : function(actions) { | _renderActions : function(actions) { | ||||
for (var k in actions) { | for (var k in actions) { | ||||
this._newAction(actions[k]); | this._newAction(actions[k]); | ||||
delete actions[k]; | delete actions[k]; | ||||
} | } | ||||
}, | }, | ||||
_renderGroupSelect: function(groups, attrs) { | |||||
var optgroups = []; | |||||
for (var ii = 0; ii < groups.length; ii++) { | |||||
var group = groups[ii]; | |||||
var options = []; | |||||
for (var k in group.options) { | |||||
options.push(JX.$N('option', {value: k}, group.options[k])); | |||||
} | |||||
optgroups.push(JX.$N('optgroup', {label: group.label}, options)); | |||||
} | |||||
return JX.$N('select', attrs, optgroups); | |||||
}, | |||||
_newAction : function(data) { | _newAction : function(data) { | ||||
data = data || []; | data = data || []; | ||||
var temprow = this._actionsRowManager.addRow([]); | var temprow = this._actionsRowManager.addRow([]); | ||||
var row_id = this._actionsRowManager.getRowID(temprow); | var row_id = this._actionsRowManager.getRowID(temprow); | ||||
this._config.actions[row_id] = data; | this._config.actions[row_id] = data; | ||||
var r = this._actionsRowManager.updateRow(row_id, | var r = this._actionsRowManager.updateRow(row_id, | ||||
this._renderAction(data)); | this._renderAction(data)); | ||||
this._onactionchange(r); | this._onactionchange(r); | ||||
}, | }, | ||||
_renderAction : function(action) { | _renderAction : function(action) { | ||||
var action_select = this._renderSelect( | var groups = this._config.info.actions; | ||||
this._config.info.actions, | var attrs = { | ||||
action[0], | sigil: 'action-select' | ||||
'action-select'); | }; | ||||
var action_select = this._renderGroupSelect(groups, attrs); | |||||
action_select.value = action[0]; | |||||
var action_cell = JX.$N('td', {sigil: 'action-cell'}, action_select); | var action_cell = JX.$N('td', {sigil: 'action-cell'}, action_select); | ||||
var target_cell = JX.$N( | var target_cell = JX.$N( | ||||
'td', | 'td', | ||||
{className : 'target', sigil : 'target-cell'}); | {className : 'target', sigil : 'target-cell'}); | ||||
return [action_cell, target_cell]; | return [action_cell, target_cell]; | ||||
}, | }, | ||||
_renderSelect : function(map, selected, sigil) { | _renderSelect : function(map, selected, sigil) { | ||||
var attrs = { | var attrs = { | ||||
sigil : sigil | sigil : sigil | ||||
}; | }; | ||||
return JX.Prefab.renderSelect(map, selected, attrs); | return JX.Prefab.renderSelect(map, selected, attrs); | ||||
} | } | ||||
} | } | ||||
}); | }); |