Sha256: db9490a14ad66fffa189815dbdf8c0b1fe9f68d3715f70d1992aec93ef9b6525
Contents?: true
Size: 1.54 KB
Versions: 3
Compression:
Stored size: 1.54 KB
Contents
/*global define: true */ /** * This is a helper module for porting plugins from the old * ui-attributefield.js in the aloha core to the new ui-plugin. * This interface is obsolete and must not be used for new implementations. */ define([ 'aloha/core', 'jquery', 'ui/ui', 'ui/multiSplit' ], function ( Aloha, jQuery, Ui, MultiSplit ) { 'use strict'; function MultiSplitButton(props) { var multiSplit; multiSplit = Ui.adopt(props.name, MultiSplit, { scope: props.scope, getButtons: function () { var buttons = []; jQuery.each(props.items, function (i, item) { buttons.push({ tooltip: item.tooltip, text: item.text, name: item.name, icon: item.iconClass, click: item.click, init: function () { if (item.cls) { this.element.addClass(item.cls); } if (item.init) { item.init.call(this); } }, wide: item.wide }); }); return buttons; } }); return { // Expose this function so the cite-plugin can push its own // button to the format plugin's multi-split-button (which // is a disastrous hack I know). // TODO make it possible to combine the items of multiple // plugins into a single multi split button. pushItem: function (item) { multiSplit.addButton(item); }, showItem: function (name) { multiSplit.show(name); }, hideItem: function (name) { multiSplit.hide(name); }, setActiveItem: function (name) { multiSplit.setActiveButton(name); } }; } return MultiSplitButton; });
Version data entries
3 entries across 3 versions & 2 rubygems