PluginProbe
Booktics – Appointment Booking Calendar for Service Businesses / 1.0.21
Booktics – Appointment Booking Calendar for Service Businesses v1.0.21
1.0.29 1.0.28 1.0.27 1.0.26 1.0.25 1.0.24 1.0.23 1.0.22 1.0.21 1.0.20 1.0.19 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.2 1.0.3 All 31 releases
booktics / assets / build / chunks / js / 6780.js

6780.js in Booktics – Appointment Booking Calendar for Service Businesses 1.0.21, at assets/build/chunks/js/6780.js

78 lines 9.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 "use strict";(globalThis.webpackChunkbooktics=globalThis.webpackChunkbooktics||[]).push([[6780],{3038:(e,t,o)=>{o.d(t,{A:()=>l});var i=o(47143),r=o(47767),c=o(40309),s=o(11534),a=o(56580),n=o(88802);const l=function(){const e=(0,i.useSelect)(e=>e(c.services).getServicesState(),[]),{selectedServices:t}=(0,i.useSelect)(e=>e(c.team).getTeamState(),[]),{setServicesState:o}=(0,i.useDispatch)(c.services),{setTeamState:l}=(0,i.useDispatch)(c.team),d=(0,a.useAdminLicense)(),{searchQuery:p,serviceList:u=[],total:m,singleService:v,selectedTeamMembers:b,selectedExtraServices:g=[],schedule:h,selectedLocations:_}=e,S=(0,r.Zp)(),{id:f}=(0,r.g)(),y=async(e={})=>{e?.resetFilter&&(e={search:"",category_id:"",team_member_id:""});const t={...p,...e};o({isFiltering:!0});try{const e=await(s.A?.service?.allServices(t));e?.success&&o({serviceList:e?.data?.items,total:e?.data?.total,searchQuery:t})}catch(e){console.error("Error fetching services:",e)}finally{return o({isFiltering:!1}),{complete:!0}}};return{createService:async(e,i=!0)=>{try{o({isFiltering:!0});const r=await(s.A?.service?.createService(e));r?.success&&(o({serviceList:[r?.data,...u||[]],total:m+1}),i?S(`/services/update/${r?.data.id}`):(o({visibleCreateServiceModal:!1}),l({selectedServices:[r.data.id,...t]})))}catch(e){console.error("Error creating service:",e)}finally{o({isFiltering:!1})}},updateService:async(e,t="deactive",i=!1)=>{if(i||o({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 i={...v,...e,status:t,extra_services:g,team_member:b,schedule:e.enable_custom_schedule?h:{},show_end_time:Number(e.show_end_time)||!1};delete i.extra_service_details,d||(delete i.extra_services,delete i.custom_field);const r=await s.A.service.updateService(f,i);if(r?.success){const e=u?.map(e=>e?.id===r?.data?.id?r?.data:e);o({serviceList:e}),o({loadingServiceId:!1})}return r}catch(e){console.error("Error updating service:",e)}finally{o({loadingServiceId:!1})}},updateStatus:async({id:e,...t})=>{try{delete t.extra_service_details;const o=await(s.A?.service?.updateService(e,t));if(o?.success){const e=(0,i.select)(c.services).getServicesState("serviceList"),t=e?.map(e=>e.id===o.data.id?o.data:e);(0,i.dispatch)(c.services).setServicesState({serviceList:t})}return o}catch(e){console.error("Error updating status:",e)}finally{(0,i.dispatch)(c.services).setServicesState({loadingServiceId:null})}},getServices:y,deleteSingleService:async e=>{try{const t=await(s.A?.service?.deleteSingleService(e));if(t?.success){const{serviceList:t,total:o}=(0,i.select)(c.services).getServicesState();(0,i.dispatch)(c.services).setServicesState({serviceList:t?.filter(t=>t.id!==e),total:o-1})}return t}catch(e){console.error("Error deleting service:",e)}},bulkDeleteService:async(e=[])=>{try{const t=await(s.A?.service?.bulkDeleteService({ids:e}));if(t?.success&&(o({serviceList:u.filter(t=>!e.includes(t.id))}),e.length<m)){const{paged:e="",per_page:t=""}=p;y({paged:e,per_page:t})}}catch(e){console.error("Error bulk deleting services:",e)}finally{return{complete:!0}}},duplicateService:async e=>{try{o({isFiltering:!0});const t=await(s.A?.service?.cloneService(e));if(t?.success){const i=u.findIndex(t=>t.id===e);if(-1===i)throw new Error("Service not found for duplication.");const r=[...u.slice(0,i+1),t.data,...u.slice(i+1)];o({serviceList:r,total:m+1})}}catch(e){console.error("Error duplicating service:",e)}finally{o({isFiltering:!1})}},getSingleService:async()=>{try{const e=await s.A.service.singleService(f);e.success&&o({singleService:{...e?.data,custom_field:{...e?.data?.custom_field,fields:e?.data?.custom_field?.fields?.length?e?.data?.custom_field?.fields:n.defaultFields}}})}catch(e){console.log(e)}},onPaginationChange:(e,t)=>{y({paged:e,per_page:t})}}}},6780:(e,t,o)=>{o.r(t),o.d(t,{default:()=>f});var i=o(51609),r=o(48876),c=o(86087),s=o(79836),a=o(22564),n=o(56580),l=o(27723);const d=({label:e=(0,l.__)("Select service","booktics"),options:t,onChange:o,openShortCodeModal:r,setOpenShortCodeModal:d})=>{const[p]=a.Form.useForm(),{isMobile:u}=(0,n.useMediaQuery)(),{copy:m,copied:v}=(0,n.useCopyText)(),[b,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{v&&b&&(window.wp?.hooks?.doAction("notification",{type:"success",message:(0,l.__)(`Copied Shortcode - ${b}`,"booktics")}),setTimeout(()=>{h()},500))},[v]);const h=()=>{g(null),p.resetFields(),d(!1)};return(0,i.createElement)(a.Modal,{open:r,title:(0,l.__)("Generate Shortcode","booktics"),width:u?360:600,onClose:h,onCancel:h},(0,i.createElement)(a.Flex,{gap:10,vertical:!0},(0,i.createElement)(a.Form,{layout:"vertical",form:p},(0,i.createElement)(a.FormItem,{label:e,name:"id"},(0,i.createElement)(a.SelectInput,{options:t,onChange:e=>o(e,g)}))),b&&r&&(0,i.createElement)(a.Flex,{vertical:!0,gap:10},(0,i.createElement)(a.Flex,{gap:5},(0,i.createElement)(s.rG,{value:b,readOnly:!0}),(0,i.createElement)(a.PrimaryButton,{text:(0,l.__)("Copy","booktics"),onClick:()=>m(b)})))))},p=o(59e3).A.div`
2 border: 1px solid #e4e4e7;
3 padding: 16px;
4 border-radius: 6px;
5 display: flex;
6 align-items: center;
7 justify-content: space-between;
8 margin-top: 20px;
9 max-width: 1000px;
10 `,u=({title:e,description:t,buttonText:o,onClick:r})=>(0,i.createElement)(p,null,(0,i.createElement)("div",null,(0,i.createElement)(a.Title,{text:(0,l.__)(e,"booktics"),level:5}),(0,i.createElement)(a.Description,{text:t})),(0,i.createElement)(a.PrimaryOutlinedButton,{text:(0,l.__)(o,"booktics"),onClick:r})),m=()=>window?.wp?.hooks.applyFilters("booktics_location_shortcode",(0,i.createElement)(a.EmptyScreen,{isPro:!0}),{ShortCodeCard:u,GenerateShortCodeModal:d,handleSelectLocation:(e,t)=>{t(`[booktics_location id="${e}"]`)}});var v=o(47143),b=o(3038),g=o(40309);const h=()=>{const{copy:e,copied:t}=(0,n.useCopyText)(),[o,r]=(0,c.useState)(!1),{getServices:s}=(0,b.A)();(0,c.useEffect)(()=>{t&&window.wp?.hooks?.doAction("notification",{type:"success",message:(0,l.__)("Copied Shortcode - [booktics_booking_form]","booktics")})},[t]);const{serviceList:a}=(0,v.useSelect)(e=>e(g.services).getServicesState(),[]);return(0,c.useEffect)(()=>{a||s()},[a]),(0,i.createElement)(i.Fragment,null,(0,i.createElement)(u,{title:(0,l.__)("View all services by short Code","booktics"),description:(0,l.__)("Browse and manage all available services linked to a specific short code.","booktics"),buttonText:(0,l.__)("Copy Shortcode","booktics"),onClick:()=>e("[booktics_booking_form]")}),(0,i.createElement)(u,{title:(0,l.__)("Generate short code based on selected Service","booktics"),description:(0,l.__)("Select a service to generate a corresponding short code for easy reference and access.","booktics"),buttonText:(0,l.__)("Generate","booktics"),onClick:()=>r(!0)}),(0,i.createElement)(d,{openShortCodeModal:o,setOpenShortCodeModal:r,options:a?.map(e=>({label:e?.title,value:e?.id})),onChange:(e,t)=>{t(`[booktics_service_view id="${e}"]`)}}))},_=()=>window?.wp?.hooks.applyFilters("booktics_team_member_shortcode",(0,i.createElement)(a.EmptyScreen,{isPro:!0}),{ShortCodeCard:u,GenerateShortCodeModal:d,handleSelectTeamMember:(e,t)=>{t(`[booktics_team_member id="${e}"]`)}}),S=()=>{const{copy:e,copied:t}=(0,n.useCopyText)();return(0,c.useEffect)(()=>{t&&window.wp?.hooks?.doAction("notification",{type:"success",message:(0,l.__)("Copied Shortcode - [booktics_category_form]","booktics")})},[t]),(0,i.createElement)(i.Fragment,null,(0,i.createElement)(u,{title:(0,l.__)("View all categories by short Code","booktics"),description:(0,l.__)("Browse and manage all available categories linked to a specific short code.","booktics"),buttonText:(0,l.__)("Copy Shortcode","booktics"),onClick:()=>e("[booktics_category_form]")}))},f=()=>{const e=(0,n.useAdminLicense)();return(0,i.createElement)(i.Fragment,null,(0,i.createElement)(r.A,{title:(0,l.__)("Shortcodes","booktics")}),(0,i.createElement)(a.ResponsiveContainer,null,(0,i.createElement)(a.Card,null,(0,i.createElement)(a.Flex,{gap:"10px",vertical:!0},(0,i.createElement)(h,null),(0,i.createElement)(S,null),e&&(0,i.createElement)(m,null),e&&(0,i.createElement)(_,null)))))}},79836:(e,t,o)=>{o.d(t,{Ch:()=>S,Es:()=>b,Kz:()=>f,QB:()=>p,Wb:()=>n,Xd:()=>g,Yz:()=>l,ee:()=>d,ff:()=>_,i5:()=>a,pj:()=>m,rG:()=>v,sI:()=>u});var i=o(59e3),r=o(22564),c=o(2812);const{Dropdown:s}=window?.booktics?.library||{},a=(0,i.A)(r.Flex)`
11 margin-bottom: 10px;
12 `,n=(0,i.A)(r.TextInput)`
13 &.ant-form-item {
14 width: 100%;
15 margin-bottom: 0px;
16 }
17 .ant-input-group-addon {
18 padding-inline: 0px;
19 }
20 `,l=(0,i.A)(r.Flex)`
21 margin-bottom: 16px;
22 `,d=(0,i.A)(r.Card)`
23 border-color: #cdd0d6;
24 border-radius: 4px;
25 `,p=i.A.div`
26 cursor: pointer;
27 `,u=(0,i.A)(c.Q)`
28 .ant-input-number-group-addon {
29 padding: 0;
30 width: 80px;
31 background-color: white;
32 .ant-form-item {
33 margin-bottom: 0;
34 }
35 }
36 `,m=((0,i.A)(r.Flex)`
37 margin-bottom: 10px;
38 `,i.A.div`
39 background-color: white;
40 border-radius: 4px;
41 `),v=(0,i.A)(r.TextInput)`
42 width: 100%;
43 margin-bottom: 0px;
44 `,b=(0,i.A)(r.PrimaryOutlinedButton)`
45 width: 100%;
46 margin-bottom: 0px;
47 border: none;
48 justify-content: flex-start;
49 background-color: #fafffd;
50 margin-top: 10px;
51 `,g=((0,i.A)(s)`
52 height: 46px;
53 background-color: blue;
54 `,(0,i.A)(r.Flex)`
55 .bkt-publish-btn-dropdown {
56 button {
57 height: 46px;
58 padding: 12px 15px;
59 :where(
60 .css-dev-only-do-not-override-mc1tut
61 ).ant-btn-variant-outlined:not(:disabled):not(
62 .ant-btn-disabled
63 ):hover {
64 border-color: ${({theme:e})=>e.colors.primary};
65 color: ${({theme:e})=>e.colors.primary};
66 }
67 }
68 }
69 `),h={pointerEvents:"none",opacity:"0.5",cursor:"not-allowed"},_=i.A.div`
70 ${e=>e.disabled&&h};
71 `,S=(0,i.A)(r.SwitchInput)`
72 margin-bottom: 0px;
73 margin-top: 10px;
74 `,f=(0,i.A)(r.Card)`
75 .ant-card-body {
76 padding: 16px 20px;
77 }
78 `}}]);