1 /** 2 * select component for kissy editor. 3 * @author yiminghe@gmail.com 4 */ 5 KISSY.add("editor/plugin/menubutton/index", function (S, Editor, MenuButton) { 6 /** 7 * 将button ui 和点击功能分离 8 * 按钮必须立刻显示出来,功能可以慢慢加载 9 */ 10 Editor.prototype.addSelect = function (id, cfg, SelectType) { 11 12 SelectType = SelectType || MenuButton.Select; 13 14 var self = this, prefixCls = self.get("prefixCls") + "editor-"; 15 16 if (cfg) { 17 cfg.editor = self; 18 if (cfg.menu) { 19 cfg.menu.zIndex = Editor.baseZIndex(Editor.zIndexManager.SELECT); 20 cfg.menu.xclass = 'popupmenu'; 21 S.each(cfg.menu.children, function (child) { 22 child.xclass = 'option'; 23 }); 24 } 25 } 26 27 var s = new SelectType(S.mix({ 28 elAttrs:{ 29 hideFocus:'hideFocus' 30 }, 31 render:self.get("toolBarEl"), 32 prefixCls:prefixCls, 33 autoRender:true 34 }, cfg)); 35 36 s.get("el").unselectable(); 37 38 if (cfg.mode == Editor.WYSIWYG_MODE) { 39 self.on("wysiwygMode", function () { 40 s.set('disabled', false); 41 }); 42 self.on("sourceMode", function () { 43 s.set('disabled', true); 44 }); 45 } 46 self.addControl(id + "/select", s); 47 return s; 48 49 }; 50 51 return MenuButton; 52 }, { 53 requires:['editor', 'menubutton'] 54 });