-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
1 lines (1 loc) · 1.44 KB
/
index.js
File metadata and controls
1 lines (1 loc) · 1.44 KB
1
(function(){"use strict";const t="volkmann-design-code/kirby-layout-attributes";window[t]=window[t]??{},window[t].functions=window[t].functions??{},window[t].functions.isLayoutField=n=>Array.isArray(n)&&n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&"attrs"in o&&"columns"in o&&"id"in o&&typeof o.attrs=="object"&&Array.isArray(o.columns)),window[t].functions.addLayoutAttrs=n=>{const o=n.columns[0].id;let u=document.querySelector(`.k-layout:has(.k-layout-column[id="${o}"])`);if(!u)return;const i=Object.keys(n.attrs);for(const a of i){const s=n.attrs[a];u.setAttribute(`data-attr-${a}`,s),u.style.setProperty(`--attr-${a}`,s)}},window.panel.plugin("volkmann-design-code/kirby-layout-attributes",{created(n){const o="$store"in n;if("events"in window.panel){let i=function(s){for(const c in s){const e=s[c];if(window[t].functions.isLayoutField(e))for(const r of e)window[t].functions.addLayoutAttrs(r)}};const a=panel.content.version("latest");setTimeout(()=>{i(a)},500),window.panel.events.on("content.save",({values:s})=>{i(s)})}else o&&n.$store.subscribeAction({after:(i,a)=>{var s;if(i.type==="content/create"&&setTimeout(()=>{for(const c in i.payload.content){const e=i.payload.content[c];if(window[t].functions.isLayoutField(e))for(const r of e)window[t].functions.addLayoutAttrs(r)}},100),i.type==="content/update"){const c=(s=i.payload)==null?void 0:s[1];if(window[t].functions.isLayoutField(c))for(const e of c)window[t].functions.addLayoutAttrs(e)}}})}})})();