@silexlabs/silex 3.0.0-alpha.139 → 3.0.0-alpha.140

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -379,7 +379,7 @@ var silex;(()=>{var t={99:function(t){"undefined"!=typeof globalThis?globalThis:
379
379
  @click=${()=>this.editor.Commands.stop(Er)}
380
380
  >Close</button>
381
381
  </footer>
382
- `}}displayPending(t,e){this.errorMessage=null,this.renderDialog(t,e)}displayError(t,e,n){console.info(t),this.errorMessage=t,this.renderDialog(e,n)}async closeDialog(){this.isOpen=!1,this.renderDialog(null,null),this.sender&&this.sender.set("active",0),this.sender=null}async toggleDialog(){this.isOpen?this.closeDialog():this.openDialog()}async openDialog(){this.isOpen=!0;const t=this.editor.Panels.getPanel("options")?.view.el.querySelector(".publish-button");if(t){const e=t.getBoundingClientRect(),n=450,r=20,o=50;this.move({left:e.right-n-r,top:e.bottom+10,width:n,minHeight:o})}else console.error("Unable to find publish button");this.renderDialog(null,Xr.STATUS_NONE)}}function Pr(t,e){t.Pages.getAll().forEach((t=>{t.getMainComponent().onAll((t=>e(t)))}))}const jr="tmp-pre-publication-transformer-tohtml",Mr="tmp-pre-publication-transformer-src",Lr="tmp-pre-publication-transformer-attributes-src",Nr="tmp-pre-publication-transformer-inline-css",Ir="tmp-pre-publication-transformer-href",Dr="tmp-pre-publication-transformer-tocss",$r={renderComponent:(t,e)=>e(),renderCssRule:(t,e)=>e(),transformPath:(t,e)=>t,transformPermalink(t,e,n){switch(n){case Pe.HTML:return t;case Pe.CSS:return`../${t.replace(/^\//,"")}`;default:throw new Error(`Unknown initiator ${n}`)}},transformFile:t=>t};function Rr(t,e){const n=e["background-image"],r=n?.match(/url\(["']?(.*?)["']?\)/)?.pop();return r?{...e,"background-image":`url(${Hr(t,r,Ae.ASSET,Pe.CSS)})`}:e}function Hr(t,e,n,r){return t.getModel().get("config").publicationTransformers.reduce(((t,e)=>{try{return e.transformPermalink?e.transformPermalink(t,n,r)??t:t}catch(e){return console.error("Publication transformer: error transforming path",t,e),t}}),e)}function Fr(t,e,n){return t.getModel().get("config").publicationTransformers.reduce(((t,e)=>{try{return e.transformPath?e.transformPath(t,n)??t:t}catch(e){return console.error("Publication transformer: error transforming path",t,e),t}}),e)}const Vr=window.location.pathname.replace(/\/$/,""),Ur=window.location.origin;function Br(t,e,n){if(t.startsWith("/assets")){const r=new URL(t,Ur);return r.pathname=r.pathname.replace(/^\/assets/,""),r.pathname=`${Vr}${on}${vn}${Cn}${r.pathname}`,r.searchParams.set("websiteId",e),r.searchParams.set("connectorId",n),`${decodeURIComponent(r.pathname)}${r.search}`}return console.warn("storedToDisplayed: path is not a stored path",t),t}function zr(t){const e=`${Vr}${on}${vn}${Cn}`;if(t.startsWith(e)){const n=new URL(t,Ur);n.pathname=n.pathname.replace(new RegExp(`^${e}`),""),n.pathname=`${Vr}/assets${n.pathname}`,n.searchParams.delete("websiteId"),n.searchParams.delete("connectorId");const r="/"+n.toString().replace(new RegExp(`^${Ur}${Vr}`),"").replace(/^\//,"");return decodeURIComponent(r)}return console.warn("displayedToStored: path is not a displayed path",t),t}const Wr={transformPath(t,e){if(e===Ae.ASSET)return zr(t)},transformPermalink(t,e){if(e===Ae.ASSET)return zr(t)}};function qr(t,e,n){const r=t.attributes?.src?{...t,attributes:{...t.attributes,src:Br(t.attributes.src,e,n)}}:t;return r.components&&(r.components=r.components.map((t=>qr(t,e,n)))),r}function Gr(t){const e=t.attributes?.src?{...t,attributes:{...t.attributes,src:zr(t.attributes.src)}}:t;return e.components&&(e.components=e.components.map((t=>Gr(t)))),e}const Kr="publish",Yr="publish-login",Zr="publish-logout";var Xr;function Jr(t,e){t.PublicationManager=new eo(t,e)}function Qr(t){switch(t){case Me.IN_PROGRESS:return Xr.STATUS_PENDING;case Me.ERROR:return Xr.STATUS_ERROR;case Me.SUCCESS:return Xr.STATUS_SUCCESS}throw new Error(`Unknown job status ${t}`)}!function(t){t.STATUS_NONE="STATUS_NONE",t.STATUS_PENDING="STATUS_PENDING",t.STATUS_ERROR="STATUS_ERROR",t.STATUS_SUCCESS="STATUS_SUCCESS",t.STATUS_LOGGED_OUT="STATUS_AUTH_ERROR"}(Xr||(Xr={}));const to=window.location.origin+window.location.pathname.replace(/\/$/,"");class eo{editor;dialog;_settings;get settings(){return this._settings}set settings(t){this._settings=t,this.dialog&&(this.dialog.settings=t)}options;job=null;status=Xr.STATUS_NONE;constructor(t,e){this.editor=t,this.options={appendTo:"options",...e},t.on("storage:start:store",(t=>{t.publication=this.settings})),t.on("storage:end:load",(t=>{this.settings=t.publication??{},$e({type:je.HOSTING,connectorId:this.settings.connector?.connectorId}).then((t=>{})).catch((t=>{this.status=Xr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError("Please login",this.job,this.status)}))})),t.Commands.add(Kr,(()=>this.startPublication())),t.Commands.add(Yr,((t,e,n)=>this.goLogin(n))),t.Commands.add(Zr,(()=>this.goLogout())),this.options.appendTo?this.dialog=new Ar(t,{appendTo:this.options.appendTo}):console.info("PublicationUi is disabled because no appendTo option is set")}async goLogin(t){if(t.isLoggedIn)return this.settings={...this.settings,connector:t},this.status=Xr.STATUS_NONE,this.editor.store(null),void(this.dialog&&this.dialog.displayPending(this.job,this.status));this.settings={},this.status=Xr.STATUS_LOGGED_OUT,this.dialog&&this.dialog.displayPending(this.job,this.status);const e=t.connectorId,n=t.type;return window.open(t.oauthUrl||`${to}${on}${sn}${un}?connectorId=${e}&type=${n}`,"_blank"),new Promise((e=>{const n=async e=>{const r=e.data;"login"===r?.type&&(window.removeEventListener("message",n),r.error?(this.status=Xr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError(r.message,this.job,this.status)):(this.editor.trigger(cr.PUBLISH_LOGIN_END),this.settings.connector=t,this.settings.options=r.options,this.status=Xr.STATUS_NONE,this.editor.store(null),this.dialog&&this.dialog.displayPending(this.job,this.status)))};window.addEventListener("message",n,!1)}))}async goLogout(){try{await Re({type:je.HOSTING,connectorId:this.settings.connector.connectorId}),this.settings={},this.dialog&&this.dialog.displayPending(this.job,this.status)}catch(t){console.error("logout error",t),this.status=Xr.STATUS_ERROR,this.dialog&&this.dialog.displayError(t.message,this.job,this.status)}}async startPublication(){if(this.status===Xr.STATUS_PENDING)throw new Error("Publication is already in progress");this.status=Xr.STATUS_PENDING,this.job=null,this.dialog&&this.dialog.displayPending(this.job,this.status),this.editor.trigger(cr.PUBLISH_START);const t=this.editor.getModel().get("user");if(!t)throw new Error("User not logged in to a storage connector");if(!this.settings.connector?.connectorId)throw new Error("User not logged in to a hosting connector");const e=this.options.websiteId,n=t.storage.connectorId;this.setPublicationTransformers();const r=this.editor.getProjectData(),o=this.editor.getModel().get("settings"),i=(await this.getHtmlFiles(o)).flatMap((t=>[{path:t.htmlPath,content:t.html,type:Ae.HTML},{path:t.cssPath,content:t.css,type:Ae.CSS}])).concat(r.assets.map((t=>{const e=Fr(this.editor,t.src,Ae.ASSET),n=zr(t.src).replace(/^\/assets\//,"");return{...t,path:e,src:n,type:Ae.ASSET}}))),s={...r,assets:r.assets.map((t=>({...t,src:zr(t.src)}))),settings:o,publication:this.settings,files:i};this.resetPublicationTransformers(),function(t,e){const n=t.getModel().get("config");e.files=n.publicationTransformers.reduce(((t,n)=>t.map(((t,r)=>{try{return e.pages[r],n.transformFile?n.transformFile(t)??t:t}catch(e){return console.error("Publication transformer: error transforming file",t,e),t}}))),e.files)}(this.editor,s),this.editor.trigger(cr.PUBLISH_DATA,s);try{const[t,r]=await He({websiteId:e,hostingId:this.settings.connector.connectorId,storageId:n,data:s,options:this.settings.options});this.job=r,this.status=Qr(this.job.status),this.trackProgress()}catch(t){return console.error("publish error",t),401===t.code||401===t.httpStatusCode?(this.status=Xr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError("Please login.",this.job,this.status)):(this.status=Xr.STATUS_ERROR,this.dialog&&this.dialog.displayError(`An error occured, your site is not published. ${t.message}`,this.job,this.status)),this.editor.trigger(cr.PUBLISH_ERROR,{success:!1,message:t.message}),void this.editor.trigger(cr.PUBLISH_END,{success:!1,message:t.message})}}async getHtmlFiles(t){return this.editor.Pages.getAll().map((e=>{const n=e.get("settings");function r(e){return(n||{})[e]||(t||[])[e]||""}const o=e.getMainComponent(),i=Cr(e.get("name")),s=`/css/${i}.css`,a=`/${i}.html`,l=Hr(this.editor,s,Ae.CSS,Pe.HTML),c=Fr(this.editor,s,Ae.CSS),u=Fr(this.editor,a,Ae.HTML),p=this.editor.getHtml({component:o});return{html:`<!DOCTYPE html>\n<html lang="${r("lang")}">\n<head>\n<meta charset="UTF-8">\n<link rel="stylesheet" href="${l}" />\n${t?.head||""}\n${n?.head||""}\n<title>${r("title")}</title>\n<link rel="icon" href="${r("favicon")}" />\n${["description","og:title","og:description","og:image"].map((t=>`<meta name="${t}" property="${t}" content="${r(t)}"/>`)).join("\n")}\n</head>\n${p}\n</html>`,css:this.editor.getCss({component:o}),cssPath:c,htmlPath:u}}))}async trackProgress(){try{this.job=await Fe({jobId:this.job.jobId}),this.status=Qr(this.job.status)}catch(t){return this.status=Xr.STATUS_ERROR,this.dialog&&this.dialog.displayError(`An error occured, your site is not published. ${t.message}`,this.job,this.status),this.editor.trigger(cr.PUBLISH_END,{success:!1,message:t.message}),void this.editor.trigger(cr.PUBLISH_ERROR,{success:!1,message:t.message})}this.job.status===Me.IN_PROGRESS?setTimeout((()=>this.trackProgress()),2e3):this.editor.trigger(cr.PUBLISH_END,{success:this.job.status===Me.SUCCESS,message:this.job.message}),this.dialog&&this.dialog.displayPending(this.job,this.status)}setPublicationTransformers(){!function(t){const e=t.getModel().get("config");Pr(t,(n=>{if(n.get(jr))console.warn("Publication transformer: HTML transform already altered",n);else{const r=n.toHTML.bind(n);n[jr]=n.toHTML;const o=n.getStyle.bind(n);n[Nr]=n.getStyle;const i=n.get("attributes").href;if(i?.startsWith("./")&&(n[Ir]=i,n.set("attributes",{...n.get("attributes"),href:Hr(t,i,Ae.HTML,Pe.HTML)})),n.get("attributes").src){n[Mr]=n.get("attributes").src;const e=Hr(t,n.get("attributes").src,Ae.ASSET,Pe.HTML);n.set("attributes",{...n.get("attributes"),src:e})}if(n.get("src")){n[Lr]=n.get("src");const e=Hr(t,n.get("src"),Ae.ASSET,Pe.HTML);n.set("src",e)}n.toHTML=()=>e.publicationTransformers.reduce(((t,e)=>{try{return e.renderComponent?e.renderComponent(n,(()=>t))??t:t}catch(e){return console.error("Publication transformer: error rendering component",n,e),t}}),r()),n.getStyle=()=>Rr(t,o())}}))}(this.editor),function(t){const e=t.getModel().get("config");t.Css.getAll().forEach((n=>{if(n[Dr])console.warn("Publication transformer: CSS transform already altered",n);else{const r=n.getStyle.bind(n);n[Dr]=n.getStyle,n.getStyle=()=>{try{const n=Rr(t,r()),o=e.publicationTransformers.reduce(((t,e)=>({...e.renderCssRule?e.renderCssRule(t,(()=>n))??t:t})),n);return o}catch(t){return console.error("Publication transformer: error rendering style",n,t),r()}}}}))}(this.editor)}resetPublicationTransformers(){!function(t){Pr(t,(t=>{t[jr]&&(t.toHTML=t[jr],delete t[jr]),t[Nr]&&(t.getStyle=t[Nr],delete t[Nr]),t[Mr]&&(t.set("attributes",{...t.get("attributes"),src:t[Mr]}),delete t[Mr]),t[Lr]&&(t.set("src",t[Lr]),delete t[Lr]),t[Ir]&&(t.set("attributes",{...t.get("attributes"),href:t[Ir]}),delete t[Ir])}))}(this.editor),function(t){t.Css.getAll().forEach((t=>{t[Dr]&&(t.getStyle=t[Dr],delete t[Dr])}))}(this.editor)}}const no="fa fa-fw fa-paste silex-button",ro=" disabled",oo=[{name:"./project-bar",value:or},{name:"grapesjs-style-bg",value:Wn()},{name:"./settings",value:(t,e)=>{try{gr="3.0.0-alpha.139"}catch(t){}console.info("Silex version:",gr),t.Commands.add(hr,{run:(e,n,{page:r})=>{fr=t.Modal.open({title:r?"Page settings":"Site Settings",content:"",attributes:{class:"settings-dialog"}}).onceClose((()=>{n?.set&&n.set("active",0),t.stopCommand(hr)})),function(t,e,n=t.getModel()){const r=n.get("settings")||{};n.set("settings",r);const o=ar(n)?ur:pr;let i=o[0];Gt(At`
382
+ `}}displayPending(t,e){this.errorMessage=null,this.renderDialog(t,e)}displayError(t,e,n){console.info(t),this.errorMessage=t,this.renderDialog(e,n)}async closeDialog(){this.isOpen=!1,this.renderDialog(null,null),this.sender&&this.sender.set("active",0),this.sender=null}async toggleDialog(){this.isOpen?this.closeDialog():this.openDialog()}async openDialog(){this.isOpen=!0;const t=this.editor.Panels.getPanel("options")?.view.el.querySelector(".publish-button");if(t){const e=t.getBoundingClientRect(),n=450,r=20,o=50;this.move({left:e.right-n-r,top:e.bottom+10,width:n,minHeight:o})}else console.error("Unable to find publish button");this.renderDialog(null,Xr.STATUS_NONE)}}function Pr(t,e){t.Pages.getAll().forEach((t=>{t.getMainComponent().onAll((t=>e(t)))}))}const jr="tmp-pre-publication-transformer-tohtml",Mr="tmp-pre-publication-transformer-src",Lr="tmp-pre-publication-transformer-attributes-src",Nr="tmp-pre-publication-transformer-inline-css",Ir="tmp-pre-publication-transformer-href",Dr="tmp-pre-publication-transformer-tocss",$r={renderComponent:(t,e)=>e(),renderCssRule:(t,e)=>e(),transformPath:(t,e)=>t,transformPermalink(t,e,n){switch(n){case Pe.HTML:return t;case Pe.CSS:return`../${t.replace(/^\//,"")}`;default:throw new Error(`Unknown initiator ${n}`)}},transformFile:t=>t};function Rr(t,e){const n=e["background-image"],r=n?.match(/url\(["']?(.*?)["']?\)/)?.pop();return r?{...e,"background-image":`url(${Hr(t,r,Ae.ASSET,Pe.CSS)})`}:e}function Hr(t,e,n,r){return t.getModel().get("config").publicationTransformers.reduce(((t,e)=>{try{return e.transformPermalink?e.transformPermalink(t,n,r)??t:t}catch(e){return console.error("Publication transformer: error transforming path",t,e),t}}),e)}function Fr(t,e,n){return t.getModel().get("config").publicationTransformers.reduce(((t,e)=>{try{return e.transformPath?e.transformPath(t,n)??t:t}catch(e){return console.error("Publication transformer: error transforming path",t,e),t}}),e)}const Vr=window.location.pathname.replace(/\/$/,""),Ur=window.location.origin;function Br(t,e,n){if(t.startsWith("/assets")){const r=new URL(t,Ur);return r.pathname=r.pathname.replace(/^\/assets/,""),r.pathname=`${Vr}${on}${vn}${Cn}${r.pathname}`,r.searchParams.set("websiteId",e),r.searchParams.set("connectorId",n),`${decodeURIComponent(r.pathname)}${r.search}`}return console.warn("storedToDisplayed: path is not a stored path",t),t}function zr(t){const e=`${Vr}${on}${vn}${Cn}`;if(t.startsWith(e)){const n=new URL(t,Ur);n.pathname=n.pathname.replace(new RegExp(`^${e}`),""),n.pathname=`${Vr}/assets${n.pathname}`,n.searchParams.delete("websiteId"),n.searchParams.delete("connectorId");const r="/"+n.toString().replace(new RegExp(`^${Ur}${Vr}`),"").replace(/^\//,"");return decodeURIComponent(r)}return console.warn("displayedToStored: path is not a displayed path",t),t}const Wr={transformPath(t,e){if(e===Ae.ASSET)return zr(t)},transformPermalink(t,e){if(e===Ae.ASSET)return zr(t)}};function qr(t,e,n){const r=t.attributes?.src?{...t,attributes:{...t.attributes,src:Br(t.attributes.src,e,n)}}:t;return r.components&&(r.components=r.components.map((t=>qr(t,e,n)))),r}function Gr(t){const e=t.attributes?.src?{...t,attributes:{...t.attributes,src:zr(t.attributes.src)}}:t;return e.components&&(e.components=e.components.map((t=>Gr(t)))),e}const Kr="publish",Yr="publish-login",Zr="publish-logout";var Xr;function Jr(t,e){t.PublicationManager=new eo(t,e)}function Qr(t){switch(t){case Me.IN_PROGRESS:return Xr.STATUS_PENDING;case Me.ERROR:return Xr.STATUS_ERROR;case Me.SUCCESS:return Xr.STATUS_SUCCESS}throw new Error(`Unknown job status ${t}`)}!function(t){t.STATUS_NONE="STATUS_NONE",t.STATUS_PENDING="STATUS_PENDING",t.STATUS_ERROR="STATUS_ERROR",t.STATUS_SUCCESS="STATUS_SUCCESS",t.STATUS_LOGGED_OUT="STATUS_AUTH_ERROR"}(Xr||(Xr={}));const to=window.location.origin+window.location.pathname.replace(/\/$/,"");class eo{editor;dialog;_settings;get settings(){return this._settings}set settings(t){this._settings=t,this.dialog&&(this.dialog.settings=t)}options;job=null;status=Xr.STATUS_NONE;constructor(t,e){this.editor=t,this.options={appendTo:"options",...e},t.on("storage:start:store",(t=>{t.publication=this.settings})),t.on("storage:end:load",(t=>{this.settings=t.publication??{},$e({type:je.HOSTING,connectorId:this.settings.connector?.connectorId}).then((t=>{})).catch((t=>{this.status=Xr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError("Please login",this.job,this.status)}))})),t.Commands.add(Kr,(()=>this.startPublication())),t.Commands.add(Yr,((t,e,n)=>this.goLogin(n))),t.Commands.add(Zr,(()=>this.goLogout())),this.options.appendTo?this.dialog=new Ar(t,{appendTo:this.options.appendTo}):console.info("PublicationUi is disabled because no appendTo option is set")}async goLogin(t){if(t.isLoggedIn)return this.settings={...this.settings,connector:t},this.status=Xr.STATUS_NONE,this.editor.store(null),void(this.dialog&&this.dialog.displayPending(this.job,this.status));this.settings={},this.status=Xr.STATUS_LOGGED_OUT,this.dialog&&this.dialog.displayPending(this.job,this.status);const e=t.connectorId,n=t.type;return window.open(t.oauthUrl||`${to}${on}${sn}${un}?connectorId=${e}&type=${n}`,"_blank"),new Promise((e=>{const n=async e=>{const r=e.data;"login"===r?.type&&(window.removeEventListener("message",n),r.error?(this.status=Xr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError(r.message,this.job,this.status)):(this.editor.trigger(cr.PUBLISH_LOGIN_END),this.settings.connector=t,this.settings.options=r.options,this.status=Xr.STATUS_NONE,this.editor.store(null),this.dialog&&this.dialog.displayPending(this.job,this.status)))};window.addEventListener("message",n,!1)}))}async goLogout(){try{await Re({type:je.HOSTING,connectorId:this.settings.connector.connectorId}),this.settings={},this.dialog&&this.dialog.displayPending(this.job,this.status)}catch(t){console.error("logout error",t),this.status=Xr.STATUS_ERROR,this.dialog&&this.dialog.displayError(t.message,this.job,this.status)}}async startPublication(){if(this.status===Xr.STATUS_PENDING)throw new Error("Publication is already in progress");this.status=Xr.STATUS_PENDING,this.job=null,this.dialog&&this.dialog.displayPending(this.job,this.status),this.editor.trigger(cr.PUBLISH_START);const t=this.editor.getModel().get("user");if(!t)throw new Error("User not logged in to a storage connector");if(!this.settings.connector?.connectorId)throw new Error("User not logged in to a hosting connector");const e=this.options.websiteId,n=t.storage.connectorId;this.setPublicationTransformers();const r=this.editor.getProjectData(),o=this.editor.getModel().get("settings"),i=(await this.getHtmlFiles(o)).flatMap((t=>[{path:t.htmlPath,content:t.html,type:Ae.HTML},{path:t.cssPath,content:t.css,type:Ae.CSS}])).concat(r.assets.map((t=>{const e=Fr(this.editor,t.src,Ae.ASSET),n=zr(t.src).replace(/^\/assets\//,"");return{...t,path:e,src:n,type:Ae.ASSET}}))),s={...r,assets:r.assets.map((t=>({...t,src:zr(t.src)}))),settings:o,publication:this.settings,files:i};this.resetPublicationTransformers(),function(t,e){const n=t.getModel().get("config");e.files=n.publicationTransformers.reduce(((t,n)=>t.map(((t,r)=>{try{return e.pages[r],n.transformFile?n.transformFile(t)??t:t}catch(e){return console.error("Publication transformer: error transforming file",t,e),t}}))),e.files)}(this.editor,s),this.editor.trigger(cr.PUBLISH_DATA,s);try{const[t,r]=await He({websiteId:e,hostingId:this.settings.connector.connectorId,storageId:n,data:s,options:this.settings.options});this.job=r,this.status=Qr(this.job.status),this.trackProgress()}catch(t){return console.error("publish error",t),401===t.code||401===t.httpStatusCode?(this.status=Xr.STATUS_LOGGED_OUT,this.settings={},this.dialog&&this.dialog.displayError("Please login.",this.job,this.status)):(this.status=Xr.STATUS_ERROR,this.dialog&&this.dialog.displayError(`An error occured, your site is not published. ${t.message}`,this.job,this.status)),this.editor.trigger(cr.PUBLISH_ERROR,{success:!1,message:t.message}),void this.editor.trigger(cr.PUBLISH_END,{success:!1,message:t.message})}}async getHtmlFiles(t){return this.editor.Pages.getAll().map((e=>{const n=e.get("settings");function r(e){return(n||{})[e]||(t||[])[e]||""}const o=e.getMainComponent(),i=Cr(e.get("name")),s=`/css/${i}.css`,a=`/${i}.html`,l=Hr(this.editor,s,Ae.CSS,Pe.HTML),c=Fr(this.editor,s,Ae.CSS),u=Fr(this.editor,a,Ae.HTML),p=this.editor.getHtml({component:o});return{html:`<!DOCTYPE html>\n<html lang="${r("lang")}">\n<head>\n<meta charset="UTF-8">\n<link rel="stylesheet" href="${l}" />\n${t?.head||""}\n${n?.head||""}\n<title>${r("title")}</title>\n<link rel="icon" href="${r("favicon")}" />\n${["description","og:title","og:description","og:image"].map((t=>`<meta name="${t}" property="${t}" content="${r(t)}"/>`)).join("\n")}\n</head>\n${p}\n</html>`,css:this.editor.getCss({component:o}),cssPath:c,htmlPath:u}}))}async trackProgress(){try{this.job=await Fe({jobId:this.job.jobId}),this.status=Qr(this.job.status)}catch(t){return this.status=Xr.STATUS_ERROR,this.dialog&&this.dialog.displayError(`An error occured, your site is not published. ${t.message}`,this.job,this.status),this.editor.trigger(cr.PUBLISH_END,{success:!1,message:t.message}),void this.editor.trigger(cr.PUBLISH_ERROR,{success:!1,message:t.message})}this.job.status===Me.IN_PROGRESS?setTimeout((()=>this.trackProgress()),2e3):this.editor.trigger(cr.PUBLISH_END,{success:this.job.status===Me.SUCCESS,message:this.job.message}),this.dialog&&this.dialog.displayPending(this.job,this.status)}setPublicationTransformers(){!function(t){const e=t.getModel().get("config");Pr(t,(n=>{if(n.get(jr))console.warn("Publication transformer: HTML transform already altered",n);else{const r=n.toHTML.bind(n);n[jr]=n.toHTML;const o=n.getStyle.bind(n);n[Nr]=n.getStyle;const i=n.get("attributes").href;if(i?.startsWith("./")&&(n[Ir]=i,n.set("attributes",{...n.get("attributes"),href:Hr(t,i,Ae.HTML,Pe.HTML)})),n.get("attributes").src){n[Mr]=n.get("attributes").src;const e=Hr(t,n.get("attributes").src,Ae.ASSET,Pe.HTML);n.set("attributes",{...n.get("attributes"),src:e})}if(n.get("src")){n[Lr]=n.get("src");const e=Hr(t,n.get("src"),Ae.ASSET,Pe.HTML);n.set("src",e)}n.toHTML=()=>e.publicationTransformers.reduce(((t,e)=>{try{return e.renderComponent?e.renderComponent(n,(()=>t))??t:t}catch(e){return console.error("Publication transformer: error rendering component",n,e),t}}),r()),n.getStyle=()=>Rr(t,o())}}))}(this.editor),function(t){const e=t.getModel().get("config");t.Css.getAll().forEach((n=>{if(n[Dr])console.warn("Publication transformer: CSS transform already altered",n);else{const r=n.getStyle.bind(n);n[Dr]=n.getStyle,n.getStyle=()=>{try{const n=Rr(t,r()),o=e.publicationTransformers.reduce(((t,e)=>({...e.renderCssRule?e.renderCssRule(t,(()=>n))??t:t})),n);return o}catch(t){return console.error("Publication transformer: error rendering style",n,t),r()}}}}))}(this.editor)}resetPublicationTransformers(){!function(t){Pr(t,(t=>{t[jr]&&(t.toHTML=t[jr],delete t[jr]),t[Nr]&&(t.getStyle=t[Nr],delete t[Nr]),t[Mr]&&(t.set("attributes",{...t.get("attributes"),src:t[Mr]}),delete t[Mr]),t[Lr]&&(t.set("src",t[Lr]),delete t[Lr]),t[Ir]&&(t.set("attributes",{...t.get("attributes"),href:t[Ir]}),delete t[Ir])}))}(this.editor),function(t){t.Css.getAll().forEach((t=>{t[Dr]&&(t.getStyle=t[Dr],delete t[Dr])}))}(this.editor)}}const no="fa fa-fw fa-paste silex-button",ro=" disabled",oo=[{name:"./project-bar",value:or},{name:"grapesjs-style-bg",value:Wn()},{name:"./settings",value:(t,e)=>{try{gr="3.0.0-alpha.140"}catch(t){}console.info("Silex version:",gr),t.Commands.add(hr,{run:(e,n,{page:r})=>{fr=t.Modal.open({title:r?"Page settings":"Site Settings",content:"",attributes:{class:"settings-dialog"}}).onceClose((()=>{n?.set&&n.set("active",0),t.stopCommand(hr)})),function(t,e,n=t.getModel()){const r=n.get("settings")||{};n.set("settings",r);const o=ar(n)?ur:pr;let i=o[0];Gt(At`
383
383
  <form class="silex-form">
384
384
  <div class="silex-help">
385
385
  ${ar(n)?At`
@@ -413,7 +413,7 @@ var silex;(()=>{var t={99:function(t){"undefined"!=typeof globalThis?globalThis:
413
413
  <input class="silex-button" type="submit" value="Apply">
414
414
  </footer>
415
415
  </form>
416
- `,dr),dr.querySelector(`#${sr}`)?.appendChild(vr.getElement()),vr.setContent(r.head||"")}(t,0,r),fr.setContent(dr);const o=dr.querySelector("form");return o.onsubmit=e=>{e.preventDefault(),t.trigger(cr.SETTINGS_SAVE_START,r),function(t,e,n=t.getModel()){const r=dr.querySelector("form"),o=new FormData(r),i=Array.from(o).reduce(((t,[e,n])=>(t[e]=n,t)),{}),{name:s,...a}=i;n.set({settings:{...i,head:vr.getContent()},name:s}),t.getModel().set("changesCount",t.getDirtyCount()+1),yr(t)}(t,0,r),t.trigger(cr.SETTINGS_SAVE_END,r),t.stopCommand(hr)},o.querySelector("input")?.focus(),t.trigger(cr.SETTINGS_OPEN,r),fr},stop:()=>{fr.close(),t.trigger(cr.SETTINGS_CLOSE)}}),t.on("storage:start:store",(e=>{e.settings=t.getModel().get("settings"),e.name=t.getModel().get("name")})),t.on("storage:end:load",(e=>{const n=t.getModel();n.set("settings",e.settings||{}),n.set("name",e.name),yr(t)})),t.on("page",(e=>{t.Canvas.getFrameEl().addEventListener("load",(()=>{yr(t)}))})),vr=t.CodeManager.createViewer({readOnly:!1,codeName:"htmlmixed",lineNumbers:!0,lineWrapping:!0})}},{name:"@silexlabs/grapesjs-fonts",value:Se()},{name:"./new-page-dialog",value:(t,e)=>{t.Commands.add(nr,{run:(e,n,{page:r})=>{er=t.Modal.open({title:"New Page",content:"",attributes:{class:"new-page-dialog"}}).onceClose((()=>{t.stopCommand(nr)})),function(t,e,n){Gt(At`
416
+ `,dr),dr.querySelector(`#${sr}`)?.appendChild(vr.getElement()),vr.setContent(r.head||"")}(t,0,r),fr.setContent(dr);const o=dr.querySelector("form");return o.onsubmit=e=>{e.preventDefault(),t.trigger(cr.SETTINGS_SAVE_START,r),function(t,e,n=t.getModel()){const r=dr.querySelector("form"),o=new FormData(r),i=Array.from(o).reduce(((t,[e,n])=>(""!==n&&(t[e]=n),t)),{}),{name:s,...a}=i;n.set({settings:{...i,head:vr.getContent()},name:s}),t.getModel().set("changesCount",t.getDirtyCount()+1),yr(t)}(t,0,r),t.trigger(cr.SETTINGS_SAVE_END,r),t.stopCommand(hr)},o.querySelector("input")?.focus(),t.trigger(cr.SETTINGS_OPEN,r),fr},stop:()=>{fr.close(),t.trigger(cr.SETTINGS_CLOSE)}}),t.on("storage:start:store",(e=>{e.settings=t.getModel().get("settings"),e.name=t.getModel().get("name")})),t.on("storage:end:load",(e=>{const n=t.getModel();n.set("settings",e.settings||{}),n.set("name",e.name),yr(t)})),t.on("page",(e=>{t.Canvas.getFrameEl().addEventListener("load",(()=>{yr(t)}))})),vr=t.CodeManager.createViewer({readOnly:!1,codeName:"htmlmixed",lineNumbers:!0,lineWrapping:!0})}},{name:"@silexlabs/grapesjs-fonts",value:Se()},{name:"./new-page-dialog",value:(t,e)=>{t.Commands.add(nr,{run:(e,n,{page:r})=>{er=t.Modal.open({title:"New Page",content:"",attributes:{class:"new-page-dialog"}}).onceClose((()=>{t.stopCommand(nr)})),function(t,e,n){Gt(At`
417
417
  <form class="silex-form">
418
418
  <label class="silex-form__element">
419
419
  <h3>Name</h3>
@@ -176,7 +176,10 @@ function saveSettings(editor, config, model = editor.getModel()) {
176
176
  const formData = new FormData(form);
177
177
  const data = Array.from(formData)
178
178
  .reduce((aggregate, [key, value]) => {
179
- aggregate[key] = value;
179
+ // Keep only the values that are set
180
+ if (value !== '') {
181
+ aggregate[key] = value;
182
+ }
180
183
  return aggregate;
181
184
  }, {});
182
185
  // take the name out to the main model (by design in grapesjs pages)
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../../src/ts/client/grapesjs/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../../src/ts/client/grapesjs/settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@silexlabs/silex",
3
3
  "description": "Free and easy website builder for everyone.",
4
- "version": "3.0.0-alpha.139",
4
+ "version": "3.0.0-alpha.140",
5
5
  "version:backwardcompat": "3.0.0",
6
6
  "author": {
7
7
  "name": "Alex Hoyau",
@@ -190,7 +190,10 @@ function saveSettings(editor, config, model = editor.getModel()) {
190
190
  const formData = new FormData(form)
191
191
  const data = Array.from(formData as any)
192
192
  .reduce((aggregate, [key, value]) => {
193
- aggregate[key] = value
193
+ // Keep only the values that are set
194
+ if(value !== '') {
195
+ aggregate[key] = value
196
+ }
194
197
  return aggregate
195
198
  }, {}) as {[key: string]: any}
196
199
  // take the name out to the main model (by design in grapesjs pages)