PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 / assets / js / public / customFields.js
ameliabooking / v3 / src / assets / js / public Last commit date
actions.js 5 days ago booking.js 5 days ago cabinet.js 5 days ago cart.js 5 days ago catalog.js 5 days ago coupon.js 5 days ago customFields.js 5 days ago events.js 5 days ago facebookPixel.js 5 days ago ivy.js 5 days ago package.js 5 days ago panel.js 5 days ago public.js 5 days ago renderActions.js 5 days ago restore.js 5 days ago slots.js 5 days ago translation.js 5 days ago user.js 5 days ago
customFields.js
53 lines
1 import { useCart } from './cart'
2
3 function useCustomFields(store) {
4 let serviceCustomFields = {}
5
6 let servicesIds = []
7
8 let cart = useCart(store)
9
10 cart.forEach((cartItem) => {
11 for (let serviceId in cartItem.services) {
12 if (cartItem.services[serviceId].list.length) {
13 servicesIds = servicesIds.concat([parseInt(serviceId)])
14 }
15 }
16 })
17
18 Object.values(store.getters['entities/getCustomFields']).forEach((customField) => {
19 if (
20 customField.services
21 .map((service) => service.id)
22 .filter((serviceId) => servicesIds.includes(parseInt(serviceId))).length ||
23 customField.allServices ||
24 customField.saveType === 'customer'
25 ) {
26 serviceCustomFields[customField.id] = {
27 label: customField.label,
28 type: customField.type,
29 }
30
31 switch (customField.type) {
32 case 'checkbox':
33 case 'file':
34 serviceCustomFields[customField.id].value = []
35
36 break
37
38 default:
39 serviceCustomFields[customField.id].value = ''
40 }
41
42 if (store.getters['booking/getAvailableCustomFields'][customField.id]) {
43 serviceCustomFields[customField.id].value =
44 store.getters['booking/getAvailableCustomFields'][customField.id]['value']
45 }
46 }
47 })
48
49 store.commit('booking/setAvailableCustomFields', serviceCustomFields)
50 }
51
52 export { useCustomFields }
53