X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/c734aa55a5d6186bfc87dd89ef7efafdbc20dacd..4729ca360f43f0b909dadabbce5438d4910382ed:/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..256111f 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,10 +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); - }, - setVersion: function(version) { - view.find('.version').text(version); + 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); + } } };