PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.8 2.4.7 2.4.6 2.4.5 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 / common / liveAnnouncer.js
ameliabooking / v3 / src / assets / js / common Last commit date
appointments.js 1 month ago attendees.js 1 month ago colorManipulation.js 1 month ago customer.js 1 month ago date.js 1 month ago defaultCustomize.js 1 month ago employee.js 2 weeks ago events.js 1 month ago formFieldsTemplates.js 1 month ago formatting.js 1 month ago helper.js 2 weeks ago image.js 1 month ago integrationApple.js 1 month ago integrationGoogle.js 1 month ago integrationOutlook.js 1 month ago integrationStripe.js 1 month ago integrationZoom.js 1 month ago licence.js 1 month ago liveAnnouncer.js 1 month ago phone.js 1 month ago pricing.js 1 month ago recurring.js 2 weeks ago responsive.js 1 month ago scrollElements.js 1 month ago settings.js 1 month ago translationsElementPlus.js 1 month ago utilHeaderHeight.js 1 month ago
liveAnnouncer.js
68 lines
1 import { inject, nextTick, provide, ref } from 'vue'
2
3 const LIVE_ANNOUNCER_KEY = Symbol('liveAnnouncer')
4
5 function setLiveMessage(target, message) {
6 if (!message) {
7 return
8 }
9
10 target.value = ''
11
12 nextTick(() => {
13 target.value = message
14 })
15 }
16
17 export function provideLiveAnnouncer() {
18 const statusMessage = ref('')
19 const alertMessage = ref('')
20
21 function announceStatus(message) {
22 setLiveMessage(statusMessage, message)
23 }
24
25 function announceAlert(message) {
26 setLiveMessage(alertMessage, message)
27 }
28
29 const announcer = {
30 statusMessage,
31 alertMessage,
32 announceStatus,
33 announceAlert,
34 }
35
36 provide(LIVE_ANNOUNCER_KEY, announcer)
37
38 return announcer
39 }
40
41 export function useLiveAnnouncer() {
42 return inject(LIVE_ANNOUNCER_KEY, {
43 statusMessage: ref(''),
44 alertMessage: ref(''),
45 announceStatus: () => {},
46 announceAlert: () => {},
47 })
48 }
49
50 export function announceFormErrors(formRef, announceAlert) {
51 if (!formRef?.value?.fields) {
52 return
53 }
54
55 const errorField = formRef.value.fields.find((field) => field.validateState === 'error')
56
57 if (!errorField) {
58 return
59 }
60
61 const errorElement = errorField.$el?.querySelector('.el-form-item__error')
62 const message = errorElement?.textContent?.trim() || errorField.validateMessage
63
64 if (message) {
65 announceAlert(message)
66 }
67 }
68