v1.0
只读模式 group, 分享 评论更多问题 博客标签总是存在一个
This commit is contained in:
66
public/tinymce/classes/ui/ListBox.js
Normal file → Executable file
66
public/tinymce/classes/ui/ListBox.js
Normal file → Executable file
@ -29,17 +29,34 @@ define("tinymce/ui/ListBox", [
|
||||
* @setting {Array} values Array with values to add to list box.
|
||||
*/
|
||||
init: function(settings) {
|
||||
var self = this, values, i, selected, selectedText, lastItemCtrl;
|
||||
var self = this, values, selected, selectedText, lastItemCtrl;
|
||||
|
||||
function setSelected(menuValues) {
|
||||
// Try to find a selected value
|
||||
for (var i = 0; i < menuValues.length; i++) {
|
||||
selected = menuValues[i].selected || settings.value === menuValues[i].value;
|
||||
|
||||
if (selected) {
|
||||
selectedText = selectedText || menuValues[i].text;
|
||||
self._value = menuValues[i].value;
|
||||
break;
|
||||
}
|
||||
|
||||
// If the value has a submenu, try to find the selected values in that menu
|
||||
if (menuValues[i].menu) {
|
||||
setSelected(menuValues[i].menu);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self._values = values = settings.values;
|
||||
if (values) {
|
||||
for (i = 0; i < values.length; i++) {
|
||||
selected = values[i].selected || settings.value === values[i].value;
|
||||
setSelected(values);
|
||||
|
||||
if (selected) {
|
||||
selectedText = selectedText || values[i].text;
|
||||
self._value = values[i].value;
|
||||
}
|
||||
// Default with first item
|
||||
if (!selected && values.length > 0) {
|
||||
selectedText = values[0].text;
|
||||
self._value = values[0].value;
|
||||
}
|
||||
|
||||
settings.menu = values;
|
||||
@ -67,7 +84,6 @@ define("tinymce/ui/ListBox", [
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* disable/enable 某一list的item
|
||||
* leanote ace life ace
|
||||
@ -92,6 +108,7 @@ define("tinymce/ui/ListBox", [
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Getter/setter function for the control value.
|
||||
*
|
||||
@ -100,10 +117,10 @@ define("tinymce/ui/ListBox", [
|
||||
* @return {Boolean/tinymce.ui.ListBox} Value or self if it's a set operation.
|
||||
*/
|
||||
value: function(value) {
|
||||
var self = this, active, selectedText, menu, i;
|
||||
var self = this, active, selectedText, menu;
|
||||
|
||||
function activateByValue(menu, value) {
|
||||
menu.items().each(function(ctrl) {// menuitem
|
||||
menu.items().each(function(ctrl) {
|
||||
active = ctrl.value() === value;
|
||||
|
||||
if (active) {
|
||||
@ -118,24 +135,33 @@ define("tinymce/ui/ListBox", [
|
||||
});
|
||||
}
|
||||
|
||||
if (typeof(value) != "undefined") {
|
||||
function setActiveValues(menuValues) {
|
||||
for (var i = 0; i < menuValues.length; i++) {
|
||||
active = menuValues[i].value == value;
|
||||
|
||||
if (active) {
|
||||
selectedText = selectedText || menuValues[i].text;
|
||||
}
|
||||
|
||||
menuValues[i].active = active;
|
||||
|
||||
if (menuValues[i].menu) {
|
||||
setActiveValues(menuValues[i].menu);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof value != "undefined") {
|
||||
if (self.menu) {
|
||||
activateByValue(self.menu, value);
|
||||
} else {
|
||||
menu = self.settings.menu;
|
||||
for (i = 0; i < menu.length; i++) {
|
||||
active = menu[i].value == value;
|
||||
|
||||
if (active) {
|
||||
selectedText = selectedText || menu[i].text;
|
||||
}
|
||||
|
||||
menu[i].active = active;
|
||||
}
|
||||
setActiveValues(menu);
|
||||
}
|
||||
|
||||
self.text(selectedText || this.settings.text);
|
||||
}
|
||||
|
||||
return self._super(value);
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user