PageSourceSearch

https://app.bookmenow.pro/js/8496.f913f700.js

js bookmenow.pro collected 2026-10-07 13:13:41 UTC 9,787 bytes, 2 lines download raw bytes

1"use strict";(self["webpackChunkvue_material_dashboard_2_pro"]=self["webpackChunkvue_material_dashboard_2_pro"]||[]).push([[8496],{99154:function(e,a,l){l.r(a),l.d(a,{default:function(){return q}});l(44114),l(18111),l(7588),l(61701),l(18237),l(13579),l(45367),l(92731);var i=l(20641),t=l(53751),s=l(50953),n=l(90033),r=l(71029),o=l(432),c=l.n(o),u=l(32019),d=l(41582),v=l(61582),p=l(29637),k=l(95657),m=l(2272),h=l(95741),b=l(73970),f=(l(22489),l(5060));const g={class:"vgt-left-align"},_={class:"vgt-left-align"},w={class:"d-flex justify-content-start"};var y={__name:"SellableServiceTable",props:(0,i.zz)({isLoading:{type:Boolean,default:!1}},{rows:{type:Array,default:()=>[]},rowsModifiers:{}}),emits:(0,i.zz)(["drag-end","row-click","remove"],["update:rows"]),setup(e,{emit:a}){const l=a,s=(0,i.fn)(e,"rows"),r=[{field:"name",label:"Назва",sortable:!1},{field:"price",label:"Ціна",sortable:!1,width:"220px"},{field:"actions",label:"Дії",sortable:!1,width:"120px"}];function o(e){if(e.priceDependsOnWeekday){const a=Object.values(e.weekdayPrices||{}).filter(e=>null!==e&&void 0!==e);if(!a.length)return"—";const l=Math.min(...a),i=Math.max(...a);return l===i?`${l} грн`:`${l}–${i} грн`}return null!==e.price&&void 0!==e.price?`${e.price} грн`:"—"}return(a,c)=>((0,i.uX)(),(0,i.Wv)(f.A,{rows:s.value,"onUpdate:rows":c[0]||(c[0]=e=>s.value=e),columns:r,draggable:!0,isLoading:e.isLoading,mode:"","pagination-options":{enabled:!1},onDragEnd:c[1]||(c[1]=e=>l("drag-end")),onRowClick:c[2]||(c[2]=e=>l("row-click",e))},{"column(name)":(0,i.k6)(({row:e})=>[(0,i.Lk)("div",g,[(0,i.Lk)("span",null,(0,n.v_)(e.name),1)])]),"column(price)":(0,i.k6)(({row:e})=>[(0,i.Lk)("div",_,[(0,i.Lk)("span",null,(0,n.v_)(o(e)),1)])]),"column(actions)":(0,i.k6)(({row:e})=>[(0,i.Lk)("div",w,[(0,i.bF)(v.A,{variant:"tertiary",size:"small",icon:"edit","icon-source":"material","aria-label":"Редагувати",onClick:(0,t.D$)(a=>l("row-click",{row:e}),["stop"])},null,8,["onClick"]),(0,i.bF)(v.A,{variant:"destructive",size:"small",icon:"delete","icon-source":"material","aria-label":"Видалити",onClick:(0,t.D$)(a=>l("remove",e),["stop"])},null,8,["onClick"])])]),empty:(0,i.k6)(()=>[...c[3]||(c[3]=[(0,i.eW)(" Ще немає доданих позицій ",-1)])]),_:1},8,["rows","isLoading"]))}};const A=y;var L=A,C=l(74300),F=l(73557),E=l(1818),R=l(84137),S=l(33366);const O={class:"container-fluid"},$={class:"container-fluid mt-2"},W={class:"row"},z={class:"col-12"},M={class:"services-head"},x={key:0,class:"card supercard"},I={class:"card-body"},U={key:1,class:"card supercard bmn-card-flush-mobile"},X={class:"card-body"},D={key:0,class:"services-bulk"},K={class:"services-list__item"},V={class:"services-list__footer"},j="uncategorized";var G={__name:"ServicesDatatable",setup(e){const a=(0,S.d)(),l=(0,r.rd)(),o=(0,R.S)(),f=(0,s.KR)(!1),g=(0,s.KR)(!1),_=(0,s.KR)([]),w=(0,s.KR)([]),y=(0,s.KR)({}),A=j,G=F.A.sellableItem[2],P=(0,i.EW)(()=>{const e=_.value.map(e=>e._id);return w.value.length&&e.push(j),e}),Q=(0,i.EW)(()=>P.value.some(e=>y.value[e])),q=(0,i.EW)(()=>f.value&&!_.value.length&&!w.value.length);function B(){a.error("Виникла помилка. Спробуйте ще раз")}async function T(){g.value=!0;try{const[e,a]=await Promise.all([C.A.sellableServices.list(),C.A.sellableServiceCategories.list()]),l=(a||[]).map(e=>({...e,children:[]})),i=new Map(l.map(e=>[String(e._id),e])),t=[];(e||[]).forEach(e=>{const a={...e,id:e._id},l=e.categoryId?i.get(String(e.categoryId)):null;l?l.children.push(a):t.push(a)}),_.value=l.sort((e,a)=>e.rank-a.rank),w.value=t,y.value=P.value.reduce((e,a)=>(e[a]=y.value[a]??!0,e),{})}finally{g.value=!1}}function H(){const e=!Q.value;P.value.forEach(a=>{y.value[a]=e})}function J({row:e}){l.push(`/sellable-services/${e._id}`)}function N(e){l.push(`/sellable-services/categories/${e}`)}function Y(e){l.push({path:"/sellable-services/new",query:{categoryId:e}})}async function Z(e){const l=e.children?.length||0,t=await o.confirm({title:"Видалити категорію",description:()=>(0,i.h)("span",[`Категорію «${e.name}» буде видалено. `,...l?[(0,i.h)("strong",(0,E.L)(l,F.A.sellableItem))," з неї залишаться, але стануть без категорії. "]:[],"Цю дію не можна скасувати."]),confirmLabel:"Видалити",confirmStyle:"destructive"});if(t)try{await C.A.sellableServiceCategories.removeOne(e._id),a.success("Збережено"),await T()}catch(s){B()}}async function ee(e){const l=await o.confirm({title:"Видалити послугу",description:"Ви впевнені, що хочете видалити? Після видалення відновлення буде неможливо.",confirmLabel:"Видалити",confirmStyle:"destructive"});if(l)try{await C.A.sellableServices.removeOne(e._id),a.success("Збережено"),await T()}catch(i){B()}}async function ae(){const e=_.value.map((e,a)=>({_id:e._id,rank:a+1}));try{await C.A.sellableServiceCategories.sort(e),a.success("Збережено")}catch(l){B()}}async function le(){let e=0;const l=[];_.value.forEach(a=>
1{a.children.forEach(a=>{e+=1,l.push({_id:a._id,rank:e})})}),w.value.forEach(a=>{e+=1,l.push({_id:a._id,rank:e})});try{await C.A.sellableServices.sort(l),a.success("Збережено")}catch(i){B()}}return(0,i.sV)(async()=>{try{await T()}catch(e){B()}finally{f.value=!0}}),(e,a)=>((0,i.uX)(),(0,i.CE)(i.FK,null,[(0,i.bo)((0,i.Lk)("div",O,[(0,i.bF)(u.A,{loaded:f.value},null,8,["loaded"])],512),[[t.aG,!f.value]]),(0,i.bo)((0,i.Lk)("div",$,[(0,i.Lk)("div",W,[(0,i.Lk)("div",z,[(0,i.Lk)("div",M,[a[5]||(a[5]=(0,i.Lk)("h2",{class:"bmn-h2 mb-0"},"Товари і послуги",-1)),(0,i.bF)(p.A,{layout:"page-header"},{secondary:(0,i.k6)(()=>[(0,i.bF)(v.A,{as:"router-link",variant:"secondary",icon:"add","icon-source":"material",to:"/sellable-services/categories/new"},{default:(0,i.k6)(()=>[...a[3]||(a[3]=[(0,i.eW)(" Категорія ",-1)])]),_:1})]),default:(0,i.k6)(()=>[(0,i.bF)(v.A,{as:"router-link",icon:"add","icon-source":"material",to:"/sellable-services/new"},{default:(0,i.k6)(()=>[...a[4]||(a[4]=[(0,i.eW)(" Додати ",-1)])]),_:1})]),_:1})]),q.value?((0,i.uX)(),(0,i.CE)("div",x,[(0,i.Lk)("div",I,[(0,i.bF)(m.A,{title:"Ще немає категорій",description:"Створіть категорію, щоб згрупувати товари і послуги."})])])):((0,i.uX)(),(0,i.CE)("div",U,[(0,i.Lk)("div",X,[P.value.length>1?((0,i.uX)(),(0,i.CE)("div",D,[(0,i.bF)(v.A,{class:"mb-3",variant:"text",size:"small",label:Q.value?"Згорнути всі":"Розгорнути всі",onClick:H},{icon:(0,i.k6)(()=>[Q.value?((0,i.uX)(),(0,i.Wv)(h.A,{key:0})):((0,i.uX)(),(0,i.Wv)(b.A,{key:1}))]),_:1},8,["label"])])):(0,i.Q3)("",!0),(0,i.bF)((0,s.R1)(c()),{class:"services-list",modelValue:_.value,"onUpdate:modelValue":a[0]||(a[0]=e=>_.value=e),"item-key":"_id",handle:".category-handle",animation:500,onEnd:ae},{item:(0,i.k6)(({element:e})=>[(0,i.Lk)("div",K,[(0,i.bF)(d.A,{isOpen:y.value[e._id],"onUpdate:isOpen":a=>y.value[e._id]=a,title:e.name,count:`${(0,s.R1)(G)}: ${e.children.length}`},{"head-start":(0,i.k6)(()=>[...a[6]||(a[6]=[(0,i.Lk)("i",{class:"material-icons category-handle",title:"Перетягніть, щоб змінити порядок"}," drag_indicator ",-1)])]),actions:(0,i.k6)(()=>[(0,i.bF)(k.A,{text:"Редагувати категорію"},{trigger:(0,i.k6)(({props:a})=>[(0,i.bF)(v.A,(0,i.v6)({size:"small"},a,{"aria-label":"Редагувати категорію",variant:"tertiary",icon:"edit","icon-source":"material",onClick:a=>N(e._id)}),null,16,["onClick"])]),_:2},1024),(0,i.bF)(k.A,{text:"Видалити категорію"},{trigger:(0,i.k6)(({props:a})=>[(0,i.bF)(v.A,(0,i.v6)({size:"small"},a,{"aria-label":"Видалити категорію",variant:"destructive",icon:"delete","icon-source":"material",onClick:a=>Z(e)}),null,16,["onClick"])]),_:2},1024)]),default:(0,i.k6)(()=>[(0,i.bF)(L,{rows:e.children,"onUpdate:rows":a=>e.children=a,isLoading:g.value,onDragEnd:le,onRowClick:J,onRemove:ee},null,8,["rows","onUpdate:rows","isLoading"]),(0,i.Lk)("div",V,[(0,i.bF)(v.A,{variant:"secondary",icon:"add","icon-source":"material",onClick:a=>Y(e._id)},{default:(0,i.k6)(()=>[...a[7]||(a[7]=[(0,i.eW)(" Додати ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["isOpen","onUpdate:isOpen","title","count"])])]),_:1},8,["modelValue"]),w.value.length?((0,i.uX)(),(0,i.CE)("div",{key:1,class:(0,n.C4)(["services-list__item",{"services-list__item--standalone":_.value.length}])},[(0,i.bF)(d.A,{isOpen:y.value[(0,s.R1)(A)],"onUpdate:isOpen":a[2]||(a[2]=e=>y.value[(0,s.R1)(A)]=e),title:"Без категорії",count:`${(0,s.R1)(G)}: ${w.value.length}`},{default:(0,i.k6)(()=>[(0,i.bF)(L,{rows:w.value,"onUpdate:rows":a[1]||(a[1]=e=>w.value=e),isLoading:g.value,onDragEnd:le,onRowClick:J,onRemove:ee},null,8,["rows","isLoading"])]),_:1},8,["isOpen","count"])],2)):(0,i.Q3)("",!0)])]))])])],512),[[t.aG,f.value]])],64))}},P=l(66262);const Q=(0,P.A)(G,[["__scopeId","data-v-463a634e"]]);var q=Q},72248:function(e,a,l){var i=l(79504),t=Map.prototype;e.exports={Map:Map,set:i(t.set),get:i(t.get),has:i(t.has),remove:i(t["delete"]),proto:t}},92731:function(e,a,l){var i=l(46518),t=l(79306),s=l(72248),n=l(96395),r=s.get,o=s.has,c=s.set;i({target:"Map",proto:!0,real:!0,forced:n},{getOrInsertComputed:function(e,a){var l=o(this,e);if(t(a),l)return r(this,e);0===e&&1/e===-1/0&&(e=0);var i=a(e);return c(this,e,i),i}})},45367:function(e,a,l){var i=l(46518),t=l(72248),s=l(96395),n=t.get,r=t.has,o=t.set;i({target:"Map",proto:!0,real:!0,forced:s},{getOrInsert:function(e,a){return r(this,e)?n(this,e):(o(this,e,a),a)}})}}]);
2//# sourceMappingURL=8496.f913f700.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.