@fastybird/smart-panel-admin 0.1.0-alpha.5
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/LICENSE.md +201 -0
- package/README.md +187 -0
- package/dist/assets/auth.constants-Dls_gTTx.js +1 -0
- package/dist/assets/card-add-form-C8k05jix.js +1 -0
- package/dist/assets/card-edit-form-B4Wy_x66.js +1 -0
- package/dist/assets/chunk-DECur_0Z.js +1 -0
- package/dist/assets/common-BY9Gg1EI.css +1 -0
- package/dist/assets/common-DlW3qRTQ.js +150 -0
- package/dist/assets/components-4pZvmdD8.js +1 -0
- package/dist/assets/components-BFT9ksvz.js +1 -0
- package/dist/assets/components-BGiFbtPn.css +1 -0
- package/dist/assets/components-BTNQr9V1.css +1 -0
- package/dist/assets/components-C59v4_pJ.css +1 -0
- package/dist/assets/components-CjdlFz1u.css +1 -0
- package/dist/assets/components-D8PpAJgM.js +1 -0
- package/dist/assets/components-DBRr1g1A.js +1 -0
- package/dist/assets/components-DRDcqY-d.js +1 -0
- package/dist/assets/components-DSMoiSYB.css +1 -0
- package/dist/assets/components-DlofbaXq.js +2 -0
- package/dist/assets/components-W7KcmsWr.css +1 -0
- package/dist/assets/components-o_FTQqv1.js +1 -0
- package/dist/assets/components-tvaQsmsk.js +2 -0
- package/dist/assets/composables-BTOG7VNs2.js +1 -0
- package/dist/assets/composables-CLHFuu4k.js +1 -0
- package/dist/assets/composables-COu_3hI8.js +1 -0
- package/dist/assets/composables-CU6q9-8B.js +1 -0
- package/dist/assets/composables-CjGTzpGj.js +1 -0
- package/dist/assets/composables-Cl0F9F_S.js +1 -0
- package/dist/assets/composables-CzSTR7jk.js +1 -0
- package/dist/assets/composables-DDYun9ja.js +0 -0
- package/dist/assets/composables-Da97cjje.js +1 -0
- package/dist/assets/composables-m3XA9ZFJ.js +1 -0
- package/dist/assets/dashboard-DilMazDB.js +2 -0
- package/dist/assets/dashboard.types-DHlozs9y.js +1 -0
- package/dist/assets/data-source-edit-form-mTdgdACg.js +1 -0
- package/dist/assets/drawer-Db27jij8.js +1 -0
- package/dist/assets/empty-C13Ke09q.js +1 -0
- package/dist/assets/extensions.constants-BtEcoiTe.js +1 -0
- package/dist/assets/gridstack-DrhE8fGa.css +1 -0
- package/dist/assets/gridstack.min-BC6WoZvX.js +3 -0
- package/dist/assets/icon-with-child-1Kb-D21P.css +1 -0
- package/dist/assets/icon-with-child-DmQ_XhQy.js +12 -0
- package/dist/assets/index-DU31qw7A.css +1 -0
- package/dist/assets/index-DW2Q2Ef8.js +16 -0
- package/dist/assets/input-number-BF0uWlX2.js +1 -0
- package/dist/assets/integration-config-dialog-DCF8K0UE.js +1 -0
- package/dist/assets/keys-C6Zi4a10.js +1 -0
- package/dist/assets/keys-CGGnS6tq.js +1 -0
- package/dist/assets/keys-Cm97UJHM.js +1 -0
- package/dist/assets/keys-DHSxrtbW.js +1 -0
- package/dist/assets/layout-config-Bs73Oq0w.css +1 -0
- package/dist/assets/layout-config-DkSTscYx.js +1 -0
- package/dist/assets/layout-default-LKbviw7y.js +1 -0
- package/dist/assets/layout-default-aEpEfGPk.css +1 -0
- package/dist/assets/layout-lock-Cp5xh9ot.js +1 -0
- package/dist/assets/layout-profile-ByHuBl2Y.js +1 -0
- package/dist/assets/layout-profile-wkO5hDf5.js +1 -0
- package/dist/assets/layout-sign-C8xK52Nq.js +1 -0
- package/dist/assets/layout-sign-CjJVcqWG.js +1 -0
- package/dist/assets/leaflet-src-B49UyrlR.js +1 -0
- package/dist/assets/leaflet-src.esm-YKGwaZsZ.js +1 -0
- package/dist/assets/list-data-sources-adjust-Bj-0Adap.js +1 -0
- package/dist/assets/list-data-sources-adjust-REFqavw6.css +1 -0
- package/dist/assets/list-locations-BM5Yvsew.js +1 -0
- package/dist/assets/list-users-dBZVseES.js +1 -0
- package/dist/assets/logs-entries.transformers-BRzpY2MS.js +1 -0
- package/dist/assets/marker-icon-2x-BCzqJChB.js +1 -0
- package/dist/assets/marker-icon-JzPv91fE.js +1 -0
- package/dist/assets/marker-shadow-tj6c2pB6.js +1 -0
- package/dist/assets/page-configure-1ENlHHe8.js +1 -0
- package/dist/assets/page-configure-BLho4eEA.js +1 -0
- package/dist/assets/page-configure-Bhbyv1tV.css +1 -0
- package/dist/assets/page-configure-beBdD2Qu.css +1 -0
- package/dist/assets/pages-cards.contants-B5RdaI3z.js +1 -0
- package/dist/assets/pages-tiles.constants-Day6cR-b.js +1 -0
- package/dist/assets/pagination-BN87kdDs.js +1 -0
- package/dist/assets/popover-DOg0KdzK.js +1 -0
- package/dist/assets/radio-BmI00y-5.js +1 -0
- package/dist/assets/scene-add-form-BcNSeauE.css +1 -0
- package/dist/assets/scene-add-form-DdmUnhy5.js +1 -0
- package/dist/assets/scene-edit-form-BeXK9ZM1.js +1 -0
- package/dist/assets/scene-edit-form-CDPMRZQT.css +1 -0
- package/dist/assets/select-data-source-plugin-CtXn9m8K.js +1 -0
- package/dist/assets/skeleton-DMwdgp1r.js +1 -0
- package/dist/assets/slider-YJlo4Ibo.js +1 -0
- package/dist/assets/steps-BIGbhQaO.js +1 -0
- package/dist/assets/system.exceptions-Ddzmz1RH.js +1 -0
- package/dist/assets/table-5pjI7ihN.js +1 -0
- package/dist/assets/tile-detail-COru-nDQ.js +1 -0
- package/dist/assets/tile-edit-form-jjo5FbvD.js +1 -0
- package/dist/assets/types-B8upWpl6.js +1 -0
- package/dist/assets/useBuddyChat-DREu7Tv5.js +1 -0
- package/dist/assets/useDataSources-Bx93bXrZ.js +1 -0
- package/dist/assets/useDevices-CuJhDHbf.js +1 -0
- package/dist/assets/useGeolocation-QxCQnrMH.js +2 -0
- package/dist/assets/useGeolocation-vh-t_kPv.css +1 -0
- package/dist/assets/useLocation-BM-8kEbz.js +1 -0
- package/dist/assets/usePage-DTL4RY9u.js +1 -0
- package/dist/assets/useSpaces-DnSZteHf.js +1 -0
- package/dist/assets/view-buddy-chat-DKryg2MX.js +1 -0
- package/dist/assets/view-card-add-CYZ9eXg5.js +1 -0
- package/dist/assets/view-card-edit-C5zcGDFz.js +1 -0
- package/dist/assets/view-channel-IJiMTDSG.js +1 -0
- package/dist/assets/view-channel-add-YCqERQS-.js +1 -0
- package/dist/assets/view-channel-edit-Dnct_m0O.js +1 -0
- package/dist/assets/view-channel-property-add-CoaudIGV.js +1 -0
- package/dist/assets/view-channel-property-edit-g0J-yPAY.js +1 -0
- package/dist/assets/view-channels--BS5J8Ro.js +1 -0
- package/dist/assets/view-config-module-edit-RW7YEgut.js +1 -0
- package/dist/assets/view-config-modules-Bi5Ib06n.js +1 -0
- package/dist/assets/view-config-modules-DvbJyCIK.css +1 -0
- package/dist/assets/view-config-plugin-edit-CviUNBYF.js +1 -0
- package/dist/assets/view-config-plugins-BBxIkmDq.js +1 -0
- package/dist/assets/view-config-plugins-BTCfejmZ.css +1 -0
- package/dist/assets/view-data-source-add-3vF7foLh.js +1 -0
- package/dist/assets/view-data-source-add-CNRJiOEl.js +1 -0
- package/dist/assets/view-data-source-edit-5xrflzsE.js +1 -0
- package/dist/assets/view-data-source-edit-BJeCPFQo.js +1 -0
- package/dist/assets/view-device-C6EIYm4K.js +1 -0
- package/dist/assets/view-device-DvKgjKr8.css +1 -0
- package/dist/assets/view-device-add-Dtg4hKNb.js +1 -0
- package/dist/assets/view-device-control-D14Yf_3B.js +1 -0
- package/dist/assets/view-device-edit-D3wfo1SZ.js +1 -0
- package/dist/assets/view-devices-CQyYakG6.js +1 -0
- package/dist/assets/view-display-BoDjtT_C.js +1 -0
- package/dist/assets/view-display-edit-DOBx3FR9.js +1 -0
- package/dist/assets/view-display-tokens-ylzZVdwc.js +1 -0
- package/dist/assets/view-displays-Bv-jxEGc.js +1 -0
- package/dist/assets/view-extension-detail-BAuEjk3c.js +1 -0
- package/dist/assets/view-extension-detail-BjYHp3ZH.css +1 -0
- package/dist/assets/view-extensions-xnAarDlC.js +1 -0
- package/dist/assets/view-location-BbOLMWOk.js +1 -0
- package/dist/assets/view-location-add-B3Bljsk2.js +1 -0
- package/dist/assets/view-location-edit-Csq0lDWt.js +1 -0
- package/dist/assets/view-locations-DBYp9MTj.css +1 -0
- package/dist/assets/view-locations-DF-FXbjv.js +1 -0
- package/dist/assets/view-lock-screen-ClIhVZNt.js +1 -0
- package/dist/assets/view-not-found-C0Nl0aC-.js +1 -0
- package/dist/assets/view-onboarding-vZhyo5Yl.js +1 -0
- package/dist/assets/view-page-DCmbFTnE.js +1 -0
- package/dist/assets/view-page-add-Cpzp9lXV.js +1 -0
- package/dist/assets/view-page-configure-b5zQ9PXr.js +1 -0
- package/dist/assets/view-page-configure-c8DaItoq.js +1 -0
- package/dist/assets/view-page-data-source-add-CJMzSAGm.js +1 -0
- package/dist/assets/view-page-data-source-edit-BI5AXiNz.js +1 -0
- package/dist/assets/view-page-edit-fw913SDe.js +1 -0
- package/dist/assets/view-page-plugin-BrlvGuEU.js +1 -0
- package/dist/assets/view-pages-DVvpvvkt.js +1 -0
- package/dist/assets/view-profile-general-jV0TcOZC.js +1 -0
- package/dist/assets/view-profile-security-CPgtYKl1.js +1 -0
- package/dist/assets/view-scene-add-CT1MOXtu.js +1 -0
- package/dist/assets/view-scene-edit-4B1IzMuu.js +1 -0
- package/dist/assets/view-scenes-DoDkd08z.js +1 -0
- package/dist/assets/view-sign-in-CC7zlx9Q.js +1 -0
- package/dist/assets/view-sign-up-B1l4jvOx.js +1 -0
- package/dist/assets/view-space-VnVbkvKT.js +1 -0
- package/dist/assets/view-space-add-DwONNuir.js +1 -0
- package/dist/assets/view-space-edit-44iZOBav.js +1 -0
- package/dist/assets/view-spaces-CuuMx0iT.js +1 -0
- package/dist/assets/view-spaces-onboarding-CN6qrfN6.js +1 -0
- package/dist/assets/view-stats-F8sYkha0.js +1 -0
- package/dist/assets/view-system-info-AVyQIUWe.js +1 -0
- package/dist/assets/view-system-log-detail-sgFgbNjX.js +1 -0
- package/dist/assets/view-system-logs-eIoNhI5c.js +1 -0
- package/dist/assets/view-tile-add-B7mnK_PA.js +1 -0
- package/dist/assets/view-tile-add-Yt_KOkky.js +1 -0
- package/dist/assets/view-tile-data-source-add-DxaZd4Dp.js +1 -0
- package/dist/assets/view-tile-data-source-edit-jzGg3dBQ.js +1 -0
- package/dist/assets/view-tile-edit-b2LCLrB5.js +1 -0
- package/dist/assets/view-tile-edit-hbO-vs_Y.js +1 -0
- package/dist/assets/view-tile-edit-kHjMhT9e.js +1 -0
- package/dist/assets/view-tile-t4cTwgz2.js +1 -0
- package/dist/assets/view-user-add-CdlbezB7.js +1 -0
- package/dist/assets/view-user-edit-S0Up49jC.js +1 -0
- package/dist/assets/view-users-B-m50sCU.js +1 -0
- package/dist/assets/vue-meta.esm-browser.min-3_YV25pX.js +1 -0
- package/dist/assets/weather-751GlpD1.js +2 -0
- package/dist/assets/weather-BKeryvnv.css +1 -0
- package/dist/assets/weather-forecast.transformers-CxZiOJKt.js +1 -0
- package/dist/assets/weather-icon-CkuFNv0P.js +1 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.html +93 -0
- package/package.json +155 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Dr as e,Vr as t,Xr as n,d as r,hi as i,mr as a,n as o,si as s,ui as c}from"./icon-with-child-DmQ_XhQy.js";import{Mn as l,S as u,T as d,Vr as f,Wn as p,_ as m,cn as h,f as g,ln as _,or as v,pn as y,qn as b,va as x,wt as S,y as C}from"./common-DlW3qRTQ.js";import{n as w}from"./logs-entries.transformers-BRzpY2MS.js";import{n as T,r as E,t as D}from"./extensions.constants-BtEcoiTe.js";var O=class e extends Error{exception;constructor(t,n=null){super(t),this.name=`ExtensionsException`,this.exception=n,Object.setPrototypeOf(this,e.prototype)}},k=class e extends O{code;constructor(t,n=null){super(t),this.name=`ExtensionsApiException`,this.code=n,Object.setPrototypeOf(this,e.prototype)}},A=class e extends O{constructor(t){super(t),this.name=`ExtensionsValidationException`,Object.setPrototypeOf(this,e.prototype)}},j=()=>{let e=C(),t=c([]),n=c(!1),r=c(new Map),i=0;return{actions:t,isLoading:n,executingActions:r,fetchActions:async r=>{let a=++i;n.value=!0;try{let{data:n}=await e.client.GET(`/modules/extensions/extensions/${r}/actions`);if(a!==i)return;n?.data?t.value=n.data:t.value=[]}catch{if(a!==i)return;t.value=[]}finally{a===i&&(n.value=!1)}},executeAction:async(t,n,i)=>{let a=r.value.get(n)??0;r.value.set(n,a+1);try{let{data:r,error:a}=await e.client.POST(`/modules/extensions/extensions/${t}/actions/${n}`,{body:{data:{params:i??{}}}});return r?.data?r.data:{success:!1,message:a?.error?.message??`Action execution failed`}}catch(e){return{success:!1,message:e instanceof Error?e.message:`Action execution failed`}}finally{let e=(r.value.get(n)??1)-1;e<=0?r.value.delete(n):r.value.set(n,e)}}}},M=Symbol(`useActions`),N=()=>{let e=j();return t(M,e),e},P=()=>e(M,null)??j(),F=e=>{let t=d().getStore(h),{semaphore:n,firstLoad:r}=x(t);return{extension:a(()=>t.findByType(i(e.type))),isLoading:a(()=>n.value.fetching.items||!r.value),fetchExtension:async()=>{await t.fetch()}}},I=p({search:b().optional(),kind:l([`all`,E.MODULE,E.PLUGIN]).default(`all`),enabled:l([`all`,`enabled`,`disabled`]).default(`all`),isCore:l([`all`,`core`,`addon`]).default(`all`)}),L={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},R={by:`name`,dir:`asc`},z=()=>{let e=d().getStore(h),{semaphore:t}=x(e),{filters:r,sort:i,pagination:o,viewMode:s,reset:l}=g({key:`${T}:extensions:list`,filters:{schema:I,defaults:L},sort:{defaults:[R]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:D},syncQuery:!0,version:1}),u=a({get:()=>s.value??`table`,set:e=>{s.value=e}}),f=a(()=>r.value.search!==L.search||r.value.kind!==L.kind||r.value.enabled!==L.enabled||r.value.isCore!==L.isCore),p=c(o.value.size||10),m=c(o.value.page||1),_=c(i.value.length>0?i.value[0]?.by:void 0),v=c(i.value.length>0?i.value[0]?.dir??null:null),b=a(()=>Object.values(e.data)),S=a(()=>y(b.value.filter(e=>(!r.value.search||e.type.toLowerCase().includes(r.value.search.toLowerCase())||e.name.toLowerCase().includes(r.value.search.toLowerCase())||e.description?.toLowerCase().includes(r.value.search.toLowerCase()))&&(r.value.kind===`all`||e.kind===r.value.kind)&&(r.value.enabled===`all`||r.value.enabled===`enabled`&&e.enabled||r.value.enabled===`disabled`&&!e.enabled)&&(r.value.isCore===`all`||r.value.isCore===`core`&&e.isCore||r.value.isCore===`addon`&&!e.isCore)),[e=>_.value===`enabled`?e.enabled?1:0:e[_.value]??``],[v.value===`asc`?`asc`:`desc`])),C=a(()=>S.value),w=a(()=>{let e=(m.value-1)*p.value,t=e+p.value;return C.value.slice(e,t)}),O=a(()=>S.value.filter(e=>e.kind===E.MODULE)),k=a(()=>S.value.filter(e=>e.kind===E.PLUGIN)),A=async()=>{await e.fetch()},j=a(()=>t.value.fetching.items),M=a(()=>C.value.length);return n(()=>o.value,e=>{m.value=e.page??1,p.value=e.size??10},{deep:!0}),n(()=>m.value,e=>{o.value.page=e}),n(()=>p.value,e=>{o.value.size=e}),n(()=>v.value,e=>{_.value===void 0||e===null?i.value=[]:i.value=[{by:_.value,dir:e}]}),n(()=>_.value,e=>{e===void 0||v.value===null?i.value=[]:i.value=[{by:e,dir:v.value}]}),{extensions:C,extensionsPaginated:w,modules:O,plugins:k,totalRows:M,areLoading:j,fetchExtensions:A,filters:r,filtersActive:f,paginateSize:p,paginatePage:m,sortBy:_,sortDir:v,viewMode:u,resetFilter:l}},B=()=>{let{t:e}=r(),t=d(),n=m(),i=t.getStore(h),a=t.getStore(_);return{toggleEnabled:async(t,r)=>{try{return await i.update({type:t,data:{enabled:r}}),n.success(e(r?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),r&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.pluginName===t);for(let t of e)t.lastError&&n.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof k&&t.code===400?n.error(e(`extensionsModule.messages.notConfigurableError`)):n.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let r=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(r.length===0){n.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await f.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:r.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`});let t=0,a=0;for(let e of r)try{await i.update({type:e.type,data:{enabled:!0}}),t++}catch{a++}t>0&&n.success(e(`extensionsModule.messages.bulkEnabled`,{count:t})),a>0&&n.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:a}))}catch{n.info(e(`extensionsModule.messages.bulkEnableCanceled`))}},bulkDisable:async t=>{let r=t.filter(e=>e.canToggleEnabled&&e.enabled);if(r.length===0){n.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await f.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:r.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`});let t=0,a=0;for(let e of r)try{await i.update({type:e.type,data:{enabled:!1}}),t++}catch{a++}t>0&&n.success(e(`extensionsModule.messages.bulkDisabled`,{count:t})),a>0&&n.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:a}))}catch{n.info(e(`extensionsModule.messages.bulkDisableCanceled`))}}}},V=e=>{let t=C(),r=u(),l=c({}),d=c(!1),f=c(!1),p=c(!1),m=c(void 0),h=c(!1),g=c([]),_=c(`all`),v=null,y={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},b=a(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),x=a(()=>{let e=b.value;if(g.value.length>0&&(e=e.filter(e=>g.value.includes(e.type))),_.value!==`all`){let t=Date.now()-y[_.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=a(()=>g.value.length>0||_.value!==`all`),E=()=>{g.value=[],_.value=`all`},D=async()=>{let n=i(e.extensionType);v=n,f.value=!0;try{let{data:e,error:i}=await t.client.GET(`/${o}/${S}/logs`,{params:{query:{extension:n,limit:50}}});if(v!==n)return;e===void 0?i&&r.error(`Failed to fetch extension logs:`,i):(l.value=Object.fromEntries(e.data.map(e=>{let t=w(e);return[t.id,t]})),p.value=!0,d.value=e.metadata.has_more,m.value=e.metadata.next_cursor)}catch(e){v===n&&r.error(`Error fetching extension logs:`,e)}finally{v===n&&(f.value=!1)}},O=async()=>{if(f.value||!d.value||!m.value)return;let n=i(e.extensionType),a=m.value;f.value=!0;try{let{data:e,error:i}=await t.client.GET(`/${o}/${S}/logs`,{params:{query:{extension:n,after_id:a,limit:50}}});if(v!==n)return;if(e!==void 0){let t=Object.fromEntries(e.data.map(e=>{let t=w(e);return[t.id,t]}));l.value={...l.value,...t},d.value=e.metadata.has_more,m.value=e.metadata.next_cursor}else i&&r.error(`Failed to load more extension logs:`,i)}catch(e){v===n&&r.error(`Error loading more extension logs:`,e)}finally{v===n&&(f.value=!1)}},k=async()=>{l.value={},m.value=void 0,d.value=!1,p.value=!1,await D()},A=null;return n(()=>h.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),s(()=>{A&&=(clearInterval(A),null)}),n(()=>i(e.extensionType),()=>{k()}),{logs:x,hasMore:d,isLoading:f,loaded:p,live:h,filterLevels:g,filterTimeRange:_,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},H=()=>{let e=d().getStore(_),{data:t,semaphore:n}=x(e);return{services:a(()=>Object.values(t.value)),areLoading:a(()=>n.value.fetching.items),fetchServices:async()=>{await e.fetch()}}},U=()=>{let{t:e}=r(),t=d(),n=m(),i=t.getStore(_);return{startService:async(t,r)=>{try{let a=await i.start({pluginName:t,serviceId:r});return a.state===v.started?n.success(e(`extensionsModule.services.messages.started`)):a.state===v.starting?n.info(e(`extensionsModule.services.messages.serviceStarting`)):a.lastError?n.warning(a.lastError):n.warning(e(`extensionsModule.services.messages.startError`)),a.state===v.started||a.state===v.starting}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.startError`)),!1}},stopService:async(t,r)=>{try{return await i.stop({pluginName:t,serviceId:r}),n.success(e(`extensionsModule.services.messages.stopped`)),!0}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.stopError`)),!1}},restartService:async(t,r)=>{try{return await i.restart({pluginName:t,serviceId:r}),n.success(e(`extensionsModule.services.messages.restarted`)),!0}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.restartError`)),!1}},isActing:(e,t)=>i.acting(e,t)}};export{z as a,N as c,A as d,B as i,k as l,H as n,F as o,V as r,P as s,U as t,O as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Xr as e,ci as t,d as n,fi as r,mr as i,n as a,ui as o}from"./icon-with-child-DmQ_XhQy.js";import{A as s,Bn as c,Fn as l,In as u,Jn as d,Pn as f,S as p,T as m,Tn as h,Un as g,Vr as _,Wn as v,Yn as y,_ as b,an as x,d as S,m as C,pn as w,qn as T,va as E,wn as D,y as O}from"./common-DlW3qRTQ.js";import{c as k,d as A,f as j,h as M,i as N,n as P,o as F,p as ee}from"./useLocation-BM-8kEbz.js";var I=()=>{let e=m().getStore(ee),{data:t,semaphore:n}=E(e);return{weatherDay:i(()=>t.value),isLoading:i(()=>t.value===null?n.value.getting:!1),fetchWeatherDay:async()=>{await e.get()}}},L=()=>{let e=m().getStore(M),{firstLoad:t,semaphore:n}=E(e);return{locations:i(()=>e.findAll().filter(e=>!e.draft)),areLoading:i(()=>n.value.fetching.items),loaded:i(()=>t.value),fetchLocations:async()=>{await e.fetch()}}},R={search:void 0,types:[],primary:`all`},z=()=>{let t=m().getStore(M),{firstLoad:n,semaphore:r}=E(t),{configModule:a}=h({type:A}),s=i(()=>a.value?.primaryLocationId??null),c=o(10),l=o(1),u=o({...R}),d=i(()=>u.value.search!==R.search||u.value.types.length>0||u.value.primary!==R.primary),f=o(`name`),p=o(`ascending`),g=i(()=>{let e=t.findAll().filter(e=>!(e.draft||u.value.search&&!e.name.toLowerCase().includes(u.value.search.toLowerCase())||u.value.types.length>0&&!u.value.types.includes(e.type)||u.value.primary===`primary`&&e.id!==s.value||u.value.primary===`secondary`&&e.id===s.value));return p.value===null?e:w(e,[e=>e[f.value]??``],[p.value===`ascending`?`asc`:`desc`])}),_=i(()=>{let e=(l.value-1)*c.value,t=e+c.value;return g.value.slice(e,t)}),v=async()=>{await t.fetch()},y=i(()=>r.value.fetching.items||!n.value),b=i(()=>n.value),x=i(()=>t.findAll().filter(e=>!e.draft).length);return e(()=>u.value,()=>{l.value=1},{deep:!0}),{locations:g,locationsPaginated:_,totalRows:x,areLoading:y,loaded:b,fetchLocations:v,filters:u,filtersActive:d,paginateSize:c,paginatePage:l,sortBy:f,sortDir:p,resetFilter:()=>{u.value={...R}},primaryLocationId:s}},B=()=>{let e=O(),t=p(),n=o({}),r=o(!1),s=o(!1),c=o(!1);return{weatherByLocation:i(()=>n.value),isLoading:r,hasError:s,fetchCompleted:c,fetchLocationsWeather:async()=>{if(!r.value){r.value=!0,s.value=!1;try{let{data:r,error:i,response:o}=await e.client.GET(`/${a}/${j}/weather`,{});if(r!==void 0&&Array.isArray(r.data)){let e={};for(let n of r.data)if(n.location_id)try{let t=P(n.current),r=n.location;e[n.location_id]={current:t,locationName:r?.name??``,country:r?.country??null}}catch(e){t.error(`[WEATHER] Failed to transform weather data for location ${n.location_id}`,e)}n.value=e,Object.keys(e).length===0&&(s.value=!0);return}let c=`Failed to fetch locations weather.`;throw i&&(c=i.message??c),new N(c,o?.status??500)}catch(e){if(s.value=!0,e instanceof N)throw e;t.error(`[WEATHER] Failed to fetch locations weather`,e)}finally{r.value=!1,c.value=!0}}}}},V=()=>{let{t:e}=n(),t=b(),r=m().getStore(M);return{add:async e=>r.add(e),edit:async e=>r.edit(e),remove:async n=>{let i=r.findById(n);if(i)try{await _.confirm(e(`weatherModule.messages.locations.confirmDeleteLocation`,{name:i.name}),e(`weatherModule.headings.deleteLocation`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`});try{await r.remove({id:n}),t.success(e(`weatherModule.messages.locations.deleted`))}catch{t.error(e(`weatherModule.messages.locations.notDeleted`))}}catch{t.info(e(`weatherModule.messages.locations.deleteCanceled`,{location:i.name}))}},bulkRemove:async n=>{if(n.length!==0)try{await _.confirm(e(`weatherModule.messages.locations.confirmBulkDelete`,{count:n.length}),e(`weatherModule.headings.bulkDeleteLocations`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of n)try{await r.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`weatherModule.messages.locations.bulkDeleted`,{count:i})),a>0&&t.error(e(`weatherModule.messages.locations.bulkDeleteFailed`,{count:a}))}catch{t.info(e(`weatherModule.messages.locations.bulkDeleteCanceled`))}}}},H=T().uuid(),U=v({id:H,draft:l().default(!1),type:T().trim().nonempty(),name:T().trim().nonempty(),order:g().int().nonnegative().default(0),createdAt:d([T().datetime({offset:!0}),u()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:d([T().datetime({offset:!0}),u()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)}).catchall(y());v({fetching:v({items:l().default(!1),item:f(H)}),creating:f(H),updating:f(H),deleting:f(H)}),v({id:H,type:T().trim().nonempty(),data:c({})}),v({id:H,data:v({type:T().trim().nonempty(),name:T().trim().nonempty()}).catchall(y())}),v({id:H}),v({id:H});var W=v({id:H.optional().default(S()),draft:l().optional().default(!1),data:v({type:T().trim().nonempty(),name:T().trim().nonempty()}).catchall(y())}),G=v({id:H,data:v({type:T().trim().nonempty(),name:T().trim().optional()}).catchall(y())});v({id:H}),v({id:H});var K=v({id:T().uuid().optional(),type:T().trim().nonempty(),name:T().trim().nonempty()}).catchall(y()),q=v({type:T().trim().nonempty(),name:T().trim().nonempty().optional()}).catchall(y());v({id:T().uuid(),type:T(),name:T().trim().nonempty(),order:g().int().nonnegative().default(0),created_at:T(),updated_at:T().nullable()}).catchall(y()),v({id:H,type:T().trim().nonempty(),name:T().trim().min(1,`Name is required`)});var J=v({name:T().trim().min(1,`Name is required`)}),Y=U,X=K,Z=q,Q=D(),te=({id:i})=>{let a=m().getStore(M),{t:s}=n(),c=b(),l=p(),u=o(k.NONE),d,f=t({name:a.findById(i.value)?.name??``}),h=C(r(f)),g=o(void 0),_=o(!1),v=async()=>{if(g.value.clearValidate(),!await g.value.validate())throw new F(`Form not valid`);let e=J.safeParse(f);if(!e.success)throw l.error(`[WEATHER_MODULE] Schema validation failed:`,e.error),new F(`Failed to validate update location model.`);u.value=k.WORKING;let t=a.findById(i.value);if(!t)throw new F(`Location not found.`);let n=s(`weatherModule.messages.locations.notUpdated`,{location:f.name});try{await a.edit({id:i.value,data:{type:t.type,...e.data}}),u.value=k.OK,c.success(s(`weatherModule.messages.locations.updated`,{location:f.name})),Object.assign(h,C(r(f))),_.value=!1}catch(e){throw u.value=k.ERROR,d=window.setTimeout(y,2e3),e instanceof N&&e.code===422?c.error(e.message):c.error(n),e}},y=()=>{window.clearTimeout(d),u.value=k.NONE};return e(()=>f,()=>{_.value=!(0,Q.isEqual)(r(f),h)},{deep:!0}),e(()=>a.findById(i.value),e=>{e&&!_.value&&(f.name=e.name,Object.assign(h,C(r(f))))}),{model:f,formEl:g,formChanged:_,submit:v}},$=()=>{let e=s(),{enabled:t}=x(),n=[`locationAddForm`,`locationEditForm`],r=[`locationSchema`,`locationAddFormSchema`,`locationEditFormSchema`,`locationCreateReqSchema`,`locationUpdateReqSchema`],a=i(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`weather-module`)))return!1;let t=n.length===0||!!e.components&&n.some(t=>e.components&&t in e.components),i=r.length===0||!!e.schemas&&r.some(t=>e.schemas&&t in e.schemas);return t||i}):!1));return{plugins:a,options:i(()=>w(a.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)).map(n=>({value:n.type,label:n.name?.trim()?n.name:e.name,disabled:!t(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>a.value.find(t=>t.type===e),getByType:e=>a.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`)))),getElement:e=>{for(let t of a.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`)));if(n)return n}}}},ne=({type:e})=>{let{getByType:t}=$(),n=i(()=>t(e));return{plugin:n,element:i(()=>(n.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`))))}};export{I as _,Y as a,U as c,G as d,H as f,L as g,z as h,X as i,q as l,B as m,$ as n,Z as o,V as p,te as r,K as s,ne as t,W as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Nr as e,Xr as t,ci as n,d as r,fi as i,mr as a,n as o,ui as s}from"./icon-with-child-DmQ_XhQy.js";import{Fr as c,Mn as l,Pn as u,S as d,T as f,Vr as p,Wn as m,_ as h,f as g,m as _,pn as v,qn as y,va as b,wn as x,y as S}from"./common-DlW3qRTQ.js";import{t as C}from"./keys-DHSxrtbW.js";var w=e=>{let n=f().getStore(C),{tokenRefreshTriggers:r}=b(n),i=d(),o=s([]),l=a(()=>e.value===null?null:n?.findById(e.value)??null),u=a(()=>e.value===null?!1:n?.getting(e.value)??!1),p=async()=>{if(e.value!==null)try{await n?.get({id:e.value})}catch(e){i.error(`Failed to fetch display:`,e)}},m=async()=>{if(e.value!==null)try{o.value=await n?.getTokens({id:e.value})??[]}catch(e){i.error(`Failed to fetch display tokens:`,e),o.value=[]}};return c(a(()=>{if(e.value===null||!n)return 0;let t=r.value;return!t||typeof t!=`object`?0:t[e.value]??0}),async()=>{if(e.value!==null)try{await m()}catch(e){i.error(`Failed to refresh tokens:`,e)}},{debounce:300}),t(()=>e.value,async e=>{if(e!==null&&n?.findById(e)===null)try{await p()}catch(e){i.error(`Failed to fetch display on id change:`,e)}},{immediate:!0}),{display:l,tokens:o,isLoading:u,fetchDisplay:p,fetchTokens:m,revokeToken:async()=>{if(e.value===null)return!1;let t=await n?.revokeToken({id:e.value});return t&&(o.value=[]),t??!1}}},T=`displays`,E=`displays-module`,D=`DisplaysModule.`,O=function(e){return e.DISPLAY_CREATED=`DisplaysModule.Display.Created`,e.DISPLAY_UPDATED=`DisplaysModule.Display.Updated`,e.DISPLAY_DELETED=`DisplaysModule.Display.Deleted`,e.DISPLAY_TOKEN_REVOKED=`DisplaysModule.Display.TokenRevoked`,e}({}),k=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),A={DISPLAYS:`displays_module-displays`,DISPLAYS_EDIT:`displays_module-displays_edit`,DISPLAY:`displays_module-display`,DISPLAY_EDIT:`displays_module-display_edit`,DISPLAY_TOKENS:`displays_module-display_tokens`},j=[{value:15,labelKey:`15s`},{value:30,labelKey:`30s`},{value:60,labelKey:`1min`},{value:120,labelKey:`2min`},{value:300,labelKey:`5min`},{value:600,labelKey:`10min`},{value:1800,labelKey:`30min`},{value:0,labelKey:`never`}],M=class extends Error{exception;constructor(e,t=null){super(e),this.name=`DisplaysException`,this.exception=t}},N=class extends M{constructor(e,t=null){super(e,t),this.name=`DisplaysValidationException`}},P=class extends M{code;constructor(e,t=null,n=null){super(e,n),this.name=`DisplaysApiException`,this.code=t}},F=x(),I=({display:a,messages:o})=>{let c=f().getStore(C),{t:l}=r(),u=h(),d=s(k.NONE),p,m=n({id:a.id,name:a.name,role:a.role,roomId:a.roomId,unitSize:a.unitSize,rows:a.rows,cols:a.cols,brightness:a.brightness,screenLockDuration:a.screenLockDuration,darkMode:a.darkMode,screenSaver:a.screenSaver,screenPowerOff:a.screenPowerOff,speaker:a.speaker,speakerVolume:a.speakerVolume,microphone:a.microphone,microphoneVolume:a.microphoneVolume,homeMode:a.homeMode,homePageId:a.homePageId,numberFormat:a.numberFormat??``,temperatureUnit:a.temperatureUnit??``,windSpeedUnit:a.windSpeedUnit??``,pressureUnit:a.pressureUnit??``,precipitationUnit:a.precipitationUnit??``,distanceUnit:a.distanceUnit??``,weatherLocationId:a.weatherLocationId??null}),g=_(i(m)),v=s(void 0),y=s(!1),b=async()=>{let e=o&&o.error?o.error:l(`displaysModule.messages.notEdited`,{display:a.name||a.macAddress});if(!v.value)throw new N(`Form element is not available`);if(v.value.clearValidate(),!await v.value.validate())throw new N(`Form not valid`);d.value=k.WORKING;try{let e={name:m.name||null,role:m.role,roomId:m.role===`room`?m.roomId:null,unitSize:m.unitSize,rows:m.rows,cols:m.cols,brightness:m.brightness,screenLockDuration:m.screenLockDuration,darkMode:m.darkMode,screenSaver:m.screenSaver,screenPowerOff:m.screenPowerOff,homeMode:m.homeMode,homePageId:m.homeMode===`explicit`?m.homePageId:null,numberFormat:m.numberFormat||null,temperatureUnit:m.temperatureUnit||null,windSpeedUnit:m.windSpeedUnit||null,pressureUnit:m.pressureUnit||null,precipitationUnit:m.precipitationUnit||null,distanceUnit:m.distanceUnit||null,weatherLocationId:m.weatherLocationId||null};a.audioOutputSupported&&(e.speaker=m.speaker,e.speakerVolume=m.speakerVolume),a.audioInputSupported&&(e.microphone=m.microphone,e.microphoneVolume=m.microphoneVolume),await c.edit({id:a.id,data:e})}catch(t){throw d.value=k.ERROR,p=window.setTimeout(x,2e3),t instanceof P&&t.code===422?u.error(t.message):u.error(e),t}return d.value=k.OK,p=window.setTimeout(x,2e3),u.success(l(o&&o.success?o.success:`displaysModule.messages.edited`,{display:a.name||a.macAddress})),y.value=!1,g=_(i(m)),`saved`},x=()=>{p!==void 0&&(window.clearTimeout(p),p=void 0),d.value=k.NONE};return t(m,()=>{y.value=!(0,F.isEqual)(i(m),g)}),e(()=>{x()}),{model:m,formEl:v,formChanged:y,submit:b,clear:x,formResult:d}},L=()=>{let e=f().getStore(C),{firstLoad:t}=b(e),n=a(()=>e?.findAll()??[]);return{displays:n,isLoading:a(()=>e?.fetching()??!1),isLoaded:a(()=>t.value),fetchDisplays:async()=>{await e?.fetch()},options:a(()=>n.value.map(e=>({value:e.id,label:e.name||e.macAddress})))}},R=m({search:y().optional(),darkMode:l([`all`,`enabled`,`disabled`]).default(`all`),screenSaver:l([`all`,`enabled`,`disabled`]).default(`all`),state:l([`all`,`offline`,`online`]).default(`all`),states:u(l([`connected`,`disconnected`,`lost`,`unknown`]))}),z={search:void 0,darkMode:`all`,screenSaver:`all`,state:`all`,states:[]},B={by:`name`,dir:`asc`},V=()=>{let e=f().getStore(C),{firstLoad:n,semaphore:r}=b(e),{filters:i,sort:o,pagination:c,reset:l}=g({key:`${E}:displays:list`,filters:{schema:R,defaults:z},sort:{defaults:[B]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=a(()=>i.value.search!==z.search||!(0,F.isEqual)(i.value.darkMode,z.darkMode)||!(0,F.isEqual)(i.value.screenSaver,z.screenSaver)||!(0,F.isEqual)(i.value.state,z.state)||!(0,F.isEqual)(i.value.states,z.states)),d=s(c.value.size||10),p=s(c.value.page||1),m=s(o.value.length>0?o.value[0]?.by:void 0),h=s(o.value.length>0?o.value[0]?.dir??null:null),_=a(()=>v(e.findAll().filter(e=>!e.draft&&(!i.value.search||e.id.toLowerCase().includes(i.value.search.toLowerCase())||e.name?.toLowerCase().includes(i.value.search.toLowerCase())||e.macAddress.toLowerCase().includes(i.value.search.toLowerCase())||e.version.toLowerCase().includes(i.value.search.toLowerCase()))&&(i.value.darkMode===`all`||i.value.darkMode===`enabled`&&e.darkMode||i.value.darkMode===`disabled`&&!e.darkMode)&&(i.value.screenSaver===`all`||i.value.screenSaver===`enabled`&&e.screenSaver||i.value.screenSaver===`disabled`&&!e.screenSaver)&&(!i.value.states||i.value.states.length===0||i.value.states.includes(e.status??`unknown`))&&(i.value.state===`all`||i.value.state===`online`&&e.status===`connected`||i.value.state===`offline`&&[`disconnected`,`lost`,`unknown`].includes(e.status??`unknown`))),[e=>{switch(m.value){case`name`:return e.name||e.macAddress;case`version`:return e.version;case`screenWidth`:return e.screenWidth??0;case`status`:return e.status??`unknown`;default:return e.name||e.macAddress}}],[h.value===`asc`?`asc`:`desc`])),y=a(()=>{let e=(p.value-1)*d.value,t=e+d.value;return _.value.slice(e,t)}),x=async()=>{await e.fetch()},S=a(()=>r.value.fetching.items||!n.value),w=a(()=>n.value),T=a(()=>e.findAll().filter(e=>!e.draft).length);return t(()=>c.value,e=>{p.value=e.page??1,d.value=e.size??10},{deep:!0}),t(()=>p.value,e=>{c.value.page=e}),t(()=>d.value,e=>{c.value.size=e}),t(()=>h.value,e=>{m.value===void 0||e===null?o.value=[]:o.value=[{by:m.value,dir:e}]}),t(()=>m.value,e=>{e===void 0?o.value=[]:o.value=[{by:e,dir:h.value}]}),{displays:_,displaysPaginated:y,totalRows:T,areLoading:S,loaded:w,fetchDisplays:x,filters:i,filtersActive:u,paginateSize:d,paginatePage:p,sortBy:m,sortDir:h,resetFilter:l}},H=()=>{let e=f().getStore(C),{t}=r(),n=h();return{remove:async r=>{let i=e?.findById(r);if(!i){n.error(t(`displaysModule.messages.notFound`));return}try{await p.confirm(t(`displaysModule.messages.confirmRemove`,{name:i.name||i.macAddress}),t(`displaysModule.headings.removeDisplay`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`}),await e.remove({id:r}),n.success(t(`displaysModule.messages.removed`))}catch{}},bulkRemove:async r=>{if(r.length!==0)try{await p.confirm(t(`displaysModule.messages.confirmBulkRemove`,{count:r.length}),t(`displaysModule.headings.removeBulkDisplays`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let t of r)try{await e.remove({id:t.id}),i++}catch{a++}i>0&&n.success(t(`displaysModule.messages.bulkRemoved`,{count:i})),a>0&&n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:a}))}catch{}}}},U=()=>{let e=S(),t=d(),n=s(null),r=s(!1),i=s(!1),c=a(()=>n.value?.available??!1),l=a(()=>n.value?.active??!1),u=a(()=>n.value?.deploymentMode??`combined`),f=a(()=>n.value?.remainingTime??null),p=a(()=>{let e=f.value;return e===null?0:Math.ceil(e/1e3)}),m=a(()=>{let e=p.value;return e<=0?`0:00`:`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`}),h=async()=>{try{r.value=!0;let{data:t}=await e.client.GET(`/${o}/${T}/displays/permit-join/status`);if(t?.data){let e=t.data;n.value={active:e.active??!1,expiresAt:e.expires_at?new Date(e.expires_at):null,remainingTime:e.remaining_time??null,deploymentMode:e.deployment_mode??`combined`,available:e.available??!1}}}catch(e){throw t.error(`Failed to fetch permit join status`,e),new M(`Failed to fetch permit join status`)}finally{r.value=!1}};return{status:n,loading:r,activating:i,isAvailable:c,isActive:l,deploymentMode:u,remainingTime:f,remainingTimeSeconds:p,remainingTimeFormatted:m,fetchStatus:h,activate:async()=>{try{i.value=!0,await e.client.POST(`/${o}/${T}/displays/permit-join`),await h()}catch(e){throw t.error(`Failed to activate permit join`,e),new M(`Failed to activate permit join`)}finally{i.value=!1}},deactivate:async()=>{try{i.value=!0,await e.client.DELETE(`/${o}/${T}/displays/permit-join`,{}),await h()}catch(e){throw t.error(`Failed to deactivate permit join`,e),new M(`Failed to deactivate permit join`)}finally{i.value=!1}}}};export{I as a,N as c,T as d,O as f,w as g,j as h,L as i,D as l,A as m,H as n,P as o,k as p,V as r,M as s,U as t,E as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Dr as e,Xr as t,_i as n,ci as r,d as i,fi as a,mr as o,n as s,ui as c}from"./icon-with-child-DmQ_XhQy.js";import{Fn as l,Gt as u,Ht as d,Jn as f,Jt as p,Kt as m,L as h,Lt as g,Nt as _,Pn as v,Qt as y,Rt as b,T as x,Un as S,Ut as C,Vn as w,Vr as T,Vt as E,Wn as D,Yt as O,Zt as k,_ as A,dr as j,f as M,kt as ee,l as te,m as N,pn as P,qn as F,va as I,wn as ne,y as L,zn as re,zt as ie}from"./common-DlW3qRTQ.js";import{t as ae}from"./keys-DHSxrtbW.js";import{a as R,i as z,n as oe}from"./useSpaces-DnSZteHf.js";import{a as se}from"./keys-Cm97UJHM.js";var ce=e=>{let t=x().getStore(y),{data:n,semaphore:r}=I(t);return{space:o(()=>e.value?n.value[e.value]??null:null),fetching:o(()=>e.value?r.value.fetching.item.includes(e.value):!1),fetchSpace:async()=>e.value?t.get({id:e.value}):null,editSpace:async n=>{if(!e.value)throw Error(`Space ID is required`);return t.edit({id:e.value,data:n})},removeSpace:async()=>{if(!e.value)throw Error(`Space ID is required`);return t.remove({id:e.value})}}},le=D({search:F().optional(),type:f([w(d),re(`all`)]).default(`all`)}),B=D({name:F().min(1),description:F().nullable().optional(),category:f([w(E),w(C)]).nullable().optional(),icon:F().nullable().optional(),displayOrder:S().int().min(0).default(0),parentId:F().uuid().nullable().optional()}),ue=B.extend({id:F().uuid(),type:w(d).default(d.ROOM)}),de=B.extend({id:F().uuid(),type:w(d),suggestionsEnabled:l().default(!0),statusWidgets:v(oe).nullable().optional()}),V=ne(),H=({id:e})=>{let n=x().getStore(y),{t:o}=i(),s=A(),l=c(_.NONE),u=c(null),f,p=r({id:e,type:d.ROOM,name:``,description:null,category:null,icon:null,displayOrder:0,parentId:null}),m=N(a(p)),h=c(void 0),g=c(!1),v=async()=>{if(h.value.clearValidate(),!await h.value.validate())throw Error(`Form not valid`);let t=ue.safeParse(p);if(!t.success)throw Error(`Failed to validate create space model.`);l.value=_.WORKING;let r=o(`spacesModule.messages.notCreated`,{space:p.name});try{u.value=await n.add({id:e,data:{name:t.data.name,type:t.data.type,category:t.data.category??null,description:t.data.description??null,icon:t.data.icon??null,displayOrder:t.data.displayOrder,parentId:t.data.parentId??null}})}catch(e){throw l.value=_.ERROR,u.value=null,f=window.setTimeout(b,2e3),s.error(r),e}return l.value=_.OK,f=window.setTimeout(b,2e3),s.success(o(`spacesModule.messages.created`,{space:p.name})),`added`},b=()=>{window.clearTimeout(f),l.value=_.NONE,u.value=null};return t(p,()=>{g.value=!(0,V.isEqual)(a(p),m)}),{model:p,formEl:h,formChanged:g,submit:v,clear:b,formResult:l,createdSpace:u}};function fe(e){let t=e=>{let t=u(e);return e===d.ROOM?[...t].sort((e,t)=>e.localeCompare(t)):t},r=e=>{let t=m(e);return t&&t.length>0?t:null};return{getCategoryOptions:t,getCategoryGroups:r,getCategoryTemplates:e=>p(e),categoryOptions:o(()=>t(n(e)??d.ROOM)),categoryGroups:o(()=>r(n(e)??d.ROOM)),currentTemplates:o(()=>p(n(e)??d.ROOM))}}var pe=(e,t)=>{let n=x(),r=n.getStore(se),i=n.getStore(y),{semaphore:a,firstLoad:s}=I(r),l=c(!1);return{devices:o(()=>{if(!e.value||!t.value)return[];let n=r.findAll().filter(e=>!e.draft),i;return i=t.value===d.ROOM?n.filter(t=>t.roomId===e.value):n.filter(t=>t.zoneIds.includes(e.value)),i.sort((e,t)=>e.name.localeCompare(t.name))}),loading:o(()=>!!(l.value||a.value.fetching.items||!s.value)),firstLoadFinished:o(()=>s.value),fetchDevices:async()=>{await r.fetch()},addDevice:async n=>{if(!e.value||!t.value)throw Error(`Space ID and type are required`);l.value=!0;try{if(t.value===d.ROOM){let t=r.findById(n);if(!t)throw Error(`Device not found`);await r.edit({id:n,data:{type:t.type,roomId:e.value}})}else{let t=i.findById(e.value);if(t&&O(t.category))throw Error(`Cannot assign devices to floor zones. Floor membership is derived from room assignment.`);await r.addZone({id:n,zoneId:e.value})}}finally{l.value=!1}},removeDevice:async n=>{if(!e.value||!t.value)throw Error(`Space ID and type are required`);l.value=!0;try{if(t.value===d.ROOM){let e=r.findById(n);if(!e)throw Error(`Device not found`);await r.edit({id:n,data:{type:e.type,roomId:null}})}else await r.removeZone({id:n,zoneId:e.value})}finally{l.value=!1}},reassignDevice:async(e,t)=>{l.value=!0;try{let n=r.findById(e);if(!n)throw Error(`Device not found`);await r.edit({id:e,data:{type:n.type,roomId:t}})}finally{l.value=!1}}}},me=e=>{let t=x().getStore(ae),n=c(!1);return{displays:o(()=>e.value?t.findAll().filter(t=>t.roomId===e.value).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)):[]),loading:o(()=>n.value?!0:t.fetching()),fetchDisplays:async()=>{await t.fetch()},reassignDisplay:async(e,r)=>{n.value=!0;try{await t.edit({id:e,data:{roomId:r}})}finally{n.value=!1}},removeDisplay:async e=>{n.value=!0;try{await t.edit({id:e,data:{roomId:null}})}finally{n.value=!1}}}},he=({space:e})=>{let n=()=>`value`in e?e.value:e,o=n(),s=x().getStore(y),{t:l}=i(),u=A(),d=c(_.NONE),f,p=r({id:o.id,type:o.type,name:o.name,description:o.description,category:o.category,icon:o.icon,displayOrder:o.displayOrder,parentId:o.parentId,suggestionsEnabled:o.suggestionsEnabled,statusWidgets:o.statusWidgets?[...o.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null}),m=N(a(p)),h=c(void 0),g=c(!1),v=async()=>{if(h.value.clearValidate(),!await h.value.validate())throw Error(`Form not valid`);let e=de.safeParse(p);if(!e.success)throw Error(`Failed to validate edit space model.`);d.value=_.WORKING;let t=l(`spacesModule.messages.notEdited`,{space:p.name});try{await s.edit({id:o.id,data:{name:e.data.name,type:e.data.type,category:e.data.category??null,description:e.data.description??null,icon:e.data.icon??null,displayOrder:e.data.displayOrder,parentId:e.data.parentId??null,suggestionsEnabled:e.data.suggestionsEnabled,statusWidgets:e.data.statusWidgets??null}})}catch(e){throw d.value=_.ERROR,f=window.setTimeout(b,2e3),u.error(t),e}return d.value=_.OK,f=window.setTimeout(b,2e3),g.value=!1,m=N(a(p)),`saved`},b=()=>{window.clearTimeout(f),d.value=_.NONE};return t(p,()=>{g.value=!(0,V.isEqual)(a(p),m)}),t(()=>n(),e=>{e&&(p.id=e.id,p.type=e.type,p.name=e.name,p.description=e.description,p.category=e.category,p.icon=e.icon,p.displayOrder=e.displayOrder,p.parentId=e.parentId,p.suggestionsEnabled=e.suggestionsEnabled,p.statusWidgets=e.statusWidgets?[...e.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null,m=N(a(p)),g.value=!1)},{deep:!0}),{model:p,formEl:h,formChanged:g,submit:v,clear:b,formResult:d}},ge=e=>({propertyId:e.property_id??e.propertyId,dataType:e.data_type??e.dataType,format:e.format??null}),_e=e=>{let t=e.capabilities??{},n=e.links??{},r={};return(n.input_select||n.inputSelect)&&(r.inputSelect=ge(n.input_select??n.inputSelect)),{endpointId:e.endpoint_id,spaceId:e.space_id,deviceId:e.device_id,type:e.type,name:e.name,capabilities:{power:t.power??!1,volume:t.volume??!1,mute:t.mute??!1,playback:t.playback??!1,track:t.track??!1,inputSelect:t.input_select??!1,remoteCommands:t.remote_commands??!1},links:r}},U=e=>({id:e.id,spaceId:e.space_id,activityKey:e.activity_key,displayEndpointId:e.display_endpoint_id??null,audioEndpointId:e.audio_endpoint_id??null,sourceEndpointId:e.source_endpoint_id??null,remoteEndpointId:e.remote_endpoint_id??null,displayInputId:e.display_input_id??null,audioInputId:e.audio_input_id??null,sourceInputId:e.source_input_id??null,audioVolumePreset:e.audio_volume_preset??null,createdAt:e.created_at,updatedAt:e.updated_at??null}),W=e=>({stepIndex:e.step_index??e.stepIndex??0,critical:e.critical??!1,reason:e.reason??``,targetDeviceId:e.target_device_id??e.targetDeviceId,kind:e.kind,propertyId:e.property_id??e.propertyId,commandId:e.command_id??e.commandId,label:e.label,timestamp:e.timestamp}),G=e=>({displayDeviceId:e.display_device_id??e.displayDeviceId,audioDeviceId:e.audio_device_id??e.audioDeviceId,sourceDeviceId:e.source_device_id??e.sourceDeviceId,remoteDeviceId:e.remote_device_id??e.remoteDeviceId}),K=e=>({stepsTotal:e.steps_total??e.stepsTotal??0,stepsSucceeded:e.steps_succeeded??e.stepsSucceeded??0,stepsFailed:e.steps_failed??e.stepsFailed??0,failures:Array.isArray(e.failures)?e.failures.map(W):void 0,warnings:Array.isArray(e.warnings)?e.warnings.map(W):void 0,errors:Array.isArray(e.errors)?e.errors.map(W):void 0,warningCount:e.warning_count??e.warningCount??0,errorCount:e.error_count??e.errorCount??0}),ve=e=>{let t=e.action??{};return{targetDeviceId:e.target_device_id??e.targetDeviceId??``,action:{kind:t.kind??`unknown`,propertyId:t.property_id??t.propertyId,value:t.value},critical:e.critical??!1,label:e.label}},ye=e=>{let t=e.resolved,n=e.plan??[],r=e.warnings??[];return{spaceId:e.space_id??e.spaceId??``,activityKey:e.activity_key??e.activityKey??``,resolved:t?G(t):{},plan:n.map(ve),warnings:r.map(e=>({label:e.label??``}))}},q=e=>{let t=e.resolved,n=e.summary;return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t?G(t):void 0,summary:n?K(n):void 0,warnings:e.warnings}},be=e=>{let t,n;if(e.resolved)try{t=G(typeof e.resolved==`string`?JSON.parse(e.resolved):e.resolved)}catch{}if(e.last_result)try{n=K(typeof e.last_result==`string`?JSON.parse(e.last_result):e.last_result)}catch{}return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t,summary:n,warnings:e.warnings,activatedAt:e.activated_at??null,updatedAt:e.updated_at??null}},xe=e=>{switch(e){case`watch`:return`primary`;case`listen`:return`success`;case`gaming`:return`danger`;case`background`:return`info`;default:return`info`}},Se=e=>{switch(e){case`watch`:return`mdi:television-play`;case`listen`:return`mdi:music`;case`gaming`:return`mdi:controller`;case`background`:return`mdi:music-note`;default:return`mdi:help-circle`}},Ce=e=>{let t=L(),n=c([]),r=c([]),i=c(null),a=c(!1),l=c(!1),u=c(!1),d=c(!1),f=c(!1),p=c(!1),m=c(!1),h=c(null),g=c(null),_=c(null),v=c(!1),y=c(null),x=c(null),S=o(()=>n.value),C=o(()=>r.value),w=async()=>{if(!(!e.value||a.value)){a.value=!0,h.value=null;try{let{data:r,error:i}=await t.client.GET(`/${s}/${b}/spaces/{id}/media/endpoints`,{params:{path:{id:e.value}}});if(i||!r)throw Error(`Failed to fetch media endpoints`);n.value=((r.data??{}).endpoints??[]).map(_e)}catch(e){h.value=e instanceof Error?e.message:`Unknown error`}finally{a.value=!1}}},T=async()=>{if(!(!e.value||l.value)){l.value=!0,g.value=null;try{let{data:n,error:i}=await t.client.GET(`/${s}/${b}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to fetch media bindings`);r.value=(n.data??[]).map(U)}catch(e){g.value=e instanceof Error?e.message:`Unknown error`}finally{l.value=!1}}},E=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);p.value=!0,_.value=null;try{let{data:a,error:o}=await t.client.PATCH(`/${s}/${b}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}},body:{data:{display_endpoint_id:i.displayEndpointId,audio_endpoint_id:i.audioEndpointId,source_endpoint_id:i.sourceEndpointId,remote_endpoint_id:i.remoteEndpointId,display_input_id:i.displayInputId,audio_input_id:i.audioInputId,source_input_id:i.sourceInputId,audio_volume_preset:i.audioVolumePreset}}});if(o||!a||!a.data){let e=o?.message??`Failed to save binding`;throw Error(e)}let c=U(a.data),l=r.value.findIndex(e=>e.id===c.id);return l>=0&&(r.value[l]=c),c}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,e}finally{p.value=!1}},D=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);p.value=!0,_.value=null;try{let{data:a,error:o}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}},body:{data:{activity_key:n,display_endpoint_id:i.displayEndpointId??void 0,audio_endpoint_id:i.audioEndpointId??void 0,source_endpoint_id:i.sourceEndpointId??void 0,remote_endpoint_id:i.remoteEndpointId??void 0,display_input_id:i.displayInputId??void 0,audio_input_id:i.audioInputId??void 0,source_input_id:i.sourceInputId??void 0,audio_volume_preset:i.audioVolumePreset??void 0}}});if(o||!a||!a.data){let e=o?.message??`Failed to create binding`;throw Error(e)}let c=U(a.data);return r.value.push(c),c}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,e}finally{p.value=!1}},O=async n=>{if(!e.value)throw Error(`Space ID is required`);p.value=!0,_.value=null;try{let{error:i}=await t.client.DELETE(`/${s}/${b}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}}});if(i){let e=i?.message??`Failed to delete binding`;throw Error(e)}r.value=r.value.filter(e=>e.id!==n)}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,e}finally{p.value=!1}},k=async()=>{if(e.value){m.value=!0;try{let{data:n,error:i}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/bindings/apply-defaults`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to apply defaults`);r.value=(n.data??[]).map(U)}catch(e){throw g.value=e instanceof Error?e.message:`Unknown error`,e}finally{m.value=!1}}},A=async()=>{if(!(!e.value||u.value)){u.value=!0,y.value=null,x.value=null;try{let{data:n,error:r}=await t.client.GET(`/${s}/${b}/spaces/{id}/media/activities/active`,{params:{path:{id:e.value}}});if(r||!n)throw Error(`Failed to fetch active state`);let a=n.data;i.value=a?be(a):null}catch(e){y.value=e instanceof Error?e.message:`Unknown error`,x.value=`fetch`}finally{u.value=!1}}},j=async(e=3,t=1e3)=>{for(let n=0;n<e&&(await new Promise(e=>setTimeout(e,t)),await A(),!(i.value?.state===`active`||i.value?.state===`failed`||i.value?.state===`deactivated`));n++);};return{endpoints:S,bindings:C,activeState:i,fetchingEndpoints:a,fetchingBindings:l,fetchingActiveState:u,activating:d,deactivating:f,previewing:v,savingBinding:p,applyingDefaults:m,endpointsError:h,bindingsError:g,saveError:_,activationError:y,activationErrorSource:x,fetchEndpoints:w,fetchBindings:T,fetchActiveState:A,activate:async n=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,y.value=null,x.value=null,i.value={activityKey:n,state:`activating`};try{let{data:r,error:a}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/activities/{activityKey}/activate`,{params:{path:{id:e.value,activityKey:n}}});if(a||!r||!r.data){let e=a?.message??`Failed to activate activity`;throw Error(e)}let o=q(r.data);return i.value=o,o.state===`activating`&&await j(),i.value??o}catch(e){throw y.value=e instanceof Error?e.message:`Unknown error`,x.value=`activate`,i.value={activityKey:n,state:`failed`},e}finally{d.value=!1}},preview:async n=>{if(!e.value)throw Error(`Space ID is required`);v.value=!0;try{let{data:r,error:i}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/activities/{activityKey}/preview`,{params:{path:{id:e.value,activityKey:n}}});if(i||!r||!r.data){let e=i?.message??`Failed to preview activity`;throw Error(e)}return ye(r.data)}finally{v.value=!1}},deactivate:async()=>{if(!e.value)throw Error(`Space ID is required`);f.value=!0,y.value=null,x.value=null;try{let{data:n,error:r}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/activities/deactivate`,{params:{path:{id:e.value}}});if(r||!n||!n.data){let e=r?.message??`Failed to deactivate`;throw Error(e)}let a=q(n.data);return i.value=a,a}catch(e){throw y.value=e instanceof Error?e.message:`Unknown error`,x.value=`deactivate`,e}finally{f.value=!1}},saveBinding:E,createBinding:D,deleteBinding:O,applyDefaults:k,endpointsByType:e=>o(()=>n.value.filter(t=>t.type===e)),findBindingByActivity:e=>r.value.find(t=>t.activityKey===e)}},J=Symbol(`FB-Module-Scenes-ScenesStore`),we=Symbol(`FB-Module-Scenes-ScenesActionsStore`),Y=e=>{let t=x().getStore(J),{semaphore:n,firstLoad:r}=I(t),i=c(!1);return{scenes:o(()=>e.value?t.findBySpace(e.value).filter(e=>!e.draft).sort((e,t)=>e.name.localeCompare(t.name)):[]),loading:o(()=>!!(i.value||n.value.fetching.items||!r.value)),firstLoadFinished:o(()=>r.value),fetchScenes:async()=>{await t.fetch()},reassignScene:async(e,n)=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:n}})}finally{i.value=!1}},removeScene:async e=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:null}})}finally{i.value=!1}}}},Te=()=>{let{t:e}=i(),t=A(),n=x().getStore(y);return{remove:async r=>{let i=n.findById(r);return i?T.confirm(e(`spacesModule.messages.confirmRemove`,{name:i.name}),e(`spacesModule.headings.removeSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{return await n.remove({id:r}),t.success(e(`spacesModule.messages.removed`,{space:i.name})),!0}catch(e){return e instanceof R&&t.error(e.message),!1}}).catch(()=>(t.info(e(`spacesModule.messages.removeCanceled`,{space:i.name})),!1)):(t.error(e(`spacesModule.messages.notFound`)),!1)},bulkRemove:async r=>{if(r.length!==0)try{await T.confirm(e(`spacesModule.messages.confirmBulkRemove`,{count:r.length}),e(`spacesModule.headings.bulkRemoveSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of r)try{await n.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`spacesModule.messages.bulkRemoved`,{count:i})),a>0&&t.error(e(`spacesModule.messages.bulkRemoveFailed`,{count:a}))}catch{}}}},X={search:void 0,type:`all`},Ee={by:`name`,dir:`asc`},De=()=>{let e=x().getStore(y),{firstLoad:n,semaphore:r}=I(e),{filters:i,sort:a,pagination:s,reset:l}=M({key:`${g}:spaces:list`,filters:{schema:le,defaults:X},sort:{defaults:[Ee]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=o(()=>i.value.search!==X.search||!(0,V.isEqual)(i.value.type,X.type)),f=c(s.value.size||10),p=c(s.value.page||1),m=c(a.value.length>0?a.value[0]?.by:void 0),h=c(a.value.length>0?a.value[0]?.dir??null:null),_=o(()=>P(e.findAll().filter(e=>!e.draft&&(!i.value.search||e.id.toLowerCase().includes(i.value.search.toLowerCase())||e.name?.toLowerCase().includes(i.value.search.toLowerCase())||e.description?.toLowerCase().includes(i.value.search.toLowerCase()))&&(i.value.type===`all`||i.value.type===d.ROOM&&e.type===d.ROOM||i.value.type===d.ZONE&&e.type===d.ZONE)),[e=>{switch(m.value){case`name`:return e.name;case`type`:return e.type;case`displayOrder`:return e.displayOrder;default:return e.displayOrder}}],[h.value??`asc`])),v=o(()=>{let e=(p.value-1)*f.value,t=e+f.value;return _.value.slice(e,t)}),b=async()=>{await e.fetch()},S=o(()=>!!(r.value.fetching.items||!n.value)),C=o(()=>n.value),w=o(()=>e.findAll().filter(e=>!e.draft).length);return t(()=>s.value,e=>{p.value=e.page??1,f.value=e.size??10},{deep:!0}),t(()=>p.value,e=>{s.value.page=e}),t(()=>f.value,e=>{s.value.size=e}),t(()=>h.value,e=>{m.value===void 0||e===null?a.value=[]:a.value=[{by:m.value,dir:e}]}),t(()=>m.value,e=>{e===void 0?a.value=[]:a.value=[{by:e,dir:h.value}]}),{spaces:_,spacesPaginated:v,totalRows:w,areLoading:S,loaded:C,fetchSpaces:b,filters:i,filtersActive:u,paginateSize:f,paginatePage:p,sortBy:m,sortDir:h,resetFilter:l}};function Z(e){return e.trim().toLowerCase().replace(/[-_]/g,` `).replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}var Oe=e=>{switch(e){case j.room:return d.ROOM;case j.zone:return d.ZONE;default:return d.ROOM}},Q=e=>{switch(e){case d.ROOM:return j.room;case d.ZONE:return j.zone;default:return j.room}},ke=e=>e||null,$=e=>{if(e)return e},Ae=()=>{let e=h(),{generate:t}=te(),n=r({currentStep:0,existingSpaces:[],spaces:[],proposedSpaces:[],customSpaces:[],matchedSpaces:[],deviceAssignments:{},displayAssignments:{},zoneAssignments:{},showAdvancedZones:!1,isLoading:!1,error:null}),i=o(()=>n.isLoading),a=o(()=>n.error),s=o(()=>n.currentStep),c=o(()=>n.existingSpaces),l=o(()=>n.spaces),u=o(()=>n.proposedSpaces),f=o(()=>n.customSpaces),p=o(()=>n.matchedSpaces),m=o(()=>n.deviceAssignments),g=o(()=>n.displayAssignments),_=o(()=>n.zoneAssignments),v=o({get:()=>n.showAdvancedZones,set:e=>{n.showAdvancedZones=e}}),y=o(()=>x.value.filter(e=>e.type===d.ZONE&&e.category&&ee.includes(e.category))),b=o(()=>n.proposedSpaces.filter(e=>!n.matchedSpaces.some(t=>Z(t.proposedName)===Z(e.name)))),x=o(()=>{let e=new Map;for(let t of n.existingSpaces)e.set(t.id,t);for(let t of n.spaces)e.set(t.id,t);return Array.from(e.values())}),S=async()=>{n.isLoading=!0,n.error=null;try{let r=await e.GET(`/modules/spaces/spaces/propose`);if(r.error||!r.data?.data)throw new R(`Failed to fetch proposed spaces`);let i=r.data.data.map(e=>{let n=ke(e.category),r=n?ie[n]:null,i=r?.description??null,a=r?.icon??null,o=e.name??``;return{name:o,description:i,icon:a,deviceIds:e.device_ids??[],deviceCount:e.device_count??0,selected:!0,type:e.type?Oe(e.type):d.ROOM,category:n,draftId:t(),editing:!1,editName:o}});n.matchedSpaces=[];let a=[];for(let e of i){let t=Z(e.name),r=n.existingSpaces.find(e=>Z(e.name)===t);r?n.matchedSpaces.push({proposedName:e.name,existingSpace:r,deviceIds:e.deviceIds,deviceCount:e.deviceCount}):a.push(e)}n.proposedSpaces=a}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},C=()=>{let e=[],t=n.proposedSpaces.filter(e=>e.selected),r=n.customSpaces.filter(e=>e.selected);for(let e of n.matchedSpaces)if(e.existingSpace.type===d.ROOM)for(let t of e.deviceIds)n.deviceAssignments[t]||(n.deviceAssignments[t]=e.existingSpace.id);for(let r of t){let t=n.spaces.find(e=>e.id===r.draftId);if(t){if(r.type===d.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]||(n.deviceAssignments[e]=t.id);continue}let i={id:r.draftId,name:r.name,description:r.description,type:r.type,category:r.category,icon:r.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};if(n.spaces=[...n.spaces,i],e.push(i),r.type===d.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]=i.id}for(let t of r){if(n.spaces.find(e=>e.id===t.draftId))continue;let r={id:t.draftId,name:t.name,description:t.description,type:t.type,category:t.category,icon:t.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};n.spaces=[...n.spaces,r],e.push(r)}return e},w=async()=>{n.isLoading=!0,n.error=null;let t=[];try{let r=n.spaces.filter(e=>e.draft),i=new Set(n.proposedSpaces.filter(e=>e.selected).map(e=>e.name)),a=new Set(n.customSpaces.map(e=>e.name)),o=new Set([...Object.values(n.deviceAssignments),...Object.values(n.displayAssignments)].filter(e=>e!==null));for(let s of r){let r=i.has(s.name),c=a.has(s.name),l=o.has(s.id);if(!r&&!c&&!l){n.spaces=n.spaces.filter(e=>e.id!==s.id);continue}let u=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:s.name,description:s.description,icon:s.icon,type:Q(s.type),category:$(s.category)}}});if(u.error||!u.data?.data)throw new R(`Failed to create space: ${s.name}`);let d=z(u.data.data);for(let[e,t]of Object.entries(n.deviceAssignments))t===s.id&&(n.deviceAssignments[e]=d.id);for(let[e,t]of Object.entries(n.displayAssignments))t===s.id&&(n.displayAssignments[e]=d.id);for(let[e,t]of Object.entries(n.zoneAssignments))n.zoneAssignments[e]=t.map(e=>e===s.id?d.id:e);let f=n.spaces.findIndex(e=>e.id===s.id);f===-1?n.spaces=[...n.spaces,d]:n.spaces[f]=d,t.push(d)}return t}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},T=async t=>{n.isLoading=!0,n.error=null;try{let r=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:t.name,description:t.description,type:Q(t.type),category:$(t.category),icon:t.icon,display_order:t.displayOrder}}});if(r.error||!r.data?.data)throw new R(`Failed to create space`);let i=z(r.data.data);return n.spaces.push(i),i}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},E=(e,t)=>{n.deviceAssignments[e]=t},D=(e,t)=>{n.displayAssignments[e]=t},O=async()=>{n.isLoading=!0,n.error=null;let t=0,r=0,i=0;try{let a={};for(let[e,t]of Object.entries(n.deviceAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].deviceIds.push(e));for(let[e,t]of Object.entries(n.displayAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].displayIds.push(e));for(let[n,i]of Object.entries(a)){let a=await e.POST(`/modules/spaces/spaces/{id}/assign`,{params:{path:{id:n}},body:{data:{device_ids:i.deviceIds,display_ids:i.displayIds}}});if(a.error)throw new R(`Failed to assign items to space ${n}`);a.data?.data&&(t+=a.data.data.devices_assigned??0,r+=a.data.data.displays_assigned??0)}for(let[t,r]of Object.entries(n.zoneAssignments))for(let n of r){if((await e.POST(`/modules/devices/devices/{id}/zones/{zoneId}`,{params:{path:{id:t,zoneId:n}}})).error)throw new R(`Failed to assign device ${t} to zone ${n}`);i++}return{devicesAssigned:t,displaysAssigned:r,zonesAssigned:i}}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},k=e=>{n.currentStep=e},A=()=>{n.currentStep++},j=()=>{n.currentStep>0&&n.currentStep--},M=e=>{for(let[t,r]of Object.entries(n.deviceAssignments))r===e&&(n.deviceAssignments[t]=null);for(let[t,r]of Object.entries(n.displayAssignments))r===e&&(n.displayAssignments[t]=null)},N=e=>{let t=n.proposedSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),M(t.draftId)))},P=e=>{let t=n.customSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),M(t.draftId)))},F=e=>{let t=Z(e),r=n.existingSpaces.find(e=>Z(e.name)===t);if(r)return r.name;let i=n.proposedSpaces.find(e=>Z(e.name)===t);if(i)return i.name;let a=n.customSpaces.find(e=>Z(e.name)===t);return a?a.name:null};return{isLoading:i,error:a,currentStep:s,existingSpaces:c,spaces:l,proposedSpaces:u,customSpaces:f,matchedSpaces:p,unmatchedProposals:b,availableSpaces:x,deviceAssignments:m,displayAssignments:g,zoneAssignments:_,showAdvancedZones:v,assignableZones:y,fetchProposedSpaces:S,fetchDevices:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/devices/devices`);if(t.error||!t.data?.data)throw new R(`Failed to fetch devices`);return t.data.data.map(e=>({id:e.id,name:e.name,description:e.description??null,spaceId:e.room_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchDisplays:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/displays/displays`);if(t.error||!t.data?.data)throw new R(`Failed to fetch displays`);return t.data.data.map(e=>({id:e.id,name:e.name??null,macAddress:e.mac_address??``,role:e.role??`room`,roomId:e.room_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchExistingSpaces:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/spaces/spaces`);if(t.error||!t.data?.data)throw new R(`Failed to fetch spaces`);let r=t.data.data.map(e=>z(e));return n.existingSpaces=r,r}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},createDraftSpacesFromProposals:C,createSpacesFromProposals:w,createSpace:T,setDeviceAssignment:E,setDisplayAssignment:D,setDeviceZones:(e,t)=>{n.zoneAssignments[e]=t},applyAssignments:O,setStep:k,nextStep:A,prevStep:j,toggleProposedSpace:N,toggleCustomSpace:P,addManualSpace:e=>{let r=F(e);return r?{success:!1,duplicateOf:r}:(n.customSpaces.push({name:e,description:null,icon:null,selected:!0,type:d.ROOM,category:null,draftId:t(),editing:!1,editName:e}),{success:!0})},checkDuplicateSpaceName:F,removeProposedSpace:e=>{let t=n.proposedSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),M(t.draftId)),n.proposedSpaces.splice(e,1)},removeCustomSpace:e=>{let t=n.customSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),M(t.draftId)),n.customSpaces.splice(e,1)},startEditingProposedName:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmProposedNameEdit:e=>{let t=n.proposedSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=Z(r),a=n.existingSpaces.find(e=>Z(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:t.deviceIds,deviceCount:t.deviceCount}),n.proposedSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find((t,n)=>n!==e&&Z(t.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find(e=>Z(e.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardProposedNameEdit:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!1,t.editName=t.name)},startEditingCustomName:e=>{let t=n.customSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmCustomNameEdit:e=>{let t=n.customSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=Z(r),a=n.existingSpaces.find(e=>Z(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:[],deviceCount:0}),n.customSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find(e=>Z(e.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find((t,n)=>n!==e&&Z(t.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardCustomNameEdit:e=>{let t=n.customSpaces[e];t&&(t.editing=!1,t.editName=t.name)},initializeFromExistingSpaces:e=>{n.existingSpaces=[...e]},initializeDeviceAssignments:e=>{for(let t of e)n.deviceAssignments[t.id]=t.spaceId??null},initializeDisplayAssignments:e=>{for(let t of e)n.displayAssignments[t.id]=t.roomId??null},summary:o(()=>{let e=n.existingSpaces.length+n.spaces.length,t=Object.values(n.deviceAssignments).filter(e=>e!==null).length,r=Object.values(n.displayAssignments).filter(e=>e!==null).length,i=Object.values(n.deviceAssignments).filter(e=>e===null).length,a=Object.values(n.displayAssignments).filter(e=>e===null).length,o={},s={};for(let e of Object.values(n.deviceAssignments))e&&(o[e]=(o[e]??0)+1);for(let e of Object.values(n.zoneAssignments))for(let t of e)o[t]=(o[t]??0)+1;for(let e of Object.values(n.displayAssignments))e&&(s[e]=(s[e]??0)+1);return{spaceCount:e,assignedDevices:t,assignedDisplays:r,unassignedDevices:i,unassignedDisplays:a,devicesBySpace:o,displaysBySpace:s}})}},je=()=>{let t=e(k);return{climateSignal:t?.climate,lightingSignal:t?.lighting,coversSignal:t?.covers,sensorSignal:t?.sensor,climateStateSignal:t?.climateState,lightingStateSignal:t?.lightingState,coversStateSignal:t?.coversState,sensorStateSignal:t?.sensorState}};export{Y as a,xe as c,he as d,me as f,ce as g,H as h,Te as i,Se as l,fe as m,Ae as n,we as o,pe as p,De as r,J as s,je as t,Ce as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Xr as e,ci as t,d as n,mr as r,ui as i}from"./icon-with-child-DmQ_XhQy.js";import{T as a,Vr as o,Zn as s,_ as c,m as l,pn as u,va as d,wn as f}from"./common-DlW3qRTQ.js";var p=`users`,m=`users-module`,h=`UsersModule.`,g=function(e){return e.USER_CREATED=`UsersModule.User.Created`,e.USER_UPDATED=`UsersModule.User.Updated`,e.USER_DELETED=`UsersModule.User.Deleted`,e.USER_RESET=`UsersModule.User.Reset`,e.MODULE_RESET=`UsersModule.All.Reset`,e}({}),_=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),v={USERS:`users_module-users`,USER_ADD:`users_module-user-add`,USER_EDIT:`users_module-user-edit`},y=Symbol(`FB-Module-Users-UsersStore`),b=class extends Error{exception;constructor(e,t=null){super(e),this.name=`UsersException`,this.exception=t}},x=class extends b{code;constructor(e,t=null,n=null){super(e,n),this.name=`UsersApiException`,this.code=t}},S=class extends b{constructor(e,t=null){super(e,t),this.name=`UsersValidationException`}},C=({id:e})=>{let t=a().getStore(y),{data:n,semaphore:i}=d(t);return{user:r(()=>e===null?null:n.value[e]??null),isLoading:r(()=>i.value.fetching.item.includes(e)?!0:n.value[e]===void 0?i.value.fetching.items:!1),fetchUser:async()=>{n.value[e]?.draft||await t.get({id:e})}}},w=({id:r})=>{let o=a().getStore(y),{t:l}=n(),u=c(),d=i(_.NONE),f,p=t({username:``,password:``,repeatPassword:``,email:``,firstName:``,lastName:``,role:s.user}),m=i(void 0),h=i(!1),g=async()=>{let e=l(`usersModule.messages.notCreated`,{user:p.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);d.value=_.WORKING;try{await o.add({id:r,draft:!1,data:{username:p.username,password:p.password,email:p.email?.trim()===``?null:p.email,firstName:p.firstName?.trim()===``?null:p.firstName,lastName:p.lastName?.trim()===``?null:p.lastName,role:p.role}})}catch(t){throw d.value=_.ERROR,f=window.setTimeout(v,2e3),t instanceof x&&t.code===422?u.error(t.message):u.error(e),t}return d.value=_.OK,f=window.setTimeout(v,2e3),u.success(l(`usersModule.messages.created`,{user:p.username})),`added`},v=()=>{window.clearTimeout(f),d.value=_.NONE};return e(p,e=>{e.username===``&&e.password===``&&e.email===``&&e.firstName===``&&e.lastName===``&&e.role===s.user?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:d}},T=({user:r,messages:o})=>{let s=a().getStore(y),{t:l}=n(),u=c(),d=i(_.NONE),f,p=t({username:r.username,password:`secretpassword`,email:r.email||``,firstName:r.firstName||``,lastName:r.lastName||``,role:r.role}),m=i(void 0),h=i(!1),g=async()=>{let e=r.draft,t=o&&o.error?o.error:r.draft?l(`usersModule.messages.notCreated`,{user:r.username}):l(`usersModule.messages.notEdited`,{user:r.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);d.value=_.WORKING;try{await s.edit({id:r.id,data:{email:!p.email||p.email.trim()===``?null:p.email,firstName:!p.firstName||p.firstName.trim()===``?null:p.firstName,lastName:!p.lastName||p.lastName.trim()===``?null:p.lastName,role:p.role}}),r.draft&&await s.save({id:r.id})}catch(e){throw d.value=_.ERROR,f=window.setTimeout(v,2e3),e instanceof x&&e.code===422?u.error(e.message):u.error(t),e}return d.value=_.OK,f=window.setTimeout(v,2e3),e?(u.success(l(o&&o.success?o.success:`usersModule.messages.created`,{user:r.username})),`added`):(u.success(l(o&&o.success?o.success:`usersModule.messages.edited`,{user:r.username})),`saved`)},v=()=>{window.clearTimeout(f),d.value=_.NONE};return e(p,e=>{e.email===r.email&&e.firstName===r.firstName&&e.lastName===r.lastName&&e.role===r.role?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:d}},E=({user:r,messages:o})=>{let s=a().getStore(y),{t:l}=n(),u=c(),d=i(_.NONE),f,p=t({password:``,repeatPassword:``}),m=i(void 0),h=i(!1),g=async()=>{let e=o&&o.error?o.error:l(`usersModule.messages.notEdited`,{user:r.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);d.value=_.WORKING;try{await s.edit({id:r.id,data:{password:p.password}}),r.draft&&await s.save({id:r.id})}catch(t){throw d.value=_.ERROR,f=window.setTimeout(v,2e3),t instanceof x&&t.code===422?u.error(t.message):u.error(e),t}return d.value=_.OK,f=window.setTimeout(v,2e3),u.success(l(o&&o.success?o.success:`usersModule.messages.edited`,{user:r.username})),`saved`},v=()=>{window.clearTimeout(f),d.value=_.NONE};return e(p,e=>{e.password===``&&e.repeatPassword===``?h.value=!1:h.value=!0}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:d}},D=({user:r,messages:o})=>{let s=a().getStore(y),{t:l}=n(),u=c(),d=i(_.NONE),f,p=t({username:r.username}),m=i(void 0),h=i(!1),g=async()=>{let e=o&&o.error?o.error:l(`usersModule.messages.notEdited`,{user:r.username});if(m.value.clearValidate(),!await m.value.validate())throw new S(`Form not valid`);d.value=_.WORKING;try{await s.edit({id:r.id,data:{username:p.username}}),r.draft&&await s.save({id:r.id})}catch(t){throw d.value=_.ERROR,f=window.setTimeout(v,2e3),t instanceof x&&t.code===422?u.error(t.message):u.error(e),t}return d.value=_.OK,f=window.setTimeout(v,2e3),u.success(l(o&&o.success?o.success:`usersModule.messages.edited`,{user:r.username})),`saved`},v=()=>{window.clearTimeout(f),d.value=_.NONE};return e(p,e=>{h.value=e.username!==r.username}),{model:p,formEl:m,formChanged:h,submit:g,clear:v,formResult:d}},O=f(),k={search:void 0,roles:[]},A=()=>{let t=a().getStore(y),{firstLoad:n,semaphore:o}=d(t),s=i(10),c=i(1),f=i(l(k)),p=r(()=>f.value.search!==k.search||!(0,O.isEqual)(f.value.roles,k.roles)),m=i(`username`),h=i(`ascending`),g=r(()=>u(t.findAll().filter(e=>!e.draft&&(!f.value.search||e.username.toLowerCase().includes(f.value.search.toLowerCase()))&&(f.value.roles.length===0||f.value.roles.includes(e.role))),[e=>e[m.value]??``],[h.value===`ascending`?`asc`:`desc`])),_=r(()=>{let e=(c.value-1)*s.value,t=e+s.value;return g.value.slice(e,t)}),v=async()=>{await t.fetch()},b=r(()=>o.value.fetching.items||!n.value),x=r(()=>n.value),S=r(()=>t.findAll().filter(e=>!e.draft).length);return e(()=>f.value,()=>{c.value=1},{deep:!0}),{users:g,usersPaginated:_,totalRows:S,areLoading:b,loaded:x,fetchUsers:v,filters:f,filtersActive:p,paginateSize:s,paginatePage:c,sortBy:m,sortDir:h,resetFilter:()=>{f.value=l(k)}}},j=()=>{let{t:e}=n(),t=c(),r=a().getStore(y);return{remove:async n=>{let i=r.findById(n);if(i===null)throw new b(`Something went wrong, user can't be loaded`);o.confirm(e(`usersModule.texts.confirmRemove`,{user:i.username}),e(`usersModule.headings.remove`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await r.remove({id:i.id}),t.success(e(`usersModule.messages.removed`,{user:i.username}))}catch(n){if(n instanceof x&&n.code===404){let n=e(`usersModule.messages.notFound`,{user:i.username});t.error(n)}else if(n instanceof x&&n.code===422)t.error(n.message);else{let n=e(`usersModule.messages.notRemoved`,{user:i.username});t.error(n)}}}).catch(()=>{t.info(e(`usersModule.messages.removeCanceled`,{user:i.username}))})},bulkRemove:async n=>{if(n.length!==0)try{await o.confirm(e(`usersModule.texts.confirmBulkRemove`,{count:n.length}),e(`usersModule.headings.removeBulk`),{confirmButtonText:e(`usersModule.buttons.yes.title`),cancelButtonText:e(`usersModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of n)try{await r.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`usersModule.messages.bulkRemoved`,{count:i})),a>0&&t.error(e(`usersModule.messages.bulkRemoveFailed`,{count:a}))}catch{}}}};export{p as _,T as a,x as c,y as d,g as f,m as g,h,E as i,b as l,v as m,A as n,w as o,_ as p,D as r,C as s,j as t,S as u};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Xr as e,ci as t,d as n,fi as r,mr as i,ui as a}from"./icon-with-child-DmQ_XhQy.js";import{A as o,Fn as s,Pn as c,S as l,T as u,Un as d,Vr as f,Wn as p,_ as m,an as h,f as g,m as _,n as v,pn as y,qn as b,va as x,wn as S}from"./common-DlW3qRTQ.js";import{a as C,c as w,d as T,i as E,n as D,o as O,r as k,t as A}from"./keys-CGGnS6tq.js";import{i as j,t as M}from"./types-B8upWpl6.js";import{n as N}from"./useDataSources-Bx93bXrZ.js";var P=()=>{let e=o(),{enabled:t}=h(),n=[`pageDetail`,`pageAddForm`,`pageEditForm`],r=[`pageSchema`,`pageAddFormSchema`,`pageEditFormSchema`,`pageCreateReqSchema`,`pageUpdateReqSchema`],a=[`configure`],s=i(()=>e.getPlugins().filter(e=>{if(!(e.modules===void 0||e.modules.includes(`dashboard-module`)))return!1;let t=a.some(t=>e.routes&&t in e.routes)??!0;return(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`dashboard-module`)))return!1;let i=n.length===0||!!e.components&&n.some(t=>e.components&&t in e.components),a=r.length===0||!!e.schemas&&r.some(t=>e.schemas&&t in e.schemas);return i||a||t})}));return{plugins:s,options:i(()=>y(s.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`dashboard-module`)).map(n=>({value:n.type,label:n.name?.trim()?n.name:e.name,disabled:!t(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>s.value.find(t=>t.type===e),getByType:e=>s.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`)))),getElement:e=>{for(let t of s.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`)));if(n)return n}}}},F=()=>{let e=u().getStore(D),{firstLoad:t,semaphore:n}=x(e);return{pages:i(()=>e.findAll().filter(e=>!e.draft)),areLoading:i(()=>!!n.value.fetching.items||!t.value),loaded:i(()=>t.value),fetchPages:async()=>{await e.fetch()}}},I=S(),L={search:void 0,types:[],displays:[]},ee={by:`title`,dir:`asc`},te=()=>{let t=u().getStore(D),{firstLoad:n,semaphore:r}=x(t),{filters:o,sort:s,pagination:c,reset:l}=g({key:`${w}:pages:list`,filters:{schema:j,defaults:L},sort:{defaults:[ee]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),d=i(()=>o.value.search!==L.search||!(0,I.isEqual)(o.value.types,L.types)||!(0,I.isEqual)(o.value.displays,L.displays)),f=a(c.value.size||10),p=a(c.value.page||1),m=a(s.value.length>0?s.value[0]?.by:void 0),h=a(s.value.length>0?s.value[0]?.dir??null:null),_=i(()=>y(t.findAll().filter(e=>!e.draft&&(!o.value.search||e.title.toLowerCase().includes(o.value.search.toLowerCase()))&&(o.value.types.length===0||o.value.types.includes(e.type))&&(o.value.displays.length===0||o.value.displays.includes(`all`)&&(e.displays===null||e.displays.length===0)||e.displays!==null&&e.displays.length>0&&e.displays.some(e=>o.value.displays.includes(e)))),[e=>e[m.value]??``],[h.value===`asc`?`asc`:`desc`])),v=i(()=>{let e=(p.value-1)*f.value,t=e+f.value;return _.value.slice(e,t)}),b=async()=>{await t.fetch()},S=i(()=>r.value.fetching.items||!n.value),C=i(()=>n.value),T=i(()=>t.findAll().filter(e=>!e.draft).length);return e(()=>c.value,e=>{p.value=e.page??1,f.value=e.size??10},{deep:!0}),e(()=>p.value,e=>{c.value.page=e}),e(()=>f.value,e=>{c.value.size=e}),e(()=>h.value,e=>{m.value===void 0||e===null?s.value=[]:s.value=[{by:m.value,dir:e}]}),e(()=>m.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:h.value}]}),{pages:_,pagesPaginated:v,totalRows:T,areLoading:S,loaded:C,fetchPages:b,filters:o,filtersActive:d,paginateSize:f,paginatePage:p,sortBy:m,sortDir:h,resetFilter:l}},R=()=>{let{t:e}=n(),t=m(),r=u().getStore(D);return{remove:async n=>{let i=r.findById(n);if(i===null)throw new C(`Something went wrong, page can't be loaded`);f.confirm(e(`dashboardModule.texts.pages.confirmRemove`,{page:i.title}),e(`dashboardModule.headings.pages.remove`),{confirmButtonText:e(`dashboardModule.buttons.yes.title`),cancelButtonText:e(`dashboardModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await r.remove({id:i.id}),t.success(e(`dashboardModule.messages.pages.removed`,{page:i.title}))}catch(n){if(n instanceof E&&n.code===404){let n=e(`dashboardModule.messages.pages.notFound`,{page:i.title});t.error(n)}else if(n instanceof E&&n.code===422)t.error(n.message);else{let n=e(`dashboardModule.messages.pages.notRemoved`,{page:i.title});t.error(n)}}}).catch(()=>{t.info(e(`dashboardModule.messages.pages.removeCanceled`,{page:i.title}))})},bulkRemove:async n=>{if(n.length!==0)try{await f.confirm(e(`dashboardModule.texts.pages.confirmBulkRemove`,{count:n.length}),e(`dashboardModule.headings.pages.bulkRemove`),{confirmButtonText:e(`dashboardModule.buttons.yes.title`),cancelButtonText:e(`dashboardModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of n)try{await r.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`dashboardModule.messages.pages.bulkRemoved`,{count:i})),a>0&&t.error(e(`dashboardModule.messages.pages.bulkRemoveFailed`,{count:a}))}catch{}}}},z=({id:e})=>{let t=u().getStore(D);return{icon:i(()=>`mdi:${t.findById(e)?.icon??`view-dashboard`}`)}},B=p({id:b().uuid().optional(),type:b().trim().nonempty(),title:b().trim().nonempty(),icon:b().trim().transform(e=>e===``?null:e).nullable().optional(),order:d(),showTopBar:s().optional(),displays:c(b().uuid()).nullable().optional()}),V=p({id:b().uuid(),type:b().trim().nonempty(),title:b().trim().nonempty().optional(),icon:b().trim().transform(e=>e===``?null:e).nullable().optional(),order:d().optional(),showTopBar:s().optional(),displays:c(b().uuid()).nullable().optional()}),H=({type:e})=>{let{getByType:t}=P(),n=i(()=>t(e));return{plugin:n,element:i(()=>(n.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`))))}},U=({id:i,type:o})=>{let s=u(),{element:c}=H({type:o}),d=s.getStore(D),{t:f}=n(),p=m(),h=l(),g=a(T.NONE),y,b=t({...v(c.value?.schemas?.pageAddFormSchema||B),id:i,type:o,title:``,icon:``,order:0,showTopBar:!0}),x=_(r(b)),S=a(void 0),C=a(!1),w=async()=>{if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let e=(c.value?.schemas?.pageAddFormSchema||B).safeParse(b);if(!e.success)throw h.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create page model.`);g.value=T.WORKING;let t=f(`dashboardModule.messages.pages.notCreated`,{page:b.title});try{await d.add({id:i,draft:!1,data:{...e.data,type:o}})}catch(e){throw g.value=T.ERROR,y=window.setTimeout(k,2e3),e instanceof E&&e.code===422?p.error(e.message):p.error(t),e}return g.value=T.OK,y=window.setTimeout(k,2e3),p.success(f(`dashboardModule.messages.pages.created`,{page:b.title})),`added`},k=()=>{window.clearTimeout(y),g.value=T.NONE};return e(b,()=>{C.value=!(0,I.isEqual)(r(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:k,formResult:g}},W=({page:i,messages:o})=>{let s=u(),{element:c}=H({type:i.type}),d=s.getStore(D),{t:f}=n(),p=m(),h=l(),g=a(T.NONE),v,y=t(i),b=_(r(y)),x=a(void 0),S=a(!1),C=async()=>{let e=i.draft,t=o&&o.error?o.error:i.draft?f(`dashboardModule.messages.pages.notCreated`,{page:i.title}):f(`dashboardModule.messages.pages.notEdited`,{page:i.title});if(x.value.clearValidate(),!await x.value.validate())throw new O(`Form not valid`);let n=(c.value?.schemas?.pageEditFormSchema||V).safeParse(y);if(!n.success)throw h.error(`Schema validation failed with:`,n.error),new O(`Failed to validate edit page model.`);g.value=T.WORKING;try{let e;if(e=await d.edit({id:i.id,data:{...n.data,type:i.type}}),i.draft&&(e=await d.save({id:i.id})),e){let t=e;Object.assign(y,t)}}catch(e){throw g.value=T.ERROR,v=window.setTimeout(w,2e3),e instanceof E&&e.code===422?p.error(e.message):p.error(t),e}return g.value=T.OK,v=window.setTimeout(w,2e3),e?(p.success(f(o&&o.success?o.success:`dashboardModule.messages.pages.created`,{page:i.title})),`added`):(p.success(f(o&&o.success?o.success:`dashboardModule.messages.pages.edited`,{page:i.title})),S.value=!1,b=_(r(y)),`saved`)},w=()=>{window.clearTimeout(v),g.value=T.NONE};return e(y,()=>{S.value=!(0,I.isEqual)(r(y),b)}),{model:y,formEl:x,formChanged:S,submit:C,clear:w,formResult:g}},G=e=>{let t=u().getStore(k),{firstLoad:n,semaphore:r}=x(t);return{tiles:i(()=>t.findForParent(e.parent,e.parentId)),areLoading:i(()=>r.value.fetching.items.includes(e.parentId)?!0:n.value.includes(e.parentId)?!1:r.value.fetching.items.includes(e.parentId)),loaded:i(()=>n.value.includes(e.parentId)),fetchTiles:async()=>{await t.fetch({parent:{type:e.parent,id:e.parentId}})}}},K=e=>{let{t}=n(),r=m(),i=u().getStore(k);return{findById:(e,t)=>i.findById(e,t),edit:async e=>i.edit(e),save:async e=>i.save(e),remove:async n=>{let a=i.findById(e.parent,n);if(a===null)throw new C(`Something went wrong, tile can't be loaded`);f.confirm(t(`dashboardModule.texts.tiles.confirmRemove`),t(`dashboardModule.headings.tiles.remove`),{confirmButtonText:t(`dashboardModule.buttons.yes.title`),cancelButtonText:t(`dashboardModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await i.remove({id:a.id,parent:{type:e.parent,id:e.parentId}}),r.success(t(`dashboardModule.messages.tiles.removed`))}catch(e){if(e instanceof E&&e.code===404){let e=t(`dashboardModule.messages.tiles.notFound`);r.error(e)}else if(e instanceof E&&e.code===422)r.error(e.message);else{let e=t(`dashboardModule.messages.tiles.notRemoved`);r.error(e)}}}).catch(()=>{r.info(t(`dashboardModule.messages.tiles.removeCanceled`))})},removeDirectly:async e=>i.remove(e)}},q=p({id:b().uuid().optional(),type:b().trim().nonempty(),row:d(),col:d(),rowSpan:d(),colSpan:d(),hidden:s()}),J=p({id:b().uuid(),type:b().trim().nonempty(),row:d().optional(),col:d().optional(),rowSpan:d().optional(),colSpan:d().optional(),hidden:s()}),Y=({id:i,parent:o,parentId:s,type:c,onlyDraft:d=!1})=>{let f=u(),{element:p}=N({type:c}),h=f.getStore(k),{t:g}=n(),y=m(),b=l(),x=a(T.NONE),S,C=t({...v(p.value?.schemas?.tileAddFormSchema||q),id:i,type:c,row:1,col:1,rowSpan:1,colSpan:1,hidden:!1}),w=_(r(C)),D=a(void 0),A=a(!1),j=async()=>{if(D.value.clearValidate(),!await D.value.validate())throw new O(`Form not valid`);let e=(p.value?.schemas?.tileAddFormSchema||q).safeParse(C);if(!e.success)throw b.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create tile model.`);x.value=T.WORKING;let t=g(`dashboardModule.messages.tiles.notCreated`);try{await h.add({id:i,parent:{type:o,id:s},draft:d,data:{...e.data,type:c}})}catch(e){throw x.value=T.ERROR,S=window.setTimeout(M,2e3),e instanceof E&&e.code===422?y.error(e.message):y.error(t),e}return x.value=T.OK,S=window.setTimeout(M,2e3),y.success(g(`dashboardModule.messages.tiles.created`)),`added`},M=()=>{window.clearTimeout(S),x.value=T.NONE};return e(C,()=>{A.value=!(0,I.isEqual)(r(C),w)}),{model:C,formEl:D,formChanged:A,submit:j,clear:M,formResult:x}},X=({tile:i,messages:o,onlyDraft:s=!1})=>{let c=u(),{element:d}=N({type:i.type}),f=c.getStore(k),{t:p}=n(),h=m(),g=l(),v=a(T.NONE),y,b=t(i),x=_(r(b)),S=a(void 0),C=a(!1),w=async()=>{let e=i.draft,t=o&&o.error?o.error:i.draft&&!s?p(`dashboardModule.messages.tiles.notCreated`):p(`dashboardModule.messages.tiles.notEdited`);if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let n=(d.value?.schemas?.tileEditFormSchema||J).safeParse(b);if(!n.success)throw g.error(`Schema validation failed with:`,n.error),new O(`Failed to validate create tile model.`);v.value=T.WORKING;try{await f.edit({id:i.id,parent:i.parent,data:{...n.data,type:i.type}}),i.draft&&!s&&await f.save({id:i.id,parent:i.parent})}catch(e){throw v.value=T.ERROR,y=window.setTimeout(D,2e3),e instanceof E&&e.code===422?h.error(e.message):h.error(t),e}return v.value=T.OK,y=window.setTimeout(D,2e3),e&&!s?(h.success(p(o&&o.success?o.success:`dashboardModule.messages.tiles.created`)),`added`):(h.success(p(o&&o.success?o.success:`dashboardModule.messages.tiles.edited`)),C.value=!1,x=_(r(b)),`saved`)},D=()=>{window.clearTimeout(y),v.value=T.NONE};return e(b,()=>{C.value=!(0,I.isEqual)(r(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:D,formResult:v}},Z=e=>{let{id:t}=e,n=u().getStore(A),{data:r,semaphore:a}=x(n);return{dataSource:i(()=>t===null?null:t in r.value?r.value[t]:null),isLoading:i(()=>a.value.fetching.item.includes(t)?!0:(t in r.value?r.value[t]:null)===null?a.value.fetching.items.includes(e.parentId):!1),fetchDataSource:async()=>{(t in r.value?r.value[t]:null)?.draft||await n.get({id:t,parent:{type:e.parent,id:e.parentId}})}}},Q=p({id:b().uuid().optional(),type:b().trim().nonempty()}),$=p({id:b().uuid(),type:b().trim().nonempty()}),ne=({id:i,type:o,parent:s,parentId:c,onlyDraft:d=!1})=>{let f=u(),{element:p}=M({type:o}),h=f.getStore(A),{t:g}=n(),y=m(),b=l(),x=a(T.NONE),S,C=t({...v(p.value?.schemas?.dataSourceAddFormSchema||Q),id:i,type:o}),w=_(r(C)),D=a(void 0),k=a(!1),j=async()=>{if(D.value.clearValidate(),!await D.value.validate())throw new O(`Form not valid`);let e=(p.value?.schemas?.dataSourceAddFormSchema||Q).safeParse(C);if(!e.success)throw b.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create data source model.`);x.value=T.WORKING;let t=g(`dashboardModule.messages.dataSources.notCreated`);try{await h.add({id:i,parent:{type:s,id:c},draft:d,data:{...e.data,type:o}})}catch(e){throw x.value=T.ERROR,S=window.setTimeout(N,2e3),e instanceof E&&e.code===422?y.error(e.message):y.error(t),e}return x.value=T.OK,S=window.setTimeout(N,2e3),y.success(g(`dashboardModule.messages.dataSources.created`)),`added`},N=()=>{window.clearTimeout(S),x.value=T.NONE};return e(C,()=>{k.value=!(0,I.isEqual)(r(C),w)}),{model:C,formEl:D,formChanged:k,submit:j,clear:N,formResult:x}},re=({dataSource:i,messages:o,onlyDraft:s=!1})=>{let c=u(),{element:d}=M({type:i.type}),f=c.getStore(A),{t:p}=n(),h=m(),g=l(),v=a(T.NONE),y,b=t(i),x=_(r(b)),S=a(void 0),C=a(!1),w=async()=>{let e=i.draft,t=o&&o.error?o.error:i.draft&&!s?p(`dashboardModule.messages.dataSources.notCreated`):p(`dashboardModule.messages.dataSources.notEdited`);if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let n=(d.value?.schemas?.dataSourceEditFormSchema||$).safeParse(b);if(!n.success)throw g.error(`Schema validation failed with:`,n.error),new O(`Failed to validate create dataSource model.`);v.value=T.WORKING;try{await f.edit({id:i.id,parent:i.parent,data:{...n.data,type:i.type}}),i.draft&&!s&&await f.save({id:i.id,parent:i.parent})}catch(e){throw v.value=T.ERROR,y=window.setTimeout(D,2e3),e instanceof E&&e.code===422?h.error(e.message):h.error(t),e}return v.value=T.OK,y=window.setTimeout(D,2e3),e&&!s?(h.success(p(o&&o.success?o.success:`dashboardModule.messages.dataSources.created`)),`added`):(h.success(p(o&&o.success?o.success:`dashboardModule.messages.dataSources.edited`)),C.value=!1,x=_(r(b)),`saved`)},D=()=>{window.clearTimeout(y),v.value=T.NONE};return e(b,()=>{C.value=!(0,I.isEqual)(r(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:D,formResult:v}};export{z as _,Z as a,F as b,q as c,G as d,W as f,V as g,B as h,$ as i,J as l,H as m,ne as n,X as o,U as p,Q as r,Y as s,re as t,K as u,R as v,P as x,te as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mr as e}from"./icon-with-child-DmQ_XhQy.js";import{$t as t,T as n,va as r}from"./common-DlW3qRTQ.js";var i=()=>{let i=n().getStore(t),{profile:a}=r(i);return{profile:e(()=>a.value),isSignedIn:e(()=>i.isSignedIn())}};export{i as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/view-pages-DVvpvvkt.js","assets/icon-with-child-DmQ_XhQy.js","assets/chunk-DECur_0Z.js","assets/icon-with-child-1Kb-D21P.css","assets/common-DlW3qRTQ.js","assets/common-BY9Gg1EI.css","assets/components-tvaQsmsk.js","assets/composables-Da97cjje.js","assets/types-B8upWpl6.js","assets/keys-CGGnS6tq.js","assets/useDataSources-Bx93bXrZ.js","assets/components-D8PpAJgM.js","assets/composables-CU6q9-8B.js","assets/useLocation-BM-8kEbz.js","assets/composables-CjGTzpGj.js","assets/keys-DHSxrtbW.js","assets/useSpaces-DnSZteHf.js","assets/input-number-BF0uWlX2.js","assets/pagination-BN87kdDs.js","assets/radio-BmI00y-5.js","assets/slider-YJlo4Ibo.js","assets/table-5pjI7ihN.js","assets/components-BGiFbtPn.css","assets/components-CjdlFz1u.css","assets/select-data-source-plugin-CtXn9m8K.js","assets/data-source-edit-form-mTdgdACg.js","assets/list-data-sources-adjust-Bj-0Adap.js","assets/list-data-sources-adjust-REFqavw6.css","assets/tile-detail-COru-nDQ.js","assets/tile-edit-form-jjo5FbvD.js","assets/usePage-DTL4RY9u.js","assets/composables-Cl0F9F_S.js","assets/keys-Cm97UJHM.js","assets/drawer-Db27jij8.js","assets/vue-meta.esm-browser.min-3_YV25pX.js","assets/view-page-add-Cpzp9lXV.js","assets/view-page-edit-fw913SDe.js","assets/view-page-DCmbFTnE.js","assets/view-page-data-source-add-CJMzSAGm.js","assets/dashboard.types-DHlozs9y.js","assets/view-page-data-source-edit-BI5AXiNz.js","assets/view-tile-t4cTwgz2.js","assets/view-tile-edit-kHjMhT9e.js","assets/view-tile-data-source-add-DxaZd4Dp.js","assets/view-tile-data-source-edit-jzGg3dBQ.js","assets/view-page-plugin-BrlvGuEU.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e,n as t,ui as n}from"./icon-with-child-DmQ_XhQy.js";import{F as r,N as i,O as a,S as o,T as s,Zn as c,_a as l,h as u,it as d,p as f,r as p,s as m,st as h,wn as g,y as _}from"./common-DlW3qRTQ.js";import{a as v,c as y,f as b,i as x,l as S,n as C,o as w,r as T,t as E,u as D}from"./keys-CGGnS6tq.js";import{a as O,c as k,f as A,l as j,s as M,u as N}from"./types-B8upWpl6.js";import{x as P}from"./composables-Da97cjje.js";import{i as F}from"./useDataSources-Bx93bXrZ.js";import{a as I,d as ee,f as L,i as R,l as z,o as B,r as V,s as H,t as U,u as te}from"./dashboard.types-DHlozs9y.js";var W={menu:{title:`Stránky`},meta:{pages:{list:{title:`Seznam stránek`},edit:{title:`Upravit stránku: {page}`},add:{title:`Přidat stránku`},detail:{title:`Stránka: {page}`},editDataSource:{title:`Upravit zdroj dat stránky`},addDataSource:{title:`Přidat zdroj dat stránky`}},tiles:{edit:{title:`Upravit dlaždici`},detail:{title:`Detail dlaždice`},editDataSource:{title:`Upravit zdroj dat dlaždice`},addDataSource:{title:`Přidat zdroj dat dlaždice`}}},breadcrumbs:{pages:{list:`stránky`,add:`přidat stránku`,edit:`upravit stránku`,detail:`stránka: {page}`,addDataSource:`přidat zdroj dat stránky`,editDataSource:`upravit zdroj dat stránky`},tiles:{edit:`upravit dlaždici`,detail:`detail dlaždice`,addDataSource:`přidat zdroj dat dlaždice`,editDataSource:`upravit zdroj dat dlaždice`}},headings:{pages:{list:`Stránky`,add:`Přidat stránku`,edit:`Upravit stránku`,detail:`Stránka: {page}`,remove:`Odebrat stránku?`,bulkRemove:`Odebrat stránky?`,selectPlugin:`Vyžadován plugin stránky`,adjustFilters:`Filtrovat stránky`,addDataSource:`Přidat zdroj dat stránky`,editDataSource:`Upravit zdroj dat stránky`},tiles:{add:`Přidat dlaždici`,edit:`Upravit dlaždici`,detail:`Detail dlaždice`,remove:`Odebrat dlaždici?`,selectPlugin:`Vyžadován plugin dlaždice`,adjustFilters:`Filtrovat dlaždice`,addDataSource:`Přidat zdroj dat dlaždice`,editDataSource:`Upravit zdroj dat dlaždice`},dataSources:{add:`Přidat zdroj dat`,edit:`Upravit zdroj dat`,remove:`Odebrat zdroj dat?`,selectPlugin:`Vyžadován plugin zdroje dat`,adjustFilters:`Filtrovat zdroje dat`},misc:{discard:`Zahodit změny?`}},subHeadings:{pages:{list:`Správa stránek Smart panelu`,add:`Přidat novou stránku Smart panelu`,edit:`Upravit stránku Smart panelu`,detail:`Správa stránky Smart panelu`,adjustFilters:`Upravit filtry zobrazení`,addDataSource:`Přidat nový zdroj dat stránky Smart panelu`,editDataSource:`Upravit zdroj dat stránky Smart panelu`},tiles:{add:`Přidat novou dlaždici Smart panelu`,edit:`Upravit dlaždici Smart panelu`,detail:`Správa dlaždice Smart panelu`,adjustFilters:`Upravit filtry zobrazení`,addDataSource:`Přidat nový zdroj dat dlaždice Smart panelu`,editDataSource:`Upravit zdroj dat dlaždice Smart panelu`},dataSources:{add:`Přidat nový zdroj dat Smart panelu`,edit:`Upravit zdroj dat Smart panelu`,detail:`Správa zdroje dat Smart panelu`,adjustFilters:`Upravit filtry zobrazení`}},messages:{pages:{notFound:`Stránka, kterou hledáte, neexistuje nebo byla odebrána.`,confirmRemove:`Opravdu chcete odebrat stránku: {page}? Tuto akci nelze vrátit zpět.`,created:`Nová stránka byla úspěšně přidána.`,notCreated:`Něco se pokazilo. Stránku se nepodařilo vytvořit.`,edited:`Změny uloženy! Stránka: {page} byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace stránky nebyla úspěšná.`,removed:`Stránka: {page} byla úspěšně odebrána.`,removeCanceled:`Odebrání stránky: {page} bylo zrušeno.`,notRemoved:`Něco se pokazilo a stránka: {page} nebyla odebrána.`,noDetailAllowed:`Tento typ stránky nelze otevřít, protože nemá detailní zobrazení.`,deletedWhileEditing:`Tato stránka byla smazána a již není dostupná.`,bulkRemoved:`{count} stránek bylo úspěšně odebráno.`,bulkRemoveFailed:`Nepodařilo se odebrat {count} stránek.`,bulkRemoveCanceled:`Hromadné odebrání stránek bylo zrušeno.`},tiles:{notFound:`Dlaždice, kterou hledáte, neexistuje nebo byla odebrána.`,confirmRemove:`Opravdu chcete odebrat dlaždici? Tuto akci nelze vrátit zpět.`,created:`Nová dlaždice byla úspěšně přidána.`,notCreated:`Něco se pokazilo. Dlaždici se nepodařilo vytvořit.`,edited:`Změny uloženy! Dlaždice byla aktualizována.`,notEdited:`Něco se pokazilo. Aktualizace dlaždice nebyla úspěšná.`,removed:`Dlaždice byla úspěšně odebrána.`,removeCanceled:`Odebrání dlaždice bylo zrušeno.`,notRemoved:`Něco se pokazilo a dlaždice nebyla odebrána.`,deletedWhileEditing:`Tato dlaždice byla smazána a již není dostupná.`},dataSources:{notFound:`Zdroj dat, který hledáte, neexistuje nebo byl odebrán.`,confirmRemove:`Opravdu chcete odebrat zdroj dat? Tuto akci nelze vrátit zpět.`,created:`Nový zdroj dat byl úspěšně přidán.`,notCreated:`Něco se pokazilo. Zdroj dat se nepodařilo vytvořit.`,edited:`Změny uloženy! Zdroj dat byl aktualizován.`,notEdited:`Něco se pokazilo. Aktualizace zdroje dat nebyla úspěšná.`,removed:`Zdroj dat byl úspěšně odebrán.`,removeCanceled:`Odebrání zdroje dat bylo zrušeno.`,notRemoved:`Něco se pokazilo a zdroj dat nebyl odebrán.`,deletedWhileEditing:`Tento zdroj dat byl smazán a již není dostupný.`},misc:{requestError:`Něco se pokazilo, zkuste to prosím později.`}},texts:{pages:{noPages:`Nemáte nakonfigurovanou žádnou stránku`,noFilteredPages:`Nebyly nalezeny žádné stránky odpovídající aktivním kritériím filtru`,loadingPages:`Načítání stránek...`,loadingPage:`Načítání stránky...`,confirmRemove:`Opravdu chcete odebrat stránku: {page}? Tuto akci nelze vrátit zpět.`,confirmBulkRemove:`Opravdu chcete odebrat {count} stránek? Tuto akci nelze vrátit zpět.`,selectPlugin:`Pro vytvoření nové stránky vyberte prosím kompatibilní plugin ze seznamu. Pluginy poskytují potřebné konfigurační možnosti pro konkrétní typy stránek.`,noPlugins:`Zatím nebyly nakonfigurovány žádné pluginy stránek.`,noDisplays:`Zatím nebyly spárovány žádné displeje.`},tiles:{noTiles:`Nemáte nakonfigurovanou žádnou dlaždici`,noFilteredTiles:`Nebyly nalezeny žádné dlaždice odpovídající aktivním kritériím filtru`,loadingTiles:`Načítání dlaždic...`,loadingTile:`Načítání dlaždice...`,confirmRemove:`Opravdu chcete odebrat dlaždici? Tuto akci nelze vrátit zpět.`,selectPlugin:`Pro vytvoření nové dlaždice vyberte prosím kompatibilní plugin ze seznamu. Pluginy poskytují potřebné konfigurační možnosti pro konkrétní typy dlaždic.`,noPlugins:`Zatím nebyly nakonfigurovány žádné pluginy dlaždic.`,plugin:`Plugin`,dataSources:`Zdroje dat`,dataSourcesCount:`Žádné zdroje dat nakonfigurovány | Jeden zdroj dat nakonfigurován | {count} zdrojů dat nakonfigurováno`,row:`Pozice řádku`,col:`Pozice sloupce`,size:`Velikost`,visibility:`Viditelnost`,hidden:`Dlaždice je skrytá`,visible:`Dlaždice je viditelná`},dataSources:{noDataSources:`Nemáte nakonfigurovaný žádný zdroj dat`,noFilteredDataSources:`Nebyly nalezeny žádné zdroje dat odpovídající aktivním kritériím filtru`,loadingDataSources:`Načítání zdrojů dat...`,loadingDataSource:`Načítání zdroje dat...`,confirmRemove:`Opravdu chcete odebrat zdroj dat? Tuto akci nelze vrátit zpět.`,selectPlugin:`Pro vytvoření nového zdroje dat vyberte prosím kompatibilní plugin ze seznamu. Pluginy poskytují potřebné konfigurační možnosti pro konkrétní typy zdrojů dat.`,noPlugins:`Zatím nebyly nakonfigurovány žádné pluginy zdrojů dat.`},misc:{confirmDiscard:`Máte neuložené změny. Opravdu je chcete zahodit?`}},fields:{pages:{search:{placeholder:`Hledat stránky...`},plugin:{title:`Plugin stránky`,placeholder:`Vyberte plugin stránky`},id:{title:`Interní identifikátor`,placeholder:`ID stránky`},title:{title:`Název`,placeholder:`Název stránky`,validation:{required:`Vyplňte prosím název stránky`}},icon:{title:`Ikona`,placeholder:`Ikona stránky`},order:{title:`Pořadí`,placeholder:`Pozice stránky`},showTopBar:{title:`Zobrazit horní lištu`,placeholder:`Zobrazit horní lištu stránky`},displays:{title:`Displeje`,placeholder:`Vyberte displeje (ponechte prázdné pro všechny displeje)`,description:`Vyberte konkrétní displeje pro tuto stránku. Ponechte prázdné, aby byla viditelná na všech displejích.`}},tiles:{search:{placeholder:`Hledat dlaždice...`},plugin:{title:`Plugin dlaždice`,placeholder:`Vyberte plugin dlaždice`},id:{title:`Interní identifikátor`,placeholder:`ID dlaždice`},row:{title:`Pozice řádku`,placeholder:`Číslo řádku 1-n`,validation:{required:`Vyplňte prosím řádek dlaždice`}},col:{title:`Pozice sloupce`,placeholder:`Číslo sloupce 1-n`,validation:{required:`Vyplňte prosím sloupec dlaždice`}},rowSpan:{title:`Rozpětí řádků`,placeholder:`Velikost dlaždice v řádcích`},colSpan:{title:`Rozpětí sloupců`,placeholder:`Velikost dlaždice ve sloupcích`},hidden:{title:`Skrytá`,placeholder:`Skrýt dlaždici v aplikaci displeje`}},dataSources:{search:{placeholder:`Hledat zdroje dat...`},plugin:{title:`Plugin zdroje dat`,placeholder:`Vyberte plugin zdroje dat`},id:{title:`Interní identifikátor`,placeholder:`ID zdroje dat`}}},table:{pages:{columns:{title:{title:`Název`},type:{title:`Typ`},display:{title:`Displeje`,all:`Všechny displeje`},order:{title:`Pořadí`},showTopBar:{title:`Zobrazit horní lištu`}}},tiles:{columns:{type:{title:`Typ`},row:{title:`Řádek`},col:{title:`Sloupec`},rowSpan:{title:`Rozpětí řádků`},colSpan:{title:`Rozpětí sloupců`},hidden:{title:`Skrytá`}}},dataSources:{columns:{type:{title:`Typ`}}}},filters:{pages:{types:{title:`Filtrovat podle typu stránky`},displays:{title:`Filtrovat podle displeje stránky`}},tiles:{types:{title:`Filtrovat podle typu dlaždice`}},dataSources:{types:{title:`Filtrovat podle typu zdroje dat`}}},buttons:{add:{title:`Přidat`},edit:{title:`Upravit`},detail:{title:`Detail`},configure:{title:`Konfigurovat`},discard:{title:`Zahodit`},cancel:{title:`Zrušit`},close:{title:`Zavřít`},save:{title:`Uložit`},change:{title:`Změnit`},remove:{title:`Odebrat`},resetFilters:{title:`Resetovat filtry`},yes:{title:`Ano`},no:{title:`Ne`},reset:{title:`Resetovat`},addDataSource:{title:`Přidat zdroj dat`}}},G={menu:{title:`Seiten`},meta:{pages:{list:{title:`Seiten auflisten`},edit:{title:`Seite bearbeiten: {page}`},add:{title:`Seite hinzufügen`},detail:{title:`Seite: {page}`},editDataSource:{title:`Seitendatenquelle bearbeiten`},addDataSource:{title:`Seitendatenquelle hinzufügen`}},tiles:{edit:{title:`Kachel bearbeiten`},detail:{title:`Kacheldetails`},editDataSource:{title:`Kacheldatenquelle bearbeiten`},addDataSource:{title:`Kacheldatenquelle hinzufügen`}}},breadcrumbs:{pages:{list:`Seiten`,add:`Seite hinzufügen`,edit:`Seite bearbeiten`,detail:`Seite: {page}`,addDataSource:`Seitendatenquelle hinzufügen`,editDataSource:`Seitendatenquelle bearbeiten`},tiles:{edit:`Kachel bearbeiten`,detail:`Kacheldetails`,addDataSource:`Kacheldatenquelle hinzufügen`,editDataSource:`Kacheldatenquelle bearbeiten`}},headings:{pages:{list:`Seiten`,add:`Seite hinzufügen`,edit:`Seite bearbeiten`,detail:`Seite: {page}`,remove:`Seite entfernen?`,bulkRemove:`Seiten entfernen?`,selectPlugin:`Seiten-Plugin erforderlich`,adjustFilters:`Seiten filtern`,addDataSource:`Seitendatenquelle hinzufügen`,editDataSource:`Seitendatenquelle bearbeiten`},tiles:{add:`Kachel hinzufügen`,edit:`Kachel bearbeiten`,detail:`Kacheldetails`,remove:`Kachel entfernen?`,selectPlugin:`Kachel-Plugin erforderlich`,adjustFilters:`Kacheln filtern`,addDataSource:`Kacheldatenquelle hinzufügen`,editDataSource:`Kacheldatenquelle bearbeiten`},dataSources:{add:`Datenquelle hinzufügen`,edit:`Datenquelle bearbeiten`,remove:`Datenquelle entfernen?`,selectPlugin:`Datenquellen-Plugin erforderlich`,adjustFilters:`Datenquellen filtern`},misc:{discard:`Änderungen verwerfen?`}},subHeadings:{pages:{list:`Smart Panel Seiten verwalten`,add:`Neue Smart Panel Seite hinzufügen`,edit:`Smart Panel Seite bearbeiten`,detail:`Smart Panel Seite verwalten`,adjustFilters:`Anzeigefilter anpassen`,addDataSource:`Neue Smart Panel Seitendatenquelle hinzufügen`,editDataSource:`Smart Panel Seitendatenquelle bearbeiten`},tiles:{add:`Neue Smart Panel Kachel hinzufügen`,edit:`Smart Panel Kachel bearbeiten`,detail:`Smart Panel Kachel verwalten`,adjustFilters:`Anzeigefilter anpassen`,addDataSource:`Neue Smart Panel Kacheldatenquelle hinzufügen`,editDataSource:`Smart Panel Kacheldatenquelle bearbeiten`},dataSources:{add:`Neue Smart Panel Datenquelle hinzufügen`,edit:`Smart Panel Datenquelle bearbeiten`,detail:`Smart Panel Datenquelle verwalten`,adjustFilters:`Anzeigefilter anpassen`}},messages:{pages:{notFound:`Die gesuchte Seite existiert nicht oder wurde entfernt.`,confirmRemove:`Sind Sie sicher, dass Sie die Seite: {page} entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,created:`Neue Seite erfolgreich hinzugefügt.`,notCreated:`Etwas ist schiefgelaufen. Die Seite konnte nicht erstellt werden.`,edited:`Änderungen gespeichert! Die Seite: {page} wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Seitenaktualisierung war nicht erfolgreich.`,removed:`Die Seite: {page} wurde erfolgreich entfernt.`,removeCanceled:`Entfernung von Seite: {page} wurde abgebrochen.`,notRemoved:`Etwas ist schiefgelaufen, die Seite: {page} wurde nicht entfernt.`,noDetailAllowed:`Dieser Seitentyp kann nicht geöffnet werden, da er keine Detailansicht hat.`,deletedWhileEditing:`Diese Seite wurde gelöscht und ist nicht mehr verfügbar.`,bulkRemoved:`{count} Seiten wurden erfolgreich entfernt.`,bulkRemoveFailed:`Entfernung von {count} Seiten fehlgeschlagen.`,bulkRemoveCanceled:`Massenentfernung von Seiten wurde abgebrochen.`},tiles:{notFound:`Die gesuchte Kachel existiert nicht oder wurde entfernt.`,confirmRemove:`Sind Sie sicher, dass Sie die Kachel entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,created:`Neue Kachel erfolgreich hinzugefügt.`,notCreated:`Etwas ist schiefgelaufen. Die Kachel konnte nicht erstellt werden.`,edited:`Änderungen gespeichert! Die Kachel wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Kachelaktualisierung war nicht erfolgreich.`,removed:`Die Kachel wurde erfolgreich entfernt.`,removeCanceled:`Kachelentfernung wurde abgebrochen.`,notRemoved:`Etwas ist schiefgelaufen, die Kachel wurde nicht entfernt.`,deletedWhileEditing:`Diese Kachel wurde gelöscht und ist nicht mehr verfügbar.`},dataSources:{notFound:`Die gesuchte Datenquelle existiert nicht oder wurde entfernt.`,confirmRemove:`Sind Sie sicher, dass Sie die Datenquelle entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,created:`Neue Datenquelle erfolgreich hinzugefügt.`,notCreated:`Etwas ist schiefgelaufen. Die Datenquelle konnte nicht erstellt werden.`,edited:`Änderungen gespeichert! Die Datenquelle wurde aktualisiert.`,notEdited:`Etwas ist schiefgelaufen. Die Datenquellenaktualisierung war nicht erfolgreich.`,removed:`Die Datenquelle wurde erfolgreich entfernt.`,removeCanceled:`Datenquellenentfernung wurde abgebrochen.`,notRemoved:`Etwas ist schiefgelaufen, die Datenquelle wurde nicht entfernt.`,deletedWhileEditing:`Diese Datenquelle wurde gelöscht und ist nicht mehr verfügbar.`},misc:{requestError:`Etwas ist schiefgelaufen, bitte versuchen Sie es später erneut.`}},texts:{pages:{noPages:`Sie haben noch keine Seiten konfiguriert`,noFilteredPages:`Keine Seiten gefunden, die den aktiven Filterkriterien entsprechen`,loadingPages:`Seiten werden geladen...`,loadingPage:`Seite wird geladen...`,confirmRemove:`Sind Sie sicher, dass Sie die Seite: {page} entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,confirmBulkRemove:`Sind Sie sicher, dass Sie {count} Seiten entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,selectPlugin:`Um eine neue Seite zu erstellen, wählen Sie bitte ein kompatibles Plugin aus der Liste. Plugins bieten die notwendigen Konfigurationsoptionen für bestimmte Seitentypen.`,noPlugins:`Es wurden noch keine Seiten-Plugins konfiguriert.`,noDisplays:`Es wurden noch keine Displays gekoppelt.`},tiles:{noTiles:`Sie haben noch keine Kacheln konfiguriert`,noFilteredTiles:`Keine Kacheln gefunden, die den aktiven Filterkriterien entsprechen`,loadingTiles:`Kacheln werden geladen...`,loadingTile:`Kachel wird geladen...`,confirmRemove:`Sind Sie sicher, dass Sie die Kachel entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,selectPlugin:`Um neue Kacheln zu erstellen, wählen Sie bitte ein kompatibles Plugin aus der Liste. Plugins bieten die notwendigen Konfigurationsoptionen für bestimmte Kacheltypen.`,noPlugins:`Es wurden noch keine Kachel-Plugins konfiguriert.`,plugin:`Plugin`,dataSources:`Datenquellen`,dataSourcesCount:`Keine Datenquellen konfiguriert | Eine Datenquelle konfiguriert | {count} Datenquellen konfiguriert`,row:`Zeilenposition`,col:`Spaltenposition`,size:`Größe`,visibility:`Sichtbarkeit`,hidden:`Kachel ist verborgen`,visible:`Kachel ist sichtbar`},dataSources:{noDataSources:`Sie haben noch keine Datenquellen konfiguriert`,noFilteredDataSources:`Keine Datenquellen gefunden, die den aktiven Filterkriterien entsprechen`,loadingDataSources:`Datenquellen werden geladen...`,loadingDataSource:`Datenquelle wird geladen...`,confirmRemove:`Sind Sie sicher, dass Sie die Datenquelle entfernen möchten? Dies kann nicht rückgängig gemacht werden.`,selectPlugin:`Um eine neue Datenquelle zu erstellen, wählen Sie bitte ein kompatibles Plugin aus der Liste. Plugins bieten die notwendigen Konfigurationsoptionen für bestimmte Datenquellentypen.`,noPlugins:`Es wurden noch keine Datenquellen-Plugins konfiguriert.`},misc:{confirmDiscard:`Sie haben ungespeicherte Änderungen. Möchten Sie diese wirklich verwerfen?`}},fields:{pages:{search:{placeholder:`Seiten suchen...`},plugin:{title:`Seiten-Plugin`,placeholder:`Seiten-Plugin auswählen`},id:{title:`Interner Bezeichner`,placeholder:`Seiten-ID`},title:{title:`Titel`,placeholder:`Seitentitel`,validation:{required:`Bitte geben Sie den Seitentitel ein`}},icon:{title:`Symbol`,placeholder:`Seitensymbol`},order:{title:`Reihenfolge`,placeholder:`Seitenposition`},showTopBar:{title:`Obere Leiste anzeigen`,placeholder:`Obere Leiste der Seite anzeigen`},displays:{title:`Displays`,placeholder:`Displays auswählen (leer lassen für alle Displays)`,description:`Wählen Sie bestimmte Displays für diese Seite. Leer lassen, um sie auf allen Displays sichtbar zu machen.`}},tiles:{search:{placeholder:`Kacheln suchen...`},plugin:{title:`Kachel-Plugin`,placeholder:`Kachel-Plugin auswählen`},id:{title:`Interner Bezeichner`,placeholder:`Kachel-ID`},row:{title:`Zeilenposition`,placeholder:`Zeilennummer 1-n`,validation:{required:`Bitte geben Sie die Kachelzeile ein`}},col:{title:`Spaltenposition`,placeholder:`Spaltennummer 1-n`,validation:{required:`Bitte geben Sie die Kachelspalte ein`}},rowSpan:{title:`Zeilenspanne`,placeholder:`Zeilengröße der Kachel`},colSpan:{title:`Spaltenspanne`,placeholder:`Spaltengröße der Kachel`},hidden:{title:`Verborgen`,placeholder:`Kachel in der Anzeigeanwendung unsichtbar machen`}},dataSources:{search:{placeholder:`Datenquellen suchen...`},plugin:{title:`Datenquellen-Plugin`,placeholder:`Datenquellen-Plugin auswählen`},id:{title:`Interner Bezeichner`,placeholder:`Datenquellen-ID`}}},table:{pages:{columns:{title:{title:`Titel`},type:{title:`Typ`},display:{title:`Displays`,all:`Alle Displays`},order:{title:`Reihenfolge`},showTopBar:{title:`Obere Leiste anzeigen`}}},tiles:{columns:{type:{title:`Typ`},row:{title:`Zeile`},col:{title:`Spalte`},rowSpan:{title:`Zeilenspanne`},colSpan:{title:`Spaltenspanne`},hidden:{title:`Verborgen`}}},dataSources:{columns:{type:{title:`Typ`}}}},filters:{pages:{types:{title:`Nach Seitentyp filtern`},displays:{title:`Nach Seiten-Display filtern`}},tiles:{types:{title:`Nach Kacheltyp filtern`}},dataSources:{types:{title:`Nach Datenquellentyp filtern`}}},buttons:{add:{title:`Hinzufügen`},edit:{title:`Bearbeiten`},detail:{title:`Details`},configure:{title:`Konfigurieren`},discard:{title:`Verwerfen`},cancel:{title:`Abbrechen`},close:{title:`Schließen`},save:{title:`Speichern`},change:{title:`Ändern`},remove:{title:`Entfernen`},resetFilters:{title:`Filter zurücksetzen`},yes:{title:`Ja`},no:{title:`Nein`},reset:{title:`Zurücksetzen`},addDataSource:{title:`Datenquelle hinzufügen`}}},K={menu:{title:`Pages`},meta:{pages:{list:{title:`List pages`},edit:{title:`Edit page: {page}`},add:{title:`Add page`},detail:{title:`Page: {page}`},editDataSource:{title:`Edit page data source`},addDataSource:{title:`Add page data source`}},tiles:{edit:{title:`Edit tile`},detail:{title:`Tile detail`},editDataSource:{title:`Edit tile data source`},addDataSource:{title:`Add tile data source`}}},breadcrumbs:{pages:{list:`pages`,add:`add page`,edit:`edit page`,detail:`page: {page}`,addDataSource:`add page data source`,editDataSource:`edit page data source`},tiles:{edit:`edit tile`,detail:`tile detail`,addDataSource:`add tile data source`,editDataSource:`edit tile data source`}},headings:{pages:{list:`Pages`,add:`Add page`,edit:`Edit page`,detail:`Page: {page}`,remove:`Remove page?`,bulkRemove:`Remove pages?`,selectPlugin:`Page plugin required`,adjustFilters:`Filter pages`,addDataSource:`Add page data source`,editDataSource:`Edit page data source`},tiles:{add:`Add tile`,edit:`Edit tile`,detail:`Tile detail`,remove:`Remove tile?`,selectPlugin:`Tile plugin required`,adjustFilters:`Filter tiles`,addDataSource:`Add tile data source`,editDataSource:`Edit tile data source`},dataSources:{add:`Add data source`,edit:`Edit data source`,remove:`Remove data source?`,selectPlugin:`Data source plugin required`,adjustFilters:`Filter data sources`},misc:{discard:`Discard changes?`}},subHeadings:{pages:{list:`Manage smart panel pages`,add:`Add new smart panel page`,edit:`Edit smart panel page`,detail:`Manage smart panel page`,adjustFilters:`Adjust display filters`,addDataSource:`Add new smart panel page data source`,editDataSource:`Edit smart panel page data source`},tiles:{add:`Add new smart panel tile`,edit:`Edit smart panel tile`,detail:`Manage smart panel tile`,adjustFilters:`Adjust display filters`,addDataSource:`Add new smart panel tile data source`,editDataSource:`Edit smart panel tile data source`},dataSources:{add:`Add new smart panel data source`,edit:`Edit smart panel data source`,detail:`Manage smart panel data source`,adjustFilters:`Adjust display filters`}},messages:{pages:{notFound:`The page you are looking for doesn’t exist or may have been removed.`,confirmRemove:`Are you sure you want to remove page: {page}? This cannot be reversed.`,created:`New page added successfully.`,notCreated:`Something went wrong. Unable to create the page.`,edited:`Changes saved! The page: {page} has been updated.`,notEdited:`Something went wrong. Page update was not successful.`,removed:`The page: {page} was successfully removed.`,removeCanceled:`Page: {page} removal has been canceled.`,notRemoved:`Something went wrong, and the page: {page} was not removed.`,noDetailAllowed:`This page type cannot be opened because it has no detail view.`,deletedWhileEditing:`This page was deleted and is no longer available.`,bulkRemoved:`{count} pages were successfully removed.`,bulkRemoveFailed:`Failed to remove {count} pages.`,bulkRemoveCanceled:`Bulk page removal has been canceled.`},tiles:{notFound:`The tile you are looking for doesn’t exist or may have been removed.`,confirmRemove:`Are you sure you want to remove tile? This cannot be reversed.`,created:`New tile added successfully.`,notCreated:`Something went wrong. Unable to create the tile.`,edited:`Changes saved! The tile has been updated.`,notEdited:`Something went wrong. Tile update was not successful.`,removed:`The tile was successfully removed.`,removeCanceled:`Tile removal has been canceled.`,notRemoved:`Something tile wrong, and the tile was not removed.`,deletedWhileEditing:`This tile was deleted and is no longer available.`},dataSources:{notFound:`The data source you are looking for doesn’t exist or may have been removed.`,confirmRemove:`Are you sure you want to remove data source? This cannot be reversed.`,created:`New data source added successfully.`,notCreated:`Something went wrong. Unable to create the data source.`,edited:`Changes saved! The data source has been updated.`,notEdited:`Something went wrong. Data source update was not successful.`,removed:`The data source was successfully removed.`,removeCanceled:`Data sources removal has been canceled.`,notRemoved:`Something went wrong, and the data sources was not removed.`,deletedWhileEditing:`This data source was deleted and is no longer available.`},misc:{requestError:`Something went wrong, please try again later.`}},texts:{pages:{noPages:`You don't have configured any page`,noFilteredPages:`No pages found matching the active filter criteria`,loadingPages:`Loading pages...`,loadingPage:`Loading page...`,confirmRemove:`Are you sure you want to remove page: {page}? This cannot be reversed.`,confirmBulkRemove:`Are you sure you want to remove {count} pages? This cannot be reversed.`,selectPlugin:`To create a new page, please select a compatible plugin from the list. Plugins provide the necessary configuration options for specific page types.`,noPlugins:`No page plugins have been configured yet.`,noDisplays:`No displays have been paired yet.`},tiles:{noTiles:`You don't have configured any tile`,noFilteredTiles:`No tiles found matching the active filter criteria`,loadingTiles:`Loading tiles...`,loadingTile:`Loading tile...`,confirmRemove:`Are you sure you want to remove tile? This cannot be reversed.`,selectPlugin:`To create a new tiles, please select a compatible plugin from the list. Plugins provide the necessary configuration options for specific tile types.`,noPlugins:`No tile plugins have been configured yet.`,plugin:`Plugin`,dataSources:`Data sources`,dataSourcesCount:`No data sources configured | One data source configured | {count} data sources configured`,row:`Row positon`,col:`Column positon`,size:`Size`,visibility:`Visibility`,hidden:`Tile is hidden`,visible:`Tile is visible`},dataSources:{noDataSources:`You don't have configured any data source`,noFilteredDataSources:`No data sources found matching the active filter criteria`,loadingDataSources:`Loading data sources...`,loadingDataSource:`Loading data source...`,confirmRemove:`Are you sure you want to remove data source? This cannot be reversed.`,selectPlugin:`To create a new data source, please select a compatible plugin from the list. Plugins provide the necessary configuration options for specific data source types.`,noPlugins:`No data source plugins have been configured yet.`},misc:{confirmDiscard:`You have unsaved changes. Are you sure you want to discard them?`}},fields:{pages:{search:{placeholder:`Search pages...`},plugin:{title:`Page plugin`,placeholder:`Select page plugin`},id:{title:`Internal identifier`,placeholder:`Page id`},title:{title:`Title`,placeholder:`Page title`,validation:{required:`Please fill in page title`}},icon:{title:`Icon`,placeholder:`Page icon`},order:{title:`Order`,placeholder:`Page position`},showTopBar:{title:`Show top bar`,placeholder:`Show page top bar`},displays:{title:`Displays`,placeholder:`Select displays (leave empty for all displays)`,description:`Select specific displays for this page. Leave empty to make it visible on all displays.`}},tiles:{search:{placeholder:`Search tiles...`},plugin:{title:`Tile plugin`,placeholder:`Select tile plugin`},id:{title:`Internal identifier`,placeholder:`Tile id`},row:{title:`Row position`,placeholder:`Row number 1-n`,validation:{required:`Please fill in tile row`}},col:{title:`Column position`,placeholder:`Column number 1-n`,validation:{required:`Please fill in tile column`}},rowSpan:{title:`Row span`,placeholder:`Row size of the tile`},colSpan:{title:`Column span`,placeholder:`Column size of the tile`},hidden:{title:`Hidden`,placeholder:`Make tile invisible on the display application`}},dataSources:{search:{placeholder:`Search data sources...`},plugin:{title:`Data source plugin`,placeholder:`Select data source plugin`},id:{title:`Internal identifier`,placeholder:`Data source id`}}},table:{pages:{columns:{title:{title:`Title`},type:{title:`Type`},display:{title:`Displays`,all:`All displays`},order:{title:`Order`},showTopBar:{title:`Show top bar`}}},tiles:{columns:{type:{title:`Type`},row:{title:`Row`},col:{title:`Column`},rowSpan:{title:`Row span`},colSpan:{title:`Column span`},hidden:{title:`Hidden`}}},dataSources:{columns:{type:{title:`Type`}}}},filters:{pages:{types:{title:`Filter by page type`},displays:{title:`Filter by page display`}},tiles:{types:{title:`Filter by tile type`}},dataSources:{types:{title:`Filter by data source type`}}},buttons:{add:{title:`Add`},edit:{title:`Edit`},detail:{title:`Detail`},configure:{title:`Configure`},discard:{title:`Discard`},cancel:{title:`Cancel`},close:{title:`Close`},save:{title:`Save`},change:{title:`Change`},remove:{title:`Remove`},resetFilters:{title:`Reset filters`},yes:{title:`Yes`},no:{title:`No`},reset:{title:`Reset`},addDataSource:{title:`Add data source`}}},ne={menu:{title:`Páginas`},meta:{pages:{list:{title:`Listar páginas`},edit:{title:`Editar página: {page}`},add:{title:`Añadir página`},detail:{title:`Página: {page}`},editDataSource:{title:`Editar fuente de datos de página`},addDataSource:{title:`Añadir fuente de datos de página`}},tiles:{edit:{title:`Editar mosaico`},detail:{title:`Detalle del mosaico`},editDataSource:{title:`Editar fuente de datos del mosaico`},addDataSource:{title:`Añadir fuente de datos del mosaico`}}},breadcrumbs:{pages:{list:`páginas`,add:`añadir página`,edit:`editar página`,detail:`página: {page}`,addDataSource:`añadir fuente de datos de página`,editDataSource:`editar fuente de datos de página`},tiles:{edit:`editar mosaico`,detail:`detalle del mosaico`,addDataSource:`añadir fuente de datos del mosaico`,editDataSource:`editar fuente de datos del mosaico`}},headings:{pages:{list:`Páginas`,add:`Añadir página`,edit:`Editar página`,detail:`Página: {page}`,remove:`¿Eliminar página?`,bulkRemove:`¿Eliminar páginas?`,selectPlugin:`Se requiere plugin de página`,adjustFilters:`Filtrar páginas`,addDataSource:`Añadir fuente de datos de página`,editDataSource:`Editar fuente de datos de página`},tiles:{add:`Añadir mosaico`,edit:`Editar mosaico`,detail:`Detalle del mosaico`,remove:`¿Eliminar mosaico?`,selectPlugin:`Se requiere plugin de mosaico`,adjustFilters:`Filtrar mosaicos`,addDataSource:`Añadir fuente de datos del mosaico`,editDataSource:`Editar fuente de datos del mosaico`},dataSources:{add:`Añadir fuente de datos`,edit:`Editar fuente de datos`,remove:`¿Eliminar fuente de datos?`,selectPlugin:`Se requiere plugin de fuente de datos`,adjustFilters:`Filtrar fuentes de datos`},misc:{discard:`¿Descartar cambios?`}},subHeadings:{pages:{list:`Gestionar páginas del panel inteligente`,add:`Añadir nueva página del panel inteligente`,edit:`Editar página del panel inteligente`,detail:`Gestionar página del panel inteligente`,adjustFilters:`Ajustar filtros de visualización`,addDataSource:`Añadir nueva fuente de datos de página del panel inteligente`,editDataSource:`Editar fuente de datos de página del panel inteligente`},tiles:{add:`Añadir nuevo mosaico del panel inteligente`,edit:`Editar mosaico del panel inteligente`,detail:`Gestionar mosaico del panel inteligente`,adjustFilters:`Ajustar filtros de visualización`,addDataSource:`Añadir nueva fuente de datos de mosaico del panel inteligente`,editDataSource:`Editar fuente de datos de mosaico del panel inteligente`},dataSources:{add:`Añadir nueva fuente de datos del panel inteligente`,edit:`Editar fuente de datos del panel inteligente`,detail:`Gestionar fuente de datos del panel inteligente`,adjustFilters:`Ajustar filtros de visualización`}},messages:{pages:{notFound:`La página que buscas no existe o pudo haber sido eliminada.`,confirmRemove:`¿Estás seguro de que deseas eliminar la página: {page}? Esto no se puede revertir.`,created:`Nueva página añadida correctamente.`,notCreated:`Algo salió mal. No se pudo crear la página.`,edited:`¡Cambios guardados! La página: {page} ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la página no fue exitosa.`,removed:`La página: {page} fue eliminada correctamente.`,removeCanceled:`La eliminación de la página: {page} ha sido cancelada.`,notRemoved:`Algo salió mal y la página: {page} no fue eliminada.`,noDetailAllowed:`Este tipo de página no se puede abrir porque no tiene vista de detalle.`,deletedWhileEditing:`Esta página fue eliminada y ya no está disponible.`,bulkRemoved:`{count} páginas fueron eliminadas correctamente.`,bulkRemoveFailed:`Error al eliminar {count} páginas.`,bulkRemoveCanceled:`La eliminación masiva de páginas ha sido cancelada.`},tiles:{notFound:`El mosaico que buscas no existe o pudo haber sido eliminado.`,confirmRemove:`¿Estás seguro de que deseas eliminar el mosaico? Esto no se puede revertir.`,created:`Nuevo mosaico añadido correctamente.`,notCreated:`Algo salió mal. No se pudo crear el mosaico.`,edited:`¡Cambios guardados! El mosaico ha sido actualizado.`,notEdited:`Algo salió mal. La actualización del mosaico no fue exitosa.`,removed:`El mosaico fue eliminado correctamente.`,removeCanceled:`La eliminación del mosaico ha sido cancelada.`,notRemoved:`Algo salió mal y el mosaico no fue eliminado.`,deletedWhileEditing:`Este mosaico fue eliminado y ya no está disponible.`},dataSources:{notFound:`La fuente de datos que buscas no existe o pudo haber sido eliminada.`,confirmRemove:`¿Estás seguro de que deseas eliminar la fuente de datos? Esto no se puede revertir.`,created:`Nueva fuente de datos añadida correctamente.`,notCreated:`Algo salió mal. No se pudo crear la fuente de datos.`,edited:`¡Cambios guardados! La fuente de datos ha sido actualizada.`,notEdited:`Algo salió mal. La actualización de la fuente de datos no fue exitosa.`,removed:`La fuente de datos fue eliminada correctamente.`,removeCanceled:`La eliminación de la fuente de datos ha sido cancelada.`,notRemoved:`Algo salió mal y la fuente de datos no fue eliminada.`,deletedWhileEditing:`Esta fuente de datos fue eliminada y ya no está disponible.`},misc:{requestError:`Algo salió mal, por favor inténtalo de nuevo más tarde.`}},texts:{pages:{noPages:`No tienes ninguna página configurada`,noFilteredPages:`No se encontraron páginas que coincidan con los criterios de filtro activos`,loadingPages:`Cargando páginas...`,loadingPage:`Cargando página...`,confirmRemove:`¿Estás seguro de que deseas eliminar la página: {page}? Esto no se puede revertir.`,confirmBulkRemove:`¿Estás seguro de que deseas eliminar {count} páginas? Esto no se puede revertir.`,selectPlugin:`Para crear una nueva página, por favor selecciona un plugin compatible de la lista. Los plugins proporcionan las opciones de configuración necesarias para tipos de página específicos.`,noPlugins:`Aún no se han configurado plugins de página.`,noDisplays:`Aún no se han emparejado pantallas.`},tiles:{noTiles:`No tienes ningún mosaico configurado`,noFilteredTiles:`No se encontraron mosaicos que coincidan con los criterios de filtro activos`,loadingTiles:`Cargando mosaicos...`,loadingTile:`Cargando mosaico...`,confirmRemove:`¿Estás seguro de que deseas eliminar el mosaico? Esto no se puede revertir.`,selectPlugin:`Para crear nuevos mosaicos, por favor selecciona un plugin compatible de la lista. Los plugins proporcionan las opciones de configuración necesarias para tipos de mosaico específicos.`,noPlugins:`Aún no se han configurado plugins de mosaico.`,plugin:`Plugin`,dataSources:`Fuentes de datos`,dataSourcesCount:`Sin fuentes de datos configuradas | Una fuente de datos configurada | {count} fuentes de datos configuradas`,row:`Posición de fila`,col:`Posición de columna`,size:`Tamaño`,visibility:`Visibilidad`,hidden:`El mosaico está oculto`,visible:`El mosaico es visible`},dataSources:{noDataSources:`No tienes ninguna fuente de datos configurada`,noFilteredDataSources:`No se encontraron fuentes de datos que coincidan con los criterios de filtro activos`,loadingDataSources:`Cargando fuentes de datos...`,loadingDataSource:`Cargando fuente de datos...`,confirmRemove:`¿Estás seguro de que deseas eliminar la fuente de datos? Esto no se puede revertir.`,selectPlugin:`Para crear una nueva fuente de datos, por favor selecciona un plugin compatible de la lista. Los plugins proporcionan las opciones de configuración necesarias para tipos de fuente de datos específicos.`,noPlugins:`Aún no se han configurado plugins de fuente de datos.`},misc:{confirmDiscard:`Tienes cambios sin guardar. ¿Estás seguro de que deseas descartarlos?`}},fields:{pages:{search:{placeholder:`Buscar páginas...`},plugin:{title:`Plugin de página`,placeholder:`Seleccionar plugin de página`},id:{title:`Identificador interno`,placeholder:`ID de página`},title:{title:`Título`,placeholder:`Título de la página`,validation:{required:`Por favor ingresa el título de la página`}},icon:{title:`Icono`,placeholder:`Icono de la página`},order:{title:`Orden`,placeholder:`Posición de la página`},showTopBar:{title:`Mostrar barra superior`,placeholder:`Mostrar barra superior de la página`},displays:{title:`Pantallas`,placeholder:`Seleccionar pantallas (dejar vacío para todas las pantallas)`,description:`Selecciona pantallas específicas para esta página. Déjalo vacío para hacerla visible en todas las pantallas.`}},tiles:{search:{placeholder:`Buscar mosaicos...`},plugin:{title:`Plugin de mosaico`,placeholder:`Seleccionar plugin de mosaico`},id:{title:`Identificador interno`,placeholder:`ID del mosaico`},row:{title:`Posición de fila`,placeholder:`Número de fila 1-n`,validation:{required:`Por favor ingresa la fila del mosaico`}},col:{title:`Posición de columna`,placeholder:`Número de columna 1-n`,validation:{required:`Por favor ingresa la columna del mosaico`}},rowSpan:{title:`Extensión de filas`,placeholder:`Tamaño del mosaico en filas`},colSpan:{title:`Extensión de columnas`,placeholder:`Tamaño del mosaico en columnas`},hidden:{title:`Oculto`,placeholder:`Hacer el mosaico invisible en la aplicación de pantalla`}},dataSources:{search:{placeholder:`Buscar fuentes de datos...`},plugin:{title:`Plugin de fuente de datos`,placeholder:`Seleccionar plugin de fuente de datos`},id:{title:`Identificador interno`,placeholder:`ID de fuente de datos`}}},table:{pages:{columns:{title:{title:`Título`},type:{title:`Tipo`},display:{title:`Pantallas`,all:`Todas las pantallas`},order:{title:`Orden`},showTopBar:{title:`Mostrar barra superior`}}},tiles:{columns:{type:{title:`Tipo`},row:{title:`Fila`},col:{title:`Columna`},rowSpan:{title:`Extensión de filas`},colSpan:{title:`Extensión de columnas`},hidden:{title:`Oculto`}}},dataSources:{columns:{type:{title:`Tipo`}}}},filters:{pages:{types:{title:`Filtrar por tipo de página`},displays:{title:`Filtrar por pantalla de página`}},tiles:{types:{title:`Filtrar por tipo de mosaico`}},dataSources:{types:{title:`Filtrar por tipo de fuente de datos`}}},buttons:{add:{title:`Añadir`},edit:{title:`Editar`},detail:{title:`Detalle`},configure:{title:`Configurar`},discard:{title:`Descartar`},cancel:{title:`Cancelar`},close:{title:`Cerrar`},save:{title:`Guardar`},change:{title:`Cambiar`},remove:{title:`Eliminar`},resetFilters:{title:`Restablecer filtros`},yes:{title:`Sí`},no:{title:`No`},reset:{title:`Restablecer`},addDataSource:{title:`Añadir fuente de datos`}}},re={menu:{title:`Strony`},meta:{pages:{list:{title:`Lista stron`},edit:{title:`Edytuj stronę: {page}`},add:{title:`Dodaj stronę`},detail:{title:`Strona: {page}`},editDataSource:{title:`Edytuj źródło danych strony`},addDataSource:{title:`Dodaj źródło danych strony`}},tiles:{edit:{title:`Edytuj kafelek`},detail:{title:`Szczegóły kafelka`},editDataSource:{title:`Edytuj źródło danych kafelka`},addDataSource:{title:`Dodaj źródło danych kafelka`}}},breadcrumbs:{pages:{list:`strony`,add:`dodaj stronę`,edit:`edytuj stronę`,detail:`strona: {page}`,addDataSource:`dodaj źródło danych strony`,editDataSource:`edytuj źródło danych strony`},tiles:{edit:`edytuj kafelek`,detail:`szczegóły kafelka`,addDataSource:`dodaj źródło danych kafelka`,editDataSource:`edytuj źródło danych kafelka`}},headings:{pages:{list:`Strony`,add:`Dodaj stronę`,edit:`Edytuj stronę`,detail:`Strona: {page}`,remove:`Usunąć stronę?`,bulkRemove:`Usunąć strony?`,selectPlugin:`Wymagana wtyczka strony`,adjustFilters:`Filtruj strony`,addDataSource:`Dodaj źródło danych strony`,editDataSource:`Edytuj źródło danych strony`},tiles:{add:`Dodaj kafelek`,edit:`Edytuj kafelek`,detail:`Szczegóły kafelka`,remove:`Usunąć kafelek?`,selectPlugin:`Wymagana wtyczka kafelka`,adjustFilters:`Filtruj kafelki`,addDataSource:`Dodaj źródło danych kafelka`,editDataSource:`Edytuj źródło danych kafelka`},dataSources:{add:`Dodaj źródło danych`,edit:`Edytuj źródło danych`,remove:`Usunąć źródło danych?`,selectPlugin:`Wymagana wtyczka źródła danych`,adjustFilters:`Filtruj źródła danych`},misc:{discard:`Odrzucić zmiany?`}},subHeadings:{pages:{list:`Zarządzaj stronami smart panelu`,add:`Dodaj nową stronę smart panelu`,edit:`Edytuj stronę smart panelu`,detail:`Zarządzaj stroną smart panelu`,adjustFilters:`Dostosuj filtry wyświetlania`,addDataSource:`Dodaj nowe źródło danych strony smart panelu`,editDataSource:`Edytuj źródło danych strony smart panelu`},tiles:{add:`Dodaj nowy kafelek smart panelu`,edit:`Edytuj kafelek smart panelu`,detail:`Zarządzaj kafelkiem smart panelu`,adjustFilters:`Dostosuj filtry wyświetlania`,addDataSource:`Dodaj nowe źródło danych kafelka smart panelu`,editDataSource:`Edytuj źródło danych kafelka smart panelu`},dataSources:{add:`Dodaj nowe źródło danych smart panelu`,edit:`Edytuj źródło danych smart panelu`,detail:`Zarządzaj źródłem danych smart panelu`,adjustFilters:`Dostosuj filtry wyświetlania`}},messages:{pages:{notFound:`Strona, której szukasz, nie istnieje lub mogła zostać usunięta.`,confirmRemove:`Czy na pewno chcesz usunąć stronę: {page}? Tej operacji nie można cofnąć.`,created:`Nowa strona została pomyślnie dodana.`,notCreated:`Coś poszło nie tak. Nie udało się utworzyć strony.`,edited:`Zmiany zapisane! Strona: {page} została zaktualizowana.`,notEdited:`Coś poszło nie tak. Aktualizacja strony nie powiodła się.`,removed:`Strona: {page} została pomyślnie usunięta.`,removeCanceled:`Usunięcie strony: {page} zostało anulowane.`,notRemoved:`Coś poszło nie tak i strona: {page} nie została usunięta.`,noDetailAllowed:`Tego typu strony nie można otworzyć, ponieważ nie ma widoku szczegółowego.`,deletedWhileEditing:`Ta strona została usunięta i nie jest już dostępna.`,bulkRemoved:`{count} stron zostało pomyślnie usuniętych.`,bulkRemoveFailed:`Nie udało się usunąć {count} stron.`,bulkRemoveCanceled:`Masowe usuwanie stron zostało anulowane.`},tiles:{notFound:`Kafelek, którego szukasz, nie istnieje lub mógł zostać usunięty.`,confirmRemove:`Czy na pewno chcesz usunąć kafelek? Tej operacji nie można cofnąć.`,created:`Nowy kafelek został pomyślnie dodany.`,notCreated:`Coś poszło nie tak. Nie udało się utworzyć kafelka.`,edited:`Zmiany zapisane! Kafelek został zaktualizowany.`,notEdited:`Coś poszło nie tak. Aktualizacja kafelka nie powiodła się.`,removed:`Kafelek został pomyślnie usunięty.`,removeCanceled:`Usuwanie kafelka zostało anulowane.`,notRemoved:`Coś poszło nie tak i kafelek nie został usunięty.`,deletedWhileEditing:`Ten kafelek został usunięty i nie jest już dostępny.`},dataSources:{notFound:`Źródło danych, którego szukasz, nie istnieje lub mogło zostać usunięte.`,confirmRemove:`Czy na pewno chcesz usunąć źródło danych? Tej operacji nie można cofnąć.`,created:`Nowe źródło danych zostało pomyślnie dodane.`,notCreated:`Coś poszło nie tak. Nie udało się utworzyć źródła danych.`,edited:`Zmiany zapisane! Źródło danych zostało zaktualizowane.`,notEdited:`Coś poszło nie tak. Aktualizacja źródła danych nie powiodła się.`,removed:`Źródło danych zostało pomyślnie usunięte.`,removeCanceled:`Usuwanie źródła danych zostało anulowane.`,notRemoved:`Coś poszło nie tak i źródło danych nie zostało usunięte.`,deletedWhileEditing:`To źródło danych zostało usunięte i nie jest już dostępne.`},misc:{requestError:`Coś poszło nie tak, spróbuj ponownie później.`}},texts:{pages:{noPages:`Nie masz skonfigurowanych żadnych stron`,noFilteredPages:`Nie znaleziono stron pasujących do aktywnych kryteriów filtra`,loadingPages:`Ładowanie stron...`,loadingPage:`Ładowanie strony...`,confirmRemove:`Czy na pewno chcesz usunąć stronę: {page}? Tej operacji nie można cofnąć.`,confirmBulkRemove:`Czy na pewno chcesz usunąć {count} stron? Tej operacji nie można cofnąć.`,selectPlugin:`Aby utworzyć nową stronę, wybierz kompatybilną wtyczkę z listy. Wtyczki zapewniają niezbędne opcje konfiguracji dla określonych typów stron.`,noPlugins:`Nie skonfigurowano jeszcze żadnych wtyczek stron.`,noDisplays:`Nie sparowano jeszcze żadnych wyświetlaczy.`},tiles:{noTiles:`Nie masz skonfigurowanych żadnych kafelków`,noFilteredTiles:`Nie znaleziono kafelków pasujących do aktywnych kryteriów filtra`,loadingTiles:`Ładowanie kafelków...`,loadingTile:`Ładowanie kafelka...`,confirmRemove:`Czy na pewno chcesz usunąć kafelek? Tej operacji nie można cofnąć.`,selectPlugin:`Aby utworzyć nowe kafelki, wybierz kompatybilną wtyczkę z listy. Wtyczki zapewniają niezbędne opcje konfiguracji dla określonych typów kafelków.`,noPlugins:`Nie skonfigurowano jeszcze żadnych wtyczek kafelków.`,plugin:`Wtyczka`,dataSources:`Źródła danych`,dataSourcesCount:`Brak skonfigurowanych źródeł danych | Jedno skonfigurowane źródło danych | {count} skonfigurowanych źródeł danych`,row:`Pozycja wiersza`,col:`Pozycja kolumny`,size:`Rozmiar`,visibility:`Widoczność`,hidden:`Kafelek jest ukryty`,visible:`Kafelek jest widoczny`},dataSources:{noDataSources:`Nie masz skonfigurowanych żadnych źródeł danych`,noFilteredDataSources:`Nie znaleziono źródeł danych pasujących do aktywnych kryteriów filtra`,loadingDataSources:`Ładowanie źródeł danych...`,loadingDataSource:`Ładowanie źródła danych...`,confirmRemove:`Czy na pewno chcesz usunąć źródło danych? Tej operacji nie można cofnąć.`,selectPlugin:`Aby utworzyć nowe źródło danych, wybierz kompatybilną wtyczkę z listy. Wtyczki zapewniają niezbędne opcje konfiguracji dla określonych typów źródeł danych.`,noPlugins:`Nie skonfigurowano jeszcze żadnych wtyczek źródeł danych.`},misc:{confirmDiscard:`Masz niezapisane zmiany. Czy na pewno chcesz je odrzucić?`}},fields:{pages:{search:{placeholder:`Szukaj stron...`},plugin:{title:`Wtyczka strony`,placeholder:`Wybierz wtyczkę strony`},id:{title:`Identyfikator wewnętrzny`,placeholder:`ID strony`},title:{title:`Tytuł`,placeholder:`Tytuł strony`,validation:{required:`Proszę podać tytuł strony`}},icon:{title:`Ikona`,placeholder:`Ikona strony`},order:{title:`Kolejność`,placeholder:`Pozycja strony`},showTopBar:{title:`Pokaż górny pasek`,placeholder:`Pokaż górny pasek strony`},displays:{title:`Wyświetlacze`,placeholder:`Wybierz wyświetlacze (pozostaw puste dla wszystkich wyświetlaczy)`,description:`Wybierz konkretne wyświetlacze dla tej strony. Pozostaw puste, aby była widoczna na wszystkich wyświetlaczach.`}},tiles:{search:{placeholder:`Szukaj kafelków...`},plugin:{title:`Wtyczka kafelka`,placeholder:`Wybierz wtyczkę kafelka`},id:{title:`Identyfikator wewnętrzny`,placeholder:`ID kafelka`},row:{title:`Pozycja wiersza`,placeholder:`Numer wiersza 1-n`,validation:{required:`Proszę podać wiersz kafelka`}},col:{title:`Pozycja kolumny`,placeholder:`Numer kolumny 1-n`,validation:{required:`Proszę podać kolumnę kafelka`}},rowSpan:{title:`Rozpiętość wierszy`,placeholder:`Rozmiar kafelka w wierszach`},colSpan:{title:`Rozpiętość kolumn`,placeholder:`Rozmiar kafelka w kolumnach`},hidden:{title:`Ukryty`,placeholder:`Ukryj kafelek w aplikacji wyświetlacza`}},dataSources:{search:{placeholder:`Szukaj źródeł danych...`},plugin:{title:`Wtyczka źródła danych`,placeholder:`Wybierz wtyczkę źródła danych`},id:{title:`Identyfikator wewnętrzny`,placeholder:`ID źródła danych`}}},table:{pages:{columns:{title:{title:`Tytuł`},type:{title:`Typ`},display:{title:`Wyświetlacze`,all:`Wszystkie wyświetlacze`},order:{title:`Kolejność`},showTopBar:{title:`Pokaż górny pasek`}}},tiles:{columns:{type:{title:`Typ`},row:{title:`Wiersz`},col:{title:`Kolumna`},rowSpan:{title:`Rozpiętość wierszy`},colSpan:{title:`Rozpiętość kolumn`},hidden:{title:`Ukryty`}}},dataSources:{columns:{type:{title:`Typ`}}}},filters:{pages:{types:{title:`Filtruj według typu strony`},displays:{title:`Filtruj według wyświetlacza strony`}},tiles:{types:{title:`Filtruj według typu kafelka`}},dataSources:{types:{title:`Filtruj według typu źródła danych`}}},buttons:{add:{title:`Dodaj`},edit:{title:`Edytuj`},detail:{title:`Szczegóły`},configure:{title:`Skonfiguruj`},discard:{title:`Odrzuć`},cancel:{title:`Anuluj`},close:{title:`Zamknij`},save:{title:`Zapisz`},change:{title:`Zmień`},remove:{title:`Usuń`},resetFilters:{title:`Resetuj filtry`},yes:{title:`Tak`},no:{title:`Nie`},reset:{title:`Resetuj`},addDataSource:{title:`Dodaj źródło danych`}}},ie={menu:{title:`Stránky`},meta:{pages:{list:{title:`Zoznam stránok`},edit:{title:`Upraviť stránku: {page}`},add:{title:`Pridať stránku`},detail:{title:`Stránka: {page}`},editDataSource:{title:`Upraviť zdroj dát stránky`},addDataSource:{title:`Pridať zdroj dát stránky`}},tiles:{edit:{title:`Upraviť dlaždicu`},detail:{title:`Detail dlaždice`},editDataSource:{title:`Upraviť zdroj dát dlaždice`},addDataSource:{title:`Pridať zdroj dát dlaždice`}}},breadcrumbs:{pages:{list:`stránky`,add:`pridať stránku`,edit:`upraviť stránku`,detail:`stránka: {page}`,addDataSource:`pridať zdroj dát stránky`,editDataSource:`upraviť zdroj dát stránky`},tiles:{edit:`upraviť dlaždicu`,detail:`detail dlaždice`,addDataSource:`pridať zdroj dát dlaždice`,editDataSource:`upraviť zdroj dát dlaždice`}},headings:{pages:{list:`Stránky`,add:`Pridať stránku`,edit:`Upraviť stránku`,detail:`Stránka: {page}`,remove:`Odstrániť stránku?`,bulkRemove:`Odstrániť stránky?`,selectPlugin:`Vyžaduje sa plugin stránky`,adjustFilters:`Filtrovať stránky`,addDataSource:`Pridať zdroj dát stránky`,editDataSource:`Upraviť zdroj dát stránky`},tiles:{add:`Pridať dlaždicu`,edit:`Upraviť dlaždicu`,detail:`Detail dlaždice`,remove:`Odstrániť dlaždicu?`,selectPlugin:`Vyžaduje sa plugin dlaždice`,adjustFilters:`Filtrovať dlaždice`,addDataSource:`Pridať zdroj dát dlaždice`,editDataSource:`Upraviť zdroj dát dlaždice`},dataSources:{add:`Pridať zdroj dát`,edit:`Upraviť zdroj dát`,remove:`Odstrániť zdroj dát?`,selectPlugin:`Vyžaduje sa plugin zdroja dát`,adjustFilters:`Filtrovať zdroje dát`},misc:{discard:`Zahodiť zmeny?`}},subHeadings:{pages:{list:`Spravujte stránky smart panelu`,add:`Pridať novú stránku smart panelu`,edit:`Upraviť stránku smart panelu`,detail:`Spravovať stránku smart panelu`,adjustFilters:`Upraviť filtre zobrazenia`,addDataSource:`Pridať nový zdroj dát stránky smart panelu`,editDataSource:`Upraviť zdroj dát stránky smart panelu`},tiles:{add:`Pridať novú dlaždicu smart panelu`,edit:`Upraviť dlaždicu smart panelu`,detail:`Spravovať dlaždicu smart panelu`,adjustFilters:`Upraviť filtre zobrazenia`,addDataSource:`Pridať nový zdroj dát dlaždice smart panelu`,editDataSource:`Upraviť zdroj dát dlaždice smart panelu`},dataSources:{add:`Pridať nový zdroj dát smart panelu`,edit:`Upraviť zdroj dát smart panelu`,detail:`Spravovať zdroj dát smart panelu`,adjustFilters:`Upraviť filtre zobrazenia`}},messages:{pages:{notFound:`Stránka, ktorú hľadáte, neexistuje alebo bola odstránená.`,confirmRemove:`Naozaj chcete odstrániť stránku: {page}? Toto sa nedá vrátiť.`,created:`Nová stránka bola úspešne pridaná.`,notCreated:`Niečo sa pokazilo. Nepodarilo sa vytvoriť stránku.`,edited:`Zmeny uložené! Stránka: {page} bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia stránky nebola úspešná.`,removed:`Stránka: {page} bola úspešne odstránená.`,removeCanceled:`Odstránenie stránky: {page} bolo zrušené.`,notRemoved:`Niečo sa pokazilo a stránka: {page} nebola odstránená.`,noDetailAllowed:`Tento typ stránky sa nedá otvoriť, pretože nemá detailné zobrazenie.`,deletedWhileEditing:`Táto stránka bola odstránená a už nie je dostupná.`,bulkRemoved:`{count} stránok bolo úspešne odstránených.`,bulkRemoveFailed:`Nepodarilo sa odstrániť {count} stránok.`,bulkRemoveCanceled:`Hromadné odstránenie stránok bolo zrušené.`},tiles:{notFound:`Dlaždica, ktorú hľadáte, neexistuje alebo bola odstránená.`,confirmRemove:`Naozaj chcete odstrániť dlaždicu? Toto sa nedá vrátiť.`,created:`Nová dlaždica bola úspešne pridaná.`,notCreated:`Niečo sa pokazilo. Nepodarilo sa vytvoriť dlaždicu.`,edited:`Zmeny uložené! Dlaždica bola aktualizovaná.`,notEdited:`Niečo sa pokazilo. Aktualizácia dlaždice nebola úspešná.`,removed:`Dlaždica bola úspešne odstránená.`,removeCanceled:`Odstránenie dlaždice bolo zrušené.`,notRemoved:`Niečo sa pokazilo a dlaždica nebola odstránená.`,deletedWhileEditing:`Táto dlaždica bola odstránená a už nie je dostupná.`},dataSources:{notFound:`Zdroj dát, ktorý hľadáte, neexistuje alebo bol odstránený.`,confirmRemove:`Naozaj chcete odstrániť zdroj dát? Toto sa nedá vrátiť.`,created:`Nový zdroj dát bol úspešne pridaný.`,notCreated:`Niečo sa pokazilo. Nepodarilo sa vytvoriť zdroj dát.`,edited:`Zmeny uložené! Zdroj dát bol aktualizovaný.`,notEdited:`Niečo sa pokazilo. Aktualizácia zdroja dát nebola úspešná.`,removed:`Zdroj dát bol úspešne odstránený.`,removeCanceled:`Odstránenie zdroja dát bolo zrušené.`,notRemoved:`Niečo sa pokazilo a zdroj dát nebol odstránený.`,deletedWhileEditing:`Tento zdroj dát bol odstránený a už nie je dostupný.`},misc:{requestError:`Niečo sa pokazilo, skúste to prosím neskôr.`}},texts:{pages:{noPages:`Nemáte nakonfigurovanú žiadnu stránku`,noFilteredPages:`Neboli nájdené žiadne stránky zodpovedajúce aktívnym filtrom`,loadingPages:`Načítavanie stránok...`,loadingPage:`Načítavanie stránky...`,confirmRemove:`Naozaj chcete odstrániť stránku: {page}? Toto sa nedá vrátiť.`,confirmBulkRemove:`Naozaj chcete odstrániť {count} stránok? Toto sa nedá vrátiť.`,selectPlugin:`Na vytvorenie novej stránky vyberte kompatibilný plugin zo zoznamu. Pluginy poskytujú potrebné konfiguračné možnosti pre konkrétne typy stránok.`,noPlugins:`Zatiaľ neboli nakonfigurované žiadne pluginy stránok.`,noDisplays:`Zatiaľ neboli spárované žiadne displeje.`},tiles:{noTiles:`Nemáte nakonfigurovanú žiadnu dlaždicu`,noFilteredTiles:`Neboli nájdené žiadne dlaždice zodpovedajúce aktívnym filtrom`,loadingTiles:`Načítavanie dlaždíc...`,loadingTile:`Načítavanie dlaždice...`,confirmRemove:`Naozaj chcete odstrániť dlaždicu? Toto sa nedá vrátiť.`,selectPlugin:`Na vytvorenie novej dlaždice vyberte kompatibilný plugin zo zoznamu. Pluginy poskytujú potrebné konfiguračné možnosti pre konkrétne typy dlaždíc.`,noPlugins:`Zatiaľ neboli nakonfigurované žiadne pluginy dlaždíc.`,plugin:`Plugin`,dataSources:`Zdroje dát`,dataSourcesCount:`Žiadne zdroje dát nakonfigurované | Jeden zdroj dát nakonfigurovaný | {count} zdrojov dát nakonfigurovaných`,row:`Pozícia riadku`,col:`Pozícia stĺpca`,size:`Veľkosť`,visibility:`Viditeľnosť`,hidden:`Dlaždica je skrytá`,visible:`Dlaždica je viditeľná`},dataSources:{noDataSources:`Nemáte nakonfigurovaný žiadny zdroj dát`,noFilteredDataSources:`Neboli nájdené žiadne zdroje dát zodpovedajúce aktívnym filtrom`,loadingDataSources:`Načítavanie zdrojov dát...`,loadingDataSource:`Načítavanie zdroja dát...`,confirmRemove:`Naozaj chcete odstrániť zdroj dát? Toto sa nedá vrátiť.`,selectPlugin:`Na vytvorenie nového zdroja dát vyberte kompatibilný plugin zo zoznamu. Pluginy poskytujú potrebné konfiguračné možnosti pre konkrétne typy zdrojov dát.`,noPlugins:`Zatiaľ neboli nakonfigurované žiadne pluginy zdrojov dát.`},misc:{confirmDiscard:`Máte neuložené zmeny. Naozaj ich chcete zahodiť?`}},fields:{pages:{search:{placeholder:`Vyhľadať stránky...`},plugin:{title:`Plugin stránky`,placeholder:`Vyberte plugin stránky`},id:{title:`Interný identifikátor`,placeholder:`ID stránky`},title:{title:`Názov`,placeholder:`Názov stránky`,validation:{required:`Prosím vyplňte názov stránky`}},icon:{title:`Ikona`,placeholder:`Ikona stránky`},order:{title:`Poradie`,placeholder:`Pozícia stránky`},showTopBar:{title:`Zobraziť hornú lištu`,placeholder:`Zobraziť hornú lištu stránky`},displays:{title:`Displeje`,placeholder:`Vyberte displeje (ponechajte prázdne pre všetky displeje)`,description:`Vyberte konkrétne displeje pre túto stránku. Ponechajte prázdne, aby bola viditeľná na všetkých displejoch.`}},tiles:{search:{placeholder:`Vyhľadať dlaždice...`},plugin:{title:`Plugin dlaždice`,placeholder:`Vyberte plugin dlaždice`},id:{title:`Interný identifikátor`,placeholder:`ID dlaždice`},row:{title:`Pozícia riadku`,placeholder:`Číslo riadku 1-n`,validation:{required:`Prosím vyplňte riadok dlaždice`}},col:{title:`Pozícia stĺpca`,placeholder:`Číslo stĺpca 1-n`,validation:{required:`Prosím vyplňte stĺpec dlaždice`}},rowSpan:{title:`Rozpätie riadkov`,placeholder:`Veľkosť riadku dlaždice`},colSpan:{title:`Rozpätie stĺpcov`,placeholder:`Veľkosť stĺpca dlaždice`},hidden:{title:`Skrytá`,placeholder:`Urobiť dlaždicu neviditeľnou v aplikácii displeja`}},dataSources:{search:{placeholder:`Vyhľadať zdroje dát...`},plugin:{title:`Plugin zdroja dát`,placeholder:`Vyberte plugin zdroja dát`},id:{title:`Interný identifikátor`,placeholder:`ID zdroja dát`}}},table:{pages:{columns:{title:{title:`Názov`},type:{title:`Typ`},display:{title:`Displeje`,all:`Všetky displeje`},order:{title:`Poradie`},showTopBar:{title:`Zobraziť hornú lištu`}}},tiles:{columns:{type:{title:`Typ`},row:{title:`Riadok`},col:{title:`Stĺpec`},rowSpan:{title:`Rozpätie riadkov`},colSpan:{title:`Rozpätie stĺpcov`},hidden:{title:`Skrytá`}}},dataSources:{columns:{type:{title:`Typ`}}}},filters:{pages:{types:{title:`Filtrovať podľa typu stránky`},displays:{title:`Filtrovať podľa displeja stránky`}},tiles:{types:{title:`Filtrovať podľa typu dlaždice`}},dataSources:{types:{title:`Filtrovať podľa typu zdroja dát`}}},buttons:{add:{title:`Pridať`},edit:{title:`Upraviť`},detail:{title:`Detail`},configure:{title:`Konfigurovať`},discard:{title:`Zahodiť`},cancel:{title:`Zrušiť`},close:{title:`Zavrieť`},save:{title:`Uložiť`},change:{title:`Zmeniť`},remove:{title:`Odstrániť`},resetFilters:{title:`Resetovať filtre`},yes:{title:`Áno`},no:{title:`Nie`},reset:{title:`Resetovať`},addDataSource:{title:`Pridať zdroj dát`}}},ae={"cs-CZ":W,"de-DE":G,"en-US":K,"es-ES":ne,"pl-PL":re,"sk-SK":ie},oe=[{path:`pages`,name:b.PAGES,component:()=>d(()=>import(`./view-pages-DVvpvvkt.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])),props:!0,meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:()=>h.global.t(`dashboardModule.menu.title`),icon:`mdi:view-dashboard`,menu:8e3},children:[{path:`add`,name:b.PAGES_ADD,component:()=>d(()=>import(`./view-page-add-Cpzp9lXV.js`),__vite__mapDeps([35,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34])),props:!0,meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Add new page`,icon:`mdi:add-circle`}},{path:`:id`,name:b.PAGES_EDIT,component:()=>d(()=>import(`./view-page-edit-fw913SDe.js`),__vite__mapDeps([36,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34])),props:!0,meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Edit page`,icon:`mdi:pencil-circle`}}]},{path:`page/:id`,name:b.PAGE,component:()=>d(()=>import(`./view-page-DCmbFTnE.js`),__vite__mapDeps([37,1,2,3,4,5,26,8,9,18,21,27,30,33,34])),props:!0,meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Page detail`,icon:`mdi:view-dashboard`},children:[{path:`edit`,name:b.PAGE_EDIT,component:()=>d(()=>import(`./view-page-edit-fw913SDe.js`),__vite__mapDeps([36,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34])),props:!0,meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Edit page`,icon:`mdi:pencil-circle`}},{path:`data-source/add`,name:b.PAGE_ADD_DATA_SOURCE,component:()=>d(()=>import(`./view-page-data-source-add-CJMzSAGm.js`),__vite__mapDeps([38,1,2,3,4,5,24,7,8,9,10,30,39,34])),props:e=>({pageId:e.params.id}),meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Edit page`,icon:`mdi:add-circle`}},{path:`data-source/:dataSourceId`,name:b.PAGE_EDIT_DATA_SOURCE,component:()=>d(()=>import(`./view-page-data-source-edit-BI5AXiNz.js`),__vite__mapDeps([40,1,2,3,4,5,25,7,8,9,10,30,39,34])),props:e=>({id:e.params.dataSourceId,pageId:e.params.id}),meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Edit page`,icon:`mdi:pencil-circle`}}]},{path:`tile/:id`,name:b.TILE,component:()=>d(()=>import(`./view-tile-t4cTwgz2.js`),__vite__mapDeps([41,1,2,3,4,5,26,8,9,18,21,27,28,10,33,34])),props:!0,meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Tile detail`,icon:`mdi:view-dashboard`},children:[{path:`edit`,name:b.TILE_EDIT,component:()=>d(()=>import(`./view-tile-edit-kHjMhT9e.js`),__vite__mapDeps([42,1,2,3,4,5,29,7,8,9,10,17,30,34])),props:!0,meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Edit tile`,icon:`mdi:pencil-circle`}},{path:`data-source/add`,name:b.TILE_ADD_DATA_SOURCE,component:()=>d(()=>import(`./view-tile-data-source-add-DxaZd4Dp.js`),__vite__mapDeps([43,1,2,3,4,5,24,7,8,9,10,30,39,34])),props:e=>({tileId:e.params.id}),meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Add tile data source`,icon:`mdi:add-circle`}},{path:`data-source/:dataSourceId`,name:b.TILE_EDIT_DATA_SOURCE,component:()=>d(()=>import(`./view-tile-data-source-edit-jzGg3dBQ.js`),__vite__mapDeps([44,1,2,3,4,5,25,7,8,9,10,30,39,34])),props:e=>({id:e.params.dataSourceId,tileId:e.params.id}),meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Edit tile data source`,icon:`mdi:pencil-circle`}}]},{path:`page/:id/plugin`,name:b.PAGE_PLUGIN,component:()=>d(()=>import(`./view-page-plugin-BrlvGuEU.js`),__vite__mapDeps([45,1,2,3,4,5,30,9,34])),props:!0,meta:{guards:{authenticated:!0,roles:[c.admin,c.owner]},title:`Page plugin`,icon:`mdi:view-dashboard`}}],q=(e,t)=>{let n=t.safeParse(u(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate received data source data.`);return n.data},J=(e,t)=>{let n=t.safeParse(f(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate create data source request.`);return n.data},se=(e,t)=>{let n=t.safeParse(f(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate update data source request.`);return n.data},Y=g(),ce={fetching:{items:[],item:[]},creating:[],updating:[],deleting:[]},le=l(`dashboard_module-data_sources`,()=>{let e=_(),r=o(),{getElement:i}=A(),a=n(ce),s=n([]),c=n({}),l=e=>s.value.includes(e),u=e=>a.value.fetching.item.includes(e),d=e=>a.value.fetching.items.includes(e),f=e=>Object.values(c.value).filter(t=>t.parent.type===e),p=(e,t)=>Object.values(c.value??{}).filter(n=>n.parent.type===e&&n.parent.id===t),h=(e,t)=>{let n=c.value[t]??null;return n===null?null:n.parent.type===e?n:null},g={},y={},b=e=>{let t=i(e.type);return C({id:e.id,parent:e.parent,data:q(e.data,t?.schemas?.dataSourceSchema||M)})},C=e=>{let t=i(e.data.type),n={id:e.id,parent:e.parent,...e.data};if(e.id&&c.value&&e.id in c.value){let i=(t?.schemas?.dataSourceSchema||M).safeParse({...c.value[e.id],...n});if(!i.success)throw r.error(`Schema validation failed with:`,i.error),new w(`Failed to insert data source.`);return c.value[i.data.id]=i.data}let a=(t?.schemas?.dataSourceSchema||M).safeParse(n);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new w(`Failed to insert data source.`);return c.value??={},c.value[a.data.id]=a.data},T=e=>{if(c.value){if(e.parent!==void 0){let t=p(e.parent.type,e.parent.id);for(let e of t)e.id in(c.value??{})&&delete(c.value??{})[e.id];return}else if(e.id!==void 0){delete c.value[e.id];return}throw new v(`You have to provide at least parent definition or data source id`)}},E=async n=>{let r=g[n.id];if(r)return r;let o=(async()=>{if(a.value.fetching.item.includes(n.id))throw new x(`Already fetching data source.`);a.value.fetching.item.push(n.id);try{let{data:r,error:a,response:o}=await e.client.GET(`/${t}/${S}/data-source/{id}`,{params:{path:{id:n.id}}});if(r!==void 0){let e=i(r.data.type),t=q(r.data,e?.schemas?.dataSourceSchema||M);return c.value[t.id]=t,t}let s=`Failed to fetch data source.`;throw a&&(s=m(a,s)),new x(s,o.status)}finally{a.value.fetching.item=a.value.fetching.item.filter(e=>e!==n.id)}})();g[n.id]=o;try{return await o}finally{delete g[n.id]}};return{semaphore:a,firstLoad:s,data:c,firstLoadFinished:l,getting:u,fetching:d,findAll:f,findForParent:p,findById:h,onEvent:b,set:C,unset:T,get:E,fetch:async n=>{let r=y[n.parent.id];if(r)return r;let o=(async()=>{a.value.fetching.items.push(n.parent.id),s.value=s.value.filter(e=>e!==n.parent.id),s.value=[...new Set(s.value)];try{let{data:r,error:a,response:o}=await e.client.GET(`/${t}/${S}/data-source`,{params:{query:{parent_type:n.parent.type,parent_id:n.parent.id}}});if(r!==void 0){s.value.push(n.parent.id),s.value=[...new Set(s.value)];let e=Object.fromEntries(r.data.map(e=>{let t=q(e,i(e.type)?.schemas?.dataSourceSchema||M);return[t.id,t]}));return c.value={...c.value,...e},Object.values(c.value)}let l=`Failed to fetch data sources.`;throw a&&(l=m(a,l)),new x(l,o.status)}finally{a.value.fetching.items=a.value.fetching.items.filter(e=>e!==n.parent.id)}})();y[n.parent.id]=o;try{return await o}finally{delete y[n.parent.id]}},add:async n=>{let o=j.safeParse(n);if(!o.success)throw r.error(`Schema validation failed with:`,o.error),new w(`Failed to add data source.`);let s=i(n.data.type),l=(s?.schemas?.dataSourceSchema||M).safeParse({...n.data,id:n.id,type:n.data.type,parent:n.parent,draft:n.draft,createdAt:new Date});if(!l.success)throw r.error(`Schema validation failed with:`,l.error),new w(`Failed to add data source.`);if(a.value.creating.push(l.data.id),c.value[l.data.id]=l.data,l.data.draft)return a.value.creating=a.value.creating.filter(e=>e!==l.data.id),l.data;try{let{data:r,error:i,response:a}=await e.client.POST(`/${t}/${S}/data-source`,{body:{data:J(l.data,s?.schemas?.dataSourceCreateReqSchema||O)}});if(r!==void 0&&r.data.id===n.id){let e=q(r.data,s?.schemas?.dataSourceSchema||M);return c.value[e.id]=e,e}delete c.value[l.data.id];let o=`Failed to create data source.`;throw i&&(o=m(i,o)),new x(o,a.status)}finally{a.value.creating=a.value.creating.filter(e=>e!==l.data.id)}},edit:async n=>{if(a.value.updating.includes(n.id))throw new v(`Data source is already being updated.`);if(!(n.id in c.value))throw new v(`Failed to get data source data to update.`);let o=N.safeParse(n);if(!o.success)throw r.error(`Schema validation failed with:`,o.error),new w(`Failed to edit data source.`);let s=i(n.data.type),l=(s?.schemas?.dataSourceSchema||M).safeParse({...c.value[n.id],...(0,Y.omitBy)(n.data,Y.isUndefined)});if(!l.success)throw r.error(`Schema validation failed with:`,l.error),new w(`Failed to edit data source.`);if(a.value.updating.push(n.id),c.value[l.data.id]=l.data,l.data.draft)return a.value.updating=a.value.updating.filter(e=>e!==l.data.id),l.data;try{let{data:r,error:i,response:a}=await e.client.PATCH(`/${t}/${S}/data-source/{id}`,{params:{path:{id:n.id}},body:{data:se(l.data,s?.schemas?.dataSourceUpdateReqSchema||k)}});if(r!==void 0){let e=q(r.data,s?.schemas?.dataSourceSchema||M);return c.value[e.id]=e,e}await E({id:n.id,parent:n.parent});let o=`Failed to update data source.`;throw i&&(o=m(i,o)),new x(o,a.status)}finally{a.value.updating=a.value.updating.filter(e=>e!==n.id)}},save:async n=>{if(a.value.updating.includes(n.id))throw new v(`Data source is already being saved.`);let o=c.value[n.id];if(!o)throw new v(`Failed to get data source data to save.`);let s=i(o.type),l=(s?.schemas?.dataSourceSchema||M).safeParse(o);if(!l.success)throw r.error(`Schema validation failed with:`,l.error),new w(`Failed to save data source.`);a.value.updating.push(n.id);try{let{data:r,error:i,response:a}=await e.client.POST(`/${t}/${S}/data-source`,{body:{data:J(l.data,s?.schemas?.dataSourceCreateReqSchema||O)}});if(r!==void 0&&r.data.id===n.id){let e=q(r.data,s?.schemas?.dataSourceSchema||M);return c.value[e.id]=e,e}let o=`Failed to create data source.`;throw i&&(o=m(i,o)),new x(o,a.status)}finally{a.value.updating=a.value.updating.filter(e=>e!==n.id)}},remove:async n=>{if(a.value.deleting.includes(n.id))throw new v(`Data source is already being removed.`);if(!Object.keys(c.value).includes(n.id))return!0;a.value.deleting.push(n.id);let r=c.value[n.id];if(delete c.value[n.id],r?.draft)a.value.deleting=a.value.deleting.filter(e=>e!==n.id);else try{let{error:r,response:i}=await e.client.DELETE(`/${t}/${S}/data-source/{id}`,{params:{path:{id:n.id}}});if(i.status===204)return!0;await E({id:n.id,parent:n.parent});let a=`Remove data source failed.`;throw r&&(a=m(r,a)),new x(a,i.status)}finally{a.value.deleting=a.value.deleting.filter(e=>e!==n.id)}return!0}}}),ue=e=>le(e),X=(e,t)=>{let n=t.safeParse(u(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate received page data.`);return n.data},Z=(e,t)=>{let n=t.safeParse(f(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate create page request.`);return n.data},de=(e,t)=>{let n=t.safeParse(f(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate update page request.`);return n.data},Q=(e,t)=>{let n=t.safeParse(u(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate received tile data.`);return n.data},$=(e,t)=>{let n=t.safeParse(f(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate create tile request.`);return n.data},fe=(e,t)=>{let n=t.safeParse(f(e));if(!n.success)throw p.error(`Schema validation failed with:`,n.error),new w(`Failed to validate update tile request.`);return n.data},pe={fetching:{items:!1,item:[]},creating:[],updating:[],deleting:[]},me=l(`dashboard_module-pages`,()=>{let e=_(),r=o(),{getElement:i}=P(),{getElement:a}=F(),{getElement:c}=A(),l=s(),u=n(pe),d=n(!1),f=n({}),p=()=>d.value,h=e=>u.value.fetching.item.includes(e),g=()=>u.value.fetching.items,y=()=>Object.values(f.value),b=e=>f.value[e]??null,C={},D={},O=e=>{let t=i(e.type);return k({id:e.id,data:X(e.data,t?.schemas?.pageSchema||z)})},k=e=>{let t=i(e.data.type);if(e.id&&f.value&&e.id in f.value){let n=(t?.schemas?.pageSchema||z).safeParse({...f.value[e.id],...e.data});if(!n.success)throw r.error(`Schema validation failed with:`,n.error),new w(`Failed to insert page.`);return f.value[n.data.id]=n.data}let n=(t?.schemas?.pageSchema||z).safeParse({...e.data,id:e.id});if(!n.success)throw r.error(`Schema validation failed with:`,n.error),new w(`Failed to insert page.`);return f.value=f.value??{},f.value[n.data.id]=n.data},j=e=>{f.value&&delete f.value[e.id]},N=async n=>{let r=C[n.id];if(r)return r;let a=(async()=>{if(u.value.fetching.item.includes(n.id))throw new x(`Already fetching page.`);u.value.fetching.item.push(n.id);try{let{data:r,error:a,response:o}=await e.client.GET(`/${t}/${S}/pages/{id}`,{params:{path:{id:n.id}}});if(r!==void 0){let e=i(r.data.type),t=X(r.data,e?.schemas?.pageSchema||z);return f.value[t.id]=t,`data_source`in r.data&&Array.isArray(r.data.data_source)&&G(t,r.data.data_source),`tiles`in r.data&&Array.isArray(r.data.tiles)&&K(t,r.data.tiles),t}let s=`Failed to fetch page.`;throw a&&(s=m(a,s)),new x(s,o.status)}finally{u.value.fetching.item=u.value.fetching.item.filter(e=>e!==n.id)}})();C[n.id]=a;try{return await a}finally{delete C[n.id]}},I=async()=>{if(`all`in D)return D.all;let n=(async()=>{if(u.value.fetching.items)throw new x(`Already fetching pages.`);u.value.fetching.items=!0,d.value=!1;try{let{data:n,error:r,response:a}=await e.client.GET(`/${t}/${S}/pages`);if(n!==void 0)return d.value=!0,f.value=Object.fromEntries(n.data.map(e=>{let t=X(e,i(e.type)?.schemas?.pageSchema||z);return`data_source`in e&&Array.isArray(e.data_source)&&G(t,e.data_source),`tiles`in e&&Array.isArray(e.tiles)&&K(t,e.tiles),[t.id,t]})),Object.values(f.value);let o=`Failed to fetch pages.`;throw r&&(o=m(r,o)),new x(o,a.status)}finally{u.value.fetching.items=!1}})();D.all=n;try{return await n}finally{delete D.all}},R=async n=>{let a=ee.safeParse(n);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new w(`Failed to add page.`);let o=i(n.data.type),s=(o?.schemas?.pageSchema||z).safeParse({...n.data,id:a.data.id,draft:a.data.draft,createdAt:new Date});if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new w(`Failed to add page.`);if(u.value.creating.push(s.data.id),f.value[s.data.id]=s.data,s.data.draft)return u.value.creating=u.value.creating.filter(e=>e!==s.data.id),s.data;try{let{data:r,error:i,response:a}=await e.client.POST(`/${t}/${S}/pages`,{body:{data:Z(s.data,o?.schemas?.pageCreateReqSchema||H)}});if(r!==void 0&&r.data.id===n.id){let e=X(r.data,o?.schemas?.pageSchema||z);return f.value[e.id]=e,`data_source`in r.data&&Array.isArray(r.data.data_source)&&G(e,r.data.data_source),`tiles`in r.data&&Array.isArray(r.data.tiles)&&K(e,r.data.tiles),e}delete f.value[s.data.id];let c=`Failed to create page.`;throw i&&(c=m(i,c)),new x(c,a.status)}finally{u.value.creating=u.value.creating.filter(e=>e!==s.data.id)}},B=async n=>{if(u.value.updating.includes(n.id))throw new v(`Page is already being updated.`);if(!(n.id in f.value))throw new v(`Failed to get page data to update.`);let a=L.safeParse(n);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new w(`Failed to edit page.`);let o=i(n.data.type),s=(o?.schemas?.pageSchema||z).safeParse({...f.value[n.id],...(0,Y.omitBy)(n.data,Y.isUndefined)});if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new w(`Failed to edit page.`);if(u.value.updating.push(n.id),f.value[s.data.id]=s.data,s.data.draft)return u.value.updating=u.value.updating.filter(e=>e!==s.data.id),s.data;try{let{data:r,error:i,response:a}=await e.client.PATCH(`/${t}/${S}/pages/{id}`,{params:{path:{id:n.id}},body:{data:de(s.data,o?.schemas?.pageUpdateReqSchema||te)}});if(r!==void 0){let e=X(r.data,o?.schemas?.pageSchema||z);return f.value[e.id]=e,e}await N({id:n.id});let c=`Failed to update page.`;throw i&&(c=m(i,c)),new x(c,a.status)}finally{u.value.updating=u.value.updating.filter(e=>e!==n.id)}},U=async n=>{if(u.value.updating.includes(n.id))throw new v(`Page is already being saved.`);let a=f.value[n.id];if(!a)throw new v(`Failed to get page data to save.`);let o=i(a.type),s=(o?.schemas?.pageSchema||z).safeParse(a);if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new w(`Failed to save page.`);u.value.updating.push(n.id);try{let{data:r,error:i,response:a}=await e.client.POST(`/${t}/${S}/pages`,{body:{data:Z(s.data,o?.schemas?.pageCreateReqSchema||H)}});if(r!==void 0&&r.data.id===n.id){let e=X(r.data,o?.schemas?.pageSchema||z);return f.value[e.id]=e,`data_source`in r.data&&Array.isArray(r.data.data_source)&&G(e,r.data.data_source),`tiles`in r.data&&Array.isArray(r.data.tiles)&&K(e,r.data.tiles),e}let c=`Failed to create page.`;throw i&&(c=m(i,c)),new x(c,a.status)}finally{u.value.updating=u.value.updating.filter(e=>e!==n.id)}},W=async n=>{if(u.value.deleting.includes(n.id))throw new v(`Page is already being removed.`);if(!Object.keys(f.value).includes(n.id))return!0;u.value.deleting.push(n.id);let r=f.value[n.id];if(delete f.value[n.id],r?.draft)u.value.deleting=u.value.deleting.filter(e=>e!==n.id);else try{let{error:r,response:i}=await e.client.DELETE(`/${t}/${S}/pages/{id}`,{params:{path:{id:n.id}}});if(i.status===204){let e=l.getStore(T),t=l.getStore(E);return t.unset({parent:{type:`page`,id:n.id}}),e.findForParent(`page`,n.id).forEach(e=>{t.unset({parent:{type:`tile`,id:e.id}})}),e.unset({parent:{type:`page`,id:n.id}}),!0}await N({id:n.id});let a=`Remove account failed.`;throw r&&(a=m(r,a)),new x(a,i.status)}finally{u.value.deleting=u.value.deleting.filter(e=>e!==n.id)}return!0},G=(e,t)=>{let n=l.getStore(E);t.forEach(t=>{let r=c(t.type);n.set({id:t.id,parent:{type:`page`,id:e.id},data:q(t,r?.schemas?.dataSourceSchema||M)})}),n.firstLoad.push(e.id)},K=(e,t)=>{let n=l.getStore(T),r=l.getStore(E);t.forEach(t=>{let i=a(t.type);n.set({id:t.id,parent:{type:`page`,id:e.id},data:Q(t,i?.schemas?.tileSchema||V)}),t.data_source.forEach(e=>{let n=c(e.type);r.set({id:e.id,parent:{type:`tile`,id:t.id},data:q(e,n?.schemas?.dataSourceSchema||M)})}),r.firstLoad.push(t.id)}),n.firstLoad.push(e.id)};return{semaphore:u,firstLoad:d,data:f,firstLoadFinished:p,getting:h,fetching:g,findAll:y,findById:b,onEvent:O,set:k,unset:j,get:N,fetch:I,add:R,edit:B,save:U,remove:W}}),he=e=>me(e),ge={fetching:{items:[],item:[]},creating:[],updating:[],deleting:[]},_e=l(`dashboard_module-tiles`,()=>{let e=_(),r=o(),{getElement:i}=F(),{getElement:a}=A(),c=s(),l=n(ge),u=n([]),d=n({}),f=e=>u.value.includes(e),p=e=>l.value.fetching.item.includes(e),h=e=>l.value.fetching.items.includes(e),g=e=>Object.values(d.value).filter(t=>t.parent.type===e),y=(e,t)=>Object.values(d.value??{}).filter(n=>n.parent.type===e&&n.parent.id===t),b=(e,t)=>{let n=d.value[t]??null;return n===null?null:n.parent.type===e?n:null},C={},T={},D=e=>{let t=i(e.type);return O({id:e.id,parent:e.parent,data:Q(e.data,t?.schemas?.tileSchema||V)})},O=e=>{let t=i(e.data.type),n={id:e.id,parent:e.parent,...e.data};if(e.id&&d.value&&e.id in d.value){let i=(t?.schemas?.tileSchema||V).safeParse({...d.value[e.id],...n});if(!i.success)throw r.error(`Schema validation failed with:`,i.error),new w(`Failed to insert tile.`);return d.value[i.data.id]=i.data}let a=(t?.schemas?.tileSchema||V).safeParse(n);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new w(`Failed to insert tile.`);return d.value??={},d.value[a.data.id]=a.data},k=e=>{if(d.value){if(e.parent!==void 0){let t=y(e.parent.type,e.parent.id);for(let e of t)e.id in(d.value??{})&&delete(d.value??{})[e.id];return}else if(e.id!==void 0){delete d.value[e.id];return}throw new v(`You have to provide at least parent definition or tile id`)}},j=async n=>{let r=C[n.id];if(r)return r;let a=(async()=>{if(l.value.fetching.item.includes(n.id))throw new x(`Already fetching tile.`);l.value.fetching.item.push(n.id);try{let{data:r,error:a,response:o}=await e.client.GET(`/${t}/${S}/tiles/{id}`,{params:{path:{id:n.id}}});if(r!==void 0){let e=i(r.data.type),t=Q(r.data,e?.schemas?.tileSchema||V);return d.value[t.id]=t,H(t,r.data.data_source),t}let s=`Failed to fetch tile.`;throw a&&(s=m(a,s)),new x(s,o.status)}finally{l.value.fetching.item=l.value.fetching.item.filter(e=>e!==n.id)}})();C[n.id]=a;try{return await a}finally{delete C[n.id]}},N=async n=>{let r=T[n.parent.id];if(r)return r;let a=(async()=>{l.value.fetching.items.push(n.parent.id),u.value=u.value.filter(e=>e!==n.parent.id),u.value=[...new Set(u.value)];try{let{data:r,error:a,response:o}=await e.client.GET(`/${t}/${S}/tiles`,{params:{query:{parent_type:n.parent.type,parent_id:n.parent.id}}});if(r!==void 0){u.value.push(n.parent.id),u.value=[...new Set(u.value)];let e=Object.fromEntries(r.data.map(e=>{let t=Q(e,i(e.type)?.schemas?.tileSchema||V);return H(t,e.data_source),[t.id,t]}));return d.value={...d.value,...e},Object.values(d.value)}let s=`Failed to fetch tiles.`;throw a&&(s=m(a,s)),new x(s,o.status)}finally{l.value.fetching.items=l.value.fetching.items.filter(e=>e!==n.parent.id)}})();T[n.parent.id]=a;try{return await a}finally{delete T[n.parent.id]}},P=async n=>{let a=I.safeParse(n);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new w(`Failed to add tile.`);let o=i(n.data.type),s=(o?.schemas?.tileSchema||V).safeParse({...n.data,id:n.id,type:n.data.type,parent:n.parent,draft:n.draft,createdAt:new Date});if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new w(`Failed to add tile.`);if(l.value.creating.push(s.data.id),d.value[s.data.id]=s.data,s.data.draft)return l.value.creating=l.value.creating.filter(e=>e!==s.data.id),s.data;try{let{data:r,error:i,response:a}=await e.client.POST(`/${t}/${S}/tiles`,{body:{data:$(s.data,o?.schemas?.tileCreateReqSchema||U)}});if(r!==void 0&&r.data.id===n.id){let e=Q(r.data,o?.schemas?.tileSchema||V);return d.value[e.id]=e,H(e,r.data.data_source),e}delete d.value[s.data.id];let c=`Failed to create tile.`;throw i&&(c=m(i,c)),new x(c,a.status)}finally{l.value.creating=l.value.creating.filter(e=>e!==s.data.id)}},ee=async n=>{if(l.value.updating.includes(n.id))throw new v(`Tile is already being updated.`);if(!(n.id in d.value))throw new v(`Failed to get tile data to update.`);let a=B.safeParse(n);if(!a.success)throw r.error(`Schema validation failed with:`,a.error),new w(`Failed to edit tile.`);let o=i(n.data.type),s=(o?.schemas?.tileSchema||V).safeParse({...d.value[n.id],...(0,Y.omitBy)(n.data,Y.isUndefined),parent:n.parent});if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new w(`Failed to edit tile.`);if(l.value.updating.push(n.id),d.value[s.data.id]=s.data,s.data.draft)return l.value.updating=l.value.updating.filter(e=>e!==s.data.id),s.data;try{let{data:r,error:i,response:a}=await e.client.PATCH(`/${t}/${S}/tiles/{id}`,{params:{path:{id:n.id}},body:{data:fe(s.data,o?.schemas?.tileUpdateReqSchema||R)}});if(r!==void 0){let e=Q(r.data,o?.schemas?.tileSchema||V);return d.value[e.id]=e,H(e,r.data.data_source),e}await j({id:n.id,parent:n.parent});let c=`Failed to update tile.`;throw i&&(c=m(i,c)),new x(c,a.status)}finally{l.value.updating=l.value.updating.filter(e=>e!==n.id)}},L=async n=>{if(l.value.updating.includes(n.id))throw new v(`Tile is already being saved.`);let a=d.value[n.id];if(!a)throw new v(`Failed to get tile data to save.`);let o=i(a.type),s=(o?.schemas?.tileSchema||V).safeParse(a);if(!s.success)throw r.error(`Schema validation failed with:`,s.error),new w(`Failed to save tile.`);l.value.updating.push(n.id);try{let{data:r,error:i,response:a}=await e.client.POST(`/${t}/${S}/tiles`,{body:{data:$(s.data,o?.schemas?.tileCreateReqSchema||U)}});if(r!==void 0&&r.data.id===n.id){let e=Q(r.data,o?.schemas?.tileSchema||V);return d.value[e.id]=e,H(e,r.data.data_source),e}let c=`Failed to create tile.`;throw i&&(c=m(i,c)),new x(c,a.status)}finally{l.value.updating=l.value.updating.filter(e=>e!==n.id)}},z=async n=>{if(l.value.deleting.includes(n.id))throw new v(`Tile is already being removed.`);if(!Object.keys(d.value).includes(n.id))return!0;l.value.deleting.push(n.id);let r=d.value[n.id];if(delete d.value[n.id],r?.draft)l.value.deleting=l.value.deleting.filter(e=>e!==n.id);else try{let{error:r,response:i}=await e.client.DELETE(`/${t}/${S}/tiles/{id}`,{params:{path:{id:n.id}}});if(i.status===204)return c.getStore(E).unset({parent:n.parent}),!0;await j({id:n.id,parent:n.parent});let a=`Remove tile failed.`;throw r&&(a=m(r,a)),new x(a,i.status)}finally{l.value.deleting=l.value.deleting.filter(e=>e!==n.id)}return!0},H=(e,t)=>{let n=c.getStore(E);t.forEach(t=>{let r=a(t.type);n.set({id:t.id,parent:{type:`tile`,id:e.id},data:q(t,r?.schemas?.dataSourceSchema||M)})}),n.firstLoad.push(e.id)};return{semaphore:l,firstLoad:u,data:d,firstLoadFinished:f,getting:p,fetching:h,findAll:g,findForParent:y,findById:b,onEvent:D,set:O,unset:k,get:j,fetch:N,add:P,edit:ee,save:L,remove:z}}),ve=e=>_e(e),ye=Symbol(`FB-Module-Dashboard`),be={install:(t,n)=>{let o=s(t),c=a(t),l=r(t),u=i(t);for(let[e,t]of Object.entries(ae)){let r=(0,Y.defaultsDeep)(n.i18n.global.getLocaleMessage(e),{dashboardModule:t});n.i18n.global.setLocaleMessage(e,r)}let d=he(n.store);t.provide(C,d),o.addStore(C,d);let f=ve(n.store);t.provide(T,f),o.addStore(T,f);let p=ue(n.store);t.provide(E,p),o.addStore(E,p),u.addModule(ye,{type:y,name:`Dashboards`,description:`Design pages and tiles that show the information you care about most.`,elements:[]}),n.router.getRoutes().find(t=>t.name===e.ROOT)&&oe.forEach(t=>{n.router.addRoute(e.ROOT,t)}),c.on(`event`,e=>{if(e?.event?.startsWith(`DashboardModule.`)&&!(e.payload===null||typeof e.payload!=`object`||!(`id`in e.payload)||typeof e.payload.id!=`string`||!(`type`in e.payload)||typeof e.payload.type!=`string`))switch(e.event){case D.PAGE_CREATED:case D.PAGE_UPDATED:d.onEvent({id:e.payload.id,type:e.payload.type,data:e.payload});break;case D.PAGE_DELETED:d.unset({id:e.payload.id});break;case D.TILE_CREATED:case D.TILE_UPDATED:if(!(`parent`in e.payload)||typeof e.payload.parent!=`object`||e.payload.parent===null||!(`type`in e.payload.parent)||typeof e.payload.parent.type!=`string`||!(`id`in e.payload.parent)||typeof e.payload.parent.id!=`string`)return;f.onEvent({id:e.payload.id,type:e.payload.type,parent:{id:e.payload.parent.id,type:e.payload.parent.type},data:e.payload});break;case D.TILE_DELETED:f.unset({id:e.payload.id});break;case D.DATA_SOURCE_CREATED:case D.DATA_SOURCE_UPDATED:if(!(`parent`in e.payload)||typeof e.payload.parent!=`object`||e.payload.parent===null||!(`type`in e.payload.parent)||typeof e.payload.parent.type!=`string`||!(`id`in e.payload.parent)||typeof e.payload.parent.id!=`string`)return;p.onEvent({id:e.payload.id,type:e.payload.type,parent:{id:e.payload.parent.id,type:e.payload.parent.type},data:e.payload});break;case D.DATA_SOURCE_DELETED:p.unset({id:e.payload.id});break;default:l.warn(`Unhandled dashboard module event:`,e.event)}})}};export{Q as n,q as r,be as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bn as e,Fn as t,In as n,Jn as r,Pn as i,Un as a,Wn as o,Yn as s,d as c,qn as l}from"./common-DlW3qRTQ.js";import{a as u,d,o as f}from"./types-B8upWpl6.js";var p=o({id:d,type:l().trim().nonempty(),draft:t().default(!1),title:l().trim().nonempty(),icon:l().trim().nullable().default(null),order:a().default(0),showTopBar:t().default(!0),displays:i(l().uuid()).nullable().default(null),createdAt:r([l().datetime({offset:!0}),n()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:r([l().datetime({offset:!0}),n()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)});o({fetching:o({items:t().default(!1),item:i(d)}),creating:i(d),updating:i(d),deleting:i(d)}),o({id:d,type:l().trim().nonempty(),data:e({})}),o({id:d,data:o({type:l().trim().nonempty(),title:l().trim().nonempty(),icon:l().trim().transform(e=>e===``?null:e).nullable().default(null).optional(),order:a().default(0),showTopBar:t().default(!0),displays:i(l().uuid()).nullable().default(null)}).catchall(s())}),o({id:d}),o({id:d});var m=o({id:d.optional().default(c()),draft:t().optional().default(!1),data:o({type:l().trim().nonempty(),title:l().trim().nonempty(),icon:l().trim().transform(e=>e===``?null:e).nullable().default(null).optional(),order:a().default(0),showTopBar:t().default(!0).optional(),displays:i(l().uuid()).nullable().optional()}).catchall(s())}),h=o({id:d,data:o({type:l().trim().nonempty(),title:l().trim().optional(),icon:l().trim().transform(e=>e===``?null:e).nullable().default(null).optional(),order:a().optional(),showTopBar:t().optional(),displays:i(l().uuid()).nullable().optional()}).catchall(s())});o({id:d}),o({id:d});var g=o({id:l().uuid().optional(),type:l().trim().nonempty(),title:l().trim().nonempty(),icon:l().trim().transform(e=>e===``?null:e).nullable().optional(),order:a(),show_top_bar:t().optional(),displays:i(l().uuid()).nullable().optional()}),_=o({type:l().trim().nonempty(),title:l().trim().nonempty().optional(),icon:l().trim().transform(e=>e===``?null:e).nullable().optional(),order:a().optional(),show_top_bar:t().optional(),displays:i(l().uuid()).nullable().optional()}),v=o({id:l().uuid(),type:l().trim().nonempty(),title:l().trim().nonempty(),icon:l().trim().nullable(),order:a(),show_top_bar:t(),data_source:i(f),displays:i(l().uuid()).nullable(),created_at:l().date(),updated_at:l().date().nullable()}),y=o({id:d,type:l().trim().nonempty(),parent:o({id:d,type:l().trim().nonempty()}),draft:t().default(!1),row:a(),col:a(),rowSpan:a().default(1),colSpan:a().default(1),hidden:t().default(!1),createdAt:r([l().datetime({offset:!0}),n()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:r([l().datetime({offset:!0}),n()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)});o({fetching:o({items:i(d).default([]),item:i(d)}),creating:i(d),updating:i(d),deleting:i(d)}),o({id:d,parent:o({id:d,type:l().trim().nonempty()}),type:l().trim().nonempty(),data:e({})}),o({id:d,parent:o({id:d,type:l().trim().nonempty()}),data:o({type:l().trim().nonempty(),row:a(),col:a(),rowSpan:a().default(1),colSpan:a().default(1),hidden:t().default(!1)}).catchall(s())}),o({id:d.optional(),parent:o({id:d,type:l().trim().nonempty()}).optional()}),o({id:d,parent:o({id:d,type:l().trim().nonempty()}).optional()}),o({parent:o({id:d,type:l().trim().nonempty()})});var b=o({id:d.optional().default(c()),parent:o({id:d,type:l().trim().nonempty()}),draft:t().optional().default(!1),data:o({type:l().trim().nonempty(),row:a(),col:a(),rowSpan:a().default(1),colSpan:a().default(1),hidden:t().default(!1)}).catchall(s())}),x=o({id:d,parent:o({id:d,type:l().trim().nonempty()}),data:o({type:l().trim().nonempty(),row:a().optional(),col:a().optional(),rowSpan:a().optional(),colSpan:a().optional(),hidden:t().optional()}).catchall(s())});o({id:d,parent:o({id:d,type:l().trim().nonempty()})}),o({id:d,parent:o({id:d,type:l().trim().nonempty()})});var S=o({id:l().uuid().optional(),type:l().trim().nonempty(),parent:o({id:l().uuid(),type:l().trim().nonempty()}),row:a(),col:a(),row_span:a().default(1),col_span:a().default(1),hidden:t().default(!1),data_source:i(u).optional()}),C=o({type:l().trim().nonempty(),parent:o({id:l().uuid(),type:l().trim().nonempty()}),row:a().optional(),col:a().optional(),row_span:a().optional(),col_span:a().optional(),hidden:t().optional()}),w=o({id:l().uuid(),type:l().trim().nonempty(),parent:o({id:l().uuid(),type:l().trim().nonempty()}),row:a(),col:a(),row_span:a(),col_span:a(),hidden:t(),created_at:l().date(),updated_at:l().date().nullable(),data_source:i(f)});export{b as a,v as c,m as d,h as f,C as i,p as l,w as n,x as o,y as r,g as s,S as t,_ as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-DECur_0Z.js";import{Br as e,Qr as t,Sr as n,Xr as r,_i as i,d as a,gr as o,xr as s}from"./icon-with-child-DmQ_XhQy.js";import{Ni as c,Pi as l,Ti as u}from"./common-DlW3qRTQ.js";import{d}from"./keys-CGGnS6tq.js";import{t as f}from"./composables-Da97cjje.js";var p=n({name:`DataSourceEditForm`,__name:`data-source-edit-form`,props:{dataSource:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:d.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1},onlyDraft:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(n,{emit:d}){let p=n,m=d,{t:h}=a(),{model:g,formEl:_,formChanged:v,submit:y,formResult:b}=f({dataSource:p.dataSource,onlyDraft:p.onlyDraft});return r(()=>b.value,async e=>{m(`update:remote-form-result`,e)}),r(()=>p.remoteFormSubmit,async e=>{e&&(m(`update:remote-form-submit`,!1),y().catch(()=>{}))}),r(()=>p.remoteFormReset,e=>{if(m(`update:remote-form-reset`,!1),e){if(!_.value)return;_.value.resetFields()}}),r(()=>v.value,e=>{m(`update:remote-form-changed`,e)}),(n,r)=>(e(),o(i(c),{ref_key:`formEl`,ref:_,model:i(g),"label-position":`top`,"status-icon":``},{default:t(()=>[s(i(l),{label:i(h)(`dashboardModule.fields.dataSources.id.title`),prop:[`id`]},{default:t(()=>[s(i(u),{modelValue:i(g).id,"onUpdate:modelValue":r[0]||=e=>i(g).id=e,placeholder:i(h)(`dashboardModule.fields.dataSources.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`]))}});export{p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$r as e,Ai as t,Br as n,Bt as r,Ft as i,H as a,Nr as o,O as s,Oi as c,Qn as l,Qr as u,Sr as d,Ur as f,Xr as p,Yr as m,Zt as h,_i as g,_r as _,ar as v,gr as y,gt as b,hr as x,ji as S,kr as C,kt as w,mr as T,mt as E,pt as D,sr as O,tt as k,ui as A,vr as j,xr as M,zt as N}from"./icon-with-child-DmQ_XhQy.js";import{Ii as ee,ii as P,ji as F,ni as I,ri as L,ti as R}from"./common-DlW3qRTQ.js";var z=h({...P,direction:{type:String,default:`rtl`,values:[`ltr`,`rtl`,`ttb`,`btt`]},resizable:Boolean,size:{type:[String,Number],default:`30%`},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:`2`}}),B={...L,"resize-start":(e,t)=>e instanceof MouseEvent&&typeof t==`number`,resize:(e,t)=>e instanceof MouseEvent&&typeof t==`number`,"resize-end":(e,t)=>e instanceof MouseEvent&&typeof t==`number`};function V(e,t,n){let{width:a,height:s}=N(),c=T(()=>[`ltr`,`rtl`].includes(e.direction)),l=T(()=>[`ltr`,`ttb`].includes(e.direction)?1:-1),u=T(()=>c.value?a.value:s.value),d=T(()=>r(f.value+l.value*m.value,4,u.value)),f=A(0),m=A(0),h=A(!1),g=A(!1),_=[],v=[],y=()=>{let e=t.value?.closest(`[aria-modal="true"]`);return e?c.value?e.offsetWidth:e.offsetHeight:100};p(()=>[e.size,e.resizable],()=>{g.value=!1,f.value=0,m.value=0,C()});let x=t=>{e.resizable&&(g.value||=(f.value=y(),!0),_=[t.pageX,t.pageY],h.value=!0,n(`resize-start`,t,f.value),v.push(i(window,`mouseup`,C),i(window,`mousemove`,S)))},S=e=>{let{pageX:t,pageY:r}=e,i=t-_[0],a=r-_[1];m.value=c.value?i:a,n(`resize`,e,d.value)},C=e=>{h.value&&(_=[],f.value=d.value,m.value=0,h.value=!1,v.forEach(e=>e?.()),v=[],e&&n(`resize-end`,e,f.value))},w=i(t,`mousedown`,x);return o(()=>{w(),C()}),{size:T(()=>g.value?`${d.value}px`:b(e.size)),isResizing:h,isHorizontal:c}}var H=[`aria-label`,`aria-labelledby`,`aria-describedby`],U=[`id`,`aria-level`],W=[`aria-label`],G=[`id`],K=k(d({name:`ElDrawer`,inheritAttrs:!1,__name:`drawer`,props:z,emits:B,setup(r,{expose:i,emit:o}){let d=r,p=o,h=m();w({scope:`el-drawer`,from:`the title slot`,replacement:`the header slot`,version:`3.0.0`,ref:`https://element-plus.org/en-US/component/drawer.html#slots`},T(()=>!!h.title));let b=A(),k=A(),N=A(),P=D(`drawer`),{t:L}=E(),{afterEnter:z,afterLeave:B,beforeLeave:K,visible:q,rendered:J,titleId:Y,bodyId:X,zIndex:Z,onModalClick:Q,onOpenAutoFocus:te,onCloseAutoFocus:ne,onFocusoutPrevented:re,onCloseRequested:ie,handleClose:$}=R(d,b),{isHorizontal:ae,size:oe,isResizing:se}=V(d,N,p),ce=T(()=>d.modalPenetrable&&!d.modal);return i({handleClose:$,afterEnter:z,afterLeave:B}),(i,o)=>(n(),y(g(ee),{to:r.appendTo,disabled:r.appendTo===`body`?!r.appendToBody:!1},{default:u(()=>[M(l,{name:g(P).b(`fade`),onAfterEnter:g(z),onAfterLeave:g(B),onBeforeLeave:g(K),persisted:``},{default:u(()=>[e(M(g(I),{mask:r.modal,"overlay-class":[g(P).is(`drawer`),r.modalClass??``,`${g(P).namespace.value}-modal-drawer`,g(P).is(`penetrable`,ce.value)],"z-index":g(Z),onClick:g(Q)},{default:u(()=>[M(g(F),{loop:``,trapped:g(q),"focus-trap-el":b.value,"focus-start-el":k.value,onFocusAfterTrapped:g(te),onFocusAfterReleased:g(ne),onFocusoutPrevented:g(re),onReleaseRequested:g(ie)},{default:u(()=>[x(`div`,C({ref_key:`drawerRef`,ref:b,"aria-modal":`true`,"aria-label":r.title||void 0,"aria-labelledby":r.title?void 0:g(Y),"aria-describedby":g(X)},i.$attrs,{class:[g(P).b(),r.direction,g(q)&&`open`,g(P).is(`dragging`,g(se))],style:{[g(ae)?`width`:`height`]:g(oe)},role:`dialog`,onClick:o[1]||=O(()=>{},[`stop`])}),[x(`span`,{ref_key:`focusStartRef`,ref:k,class:c(g(P).e(`sr-focus`)),tabindex:`-1`},null,2),r.withHeader?(n(),j(`header`,{key:0,class:c([g(P).e(`header`),r.headerClass])},[i.$slots.title?f(i.$slots,`title`,{key:1},()=>[_(` DEPRECATED SLOT `)]):f(i.$slots,`header`,{key:0,close:g($),titleId:g(Y),titleClass:g(P).e(`title`)},()=>[x(`span`,{id:g(Y),role:`heading`,"aria-level":r.headerAriaLevel,class:c(g(P).e(`title`))},S(r.title),11,U)]),r.showClose?(n(),j(`button`,{key:2,"aria-label":g(L)(`el.drawer.close`),class:c(g(P).e(`close-btn`)),type:`button`,onClick:o[0]||=(...e)=>g($)&&g($)(...e)},[M(g(s),{class:c(g(P).e(`close`))},{default:u(()=>[M(g(a))]),_:1},8,[`class`])],10,W)):_(`v-if`,!0)],2)):_(`v-if`,!0),g(J)?(n(),j(`div`,{key:1,id:g(X),class:c([g(P).e(`body`),r.bodyClass])},[f(i.$slots,`default`)],10,G)):_(`v-if`,!0),i.$slots.footer?(n(),j(`div`,{key:2,class:c([g(P).e(`footer`),r.footerClass])},[f(i.$slots,`footer`)],2)):_(`v-if`,!0),r.resizable?(n(),j(`div`,{key:3,ref_key:`draggerRef`,ref:N,style:t({zIndex:g(Z)}),class:c(g(P).e(`dragger`))},null,6)):_(`v-if`,!0)],16,H)]),_:3},8,[`trapped`,`focus-trap-el`,`focus-start-el`,`onFocusAfterTrapped`,`onFocusAfterReleased`,`onFocusoutPrevented`,`onReleaseRequested`])]),_:3},8,[`mask`,`overlay-class`,`z-index`,`onClick`]),[[v,g(q)]])]),_:3},8,[`name`,`onAfterEnter`,`onAfterLeave`,`onBeforeLeave`])]),_:3},8,[`to`,`disabled`]))}}));export{K as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ai as e,Br as t,Oi as n,Sr as r,Ur as i,Zt as a,_i as o,_r as s,gt as c,hr as l,ji as u,mr as d,mt as f,pt as p,tt as m,ut as h,vr as g,xr as _}from"./icon-with-child-DmQ_XhQy.js";var v=a({image:{type:String,default:``},imageSize:Number,description:{type:String,default:``}}),y={viewBox:`0 0 79 86`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`},b=[`id`],x=[`stop-color`],S=[`stop-color`],C=[`id`],w=[`stop-color`],T=[`stop-color`],E=[`id`],D={stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},O={transform:`translate(-1268.000000, -535.000000)`},k={transform:`translate(1268.000000, 535.000000)`},A=[`fill`],j=[`fill`],M={transform:`translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)`},N=[`fill`],P=[`fill`],F=[`fill`],I=[`fill`],L=[`fill`],R={transform:`translate(53.000000, 45.000000)`},z=[`fill`,`xlink:href`],B=[`fill`,`mask`],V=[`fill`],H=r({name:`ImgEmpty`,__name:`img-empty`,setup(e){let n=p(`empty`),r=h();return(e,i)=>(t(),g(`svg`,y,[l(`defs`,null,[l(`linearGradient`,{id:`linearGradient-1-${o(r)}`,x1:`38.8503086%`,y1:`0%`,x2:`61.1496914%`,y2:`100%`},[l(`stop`,{"stop-color":`var(${o(n).cssVarBlockName(`fill-color-1`)})`,offset:`0%`},null,8,x),l(`stop`,{"stop-color":`var(${o(n).cssVarBlockName(`fill-color-4`)})`,offset:`100%`},null,8,S)],8,b),l(`linearGradient`,{id:`linearGradient-2-${o(r)}`,x1:`0%`,y1:`9.5%`,x2:`100%`,y2:`90.5%`},[l(`stop`,{"stop-color":`var(${o(n).cssVarBlockName(`fill-color-1`)})`,offset:`0%`},null,8,w),l(`stop`,{"stop-color":`var(${o(n).cssVarBlockName(`fill-color-6`)})`,offset:`100%`},null,8,T)],8,C),l(`rect`,{id:`path-3-${o(r)}`,x:`0`,y:`0`,width:`17`,height:`36`},null,8,E)]),l(`g`,D,[l(`g`,O,[l(`g`,k,[l(`path`,{d:`M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z`,fill:`var(${o(n).cssVarBlockName(`fill-color-3`)})`},null,8,A),l(`polygon`,{fill:`var(${o(n).cssVarBlockName(`fill-color-7`)})`,transform:`translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) `,points:`13 58 53 58 42 45 2 45`},null,8,j),l(`g`,M,[l(`polygon`,{fill:`var(${o(n).cssVarBlockName(`fill-color-7`)})`,transform:`translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) `,points:`2.84078316e-14 3 18 3 23 7 5 7`},null,8,N),l(`polygon`,{fill:`var(${o(n).cssVarBlockName(`fill-color-5`)})`,points:`-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43`},null,8,P),l(`rect`,{fill:`url(#linearGradient-1-${o(r)})`,transform:`translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) `,x:`38`,y:`7`,width:`17`,height:`36`},null,8,F),l(`polygon`,{fill:`var(${o(n).cssVarBlockName(`fill-color-2`)})`,transform:`translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) `,points:`24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12`},null,8,I)]),l(`rect`,{fill:`url(#linearGradient-2-${o(r)})`,x:`13`,y:`45`,width:`40`,height:`36`},null,8,L),l(`g`,R,[l(`use`,{fill:`var(${o(n).cssVarBlockName(`fill-color-8`)})`,transform:`translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) `,"xlink:href":`#path-3-${o(r)}`},null,8,z),l(`polygon`,{fill:`var(${o(n).cssVarBlockName(`fill-color-9`)})`,mask:`url(#mask-4-${o(r)})`,transform:`translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) `,points:`7 0 24 0 20 18 7 16.5`},null,8,B)]),l(`polygon`,{fill:`var(${o(n).cssVarBlockName(`fill-color-2`)})`,transform:`translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) `,points:`62 45 79 45 70 58 53 58`},null,8,V)])])])]))}}),U=[`src`],W={key:1},G=m(r({name:`ElEmpty`,__name:`empty`,props:v,setup(r){let a=r,{t:m}=f(),h=p(`empty`),v=d(()=>a.description||m(`el.table.emptyText`)),y=d(()=>({width:c(a.imageSize)}));return(a,c)=>(t(),g(`div`,{class:n(o(h).b())},[l(`div`,{class:n(o(h).e(`image`)),style:e(y.value)},[r.image?(t(),g(`img`,{key:0,src:r.image,ondragstart:`return false`},null,8,U)):i(a.$slots,`image`,{key:1},()=>[_(H)])],6),l(`div`,{class:n(o(h).e(`description`))},[a.$slots.description?i(a.$slots,`description`,{key:0}):(t(),g(`p`,W,u(v.value),1))],2),a.$slots.default?(t(),g(`div`,{key:0,class:n(o(h).e(`bottom`))},[i(a.$slots,`default`)],2)):s(`v-if`,!0)],2))}}));export{G as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`extensions-module`,t=function(e){return e.MODULE=`module`,e.PLUGIN=`plugin`,e}({}),n=function(e){return e.ADMIN=`admin`,e.BACKEND=`backend`,e}({}),r=function(e){return e.BUNDLED=`bundled`,e.RUNTIME=`runtime`,e}({}),i={EXTENSIONS:`extensions_module-extensions`,EXTENSION:`extensions_module-extension`,EXTENSION_DETAIL:`extensions_module-extension-detail`},a=`table`;export{n as a,r as i,e as n,i as o,t as r,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;width:auto;margin:0;position:absolute;z-index:0!important}.grid-stack>.grid-stack-item{width:var(--gs-column-width);height:var(--gs-cell-height);padding:0;position:absolute;top:0;left:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{width:auto;margin:0;position:absolute;overflow:hidden auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{-ms-touch-action:none;touch-action:none;font-size:.1px;display:block;position:absolute}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"%23666\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 20 20\"><path d=\"m10 3 2 2H8l2-2v14l-2-2h4l-2 2\"/></svg>");background-position:50%;background-repeat:no-repeat}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{opacity:.8;box-shadow:1px 4px 6px #0003}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left,top,height,width}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack>.grid-stack-item[gs-x="0"]{left:0}
|