From 6c9b380629b57395b3a2a42f12c9ee462ac55523 Mon Sep 17 00:00:00 2001 From: iseulde Date: Fri, 10 Mar 2017 01:06:21 +0100 Subject: [PATCH] Disable arrow buttons when appropriate --- tinymce-single/tinymce/block.css | 4 ++++ tinymce-single/tinymce/block.js | 24 ++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/tinymce-single/tinymce/block.css b/tinymce-single/tinymce/block.css index 77bb30bf29f7c0..ad651cccbcb3de 100644 --- a/tinymce-single/tinymce/block.css +++ b/tinymce-single/tinymce/block.css @@ -87,6 +87,10 @@ svg.gridicon { fill: #12181e; } +.mce-inline-toolbar-grp .mce-btn.mce-disabled svg.gridicon { + fill: #e0e5e9; +} + .mce-inline-toolbar-grp .mce-btn.mce-primary { background: #0085ba; } diff --git a/tinymce-single/tinymce/block.js b/tinymce-single/tinymce/block.js index a77997aef2093e..eb04040d35801d 100644 --- a/tinymce-single/tinymce/block.js +++ b/tinymce-single/tinymce/block.js @@ -175,14 +175,34 @@ icon: 'gridicons-chevron-up', tooltip: 'Up', onClick: moveBlockUp, - classes: 'widget btn move-up' + classes: 'widget btn move-up', + onPostRender: function() { + var button = this; + + editor.on( 'nodeChange', function() { + var selectedBlocks = getSelectedBlocks(); + var firstBlock = selectedBlocks[0]; + + button.disabled( ! firstBlock.previousSibling ); + } ); + } } ); editor.addButton( 'down', { icon: 'gridicons-chevron-down', tooltip: 'Down', onClick: moveBlockDown, - classes: 'widget btn move-down' + classes: 'widget btn move-down', + onPostRender: function() { + var button = this; + + editor.on( 'nodeChange', function() { + var selectedBlocks = getSelectedBlocks(); + var lastBlock = selectedBlocks[ selectedBlocks.length - 1 ]; + + button.disabled( ! lastBlock.nextSibling ); + } ); + } } ); var insert = false;