@opengis/admin 0.2.37 → 0.2.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{add-page-RShqVZ6U.js → add-page-CjMMJXor.js} +1 -1
- package/dist/{admin-interface-CdZNYZko.js → admin-interface-r4MQgd-a.js} +201 -195
- package/dist/{admin-view-B4RkRWfj.js → admin-view-Bp-O1jIb.js} +1 -1
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +1 -1
- package/dist/{card-view-wiQEWExD.js → card-view-Dgslt2cJ.js} +1 -1
- package/dist/{edit-page-DZ3bue02.js → edit-page-B2ILwwSz.js} +1 -1
- package/dist/{import-file-CspxNIvZ.js → import-file-Ke8VjJ_M.js} +6 -6
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/server/helpers/list/descriptionList.js +3 -3
- package/server/helpers/list/tableList.js +2 -2
- package/server/plugins/adminHook.js +1 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
import { _, I as R, a as q, u as Z, s as T, b as G, c as J, d as S } from "./import-file-
|
1
|
+
import { _, I as R, a as q, u as Z, s as T, b as G, c as J, d as S } from "./import-file-Ke8VjJ_M.js";
|
2
2
|
import { openBlock as l, createElementBlock as a, createElementVNode as n, createStaticVNode as B, resolveComponent as p, normalizeClass as L, createTextVNode as U, toDisplayString as A, createVNode as c, Transition as K, withCtx as Q, withDirectives as P, Fragment as E, renderList as F, vShow as W, createCommentVNode as D, withModifiers as X, createBlock as Y, resolveDynamicComponent as e1 } from "vue";
|
3
3
|
const t1 = {}, o1 = {
|
4
4
|
xmlns: "http://www.w3.org/2000/svg",
|
package/dist/admin.js
CHANGED
package/dist/admin.umd.cjs
CHANGED
@@ -791,4 +791,4 @@ img.ProseMirror-separator {
|
|
791
791
|
</div>
|
792
792
|
`}).mount(u)},{Fancybox:dU}=My,o_={$form:lU,$api:uU,$map:hU,$preview:({media:n})=>{const e=document.querySelector("#app");if(!e){console.error('Modal root element with id "#app" not found!');return}const t=document.createElement("div");e.appendChild(t),f.createApp({data(){return{items:Array.isArray(n)?n:[n]}},mounted(){this.$nextTick(()=>{dU.show(this.items.map(r=>{const a=typeof r=="string"&&r.endsWith(".pdf");return{src:r,type:a?"iframe":"image"}}),{groupAll:!0,Thumbs:{autoStart:!0}})})},template:`
|
793
793
|
<div style="display: none;"></div> <!-- Keeps container hidden -->
|
794
|
-
`}).mount(t)}};window.addEventListener("click",n=>{var t,i,r;const e=(t=n==null?void 0:n.target)==null?void 0:t.closest("[_href]");if(e&&(e==null?void 0:e.tagName)==="A"){const a=e==null?void 0:e.getAttribute("_href");(r=(i=window==null?void 0:window.app)==null?void 0:i.router)==null||r.push(a),n==null||n.preventDefault()}});const pU=async()=>{try{const{data:n}=await ut.get("/api/user-menu");return Jr.value=n,t_(n)}catch(n){return console.error(n),[]}},fU=(n,e)=>{Object.entries(e).forEach(([t,i])=>{n.component(t,i)})},mU={async install(n,{componentsApp:e={},settings:t,routes:i=[]}){ia.value={...ia,...t};try{const a=(await pU()).filter(l=>l==null?void 0:l.component).map(l=>({...l,component:{...s_,...e}[l==null?void 0:l.component]}));fU(n,{...s_,...e}),n.component("admin",QT);const{router:u}=await BA(a.concat(i));window.app={...n,router:u},window.v3plugin={...n.config.globalProperties,...o_},n.config.globalProperties={...n.config.globalProperties,$componentsConfig:{...TB,componentsApp:e},$router:u,$v3plugin:o_,$utils:{reloadCardPage:Zf}},n.use(u)}catch(r){console.error(r)}},components:s_,plugins:o_},gU={data(){return{formValues:{},scheme:null,table:"",token:""}},mounted(){this.getFormScheme()},methods:{flattenMenu(n){const e=[];return n.forEach(t=>{t.menu?e.push(...this.flattenMenu(t.menu)):e.push(t)}),e},async getFormScheme(){var i,r;const n=this.flattenMenu(Jr.value);n!=null&&n.length||this.$router.replace("/404");const e=n==null?void 0:n.find(a=>{var u,l;return(a==null?void 0:a.path)==((l=(u=this.$route)==null?void 0:u.query)==null?void 0:l.table)});e||this.$router.replace("/404");const t=e==null?void 0:e.table;this.table=t;try{const{data:{form:a}}=await ut.get(`/api/template/table/${t}`),{data:u}=await ut.get(`/api/table/${this.table}/${(r=(i=this.$route)==null?void 0:i.query)==null?void 0:r.id}`);this.token=(u==null?void 0:u.token)||"",this.formValues=u||{};const{data:l}=await ut.get(`/api/template/form/${a}`);this.scheme=(l==null?void 0:l.schema)||l}catch{}},async onlyEditObject(){var e,t,i,r,a,u,l,g,b;const n=this.$refs.form;try{await n.doValidation(),await ut.put(`/api/table/${this.token}`,this.formValues),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(w){const E=((e=w==null?void 0:w.response)==null?void 0:e.data)||"";let C=((a=(r=(i=(t=Object.entries(n==null?void 0:n.formErrors))==null?void 0:t[0])==null?void 0:i[1])==null?void 0:r[0])==null?void 0:a.message)==="Це поле обов'язкове"?"Заповніть обов'язкові поля":(b=(g=(l=(u=Object.entries(n==null?void 0:n.formErrors))==null?void 0:u[0])==null?void 0:l[1])==null?void 0:g[0])==null?void 0:b.message;this.$notify({title:"Помилка!",message:E||C||"Сталася помилка валідаціі",type:"error"})}},async editObjectAndRedirect(){var e,t,i,r,a,u,l,g,b;const n=this.$refs.form;try{await n.doValidation(),await ut.put(`/api/table/${this.token}`,this.formValues),await this.$router.back(),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(w){const E=((e=w==null?void 0:w.response)==null?void 0:e.data)||"";let C=((a=(r=(i=(t=Object.entries(n==null?void 0:n.formErrors))==null?void 0:t[0])==null?void 0:i[1])==null?void 0:r[0])==null?void 0:a.message)==="Це поле обов'язкове"?"Заповніть обов'язкові поля":(b=(g=(l=(u=Object.entries(n==null?void 0:n.formErrors))==null?void 0:u[0])==null?void 0:l[1])==null?void 0:g[0])==null?void 0:b.message;this.$notify({title:"Помилка!",message:E||C||"Сталася помилка валідаціі",type:"error"})}}}},yU={class:"bg-gray-50 lg:w-[calc(100vw-260px)] w-[100vw]"},_U={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl"},bU={class:"flex items-center gap-[6px]"},xU={style:{height:"calc(100vh - 155px)"},class:"bg-gray-50 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw]"},vU={class:"bg-white w-full rounded-xl border p-[20px] overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"};function wU(n,e,t,i,r,a){const u=f.resolveComponent("VsForm");return f.openBlock(),f.createElementBlock("div",yU,[f.createElementVNode("div",_U,[e[4]||(e[4]=f.createElementVNode("h2",{class:"text-xl font-medium"},"Редагувати",-1)),f.createElementVNode("div",bU,[f.createElementVNode("button",{onClick:e[0]||(e[0]=l=>n.$router.back()),class:"flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"}," Повернутися "),f.createElementVNode("button",{onClick:e[1]||(e[1]=(...l)=>a.onlyEditObject&&a.onlyEditObject(...l)),class:"inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"}," Зберегти "),f.createElementVNode("button",{onClick:e[2]||(e[2]=(...l)=>a.editObjectAndRedirect&&a.editObjectAndRedirect(...l)),class:"inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"}," Зберегти і повернутися ")])]),f.createElementVNode("div",xU,[f.createElementVNode("div",vU,[r.scheme?(f.openBlock(),f.createBlock(u,{key:0,ref:"form",scheme:r.scheme,modelValue:r.formValues,"onUpdate:modelValue":e[3]||(e[3]=l=>r.formValues=l),class:"p-0 mt-[20px]"},null,8,["scheme","modelValue"])):f.createCommentVNode("",!0)])])])}const kU=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(gU,[["render",wU]])},Symbol.toStringTag,{value:"Module"})),SU={data(){return{formValues:{},scheme:null,table:"",token:"",api:""}},mounted(){this.getFormScheme()},methods:{flattenMenu(n){const e=[];return n.forEach(t=>{t.menu?e.push(...this.flattenMenu(t.menu)):e.push(t)}),e},async getFormScheme(){var i,r;const n=this.flattenMenu(Jr.value);n!=null&&n.length||this.$router.replace("/404");const e=n==null?void 0:n.find(a=>{var u,l;return(a==null?void 0:a.path)==((l=(u=this.$route)==null?void 0:u.query)==null?void 0:l.table)});e||this.$router.replace("/404");const t=e==null?void 0:e.table;this.table=t;try{const a=await ut.get(`/api/table-data/${t}`),{data:u}=await ut.get(`/api/template/form/${(i=a==null?void 0:a.data)==null?void 0:i.form}`);this.scheme=(u==null?void 0:u.schema)||u,this.api=(u==null?void 0:u.api)||"",this.token=(r=a==null?void 0:a.data)==null?void 0:r.addToken}catch{}},async createObject(){var e,t,i,r,a,u,l,g,b;const n=this.$refs.form;try{await n.doValidation(),await ut.post(this.api||`/api/table/${this.token}`,this.formValues),await this.$router.back(),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(w){const E=((e=w==null?void 0:w.response)==null?void 0:e.data)||"";let C=((a=(r=(i=(t=Object.entries(n==null?void 0:n.formErrors))==null?void 0:t[0])==null?void 0:i[1])==null?void 0:r[0])==null?void 0:a.message)==="Це поле обов'язкове"?"Заповніть обов'язкові поля":(b=(g=(l=(u=Object.entries(n==null?void 0:n.formErrors))==null?void 0:u[0])==null?void 0:l[1])==null?void 0:g[0])==null?void 0:b.message;this.$notify({title:"Помилка!",message:E||C||"Сталася помилка валідаціі",type:"error"})}}}},EU={class:"bg-gray-50 lg:w-[calc(100vw-260px)] w-[100vw]"},CU={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl"},TU={class:"flex items-center gap-[6px]"},MU={style:{height:"calc(100vh - 165px)"},class:"bg-gray-50 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw]"},AU={class:"bg-white w-full rounded-xl border p-[20px] overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"};function PU(n,e,t,i,r,a){const u=f.resolveComponent("VsForm");return f.openBlock(),f.createElementBlock("div",EU,[f.createElementVNode("div",CU,[e[3]||(e[3]=f.createElementVNode("h2",{class:"text-xl font-medium"},"Створити",-1)),f.createElementVNode("div",TU,[f.createElementVNode("button",{onClick:e[0]||(e[0]=l=>n.$router.back()),class:"flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"}," Скасувати "),f.createElementVNode("button",{onClick:e[1]||(e[1]=(...l)=>a.createObject&&a.createObject(...l)),class:"inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"}," Зберегти ")])]),f.createElementVNode("div",MU,[f.createElementVNode("div",AU,[r.scheme?(f.openBlock(),f.createBlock(u,{key:0,ref:"form",scheme:r.scheme,modelValue:r.formValues,"onUpdate:modelValue":e[2]||(e[2]=l=>r.formValues=l),class:"p-0 mt-[20px]"},null,8,["scheme","modelValue"])):f.createCommentVNode("",!0)])])])}const IU=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(SU,[["render",PU]])},Symbol.toStringTag,{value:"Module"})),DU={};function OU(n,e,t,i,r,a){const u=f.resolveComponent("router-view");return f.openBlock(),f.createBlock(u)}const US=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(DU,[["render",OU]])},Symbol.toStringTag,{value:"Module"})),BU={},NU={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-logout"};function zU(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",NU,e[0]||(e[0]=[f.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),f.createElementVNode("path",{d:"M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2"},null,-1),f.createElementVNode("path",{d:"M9 12h12l-3 -3"},null,-1),f.createElementVNode("path",{d:"M18 15l3 -3"},null,-1)]))}const RU=Ue(BU,[["render",zU]]),LU={},VU={viewBox:"0 0 1823 249",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function FU(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",VU,e[0]||(e[0]=[f.createStaticVNode('<path d="M218.88 96.05C223.55 99.19 228.69 101.56 234.09 103.07V145.42C212.05 151.54 195.83 171.79 195.83 195.75C195.83 200.22 196.41 204.65 197.53 208.94L160.92 230.08C156.82 226.06 152.08 222.73 146.91 220.24V171.62C164.83 163.13 176.59 145.06 176.59 124.48C176.59 123.17 176.54 121.86 176.44 120.56L218.88 96.05ZM220.32 79.09L160.97 113.36C162.04 116.88 162.61 120.61 162.61 124.48C162.61 142.66 149.93 157.87 132.93 161.76V230.05C143.4 232.46 152.23 239.16 157.46 248.21L215 214.99C211.7 209.34 209.81 202.77 209.81 195.75C209.81 174.62 226.94 157.49 248.07 157.49V91.02C237.14 91.02 227.29 86.43 220.32 79.09Z" fill="#CE3936"></path><path d="M161.39 19.13L197.44 39.94C196.39 44.11 195.84 48.42 195.84 52.75C195.84 54.21 195.9 55.65 196.02 57.1L153.9 81.42C145.27 75.5 134.95 72.24 124.36 72.24C113.83 72.24 103.57 75.47 94.96 81.32L52.71 56.93C52.82 55.55 52.88 54.16 52.88 52.76C52.88 48.43 52.34 44.12 51.28 39.95L87.3 19.16C96.98 28.89 110.26 34.58 124.34 34.58C138.42 34.57 151.7 28.87 161.39 19.13ZM157.77 0.919983C151.24 12.66 138.71 20.6 124.33 20.6C109.95 20.6 97.44 12.67 90.9 0.939983L33.9 33.85C37.08 39.43 38.91 45.88 38.91 52.76C38.91 56.71 38.31 60.52 37.2 64.11L96.46 98.32C103.44 90.87 113.36 86.22 124.37 86.22C135.44 86.22 145.41 90.93 152.39 98.44L211.59 64.27C210.45 60.64 209.83 56.78 209.83 52.77C209.83 45.89 211.65 39.44 214.84 33.86L157.77 0.919983Z" fill="#CE3936"></path><path d="M29.97 95.95L72.28 120.38C72.17 121.74 72.12 123.1 72.12 124.47C72.12 145.02 83.86 163.08 101.74 171.58V220.23C96.58 222.71 91.84 226.04 87.75 230.05L51.17 208.93C52.29 204.64 52.87 200.21 52.87 195.74C52.87 171.78 36.65 151.53 14.61 145.41V103.06C20.07 101.55 25.27 99.14 29.97 95.95ZM28.5 78.97C21.52 86.38 11.63 91.02 0.640015 91.02V157.49C21.77 157.49 38.9 174.62 38.9 195.75C38.9 202.77 37 209.33 33.71 214.99L91.2 248.18C96.43 239.14 105.25 232.45 115.71 230.04V161.73C98.74 157.81 86.09 142.62 86.09 124.46C86.09 120.54 86.68 116.75 87.78 113.18L28.5 78.97Z" fill="#CE3936"></path><path d="M498.39 177.5V144.88C498.39 128.55 485.11 115.27 468.78 115.27H343.22C342.69 115.27 342.18 115.32 341.67 115.4H337.19C332.35 115.4 328.42 111.46 328.42 106.63V74C328.42 69.16 332.36 65.23 337.19 65.23H486.33C492.08 65.23 496.75 60.57 496.75 54.81C496.75 49.06 492.08 44.39 486.33 44.39H337.19C320.86 44.39 307.58 57.67 307.58 74V106.62C307.58 122.95 320.86 136.23 337.19 136.23H462.75C463.28 136.23 463.79 136.18 464.3 136.1H468.78C473.62 136.1 477.55 140.04 477.55 144.87V177.49C477.55 182.33 473.61 186.26 468.78 186.26H319.64C313.89 186.26 309.22 190.92 309.22 196.68C309.22 202.43 313.89 207.1 319.64 207.1H468.78C485.11 207.11 498.39 193.83 498.39 177.5Z" fill="#CE3935"></path><path d="M710.7 177.32V75.24C710.7 58.91 697.42 45.63 681.09 45.63H550.05C533.72 45.63 520.44 58.91 520.44 75.24V177.32C520.44 193.65 533.72 206.93 550.05 206.93H681.1C697.42 206.93 710.7 193.65 710.7 177.32ZM541.27 75.24C541.27 70.4 545.21 66.47 550.04 66.47H681.09C685.93 66.47 689.86 70.41 689.86 75.24V177.32C689.86 182.16 685.92 186.09 681.09 186.09H550.05C545.21 186.09 541.28 182.15 541.28 177.32V75.24H541.27Z" fill="#CE3935"></path><path d="M1823 177.32V75.24C1823 58.91 1809.72 45.63 1793.39 45.63H1662.34C1646.01 45.63 1632.73 58.91 1632.73 75.24V177.32C1632.73 193.65 1646.01 206.93 1662.34 206.93H1793.39C1809.72 206.93 1823 193.65 1823 177.32ZM1653.57 75.24C1653.57 70.4 1657.51 66.47 1662.34 66.47H1793.39C1798.23 66.47 1802.16 70.41 1802.16 75.24V177.32C1802.16 182.16 1798.22 186.09 1793.39 186.09H1662.34C1657.5 186.09 1653.57 182.15 1653.57 177.32V75.24Z" fill="#CE3935"></path><path d="M756.76 196.51V152H849.42C855.17 152 859.84 147.34 859.84 141.58C859.84 135.83 855.17 131.16 849.42 131.16H756.76V75.23C756.76 70.39 760.7 66.46 765.53 66.46H893.29C899.04 66.46 903.71 61.8 903.71 56.04C903.71 50.29 899.04 45.62 893.29 45.62H765.53C749.2 45.62 735.92 58.9 735.92 75.23V196.5C735.92 202.25 740.59 206.92 746.34 206.92C752.09 206.93 756.76 202.27 756.76 196.51Z" fill="#CE3935"></path><path d="M933.86 66.47H1006.51V194.32C1006.51 200.07 1011.18 204.74 1016.93 204.74C1022.68 204.74 1027.35 200.07 1027.35 194.32V66.47H1100C1105.75 66.47 1110.42 61.81 1110.42 56.05C1110.42 50.3 1105.76 45.63 1100 45.63H933.86C928.11 45.63 923.44 50.29 923.44 56.05C923.45 61.81 928.11 66.47 933.86 66.47Z" fill="#CE3935"></path><path d="M1218.44 204.19C1224.19 204.19 1228.86 199.53 1228.86 193.77V152H1368.13C1384.46 152 1397.74 138.72 1397.74 122.39V75.24C1397.74 58.91 1384.46 45.63 1368.13 45.63H1237.63C1221.3 45.63 1208.02 58.91 1208.02 75.24V193.77C1208.02 199.53 1212.68 204.19 1218.44 204.19ZM1237.63 66.47H1368.13C1372.97 66.47 1376.9 70.41 1376.9 75.24V122.39C1376.9 127.23 1372.96 131.16 1368.13 131.16H1228.86V75.23C1228.86 70.41 1232.79 66.47 1237.63 66.47Z" fill="#CE3935"></path><path d="M1430.64 204.19C1436.39 204.19 1441.06 199.53 1441.06 193.77V152H1523.95C1524.57 153.18 1525.42 154.26 1526.51 155.17L1581.89 201.23C1583.83 202.85 1586.2 203.64 1588.55 203.64C1591.54 203.64 1594.5 202.36 1596.57 199.88C1600.25 195.46 1599.64 188.89 1595.22 185.21L1555.29 152H1580.33C1596.66 152 1609.94 138.72 1609.94 122.39V75.24C1609.94 58.91 1596.66 45.63 1580.33 45.63H1449.83C1433.5 45.63 1420.22 58.91 1420.22 75.24V193.77C1420.22 199.53 1424.88 204.19 1430.64 204.19ZM1449.83 66.47H1580.33C1585.17 66.47 1589.1 70.41 1589.1 75.24V122.39C1589.1 127.23 1585.17 131.16 1580.33 131.16H1441.06V75.23C1441.05 70.41 1444.99 66.47 1449.83 66.47Z" fill="#CE3935"></path>',10)]))}const $U=Ue(LU,[["render",FU]]),jU={components:{IconChevronDown:i_},props:{route:Object,searchable:String},mounted(){var n,e,t;(n=this.route)!=null&&n.menu&&(t=(e=this.route)==null?void 0:e.menu)!=null&&t.some(i=>{var r,a;return(i==null?void 0:i.path)===this.$route.path.replace("/","")||((a=(r=this.$route)==null?void 0:r.params)==null?void 0:a.table)===(i==null?void 0:i.table)&&(i==null?void 0:i.table)})&&(this.isOpen=!0)},watch:{route(n){n!=null&&n.open&&(this.isOpen=!0)}},data(){return{isOpen:!1}},methods:{highLight(n){if(!this.searchable)return n;const e=this.searchable.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),t=new RegExp(`(${e})(\\s*)`,"gi");return n.replace(t,(i,r,a)=>`<span style="color:#1989fa;">${r}</span>${a}`)}}},UU={key:0,class:""},HU={class:"ml-[30px] py-[6px] before:block before:absolute relative w-[196px] flex flex-col gap-[6px] inline-block before:w-[2px] before:h-[100%] before:bg-gray-100 before:left-[-14px] cursor-pointer"},qU={key:1};function WU(n,e,t,i,r,a){var g,b,w,E,C,P,D,R,$,G,ee,ce,U,Me,ke;const u=f.resolveComponent("IconChevronDown"),l=f.resolveComponent("router-link");return(g=t.route)!=null&&g.menu?(f.openBlock(),f.createElementBlock("div",UU,[f.createElementVNode("button",{onClick:e[0]||(e[0]=Pe=>r.isOpen=!r.isOpen),class:f.normalizeClass(["flex items-center justify-start w-full px-3 py-2 text-sm text-left text-gray-800 duration-300 border-none rounded-lg cursor-pointer gap-x-3 focus:outline-none hover:bg-gray-100",[((w=(b=t.route)==null?void 0:b.menu)==null?void 0:w.some(Pe=>{var Fe,Be;return(Pe==null?void 0:Pe.path)===n.$route.path.replace("/","")||(Pe==null?void 0:Pe.table)===((Be=(Fe=n.$route)==null?void 0:Fe.params)==null?void 0:Be.table)&&(Pe==null?void 0:Pe.table)}))&&"bg-gray-100"]])},[f.createTextVNode(f.toDisplayString((E=t.route)==null?void 0:E.ua)+" ",1),f.createVNode(u,{class:f.normalizeClass([[r.isOpen&&"-rotate-180"],"ml-auto duration-300"]),width:"14",height:"14"},null,8,["class"])],2),f.createVNode(f.Transition,{name:"fade"},{default:f.withCtx(()=>{var Pe;return[f.withDirectives(f.createElementVNode("ul",HU,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList((Pe=t.route)==null?void 0:Pe.menu,(Fe,Be)=>{var pt,tt;return f.openBlock(),f.createElementBlock("li",{key:Be,class:"w-full"},[f.createVNode(l,{innerHTML:a.highLight(Fe==null?void 0:Fe.ua),to:"/"+(Fe==null?void 0:Fe.path),class:f.normalizeClass([[((Fe==null?void 0:Fe.path)===n.$route.path.replace("/","")||((tt=(pt=n.$route)==null?void 0:pt.params)==null?void 0:tt.table)===(Fe==null?void 0:Fe.table)&&(Fe==null?void 0:Fe.table))&&"bg-gray-100"],"block px-3 py-2 text-sm text-gray-800 rounded-lg hover:bg-gray-100 focus:outline-none focus:bg-gray-100"])},null,8,["innerHTML","to","class"])])}),128))],512),[[f.vShow,r.isOpen]])]}),_:1})])):(C=t.route)!=null&&C.hidden?f.createCommentVNode("",!0):(f.openBlock(),f.createElementBlock("div",qU,[f.createVNode(l,{innerHTML:a.highLight((P=t.route)==null?void 0:P.ua),to:((R=(D=t.route)==null?void 0:D.path)==null?void 0:R[0])==="/"?($=t.route)==null?void 0:$.path:"/"+((G=t.route)==null?void 0:G.path),class:f.normalizeClass([[(((ee=t.route)==null?void 0:ee.path.replace("/",""))===n.$route.path.replace("/","")||((U=(ce=n.$route)==null?void 0:ce.params)==null?void 0:U.table)===((Me=t.route)==null?void 0:Me.table)&&((ke=t.route)==null?void 0:ke.table))&&"bg-gray-100"],"inline-block py-2 w-full font-[400] px-3 text-sm text-gray-800 rounded-lg items-center hover:bg-gray-100 duration-300 hover:text-gray-800"])},null,8,["innerHTML","to","class"])]))}const GU={components:{IconLogout:RU,NavbarItem:Ue(jU,[["render",WU]]),IconLogo:$U,IconSearch:n_},data(){return{activeIndex:null,searchValue:""}},computed:{data(){var n;return(n=this.searchValue)!=null&&n.trim()?this.filterMenu(Jr.value,this.searchValue):Jr.value},logo(){var n;return((n=ia.value)==null?void 0:n.logo)||"/assets/logo.svg"}},methods:{filterMenu(n,e){return n.map(t=>{var i,r;if(t.menu){const a=this.filterMenu(t.menu,e);if(a.length>0)return{...t,menu:a,open:!0}}else if((r=(i=t.ua)==null?void 0:i.toLowerCase())!=null&&r.includes(e.toLowerCase()))return t;return null}).filter(Boolean)}}},ZU={class:"h-[59px] w-full p-[4px] mb-[10px]"},YU=["src"],XU={class:"relative mx-[16px] pl"},KU={class:"p-[16px] overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"},JU={class:"flex flex-col flex-wrap w-full pb-3"},QU={key:0,class:"flex flex-col gap-[6px]"},e9={key:1,class:"text-gray-800 text-lg mt-[20px]"};function t9(n,e,t,i,r,a){var b;const u=f.resolveComponent("IconSearch"),l=f.resolveComponent("VsText"),g=f.resolveComponent("NavbarItem");return f.openBlock(),f.createElementBlock("div",{class:f.normalizeClass(["lg:flex lg:relative lg:left-0 flex-col h-[100vh] border-r w-[260px] shrink-0 absolute transition left-[-100%] z-[11] bg-white",[{"left-0":n.$parent.showMenu}]])},[f.createElementVNode("div",ZU,[f.createElementVNode("img",{src:a.logo,class:"object-contain w-full h-full"},null,8,YU)]),f.createElementVNode("div",XU,[f.createVNode(u,{height:"16",width:"16",class:"absolute top-[12px] left-[16px] text-gray-500 z-[1]"}),f.createVNode(l,{type:"text",modelValue:r.searchValue,"onUpdate:modelValue":e[0]||(e[0]=w=>r.searchValue=w),clearable:!0,placeholder:"Пошук по меню",class:"[&>input]:h-[40px] [&>input]:block [&>input]:pl-[40px] [&>input:focus]:outline-none [&>input:focus]:focus:ring-0 [&>input:focus]:border-y-gray-200 [&>input:focus]:border-y-1 [&>input:focus]:border-x-0"},null,8,["modelValue"])]),f.createElementVNode("div",KU,[f.createElementVNode("nav",JU,[(b=a.data)!=null&&b.length?(f.openBlock(),f.createElementBlock("ul",QU,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(a.data,(w,E)=>(f.openBlock(),f.createElementBlock("li",{key:E,class:"flex flex-col gap-[6px]"},[f.createVNode(g,{route:w,searchable:r.searchValue},null,8,["route","searchable"])]))),128))])):(f.openBlock(),f.createElementBlock("div",e9,"Не знайдено"))])])],2)}const n9=Ue(GU,[["render",t9]]),i9={},r9={class:"flex-shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function s9(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",r9,e[0]||(e[0]=[f.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),f.createElementVNode("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"},null,-1),f.createElementVNode("path",{d:"M12 17h.01"},null,-1)]))}const o9={components:{IconQuestion:Ue(i9,[["render",s9]]),IconUser:VS,AdminNotification:FS},mounted(){this.getUserData()},data(){return{userData:null,isVisible:!1}},watch:{isVisible(n){n?setTimeout(()=>window.addEventListener("click",this.closeOnOutsideClick),0):window.removeEventListener("click",this.closeOnOutsideClick)}},methods:{async getUserData(){try{const{data:n}=await ut.get("/user");this.userData=n}catch{}},async logout(){try{await ut.get("/logout"),await window.history.pushState({},"","/login"),await location.reload(),localStorage.removeItem("user")}catch{}},closeOnOutsideClick(){this.isVisible=!1}},beforeUnmount(){window.removeEventListener("click",this.closeOnOutsideClick)}},a9={class:"h-[60px] border-b flex lg:justify-end justify-between items-center px-[20px]"},l9={class:"flex items-center gap-[6px]"},c9={href:"/docs-user",class:"size-[38px] inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},u9={class:"relative"},h9=["src"],d9={key:1,class:"size-[40px] rounded-full bg-gray-200 flex items-center justify-center"},p9={class:"p-[10px] gap-[6px] items-center border-b flex justify-between"},f9=["src"],m9={key:1,class:"size-[40px] rounded-full bg-gray-200 flex items-center justify-center"},g9={class:"text-[14px] mr-[10px] text-gray-500"},y9={class:"flex flex-col p-[4px]"};function _9(n,e,t,i,r,a){var w,E,C,P,D,R,$,G,ee,ce;const u=f.resolveComponent("IconQuestion"),l=f.resolveComponent("AdminNotification"),g=f.resolveComponent("IconUser"),b=f.resolveComponent("router-link");return f.openBlock(),f.createElementBlock("div",a9,[f.createElementVNode("div",{class:"lg:hidden flex",onClick:e[0]||(e[0]=U=>n.$parent.showMenu=!0)},e[4]||(e[4]=[f.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-menu-2"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l16 0"></path><path d="M4 12l16 0"></path><path d="M4 18l16 0"></path></svg>',1)])),f.createElementVNode("div",l9,[f.createElementVNode("a",c9,[f.createVNode(u,{height:"24",width:"24"})]),f.createVNode(l),e[6]||(e[6]=f.createElementVNode("div",{class:"h-[30px] w-[1px] bg-gray-200 ml-[10px] mr-[10px]"},null,-1)),f.createElementVNode("div",u9,[f.createElementVNode("div",{onClick:e[1]||(e[1]=U=>r.isVisible=!0),class:"cursor-pointer"},[(E=(w=r.userData)==null?void 0:w.user)!=null&&E.avatar?(f.openBlock(),f.createElementBlock("img",{key:0,class:"flex-shrink-0 size-[30px] rounded-full",src:(P=(C=r.userData)==null?void 0:C.user)==null?void 0:P.avatar,alt:"Image Description"},null,8,h9)):(f.openBlock(),f.createElementBlock("div",d9,[f.createVNode(g)]))]),r.isVisible?(f.openBlock(),f.createElementBlock("div",{key:0,onClick:e[3]||(e[3]=f.withModifiers(()=>{},["stop"])),class:"fixed bg-white w-[180px] top-[55px] right-[20px] shadow-xl rounded-xl z-[1]"},[f.createElementVNode("div",p9,[(R=(D=r.userData)==null?void 0:D.user)!=null&&R.avatar?(f.openBlock(),f.createElementBlock("img",{key:0,class:"flex-shrink-0 size-[30px] rounded-full",src:(G=($=r.userData)==null?void 0:$.user)==null?void 0:G.avatar,alt:"Image Description"},null,8,f9)):(f.openBlock(),f.createElementBlock("div",m9,[f.createVNode(g)])),f.createElementVNode("div",null,[f.createElementVNode("p",g9,f.toDisplayString((ce=(ee=r.userData)==null?void 0:ee.user)==null?void 0:ce.username),1)])]),f.createElementVNode("div",y9,[f.createVNode(b,{to:"profile",disabled:!0,class:"p-[8px] block rounded-lg w-full mb-[4px] text-start hover:bg-gray-100 !duration-300"},{default:f.withCtx(()=>e[5]||(e[5]=[f.createTextVNode("Профіль")])),_:1}),f.createElementVNode("button",{onClick:e[2]||(e[2]=(...U)=>a.logout&&a.logout(...U)),class:"p-[8px] block rounded-lg w-full text-start hover:bg-gray-100 !duration-300"}," Вийти ")])])):f.createCommentVNode("",!0)])])])}const b9={components:{navbar:n9,AdminHeader:Ue(o9,[["render",_9]])},data(){return{showMenu:!1}},computed:{isMenu(){return Jr.value||null},header(){var n;return((n=ia.value)==null?void 0:n.header)||"admin-header"}}},x9={class:"admin-wrapper"},v9={class:"flex flex-col w-full"};function w9(n,e,t,i,r,a){const u=f.resolveComponent("navbar"),l=f.resolveComponent("router-view");return f.openBlock(),f.createElementBlock("div",x9,[f.createVNode(u),r.showMenu?(f.openBlock(),f.createElementBlock("div",{key:0,onClick:e[0]||(e[0]=g=>r.showMenu=!1),class:"z-[10] lg:hidden transition duration fixed inset-0 bg-gray-900 bg-opacity-50 dark:bg-opacity-80 dark:bg-neutral-900"})):f.createCommentVNode("",!0),f.createElementVNode("div",v9,[a.isMenu?(f.openBlock(),f.createElementBlock(f.Fragment,{key:0},[(f.openBlock(),f.createBlock(f.resolveDynamicComponent(a.header))),f.createVNode(l)],64)):f.createCommentVNode("",!0)])])}const k9=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(b9,[["render",w9],["__scopeId","data-v-34da2042"]])},Symbol.toStringTag,{value:"Module"})),S9={data(){return{currentSort:""}},props:{data:{type:Object,default:()=>null},activeColumn:{type:String}},computed:{label(){var n,e;return((n=this.data)==null?void 0:n.ua)||((e=this.data)==null?void 0:e.label)||this.data.title||"null"},selectedSortParam(){var n,e;return(e=(n=this.$route)==null?void 0:n.query)==null?void 0:e.sort},getVisibleIcon(){return this.data.format!=="image"&&this.data.format!=="verify"}},watch:{activeColumn(n){n!==this.data.name&&(this.currentSort="")}},methods:{changeCurrentSort(n){switch(n){case"":return"asc";case"asc":return"desc";case"desc":return"";default:return""}},handleClickSortBtn(n){this.$emit("change-active",this.data.name),this.currentSort=this.changeCurrentSort(n);const e=this.$route.query,{sort:t,...i}=e,r=this.currentSort?`${this.data.name}-${this.currentSort}`:"";this.$router.replace({query:{...i,...r&&{sort:r}}})},isValueEqualToSelected(n){return`${this.data.name}-${n}`===this.selectedSortParam}}},E9={scope:"col",class:"text-start px-2 py-1"},C9={class:"flex-shrink-0 size-3.5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},T9={key:0,d:"m7 15 5 5 5-5"},M9={key:1,d:"m7 9 5-5 5 5"},A9={key:1,class:"text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal"};function P9(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("th",E9,[a.getVisibleIcon?(f.openBlock(),f.createElementBlock("button",{key:0,type:"button",class:"text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal flex items-center gap-[6px]",onClick:e[0]||(e[0]=u=>a.handleClickSortBtn(r.currentSort))},[f.createTextVNode(f.toDisplayString(a.label)+" ",1),(f.openBlock(),f.createElementBlock("svg",C9,[r.currentSort==="asc"||r.currentSort===""?(f.openBlock(),f.createElementBlock("path",T9)):f.createCommentVNode("",!0),r.currentSort==="desc"||r.currentSort===""?(f.openBlock(),f.createElementBlock("path",M9)):f.createCommentVNode("",!0)]))])):(f.openBlock(),f.createElementBlock("p",A9,f.toDisplayString(a.label),1))])}const I9=Ue(S9,[["render",P9]]),D9={components:{IconMore:J0,IconDelete:zS,IconEdit:RS},emits:["updateTable"],props:{item:Object,table:String,isForm:null,actions:Array,default:()=>[]},data(){return{formVisible:!1,isDeleteConfirm:!1,formValue:{},top:0,left:0}},computed:{getCustomActions(){return this.actions.filter(n=>typeof n=="object")}},methods:{openConfirm(){this.isDeleteConfirm=!0,document.querySelector("body").click()},async getData(){var n;try{const{data:e}=await ut.get(`/api/table/${this.table}/${(n=this.item)==null?void 0:n.id}`);this.formValue=e}catch(e){console.error(e)}},doSomethingOnCancel(){this.formVisible=!1},async deleteElement(){var n;try{const{data:e}=await ut.get(`/api/table/${this.table}/${(n=this.item)==null?void 0:n.id}`);await ut.delete(`/api/table/${e==null?void 0:e.token}`),await this.$notify({title:"Успішно!",message:"Об`єкт успішно видалeно",type:"success"}),await this.$emit("update-table")}catch{this.$notify({title:"Помилка!",message:"Сталася помилка",type:"error"})}finally{this.isDeleteConfirm=!1}},async customButtonAction(n){var e,t;document.querySelector("body").click(),n!=null&&n.form?(await this.$v3plugin.$form({form:n==null?void 0:n.form,id:(e=this.item)==null?void 0:e.id,api:n==null?void 0:n.api,title:n==null?void 0:n.title}),await this.$emit("update-table")):await this.$v3plugin.$api({confirm:n==null?void 0:n.confirm,api:n==null?void 0:n.api,method:n==null?void 0:n.method,id:(t=this.item)==null?void 0:t.id,isId:(n==null?void 0:n.isId)||!1})}}},O9={class:"hs-dropdown [--placement:bottom-right] inline-flex"},B9={class:"inline-flex items-center justify-center bg-white border rounded-lg shadow-sm size-7 gap-x-2 border-stone-200 text-stone-800 hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50"},N9={class:"flex flex-col items-start"},z9=["onClick"],R9={class:"text-gray-800"},L9={key:1,class:"h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"},V9={class:"p-4"},F9={class:"flex justify-end mt-4 gap-x-3"};function $9(n,e,t,i,r,a){const u=f.resolveComponent("IconMore"),l=f.resolveComponent("IconEdit"),g=f.resolveComponent("router-link"),b=f.resolveComponent("IconDelete"),w=f.resolveComponent("VsPopover"),E=f.resolveComponent("VsDialog");return f.openBlock(),f.createElementBlock(f.Fragment,null,[f.createElementVNode("div",O9,[f.createVNode(w,{trigger:"click",placement:"bottom-left"},{reference:f.withCtx(()=>[f.createElementVNode("button",B9,[f.createVNode(u,{height:"16",width:"16"})])]),default:f.withCtx(()=>{var C,P,D,R,$;return[f.createElementVNode("div",N9,[(C=t.actions)!=null&&C.includes("edit")&&t.isForm?(f.openBlock(),f.createBlock(g,{key:0,to:`/edit?table=${(D=(P=n.$route)==null?void 0:P.params)==null?void 0:D.catchAll}&id=${(R=t.item)==null?void 0:R.id}`,class:"w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"},{default:f.withCtx(()=>[f.createVNode(l,{color:"#000"}),e[4]||(e[4]=f.createTextVNode(" Редагувати "))]),_:1},8,["to"])):f.createCommentVNode("",!0),(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(a.getCustomActions,(G,ee)=>(f.openBlock(),f.createElementBlock("button",{key:ee,onClick:ce=>a.customButtonAction(G),class:"w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"},[f.createVNode(b,{class:"opacity-0"}),f.createElementVNode("span",R9,f.toDisplayString(G==null?void 0:G.label),1)],8,z9))),128)),t.isForm?(f.openBlock(),f.createElementBlock("div",L9)):f.createCommentVNode("",!0),($=t.actions)!=null&&$.includes("del")?(f.openBlock(),f.createElementBlock("button",{key:2,onClick:e[0]||(e[0]=f.withModifiers((...G)=>a.openConfirm&&a.openConfirm(...G),["stop"])),class:"w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"},[f.createVNode(b),e[5]||(e[5]=f.createElementVNode("span",{class:"text-gray-800"},"Видалити",-1))])):f.createCommentVNode("",!0)])]}),_:1})]),f.createVNode(E,{visible:r.isDeleteConfirm,"onUpdate:visible":e[3]||(e[3]=C=>r.isDeleteConfirm=C),size:"small",title:"Ви впевнені?"},{default:f.withCtx(()=>[f.createElementVNode("div",V9,[e[6]||(e[6]=f.createElementVNode("p",{class:"mt-1 text-gray-500 dark:text-neutral-500"}," Ви впевнені, що хочете видалити цей об'єкт? ",-1)),f.createElementVNode("div",F9,[f.createElementVNode("button",{type:"button",class:"inline-flex items-center px-3 py-2 text-sm font-medium text-gray-800 bg-white border border-gray-200 rounded-lg shadow-sm gap-x-2 hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:e[1]||(e[1]=C=>r.isDeleteConfirm=!1)}," Скасувати "),f.createElementVNode("button",{type:"button",class:"inline-flex items-center px-3 py-2 text-sm font-semibold text-white bg-red-500 border border-transparent rounded-lg gap-x-2 hover:bg-red-600 disabled:opacity-50 disabled:pointer-events-none",onClick:e[2]||(e[2]=(...C)=>a.deleteElement&&a.deleteElement(...C))}," Так, я впевнена/ий ")])])]),_:1},8,["visible"])],64)}const j9=Ue(D9,[["render",$9]]),U9={},H9={class:"flex-shrink-0 mt-0.5 size-3.5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function q9(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",H9,e[0]||(e[0]=[f.createElementVNode("path",{d:"m3 16 4 4 4-4"},null,-1),f.createElementVNode("path",{d:"M7 20V4"},null,-1),f.createElementVNode("path",{d:"m21 8-4-4-4 4"},null,-1),f.createElementVNode("path",{d:"M17 4v16"},null,-1)]))}const W9=Ue(U9,[["render",q9]]),G9={},Z9={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-rosette-discount-check"};function Y9(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",Z9,e[0]||(e[0]=[f.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),f.createElementVNode("path",{d:"M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1"},null,-1),f.createElementVNode("path",{d:"M9 12l2 2l4 -4"},null,-1)]))}const X9={components:{IconExport:W9,IconChevronDown:i_,IconSuccess:Ue(G9,[["render",Y9]])},props:{table:String,columns:Array,page:[String,Number],filterCustom:String,filterState:String,filters:String},data(){return{isOpen:!1,tableFormats:["json","csv","xlsx"],format:"",cols:[],activeAction:"",isSuccessTemplate:!1,actions:[{name:"choceAll",function:this.choceAll,label:"Вибрати усі"},{name:"choceVisible",function:this.choceVisible,label:"Вибрати поточні"},{name:"clearAll",function:this.clearAll,label:"Жодного"}]}},watch:{isOpen(n){n||(this.format="",this.cols=[],this.activeAction="",this.isSuccessTemplate=!1)}},methods:{async exportTable(){var n;if(!((n=this.cols)!=null&&n.length)){this.$notify({type:"error",title:"Помилка",message:"Оберіть колонки для експорту!"});return}if(!this.format){this.$notify({type:"error",title:"Помилка",message:"Оберіть формат!"});return}try{const e=await ut.get("/api/export",{params:{table:this.table,format:this.format,cols:this.cols.join(","),page:this.page,filter:this.filters||null,state:this.filterState||null,custom:this.filterCustom||null},responseType:"blob"}),t=await e.data.text(),i=t!=null&&t.includes(";")?null:JSON==null?void 0:JSON.parse(t),r=new Blob([e.data],{type:"application/octet-stream"}),a=window.URL.createObjectURL(r),u=document.createElement("a");if(u.href=a,u.setAttribute("download",`${this.table.split(".")[0]}.${this.format}`),document.body.appendChild(u),typeof i=="string"){this.exportTable();return}u.click(),document.body.removeChild(u),window.URL.revokeObjectURL(a),this.$notify({type:"success",title:"Експорт",message:"Файл успішно експортовано!"}),this.isSuccessTemplate=!0}catch(e){console.log(e),this.$notify({type:"error",title:"Помилка",message:"Не вдалося експортувати файл."})}},selectFormat(n){this.format=n},choceAll(){var n;this.cols=(n=this.columns)==null?void 0:n.map(e=>e==null?void 0:e.name),this.activeAction="choceAll"},clearAll(){this.cols=[],this.activeAction="clearAll"},choceVisible(){var n,e;this.cols=(e=(n=this.columns)==null?void 0:n.filter(t=>(t==null?void 0:t.hidden)!==!0))==null?void 0:e.map(t=>t==null?void 0:t.name),this.activeAction="choceVisible"}}},K9={key:0,class:"flex flex-col items-center"},J9={key:1,class:"p-4"},Q9={class:"pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700"},eH={class:"flex items-center"},tH={class:"flex items-center gap-[10px] ml-auto"},nH=["onClick"],iH={key:0,class:"block h-[8px] w-[8px] rounded-full bg-blue-500"},rH={class:"mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]"},sH={class:"pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700"},oH={class:"mt-2 space-y-2"},aH=["id","onChange"],lH=["for"],cH={key:0,class:"flex w-full justify-end p-[20px] gap-[6px] border-t"},uH={key:1,class:"flex w-full justify-end p-[20px] gap-[6px] border-t"};function hH(n,e,t,i,r,a){const u=f.resolveComponent("IconExport"),l=f.resolveComponent("IconChevronDown"),g=f.resolveComponent("IconSuccess"),b=f.resolveComponent("VsCheckbox"),w=f.resolveComponent("VsDialog");return f.openBlock(),f.createElementBlock(f.Fragment,null,[f.createElementVNode("button",{onClick:e[0]||(e[0]=E=>r.isOpen=!0),class:"py-2 px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[f.createVNode(u,{height:"16",width:"16"}),e[7]||(e[7]=f.createTextVNode(" Експорт ")),f.createVNode(l,{height:"12",width:"16"})]),f.createVNode(w,{visible:r.isOpen,"onUpdate:visible":e[6]||(e[6]=E=>r.isOpen=E),title:"Експорт таблиці",size:"small",closeClickBack:!0},{footer:f.withCtx(()=>[r.isSuccessTemplate?(f.openBlock(),f.createElementBlock("div",cH,[f.createElementVNode("button",{type:"button",class:"inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border border-gray-200 rounded-lg shadow-sm text-nowrap text-start hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:e[2]||(e[2]=E=>r.isOpen=!1)}," Закрити "),f.createElementVNode("button",{type:"button",class:"inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-blue-600 border border-blue-600 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-blue-300 dark:focus:ring-blue-500",onClick:e[3]||(e[3]=E=>r.isSuccessTemplate=!1)}," Вигрузити ще ")])):(f.openBlock(),f.createElementBlock("div",uH,[f.createElementVNode("button",{type:"button",class:"inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border border-gray-200 rounded-lg shadow-sm text-nowrap text-start hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:e[4]||(e[4]=E=>r.isOpen=!1)}," Скасувати "),f.createElementVNode("button",{type:"button",class:"inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-blue-600 border border-blue-600 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-blue-300 dark:focus:ring-blue-500",onClick:e[5]||(e[5]=(...E)=>a.exportTable&&a.exportTable(...E))}," Завантажити таблицю ")]))]),default:f.withCtx(()=>[r.isSuccessTemplate?(f.openBlock(),f.createElementBlock("div",K9,[f.createVNode(g,{height:"100",width:"100",class:"text-green-200 mb-[20px]"}),e[8]||(e[8]=f.createElementVNode("h2",null,"Звіт сформовано і збережено",-1))])):(f.openBlock(),f.createElementBlock("div",J9,[f.createElementVNode("div",Q9,[f.createElementVNode("div",eH,[e[9]||(e[9]=f.createElementVNode("h2",{class:"text-sm text-gray-500"}," Виберіть стовпці таблиці для експорту: ",-1)),f.createElementVNode("div",tH,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(r.actions,E=>(f.openBlock(),f.createElementBlock("button",{key:E==null?void 0:E.name,onClick:E==null?void 0:E.function,class:"inline-flex items-center gap-[8px] justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border-gray-200 text-nowrap text-start"},[f.createElementVNode("span",{class:f.normalizeClass(["h-[14px] w-[14px] border rounded-full flex items-center justify-center",{"border-blue-500":(E==null?void 0:E.name)===r.activeAction}])},[(E==null?void 0:E.name)===r.activeAction?(f.openBlock(),f.createElementBlock("span",iH)):f.createCommentVNode("",!0)],2),f.createTextVNode(" "+f.toDisplayString(E==null?void 0:E.label),1)],8,nH))),128))])]),f.createElementVNode("div",rH,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.columns,(E,C)=>(f.openBlock(),f.createElementBlock("div",{class:"flex items-center",key:C,style:{width:"calc((100% - 10px) / 2)"}},[f.createVNode(b,{class:"[&>label]:text-sm [&>label]:text-gray-800 [&>label]:ms-3 !gap-x-[1px] !p-0",modelValue:r.cols,"onUpdate:modelValue":e[1]||(e[1]=P=>r.cols=P),value:E==null?void 0:E.name,label:E==null?void 0:E.ua},null,8,["modelValue","value","label"])]))),128))])]),f.createElementVNode("div",sH,[e[10]||(e[10]=f.createElementVNode("h2",{class:"text-sm text-gray-500"},"Виберіть формат таблиці:",-1)),f.createElementVNode("div",oH,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(r.tableFormats,(E,C)=>(f.openBlock(),f.createElementBlock("div",{class:"flex items-center",key:C},[f.createElementVNode("input",{type:"radio",name:"hs-pro-duecmfm",class:"text-blue-600 border-gray-300 rounded-full shrink-0 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-500 dark:checked:bg-blue-500 dark:checked:border-blue-500 dark:focus:ring-offset-gray-800",id:E,onChange:P=>a.selectFormat(E)},null,40,aH),f.createElementVNode("label",{for:E,class:"text-sm text-gray-800 ms-3 dark:text-neutral-400"}," Формат "+f.toDisplayString(E),9,lH)]))),128))])])]))]),_:1},8,["visible"])],64)}const dH=Ue(X9,[["render",hH]]),pH={},fH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-columns"};function mH(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",fH,e[0]||(e[0]=[f.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l5.5 0"></path><path d="M4 10l5.5 0"></path><path d="M4 14l5.5 0"></path><path d="M4 18l5.5 0"></path><path d="M14.5 6l5.5 0"></path><path d="M14.5 10l5.5 0"></path><path d="M14.5 14l5.5 0"></path><path d="M14.5 18l5.5 0"></path>',9)]))}const gH=Ue(pH,[["render",mH]]),yH={props:{column:Object},emits:["update-column"],data(){return{value:!1}},watch:{value(n){this.$emit("update-column",{...this.column,hidden:!n})}},mounted(){var n;((n=this.column)==null?void 0:n.hidden)!==!0&&(this.value=!0)}},_H={class:"flex w-full gap-[8px] items-centr"};function bH(n,e,t,i,r,a){var u,l;return f.openBlock(),f.createElementBlock("label",_H,[f.withDirectives(f.createElementVNode("input",{"onUpdate:modelValue":e[0]||(e[0]=g=>r.value=g),type:"checkbox"},null,512),[[f.vModelCheckbox,r.value]]),f.createTextVNode(" "+f.toDisplayString(((u=t.column)==null?void 0:u.ua)||((l=t.column)==null?void 0:l.title)),1)])}const xH={components:{IconColumns:gH,AdminTableColumnsHiddenItem:Ue(yH,[["render",bH]])},emits:["update-columns"],props:{columns:Array},methods:{updateColumn(n){const e=this.columns.findIndex(i=>(i==null?void 0:i.name)===(n==null?void 0:n.name)),t=this.columns;t[e]=n,this.$emit("update-columns",[...t])}}},vH={class:"py-2 px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},wH={class:"py-[10px] px-[10px] w-[260px]"},kH={class:"flex flex-col gap-[3px] max-h-[400px] w-full overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"};function SH(n,e,t,i,r,a){const u=f.resolveComponent("IconColumns"),l=f.resolveComponent("AdminTableColumnsHiddenItem"),g=f.resolveComponent("VsPopover");return f.openBlock(),f.createBlock(g,{trigger:"click",placement:"bottom"},{reference:f.withCtx(()=>[f.createElementVNode("button",vH,[f.createVNode(u,{height:"20",width:"16"})])]),default:f.withCtx(()=>[f.createElementVNode("div",wH,[e[0]||(e[0]=f.createElementVNode("h2",{class:"text-sm mb-[8px]"},"Оберіть колонки, щоб приховати",-1)),f.createElementVNode("ul",kH,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.columns,(b,w)=>(f.openBlock(),f.createElementBlock("li",{key:w},[f.createVNode(l,{column:b,onUpdateColumn:a.updateColumn},null,8,["column","onUpdateColumn"])]))),128))])])]),_:1})}const EH=Ue(xH,[["render",SH]]),CH={},TH={class:"hidden sm:block shrink-0 size-3",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 16 16"};function MH(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",TH,e[0]||(e[0]=[f.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8 1C8.55228 1 9 1.44772 9 2V7L14 7C14.5523 7 15 7.44771 15 8C15 8.55228 14.5523 9 14 9L9 9V14C9 14.5523 8.55228 15 8 15C7.44772 15 7 14.5523 7 14V9.00001L2 9.00001C1.44772 9.00001 1 8.5523 1 8.00001C0.999999 7.44773 1.44771 7.00001 2 7.00001L7 7.00001V2C7 1.44772 7.44772 1 8 1Z"},null,-1)]))}const a_=Ue(CH,[["render",MH]]),AH={props:{row:Object,column:Object,table:String}};function PH(n,e,t,i,r,a){var u,l,g,b,w,E,C,P;return f.openBlock(),f.createBlock(f.resolveDynamicComponent(((u=t.column)==null?void 0:u.format)==="custom"?(l=t.column)==null?void 0:l.component:`table-format-${((b=(g=t.column)==null?void 0:g.format)==null?void 0:b.toLowerCase())||"text"}`),{onUpdateTable:e[0]||(e[0]=D=>n.$emit("update-table")),name:(w=t.column)==null?void 0:w.name,data:t.row,value:(C=t.row)==null?void 0:C[(E=t.column)==null?void 0:E.name],table:t.table,column:t.column,edit:(P=t.column)==null?void 0:P.edit},null,40,["name","data","value","table","column","edit"])}const HS=Ue(AH,[["render",PH]]),IH={},DH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus"};function OH(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",DH,e[0]||(e[0]=[f.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),f.createElementVNode("path",{d:"M5 12l14 0"},null,-1)]))}const BH={components:{IconPlus:a_,IconMinus:Ue(IH,[["render",OH]])},props:{title:String,defaultValue:{type:Boolean,default:()=>!1}},data(){return{expanded:this.defaultValue}}},NH={class:"hs-accordion"},zH={class:"py-0.5 flex items-center gap-x-0.5 w-full"},RH={class:"text-sm font-medium"},LH={class:"relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b"};function VH(n,e,t,i,r,a){const u=f.resolveComponent("IconPlus"),l=f.resolveComponent("IconMinus");return f.openBlock(),f.createElementBlock("div",null,[f.createElementVNode("div",null,[f.createElementVNode("div",NH,[f.createElementVNode("div",zH,[f.createElementVNode("div",{onClick:e[0]||(e[0]=g=>r.expanded=!r.expanded),class:"rounded-md cursor-pointer grow"},[f.createElementVNode("span",RH,f.toDisplayString(t.title),1)]),f.createElementVNode("button",{class:"flex items-center justify-center rounded-md size-6 hover:bg-gray-100",onClick:e[1]||(e[1]=g=>r.expanded=!r.expanded)},[r.expanded?(f.openBlock(),f.createBlock(l,{key:1,width:"14"})):(f.openBlock(),f.createBlock(u,{key:0}))])]),f.createVNode(f.Transition,{name:"fade"},{default:f.withCtx(()=>[f.withDirectives(f.createElementVNode("div",LH,[f.renderSlot(n.$slots,"default",{},void 0,!0)],512),[[f.vShow,r.expanded]])]),_:3})])])])}const FH={components:{AdminComponentIs:HS,AdminTree:Ue(BH,[["render",VH],["__scopeId","data-v-c6318482"]]),VsNoData:$S,VsWidgetComments:BS,VsWidgetMap:sy,VsWidgetFileList:Kv},props:{table:String,columns:Array,row:Object}},$H={class:"hs-accordion border-gray-100 w-[360px] shrink-0 overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500",style:{height:"calc(100vh - 310px)"}},jH={class:"border-l",style:{height:"calc(100vh - 360px)"}},UH={class:"flex items-center justify-between py-1 gap-x-4"},HH={class:"col-span-1"},qH={class:"inline-flex items-center gap-x-2 text-[13px] text-gray-500 dark:text-neutral-500"},WH={class:"col-span-2"},GH={class:"font-medium text-[13px] text-gray-800 dark:text-neutral-200"},ZH={class:"table-info-card"},YH={class:"table-info-card"};function XH(n,e,t,i,r,a){var C,P,D;const u=f.resolveComponent("AdminComponentIs"),l=f.resolveComponent("AdminTree"),g=f.resolveComponent("VsWidgetMap"),b=f.resolveComponent("VsNoData"),w=f.resolveComponent("VsWidgetComments"),E=f.resolveComponent("VsWidgetFileList");return f.openBlock(),f.createElementBlock("div",$H,[e[0]||(e[0]=f.createElementVNode("div",{class:"p-[10px] pl-[18px] pb-[18px] border-b"},[f.createElementVNode("h2",{class:"text-sm font-medium"},"Інформація про об'єкт")],-1)),f.createElementVNode("div",jH,[(P=(C=n.$route)==null?void 0:C.query)!=null&&P.card?(f.openBlock(),f.createElementBlock(f.Fragment,{key:0},[t.row?(f.openBlock(),f.createBlock(l,{key:0,defaultValue:!0,title:"Основна інформація",class:"border-b p-[10px] py-[16px]"},{default:f.withCtx(()=>[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.columns,R=>(f.openBlock(),f.createElementBlock("dl",UH,[f.createElementVNode("dt",HH,[f.createElementVNode("p",qH,f.toDisplayString((R==null?void 0:R.ua)||(R==null?void 0:R.title))+": ",1)]),f.createElementVNode("dd",WH,[f.createElementVNode("p",GH,[f.createVNode(u,{row:t.row,column:R,table:t.table},null,8,["row","column","table"])])])]))),256))]),_:1})):f.createCommentVNode("",!0),(D=t.row)!=null&&D.geom?(f.openBlock(),f.createBlock(l,{key:1,title:"Карта",class:"border-b p-[10px] py-[16px]"},{default:f.withCtx(()=>{var R,$;return[(R=t.row)!=null&&R.geom?(f.openBlock(),f.createBlock(g,{key:0,geometry:($=t.row)==null?void 0:$.geom,zoom:14},null,8,["geometry"])):(f.openBlock(),f.createBlock(b,{key:1,title:"У об'єкта відсутня геометрія",text:"",class:"[&>div]:h-[200px] [&>div]:min-h-[400px] h-[400px]"}))]}),_:1})):f.createCommentVNode("",!0),f.createVNode(l,{title:"Коментарі",class:"border-b p-[10px] py-[16px]"},{default:f.withCtx(()=>{var R;return[f.createElementVNode("div",ZH,[f.createVNode(w,{id:(R=t.row)==null?void 0:R.id},null,8,["id"])])]}),_:1}),f.createVNode(l,{title:"Файли",class:"border-b p-[10px] py-[16px]"},{default:f.withCtx(()=>{var R;return[f.createElementVNode("div",YH,[f.createVNode(E,{id:(R=t.row)==null?void 0:R.id},null,8,["id"])])]}),_:1})],64)):(f.openBlock(),f.createBlock(b,{key:1,text:"Оберіть один з об'єктів в таблиці для відображення інформаціі про нього"}))])])}const KH=Ue(FH,[["render",XH]]),JH={},QH={class:"size-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function eq(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",QH,e[0]||(e[0]=[f.createElementVNode("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"},null,-1),f.createElementVNode("path",{d:"M15 3v18"},null,-1),f.createElementVNode("path",{d:"m8 9 3 3-3 3"},null,-1)]))}const tq=Ue(JH,[["render",eq]]),nq={},iq={class:"h21yx vs0hq",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function rq(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",iq,e[0]||(e[0]=[f.createStaticVNode('<line x1="21" x2="14" y1="4" y2="4"></line><line x1="10" x2="3" y1="4" y2="4"></line><line x1="21" x2="12" y1="12" y2="12"></line><line x1="8" x2="3" y1="12" y2="12"></line><line x1="21" x2="16" y1="20" y2="20"></line><line x1="12" x2="3" y1="20" y2="20"></line><line x1="14" x2="14" y1="2" y2="6"></line><line x1="8" x2="8" y1="10" y2="14"></line><line x1="16" x2="16" y1="18" y2="22"></line>',9)]))}const sq={emits:["filterChange"],props:{scheme:{type:Object},onFilters:{type:Number}},components:{IconFilter:Ue(nq,[["render",rq]])},data(){return{isFilters:!1}},methods:{closeFilter({target:n}){this.isFilters&&n.classList.contains("filter-container")&&(this.isFilters=!1)}}},oq={key:0,class:"font-medium text-[10px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full dark:bg-neutral-500"},aq={class:"filter-content h-screen bg-white w-[400px] p-[20px] pt-[10px] overflow-x-auto bg-white [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"};function lq(n,e,t,i,r,a){const u=f.resolveComponent("IconFilter"),l=f.resolveComponent("VsFilter");return f.openBlock(),f.createElementBlock(f.Fragment,null,[f.createElementVNode("button",{onClick:e[0]||(e[0]=g=>r.isFilters=!r.isFilters),class:"py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[f.createVNode(u,{height:"16",width:"16"}),e[4]||(e[4]=f.createTextVNode(" Фільтри ")),t.onFilters?(f.openBlock(),f.createElementBlock("span",oq,f.toDisplayString(t.onFilters),1)):f.createCommentVNode("",!0)]),f.createVNode(f.Transition,{name:"fade"},{default:f.withCtx(()=>{var g;return[f.withDirectives(f.createElementVNode("div",{onClick:e[3]||(e[3]=(...b)=>a.closeFilter&&a.closeFilter(...b)),style:{height:"100vh"},class:"fixed filter-container top-0 flex justify-end items-center z-[2] right-0 left-0 bottom-0 bg-[rgba(0,0,0,0.5)]"},[f.createElementVNode("div",aq,[(g=t.scheme)!=null&&g.length?(f.openBlock(),f.createBlock(l,{key:0,ref:"filter",scheme:t.scheme,layout:"default","apply-vue-router":"",history:"",name:"filter",onFilterChange:e[1]||(e[1]=b=>n.$emit("filterChange",b)),closeFilterBtn:!0,onFilterClose:e[2]||(e[2]=b=>r.isFilters=!1)},null,8,["scheme"])):f.createCommentVNode("",!0)])],512),[[f.vShow,r.isFilters]])]}),_:1})],64)}const cq=Ue(sq,[["render",lq]]),uq={props:{tabsList:{type:Array,default:()=>[]},filterState:String}},hq={class:"relative flex space-x-1 mb-[20px] after:absolute after:w-[99%] after:bottom-0 after:inset-x-0 after:border-b-2 after:border-gray-200 dark:after:border-neutral-700","aria-label":"Tabs",role:"tablist","aria-orientation":"horizontal"},dq=["onClick"];function pq(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("nav",hq,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.tabsList,u=>(f.openBlock(),f.createElementBlock("button",{onClick:l=>n.$emit("update:filterState",u==null?void 0:u.name),class:f.normalizeClass(["hs-tab-active:after:bg-gray-800 hs-tab-active:text-gray-800 px-2.5 py-1.5 mb-2 relative inline-flex justify-center items-center gap-x-2 hover:bg-gray-100 text-gray-500 hover:text-gray-800 text-sm rounded-lg disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 after:absolute after:-bottom-2 after:inset-x-0 after:z-10 after:h-0.5 after:pointer-events-none dark:hs-tab-active:text-neutral-200 dark:hs-tab-active:after:bg-neutral-400 dark:text-neutral-500 dark:hover:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 active",{" font-semibold after:absolute after:bottom-[-8px] after:left-2.5 after:right-2.5 after:z-10 after:h-0.5 after:bg-gray-800":(u==null?void 0:u.name)===t.filterState}])},f.toDisplayString(u==null?void 0:u.label),11,dq))),256))])}const fq=Ue(uq,[["render",pq]]),mq={},gq={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-filter"};function yq(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",gq,e[0]||(e[0]=[f.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),f.createElementVNode("path",{d:"M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z"},null,-1)]))}const _q={components:{IconFilter2:Ue(mq,[["render",yq]])},props:{filterCustom:String,customList:Array}},bq={class:"py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},xq={class:"flex flex-col gap-[4px]"},vq=["onClick"];function wq(n,e,t,i,r,a){const u=f.resolveComponent("IconFilter2"),l=f.resolveComponent("VsPopover");return f.openBlock(),f.createBlock(l,{ref:"popover",placement:"bottom"},{reference:f.withCtx(()=>[f.createElementVNode("button",bq,[f.createVNode(u,{height:"20",width:"20"})])]),default:f.withCtx(()=>[f.createElementVNode("div",xq,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.customList,(g,b)=>(f.openBlock(),f.createElementBlock("button",{onClick:w=>{var E;n.$emit("update:filterCustom",g==null?void 0:g.name),(E=n.$refs)==null||E.popover.togglePopover()},key:b,class:f.normalizeClass(["p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300",{"bg-gray-100":t.filterCustom===(g==null?void 0:g.name)}])},f.toDisplayString(g==null?void 0:g.label),11,vq))),128)),f.createElementVNode("button",{class:"p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300",onClick:e[0]||(e[0]=g=>{var b;n.$emit("update:filterCustom",void 0),(b=n.$refs)==null||b.popover.togglePopover()})}," Скинути фільтри ")])]),_:1},512)}const kq=Ue(_q,[["render",wq]]),Sq={class:"flex items-center gap-x-2"},Eq={props:{table:String,title:String},components:{AdminTableControl:j9,AdminTableExport:dH,AdminTableColumnsHidden:EH,AdminTableColumn:I9,AdminNodata:e_,IconPlus:a_,IconSearch:n_,AdminTableCardInfo:KH,IconOpenCard:tq,AdminComponentIs:HS,AdminTableFilters:cq,AdminTableTabs:fq,AdminTableCustomFilters:kq,AdminTableCustomButtons:{__name:"admin-table-custom-buttons",props:{slots:Object},setup(n){var l,g,b,w,E;const{asyncTemplateSlot:e}=(E=(w=(b=(g=(l=f.getCurrentInstance())==null?void 0:l.appContext)==null?void 0:g.app)==null?void 0:b.config)==null?void 0:w.globalProperties)==null?void 0:E.utils,t=f.ref(""),i=f.ref(""),r=n,a=()=>{var C,P,D,R,$;if((C=r.slots)!=null&&C.panelLeft||(i.value="div"),(D=(P=r.slots)==null?void 0:P.panelLeft)!=null&&D.includes("<")){const G=e("PanelLeft",(R=r.slots)==null?void 0:R.panelLeft,["name"]);i.value=G}else i.value=($=r.slots)==null?void 0:$.panelLeft},u=()=>{var C,P,D,R,$;if((C=r.slots)!=null&&C.panelRight||(t.value="div"),(D=(P=r.slots)==null?void 0:P.panelRight)!=null&&D.includes("<")){const G=e("PanelRight",(R=r.slots)==null?void 0:R.panelRight,["name"]);t.value=G}else t.value=($=r.slots)==null?void 0:$.panelRight};return a(),u(),(C,P)=>(f.openBlock(),f.createElementBlock("div",Sq,[(f.openBlock(),f.createBlock(f.resolveDynamicComponent(i.value))),(f.openBlock(),f.createBlock(f.resolveDynamicComponent(t.value)))]))}},AdminCustomButtonAdd:{__name:"admin-custom-button-add",props:{slots:Object},setup(n){var a,u,l,g,b;const{asyncTemplateSlot:e}=(b=(g=(l=(u=(a=f.getCurrentInstance())==null?void 0:a.appContext)==null?void 0:u.app)==null?void 0:l.config)==null?void 0:g.globalProperties)==null?void 0:b.utils,t=f.ref(""),i=n;return(()=>{var w,E,C,P,D;if((w=i.slots)!=null&&w.addButton||(t.value="div"),(C=(E=i.slots)==null?void 0:E.addButton)!=null&&C.includes("<")){const R=e("addButton",(P=i.slots)==null?void 0:P.addButton,["IconPlus"]);t.value=R}else t.value=(D=i.slots)==null?void 0:D.addButton})(),(w,E)=>t.value?(f.openBlock(),f.createBlock(f.resolveDynamicComponent(t.value),{key:0,IconPlus:a_})):f.createCommentVNode("",!0)}}},data(){return{tableData:{},filterScheme:[],page:1,searchValue:"",limit:0,filters:null,activeColumn:"",isVisibleCardInfo:!1,onFilters:0,filterState:null,filterCustom:null,visibleColumns:[],initialHiddenColumns:""}},async mounted(){await this.checkUrlMounted(),await this.getTableData(),await this.getFilters()},computed:{defaultPage(){var n,e;return((e=(n=this.$route)==null?void 0:n.query)==null?void 0:e.page)||1},columns(){var n,e;return(e=(n=this.tableData)==null?void 0:n.columns)==null?void 0:e.filter(t=>(t==null?void 0:t.hidden)!==!0)},isForm(){var n,e,t;return((n=this.tableData)==null?void 0:n.form)&&((t=(e=this.tableData)==null?void 0:e.actions)==null?void 0:t.includes("add"))},isNoData(){var n,e;return!((n=this.tableData)!=null&&n.rows)||!((e=this.columns)!=null&&e.length)},activeCardRow(){var n,e;return((e=(n=this.tableData)==null?void 0:n.rows)==null?void 0:e.find(t=>{var i,r;return(t==null?void 0:t.id)===((r=(i=this.$route)==null?void 0:i.query)==null?void 0:r.card)}))||{}},getActions(){var n;return(n=this.tableData)==null?void 0:n.actions}},watch:{async table(){this.tableData=null,await this.getTableData()},searchValue:{handler:((n,e=300)=>{let t;return function(...i){clearTimeout(t),t=setTimeout(()=>{n.apply(this,i)},e)}})(async function(n){var e;await this.getTableData(),this.$router.push({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,search:n||void 0}})},500)},$route:{handler(n,e){var t,i;((t=n==null?void 0:n.params)==null?void 0:t.catchAll)!==((i=e==null?void 0:e.params)==null?void 0:i.catchAll)&&(this.visibleColumns=[],this.unmountedData(),this.getFilters())},deep:!0},limit(n){var e;this.$router.replace({query:{...(e=this.$route)==null?void 0:e.query,limit:n}})},filterState(n){var e;n&&(this.$router.replace({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,filterState:n}}),this.getTableData())},filterCustom(n){var e;this.$router.replace({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,custom:n}}),this.getTableData()},columns(n){var e,t,i,r;this.visibleColumns=n==null?void 0:n.map(a=>a==null?void 0:a.name),this.initialHiddenColumns===((e=this.visibleColumns)==null?void 0:e.join(","))&&(this.visibleColumns=[]),this.$router.replace({...this.$route,query:{...(t=this.$route)==null?void 0:t.query,columns:(i=this.visibleColumns)!=null&&i.length?(r=this.visibleColumns)==null?void 0:r.join(","):void 0}})}},methods:{async checkUrlMounted(){var n,e,t,i,r,a,u,l,g,b,w,E,C,P,D,R,$;this.page=((e=(n=this.$route)==null?void 0:n.query)==null?void 0:e.page)||1,this.limit=((i=(t=this.$route)==null?void 0:t.query)==null?void 0:i.limit)||20,this.filters=((u=decodeURI((a=(r=this.$route)==null?void 0:r.query)==null?void 0:a.filter))==null?void 0:u.replaceAll("+"," "))||null,this.filterState=((g=(l=this.$route)==null?void 0:l.query)==null?void 0:g.filterState)||null,this.filterCustom=((w=(b=this.$route)==null?void 0:b.query)==null?void 0:w.custom)||null,this.searchValue=((C=(E=this.$route)==null?void 0:E.query)==null?void 0:C.search)||"",this.visibleColumns=((R=(D=(P=this.$route)==null?void 0:P.query)==null?void 0:D.columns)==null?void 0:R.split(","))||[],($=this.$route)!=null&&$.query.card&&(this.isVisibleCardInfo=!0)},rowWidth(n){var t,i;const e=(i=(t=this.tableData)==null?void 0:t.columns)==null?void 0:i.find(r=>r.name===n);if(e){const r=e==null?void 0:e.width;return typeof r=="number"?`${r}px`:r!=null&&r.includes("px")?r:`${r}px`}},unmountedData(){this.page=1,this.visibleColumns=[],this.filterCustom=null,this.filterState=null,this.isVisibleCardInfo=!1,this.filterScheme=null,this.filters=null,this.onFilters=0,this.searchValue=""},async getTableData(){var n,e,t,i,r,a,u,l,g,b,w;try{const{data:E}=await ut.get(`/api/template/table/${this.table}`),C=await ut.get(`/api/table-data/${this.table}`,{params:{page:this.page,search:this.searchValue||null,limit:this.limit,filter:this.filters||null,order:((e=(n=this.$route)==null?void 0:n.query)==null?void 0:e.sort)||null,state:this.filterState||null,custom:this.filterCustom||null}});this.tableData={...E,...(C==null?void 0:C.data)||{}},this.initialHiddenColumns=(a=(r=(i=(t=this.tableData)==null?void 0:t.columns)==null?void 0:i.filter(P=>(P==null?void 0:P.hidden)!==!0))==null?void 0:r.map(P=>P==null?void 0:P.name))==null?void 0:a.join(","),(u=this.visibleColumns)!=null&&u.length?(l=this.tableData)==null||l.columns.forEach(P=>{var D;(D=this.visibleColumns)!=null&&D.includes(P==null?void 0:P.name)?P.hidden=!1:P.hidden=!0}):this.visibleColumns=(w=(b=(g=this.tableData)==null?void 0:g.columns)==null?void 0:b.filter(P=>(P==null?void 0:P.hidden)!==!0))==null?void 0:w.map(P=>P==null?void 0:P.name)}catch{}},async getFilters(){var n;try{const{data:e}=await ut.get(`/api/table-filter/${this.table}`);this.filterScheme=(n=e==null?void 0:e.list)==null?void 0:n.map(t=>({...t,label:(t==null?void 0:t.label)||(t==null?void 0:t.ua)}))}catch{}},async handlePageChange(n){const e=this.$route.query;this.page=n,!(!(e!=null&&e.page)&&n===1||e.page===n)&&(await this.$router.replace({query:{...e,page:n}}),await this.getTableData())},async changeLimit(n){this.limit=await n,this.defaultPage=1,await this.getTableData()},async filterChange({url:n,state:e}){var t;this.filters=n!=="no-url"?n:null,this.onFilters=(t=Object.entries(e))==null?void 0:t.length,this.page=1,await this.getTableData()},changeActiveColumn(n){this.activeColumn=n,this.getTableData()},pushToCard(n){var e;((e=this.tableData)==null?void 0:e.card)===!1||this.$router.push(`/card/${this.table}/${n}`)},changeActiveCardInfo(n){var e;this.isVisibleCardInfo&&this.$router.push({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,card:n}})},toggleCardInfo(){var n;this.isVisibleCardInfo=!this.isVisibleCardInfo,this.isVisibleCardInfo||this.$router.push({...this.$route,query:{...(n=this.$route)==null?void 0:n.query,card:void 0}})}}},Cq={class:"w-[calc(100vw - 320px)] bg-gray-50"},Tq={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl"},Mq={class:"text-xl font-medium"},Aq={style:{height:"calc(100vh - 155px)"},class:"bg-gray-50 p-[20px] flex pt-[10px] lg:w-[calc(100vw-260px)] w-[100vw]"},Pq={class:"bg-white w-full rounded-xl border p-[20px] pr-0"},Iq={class:"flex"},Dq={class:"flex gap-[6px] ml-auto"},Oq={class:"inline-block w-full align-middle"},Bq={key:0,class:"relative min-w-full divide-y divide-gray-200 table-fixed w-max dark:divide-neutral-700"},Nq={class:"sticky top-[-1px] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200"},zq={class:"right-0 border-t border-stone-200"},Rq={key:0,class:"w-[70px] sticky right-0 top-0"},Lq={class:"divide-y divide-gray-200"},Vq={class:"px-4 py-3 text-sm text-gray-600"},Fq=["onClick"],$q=["onClick"],jq={class:"p-[20px] flex justify-start items-center w-full"},Uq={class:"w-[200px] md:inline-flex hidden"},Hq={class:"text-sm text-gray-600 dark:text-neutral-400"},qq={class:"font-semibold text-gray-800 dark:text-neutral-200"},Wq={key:0},Gq={key:0,class:"font-semibold text-gray-800 dark:text-neutral-200"};function Zq(n,e,t,i,r,a){var Fe,Be,pt,tt,Nt,rt,Mt,Rt,Ft,zt,Ht,yn,dn,wn,pn,ti,zn,In,Rn,Ee,je,Ye,ot,Lt,Qt,At;const u=f.resolveComponent("AdminCustomButtonAdd"),l=f.resolveComponent("IconPlus"),g=f.resolveComponent("router-link"),b=f.resolveComponent("AdminTableTabs"),w=f.resolveComponent("IconSearch"),E=f.resolveComponent("VsText"),C=f.resolveComponent("AdminTableCustomButtons"),P=f.resolveComponent("AdminTableCustomFilters"),D=f.resolveComponent("AdminTableColumnsHidden"),R=f.resolveComponent("AdminTableExport"),$=f.resolveComponent("AdminTableFilters"),G=f.resolveComponent("IconOpenCard"),ee=f.resolveComponent("AdminTableColumn"),ce=f.resolveComponent("AdminComponentIs"),U=f.resolveComponent("AdminTableControl"),Me=f.resolveComponent("AdminNodata"),ke=f.resolveComponent("VsPagination"),Pe=f.resolveComponent("AdminTableCardInfo");return f.openBlock(),f.createElementBlock("div",Cq,[f.createElementVNode("div",Tq,[f.createElementVNode("h2",Mq,f.toDisplayString(t.title),1),a.isForm?(f.openBlock(),f.createElementBlock(f.Fragment,{key:0},[(Be=(Fe=r.tableData)==null?void 0:Fe.slots)!=null&&Be.addButton?(f.openBlock(),f.createBlock(u,{key:0,slots:(pt=r.tableData)==null?void 0:pt.slots},null,8,["slots"])):(f.openBlock(),f.createBlock(g,{key:1,to:`/add?table=${(Nt=(tt=n.$route)==null?void 0:tt.params)==null?void 0:Nt.catchAll}`,class:"inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"},{default:f.withCtx(()=>[f.createVNode(l,{height:"16",width:"16"}),e[5]||(e[5]=f.createTextVNode(" Додати "))]),_:1},8,["to"]))],64)):f.createCommentVNode("",!0)]),f.createElementVNode("div",Aq,[f.createElementVNode("div",Pq,[(Mt=(rt=r.tableData)==null?void 0:rt.filterState)!=null&&Mt.length?(f.openBlock(),f.createBlock(b,{key:0,tabsList:(Rt=r.tableData)==null?void 0:Rt.filterState,filterState:r.filterState,"onUpdate:filterState":e[0]||(e[0]=Re=>r.filterState=Re)},null,8,["tabsList","filterState"])):f.createCommentVNode("",!0),f.createElementVNode("div",Iq,[f.createElementVNode("div",{class:f.normalizeClass([r.isVisibleCardInfo?"w-[calc(100%-360px)]":"w-full"])},[f.createElementVNode("div",{class:f.normalizeClass(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative",{"pr-[20px]":!r.isVisibleCardInfo}])},[f.createVNode(w,{height:"14",width:"14",class:"absolute top-[10px] left-[14px] text-gray-500 z-[1]"}),f.createVNode(E,{modelValue:r.searchValue,"onUpdate:modelValue":e[1]||(e[1]=Re=>r.searchValue=Re),placeholder:"Пошук...",clearable:!0,class:"[&>input]:py-[7px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600"},null,8,["modelValue"]),f.createElementVNode("div",Dq,[(Ft=r.tableData)!=null&&Ft.slots?(f.openBlock(),f.createBlock(C,{key:0,slots:(zt=r.tableData)==null?void 0:zt.slots},null,8,["slots"])):f.createCommentVNode("",!0),(yn=(Ht=r.tableData)==null?void 0:Ht.filterCustom)!=null&&yn.length?(f.openBlock(),f.createBlock(P,{key:1,customList:(dn=r.tableData)==null?void 0:dn.filterCustom,filterCustom:r.filterCustom,"onUpdate:filterCustom":e[2]||(e[2]=Re=>r.filterCustom=Re)},null,8,["customList","filterCustom"])):f.createCommentVNode("",!0),f.createVNode(D,{columns:(wn=r.tableData)==null?void 0:wn.columns,onUpdateColumns:e[3]||(e[3]=Re=>r.tableData.columns=Re)},null,8,["columns"]),((pn=r.tableData)==null?void 0:pn.export)!==!1?(f.openBlock(),f.createBlock(R,{key:2,table:t.table,columns:(ti=r.tableData)==null?void 0:ti.columns,page:r.page,"filter-state":r.filterState,"filter-custom":r.filterCustom,filters:r.filters},null,8,["table","columns","page","filter-state","filter-custom","filters"])):f.createCommentVNode("",!0),(zn=r.filterScheme)!=null&&zn.length?(f.openBlock(),f.createBlock($,{key:3,scheme:r.filterScheme,onFilters:r.onFilters,onFilterChange:a.filterChange},null,8,["scheme","onFilters","onFilterChange"])):f.createCommentVNode("",!0),f.createElementVNode("button",{onClick:e[4]||(e[4]=(...Re)=>a.toggleCardInfo&&a.toggleCardInfo(...Re)),class:"py-2 px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[f.createVNode(G,{class:f.normalizeClass({"rotate-180 duration-300":!r.isVisibleCardInfo})},null,8,["class"])])])],2),f.createElementVNode("div",{class:f.normalizeClass(["flex items-start justify-start w-full space-y-5",{"pr-[20px]":!r.isVisibleCardInfo}])},[f.createElementVNode("div",{style:f.normalizeStyle({height:(Rn=(In=r.tableData)==null?void 0:In.filterState)!=null&&Rn.length?"calc(100vh - 370px)":"calc(100vh - 330px)"}),class:"overflow-x-auto w-full [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"},[f.createElementVNode("div",Oq,[a.isNoData?(f.openBlock(),f.createBlock(Me,{key:1})):(f.openBlock(),f.createElementBlock("table",Bq,[f.createElementVNode("thead",Nq,[f.createElementVNode("tr",zq,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(a.columns,Re=>(f.openBlock(),f.createBlock(ee,{key:Re.name,style:f.normalizeStyle({width:a.rowWidth(Re==null?void 0:Re.name),textAlign:Re==null?void 0:Re.align,wordBreak:Re==null?void 0:Re.wrap}),data:Re,activeColumn:r.activeColumn,onChangeActive:a.changeActiveColumn},null,8,["style","data","activeColumn","onChangeActive"]))),128)),(je=(Ee=a.getActions)==null?void 0:Ee.filter(Re=>Re!=="add"&&Re!=="view"))!=null&&je.length?(f.openBlock(),f.createElementBlock("th",Rq)):f.createCommentVNode("",!0)])]),f.createElementVNode("tbody",Lq,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList((Ye=r.tableData)==null?void 0:Ye.rows,(Re,sn)=>{var ve,_n,mr,qt,on,vi,wi,si,Wi,oi;return f.openBlock(),f.createElementBlock("tr",{key:sn,class:f.normalizeClass({"bg-gray-50":((_n=(ve=n.$route)==null?void 0:ve.query)==null?void 0:_n.card)===(Re==null?void 0:Re.id)})},[f.createElementVNode("td",Vq,[f.createElementVNode("button",{onClick:()=>a.pushToCard(Re==null?void 0:Re.id),class:f.normalizeClass(["text-sm font-medium",[((mr=r.tableData)==null?void 0:mr.card)===!1?"":"text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"]])},[f.createVNode(ce,{row:Re,column:a.columns[0],table:t.table,onUpdateTable:a.getTableData},null,8,["row","column","table","onUpdateTable"])],10,Fq)]),(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList((qt=a.columns)==null?void 0:qt.slice(1),Oi=>(f.openBlock(),f.createElementBlock("td",{onClick:Qr=>a.changeActiveCardInfo(Re==null?void 0:Re.id),class:f.normalizeClass(["px-3 py-3 text-sm text-gray-600 text-start",{"cursor-pointer":r.isVisibleCardInfo}]),key:Oi.name},[f.createVNode(ce,{row:Re,column:Oi,table:t.table,onUpdateTable:a.getTableData},null,8,["row","column","table","onUpdateTable"])],10,$q))),128)),(vi=(on=a.getActions)==null?void 0:on.filter(Oi=>Oi!=="add"&&Oi!=="view"))!=null&&vi.length?(f.openBlock(),f.createElementBlock("td",{key:0,class:f.normalizeClass(["text-center sticky right-0 w-[80px] px-[10px]",{"bg-gray-50":((si=(wi=n.$route)==null?void 0:wi.query)==null?void 0:si.card)===(Re==null?void 0:Re.id),"bg-white":((oi=(Wi=n.$route)==null?void 0:Wi.query)==null?void 0:oi.card)!==(Re==null?void 0:Re.id)}])},[f.createVNode(U,{actions:a.getActions,isForm:a.isForm,item:Re,table:t.table,onUpdateTable:a.getTableData},null,8,["actions","isForm","item","table","onUpdateTable"])],2)):f.createCommentVNode("",!0)],2)}),128))])]))])],4)],2),f.createElementVNode("div",jq,[f.createElementVNode("div",Uq,[f.createElementVNode("p",Hq,[f.createElementVNode("span",qq,[f.createTextVNode(f.toDisplayString(r.filters||r.searchValue?"Знайдено":"Об'єктів")+" "+f.toDisplayString(((ot=r.tableData)==null?void 0:ot.count)||"0 ")+" ",1),r.filters||r.searchValue?(f.openBlock(),f.createElementBlock("span",Wq," з")):f.createCommentVNode("",!0)]),r.filters||r.searchValue?(f.openBlock(),f.createElementBlock("span",Gq,f.toDisplayString(" "+((Lt=r.tableData)==null?void 0:Lt.filtered)||0),1)):f.createCommentVNode("",!0)])]),Math.ceil(((Qt=r.tableData)==null?void 0:Qt.filtered)/r.limit)>1?(f.openBlock(),f.createBlock(ke,{key:0,goTo:!1,class:"justify-end","default-page":parseInt(a.defaultPage),total:((At=r.tableData)==null?void 0:At.filtered)||0,pageSize:parseInt(r.limit),onPageChange:a.handlePageChange,pageSizes:[10,16,20],onPageSizeChange:a.changeLimit,backgroundColor:"#F3F4F6"},null,8,["default-page","total","pageSize","onPageChange","onPageSizeChange"])):f.createCommentVNode("",!0)])],2),f.createVNode(f.Transition,{name:"slide-fade"},{default:f.withCtx(()=>{var Re;return[r.isVisibleCardInfo?(f.openBlock(),f.createBlock(Pe,{key:0,table:t.table,columns:(Re=r.tableData)==null?void 0:Re.columns,row:a.activeCardRow},null,8,["table","columns","row"])):f.createCommentVNode("",!0)]}),_:1})])])])])}const Yq={components:{AdminTable:Ue(Eq,[["render",Zq],["__scopeId","data-v-c086c7f4"]])},data(){return{table:!1,interface:"",title:""}},watch:{$route:{async handler(){Jr!=null&&Jr.value||await this.getMenu(),await this.checkPageType()},deep:!0},title(n){var e;n&&(document.title=(((e=ia.value)==null?void 0:e.titlePrefix)||"")+n)}},async mounted(){await this.checkPageType()},methods:{flattenMenu(n){const e=[];return n.forEach(t=>{t.menu?e.push(...this.flattenMenu(t.menu)):e.push(t)}),e},async checkPageType(){var i,r;const n=this.flattenMenu(Jr.value);n!=null&&n.length||this.$router.replace("/404");const e=n==null?void 0:n.find(a=>{var u,l;return(a==null?void 0:a.path)==((l=(u=this.$route)==null?void 0:u.params)==null?void 0:l.catchAll)});this.title=e==null?void 0:e.ua,e||this.$router.replace("/404"),e!=null&&e.component&&this.$router.replace((r=(i=this.$route)==null?void 0:i.params)==null?void 0:r.catchAll);const t=e==null?void 0:e.table;this.table=t||!1,!t&&this.getInterface()},async getInterface(){var n,e;try{const{data:t}=await ut.get(`/api/template/interface/${((e=(n=this.$route)==null?void 0:n.params)==null?void 0:e.catchAll)||""}`);this.interface=t||""}catch{this.interface=""}}}},Xq=["innerHTML"];function Kq(n,e,t,i,r,a){const u=f.resolveComponent("AdminTable");return r.table?(f.openBlock(),f.createBlock(u,{key:0,table:r.table,title:r.title},null,8,["table","title"])):(f.openBlock(),f.createElementBlock("div",{key:1,class:"w-full bg-gray-50",style:{height:"calc(100vh - 120px)"},innerHTML:r.interface},null,8,Xq))}const Jq=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(Yq,[["render",Kq]])},Symbol.toStringTag,{value:"Module"}));return mU});
|
794
|
+
`}).mount(t)}};window.addEventListener("click",n=>{var t,i,r;const e=(t=n==null?void 0:n.target)==null?void 0:t.closest("[_href]");if(e&&(e==null?void 0:e.tagName)==="A"){const a=e==null?void 0:e.getAttribute("_href");(r=(i=window==null?void 0:window.app)==null?void 0:i.router)==null||r.push(a),n==null||n.preventDefault()}});const pU=async()=>{try{const{data:n}=await ut.get("/api/user-menu");return Jr.value=n,t_(n)}catch(n){return console.error(n),[]}},fU=(n,e)=>{Object.entries(e).forEach(([t,i])=>{n.component(t,i)})},mU={async install(n,{componentsApp:e={},settings:t,routes:i=[]}){ia.value={...ia,...t};try{const a=(await pU()).filter(l=>l==null?void 0:l.component).map(l=>({...l,component:{...s_,...e}[l==null?void 0:l.component]}));fU(n,{...s_,...e}),n.component("admin",QT);const{router:u}=await BA(a.concat(i));window.app={...n,router:u},window.v3plugin={...n.config.globalProperties,...o_},n.config.globalProperties={...n.config.globalProperties,$componentsConfig:{...TB,componentsApp:e},$router:u,$v3plugin:o_,$utils:{reloadCardPage:Zf}},n.use(u)}catch(r){console.error(r)}},components:s_,plugins:o_},gU={data(){return{formValues:{},scheme:null,table:"",token:""}},mounted(){this.getFormScheme()},methods:{flattenMenu(n){const e=[];return n.forEach(t=>{t.menu?e.push(...this.flattenMenu(t.menu)):e.push(t)}),e},async getFormScheme(){var i,r;const n=this.flattenMenu(Jr.value);n!=null&&n.length||this.$router.replace("/404");const e=n==null?void 0:n.find(a=>{var u,l;return(a==null?void 0:a.path)==((l=(u=this.$route)==null?void 0:u.query)==null?void 0:l.table)});e||this.$router.replace("/404");const t=e==null?void 0:e.table;this.table=t;try{const{data:{form:a}}=await ut.get(`/api/template/table/${t}`),{data:u}=await ut.get(`/api/table/${this.table}/${(r=(i=this.$route)==null?void 0:i.query)==null?void 0:r.id}`);this.token=(u==null?void 0:u.token)||"",this.formValues=u||{};const{data:l}=await ut.get(`/api/template/form/${a}`);this.scheme=(l==null?void 0:l.schema)||l}catch{}},async onlyEditObject(){var e,t,i,r,a,u,l,g,b;const n=this.$refs.form;try{await n.doValidation(),await ut.put(`/api/table/${this.token}`,this.formValues),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(w){const E=((e=w==null?void 0:w.response)==null?void 0:e.data)||"";let C=((a=(r=(i=(t=Object.entries(n==null?void 0:n.formErrors))==null?void 0:t[0])==null?void 0:i[1])==null?void 0:r[0])==null?void 0:a.message)==="Це поле обов'язкове"?"Заповніть обов'язкові поля":(b=(g=(l=(u=Object.entries(n==null?void 0:n.formErrors))==null?void 0:u[0])==null?void 0:l[1])==null?void 0:g[0])==null?void 0:b.message;this.$notify({title:"Помилка!",message:E||C||"Сталася помилка валідаціі",type:"error"})}},async editObjectAndRedirect(){var e,t,i,r,a,u,l,g,b;const n=this.$refs.form;try{await n.doValidation(),await ut.put(`/api/table/${this.token}`,this.formValues),await this.$router.back(),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(w){const E=((e=w==null?void 0:w.response)==null?void 0:e.data)||"";let C=((a=(r=(i=(t=Object.entries(n==null?void 0:n.formErrors))==null?void 0:t[0])==null?void 0:i[1])==null?void 0:r[0])==null?void 0:a.message)==="Це поле обов'язкове"?"Заповніть обов'язкові поля":(b=(g=(l=(u=Object.entries(n==null?void 0:n.formErrors))==null?void 0:u[0])==null?void 0:l[1])==null?void 0:g[0])==null?void 0:b.message;this.$notify({title:"Помилка!",message:E||C||"Сталася помилка валідаціі",type:"error"})}}}},yU={class:"bg-gray-50 lg:w-[calc(100vw-260px)] w-[100vw]"},_U={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl"},bU={class:"flex items-center gap-[6px]"},xU={style:{height:"calc(100vh - 155px)"},class:"bg-gray-50 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw]"},vU={class:"bg-white w-full rounded-xl border p-[20px] overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"};function wU(n,e,t,i,r,a){const u=f.resolveComponent("VsForm");return f.openBlock(),f.createElementBlock("div",yU,[f.createElementVNode("div",_U,[e[4]||(e[4]=f.createElementVNode("h2",{class:"text-xl font-medium"},"Редагувати",-1)),f.createElementVNode("div",bU,[f.createElementVNode("button",{onClick:e[0]||(e[0]=l=>n.$router.back()),class:"flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"}," Повернутися "),f.createElementVNode("button",{onClick:e[1]||(e[1]=(...l)=>a.onlyEditObject&&a.onlyEditObject(...l)),class:"inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"}," Зберегти "),f.createElementVNode("button",{onClick:e[2]||(e[2]=(...l)=>a.editObjectAndRedirect&&a.editObjectAndRedirect(...l)),class:"inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"}," Зберегти і повернутися ")])]),f.createElementVNode("div",xU,[f.createElementVNode("div",vU,[r.scheme?(f.openBlock(),f.createBlock(u,{key:0,ref:"form",scheme:r.scheme,modelValue:r.formValues,"onUpdate:modelValue":e[3]||(e[3]=l=>r.formValues=l),class:"p-0 mt-[20px]"},null,8,["scheme","modelValue"])):f.createCommentVNode("",!0)])])])}const kU=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(gU,[["render",wU]])},Symbol.toStringTag,{value:"Module"})),SU={data(){return{formValues:{},scheme:null,table:"",token:"",api:""}},mounted(){this.getFormScheme()},methods:{flattenMenu(n){const e=[];return n.forEach(t=>{t.menu?e.push(...this.flattenMenu(t.menu)):e.push(t)}),e},async getFormScheme(){var i,r;const n=this.flattenMenu(Jr.value);n!=null&&n.length||this.$router.replace("/404");const e=n==null?void 0:n.find(a=>{var u,l;return(a==null?void 0:a.path)==((l=(u=this.$route)==null?void 0:u.query)==null?void 0:l.table)});e||this.$router.replace("/404");const t=e==null?void 0:e.table;this.table=t;try{const a=await ut.get(`/api/table-data/${t}`),{data:u}=await ut.get(`/api/template/form/${(i=a==null?void 0:a.data)==null?void 0:i.form}`);this.scheme=(u==null?void 0:u.schema)||u,this.api=(u==null?void 0:u.api)||"",this.token=(r=a==null?void 0:a.data)==null?void 0:r.addToken}catch{}},async createObject(){var e,t,i,r,a,u,l,g,b;const n=this.$refs.form;try{await n.doValidation(),await ut.post(this.api||`/api/table/${this.token}`,this.formValues),await this.$router.back(),await this.$notify({title:"Успішно!",message:"Об'єкт успішно створено",type:"success"})}catch(w){const E=((e=w==null?void 0:w.response)==null?void 0:e.data)||"";let C=((a=(r=(i=(t=Object.entries(n==null?void 0:n.formErrors))==null?void 0:t[0])==null?void 0:i[1])==null?void 0:r[0])==null?void 0:a.message)==="Це поле обов'язкове"?"Заповніть обов'язкові поля":(b=(g=(l=(u=Object.entries(n==null?void 0:n.formErrors))==null?void 0:u[0])==null?void 0:l[1])==null?void 0:g[0])==null?void 0:b.message;this.$notify({title:"Помилка!",message:E||C||"Сталася помилка валідаціі",type:"error"})}}}},EU={class:"bg-gray-50 lg:w-[calc(100vw-260px)] w-[100vw]"},CU={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl"},TU={class:"flex items-center gap-[6px]"},MU={style:{height:"calc(100vh - 165px)"},class:"bg-gray-50 p-[20px] flex lg:w-[calc(100vw-260px)] w-[100vw]"},AU={class:"bg-white w-full rounded-xl border p-[20px] overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"};function PU(n,e,t,i,r,a){const u=f.resolveComponent("VsForm");return f.openBlock(),f.createElementBlock("div",EU,[f.createElementVNode("div",CU,[e[3]||(e[3]=f.createElementVNode("h2",{class:"text-xl font-medium"},"Створити",-1)),f.createElementVNode("div",TU,[f.createElementVNode("button",{onClick:e[0]||(e[0]=l=>n.$router.back()),class:"flex items-center px-3 py-2 text-sm font-medium text-gray-800 duration-300 bg-white border border-gray-100 rounded-lg shadow gap-x-2 focus:outline-none hover:bg-gray-50 hover:border-gray-100"}," Скасувати "),f.createElementVNode("button",{onClick:e[1]||(e[1]=(...l)=>a.createObject&&a.createObject(...l)),class:"inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"}," Зберегти ")])]),f.createElementVNode("div",MU,[f.createElementVNode("div",AU,[r.scheme?(f.openBlock(),f.createBlock(u,{key:0,ref:"form",scheme:r.scheme,modelValue:r.formValues,"onUpdate:modelValue":e[2]||(e[2]=l=>r.formValues=l),class:"p-0 mt-[20px]"},null,8,["scheme","modelValue"])):f.createCommentVNode("",!0)])])])}const IU=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(SU,[["render",PU]])},Symbol.toStringTag,{value:"Module"})),DU={};function OU(n,e,t,i,r,a){const u=f.resolveComponent("router-view");return f.openBlock(),f.createBlock(u)}const US=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(DU,[["render",OU]])},Symbol.toStringTag,{value:"Module"})),BU={},NU={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-logout"};function zU(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",NU,e[0]||(e[0]=[f.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),f.createElementVNode("path",{d:"M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2"},null,-1),f.createElementVNode("path",{d:"M9 12h12l-3 -3"},null,-1),f.createElementVNode("path",{d:"M18 15l3 -3"},null,-1)]))}const RU=Ue(BU,[["render",zU]]),LU={},VU={viewBox:"0 0 1823 249",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function FU(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",VU,e[0]||(e[0]=[f.createStaticVNode('<path d="M218.88 96.05C223.55 99.19 228.69 101.56 234.09 103.07V145.42C212.05 151.54 195.83 171.79 195.83 195.75C195.83 200.22 196.41 204.65 197.53 208.94L160.92 230.08C156.82 226.06 152.08 222.73 146.91 220.24V171.62C164.83 163.13 176.59 145.06 176.59 124.48C176.59 123.17 176.54 121.86 176.44 120.56L218.88 96.05ZM220.32 79.09L160.97 113.36C162.04 116.88 162.61 120.61 162.61 124.48C162.61 142.66 149.93 157.87 132.93 161.76V230.05C143.4 232.46 152.23 239.16 157.46 248.21L215 214.99C211.7 209.34 209.81 202.77 209.81 195.75C209.81 174.62 226.94 157.49 248.07 157.49V91.02C237.14 91.02 227.29 86.43 220.32 79.09Z" fill="#CE3936"></path><path d="M161.39 19.13L197.44 39.94C196.39 44.11 195.84 48.42 195.84 52.75C195.84 54.21 195.9 55.65 196.02 57.1L153.9 81.42C145.27 75.5 134.95 72.24 124.36 72.24C113.83 72.24 103.57 75.47 94.96 81.32L52.71 56.93C52.82 55.55 52.88 54.16 52.88 52.76C52.88 48.43 52.34 44.12 51.28 39.95L87.3 19.16C96.98 28.89 110.26 34.58 124.34 34.58C138.42 34.57 151.7 28.87 161.39 19.13ZM157.77 0.919983C151.24 12.66 138.71 20.6 124.33 20.6C109.95 20.6 97.44 12.67 90.9 0.939983L33.9 33.85C37.08 39.43 38.91 45.88 38.91 52.76C38.91 56.71 38.31 60.52 37.2 64.11L96.46 98.32C103.44 90.87 113.36 86.22 124.37 86.22C135.44 86.22 145.41 90.93 152.39 98.44L211.59 64.27C210.45 60.64 209.83 56.78 209.83 52.77C209.83 45.89 211.65 39.44 214.84 33.86L157.77 0.919983Z" fill="#CE3936"></path><path d="M29.97 95.95L72.28 120.38C72.17 121.74 72.12 123.1 72.12 124.47C72.12 145.02 83.86 163.08 101.74 171.58V220.23C96.58 222.71 91.84 226.04 87.75 230.05L51.17 208.93C52.29 204.64 52.87 200.21 52.87 195.74C52.87 171.78 36.65 151.53 14.61 145.41V103.06C20.07 101.55 25.27 99.14 29.97 95.95ZM28.5 78.97C21.52 86.38 11.63 91.02 0.640015 91.02V157.49C21.77 157.49 38.9 174.62 38.9 195.75C38.9 202.77 37 209.33 33.71 214.99L91.2 248.18C96.43 239.14 105.25 232.45 115.71 230.04V161.73C98.74 157.81 86.09 142.62 86.09 124.46C86.09 120.54 86.68 116.75 87.78 113.18L28.5 78.97Z" fill="#CE3936"></path><path d="M498.39 177.5V144.88C498.39 128.55 485.11 115.27 468.78 115.27H343.22C342.69 115.27 342.18 115.32 341.67 115.4H337.19C332.35 115.4 328.42 111.46 328.42 106.63V74C328.42 69.16 332.36 65.23 337.19 65.23H486.33C492.08 65.23 496.75 60.57 496.75 54.81C496.75 49.06 492.08 44.39 486.33 44.39H337.19C320.86 44.39 307.58 57.67 307.58 74V106.62C307.58 122.95 320.86 136.23 337.19 136.23H462.75C463.28 136.23 463.79 136.18 464.3 136.1H468.78C473.62 136.1 477.55 140.04 477.55 144.87V177.49C477.55 182.33 473.61 186.26 468.78 186.26H319.64C313.89 186.26 309.22 190.92 309.22 196.68C309.22 202.43 313.89 207.1 319.64 207.1H468.78C485.11 207.11 498.39 193.83 498.39 177.5Z" fill="#CE3935"></path><path d="M710.7 177.32V75.24C710.7 58.91 697.42 45.63 681.09 45.63H550.05C533.72 45.63 520.44 58.91 520.44 75.24V177.32C520.44 193.65 533.72 206.93 550.05 206.93H681.1C697.42 206.93 710.7 193.65 710.7 177.32ZM541.27 75.24C541.27 70.4 545.21 66.47 550.04 66.47H681.09C685.93 66.47 689.86 70.41 689.86 75.24V177.32C689.86 182.16 685.92 186.09 681.09 186.09H550.05C545.21 186.09 541.28 182.15 541.28 177.32V75.24H541.27Z" fill="#CE3935"></path><path d="M1823 177.32V75.24C1823 58.91 1809.72 45.63 1793.39 45.63H1662.34C1646.01 45.63 1632.73 58.91 1632.73 75.24V177.32C1632.73 193.65 1646.01 206.93 1662.34 206.93H1793.39C1809.72 206.93 1823 193.65 1823 177.32ZM1653.57 75.24C1653.57 70.4 1657.51 66.47 1662.34 66.47H1793.39C1798.23 66.47 1802.16 70.41 1802.16 75.24V177.32C1802.16 182.16 1798.22 186.09 1793.39 186.09H1662.34C1657.5 186.09 1653.57 182.15 1653.57 177.32V75.24Z" fill="#CE3935"></path><path d="M756.76 196.51V152H849.42C855.17 152 859.84 147.34 859.84 141.58C859.84 135.83 855.17 131.16 849.42 131.16H756.76V75.23C756.76 70.39 760.7 66.46 765.53 66.46H893.29C899.04 66.46 903.71 61.8 903.71 56.04C903.71 50.29 899.04 45.62 893.29 45.62H765.53C749.2 45.62 735.92 58.9 735.92 75.23V196.5C735.92 202.25 740.59 206.92 746.34 206.92C752.09 206.93 756.76 202.27 756.76 196.51Z" fill="#CE3935"></path><path d="M933.86 66.47H1006.51V194.32C1006.51 200.07 1011.18 204.74 1016.93 204.74C1022.68 204.74 1027.35 200.07 1027.35 194.32V66.47H1100C1105.75 66.47 1110.42 61.81 1110.42 56.05C1110.42 50.3 1105.76 45.63 1100 45.63H933.86C928.11 45.63 923.44 50.29 923.44 56.05C923.45 61.81 928.11 66.47 933.86 66.47Z" fill="#CE3935"></path><path d="M1218.44 204.19C1224.19 204.19 1228.86 199.53 1228.86 193.77V152H1368.13C1384.46 152 1397.74 138.72 1397.74 122.39V75.24C1397.74 58.91 1384.46 45.63 1368.13 45.63H1237.63C1221.3 45.63 1208.02 58.91 1208.02 75.24V193.77C1208.02 199.53 1212.68 204.19 1218.44 204.19ZM1237.63 66.47H1368.13C1372.97 66.47 1376.9 70.41 1376.9 75.24V122.39C1376.9 127.23 1372.96 131.16 1368.13 131.16H1228.86V75.23C1228.86 70.41 1232.79 66.47 1237.63 66.47Z" fill="#CE3935"></path><path d="M1430.64 204.19C1436.39 204.19 1441.06 199.53 1441.06 193.77V152H1523.95C1524.57 153.18 1525.42 154.26 1526.51 155.17L1581.89 201.23C1583.83 202.85 1586.2 203.64 1588.55 203.64C1591.54 203.64 1594.5 202.36 1596.57 199.88C1600.25 195.46 1599.64 188.89 1595.22 185.21L1555.29 152H1580.33C1596.66 152 1609.94 138.72 1609.94 122.39V75.24C1609.94 58.91 1596.66 45.63 1580.33 45.63H1449.83C1433.5 45.63 1420.22 58.91 1420.22 75.24V193.77C1420.22 199.53 1424.88 204.19 1430.64 204.19ZM1449.83 66.47H1580.33C1585.17 66.47 1589.1 70.41 1589.1 75.24V122.39C1589.1 127.23 1585.17 131.16 1580.33 131.16H1441.06V75.23C1441.05 70.41 1444.99 66.47 1449.83 66.47Z" fill="#CE3935"></path>',10)]))}const $U=Ue(LU,[["render",FU]]),jU={components:{IconChevronDown:i_},props:{route:Object,searchable:String},mounted(){var n,e,t;(n=this.route)!=null&&n.menu&&(t=(e=this.route)==null?void 0:e.menu)!=null&&t.some(i=>{var r,a;return(i==null?void 0:i.path)===this.$route.path.replace("/","")||((a=(r=this.$route)==null?void 0:r.params)==null?void 0:a.table)===(i==null?void 0:i.table)&&(i==null?void 0:i.table)})&&(this.isOpen=!0)},watch:{route(n){n!=null&&n.open&&(this.isOpen=!0)}},data(){return{isOpen:!1}},methods:{highLight(n){if(!this.searchable)return n;const e=this.searchable.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),t=new RegExp(`(${e})(\\s*)`,"gi");return n.replace(t,(i,r,a)=>`<span style="color:#1989fa;">${r}</span>${a}`)}}},UU={key:0,class:""},HU={class:"ml-[30px] py-[6px] before:block before:absolute relative w-[196px] flex flex-col gap-[6px] inline-block before:w-[2px] before:h-[100%] before:bg-gray-100 before:left-[-14px] cursor-pointer"},qU={key:1};function WU(n,e,t,i,r,a){var g,b,w,E,C,P,D,R,$,G,ee,ce,U,Me,ke;const u=f.resolveComponent("IconChevronDown"),l=f.resolveComponent("router-link");return(g=t.route)!=null&&g.menu?(f.openBlock(),f.createElementBlock("div",UU,[f.createElementVNode("button",{onClick:e[0]||(e[0]=Pe=>r.isOpen=!r.isOpen),class:f.normalizeClass(["flex items-center justify-start w-full px-3 py-2 text-sm text-left text-gray-800 duration-300 border-none rounded-lg cursor-pointer gap-x-3 focus:outline-none hover:bg-gray-100",[((w=(b=t.route)==null?void 0:b.menu)==null?void 0:w.some(Pe=>{var Fe,Be;return(Pe==null?void 0:Pe.path)===n.$route.path.replace("/","")||(Pe==null?void 0:Pe.table)===((Be=(Fe=n.$route)==null?void 0:Fe.params)==null?void 0:Be.table)&&(Pe==null?void 0:Pe.table)}))&&"bg-gray-100"]])},[f.createTextVNode(f.toDisplayString((E=t.route)==null?void 0:E.ua)+" ",1),f.createVNode(u,{class:f.normalizeClass([[r.isOpen&&"-rotate-180"],"ml-auto duration-300"]),width:"14",height:"14"},null,8,["class"])],2),f.createVNode(f.Transition,{name:"fade"},{default:f.withCtx(()=>{var Pe;return[f.withDirectives(f.createElementVNode("ul",HU,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList((Pe=t.route)==null?void 0:Pe.menu,(Fe,Be)=>{var pt,tt;return f.openBlock(),f.createElementBlock("li",{key:Be,class:"w-full"},[f.createVNode(l,{innerHTML:a.highLight(Fe==null?void 0:Fe.ua),to:"/"+(Fe==null?void 0:Fe.path),class:f.normalizeClass([[((Fe==null?void 0:Fe.path)===n.$route.path.replace("/","")||((tt=(pt=n.$route)==null?void 0:pt.params)==null?void 0:tt.table)===(Fe==null?void 0:Fe.table)&&(Fe==null?void 0:Fe.table))&&"bg-gray-100"],"block px-3 py-2 text-sm text-gray-800 rounded-lg hover:bg-gray-100 focus:outline-none focus:bg-gray-100"])},null,8,["innerHTML","to","class"])])}),128))],512),[[f.vShow,r.isOpen]])]}),_:1})])):(C=t.route)!=null&&C.hidden?f.createCommentVNode("",!0):(f.openBlock(),f.createElementBlock("div",qU,[f.createVNode(l,{innerHTML:a.highLight((P=t.route)==null?void 0:P.ua),to:((R=(D=t.route)==null?void 0:D.path)==null?void 0:R[0])==="/"?($=t.route)==null?void 0:$.path:"/"+((G=t.route)==null?void 0:G.path),class:f.normalizeClass([[(((ee=t.route)==null?void 0:ee.path.replace("/",""))===n.$route.path.replace("/","")||((U=(ce=n.$route)==null?void 0:ce.params)==null?void 0:U.table)===((Me=t.route)==null?void 0:Me.table)&&((ke=t.route)==null?void 0:ke.table))&&"bg-gray-100"],"inline-block py-2 w-full font-[400] px-3 text-sm text-gray-800 rounded-lg items-center hover:bg-gray-100 duration-300 hover:text-gray-800"])},null,8,["innerHTML","to","class"])]))}const GU={components:{IconLogout:RU,NavbarItem:Ue(jU,[["render",WU]]),IconLogo:$U,IconSearch:n_},data(){return{activeIndex:null,searchValue:""}},computed:{data(){var n;return(n=this.searchValue)!=null&&n.trim()?this.filterMenu(Jr.value,this.searchValue):Jr.value},logo(){var n;return((n=ia.value)==null?void 0:n.logo)||"/assets/logo.svg"}},methods:{filterMenu(n,e){return n.map(t=>{var i,r;if(t.menu){const a=this.filterMenu(t.menu,e);if(a.length>0)return{...t,menu:a,open:!0}}else if((r=(i=t.ua)==null?void 0:i.toLowerCase())!=null&&r.includes(e.toLowerCase()))return t;return null}).filter(Boolean)}}},ZU={class:"h-[59px] w-full p-[4px] mb-[10px]"},YU=["src"],XU={class:"relative mx-[16px] pl"},KU={class:"p-[16px] overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"},JU={class:"flex flex-col flex-wrap w-full pb-3"},QU={key:0,class:"flex flex-col gap-[6px]"},e9={key:1,class:"text-gray-800 text-lg mt-[20px]"};function t9(n,e,t,i,r,a){var b;const u=f.resolveComponent("IconSearch"),l=f.resolveComponent("VsText"),g=f.resolveComponent("NavbarItem");return f.openBlock(),f.createElementBlock("div",{class:f.normalizeClass(["lg:flex lg:relative lg:left-0 flex-col h-[100vh] border-r w-[260px] shrink-0 absolute transition left-[-100%] z-[11] bg-white",[{"left-0":n.$parent.showMenu}]])},[f.createElementVNode("div",ZU,[f.createElementVNode("img",{src:a.logo,class:"object-contain w-full h-full"},null,8,YU)]),f.createElementVNode("div",XU,[f.createVNode(u,{height:"16",width:"16",class:"absolute top-[12px] left-[16px] text-gray-500 z-[1]"}),f.createVNode(l,{type:"text",modelValue:r.searchValue,"onUpdate:modelValue":e[0]||(e[0]=w=>r.searchValue=w),clearable:!0,placeholder:"Пошук по меню",class:"[&>input]:h-[40px] [&>input]:block [&>input]:pl-[40px] [&>input:focus]:outline-none [&>input:focus]:focus:ring-0 [&>input:focus]:border-y-gray-200 [&>input:focus]:border-y-1 [&>input:focus]:border-x-0"},null,8,["modelValue"])]),f.createElementVNode("div",KU,[f.createElementVNode("nav",JU,[(b=a.data)!=null&&b.length?(f.openBlock(),f.createElementBlock("ul",QU,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(a.data,(w,E)=>(f.openBlock(),f.createElementBlock("li",{key:E,class:"flex flex-col gap-[6px]"},[f.createVNode(g,{route:w,searchable:r.searchValue},null,8,["route","searchable"])]))),128))])):(f.openBlock(),f.createElementBlock("div",e9,"Не знайдено"))])])],2)}const n9=Ue(GU,[["render",t9]]),i9={},r9={class:"flex-shrink-0 size-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function s9(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",r9,e[0]||(e[0]=[f.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),f.createElementVNode("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"},null,-1),f.createElementVNode("path",{d:"M12 17h.01"},null,-1)]))}const o9={components:{IconQuestion:Ue(i9,[["render",s9]]),IconUser:VS,AdminNotification:FS},mounted(){this.getUserData()},data(){return{userData:null,isVisible:!1}},watch:{isVisible(n){n?setTimeout(()=>window.addEventListener("click",this.closeOnOutsideClick),0):window.removeEventListener("click",this.closeOnOutsideClick)}},methods:{async getUserData(){try{const{data:n}=await ut.get("/user");this.userData=n}catch{}},async logout(){try{await ut.get("/logout"),await window.history.pushState({},"","/login"),await location.reload(),localStorage.removeItem("user")}catch{}},closeOnOutsideClick(){this.isVisible=!1}},beforeUnmount(){window.removeEventListener("click",this.closeOnOutsideClick)}},a9={class:"h-[60px] border-b flex lg:justify-end justify-between items-center px-[20px]"},l9={class:"flex items-center gap-[6px]"},c9={href:"/docs-user",class:"size-[38px] inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},u9={class:"relative"},h9=["src"],d9={key:1,class:"size-[40px] rounded-full bg-gray-200 flex items-center justify-center"},p9={class:"p-[10px] gap-[6px] items-center border-b flex justify-between"},f9=["src"],m9={key:1,class:"size-[40px] rounded-full bg-gray-200 flex items-center justify-center"},g9={class:"text-[14px] mr-[10px] text-gray-500"},y9={class:"flex flex-col p-[4px]"};function _9(n,e,t,i,r,a){var w,E,C,P,D,R,$,G,ee,ce;const u=f.resolveComponent("IconQuestion"),l=f.resolveComponent("AdminNotification"),g=f.resolveComponent("IconUser"),b=f.resolveComponent("router-link");return f.openBlock(),f.createElementBlock("div",a9,[f.createElementVNode("div",{class:"lg:hidden flex",onClick:e[0]||(e[0]=U=>n.$parent.showMenu=!0)},e[4]||(e[4]=[f.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-menu-2"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l16 0"></path><path d="M4 12l16 0"></path><path d="M4 18l16 0"></path></svg>',1)])),f.createElementVNode("div",l9,[f.createElementVNode("a",c9,[f.createVNode(u,{height:"24",width:"24"})]),f.createVNode(l),e[6]||(e[6]=f.createElementVNode("div",{class:"h-[30px] w-[1px] bg-gray-200 ml-[10px] mr-[10px]"},null,-1)),f.createElementVNode("div",u9,[f.createElementVNode("div",{onClick:e[1]||(e[1]=U=>r.isVisible=!0),class:"cursor-pointer"},[(E=(w=r.userData)==null?void 0:w.user)!=null&&E.avatar?(f.openBlock(),f.createElementBlock("img",{key:0,class:"flex-shrink-0 size-[30px] rounded-full",src:(P=(C=r.userData)==null?void 0:C.user)==null?void 0:P.avatar,alt:"Image Description"},null,8,h9)):(f.openBlock(),f.createElementBlock("div",d9,[f.createVNode(g)]))]),r.isVisible?(f.openBlock(),f.createElementBlock("div",{key:0,onClick:e[3]||(e[3]=f.withModifiers(()=>{},["stop"])),class:"fixed bg-white w-[180px] top-[55px] right-[20px] shadow-xl rounded-xl z-[1]"},[f.createElementVNode("div",p9,[(R=(D=r.userData)==null?void 0:D.user)!=null&&R.avatar?(f.openBlock(),f.createElementBlock("img",{key:0,class:"flex-shrink-0 size-[30px] rounded-full",src:(G=($=r.userData)==null?void 0:$.user)==null?void 0:G.avatar,alt:"Image Description"},null,8,f9)):(f.openBlock(),f.createElementBlock("div",m9,[f.createVNode(g)])),f.createElementVNode("div",null,[f.createElementVNode("p",g9,f.toDisplayString((ce=(ee=r.userData)==null?void 0:ee.user)==null?void 0:ce.username),1)])]),f.createElementVNode("div",y9,[f.createVNode(b,{to:"profile",disabled:!0,class:"p-[8px] block rounded-lg w-full mb-[4px] text-start hover:bg-gray-100 !duration-300"},{default:f.withCtx(()=>e[5]||(e[5]=[f.createTextVNode("Профіль")])),_:1}),f.createElementVNode("button",{onClick:e[2]||(e[2]=(...U)=>a.logout&&a.logout(...U)),class:"p-[8px] block rounded-lg w-full text-start hover:bg-gray-100 !duration-300"}," Вийти ")])])):f.createCommentVNode("",!0)])])])}const b9={components:{navbar:n9,AdminHeader:Ue(o9,[["render",_9]])},data(){return{showMenu:!1}},computed:{isMenu(){return Jr.value||null},header(){var n;return((n=ia.value)==null?void 0:n.header)||"admin-header"}}},x9={class:"admin-wrapper"},v9={class:"flex flex-col w-full"};function w9(n,e,t,i,r,a){const u=f.resolveComponent("navbar"),l=f.resolveComponent("router-view");return f.openBlock(),f.createElementBlock("div",x9,[f.createVNode(u),r.showMenu?(f.openBlock(),f.createElementBlock("div",{key:0,onClick:e[0]||(e[0]=g=>r.showMenu=!1),class:"z-[10] lg:hidden transition duration fixed inset-0 bg-gray-900 bg-opacity-50 dark:bg-opacity-80 dark:bg-neutral-900"})):f.createCommentVNode("",!0),f.createElementVNode("div",v9,[a.isMenu?(f.openBlock(),f.createElementBlock(f.Fragment,{key:0},[(f.openBlock(),f.createBlock(f.resolveDynamicComponent(a.header))),f.createVNode(l)],64)):f.createCommentVNode("",!0)])])}const k9=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(b9,[["render",w9],["__scopeId","data-v-34da2042"]])},Symbol.toStringTag,{value:"Module"})),S9={data(){return{currentSort:""}},props:{data:{type:Object,default:()=>null},activeColumn:{type:String}},computed:{label(){var n,e;return((n=this.data)==null?void 0:n.ua)||((e=this.data)==null?void 0:e.label)||this.data.title||"null"},selectedSortParam(){var n,e;return(e=(n=this.$route)==null?void 0:n.query)==null?void 0:e.sort},getVisibleIcon(){return this.data.format!=="image"&&this.data.format!=="verify"}},watch:{activeColumn(n){n!==this.data.name&&(this.currentSort="")}},methods:{changeCurrentSort(n){switch(n){case"":return"asc";case"asc":return"desc";case"desc":return"";default:return""}},handleClickSortBtn(n){this.$emit("change-active",this.data.name),this.currentSort=this.changeCurrentSort(n);const e=this.$route.query,{sort:t,...i}=e,r=this.currentSort?`${this.data.name}-${this.currentSort}`:"";this.$router.replace({query:{...i,...r&&{sort:r}}})},isValueEqualToSelected(n){return`${this.data.name}-${n}`===this.selectedSortParam}}},E9={scope:"col",class:"text-start px-2 py-1"},C9={class:"flex-shrink-0 size-3.5",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},T9={key:0,d:"m7 15 5 5 5-5"},M9={key:1,d:"m7 9 5-5 5 5"},A9={key:1,class:"text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal"};function P9(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("th",E9,[a.getVisibleIcon?(f.openBlock(),f.createElementBlock("button",{key:0,type:"button",class:"text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal flex items-center gap-[6px]",onClick:e[0]||(e[0]=u=>a.handleClickSortBtn(r.currentSort))},[f.createTextVNode(f.toDisplayString(a.label)+" ",1),(f.openBlock(),f.createElementBlock("svg",C9,[r.currentSort==="asc"||r.currentSort===""?(f.openBlock(),f.createElementBlock("path",T9)):f.createCommentVNode("",!0),r.currentSort==="desc"||r.currentSort===""?(f.openBlock(),f.createElementBlock("path",M9)):f.createCommentVNode("",!0)]))])):(f.openBlock(),f.createElementBlock("p",A9,f.toDisplayString(a.label),1))])}const I9=Ue(S9,[["render",P9]]),D9={components:{IconMore:J0,IconDelete:zS,IconEdit:RS},emits:["updateTable"],props:{item:Object,table:String,isForm:null,actions:Array,default:()=>[]},data(){return{formVisible:!1,isDeleteConfirm:!1,formValue:{},top:0,left:0}},computed:{getCustomActions(){return this.actions.filter(n=>typeof n=="object")}},methods:{openConfirm(){this.isDeleteConfirm=!0,document.querySelector("body").click()},async getData(){var n;try{const{data:e}=await ut.get(`/api/table/${this.table}/${(n=this.item)==null?void 0:n.id}`);this.formValue=e}catch(e){console.error(e)}},doSomethingOnCancel(){this.formVisible=!1},async deleteElement(){var n;try{const{data:e}=await ut.get(`/api/table/${this.table}/${(n=this.item)==null?void 0:n.id}`);await ut.delete(`/api/table/${e==null?void 0:e.token}`),await this.$notify({title:"Успішно!",message:"Об`єкт успішно видалeно",type:"success"}),await this.$emit("update-table")}catch{this.$notify({title:"Помилка!",message:"Сталася помилка",type:"error"})}finally{this.isDeleteConfirm=!1}},async customButtonAction(n){var e,t;document.querySelector("body").click(),n!=null&&n.form?(await this.$v3plugin.$form({form:n==null?void 0:n.form,id:(e=this.item)==null?void 0:e.id,api:n==null?void 0:n.api,title:n==null?void 0:n.title}),await this.$emit("update-table")):await this.$v3plugin.$api({confirm:n==null?void 0:n.confirm,api:n==null?void 0:n.api,method:n==null?void 0:n.method,id:(t=this.item)==null?void 0:t.id,isId:(n==null?void 0:n.isId)||!1})}}},O9={class:"hs-dropdown [--placement:bottom-right] inline-flex"},B9={class:"inline-flex items-center justify-center bg-white border rounded-lg shadow-sm size-7 gap-x-2 border-stone-200 text-stone-800 hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50"},N9={class:"flex flex-col items-start"},z9=["onClick"],R9={class:"text-gray-800"},L9={key:1,class:"h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"},V9={class:"p-4"},F9={class:"flex justify-end mt-4 gap-x-3"};function $9(n,e,t,i,r,a){const u=f.resolveComponent("IconMore"),l=f.resolveComponent("IconEdit"),g=f.resolveComponent("router-link"),b=f.resolveComponent("IconDelete"),w=f.resolveComponent("VsPopover"),E=f.resolveComponent("VsDialog");return f.openBlock(),f.createElementBlock(f.Fragment,null,[f.createElementVNode("div",O9,[f.createVNode(w,{trigger:"click",placement:"bottom-left"},{reference:f.withCtx(()=>[f.createElementVNode("button",B9,[f.createVNode(u,{height:"16",width:"16"})])]),default:f.withCtx(()=>{var C,P,D,R,$;return[f.createElementVNode("div",N9,[(C=t.actions)!=null&&C.includes("edit")&&t.isForm?(f.openBlock(),f.createBlock(g,{key:0,to:`/edit?table=${(D=(P=n.$route)==null?void 0:P.params)==null?void 0:D.catchAll}&id=${(R=t.item)==null?void 0:R.id}`,class:"w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"},{default:f.withCtx(()=>[f.createVNode(l,{color:"#000"}),e[4]||(e[4]=f.createTextVNode(" Редагувати "))]),_:1},8,["to"])):f.createCommentVNode("",!0),(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(a.getCustomActions,(G,ee)=>(f.openBlock(),f.createElementBlock("button",{key:ee,onClick:ce=>a.customButtonAction(G),class:"w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"},[f.createVNode(b,{class:"opacity-0"}),f.createElementVNode("span",R9,f.toDisplayString(G==null?void 0:G.label),1)],8,z9))),128)),t.isForm?(f.openBlock(),f.createElementBlock("div",L9)):f.createCommentVNode("",!0),($=t.actions)!=null&&$.includes("del")?(f.openBlock(),f.createElementBlock("button",{key:2,onClick:e[0]||(e[0]=f.withModifiers((...G)=>a.openConfirm&&a.openConfirm(...G),["stop"])),class:"w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"},[f.createVNode(b),e[5]||(e[5]=f.createElementVNode("span",{class:"text-gray-800"},"Видалити",-1))])):f.createCommentVNode("",!0)])]}),_:1})]),f.createVNode(E,{visible:r.isDeleteConfirm,"onUpdate:visible":e[3]||(e[3]=C=>r.isDeleteConfirm=C),size:"small",title:"Ви впевнені?"},{default:f.withCtx(()=>[f.createElementVNode("div",V9,[e[6]||(e[6]=f.createElementVNode("p",{class:"mt-1 text-gray-500 dark:text-neutral-500"}," Ви впевнені, що хочете видалити цей об'єкт? ",-1)),f.createElementVNode("div",F9,[f.createElementVNode("button",{type:"button",class:"inline-flex items-center px-3 py-2 text-sm font-medium text-gray-800 bg-white border border-gray-200 rounded-lg shadow-sm gap-x-2 hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:e[1]||(e[1]=C=>r.isDeleteConfirm=!1)}," Скасувати "),f.createElementVNode("button",{type:"button",class:"inline-flex items-center px-3 py-2 text-sm font-semibold text-white bg-red-500 border border-transparent rounded-lg gap-x-2 hover:bg-red-600 disabled:opacity-50 disabled:pointer-events-none",onClick:e[2]||(e[2]=(...C)=>a.deleteElement&&a.deleteElement(...C))}," Так, я впевнена/ий ")])])]),_:1},8,["visible"])],64)}const j9=Ue(D9,[["render",$9]]),U9={},H9={class:"flex-shrink-0 mt-0.5 size-3.5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function q9(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",H9,e[0]||(e[0]=[f.createElementVNode("path",{d:"m3 16 4 4 4-4"},null,-1),f.createElementVNode("path",{d:"M7 20V4"},null,-1),f.createElementVNode("path",{d:"m21 8-4-4-4 4"},null,-1),f.createElementVNode("path",{d:"M17 4v16"},null,-1)]))}const W9=Ue(U9,[["render",q9]]),G9={},Z9={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-rosette-discount-check"};function Y9(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",Z9,e[0]||(e[0]=[f.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),f.createElementVNode("path",{d:"M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1"},null,-1),f.createElementVNode("path",{d:"M9 12l2 2l4 -4"},null,-1)]))}const X9={components:{IconExport:W9,IconChevronDown:i_,IconSuccess:Ue(G9,[["render",Y9]])},props:{table:String,columns:Array,page:[String,Number],filterCustom:String,filterState:String,filters:String},data(){return{isOpen:!1,tableFormats:["json","csv","xlsx"],format:"",cols:[],activeAction:"",isSuccessTemplate:!1,actions:[{name:"choceAll",function:this.choceAll,label:"Вибрати усі"},{name:"choceVisible",function:this.choceVisible,label:"Вибрати поточні"},{name:"clearAll",function:this.clearAll,label:"Жодного"}]}},watch:{isOpen(n){n||(this.format="",this.cols=[],this.activeAction="",this.isSuccessTemplate=!1)}},methods:{async exportTable(){var n;if(!((n=this.cols)!=null&&n.length)){this.$notify({type:"error",title:"Помилка",message:"Оберіть колонки для експорту!"});return}if(!this.format){this.$notify({type:"error",title:"Помилка",message:"Оберіть формат!"});return}try{const e=await ut.get("/api/export",{params:{table:this.table,format:this.format,cols:this.cols.join(","),page:this.page,filter:this.filters||null,state:this.filterState||null,custom:this.filterCustom||null},responseType:"blob"}),t=await e.data.text(),i=t!=null&&t.includes(";")?null:JSON==null?void 0:JSON.parse(t),r=new Blob([e.data],{type:"application/octet-stream"}),a=window.URL.createObjectURL(r),u=document.createElement("a");if(u.href=a,u.setAttribute("download",`${this.table.split(".")[0]}.${this.format}`),document.body.appendChild(u),typeof i=="string"){this.exportTable();return}u.click(),document.body.removeChild(u),window.URL.revokeObjectURL(a),this.$notify({type:"success",title:"Експорт",message:"Файл успішно експортовано!"}),this.isSuccessTemplate=!0}catch(e){console.log(e),this.$notify({type:"error",title:"Помилка",message:"Не вдалося експортувати файл."})}},selectFormat(n){this.format=n},choceAll(){var n;this.cols=(n=this.columns)==null?void 0:n.map(e=>e==null?void 0:e.name),this.activeAction="choceAll"},clearAll(){this.cols=[],this.activeAction="clearAll"},choceVisible(){var n,e;this.cols=(e=(n=this.columns)==null?void 0:n.filter(t=>(t==null?void 0:t.hidden)!==!0))==null?void 0:e.map(t=>t==null?void 0:t.name),this.activeAction="choceVisible"}}},K9={key:0,class:"flex flex-col items-center"},J9={key:1,class:"p-4"},Q9={class:"pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700"},eH={class:"flex items-center"},tH={class:"flex items-center gap-[10px] ml-auto"},nH=["onClick"],iH={key:0,class:"block h-[8px] w-[8px] rounded-full bg-blue-500"},rH={class:"mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]"},sH={class:"pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700"},oH={class:"mt-2 space-y-2"},aH=["id","onChange"],lH=["for"],cH={key:0,class:"flex w-full justify-end p-[20px] gap-[6px] border-t"},uH={key:1,class:"flex w-full justify-end p-[20px] gap-[6px] border-t"};function hH(n,e,t,i,r,a){const u=f.resolveComponent("IconExport"),l=f.resolveComponent("IconChevronDown"),g=f.resolveComponent("IconSuccess"),b=f.resolveComponent("VsCheckbox"),w=f.resolveComponent("VsDialog");return f.openBlock(),f.createElementBlock(f.Fragment,null,[f.createElementVNode("button",{onClick:e[0]||(e[0]=E=>r.isOpen=!0),class:"py-2 px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[f.createVNode(u,{height:"16",width:"16"}),e[7]||(e[7]=f.createTextVNode(" Експорт ")),f.createVNode(l,{height:"12",width:"16"})]),f.createVNode(w,{visible:r.isOpen,"onUpdate:visible":e[6]||(e[6]=E=>r.isOpen=E),title:"Експорт таблиці",size:"small",closeClickBack:!0},{footer:f.withCtx(()=>[r.isSuccessTemplate?(f.openBlock(),f.createElementBlock("div",cH,[f.createElementVNode("button",{type:"button",class:"inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border border-gray-200 rounded-lg shadow-sm text-nowrap text-start hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:e[2]||(e[2]=E=>r.isOpen=!1)}," Закрити "),f.createElementVNode("button",{type:"button",class:"inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-blue-600 border border-blue-600 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-blue-300 dark:focus:ring-blue-500",onClick:e[3]||(e[3]=E=>r.isSuccessTemplate=!1)}," Вигрузити ще ")])):(f.openBlock(),f.createElementBlock("div",uH,[f.createElementVNode("button",{type:"button",class:"inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border border-gray-200 rounded-lg shadow-sm text-nowrap text-start hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:e[4]||(e[4]=E=>r.isOpen=!1)}," Скасувати "),f.createElementVNode("button",{type:"button",class:"inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-blue-600 border border-blue-600 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-blue-300 dark:focus:ring-blue-500",onClick:e[5]||(e[5]=(...E)=>a.exportTable&&a.exportTable(...E))}," Завантажити таблицю ")]))]),default:f.withCtx(()=>[r.isSuccessTemplate?(f.openBlock(),f.createElementBlock("div",K9,[f.createVNode(g,{height:"100",width:"100",class:"text-green-200 mb-[20px]"}),e[8]||(e[8]=f.createElementVNode("h2",null,"Звіт сформовано і збережено",-1))])):(f.openBlock(),f.createElementBlock("div",J9,[f.createElementVNode("div",Q9,[f.createElementVNode("div",eH,[e[9]||(e[9]=f.createElementVNode("h2",{class:"text-sm text-gray-500"}," Виберіть стовпці таблиці для експорту: ",-1)),f.createElementVNode("div",tH,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(r.actions,E=>(f.openBlock(),f.createElementBlock("button",{key:E==null?void 0:E.name,onClick:E==null?void 0:E.function,class:"inline-flex items-center gap-[8px] justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border-gray-200 text-nowrap text-start"},[f.createElementVNode("span",{class:f.normalizeClass(["h-[14px] w-[14px] border rounded-full flex items-center justify-center",{"border-blue-500":(E==null?void 0:E.name)===r.activeAction}])},[(E==null?void 0:E.name)===r.activeAction?(f.openBlock(),f.createElementBlock("span",iH)):f.createCommentVNode("",!0)],2),f.createTextVNode(" "+f.toDisplayString(E==null?void 0:E.label),1)],8,nH))),128))])]),f.createElementVNode("div",rH,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.columns,(E,C)=>(f.openBlock(),f.createElementBlock("div",{class:"flex items-center",key:C,style:{width:"calc((100% - 10px) / 2)"}},[f.createVNode(b,{class:"[&>label]:text-sm [&>label]:text-gray-800 [&>label]:ms-3 !gap-x-[1px] !p-0",modelValue:r.cols,"onUpdate:modelValue":e[1]||(e[1]=P=>r.cols=P),value:E==null?void 0:E.name,label:E==null?void 0:E.ua},null,8,["modelValue","value","label"])]))),128))])]),f.createElementVNode("div",sH,[e[10]||(e[10]=f.createElementVNode("h2",{class:"text-sm text-gray-500"},"Виберіть формат таблиці:",-1)),f.createElementVNode("div",oH,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(r.tableFormats,(E,C)=>(f.openBlock(),f.createElementBlock("div",{class:"flex items-center",key:C},[f.createElementVNode("input",{type:"radio",name:"hs-pro-duecmfm",class:"text-blue-600 border-gray-300 rounded-full shrink-0 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-500 dark:checked:bg-blue-500 dark:checked:border-blue-500 dark:focus:ring-offset-gray-800",id:E,onChange:P=>a.selectFormat(E)},null,40,aH),f.createElementVNode("label",{for:E,class:"text-sm text-gray-800 ms-3 dark:text-neutral-400"}," Формат "+f.toDisplayString(E),9,lH)]))),128))])])]))]),_:1},8,["visible"])],64)}const dH=Ue(X9,[["render",hH]]),pH={},fH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-columns"};function mH(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",fH,e[0]||(e[0]=[f.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l5.5 0"></path><path d="M4 10l5.5 0"></path><path d="M4 14l5.5 0"></path><path d="M4 18l5.5 0"></path><path d="M14.5 6l5.5 0"></path><path d="M14.5 10l5.5 0"></path><path d="M14.5 14l5.5 0"></path><path d="M14.5 18l5.5 0"></path>',9)]))}const gH=Ue(pH,[["render",mH]]),yH={props:{column:Object},emits:["update-column"],data(){return{value:!1}},watch:{value(n){this.$emit("update-column",{...this.column,hidden:!n})}},mounted(){var n;((n=this.column)==null?void 0:n.hidden)!==!0&&(this.value=!0)}},_H={class:"flex w-full gap-[8px] items-centr"};function bH(n,e,t,i,r,a){var u,l;return f.openBlock(),f.createElementBlock("label",_H,[f.withDirectives(f.createElementVNode("input",{"onUpdate:modelValue":e[0]||(e[0]=g=>r.value=g),type:"checkbox"},null,512),[[f.vModelCheckbox,r.value]]),f.createTextVNode(" "+f.toDisplayString(((u=t.column)==null?void 0:u.ua)||((l=t.column)==null?void 0:l.title)),1)])}const xH={components:{IconColumns:gH,AdminTableColumnsHiddenItem:Ue(yH,[["render",bH]])},emits:["update-columns"],props:{columns:Array},methods:{updateColumn(n){const e=this.columns.findIndex(i=>(i==null?void 0:i.name)===(n==null?void 0:n.name)),t=this.columns;t[e]=n,this.$emit("update-columns",[...t])}}},vH={class:"py-2 px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},wH={class:"py-[10px] px-[10px] w-[260px]"},kH={class:"flex flex-col gap-[3px] max-h-[400px] w-full overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"};function SH(n,e,t,i,r,a){const u=f.resolveComponent("IconColumns"),l=f.resolveComponent("AdminTableColumnsHiddenItem"),g=f.resolveComponent("VsPopover");return f.openBlock(),f.createBlock(g,{trigger:"click",placement:"bottom"},{reference:f.withCtx(()=>[f.createElementVNode("button",vH,[f.createVNode(u,{height:"20",width:"16"})])]),default:f.withCtx(()=>[f.createElementVNode("div",wH,[e[0]||(e[0]=f.createElementVNode("h2",{class:"text-sm mb-[8px]"},"Оберіть колонки, щоб приховати",-1)),f.createElementVNode("ul",kH,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.columns,(b,w)=>(f.openBlock(),f.createElementBlock("li",{key:w},[f.createVNode(l,{column:b,onUpdateColumn:a.updateColumn},null,8,["column","onUpdateColumn"])]))),128))])])]),_:1})}const EH=Ue(xH,[["render",SH]]),CH={},TH={class:"hidden sm:block shrink-0 size-3",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 16 16"};function MH(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",TH,e[0]||(e[0]=[f.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8 1C8.55228 1 9 1.44772 9 2V7L14 7C14.5523 7 15 7.44771 15 8C15 8.55228 14.5523 9 14 9L9 9V14C9 14.5523 8.55228 15 8 15C7.44772 15 7 14.5523 7 14V9.00001L2 9.00001C1.44772 9.00001 1 8.5523 1 8.00001C0.999999 7.44773 1.44771 7.00001 2 7.00001L7 7.00001V2C7 1.44772 7.44772 1 8 1Z"},null,-1)]))}const a_=Ue(CH,[["render",MH]]),AH={props:{row:Object,column:Object,table:String}};function PH(n,e,t,i,r,a){var u,l,g,b,w,E,C,P;return f.openBlock(),f.createBlock(f.resolveDynamicComponent(((u=t.column)==null?void 0:u.format)==="custom"?(l=t.column)==null?void 0:l.component:`table-format-${((b=(g=t.column)==null?void 0:g.format)==null?void 0:b.toLowerCase())||"text"}`),{onUpdateTable:e[0]||(e[0]=D=>n.$emit("update-table")),name:(w=t.column)==null?void 0:w.name,data:t.row,value:(C=t.row)==null?void 0:C[(E=t.column)==null?void 0:E.name],table:t.table,column:t.column,edit:(P=t.column)==null?void 0:P.edit},null,40,["name","data","value","table","column","edit"])}const HS=Ue(AH,[["render",PH]]),IH={},DH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-minus"};function OH(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",DH,e[0]||(e[0]=[f.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),f.createElementVNode("path",{d:"M5 12l14 0"},null,-1)]))}const BH={components:{IconPlus:a_,IconMinus:Ue(IH,[["render",OH]])},props:{title:String,defaultValue:{type:Boolean,default:()=>!1}},data(){return{expanded:this.defaultValue}}},NH={class:"hs-accordion"},zH={class:"py-0.5 flex items-center gap-x-0.5 w-full"},RH={class:"text-sm font-medium"},LH={class:"relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b"};function VH(n,e,t,i,r,a){const u=f.resolveComponent("IconPlus"),l=f.resolveComponent("IconMinus");return f.openBlock(),f.createElementBlock("div",null,[f.createElementVNode("div",null,[f.createElementVNode("div",NH,[f.createElementVNode("div",zH,[f.createElementVNode("div",{onClick:e[0]||(e[0]=g=>r.expanded=!r.expanded),class:"rounded-md cursor-pointer grow"},[f.createElementVNode("span",RH,f.toDisplayString(t.title),1)]),f.createElementVNode("button",{class:"flex items-center justify-center rounded-md size-6 hover:bg-gray-100",onClick:e[1]||(e[1]=g=>r.expanded=!r.expanded)},[r.expanded?(f.openBlock(),f.createBlock(l,{key:1,width:"14"})):(f.openBlock(),f.createBlock(u,{key:0}))])]),f.createVNode(f.Transition,{name:"fade"},{default:f.withCtx(()=>[f.withDirectives(f.createElementVNode("div",LH,[f.renderSlot(n.$slots,"default",{},void 0,!0)],512),[[f.vShow,r.expanded]])]),_:3})])])])}const FH={components:{AdminComponentIs:HS,AdminTree:Ue(BH,[["render",VH],["__scopeId","data-v-c6318482"]]),VsNoData:$S,VsWidgetComments:BS,VsWidgetMap:sy,VsWidgetFileList:Kv},props:{table:String,columns:Array,row:Object}},$H={class:"hs-accordion border-gray-100 w-[360px] shrink-0 overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500",style:{height:"calc(100vh - 310px)"}},jH={class:"border-l",style:{height:"calc(100vh - 360px)"}},UH={class:"flex items-center justify-between py-1 gap-x-4"},HH={class:"col-span-1"},qH={class:"inline-flex items-center gap-x-2 text-[13px] text-gray-500 dark:text-neutral-500"},WH={class:"col-span-2"},GH={class:"font-medium text-[13px] text-gray-800 dark:text-neutral-200"},ZH={class:"table-info-card"},YH={class:"table-info-card"};function XH(n,e,t,i,r,a){var C,P,D;const u=f.resolveComponent("AdminComponentIs"),l=f.resolveComponent("AdminTree"),g=f.resolveComponent("VsWidgetMap"),b=f.resolveComponent("VsNoData"),w=f.resolveComponent("VsWidgetComments"),E=f.resolveComponent("VsWidgetFileList");return f.openBlock(),f.createElementBlock("div",$H,[e[0]||(e[0]=f.createElementVNode("div",{class:"p-[10px] pl-[18px] pb-[18px] border-b"},[f.createElementVNode("h2",{class:"text-sm font-medium"},"Інформація про об'єкт")],-1)),f.createElementVNode("div",jH,[(P=(C=n.$route)==null?void 0:C.query)!=null&&P.card?(f.openBlock(),f.createElementBlock(f.Fragment,{key:0},[t.row?(f.openBlock(),f.createBlock(l,{key:0,defaultValue:!0,title:"Основна інформація",class:"border-b p-[10px] py-[16px]"},{default:f.withCtx(()=>[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.columns,R=>(f.openBlock(),f.createElementBlock("dl",UH,[f.createElementVNode("dt",HH,[f.createElementVNode("p",qH,f.toDisplayString((R==null?void 0:R.ua)||(R==null?void 0:R.title))+": ",1)]),f.createElementVNode("dd",WH,[f.createElementVNode("p",GH,[f.createVNode(u,{row:t.row,column:R,table:t.table},null,8,["row","column","table"])])])]))),256))]),_:1})):f.createCommentVNode("",!0),(D=t.row)!=null&&D.geom?(f.openBlock(),f.createBlock(l,{key:1,title:"Карта",class:"border-b p-[10px] py-[16px]"},{default:f.withCtx(()=>{var R,$;return[(R=t.row)!=null&&R.geom?(f.openBlock(),f.createBlock(g,{key:0,geometry:($=t.row)==null?void 0:$.geom,zoom:14},null,8,["geometry"])):(f.openBlock(),f.createBlock(b,{key:1,title:"У об'єкта відсутня геометрія",text:"",class:"[&>div]:h-[200px] [&>div]:min-h-[400px] h-[400px]"}))]}),_:1})):f.createCommentVNode("",!0),f.createVNode(l,{title:"Коментарі",class:"border-b p-[10px] py-[16px]"},{default:f.withCtx(()=>{var R;return[f.createElementVNode("div",ZH,[f.createVNode(w,{id:(R=t.row)==null?void 0:R.id},null,8,["id"])])]}),_:1}),f.createVNode(l,{title:"Файли",class:"border-b p-[10px] py-[16px]"},{default:f.withCtx(()=>{var R;return[f.createElementVNode("div",YH,[f.createVNode(E,{id:(R=t.row)==null?void 0:R.id},null,8,["id"])])]}),_:1})],64)):(f.openBlock(),f.createBlock(b,{key:1,text:"Оберіть один з об'єктів в таблиці для відображення інформаціі про нього"}))])])}const KH=Ue(FH,[["render",XH]]),JH={},QH={class:"size-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function eq(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",QH,e[0]||(e[0]=[f.createElementVNode("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"},null,-1),f.createElementVNode("path",{d:"M15 3v18"},null,-1),f.createElementVNode("path",{d:"m8 9 3 3-3 3"},null,-1)]))}const tq=Ue(JH,[["render",eq]]),nq={},iq={class:"h21yx vs0hq",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function rq(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",iq,e[0]||(e[0]=[f.createStaticVNode('<line x1="21" x2="14" y1="4" y2="4"></line><line x1="10" x2="3" y1="4" y2="4"></line><line x1="21" x2="12" y1="12" y2="12"></line><line x1="8" x2="3" y1="12" y2="12"></line><line x1="21" x2="16" y1="20" y2="20"></line><line x1="12" x2="3" y1="20" y2="20"></line><line x1="14" x2="14" y1="2" y2="6"></line><line x1="8" x2="8" y1="10" y2="14"></line><line x1="16" x2="16" y1="18" y2="22"></line>',9)]))}const sq={emits:["filterChange"],props:{scheme:{type:Object},onFilters:{type:Number},table:{type:String}},components:{IconFilter:Ue(nq,[["render",rq]])},data(){return{isFilters:!1}},methods:{closeFilter({target:n}){this.isFilters&&n.classList.contains("filter-container")&&(this.isFilters=!1)}}},oq={key:0,class:"font-medium text-[10px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full dark:bg-neutral-500"},aq={class:"filter-content h-screen bg-white w-[400px] p-[20px] pt-[10px] overflow-x-auto bg-white [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"};function lq(n,e,t,i,r,a){const u=f.resolveComponent("IconFilter"),l=f.resolveComponent("VsFilter");return f.openBlock(),f.createElementBlock(f.Fragment,null,[f.createElementVNode("button",{onClick:e[0]||(e[0]=g=>r.isFilters=!r.isFilters),class:"py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[f.createVNode(u,{height:"16",width:"16"}),e[4]||(e[4]=f.createTextVNode(" Фільтри ")),t.onFilters?(f.openBlock(),f.createElementBlock("span",oq,f.toDisplayString(t.onFilters),1)):f.createCommentVNode("",!0)]),f.createVNode(f.Transition,{name:"fade"},{default:f.withCtx(()=>{var g;return[f.withDirectives(f.createElementVNode("div",{onClick:e[3]||(e[3]=(...b)=>a.closeFilter&&a.closeFilter(...b)),style:{height:"100vh"},class:"fixed filter-container top-0 flex justify-end items-center z-[2] right-0 left-0 bottom-0 bg-[rgba(0,0,0,0.5)]"},[f.createElementVNode("div",aq,[(g=t.scheme)!=null&&g.length?(f.openBlock(),f.createBlock(l,{key:0,ref:"filter",scheme:t.scheme,layout:"default","apply-vue-router":"",history:"",token:t.table,name:"filter",onFilterChange:e[1]||(e[1]=b=>n.$emit("filterChange",b)),closeFilterBtn:!0,onFilterClose:e[2]||(e[2]=b=>r.isFilters=!1)},null,8,["scheme","token"])):f.createCommentVNode("",!0)])],512),[[f.vShow,r.isFilters]])]}),_:1})],64)}const cq=Ue(sq,[["render",lq]]),uq={props:{tabsList:{type:Array,default:()=>[]},filterState:String}},hq={class:"relative flex space-x-1 mb-[20px] after:absolute after:w-[99%] after:bottom-0 after:inset-x-0 after:border-b-2 after:border-gray-200 dark:after:border-neutral-700","aria-label":"Tabs",role:"tablist","aria-orientation":"horizontal"},dq=["onClick"];function pq(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("nav",hq,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.tabsList,u=>(f.openBlock(),f.createElementBlock("button",{onClick:l=>n.$emit("update:filterState",u==null?void 0:u.name),class:f.normalizeClass(["hs-tab-active:after:bg-gray-800 hs-tab-active:text-gray-800 px-2.5 py-1.5 mb-2 relative inline-flex justify-center items-center gap-x-2 hover:bg-gray-100 text-gray-500 hover:text-gray-800 text-sm rounded-lg disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 after:absolute after:-bottom-2 after:inset-x-0 after:z-10 after:h-0.5 after:pointer-events-none dark:hs-tab-active:text-neutral-200 dark:hs-tab-active:after:bg-neutral-400 dark:text-neutral-500 dark:hover:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 active",{" font-semibold after:absolute after:bottom-[-8px] after:left-2.5 after:right-2.5 after:z-10 after:h-0.5 after:bg-gray-800":(u==null?void 0:u.name)===t.filterState}])},f.toDisplayString(u==null?void 0:u.label),11,dq))),256))])}const fq=Ue(uq,[["render",pq]]),mq={},gq={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-filter"};function yq(n,e,t,i,r,a){return f.openBlock(),f.createElementBlock("svg",gq,e[0]||(e[0]=[f.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),f.createElementVNode("path",{d:"M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z"},null,-1)]))}const _q={components:{IconFilter2:Ue(mq,[["render",yq]])},props:{filterCustom:String,customList:Array}},bq={class:"py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},xq={class:"flex flex-col gap-[4px]"},vq=["onClick"];function wq(n,e,t,i,r,a){const u=f.resolveComponent("IconFilter2"),l=f.resolveComponent("VsPopover");return f.openBlock(),f.createBlock(l,{ref:"popover",placement:"bottom"},{reference:f.withCtx(()=>[f.createElementVNode("button",bq,[f.createVNode(u,{height:"20",width:"20"})])]),default:f.withCtx(()=>[f.createElementVNode("div",xq,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(t.customList,(g,b)=>(f.openBlock(),f.createElementBlock("button",{onClick:w=>{var E;n.$emit("update:filterCustom",g==null?void 0:g.name),(E=n.$refs)==null||E.popover.togglePopover()},key:b,class:f.normalizeClass(["p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300",{"bg-gray-100":t.filterCustom===(g==null?void 0:g.name)}])},f.toDisplayString(g==null?void 0:g.label),11,vq))),128)),f.createElementVNode("button",{class:"p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300",onClick:e[0]||(e[0]=g=>{var b;n.$emit("update:filterCustom",void 0),(b=n.$refs)==null||b.popover.togglePopover()})}," Скинути фільтри ")])]),_:1},512)}const kq=Ue(_q,[["render",wq]]),Sq={class:"flex items-center gap-x-2"},Eq={props:{table:String,title:String},components:{AdminTableControl:j9,AdminTableExport:dH,AdminTableColumnsHidden:EH,AdminTableColumn:I9,AdminNodata:e_,IconPlus:a_,IconSearch:n_,AdminTableCardInfo:KH,IconOpenCard:tq,AdminComponentIs:HS,AdminTableFilters:cq,AdminTableTabs:fq,AdminTableCustomFilters:kq,AdminTableCustomButtons:{__name:"admin-table-custom-buttons",props:{slots:Object},setup(n){var l,g,b,w,E;const{asyncTemplateSlot:e}=(E=(w=(b=(g=(l=f.getCurrentInstance())==null?void 0:l.appContext)==null?void 0:g.app)==null?void 0:b.config)==null?void 0:w.globalProperties)==null?void 0:E.utils,t=f.ref(""),i=f.ref(""),r=n,a=()=>{var C,P,D,R,$;if((C=r.slots)!=null&&C.panelLeft||(i.value="div"),(D=(P=r.slots)==null?void 0:P.panelLeft)!=null&&D.includes("<")){const G=e("PanelLeft",(R=r.slots)==null?void 0:R.panelLeft,["name"]);i.value=G}else i.value=($=r.slots)==null?void 0:$.panelLeft},u=()=>{var C,P,D,R,$;if((C=r.slots)!=null&&C.panelRight||(t.value="div"),(D=(P=r.slots)==null?void 0:P.panelRight)!=null&&D.includes("<")){const G=e("PanelRight",(R=r.slots)==null?void 0:R.panelRight,["name"]);t.value=G}else t.value=($=r.slots)==null?void 0:$.panelRight};return a(),u(),(C,P)=>(f.openBlock(),f.createElementBlock("div",Sq,[(f.openBlock(),f.createBlock(f.resolveDynamicComponent(i.value))),(f.openBlock(),f.createBlock(f.resolveDynamicComponent(t.value)))]))}},AdminCustomButtonAdd:{__name:"admin-custom-button-add",props:{slots:Object},setup(n){var a,u,l,g,b;const{asyncTemplateSlot:e}=(b=(g=(l=(u=(a=f.getCurrentInstance())==null?void 0:a.appContext)==null?void 0:u.app)==null?void 0:l.config)==null?void 0:g.globalProperties)==null?void 0:b.utils,t=f.ref(""),i=n;return(()=>{var w,E,C,P,D;if((w=i.slots)!=null&&w.addButton||(t.value="div"),(C=(E=i.slots)==null?void 0:E.addButton)!=null&&C.includes("<")){const R=e("addButton",(P=i.slots)==null?void 0:P.addButton,["IconPlus"]);t.value=R}else t.value=(D=i.slots)==null?void 0:D.addButton})(),(w,E)=>t.value?(f.openBlock(),f.createBlock(f.resolveDynamicComponent(t.value),{key:0,IconPlus:a_})):f.createCommentVNode("",!0)}}},data(){return{tableData:{},filterScheme:[],page:1,searchValue:"",limit:0,filters:null,activeColumn:"",isVisibleCardInfo:!1,onFilters:0,filterState:null,filterCustom:null,visibleColumns:[],initialHiddenColumns:""}},async mounted(){await this.checkUrlMounted(),await this.getTableData(),await this.getFilters()},computed:{defaultPage(){var n,e;return((e=(n=this.$route)==null?void 0:n.query)==null?void 0:e.page)||1},columns(){var n,e;return(e=(n=this.tableData)==null?void 0:n.columns)==null?void 0:e.filter(t=>(t==null?void 0:t.hidden)!==!0)},isForm(){var n,e,t;return((n=this.tableData)==null?void 0:n.form)&&((t=(e=this.tableData)==null?void 0:e.actions)==null?void 0:t.includes("add"))},isNoData(){var n,e;return!((n=this.tableData)!=null&&n.rows)||!((e=this.columns)!=null&&e.length)},activeCardRow(){var n,e;return((e=(n=this.tableData)==null?void 0:n.rows)==null?void 0:e.find(t=>{var i,r;return(t==null?void 0:t.id)===((r=(i=this.$route)==null?void 0:i.query)==null?void 0:r.card)}))||{}},getActions(){var n;return(n=this.tableData)==null?void 0:n.actions}},watch:{async table(){this.tableData=null,await this.getTableData()},searchValue:{handler:((n,e=300)=>{let t;return function(...i){clearTimeout(t),t=setTimeout(()=>{n.apply(this,i)},e)}})(async function(n){var e;await this.getTableData(),this.$router.push({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,search:n||void 0}})},500)},$route:{handler(n,e){var t,i;((t=n==null?void 0:n.params)==null?void 0:t.catchAll)!==((i=e==null?void 0:e.params)==null?void 0:i.catchAll)&&(this.visibleColumns=[],this.unmountedData(),this.getFilters())},deep:!0},limit(n){var e;this.$router.replace({query:{...(e=this.$route)==null?void 0:e.query,limit:n}})},filterState(n){var e;n&&(this.$router.replace({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,filterState:n}}),this.getTableData())},filterCustom(n){var e;this.$router.replace({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,custom:n}}),this.getTableData()},columns(n){var e,t,i,r;this.visibleColumns=n==null?void 0:n.map(a=>a==null?void 0:a.name),this.initialHiddenColumns===((e=this.visibleColumns)==null?void 0:e.join(","))&&(this.visibleColumns=[]),this.$router.replace({...this.$route,query:{...(t=this.$route)==null?void 0:t.query,columns:(i=this.visibleColumns)!=null&&i.length?(r=this.visibleColumns)==null?void 0:r.join(","):void 0}})}},methods:{async checkUrlMounted(){var n,e,t,i,r,a,u,l,g,b,w,E,C,P,D,R,$;this.page=((e=(n=this.$route)==null?void 0:n.query)==null?void 0:e.page)||1,this.limit=((i=(t=this.$route)==null?void 0:t.query)==null?void 0:i.limit)||20,this.filters=((u=decodeURI((a=(r=this.$route)==null?void 0:r.query)==null?void 0:a.filter))==null?void 0:u.replaceAll("+"," "))||null,this.filterState=((g=(l=this.$route)==null?void 0:l.query)==null?void 0:g.filterState)||null,this.filterCustom=((w=(b=this.$route)==null?void 0:b.query)==null?void 0:w.custom)||null,this.searchValue=((C=(E=this.$route)==null?void 0:E.query)==null?void 0:C.search)||"",this.visibleColumns=((R=(D=(P=this.$route)==null?void 0:P.query)==null?void 0:D.columns)==null?void 0:R.split(","))||[],($=this.$route)!=null&&$.query.card&&(this.isVisibleCardInfo=!0)},rowWidth(n){var t,i;const e=(i=(t=this.tableData)==null?void 0:t.columns)==null?void 0:i.find(r=>r.name===n);if(e){const r=e==null?void 0:e.width;return typeof r=="number"?`${r}px`:r!=null&&r.includes("px")?r:`${r}px`}},unmountedData(){this.page=1,this.visibleColumns=[],this.filterCustom=null,this.filterState=null,this.isVisibleCardInfo=!1,this.filterScheme=null,this.filters=null,this.onFilters=0,this.searchValue=""},async getTableData(){var n,e,t,i,r,a,u,l,g,b,w;try{const{data:E}=await ut.get(`/api/template/table/${this.table}`),C=await ut.get(`/api/table-data/${this.table}`,{params:{page:this.page,search:this.searchValue||null,limit:this.limit,filter:this.filters||null,order:((e=(n=this.$route)==null?void 0:n.query)==null?void 0:e.sort)||null,state:this.filterState||null,custom:this.filterCustom||null}});this.tableData={...E,...(C==null?void 0:C.data)||{}},this.initialHiddenColumns=(a=(r=(i=(t=this.tableData)==null?void 0:t.columns)==null?void 0:i.filter(P=>(P==null?void 0:P.hidden)!==!0))==null?void 0:r.map(P=>P==null?void 0:P.name))==null?void 0:a.join(","),(u=this.visibleColumns)!=null&&u.length?(l=this.tableData)==null||l.columns.forEach(P=>{var D;(D=this.visibleColumns)!=null&&D.includes(P==null?void 0:P.name)?P.hidden=!1:P.hidden=!0}):this.visibleColumns=(w=(b=(g=this.tableData)==null?void 0:g.columns)==null?void 0:b.filter(P=>(P==null?void 0:P.hidden)!==!0))==null?void 0:w.map(P=>P==null?void 0:P.name)}catch{}},async getFilters(){var n;try{const{data:e}=await ut.get(`/api/table-filter/${this.table}`);this.filterScheme=(n=e==null?void 0:e.list)==null?void 0:n.map(t=>({...t,label:(t==null?void 0:t.label)||(t==null?void 0:t.ua)}))}catch{}},async handlePageChange(n){const e=this.$route.query;this.page=n,!(!(e!=null&&e.page)&&n===1||e.page===n)&&(await this.$router.replace({query:{...e,page:n}}),await this.getTableData())},async changeLimit(n){this.limit=await n,this.defaultPage=1,await this.getTableData()},async filterChange({url:n,state:e}){var t;this.filters=n!=="no-url"?n:null,this.onFilters=(t=Object.entries(e))==null?void 0:t.length,this.page=1,await this.getTableData()},changeActiveColumn(n){this.activeColumn=n,this.getTableData()},pushToCard(n){var e;((e=this.tableData)==null?void 0:e.card)===!1||this.$router.push(`/card/${this.table}/${n}`)},changeActiveCardInfo(n){var e;this.isVisibleCardInfo&&this.$router.push({...this.$route,query:{...(e=this.$route)==null?void 0:e.query,card:n}})},toggleCardInfo(){var n;this.isVisibleCardInfo=!this.isVisibleCardInfo,this.isVisibleCardInfo||this.$router.push({...this.$route,query:{...(n=this.$route)==null?void 0:n.query,card:void 0}})}}},Cq={class:"w-[calc(100vw - 320px)] bg-gray-50"},Tq={class:"h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl"},Mq={class:"text-xl font-medium"},Aq={style:{height:"calc(100vh - 155px)"},class:"bg-gray-50 p-[20px] flex pt-[10px] lg:w-[calc(100vw-260px)] w-[100vw]"},Pq={class:"bg-white w-full rounded-xl border p-[20px] pr-0"},Iq={class:"flex"},Dq={class:"flex gap-[6px] ml-auto"},Oq={class:"inline-block w-full align-middle"},Bq={key:0,class:"relative min-w-full divide-y divide-gray-200 table-fixed w-max dark:divide-neutral-700"},Nq={class:"sticky top-[-1px] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200"},zq={class:"right-0 border-t border-stone-200"},Rq={key:0,class:"w-[70px] sticky right-0 top-0"},Lq={class:"divide-y divide-gray-200"},Vq={class:"px-4 py-3 text-sm text-gray-600"},Fq=["onClick"],$q=["onClick"],jq={class:"p-[20px] flex justify-start items-center w-full"},Uq={class:"w-[200px] md:inline-flex hidden"},Hq={class:"text-sm text-gray-600 dark:text-neutral-400"},qq={class:"font-semibold text-gray-800 dark:text-neutral-200"},Wq={key:0},Gq={key:0,class:"font-semibold text-gray-800 dark:text-neutral-200"};function Zq(n,e,t,i,r,a){var Fe,Be,pt,tt,Nt,rt,Mt,Rt,Ft,zt,Ht,yn,dn,wn,pn,ti,zn,In,Rn,Ee,je,Ye,ot,Lt,Qt,At;const u=f.resolveComponent("AdminCustomButtonAdd"),l=f.resolveComponent("IconPlus"),g=f.resolveComponent("router-link"),b=f.resolveComponent("AdminTableTabs"),w=f.resolveComponent("IconSearch"),E=f.resolveComponent("VsText"),C=f.resolveComponent("AdminTableCustomButtons"),P=f.resolveComponent("AdminTableCustomFilters"),D=f.resolveComponent("AdminTableColumnsHidden"),R=f.resolveComponent("AdminTableExport"),$=f.resolveComponent("AdminTableFilters"),G=f.resolveComponent("IconOpenCard"),ee=f.resolveComponent("AdminTableColumn"),ce=f.resolveComponent("AdminComponentIs"),U=f.resolveComponent("AdminTableControl"),Me=f.resolveComponent("AdminNodata"),ke=f.resolveComponent("VsPagination"),Pe=f.resolveComponent("AdminTableCardInfo");return f.openBlock(),f.createElementBlock("div",Cq,[f.createElementVNode("div",Tq,[f.createElementVNode("h2",Mq,f.toDisplayString(t.title),1),a.isForm?(f.openBlock(),f.createElementBlock(f.Fragment,{key:0},[(Be=(Fe=r.tableData)==null?void 0:Fe.slots)!=null&&Be.addButton?(f.openBlock(),f.createBlock(u,{key:0,slots:(pt=r.tableData)==null?void 0:pt.slots},null,8,["slots"])):(f.openBlock(),f.createBlock(g,{key:1,to:`/add?table=${(Nt=(tt=n.$route)==null?void 0:tt.params)==null?void 0:Nt.catchAll}`,class:"inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"},{default:f.withCtx(()=>[f.createVNode(l,{height:"16",width:"16"}),e[5]||(e[5]=f.createTextVNode(" Додати "))]),_:1},8,["to"]))],64)):f.createCommentVNode("",!0)]),f.createElementVNode("div",Aq,[f.createElementVNode("div",Pq,[(Mt=(rt=r.tableData)==null?void 0:rt.filterState)!=null&&Mt.length?(f.openBlock(),f.createBlock(b,{key:0,tabsList:(Rt=r.tableData)==null?void 0:Rt.filterState,filterState:r.filterState,"onUpdate:filterState":e[0]||(e[0]=Re=>r.filterState=Re)},null,8,["tabsList","filterState"])):f.createCommentVNode("",!0),f.createElementVNode("div",Iq,[f.createElementVNode("div",{class:f.normalizeClass([r.isVisibleCardInfo?"w-[calc(100%-360px)]":"w-full"])},[f.createElementVNode("div",{class:f.normalizeClass(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative",{"pr-[20px]":!r.isVisibleCardInfo}])},[f.createVNode(w,{height:"14",width:"14",class:"absolute top-[10px] left-[14px] text-gray-500 z-[1]"}),f.createVNode(E,{modelValue:r.searchValue,"onUpdate:modelValue":e[1]||(e[1]=Re=>r.searchValue=Re),placeholder:"Пошук...",clearable:!0,class:"[&>input]:py-[7px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600"},null,8,["modelValue"]),f.createElementVNode("div",Dq,[(Ft=r.tableData)!=null&&Ft.slots?(f.openBlock(),f.createBlock(C,{key:0,slots:(zt=r.tableData)==null?void 0:zt.slots},null,8,["slots"])):f.createCommentVNode("",!0),(yn=(Ht=r.tableData)==null?void 0:Ht.filterCustom)!=null&&yn.length?(f.openBlock(),f.createBlock(P,{key:1,customList:(dn=r.tableData)==null?void 0:dn.filterCustom,filterCustom:r.filterCustom,"onUpdate:filterCustom":e[2]||(e[2]=Re=>r.filterCustom=Re)},null,8,["customList","filterCustom"])):f.createCommentVNode("",!0),f.createVNode(D,{columns:(wn=r.tableData)==null?void 0:wn.columns,onUpdateColumns:e[3]||(e[3]=Re=>r.tableData.columns=Re)},null,8,["columns"]),((pn=r.tableData)==null?void 0:pn.export)!==!1?(f.openBlock(),f.createBlock(R,{key:2,table:t.table,columns:(ti=r.tableData)==null?void 0:ti.columns,page:r.page,"filter-state":r.filterState,"filter-custom":r.filterCustom,filters:r.filters},null,8,["table","columns","page","filter-state","filter-custom","filters"])):f.createCommentVNode("",!0),(zn=r.filterScheme)!=null&&zn.length?(f.openBlock(),f.createBlock($,{key:3,scheme:r.filterScheme,onFilters:r.onFilters,table:t.table,onFilterChange:a.filterChange},null,8,["scheme","onFilters","table","onFilterChange"])):f.createCommentVNode("",!0),f.createElementVNode("button",{onClick:e[4]||(e[4]=(...Re)=>a.toggleCardInfo&&a.toggleCardInfo(...Re)),class:"py-2 px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},[f.createVNode(G,{class:f.normalizeClass({"rotate-180 duration-300":!r.isVisibleCardInfo})},null,8,["class"])])])],2),f.createElementVNode("div",{class:f.normalizeClass(["flex items-start justify-start w-full space-y-5",{"pr-[20px]":!r.isVisibleCardInfo}])},[f.createElementVNode("div",{style:f.normalizeStyle({height:(Rn=(In=r.tableData)==null?void 0:In.filterState)!=null&&Rn.length?"calc(100vh - 370px)":"calc(100vh - 330px)"}),class:"overflow-x-auto w-full [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"},[f.createElementVNode("div",Oq,[a.isNoData?(f.openBlock(),f.createBlock(Me,{key:1})):(f.openBlock(),f.createElementBlock("table",Bq,[f.createElementVNode("thead",Nq,[f.createElementVNode("tr",zq,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(a.columns,Re=>(f.openBlock(),f.createBlock(ee,{key:Re.name,style:f.normalizeStyle({width:a.rowWidth(Re==null?void 0:Re.name),textAlign:Re==null?void 0:Re.align,wordBreak:Re==null?void 0:Re.wrap}),data:Re,activeColumn:r.activeColumn,onChangeActive:a.changeActiveColumn},null,8,["style","data","activeColumn","onChangeActive"]))),128)),(je=(Ee=a.getActions)==null?void 0:Ee.filter(Re=>Re!=="add"&&Re!=="view"))!=null&&je.length?(f.openBlock(),f.createElementBlock("th",Rq)):f.createCommentVNode("",!0)])]),f.createElementVNode("tbody",Lq,[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList((Ye=r.tableData)==null?void 0:Ye.rows,(Re,sn)=>{var ve,_n,mr,qt,on,vi,wi,si,Wi,oi;return f.openBlock(),f.createElementBlock("tr",{key:sn,class:f.normalizeClass({"bg-gray-50":((_n=(ve=n.$route)==null?void 0:ve.query)==null?void 0:_n.card)===(Re==null?void 0:Re.id)})},[f.createElementVNode("td",Vq,[f.createElementVNode("button",{onClick:()=>a.pushToCard(Re==null?void 0:Re.id),class:f.normalizeClass(["text-sm font-medium",[((mr=r.tableData)==null?void 0:mr.card)===!1?"":"text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"]])},[f.createVNode(ce,{row:Re,column:a.columns[0],table:t.table,onUpdateTable:a.getTableData},null,8,["row","column","table","onUpdateTable"])],10,Fq)]),(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList((qt=a.columns)==null?void 0:qt.slice(1),Oi=>(f.openBlock(),f.createElementBlock("td",{onClick:Qr=>a.changeActiveCardInfo(Re==null?void 0:Re.id),class:f.normalizeClass(["px-3 py-3 text-sm text-gray-600 text-start",{"cursor-pointer":r.isVisibleCardInfo}]),key:Oi.name},[f.createVNode(ce,{row:Re,column:Oi,table:t.table,onUpdateTable:a.getTableData},null,8,["row","column","table","onUpdateTable"])],10,$q))),128)),(vi=(on=a.getActions)==null?void 0:on.filter(Oi=>Oi!=="add"&&Oi!=="view"))!=null&&vi.length?(f.openBlock(),f.createElementBlock("td",{key:0,class:f.normalizeClass(["text-center sticky right-0 w-[80px] px-[10px]",{"bg-gray-50":((si=(wi=n.$route)==null?void 0:wi.query)==null?void 0:si.card)===(Re==null?void 0:Re.id),"bg-white":((oi=(Wi=n.$route)==null?void 0:Wi.query)==null?void 0:oi.card)!==(Re==null?void 0:Re.id)}])},[f.createVNode(U,{actions:a.getActions,isForm:a.isForm,item:Re,table:t.table,onUpdateTable:a.getTableData},null,8,["actions","isForm","item","table","onUpdateTable"])],2)):f.createCommentVNode("",!0)],2)}),128))])]))])],4)],2),f.createElementVNode("div",jq,[f.createElementVNode("div",Uq,[f.createElementVNode("p",Hq,[f.createElementVNode("span",qq,[f.createTextVNode(f.toDisplayString(r.filters||r.searchValue?"Знайдено":"Об'єктів")+" "+f.toDisplayString(((ot=r.tableData)==null?void 0:ot.count)||"0 ")+" ",1),r.filters||r.searchValue?(f.openBlock(),f.createElementBlock("span",Wq," з")):f.createCommentVNode("",!0)]),r.filters||r.searchValue?(f.openBlock(),f.createElementBlock("span",Gq,f.toDisplayString(" "+((Lt=r.tableData)==null?void 0:Lt.filtered)||0),1)):f.createCommentVNode("",!0)])]),Math.ceil(((Qt=r.tableData)==null?void 0:Qt.filtered)/r.limit)>1?(f.openBlock(),f.createBlock(ke,{key:0,goTo:!1,class:"justify-end","default-page":parseInt(a.defaultPage),total:((At=r.tableData)==null?void 0:At.filtered)||0,pageSize:parseInt(r.limit),onPageChange:a.handlePageChange,pageSizes:[10,16,20],onPageSizeChange:a.changeLimit,backgroundColor:"#F3F4F6"},null,8,["default-page","total","pageSize","onPageChange","onPageSizeChange"])):f.createCommentVNode("",!0)])],2),f.createVNode(f.Transition,{name:"slide-fade"},{default:f.withCtx(()=>{var Re;return[r.isVisibleCardInfo?(f.openBlock(),f.createBlock(Pe,{key:0,table:t.table,columns:(Re=r.tableData)==null?void 0:Re.columns,row:a.activeCardRow},null,8,["table","columns","row"])):f.createCommentVNode("",!0)]}),_:1})])])])])}const Yq={components:{AdminTable:Ue(Eq,[["render",Zq],["__scopeId","data-v-6645339e"]])},data(){return{table:!1,interface:"",title:""}},watch:{$route:{async handler(){Jr!=null&&Jr.value||await this.getMenu(),await this.checkPageType()},deep:!0},title(n){var e;n&&(document.title=(((e=ia.value)==null?void 0:e.titlePrefix)||"")+n)}},async mounted(){await this.checkPageType()},methods:{flattenMenu(n){const e=[];return n.forEach(t=>{t.menu?e.push(...this.flattenMenu(t.menu)):e.push(t)}),e},async checkPageType(){var i,r;const n=this.flattenMenu(Jr.value);n!=null&&n.length||this.$router.replace("/404");const e=n==null?void 0:n.find(a=>{var u,l;return(a==null?void 0:a.path)==((l=(u=this.$route)==null?void 0:u.params)==null?void 0:l.catchAll)});this.title=e==null?void 0:e.ua,e||this.$router.replace("/404"),e!=null&&e.component&&this.$router.replace((r=(i=this.$route)==null?void 0:i.params)==null?void 0:r.catchAll);const t=e==null?void 0:e.table;this.table=t||!1,!t&&this.getInterface()},async getInterface(){var n,e;try{const{data:t}=await ut.get(`/api/template/interface/${((e=(n=this.$route)==null?void 0:n.params)==null?void 0:e.catchAll)||""}`);this.interface=t||""}catch{this.interface=""}}}},Xq=["innerHTML"];function Kq(n,e,t,i,r,a){const u=f.resolveComponent("AdminTable");return r.table?(f.openBlock(),f.createBlock(u,{key:0,table:r.table,title:r.title},null,8,["table","title"])):(f.openBlock(),f.createElementBlock("div",{key:1,class:"w-full bg-gray-50",style:{height:"calc(100vh - 120px)"},innerHTML:r.interface},null,8,Xq))}const Jq=Object.freeze(Object.defineProperty({__proto__:null,default:Ue(Yq,[["render",Kq]])},Symbol.toStringTag,{value:"Module"}));return mU});
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { _ as g, u as x, d as m } from "./import-file-
|
1
|
+
import { _ as g, u as x, d as m } from "./import-file-Ke8VjJ_M.js";
|
2
2
|
import { resolveComponent as f, openBlock as p, createElementBlock as w, createElementVNode as i, createBlock as y, createCommentVNode as k } from "vue";
|
3
3
|
const v = {
|
4
4
|
data() {
|
@@ -3594,16 +3594,16 @@ function nD(n) {
|
|
3594
3594
|
}
|
3595
3595
|
const iD = [
|
3596
3596
|
// { name: 'profile', path: '/profile', component: () => import('../components/profile/vs-profile.vue') },
|
3597
|
-
{ name: "edit", path: "/edit", component: () => import("./edit-page-
|
3598
|
-
{ name: "add", path: "/add", component: () => import("./add-page-
|
3597
|
+
{ name: "edit", path: "/edit", component: () => import("./edit-page-B2ILwwSz.js") },
|
3598
|
+
{ name: "add", path: "/add", component: () => import("./add-page-CjMMJXor.js") },
|
3599
3599
|
{
|
3600
3600
|
name: "card-view",
|
3601
3601
|
path: "/card",
|
3602
|
-
component: () => import("./card-view-
|
3602
|
+
component: () => import("./card-view-Dgslt2cJ.js"),
|
3603
3603
|
children: [{
|
3604
3604
|
name: "table",
|
3605
3605
|
path: ":table",
|
3606
|
-
component: () => import("./card-view-
|
3606
|
+
component: () => import("./card-view-Dgslt2cJ.js"),
|
3607
3607
|
children: [{ name: "card", path: ":id", component: () => Promise.resolve().then(() => u7) }]
|
3608
3608
|
}]
|
3609
3609
|
}
|
@@ -3657,14 +3657,14 @@ const lD = /* @__PURE__ */ Tt(rD, [["render", aD]]), cD = (n) => {
|
|
3657
3657
|
{
|
3658
3658
|
path: "/",
|
3659
3659
|
name: "home",
|
3660
|
-
component: () => import("./admin-view-
|
3660
|
+
component: () => import("./admin-view-Bp-O1jIb.js"),
|
3661
3661
|
children: [
|
3662
3662
|
...e,
|
3663
3663
|
...n,
|
3664
3664
|
// { path: '/', redirect: '/home' },
|
3665
3665
|
{
|
3666
3666
|
path: "/:catchAll(.*)",
|
3667
|
-
component: () => import("./admin-interface-
|
3667
|
+
component: () => import("./admin-interface-r4MQgd-a.js")
|
3668
3668
|
}
|
3669
3669
|
]
|
3670
3670
|
}
|