| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- define([
- 'summernote/core/list',
- 'summernote/core/dom',
- 'summernote/module/Button'
- ], function (list, dom, Button) {
- /**
- * @class module.Toolbar
- *
- * Toolbar
- */
- var Toolbar = function () {
- var button = new Button();
- this.update = function ($toolbar, styleInfo) {
- button.update($toolbar, styleInfo);
- };
- /**
- * @param {Node} button
- * @param {String} eventName
- * @param {String} value
- */
- this.updateRecentColor = function (buttonNode, eventName, value) {
- button.updateRecentColor(buttonNode, eventName, value);
- };
- /**
- * activate buttons exclude codeview
- * @param {jQuery} $toolbar
- */
- this.activate = function ($toolbar) {
- $toolbar.find('button')
- .not('button[data-event="codeview"]')
- .removeClass('disabled');
- };
- /**
- * deactivate buttons exclude codeview
- * @param {jQuery} $toolbar
- */
- this.deactivate = function ($toolbar) {
- $toolbar.find('button')
- .not('button[data-event="codeview"]')
- .addClass('disabled');
- };
- /**
- * @param {jQuery} $container
- * @param {Boolean} [bFullscreen=false]
- */
- this.updateFullscreen = function ($container, bFullscreen) {
- var $btn = $container.find('button[data-event="fullscreen"]');
- $btn.toggleClass('active', bFullscreen);
- };
- /**
- * @param {jQuery} $container
- * @param {Boolean} [isCodeview=false]
- */
- this.updateCodeview = function ($container, isCodeview) {
- var $btn = $container.find('button[data-event="codeview"]');
- $btn.toggleClass('active', isCodeview);
- if (isCodeview) {
- this.deactivate($container);
- } else {
- this.activate($container);
- }
- };
- /**
- * get button in toolbar
- *
- * @param {jQuery} $editable
- * @param {String} name
- * @return {jQuery}
- */
- this.get = function ($editable, name) {
- var $toolbar = dom.makeLayoutInfo($editable).toolbar();
- return $toolbar.find('[data-name=' + name + ']');
- };
- /**
- * set button state
- * @param {jQuery} $editable
- * @param {String} name
- * @param {Boolean} [isActive=true]
- */
- this.setButtonState = function ($editable, name, isActive) {
- isActive = (isActive === false) ? false : true;
- var $button = this.get($editable, name);
- $button.toggleClass('active', isActive);
- };
- };
- return Toolbar;
- });
|