@arsedizioni/ars-utils 18.2.283 → 18.2.284
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/clipper.common/common/definitions.d.ts +6 -0
- package/core/public_api.d.ts +1 -0
- package/core/services/broadcastChannelManager.d.ts +83 -0
- package/core/services/theme.service.d.ts +6 -0
- package/esm2022/clipper.common/common/definitions.mjs +42 -1
- package/esm2022/core/public_api.mjs +2 -1
- package/esm2022/core/services/broadcastChannelManager.mjs +80 -0
- package/esm2022/core/services/theme.service.mjs +18 -8
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +41 -0
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.mjs +17 -7
- package/fesm2022/arsedizioni-ars-utils-core.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -16,6 +16,7 @@ export * from './system';
|
|
|
16
16
|
export * from './definitions';
|
|
17
17
|
export * from './selectable';
|
|
18
18
|
export * from './services/broadcast.service';
|
|
19
|
+
export * from './services/broadcastChannelManager';
|
|
19
20
|
export * from './services/environment.service';
|
|
20
21
|
export * from './services/screen.service';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jb3JlL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXJzLXV0aWxzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2NvcmUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2NoYW5nZURhdGVJbnRlcnZhbERpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9jb3B5Q2xpcGJvYXJkRGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2F1dG9Gb2N1c0RpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zZWFyY2gtZmlsdGVyLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3NlYXJjaC1jYWxsYmFjay5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zYWZlLXVybC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcmVwbGFjZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9mb3JtYXQucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3lzdGVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9kZWZpbml0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0YWJsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYnJvYWRjYXN0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Jyb2FkY2FzdENoYW5uZWxNYW5hZ2VyJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9zY3JlZW4uc2VydmljZSc7XHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard Broadcast Messages Manager
|
|
3
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Web Standard Broadcast Messages Manager
|
|
7
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
|
|
8
|
+
*/
|
|
9
|
+
export class BroadcastChannelManager {
|
|
10
|
+
/**
|
|
11
|
+
* Get the current channel registration
|
|
12
|
+
*/
|
|
13
|
+
get currentBus() {
|
|
14
|
+
return this.channel?.name;
|
|
15
|
+
}
|
|
16
|
+
constructor(bus) {
|
|
17
|
+
this.channel = undefined;
|
|
18
|
+
this.subscriptions = [];
|
|
19
|
+
this.channel = new BroadcastChannel(bus);
|
|
20
|
+
this.channel.onmessageerror = (e) => {
|
|
21
|
+
console.error('[BroadcastChannelManager] Errore di ricezione del messaggio', e);
|
|
22
|
+
};
|
|
23
|
+
this.channel.onmessage = (e) => {
|
|
24
|
+
const bag = e.data;
|
|
25
|
+
if (bag) {
|
|
26
|
+
const bagInfo = this.subscriptions.find(m => m.messageId === bag.messageId);
|
|
27
|
+
bagInfo?.action(bag);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
dispose() {
|
|
32
|
+
this.subscriptions = [];
|
|
33
|
+
this.channel?.close();
|
|
34
|
+
this.channel = null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* overloads
|
|
38
|
+
*/
|
|
39
|
+
sendMessage(messageIdorBag, dataOrDelay = null, delay = 0) {
|
|
40
|
+
// console.warn({ messageIdorBag, dataOrDelay, delay });
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
if (typeof messageIdorBag === 'string') {
|
|
43
|
+
this.channel?.postMessage({ messageId: messageIdorBag, data: dataOrDelay });
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.channel?.postMessage(messageIdorBag);
|
|
47
|
+
}
|
|
48
|
+
}, (typeof dataOrDelay === 'number' ? dataOrDelay : delay) ?? 0);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Subscribe to a message
|
|
52
|
+
* @param args The subscription info, see also {@link BroadcastChannelSubscriberInfo}
|
|
53
|
+
*/
|
|
54
|
+
subscribe(args) {
|
|
55
|
+
const i = this.subscriptions.findIndex(m => m.messageId === args.messageId);
|
|
56
|
+
if (i === -1) {
|
|
57
|
+
this.subscriptions.push(args);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.subscriptions[i].action = args.action;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Remove a message subscription
|
|
65
|
+
* @param messageId The message id
|
|
66
|
+
*/
|
|
67
|
+
unsubscribe(messageId) {
|
|
68
|
+
const i = this.subscriptions.findIndex(m => m.messageId === messageId);
|
|
69
|
+
if (i !== -1) {
|
|
70
|
+
this.subscriptions.splice(i, 1);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Remove all the current subscriptions
|
|
75
|
+
*/
|
|
76
|
+
unsubscribeAll() {
|
|
77
|
+
this.subscriptions = [];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0Q2hhbm5lbE1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY29yZS9zZXJ2aWNlcy9icm9hZGNhc3RDaGFubmVsTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFxQkg7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQzs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLEdBQVc7UUFWZixZQUFPLEdBQTZCLFNBQVMsQ0FBQztRQUM5QyxrQkFBYSxHQUEwQyxFQUFFLENBQUM7UUFVaEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDdkMsT0FBTyxDQUFDLEtBQUssQ0FBQyw2REFBNkQsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQWUsRUFBRSxFQUFFO1lBQzNDLE1BQU0sR0FBRyxHQUF1RCxDQUFDLENBQUMsSUFBdUMsQ0FBQztZQUMxRyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNSLE1BQU0sT0FBTyxHQUFvRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM3SCxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQXVDRDs7T0FFRztJQUNILFdBQVcsQ0FBSSxjQUFzRCxFQUFFLGNBQTBCLElBQUksRUFBRSxRQUF1QixDQUFDO1FBQzdILHdEQUF3RDtRQUN4RCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxPQUFPLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQW1DLENBQUMsQ0FBQztZQUMvRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsY0FBK0MsQ0FBQyxDQUFDO1lBQzdFLENBQUM7UUFDSCxDQUFDLEVBQUUsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUdEOzs7T0FHRztJQUNILFNBQVMsQ0FBSSxJQUF1QztRQUNsRCxNQUFNLENBQUMsR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsU0FBaUI7UUFDM0IsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU3RhbmRhcmQgQnJvYWRjYXN0IE1lc3NhZ2VzIE1hbmFnZXJcclxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0Jyb2FkY2FzdENoYW5uZWxcclxuICovXHJcblxyXG5cclxuLyoqXHJcbiAqIFRoZSBtZXNzYWdlIGJhZyBzZW50IGFzIGEgbWVzc2FnZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZzxUPiB7XHJcbiAgbWVzc2FnZUlkOiBzdHJpbmc7XHJcbiAgc2VuZGVyOiBzdHJpbmcsXHJcbiAgZGF0YT86IFQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXNzYWdlIHN1YnNjcmlwdGlvbiBwYXJhbXNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnJvYWRjYXN0Q2hhbm5lbFN1YnNjcmliZXJJbmZvPFQ+IHtcclxuICBtZXNzYWdlSWQ6IHN0cmluZyxcclxuICBhY3Rpb246IChiYWc6IEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnPFQ+KSA9PiB2b2lkO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFdlYiBTdGFuZGFyZCBCcm9hZGNhc3QgTWVzc2FnZXMgTWFuYWdlclxyXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQnJvYWRjYXN0Q2hhbm5lbFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEJyb2FkY2FzdENoYW5uZWxNYW5hZ2VyIHtcclxuICBwcml2YXRlIGNoYW5uZWw/OiBCcm9hZGNhc3RDaGFubmVsIHwgbnVsbCA9IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEJyb2FkY2FzdENoYW5uZWxTdWJzY3JpYmVySW5mbzxhbnk+W10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBjdXJyZW50IGNoYW5uZWwgcmVnaXN0cmF0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBjdXJyZW50QnVzKCk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbD8ubmFtZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGJ1czogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNoYW5uZWwgPSBuZXcgQnJvYWRjYXN0Q2hhbm5lbChidXMpO1xyXG5cclxuICAgIHRoaXMuY2hhbm5lbC5vbm1lc3NhZ2VlcnJvciA9IChlOiBhbnkpID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcignW0Jyb2FkY2FzdENoYW5uZWxNYW5hZ2VyXSBFcnJvcmUgZGkgcmljZXppb25lIGRlbCBtZXNzYWdnaW8nLCBlKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5jaGFubmVsLm9ubWVzc2FnZSA9IChlOiBNZXNzYWdlRXZlbnQpID0+IHtcclxuICAgICAgY29uc3QgYmFnOiBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZzxhbnk+IHwgbnVsbCB8IHVuZGVmaW5lZCA9IGUuZGF0YSBhcyBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZzxhbnk+O1xyXG4gICAgICBpZiAoYmFnKSB7XHJcbiAgICAgICAgY29uc3QgYmFnSW5mbzogQnJvYWRjYXN0Q2hhbm5lbFN1YnNjcmliZXJJbmZvPGFueT4gfCB1bmRlZmluZWQgPSB0aGlzLnN1YnNjcmlwdGlvbnMuZmluZChtID0+IG0ubWVzc2FnZUlkID09PSBiYWcubWVzc2FnZUlkKTtcclxuICAgICAgICBiYWdJbmZvPy5hY3Rpb24oYmFnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gICAgdGhpcy5jaGFubmVsPy5jbG9zZSgpO1xyXG4gICAgdGhpcy5jaGFubmVsID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmQgYSBtZXNzYWdlXHJcbiAgICogQHBhcmFtIGJhZyBUaGUgbWVzc2FnZSwgc2VlIGFsc28ge0BsaW5rIEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnfVxyXG4gICAqIFxyXG4gICAqIEBleGFtcGxlICAgICBcclxuICAgKiBjaGFubmVsLnNlbmRNZXNzYWdlKHsgbWVzc2FnZUlkOiAnbXktYnJvYWRjYXN0LW1lc3NhZ2UnLCBzZW5kZXI6ICd0aGUtc2VuZGVyJywgZGF0YTogdmFsdWUgfSk7XHJcbiAgICovXHJcbiAgc2VuZE1lc3NhZ2U8VD4oYmFnOiBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZzxUPik6IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogU2VuZCBhIG1lc3NhZ2VcclxuICAgKiBAcGFyYW0gYmFnICAgVGhlIG1lc3NhZ2UsIHNlZSBhbHNvIHtAbGluayBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZ31cclxuICAgKiBAcGFyYW0gZGVsYXkgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyB0aGUgbWVzc2FnZSwgc2VlIGFsc28ge0BsaW5rIHNldFRpbWVvdXR9XHJcbiAgICogXHJcbiAgICogQGV4YW1wbGUgICAgIFxyXG4gICAqIGNoYW5uZWwuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlSWQ6ICdteS1icm9hZGNhc3QtbWVzc2FnZScsIHNlbmRlcjogJ3RoZS1zZW5kZXInLCBkYXRhOiB2YWx1ZSB9LCAyNTApO1xyXG4gICAqL1xyXG4gIHNlbmRNZXNzYWdlPFQ+KGJhZzogQnJvYWRjYXN0Q2hhbm5lbE1lc3NhZ2VCYWc8VD4sIGRlbGF5OiBudW1iZXIgfCBudWxsKTogdm9pZDtcclxuICAvKipcclxuICAgKiBTZW5kIGEgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBtZXNzYWdlSWQgVGhlIG1lc3NhZ2UgaWRcclxuICAgKiBAcGFyYW0gZGF0YSAgICAgIFRoZSBkYXRhIHRvIHNlbmRcclxuICAgKiBcclxuICAgKiBAZXhhbXBsZSAgICAgXHJcbiAgICogY2hhbm5lbC5zZW5kTWVzc2FnZSgnbXktYnJvYWRjYXN0LW1lc3NhZ2UnLCB2YWx1ZSk7XHJcbiAgICovXHJcbiAgc2VuZE1lc3NhZ2U8VD4obWVzc2FnZUlkOiBzdHJpbmcsIGRhdGE6IFQgfCBudWxsKTogdm9pZDtcclxuICAvKipcclxuICAgKiBTZW5kIGEgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBtZXNzYWdlSWQgVGhlIG1lc3NhZ2UgaWRcclxuICAgKiBAcGFyYW0gZGF0YSAgICAgIFRoZSBkYXRhIHRvIHNlbmRcclxuICAgKiBAcGFyYW0gZGVsYXkgICAgIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgdGhlIG1lc3NhZ2VcclxuICAgKiBcclxuICAgKiBAZXhhbXBsZSAgICAgXHJcbiAgICogY2hhbm5lbC5zZW5kTWVzc2FnZSgnbXktYnJvYWRjYXN0LW1lc3NhZ2UnLCB2YWx1ZSwgMjUwKTtcclxuICAgKi9cclxuICBzZW5kTWVzc2FnZTxUPihtZXNzYWdlSWQ6IHN0cmluZywgZGF0YTogVCB8IG51bGwsIGRlbGF5OiBudW1iZXIgfCBudWxsKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogb3ZlcmxvYWRzXHJcbiAgICovXHJcbiAgc2VuZE1lc3NhZ2U8VD4obWVzc2FnZUlkb3JCYWc6IHN0cmluZyB8IEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnPFQ+LCBkYXRhT3JEZWxheTogVCB8IG51bWJlciA9IG51bGwsIGRlbGF5OiBudW1iZXIgfCBudWxsID0gMCkge1xyXG4gICAgLy8gY29uc29sZS53YXJuKHsgbWVzc2FnZUlkb3JCYWcsIGRhdGFPckRlbGF5LCBkZWxheSB9KTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mIG1lc3NhZ2VJZG9yQmFnID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRoaXMuY2hhbm5lbD8ucG9zdE1lc3NhZ2UoeyBtZXNzYWdlSWQ6IG1lc3NhZ2VJZG9yQmFnLCBkYXRhOiBkYXRhT3JEZWxheSB9IGFzIEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnPFQ+KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoYW5uZWw/LnBvc3RNZXNzYWdlKG1lc3NhZ2VJZG9yQmFnIGFzIEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnPFQ+KTtcclxuICAgICAgfVxyXG4gICAgfSwgKHR5cGVvZiBkYXRhT3JEZWxheSA9PT0gJ251bWJlcicgPyBkYXRhT3JEZWxheSA6IGRlbGF5KSA/PyAwKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gYSBtZXNzYWdlXHJcbiAgICogQHBhcmFtIGFyZ3MgVGhlIHN1YnNjcmlwdGlvbiBpbmZvLCBzZWUgYWxzbyB7QGxpbmsgQnJvYWRjYXN0Q2hhbm5lbFN1YnNjcmliZXJJbmZvfVxyXG4gICAqL1xyXG4gIHN1YnNjcmliZTxUPihhcmdzOiBCcm9hZGNhc3RDaGFubmVsU3Vic2NyaWJlckluZm88VD4pIHtcclxuICAgIGNvbnN0IGk6IG51bWJlciA9IHRoaXMuc3Vic2NyaXB0aW9ucy5maW5kSW5kZXgobSA9PiBtLm1lc3NhZ2VJZCA9PT0gYXJncy5tZXNzYWdlSWQpO1xyXG4gICAgaWYgKGkgPT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGFyZ3MpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNbaV0uYWN0aW9uID0gYXJncy5hY3Rpb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYSBtZXNzYWdlIHN1YnNjcmlwdGlvblxyXG4gICAqIEBwYXJhbSBtZXNzYWdlSWQgVGhlIG1lc3NhZ2UgaWRcclxuICAgKi9cclxuICB1bnN1YnNjcmliZShtZXNzYWdlSWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgaTogbnVtYmVyID0gdGhpcy5zdWJzY3JpcHRpb25zLmZpbmRJbmRleChtID0+IG0ubWVzc2FnZUlkID09PSBtZXNzYWdlSWQpO1xyXG4gICAgaWYgKGkgIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5zcGxpY2UoaSwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYWxsIHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbnNcclxuICAgKi9cclxuICB1bnN1YnNjcmliZUFsbCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed, inject, Injectable, RendererFactory2, signal } from "@angular/core";
|
|
2
|
-
import { BroadcastChannelManager } from './
|
|
2
|
+
import { BroadcastChannelManager } from './broadcastChannelManager';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ThemeService {
|
|
5
5
|
constructor() {
|
|
@@ -38,9 +38,9 @@ export class ThemeService {
|
|
|
38
38
|
* Tooltip text on toggle
|
|
39
39
|
*/
|
|
40
40
|
this.toggleTooltip = computed(() => this.themeInfo[this.theme()].tooltip);
|
|
41
|
-
//
|
|
41
|
+
// React to current theme
|
|
42
42
|
this.prefersColorSchemeMediaQueryList.onchange = (_) => this.auto() ? this.setTheme() : null;
|
|
43
|
-
//
|
|
43
|
+
// Support boradcast channel messaging
|
|
44
44
|
this.broadcastChannel.subscribe({
|
|
45
45
|
messageId: this.broadcastMessage,
|
|
46
46
|
action: (bag) => {
|
|
@@ -49,13 +49,24 @@ export class ThemeService {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
|
-
//
|
|
53
|
-
|
|
52
|
+
// Initialize
|
|
53
|
+
let theme = localStorage.getItem("preferred-theme");
|
|
54
|
+
if (!this.isTheme(theme)) {
|
|
55
|
+
theme = 'auto';
|
|
56
|
+
}
|
|
57
|
+
this.setTheme(theme);
|
|
54
58
|
}
|
|
55
59
|
ngOnDestroy() {
|
|
56
|
-
// chiude il canale di comunicazione broadcast
|
|
57
60
|
this.broadcastChannel.dispose();
|
|
58
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Check if a value string is a theme type
|
|
64
|
+
* @param value : th string value
|
|
65
|
+
* @returns true if the the value is a valid theme type
|
|
66
|
+
*/
|
|
67
|
+
isTheme(value) {
|
|
68
|
+
return ['auto', 'light', 'dark'].includes(value);
|
|
69
|
+
}
|
|
59
70
|
/**
|
|
60
71
|
* Set the new theme
|
|
61
72
|
* @param theme the new theme
|
|
@@ -66,7 +77,6 @@ export class ThemeService {
|
|
|
66
77
|
this.theme.set(theme);
|
|
67
78
|
localStorage.setItem("preferred-theme", this.theme());
|
|
68
79
|
this.renderer.addClass(document.body, this.auto() ? (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light") : theme);
|
|
69
|
-
// lancia il messaggio broadcast
|
|
70
80
|
this.broadcastChannel.sendMessage(this.broadcastMessage, this.theme());
|
|
71
81
|
}
|
|
72
82
|
/**
|
|
@@ -93,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
93
103
|
providedIn: "root",
|
|
94
104
|
}]
|
|
95
105
|
}], ctorParameters: () => [] });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jb3JlL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLGdCQUFnQixFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQThCLE1BQU0sMkJBQTJCLENBQUM7O0FBcUJoRyxNQUFNLE9BQU8sWUFBWTtJQTRDdkI7UUExQ0EscUJBQXFCO1FBQ0oscUJBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRSxxQkFBZ0IsR0FBVyxnQkFBZ0IsQ0FBQztRQUU3RCwwREFBMEQ7UUFDekMscUNBQWdDLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRTlGLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUMsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVsRTs7V0FFRztRQUNjLFVBQUssR0FBRyxNQUFNLENBQVksT0FBTyxDQUFDLENBQUM7UUFDcEQ7O1dBRUc7UUFDYyxTQUFJLEdBQW9CLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUM7UUFFakY7O1dBRUc7UUFDYyxjQUFTLEdBQXVDO1lBQy9ELENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxxQ0FBcUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsR0FBRztZQUMzSCxDQUFDLE9BQU8sQ0FBQyxF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Q0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRO1FBQ2IsT0FBTyxDQUNMLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3JHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUV0QixDQUFDOzhHQXJHVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgUmVuZGVyZXJGYWN0b3J5MiwgU2lnbmFsLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCcm9hZGNhc3RDaGFubmVsTWFuYWdlciwgQnJvYWRjYXN0Q2hhbm5lbE1lc3NhZ2VCYWcgfSBmcm9tICcuL2Jyb2FkY2FzdENoYW5uZWxIYW5kbGVyJztcclxuXHJcblxyXG4vKipcclxuICogS2luZCBvZiB0aGVtZXM6IHN5c3RlbSBkZWZhdWx0LCBsaWdodCBvciBkYXJrXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBUaGVtZVR5cGUgPSAnYXV0bycgfCAnbGlnaHQnIHwgJ2RhcmsnO1xyXG5cclxuLyoqXHJcbiAqIEF2YWlsYWJsZSB0aGVtZXMnIHNjaGVtYVxyXG4gKi9cclxuaW50ZXJmYWNlIFRoZW1lSW5mb1JlY29yZCB7XHJcbiAgaWNvbjogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBuZXh0OiBUaGVtZVR5cGU7XHJcbiAgdG9vbHRpcDogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAvLyBtZXNzYWdnaSBicm9hZGNhc3RcclxuICBwcml2YXRlIHJlYWRvbmx5IGJyb2FkY2FzdENoYW5uZWwgPSBuZXcgQnJvYWRjYXN0Q2hhbm5lbE1hbmFnZXIoJ1RIRU1FLVNFUlZJQ0UnKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGJyb2FkY2FzdE1lc3NhZ2U6IHN0cmluZyA9ICckdGhlbWUtY2hhbmdlZCc7XHJcblxyXG4gIC8vIHBlciBpbnRlcmNldHRhcmUgaWwgY2FtYmlvIGRpIHRlbWEgYSBsaXZlbGxvIGRpIHNpc3RlbWFcclxuICBwcml2YXRlIHJlYWRvbmx5IHByZWZlcnNDb2xvclNjaGVtZU1lZGlhUXVlcnlMaXN0ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKTtcclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJGYWN0b3J5MiA9IGluamVjdChSZW5kZXJlckZhY3RvcnkyKTtcclxuICBwcml2YXRlIHJlbmRlcmVyID0gdGhpcy5yZW5kZXJGYWN0b3J5Mi5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3VycmVudCB0aGVtZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGhlbWUgPSBzaWduYWw8VGhlbWVUeXBlPihcImxpZ2h0XCIpO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBjdXJyZW50IHRoZW1lIGlzIFwiU3lzdGVtIGRlZmF1bHRcIlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0bzogU2lnbmFsPGJvb2xlYW4+ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50aGVtZSgpID09PSAnYXV0bycpO1xyXG5cclxuICAvKipcclxuICAgKiBDb25maWd1cmF0aW9uIHNjaGVtYSBhYm91dCB0aGUgaWNvbiwgdGhlIHRleHQgYW5kIHRoZSB0b2dnbGUoKSBzZXF1ZW5jZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVJbmZvOiBSZWNvcmQ8VGhlbWVUeXBlLCBUaGVtZUluZm9SZWNvcmQ+ID0ge1xyXG4gICAgWydhdXRvJ106IHsgaWNvbjogJ2NvbnRyYXN0JywgbmFtZTogJ0ltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSBkaSBzaXN0ZW1hJywgbmV4dDogJ2xpZ2h0JywgdG9vbHRpcDogJ1Bhc3NhIGEgdGVtYSBjaGlhcm8nLCB9LFxyXG4gICAgWydsaWdodCddOiB7IGljb246ICdsaWdodF9tb2RlJywgbmFtZTogJ1RlbWEgY2hpYXJvJywgbmV4dDogJ2RhcmsnLCB0b29sdGlwOiAnUGFzc2EgYSB0ZW1hIHNjdXJvJywgfSxcclxuICAgIFsnZGFyayddOiB7IGljb246ICdkYXJrX21vZGUnLCBuYW1lOiAnVGVtYSBzY3VybycsIG5leHQ6ICdhdXRvJywgdG9vbHRpcDogJ1Bhc3NhIGEgdGVtYSBwcmVkZWZpbml0byBkaSBzaXN0ZW1hJywgfSxcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBJY29uIG9mIHRoZSBjdXJyZW50IHRoZW1lIChtYXQtaWNvbiBjb2RlKVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWFkb25seSB0aGVtZUljb246IFNpZ25hbDxzdHJpbmc+ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50aGVtZUluZm9bdGhpcy50aGVtZSgpXS5pY29uKTtcclxuICAvKipcclxuICAgKiBDdXJyZW50IHRoZW1lIG5hbWVcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWVOYW1lOiBTaWduYWw8c3RyaW5nPiA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGhlbWVJbmZvW3RoaXMudGhlbWUoKV0ubmFtZSk7XHJcbiAgLyoqXHJcbiAgICogVG9vbHRpcCB0ZXh0IG9uIHRvZ2dsZSBcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdG9nZ2xlVG9vbHRpcDogU2lnbmFsPHN0cmluZz4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRoZW1lSW5mb1t0aGlzLnRoZW1lKCldLnRvb2x0aXApO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyByZWFnaXNjZSBhbCBjYW1iaW8gZGkgdGVtYSBuZWwgc2lzdGVtYVxyXG4gICAgdGhpcy5wcmVmZXJzQ29sb3JTY2hlbWVNZWRpYVF1ZXJ5TGlzdC5vbmNoYW5nZSA9IChfOiBNZWRpYVF1ZXJ5TGlzdEV2ZW50KSA9PiB0aGlzLmF1dG8oKSA/IHRoaXMuc2V0VGhlbWUoKSA6IG51bGw7XHJcblxyXG4gICAgLy8gcmVhZ2lzY2UgYWwgbWVzc2FnZ2lvIGJyb2FkY2FzdCAoc2luY3Jvbml6emEgaSB0ZW1pIHRyYSBpIHBvcHVwIGRlbGwnYXBwbGljYXppb25lKVxyXG4gICAgdGhpcy5icm9hZGNhc3RDaGFubmVsLnN1YnNjcmliZTxUaGVtZVR5cGU+KHtcclxuICAgICAgbWVzc2FnZUlkOiB0aGlzLmJyb2FkY2FzdE1lc3NhZ2UsXHJcbiAgICAgIGFjdGlvbjogKGJhZzogQnJvYWRjYXN0Q2hhbm5lbE1lc3NhZ2VCYWc8VGhlbWVUeXBlPikgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRoZW1lKCkgIT09IGJhZy5kYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFRoZW1lKGJhZy5kYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIGluaXppYWxpenphIGlsIHRlbWFcclxuICAgIHRoaXMuc2V0VGhlbWUobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwcmVmZXJyZWQtdGhlbWVcIikgYXMgVGhlbWVUeXBlID8/IG51bGwpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyBjaGl1ZGUgaWwgY2FuYWxlIGRpIGNvbXVuaWNhemlvbmUgYnJvYWRjYXN0XHJcbiAgICB0aGlzLmJyb2FkY2FzdENoYW5uZWwuZGlzcG9zZSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgbmV3IHRoZW1lXHJcbiAgICogQHBhcmFtIHRoZW1lIHRoZSBuZXcgdGhlbWVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFRoZW1lKHRoZW1lOiBUaGVtZVR5cGUgPSAnYXV0bycpIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ2xpZ2h0Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICdkYXJrJyk7XHJcblxyXG4gICAgdGhpcy50aGVtZS5zZXQodGhlbWUpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJwcmVmZXJyZWQtdGhlbWVcIiwgdGhpcy50aGVtZSgpKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5hdXRvKCkgPyAod2luZG93Lm1hdGNoTWVkaWEgJiYgd2luZG93Lm1hdGNoTWVkaWEoXCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspXCIpLm1hdGNoZXMgPyBcImRhcmtcIiA6IFwibGlnaHRcIikgOiB0aGVtZSk7XHJcblxyXG4gICAgLy8gbGFuY2lhIGlsIG1lc3NhZ2dpbyBicm9hZGNhc3RcclxuICAgIHRoaXMuYnJvYWRjYXN0Q2hhbm5lbC5zZW5kTWVzc2FnZSh0aGlzLmJyb2FkY2FzdE1lc3NhZ2UsIHRoaXMudGhlbWUoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGUgdGhlbWVcclxuICAgKi9cclxuICBwdWJsaWMgdG9nZ2xlVGhlbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFRoZW1lKHRoaXMudGhlbWVJbmZvW3RoaXMudGhlbWUoKV0ubmV4dCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY3VycmVudCBhY3RpdmUgdGhlbWVcclxuICAgKiBAcmV0dXJucyB0aGUgY3VycmVudCB0aGVtZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRUaGVtZSgpOiBUaGVtZVR5cGUge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5hdXRvKCkgXHJcbiAgICAgICAgPyAod2luZG93Lm1hdGNoTWVkaWEgJiYgd2luZG93Lm1hdGNoTWVkaWEoXCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspXCIpLm1hdGNoZXMgPyBcImRhcmtcIiA6IFwibGlnaHRcIikgXHJcbiAgICAgICAgOiB0aGlzLnRoZW1lKCkpO1xyXG5cclxuICB9XHJcbn0iXX0=
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jb3JlL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLGdCQUFnQixFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQThCLE1BQU0sMkJBQTJCLENBQUM7O0FBcUJoRyxNQUFNLE9BQU8sWUFBWTtJQTRDdkI7UUExQ0EscUJBQXFCO1FBQ0oscUJBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRSxxQkFBZ0IsR0FBVyxnQkFBZ0IsQ0FBQztRQUU3RCwwREFBMEQ7UUFDekMscUNBQWdDLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRTlGLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUMsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVsRTs7V0FFRztRQUNjLFVBQUssR0FBRyxNQUFNLENBQVksT0FBTyxDQUFDLENBQUM7UUFDcEQ7O1dBRUc7UUFDYyxTQUFJLEdBQW9CLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUM7UUFFakY7O1dBRUc7UUFDYyxjQUFTLEdBQXVDO1lBQy9ELENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxxQ0FBcUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsR0FBRztZQUMzSCxDQUFDLE9BQU8sQ0FBQyxF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VSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRO1FBQ2IsT0FBTyxDQUNMLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3JHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUV0QixDQUFDOzhHQTlHVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgUmVuZGVyZXJGYWN0b3J5MiwgU2lnbmFsLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCcm9hZGNhc3RDaGFubmVsTWFuYWdlciwgQnJvYWRjYXN0Q2hhbm5lbE1lc3NhZ2VCYWcgfSBmcm9tICcuL2Jyb2FkY2FzdENoYW5uZWxNYW5hZ2VyJztcclxuXHJcblxyXG4vKipcclxuICogS2luZCBvZiB0aGVtZXM6IHN5c3RlbSBkZWZhdWx0LCBsaWdodCBvciBkYXJrXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBUaGVtZVR5cGUgPSAnYXV0bycgfCAnbGlnaHQnIHwgJ2RhcmsnO1xyXG5cclxuLyoqXHJcbiAqIEF2YWlsYWJsZSB0aGVtZXMnIHNjaGVtYVxyXG4gKi9cclxuaW50ZXJmYWNlIFRoZW1lSW5mb1JlY29yZCB7XHJcbiAgaWNvbjogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBuZXh0OiBUaGVtZVR5cGU7XHJcbiAgdG9vbHRpcDogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAvLyBtZXNzYWdnaSBicm9hZGNhc3RcclxuICBwcml2YXRlIHJlYWRvbmx5IGJyb2FkY2FzdENoYW5uZWwgPSBuZXcgQnJvYWRjYXN0Q2hhbm5lbE1hbmFnZXIoJ1RIRU1FLVNFUlZJQ0UnKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGJyb2FkY2FzdE1lc3NhZ2U6IHN0cmluZyA9ICckdGhlbWUtY2hhbmdlZCc7XHJcblxyXG4gIC8vIHBlciBpbnRlcmNldHRhcmUgaWwgY2FtYmlvIGRpIHRlbWEgYSBsaXZlbGxvIGRpIHNpc3RlbWFcclxuICBwcml2YXRlIHJlYWRvbmx5IHByZWZlcnNDb2xvclNjaGVtZU1lZGlhUXVlcnlMaXN0ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKTtcclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJGYWN0b3J5MiA9IGluamVjdChSZW5kZXJlckZhY3RvcnkyKTtcclxuICBwcml2YXRlIHJlbmRlcmVyID0gdGhpcy5yZW5kZXJGYWN0b3J5Mi5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3VycmVudCB0aGVtZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGhlbWUgPSBzaWduYWw8VGhlbWVUeXBlPihcImxpZ2h0XCIpO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBjdXJyZW50IHRoZW1lIGlzIFwiU3lzdGVtIGRlZmF1bHRcIlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0bzogU2lnbmFsPGJvb2xlYW4+ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50aGVtZSgpID09PSAnYXV0bycpO1xyXG5cclxuICAvKipcclxuICAgKiBDb25maWd1cmF0aW9uIHNjaGVtYSBhYm91dCB0aGUgaWNvbiwgdGhlIHRleHQgYW5kIHRoZSB0b2dnbGUoKSBzZXF1ZW5jZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVJbmZvOiBSZWNvcmQ8VGhlbWVUeXBlLCBUaGVtZUluZm9SZWNvcmQ+ID0ge1xyXG4gICAgWydhdXRvJ106IHsgaWNvbjogJ2NvbnRyYXN0JywgbmFtZTogJ0ltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSBkaSBzaXN0ZW1hJywgbmV4dDogJ2xpZ2h0JywgdG9vbHRpcDogJ1Bhc3NhIGEgdGVtYSBjaGlhcm8nLCB9LFxyXG4gICAgWydsaWdodCddOiB7IGljb246ICdsaWdodF9tb2RlJywgbmFtZTogJ1RlbWEgY2hpYXJvJywgbmV4dDogJ2RhcmsnLCB0b29sdGlwOiAnUGFzc2EgYSB0ZW1hIHNjdXJvJywgfSxcclxuICAgIFsnZGFyayddOiB7IGljb246ICdkYXJrX21vZGUnLCBuYW1lOiAnVGVtYSBzY3VybycsIG5leHQ6ICdhdXRvJywgdG9vbHRpcDogJ1Bhc3NhIGEgdGVtYSBwcmVkZWZpbml0byBkaSBzaXN0ZW1hJywgfSxcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBJY29uIG9mIHRoZSBjdXJyZW50IHRoZW1lIChtYXQtaWNvbiBjb2RlKVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWFkb25seSB0aGVtZUljb246IFNpZ25hbDxzdHJpbmc+ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50aGVtZUluZm9bdGhpcy50aGVtZSgpXS5pY29uKTtcclxuICAvKipcclxuICAgKiBDdXJyZW50IHRoZW1lIG5hbWVcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWVOYW1lOiBTaWduYWw8c3RyaW5nPiA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGhlbWVJbmZvW3RoaXMudGhlbWUoKV0ubmFtZSk7XHJcbiAgLyoqXHJcbiAgICogVG9vbHRpcCB0ZXh0IG9uIHRvZ2dsZSBcclxuICAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdG9nZ2xlVG9vbHRpcDogU2lnbmFsPHN0cmluZz4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRoZW1lSW5mb1t0aGlzLnRoZW1lKCldLnRvb2x0aXApO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyBSZWFjdCB0byBjdXJyZW50IHRoZW1lXHJcbiAgICB0aGlzLnByZWZlcnNDb2xvclNjaGVtZU1lZGlhUXVlcnlMaXN0Lm9uY2hhbmdlID0gKF86IE1lZGlhUXVlcnlMaXN0RXZlbnQpID0+IHRoaXMuYXV0bygpID8gdGhpcy5zZXRUaGVtZSgpIDogbnVsbDtcclxuXHJcbiAgICAvLyBTdXBwb3J0IGJvcmFkY2FzdCBjaGFubmVsIG1lc3NhZ2luZ1xyXG4gICAgdGhpcy5icm9hZGNhc3RDaGFubmVsLnN1YnNjcmliZTxUaGVtZVR5cGU+KHtcclxuICAgICAgbWVzc2FnZUlkOiB0aGlzLmJyb2FkY2FzdE1lc3NhZ2UsXHJcbiAgICAgIGFjdGlvbjogKGJhZzogQnJvYWRjYXN0Q2hhbm5lbE1lc3NhZ2VCYWc8VGhlbWVUeXBlPikgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRoZW1lKCkgIT09IGJhZy5kYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFRoZW1lKGJhZy5kYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIEluaXRpYWxpemVcclxuICAgIGxldCB0aGVtZTogVGhlbWVUeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwcmVmZXJyZWQtdGhlbWVcIikgYXMgVGhlbWVUeXBlO1xyXG4gICAgaWYgKCF0aGlzLmlzVGhlbWUodGhlbWUpKSB7XHJcbiAgICAgIHRoZW1lID0gJ2F1dG8nO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRUaGVtZSh0aGVtZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnJvYWRjYXN0Q2hhbm5lbC5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBhIHZhbHVlIHN0cmluZyBpcyBhIHRoZW1lIHR5cGVcclxuICAgKiBAcGFyYW0gdmFsdWUgOiB0aCBzdHJpbmcgdmFsdWVcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSB0aGUgdmFsdWUgaXMgYSB2YWxpZCB0aGVtZSB0eXBlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpc1RoZW1lKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBUaGVtZVR5cGUge1xyXG4gICAgcmV0dXJuIFsnYXV0bycsICdsaWdodCcsICdkYXJrJ10uaW5jbHVkZXModmFsdWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgbmV3IHRoZW1lXHJcbiAgICogQHBhcmFtIHRoZW1lIHRoZSBuZXcgdGhlbWVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFRoZW1lKHRoZW1lOiBUaGVtZVR5cGUgPSAnYXV0bycpIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ2xpZ2h0Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICdkYXJrJyk7XHJcbiAgICB0aGlzLnRoZW1lLnNldCh0aGVtZSk7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInByZWZlcnJlZC10aGVtZVwiLCB0aGlzLnRoZW1lKCkpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCB0aGlzLmF1dG8oKSA/ICh3aW5kb3cubWF0Y2hNZWRpYSAmJiB3aW5kb3cubWF0Y2hNZWRpYShcIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaylcIikubWF0Y2hlcyA/IFwiZGFya1wiIDogXCJsaWdodFwiKSA6IHRoZW1lKTtcclxuICAgIHRoaXMuYnJvYWRjYXN0Q2hhbm5lbC5zZW5kTWVzc2FnZSh0aGlzLmJyb2FkY2FzdE1lc3NhZ2UsIHRoaXMudGhlbWUoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGUgdGhlbWVcclxuICAgKi9cclxuICBwdWJsaWMgdG9nZ2xlVGhlbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFRoZW1lKHRoaXMudGhlbWVJbmZvW3RoaXMudGhlbWUoKV0ubmV4dCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY3VycmVudCBhY3RpdmUgdGhlbWVcclxuICAgKiBAcmV0dXJucyB0aGUgY3VycmVudCB0aGVtZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRUaGVtZSgpOiBUaGVtZVR5cGUge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5hdXRvKCkgXHJcbiAgICAgICAgPyAod2luZG93Lm1hdGNoTWVkaWEgJiYgd2luZG93Lm1hdGNoTWVkaWEoXCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspXCIpLm1hdGNoZXMgPyBcImRhcmtcIiA6IFwibGlnaHRcIikgXHJcbiAgICAgICAgOiB0aGlzLnRoZW1lKCkpO1xyXG5cclxuICB9XHJcbn0iXX0=
|
|
@@ -1720,6 +1720,47 @@ class ClipperUtils {
|
|
|
1720
1720
|
}
|
|
1721
1721
|
}
|
|
1722
1722
|
class ClipperSearchUtils {
|
|
1723
|
+
/**
|
|
1724
|
+
* Check if search params have at least on params set
|
|
1725
|
+
* @param params : the search params to check
|
|
1726
|
+
* @returns true if validation succeded
|
|
1727
|
+
*/
|
|
1728
|
+
static canSearch(params) {
|
|
1729
|
+
return (params.sector !== null
|
|
1730
|
+
|| params.sectors?.length > 0
|
|
1731
|
+
|| params.author !== null
|
|
1732
|
+
|| params.authors?.length > 0
|
|
1733
|
+
|| params.topic !== null
|
|
1734
|
+
|| params.taxonomy !== null
|
|
1735
|
+
|| params.taxonomyPath !== null
|
|
1736
|
+
|| params.taxonomyNode !== null
|
|
1737
|
+
|| params.number !== null
|
|
1738
|
+
|| params.fromDate !== null
|
|
1739
|
+
|| params.toDate !== null
|
|
1740
|
+
|| params.year !== null
|
|
1741
|
+
|| params.sourceNumber !== null
|
|
1742
|
+
|| params.source !== null
|
|
1743
|
+
|| params.sourceFromDate !== null
|
|
1744
|
+
|| params.sourceToDate !== null
|
|
1745
|
+
|| params.sourceYear !== null
|
|
1746
|
+
|| params.tags?.length > 0
|
|
1747
|
+
|| params.text !== null
|
|
1748
|
+
|| params.titleOnly !== null
|
|
1749
|
+
|| params.type !== null
|
|
1750
|
+
|| params.showUnreadDocumentsOnly !== null
|
|
1751
|
+
|| params.showCommentedDocumentsOnly !== null
|
|
1752
|
+
|| params.changeReason !== null
|
|
1753
|
+
|| params.changedNumber !== null
|
|
1754
|
+
|| params.changedYear !== null
|
|
1755
|
+
|| params.changedTitle !== null
|
|
1756
|
+
|| params.modifierNumber !== null
|
|
1757
|
+
|| params.modifierYear !== null
|
|
1758
|
+
|| params.modifierTitle !== null
|
|
1759
|
+
|| params.model !== null
|
|
1760
|
+
|| params.models?.length > 0
|
|
1761
|
+
|| params.module !== null
|
|
1762
|
+
|| params.modules?.length > 0);
|
|
1763
|
+
}
|
|
1723
1764
|
/**
|
|
1724
1765
|
* Clear the search params object
|
|
1725
1766
|
* @param params : the search params to clear
|