X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/c734aa55a5d6186bfc87dd89ef7efafdbc20dacd..436728b375888873e6e96079a73f12d8adbd7b96:/src/editor/modules/mainBar/mainBar.js?ds=sidebyside diff --git a/src/editor/modules/mainBar/mainBar.js b/src/editor/modules/mainBar/mainBar.js index 8658c27..0563b7c 100644 --- a/src/editor/modules/mainBar/mainBar.js +++ b/src/editor/modules/mainBar/mainBar.js @@ -17,6 +17,10 @@ return function(sandbox) { view.find('[data-cmd]').click(function(e) { e.preventDefault(); + var target = $(e.target); + if(target.hasClass('disabled')) { + return; + } sandbox.publish('cmd.' + $(e.target).attr('data-cmd')); }); @@ -24,7 +28,18 @@ return function(sandbox) { start: function() { sandbox.publish('ready'); }, getView: function() {return view;}, setCommandEnabled: function(cmd, enabled) { - view.find('[data-cmd='+cmd+']').toggleClass('disabled', !enabled); + var trigger = view.find('[data-cmd='+cmd+']'), + disabledText = trigger.attr('data-disabled-text'), + originalContent = trigger.data('originalContent'); + trigger.toggleClass('disabled', !enabled); + if(enabled && originalContent) { + trigger.html(originalContent); + trigger.removeData('originalContent'); + } + if(!enabled && disabledText) { + trigger.data('originalContent', trigger.html()); + trigger.text(disabledText); + } }, setVersion: function(version) { view.find('.version').text(version);