/**
* @ignore
* Common btn for list.
* @author yiminghe@gmail.com
*/
KISSY.add("editor/plugin/list-utils/btn", function (S, Editor) {
return {
init: function (editor, cfg) {
var buttonId = cfg.buttonId,
cmdType = cfg.cmdType,
tooltip = cfg.tooltip;
var button = editor.addButton(buttonId, {
elCls: buttonId + 'Btn',
mode: Editor.Mode.WYSIWYG_MODE,
tooltip: "设置" + tooltip
});
editor.on("selectionChange", function () {
var v;
if (v = editor.queryCommandValue(cmdType)) {
button.set("checked", true);
arrow.set('value', v);
} else {
button.set("checked", false);
}
});
var arrow = editor.addSelect(buttonId + 'Arrow', {
tooltip: "选择并设置" + tooltip,
mode: Editor.Mode.WYSIWYG_MODE,
menu: cfg.menu,
matchElWidth: false,
elCls: 'toolbar-' + buttonId + 'ArrowBtn'
});
arrow.on('click', function (e) {
var v = e.target.get('value');
button.listValue = v;
editor.execCommand(cmdType, v);
editor.focus();
});
button.on('click', function () {
var v = button.listValue;
// checked 取 arrow 的 value,用来取消
if (button.get('checked')) {
v = arrow.get('value');
}
editor.execCommand(cmdType, v);
editor.focus();
});
}
};
}, {
requires: ['editor', '../button', '../menubutton']
});