diff --git a/modules/cms/assets/js/october.cmspage.js b/modules/cms/assets/js/october.cmspage.js index 053c4359d..8749a97c8 100644 --- a/modules/cms/assets/js/october.cmspage.js +++ b/modules/cms/assets/js/october.cmspage.js @@ -439,7 +439,8 @@ function addTokenExpanderToEditor(pane, $form) { var group = $('[data-field-name=markup]', pane), editor = $('[data-control=codeeditor]', group), - toolbar = editor.codeEditor('getToolbar') + toolbar = editor.codeEditor('getToolbar'), + canExpand = false if (editor.data('oc.tokenexpander')) return @@ -453,19 +454,34 @@ ) breakButton.hide().on('click', function(){ - editor.tokenExpander('expandToken', function(token, value){ - return $form.request('onExpandMarkupToken', { - data: { tokenType: token, tokenName: value } - }) - }) + handleExpandToken(editor, $form) return false }) $('ul:first', toolbar).prepend(breakButton) editor - .on('show.oc.tokenexpander', function(){ breakButton.show() }) - .on('hide.oc.tokenexpander', function(){ breakButton.hide() }) + .on('show.oc.tokenexpander', function(){ + canExpand = true + breakButton.show() + }) + .on('hide.oc.tokenexpander', function(){ + canExpand = false + breakButton.hide() + }) + .on('dblclick', function(e){ + if ((e.metaKey || e.ctrlKey) && canExpand) { + handleExpandToken(editor, $form) + } + }) + } + + function handleExpandToken(editor, $form) { + editor.tokenExpander('expandToken', function(token, value){ + return $form.request('onExpandMarkupToken', { + data: { tokenType: token, tokenName: value } + }) + }) } function handleMtimeMismatch(form) { diff --git a/modules/cms/controllers/Index.php b/modules/cms/controllers/Index.php index a9b9e8a76..2a48f6b67 100644 --- a/modules/cms/controllers/Index.php +++ b/modules/cms/controllers/Index.php @@ -276,7 +276,7 @@ class Index extends Controller if (!$alias = post('tokenName')) throw new ApplicationException(trans('cms::lang.component.no_records')); - // Can only break apart components at this stage + // Can only expand components at this stage if ((!$type = post('tokenType')) && $type != 'component') return;