wacom 20.4.2 → 20.4.4
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 +166 -78
- package/fesm2022/wacom.mjs.map +1 -1
- package/index.d.ts +9 -12
- 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
|
}
|
|
@@ -1428,42 +1453,40 @@ class CrudComponent {
|
|
|
1428
1453
|
this.delete(doc);
|
|
1429
1454
|
}
|
|
1430
1455
|
: null,
|
|
1431
|
-
buttons: [
|
|
1432
|
-
|
|
1433
|
-
? {
|
|
1434
|
-
icon: 'cloud_download',
|
|
1435
|
-
click: (doc) => {
|
|
1436
|
-
this.mutateUrl(doc);
|
|
1437
|
-
},
|
|
1438
|
-
}
|
|
1439
|
-
: null,
|
|
1440
|
-
this.allowSort()
|
|
1441
|
-
? {
|
|
1442
|
-
icon: 'arrow_upward',
|
|
1443
|
-
click: (doc) => {
|
|
1444
|
-
this.moveUp(doc);
|
|
1445
|
-
},
|
|
1446
|
-
}
|
|
1447
|
-
: null,
|
|
1448
|
-
],
|
|
1449
|
-
headerButtons: [
|
|
1450
|
-
this.allowCreate()
|
|
1451
|
-
? {
|
|
1452
|
-
icon: 'playlist_add',
|
|
1453
|
-
click: this.bulkManagement(),
|
|
1454
|
-
class: 'playlist',
|
|
1455
|
-
}
|
|
1456
|
-
: null,
|
|
1457
|
-
this.allowMutate()
|
|
1458
|
-
? {
|
|
1459
|
-
icon: 'edit_note',
|
|
1460
|
-
click: this.bulkManagement(false),
|
|
1461
|
-
class: 'edit',
|
|
1462
|
-
}
|
|
1463
|
-
: null,
|
|
1464
|
-
],
|
|
1456
|
+
buttons: [],
|
|
1457
|
+
headerButtons: [],
|
|
1465
1458
|
allDocs: true,
|
|
1466
1459
|
};
|
|
1460
|
+
if (this.allowUrl()) {
|
|
1461
|
+
config.buttons.push({
|
|
1462
|
+
icon: 'cloud_download',
|
|
1463
|
+
click: (doc) => {
|
|
1464
|
+
this.mutateUrl(doc);
|
|
1465
|
+
},
|
|
1466
|
+
});
|
|
1467
|
+
}
|
|
1468
|
+
if (this.allowSort()) {
|
|
1469
|
+
config.buttons.push({
|
|
1470
|
+
icon: 'arrow_upward',
|
|
1471
|
+
click: (doc) => {
|
|
1472
|
+
this.moveUp(doc);
|
|
1473
|
+
},
|
|
1474
|
+
});
|
|
1475
|
+
}
|
|
1476
|
+
if (this.allowCreate()) {
|
|
1477
|
+
config.headerButtons.push({
|
|
1478
|
+
icon: 'playlist_add',
|
|
1479
|
+
click: this.bulkManagement(),
|
|
1480
|
+
class: 'playlist',
|
|
1481
|
+
});
|
|
1482
|
+
}
|
|
1483
|
+
if (this.allowMutate()) {
|
|
1484
|
+
config.headerButtons.push({
|
|
1485
|
+
icon: 'edit_note',
|
|
1486
|
+
click: this.bulkManagement(false),
|
|
1487
|
+
class: 'edit',
|
|
1488
|
+
});
|
|
1489
|
+
}
|
|
1467
1490
|
return this.configType === 'server'
|
|
1468
1491
|
? {
|
|
1469
1492
|
...config,
|
|
@@ -1485,11 +1508,11 @@ class LoaderComponent {
|
|
|
1485
1508
|
}
|
|
1486
1509
|
}
|
|
1487
1510
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1488
|
-
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
|
|
1511
|
+
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"] }] }); }
|
|
1489
1512
|
}
|
|
1490
1513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
1491
1514
|
type: Component,
|
|
1492
|
-
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
|
|
1515
|
+
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"] }]
|
|
1493
1516
|
}] });
|
|
1494
1517
|
|
|
1495
1518
|
class ModalComponent {
|
|
@@ -1518,11 +1541,11 @@ class ModalComponent {
|
|
|
1518
1541
|
this.close();
|
|
1519
1542
|
}
|
|
1520
1543
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1521
|
-
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"] }] }); }
|
|
1544
|
+
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"] }] }); }
|
|
1522
1545
|
}
|
|
1523
1546
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ModalComponent, decorators: [{
|
|
1524
1547
|
type: Component,
|
|
1525
|
-
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"] }]
|
|
1548
|
+
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"] }]
|
|
1526
1549
|
}] });
|
|
1527
1550
|
|
|
1528
1551
|
/**
|
|
@@ -1694,7 +1717,11 @@ class SearchPipe {
|
|
|
1694
1717
|
if (ignore || !q)
|
|
1695
1718
|
return limit ? docs.slice(0, limit) : docs;
|
|
1696
1719
|
/* normalise fields */
|
|
1697
|
-
const paths = !f
|
|
1720
|
+
const paths = !f
|
|
1721
|
+
? ['name']
|
|
1722
|
+
: Array.isArray(f)
|
|
1723
|
+
? f
|
|
1724
|
+
: f.trim().split(/\s+/);
|
|
1698
1725
|
/* normalise query */
|
|
1699
1726
|
const needles = Array.isArray(q)
|
|
1700
1727
|
? q.map((s) => s.toLowerCase())
|
|
@@ -1715,7 +1742,7 @@ class SearchPipe {
|
|
|
1715
1742
|
const [head, ...rest] = parts;
|
|
1716
1743
|
const next = obj[head];
|
|
1717
1744
|
if (Array.isArray(next))
|
|
1718
|
-
return next.some((v) =>
|
|
1745
|
+
return next.some((v) => rest.length ? walk(v, rest) : txtMatches(v));
|
|
1719
1746
|
return rest.length ? walk(next, rest) : txtMatches(next);
|
|
1720
1747
|
};
|
|
1721
1748
|
const out = [];
|
|
@@ -1731,7 +1758,9 @@ class SearchPipe {
|
|
|
1731
1758
|
}
|
|
1732
1759
|
}
|
|
1733
1760
|
};
|
|
1734
|
-
Array.isArray(items)
|
|
1761
|
+
Array.isArray(items)
|
|
1762
|
+
? docs.forEach((d, i) => check(d, i))
|
|
1763
|
+
: Object.entries(items).forEach(([k, v]) => check(v, k));
|
|
1735
1764
|
return limit ? out.slice(0, limit) : out;
|
|
1736
1765
|
}
|
|
1737
1766
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
@@ -3298,14 +3327,16 @@ class FileService {
|
|
|
3298
3327
|
Object.entries(body).forEach(([key, value]) => formData.append(key, value));
|
|
3299
3328
|
if (info.save) {
|
|
3300
3329
|
info.complete = () => {
|
|
3301
|
-
this.http.post(info.api ||
|
|
3330
|
+
this.http.post(info.api ||
|
|
3331
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, formData, (resp) => {
|
|
3302
3332
|
info.resp?.(resp);
|
|
3303
3333
|
cb(resp);
|
|
3304
3334
|
});
|
|
3305
3335
|
};
|
|
3306
3336
|
}
|
|
3307
3337
|
else {
|
|
3308
|
-
this.http.post(info.api ||
|
|
3338
|
+
this.http.post(info.api ||
|
|
3339
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, formData, (resp) => {
|
|
3309
3340
|
info.resp?.(resp);
|
|
3310
3341
|
cb(resp);
|
|
3311
3342
|
});
|
|
@@ -3320,11 +3351,13 @@ class FileService {
|
|
|
3320
3351
|
image(info, cb = () => { }) {
|
|
3321
3352
|
if (info.save) {
|
|
3322
3353
|
return () => {
|
|
3323
|
-
this.http.post(info.api ||
|
|
3354
|
+
this.http.post(info.api ||
|
|
3355
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, info, cb);
|
|
3324
3356
|
};
|
|
3325
3357
|
}
|
|
3326
3358
|
else {
|
|
3327
|
-
this.http.post(info.api ||
|
|
3359
|
+
this.http.post(info.api ||
|
|
3360
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, info, cb);
|
|
3328
3361
|
}
|
|
3329
3362
|
}
|
|
3330
3363
|
/**
|
|
@@ -3348,13 +3381,15 @@ class FileService {
|
|
|
3348
3381
|
obj['dataUrl'] = dataUrl;
|
|
3349
3382
|
if (info.save) {
|
|
3350
3383
|
info.complete = () => {
|
|
3351
|
-
this.http.post(info.api ||
|
|
3384
|
+
this.http.post(info.api ||
|
|
3385
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, obj, (resp) => {
|
|
3352
3386
|
info.cb?.(resp);
|
|
3353
3387
|
});
|
|
3354
3388
|
};
|
|
3355
3389
|
}
|
|
3356
3390
|
else {
|
|
3357
|
-
this.http.post(info.api ||
|
|
3391
|
+
this.http.post(info.api ||
|
|
3392
|
+
`/api/${info.part}/file${info.name ? `/${info.name}` : ''}`, obj, (resp) => {
|
|
3358
3393
|
info.cb?.(resp);
|
|
3359
3394
|
});
|
|
3360
3395
|
}
|
|
@@ -3388,7 +3423,8 @@ class FileService {
|
|
|
3388
3423
|
const canvas = document.createElement('canvas');
|
|
3389
3424
|
const img = document.createElement('img');
|
|
3390
3425
|
img.onload = () => {
|
|
3391
|
-
if (img.width <= info.resize.width &&
|
|
3426
|
+
if (img.width <= info.resize.width &&
|
|
3427
|
+
img.height <= info.resize.height) {
|
|
3392
3428
|
return this.update(loadEvent.target?.result, info, file);
|
|
3393
3429
|
}
|
|
3394
3430
|
const infoRatio = info.resize.width / info.resize.height;
|
|
@@ -3453,7 +3489,8 @@ class LoaderService {
|
|
|
3453
3489
|
...this._config,
|
|
3454
3490
|
...(typeof opts === 'object' ? opts : { text: opts }),
|
|
3455
3491
|
};
|
|
3456
|
-
if (opts.unique &&
|
|
3492
|
+
if (opts.unique &&
|
|
3493
|
+
this._loaders.find((m) => m.unique === opts.unique)) {
|
|
3457
3494
|
return this._loaders.find((m) => m.unique === opts.unique);
|
|
3458
3495
|
}
|
|
3459
3496
|
this._loaders.push(opts);
|
|
@@ -3535,7 +3572,8 @@ class ModalService {
|
|
|
3535
3572
|
setTimeout(opts.close, opts.timeout);
|
|
3536
3573
|
}
|
|
3537
3574
|
component = this._dom.appendComponent(ModalComponent, opts);
|
|
3538
|
-
content = this._dom.appendComponent(opts.component, opts, component.nativeElement.children[0].children[0]
|
|
3575
|
+
content = this._dom.appendComponent(opts.component, opts, component.nativeElement.children[0].children[0]
|
|
3576
|
+
.children[0]);
|
|
3539
3577
|
return opts;
|
|
3540
3578
|
}
|
|
3541
3579
|
open(opts) {
|
|
@@ -3624,7 +3662,9 @@ class RtcService {
|
|
|
3624
3662
|
*/
|
|
3625
3663
|
async createPeer(id) {
|
|
3626
3664
|
const peer = new RTCPeerConnection();
|
|
3627
|
-
this.localStream
|
|
3665
|
+
this.localStream
|
|
3666
|
+
?.getTracks()
|
|
3667
|
+
.forEach((track) => peer.addTrack(track, this.localStream));
|
|
3628
3668
|
this.peers.set(id, peer);
|
|
3629
3669
|
return peer;
|
|
3630
3670
|
}
|
|
@@ -3841,7 +3881,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImpor
|
|
|
3841
3881
|
class TimeService {
|
|
3842
3882
|
constructor(datePipe) {
|
|
3843
3883
|
this.datePipe = datePipe;
|
|
3844
|
-
this.weekDays = [
|
|
3884
|
+
this.weekDays = [
|
|
3885
|
+
'Sunday',
|
|
3886
|
+
'Monday',
|
|
3887
|
+
'Tuesday',
|
|
3888
|
+
'Wednesday',
|
|
3889
|
+
'Thursday',
|
|
3890
|
+
'Friday',
|
|
3891
|
+
'Saturday',
|
|
3892
|
+
];
|
|
3845
3893
|
this.monthNames = [
|
|
3846
3894
|
'January',
|
|
3847
3895
|
'February',
|
|
@@ -3866,7 +3914,9 @@ class TimeService {
|
|
|
3866
3914
|
*/
|
|
3867
3915
|
getDayName(date, format = 'long') {
|
|
3868
3916
|
const dayIndex = date.getDay();
|
|
3869
|
-
return format === 'short'
|
|
3917
|
+
return format === 'short'
|
|
3918
|
+
? this.weekDays[dayIndex].substring(0, 3)
|
|
3919
|
+
: this.weekDays[dayIndex];
|
|
3870
3920
|
}
|
|
3871
3921
|
/**
|
|
3872
3922
|
* Returns the name of the month for a given index.
|
|
@@ -3876,10 +3926,14 @@ class TimeService {
|
|
|
3876
3926
|
* @returns The name of the month.
|
|
3877
3927
|
*/
|
|
3878
3928
|
getMonthName(monthIndex, format = 'long') {
|
|
3879
|
-
if (!Number.isInteger(monthIndex) ||
|
|
3929
|
+
if (!Number.isInteger(monthIndex) ||
|
|
3930
|
+
monthIndex < 0 ||
|
|
3931
|
+
monthIndex > 11) {
|
|
3880
3932
|
throw new RangeError('monthIndex must be an integer between 0 and 11');
|
|
3881
3933
|
}
|
|
3882
|
-
return format === 'short'
|
|
3934
|
+
return format === 'short'
|
|
3935
|
+
? this.monthNames[monthIndex].substring(0, 3)
|
|
3936
|
+
: this.monthNames[monthIndex];
|
|
3883
3937
|
}
|
|
3884
3938
|
/**
|
|
3885
3939
|
* Formats a date according to the specified format and timezone.
|
|
@@ -4216,7 +4270,9 @@ class TimeService {
|
|
|
4216
4270
|
* @returns True if the dates are on the same day, false otherwise.
|
|
4217
4271
|
*/
|
|
4218
4272
|
isSameDay(date1, date2) {
|
|
4219
|
-
return date1.getFullYear() === date2.getFullYear() &&
|
|
4273
|
+
return (date1.getFullYear() === date2.getFullYear() &&
|
|
4274
|
+
date1.getMonth() === date2.getMonth() &&
|
|
4275
|
+
date1.getDate() === date2.getDate());
|
|
4220
4276
|
}
|
|
4221
4277
|
/**
|
|
4222
4278
|
* Returns the ISO week number for a given date.
|
|
@@ -4529,7 +4585,14 @@ function provideWacom(config = DEFAULT_CONFIG) {
|
|
|
4529
4585
|
|
|
4530
4586
|
/* initialize */
|
|
4531
4587
|
const DIRECTIVES = [ClickOutsideDirective];
|
|
4532
|
-
const PIPES = [
|
|
4588
|
+
const PIPES = [
|
|
4589
|
+
ArrPipe,
|
|
4590
|
+
SafePipe,
|
|
4591
|
+
SplicePipe,
|
|
4592
|
+
SearchPipe,
|
|
4593
|
+
MongodatePipe,
|
|
4594
|
+
PaginationPipe,
|
|
4595
|
+
];
|
|
4533
4596
|
const LOCAL_COMPONENTS = [WrapperComponent, FilesComponent];
|
|
4534
4597
|
const COMPONENTS = [LoaderComponent, ModalComponent, AlertComponent];
|
|
4535
4598
|
/**
|
|
@@ -4549,15 +4612,40 @@ class WacomModule {
|
|
|
4549
4612
|
};
|
|
4550
4613
|
}
|
|
4551
4614
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4552
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, imports: [CommonModule,
|
|
4553
|
-
|
|
4615
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, imports: [CommonModule,
|
|
4616
|
+
FormsModule, WrapperComponent, FilesComponent, ArrPipe,
|
|
4617
|
+
SafePipe,
|
|
4618
|
+
SplicePipe,
|
|
4619
|
+
SearchPipe,
|
|
4620
|
+
MongodatePipe,
|
|
4621
|
+
PaginationPipe, LoaderComponent, ModalComponent, AlertComponent, ClickOutsideDirective], exports: [ArrPipe,
|
|
4622
|
+
SafePipe,
|
|
4623
|
+
SplicePipe,
|
|
4624
|
+
SearchPipe,
|
|
4625
|
+
MongodatePipe,
|
|
4626
|
+
PaginationPipe, LoaderComponent, ModalComponent, AlertComponent, ClickOutsideDirective] }); }
|
|
4627
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, providers: [
|
|
4628
|
+
{ provide: CONFIG_TOKEN, useValue: DEFAULT_CONFIG },
|
|
4629
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
4630
|
+
], imports: [CommonModule,
|
|
4631
|
+
FormsModule, FilesComponent, COMPONENTS] }); }
|
|
4554
4632
|
}
|
|
4555
4633
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: WacomModule, decorators: [{
|
|
4556
4634
|
type: NgModule,
|
|
4557
4635
|
args: [{
|
|
4558
|
-
imports: [
|
|
4636
|
+
imports: [
|
|
4637
|
+
CommonModule,
|
|
4638
|
+
FormsModule,
|
|
4639
|
+
...LOCAL_COMPONENTS,
|
|
4640
|
+
...PIPES,
|
|
4641
|
+
...COMPONENTS,
|
|
4642
|
+
...DIRECTIVES,
|
|
4643
|
+
],
|
|
4559
4644
|
exports: [...PIPES, ...COMPONENTS, ...DIRECTIVES],
|
|
4560
|
-
providers: [
|
|
4645
|
+
providers: [
|
|
4646
|
+
{ provide: CONFIG_TOKEN, useValue: DEFAULT_CONFIG },
|
|
4647
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
4648
|
+
],
|
|
4561
4649
|
}]
|
|
4562
4650
|
}] });
|
|
4563
4651
|
|