@salla.sa/twilight-components
Version:
Salla Web Component
5 lines • 2.26 kB
JavaScript
/*!
* Crafted with ❤ by Salla
*/
import{r as a,h as t,H as s,g as r}from"./p-BrMYHkA5.js";const e="";const i=class{constructor(t){a(this,t);this.entity="product";this.specs=[];this.download=salla.lang.get("pages.thank_you.download");if(this.entityId){try{this.entityId=Array.isArray(this.entityId)?this.entityId:JSON.parse(this.entityId);return}catch(a){salla.log("Bad json passed via entityId prop")}}}getValue(a){if(a.type==="file"){return`<a href="${a.value}" class="text-primary" target="_blank"><span class="sicon-download"></span> ${this.download}</a>`}if(a.type==="url"){return`<a href="${a.value}" class="text-blue-700 underline" target="_blank">${a.value}</a>`}if(a.type==="date"){const t=new Date(a.value);const s=String(t.getDate()).padStart(2,"0");const r=String(t.getMonth()+1).padStart(2,"0");const e=t.getFullYear();const i=`${s}/${r}/${e}`;return i}return a.value}componentWillLoad(){return salla.onReady().then((()=>{var a;if(!((a=salla.config.get("store.features"))===null||a===void 0?void 0:a.includes("custom-fields"))){throw new Error("feature custom-fields is not activated")}})).then((()=>{if(!this.entityId&&salla.url.is_page("product.single")){this.entityId=salla.config.get("page.id")}if(!this.entityId){throw new Error("can't render salla-metadata without enity-id prop!")}salla.lang.onLoaded((()=>this.download=salla.lang.get("pages.thank_you.download")));const a=Array.isArray(this.entityId)?this.entityId:[this.entityId];const t=a.map((a=>`entities[]=${a}`)).join("&");const s=`https://api.salla.dev/store/v1/metadata/values?type=${this.entity}&${t}`;return salla.api.request(s).then((a=>{var t;return(t=a.data[0])===null||t===void 0?void 0:t.sections}))})).then((a=>this.specs=a)).catch((a=>salla.logger.error("Error loading more specs:",a)))}render(){if(!this.specs.length){return}return t(s,{class:"s-metadata-wrapper"},this.specs.map((a=>t("div",{class:"s-metadata-box"},t("div",{class:"s-metadata-box-header"},t("i",{class:"sicon-list"}),a.name),a.fields.map((a=>t("div",{class:"s-metadata-row"},t("p",{class:"s-metadata-row-name"},a.name),t("p",{class:"s-metadata-row-value",innerHTML:this.getValue(a)}))))))))}get host(){return r(this)}};i.style=e;export{i as salla_metadata};
//# sourceMappingURL=p-6a47e026.entry.js.map