@sme.up/ketchup 11.0.0-SNAPSHOT-20241018133752 → 11.0.0-SNAPSHOT-20241021084132
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.
- package/dist/cjs/ketchup.cjs.js +1 -1
- package/dist/cjs/kup-cell.cjs.entry.js +48 -19
- package/dist/cjs/kup-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/kup-input-panel.cjs.entry.js +23 -14
- package/dist/cjs/kup-input-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/kup-cell/kup-cell-declarations.js +7 -0
- package/dist/collection/components/kup-cell/kup-cell-declarations.js.map +1 -1
- package/dist/collection/components/kup-cell/kup-cell.js +107 -18
- package/dist/collection/components/kup-cell/kup-cell.js.map +1 -1
- package/dist/collection/components/kup-input-panel/kup-input-panel.js +23 -14
- package/dist/collection/components/kup-input-panel/kup-input-panel.js.map +1 -1
- package/dist/collection/f-components/f-cell-options.tsx/f-cell-options.js +0 -1
- package/dist/collection/f-components/f-cell-options.tsx/f-cell-options.js.map +1 -1
- package/dist/components/kup-cell.js +51 -20
- package/dist/components/kup-cell.js.map +1 -1
- package/dist/components/kup-input-panel.js +23 -14
- package/dist/components/kup-input-panel.js.map +1 -1
- package/dist/esm/ketchup.js +1 -1
- package/dist/esm/kup-cell.entry.js +49 -20
- package/dist/esm/kup-cell.entry.js.map +1 -1
- package/dist/esm/kup-input-panel.entry.js +23 -14
- package/dist/esm/kup-input-panel.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/ketchup/ketchup.esm.js +1 -1
- package/dist/ketchup/ketchup.esm.js.map +1 -1
- package/dist/ketchup/p-3cf9525e.entry.js +2 -0
- package/dist/ketchup/p-3cf9525e.entry.js.map +1 -0
- package/dist/ketchup/p-3d0fe1a3.entry.js +2 -0
- package/dist/ketchup/p-3d0fe1a3.entry.js.map +1 -0
- package/dist/types/components/kup-cell/kup-cell-declarations.d.ts +11 -0
- package/dist/types/components/kup-cell/kup-cell.d.ts +11 -2
- package/dist/types/components.d.ts +34 -0
- package/package.json +1 -1
- package/dist/ketchup/p-8aa58b0f.entry.js +0 -2
- package/dist/ketchup/p-8aa58b0f.entry.js.map +0 -1
- package/dist/ketchup/p-f0f42ad4.entry.js +0 -2
- package/dist/ketchup/p-f0f42ad4.entry.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as e,f as i,h as n,H as s,d as o}from"./p-d7c15b0e.js";import{F as l}from"./p-cc32b7a2.js";import{F as a}from"./p-68f82cb0.js";import{k as r,a5 as u,F as c,g as h,s as p,h as f,al as d,ai as m,ak as b,aj as v,am as k,e as g}from"./p-a670a42e.js";import{F as y}from"./p-c4054aba.js";import{c as _}from"./p-635bb4b3.js";import"./p-e3062c19.js";import"./p-2b519589.js";import"./p-5d03c077.js";import"./p-06fe42ee.js";import"./p-0d2bf291.js";import"./p-029c7cbe.js";import"./p-d4a879fc.js";var x;(function(t){t["TAB"]="tab"})(x||(x={}));var w;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the input panel.";t["hiddenSubmitButton"]="Creates a hidden submit button in order to submit the form with enter.";t["submitCb"]="Sets the callback function on submit form";t["optionsHandler"]="Sets the callback function to recieve options"})(w||(w={}));const j=12;const O=22;const $=t=>{if(t==0){return j/2}if(!t){return null}if(t===1){return 1.5*j}return t*j};const z=t=>{if(!t){return null}return t*O};const S=t=>{if(!t){return null}return(t-1)*O};const M=t=>{if(!t){return null}return t*j};const T=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_input_panel_background_color:var(\n --kup-input-panel-background-color,\n var(--kup-layer-0)\n );--kup_input_panel_color:var(\n --kup-input-panel-color,\n var(--kup-text-secondary)\n );--kup_input_panel_font_family:var(\n --kup-input-panel-font-family,\n var(--kup-font-family)\n );--kup_input_panel_font_size:var(\n --kup-input-panel-font-size,\n var(--kup-font-size)\n );--kup_input_panel_label_alignment:var(--kup-input-panel-label-alignment);--kup_input_panel_label_width:var(--kup-input-panel-label-width);--kup_input_panel_padding:var(--kup-input-panel-padding, 1em 0)}:host .input-panel{background:var(--kup_input_panel_background_color);color:var(--kup_input_panel_color);display:flex;flex-grow:1;overflow:auto;padding:var(--kup_input_panel_padding);position:relative;gap:2rem}:host .input-panel--column{flex-direction:column}:host .input-panel__section_label_container{display:flex;flex-direction:column;gap:1rem}:host .input-panel__section{display:grid}:host .input-panel__section .f-cell__content>*{width:100%}:host .input-panel__horizontal-section{display:inline-grid}:host .input-panel .f-cell .f-checkbox .checkbox .checkbox__native-control{height:40px;width:40px}:host .input-panel__label_container{display:flex;flex-direction:column;justify-content:center}:host .input-panel__label_container>.f-cell{flex:1}:host .input-panel__tabs_container{display:flex;flex-direction:column;justify-content:center;gap:2rem}:host .input-panel .f-cell.number-cell .f-cell__content{--kup-textfield-font-family:var(--kup_cell_font_family);font-family:var(--kup_cell_font_family)}:host .input-panel .input-panel-label{display:flex;width:100%;height:100%;align-items:center;justify-content:center}:host .input-panel--absolute{height:87ch;justify-content:flex-end}:host .input-panel--absolute .input-panel-label{justify-content:start}:host .input-panel--absolute .mdc-text-field{height:unset !important}";const W=T;var D=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,n){if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?n:i==="a"?n.call(t):n?n.value:e.get(t)};var C=undefined&&undefined.__classPrivateFieldSet||function(t,e,i,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,i):s?s.value=i:e.set(t,i),i};var E=undefined&&undefined.__rest||function(t,e){var i={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0)i[n]=t[n];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++){if(e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s]))i[n[s]]=t[n[s]]}return i};var F,I,P,R,N,G,J,A,L,V,B,H,K,X,Y,q,Q,U,Z,tt,et,it,nt,st,ot,lt,at,rt,ut,ct,ht,pt,ft,dt,mt,bt,vt,kt,gt,yt,_t,xt,wt,jt,Ot,$t,zt,St,Mt,Tt;const Wt=document.documentElement;const Dt=class{constructor(i){t(this,i);this.kupReady=e(this,"kup-input-panel-ready",6);F.add(this);I.set(this,r());P.set(this,new Map([["SmeupTreeNode",D(this,F,"m",zt).bind(this)],["SmeupDataTree",D(this,F,"m",St).bind(this)],["SmeupTable",D(this,F,"m",Mt).bind(this)],["SmeupDataTable",D(this,F,"m",Mt).bind(this)]]));R.set(this,null);N.set(this,new Map([[u.AUTOCOMPLETE,["kup-autocomplete-input","kup-autocomplete-iconclick"]],[u.MULTI_AUTOCOMPLETE,["kup-autocomplete-input","kup-autocomplete-iconclick"]],[u.COMBOBOX,["kup-combobox-iconclick"]],[u.MULTI_COMBOBOX,["kup-combobox-iconclick"]]]));G.set(this,[]);J.set(this,new Map([[u.DATE,"kup-date-picker"],[u.TIME,"kup-time-picker"]]));A.set(this,new Map([[c.BUTTON_LIST,D(this,F,"m",K).bind(this)],[c.EDITOR,D(this,F,"m",X).bind(this)],[c.LABEL,D(this,F,"m",q).bind(this)],[c.TABLE,D(this,F,"m",Y).bind(this)]]));L.set(this,new Map([[x.TAB,D(this,F,"m",it).bind(this)]]));V.set(this,[]);this.customStyle="";this.data=null;this.hiddenSubmitButton=false;this.submitCb=null;this.optionsHandler=null;this.customButtonClickHandler=null;this.inputPanelCells=[];this.tabSelected=null}onDataChanged(){C(this,R,structuredClone(this.data),"f");if(D(this,G,"f").length){D(this,G,"f").map((({event:t,handler:e})=>{this.rootElement.removeEventListener(t,e)}));C(this,G,[],"f")}if(D(this,V,"f").length){D(this,V,"f").map((t=>{D(this,I,"f").keysBinding.unregister(t)}));C(this,V,[],"f")}D(this,F,"m",ot).call(this,this.data)}async getProps(t){return h(this,w,t)}async refresh(){i(this)}async setProps(t){p(this,w,t)}componentWillLoad(){D(this,I,"f").debug.logLoad(this,false);D(this,I,"f").language.register(this);D(this,I,"f").theme.register(this);this.onDataChanged()}componentDidLoad(){this.kupReady.emit({comp:this,id:this.rootElement.id});D(this,I,"f").debug.logLoad(this,true)}componentWillRender(){D(this,I,"f").debug.logRender(this,false)}componentDidRender(){const t=this.rootElement.shadowRoot;if(t){const e=t.querySelectorAll(".f-text-field");for(let t=0;t<e.length;t++){y(e[t])}}D(this,I,"f").debug.logRender(this,true)}render(){const t=Boolean(!this.inputPanelCells.length);const e=t?[n("p",null,D(this,I,"f").language.translate(f.EMPTY_DATA))]:this.inputPanelCells.map((t=>D(this,F,"m",B).call(this,t)));return n(s,{key:"e279ee4ddb7992e85ea2df227a0be95841266d86"},n("style",{key:"040a87394483713e00e075dec2569616c4615290"},D(this,I,"f").theme.setKupStyle(this.rootElement)),n("div",{key:"2a4a7b2df96c89e2bba82e838165f8235a2efd56",id:_},e))}disconnectedCallback(){D(this,I,"f").language.unregister(this);D(this,I,"f").theme.unregister(this)}get rootElement(){return o(this)}static get watchers(){return{data:["onDataChanged"]}}};I=new WeakMap,P=new WeakMap,R=new WeakMap,N=new WeakMap,G=new WeakMap,J=new WeakMap,A=new WeakMap,L=new WeakMap,V=new WeakMap,F=new WeakSet,B=function t(e){var i;const s=e.row.layout;const o=(s===null||s===void 0?void 0:s.horizontal)||false;let a;if(!((i=s===null||s===void 0?void 0:s.sections)===null||i===void 0?void 0:i.length)){a=e.cells.map((t=>D(this,F,"m",H).call(this,t.cell,e.row,t.column)))}else{a=s.absolute?D(this,F,"m",Z).call(this,e,s):D(this,F,"m",U).call(this,e,s)}const r={"input-panel":true,"input-panel--column":!o,"input-panel--absolute":s===null||s===void 0?void 0:s.absolute};return n("form",{class:r,name:this.rootElement.id,onSubmit:t=>{t.preventDefault();this.submitCb({value:{before:Object.assign({},D(this,R,"f")),after:D(this,F,"m",rt).call(this)}})}},a,!this.hiddenSubmitButton?n(l,{buttonType:"submit",label:D(this,I,"f").language.translate(f.CONFIRM),wrapperClass:"form__submit"}):null)},H=function t(e,i,s){if(!e){return}const o=D(this,A,"f").get(e.shape);if(o!==undefined){return o(e,s.name)}const l={cell:e,column:s,row:i,component:this,editable:true,renderKup:true,setSizes:true};const r=D(this,F,"m",Q).call(this,e,s.title);if(r){return n("div",{class:{"input-panel__label_container":true}},r,n(a,Object.assign({},l)))}return n(a,Object.assign({},l))},K=function t(e,i){return n(l,Object.assign({icon:e.icon,id:i},e.data,{wrapperClass:"form__submit"}))},X=function t(e,i){const s="kup-editor-save";const o=t=>{const e=this.inputPanelCells.reduce(((t,{cells:e})=>{if(!t){return e.find((({column:t})=>t.name===i)).cell}return t}),null);e.value=t.detail.htmlValue.replace(/\n/g,"<br>")};this.rootElement.addEventListener(s,o);D(this,G,"f").push({event:s,handler:o});return n("kup-editor",Object.assign({},e.data,{id:i,isReadOnly:!e.isEditable,showToolbar:true}))},Y=function t(e,i){return n("kup-data-table",Object.assign({id:i,editableData:true,showGroups:true,showFilters:true,showFooter:true},e.data))},q=function t(e,i){return n("span",{class:"input-panel-label",id:i},e.value)},Q=function t(e,i){if(!i){return null}const s=Wt.ketchup.data.cell.getType(e,e.shape);if(s===u.RADIO){return n("span",null,i)}return null},U=function t(e,i){const n=D(this,L,"f").get(i.sectionsType);return n?n(e,i.sections):i.sections.map((t=>D(this,F,"m",tt).call(this,e,t)))},Z=function t(e,i){return i.sections.map((t=>D(this,F,"m",et).call(this,e,t)))},tt=function t(e,i,s=false,o={}){var l,a;const r={"input-panel__section":!i.horizontal,"input-panel__horizontal-section":i.horizontal};o.gap=+i.gap>0?`${i.gap}rem`:"1rem";let u=[];if((l=i.sections)===null||l===void 0?void 0:l.length){u=i.sections.map((i=>D(this,F,"m",t).call(this,e,i)));const n=i.sections.some((t=>t.dim));if(!i.gridCols&&i.horizontal){o.gridTemplateColumns=n?i.sections.map((t=>t.dim||"auto")).join(" "):`repeat(${i.sections.length}, 1fr)`}if(!i.gridRows&&!i.horizontal){o.gridTemplateRows=n?i.sections.map((t=>t.dim||"auto")).join(" "):`repeat(${i.sections.length}, 1fr)`}}else if((a=i.content)===null||a===void 0?void 0:a.length){u=i.content.map((t=>D(this,F,"m",nt).call(this,e,t)));o.gridTemplateColumns=+i.gridCols>0?`repeat(${i.gridCols}, 1fr)`:"";o.gridTemplateRows=+i.gridRows>0?`repeat(${i.gridRows}, 1fr)`:""}const c=n("div",{class:r,style:o},u);return i.title&&!s?n("div",{class:{"input-panel__section_label_container":true}},n("h3",null,i.title),c):c},et=function t(e,i){var s,o;let l=[];if((s=i.sections)===null||s===void 0?void 0:s.length){l=i.sections.map((i=>D(this,F,"m",t).call(this,e,i)))}else if((o=i.content)===null||o===void 0?void 0:o.length){l=i.content.map((t=>D(this,F,"m",st).call(this,e,t)))}const a=`${$(i.absoluteWidth)}px`;const r=`${z(i.absoluteHeight)}px`;const u=`${S(i.absoluteRow)}px`;const c=`${M(i.absoluteColumn)}px`;const h={position:"absolute",width:a,"min-width":a,"max-width":a,height:r,"min-height":r,"max-height":r,top:u,left:c,overflow:"auto"};return n("div",{style:h},l)},it=function t(e,i){if(!this.tabSelected){this.tabSelected=i[0].id||"0"}const s=i.map(((t,e)=>({active:(t.id||`${e}`)===this.tabSelected,value:t.title,icon:t.icon,id:t.id||`${e}`})));const o=i.map(((t,i)=>{const n=t.id||`${i}`;return D(this,F,"m",tt).call(this,e,t,true,{display:this.tabSelected!==n?"none":"grid"})}));const l=".tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }";if(!D(this,G,"f").map((t=>t.event)).includes("kup-tabbar-click")){const t="kup-tabbar-click";const e=t=>{this.tabSelected=t.detail.node.id};this.rootElement.addEventListener(t,e);D(this,G,"f").push({event:t,handler:e})}return n("div",{class:{"input-panel__tabs_container":true}},n("kup-tab-bar",{data:s,customStyle:l}),o)},nt=function t(e,i){const s=e.cells.find((t=>t.column.name===i.id));const o=+i.colSpan>0?i.colSpan:!(+i.colSpan>0)&&!(+i.colStart>0)?1:null;const l=o?`span ${o}`:`${i.colStart}`;const a=+i.colEnd>0?`${i.colEnd}`:"";const r=+i.rowSpan>0?i.rowSpan:!(+i.rowSpan>0)&&!(+i.rowStart>0)?1:null;const u=r?`span ${r}`:`${i.rowStart}`;const c=+i.rowEnd>0?`${i.rowEnd}`:"";const h={"grid-column-start":l,"grid-column-end":a,"grid-row-start":u,"grid-row-end":c};if(!s||!s.cell){return}return n("div",{style:h},D(this,F,"m",H).call(this,s.cell,e.row,s.column))},st=function t(e,i){const s=e.cells.find((t=>t.column.name===i.id));if(!s||!s.cell){return}let o;if(s.cell.shape==c.DATE){o=i.absoluteLength>8?i.absoluteLength:8}else{o=i.absoluteLength}const l=`${$(o)}px`;const a=`${z(1)}px`;const r=`${S(i.absoluteRow)}px`;const u=`${M(i.absoluteColumn)}px`;const h={position:"absolute",width:l,"min-width":l,"max-width":l,height:a,"min-height":a,"max-height":a,top:r,left:u,overflow:"auto"};s.cell.data=Object.assign(Object.assign({},s.cell.data),{customStyle:(s.cell.data.customStyle||"")+".mdc-text-field {height: unset !important;}"});return n("div",{style:h},D(this,F,"m",H).call(this,s.cell,e.row,s.column))},ot=function t(e){var i;const n=((i=e===null||e===void 0?void 0:e.rows)===null||i===void 0?void 0:i.length)?e.rows.reduce(((t,i)=>{const n=e.columns.filter((t=>t.visible)).map((t=>{const e=structuredClone(i.cells[t.name]);const n=e?Object.assign(Object.assign({},e),{data:D(this,F,"m",lt).call(this,e,t),slotData:D(this,F,"m",ct).call(this,e,t),isEditable:true}):null;return{column:t,cell:n}}));return[...t,{cells:n,row:i}]}),[]):[];n.map((({cells:t})=>t.map((({cell:t,column:e})=>{const i=Wt.ketchup.data.cell.getType(t,t.shape);const n=D(this,J,"f").get(i);if(!n){return}const s=this.rootElement.shadowRoot.querySelector(`${n}[id=${e.name}]`);s===null||s===void 0?void 0:s.setValue(t.value)}))));this.inputPanelCells=n},lt=function t(e,i){const n=Object.assign(Object.assign({},D(this,F,"m",ut).call(this,e,i)),{disabled:!e.editable,id:i.name});const s=Wt.ketchup.data.cell.getType(e,e.shape);const o=e.data||{},l=E(o,["data"]);return s!==u.MULTI_AUTOCOMPLETE&&s!==u.MULTI_COMBOBOX?D(this,F,"m",at).call(this,n,Object.assign({},e.data)):Object.assign(Object.assign({},n),l)},at=function t(e,i){for(const n in i){if(i[n]instanceof Object&&!Array.isArray(i[n])&&n in e){e[n]=D(this,F,"m",t).call(this,e[n],i[n])}else{e[n]=i[n]}}return e},rt=function t(){return this.inputPanelCells.reduce(((t,e)=>{const i=Object.keys(e.row.cells).reduce(((t,i)=>{var n;const s=(n=e.cells.find((t=>t.column.name===i)))===null||n===void 0?void 0:n.cell;let o=s===null||s===void 0?void 0:s.value;if((s===null||s===void 0?void 0:s.shape)===c.TABLE){o=JSON.stringify(D(this,F,"m",Ot).call(this,s.data.data,i))}return Object.assign(Object.assign({},t),{[i]:Object.assign(Object.assign({},e.row.cells[i]),{value:o,obj:s===null||s===void 0?void 0:s.obj})})}),{});return{columns:[...t.columns,...e.cells.map((t=>t.column))],rows:[...t.rows,{cells:i,layout:e.row.layout}]}}),{columns:[],rows:[]})},ut=function t(e,i){if(!e){return null}const n=e.options;const s=i.title;const o=e.value;const l=Wt.ketchup.data.cell.getType(e,e.shape);const a=new Map([[u.AUTOCOMPLETE,D(this,F,"m",dt).bind(this)],[u.BUTTON_LIST,D(this,F,"m",ft).bind(this)],[u.CHART,D(this,F,"m",pt).bind(this)],[u.CHIP,D(this,F,"m",ht).bind(this)],[u.CHECKBOX,D(this,F,"m",mt).bind(this)],[u.COLOR_PICKER,D(this,F,"m",bt).bind(this)],[u.COMBOBOX,D(this,F,"m",dt).bind(this)],[u.EDITOR,D(this,F,"m",vt).bind(this)],[u.MULTI_AUTOCOMPLETE,D(this,F,"m",ht).bind(this)],[u.MULTI_COMBOBOX,D(this,F,"m",ht).bind(this)],[u.NUMBER,D(this,F,"m",wt).bind(this)],[u.DATE,D(this,F,"m",_t).bind(this)],[u.RADIO,D(this,F,"m",gt).bind(this)],[u.STRING,D(this,F,"m",kt).bind(this)],[u.SWITCH,D(this,F,"m",yt).bind(this)],[u.TABLE,D(this,F,"m",jt).bind(this)],[u.TIME,D(this,F,"m",xt).bind(this)]]);const r=a.get(l);return r?r(n,s,o,e,i.name):null},ct=function t(e,i){const n=Wt.ketchup.data.cell.getType(e,e.shape);if(!e.editable){return null}if(n===u.CHIP){return{trailingIcon:true,label:i.title,disabled:!e.editable,id:i.name,fullWidth:false}}if(n===u.MULTI_AUTOCOMPLETE||n===u.MULTI_COMBOBOX){return Object.assign(Object.assign({},D(this,F,"m",dt).call(this,e.options,i.title,null,e,i.name)),{showDropDownIcon:true,class:"",style:{width:"100%"},disabled:!e.editable,id:i.name})}return null},ht=function t(e,i,n){return d(n)},pt=function t(){return{data:{sizeX:"50px",offlineMode:{value:"8;4;5"},id:"i1012_GREF_0",cellId:"i1012_GREF_0",sizeY:"50px"}}},ft=function t(e,i,n,s,o){var l,a,r,u;s.data=s.data||{};s.data.onClick=()=>{s.fun?this.customButtonClickHandler({fun:s.fun,cellId:o,currentState:D(this,F,"m",rt).call(this)}):this.submitCb({value:{before:Object.assign({},D(this,R,"f")),after:D(this,F,"m",rt).call(this)},cell:o})};if(((l=s.data)===null||l===void 0?void 0:l.keyShortcut)&&!((a=s.data)===null||a===void 0?void 0:a.disabled)){D(this,V,"f").push((r=s.data)===null||r===void 0?void 0:r.keyShortcut);D(this,I,"f").keysBinding.register((u=s.data)===null||u===void 0?void 0:u.keyShortcut,s.data.onClick.bind(this))}return Object.assign({label:s.value,fun:s.fun},s.data)},dt=function t(e,i,n,s,o){const l=m(n,i,[]);if(s.fun){const t=Wt.ketchup.data.cell.getType(s,s.shape);const e=D(this,N,"f").get(t);if(!e){return}e.map((t=>{const e=t=>{D(this,F,"m",Tt).call(this,t.detail,s.fun,l,o,n)};this.rootElement.addEventListener(t,e);D(this,G,"f").push({event:t,handler:e})}))}else if(e){l.data["kup-list"].data=D(this,F,"m",$t).call(this,e,n)}return l},mt=function t(e,i,n){return b(n,i)},bt=function t(e,i,n){return{data:{"kup-text-field":{label:i}}}},vt=function t(e,i,n){return{initialValue:n}},kt=function t(e,i,n){return{label:i}},gt=function t(e,i,n){return v(n,e)},yt=function t(e,i,n){return k(n,i)},_t=function t(e,i,n){return{data:{"kup-text-field":{label:i}},initialValue:n}},xt=function t(e,i,n){return{data:{"kup-text-field":{label:i}}}},wt=function t(e,i,n){return{label:i}},jt=function t(e,i,n,s,o){try{let t=JSON.parse(s.value);if(!t){D(this,I,"f").debug.logMessage(this,`Empty value for ${o} cell.`,g.WARNING);return null}if(t.type!=="SmeupDataTable"){D(this,I,"f").debug.logMessage(this,`Wrong data table type for ${o} cell. Type \`SmeupDataTable\` in value expected`,g.ERROR);return null}return{data:{columns:t.columns.map((e=>Object.assign(Object.assign({},e),{obj:t.rows[0].cells[e.name].obj}))),rows:t.rows.map((e=>Object.assign(Object.assign({},e),{cells:Object.keys(e.cells).reduce(((i,n)=>{const s=t.columns.find((t=>t.name===n));return Object.assign(Object.assign({},i),{[n]:Object.assign(Object.assign({},e.cells[n]),{data:Object.assign(Object.assign({},D(this,F,"m",ut).call(this,e.cells[n],s)),{disabled:e.cells[n].editable===false,id:s.id})})})}),{})})))}}}catch(t){D(this,I,"f").debug.logMessage(this,`Invalid value for ${o} cell. Type \`SmeupDataTable\` expected`,g.ERROR);return null}},Ot=function t(e,i){const n=Object.assign(Object.assign({},e),{rows:e.rows.map((t=>Object.assign(Object.assign({},t),{cells:{}})))});const s=e.columns.filter((t=>t.isEditable)).map((t=>t.name));if(!s.length){return n}try{const t=JSON.parse(D(this,R,"f").rows[0].cells[i].value);n.rows=e.rows.map(((e,i)=>s.reduce(((n,s)=>{const o=t.rows[i].cells[s]&&e.cells[s].value!==t.rows[i].cells[s].value;if(o){return Object.assign(Object.assign({},t.rows[i]),{cells:Object.assign(Object.assign({},n.cells),{[s]:Object.assign(Object.assign({},t.rows[i].cells[s]),{value:e.cells[s].value})})})}return Object.assign(Object.assign({},t.rows[i]),{cells:n.cells})}),Object.assign(Object.assign({},t.rows[i]),{cells:{}}))));return n}catch(t){return n}},$t=function t(e,i){const n=D(this,P,"f").get(e.type);if(n){return n(e,i)}else{return e.map((t=>({value:t.label,id:t.id,selected:i===t.id})))}},zt=function t(e,i){return e.children.map((e=>{var n;return{id:e.content.codice,value:e.content.testo,selected:i===e.content.codice,children:((n=e.children)===null||n===void 0?void 0:n.length)?D(this,F,"m",t).call(this,e,i):[]}}))},St=function t(e,i){return e.children.map((e=>{var n;return{id:e.obj.k,value:e.value,selected:i===e.obj.k,children:((n=e.children)===null||n===void 0?void 0:n.length)?D(this,F,"m",t).call(this,e,i):[]}}))},Mt=function t(e,i){return e.rows.map((t=>{var e;const n=t.fields||t.cells;const[s,o]=Object.keys(n);return{id:n[s].value,value:((e=n[o])===null||e===void 0?void 0:e.value)||n[s].value,selected:i===n[s].value}}))},Tt=function t(e,i,n,s,o){if(e.id!==s||e.open===false){return}this.optionsHandler(i,e.inputValue,D(this,F,"m",rt).call(this),e.id).then((t=>{var i;n.data["kup-list"].data=(i=D(this,F,"m",$t).call(this,t,o))!==null&&i!==void 0?i:[];e.comp.refresh()}))};Dt.style=W;export{Dt as kup_input_panel};
|
|
2
|
+
//# sourceMappingURL=p-3cf9525e.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["KupInputPanelLayoutSectionType","KupInputPanelProps","CHAR_WIDTH","ROW_HEIGHT","getAbsoluteWidth","length","getAbsoluteHeight","height","getAbsoluteTop","row","getAbsoluteLeft","col","kupInputPanelCss","KupInputPanelStyle0","dom","document","documentElement","KupInputPanel","_KupInputPanel_kupManager","set","this","kupManagerInstance","_KupInputPanel_optionsAdapterMap","Map","__classPrivateFieldGet","_KupInputPanel_instances","_KupInputPanel_treeOptionsNodeAdapter","bind","_KupInputPanel_dataTreeOptionsChildrenAdapter","_KupInputPanel_tableOptionsAdapter","_KupInputPanel_originalData","_KupInputPanel_eventNames","FCellTypes","AUTOCOMPLETE","MULTI_AUTOCOMPLETE","COMBOBOX","MULTI_COMBOBOX","_KupInputPanel_listeners","_KupInputPanel_cellTypeComponents","DATE","TIME","_KupInputPanel_cellCustomRender","FCellShapes","BUTTON_LIST","_KupInputPanel_renderButton","EDITOR","_KupInputPanel_renderEditor","LABEL","_KupInputPanel_renderLabel","TABLE","_KupInputPanel_renderDataTable","_KupInputPanel_sectionRenderMap","TAB","_KupInputPanel_renderSectionTab","_KupInputPanel_keysShortcut","onDataChanged","__classPrivateFieldSet","structuredClone","data","map","event","handler","rootElement","removeEventListener","key","keysBinding","unregister","_KupInputPanel_mapCells","call","getProps","descriptions","refresh","forceUpdate","setProps","props","componentWillLoad","debug","logLoad","language","register","theme","componentDidLoad","kupReady","emit","comp","id","componentWillRender","logRender","componentDidRender","root","shadowRoot","fs","querySelectorAll","index","FTextFieldMDC","render","isEmptyData","Boolean","inputPanelCells","inputPanelContent","h","translate","KupLanguageGeneric","EMPTY_DATA","inputPanelCell","_KupInputPanel_renderRow","Host","setKupStyle","componentWrapperId","disconnectedCallback","layout","horizontal","rowContent","_a","sections","cells","cell","_KupInputPanel_renderCell","column","absolute","_KupInputPanel_renderAbsoluteLayout","_KupInputPanel_renderGridLayout","classObj","class","name","onSubmit","e","preventDefault","submitCb","value","before","Object","assign","after","_KupInputPanel_reverseMapCells","hiddenSubmitButton","FButton","buttonType","label","CONFIRM","wrapperClass","customRender","get","shape","undefined","cellProps","component","editable","renderKup","setSizes","_KupInputPanel_getLabelComponent","title","FCell","cellId","icon","edtCell","reduce","find","detail","htmlValue","replace","addEventListener","push","isReadOnly","isEditable","showToolbar","editableData","showGroups","showFilters","showFooter","cellType","ketchup","getType","RADIO","sectionRender","sectionsType","section","_KupInputPanel_renderSection","_KupInputPanel_renderAbsoluteSection","customLabelRender","styleObj","gap","content","innerSection","hasDim","some","sec","dim","gridCols","gridTemplateColumns","join","gridRows","gridTemplateRows","_b","field","_KupInputPanel_renderField","sectionContent","style","_KupInputPanel_renderAbsoluteField","width","absoluteWidth","absoluteHeight","top","absoluteRow","left","absoluteColumn","sectionStyle","position","overflow","tabSelected","tabNodes","i","active","sectionId","display","tabCustomStyle","l","includes","node","customStyle","fieldCell","colSpan","colStart","colEnd","rowSpan","rowStart","rowEnd","absoluteLength","inpuPanelCells","rows","columns","filter","visible","mappedCell","_KupInputPanel_setProps","slotData","_KupInputPanel_slotData","componentQuery","el","querySelector","setValue","defaultProps","_KupInputPanel_mapData","disabled","noDataProps","__rest","_KupInputPanel_deepObjectsMerge","target","source","Array","isArray","curr","updatedCells","keys","cellState","c","JSON","stringify","_KupInputPanel_getTableUpdatedCell","obj","options","fieldLabel","currentValue","dataAdapterMap","_KupInputPanel_CMBandACPAdapter","_KupInputPanel_BTNAdapter","CHART","_KupInputPanel_GRAAdapter","CHIP","_KupInputPanel_CHIAdapter","CHECKBOX","_KupInputPanel_CHKAdapter","COLOR_PICKER","_KupInputPanel_CLPAdapter","_KupInputPanel_EDTAdapter","NUMBER","_KupInputPanel_NumberAdapter","_KupInputPanel_DateAdapter","_KupInputPanel_RADAdapter","STRING","_KupInputPanel_ITXAdapter","SWITCH","_KupInputPanel_SWTAdapter","_KupInputPanel_DataTableAdapter","_KupInputPanel_TimeAdapter","adapter","trailingIcon","fullWidth","showDropDownIcon","_options","_fieldLabel","CHIAdapter","sizeX","offlineMode","sizeY","_currentValue","onClick","fun","customButtonClickHandler","currentState","keyShortcut","_c","_d","rawOptions","configCMandACP","CMBandACPAdapter","evNames","evName","_KupInputPanel_getAutocompleteEventCallback","_KupInputPanel_optionsTreeComboAdapter","CHKAdapter","initialValue","RADAdapter","SWTAdapter","_rawOptions","_value","parse","logMessage","KupDebugCategory","WARNING","type","ERROR","tableValue","updated","editableColsId","beforeTableValue","updatedRow","colId","changed","option","selected","children","child","codice","testo","k","fields","open","optionsHandler","inputValue","then"],"sources":["src/components/kup-input-panel/kup-input-panel-declarations.ts","src/components/kup-input-panel/kup-input-panel-utils.ts","src/components/kup-input-panel/kup-input-panel.scss?tag=kup-input-panel&encapsulation=shadow","src/components/kup-input-panel/kup-input-panel.tsx"],"sourcesContent":["import { GenericObject } from '../../components';\nimport {\n KupDataCell,\n KupDataColumn,\n} from '../../managers/kup-data/kup-data-declarations';\n\nexport interface KupInputPanelSubmit {\n value: KupInputPanelSubmitValue;\n cell?: string;\n}\nexport interface KupInputPanelSubmitValue {\n after: KupInputPanelData;\n before: KupInputPanelData;\n}\n\nexport interface KupInputPanelData {\n columns?: KupDataColumn[];\n rows?: KupInputPanelRow[];\n actions?: KupInputPanelAction[];\n}\n\nexport interface KupInputPanelAction {\n type?: string;\n fun?: string;\n}\n\nexport interface KupInputPanelColumn {\n name: string;\n title: string;\n visible?: boolean;\n}\n\nexport interface KupInputPanelRow {\n cells?: KupInputPanelRowCells;\n layout?: KupInputPanelLayout;\n}\n\nexport interface KupInputPanelRowCells {\n [key: string]: KupInputPanelCell;\n}\n\nexport interface KupInputPanelCell extends KupDataCell {\n options?: GenericObject | GenericObject[];\n editable?: boolean;\n mandatory?: boolean;\n fun?: string;\n}\n\nexport interface KupInputPanelCellOptions {\n id: string;\n label: string;\n}\n\nexport interface KupInputPanelLayout {\n horizontal?: boolean;\n absolute?: boolean;\n sections?: KupInputPanelLayoutSection[];\n sectionsType?: KupInputPanelLayoutSectionType;\n}\n\nexport enum KupInputPanelLayoutSectionType {\n TAB = 'tab',\n}\n\nexport interface KupInputPanelLayoutSection {\n id?: string;\n title?: string;\n icon?: string;\n content?: KupInputPanelLayoutField[];\n sections?: KupInputPanelLayoutSection[];\n dim?: string;\n horizontal?: boolean;\n gridCols?: number;\n gridRows?: number;\n // Gap is in rem\n gap?: number;\n sectionsType?: KupInputPanelLayoutSectionType;\n // absolute Attributes\n absoluteColumn?: number;\n absoluteWidth?: number;\n absoluteRow?: number;\n absoluteHeight?: number;\n}\n\nexport interface KupInputPanelLayoutField {\n id: string;\n // Span is referred to start\n colSpan?: number;\n colStart?: number;\n colEnd?: number;\n // Span is referred to start\n rowSpan?: number;\n rowStart?: number;\n rowEnd?: number;\n // absolute Attributes\n absoluteColumn?: number;\n absoluteRow?: number;\n absoluteLength?: number;\n}\n\nexport type DataAdapterFn = (\n options: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell?: KupInputPanelCell,\n id?: string\n) => Object;\n\nexport type InputPanelCells = {\n cells: { cell: KupDataCell; column: KupDataColumn }[];\n row?: KupInputPanelRow;\n};\n\nexport type InputPanelEvent = {\n state: { cell: KupDataCell; column: KupDataColumn }[];\n data: {\n field: string;\n value: number | string | object;\n };\n};\n\nexport type InputPanelOptionsHandler = (\n fun: string,\n inputValue: string,\n currentState: KupInputPanelData,\n cellId: string\n) => Promise<GenericObject>;\n\nexport type InputPanelButtonClickHandler = (event: {\n fun: string;\n cellId: string;\n currentState: KupInputPanelData;\n}) => void;\n\nexport enum KupInputPanelProps {\n customStyle = 'Custom style of the component.',\n data = 'Actual data of the input panel.',\n hiddenSubmitButton = 'Creates a hidden submit button in order to submit the form with enter.',\n submitCb = 'Sets the callback function on submit form',\n optionsHandler = 'Sets the callback function to recieve options',\n}\n","const CHAR_WIDTH = 12;\nconst ROW_HEIGHT = 22;\n\nexport const getAbsoluteWidth = (length: number) => {\n if (length == 0) {\n return CHAR_WIDTH / 2;\n }\n\n if (!length) {\n return null;\n }\n\n if (length === 1) {\n return 1.5 * CHAR_WIDTH;\n }\n\n return length * CHAR_WIDTH;\n};\n\nexport const getAbsoluteHeight = (height: number) => {\n if (!height) {\n return null;\n }\n\n return height * ROW_HEIGHT;\n};\n\nexport const getAbsoluteTop = (row: number) => {\n if (!row) {\n return null;\n }\n\n return (row - 1) * ROW_HEIGHT;\n};\n\nexport const getAbsoluteLeft = (col: number) => {\n if (!col) {\n return null;\n }\n\n return col * CHAR_WIDTH;\n};\n","/**\n* @prop --kup-input-panel-background-color: Sets background of the component.\n* @prop --kup-input-panel-color: Sets text color of the component.\n* @prop --kup-input-panel-font-family: Sets font family of the component.\n* @prop --kup-input-panel-font-size: Sets font size of the component.\n* @prop --kup-input-panel-label-alignment: Sets the text alignment of labels.\n* @prop --kup-input-panel-label-width: Sets the width of labels.\n* @prop --kup-input-panel-padding: Sets the padding of the input panel.\n*/\n\n:host {\n --kup_input_panel_background_color: var(\n --kup-input-panel-background-color,\n var(--kup-layer-0)\n );\n --kup_input_panel_color: var(\n --kup-input-panel-color,\n var(--kup-text-secondary)\n );\n --kup_input_panel_font_family: var(\n --kup-input-panel-font-family,\n var(--kup-font-family)\n );\n --kup_input_panel_font_size: var(\n --kup-input-panel-font-size,\n var(--kup-font-size)\n );\n --kup_input_panel_label_alignment: var(--kup-input-panel-label-alignment);\n --kup_input_panel_label_width: var(--kup-input-panel-label-width);\n --kup_input_panel_padding: var(--kup-input-panel-padding, 1em 0);\n\n .input-panel {\n background: var(--kup_input_panel_background_color);\n color: var(--kup_input_panel_color);\n display: flex;\n flex-grow: 1;\n overflow: auto;\n padding: var(--kup_input_panel_padding);\n position: relative;\n gap: 2rem;\n\n &--column {\n flex-direction: column;\n }\n\n &__section_label_container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n\n &__section {\n display: grid;\n\n .f-cell__content {\n > * {\n width: 100%;\n }\n }\n }\n\n &__horizontal-section {\n display: inline-grid;\n }\n\n .f-cell .f-checkbox .checkbox .checkbox__native-control {\n height: 40px;\n width: 40px;\n }\n\n &__label_container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n > .f-cell {\n flex: 1;\n }\n }\n\n &__tabs_container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 2rem;\n }\n\n .f-cell.number-cell {\n .f-cell__content {\n --kup-textfield-font-family: var(--kup_cell_font_family);\n\n font-family: var(--kup_cell_font_family);\n }\n }\n\n .input-panel-label {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n }\n\n &--absolute {\n height: 87ch;\n justify-content: flex-end;\n\n .input-panel-label {\n justify-content: start;\n }\n\n .mdc-text-field {\n height: unset !important;\n }\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n VNode,\n Watch,\n forceUpdate,\n h,\n} from '@stencil/core';\nimport {\n KupAutocompleteEventPayload,\n KupComboboxIconClickEventPayload,\n KupDataCell,\n KupDataTableDataset,\n KupDataTableRow,\n KupEditorEventPayload,\n KupTabBarEventPayload,\n KupTabBarNode,\n} from '../../components';\nimport { FButton } from '../../f-components/f-button/f-button';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellEventPayload,\n FCellEvents,\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport { FTextFieldMDC } from '../../f-components/f-text-field/f-text-field-mdc';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport {\n GenericObject,\n KupComponent,\n KupEventPayload,\n} from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n DataAdapterFn,\n InputPanelButtonClickHandler,\n InputPanelCells,\n InputPanelOptionsHandler,\n KupInputPanelCell,\n KupInputPanelColumn,\n KupInputPanelData,\n KupInputPanelLayout,\n KupInputPanelLayoutField,\n KupInputPanelLayoutSection,\n KupInputPanelLayoutSectionType,\n KupInputPanelProps,\n KupInputPanelRow,\n KupInputPanelSubmit,\n} from './kup-input-panel-declarations';\nimport { KupDebugCategory } from '../../managers/kup-debug/kup-debug-declarations';\nimport {\n getAbsoluteHeight,\n getAbsoluteLeft,\n getAbsoluteTop,\n getAbsoluteWidth,\n} from './kup-input-panel-utils';\nimport {\n CHIAdapter,\n CHKAdapter,\n CMBandACPAdapter,\n RADAdapter,\n SWTAdapter,\n} from '../../utils/cell-utils';\n\nconst dom: KupDom = document.documentElement as KupDom;\n@Component({\n tag: 'kup-input-panel',\n styleUrl: 'kup-input-panel.scss',\n shadow: true,\n})\nexport class KupInputPanel {\n /**\n * References the root HTML element of the component (<kup-form>).\n */\n @Element() rootElement: HTMLElement;\n\n //#region PROPS\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n\n /**\n * Actual data of the form.\n * @default null\n */\n @Prop() data: KupInputPanelData = null;\n\n /**\n * Creates a hidden submit button in order to submit the form with enter.\n * @default false\n */\n @Prop() hiddenSubmitButton: boolean = false;\n\n /**\n * Sets the callback function on submit form\n * @default null\n */\n @Prop() submitCb: (e: KupInputPanelSubmit) => unknown = null;\n\n /**\n * Sets the callback function on loading options via FUN\n * @default null\n */\n @Prop() optionsHandler: InputPanelOptionsHandler = null;\n\n /**\n * Sets the handler to use when click on custom buttons\n * @default null\n */\n @Prop() customButtonClickHandler?: InputPanelButtonClickHandler = null;\n //#endregion\n\n //#region STATES\n /*-------------------------------------------------*/\n /* S t a t e s */\n /*-------------------------------------------------*/\n\n /**\n * Values to send as props to FCell\n * @default []\n */\n @State() private inputPanelCells: InputPanelCells[] = [];\n\n /**\n * Id of selected tab if exists\n * @default null\n */\n @State() private tabSelected: string = null;\n //#endregion\n\n //#region VARIABLES\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n #kupManager: KupManager = kupManagerInstance();\n\n #optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n >([\n ['SmeupTreeNode', this.#treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', this.#dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', this.#tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', this.#tableOptionsAdapter.bind(this)],\n ]);\n\n #originalData: KupInputPanelData = null;\n\n #eventNames = new Map<FCellTypes, string[]>([\n [\n FCellTypes.AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [\n FCellTypes.MULTI_AUTOCOMPLETE,\n ['kup-autocomplete-input', 'kup-autocomplete-iconclick'],\n ],\n [FCellTypes.COMBOBOX, ['kup-combobox-iconclick']],\n [FCellTypes.MULTI_COMBOBOX, ['kup-combobox-iconclick']],\n ]);\n #listeners: { event: string; handler: (e) => void }[] = [];\n #cellTypeComponents: Map<FCellTypes, string> = new Map<FCellTypes, string>([\n [FCellTypes.DATE, 'kup-date-picker'],\n [FCellTypes.TIME, 'kup-time-picker'],\n ]);\n #cellCustomRender: Map<\n FCellShapes,\n (cell: KupDataCell, cellId: string) => any\n > = new Map<FCellShapes, (cell: KupDataCell, cellId: string) => any>([\n [FCellShapes.BUTTON_LIST, this.#renderButton.bind(this)],\n [FCellShapes.EDITOR, this.#renderEditor.bind(this)],\n [FCellShapes.LABEL, this.#renderLabel.bind(this)],\n [FCellShapes.TABLE, this.#renderDataTable.bind(this)],\n ]);\n #sectionRenderMap: Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n > = new Map<\n KupInputPanelLayoutSectionType,\n (cells: InputPanelCells, sections: KupInputPanelLayoutSection[]) => any\n >([\n [KupInputPanelLayoutSectionType.TAB, this.#renderSectionTab.bind(this)],\n ]);\n #keysShortcut: string[] = [];\n //#endregion\n\n //#region WATCHERS\n /*-------------------------------------------------*/\n /* W a t c h e r s */\n /*-------------------------------------------------*/\n\n @Watch('data')\n onDataChanged() {\n this.#originalData = structuredClone(this.data);\n if (this.#listeners.length) {\n this.#listeners.map(({ event, handler }) => {\n this.rootElement.removeEventListener(event, handler);\n });\n this.#listeners = [];\n }\n\n if (this.#keysShortcut.length) {\n this.#keysShortcut.map((key) => {\n this.#kupManager.keysBinding.unregister(key);\n });\n this.#keysShortcut = [];\n }\n\n this.#mapCells(this.data);\n }\n //#endregion\n\n //#region PUBLIC METHODS\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupInputPanelProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupInputPanelProps, props);\n }\n //#endregion\n\n //#region EVENTS\n /*-------------------------------------------------*/\n /* Events */\n /*-------------------------------------------------*/\n\n /**\n * When component load is complete\n */\n @Event({\n eventName: 'kup-input-panel-ready',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupReady: EventEmitter<KupEventPayload>;\n //#endregion\n\n //#region PRIVATE METHODS\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n #renderRow(inputPanelCell: InputPanelCells) {\n const layout = inputPanelCell.row.layout;\n\n const horizontal = layout?.horizontal || false;\n\n let rowContent: VNode[];\n\n if (!layout?.sections?.length) {\n rowContent = inputPanelCell.cells.map((cell) =>\n this.#renderCell(cell.cell, inputPanelCell.row, cell.column)\n );\n } else {\n rowContent = layout.absolute\n ? this.#renderAbsoluteLayout(inputPanelCell, layout)\n : this.#renderGridLayout(inputPanelCell, layout);\n }\n\n const classObj = {\n 'input-panel': true,\n 'input-panel--column': !horizontal,\n 'input-panel--absolute': layout?.absolute,\n };\n\n // We create a form for each row in data\n return (\n <form\n class={classObj}\n name={this.rootElement.id}\n onSubmit={(e: SubmitEvent) => {\n e.preventDefault();\n this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n });\n }}\n >\n {rowContent}\n {!this.hiddenSubmitButton ? (\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n ></FButton>\n ) : null}\n </form>\n );\n }\n\n #renderCell(\n cell: KupDataCell,\n row: KupInputPanelRow,\n column: KupInputPanelColumn\n ) {\n if (!cell) {\n return;\n }\n\n const customRender = this.#cellCustomRender.get(cell.shape);\n\n if (customRender !== undefined) {\n return customRender(cell, column.name);\n }\n\n const cellProps: FCellProps = {\n cell,\n column,\n row,\n component: this,\n editable: true,\n renderKup: true,\n setSizes: true,\n };\n\n const label = this.#getLabelComponent(cell, column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...cellProps} />\n </div>\n );\n }\n\n return <FCell {...cellProps} />;\n }\n\n #renderButton(cell: KupDataCell, cellId: string) {\n return (\n <FButton\n icon={cell.icon}\n id={cellId}\n {...cell.data}\n wrapperClass=\"form__submit\"\n ></FButton>\n );\n }\n\n #renderEditor(cell: KupDataCell, cellId: string) {\n const event = 'kup-editor-save';\n const handler = (e: CustomEvent<KupEditorEventPayload>) => {\n const edtCell: KupDataCell =\n this.inputPanelCells.reduce<KupDataCell>((cell, { cells }) => {\n if (!cell) {\n return cells.find(\n ({ column }) => column.name === cellId\n ).cell;\n }\n return cell;\n }, null);\n edtCell.value = e.detail.htmlValue.replace(/\\n/g, '<br>');\n };\n\n this.rootElement.addEventListener(event, handler);\n\n this.#listeners.push({\n event,\n handler,\n });\n\n return (\n <kup-editor\n {...cell.data}\n id={cellId}\n isReadOnly={!cell.isEditable}\n showToolbar={true}\n ></kup-editor>\n );\n }\n\n #renderDataTable(cell: KupDataCell, cellId: string) {\n return (\n <kup-data-table\n id={cellId}\n editableData={true}\n showGroups={true}\n showFilters={true}\n showFooter={true}\n {...cell.data}\n ></kup-data-table>\n );\n }\n\n #renderLabel(cell: KupDataCell, cellId: string) {\n return (\n <span class=\"input-panel-label\" id={cellId}>\n {cell.value}\n </span>\n );\n }\n\n #getLabelComponent(cell: KupDataCell, label: string) {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n }\n\n #renderGridLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n const sectionRender = this.#sectionRenderMap.get(layout.sectionsType);\n\n return sectionRender\n ? sectionRender(inputPanelCell, layout.sections)\n : layout.sections.map((section) =>\n this.#renderSection(inputPanelCell, section)\n );\n }\n\n #renderAbsoluteLayout(\n inputPanelCell: InputPanelCells,\n layout: KupInputPanelLayout\n ) {\n return layout.sections.map((section) =>\n this.#renderAbsoluteSection(inputPanelCell, section)\n );\n }\n\n #renderSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection,\n customLabelRender: boolean = false,\n styleObj: GenericObject = {}\n ) {\n const classObj = {\n 'input-panel__section': !section.horizontal,\n 'input-panel__horizontal-section': section.horizontal,\n };\n\n styleObj.gap = +section.gap > 0 ? `${section.gap}rem` : '1rem';\n\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderSection(cells, innerSection)\n );\n\n const hasDim = section.sections.some((sec) => sec.dim);\n\n if (!section.gridCols && section.horizontal) {\n styleObj.gridTemplateColumns = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n\n if (!section.gridRows && !section.horizontal) {\n styleObj.gridTemplateRows = hasDim\n ? section.sections.map((sec) => sec.dim || 'auto').join(' ')\n : `repeat(${section.sections.length}, 1fr)`;\n }\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderField(cells, field)\n );\n styleObj.gridTemplateColumns =\n +section.gridCols > 0 ? `repeat(${section.gridCols}, 1fr)` : '';\n\n styleObj.gridTemplateRows =\n +section.gridRows > 0 ? `repeat(${section.gridRows}, 1fr)` : '';\n }\n\n const sectionContent = (\n <div class={classObj} style={styleObj}>\n {content}\n </div>\n );\n\n return section.title && !customLabelRender ? (\n <div class={{ 'input-panel__section_label_container': true }}>\n <h3>{section.title}</h3>\n {sectionContent}\n </div>\n ) : (\n sectionContent\n );\n }\n\n #renderAbsoluteSection(\n cells: InputPanelCells,\n section: KupInputPanelLayoutSection\n ) {\n let content = [];\n\n if (section.sections?.length) {\n content = section.sections.map((innerSection) =>\n this.#renderAbsoluteSection(cells, innerSection)\n );\n } else if (section.content?.length) {\n content = section.content.map((field) =>\n this.#renderAbsoluteField(cells, field)\n );\n }\n\n const width = `${getAbsoluteWidth(section.absoluteWidth)}px`;\n const height = `${getAbsoluteHeight(section.absoluteHeight)}px`;\n const top = `${getAbsoluteTop(section.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(section.absoluteColumn)}px`;\n\n const sectionStyle = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n return <div style={sectionStyle}>{content}</div>;\n }\n\n #renderSectionTab(\n cells: InputPanelCells,\n sections: KupInputPanelLayoutSection[]\n ) {\n if (!this.tabSelected) {\n this.tabSelected = sections[0].id || '0';\n }\n\n const tabNodes: KupTabBarNode[] = sections.map((section, i) => ({\n active: (section.id || `${i}`) === this.tabSelected,\n value: section.title,\n icon: section.icon,\n id: section.id || `${i}`,\n }));\n\n const sectionContent = sections.map((section, i) => {\n const sectionId = section.id || `${i}`;\n return this.#renderSection(cells, section, true, {\n display: this.tabSelected !== sectionId ? 'none' : 'grid',\n });\n });\n\n const tabCustomStyle =\n '.tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }';\n\n if (!this.#listeners.map((l) => l.event).includes('kup-tabbar-click')) {\n const event = 'kup-tabbar-click';\n const handler = (e: CustomEvent<KupTabBarEventPayload>) => {\n this.tabSelected = e.detail.node.id;\n };\n\n this.rootElement.addEventListener(event, handler);\n this.#listeners.push({\n event,\n handler,\n });\n }\n\n return (\n <div class={{ 'input-panel__tabs_container': true }}>\n <kup-tab-bar\n data={tabNodes}\n customStyle={tabCustomStyle}\n ></kup-tab-bar>\n {sectionContent}\n </div>\n );\n }\n\n #renderField(cells: InputPanelCells, field: KupInputPanelLayoutField) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n\n const colSpan =\n +field.colSpan > 0\n ? field.colSpan\n : !(+field.colSpan > 0) && !(+field.colStart > 0)\n ? 1\n : null;\n\n const colStart = colSpan ? `span ${colSpan}` : `${field.colStart}`;\n\n const colEnd = +field.colEnd > 0 ? `${field.colEnd}` : '';\n\n const rowSpan =\n +field.rowSpan > 0\n ? field.rowSpan\n : !(+field.rowSpan > 0) && !(+field.rowStart > 0)\n ? 1\n : null;\n\n const rowStart = rowSpan ? `span ${rowSpan}` : `${field.rowStart}`;\n\n const rowEnd = +field.rowEnd > 0 ? `${field.rowEnd}` : '';\n\n const styleObj = {\n 'grid-column-start': colStart,\n 'grid-column-end': colEnd,\n 'grid-row-start': rowStart,\n 'grid-row-end': rowEnd,\n };\n\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #renderAbsoluteField(\n cells: InputPanelCells,\n field: KupInputPanelLayoutField\n ) {\n const fieldCell = cells.cells.find(\n (cell) => cell.column.name === field.id\n );\n if (!fieldCell || !fieldCell.cell) {\n return;\n }\n\n let length: number;\n if (fieldCell.cell.shape == FCellShapes.DATE) {\n length = field.absoluteLength > 8 ? field.absoluteLength : 8;\n } else {\n length = field.absoluteLength;\n }\n\n const width = `${getAbsoluteWidth(length)}px`;\n const height = `${getAbsoluteHeight(1)}px`;\n const top = `${getAbsoluteTop(field.absoluteRow)}px`;\n const left = `${getAbsoluteLeft(field.absoluteColumn)}px`;\n\n const styleObj = {\n position: 'absolute',\n width,\n 'min-width': width,\n 'max-width': width,\n height,\n 'min-height': height,\n 'max-height': height,\n top,\n left,\n overflow: 'auto',\n };\n\n fieldCell.cell.data = {\n ...fieldCell.cell.data,\n customStyle:\n (fieldCell.cell.data.customStyle || '') +\n '.mdc-text-field {height: unset !important;}',\n };\n\n return (\n <div style={styleObj}>\n {this.#renderCell(fieldCell.cell, cells.row, fieldCell.column)}\n </div>\n );\n }\n\n #mapCells(data: KupInputPanelData) {\n const inpuPanelCells = data?.rows?.length\n ? data.rows.reduce((inpuPanelCells, row) => {\n const cells = data.columns\n .filter((column) => column.visible)\n .map((column) => {\n const cell = structuredClone(row.cells[column.name]);\n const mappedCell = cell\n ? {\n ...cell,\n data: this.#setProps(cell, column),\n slotData: this.#slotData(cell, column),\n isEditable: true,\n }\n : null;\n return { column, cell: mappedCell };\n });\n return [...inpuPanelCells, { cells, row }];\n }, [])\n : [];\n\n inpuPanelCells.map(({ cells }: InputPanelCells) =>\n cells.map(({ cell, column }) => {\n const cellType = dom.ketchup.data.cell.getType(\n cell,\n cell.shape\n );\n const componentQuery = this.#cellTypeComponents.get(cellType);\n if (!componentQuery) {\n return;\n }\n\n const el: any = this.rootElement.shadowRoot.querySelector(\n `${componentQuery}[id=${column.name}]`\n );\n el?.setValue(cell.value);\n })\n );\n\n this.inputPanelCells = inpuPanelCells;\n }\n\n #setProps(cell: KupInputPanelCell, column: KupInputPanelColumn) {\n const defaultProps = {\n ...this.#mapData(cell, column),\n disabled: !cell.editable,\n id: column.name,\n };\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? this.#deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n }\n\n #deepObjectsMerge(target: GenericObject, source: GenericObject) {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = this.#deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n }\n\n #reverseMapCells(): KupInputPanelData {\n return this.inputPanelCells.reduce(\n (data, curr) => {\n const updatedCells = Object.keys(curr.row.cells).reduce(\n (cells, key) => {\n const cellState = curr.cells.find(\n (c) => c.column.name === key\n )?.cell;\n\n let value: any = cellState?.value;\n\n if (cellState?.shape === FCellShapes.TABLE) {\n value = JSON.stringify(\n this.#getTableUpdatedCell(\n cellState.data.data,\n key\n )\n );\n }\n\n return {\n ...cells,\n [key]: {\n ...curr.row.cells[key],\n value,\n obj: cellState?.obj,\n },\n };\n },\n {}\n );\n\n return {\n columns: [\n ...data.columns,\n ...curr.cells.map((cell) => cell.column),\n ],\n rows: [\n ...data.rows,\n {\n cells: updatedCells,\n layout: curr.row.layout,\n },\n ],\n };\n },\n {\n columns: [],\n rows: [],\n }\n );\n }\n\n #mapData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.AUTOCOMPLETE, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.BUTTON_LIST, this.#BTNAdapter.bind(this)],\n [FCellTypes.CHART, this.#GRAAdapter.bind(this)],\n [FCellTypes.CHIP, this.#CHIAdapter.bind(this)],\n [FCellTypes.CHECKBOX, this.#CHKAdapter.bind(this)],\n [FCellTypes.COLOR_PICKER, this.#CLPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, this.#CMBandACPAdapter.bind(this)],\n [FCellTypes.EDITOR, this.#EDTAdapter.bind(this)],\n [FCellTypes.MULTI_AUTOCOMPLETE, this.#CHIAdapter.bind(this)],\n [FCellTypes.MULTI_COMBOBOX, this.#CHIAdapter.bind(this)],\n [FCellTypes.NUMBER, this.#NumberAdapter.bind(this)],\n [FCellTypes.DATE, this.#DateAdapter.bind(this)],\n [FCellTypes.RADIO, this.#RADAdapter.bind(this)],\n [FCellTypes.STRING, this.#ITXAdapter.bind(this)],\n [FCellTypes.SWITCH, this.#SWTAdapter.bind(this)],\n [FCellTypes.TABLE, this.#DataTableAdapter.bind(this)],\n [FCellTypes.TIME, this.#TimeAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n }\n\n #slotData(cell: KupInputPanelCell, col: KupInputPanelColumn) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.editable) {\n return null;\n }\n\n if (cellType === FCellTypes.CHIP) {\n return {\n trailingIcon: true,\n label: col.title,\n disabled: !cell.editable,\n id: col.name,\n fullWidth: false,\n };\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...this.#CMBandACPAdapter(\n cell.options,\n col.title,\n null,\n cell,\n col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.editable,\n id: col.name,\n };\n }\n\n return null;\n }\n\n #CHIAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return CHIAdapter(currentValue);\n }\n\n #GRAAdapter() {\n //TODO: definire mapping\n return {\n data: {\n sizeX: '50px',\n offlineMode: {\n value: '8;4;5',\n },\n id: 'i1012_GREF_0',\n cellId: 'i1012_GREF_0',\n sizeY: '50px',\n },\n };\n }\n\n #BTNAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n cell.data = cell.data || {};\n\n cell.data.onClick = () => {\n cell.fun\n ? this.customButtonClickHandler({\n fun: cell.fun,\n cellId: id,\n currentState: this.#reverseMapCells(),\n })\n : this.submitCb({\n value: {\n before: { ...this.#originalData },\n after: this.#reverseMapCells(),\n },\n cell: id,\n });\n };\n\n if (cell.data?.keyShortcut && !cell.data?.disabled) {\n this.#keysShortcut.push(cell.data?.keyShortcut);\n this.#kupManager.keysBinding.register(\n cell.data?.keyShortcut,\n cell.data.onClick.bind(this)\n );\n }\n\n return {\n label: cell.value,\n fun: cell.fun,\n ...cell.data,\n };\n }\n\n #CMBandACPAdapter(\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n if (cell.fun) {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n const evNames = this.#eventNames.get(cellType);\n\n if (!evNames) {\n return;\n }\n\n evNames.map((evName) => {\n const handler = (\n e: CustomEvent<KupAutocompleteEventPayload>\n ) => {\n this.#getAutocompleteEventCallback(\n e.detail,\n cell.fun,\n configCMandACP,\n id,\n currentValue\n );\n };\n this.rootElement.addEventListener(evName, handler);\n this.#listeners.push({\n event: evName,\n handler,\n });\n });\n } else if (rawOptions) {\n configCMandACP.data['kup-list'].data =\n this.#optionsTreeComboAdapter(rawOptions, currentValue);\n }\n\n return configCMandACP;\n }\n\n #CHKAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return CHKAdapter(currentValue, fieldLabel);\n }\n\n #CLPAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #EDTAdapter(\n _options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return {\n initialValue: currentValue,\n };\n }\n\n #ITXAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return { label: fieldLabel };\n }\n\n #RADAdapter(\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n ) {\n return RADAdapter(currentValue, options);\n }\n\n #SWTAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return SWTAdapter(currentValue, fieldLabel);\n }\n\n #DateAdapter(\n _options: GenericObject,\n fieldLabel: string,\n currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n initialValue: currentValue,\n };\n }\n\n #TimeAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return {\n data: {\n 'kup-text-field': {\n label: fieldLabel,\n },\n },\n };\n }\n\n #NumberAdapter(\n _options: GenericObject,\n fieldLabel: string,\n _currentValue: string\n ) {\n return { label: fieldLabel };\n }\n\n #DataTableAdapter(\n _rawOptions: GenericObject,\n _fieldLabel: string,\n _value: string,\n cell: KupInputPanelCell,\n id: string\n ) {\n try {\n let data = JSON.parse(cell.value);\n\n if (!data) {\n this.#kupManager.debug.logMessage(\n this,\n `Empty value for ${id} cell.`,\n KupDebugCategory.WARNING\n );\n return null;\n }\n\n if ((data as any).type !== 'SmeupDataTable') {\n this.#kupManager.debug.logMessage(\n this,\n `Wrong data table type for ${id} cell. Type \\`SmeupDataTable\\` in value expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n\n return {\n data: {\n columns: data.columns.map((col) => ({\n ...col,\n obj: data.rows[0].cells[col.name].obj,\n })),\n rows: data.rows.map((row) => ({\n ...row,\n cells: Object.keys(row.cells).reduce((cell, key) => {\n const column = data.columns.find(\n (col) => col.name === key\n );\n return {\n ...cell,\n [key]: {\n ...row.cells[key],\n data: {\n ...this.#mapData(\n row.cells[key],\n column\n ),\n disabled:\n row.cells[key].editable === false,\n id: column.id,\n },\n },\n };\n }, {}),\n })),\n },\n };\n } catch (e) {\n this.#kupManager.debug.logMessage(\n this,\n `Invalid value for ${id} cell. Type \\`SmeupDataTable\\` expected`,\n KupDebugCategory.ERROR\n );\n return null;\n }\n }\n\n #getTableUpdatedCell(\n tableValue: KupDataTableDataset,\n cellId: string\n ): KupDataTableDataset {\n const updated: KupDataTableDataset = {\n ...tableValue,\n rows: tableValue.rows.map((row) => ({ ...row, cells: {} })),\n };\n\n const editableColsId = tableValue.columns\n .filter((col) => col.isEditable)\n .map((col) => col.name);\n\n if (!editableColsId.length) {\n return updated;\n }\n\n try {\n const beforeTableValue = JSON.parse(\n this.#originalData.rows[0].cells[cellId].value\n );\n\n updated.rows = tableValue.rows.map((row, i) =>\n editableColsId.reduce<KupDataTableRow>(\n (updatedRow, colId) => {\n const changed =\n beforeTableValue.rows[i].cells[colId] &&\n row.cells[colId].value !==\n beforeTableValue.rows[i].cells[colId].value;\n\n if (changed) {\n return {\n ...beforeTableValue.rows[i],\n cells: {\n ...updatedRow.cells,\n [colId]: {\n ...beforeTableValue.rows[i].cells[\n colId\n ],\n value: row.cells[colId].value,\n },\n },\n };\n }\n\n return {\n ...beforeTableValue.rows[i],\n cells: updatedRow.cells,\n };\n },\n { ...beforeTableValue.rows[i], cells: {} }\n )\n );\n\n return updated;\n } catch (e) {\n return updated;\n }\n }\n\n #optionsTreeComboAdapter(options: any, currentValue: string) {\n const adapter = this.#optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n }\n\n #treeOptionsNodeAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? this.#treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n }\n\n #dataTreeOptionsChildrenAdapter(\n options: any,\n currentValue: string\n ): GenericObject[] {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? this.#dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n }\n\n #tableOptionsAdapter(options: any, currentValue: string): GenericObject[] {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n }\n\n #getAutocompleteEventCallback(\n detail: KupAutocompleteEventPayload | KupComboboxIconClickEventPayload,\n fun: string,\n data: any,\n id: string,\n currentValue: string\n ) {\n if (\n detail.id !== id ||\n (detail as KupComboboxIconClickEventPayload).open === false\n ) {\n return;\n }\n this.optionsHandler(\n fun,\n detail.inputValue,\n this.#reverseMapCells(),\n detail.id\n ).then((options) => {\n data.data['kup-list'].data =\n this.#optionsTreeComboAdapter(options, currentValue) ?? [];\n detail.comp.refresh();\n });\n }\n\n //#endregion\n\n //#region LIFECYCLE HOOKS\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n this.onDataChanged();\n }\n\n componentDidLoad() {\n this.kupReady.emit({ comp: this, id: this.rootElement.id });\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n const root: ShadowRoot = this.rootElement.shadowRoot;\n if (root) {\n const fs: NodeListOf<HTMLElement> =\n root.querySelectorAll('.f-text-field');\n for (let index = 0; index < fs.length; index++) {\n FTextFieldMDC(fs[index]);\n }\n }\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const isEmptyData = Boolean(!this.inputPanelCells.length);\n\n const inputPanelContent: VNode[] = isEmptyData\n ? [\n <p>\n {this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_DATA\n )}\n </p>,\n ]\n : this.inputPanelCells.map((inputPanelCell) =>\n this.#renderRow(inputPanelCell)\n );\n\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId}>{inputPanelContent}</div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n //#endregion\n}\n"],"mappings":"sfA4DA,IAAYA,GAAZ,SAAYA,GACRA,EAAA,YACH,EAFD,CAAYA,MAA8B,KA0E1C,IAAYC,GAAZ,SAAYA,GACRA,EAAA,gDACAA,EAAA,0CACAA,EAAA,+FACAA,EAAA,wDACAA,EAAA,iEACH,EAND,CAAYA,MAAkB,KCtI9B,MAAMC,EAAa,GACnB,MAAMC,EAAa,GAEZ,MAAMC,EAAoBC,IAC7B,GAAIA,GAAU,EAAG,CACb,OAAOH,EAAa,C,CAGxB,IAAKG,EAAQ,CACT,OAAO,I,CAGX,GAAIA,IAAW,EAAG,CACd,OAAO,IAAMH,C,CAGjB,OAAOG,EAASH,CAAU,EAGvB,MAAMI,EAAqBC,IAC9B,IAAKA,EAAQ,CACT,OAAO,I,CAGX,OAAOA,EAASJ,CAAU,EAGvB,MAAMK,EAAkBC,IAC3B,IAAKA,EAAK,CACN,OAAO,I,CAGX,OAAQA,EAAM,GAAKN,CAAU,EAG1B,MAAMO,EAAmBC,IAC5B,IAAKA,EAAK,CACN,OAAO,I,CAGX,OAAOA,EAAMT,CAAU,ECxC3B,MAAMU,EAAmB,80HACzB,MAAAC,EAAeD,E,+uCC6Ef,MAAME,GAAcC,SAASC,gB,MAMhBC,GAAa,M,qFAwEtBC,EAAAC,IAAAC,KAA0BC,KAE1BC,EAAAH,IAAAC,KAAqB,IAAIG,IAGvB,CACE,CAAC,gBAAiBC,EAAAJ,KAAIK,EAAA,IAAAC,IAAyBC,KAAKP,OACpD,CAAC,gBAAiBI,EAAAJ,KAAIK,EAAA,IAAAG,IAAiCD,KAAKP,OAC5D,CAAC,aAAcI,EAAAJ,KAAIK,EAAA,IAAAI,IAAsBF,KAAKP,OAC9C,CAAC,iBAAkBI,EAAAJ,KAAIK,EAAA,IAAAI,IAAsBF,KAAKP,UAGtDU,EAAAX,IAAAC,KAAmC,MAEnCW,EAAAZ,IAAAC,KAAc,IAAIG,IAA0B,CACxC,CACIS,EAAWC,aACX,CAAC,yBAA0B,+BAE/B,CACID,EAAWE,mBACX,CAAC,yBAA0B,+BAE/B,CAACF,EAAWG,SAAU,CAAC,2BACvB,CAACH,EAAWI,eAAgB,CAAC,8BAEjCC,EAAAlB,IAAAC,KAAwD,IACxDkB,EAAAnB,IAAAC,KAA+C,IAAIG,IAAwB,CACvE,CAACS,EAAWO,KAAM,mBAClB,CAACP,EAAWQ,KAAM,sBAEtBC,EAAAtB,IAAAC,KAGI,IAAIG,IAA6D,CACjE,CAACmB,EAAYC,YAAanB,EAAAJ,KAAIK,EAAA,IAAAmB,GAAejB,KAAKP,OAClD,CAACsB,EAAYG,OAAQrB,EAAAJ,KAAIK,EAAA,IAAAqB,GAAenB,KAAKP,OAC7C,CAACsB,EAAYK,MAAOvB,EAAAJ,KAAIK,EAAA,IAAAuB,GAAcrB,KAAKP,OAC3C,CAACsB,EAAYO,MAAOzB,EAAAJ,KAAIK,EAAA,IAAAyB,GAAkBvB,KAAKP,UAEnD+B,EAAAhC,IAAAC,KAGI,IAAIG,IAGN,CACE,CAACvB,EAA+BoD,IAAK5B,EAAAJ,KAAIK,EAAA,IAAA4B,IAAmB1B,KAAKP,UAErEkC,EAAAnC,IAAAC,KAA0B,I,iBAzGI,G,UAMI,K,wBAMI,M,cAMkB,K,oBAML,K,8BAMe,K,qBAYZ,G,iBAMf,I,CAkEvC,aAAAmC,GACIC,EAAApC,KAAIU,EAAiB2B,gBAAgBrC,KAAKsC,MAAK,KAC/C,GAAIlC,EAAAJ,KAAIiB,EAAA,KAAYhC,OAAQ,CACxBmB,EAAAJ,KAAIiB,EAAA,KAAYsB,KAAI,EAAGC,QAAOC,cAC1BzC,KAAK0C,YAAYC,oBAAoBH,EAAOC,EAAQ,IAExDL,EAAApC,KAAIiB,EAAc,GAAE,I,CAGxB,GAAIb,EAAAJ,KAAIkC,EAAA,KAAejD,OAAQ,CAC3BmB,EAAAJ,KAAIkC,EAAA,KAAeK,KAAKK,IACpBxC,EAAAJ,KAAIF,EAAA,KAAa+C,YAAYC,WAAWF,EAAI,IAEhDR,EAAApC,KAAIkC,EAAiB,GAAE,I,CAG3B9B,EAAAJ,KAAIK,EAAA,IAAA0C,IAAUC,KAAdhD,KAAeA,KAAKsC,K,CAexB,cAAMW,CAASC,GACX,OAAOD,EAASjD,KAAMnB,EAAoBqE,E,CAM9C,aAAMC,GACFC,EAAYpD,K,CAOhB,cAAMqD,CAASC,GACXD,EAASrD,KAAMnB,EAAoByE,E,CA0jCvC,iBAAAC,GACInD,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMC,QAAQzD,KAAM,OACrCI,EAAAJ,KAAIF,EAAA,KAAa4D,SAASC,SAAS3D,MACnCI,EAAAJ,KAAIF,EAAA,KAAa8D,MAAMD,SAAS3D,MAChCA,KAAKmC,e,CAGT,gBAAA0B,GACI7D,KAAK8D,SAASC,KAAK,CAAEC,KAAMhE,KAAMiE,GAAIjE,KAAK0C,YAAYuB,KACtD7D,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMC,QAAQzD,KAAM,K,CAGzC,mBAAAkE,GACI9D,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMW,UAAUnE,KAAM,M,CAG3C,kBAAAoE,GACI,MAAMC,EAAmBrE,KAAK0C,YAAY4B,WAC1C,GAAID,EAAM,CACN,MAAME,EACFF,EAAKG,iBAAiB,iBAC1B,IAAK,IAAIC,EAAQ,EAAGA,EAAQF,EAAGtF,OAAQwF,IAAS,CAC5CC,EAAcH,EAAGE,G,EAGzBrE,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMW,UAAUnE,KAAM,K,CAG3C,MAAA2E,GACI,MAAMC,EAAcC,SAAS7E,KAAK8E,gBAAgB7F,QAElD,MAAM8F,EAA6BH,EAC7B,CACII,EAAA,SACK5E,EAAAJ,KAAIF,EAAA,KAAa4D,SAASuB,UACvBC,EAAmBC,cAI/BnF,KAAK8E,gBAAgBvC,KAAK6C,GACtBhF,EAAAJ,KAAIK,EAAA,IAAAgF,GAAWrC,KAAfhD,KAAgBoF,KAG1B,OACIJ,EAACM,EAAI,CAAA1C,IAAA,4CACDoC,EAAA,SAAApC,IAAA,4CACKxC,EAAAJ,KAAIF,EAAA,KAAa8D,MAAM2B,YACpBvF,KAAK0C,cAGbsC,EAAA,OAAApC,IAAA,2CAAKqB,GAAIuB,GAAqBT,G,CAK1C,oBAAAU,GACIrF,EAAAJ,KAAIF,EAAA,KAAa4D,SAASZ,WAAW9C,MACrCI,EAAAJ,KAAIF,EAAA,KAAa8D,MAAMd,WAAW9C,K,kPAzlC3BoF,G,MACP,MAAMM,EAASN,EAAe/F,IAAIqG,OAElC,MAAMC,GAAaD,IAAM,MAANA,SAAM,SAANA,EAAQC,aAAc,MAEzC,IAAIC,EAEJ,MAAKC,EAAAH,IAAM,MAANA,SAAM,SAANA,EAAQI,YAAQ,MAAAD,SAAA,SAAAA,EAAE5G,QAAQ,CAC3B2G,EAAaR,EAAeW,MAAMxD,KAAKyD,GACnC5F,EAAAJ,KAAIK,EAAA,IAAA4F,GAAYjD,KAAhBhD,KAAiBgG,EAAKA,KAAMZ,EAAe/F,IAAK2G,EAAKE,S,KAEtD,CACHN,EAAaF,EAAOS,SACd/F,EAAAJ,KAAIK,EAAA,IAAA+F,GAAsBpD,KAA1BhD,KAA2BoF,EAAgBM,GAC3CtF,EAAAJ,KAAIK,EAAA,IAAAgG,GAAkBrD,KAAtBhD,KAAuBoF,EAAgBM,E,CAGjD,MAAMY,EAAW,CACb,cAAe,KACf,uBAAwBX,EACxB,wBAAyBD,IAAM,MAANA,SAAM,SAANA,EAAQS,UAIrC,OACInB,EAAA,QACIuB,MAAOD,EACPE,KAAMxG,KAAK0C,YAAYuB,GACvBwC,SAAWC,IACPA,EAAEC,iBACF3G,KAAK4G,SAAS,CACVC,MAAO,CACHC,OAAMC,OAAAC,OAAA,GAAO5G,EAAAJ,KAAIU,EAAA,MACjBuG,MAAO7G,EAAAJ,KAAIK,EAAA,IAAA6G,IAAiBlE,KAArBhD,QAEb,GAGL4F,GACC5F,KAAKmH,mBACHnC,EAACoC,EAAO,CACJC,WAAW,SACXC,MAAOlH,EAAAJ,KAAIF,EAAA,KAAa4D,SAASuB,UAC7BC,EAAmBqC,SAEvBC,aAAa,iBAEjB,KAGhB,EAACvB,EAAA,SAAAA,EAGGD,EACA3G,EACA6G,GAEA,IAAKF,EAAM,CACP,M,CAGJ,MAAMyB,EAAerH,EAAAJ,KAAIqB,EAAA,KAAmBqG,IAAI1B,EAAK2B,OAErD,GAAIF,IAAiBG,UAAW,CAC5B,OAAOH,EAAazB,EAAME,EAAOM,K,CAGrC,MAAMqB,EAAwB,CAC1B7B,OACAE,SACA7G,MACAyI,UAAW9H,KACX+H,SAAU,KACVC,UAAW,KACXC,SAAU,MAGd,MAAMX,EAAQlH,EAAAJ,KAAIK,EAAA,IAAA6H,GAAmBlF,KAAvBhD,KAAwBgG,EAAME,EAAOiC,OAEnD,GAAIb,EAAO,CACP,OACItC,EAAA,OAAKuB,MAAO,CAAE,+BAAgC,OACzCe,EACDtC,EAACoD,EAAKrB,OAAAC,OAAA,GAAKa,I,CAKvB,OAAO7C,EAACoD,EAAKrB,OAAAC,OAAA,GAAKa,GACtB,EAACrG,EAAA,SAAAA,EAEawE,EAAmBqC,GAC7B,OACIrD,EAACoC,EAAOL,OAAAC,OAAA,CACJsB,KAAMtC,EAAKsC,KACXrE,GAAIoE,GACArC,EAAK1D,KAAI,CACbkF,aAAa,iBAGzB,EAAC9F,EAAA,SAAAA,EAEasE,EAAmBqC,GAC7B,MAAM7F,EAAQ,kBACd,MAAMC,EAAWiE,IACb,MAAM6B,EACFvI,KAAK8E,gBAAgB0D,QAAoB,CAACxC,GAAQD,YAC9C,IAAKC,EAAM,CACP,OAAOD,EAAM0C,MACT,EAAGvC,YAAaA,EAAOM,OAAS6B,IAClCrC,I,CAEN,OAAOA,CAAI,GACZ,MACPuC,EAAQ1B,MAAQH,EAAEgC,OAAOC,UAAUC,QAAQ,MAAO,OAAO,EAG7D5I,KAAK0C,YAAYmG,iBAAiBrG,EAAOC,GAEzCrC,EAAAJ,KAAIiB,EAAA,KAAY6H,KAAK,CACjBtG,QACAC,YAGJ,OACIuC,EAAA,aAAA+B,OAAAC,OAAA,GACQhB,EAAK1D,KAAI,CACb2B,GAAIoE,EACJU,YAAa/C,EAAKgD,WAClBC,YAAa,OAGzB,EAACnH,EAAA,SAAAA,EAEgBkE,EAAmBqC,GAChC,OACIrD,EAAA,iBAAA+B,OAAAC,OAAA,CACI/C,GAAIoE,EACJa,aAAc,KACdC,WAAY,KACZC,YAAa,KACbC,WAAY,MACRrD,EAAK1D,MAGrB,EAACV,EAAA,SAAAA,EAEYoE,EAAmBqC,GAC5B,OACIrD,EAAA,QAAMuB,MAAM,oBAAoBtC,GAAIoE,GAC/BrC,EAAKa,MAGlB,EAACqB,EAAA,SAAAA,EAEkBlC,EAAmBsB,GAClC,IAAKA,EAAO,CACR,OAAO,I,CAGX,MAAMgC,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,OAE1D,GAAI2B,IAAa1I,EAAW6I,MAAO,CAC/B,OAAOzE,EAAA,YAAOsC,E,CAGlB,OAAO,IACX,EAACjB,EAAA,SAAAA,EAGGjB,EACAM,GAEA,MAAMgE,EAAgBtJ,EAAAJ,KAAI+B,EAAA,KAAmB2F,IAAIhC,EAAOiE,cAExD,OAAOD,EACDA,EAActE,EAAgBM,EAAOI,UACrCJ,EAAOI,SAASvD,KAAKqH,GACjBxJ,EAAAJ,KAAIK,EAAA,IAAAwJ,IAAe7G,KAAnBhD,KAAoBoF,EAAgBwE,IAElD,EAACxD,EAAA,SAAAA,EAGGhB,EACAM,GAEA,OAAOA,EAAOI,SAASvD,KAAKqH,GACxBxJ,EAAAJ,KAAIK,EAAA,IAAAyJ,IAAuB9G,KAA3BhD,KAA4BoF,EAAgBwE,IAEpD,EAACC,GAAA,SAAAA,EAGG9D,EACA6D,EACAG,EAA6B,MAC7BC,EAA0B,I,QAE1B,MAAM1D,EAAW,CACb,wBAAyBsD,EAAQjE,WACjC,kCAAmCiE,EAAQjE,YAG/CqE,EAASC,KAAOL,EAAQK,IAAM,EAAI,GAAGL,EAAQK,SAAW,OAExD,IAAIC,EAAU,GAEd,IAAIrE,EAAA+D,EAAQ9D,YAAQ,MAAAD,SAAA,SAAAA,EAAE5G,OAAQ,CAC1BiL,EAAUN,EAAQ9D,SAASvD,KAAK4H,GAC5B/J,EAAAJ,KAAIK,EAAA,IAAAwJ,GAAe7G,KAAnBhD,KAAoB+F,EAAOoE,KAG/B,MAAMC,EAASR,EAAQ9D,SAASuE,MAAMC,GAAQA,EAAIC,MAElD,IAAKX,EAAQY,UAAYZ,EAAQjE,WAAY,CACzCqE,EAASS,oBAAsBL,EACzBR,EAAQ9D,SAASvD,KAAK+H,GAAQA,EAAIC,KAAO,SAAQG,KAAK,KACtD,UAAUd,EAAQ9D,SAAS7G,c,CAGrC,IAAK2K,EAAQe,WAAaf,EAAQjE,WAAY,CAC1CqE,EAASY,iBAAmBR,EACtBR,EAAQ9D,SAASvD,KAAK+H,GAAQA,EAAIC,KAAO,SAAQG,KAAK,KACtD,UAAUd,EAAQ9D,SAAS7G,c,OAElC,IAAI4L,EAAAjB,EAAQM,WAAO,MAAAW,SAAA,SAAAA,EAAE5L,OAAQ,CAChCiL,EAAUN,EAAQM,QAAQ3H,KAAKuI,GAC3B1K,EAAAJ,KAAIK,EAAA,IAAA0K,IAAa/H,KAAjBhD,KAAkB+F,EAAO+E,KAE7Bd,EAASS,qBACJb,EAAQY,SAAW,EAAI,UAAUZ,EAAQY,iBAAmB,GAEjER,EAASY,kBACJhB,EAAQe,SAAW,EAAI,UAAUf,EAAQe,iBAAmB,E,CAGrE,MAAMK,EACFhG,EAAA,OAAKuB,MAAOD,EAAU2E,MAAOjB,GACxBE,GAIT,OAAON,EAAQzB,QAAU4B,EACrB/E,EAAA,OAAKuB,MAAO,CAAE,uCAAwC,OAClDvB,EAAA,UAAK4E,EAAQzB,OACZ6C,GACC,CAId,EAAClB,GAAA,SAAAA,EAGG/D,EACA6D,G,QAEA,IAAIM,EAAU,GAEd,IAAIrE,EAAA+D,EAAQ9D,YAAQ,MAAAD,SAAA,SAAAA,EAAE5G,OAAQ,CAC1BiL,EAAUN,EAAQ9D,SAASvD,KAAK4H,GAC5B/J,EAAAJ,KAAIK,EAAA,IAAAyJ,GAAuB9G,KAA3BhD,KAA4B+F,EAAOoE,I,MAEpC,IAAIU,EAAAjB,EAAQM,WAAO,MAAAW,SAAA,SAAAA,EAAE5L,OAAQ,CAChCiL,EAAUN,EAAQM,QAAQ3H,KAAKuI,GAC3B1K,EAAAJ,KAAIK,EAAA,IAAA6K,IAAqBlI,KAAzBhD,KAA0B+F,EAAO+E,I,CAIzC,MAAMK,EAAQ,GAAGnM,EAAiB4K,EAAQwB,mBAC1C,MAAMjM,EAAS,GAAGD,EAAkB0K,EAAQyB,oBAC5C,MAAMC,EAAM,GAAGlM,EAAewK,EAAQ2B,iBACtC,MAAMC,EAAO,GAAGlM,EAAgBsK,EAAQ6B,oBAExC,MAAMC,EAAe,CACjBC,SAAU,WACVR,QACA,YAAaA,EACb,YAAaA,EACbhM,SACA,aAAcA,EACd,aAAcA,EACdmM,MACAE,OACAI,SAAU,QAGd,OAAO5G,EAAA,OAAKiG,MAAOS,GAAexB,EACtC,EAACjI,GAAA,SAAAA,EAGG8D,EACAD,GAEA,IAAK9F,KAAK6L,YAAa,CACnB7L,KAAK6L,YAAc/F,EAAS,GAAG7B,IAAM,G,CAGzC,MAAM6H,EAA4BhG,EAASvD,KAAI,CAACqH,EAASmC,KAAC,CACtDC,QAASpC,EAAQ3F,IAAM,GAAG8H,OAAS/L,KAAK6L,YACxChF,MAAO+C,EAAQzB,MACfG,KAAMsB,EAAQtB,KACdrE,GAAI2F,EAAQ3F,IAAM,GAAG8H,QAGzB,MAAMf,EAAiBlF,EAASvD,KAAI,CAACqH,EAASmC,KAC1C,MAAME,EAAYrC,EAAQ3F,IAAM,GAAG8H,IACnC,OAAO3L,EAAAJ,KAAIK,EAAA,IAAAwJ,IAAe7G,KAAnBhD,KAAoB+F,EAAO6D,EAAS,KAAM,CAC7CsC,QAASlM,KAAK6L,cAAgBI,EAAY,OAAS,QACrD,IAGN,MAAME,EACF,6EAEJ,IAAK/L,EAAAJ,KAAIiB,EAAA,KAAYsB,KAAK6J,GAAMA,EAAE5J,QAAO6J,SAAS,oBAAqB,CACnE,MAAM7J,EAAQ,mBACd,MAAMC,EAAWiE,IACb1G,KAAK6L,YAAcnF,EAAEgC,OAAO4D,KAAKrI,EAAE,EAGvCjE,KAAK0C,YAAYmG,iBAAiBrG,EAAOC,GACzCrC,EAAAJ,KAAIiB,EAAA,KAAY6H,KAAK,CACjBtG,QACAC,W,CAIR,OACIuC,EAAA,OAAKuB,MAAO,CAAE,8BAA+B,OACzCvB,EAAA,eACI1C,KAAMwJ,EACNS,YAAaJ,IAEhBnB,EAGb,EAACD,GAAA,SAAAA,EAEYhF,EAAwB+E,GACjC,MAAM0B,EAAYzG,EAAMA,MAAM0C,MACzBzC,GAASA,EAAKE,OAAOM,OAASsE,EAAM7G,KAGzC,MAAMwI,GACD3B,EAAM2B,QAAU,EACX3B,EAAM2B,WACH3B,EAAM2B,QAAU,OAAS3B,EAAM4B,SAAW,GAC7C,EACA,KAEV,MAAMA,EAAWD,EAAU,QAAQA,IAAY,GAAG3B,EAAM4B,WAExD,MAAMC,GAAU7B,EAAM6B,OAAS,EAAI,GAAG7B,EAAM6B,SAAW,GAEvD,MAAMC,GACD9B,EAAM8B,QAAU,EACX9B,EAAM8B,WACH9B,EAAM8B,QAAU,OAAS9B,EAAM+B,SAAW,GAC7C,EACA,KAEV,MAAMA,EAAWD,EAAU,QAAQA,IAAY,GAAG9B,EAAM+B,WAExD,MAAMC,GAAUhC,EAAMgC,OAAS,EAAI,GAAGhC,EAAMgC,SAAW,GAEvD,MAAM9C,EAAW,CACb,oBAAqB0C,EACrB,kBAAmBC,EACnB,iBAAkBE,EAClB,eAAgBC,GAGpB,IAAKN,IAAcA,EAAUxG,KAAM,CAC/B,M,CAGJ,OACIhB,EAAA,OAAKiG,MAAOjB,GACP5J,EAAAJ,KAAIK,EAAA,IAAA4F,GAAYjD,KAAhBhD,KAAiBwM,EAAUxG,KAAMD,EAAM1G,IAAKmN,EAAUtG,QAGnE,EAACgF,GAAA,SAAAA,EAGGnF,EACA+E,GAEA,MAAM0B,EAAYzG,EAAMA,MAAM0C,MACzBzC,GAASA,EAAKE,OAAOM,OAASsE,EAAM7G,KAEzC,IAAKuI,IAAcA,EAAUxG,KAAM,CAC/B,M,CAGJ,IAAI/G,EACJ,GAAIuN,EAAUxG,KAAK2B,OAASrG,EAAYH,KAAM,CAC1ClC,EAAS6L,EAAMiC,eAAiB,EAAIjC,EAAMiC,eAAiB,C,KACxD,CACH9N,EAAS6L,EAAMiC,c,CAGnB,MAAM5B,EAAQ,GAAGnM,EAAiBC,OAClC,MAAME,EAAS,GAAGD,EAAkB,OACpC,MAAMoM,EAAM,GAAGlM,EAAe0L,EAAMS,iBACpC,MAAMC,EAAO,GAAGlM,EAAgBwL,EAAMW,oBAEtC,MAAMzB,EAAW,CACb2B,SAAU,WACVR,QACA,YAAaA,EACb,YAAaA,EACbhM,SACA,aAAcA,EACd,aAAcA,EACdmM,MACAE,OACAI,SAAU,QAGdY,EAAUxG,KAAK1D,KAAIyE,OAAAC,OAAAD,OAAAC,OAAA,GACZwF,EAAUxG,KAAK1D,MAAI,CACtBiK,aACKC,EAAUxG,KAAK1D,KAAKiK,aAAe,IACpC,gDAGR,OACIvH,EAAA,OAAKiG,MAAOjB,GACP5J,EAAAJ,KAAIK,EAAA,IAAA4F,GAAYjD,KAAhBhD,KAAiBwM,EAAUxG,KAAMD,EAAM1G,IAAKmN,EAAUtG,QAGnE,EAACnD,GAAA,SAAAA,EAEST,G,MACN,MAAM0K,IAAiBnH,EAAAvD,IAAI,MAAJA,SAAI,SAAJA,EAAM2K,QAAI,MAAApH,SAAA,SAAAA,EAAE5G,QAC7BqD,EAAK2K,KAAKzE,QAAO,CAACwE,EAAgB3N,KAC9B,MAAM0G,EAAQzD,EAAK4K,QACdC,QAAQjH,GAAWA,EAAOkH,UAC1B7K,KAAK2D,IACF,MAAMF,EAAO3D,gBAAgBhD,EAAI0G,MAAMG,EAAOM,OAC9C,MAAM6G,EAAarH,E,+BAENA,GAAI,CACP1D,KAAMlC,EAAAJ,KAAIK,EAAA,IAAAiN,IAAUtK,KAAdhD,KAAegG,EAAME,GAC3BqH,SAAUnN,EAAAJ,KAAIK,EAAA,IAAAmN,IAAUxK,KAAdhD,KAAegG,EAAME,GAC/B8C,WAAY,OAEhB,KACN,MAAO,CAAE9C,SAAQF,KAAMqH,EAAY,IAE3C,MAAO,IAAIL,EAAgB,CAAEjH,QAAO1G,OAAM,GAC3C,IACH,GAEN2N,EAAezK,KAAI,EAAGwD,WAClBA,EAAMxD,KAAI,EAAGyD,OAAME,aACf,MAAMoD,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QACnCxD,EACAA,EAAK2B,OAET,MAAM8F,EAAiBrN,EAAAJ,KAAIkB,EAAA,KAAqBwG,IAAI4B,GACpD,IAAKmE,EAAgB,CACjB,M,CAGJ,MAAMC,EAAU1N,KAAK0C,YAAY4B,WAAWqJ,cACxC,GAAGF,QAAqBvH,EAAOM,SAEnCkH,IAAE,MAAFA,SAAE,SAAFA,EAAIE,SAAS5H,EAAKa,MAAM,MAIhC7G,KAAK8E,gBAAkBkI,CAC3B,EAACM,GAAA,SAAAA,EAEStH,EAAyBE,GAC/B,MAAM2H,EAAY9G,OAAAC,OAAAD,OAAAC,OAAA,GACX5G,EAAAJ,KAAIK,EAAA,IAAAyN,IAAS9K,KAAbhD,KAAcgG,EAAME,IAAO,CAC9B6H,UAAW/H,EAAK+B,SAChB9D,GAAIiC,EAAOM,OAEf,MAAM8C,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,O,MACpD9B,EAA2BG,EAAK1D,MAAQ,GAA7B0L,EAAWC,EAAApI,EAAtB,UAEN,OAAOyD,IAAa1I,EAAWE,oBAC3BwI,IAAa1I,EAAWI,eACtBZ,EAAAJ,KAAIK,EAAA,IAAA6N,IAAkBlL,KAAtBhD,KAAuB6N,EAAY9G,OAAAC,OAAA,GAC5BhB,EAAK1D,O,+BAILuL,GACAG,EAEjB,EAACE,GAAA,SAAAA,EAEiBC,EAAuBC,GACrC,IAAK,MAAMxL,KAAOwL,EAAQ,CACtB,GACIA,EAAOxL,aAAgBmE,SACtBsH,MAAMC,QAAQF,EAAOxL,KACtBA,KAAOuL,EACT,CACEA,EAAOvL,GAAOxC,EAAAJ,KAAIK,EAAA,IAAA6N,GAAkBlL,KAAtBhD,KAAuBmO,EAAOvL,GAAMwL,EAAOxL,G,KACtD,CACHuL,EAAOvL,GAAOwL,EAAOxL,E,EAG7B,OAAOuL,CACX,EAACjH,GAAA,SAAAA,IAGG,OAAOlH,KAAK8E,gBAAgB0D,QACxB,CAAClG,EAAMiM,KACH,MAAMC,EAAezH,OAAO0H,KAAKF,EAAKlP,IAAI0G,OAAOyC,QAC7C,CAACzC,EAAOnD,K,MACJ,MAAM8L,GAAY7I,EAAA0I,EAAKxI,MAAM0C,MACxBkG,GAAMA,EAAEzI,OAAOM,OAAS5D,OAC5B,MAAAiD,SAAA,SAAAA,EAAEG,KAEH,IAAIa,EAAa6H,IAAS,MAATA,SAAS,SAATA,EAAW7H,MAE5B,IAAI6H,IAAS,MAATA,SAAS,SAATA,EAAW/G,SAAUrG,EAAYO,MAAO,CACxCgF,EAAQ+H,KAAKC,UACTzO,EAAAJ,KAAIK,EAAA,IAAAyO,IAAqB9L,KAAzBhD,KACI0O,EAAUpM,KAAKA,KACfM,G,CAKZ,OAAAmE,OAAAC,OAAAD,OAAAC,OAAA,GACOjB,GAAK,CACRnD,CAACA,GAAGmE,OAAAC,OAAAD,OAAAC,OAAA,GACGuH,EAAKlP,IAAI0G,MAAMnD,IAAI,CACtBiE,QACAkI,IAAKL,IAAS,MAATA,SAAS,SAATA,EAAWK,OAAG,GAI/B,IAGJ,MAAO,CACH7B,QAAS,IACF5K,EAAK4K,WACLqB,EAAKxI,MAAMxD,KAAKyD,GAASA,EAAKE,UAErC+G,KAAM,IACC3K,EAAK2K,KACR,CACIlH,MAAOyI,EACP9I,OAAQ6I,EAAKlP,IAAIqG,SAG5B,GAEL,CACIwH,QAAS,GACTD,KAAM,IAGlB,EAACa,GAAA,SAAAA,EAEQ9H,EAAyBzG,GAC9B,IAAKyG,EAAM,CACP,OAAO,I,CAGX,MAAMgJ,EAAUhJ,EAAKgJ,QACrB,MAAMC,EAAa1P,EAAI4I,MACvB,MAAM+G,EAAelJ,EAAKa,MAC1B,MAAMyC,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,OAE1D,MAAMwH,EAAiB,IAAIhP,IAA+B,CACtD,CAACS,EAAWC,aAAcT,EAAAJ,KAAIK,EAAA,IAAA+O,IAAmB7O,KAAKP,OACtD,CAACY,EAAWW,YAAanB,EAAAJ,KAAIK,EAAA,IAAAgP,IAAa9O,KAAKP,OAC/C,CAACY,EAAW0O,MAAOlP,EAAAJ,KAAIK,EAAA,IAAAkP,IAAahP,KAAKP,OACzC,CAACY,EAAW4O,KAAMpP,EAAAJ,KAAIK,EAAA,IAAAoP,IAAalP,KAAKP,OACxC,CAACY,EAAW8O,SAAUtP,EAAAJ,KAAIK,EAAA,IAAAsP,IAAapP,KAAKP,OAC5C,CAACY,EAAWgP,aAAcxP,EAAAJ,KAAIK,EAAA,IAAAwP,IAAatP,KAAKP,OAChD,CAACY,EAAWG,SAAUX,EAAAJ,KAAIK,EAAA,IAAA+O,IAAmB7O,KAAKP,OAClD,CAACY,EAAWa,OAAQrB,EAAAJ,KAAIK,EAAA,IAAAyP,IAAavP,KAAKP,OAC1C,CAACY,EAAWE,mBAAoBV,EAAAJ,KAAIK,EAAA,IAAAoP,IAAalP,KAAKP,OACtD,CAACY,EAAWI,eAAgBZ,EAAAJ,KAAIK,EAAA,IAAAoP,IAAalP,KAAKP,OAClD,CAACY,EAAWmP,OAAQ3P,EAAAJ,KAAIK,EAAA,IAAA2P,IAAgBzP,KAAKP,OAC7C,CAACY,EAAWO,KAAMf,EAAAJ,KAAIK,EAAA,IAAA4P,IAAc1P,KAAKP,OACzC,CAACY,EAAW6I,MAAOrJ,EAAAJ,KAAIK,EAAA,IAAA6P,IAAa3P,KAAKP,OACzC,CAACY,EAAWuP,OAAQ/P,EAAAJ,KAAIK,EAAA,IAAA+P,IAAa7P,KAAKP,OAC1C,CAACY,EAAWyP,OAAQjQ,EAAAJ,KAAIK,EAAA,IAAAiQ,IAAa/P,KAAKP,OAC1C,CAACY,EAAWiB,MAAOzB,EAAAJ,KAAIK,EAAA,IAAAkQ,IAAmBhQ,KAAKP,OAC/C,CAACY,EAAWQ,KAAMhB,EAAAJ,KAAIK,EAAA,IAAAmQ,IAAcjQ,KAAKP,SAG7C,MAAMyQ,EAAUtB,EAAezH,IAAI4B,GAEnC,OAAOmH,EACDA,EAAQzB,EAASC,EAAYC,EAAclJ,EAAMzG,EAAIiH,MACrD,IACV,EAACgH,GAAA,SAAAA,EAESxH,EAAyBzG,GAC/B,MAAM+J,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,OAE1D,IAAK3B,EAAK+B,SAAU,CAChB,OAAO,I,CAGX,GAAIuB,IAAa1I,EAAW4O,KAAM,CAC9B,MAAO,CACHkB,aAAc,KACdpJ,MAAO/H,EAAI4I,MACX4F,UAAW/H,EAAK+B,SAChB9D,GAAI1E,EAAIiH,KACRmK,UAAW,M,CAInB,GACIrH,IAAa1I,EAAWE,oBACxBwI,IAAa1I,EAAWI,eAC1B,CACE,OAAA+F,OAAAC,OAAAD,OAAAC,OAAA,GACO5G,EAAAJ,KAAIK,EAAA,IAAA+O,IAAkBpM,KAAtBhD,KACCgG,EAAKgJ,QACLzP,EAAI4I,MACJ,KACAnC,EACAzG,EAAIiH,OACP,CACDoK,iBAAkB,KAClBrK,MAAO,GACP0E,MAAO,CAAEE,MAAO,QAChB4C,UAAW/H,EAAK+B,SAChB9D,GAAI1E,EAAIiH,M,CAIhB,OAAO,IACX,EAACiJ,GAAA,SAAAA,EAGGoB,EACAC,EACA5B,GAEA,OAAO6B,EAAW7B,EACtB,EAACK,GAAA,SAAAA,IAIG,MAAO,CACHjN,KAAM,CACF0O,MAAO,OACPC,YAAa,CACTpK,MAAO,SAEX5C,GAAI,eACJoE,OAAQ,eACR6I,MAAO,QAGnB,EAAC7B,GAAA,SAAAA,EAGGwB,EACAC,EACAK,EACAnL,EACA/B,G,YAEA+B,EAAK1D,KAAO0D,EAAK1D,MAAQ,GAEzB0D,EAAK1D,KAAK8O,QAAU,KAChBpL,EAAKqL,IACCrR,KAAKsR,yBAAyB,CAC1BD,IAAKrL,EAAKqL,IACVhJ,OAAQpE,EACRsN,aAAcnR,EAAAJ,KAAIK,EAAA,IAAA6G,IAAiBlE,KAArBhD,QAElBA,KAAK4G,SAAS,CACVC,MAAO,CACHC,OAAMC,OAAAC,OAAA,GAAO5G,EAAAJ,KAAIU,EAAA,MACjBuG,MAAO7G,EAAAJ,KAAIK,EAAA,IAAA6G,IAAiBlE,KAArBhD,OAEXgG,KAAM/B,GACR,EAGZ,KAAI4B,EAAAG,EAAK1D,QAAI,MAAAuD,SAAA,SAAAA,EAAE2L,iBAAgB3G,EAAA7E,EAAK1D,QAAI,MAAAuI,SAAA,SAAAA,EAAEkD,UAAU,CAChD3N,EAAAJ,KAAIkC,EAAA,KAAe4G,MAAK2I,EAAAzL,EAAK1D,QAAI,MAAAmP,SAAA,SAAAA,EAAED,aACnCpR,EAAAJ,KAAIF,EAAA,KAAa+C,YAAYc,UACzB+N,EAAA1L,EAAK1D,QAAI,MAAAoP,SAAA,SAAAA,EAAEF,YACXxL,EAAK1D,KAAK8O,QAAQ7Q,KAAKP,M,CAI/B,OAAA+G,OAAAC,OAAA,CACIM,MAAOtB,EAAKa,MACZwK,IAAKrL,EAAKqL,KACPrL,EAAK1D,KAEhB,EAAC8M,GAAA,SAAAA,EAGGuC,EACA1C,EACAC,EACAlJ,EACA/B,GAEA,MAAM2N,EAAiBC,EAAiB3C,EAAcD,EAAY,IAElE,GAAIjJ,EAAKqL,IAAK,CACV,MAAM/H,EAAW5J,GAAI6J,QAAQjH,KAAK0D,KAAKwD,QAAQxD,EAAMA,EAAK2B,OAE1D,MAAMmK,EAAU1R,EAAAJ,KAAIW,EAAA,KAAa+G,IAAI4B,GAErC,IAAKwI,EAAS,CACV,M,CAGJA,EAAQvP,KAAKwP,IACT,MAAMtP,EACFiE,IAEAtG,EAAAJ,KAAIK,EAAA,IAAA2R,IAA8BhP,KAAlChD,KACI0G,EAAEgC,OACF1C,EAAKqL,IACLO,EACA3N,EACAiL,EACH,EAELlP,KAAK0C,YAAYmG,iBAAiBkJ,EAAQtP,GAC1CrC,EAAAJ,KAAIiB,EAAA,KAAY6H,KAAK,CACjBtG,MAAOuP,EACPtP,WACF,G,MAEH,GAAIkP,EAAY,CACnBC,EAAetP,KAAK,YAAYA,KAC5BlC,EAAAJ,KAAIK,EAAA,IAAA4R,IAAyBjP,KAA7BhD,KAA8B2R,EAAYzC,E,CAGlD,OAAO0C,CACX,EAACjC,GAAA,SAAAA,EAGGkB,EACA5B,EACAC,GAEA,OAAOgD,EAAWhD,EAAcD,EACpC,EAACY,GAAA,SAAAA,EAGGgB,EACA5B,EACAkC,GAEA,MAAO,CACH7O,KAAM,CACF,iBAAkB,CACdgF,MAAO2H,IAIvB,EAACa,GAAA,SAAAA,EAGGe,EACAC,EACA5B,GAEA,MAAO,CACHiD,aAAcjD,EAEtB,EAACkB,GAAA,SAAAA,EAGGS,EACA5B,EACAkC,GAEA,MAAO,CAAE7J,MAAO2H,EACpB,EAACiB,GAAA,SAAAA,EAGGlB,EACA8B,EACA5B,GAEA,OAAOkD,EAAWlD,EAAcF,EACpC,EAACsB,GAAA,SAAAA,EAGGO,EACA5B,EACAC,GAEA,OAAOmD,EAAWnD,EAAcD,EACpC,EAACgB,GAAA,SAAAA,EAGGY,EACA5B,EACAC,GAEA,MAAO,CACH5M,KAAM,CACF,iBAAkB,CACdgF,MAAO2H,IAGfkD,aAAcjD,EAEtB,EAACsB,GAAA,SAAAA,EAGGK,EACA5B,EACAkC,GAEA,MAAO,CACH7O,KAAM,CACF,iBAAkB,CACdgF,MAAO2H,IAIvB,EAACe,GAAA,SAAAA,EAGGa,EACA5B,EACAkC,GAEA,MAAO,CAAE7J,MAAO2H,EACpB,EAACsB,GAAA,SAAAA,EAGG+B,EACAxB,EACAyB,EACAvM,EACA/B,GAEA,IACI,IAAI3B,EAAOsM,KAAK4D,MAAMxM,EAAKa,OAE3B,IAAKvE,EAAM,CACPlC,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMiP,WACnBzS,KACA,mBAAmBiE,UACnByO,EAAiBC,SAErB,OAAO,I,CAGX,GAAKrQ,EAAasQ,OAAS,iBAAkB,CACzCxS,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMiP,WACnBzS,KACA,6BAA6BiE,oDAC7ByO,EAAiBG,OAErB,OAAO,I,CAGX,MAAO,CACHvQ,KAAM,CACF4K,QAAS5K,EAAK4K,QAAQ3K,KAAKhD,GAAGwH,OAAAC,OAAAD,OAAAC,OAAA,GACvBzH,GAAG,CACNwP,IAAKzM,EAAK2K,KAAK,GAAGlH,MAAMxG,EAAIiH,MAAMuI,QAEtC9B,KAAM3K,EAAK2K,KAAK1K,KAAKlD,GAAG0H,OAAAC,OAAAD,OAAAC,OAAA,GACjB3H,GAAG,CACN0G,MAAOgB,OAAO0H,KAAKpP,EAAI0G,OAAOyC,QAAO,CAACxC,EAAMpD,KACxC,MAAMsD,EAAS5D,EAAK4K,QAAQzE,MACvBlJ,GAAQA,EAAIiH,OAAS5D,IAE1B,OAAAmE,OAAAC,OAAAD,OAAAC,OAAA,GACOhB,GAAI,CACPpD,CAACA,GAAGmE,OAAAC,OAAAD,OAAAC,OAAA,GACG3H,EAAI0G,MAAMnD,IAAI,CACjBN,KAAIyE,OAAAC,OAAAD,OAAAC,OAAA,GACG5G,EAAAJ,KAAIK,EAAA,IAAAyN,IAAS9K,KAAbhD,KACCX,EAAI0G,MAAMnD,GACVsD,IACH,CACD6H,SACI1O,EAAI0G,MAAMnD,GAAKmF,WAAa,MAChC9D,GAAIiC,EAAOjC,QAAE,GAI1B,S,CAIjB,MAAOyC,GACLtG,EAAAJ,KAAIF,EAAA,KAAa0D,MAAMiP,WACnBzS,KACA,qBAAqBiE,2CACrByO,EAAiBG,OAErB,OAAO,I,CAEf,EAAC/D,GAAA,SAAAA,EAGGgE,EACAzK,GAEA,MAAM0K,EAAOhM,OAAAC,OAAAD,OAAAC,OAAA,GACN8L,GAAU,CACb7F,KAAM6F,EAAW7F,KAAK1K,KAAKlD,GAAG0H,OAAAC,OAAAD,OAAAC,OAAA,GAAW3H,GAAG,CAAE0G,MAAO,SAGzD,MAAMiN,EAAiBF,EAAW5F,QAC7BC,QAAQ5N,GAAQA,EAAIyJ,aACpBzG,KAAKhD,GAAQA,EAAIiH,OAEtB,IAAKwM,EAAe/T,OAAQ,CACxB,OAAO8T,C,CAGX,IACI,MAAME,EAAmBrE,KAAK4D,MAC1BpS,EAAAJ,KAAIU,EAAA,KAAeuM,KAAK,GAAGlH,MAAMsC,GAAQxB,OAG7CkM,EAAQ9F,KAAO6F,EAAW7F,KAAK1K,KAAI,CAAClD,EAAK0M,IACrCiH,EAAexK,QACX,CAAC0K,EAAYC,KACT,MAAMC,EACFH,EAAiBhG,KAAKlB,GAAGhG,MAAMoN,IAC/B9T,EAAI0G,MAAMoN,GAAOtM,QACboM,EAAiBhG,KAAKlB,GAAGhG,MAAMoN,GAAOtM,MAE9C,GAAIuM,EAAS,CACT,OAAArM,OAAAC,OAAAD,OAAAC,OAAA,GACOiM,EAAiBhG,KAAKlB,IAAE,CAC3BhG,MAAKgB,OAAAC,OAAAD,OAAAC,OAAA,GACEkM,EAAWnN,OAAK,CACnBoN,CAACA,GAAKpM,OAAAC,OAAAD,OAAAC,OAAA,GACCiM,EAAiBhG,KAAKlB,GAAGhG,MACxBoN,IACH,CACDtM,MAAOxH,EAAI0G,MAAMoN,GAAOtM,W,CAMxC,OAAAE,OAAAC,OAAAD,OAAAC,OAAA,GACOiM,EAAiBhG,KAAKlB,IAAE,CAC3BhG,MAAOmN,EAAWnN,OAAK,GAE9BgB,OAAAC,OAAAD,OAAAC,OAAA,GACIiM,EAAiBhG,KAAKlB,IAAE,CAAEhG,MAAO,QAI9C,OAAOgN,C,CACT,MAAOrM,GACL,OAAOqM,C,CAEf,EAACd,GAAA,SAAAA,EAEwBjD,EAAcE,GACnC,MAAMuB,EAAUrQ,EAAAJ,KAAIE,EAAA,KAAoBwH,IAAIsH,EAAQ4D,MAEpD,GAAInC,EAAS,CACT,OAAOA,EAAQzB,EAASE,E,KACrB,CACH,OAAOF,EAAQzM,KAAK8Q,IAAM,CACtBxM,MAAOwM,EAAO/L,MACdrD,GAAIoP,EAAOpP,GACXqP,SAAUpE,IAAiBmE,EAAOpP,M,CAG9C,EAAC3D,GAAA,SAAAA,EAGG0O,EACAE,GAEA,OAAOF,EAAQuE,SAAShR,KAAKiR,I,MAAU,OACnCvP,GAAIuP,EAAMtJ,QAAQuJ,OAClB5M,MAAO2M,EAAMtJ,QAAQwJ,MACrBJ,SAAUpE,IAAiBsE,EAAMtJ,QAAQuJ,OACzCF,WAAU1N,EAAA2N,EAAMD,YAAQ,MAAA1N,SAAA,SAAAA,EAAE5G,QACpBmB,EAAAJ,KAAIK,EAAA,IAAAC,GAAwB0C,KAA5BhD,KAA6BwT,EAAOtE,GACpC,GACT,GACL,EAAC1O,GAAA,SAAAA,EAGGwO,EACAE,GAEA,OAAOF,EAAQuE,SAAShR,KAAKiR,I,MAAU,OACnCvP,GAAIuP,EAAMzE,IAAI4E,EACd9M,MAAO2M,EAAM3M,MACbyM,SAAUpE,IAAiBsE,EAAMzE,IAAI4E,EACrCJ,WAAU1N,EAAA2N,EAAMD,YAAQ,MAAA1N,SAAA,SAAAA,EAAE5G,QACpBmB,EAAAJ,KAAIK,EAAA,IAAAG,GAAgCwC,KAApChD,KAAqCwT,EAAOtE,GAC5C,GACT,GACL,EAACzO,GAAA,SAAAA,EAEoBuO,EAAcE,GAC/B,OAAOF,EAAQ/B,KAAK1K,KAAKlD,I,MACrB,MAAM0G,EAAQ1G,EAAIuU,QAAUvU,EAAI0G,MAChC,MAAO9B,EAAI4C,GAASE,OAAO0H,KAAK1I,GAEhC,MAAO,CACH9B,GAAI8B,EAAM9B,GAAI4C,MACdA,QAAOhB,EAAAE,EAAMc,MAAM,MAAAhB,SAAA,SAAAA,EAAEgB,QAASd,EAAM9B,GAAI4C,MACxCyM,SAAUpE,IAAiBnJ,EAAM9B,GAAI4C,MACxC,GAET,EAACmL,GAAA,SAAAA,EAGGtJ,EACA2I,EACA/O,EACA2B,EACAiL,GAEA,GACIxG,EAAOzE,KAAOA,GACbyE,EAA4CmL,OAAS,MACxD,CACE,M,CAEJ7T,KAAK8T,eACDzC,EACA3I,EAAOqL,WACP3T,EAAAJ,KAAIK,EAAA,IAAA6G,IAAiBlE,KAArBhD,MACA0I,EAAOzE,IACT+P,MAAMhF,I,MACJ1M,EAAKA,KAAK,YAAYA,MAClBuD,EAAAzF,EAAAJ,KAAIK,EAAA,IAAA4R,IAAyBjP,KAA7BhD,KAA8BgP,EAASE,MAAa,MAAArJ,SAAA,EAAAA,EAAI,GAC5D6C,EAAO1E,KAAKb,SAAS,GAE7B,E","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as t,r as e,c as i,f as n,H as s,d as o}from"./p-d7c15b0e.js";import{a5 as a,F as l,ai as r,aj as c,k as f,f as h,g as p,s as u,R as d,h as m}from"./p-a670a42e.js";import{c as g}from"./p-635bb4b3.js";import{F as b}from"./p-68f82cb0.js";import{F as y}from"./p-cc32b7a2.js";import"./p-029c7cbe.js";import"./p-5d03c077.js";import"./p-2b519589.js";import"./p-06fe42ee.js";import"./p-0d2bf291.js";import"./p-e3062c19.js";var v;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="The data of the cell.";t["density"]="The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.";t["dragEnabled"]="When set to true, the component is draggable."})(v||(v={}));var k;(function(t){t["top"]="column-reverse";t["bottom"]="column";t["left"]="row-reverse";t["right"]="row"})(k||(k={}));var x=undefined&&undefined.__rest||function(t,e){var i={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0)i[n]=t[n];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++){if(e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s]))i[n[s]]=t[n[s]]}return i};const w=document.documentElement;const j=(t,e)=>t.children.map((t=>{var i;return{id:t.content.codice,value:t.content.testo,selected:e===t.content.codice,children:((i=t.children)===null||i===void 0?void 0:i.length)?j(t,e):[]}}));const O=(t,e)=>t.children.map((t=>{var i;return{id:t.obj.k,value:t.value,selected:e===t.obj.k,children:((i=t.children)===null||i===void 0?void 0:i.length)?O(t,e):[]}}));const z=(t,e)=>t.rows.map((t=>{var i;const n=t.fields||t.cells;const[s,o]=Object.keys(n);return{id:n[s].value,value:((i=n[o])===null||i===void 0?void 0:i.value)||n[s].value,selected:e===n[s].value}}));const C=(t,e)=>{const i=T.get(t.type);if(i){return i(t,e)}else{return t.map((t=>({value:t.label,id:t.id,selected:e===t.id})))}};const T=new Map([["SmeupTreeNode",j.bind(undefined)],["SmeupDataTree",O.bind(undefined)],["SmeupTable",z.bind(undefined)],["SmeupDataTable",z.bind(undefined)]]);const E=e=>{const i=e.cell?Object.assign(Object.assign({},e.cell),{data:P(e.cell,e.column),slotData:_(e.cell,e.column),isEditable:true}):null;const n=Object.assign(Object.assign({},e),{editable:true,cell:i,column:L(i.data),row:R(i.data)});if(e.cell.shape===l.TEXT_FIELD){n.cell.value=n.cell.data.value}const s=D(n.cell,n.column.title);if(s){return t("div",{class:{"input-panel__label_container":true}},s,t(b,Object.assign({},n)))}return t(b,Object.assign({},n))};const D=(e,i)=>{if(!i){return null}const n=w.ketchup.data.cell.getType(e,e.shape);if(n===a.RADIO){return t("span",null,i)}return null};const L=t=>{const e=t&&t.obj&&t.obj.t?t.obj.t+";"+t.obj.p:"KUPCELL";const i=t&&t.obj&&t.obj.t?t.obj.t+";"+t.obj.p:"genericEmptyObject";return{name:e,title:i}};const R=t=>{const e=L(t);const i={cells:{}};i.cells[e.name]=t.cell;return i};const _=(t,e)=>{const i=w.ketchup.data.cell.getType(t,t.shape);if(!t.isEditable){return null}if(i===a.MULTI_AUTOCOMPLETE||i===a.MULTI_COMBOBOX){return Object.assign(Object.assign({},r(null,e.title,t.options)),{showDropDownIcon:true,class:"",style:{width:"100%"},disabled:!t.isEditable,id:e.name})}return null};const P=(t,e)=>{const i=Object.assign(Object.assign({},W(t,e)),{disabled:!t.isEditable,id:e.name});const n=w.ketchup.data.cell.getType(t,t.shape);const s=t.data||{},o=x(s,["data"]);return n!==a.MULTI_AUTOCOMPLETE&&n!==a.MULTI_COMBOBOX?S(i,Object.assign({},t.data)):Object.assign(Object.assign({},i),o)};const S=(t,e)=>{for(const i in e){if(e[i]instanceof Object&&!Array.isArray(e[i])&&i in t){t[i]=S(t[i],e[i])}else{t[i]=e[i]}}return t};const W=(t,e)=>{if(!t){return null}const i=t.options;const n=e.title;const s=t.value;const o=w.ketchup.data.cell.getType(t,t.shape);const l=new Map([[a.BUTTON_LIST,M.bind(undefined)],[a.STRING,K.bind(undefined)],[a.RADIO,F.bind(undefined)],[a.AUTOCOMPLETE,I.bind(undefined)],[a.COMBOBOX,I.bind(undefined)]]);const r=l.get(o);return r?r(i,n,s,t,e.name):null};const F=(t,e,i)=>c(i,t);const K=(t,e,i,n)=>{if(t===null||t===void 0?void 0:t[0]){return{value:t[0].label}}};const M=(t,e,i,n)=>{var s,o;return{data:((s=n.options)===null||s===void 0?void 0:s.length)?(o=n.options)===null||o===void 0?void 0:o.map((t=>({icon:t.icon,value:t.value}))):[]}};const I=(t,e,i)=>{const n=r(i,e,[]);n.data["kup-list"].data=C(t,i);return n};const U=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{display:block;height:100%;width:100%}#kup-component{height:100%;width:100%}";const A=U;var H=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,n){if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?n:i==="a"?n.call(t):n?n.value:e.get(t)};var N;const $=class{constructor(t){e(this,t);this.kupCellSubmitClick=i(this,"kup-cell-submit-click",6);N.set(this,f());this.customStyle="";this.data=null;this.density=h.NONE;this.dragEnabled=false;this.showSubmit=false;this.submitPosition=k.right}async addCssClasses(t){if(!this.data.cssClass){this.data.cssClass=""}if(t){for(let e=0;e<t.length;e++){const i=t[e];if(this.data.cssClass.indexOf(i)<0){this.data.cssClass+=` ${i}`}}}this.refresh()}async getProps(t){return p(this,v,t)}async refresh(){n(this)}async removeCssClasses(t){if(!this.data.cssClass){return}if(t){for(let e=0;e<t.length;e++){const i=t[e];if(this.data.cssClass.indexOf(i)>0){this.data.cssClass=this.data.cssClass.replace(new RegExp(i,"g"),"")}}}this.refresh()}async setProps(t){u(this,v,t)}didRenderInteractables(){if(this.dragEnabled){const t=()=>({cell:this.data,column:this.generateColumn(),id:this.rootElement.id,multiple:false,row:this.generateRow()});H(this,N,"f").interact.draggable(this.rootElement.shadowRoot.querySelector("#"+g),{cursorChecker(){return null}},{callback:t},d.BADGE)}}generateColumn(){const t=this.data&&this.data.obj&&this.data.obj.t?this.data.obj.t+";"+this.data.obj.p:"KUPCELL";const e=this.data&&this.data.obj&&this.data.obj.t?this.data.obj.t+";"+this.data.obj.p:H(this,N,"f").language.translate(m.EMPTY_OBJECT);return{name:t,title:e}}generateRow(){const t=this.generateColumn();const e={cells:{}};e.cells[t.name]=this.data;return e}submitClick(t){t.stopPropagation();this.kupCellSubmitClick.emit({comp:this,id:this.rootElement.id,cell:this.data})}componentWillLoad(){H(this,N,"f").dates.register(this);H(this,N,"f").debug.logLoad(this,false);H(this,N,"f").language.register(this);H(this,N,"f").theme.register(this)}componentDidLoad(){H(this,N,"f").debug.logLoad(this,true)}componentWillRender(){H(this,N,"f").debug.logRender(this,false)}componentDidRender(){this.didRenderInteractables();H(this,N,"f").debug.logRender(this,true)}render(){const e={cell:this.data,column:this.generateColumn(),component:this,density:this.density,editable:this.data.isEditable,renderKup:true,row:this.generateRow()};const i={display:this.showSubmit?"flex":"block","flex-direction":this.showSubmit?this.submitPosition:""};return t(s,{key:"cfbe1a2040680c7d317a64520325535769b38ece"},t("style",{key:"93565e556d212451287d6fd107e2e9fc00300ad2"},H(this,N,"f").theme.setKupStyle(this.rootElement)),t("div",{key:"e5d1552de2bceb74ee42c6f1cb50818a0eff6a81",id:g,style:i},t(E,Object.assign({key:"d0113366ce9634824d34512a61e5c642c1427f0a"},e)),this.showSubmit?t(y,{buttonType:"submit",label:H(this,N,"f").language.translate(m.CONFIRM),wrapperClass:"form__submit",onClick:t=>{this.submitClick(t)}}):null))}disconnectedCallback(){H(this,N,"f").dates.unregister(this);H(this,N,"f").language.unregister(this);H(this,N,"f").theme.unregister(this)}get rootElement(){return o(this)}};N=new WeakMap;$.style=A;export{$ as kup_cell};
|
|
2
|
+
//# sourceMappingURL=p-3d0fe1a3.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["KupCellProps","KupCellSubmitButtonPosition","dom","document","documentElement","treeOptionsNodeAdapter","options","currentValue","children","map","child","id","content","codice","value","testo","selected","_a","length","dataTreeOptionsChildrenAdapter","obj","k","tableOptionsAdapter","rows","row","cells","fields","Object","keys","optionsTreeComboAdapter","adapter","optionsAdapterMap","get","type","option","label","Map","bind","this","FCellOptions","props","mappedCell","cell","data","setProps","column","slotData","isEditable","mappedProps","assign","editable","generateColumn","generateRow","shape","FCellShapes","TEXT_FIELD","getLabelComponent","title","h","class","FCell","cellType","ketchup","getType","FCellTypes","RADIO","colname","t","p","coltitle","name","col","MULTI_AUTOCOMPLETE","MULTI_COMBOBOX","CMBandACPAdapter","showDropDownIcon","style","width","disabled","defaultProps","mapData","noDataProps","__rest","deepObjectsMerge","target","source","key","Array","isArray","fieldLabel","dataAdapterMap","BUTTON_LIST","MainBTNAdapter","STRING","MainITXAdapter","MainRADAdapter","AUTOCOMPLETE","MainCMBandACPAdapter","COMBOBOX","_fieldLabel","RADAdapter","_currentValue","_cell","_options","_b","icon","rawOptions","configCMandACP","kupCellCss","KupCellStyle0","KupCell","_KupCell_kupManager","set","kupManagerInstance","FCellPadding","NONE","right","addCssClasses","classes","cssClass","index","indexOf","refresh","getProps","descriptions","forceUpdate","removeCssClasses","replace","RegExp","didRenderInteractables","dragEnabled","dataCb","rootElement","multiple","__classPrivateFieldGet","interact","draggable","shadowRoot","querySelector","componentWrapperId","cursorChecker","callback","KupDragEffect","BADGE","language","translate","KupLanguageGeneric","EMPTY_OBJECT","submitClick","e","stopPropagation","kupCellSubmitClick","emit","comp","componentWillLoad","dates","register","debug","logLoad","theme","componentDidLoad","componentWillRender","logRender","componentDidRender","render","component","density","renderKup","sectionStyle","display","showSubmit","submitPosition","Host","setKupStyle","FButton","buttonType","CONFIRM","wrapperClass","onClick","disconnectedCallback","unregister"],"sources":["src/components/kup-cell/kup-cell-declarations.ts","src/f-components/f-cell-options.tsx/f-cell-options.tsx","src/components/kup-cell/kup-cell.scss?tag=kup-cell&encapsulation=shadow","src/components/kup-cell/kup-cell.tsx"],"sourcesContent":["import { KupDataCell, KupEventPayload } from '../../components';\nimport { KupDataCellOptions } from '../../managers/kup-data/kup-data-declarations';\n\n/**\n * Props of the kup-cell component.\n * Used to export every prop in an object.\n */\nexport enum KupCellProps {\n customStyle = 'Custom style of the component.',\n data = 'The data of the cell.',\n density = \"The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\",\n dragEnabled = 'When set to true, the component is draggable.',\n}\n\nexport enum KupCellSubmitButtonPosition {\n top = 'column-reverse',\n bottom = 'column',\n left = 'row-reverse',\n right = 'row',\n}\n\nexport interface KupCellSubmitClickEventPayload extends KupEventPayload {\n cell: KupDataCellOptions;\n}\n","import { FunctionalComponent, h, VNode } from '@stencil/core';\nimport { KupDom } from '../../managers/kup-manager/kup-manager-declarations';\nimport { GenericObject, KupDataColumn } from '../../components';\nimport { CMBandACPAdapter, RADAdapter } from '../../utils/cell-utils';\nimport {\n FCellOptionsProps,\n FCellProps,\n FCellShapes,\n FCellTypes,\n} from '../f-cell/f-cell-declarations';\nimport {\n DataAdapterFn,\n KupInputPanelCell,\n} from '../../components/kup-input-panel/kup-input-panel-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FCell } from '../f-cell/f-cell';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\nconst treeOptionsNodeAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.content.codice,\n value: child.content.testo,\n selected: currentValue === child.content.codice,\n children: child.children?.length\n ? treeOptionsNodeAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst dataTreeOptionsChildrenAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.children.map((child) => ({\n id: child.obj.k,\n value: child.value,\n selected: currentValue === child.obj.k,\n children: child.children?.length\n ? dataTreeOptionsChildrenAdapter(child, currentValue)\n : [],\n }));\n};\n\nconst tableOptionsAdapter = (\n options: any,\n currentValue: string\n): GenericObject[] => {\n return options.rows.map((row) => {\n const cells = row.fields || row.cells;\n const [id, value] = Object.keys(cells);\n\n return {\n id: cells[id].value,\n value: cells[value]?.value || cells[id].value,\n selected: currentValue === cells[id].value,\n };\n });\n};\n\nconst optionsTreeComboAdapter = (options: any, currentValue: string) => {\n const adapter = optionsAdapterMap.get(options.type);\n\n if (adapter) {\n return adapter(options, currentValue);\n } else {\n return options.map((option) => ({\n value: option.label,\n id: option.id,\n selected: currentValue === option.id,\n }));\n }\n};\n\nconst optionsAdapterMap = new Map<\n string,\n (options: any, currentValue: string) => GenericObject[]\n>([\n ['SmeupTreeNode', treeOptionsNodeAdapter.bind(this)],\n ['SmeupDataTree', dataTreeOptionsChildrenAdapter.bind(this)],\n ['SmeupTable', tableOptionsAdapter.bind(this)],\n ['SmeupDataTable', tableOptionsAdapter.bind(this)],\n]);\n\nexport const FCellOptions: FunctionalComponent<FCellOptionsProps> = (\n props: FCellOptionsProps\n) => {\n const mappedCell = props.cell\n ? {\n ...props.cell,\n data: setProps(props.cell, props.column),\n slotData: slotData(props.cell, props.column),\n isEditable: true,\n }\n : null;\n\n const mappedProps: FCellProps = {\n ...props,\n editable: true,\n cell: mappedCell as KupDataCell,\n column: generateColumn(mappedCell.data),\n row: generateRow(mappedCell.data),\n };\n\n if (props.cell.shape === FCellShapes.TEXT_FIELD) {\n mappedProps.cell.value = mappedProps.cell.data.value;\n }\n\n const label = getLabelComponent(mappedProps.cell, mappedProps.column.title);\n\n if (label) {\n return (\n <div class={{ 'input-panel__label_container': true }}>\n {label}\n <FCell {...mappedProps} />\n </div>\n );\n }\n return <FCell {...mappedProps}></FCell>;\n};\n\nconst getLabelComponent = (cell: KupDataCell, label: string) => {\n if (!label) {\n return null;\n }\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (cellType === FCellTypes.RADIO) {\n return <span>{label}</span>;\n }\n\n return null;\n};\n\nconst generateColumn = (data: GenericObject): KupDataColumn => {\n const colname: string =\n data && data.obj && data.obj.t\n ? data.obj.t + ';' + data.obj.p\n : 'KUPCELL';\n const coltitle: string =\n data && data.obj && data.obj.t\n ? data.obj.t + ';' + data.obj.p\n : 'genericEmptyObject';\n return {\n name: colname,\n title: coltitle,\n };\n};\n\nconst generateRow = (data: GenericObject): KupDataRow => {\n const col: KupDataColumn = generateColumn(data);\n const row: KupDataRow = { cells: {} };\n row.cells[col.name] = data.cell;\n return row;\n};\n\nconst slotData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n\n if (!cell.isEditable) {\n return null;\n }\n\n if (\n cellType === FCellTypes.MULTI_AUTOCOMPLETE ||\n cellType === FCellTypes.MULTI_COMBOBOX\n ) {\n return {\n ...CMBandACPAdapter(\n null,\n col.title,\n cell.options\n // cell,\n // col.name\n ),\n showDropDownIcon: true,\n class: '',\n style: { width: '100%' },\n disabled: !cell.isEditable,\n id: col.name,\n };\n }\n\n return null;\n};\n\nconst setProps = (cell: KupDataCellOptions, column: KupDataColumn) => {\n const defaultProps = {\n ...mapData(cell, column),\n disabled: !cell.isEditable,\n id: column.name,\n };\n\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const { data, ...noDataProps } = cell.data || {};\n return cellType !== FCellTypes.MULTI_AUTOCOMPLETE &&\n cellType !== FCellTypes.MULTI_COMBOBOX\n ? deepObjectsMerge(defaultProps, {\n ...cell.data,\n })\n : // Add and ovverride defaultProps of Chip host component except data\n {\n ...defaultProps,\n ...noDataProps,\n };\n};\n\nconst deepObjectsMerge = (target: GenericObject, source: GenericObject) => {\n for (const key in source) {\n if (\n source[key] instanceof Object &&\n !Array.isArray(source[key]) &&\n key in target\n ) {\n target[key] = deepObjectsMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n};\n\nconst mapData = (cell: KupDataCellOptions, col: KupDataColumn) => {\n if (!cell) {\n return null;\n }\n\n const options = cell.options;\n const fieldLabel = col.title;\n const currentValue = cell.value;\n const cellType = dom.ketchup.data.cell.getType(cell, cell.shape);\n const dataAdapterMap = new Map<FCellTypes, DataAdapterFn>([\n [FCellTypes.BUTTON_LIST, MainBTNAdapter.bind(this)],\n [FCellTypes.STRING, MainITXAdapter.bind(this)],\n [FCellTypes.RADIO, MainRADAdapter.bind(this)],\n [FCellTypes.AUTOCOMPLETE, MainCMBandACPAdapter.bind(this)],\n [FCellTypes.COMBOBOX, MainCMBandACPAdapter.bind(this)],\n ]);\n\n const adapter = dataAdapterMap.get(cellType);\n\n return adapter\n ? adapter(options, fieldLabel, currentValue, cell, col.name)\n : null;\n};\n\nconst MainRADAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n currentValue: string\n) => {\n return RADAdapter(currentValue, options);\n};\n\nconst MainITXAdapter = (\n options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n _cell: KupDataCellOptions\n) => {\n if (options?.[0]) {\n return {\n value: options[0].label,\n };\n }\n};\n\nconst MainBTNAdapter = (\n _options: GenericObject,\n _fieldLabel: string,\n _currentValue: string,\n cell: KupDataCellOptions\n) => {\n return {\n data: cell.options?.length\n ? cell.options?.map((option) => ({\n icon: option.icon,\n value: option.value,\n }))\n : [],\n };\n};\n\nconst MainCMBandACPAdapter = (\n rawOptions: GenericObject,\n fieldLabel: string,\n currentValue: string\n) => {\n const configCMandACP = CMBandACPAdapter(currentValue, fieldLabel, []);\n\n configCMandACP.data['kup-list'].data = optionsTreeComboAdapter(\n rawOptions,\n currentValue\n );\n return configCMandACP;\n};\n","/**\n* @prop --kup-cell-background: Sets the background of the cell.\n* @prop --kup-cell-font-family: Sets the font family of the cell.\n* @prop --kup-cell-font-family-monospace: Sets the monospace font family of the cell (for numbers).\n* @prop --kup-cell-font-size: Sets the font size of the cell.\n* @prop --kup-cell-text-color: Sets the text color of the cell.\n*\n* NOTE: These variables are defined in the \"kup-theme.css\" file, because they must work even without the kup component (it's a functional component)\n*\n*/\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n}\n\n#kup-component {\n height: 100%;\n width: 100%;\n}\n","import {\n Component,\n Element,\n forceUpdate,\n h,\n Host,\n Event,\n EventEmitter,\n Method,\n Prop,\n} from '@stencil/core';\nimport {\n KupManager,\n kupManagerInstance,\n} from '../../managers/kup-manager/kup-manager';\nimport { GenericObject, KupComponent } from '../../types/GenericTypes';\nimport { getProps, setProps } from '../../utils/utils';\nimport { componentWrapperId } from '../../variables/GenericVariables';\nimport {\n KupCellProps,\n KupCellSubmitButtonPosition,\n KupCellSubmitClickEventPayload,\n} from './kup-cell-declarations';\nimport { FCell } from '../../f-components/f-cell/f-cell';\nimport {\n FCellOptionsProps,\n FCellPadding,\n FCellProps,\n} from '../../f-components/f-cell/f-cell-declarations';\nimport {\n KupDragDataTransferCallback,\n KupDragEffect,\n} from '../../managers/kup-interact/kup-interact-declarations';\nimport { KupLanguageGeneric } from '../../managers/kup-language/kup-language-declarations';\nimport {\n KupDataCell,\n KupDataCellOptions,\n KupDataColumn,\n KupDataRow,\n} from '../../managers/kup-data/kup-data-declarations';\nimport { FCellOptions } from '../../f-components/f-cell-options.tsx/f-cell-options';\nimport { FButton } from '../../f-components/f-button/f-button';\n\n@Component({\n tag: 'kup-cell',\n styleUrl: 'kup-cell.scss',\n shadow: true,\n})\nexport class KupCell {\n /**\n * References the root HTML element of the component (<kup-text-field>).\n */\n @Element() rootElement: HTMLElement;\n\n /*-------------------------------------------------*/\n /* P r o p s */\n /*-------------------------------------------------*/\n\n /**\n * Custom style of the component.\n * @default \"\"\n * @see https://smeup.github.io/ketchup/#/customization\n */\n @Prop() customStyle: string = '';\n /**\n * The data of the cell.\n * @default false\n */\n @Prop() data: KupDataCell = null;\n /**\n * The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.\n */\n @Prop() density: FCellPadding = FCellPadding.NONE;\n /**\n * When set to true, the component is draggable.\n * @default false\n */\n @Prop() dragEnabled: boolean = false;\n\n /**\n * Show submit button\n */\n @Prop() showSubmit: boolean = false;\n\n /**\n * Submit button position, default is right\n */\n @Prop() submitPosition: KupCellSubmitButtonPosition =\n KupCellSubmitButtonPosition.right;\n\n /*-------------------------------------------------*/\n /* I n t e r n a l V a r i a b l e s */\n /*-------------------------------------------------*/\n\n /**\n * Instance of the KupManager class.\n */\n #kupManager: KupManager = kupManagerInstance();\n\n /*-------------------------------------------------*/\n /* P u b l i c M e t h o d s */\n /*-------------------------------------------------*/\n\n @Event({\n eventName: 'kup-cell-submit-click',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n kupCellSubmitClick: EventEmitter<KupCellSubmitClickEventPayload>;\n\n /**\n * Adds the given CSS classes to the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async addCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n this.data.cssClass = '';\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) < 0) {\n this.data.cssClass += ` ${cssClass}`;\n }\n }\n }\n this.refresh();\n }\n /**\n * Used to retrieve component's props values.\n * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.\n * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.\n */\n @Method()\n async getProps(descriptions?: boolean): Promise<GenericObject> {\n return getProps(this, KupCellProps, descriptions);\n }\n /**\n * This method is used to trigger a new render of the component.\n */\n @Method()\n async refresh(): Promise<void> {\n forceUpdate(this);\n }\n /**\n * Removes the given CSS classes from the cell's data.\n * @param {string[]} classes - Array of CSS classes.\n */\n @Method()\n async removeCssClasses(classes?: string[]): Promise<void> {\n if (!this.data.cssClass) {\n return;\n }\n if (classes) {\n for (let index = 0; index < classes.length; index++) {\n const cssClass = classes[index];\n if (this.data.cssClass.indexOf(cssClass) > 0) {\n this.data.cssClass = this.data.cssClass.replace(\n new RegExp(cssClass, 'g'),\n ''\n );\n }\n }\n }\n this.refresh();\n }\n /**\n * Sets the props to the component.\n * @param {GenericObject} props - Object containing props that will be set to the component.\n */\n @Method()\n async setProps(props: GenericObject): Promise<void> {\n setProps(this, KupCellProps, props);\n }\n\n /*-------------------------------------------------*/\n /* P r i v a t e M e t h o d s */\n /*-------------------------------------------------*/\n\n private didRenderInteractables() {\n if (this.dragEnabled) {\n const dataCb: KupDragDataTransferCallback = () => {\n return {\n cell: this.data,\n column: this.generateColumn(),\n id: this.rootElement.id,\n multiple: false,\n row: this.generateRow(),\n };\n };\n\n this.#kupManager.interact.draggable(\n this.rootElement.shadowRoot.querySelector(\n '#' + componentWrapperId\n ),\n {\n cursorChecker() {\n return null;\n },\n },\n {\n callback: dataCb,\n },\n KupDragEffect.BADGE\n );\n }\n }\n\n private generateColumn(): KupDataColumn {\n const colname: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : 'KUPCELL';\n const coltitle: string =\n this.data && this.data.obj && this.data.obj.t\n ? this.data.obj.t + ';' + this.data.obj.p\n : this.#kupManager.language.translate(\n KupLanguageGeneric.EMPTY_OBJECT\n );\n return {\n name: colname,\n title: coltitle,\n };\n }\n\n private generateRow(): KupDataRow {\n const col: KupDataColumn = this.generateColumn();\n const row: KupDataRow = { cells: {} };\n row.cells[col.name] = this.data;\n return row;\n }\n\n private submitClick(e: MouseEvent): void {\n e.stopPropagation();\n this.kupCellSubmitClick.emit({\n comp: this,\n id: this.rootElement.id,\n cell: this.data as KupDataCellOptions,\n });\n }\n\n /*-------------------------------------------------*/\n /* L i f e c y c l e H o o k s */\n /*-------------------------------------------------*/\n\n componentWillLoad() {\n this.#kupManager.dates.register(this);\n this.#kupManager.debug.logLoad(this, false);\n this.#kupManager.language.register(this);\n this.#kupManager.theme.register(this);\n }\n\n componentDidLoad() {\n this.#kupManager.debug.logLoad(this, true);\n }\n\n componentWillRender() {\n this.#kupManager.debug.logRender(this, false);\n }\n\n componentDidRender() {\n this.didRenderInteractables();\n this.#kupManager.debug.logRender(this, true);\n }\n\n render() {\n const props: FCellOptionsProps = {\n cell: this.data as KupDataCellOptions,\n column: this.generateColumn(),\n component: this,\n density: this.density,\n editable: this.data.isEditable,\n renderKup: true,\n row: this.generateRow(),\n };\n\n const sectionStyle = {\n display: this.showSubmit ? 'flex' : 'block',\n 'flex-direction': this.showSubmit ? this.submitPosition : '',\n };\n return (\n <Host>\n <style>\n {this.#kupManager.theme.setKupStyle(\n this.rootElement as KupComponent\n )}\n </style>\n <div id={componentWrapperId} style={sectionStyle}>\n <FCellOptions {...props}></FCellOptions>\n {this.showSubmit ? (\n <FButton\n buttonType=\"submit\"\n label={this.#kupManager.language.translate(\n KupLanguageGeneric.CONFIRM\n )}\n wrapperClass=\"form__submit\"\n onClick={(e) => {\n this.submitClick(e);\n }}\n ></FButton>\n ) : null}\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.#kupManager.dates.unregister(this);\n this.#kupManager.language.unregister(this);\n this.#kupManager.theme.unregister(this);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { KupEventPayload } from '../../components';
|
|
2
|
+
import { KupDataCellOptions } from '../../managers/kup-data/kup-data-declarations';
|
|
1
3
|
/**
|
|
2
4
|
* Props of the kup-cell component.
|
|
3
5
|
* Used to export every prop in an object.
|
|
@@ -8,3 +10,12 @@ export declare enum KupCellProps {
|
|
|
8
10
|
density = "The density of the cell, defaults at 'dense' and can be also set to 'wide' or 'medium'.",
|
|
9
11
|
dragEnabled = "When set to true, the component is draggable."
|
|
10
12
|
}
|
|
13
|
+
export declare enum KupCellSubmitButtonPosition {
|
|
14
|
+
top = "column-reverse",
|
|
15
|
+
bottom = "column",
|
|
16
|
+
left = "row-reverse",
|
|
17
|
+
right = "row"
|
|
18
|
+
}
|
|
19
|
+
export interface KupCellSubmitClickEventPayload extends KupEventPayload {
|
|
20
|
+
cell: KupDataCellOptions;
|
|
21
|
+
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
1
2
|
import { GenericObject } from '../../types/GenericTypes';
|
|
3
|
+
import { KupCellSubmitButtonPosition, KupCellSubmitClickEventPayload } from './kup-cell-declarations';
|
|
2
4
|
import { FCellPadding } from '../../f-components/f-cell/f-cell-declarations';
|
|
3
5
|
import { KupDataCell } from '../../managers/kup-data/kup-data-declarations';
|
|
4
6
|
export declare class KupCell {
|
|
7
|
+
#private;
|
|
5
8
|
/**
|
|
6
9
|
* References the root HTML element of the component (<kup-text-field>).
|
|
7
10
|
*/
|
|
@@ -27,9 +30,14 @@ export declare class KupCell {
|
|
|
27
30
|
*/
|
|
28
31
|
dragEnabled: boolean;
|
|
29
32
|
/**
|
|
30
|
-
*
|
|
33
|
+
* Show submit button
|
|
31
34
|
*/
|
|
32
|
-
|
|
35
|
+
showSubmit: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Submit button position, default is right
|
|
38
|
+
*/
|
|
39
|
+
submitPosition: KupCellSubmitButtonPosition;
|
|
40
|
+
kupCellSubmitClick: EventEmitter<KupCellSubmitClickEventPayload>;
|
|
33
41
|
/**
|
|
34
42
|
* Adds the given CSS classes to the cell's data.
|
|
35
43
|
* @param {string[]} classes - Array of CSS classes.
|
|
@@ -58,6 +66,7 @@ export declare class KupCell {
|
|
|
58
66
|
private didRenderInteractables;
|
|
59
67
|
private generateColumn;
|
|
60
68
|
private generateRow;
|
|
69
|
+
private submitClick;
|
|
61
70
|
componentWillLoad(): void;
|
|
62
71
|
componentDidLoad(): void;
|
|
63
72
|
componentWillRender(): void;
|
|
@@ -22,6 +22,7 @@ import { KupCalendarData, KupCalendarDateClickEventPayload, KupCalendarEventClic
|
|
|
22
22
|
import { KupCardClickPayload, KupCardData, KupCardEventPayload, KupCardFamily } from "./components/kup-card/kup-card-declarations";
|
|
23
23
|
import { KupCardListClickEventPayload, KupCardListData } from "./components/kup-card-list/kup-card-list-declarations";
|
|
24
24
|
import { FCellPadding } from "./f-components/f-cell/f-cell-declarations";
|
|
25
|
+
import { KupCellSubmitButtonPosition, KupCellSubmitClickEventPayload } from "./components/kup-cell/kup-cell-declarations";
|
|
25
26
|
import { ChartAspect, ChartAxis, ChartOfflineMode, ChartSerie, ChartTitle, ChartType, KupChartClickEvent, KupChartSort, KupChartTrendlines } from "./components/kup-chart/kup-chart-declarations";
|
|
26
27
|
import { KupCheckboxEventPayload } from "./components/kup-checkbox/kup-checkbox-declarations";
|
|
27
28
|
import { KupChipChangeEventPayload, KupChipEventPayload, KupChipNode } from "./components/kup-chip/kup-chip-declarations";
|
|
@@ -79,6 +80,7 @@ export { KupCalendarData, KupCalendarDateClickEventPayload, KupCalendarEventClic
|
|
|
79
80
|
export { KupCardClickPayload, KupCardData, KupCardEventPayload, KupCardFamily } from "./components/kup-card/kup-card-declarations";
|
|
80
81
|
export { KupCardListClickEventPayload, KupCardListData } from "./components/kup-card-list/kup-card-list-declarations";
|
|
81
82
|
export { FCellPadding } from "./f-components/f-cell/f-cell-declarations";
|
|
83
|
+
export { KupCellSubmitButtonPosition, KupCellSubmitClickEventPayload } from "./components/kup-cell/kup-cell-declarations";
|
|
82
84
|
export { ChartAspect, ChartAxis, ChartOfflineMode, ChartSerie, ChartTitle, ChartType, KupChartClickEvent, KupChartSort, KupChartTrendlines } from "./components/kup-chart/kup-chart-declarations";
|
|
83
85
|
export { KupCheckboxEventPayload } from "./components/kup-checkbox/kup-checkbox-declarations";
|
|
84
86
|
export { KupChipChangeEventPayload, KupChipEventPayload, KupChipNode } from "./components/kup-chip/kup-chip-declarations";
|
|
@@ -957,6 +959,14 @@ export namespace Components {
|
|
|
957
959
|
* @param props - Object containing props that will be set to the component.
|
|
958
960
|
*/
|
|
959
961
|
"setProps": (props: GenericObject) => Promise<void>;
|
|
962
|
+
/**
|
|
963
|
+
* Show submit button
|
|
964
|
+
*/
|
|
965
|
+
"showSubmit": boolean;
|
|
966
|
+
/**
|
|
967
|
+
* Submit button position, default is right
|
|
968
|
+
*/
|
|
969
|
+
"submitPosition": KupCellSubmitButtonPosition;
|
|
960
970
|
}
|
|
961
971
|
interface KupChart {
|
|
962
972
|
/**
|
|
@@ -4506,6 +4516,10 @@ export interface KupCardListCustomEvent<T> extends CustomEvent<T> {
|
|
|
4506
4516
|
detail: T;
|
|
4507
4517
|
target: HTMLKupCardListElement;
|
|
4508
4518
|
}
|
|
4519
|
+
export interface KupCellCustomEvent<T> extends CustomEvent<T> {
|
|
4520
|
+
detail: T;
|
|
4521
|
+
target: HTMLKupCellElement;
|
|
4522
|
+
}
|
|
4509
4523
|
export interface KupChartCustomEvent<T> extends CustomEvent<T> {
|
|
4510
4524
|
detail: T;
|
|
4511
4525
|
target: HTMLKupChartElement;
|
|
@@ -4849,7 +4863,18 @@ declare global {
|
|
|
4849
4863
|
prototype: HTMLKupCardListElement;
|
|
4850
4864
|
new (): HTMLKupCardListElement;
|
|
4851
4865
|
};
|
|
4866
|
+
interface HTMLKupCellElementEventMap {
|
|
4867
|
+
"kup-cell-submit-click": KupCellSubmitClickEventPayload;
|
|
4868
|
+
}
|
|
4852
4869
|
interface HTMLKupCellElement extends Components.KupCell, HTMLStencilElement {
|
|
4870
|
+
addEventListener<K extends keyof HTMLKupCellElementEventMap>(type: K, listener: (this: HTMLKupCellElement, ev: KupCellCustomEvent<HTMLKupCellElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
4871
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
4872
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
4873
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
4874
|
+
removeEventListener<K extends keyof HTMLKupCellElementEventMap>(type: K, listener: (this: HTMLKupCellElement, ev: KupCellCustomEvent<HTMLKupCellElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
4875
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
4876
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
4877
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
4853
4878
|
}
|
|
4854
4879
|
var HTMLKupCellElement: {
|
|
4855
4880
|
prototype: HTMLKupCellElement;
|
|
@@ -6519,6 +6544,15 @@ declare namespace LocalJSX {
|
|
|
6519
6544
|
* @default false
|
|
6520
6545
|
*/
|
|
6521
6546
|
"dragEnabled"?: boolean;
|
|
6547
|
+
"onKup-cell-submit-click"?: (event: KupCellCustomEvent<KupCellSubmitClickEventPayload>) => void;
|
|
6548
|
+
/**
|
|
6549
|
+
* Show submit button
|
|
6550
|
+
*/
|
|
6551
|
+
"showSubmit"?: boolean;
|
|
6552
|
+
/**
|
|
6553
|
+
* Submit button position, default is right
|
|
6554
|
+
*/
|
|
6555
|
+
"submitPosition"?: KupCellSubmitButtonPosition;
|
|
6522
6556
|
}
|
|
6523
6557
|
interface KupChart {
|
|
6524
6558
|
/**
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,f as i,h as n,H as s,d as o}from"./p-d7c15b0e.js";import{F as l}from"./p-cc32b7a2.js";import{F as a}from"./p-68f82cb0.js";import{k as r,a5 as u,F as c,g as h,s as p,h as f,al as d,ai as m,ak as b,aj as v,am as k,e as g}from"./p-a670a42e.js";import{F as y}from"./p-c4054aba.js";import{c as _}from"./p-635bb4b3.js";import"./p-e3062c19.js";import"./p-2b519589.js";import"./p-5d03c077.js";import"./p-06fe42ee.js";import"./p-0d2bf291.js";import"./p-029c7cbe.js";import"./p-d4a879fc.js";var x;(function(t){t["TAB"]="tab"})(x||(x={}));var w;(function(t){t["customStyle"]="Custom style of the component.";t["data"]="Actual data of the input panel.";t["hiddenSubmitButton"]="Creates a hidden submit button in order to submit the form with enter.";t["submitCb"]="Sets the callback function on submit form";t["optionsHandler"]="Sets the callback function to recieve options"})(w||(w={}));const j=12;const O=22;const z=t=>{if(t==0){return j/2}if(!t){return null}if(t===1){return 1.5*j}return t*j};const $=t=>{if(!t){return null}return t*O};const S=t=>{if(!t){return null}return(t-1)*O};const M=t=>{if(!t){return null}return t*j};const T=".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_input_panel_background_color:var(\n --kup-input-panel-background-color,\n var(--kup-layer-0)\n );--kup_input_panel_color:var(\n --kup-input-panel-color,\n var(--kup-text-secondary)\n );--kup_input_panel_font_family:var(\n --kup-input-panel-font-family,\n var(--kup-font-family)\n );--kup_input_panel_font_size:var(\n --kup-input-panel-font-size,\n var(--kup-font-size)\n );--kup_input_panel_label_alignment:var(--kup-input-panel-label-alignment);--kup_input_panel_label_width:var(--kup-input-panel-label-width);--kup_input_panel_padding:var(--kup-input-panel-padding, 1em 0)}:host .input-panel{background:var(--kup_input_panel_background_color);color:var(--kup_input_panel_color);display:flex;flex-grow:1;overflow:auto;padding:var(--kup_input_panel_padding);position:relative;gap:2rem}:host .input-panel--column{flex-direction:column}:host .input-panel__section_label_container{display:flex;flex-direction:column;gap:1rem}:host .input-panel__section{display:grid}:host .input-panel__section .f-cell__content>*{width:100%}:host .input-panel__horizontal-section{display:inline-grid}:host .input-panel .f-cell .f-checkbox .checkbox .checkbox__native-control{height:40px;width:40px}:host .input-panel__label_container{display:flex;flex-direction:column;justify-content:center}:host .input-panel__label_container>.f-cell{flex:1}:host .input-panel__tabs_container{display:flex;flex-direction:column;justify-content:center;gap:2rem}:host .input-panel .f-cell.number-cell .f-cell__content{--kup-textfield-font-family:var(--kup_cell_font_family);font-family:var(--kup_cell_font_family)}:host .input-panel .input-panel-label{display:flex;width:100%;height:100%;align-items:center;justify-content:center}:host .input-panel--absolute{height:87ch;justify-content:flex-end}:host .input-panel--absolute .input-panel-label{justify-content:start}:host .input-panel--absolute .mdc-text-field{height:unset !important}";const W=T;var D=undefined&&undefined.__classPrivateFieldGet||function(t,e,i,n){if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e==="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?n:i==="a"?n.call(t):n?n.value:e.get(t)};var C=undefined&&undefined.__classPrivateFieldSet||function(t,e,i,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e==="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,i):s?s.value=i:e.set(t,i),i};var E=undefined&&undefined.__rest||function(t,e){var i={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0)i[n]=t[n];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s<n.length;s++){if(e.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(t,n[s]))i[n[s]]=t[n[s]]}return i};var F,I,P,R,N,G,J,A,L,V,B,H,K,X,Y,q,Q,U,Z,tt,et,it,nt,st,ot,lt,at,rt,ut,ct,ht,pt,ft,dt,mt,bt,vt,kt,gt,yt,_t,xt,wt,jt,Ot,zt,$t,St,Mt,Tt;const Wt=document.documentElement;const Dt=class{constructor(i){t(this,i);this.kupReady=e(this,"kup-input-panel-ready",6);F.add(this);I.set(this,r());P.set(this,new Map([["SmeupTreeNode",D(this,F,"m",$t).bind(this)],["SmeupDataTree",D(this,F,"m",St).bind(this)],["SmeupTable",D(this,F,"m",Mt).bind(this)],["SmeupDataTable",D(this,F,"m",Mt).bind(this)]]));R.set(this,null);N.set(this,new Map([[u.AUTOCOMPLETE,["kup-autocomplete-input","kup-autocomplete-iconclick"]],[u.MULTI_AUTOCOMPLETE,["kup-autocomplete-input","kup-autocomplete-iconclick"]],[u.COMBOBOX,["kup-combobox-iconclick"]],[u.MULTI_COMBOBOX,["kup-combobox-iconclick"]]]));G.set(this,[]);J.set(this,new Map([[u.DATE,"kup-date-picker"],[u.TIME,"kup-time-picker"]]));A.set(this,new Map([[c.BUTTON_LIST,D(this,F,"m",K).bind(this)],[c.EDITOR,D(this,F,"m",X).bind(this)],[c.LABEL,D(this,F,"m",q).bind(this)],[c.TABLE,D(this,F,"m",Y).bind(this)]]));L.set(this,new Map([[x.TAB,D(this,F,"m",it).bind(this)]]));V.set(this,[]);this.customStyle="";this.data=null;this.hiddenSubmitButton=false;this.submitCb=null;this.optionsHandler=null;this.customButtonClickHandler=null;this.inputPanelCells=[];this.tabSelected=null}onDataChanged(){C(this,R,structuredClone(this.data),"f");if(D(this,G,"f").length){D(this,G,"f").map((({event:t,handler:e})=>{this.rootElement.removeEventListener(t,e)}));C(this,G,[],"f")}if(D(this,V,"f").length){D(this,V,"f").map((t=>{D(this,I,"f").keysBinding.unregister(t)}));C(this,V,[],"f")}D(this,F,"m",ot).call(this,this.data)}async getProps(t){return h(this,w,t)}async refresh(){i(this)}async setProps(t){p(this,w,t)}componentWillLoad(){D(this,I,"f").debug.logLoad(this,false);D(this,I,"f").language.register(this);D(this,I,"f").theme.register(this);this.onDataChanged()}componentDidLoad(){this.kupReady.emit({comp:this,id:this.rootElement.id});D(this,I,"f").debug.logLoad(this,true)}componentWillRender(){D(this,I,"f").debug.logRender(this,false)}componentDidRender(){const t=this.rootElement.shadowRoot;if(t){const e=t.querySelectorAll(".f-text-field");for(let t=0;t<e.length;t++){y(e[t])}}D(this,I,"f").debug.logRender(this,true)}render(){const t=Boolean(!this.inputPanelCells.length);const e=t?[n("p",null,D(this,I,"f").language.translate(f.EMPTY_DATA))]:this.inputPanelCells.map((t=>D(this,F,"m",B).call(this,t)));return n(s,{key:"525584941a5ebb2b3baea0b002139bb008e58065"},n("style",{key:"dda6f8455cbe807a5e6ab758404dfef606397a82"},D(this,I,"f").theme.setKupStyle(this.rootElement)),n("div",{key:"b932a344a74bca096f71290cc8fca64b962b952b",id:_},e))}disconnectedCallback(){D(this,I,"f").language.unregister(this);D(this,I,"f").theme.unregister(this)}get rootElement(){return o(this)}static get watchers(){return{data:["onDataChanged"]}}};I=new WeakMap,P=new WeakMap,R=new WeakMap,N=new WeakMap,G=new WeakMap,J=new WeakMap,A=new WeakMap,L=new WeakMap,V=new WeakMap,F=new WeakSet,B=function t(e){var i;const s=e.row.layout;const o=(s===null||s===void 0?void 0:s.horizontal)||false;let a;if(!((i=s===null||s===void 0?void 0:s.sections)===null||i===void 0?void 0:i.length)){a=e.cells.map((t=>D(this,F,"m",H).call(this,t.cell,e.row,t.column)))}else{a=s.absolute?D(this,F,"m",Z).call(this,e,s):D(this,F,"m",U).call(this,e,s)}const r={"input-panel":true,"input-panel--column":!o,"input-panel--absolute":s===null||s===void 0?void 0:s.absolute};return n("form",{class:r,name:this.rootElement.id,onSubmit:t=>{t.preventDefault();this.submitCb({value:{before:Object.assign({},D(this,R,"f")),after:D(this,F,"m",rt).call(this)}})}},a,!this.hiddenSubmitButton?n(l,{buttonType:"submit",label:D(this,I,"f").language.translate(f.CONFIRM),wrapperClass:"form__submit"}):null)},H=function t(e,i,s){if(!e){return}const o=D(this,A,"f").get(e.shape);if(o!==undefined){return o(e,s.name)}const l={cell:e,column:s,row:i,component:this,editable:true,renderKup:true,setSizes:true};const r=D(this,F,"m",Q).call(this,e,s.title);if(r){return n("div",{class:{"input-panel__label_container":true}},r,n(a,Object.assign({},l)))}return n(a,Object.assign({},l))},K=function t(e,i){return n(l,Object.assign({icon:e.icon,id:i},e.data,{wrapperClass:"form__submit"}))},X=function t(e,i){const s="kup-editor-save";const o=t=>{const e=this.inputPanelCells.reduce(((t,{cells:e})=>{if(!t){return e.find((({column:t})=>t.name===i)).cell}return t}),null);e.value=t.detail.htmlValue.replace(/\n/g,"<br>")};this.rootElement.addEventListener(s,o);D(this,G,"f").push({event:s,handler:o});return n("kup-editor",Object.assign({},e.data,{id:i,isReadOnly:!e.isEditable,showToolbar:true}))},Y=function t(e,i){return n("kup-data-table",Object.assign({id:i,editableData:true,showGroups:true,showFilters:true,showFooter:true},e.data))},q=function t(e,i){return n("span",{class:"input-panel-label",id:i},e.value)},Q=function t(e,i){if(!i){return null}const s=Wt.ketchup.data.cell.getType(e,e.shape);if(s===u.RADIO){return n("span",null,i)}return null},U=function t(e,i){const n=D(this,L,"f").get(i.sectionsType);return n?n(e,i.sections):i.sections.map((t=>D(this,F,"m",tt).call(this,e,t)))},Z=function t(e,i){return i.sections.map((t=>D(this,F,"m",et).call(this,e,t)))},tt=function t(e,i,s=false,o={}){var l,a,r,u;let c=[];if((l=i.sections)===null||l===void 0?void 0:l.length){c=i.sections.map((i=>D(this,F,"m",t).call(this,e,i)))}else if((a=i.content)===null||a===void 0?void 0:a.length){c=i.content.map((t=>D(this,F,"m",nt).call(this,e,t)))}const h={"input-panel__section":!i.horizontal,"input-panel__horizontal-section":i.horizontal};if((u=(r=e.row)===null||r===void 0?void 0:r.layout)===null||u===void 0?void 0:u.horizontal){o.maxWidth=i.dim}else{o.maxHeight=i.dim}const p=Object.assign(Object.assign({},o),{gap:+i.gap>0?`${i.gap}rem`:"","grid-template-columns":+i.gridCols>0?`repeat(${i.gridCols}, 1fr)`:"","grid-template-rows":+i.gridRows>0?`repeat(${i.gridRows}, 1fr)`:""});const f=n("div",{class:h,style:p},c);return i.title&&!s?n("div",{class:{"input-panel__section_label_container":true}},n("h3",null,i.title),f):f},et=function t(e,i){var s,o;let l=[];if((s=i.sections)===null||s===void 0?void 0:s.length){l=i.sections.map((i=>D(this,F,"m",t).call(this,e,i)))}else if((o=i.content)===null||o===void 0?void 0:o.length){l=i.content.map((t=>D(this,F,"m",st).call(this,e,t)))}const a=`${z(i.absoluteWidth)}px`;const r=`${$(i.absoluteHeight)}px`;const u=`${S(i.absoluteRow)}px`;const c=`${M(i.absoluteColumn)}px`;const h={position:"absolute",width:a,"min-width":a,"max-width":a,height:r,"min-height":r,"max-height":r,top:u,left:c,overflow:"auto"};return n("div",{style:h},l)},it=function t(e,i){if(!this.tabSelected){this.tabSelected=i[0].id||"0"}const s=i.map(((t,e)=>({active:(t.id||`${e}`)===this.tabSelected,value:t.title,icon:t.icon,id:t.id||`${e}`})));const o=i.map(((t,i)=>{const n=t.id||`${i}`;return D(this,F,"m",tt).call(this,e,t,true,{display:this.tabSelected!==n?"none":"grid"})}));const l=".tab-bar .tab-scroller .tab .tab__content { justify-content: flex-start; }";if(!D(this,G,"f").map((t=>t.event)).includes("kup-tabbar-click")){const t="kup-tabbar-click";const e=t=>{this.tabSelected=t.detail.node.id};this.rootElement.addEventListener(t,e);D(this,G,"f").push({event:t,handler:e})}return n("div",{class:{"input-panel__tabs_container":true}},n("kup-tab-bar",{data:s,customStyle:l}),o)},nt=function t(e,i){const s=e.cells.find((t=>t.column.name===i.id));const o=+i.colSpan>0?i.colSpan:!(+i.colSpan>0)&&!(+i.colStart>0)?1:null;const l=o?`span ${o}`:`${i.colStart}`;const a=+i.colEnd>0?`${i.colEnd}`:"";const r=+i.rowSpan>0?i.rowSpan:!(+i.rowSpan>0)&&!(+i.rowStart>0)?1:null;const u=r?`span ${r}`:`${i.rowStart}`;const c=+i.rowEnd>0?`${i.rowEnd}`:"";const h={"grid-column-start":l,"grid-column-end":a,"grid-row-start":u,"grid-row-end":c};if(!s||!s.cell){return}return n("div",{style:h},D(this,F,"m",H).call(this,s.cell,e.row,s.column))},st=function t(e,i){const s=e.cells.find((t=>t.column.name===i.id));if(!s||!s.cell){return}let o;if(s.cell.shape==c.DATE){o=i.absoluteLength>8?i.absoluteLength:8}else{o=i.absoluteLength}const l=`${z(o)}px`;const a=`${$(1)}px`;const r=`${S(i.absoluteRow)}px`;const u=`${M(i.absoluteColumn)}px`;const h={position:"absolute",width:l,"min-width":l,"max-width":l,height:a,"min-height":a,"max-height":a,top:r,left:u,overflow:"auto"};s.cell.data=Object.assign(Object.assign({},s.cell.data),{customStyle:(s.cell.data.customStyle||"")+".mdc-text-field {height: unset !important;}"});return n("div",{style:h},D(this,F,"m",H).call(this,s.cell,e.row,s.column))},ot=function t(e){var i;const n=((i=e===null||e===void 0?void 0:e.rows)===null||i===void 0?void 0:i.length)?e.rows.reduce(((t,i)=>{const n=e.columns.filter((t=>t.visible)).map((t=>{const e=structuredClone(i.cells[t.name]);const n=e?Object.assign(Object.assign({},e),{data:D(this,F,"m",lt).call(this,e,t),slotData:D(this,F,"m",ct).call(this,e,t),isEditable:true}):null;return{column:t,cell:n}}));return[...t,{cells:n,row:i}]}),[]):[];n.map((({cells:t})=>t.map((({cell:t,column:e})=>{const i=Wt.ketchup.data.cell.getType(t,t.shape);const n=D(this,J,"f").get(i);if(!n){return}const s=this.rootElement.shadowRoot.querySelector(`${n}[id=${e.name}]`);s===null||s===void 0?void 0:s.setValue(t.value)}))));this.inputPanelCells=n},lt=function t(e,i){const n=Object.assign(Object.assign({},D(this,F,"m",ut).call(this,e,i)),{disabled:!e.editable,id:i.name});const s=Wt.ketchup.data.cell.getType(e,e.shape);const o=e.data||{},l=E(o,["data"]);return s!==u.MULTI_AUTOCOMPLETE&&s!==u.MULTI_COMBOBOX?D(this,F,"m",at).call(this,n,Object.assign({},e.data)):Object.assign(Object.assign({},n),l)},at=function t(e,i){for(const n in i){if(i[n]instanceof Object&&!Array.isArray(i[n])&&n in e){e[n]=D(this,F,"m",t).call(this,e[n],i[n])}else{e[n]=i[n]}}return e},rt=function t(){return this.inputPanelCells.reduce(((t,e)=>{const i=Object.keys(e.row.cells).reduce(((t,i)=>{var n;const s=(n=e.cells.find((t=>t.column.name===i)))===null||n===void 0?void 0:n.cell;let o=s===null||s===void 0?void 0:s.value;if((s===null||s===void 0?void 0:s.shape)===c.TABLE){o=JSON.stringify(D(this,F,"m",Ot).call(this,s.data.data,i))}return Object.assign(Object.assign({},t),{[i]:Object.assign(Object.assign({},e.row.cells[i]),{value:o,obj:s===null||s===void 0?void 0:s.obj})})}),{});return{columns:[...t.columns,...e.cells.map((t=>t.column))],rows:[...t.rows,{cells:i,layout:e.row.layout}]}}),{columns:[],rows:[]})},ut=function t(e,i){if(!e){return null}const n=e.options;const s=i.title;const o=e.value;const l=Wt.ketchup.data.cell.getType(e,e.shape);const a=new Map([[u.AUTOCOMPLETE,D(this,F,"m",dt).bind(this)],[u.BUTTON_LIST,D(this,F,"m",ft).bind(this)],[u.CHART,D(this,F,"m",pt).bind(this)],[u.CHIP,D(this,F,"m",ht).bind(this)],[u.CHECKBOX,D(this,F,"m",mt).bind(this)],[u.COLOR_PICKER,D(this,F,"m",bt).bind(this)],[u.COMBOBOX,D(this,F,"m",dt).bind(this)],[u.EDITOR,D(this,F,"m",vt).bind(this)],[u.MULTI_AUTOCOMPLETE,D(this,F,"m",ht).bind(this)],[u.MULTI_COMBOBOX,D(this,F,"m",ht).bind(this)],[u.NUMBER,D(this,F,"m",wt).bind(this)],[u.DATE,D(this,F,"m",_t).bind(this)],[u.RADIO,D(this,F,"m",gt).bind(this)],[u.STRING,D(this,F,"m",kt).bind(this)],[u.SWITCH,D(this,F,"m",yt).bind(this)],[u.TABLE,D(this,F,"m",jt).bind(this)],[u.TIME,D(this,F,"m",xt).bind(this)]]);const r=a.get(l);return r?r(n,s,o,e,i.name):null},ct=function t(e,i){const n=Wt.ketchup.data.cell.getType(e,e.shape);if(!e.editable){return null}if(n===u.CHIP){return{trailingIcon:true,label:i.title,disabled:!e.editable,id:i.name,fullWidth:false}}if(n===u.MULTI_AUTOCOMPLETE||n===u.MULTI_COMBOBOX){return Object.assign(Object.assign({},D(this,F,"m",dt).call(this,e.options,i.title,null,e,i.name)),{showDropDownIcon:true,class:"",style:{width:"100%"},disabled:!e.editable,id:i.name})}return null},ht=function t(e,i,n){return d(n)},pt=function t(){return{data:{sizeX:"50px",offlineMode:{value:"8;4;5"},id:"i1012_GREF_0",cellId:"i1012_GREF_0",sizeY:"50px"}}},ft=function t(e,i,n,s,o){var l,a,r,u;s.data=s.data||{};s.data.onClick=()=>{s.fun?this.customButtonClickHandler({fun:s.fun,cellId:o,currentState:D(this,F,"m",rt).call(this)}):this.submitCb({value:{before:Object.assign({},D(this,R,"f")),after:D(this,F,"m",rt).call(this)},cell:o})};if(((l=s.data)===null||l===void 0?void 0:l.keyShortcut)&&!((a=s.data)===null||a===void 0?void 0:a.disabled)){D(this,V,"f").push((r=s.data)===null||r===void 0?void 0:r.keyShortcut);D(this,I,"f").keysBinding.register((u=s.data)===null||u===void 0?void 0:u.keyShortcut,s.data.onClick.bind(this))}return Object.assign({label:s.value,fun:s.fun},s.data)},dt=function t(e,i,n,s,o){const l=m(n,i,[]);if(s.fun){const t=Wt.ketchup.data.cell.getType(s,s.shape);const e=D(this,N,"f").get(t);if(!e){return}e.map((t=>{const e=t=>{D(this,F,"m",Tt).call(this,t.detail,s.fun,l,o,n)};this.rootElement.addEventListener(t,e);D(this,G,"f").push({event:t,handler:e})}))}else if(e){l.data["kup-list"].data=D(this,F,"m",zt).call(this,e,n)}return l},mt=function t(e,i,n){return b(n,i)},bt=function t(e,i,n){return{data:{"kup-text-field":{label:i}}}},vt=function t(e,i,n){return{initialValue:n}},kt=function t(e,i,n){return{label:i}},gt=function t(e,i,n){return v(n,e)},yt=function t(e,i,n){return k(n,i)},_t=function t(e,i,n){return{data:{"kup-text-field":{label:i}},initialValue:n}},xt=function t(e,i,n){return{data:{"kup-text-field":{label:i}}}},wt=function t(e,i,n){return{label:i}},jt=function t(e,i,n,s,o){try{let t=JSON.parse(s.value);if(!t){D(this,I,"f").debug.logMessage(this,`Empty value for ${o} cell.`,g.WARNING);return null}if(t.type!=="SmeupDataTable"){D(this,I,"f").debug.logMessage(this,`Wrong data table type for ${o} cell. Type \`SmeupDataTable\` in value expected`,g.ERROR);return null}return{data:{columns:t.columns.map((e=>Object.assign(Object.assign({},e),{obj:t.rows[0].cells[e.name].obj}))),rows:t.rows.map((e=>Object.assign(Object.assign({},e),{cells:Object.keys(e.cells).reduce(((i,n)=>{const s=t.columns.find((t=>t.name===n));return Object.assign(Object.assign({},i),{[n]:Object.assign(Object.assign({},e.cells[n]),{data:Object.assign(Object.assign({},D(this,F,"m",ut).call(this,e.cells[n],s)),{disabled:e.cells[n].editable===false,id:s.id})})})}),{})})))}}}catch(t){D(this,I,"f").debug.logMessage(this,`Invalid value for ${o} cell. Type \`SmeupDataTable\` expected`,g.ERROR);return null}},Ot=function t(e,i){const n=Object.assign(Object.assign({},e),{rows:e.rows.map((t=>Object.assign(Object.assign({},t),{cells:{}})))});const s=e.columns.filter((t=>t.isEditable)).map((t=>t.name));if(!s.length){return n}try{const t=JSON.parse(D(this,R,"f").rows[0].cells[i].value);n.rows=e.rows.map(((e,i)=>s.reduce(((n,s)=>{const o=t.rows[i].cells[s]&&e.cells[s].value!==t.rows[i].cells[s].value;if(o){return Object.assign(Object.assign({},t.rows[i]),{cells:Object.assign(Object.assign({},n.cells),{[s]:Object.assign(Object.assign({},t.rows[i].cells[s]),{value:e.cells[s].value})})})}return Object.assign(Object.assign({},t.rows[i]),{cells:n.cells})}),Object.assign(Object.assign({},t.rows[i]),{cells:{}}))));return n}catch(t){return n}},zt=function t(e,i){const n=D(this,P,"f").get(e.type);if(n){return n(e,i)}else{return e.map((t=>({value:t.label,id:t.id,selected:i===t.id})))}},$t=function t(e,i){return e.children.map((e=>{var n;return{id:e.content.codice,value:e.content.testo,selected:i===e.content.codice,children:((n=e.children)===null||n===void 0?void 0:n.length)?D(this,F,"m",t).call(this,e,i):[]}}))},St=function t(e,i){return e.children.map((e=>{var n;return{id:e.obj.k,value:e.value,selected:i===e.obj.k,children:((n=e.children)===null||n===void 0?void 0:n.length)?D(this,F,"m",t).call(this,e,i):[]}}))},Mt=function t(e,i){return e.rows.map((t=>{var e;const n=t.fields||t.cells;const[s,o]=Object.keys(n);return{id:n[s].value,value:((e=n[o])===null||e===void 0?void 0:e.value)||n[s].value,selected:i===n[s].value}}))},Tt=function t(e,i,n,s,o){if(e.id!==s||e.open===false){return}this.optionsHandler(i,e.inputValue,D(this,F,"m",rt).call(this),e.id).then((t=>{var i;n.data["kup-list"].data=(i=D(this,F,"m",zt).call(this,t,o))!==null&&i!==void 0?i:[];e.comp.refresh()}))};Dt.style=W;export{Dt as kup_input_panel};
|
|
2
|
-
//# sourceMappingURL=p-8aa58b0f.entry.js.map
|