Page MenuHomePhorge

behavior-reorder-fields.js
No OneTemporary

behavior-reorder-fields.js

/**
* @provides javelin-behavior-config-reorder-fields
* @requires javelin-behavior
* javelin-stratcom
* javelin-dom
* javelin-json
* phabricator-draggable-list
*/
JX.behavior('config-reorder-fields', function(config) {
var fields = config.fields;
var root = JX.$(config.listID);
var list = new JX.DraggableList('field-spec', root)
.setFindItemsHandler(function() {
return JX.DOM.scry(root, 'li', 'field-spec');
});
list.listen('didDrop', function() {
write_state_to_form();
});
JX.DOM.listen(root, 'click', 'field-spec-toggle', function(e) {
e.kill();
var key = e.getNodeData('field-spec').fieldKey;
fields[key].disabled = !fields[key].disabled;
JX.DOM.replace(
e.getNode('field-spec'),
JX.$H(
fields[key].disabled ?
fields[key].disabledMarkup :
fields[key].enabledMarkup));
write_state_to_form();
});
var write_state_to_form = function() {
var nodes = list.findItems();
var order = [];
var key;
for (var ii = 0; ii < nodes.length; ii++) {
key = JX.Stratcom.getData(nodes[ii]).fieldKey;
if (key) {
order.push({
key: key,
disabled: fields[key].disabled
});
}
}
JX.$(config.inputID).value = JX.JSON.stringify(order);
};
write_state_to_form();
});

File Metadata

Mime Type
text/plain
Expires
Jan 19 2025, 21:57 (6 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1129169
Default Alt Text
behavior-reorder-fields.js (1 KB)

Event Timeline