From bd5e169ac1f543e51a244c5bee1bc996e1de4ff6 Mon Sep 17 00:00:00 2001 From: Sam Georges Date: Sat, 24 May 2014 16:48:36 +1000 Subject: [PATCH] Removing a component now removes the standard {% component %} tag --- CHANGELOG.md | 4 ++-- modules/cms/assets/js/october.cmspage.js | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 134047ee2..2b8baa66b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ -* **Build 91** (2014-05-24) +* **Build 92** (2014-05-24) - Components can now be dragged from the side navigation directly on to the page. - - Asset maker functions (addJs, addCss, addRss) now use an optional build code, either *core* or a plugin code. This is converted to a version number to ensure updates are not affected by cached assets. + - Asset maker methods (addJs, addCss, addRss) now use an optional build code, either *core* or a plugin code. This is converted to a version number to ensure updates are not affected by cached assets. * **Build 90** (2014-05-23) - Class `CmsPropertyHelper` has been deprecated, will be removed year > 2014. diff --git a/modules/cms/assets/js/october.cmspage.js b/modules/cms/assets/js/october.cmspage.js index 16e8d4c53..2a8fdc04d 100644 --- a/modules/cms/assets/js/october.cmspage.js +++ b/modules/cms/assets/js/october.cmspage.js @@ -464,9 +464,24 @@ * Listen for the click event on the components' remove link */ $(document).on('click', '#cms-master-tabs > div.tab-content > .tab-pane.active .control-componentlist a.remove', function(e) { - var pane = $(this).closest('.tab-pane') $(this).trigger('change') - $(this).closest('div.layout-cell').remove() + var pane = $(this).closest('.tab-pane'), + component = $(this).closest('div.layout-cell') + + /* + * Remove any {% component %} tags in the editor for this component + */ + var editor = $('[data-control=codeeditor]', pane) + if (editor.length) { + var alias = $('input[name="component_aliases[]"]', component).val(), + codeEditor = editor.codeEditor('getEditorObject') + + codeEditor.replace('', { + needle: "{% component '" + alias + "' %}" + }) + } + + component.remove() $(window).trigger('oc.updateUi') updateComponentListClass(pane)