@everymatrix/user-action-controller 1.34.0 → 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/player-user-consents_2.cjs.entry.js +200 -131
- package/dist/cjs/user-action-controller.cjs.js +1 -1
- package/dist/collection/components/user-action-controller/user-action-controller.js +87 -81
- package/dist/collection/utils/locale.utils.js +12 -6
- package/dist/components/player-user-consents2.js +102 -44
- package/dist/components/user-action-controller.js +99 -87
- package/dist/esm/loader.js +1 -1
- package/dist/esm/player-user-consents_2.entry.js +200 -131
- package/dist/esm/user-action-controller.js +1 -1
- package/dist/types/components/user-action-controller/user-action-controller.d.ts +2 -1
- package/dist/user-action-controller/p-02211033.entry.js +1 -0
- package/dist/user-action-controller/user-action-controller.esm.js +1 -1
- package/package.json +1 -1
- package/dist/user-action-controller/p-1b7bd94a.entry.js +0 -1
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["player-user-consents_2.cjs",[[1,"user-action-controller",{"endpoint":[513],"userSession":[513,"user-session"],"userId":[513,"user-id"],"lang":[1537],"includeSubmitButton":[516,"include-submit-button"],"submitButtonText":[513,"submit-button-text"],"userNoticeText":[513,"user-notice-text"],"gmVersion":[1,"gm-version"],"translationUrl":[513,"translation-url"],"clientStyling":[1537,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"queryFired":[32],"readyActionsCount":[32],"activeUserActions":[32],"userActionsValidated":[32],"receivedQueryResponses":[32],"limitStylingAppends":[32],"isLoading":[32],"mandatoryActionsChecked":[32]},[[0,"userLegislationConsent","userLegislationConsentHandler"]]],[1,"player-user-consents",{"lang":[1537],"queried":[516],"consentType":[513,"consent-type"],"mandatory":[516],"consentTitle":[513,"consent-title"],"clientStyling":[1,"client-styling"],"translationUrl":[513,"translation-url"],"textContent":[32],"limitStylingAppends":[32]}]]]], options);
|
|
17
|
+
return index.bootstrapLazy([["player-user-consents_2.cjs",[[1,"user-action-controller",{"endpoint":[513],"userSession":[513,"user-session"],"userId":[513,"user-id"],"lang":[1537],"includeSubmitButton":[516,"include-submit-button"],"submitButtonText":[513,"submit-button-text"],"userNoticeText":[513,"user-notice-text"],"gmVersion":[1,"gm-version"],"translationUrl":[513,"translation-url"],"clientStyling":[1537,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"queryFired":[32],"readyActionsCount":[32],"activeUserActions":[32],"userActionsValidated":[32],"receivedQueryResponses":[32],"limitStylingAppends":[32],"isLoading":[32],"mandatoryActionsChecked":[32]},[[0,"userLegislationConsent","userLegislationConsentHandler"]]],[1,"player-user-consents",{"lang":[1537],"queried":[516],"consentType":[513,"consent-type"],"mandatory":[516],"gmVersion":[1,"gm-version"],"consentTitle":[513,"consent-title"],"clientStyling":[1,"client-styling"],"translationUrl":[513,"translation-url"],"textContent":[32],"limitStylingAppends":[32]}]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -7,58 +7,94 @@ const index = require('./index-87049e21.js');
|
|
|
7
7
|
const DEFAULT_LANGUAGE$1 = 'en';
|
|
8
8
|
const TRANSLATIONS$1 = {
|
|
9
9
|
en: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
termsAndConditions: {
|
|
11
|
+
acceptPart1: "I accept the ",
|
|
12
|
+
acceptPart2: ", I have read and understood the ",
|
|
13
|
+
acceptPart3: " as published on this site and confirm that I am over 18 years old.",
|
|
14
|
+
tc: "Terms and Conditions"
|
|
15
|
+
},
|
|
16
|
+
privacyPolicy: {
|
|
17
|
+
readUnderstandPart1: "I have read and understood the ",
|
|
18
|
+
readUnderstandPart2: ", as published on this site and confirm that I am over 18 years old.",
|
|
19
|
+
privacy: "Privacy Policy"
|
|
20
|
+
},
|
|
15
21
|
sms: "I consent to receive marketing communication via SMS.",
|
|
16
|
-
|
|
22
|
+
email: "I consent to receive marketing communication via Email."
|
|
17
23
|
},
|
|
18
24
|
ro: {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
termsAndConditions: {
|
|
26
|
+
acceptPart1: "Accept ",
|
|
27
|
+
acceptPart2: " platformei. Am citit şi înţeles ",
|
|
28
|
+
acceptPart3: " publicată pe acest site şi confirm că am vârstă peste 18 ani.",
|
|
29
|
+
tc: "Termenii şi condiţiile"
|
|
30
|
+
},
|
|
31
|
+
privacyPolicy: {
|
|
32
|
+
readUnderstandPart1: "Am citit şi înţeles ",
|
|
33
|
+
readUnderstandPart2: " publicată pe acest site şi confirm că am vârstă peste 18 ani.",
|
|
34
|
+
privacy: "Politica de confidenţialitate"
|
|
35
|
+
},
|
|
24
36
|
sms: "Sunt de acord să primesc promoţii de marketing prin SMS.",
|
|
25
|
-
|
|
37
|
+
email: "Sunt de acord să primesc promoţii de marketing pe e-mail."
|
|
26
38
|
},
|
|
27
39
|
hr: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
termsAndConditions: {
|
|
41
|
+
acceptPart1: "I accept the ",
|
|
42
|
+
acceptPart2: ", I have read and understood the ",
|
|
43
|
+
acceptPart3: " as published on this site and confirm that I am over 18 years old.",
|
|
44
|
+
tc: "Terms and Conditions"
|
|
45
|
+
},
|
|
46
|
+
privacyPolicy: {
|
|
47
|
+
readUnderstandPart1: "I have read and understood the ",
|
|
48
|
+
readUnderstandPart2: ", as published on this site and confirm that I am over 18 years old.",
|
|
49
|
+
privacy: "Privacy Policy"
|
|
50
|
+
},
|
|
33
51
|
sms: "I consent to receive marketing communication via SMS.",
|
|
34
|
-
|
|
52
|
+
email: "I consent to receive marketing communication via Email."
|
|
35
53
|
},
|
|
36
54
|
fr: {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
55
|
+
termsAndConditions: {
|
|
56
|
+
acceptPart1: "I accept the ",
|
|
57
|
+
acceptPart2: ", I have read and understood the ",
|
|
58
|
+
acceptPart3: " as published on this site and confirm that I am over 18 years old.",
|
|
59
|
+
tc: "Terms and Conditions"
|
|
60
|
+
},
|
|
61
|
+
privacyPolicy: {
|
|
62
|
+
readUnderstandPart1: "I have read and understood the ",
|
|
63
|
+
readUnderstandPart2: ", as published on this site and confirm that I am over 18 years old.",
|
|
64
|
+
privacy: "Privacy Policy"
|
|
65
|
+
},
|
|
42
66
|
sms: "I consent to receive marketing communication via SMS.",
|
|
43
|
-
|
|
67
|
+
email: "I consent to receive marketing communication via Email."
|
|
44
68
|
},
|
|
45
69
|
cs: {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
70
|
+
termsAndConditions: {
|
|
71
|
+
acceptPart1: "I accept the ",
|
|
72
|
+
acceptPart2: ", I have read and understood the ",
|
|
73
|
+
acceptPart3: " as published on this site and confirm that I am over 18 years old.",
|
|
74
|
+
tc: "Terms and Conditions"
|
|
75
|
+
},
|
|
76
|
+
privacyPolicy: {
|
|
77
|
+
readUnderstandPart1: "I have read and understood the ",
|
|
78
|
+
readUnderstandPart2: ", as published on this site and confirm that I am over 18 years old.",
|
|
79
|
+
privacy: "Privacy Policy"
|
|
80
|
+
},
|
|
51
81
|
sms: "I consent to receive marketing communication via SMS.",
|
|
52
|
-
|
|
82
|
+
email: "I consent to receive marketing communication via Email."
|
|
53
83
|
},
|
|
54
84
|
de: {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
85
|
+
termsAndConditions: {
|
|
86
|
+
acceptPart1: "I accept the ",
|
|
87
|
+
acceptPart2: ", I have read and understood the ",
|
|
88
|
+
acceptPart3: " as published on this site and confirm that I am over 18 years old.",
|
|
89
|
+
tc: "Terms and Conditions"
|
|
90
|
+
},
|
|
91
|
+
privacyPolicy: {
|
|
92
|
+
readUnderstandPart1: "I have read and understood the ",
|
|
93
|
+
readUnderstandPart2: ", as published on this site and confirm that I am over 18 years old.",
|
|
94
|
+
privacy: "Privacy Policy"
|
|
95
|
+
},
|
|
60
96
|
sms: "I consent to receive marketing communication via SMS.",
|
|
61
|
-
|
|
97
|
+
email: "I consent to receive marketing communication via Email."
|
|
62
98
|
},
|
|
63
99
|
};
|
|
64
100
|
const getTranslations$1 = (url) => {
|
|
@@ -77,12 +113,18 @@ const getTranslations$1 = (url) => {
|
|
|
77
113
|
});
|
|
78
114
|
};
|
|
79
115
|
const translate$1 = (key, customLang, values) => {
|
|
80
|
-
const lang = customLang;
|
|
81
|
-
|
|
116
|
+
const lang = customLang || DEFAULT_LANGUAGE$1;
|
|
117
|
+
const getNestedTranslation = (obj, path) => {
|
|
118
|
+
return path.split('.').reduce((o, k) => (o && o[k] !== undefined ? o[k] : null), obj);
|
|
119
|
+
};
|
|
120
|
+
let translation = getNestedTranslation(TRANSLATIONS$1[lang], key);
|
|
121
|
+
if (translation === null) {
|
|
122
|
+
return key;
|
|
123
|
+
}
|
|
82
124
|
if (values !== undefined) {
|
|
83
|
-
for (const [
|
|
84
|
-
const regex = new RegExp(`{${
|
|
85
|
-
translation = translation.replace(regex,
|
|
125
|
+
for (const [k, v] of Object.entries(values)) {
|
|
126
|
+
const regex = new RegExp(`{${k}}`, 'g');
|
|
127
|
+
translation = translation.replace(regex, v);
|
|
86
128
|
}
|
|
87
129
|
}
|
|
88
130
|
return translation;
|
|
@@ -110,6 +152,10 @@ const PlayerUserConsents = class {
|
|
|
110
152
|
* wether or not this consent is mandatory. Used for render details
|
|
111
153
|
*/
|
|
112
154
|
this.mandatory = false;
|
|
155
|
+
/**
|
|
156
|
+
* Select GM version
|
|
157
|
+
*/
|
|
158
|
+
this.gmVersion = '';
|
|
113
159
|
/**
|
|
114
160
|
* the title of the consent to be displayed
|
|
115
161
|
*/
|
|
@@ -159,9 +205,20 @@ const PlayerUserConsents = class {
|
|
|
159
205
|
// end custom styling area
|
|
160
206
|
}
|
|
161
207
|
determineTextContent() {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
208
|
+
if (this.gmVersion === 'gmcore') {
|
|
209
|
+
if (this.consentType === 'termsandconditions') {
|
|
210
|
+
return index.h("p", null, translate$1('termsAndConditions.acceptPart1', this.lang), index.h("span", { class: "ConsentLink", onClick: this.goToTermsAndConditions }, translate$1('termsAndConditions.tc', this.lang)), translate$1('termsAndConditions.acceptPart2', this.lang), index.h("span", { class: "ConsentLink", onClick: this.goToPrivacyPolicy }, translate$1('privacyPolicy.privacy', this.lang)), translate$1('termsAndConditions.acceptPart3', this.lang));
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (this.gmVersion === 'gm16') {
|
|
214
|
+
if (this.consentType === 'termsandconditions') {
|
|
215
|
+
return index.h("p", null, translate$1('termsAndConditions.acceptPart1', this.lang), index.h("span", { class: "ConsentLink", onClick: this.goToTermsAndConditions }, translate$1('termsAndConditions.tc', this.lang)));
|
|
216
|
+
}
|
|
217
|
+
if (this.consentType === 'privacypolicy') {
|
|
218
|
+
return index.h("p", null, translate$1('privacyPolicy.readUnderstandPart1', this.lang), index.h("span", { class: "ConsentLink", onClick: this.goToPrivacyPolicy }, translate$1('privacyPolicy.privacy', this.lang)), translate$1('privacyPolicy.readUnderstandPart2', this.lang));
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return index.h("p", null, translate$1(this.consentType, this.lang));
|
|
165
222
|
}
|
|
166
223
|
render() {
|
|
167
224
|
if (this.queried) {
|
|
@@ -181,32 +238,38 @@ const TRANSLATIONS = {
|
|
|
181
238
|
en: {
|
|
182
239
|
termsandconditions: 'Terms and Conditions',
|
|
183
240
|
sms: 'SMS marketing',
|
|
184
|
-
emailmarketing: 'Email marketing'
|
|
241
|
+
emailmarketing: 'Email marketing',
|
|
242
|
+
privacypolicy: 'Privacy Policy'
|
|
185
243
|
},
|
|
186
244
|
ro: {
|
|
187
245
|
termsandconditions: 'Termeni şi condiţii',
|
|
188
246
|
sms: 'SMS marketing',
|
|
189
|
-
emailmarketing: 'Email marketing'
|
|
247
|
+
emailmarketing: 'Email marketing',
|
|
248
|
+
privacypolicy: 'Privacy Policy'
|
|
190
249
|
},
|
|
191
250
|
hr: {
|
|
192
251
|
termsandconditions: 'Terms and Conditions',
|
|
193
252
|
sms: 'SMS marketing',
|
|
194
|
-
emailmarketing: 'Email marketing'
|
|
253
|
+
emailmarketing: 'Email marketing',
|
|
254
|
+
privacypolicy: 'Privacy Policy'
|
|
195
255
|
},
|
|
196
256
|
fr: {
|
|
197
257
|
termsandconditions: 'Terms and Conditions',
|
|
198
258
|
sms: 'SMS marketing',
|
|
199
|
-
emailmarketing: 'Email marketing'
|
|
259
|
+
emailmarketing: 'Email marketing',
|
|
260
|
+
privacypolicy: 'Privacy Policy'
|
|
200
261
|
},
|
|
201
262
|
cs: {
|
|
202
263
|
termsandconditions: 'Terms and Conditions',
|
|
203
264
|
sms: 'SMS marketing',
|
|
204
|
-
emailmarketing: 'Email marketing'
|
|
265
|
+
emailmarketing: 'Email marketing',
|
|
266
|
+
privacypolicy: 'Privacy Policy'
|
|
205
267
|
},
|
|
206
268
|
de: {
|
|
207
269
|
termsandconditions: 'Terms and Conditions',
|
|
208
270
|
sms: 'SMS marketing',
|
|
209
|
-
emailmarketing: 'Email marketing'
|
|
271
|
+
emailmarketing: 'Email marketing',
|
|
272
|
+
privacypolicy: 'Privacy Policy'
|
|
210
273
|
},
|
|
211
274
|
};
|
|
212
275
|
const getTranslations = (url) => {
|
|
@@ -272,13 +335,14 @@ const UserActionController = class {
|
|
|
272
335
|
this.limitStylingAppends = false;
|
|
273
336
|
this.isLoading = true;
|
|
274
337
|
this.mandatoryActionsChecked = 0;
|
|
275
|
-
//for now this variable is hardcoded bcs we have
|
|
276
|
-
this.mandatoryActions = ['termsandconditions'];
|
|
338
|
+
//for now this variable is hardcoded bcs we have terms and conditions and privacy policy mandatory and we dont receive with these new functionality the mandatory actions
|
|
339
|
+
this.mandatoryActions = ['termsandconditions', 'privacypolicy'];
|
|
277
340
|
this.userActions = [];
|
|
278
341
|
this.consentTitles = {
|
|
279
342
|
termsandconditions: translate('termsandconditions', this.lang),
|
|
280
343
|
sms: translate('sms', this.lang),
|
|
281
|
-
emailmarketing: translate('emailmarketing', this.lang)
|
|
344
|
+
emailmarketing: translate('emailmarketing', this.lang),
|
|
345
|
+
privacypolicy: translate('privacypolicy', this.lang)
|
|
282
346
|
};
|
|
283
347
|
this.setClientStyling = () => {
|
|
284
348
|
let sheet = document.createElement('style');
|
|
@@ -320,56 +384,62 @@ const UserActionController = class {
|
|
|
320
384
|
this.receivedQueryResponses++;
|
|
321
385
|
}
|
|
322
386
|
}
|
|
323
|
-
|
|
387
|
+
determineUserActionsCore() {
|
|
324
388
|
const url = new URL(`${this.endpoint}/v1/player/${this.userId}/consent`);
|
|
325
389
|
const headers = new Headers();
|
|
326
390
|
headers.append('X-SessionId', this.userSession);
|
|
327
|
-
let requestOptions
|
|
328
|
-
requestOptions = {
|
|
391
|
+
let requestOptions = {
|
|
329
392
|
method: 'GET',
|
|
330
393
|
headers
|
|
331
394
|
};
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
}
|
|
341
|
-
});
|
|
342
|
-
this.isLoading = false;
|
|
343
|
-
})
|
|
344
|
-
.catch(error => {
|
|
345
|
-
console.error('Error fetching data:', error);
|
|
346
|
-
this.isLoading = false;
|
|
395
|
+
return fetch(url.href, requestOptions)
|
|
396
|
+
.then(res => res.json())
|
|
397
|
+
.then(data => {
|
|
398
|
+
const actionItems = data.items;
|
|
399
|
+
actionItems.forEach(element => {
|
|
400
|
+
if (element.status === 'Expired') {
|
|
401
|
+
this.activeUserActions.push(element.tagCode);
|
|
402
|
+
}
|
|
347
403
|
});
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
404
|
+
this.isLoading = false;
|
|
405
|
+
})
|
|
406
|
+
.catch(error => {
|
|
407
|
+
console.error('Error fetching data:', error);
|
|
408
|
+
this.isLoading = false;
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
determineUserActions16() {
|
|
412
|
+
const url = new URL(`${this.endpoint}/v1/player/${this.userId}/legislation/consents`);
|
|
413
|
+
const headers = new Headers();
|
|
414
|
+
headers.append('X-SessionId', this.userSession);
|
|
415
|
+
let requestOptions = {
|
|
416
|
+
method: 'GET',
|
|
417
|
+
headers
|
|
418
|
+
};
|
|
419
|
+
return fetch(url.href, requestOptions)
|
|
420
|
+
.then(res => res.json())
|
|
421
|
+
.then(data => {
|
|
422
|
+
const actionItems = data.consents;
|
|
423
|
+
actionItems.forEach(element => {
|
|
424
|
+
if (element.status === 2) {
|
|
425
|
+
this.activeUserActions.push(element.tagCode);
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
this.isLoading = false;
|
|
429
|
+
})
|
|
430
|
+
.catch(error => {
|
|
431
|
+
console.error('Error fetching data:', error);
|
|
432
|
+
this.isLoading = false;
|
|
433
|
+
});
|
|
352
434
|
}
|
|
353
435
|
updateUserConsents() {
|
|
354
|
-
|
|
355
|
-
let requestOptions;
|
|
356
|
-
url = (this.gmVersion === 'gmcore')
|
|
436
|
+
const url = (this.gmVersion === 'gmcore')
|
|
357
437
|
? new URL(`${this.endpoint}/v1/player/${this.userId}/consent`)
|
|
358
438
|
: new URL(`${this.endpoint}/v1/player/${this.userId}/legislation/consents`);
|
|
359
|
-
const body =
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
: {
|
|
364
|
-
consents: [
|
|
365
|
-
{
|
|
366
|
-
tagCode: "termsandconditions",
|
|
367
|
-
note: "",
|
|
368
|
-
status: 1
|
|
369
|
-
}
|
|
370
|
-
]
|
|
371
|
-
};
|
|
372
|
-
requestOptions = {
|
|
439
|
+
const body = {
|
|
440
|
+
items: this.userActions
|
|
441
|
+
};
|
|
442
|
+
let requestOptions = {
|
|
373
443
|
method: 'POST',
|
|
374
444
|
headers: {
|
|
375
445
|
'Content-Type': 'application/json',
|
|
@@ -378,43 +448,40 @@ const UserActionController = class {
|
|
|
378
448
|
},
|
|
379
449
|
body: JSON.stringify(body)
|
|
380
450
|
};
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
});
|
|
406
|
-
}
|
|
451
|
+
fetch(url.href, requestOptions)
|
|
452
|
+
.then(res => res.json())
|
|
453
|
+
.then(() => {
|
|
454
|
+
window.postMessage({
|
|
455
|
+
type: 'WidgetNotification',
|
|
456
|
+
data: {
|
|
457
|
+
type: 'success',
|
|
458
|
+
message: 'Consent update successful!'
|
|
459
|
+
}
|
|
460
|
+
}, window.location.href);
|
|
461
|
+
})
|
|
462
|
+
.catch((err) => {
|
|
463
|
+
window.postMessage({
|
|
464
|
+
type: 'WidgetNotification',
|
|
465
|
+
data: {
|
|
466
|
+
type: 'error',
|
|
467
|
+
message: 'Server might not be responding',
|
|
468
|
+
err
|
|
469
|
+
}
|
|
470
|
+
}, window.location.href);
|
|
471
|
+
})
|
|
472
|
+
.finally(() => {
|
|
473
|
+
window.postMessage({ type: 'UserActionsCompleted' }, window.location.href);
|
|
474
|
+
});
|
|
407
475
|
}
|
|
408
476
|
handleApplyClick() {
|
|
409
477
|
this.queryFired = true;
|
|
410
478
|
}
|
|
411
479
|
async componentWillLoad() {
|
|
412
480
|
if (this.gmVersion === 'gmcore') {
|
|
413
|
-
|
|
481
|
+
this.determineUserActionsCore();
|
|
414
482
|
}
|
|
415
|
-
|
|
416
|
-
this.
|
|
417
|
-
this.isLoading = false;
|
|
483
|
+
if (this.gmVersion === 'gm16') {
|
|
484
|
+
this.determineUserActions16();
|
|
418
485
|
}
|
|
419
486
|
if (this.translationUrl.length > 2) {
|
|
420
487
|
await getTranslations(this.translationUrl);
|
|
@@ -432,17 +499,19 @@ const UserActionController = class {
|
|
|
432
499
|
// end custom styling area
|
|
433
500
|
}
|
|
434
501
|
render() {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
502
|
+
let mandatoryItems = 0;
|
|
503
|
+
const isMandatoryPresent = this.mandatoryActions.some(action => {
|
|
504
|
+
const isPresent = this.activeUserActions.includes(action);
|
|
505
|
+
if (isPresent) {
|
|
506
|
+
mandatoryItems++;
|
|
507
|
+
}
|
|
508
|
+
return isPresent;
|
|
509
|
+
});
|
|
510
|
+
this.userActionsValidated = isMandatoryPresent && (this.mandatoryActionsChecked === mandatoryItems);
|
|
442
511
|
return (index.h("div", { class: "QueryReferenceContainer", ref: el => this.stylingContainer = el }, this.isLoading ? (index.h("slot", { name: 'spinner' })
|
|
443
512
|
&&
|
|
444
|
-
index.h("svg", { class: "spinner", viewBox: "0 0 50 50" }, index.h("circle", { class: "path", cx: "25", cy: "25", r: "20", fill: "none", "stroke-width": "5" }))) : (index.h("div", { class: "UserActionController" }, index.h("h2", { class: "UserConsentNotice" }, this.userNoticeText), index.h("div", { class: "PlayerLegislationWrapper" }, this.activeUserActions.map(action => (index.h("slot", { name: action }, index.h("player-user-consents", { lang: this.lang, "translation-url": this.translationUrl, slot: action, consentType: action, consentTitle: this.consentTitles[action], queried: this.queryFired, mandatory: this.mandatoryActions.includes(action), "client-styling": this.clientStyling }))))), this.includeSubmitButton &&
|
|
445
|
-
index.h("button", { class: "ConsentSubmitButton", disabled: this.userActionsValidated, onClick: () => this.handleApplyClick() }, this.submitButtonText)))));
|
|
513
|
+
index.h("svg", { class: "spinner", viewBox: "0 0 50 50" }, index.h("circle", { class: "path", cx: "25", cy: "25", r: "20", fill: "none", "stroke-width": "5" }))) : (index.h("div", { class: "UserActionController" }, index.h("h2", { class: "UserConsentNotice" }, this.userNoticeText), index.h("div", { class: "PlayerLegislationWrapper" }, this.activeUserActions.map(action => (index.h("slot", { name: action }, index.h("player-user-consents", { lang: this.lang, "gm-version": this.gmVersion, "translation-url": this.translationUrl, slot: action, consentType: action, consentTitle: this.consentTitles[action], queried: this.queryFired, mandatory: this.mandatoryActions.includes(action), "client-styling": this.clientStyling }))))), this.includeSubmitButton &&
|
|
514
|
+
index.h("button", { class: "ConsentSubmitButton", disabled: !this.userActionsValidated, onClick: () => this.handleApplyClick() }, this.submitButtonText)))));
|
|
446
515
|
}
|
|
447
516
|
static get watchers() { return {
|
|
448
517
|
"translationUrl": ["handleNewTranslations"],
|
|
@@ -15,5 +15,5 @@ const patchBrowser = () => {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(options => {
|
|
18
|
-
return index.bootstrapLazy([["player-user-consents_2.cjs",[[1,"user-action-controller",{"endpoint":[513],"userSession":[513,"user-session"],"userId":[513,"user-id"],"lang":[1537],"includeSubmitButton":[516,"include-submit-button"],"submitButtonText":[513,"submit-button-text"],"userNoticeText":[513,"user-notice-text"],"gmVersion":[1,"gm-version"],"translationUrl":[513,"translation-url"],"clientStyling":[1537,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"queryFired":[32],"readyActionsCount":[32],"activeUserActions":[32],"userActionsValidated":[32],"receivedQueryResponses":[32],"limitStylingAppends":[32],"isLoading":[32],"mandatoryActionsChecked":[32]},[[0,"userLegislationConsent","userLegislationConsentHandler"]]],[1,"player-user-consents",{"lang":[1537],"queried":[516],"consentType":[513,"consent-type"],"mandatory":[516],"consentTitle":[513,"consent-title"],"clientStyling":[1,"client-styling"],"translationUrl":[513,"translation-url"],"textContent":[32],"limitStylingAppends":[32]}]]]], options);
|
|
18
|
+
return index.bootstrapLazy([["player-user-consents_2.cjs",[[1,"user-action-controller",{"endpoint":[513],"userSession":[513,"user-session"],"userId":[513,"user-id"],"lang":[1537],"includeSubmitButton":[516,"include-submit-button"],"submitButtonText":[513,"submit-button-text"],"userNoticeText":[513,"user-notice-text"],"gmVersion":[1,"gm-version"],"translationUrl":[513,"translation-url"],"clientStyling":[1537,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"queryFired":[32],"readyActionsCount":[32],"activeUserActions":[32],"userActionsValidated":[32],"receivedQueryResponses":[32],"limitStylingAppends":[32],"isLoading":[32],"mandatoryActionsChecked":[32]},[[0,"userLegislationConsent","userLegislationConsentHandler"]]],[1,"player-user-consents",{"lang":[1537],"queried":[516],"consentType":[513,"consent-type"],"mandatory":[516],"gmVersion":[1,"gm-version"],"consentTitle":[513,"consent-title"],"clientStyling":[1,"client-styling"],"translationUrl":[513,"translation-url"],"textContent":[32],"limitStylingAppends":[32]}]]]], options);
|
|
19
19
|
});
|