| 1 |
"use strict";(globalThis.webpackChunkbooktics=globalThis.webpackChunkbooktics||[]).push([[222],{3038:(e,t,i)=>{i.d(t,{A:()=>n});var c=i(47143),s=i(47767),r=i(40309),a=i(93906),o=i(56580),l=i(88802);const n=function(){const e=(0,c.useSelect)(e=>e(r.services).getServicesState(),[]),{setServicesState:t}=(0,c.useDispatch)(r.services),i=(0,o.useAdminLicense)(),{searchQuery:n,serviceList:d=[],total:u,singleService:v,selectedTeamMembers:g,selectedExtraServices:m=[],schedule:p}=e,f=(0,s.Zp)(),{id:S}=(0,s.g)(),y=async(e={})=>{e?.resetFilter&&(e={search:"",category_id:"",team_member_id:"",paged:"",per_page:""});const i={...n,...e};t({isFiltering:!0});try{const e=await(a.A?.service?.allServices(i));e?.success&&t({serviceList:e?.data?.items,total:e?.data?.total,searchQuery:i})}catch(e){console.error("Error fetching services:",e)}finally{return t({isFiltering:!1}),{complete:!0}}};return{createService:async e=>{try{t({isFiltering:!0});const i=await(a.A?.service?.createService(e));i?.success&&(t({serviceList:[i?.data,...d||[]],total:u+1}),f(`/services/update/${i?.data.id}`))}catch(e){console.error("Error creating service:",e)}finally{t({isFiltering:!1})}},updateService:async(e,c="deactive")=>{if(t({loadingServiceId:!0}),e?.custom_field){let t=Array.isArray(e?.custom_field?.fields)?e?.custom_field?.fields?.map(e=>"global"===e?.from?e:{...e,from:"service"}):void 0;e.custom_field={...e?.custom_field,fields:t}}try{const s={...v,...e,status:c,extra_services:m,team_member:g,schedule:e.enable_custom_schedule?p:{},show_end_time:Number(e.show_end_time)||!1};delete s.extra_service_details,i||(delete s.extra_services,delete s.custom_field);const r=await a.A.service.updateService(S,s);if(r?.success){const e=d?.map(e=>e?.id===r?.data?.id?r?.data:e);t({serviceList:e}),t({loadingServiceId:!1})}return r}catch(e){console.error("Error updating service:",e)}finally{t({loadingServiceId:!1})}},updateStatus:async({id:e,...i})=>{try{delete i.extra_service_details;const c=await(a.A?.service?.updateService(e,i));if(c?.success){const e=d?.map(e=>e.id===c.data.id?c.data:e);t({serviceList:e})}return c}catch(e){console.error("Error updating status:",e)}finally{t({loadingServiceId:null})}},getServices:y,deleteSingleService:async e=>{try{const i=await(a.A?.service?.deleteSingleService(e));return i?.success&&t({serviceList:d?.filter(t=>t.id!==e),total:u-1}),i}catch(e){console.error("Error deleting service:",e)}},bulkDeleteService:async(e=[])=>{try{const i=await(a.A?.service?.bulkDeleteService({ids:e}));if(i?.success&&(t({serviceList:d.filter(t=>!e.includes(t.id))}),e.length<u)){const{paged:e="",per_page:t=""}=n;y({paged:e,per_page:t})}}catch(e){console.error("Error bulk deleting services:",e)}finally{return{complete:!0}}},duplicateService:async e=>{try{t({isFiltering:!0});const i=await(a.A?.service?.cloneService(e));if(i?.success){const c=d.findIndex(t=>t.id===e);if(-1===c)throw new Error("Service not found for duplication.");const s=[...d.slice(0,c+1),i.data,...d.slice(c+1)];t({serviceList:s,total:u+1})}}catch(e){console.error("Error duplicating service:",e)}finally{t({isFiltering:!1})}},getSingleService:async()=>{try{const e=await a.A.service.singleService(S);e.success&&t({singleService:{...e?.data,custom_field:{...e?.data?.custom_field,fields:e?.data?.custom_field?.fields?.length?e?.data?.custom_field?.fields:l.defaultFields}}})}catch(e){console.log(e)}},onPaginationChange:(e,t)=>{y({paged:e,per_page:t})}}}},5001:(e,t,i)=>{i.d(t,{A:()=>s});var c=i(86087);function s({timeout:e=2e3}={}){const[t,i]=(0,c.useState)(null),[s,r]=(0,c.useState)(!1),[a,o]=(0,c.useState)(null),l=t=>{window.clearTimeout(a),o(window.setTimeout(()=>r(!1),e)),r(t)};return{copy:e=>{if("clipboard"in navigator)navigator.clipboard.writeText(e).then(()=>l(!0)).catch(e=>i(e));else{const t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select();try{document.execCommand("copy"),l(!0)}catch(e){i(e)}finally{document.body.removeChild(t)}}},reset:()=>{r(!1),i(null),window.clearTimeout(a)},error:t,copied:s}}},35371:(e,t,i)=>{i(51609),i(86087),i(88802),i(22564);const{__}=wp?.i18n||{}},56580:(e,t,i)=>{i.d(t,{useAdminLicense:()=>s.i,useClipboard:()=>c.A});var c=i(5001),s=(i(35371),i(93524),i(90769));i(66236)},66236:(e,t,i)=>{i(47143)},90769:(e,t,i)=>{i.d(t,{i:()=>s});var c=i(47143);const s=()=>{const{license:e}=(0,c.useSelect)(e=>e("booktics-pro/license")?.getLicenseStates()||{},[]);return Boolean(window.bookticsPro)}},93222:(e,t,i)=>{i.r(t),i.d(t,{default:()=>a});var c=i(51609),s=i(22564),r=i(3038);const a=()=>{const{getServices:e}=(0,r.A)();return window?.wp?.hooks.applyFilters("booktics_extra_service_create",(0,c.createElement)(s.EmptyScreen,{isPro:!0}),{getServices:e})}}}]); |