Goal
In Classic UI, there is a convenient option in Page tab of Sidekick to create a child page of current page (in Edit mode); Using this extension, we provide the same action on Touch UI Page Info Trigger.
Demo | Package Install
Please leave a comment if you find bugs
Solution
1) Login to CRXDE Lite (http://localhost:4502/crx/de) and create folder /apps/touch-ui-child-page
2) Create node /apps/touch-ui-child-page/clientlib of type cq:ClientLibraryFolder and add a String property categories with value cq.authoring.editor.hook
3) Create file (nt:file) /apps/touch-ui-child-page/clientlib/js.txt and add
create-child-page.js
4) Create file (nt:file) /apps/touch-ui-child-page/clientlib/create-child-page.js and add the following code
(function(document, $, page) { document.on("ready", function() { var trigger = $('#pageinfo-trigger'); trigger.on('click', function(){ var INTERVAL = setInterval(function(){ var classicUI = $(".pageinfo-pageactions .classicui-switcher"); if(classicUI && classicUI.length > 0){ clearInterval(INTERVAL); var createChildPage = "<li class='coral-List-item experience-aem-create-child-page'>" + "<i class='coral-Icon coral-Icon--add coral-Icon--sizeS' title='Create Child Page'></i>" + "Create Child Page</li>"; $("ul.pageinfo-pageactions").append(createChildPage); document.fipo('tap', 'click', ".experience-aem-create-child-page", function () { window.location = Granite.HTTP.externalize("/libs/wcm/core/content/sites/createpagewizard.html" + page.path); }); } }); }); }); })(jQuery(document), Granite.$, Granite.author.page);
No comments:
Post a Comment