wacom 20.4.3 → 20.5.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/fesm2022/wacom.mjs +287 -259
- package/fesm2022/wacom.mjs.map +1 -1
- package/index.d.ts +36 -20
- package/package.json +1 -1
package/fesm2022/wacom.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import * as i2 from '@angular/platform-browser';
|
|
|
5
5
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
6
6
|
import * as i1$1 from '@angular/common';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
|
-
import { Subject, skip, takeUntil, share, filter, map, Observable, take, merge, combineLatest, timeout,
|
|
8
|
+
import { firstValueFrom, Subject, skip, takeUntil, share, filter, map, Observable, take, merge, combineLatest, timeout, ReplaySubject, EMPTY } from 'rxjs';
|
|
9
9
|
import { toObservable } from '@angular/core/rxjs-interop';
|
|
10
10
|
import * as i1$2 from '@angular/common/http';
|
|
11
11
|
import { HttpHeaders, HttpErrorResponse, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
|
|
@@ -213,10 +213,10 @@ class MetaService {
|
|
|
213
213
|
console.warn(`To disable these warnings, set metaConfig.warnMissingGuard: false in your MetaConfig passed to MetaModule.forRoot()`);
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
217
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MetaService, deps: [{ token: CONFIG_TOKEN, optional: true }, { token: i1.Router }, { token: i2.Meta }, { token: i2.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
217
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MetaService, providedIn: 'root' }); }
|
|
218
218
|
}
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MetaService, decorators: [{
|
|
220
220
|
type: Injectable,
|
|
221
221
|
args: [{
|
|
222
222
|
providedIn: 'root',
|
|
@@ -276,10 +276,10 @@ class MetaGuard {
|
|
|
276
276
|
this.metaService.setTag(key, this._meta.defaults[key]);
|
|
277
277
|
});
|
|
278
278
|
}
|
|
279
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
280
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
279
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MetaGuard, deps: [{ token: MetaService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
280
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MetaGuard, providedIn: 'root' }); }
|
|
281
281
|
}
|
|
282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MetaGuard, decorators: [{
|
|
283
283
|
type: Injectable,
|
|
284
284
|
args: [{ providedIn: 'root' }]
|
|
285
285
|
}], ctorParameters: () => [{ type: MetaService }, { type: undefined, decorators: [{
|
|
@@ -345,10 +345,10 @@ class AlertComponent {
|
|
|
345
345
|
this.delete_animation = false;
|
|
346
346
|
}, 350);
|
|
347
347
|
}
|
|
348
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
349
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
349
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: AlertComponent, isStandalone: true, selector: "alert", viewQueries: [{ propertyName: "alertRef", first: true, predicate: ["alertRef"], descendants: true }], ngImport: i0, template: "@if (text) {\r\n\t<div\r\n\t\tclass=\"wacom-alert wacom-alert--auto-height\"\r\n\t\t[class.wacom-alert--closing]=\"delete_animation\"\r\n\t\t[ngClass]=\"class\"\r\n\t>\r\n\t\t<div\r\n\t\t\t[ngClass]=\"'wacom-alert__content--color-' + type\"\r\n\t\t\tclass=\"wacom-alert__content wacom-alert__content--bounce-in-up\"\r\n\t\t\t#alertRef\r\n\t\t>\r\n\t\t\t@if (progress) {\r\n\t\t\t\t<div class=\"wacom-alert__progress\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\tclass=\"wacom-alert__progress-bar\"\r\n\t\t\t\t\t\t[ngClass]=\"'wacom-alert__progress-bar--' + type\"\r\n\t\t\t\t\t\t[ngStyle]=\"{\r\n\t\t\t\t\t\t\t'animation-duration': (timeout + 350) / 1000 + 's',\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></span>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t\t<div class=\"wacom-alert__body\">\r\n\t\t\t\t<div class=\"wacom-alert__texts\">\r\n\t\t\t\t\t@if (icon) {\r\n\t\t\t\t\t\t<div class=\"{{ icon }}\"></div>\r\n\t\t\t\t\t}\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"wacom-alert__message wacom-alert__message--slide-in\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ text }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t@if (type === \"question\") {\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t@for (button of buttons; track button.text) {\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t(click)=\"remove(button.callback)\"\r\n\t\t\t\t\t\t\t\tclass=\"wacom-alert__button\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{{ button.text }}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}\r\n\t\t\t\t@if (closable) {\r\n\t\t\t\t\t<div class=\"wacom-alert__close\" (click)=\"remove()\"></div>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n}\r\n", styles: ["@keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@keyframes wacom-alert-progress{0%{width:100%}to{width:0%}}.wacom-alert{font-size:0;height:100px;width:100%;transform:translateZ(0);backface-visibility:hidden;transition:.3s all ease-in-out;opacity:1}.wacom-alert--closing{opacity:0;transition:.3s all ease-in-out}.wacom-alert--auto-height{height:auto!important}.wacom-alert__content{display:inline-block;clear:both;position:relative;font-family:Lato,Tahoma,Arial;font-size:14px;padding:8px 0 9px;background:#eeeeeee6;border-color:#eeeeeee6;width:100%;pointer-events:all;cursor:default;transform:translate(0);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-height:54px}.wacom-alert__content:hover .wacom-alert__progress-bar{animation-play-state:paused}.wacom-alert__content--bounce-in-up{-webkit-animation:iziT-bounceInUp .7s ease-in-out both;animation:iziT-bounceInUp .7s ease-in-out both}.wacom-alert__content--theme-dark{background:#565c70;border-color:#565c70}.wacom-alert__content--theme-dark .wacom-alert__message{color:#ffffffb3;font-weight:300}.wacom-alert__content--color-info{background-color:var(--wacom-info)}.wacom-alert__content--color-error{background-color:var(--wacom-error)}.wacom-alert__content--color-success{background-color:var(--wacom-success)}.wacom-alert__content--color-warning{background-color:var(--wacom-warning)}.wacom-alert__content--color-question{background-color:var(--wacom-question)}.wacom-alert__close{width:15px;height:15px;right:17px;top:-5px;opacity:.3;position:relative;order:2}.wacom-alert__close:hover{opacity:1}.wacom-alert__close:before,.wacom-alert__close:after{cursor:pointer;position:absolute;left:15px;content:\" \";height:12px;width:2px;background-color:var(--wacom-secondary)}.wacom-alert__close:before{transform:rotate(45deg)}.wacom-alert__close:after{transform:rotate(-45deg)}.wacom-alert__progress{bottom:0;position:absolute;width:100%;margin-bottom:0;border-radius:50px}.wacom-alert__progress:hover .wacom-alert__progress-bar{animation-play-state:paused}.wacom-alert__progress-bar{display:block;width:100%;height:2px;background-color:#a5a5a5ed;animation-name:wacom-alert-progress;animation-duration:10s;border-radius:50px}.wacom-alert__progress-bar--info{background-color:var(--wacom-info)}.wacom-alert__progress-bar--error{background-color:var(--wacom-error)}.wacom-alert__progress-bar--success{background-color:var(--wacom-success)}.wacom-alert__progress-bar--warning{background-color:var(--wacom-warning)}.wacom-alert__progress-bar--question{background-color:var(--wacom-question)}.wacom-alert__body{position:relative;padding:0 0 0 10px;min-height:36px;margin:0 0 0 15px;text-align:left;display:flex;justify-content:space-between;align-items:center}.wacom-alert__texts{margin:10px 0 0;padding-right:2px;display:flex;justify-content:space-between;align-items:center}.wacom-alert__message{padding:0;font-size:14px;line-height:16px;text-align:left;color:#0009;white-space:normal}.wacom-alert__message--slide-in{-webkit-animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
350
350
|
}
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AlertComponent, decorators: [{
|
|
352
352
|
type: Component,
|
|
353
353
|
args: [{ selector: 'alert', imports: [CommonModule], template: "@if (text) {\r\n\t<div\r\n\t\tclass=\"wacom-alert wacom-alert--auto-height\"\r\n\t\t[class.wacom-alert--closing]=\"delete_animation\"\r\n\t\t[ngClass]=\"class\"\r\n\t>\r\n\t\t<div\r\n\t\t\t[ngClass]=\"'wacom-alert__content--color-' + type\"\r\n\t\t\tclass=\"wacom-alert__content wacom-alert__content--bounce-in-up\"\r\n\t\t\t#alertRef\r\n\t\t>\r\n\t\t\t@if (progress) {\r\n\t\t\t\t<div class=\"wacom-alert__progress\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\tclass=\"wacom-alert__progress-bar\"\r\n\t\t\t\t\t\t[ngClass]=\"'wacom-alert__progress-bar--' + type\"\r\n\t\t\t\t\t\t[ngStyle]=\"{\r\n\t\t\t\t\t\t\t'animation-duration': (timeout + 350) / 1000 + 's',\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></span>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t\t<div class=\"wacom-alert__body\">\r\n\t\t\t\t<div class=\"wacom-alert__texts\">\r\n\t\t\t\t\t@if (icon) {\r\n\t\t\t\t\t\t<div class=\"{{ icon }}\"></div>\r\n\t\t\t\t\t}\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"wacom-alert__message wacom-alert__message--slide-in\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ text }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t@if (type === \"question\") {\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t@for (button of buttons; track button.text) {\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t(click)=\"remove(button.callback)\"\r\n\t\t\t\t\t\t\t\tclass=\"wacom-alert__button\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{{ button.text }}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}\r\n\t\t\t\t@if (closable) {\r\n\t\t\t\t\t<div class=\"wacom-alert__close\" (click)=\"remove()\"></div>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n}\r\n", styles: ["@keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@keyframes wacom-alert-progress{0%{width:100%}to{width:0%}}.wacom-alert{font-size:0;height:100px;width:100%;transform:translateZ(0);backface-visibility:hidden;transition:.3s all ease-in-out;opacity:1}.wacom-alert--closing{opacity:0;transition:.3s all ease-in-out}.wacom-alert--auto-height{height:auto!important}.wacom-alert__content{display:inline-block;clear:both;position:relative;font-family:Lato,Tahoma,Arial;font-size:14px;padding:8px 0 9px;background:#eeeeeee6;border-color:#eeeeeee6;width:100%;pointer-events:all;cursor:default;transform:translate(0);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-height:54px}.wacom-alert__content:hover .wacom-alert__progress-bar{animation-play-state:paused}.wacom-alert__content--bounce-in-up{-webkit-animation:iziT-bounceInUp .7s ease-in-out both;animation:iziT-bounceInUp .7s ease-in-out both}.wacom-alert__content--theme-dark{background:#565c70;border-color:#565c70}.wacom-alert__content--theme-dark .wacom-alert__message{color:#ffffffb3;font-weight:300}.wacom-alert__content--color-info{background-color:var(--wacom-info)}.wacom-alert__content--color-error{background-color:var(--wacom-error)}.wacom-alert__content--color-success{background-color:var(--wacom-success)}.wacom-alert__content--color-warning{background-color:var(--wacom-warning)}.wacom-alert__content--color-question{background-color:var(--wacom-question)}.wacom-alert__close{width:15px;height:15px;right:17px;top:-5px;opacity:.3;position:relative;order:2}.wacom-alert__close:hover{opacity:1}.wacom-alert__close:before,.wacom-alert__close:after{cursor:pointer;position:absolute;left:15px;content:\" \";height:12px;width:2px;background-color:var(--wacom-secondary)}.wacom-alert__close:before{transform:rotate(45deg)}.wacom-alert__close:after{transform:rotate(-45deg)}.wacom-alert__progress{bottom:0;position:absolute;width:100%;margin-bottom:0;border-radius:50px}.wacom-alert__progress:hover .wacom-alert__progress-bar{animation-play-state:paused}.wacom-alert__progress-bar{display:block;width:100%;height:2px;background-color:#a5a5a5ed;animation-name:wacom-alert-progress;animation-duration:10s;border-radius:50px}.wacom-alert__progress-bar--info{background-color:var(--wacom-info)}.wacom-alert__progress-bar--error{background-color:var(--wacom-error)}.wacom-alert__progress-bar--success{background-color:var(--wacom-success)}.wacom-alert__progress-bar--warning{background-color:var(--wacom-warning)}.wacom-alert__progress-bar--question{background-color:var(--wacom-question)}.wacom-alert__body{position:relative;padding:0 0 0 10px;min-height:36px;margin:0 0 0 15px;text-align:left;display:flex;justify-content:space-between;align-items:center}.wacom-alert__texts{margin:10px 0 0;padding-right:2px;display:flex;justify-content:space-between;align-items:center}.wacom-alert__message{padding:0;font-size:14px;line-height:16px;text-align:left;color:#0009;white-space:normal}.wacom-alert__message--slide-in{-webkit-animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both}\n"] }]
|
|
354
354
|
}], propDecorators: { alertRef: [{
|
|
@@ -379,10 +379,10 @@ class BaseComponent {
|
|
|
379
379
|
* rendered in different screen positions.
|
|
380
380
|
*/
|
|
381
381
|
class WrapperComponent {
|
|
382
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
383
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
382
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: WrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
383
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: WrapperComponent, isStandalone: true, selector: "lib-wrapper", ngImport: i0, template: "<div class=\"wacom-wrapper\">\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--top-left\"\r\n\t\tid=\"topLeft\"\r\n\t></div>\r\n\t<div class=\"wacom-wrapper__alert wacom-wrapper__alert--top\" id=\"top\"></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--top-right\"\r\n\t\tid=\"topRight\"\r\n\t></div>\r\n\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--left\"\r\n\t\tid=\"left\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--center\"\r\n\t\tid=\"center\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--right\"\r\n\t\tid=\"right\"\r\n\t></div>\r\n\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--bottom-left\"\r\n\t\tid=\"bottomLeft\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--bottom\"\r\n\t\tid=\"bottom\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--bottom-right\"\r\n\t\tid=\"bottomRight\"\r\n\t></div>\r\n</div>\r\n", styles: [".wacom-wrapper__alert{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.wacom-wrapper__alert--top-left{top:0;left:0;text-align:left}.wacom-wrapper__alert--top{top:0;left:0;right:0;text-align:center}.wacom-wrapper__alert--top-right{top:0;right:0;text-align:right}.wacom-wrapper__alert--left{top:0;bottom:0;left:0;justify-content:center;text-align:left}.wacom-wrapper__alert--center{inset:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}.wacom-wrapper__alert--right{top:0;bottom:0;right:0;justify-content:center;text-align:right}.wacom-wrapper__alert--bottom-left{bottom:0;left:0;text-align:left}.wacom-wrapper__alert--bottom{bottom:0;left:0;right:0;text-align:center}.wacom-wrapper__alert--bottom-right{bottom:0;right:0;text-align:right}@media only screen and (max-width: 567px){.wacom-wrapper__alert--top-left,.wacom-wrapper__alert--top-right,.wacom-wrapper__alert--left,.wacom-wrapper__alert--right,.wacom-wrapper__alert--bottom-left,.wacom-wrapper__alert--bottom-right,.wacom-wrapper__alert--center{left:0;right:0;text-align:center}.wacom-wrapper__alert--center{align-items:stretch}.wacom-wrapper__alert--left,.wacom-wrapper__alert--right{flex-flow:column;align-items:center}}\n"] }); }
|
|
384
384
|
}
|
|
385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
385
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: WrapperComponent, decorators: [{
|
|
386
386
|
type: Component,
|
|
387
387
|
args: [{ selector: 'lib-wrapper', imports: [], template: "<div class=\"wacom-wrapper\">\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--top-left\"\r\n\t\tid=\"topLeft\"\r\n\t></div>\r\n\t<div class=\"wacom-wrapper__alert wacom-wrapper__alert--top\" id=\"top\"></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--top-right\"\r\n\t\tid=\"topRight\"\r\n\t></div>\r\n\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--left\"\r\n\t\tid=\"left\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--center\"\r\n\t\tid=\"center\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--right\"\r\n\t\tid=\"right\"\r\n\t></div>\r\n\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--bottom-left\"\r\n\t\tid=\"bottomLeft\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--bottom\"\r\n\t\tid=\"bottom\"\r\n\t></div>\r\n\t<div\r\n\t\tclass=\"wacom-wrapper__alert wacom-wrapper__alert--bottom-right\"\r\n\t\tid=\"bottomRight\"\r\n\t></div>\r\n</div>\r\n", styles: [".wacom-wrapper__alert{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.wacom-wrapper__alert--top-left{top:0;left:0;text-align:left}.wacom-wrapper__alert--top{top:0;left:0;right:0;text-align:center}.wacom-wrapper__alert--top-right{top:0;right:0;text-align:right}.wacom-wrapper__alert--left{top:0;bottom:0;left:0;justify-content:center;text-align:left}.wacom-wrapper__alert--center{inset:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}.wacom-wrapper__alert--right{top:0;bottom:0;right:0;justify-content:center;text-align:right}.wacom-wrapper__alert--bottom-left{bottom:0;left:0;text-align:left}.wacom-wrapper__alert--bottom{bottom:0;left:0;right:0;text-align:center}.wacom-wrapper__alert--bottom-right{bottom:0;right:0;text-align:right}@media only screen and (max-width: 567px){.wacom-wrapper__alert--top-left,.wacom-wrapper__alert--top-right,.wacom-wrapper__alert--left,.wacom-wrapper__alert--right,.wacom-wrapper__alert--bottom-left,.wacom-wrapper__alert--bottom-right,.wacom-wrapper__alert--center{left:0;right:0;text-align:center}.wacom-wrapper__alert--center{align-items:stretch}.wacom-wrapper__alert--left,.wacom-wrapper__alert--right{flex-flow:column;align-items:center}}\n"] }]
|
|
388
388
|
}] });
|
|
@@ -505,10 +505,10 @@ class DomService {
|
|
|
505
505
|
delete this._providedIn[providedIn];
|
|
506
506
|
}
|
|
507
507
|
}
|
|
508
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
509
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
508
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
509
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DomService, providedIn: 'root' }); }
|
|
510
510
|
}
|
|
511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
511
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: DomService, decorators: [{
|
|
512
512
|
type: Injectable,
|
|
513
513
|
args: [{
|
|
514
514
|
providedIn: 'root',
|
|
@@ -661,10 +661,10 @@ class AlertService {
|
|
|
661
661
|
...opts,
|
|
662
662
|
};
|
|
663
663
|
}
|
|
664
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
665
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
664
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AlertService, deps: [{ token: CONFIG_TOKEN, optional: true }, { token: DomService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
665
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AlertService, providedIn: 'root' }); }
|
|
666
666
|
}
|
|
667
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
667
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AlertService, decorators: [{
|
|
668
668
|
type: Injectable,
|
|
669
669
|
args: [{
|
|
670
670
|
providedIn: 'root',
|
|
@@ -676,130 +676,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImpor
|
|
|
676
676
|
type: Optional
|
|
677
677
|
}] }, { type: DomService }] });
|
|
678
678
|
|
|
679
|
-
class EmitterService {
|
|
680
|
-
constructor() {
|
|
681
|
-
this._signals = new Map();
|
|
682
|
-
this._closers = new Map();
|
|
683
|
-
this._streams = new Map();
|
|
684
|
-
this._done = new Map();
|
|
685
|
-
}
|
|
686
|
-
_getSignal(id) {
|
|
687
|
-
let s = this._signals.get(id);
|
|
688
|
-
if (!s) {
|
|
689
|
-
// emit even if same payload repeats
|
|
690
|
-
s = signal(undefined, { equal: () => false });
|
|
691
|
-
this._signals.set(id, s);
|
|
692
|
-
}
|
|
693
|
-
return s;
|
|
694
|
-
}
|
|
695
|
-
_getCloser(id) {
|
|
696
|
-
let c = this._closers.get(id);
|
|
697
|
-
if (!c) {
|
|
698
|
-
c = new Subject();
|
|
699
|
-
this._closers.set(id, c);
|
|
700
|
-
}
|
|
701
|
-
return c;
|
|
702
|
-
}
|
|
703
|
-
_getStream(id) {
|
|
704
|
-
let obs$ = this._streams.get(id);
|
|
705
|
-
if (!obs$) {
|
|
706
|
-
const sig = this._getSignal(id);
|
|
707
|
-
const closed$ = this._getCloser(id);
|
|
708
|
-
obs$ = toObservable(sig).pipe(
|
|
709
|
-
// Subject-like: don't replay the current value on subscribe
|
|
710
|
-
skip(1), takeUntil(closed$), share());
|
|
711
|
-
this._streams.set(id, obs$);
|
|
712
|
-
}
|
|
713
|
-
return obs$;
|
|
714
|
-
}
|
|
715
|
-
/** Emit an event */
|
|
716
|
-
emit(id, data) {
|
|
717
|
-
this._getSignal(id).set(data);
|
|
718
|
-
}
|
|
719
|
-
/** Listen for events (hot, completes when off(id) is called) */
|
|
720
|
-
on(id) {
|
|
721
|
-
return this._getStream(id);
|
|
722
|
-
}
|
|
723
|
-
/** Complete and remove a channel */
|
|
724
|
-
off(id) {
|
|
725
|
-
const closer = this._closers.get(id);
|
|
726
|
-
if (closer) {
|
|
727
|
-
closer.next();
|
|
728
|
-
closer.complete();
|
|
729
|
-
this._closers.delete(id);
|
|
730
|
-
}
|
|
731
|
-
this._signals.delete(id);
|
|
732
|
-
this._streams.delete(id);
|
|
733
|
-
}
|
|
734
|
-
offAll() {
|
|
735
|
-
for (const id of Array.from(this._closers.keys()))
|
|
736
|
-
this.off(id);
|
|
737
|
-
}
|
|
738
|
-
has(id) {
|
|
739
|
-
return this._signals.has(id);
|
|
740
|
-
}
|
|
741
|
-
_getDoneSignal(id) {
|
|
742
|
-
let s = this._done.get(id);
|
|
743
|
-
if (!s) {
|
|
744
|
-
s = signal(undefined);
|
|
745
|
-
this._done.set(id, s);
|
|
746
|
-
}
|
|
747
|
-
return s;
|
|
748
|
-
}
|
|
749
|
-
/** Mark task as completed with a payload (default: true) */
|
|
750
|
-
complete(task, value = true) {
|
|
751
|
-
this._getDoneSignal(task).set(value);
|
|
752
|
-
}
|
|
753
|
-
/** Clear completion so it can be awaited again */
|
|
754
|
-
clearCompleted(task) {
|
|
755
|
-
const s = this._done.get(task) ?? this._getDoneSignal(task);
|
|
756
|
-
s.set(undefined);
|
|
757
|
-
}
|
|
758
|
-
/** Read current completion payload (undefined => not completed) */
|
|
759
|
-
completed(task) {
|
|
760
|
-
return this._getDoneSignal(task)();
|
|
761
|
-
}
|
|
762
|
-
isCompleted(task) {
|
|
763
|
-
return this._getDoneSignal(task)() !== undefined;
|
|
764
|
-
}
|
|
765
|
-
onComplete(tasks, opts) {
|
|
766
|
-
const list = (Array.isArray(tasks) ? tasks : [tasks]).filter(Boolean);
|
|
767
|
-
const streams = list.map((id) => toObservable(this._getDoneSignal(id)).pipe(filter((v) => v !== undefined), map((v) => v)));
|
|
768
|
-
let source$;
|
|
769
|
-
if (list.length <= 1) {
|
|
770
|
-
// single-task await
|
|
771
|
-
source$ = streams[0]?.pipe(take(1)) ?? new Observable();
|
|
772
|
-
}
|
|
773
|
-
else if (opts?.mode === 'any') {
|
|
774
|
-
source$ = merge(...streams).pipe(take(1));
|
|
775
|
-
}
|
|
776
|
-
else {
|
|
777
|
-
source$ = combineLatest(streams).pipe(take(1));
|
|
778
|
-
}
|
|
779
|
-
if (opts?.timeoutMs && Number.isFinite(opts.timeoutMs)) {
|
|
780
|
-
source$ = source$.pipe(timeout({ first: opts.timeoutMs }));
|
|
781
|
-
}
|
|
782
|
-
if (opts?.abort) {
|
|
783
|
-
const abort$ = new Observable((sub) => {
|
|
784
|
-
const handler = () => {
|
|
785
|
-
sub.next();
|
|
786
|
-
sub.complete();
|
|
787
|
-
};
|
|
788
|
-
opts.abort.addEventListener('abort', handler);
|
|
789
|
-
return () => opts.abort.removeEventListener('abort', handler);
|
|
790
|
-
});
|
|
791
|
-
source$ = source$.pipe(takeUntil(abort$));
|
|
792
|
-
}
|
|
793
|
-
return source$;
|
|
794
|
-
}
|
|
795
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: EmitterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
796
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: EmitterService, providedIn: 'root' }); }
|
|
797
|
-
}
|
|
798
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: EmitterService, decorators: [{
|
|
799
|
-
type: Injectable,
|
|
800
|
-
args: [{ providedIn: 'root' }]
|
|
801
|
-
}] });
|
|
802
|
-
|
|
803
679
|
// Core utilities and helpers for the Wacom app
|
|
804
680
|
// Add capitalize method to String prototype if it doesn't already exist
|
|
805
681
|
if (!String.prototype.capitalize) {
|
|
@@ -827,7 +703,6 @@ class CoreService {
|
|
|
827
703
|
// Locking management
|
|
828
704
|
this._locked = {};
|
|
829
705
|
this._unlockResolvers = {};
|
|
830
|
-
this._emitterService = inject(EmitterService);
|
|
831
706
|
localStorage.setItem('deviceID', this.deviceID);
|
|
832
707
|
this.detectDevice();
|
|
833
708
|
}
|
|
@@ -1109,7 +984,7 @@ class CoreService {
|
|
|
1109
984
|
* to extract the initial value for that field. These fields will be wrapped
|
|
1110
985
|
* as separate signals and embedded in the returned object.
|
|
1111
986
|
*
|
|
1112
|
-
* @returns {
|
|
987
|
+
* @returns {WritableSignal<Document>} A signal-wrapped object, possibly containing
|
|
1113
988
|
* nested field signals for more granular control.
|
|
1114
989
|
*
|
|
1115
990
|
* @example
|
|
@@ -1140,7 +1015,7 @@ class CoreService {
|
|
|
1140
1015
|
* Optional map where keys are field names and values are functions that extract the initial value
|
|
1141
1016
|
* from the object. These fields will be turned into separate signals.
|
|
1142
1017
|
*
|
|
1143
|
-
* @returns {
|
|
1018
|
+
* @returns {WritableSignal<Document>[]} An array where each item is a signal-wrapped object,
|
|
1144
1019
|
* optionally with individual fields also wrapped in signals.
|
|
1145
1020
|
*
|
|
1146
1021
|
* @example
|
|
@@ -1157,7 +1032,7 @@ class CoreService {
|
|
|
1157
1032
|
* Optionally wraps specific fields of the object as individual signals before wrapping the whole object.
|
|
1158
1033
|
*
|
|
1159
1034
|
* @template Document - The type of the object being added.
|
|
1160
|
-
* @param {
|
|
1035
|
+
* @param {WritableSignal<Document>[]} signals - The signals array to append to.
|
|
1161
1036
|
* @param {Document} item - The object to wrap and push as a signal.
|
|
1162
1037
|
* @param {Record<string, (doc: Document) => unknown>} [signalFields={}] -
|
|
1163
1038
|
* Optional map of fields to be wrapped as signals within the object.
|
|
@@ -1214,10 +1089,10 @@ class CoreService {
|
|
|
1214
1089
|
if (sig)
|
|
1215
1090
|
sig.update(updater);
|
|
1216
1091
|
}
|
|
1217
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1218
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
1092
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: CoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1093
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: CoreService, providedIn: 'root' }); }
|
|
1219
1094
|
}
|
|
1220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1095
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: CoreService, decorators: [{
|
|
1221
1096
|
type: Injectable,
|
|
1222
1097
|
args: [{
|
|
1223
1098
|
providedIn: 'root',
|
|
@@ -1453,42 +1328,40 @@ class CrudComponent {
|
|
|
1453
1328
|
this.delete(doc);
|
|
1454
1329
|
}
|
|
1455
1330
|
: null,
|
|
1456
|
-
buttons: [
|
|
1457
|
-
|
|
1458
|
-
? {
|
|
1459
|
-
icon: 'cloud_download',
|
|
1460
|
-
click: (doc) => {
|
|
1461
|
-
this.mutateUrl(doc);
|
|
1462
|
-
},
|
|
1463
|
-
}
|
|
1464
|
-
: null,
|
|
1465
|
-
this.allowSort()
|
|
1466
|
-
? {
|
|
1467
|
-
icon: 'arrow_upward',
|
|
1468
|
-
click: (doc) => {
|
|
1469
|
-
this.moveUp(doc);
|
|
1470
|
-
},
|
|
1471
|
-
}
|
|
1472
|
-
: null,
|
|
1473
|
-
],
|
|
1474
|
-
headerButtons: [
|
|
1475
|
-
this.allowCreate()
|
|
1476
|
-
? {
|
|
1477
|
-
icon: 'playlist_add',
|
|
1478
|
-
click: this.bulkManagement(),
|
|
1479
|
-
class: 'playlist',
|
|
1480
|
-
}
|
|
1481
|
-
: null,
|
|
1482
|
-
this.allowMutate()
|
|
1483
|
-
? {
|
|
1484
|
-
icon: 'edit_note',
|
|
1485
|
-
click: this.bulkManagement(false),
|
|
1486
|
-
class: 'edit',
|
|
1487
|
-
}
|
|
1488
|
-
: null,
|
|
1489
|
-
],
|
|
1331
|
+
buttons: [],
|
|
1332
|
+
headerButtons: [],
|
|
1490
1333
|
allDocs: true,
|
|
1491
1334
|
};
|
|
1335
|
+
if (this.allowUrl()) {
|
|
1336
|
+
config.buttons.push({
|
|
1337
|
+
icon: 'cloud_download',
|
|
1338
|
+
click: (doc) => {
|
|
1339
|
+
this.mutateUrl(doc);
|
|
1340
|
+
},
|
|
1341
|
+
});
|
|
1342
|
+
}
|
|
1343
|
+
if (this.allowSort()) {
|
|
1344
|
+
config.buttons.push({
|
|
1345
|
+
icon: 'arrow_upward',
|
|
1346
|
+
click: (doc) => {
|
|
1347
|
+
this.moveUp(doc);
|
|
1348
|
+
},
|
|
1349
|
+
});
|
|
1350
|
+
}
|
|
1351
|
+
if (this.allowCreate()) {
|
|
1352
|
+
config.headerButtons.push({
|
|
1353
|
+
icon: 'playlist_add',
|
|
1354
|
+
click: this.bulkManagement(),
|
|
1355
|
+
class: 'playlist',
|
|
1356
|
+
});
|
|
1357
|
+
}
|
|
1358
|
+
if (this.allowMutate()) {
|
|
1359
|
+
config.headerButtons.push({
|
|
1360
|
+
icon: 'edit_note',
|
|
1361
|
+
click: this.bulkManagement(false),
|
|
1362
|
+
class: 'edit',
|
|
1363
|
+
});
|
|
1364
|
+
}
|
|
1492
1365
|
return this.configType === 'server'
|
|
1493
1366
|
? {
|
|
1494
1367
|
...config,
|
|
@@ -1509,10 +1382,10 @@ class LoaderComponent {
|
|
|
1509
1382
|
}, this.timeout);
|
|
1510
1383
|
}
|
|
1511
1384
|
}
|
|
1512
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1513
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
1385
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1386
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: LoaderComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"wacom-loader\" [ngClass]=\"class\">\r\n\t@if (progressPercentage) {\r\n\t\t<div class=\"wacom-loader__progress\">\r\n\t\t\t<span\r\n\t\t\t\tclass=\"wacom-loader__progress-bar\"\r\n\t\t\t\t[style.width.%]=\"progressPercentage()\"\r\n\t\t\t\tstyle=\"animation: none\"\r\n\t\t\t></span>\r\n\t\t</div>\r\n\t} @else if (progress) {\r\n\t\t<div class=\"wacom-loader__progress\">\r\n\t\t\t<span\r\n\t\t\t\tclass=\"wacom-loader__progress-bar\"\r\n\t\t\t\t[ngStyle]=\"{\r\n\t\t\t\t\t'animation-duration': (timeout + 350) / 1000 + 's',\r\n\t\t\t\t}\"\r\n\t\t\t></span>\r\n\t\t</div>\r\n\t}\r\n\t@if (closable) {\r\n\t\t<span class=\"wacom-loader__close\" (click)=\"close()\">×</span>\r\n\t}\r\n\t@if (text) {\r\n\t\t<span class=\"wacom-loader__text\">\r\n\t\t\t{{ text }}\r\n\t\t</span>\r\n\t}\r\n</div>\r\n", styles: [".wacom-loader{position:fixed;width:100%;height:100%;left:0;top:0;background-color:var(--wacom-secondary);display:flex;justify-content:center;align-items:center;z-index:999999}.wacom-loader__close{color:#aaa;position:absolute;right:20px;top:20px;font-size:32px;line-height:1}.wacom-loader__close:hover,.wacom-loader__close:focus{color:var(--wacom-secondary);text-decoration:none;cursor:pointer}.wacom-loader__text{font-size:30px;color:var(--wacom-primary)}.wacom-loader__progress{position:absolute;bottom:0;left:0;width:100%}.wacom-loader__progress-bar{display:block;width:100%;height:2px;background-color:#a5a5a5ed;animation-name:wacom-loader-progress;animation-duration:10s;transition:width .2s ease}@keyframes wacom-loader-progress{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
1514
1387
|
}
|
|
1515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1388
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
1516
1389
|
type: Component,
|
|
1517
1390
|
args: [{ imports: [CommonModule], template: "<div class=\"wacom-loader\" [ngClass]=\"class\">\r\n\t@if (progressPercentage) {\r\n\t\t<div class=\"wacom-loader__progress\">\r\n\t\t\t<span\r\n\t\t\t\tclass=\"wacom-loader__progress-bar\"\r\n\t\t\t\t[style.width.%]=\"progressPercentage()\"\r\n\t\t\t\tstyle=\"animation: none\"\r\n\t\t\t></span>\r\n\t\t</div>\r\n\t} @else if (progress) {\r\n\t\t<div class=\"wacom-loader__progress\">\r\n\t\t\t<span\r\n\t\t\t\tclass=\"wacom-loader__progress-bar\"\r\n\t\t\t\t[ngStyle]=\"{\r\n\t\t\t\t\t'animation-duration': (timeout + 350) / 1000 + 's',\r\n\t\t\t\t}\"\r\n\t\t\t></span>\r\n\t\t</div>\r\n\t}\r\n\t@if (closable) {\r\n\t\t<span class=\"wacom-loader__close\" (click)=\"close()\">×</span>\r\n\t}\r\n\t@if (text) {\r\n\t\t<span class=\"wacom-loader__text\">\r\n\t\t\t{{ text }}\r\n\t\t</span>\r\n\t}\r\n</div>\r\n", styles: [".wacom-loader{position:fixed;width:100%;height:100%;left:0;top:0;background-color:var(--wacom-secondary);display:flex;justify-content:center;align-items:center;z-index:999999}.wacom-loader__close{color:#aaa;position:absolute;right:20px;top:20px;font-size:32px;line-height:1}.wacom-loader__close:hover,.wacom-loader__close:focus{color:var(--wacom-secondary);text-decoration:none;cursor:pointer}.wacom-loader__text{font-size:30px;color:var(--wacom-primary)}.wacom-loader__progress{position:absolute;bottom:0;left:0;width:100%}.wacom-loader__progress-bar{display:block;width:100%;height:2px;background-color:#a5a5a5ed;animation-name:wacom-loader-progress;animation-duration:10s;transition:width .2s ease}@keyframes wacom-loader-progress{0%{width:100%}to{width:0%}}\n"] }]
|
|
1518
1391
|
}] });
|
|
@@ -1542,10 +1415,10 @@ class ModalComponent {
|
|
|
1542
1415
|
popStateListener(e) {
|
|
1543
1416
|
this.close();
|
|
1544
1417
|
}
|
|
1545
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1546
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
1418
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1419
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: ModalComponent, isStandalone: true, selector: "lib-modal", ngImport: i0, template: "<div class=\"wacom-modal\" (click)=\"onClickOutside()\">\r\n\t<div class=\"wacom-modal__content\" (click)=\"$event.stopPropagation()\">\r\n\t\t<div><!-- Content Will Drop Here --></div>\r\n\t\t<span class=\"wacom-modal__close\" (click)=\"close()\" *ngIf=\"closable\"\r\n\t\t\t>×</span\r\n\t\t>\r\n\t</div>\r\n</div>\r\n", styles: [".wacom-modal{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:#000;background-color:#00000080}.wacom-modal__content{position:relative;background-color:var(--wacom-primary);margin:15% auto;padding:20px;border:1px solid #888;min-width:20%;max-width:80%}.wacom-modal__close{color:#aaa;position:absolute;right:10px;top:3px;font-size:32px;line-height:1}.wacom-modal__close:hover,.wacom-modal__close:focus{color:var(--wacom-secondary);text-decoration:none;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1547
1420
|
}
|
|
1548
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1421
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ModalComponent, decorators: [{
|
|
1549
1422
|
type: Component,
|
|
1550
1423
|
args: [{ selector: 'lib-modal', standalone: true, imports: [CommonModule], template: "<div class=\"wacom-modal\" (click)=\"onClickOutside()\">\r\n\t<div class=\"wacom-modal__content\" (click)=\"$event.stopPropagation()\">\r\n\t\t<div><!-- Content Will Drop Here --></div>\r\n\t\t<span class=\"wacom-modal__close\" (click)=\"close()\" *ngIf=\"closable\"\r\n\t\t\t>×</span\r\n\t\t>\r\n\t</div>\r\n</div>\r\n", styles: [".wacom-modal{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:#000;background-color:#00000080}.wacom-modal__content{position:relative;background-color:var(--wacom-primary);margin:15% auto;padding:20px;border:1px solid #888;min-width:20%;max-width:80%}.wacom-modal__close{color:#aaa;position:absolute;right:10px;top:3px;font-size:32px;line-height:1}.wacom-modal__close:hover,.wacom-modal__close:focus{color:var(--wacom-secondary);text-decoration:none;cursor:pointer}\n"] }]
|
|
1551
1424
|
}] });
|
|
@@ -1572,10 +1445,10 @@ class ClickOutsideDirective {
|
|
|
1572
1445
|
// cleanup
|
|
1573
1446
|
this._dref.onDestroy(() => document.removeEventListener('pointerdown', this.handler, true));
|
|
1574
1447
|
}
|
|
1575
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1576
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
1448
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1449
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: ClickOutsideDirective, isStandalone: true, selector: "[clickOutside]", outputs: { clickOutside: "clickOutside" }, ngImport: i0 }); }
|
|
1577
1450
|
}
|
|
1578
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
1579
1452
|
type: Directive,
|
|
1580
1453
|
args: [{
|
|
1581
1454
|
selector: '[clickOutside]',
|
|
@@ -1614,10 +1487,10 @@ class ArrPipe {
|
|
|
1614
1487
|
}
|
|
1615
1488
|
return arr;
|
|
1616
1489
|
}
|
|
1617
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1618
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
1490
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ArrPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1491
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: ArrPipe, isStandalone: true, name: "arr" }); }
|
|
1619
1492
|
}
|
|
1620
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1493
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ArrPipe, decorators: [{
|
|
1621
1494
|
type: Pipe,
|
|
1622
1495
|
args: [{
|
|
1623
1496
|
name: 'arr',
|
|
@@ -1631,10 +1504,10 @@ class MongodatePipe {
|
|
|
1631
1504
|
let timestamp = _id.toString().substring(0, 8);
|
|
1632
1505
|
return new Date(parseInt(timestamp, 16) * 1000);
|
|
1633
1506
|
}
|
|
1634
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1635
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
1507
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MongodatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1508
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MongodatePipe, isStandalone: true, name: "mongodate" }); }
|
|
1636
1509
|
}
|
|
1637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1510
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MongodatePipe, decorators: [{
|
|
1638
1511
|
type: Pipe,
|
|
1639
1512
|
args: [{
|
|
1640
1513
|
name: 'mongodate',
|
|
@@ -1646,10 +1519,10 @@ class NumberPipe {
|
|
|
1646
1519
|
const result = Number(value); // Convert value to a number
|
|
1647
1520
|
return isNaN(result) ? 0 : result; // Return 0 if conversion fails
|
|
1648
1521
|
}
|
|
1649
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1650
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
1522
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: NumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1523
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: NumberPipe, isStandalone: true, name: "number" }); }
|
|
1651
1524
|
}
|
|
1652
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: NumberPipe, decorators: [{
|
|
1653
1526
|
type: Pipe,
|
|
1654
1527
|
args: [{
|
|
1655
1528
|
name: 'number',
|
|
@@ -1677,10 +1550,10 @@ class PaginationPipe {
|
|
|
1677
1550
|
}
|
|
1678
1551
|
return arr.slice((config.page - 1) * config.perPage, config.page * config.perPage);
|
|
1679
1552
|
}
|
|
1680
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1681
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
1553
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: PaginationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1554
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: PaginationPipe, isStandalone: true, name: "page", pure: false }); }
|
|
1682
1555
|
}
|
|
1683
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: PaginationPipe, decorators: [{
|
|
1684
1557
|
type: Pipe,
|
|
1685
1558
|
args: [{
|
|
1686
1559
|
name: 'page',
|
|
@@ -1695,10 +1568,10 @@ class SafePipe {
|
|
|
1695
1568
|
transform(html) {
|
|
1696
1569
|
return this._sanitizer.bypassSecurityTrustResourceUrl(html);
|
|
1697
1570
|
}
|
|
1698
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1699
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
1571
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SafePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1572
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SafePipe, isStandalone: true, name: "safe" }); }
|
|
1700
1573
|
}
|
|
1701
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SafePipe, decorators: [{
|
|
1702
1575
|
type: Pipe,
|
|
1703
1576
|
args: [{
|
|
1704
1577
|
name: 'safe',
|
|
@@ -1765,10 +1638,10 @@ class SearchPipe {
|
|
|
1765
1638
|
: Object.entries(items).forEach(([k, v]) => check(v, k));
|
|
1766
1639
|
return limit ? out.slice(0, limit) : out;
|
|
1767
1640
|
}
|
|
1768
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1769
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
1641
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1642
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SearchPipe, isStandalone: true, name: "search" }); }
|
|
1770
1643
|
}
|
|
1771
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1644
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SearchPipe, decorators: [{
|
|
1772
1645
|
type: Pipe,
|
|
1773
1646
|
args: [{ name: 'search', pure: true }]
|
|
1774
1647
|
}] });
|
|
@@ -1828,10 +1701,10 @@ class SplicePipe {
|
|
|
1828
1701
|
}
|
|
1829
1702
|
return arr;
|
|
1830
1703
|
}
|
|
1831
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1832
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
1704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SplicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1705
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SplicePipe, isStandalone: true, name: "splice" }); }
|
|
1833
1706
|
}
|
|
1834
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SplicePipe, decorators: [{
|
|
1835
1708
|
type: Pipe,
|
|
1836
1709
|
args: [{
|
|
1837
1710
|
name: 'splice',
|
|
@@ -1843,10 +1716,10 @@ class SplitPipe {
|
|
|
1843
1716
|
const arr = value.split(devider);
|
|
1844
1717
|
return arr.length > index ? arr[index] : '';
|
|
1845
1718
|
}
|
|
1846
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1847
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
1719
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SplitPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1720
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SplitPipe, isStandalone: true, name: "split" }); }
|
|
1848
1721
|
}
|
|
1849
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1722
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SplitPipe, decorators: [{
|
|
1850
1723
|
type: Pipe,
|
|
1851
1724
|
args: [{
|
|
1852
1725
|
name: 'split',
|
|
@@ -1860,16 +1733,140 @@ class BaseService {
|
|
|
1860
1733
|
refreshNow() {
|
|
1861
1734
|
this.now = new Date().getTime();
|
|
1862
1735
|
}
|
|
1863
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1864
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
1736
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1737
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: BaseService, providedIn: 'root' }); }
|
|
1865
1738
|
}
|
|
1866
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1739
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: BaseService, decorators: [{
|
|
1867
1740
|
type: Injectable,
|
|
1868
1741
|
args: [{
|
|
1869
1742
|
providedIn: 'root',
|
|
1870
1743
|
}]
|
|
1871
1744
|
}] });
|
|
1872
1745
|
|
|
1746
|
+
class EmitterService {
|
|
1747
|
+
constructor() {
|
|
1748
|
+
this._signals = new Map();
|
|
1749
|
+
this._closers = new Map();
|
|
1750
|
+
this._streams = new Map();
|
|
1751
|
+
this._done = new Map();
|
|
1752
|
+
}
|
|
1753
|
+
_getSignal(id) {
|
|
1754
|
+
let s = this._signals.get(id);
|
|
1755
|
+
if (!s) {
|
|
1756
|
+
// emit even if same payload repeats
|
|
1757
|
+
s = signal(undefined, { equal: () => false });
|
|
1758
|
+
this._signals.set(id, s);
|
|
1759
|
+
}
|
|
1760
|
+
return s;
|
|
1761
|
+
}
|
|
1762
|
+
_getCloser(id) {
|
|
1763
|
+
let c = this._closers.get(id);
|
|
1764
|
+
if (!c) {
|
|
1765
|
+
c = new Subject();
|
|
1766
|
+
this._closers.set(id, c);
|
|
1767
|
+
}
|
|
1768
|
+
return c;
|
|
1769
|
+
}
|
|
1770
|
+
_getStream(id) {
|
|
1771
|
+
let obs$ = this._streams.get(id);
|
|
1772
|
+
if (!obs$) {
|
|
1773
|
+
const sig = this._getSignal(id);
|
|
1774
|
+
const closed$ = this._getCloser(id);
|
|
1775
|
+
obs$ = toObservable(sig).pipe(
|
|
1776
|
+
// Subject-like: don't replay the current value on subscribe
|
|
1777
|
+
skip(1), takeUntil(closed$), share());
|
|
1778
|
+
this._streams.set(id, obs$);
|
|
1779
|
+
}
|
|
1780
|
+
return obs$;
|
|
1781
|
+
}
|
|
1782
|
+
/** Emit an event */
|
|
1783
|
+
emit(id, data) {
|
|
1784
|
+
this._getSignal(id).set(data);
|
|
1785
|
+
}
|
|
1786
|
+
/** Listen for events (hot, completes when off(id) is called) */
|
|
1787
|
+
on(id) {
|
|
1788
|
+
return this._getStream(id);
|
|
1789
|
+
}
|
|
1790
|
+
/** Complete and remove a channel */
|
|
1791
|
+
off(id) {
|
|
1792
|
+
const closer = this._closers.get(id);
|
|
1793
|
+
if (closer) {
|
|
1794
|
+
closer.next();
|
|
1795
|
+
closer.complete();
|
|
1796
|
+
this._closers.delete(id);
|
|
1797
|
+
}
|
|
1798
|
+
this._signals.delete(id);
|
|
1799
|
+
this._streams.delete(id);
|
|
1800
|
+
}
|
|
1801
|
+
offAll() {
|
|
1802
|
+
for (const id of Array.from(this._closers.keys()))
|
|
1803
|
+
this.off(id);
|
|
1804
|
+
}
|
|
1805
|
+
has(id) {
|
|
1806
|
+
return this._signals.has(id);
|
|
1807
|
+
}
|
|
1808
|
+
_getDoneSignal(id) {
|
|
1809
|
+
let s = this._done.get(id);
|
|
1810
|
+
if (!s) {
|
|
1811
|
+
s = signal(undefined);
|
|
1812
|
+
this._done.set(id, s);
|
|
1813
|
+
}
|
|
1814
|
+
return s;
|
|
1815
|
+
}
|
|
1816
|
+
/** Mark task as completed with a payload (default: true) */
|
|
1817
|
+
complete(task, value = true) {
|
|
1818
|
+
this._getDoneSignal(task).set(value);
|
|
1819
|
+
}
|
|
1820
|
+
/** Clear completion so it can be awaited again */
|
|
1821
|
+
clearCompleted(task) {
|
|
1822
|
+
const s = this._done.get(task) ?? this._getDoneSignal(task);
|
|
1823
|
+
s.set(undefined);
|
|
1824
|
+
}
|
|
1825
|
+
/** Read current completion payload (undefined => not completed) */
|
|
1826
|
+
completed(task) {
|
|
1827
|
+
return this._getDoneSignal(task)();
|
|
1828
|
+
}
|
|
1829
|
+
isCompleted(task) {
|
|
1830
|
+
return this._getDoneSignal(task)() !== undefined;
|
|
1831
|
+
}
|
|
1832
|
+
onComplete(tasks, opts) {
|
|
1833
|
+
const list = (Array.isArray(tasks) ? tasks : [tasks]).filter(Boolean);
|
|
1834
|
+
const streams = list.map((id) => toObservable(this._getDoneSignal(id)).pipe(filter((v) => v !== undefined), map((v) => v)));
|
|
1835
|
+
let source$;
|
|
1836
|
+
if (list.length <= 1) {
|
|
1837
|
+
// single-task await
|
|
1838
|
+
source$ = streams[0]?.pipe(take(1)) ?? new Observable();
|
|
1839
|
+
}
|
|
1840
|
+
else if (opts?.mode === 'any') {
|
|
1841
|
+
source$ = merge(...streams).pipe(take(1));
|
|
1842
|
+
}
|
|
1843
|
+
else {
|
|
1844
|
+
source$ = combineLatest(streams).pipe(take(1));
|
|
1845
|
+
}
|
|
1846
|
+
if (opts?.timeoutMs && Number.isFinite(opts.timeoutMs)) {
|
|
1847
|
+
source$ = source$.pipe(timeout({ first: opts.timeoutMs }));
|
|
1848
|
+
}
|
|
1849
|
+
if (opts?.abort) {
|
|
1850
|
+
const abort$ = new Observable((sub) => {
|
|
1851
|
+
const handler = () => {
|
|
1852
|
+
sub.next();
|
|
1853
|
+
sub.complete();
|
|
1854
|
+
};
|
|
1855
|
+
opts.abort.addEventListener('abort', handler);
|
|
1856
|
+
return () => opts.abort.removeEventListener('abort', handler);
|
|
1857
|
+
});
|
|
1858
|
+
source$ = source$.pipe(takeUntil(abort$));
|
|
1859
|
+
}
|
|
1860
|
+
return source$;
|
|
1861
|
+
}
|
|
1862
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: EmitterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1863
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: EmitterService, providedIn: 'root' }); }
|
|
1864
|
+
}
|
|
1865
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: EmitterService, decorators: [{
|
|
1866
|
+
type: Injectable,
|
|
1867
|
+
args: [{ providedIn: 'root' }]
|
|
1868
|
+
}] });
|
|
1869
|
+
|
|
1873
1870
|
const DEFAULT_HTTP_CONFIG = {
|
|
1874
1871
|
headers: {},
|
|
1875
1872
|
url: '',
|
|
@@ -2196,10 +2193,10 @@ class HttpService {
|
|
|
2196
2193
|
}
|
|
2197
2194
|
return newDoc;
|
|
2198
2195
|
}
|
|
2199
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2200
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: HttpService, deps: [{ token: CONFIG_TOKEN, optional: true }, { token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2197
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: HttpService, providedIn: 'root' }); }
|
|
2201
2198
|
}
|
|
2202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: HttpService, decorators: [{
|
|
2203
2200
|
type: Injectable,
|
|
2204
2201
|
args: [{
|
|
2205
2202
|
providedIn: 'root',
|
|
@@ -2360,10 +2357,10 @@ class NetworkService {
|
|
|
2360
2357
|
return { ok: false, latency: null };
|
|
2361
2358
|
}
|
|
2362
2359
|
}
|
|
2363
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2364
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2360
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: NetworkService, deps: [{ token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2361
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: NetworkService, providedIn: 'root' }); }
|
|
2365
2362
|
}
|
|
2366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2363
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: NetworkService, decorators: [{
|
|
2367
2364
|
type: Injectable,
|
|
2368
2365
|
args: [{ providedIn: 'root' }]
|
|
2369
2366
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -2535,10 +2532,10 @@ class StoreService {
|
|
|
2535
2532
|
}
|
|
2536
2533
|
return key;
|
|
2537
2534
|
}
|
|
2538
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
2539
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
2535
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: StoreService, deps: [{ token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2536
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: StoreService, providedIn: 'root' }); }
|
|
2540
2537
|
}
|
|
2541
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
2538
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: StoreService, decorators: [{
|
|
2542
2539
|
type: Injectable,
|
|
2543
2540
|
args: [{
|
|
2544
2541
|
providedIn: 'root',
|
|
@@ -2594,12 +2591,18 @@ class CrudService extends BaseService {
|
|
|
2594
2591
|
this.__coreService = inject(CoreService);
|
|
2595
2592
|
this.__emitterService = inject(EmitterService);
|
|
2596
2593
|
this.__networkService = inject(NetworkService);
|
|
2594
|
+
/**
|
|
2595
|
+
* Cache of per-document signals indexed by document _id.
|
|
2596
|
+
* Prevents creating multiple signals for the same document.
|
|
2597
|
+
*/
|
|
2598
|
+
this._signals = {};
|
|
2597
2599
|
this._fetchingId = {};
|
|
2598
2600
|
this._onOnline = [];
|
|
2599
2601
|
this._randomCount = 0;
|
|
2600
2602
|
this._config.signalFields = this._config.signalFields || {};
|
|
2601
2603
|
this._url += this._config.name;
|
|
2602
2604
|
this.loaded = this.__emitterService.onComplete(this._config.name + '_loaded');
|
|
2605
|
+
this.getted = this.__emitterService.onComplete(this._config.name + '_getted');
|
|
2603
2606
|
if (this._config.unauthorized) {
|
|
2604
2607
|
this.restoreDocs();
|
|
2605
2608
|
}
|
|
@@ -2621,6 +2624,29 @@ class CrudService extends BaseService {
|
|
|
2621
2624
|
this._onOnline.length = 0;
|
|
2622
2625
|
});
|
|
2623
2626
|
}
|
|
2627
|
+
/**
|
|
2628
|
+
* Returns a WritableSignal for a document by _id, creating it if absent.
|
|
2629
|
+
* Caches the signal to avoid redundant instances and initializes it
|
|
2630
|
+
* with the current snapshot of the document.
|
|
2631
|
+
* Work very carefully with this and localId, better avoid such flows
|
|
2632
|
+
* @param _id - Document identifier.
|
|
2633
|
+
*/
|
|
2634
|
+
getSignal(_id) {
|
|
2635
|
+
this._signals[_id] ||= this.__coreService.toSignal(this.doc(_id) || { _id }, this._config.signalFields);
|
|
2636
|
+
return this._signals[_id];
|
|
2637
|
+
}
|
|
2638
|
+
/**
|
|
2639
|
+
* Clears cached document signals except those explicitly preserved.
|
|
2640
|
+
* Useful when changing routes or contexts to reduce memory.
|
|
2641
|
+
* @param exceptIds - List of ids whose signals should be kept.
|
|
2642
|
+
*/
|
|
2643
|
+
removeSignals(exceptIds = []) {
|
|
2644
|
+
for (const _id in this._signals) {
|
|
2645
|
+
if (!exceptIds.includes(_id)) {
|
|
2646
|
+
delete this._signals[_id];
|
|
2647
|
+
}
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2624
2650
|
async restoreDocs() {
|
|
2625
2651
|
const docs = await this.__storeService.getJson('docs_' + this._config.name);
|
|
2626
2652
|
if (docs?.length) {
|
|
@@ -2645,6 +2671,7 @@ class CrudService extends BaseService {
|
|
|
2645
2671
|
}
|
|
2646
2672
|
}
|
|
2647
2673
|
}
|
|
2674
|
+
this.__emitterService.complete(this._config.name + '_loaded', this._docs);
|
|
2648
2675
|
}
|
|
2649
2676
|
}
|
|
2650
2677
|
/**
|
|
@@ -2726,7 +2753,8 @@ class CrudService extends BaseService {
|
|
|
2726
2753
|
* @returns The found document or a new document if not found.
|
|
2727
2754
|
*/
|
|
2728
2755
|
doc(_id) {
|
|
2729
|
-
const doc = this._docs.find((d) => this._id(d) === _id
|
|
2756
|
+
const doc = this._docs.find((d) => this._id(d) === _id ||
|
|
2757
|
+
(d._localId && d._localId === Number(_id))) ||
|
|
2730
2758
|
this.new({
|
|
2731
2759
|
_id,
|
|
2732
2760
|
});
|
|
@@ -2790,7 +2818,7 @@ class CrudService extends BaseService {
|
|
|
2790
2818
|
}
|
|
2791
2819
|
if (typeof config.page !== 'number') {
|
|
2792
2820
|
this._filterDocuments();
|
|
2793
|
-
this.__emitterService.complete(this._config.name + '
|
|
2821
|
+
this.__emitterService.complete(this._config.name + '_getted', this._docs);
|
|
2794
2822
|
}
|
|
2795
2823
|
this.__emitterService.emit(`${this._config.name}_get`, this._docs);
|
|
2796
2824
|
},
|
|
@@ -3207,10 +3235,10 @@ class CrudService extends BaseService {
|
|
|
3207
3235
|
}
|
|
3208
3236
|
|
|
3209
3237
|
class FilesComponent {
|
|
3210
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3211
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
3238
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FilesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3239
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: FilesComponent, isStandalone: true, selector: "lib-files", ngImport: i0, template: "@for (file of fs.files; track $index) {\r\n\t<input\r\n\t\t[id]=\"file.id\"\r\n\t\ttype=\"file\"\r\n\t\tname=\"file\"\r\n\t\t(change)=\"fs.change($event, file); input.value = ''\"\r\n\t\t#input\r\n\t\t[hidden]=\"true\"\r\n\t\t[accept]=\"file.accept || (file.part && 'image/*') || ''\"\r\n\t\t[multiple]=\"(file.multiple && true) || ''\"\r\n\t/>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
3212
3240
|
}
|
|
3213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FilesComponent, decorators: [{
|
|
3214
3242
|
type: Component,
|
|
3215
3243
|
args: [{ selector: 'lib-files', imports: [CommonModule], template: "@for (file of fs.files; track $index) {\r\n\t<input\r\n\t\t[id]=\"file.id\"\r\n\t\ttype=\"file\"\r\n\t\tname=\"file\"\r\n\t\t(change)=\"fs.change($event, file); input.value = ''\"\r\n\t\t#input\r\n\t\t[hidden]=\"true\"\r\n\t\t[accept]=\"file.accept || (file.part && 'image/*') || ''\"\r\n\t\t[multiple]=\"(file.multiple && true) || ''\"\r\n\t/>\r\n}\r\n" }]
|
|
3216
3244
|
}] });
|
|
@@ -3454,10 +3482,10 @@ class FileService {
|
|
|
3454
3482
|
destroy() {
|
|
3455
3483
|
this._component.remove();
|
|
3456
3484
|
}
|
|
3457
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3458
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3485
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FileService, deps: [{ token: DomService }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3486
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FileService, providedIn: 'root' }); }
|
|
3459
3487
|
}
|
|
3460
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3488
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: FileService, decorators: [{
|
|
3461
3489
|
type: Injectable,
|
|
3462
3490
|
args: [{
|
|
3463
3491
|
providedIn: 'root',
|
|
@@ -3523,10 +3551,10 @@ class LoaderService {
|
|
|
3523
3551
|
this._loaders[i].close?.();
|
|
3524
3552
|
}
|
|
3525
3553
|
}
|
|
3526
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3527
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3554
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: LoaderService, deps: [{ token: CONFIG_TOKEN, optional: true }, { token: DomService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3555
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: LoaderService, providedIn: 'root' }); }
|
|
3528
3556
|
}
|
|
3529
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3557
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: LoaderService, decorators: [{
|
|
3530
3558
|
type: Injectable,
|
|
3531
3559
|
args: [{
|
|
3532
3560
|
providedIn: 'root',
|
|
@@ -3615,10 +3643,10 @@ class ModalService {
|
|
|
3615
3643
|
component: opts.component,
|
|
3616
3644
|
};
|
|
3617
3645
|
}
|
|
3618
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3619
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3646
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ModalService, deps: [{ token: CONFIG_TOKEN, optional: true }, { token: DomService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3647
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ModalService, providedIn: 'root' }); }
|
|
3620
3648
|
}
|
|
3621
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3649
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ModalService, decorators: [{
|
|
3622
3650
|
type: Injectable,
|
|
3623
3651
|
args: [{
|
|
3624
3652
|
providedIn: 'root',
|
|
@@ -3741,10 +3769,10 @@ class RtcService {
|
|
|
3741
3769
|
this.localStream?.getTracks().forEach((track) => track.stop());
|
|
3742
3770
|
this.localStream = null;
|
|
3743
3771
|
}
|
|
3744
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3745
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3772
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: RtcService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3773
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: RtcService, providedIn: 'root' }); }
|
|
3746
3774
|
}
|
|
3747
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3775
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: RtcService, decorators: [{
|
|
3748
3776
|
type: Injectable,
|
|
3749
3777
|
args: [{ providedIn: 'root' }]
|
|
3750
3778
|
}] });
|
|
@@ -3865,10 +3893,10 @@ class SocketService {
|
|
|
3865
3893
|
}
|
|
3866
3894
|
this._io.emit(to, message, room);
|
|
3867
3895
|
}
|
|
3868
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
3869
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
3896
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SocketService, deps: [{ token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3897
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SocketService, providedIn: 'root' }); }
|
|
3870
3898
|
}
|
|
3871
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
3899
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SocketService, decorators: [{
|
|
3872
3900
|
type: Injectable,
|
|
3873
3901
|
args: [{
|
|
3874
3902
|
providedIn: 'root',
|
|
@@ -4310,10 +4338,10 @@ class TimeService {
|
|
|
4310
4338
|
}
|
|
4311
4339
|
return lastWeek - firstWeek + 1;
|
|
4312
4340
|
}
|
|
4313
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4314
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
4341
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TimeService, deps: [{ token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4342
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TimeService, providedIn: 'root' }); }
|
|
4315
4343
|
}
|
|
4316
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TimeService, decorators: [{
|
|
4317
4345
|
type: Injectable,
|
|
4318
4346
|
args: [{
|
|
4319
4347
|
providedIn: 'root',
|
|
@@ -4555,10 +4583,10 @@ class UtilService {
|
|
|
4555
4583
|
}
|
|
4556
4584
|
catch { }
|
|
4557
4585
|
}
|
|
4558
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4559
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
4586
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: UtilService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4587
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: UtilService, providedIn: 'root' }); }
|
|
4560
4588
|
}
|
|
4561
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4589
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: UtilService, decorators: [{
|
|
4562
4590
|
type: Injectable,
|
|
4563
4591
|
args: [{ providedIn: 'root' }]
|
|
4564
4592
|
}], ctorParameters: () => [] });
|
|
@@ -4613,8 +4641,8 @@ class WacomModule {
|
|
|
4613
4641
|
],
|
|
4614
4642
|
};
|
|
4615
4643
|
}
|
|
4616
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
4617
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.
|
|
4644
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: WacomModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4645
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: WacomModule, imports: [CommonModule,
|
|
4618
4646
|
FormsModule, WrapperComponent, FilesComponent, ArrPipe,
|
|
4619
4647
|
SafePipe,
|
|
4620
4648
|
SplicePipe,
|
|
@@ -4626,13 +4654,13 @@ class WacomModule {
|
|
|
4626
4654
|
SearchPipe,
|
|
4627
4655
|
MongodatePipe,
|
|
4628
4656
|
PaginationPipe, LoaderComponent, ModalComponent, AlertComponent, ClickOutsideDirective] }); }
|
|
4629
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.
|
|
4657
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: WacomModule, providers: [
|
|
4630
4658
|
{ provide: CONFIG_TOKEN, useValue: DEFAULT_CONFIG },
|
|
4631
4659
|
provideHttpClient(withInterceptorsFromDi()),
|
|
4632
4660
|
], imports: [CommonModule,
|
|
4633
4661
|
FormsModule, FilesComponent, COMPONENTS] }); }
|
|
4634
4662
|
}
|
|
4635
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
4663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: WacomModule, decorators: [{
|
|
4636
4664
|
type: NgModule,
|
|
4637
4665
|
args: [{
|
|
4638
4666
|
imports: [
|