Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/phuix/PHUIXFormControl.js
| Show All 26 Lines | members: { | ||||
| setControl: function(type, spec) { | setControl: function(type, spec) { | ||||
| var node = this._getInputNode(); | var node = this._getInputNode(); | ||||
| var input; | var input; | ||||
| switch (type) { | switch (type) { | ||||
| case 'tokenizer': | case 'tokenizer': | ||||
| input = this._newTokenizer(spec); | input = this._newTokenizer(spec); | ||||
| break; | break; | ||||
| case 'select': | |||||
| input = this._newSelect(spec); | |||||
| break; | |||||
| default: | default: | ||||
| // TODO: Default or better error? | // TODO: Default or better error? | ||||
| JX.$E('Bad Input Type'); | JX.$E('Bad Input Type'); | ||||
| return; | return; | ||||
| } | } | ||||
| JX.DOM.setContent(node, input.node); | JX.DOM.setContent(node, input.node); | ||||
| this._valueGetCallback = input.get; | this._valueGetCallback = input.get; | ||||
| ▲ Show 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | _newTokenizer: function(spec) { | ||||
| return JX.keys(build.tokenizer.getTokens()); | return JX.keys(build.tokenizer.getTokens()); | ||||
| }, | }, | ||||
| set: function(map) { | set: function(map) { | ||||
| for (var k in map) { | for (var k in map) { | ||||
| build.tokenizer.addToken(k, map[k]); | build.tokenizer.addToken(k, map[k]); | ||||
| } | } | ||||
| } | } | ||||
| }; | }; | ||||
| }, | |||||
| _newSelect: function(spec) { | |||||
| var node = JX.Prefab.renderSelect(spec.options, spec.value); | |||||
| return { | |||||
| node: node, | |||||
| get: function() { | |||||
| return node.value; | |||||
| }, | |||||
| set: function(value) { | |||||
| node.value = value; | |||||
| } | |||||
| }; | |||||
| } | } | ||||
| } | } | ||||
| }); | }); | ||||