Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/phuix/PHUIXFormControl.js
| Show First 20 Lines • Show All 112 Lines • ▼ Show 20 Lines | members: { | ||||
| }, | }, | ||||
| _newTokenizer: function(spec) { | _newTokenizer: function(spec) { | ||||
| var build = JX.Prefab.newTokenizerFromTemplate( | var build = JX.Prefab.newTokenizerFromTemplate( | ||||
| spec.markup, | spec.markup, | ||||
| spec.config); | spec.config); | ||||
| build.tokenizer.start(); | build.tokenizer.start(); | ||||
| function get_value() { | |||||
| return JX.keys(build.tokenizer.getTokens()); | |||||
| } | |||||
| function set_value(map) { | function set_value(map) { | ||||
| var tokens = get_value(); | |||||
| for (var ii = 0; ii < tokens.length; ii++) { | |||||
| build.tokenizer.removeToken(tokens[ii]); | |||||
| } | |||||
| for (var k in map) { | for (var k in map) { | ||||
| var v = JX.Prefab.transformDatasourceResults(map[k]); | var v = JX.Prefab.transformDatasourceResults(map[k]); | ||||
| build.tokenizer.addToken(k, v); | build.tokenizer.addToken(k, v); | ||||
| } | } | ||||
| } | } | ||||
| set_value(spec.value || {}); | set_value(spec.value || {}); | ||||
| return { | return { | ||||
| node: build.node, | node: build.node, | ||||
| get: function() { | get: get_value, | ||||
| return JX.keys(build.tokenizer.getTokens()); | |||||
| }, | |||||
| set: set_value | set: set_value | ||||
| }; | }; | ||||
| }, | }, | ||||
| _newSelect: function(spec) { | _newSelect: function(spec) { | ||||
| var node = JX.Prefab.renderSelect(spec.options, spec.value); | var node = JX.Prefab.renderSelect( | ||||
| spec.options, | |||||
| spec.value, | |||||
| {}, | |||||
| spec.order); | |||||
| return { | return { | ||||
| node: node, | node: node, | ||||
| get: function() { | get: function() { | ||||
| return node.value; | return node.value; | ||||
| }, | }, | ||||
| set: function(value) { | set: function(value) { | ||||
| node.value = value; | node.value = value; | ||||
| } | } | ||||
| }; | }; | ||||
| } | } | ||||
| } | } | ||||
| }); | }); | ||||