@lionrockjs/mod-admin-cms
Version:
The CMS module for LionRockJS
2 lines • 8.44 kB
JavaScript
(()=>{"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e){var n=function(e,n){if("object"!==t(e)||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,"string");if("object"!==t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===t(n)?n:String(n)}function a(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,n(o.key),o)}}function o(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function r(e,t,a){return(t=n(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var i=function(){function t(){e(this,t)}return o(t,null,[{key:"init",value:function(){var e=this;if(!this.isInit){this.isInit=!0;var t=document.querySelector("html").getAttribute("lang");document.querySelectorAll(".pagefield-page").forEach((function(n){var a=n.getAttribute("data-page-type"),o=n.querySelector(".pagefield-page-input"),r=n.querySelector(".pagefield-page-value"),i=n.querySelector(".pagefield-page-badges"),c=e.fetchPageList(a,t);o.addEventListener("change",(function(){var t=c.querySelector('option[value="'.concat(o.value,'"]'));if(o.value="",t){var n=t.getAttribute("data-id");r.value.split(",").includes(n)||(e.addPageBadge(i,n,r,c),e.updatePageInputValue(r,i))}})),r.value.split(",").forEach((function(t){t&&e.addPageBadge(i,t,r,c)})),new Sortable(i,{animation:150,ghostClass:"opacity-50",onEnd:function(){return e.updatePageInputValue(r,i)}})}))}}},{key:"updatePageInputValue",value:function(e,t){var n=t.querySelectorAll(".badge"),a=Array.from(n).map((function(e){return e.getAttribute("data-page-id")}));e.value=a.join(",")}},{key:"addPageBadge",value:function(e,t,n,a){var o,r=this,i=document.createElement("span"),c=(null===(o=a.querySelector('option[data-id="'.concat(t,'"]')))||void 0===o?void 0:o.value)||t;i.setAttribute("data-page-id",t),i.classList.add("badge","bg-primary","rounded-pill"),i.innerHTML="".concat(c,' <i class="fas fa-times"></i>'),i.addEventListener("click",(function(){i.remove(),r.updatePageInputValue(n,e)})),e.append(i)}},{key:"sort",value:function(e,t){return e.name<t.name?-1:e.name>t.name?1:0}},{key:"fetchPageList",value:function(e,t){var n=this,a="page-list-".concat(e),o=document.querySelector("#".concat(a));if(o)return o;var r=document.createElement("datalist");return r.id=a,document.body.appendChild(r),fetch("/admin/api/pages/".concat(e,"?language=").concat(t)).then((function(e){e.json().then((function(e){r.innerHTML=e.sort(n.sort).map((function(e){return document.querySelectorAll('.badge[data-page-id="'.concat(e.page,'"]')).forEach((function(t){t.innerHTML="".concat(e.name,' <i class="fas fa-times"></i>')})),'<option value="'.concat(e.name,'" data-id="').concat(e.page,'" />')})).join("\n")}))})),r}}]),t}();r(i,"isInit",!1),r(i,"pages",new Map);var c=function(){function t(){e(this,t)}return o(t,null,[{key:"enableAutoSave",value:function(){var e=document.getElementById("autosave");e&&e.addEventListener("change",(function(e){e.currentTarget.form.submit()}))}},{key:"enablePageInput",value:function(){i.init()}},{key:"enablePointers",value:function(){var e=document.querySelector("html").getAttribute("lang");document.querySelectorAll("select.ref-pages").forEach((function(t){var n=t.getAttribute("data-pagetype");fetch("/admin/api/pages/".concat(n,"?language=").concat(e)).then((function(e){e.json().then((function(e){console.log(e)}))})),console.log(t)})),document.querySelectorAll("select.ref-page-items").forEach((function(t){var n=t.innerHTML,a=t.getAttribute("data-value"),o=t.getAttribute("data-pagetype"),r=t.getAttribute("data-item"),i="/admin/api/page-items/".concat(o,"/").concat(r,"?language=").concat(e);t.innerHTML='<option value="">Loading...</option>',fetch(i).then((function(e){e.json().then((function(e){var o=[n];e.forEach((function(e){o.push('<optgroup label="'.concat(e.name,'">')),e.items.forEach((function(e){o.push('<option value="'.concat(e.id,'" ').concat(e.id.toString()===a?"selected":"",">").concat(e.name,"</option>"))})),o.push("</optgroup>")})),t.innerHTML=o.join("/n")}))}))}))}},{key:"enableBlock",value:function(){var e=document.getElementById("add-block");if(e){var t=e.querySelector("select"),n=e.querySelector("a");t.addEventListener("change",(function(){n.setAttribute("href",n.getAttribute("data-link").replace("[block_name]",t.value))}))}}},{key:"addPageTag",value:function(e,t,n){fetch("/admin/api/page/".concat(e,"/tag/").concat(t),{credentials:"include",method:"POST"}).then((function(e){return e.json().then((function(e){console.log(e),!0===e.payload.success&&n(e.payload)}))}))}},{key:"enablePageTag",value:function(){var e=this;document.querySelectorAll(".page-tag-form").forEach((function(t){var n=t.getAttribute("data-page"),a=t.querySelector(".tag-add-input"),o=t.querySelector(".page-tag-list"),r=function(e){var t=e.currentTarget;fetch("/admin/api/page_tag/".concat(t.getAttribute("data-id")),{credentials:"include",method:"DELETE"}).then((function(e){return e.json().then((function(e){console.log(e),t.remove()}))}))};t.querySelector(".toggle-input-tag").addEventListener("click",(function(e){a.classList.contains("visually-hidden")?a.classList.remove("visually-hidden"):a.classList.add("visually-hidden")})),t.querySelectorAll(".page-tag.badge").forEach((function(e){e.addEventListener("click",r)})),a.addEventListener("change",(function(){var i=t.querySelector('option[value="'.concat(a.value,'"]'));if(i){var c=i.getAttribute("data-id"),u=i.getAttribute("data-value"),l=i.getAttribute("data-name");e.addPageTag(n,c,(function(e){var t=document.createElement("span");t.value="".concat(u," ( ").concat(l," )"),t.setAttribute("data-id",e.id),t.setAttribute("role","button"),t.classList.add("badge","bg-primary","rounded-pill"),t.innerHTML="".concat(u,' <i class="fas fa-times"></i>'),o.appendChild(t),o.appendChild(document.createTextNode(" ")),a.value="",t.addEventListener("click",r)}))}}))}))}}]),t}();function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}var l=function(){function t(){e(this,t)}return o(t,null,[{key:"enableUpload",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({apiKey:"api",dir:"cms",selector:".page-field-upload",selectorFile:'input[type="file"]',callback:function(e,n,a){if(e)throw e;var o=a.files[0],r=n.querySelector(".page-field-upload-text"),i=n.querySelector(".preview img");r.value="/".concat(o),i&&(i.src="".concat(t.previewUrl||"https://www.example.com").concat(o))}},t);document.querySelectorAll(n.selector).forEach((function(t){var a=t.querySelector(n.selectorFile);a.addEventListener("change",(function(){var o=new FormData;o.append("file",a.files[0]),o.append("dir",n.dir),o.append("api-key",n.apiKey),fetch(e,{method:"POST",body:o,mode:"cors"}).then((function(e){e.json().then((function(e){var a=e.files[0];if(!a)return n.callback(new Error("upload error"),t,a);n.callback(null,t,e)}))})).catch((function(e){return n.callback(e,t,null)}))}),!1)}))}}]),t}();c.enableAutoSave(),c.enablePageTag(),c.enablePageInput(),l.enableUpload({"admin.example.com":"https://mediaport.dappod.com/upload"}[window.location.hostname]||"/admin/upload",{apiKey:{"admin.example.com":"api-name"}[window.location.hostname]||"default",dir:"cms",previewUrl:window.location.origin+"/"}),tinymce.init({selector:"textarea",menubar:"",branding:!1,width:"100%",plugins:"code",toolbar:"undo redo bold italic removeformat code",paste_as_text:!0}).then()})();
//# sourceMappingURL=controller_admin_page_read.bundle.js.map