123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /**
- * @fileOverview
- *
- * 生成与指定命令绑定的下拉选框
- *
- * @author: techird
- * @copyright: Baidu FEX, 2014
- */
- KityMinder.registerUI('widget/commandselectmenu', function(minder) {
- function mapValueWidget(command, valueList) {
- return valueList.map(function(value) {
- var text = minder.getLang([command, value].join('.')) || value;
- return {
- clazz: 'Button',
- label: text,
- text: text,
- value: value,
- className: [command, value].join(' ')
- };
- });
- }
- function generate(command, valueList, column) {
- var $selectMenu = new FUI.SelectMenu({
- widgets: typeof(valueList[0]) == 'object' ? valueList : mapValueWidget(command, valueList),
- className: ['command-widget', 'command-selectmenu', command].join(' '),
- column: column || 3
- });
- $selectMenu.bindExecution('change', function() {
- minder.execCommand(command, $selectMenu.getValue());
- });
- $selectMenu.bindCommandState(minder, command, function(value) {
- if (value !== undefined) this.selectByValue(value);
- });
- return $selectMenu;
- }
- return {
- generate: generate
- };
- });
|