PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / v3 / src / store / modules / params.js
ameliabooking / v3 / src / store / modules Last commit date
appointment.js 1 day ago appointmentWaitingListOptions.js 1 day ago attendee.js 1 day ago auth.js 1 day ago bookableType.js 1 day ago booking.js 1 day ago cabinet.js 1 day ago cabinetFilters.js 1 day ago coupon.js 1 day ago customFields.js 1 day ago customerInfo.js 1 day ago employee.js 1 day ago entities.js 1 day ago event.js 1 day ago eventBooking.js 1 day ago eventEntities.js 1 day ago eventWaitingListOptions.js 1 day ago pagination.js 1 day ago params.js 1 day ago payment.js 1 day ago persons.js 1 day ago recurring.js 1 day ago shortcodeParams.js 1 day ago stepByStepFilters.js 1 day ago tickets.js 1 day ago
params.js
241 lines
1 import moment from 'moment'
2 import { useUrlQueryParams } from '../../assets/js/common/helper'
3
4 function getDateString(date) {
5 return moment(date).format('YYYY-MM-DD')
6 }
7
8 function formatDateRange(dateArray) {
9 if (!dateArray.length) return []
10
11 // Handle single date case
12 if (!dateArray[1]) {
13 return [getDateString(dateArray[0])]
14 }
15
16 // Handle date range case
17 const startDate = getDateString(dateArray[0])
18 const endDate = getDateString(dateArray[1])
19
20 return [startDate, endDate]
21 }
22
23 export default {
24 namespaced: true,
25
26 state: () => ({
27 params: {
28 id: null,
29 tag: null,
30 search: null,
31 recurring: null,
32 dates: [moment().toDate()],
33 upcomingDates: [moment().toDate()],
34 locationId: null,
35 locations: null,
36 providers: null,
37 range: null,
38 },
39 shortcodeParams: {
40 ids: null,
41 tags: null,
42 locations: null,
43 },
44 }),
45
46 getters: {
47 getTag(state) {
48 return state.params.tag
49 },
50
51 getSearch(state) {
52 return state.params.search
53 },
54
55 getLocationIdParam(state) {
56 return state.params.locationId
57 },
58
59 getLocations(state) {
60 return state.params.locations
61 },
62
63 getEmployees(state) {
64 return state.params.providers
65 },
66
67 getDates(state) {
68 return state.params.dates
69 },
70
71 getUpcomingDates(state) {
72 return state.params.upcomingDates
73 },
74
75 getEventParams(state) {
76 let locations =
77 state.params.locationId && !state.params.locations
78 ? { locationId: state.params.locationId }
79 : state.params.locations && !state.params.locationId
80 ? { locations: state.params.locations }
81 : { locations: state.shortcodeParams.locations }
82
83 return Object.assign(
84 {
85 dates: formatDateRange(state.params.dates),
86 id: state.params.id ? state.params.id : state.shortcodeParams.ids,
87 search: state.params.search,
88 tag: state.params.tag ? state.params.tag : state.shortcodeParams.tags,
89 recurring: state.params.recurring,
90 providers: state.params.providers,
91 range: state.params.range,
92 },
93 locations,
94 )
95 },
96
97 getUpcomingEventParams(state) {
98 let locations =
99 state.params.locationId && !state.params.locations
100 ? { locationId: state.params.locationId }
101 : state.params.locations && !state.params.locationId
102 ? { locations: state.params.locations }
103 : { locations: state.shortcodeParams.locations }
104
105 return Object.assign(
106 {
107 dates: state.params.upcomingDates[1]
108 ? [
109 getDateString(state.params.upcomingDates[0]),
110 getDateString(state.params.upcomingDates[1]),
111 ]
112 : [getDateString(state.params.upcomingDates[0])],
113 id: state.params.id ? state.params.id : state.shortcodeParams.ids,
114 search: state.params.search,
115 tag: state.params.tag ? state.params.tag : state.shortcodeParams.tags,
116 recurring: state.params.recurring,
117 providers: state.params.providers,
118 },
119 locations,
120 )
121 },
122
123 getShortcodeParams(state) {
124 return {
125 ids: state.shortcodeParams.ids,
126 tags: state.shortcodeParams.tags,
127 locations: state.shortcodeParams.locations,
128 }
129 },
130
131 getAllData(state) {
132 return {
133 dates: state.params.dates,
134 upcomingDates: state.params.upcomingDates,
135 id: state.params.id,
136 search: state.params.search,
137 locationId: state.params.locationId,
138 tag: state.params.tag,
139 recurring: state.params.recurring,
140 providers: state.params.providers,
141 }
142 },
143 },
144
145 mutations: {
146 setTag(state, payload) {
147 state.params.tag = payload ? payload : null
148 },
149
150 setLocationIdParam(state, payload) {
151 state.params.locationId = payload ? payload : null
152 },
153
154 setLocations(state, payload) {
155 state.params.locations = payload ? payload : null
156 },
157
158 setEmployees(state, payload) {
159 state.params.providers = payload ? payload : null
160 },
161
162 setId(state, payload) {
163 state.params.id = payload
164 },
165
166 // * Params for Events
167 // ! needs to change name of function
168 setParams(state, payload) {
169 let urlParameters = useUrlQueryParams(window.location.href)
170
171 if (payload.eventId) {
172 state.shortcodeParams.ids = payload.eventId.split(',')
173 }
174 if (urlParameters && urlParameters.ameliaEventId) {
175 state.shortcodeParams.ids = urlParameters.ameliaEventId.split(',')
176 }
177
178 if (payload.eventTag) {
179 state.shortcodeParams.tags = payload.eventTag
180 .split('{')
181 .map((e) => e.replace('},', '').replace('}', ''))
182 .filter((e) => e !== '')
183 }
184 if (urlParameters && urlParameters.ameliaEventTag) {
185 state.shortcodeParams.tags = urlParameters.ameliaEventTag.split(',')
186 }
187
188 if (payload.locationId) {
189 state.shortcodeParams.locations = payload.locationId.split(',')
190 }
191 if (urlParameters && urlParameters.ameliaLocationId) {
192 state.shortcodeParams.locations = urlParameters.ameliaLocationId.split(',')
193 }
194
195 if (payload.eventRecurring) {
196 state.params.recurring = payload.eventRecurring
197 }
198
199 if (payload.range) {
200 state.params.dates = []
201 if (payload.range === 'past' || payload.range === 'future') {
202 state.params.range = payload.range
203 }
204
205 if (payload.range.includes(' - ')) {
206 state.params.range = payload.range
207 .split(' - ')
208 .map((date) => moment(date.trim()).format('YYYY-MM-DD'))
209 }
210 }
211 },
212
213 setSearch(state, payload) {
214 state.params.search = payload ? payload : null
215 },
216
217 setDates(state, payload) {
218 state.params.dates = payload
219 },
220
221 setUpcomingDates(state, payload) {
222 state.params.upcomingDates = payload
223 },
224
225 setAllData(state, payload) {
226 state.params = {
227 dates: payload.dates,
228 upcomingDates: payload.upcomingDates,
229 id: payload.id ? parseInt(payload.id) : null,
230 search: payload.search,
231 locationId: payload.locationId ? parseInt(payload.locationId) : null,
232 tag: payload.tag,
233 recurring: payload.recurring,
234 providers: payload.providers,
235 }
236 },
237 },
238
239 actions: {},
240 }
241