wacom 20.4.1 → 20.4.3
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 +143 -46
- package/fesm2022/wacom.mjs.map +1 -1
- package/index.d.ts +4 -1
- package/package.json +1 -1
package/fesm2022/wacom.mjs
CHANGED
|
@@ -51,7 +51,7 @@ const DEFAULT_CONFIG = {
|
|
|
51
51
|
},
|
|
52
52
|
meta: {
|
|
53
53
|
useTitleSuffix: false,
|
|
54
|
-
warnMissingGuard:
|
|
54
|
+
warnMissingGuard: false,
|
|
55
55
|
defaults: { links: {} },
|
|
56
56
|
},
|
|
57
57
|
socket: false,
|
|
@@ -108,9 +108,13 @@ class MetaService {
|
|
|
108
108
|
* @returns The MetaService instance.
|
|
109
109
|
*/
|
|
110
110
|
setTitle(title, titleSuffix) {
|
|
111
|
-
let titleContent = isDefined(title)
|
|
111
|
+
let titleContent = isDefined(title)
|
|
112
|
+
? title || ''
|
|
113
|
+
: this._meta.defaults?.['title'] || '';
|
|
112
114
|
if (this._meta.useTitleSuffix) {
|
|
113
|
-
titleContent += isDefined(titleSuffix)
|
|
115
|
+
titleContent += isDefined(titleSuffix)
|
|
116
|
+
? titleSuffix
|
|
117
|
+
: this._meta.defaults?.['titleSuffix'] || '';
|
|
114
118
|
}
|
|
115
119
|
this._updateMetaTag('title', titleContent);
|
|
116
120
|
this._updateMetaTag('og:title', titleContent);
|
|
@@ -144,7 +148,9 @@ class MetaService {
|
|
|
144
148
|
if (tag === 'title' || tag === 'titleSuffix') {
|
|
145
149
|
throw new Error(`Attempt to set ${tag} through 'setTag': 'title' and 'titleSuffix' are reserved. Use 'MetaService.setTitle' instead.`);
|
|
146
150
|
}
|
|
147
|
-
const content = (isDefined(value)
|
|
151
|
+
const content = (isDefined(value)
|
|
152
|
+
? value || ''
|
|
153
|
+
: this._meta.defaults?.[tag] || '') + '';
|
|
148
154
|
this._updateMetaTag(tag, content, prop);
|
|
149
155
|
if (tag === 'description') {
|
|
150
156
|
this._updateMetaTag('og:description', content, prop);
|
|
@@ -159,7 +165,11 @@ class MetaService {
|
|
|
159
165
|
* @param prop - The meta tag property.
|
|
160
166
|
*/
|
|
161
167
|
_updateMetaTag(tag, value, prop) {
|
|
162
|
-
prop =
|
|
168
|
+
prop =
|
|
169
|
+
prop ||
|
|
170
|
+
(tag.startsWith('og:') || tag.startsWith('twitter:')
|
|
171
|
+
? 'property'
|
|
172
|
+
: 'name');
|
|
163
173
|
this.meta.updateTag({ [prop]: tag, content: value });
|
|
164
174
|
}
|
|
165
175
|
/**
|
|
@@ -169,14 +179,19 @@ class MetaService {
|
|
|
169
179
|
* @param prop - The meta tag property.
|
|
170
180
|
*/
|
|
171
181
|
removeTag(tag, prop) {
|
|
172
|
-
prop =
|
|
182
|
+
prop =
|
|
183
|
+
prop ||
|
|
184
|
+
(tag.startsWith('og:') || tag.startsWith('twitter:')
|
|
185
|
+
? 'property'
|
|
186
|
+
: 'name');
|
|
173
187
|
this.meta.removeTag(`${prop}="${tag}"`);
|
|
174
188
|
}
|
|
175
189
|
/**
|
|
176
190
|
* Warns about missing meta guards in routes.
|
|
177
191
|
*/
|
|
178
192
|
_warnMissingGuard() {
|
|
179
|
-
if (isDefined(this._meta.warnMissingGuard) &&
|
|
193
|
+
if (isDefined(this._meta.warnMissingGuard) &&
|
|
194
|
+
!this._meta.warnMissingGuard) {
|
|
180
195
|
return;
|
|
181
196
|
}
|
|
182
197
|
const hasDefaultMeta = !!Object.keys(this._meta.defaults ?? {}).length;
|
|
@@ -184,7 +199,9 @@ class MetaService {
|
|
|
184
199
|
let hasShownWarnings = false;
|
|
185
200
|
const checkRoute = (route) => {
|
|
186
201
|
const hasRouteMeta = route.data && route.data['meta'];
|
|
187
|
-
const showWarning = !isDefined(route.redirectTo) &&
|
|
202
|
+
const showWarning = !isDefined(route.redirectTo) &&
|
|
203
|
+
(hasDefaultMeta || hasRouteMeta) &&
|
|
204
|
+
!(route.canActivate || []).some(hasMetaGuardInArr);
|
|
188
205
|
if (showWarning) {
|
|
189
206
|
console.warn(`Route with path "${route.path}" has ${hasRouteMeta ? '' : 'default '}meta tags, but does not use MetaGuard. Please add MetaGuard to the canActivate array in your route configuration`);
|
|
190
207
|
hasShownWarnings = true;
|
|
@@ -235,11 +252,14 @@ class MetaGuard {
|
|
|
235
252
|
if (meta.links && Object.keys(meta.links).length) {
|
|
236
253
|
this.metaService.setLink(meta.links);
|
|
237
254
|
}
|
|
238
|
-
if (this._meta.defaults?.links &&
|
|
255
|
+
if (this._meta.defaults?.links &&
|
|
256
|
+
Object.keys(this._meta.defaults.links).length) {
|
|
239
257
|
this.metaService.setLink(this._meta.defaults.links);
|
|
240
258
|
}
|
|
241
259
|
Object.keys(meta).forEach((prop) => {
|
|
242
|
-
if (prop === 'title' ||
|
|
260
|
+
if (prop === 'title' ||
|
|
261
|
+
prop === 'titleSuffix' ||
|
|
262
|
+
prop === 'links') {
|
|
243
263
|
return;
|
|
244
264
|
}
|
|
245
265
|
Object.keys(meta[prop]).forEach((key) => {
|
|
@@ -247,7 +267,10 @@ class MetaGuard {
|
|
|
247
267
|
});
|
|
248
268
|
});
|
|
249
269
|
Object.keys(this._meta.defaults).forEach((key) => {
|
|
250
|
-
if (key in meta ||
|
|
270
|
+
if (key in meta ||
|
|
271
|
+
key === 'title' ||
|
|
272
|
+
key === 'titleSuffix' ||
|
|
273
|
+
key === 'links') {
|
|
251
274
|
return;
|
|
252
275
|
}
|
|
253
276
|
this.metaService.setTag(key, this._meta.defaults[key]);
|
|
@@ -323,11 +346,11 @@ class AlertComponent {
|
|
|
323
346
|
}, 350);
|
|
324
347
|
}
|
|
325
348
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
326
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: AlertComponent, isStandalone: true, selector: "alert", viewQueries: [{ propertyName: "alertRef", first: true, predicate: ["alertRef"], descendants: true }], ngImport: i0, template: "@if (text) {\r\n\t<div
|
|
349
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", 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"] }] }); }
|
|
327
350
|
}
|
|
328
351
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: AlertComponent, decorators: [{
|
|
329
352
|
type: Component,
|
|
330
|
-
args: [{ selector: 'alert', imports: [CommonModule], template: "@if (text) {\r\n\t<div
|
|
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"] }]
|
|
331
354
|
}], propDecorators: { alertRef: [{
|
|
332
355
|
type: ViewChild,
|
|
333
356
|
args: ['alertRef']
|
|
@@ -357,11 +380,11 @@ class BaseComponent {
|
|
|
357
380
|
*/
|
|
358
381
|
class WrapperComponent {
|
|
359
382
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: WrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
360
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", type: WrapperComponent, isStandalone: true, selector: "lib-wrapper", ngImport: i0, template: "<div class=\"wacom-wrapper\">\r\n\t<div
|
|
383
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", 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"] }); }
|
|
361
384
|
}
|
|
362
385
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: WrapperComponent, decorators: [{
|
|
363
386
|
type: Component,
|
|
364
|
-
args: [{ selector: 'lib-wrapper', imports: [], template: "<div class=\"wacom-wrapper\">\r\n\t<div
|
|
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"] }]
|
|
365
388
|
}] });
|
|
366
389
|
|
|
367
390
|
/**
|
|
@@ -394,7 +417,8 @@ class DomService {
|
|
|
394
417
|
});
|
|
395
418
|
this.projectComponentInputs(componentRef, options);
|
|
396
419
|
this._appRef.attachView(componentRef.hostView);
|
|
397
|
-
const domElem = componentRef.hostView
|
|
420
|
+
const domElem = componentRef.hostView
|
|
421
|
+
.rootNodes[0];
|
|
398
422
|
const element = document.getElementById(id);
|
|
399
423
|
if (element && typeof element.appendChild === 'function') {
|
|
400
424
|
element.appendChild(domElem);
|
|
@@ -425,7 +449,8 @@ class DomService {
|
|
|
425
449
|
});
|
|
426
450
|
this.projectComponentInputs(componentRef, options);
|
|
427
451
|
this._appRef.attachView(componentRef.hostView);
|
|
428
|
-
const domElem = componentRef.hostView
|
|
452
|
+
const domElem = componentRef.hostView
|
|
453
|
+
.rootNodes[0];
|
|
429
454
|
if (element && typeof element.appendChild === 'function') {
|
|
430
455
|
element.appendChild(domElem);
|
|
431
456
|
}
|
|
@@ -514,6 +539,7 @@ class AlertService {
|
|
|
514
539
|
bottom: 7,
|
|
515
540
|
bottomRight: 8,
|
|
516
541
|
};
|
|
542
|
+
this._translate = (phrase) => '';
|
|
517
543
|
this._config = {
|
|
518
544
|
...DEFAULT_ALERT_CONFIG,
|
|
519
545
|
...(config?.alert || {}),
|
|
@@ -529,6 +555,9 @@ class AlertService {
|
|
|
529
555
|
*/
|
|
530
556
|
show(opts) {
|
|
531
557
|
opts = this._opts(opts);
|
|
558
|
+
if (opts.text && typeof this._translate === 'function') {
|
|
559
|
+
opts.text = this._translate(opts.text);
|
|
560
|
+
}
|
|
532
561
|
if (opts.unique && this._alerts.find((m) => m.unique === opts.unique)) {
|
|
533
562
|
return this._alerts.find((m) => m.unique === opts.unique);
|
|
534
563
|
}
|
|
@@ -618,6 +647,9 @@ class AlertService {
|
|
|
618
647
|
this._alerts[i].close?.();
|
|
619
648
|
}
|
|
620
649
|
}
|
|
650
|
+
setTranslate(_translate) {
|
|
651
|
+
this._translate = _translate;
|
|
652
|
+
}
|
|
621
653
|
_opts(opts) {
|
|
622
654
|
return typeof opts === 'string'
|
|
623
655
|
? {
|
|
@@ -1238,13 +1270,13 @@ class CrudComponent {
|
|
|
1238
1270
|
/**
|
|
1239
1271
|
* Loads documents for a given page.
|
|
1240
1272
|
*/
|
|
1241
|
-
setDocuments(page = this.page) {
|
|
1273
|
+
setDocuments(page = this.page, query = '') {
|
|
1242
1274
|
return new Promise((resolve) => {
|
|
1243
1275
|
if (this.configType === 'server') {
|
|
1244
1276
|
this.page = page;
|
|
1245
1277
|
this.__core.afterWhile(this, () => {
|
|
1246
1278
|
this.crudService
|
|
1247
|
-
.get({ page }, this.getOptions())
|
|
1279
|
+
.get({ page, query }, this.getOptions())
|
|
1248
1280
|
.subscribe((docs) => {
|
|
1249
1281
|
this.documents.update(() => this.__core.toSignalsArray(docs));
|
|
1250
1282
|
resolve();
|
|
@@ -1478,11 +1510,11 @@ class LoaderComponent {
|
|
|
1478
1510
|
}
|
|
1479
1511
|
}
|
|
1480
1512
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1481
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", 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
|
|
1513
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", 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"] }] }); }
|
|
1482
1514
|
}
|
|
1483
1515
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
1484
1516
|
type: Component,
|
|
1485
|
-
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
|
|
1517
|
+
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"] }]
|
|
1486
1518
|
}] });
|
|
1487
1519
|
|
|
1488
1520
|
class ModalComponent {
|
|
@@ -1511,11 +1543,11 @@ class ModalComponent {
|
|
|
1511
1543
|
this.close();
|
|
1512
1544
|
}
|
|
1513
1545
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1514
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", 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\">×</span>\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"] }] }); }
|
|
1546
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", 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"] }] }); }
|
|
1515
1547
|
}
|
|
1516
1548
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ModalComponent, decorators: [{
|
|
1517
1549
|
type: Component,
|
|
1518
|
-
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\">×</span>\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"] }]
|
|
1550
|
+
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"] }]
|
|
1519
1551
|
}] });
|
|
1520
1552
|
|
|
1521
1553
|
/**
|
|
@@ -1687,7 +1719,11 @@ class SearchPipe {
|
|
|
1687
1719
|
if (ignore || !q)
|
|
1688
1720
|
return limit ? docs.slice(0, limit) : docs;
|
|
1689
1721
|
/* normalise fields */
|
|
1690
|
-
const paths = !f
|
|
1722
|
+
const paths = !f
|
|
1723
|
+
? ['name']
|
|
1724
|
+
: Array.isArray(f)
|
|
1725
|
+
? f
|
|
1726
|
+
: f.trim().split(/\s+/);
|
|
1691
1727
|
/* normalise query */
|
|
1692
1728
|
const needles = Array.isArray(q)
|
|
1693
1729
|
? q.map((s) => s.toLowerCase())
|
|
@@ -1708,7 +1744,7 @@ class SearchPipe {
|
|
|
1708
1744
|
const [head, ...rest] = parts;
|
|
1709
1745
|
const next = obj[head];
|
|
1710
1746
|
if (Array.isArray(next))
|
|
1711
|
-
return next.some((v) =>
|
|
1747
|
+
return next.some((v) => rest.length ? walk(v, rest) : txtMatches(v));
|
|
1712
1748
|
return rest.length ? walk(next, rest) : txtMatches(next);
|
|
1713
1749
|
};
|
|
1714
1750
|
const out = [];
|
|
@@ -1724,7 +1760,9 @@ class SearchPipe {
|
|
|
1724
1760
|
}
|
|
1725
1761
|
}
|
|
1726
1762
|
};
|
|
1727
|
-
Array.isArray(items)
|
|
1763
|
+
Array.isArray(items)
|
|
1764
|
+
? docs.forEach((d, i) => check(d, i))
|
|
1765
|
+
: Object.entries(items).forEach(([k, v]) => check(v, k));
|
|
1728
1766
|
return limit ? out.slice(0, limit) : out;
|
|
1729
1767
|
}
|
|
1730
1768
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
@@ -3291,14 +3329,16 @@ class FileService {
|
|
|
3291
3329
|
Object.entries(body).forEach(([key, value]) => formData.append(key, value));
|
|
3292
3330
|
if (info.save) {
|
|
3293
3331
|
info.complete = () => {
|
|
3294
|
-
this.http.post(info.api ||
|
|
3332
|
+
this.http.post(info.api ||
|
|
3333
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, formData, (resp) => {
|
|
3295
3334
|
info.resp?.(resp);
|
|
3296
3335
|
cb(resp);
|
|
3297
3336
|
});
|
|
3298
3337
|
};
|
|
3299
3338
|
}
|
|
3300
3339
|
else {
|
|
3301
|
-
this.http.post(info.api ||
|
|
3340
|
+
this.http.post(info.api ||
|
|
3341
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, formData, (resp) => {
|
|
3302
3342
|
info.resp?.(resp);
|
|
3303
3343
|
cb(resp);
|
|
3304
3344
|
});
|
|
@@ -3313,11 +3353,13 @@ class FileService {
|
|
|
3313
3353
|
image(info, cb = () => { }) {
|
|
3314
3354
|
if (info.save) {
|
|
3315
3355
|
return () => {
|
|
3316
|
-
this.http.post(info.api ||
|
|
3356
|
+
this.http.post(info.api ||
|
|
3357
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, info, cb);
|
|
3317
3358
|
};
|
|
3318
3359
|
}
|
|
3319
3360
|
else {
|
|
3320
|
-
this.http.post(info.api ||
|
|
3361
|
+
this.http.post(info.api ||
|
|
3362
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, info, cb);
|
|
3321
3363
|
}
|
|
3322
3364
|
}
|
|
3323
3365
|
/**
|
|
@@ -3341,13 +3383,15 @@ class FileService {
|
|
|
3341
3383
|
obj['dataUrl'] = dataUrl;
|
|
3342
3384
|
if (info.save) {
|
|
3343
3385
|
info.complete = () => {
|
|
3344
|
-
this.http.post(info.api ||
|
|
3386
|
+
this.http.post(info.api ||
|
|
3387
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, obj, (resp) => {
|
|
3345
3388
|
info.cb?.(resp);
|
|
3346
3389
|
});
|
|
3347
3390
|
};
|
|
3348
3391
|
}
|
|
3349
3392
|
else {
|
|
3350
|
-
this.http.post(info.api ||
|
|
3393
|
+
this.http.post(info.api ||
|
|
3394
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, obj, (resp) => {
|
|
3351
3395
|
info.cb?.(resp);
|
|
3352
3396
|
});
|
|
3353
3397
|
}
|
|
@@ -3381,7 +3425,8 @@ class FileService {
|
|
|
3381
3425
|
const canvas = document.createElement('canvas');
|
|
3382
3426
|
const img = document.createElement('img');
|
|
3383
3427
|
img.onload = () => {
|
|
3384
|
-
if (img.width <= info.resize.width &&
|
|
3428
|
+
if (img.width <= info.resize.width &&
|
|
3429
|
+
img.height <= info.resize.height) {
|
|
3385
3430
|
return this.update(loadEvent.target?.result, info, file);
|
|
3386
3431
|
}
|
|
3387
3432
|
const infoRatio = info.resize.width / info.resize.height;
|
|
@@ -3446,7 +3491,8 @@ class LoaderService {
|
|
|
3446
3491
|
...this._config,
|
|
3447
3492
|
...(typeof opts === 'object' ? opts : { text: opts }),
|
|
3448
3493
|
};
|
|
3449
|
-
if (opts.unique &&
|
|
3494
|
+
if (opts.unique &&
|
|
3495
|
+
this._loaders.find((m) => m.unique === opts.unique)) {
|
|
3450
3496
|
return this._loaders.find((m) => m.unique === opts.unique);
|
|
3451
3497
|
}
|
|
3452
3498
|
this._loaders.push(opts);
|
|
@@ -3528,7 +3574,8 @@ class ModalService {
|
|
|
3528
3574
|
setTimeout(opts.close, opts.timeout);
|
|
3529
3575
|
}
|
|
3530
3576
|
component = this._dom.appendComponent(ModalComponent, opts);
|
|
3531
|
-
content = this._dom.appendComponent(opts.component, opts, component.nativeElement.children[0].children[0]
|
|
3577
|
+
content = this._dom.appendComponent(opts.component, opts, component.nativeElement.children[0].children[0]
|
|
3578
|
+
.children[0]);
|
|
3532
3579
|
return opts;
|
|
3533
3580
|
}
|
|
3534
3581
|
open(opts) {
|
|
@@ -3617,7 +3664,9 @@ class RtcService {
|
|
|
3617
3664
|
*/
|
|
3618
3665
|
async createPeer(id) {
|
|
3619
3666
|
const peer = new RTCPeerConnection();
|
|
3620
|
-
this.localStream
|
|
3667
|
+
this.localStream
|
|
3668
|
+
?.getTracks()
|
|
3669
|
+
.forEach((track) => peer.addTrack(track, this.localStream));
|
|
3621
3670
|
this.peers.set(id, peer);
|
|
3622
3671
|
return peer;
|
|
3623
3672
|
}
|
|
@@ -3834,7 +3883,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImpor
|
|
|
3834
3883
|
class TimeService {
|
|
3835
3884
|
constructor(datePipe) {
|
|
3836
3885
|
this.datePipe = datePipe;
|
|
3837
|
-
this.weekDays = [
|
|
3886
|
+
this.weekDays = [
|
|
3887
|
+
'Sunday',
|
|
3888
|
+
'Monday',
|
|
3889
|
+
'Tuesday',
|
|
3890
|
+
'Wednesday',
|
|
3891
|
+
'Thursday',
|
|
3892
|
+
'Friday',
|
|
3893
|
+
'Saturday',
|
|
3894
|
+
];
|
|
3838
3895
|
this.monthNames = [
|
|
3839
3896
|
'January',
|
|
3840
3897
|
'February',
|
|
@@ -3859,7 +3916,9 @@ class TimeService {
|
|
|
3859
3916
|
*/
|
|
3860
3917
|
getDayName(date, format = 'long') {
|
|
3861
3918
|
const dayIndex = date.getDay();
|
|
3862
|
-
return format === 'short'
|
|
3919
|
+
return format === 'short'
|
|
3920
|
+
? this.weekDays[dayIndex].substring(0, 3)
|
|
3921
|
+
: this.weekDays[dayIndex];
|
|
3863
3922
|
}
|
|
3864
3923
|
/**
|
|
3865
3924
|
* Returns the name of the month for a given index.
|
|
@@ -3869,10 +3928,14 @@ class TimeService {
|
|
|
3869
3928
|
* @returns The name of the month.
|
|
3870
3929
|
*/
|
|
3871
3930
|
getMonthName(monthIndex, format = 'long') {
|
|
3872
|
-
if (!Number.isInteger(monthIndex) ||
|
|
3931
|
+
if (!Number.isInteger(monthIndex) ||
|
|
3932
|
+
monthIndex < 0 ||
|
|
3933
|
+
monthIndex > 11) {
|
|
3873
3934
|
throw new RangeError('monthIndex must be an integer between 0 and 11');
|
|
3874
3935
|
}
|
|
3875
|
-
return format === 'short'
|
|
3936
|
+
return format === 'short'
|
|
3937
|
+
? this.monthNames[monthIndex].substring(0, 3)
|
|
3938
|
+
: this.monthNames[monthIndex];
|
|
3876
3939
|
}
|
|
3877
3940
|
/**
|
|
3878
3941
|
* Formats a date according to the specified format and timezone.
|
|
@@ -4209,7 +4272,9 @@ class TimeService {
|
|
|
4209
4272
|
* @returns True if the dates are on the same day, false otherwise.
|
|
4210
4273
|
*/
|
|
4211
4274
|
isSameDay(date1, date2) {
|
|
4212
|
-
return date1.getFullYear() === date2.getFullYear() &&
|
|
4275
|
+
return (date1.getFullYear() === date2.getFullYear() &&
|
|
4276
|
+
date1.getMonth() === date2.getMonth() &&
|
|
4277
|
+
date1.getDate() === date2.getDate());
|
|
4213
4278
|
}
|
|
4214
4279
|
/**
|
|
4215
4280
|
* Returns the ISO week number for a given date.
|
|
@@ -4522,7 +4587,14 @@ function provideWacom(config = DEFAULT_CONFIG) {
|
|
|
4522
4587
|
|
|
4523
4588
|
/* initialize */
|
|
4524
4589
|
const DIRECTIVES = [ClickOutsideDirective];
|
|
4525
|
-
const PIPES = [
|
|
4590
|
+
const PIPES = [
|
|
4591
|
+
ArrPipe,
|
|
4592
|
+
SafePipe,
|
|
4593
|
+
SplicePipe,
|
|
4594
|
+
SearchPipe,
|
|
4595
|
+
MongodatePipe,
|
|
4596
|
+
PaginationPipe,
|
|
4597
|
+
];
|
|
4526
4598
|
const LOCAL_COMPONENTS = [WrapperComponent, FilesComponent];
|
|
4527
4599
|
const COMPONENTS = [LoaderComponent, ModalComponent, AlertComponent];
|
|
4528
4600
|
/**
|
|
@@ -4542,15 +4614,40 @@ class WacomModule {
|
|
|
4542
4614
|
};
|
|
4543
4615
|
}
|
|
4544
4616
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4545
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, imports: [CommonModule,
|
|
4546
|
-
|
|
4617
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, imports: [CommonModule,
|
|
4618
|
+
FormsModule, WrapperComponent, FilesComponent, ArrPipe,
|
|
4619
|
+
SafePipe,
|
|
4620
|
+
SplicePipe,
|
|
4621
|
+
SearchPipe,
|
|
4622
|
+
MongodatePipe,
|
|
4623
|
+
PaginationPipe, LoaderComponent, ModalComponent, AlertComponent, ClickOutsideDirective], exports: [ArrPipe,
|
|
4624
|
+
SafePipe,
|
|
4625
|
+
SplicePipe,
|
|
4626
|
+
SearchPipe,
|
|
4627
|
+
MongodatePipe,
|
|
4628
|
+
PaginationPipe, LoaderComponent, ModalComponent, AlertComponent, ClickOutsideDirective] }); }
|
|
4629
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, providers: [
|
|
4630
|
+
{ provide: CONFIG_TOKEN, useValue: DEFAULT_CONFIG },
|
|
4631
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
4632
|
+
], imports: [CommonModule,
|
|
4633
|
+
FormsModule, FilesComponent, COMPONENTS] }); }
|
|
4547
4634
|
}
|
|
4548
4635
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, decorators: [{
|
|
4549
4636
|
type: NgModule,
|
|
4550
4637
|
args: [{
|
|
4551
|
-
imports: [
|
|
4638
|
+
imports: [
|
|
4639
|
+
CommonModule,
|
|
4640
|
+
FormsModule,
|
|
4641
|
+
...LOCAL_COMPONENTS,
|
|
4642
|
+
...PIPES,
|
|
4643
|
+
...COMPONENTS,
|
|
4644
|
+
...DIRECTIVES,
|
|
4645
|
+
],
|
|
4552
4646
|
exports: [...PIPES, ...COMPONENTS, ...DIRECTIVES],
|
|
4553
|
-
providers: [
|
|
4647
|
+
providers: [
|
|
4648
|
+
{ provide: CONFIG_TOKEN, useValue: DEFAULT_CONFIG },
|
|
4649
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
4650
|
+
],
|
|
4554
4651
|
}]
|
|
4555
4652
|
}] });
|
|
4556
4653
|
|