@bizdoc/core 3.6.8 → 3.7.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/bizdoc-core.mjs +415 -415
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/index.d.ts +191 -198
- package/package.json +1 -1
package/fesm2022/bizdoc-core.mjs
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, Inject, Injectable, Pipe, Directive, Component, Injector, ElementRef, HostListener, TemplateRef, ViewContainerRef, ViewChild, Input, HostBinding, Output,
|
3
|
-
import { Subject, firstValueFrom, of, forkJoin, BehaviorSubject, merge, takeUntil as takeUntil$1, shareReplay as shareReplay$1,
|
4
|
-
import { map, tap, catchError, shareReplay, filter, startWith, takeUntil, debounceTime, switchMap, first, take, finalize, delay } from 'rxjs/operators';
|
2
|
+
import { InjectionToken, Inject, Injectable, Pipe, Directive, Component, Injector, ElementRef, HostListener, TemplateRef, ViewContainerRef, ViewChild, Input, Optional, HostBinding, Output, Self, EventEmitter, NgModule, ViewChildren, inject, Host, SkipSelf, ContentChild, ContentChildren, provideAppInitializer } from '@angular/core';
|
3
|
+
import { Subject, firstValueFrom, of, forkJoin, filter, map as map$1, BehaviorSubject, merge, takeUntil as takeUntil$1, shareReplay as shareReplay$1, Observable, from, interval, switchMap as switchMap$1, isObservable, catchError as catchError$1, startWith as startWith$1, EMPTY, debounceTime as debounceTime$1 } from 'rxjs';
|
4
|
+
import { map, tap, catchError, shareReplay, filter as filter$1, startWith, takeUntil, debounceTime, switchMap, first, take, finalize, delay } from 'rxjs/operators';
|
5
5
|
import * as i4 from '@angular/material/chips';
|
6
6
|
import { MatChipInput, MatChipsModule, MatChipListbox } from '@angular/material/chips';
|
7
7
|
import { ENTER, COMMA, SEMICOLON } from '@angular/cdk/keycodes';
|
@@ -3326,6 +3326,156 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
3326
3326
|
args: [{ providedIn: "root" }]
|
3327
3327
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: HubService }] });
|
3328
3328
|
|
3329
|
+
const QUERY_CHAR = ':', PATH_CHAR = ';', ARG_CHAR = '&', PANE_CHAR = '~';
|
3330
|
+
const PANES_DATA = new InjectionToken('panes');
|
3331
|
+
class NavigationBase {
|
3332
|
+
preventDefault() {
|
3333
|
+
this._preventDefault = true;
|
3334
|
+
}
|
3335
|
+
}
|
3336
|
+
class CollapseNavigation extends NavigationBase {
|
3337
|
+
}
|
3338
|
+
class BackNavigation extends NavigationBase {
|
3339
|
+
}
|
3340
|
+
class NavigationPaneBase extends NavigationBase {
|
3341
|
+
constructor(_pane) {
|
3342
|
+
super();
|
3343
|
+
this._pane = _pane;
|
3344
|
+
}
|
3345
|
+
get pane() {
|
3346
|
+
return this._pane;
|
3347
|
+
}
|
3348
|
+
}
|
3349
|
+
class NavigationStart extends NavigationPaneBase {
|
3350
|
+
}
|
3351
|
+
/** pane fucus change */
|
3352
|
+
class NavigationFocus extends NavigationPaneBase {
|
3353
|
+
}
|
3354
|
+
class NavigationEnd extends NavigationPaneBase {
|
3355
|
+
}
|
3356
|
+
class NavigationMode extends NavigationPaneBase {
|
3357
|
+
constructor(mode, pane) {
|
3358
|
+
super(pane);
|
3359
|
+
this.mode = mode;
|
3360
|
+
}
|
3361
|
+
}
|
3362
|
+
class NavigationExpand extends NavigationPaneBase {
|
3363
|
+
constructor(expended, pane) {
|
3364
|
+
super(pane);
|
3365
|
+
this.expended = expended;
|
3366
|
+
}
|
3367
|
+
}
|
3368
|
+
class NavigationResize extends NavigationPaneBase {
|
3369
|
+
constructor(dimentions, pane) {
|
3370
|
+
super(pane);
|
3371
|
+
this.dimentions = dimentions;
|
3372
|
+
}
|
3373
|
+
}
|
3374
|
+
class NavigationClose extends NavigationPaneBase {
|
3375
|
+
}
|
3376
|
+
class ParamNavigation extends NavigationPaneBase {
|
3377
|
+
constructor(params, pane) {
|
3378
|
+
super(pane);
|
3379
|
+
this.params = params;
|
3380
|
+
}
|
3381
|
+
}
|
3382
|
+
class QueryParamNavigation extends NavigationPaneBase {
|
3383
|
+
constructor(queryParams, pane) {
|
3384
|
+
super(pane);
|
3385
|
+
this.queryParams = queryParams;
|
3386
|
+
}
|
3387
|
+
}
|
3388
|
+
/** */
|
3389
|
+
class PaneRef {
|
3390
|
+
get expandable() { return this._expandable; }
|
3391
|
+
get injector() { return this._injector; }
|
3392
|
+
get expanded() { return this._expanded; }
|
3393
|
+
get fullPath() { return (this._path || '') + (this._queryString ? (QUERY_CHAR + this._queryString) : ''); }
|
3394
|
+
get instance() { return this._instance; }
|
3395
|
+
get data() { return this._data$.value; }
|
3396
|
+
get params() { return this._params$.value; }
|
3397
|
+
get queryString() { return this._queryString; }
|
3398
|
+
get queryParams() { return this._queryParams$.value; }
|
3399
|
+
paramsChange() { return this._params$.asObservable(); }
|
3400
|
+
queryParamsChange() { return this._queryParams$.asObservable(); }
|
3401
|
+
dataChange() { return this._data$.asObservable(); }
|
3402
|
+
resized() { return this._events$.pipe(filter(e => e instanceof NavigationResize)); }
|
3403
|
+
closeing() { return this._events$.pipe(filter(e => e instanceof NavigationClose)); }
|
3404
|
+
closed() { return this._events$.pipe(filter(e => e instanceof NavigationClose), map$1(() => this._value)); }
|
3405
|
+
expandedChange() { return this._events$.pipe(filter(e => e instanceof NavigationExpand), map$1(() => this.expanded)); }
|
3406
|
+
get path() { return this._path; }
|
3407
|
+
;
|
3408
|
+
get mode() { return this._mode; }
|
3409
|
+
;
|
3410
|
+
get parent() { return this._options.parent; }
|
3411
|
+
;
|
3412
|
+
get stretchable() { return this._stretchable === true; }
|
3413
|
+
;
|
3414
|
+
set stretchable(val) { this._stretchable = val; }
|
3415
|
+
get dialog() { return this._options.dialog; }
|
3416
|
+
;
|
3417
|
+
get dismissable() { return this._options.dismissable; }
|
3418
|
+
;
|
3419
|
+
get route() { return this._options.route; }
|
3420
|
+
;
|
3421
|
+
constructor(component, injector, id, _options) {
|
3422
|
+
this.id = id;
|
3423
|
+
this._options = _options;
|
3424
|
+
this._command$ = new Subject();
|
3425
|
+
/** */
|
3426
|
+
this._data$ = new BehaviorSubject({});
|
3427
|
+
this._params$ = new BehaviorSubject({});
|
3428
|
+
this._queryParams$ = new BehaviorSubject({});
|
3429
|
+
this._events$ = new Subject();
|
3430
|
+
const { stretchable, mode, data, params, queryParams, path, queryString, title, group, icon, help, guide, animation, expanded, expandable } = _options;
|
3431
|
+
this._path = path;
|
3432
|
+
this._mode = mode;
|
3433
|
+
this._stretchable = stretchable;
|
3434
|
+
this._expanded = expanded;
|
3435
|
+
this._queryString = queryString;
|
3436
|
+
this._expandable = expandable !== false;
|
3437
|
+
this._injector = Injector.create({
|
3438
|
+
providers: [
|
3439
|
+
{ provide: PaneRef, useValue: this }
|
3440
|
+
], parent: injector
|
3441
|
+
});
|
3442
|
+
this._portal = new ComponentPortal(component, null, this._injector);
|
3443
|
+
this.title = title;
|
3444
|
+
this.group = group;
|
3445
|
+
this.guide = guide;
|
3446
|
+
this.help = help;
|
3447
|
+
this.icon = icon;
|
3448
|
+
this.animation = animation;
|
3449
|
+
data && this._data$.next(data);
|
3450
|
+
params && this._params$.next(params);
|
3451
|
+
queryParams && this._queryParams$.next(queryParams);
|
3452
|
+
}
|
3453
|
+
decendentOf(pane) {
|
3454
|
+
return this.parent === pane; //||
|
3455
|
+
// (this.path && pane.path && this.path.startsWith(pane.path));
|
3456
|
+
}
|
3457
|
+
recycle() {
|
3458
|
+
this._command$.next('recycle');
|
3459
|
+
}
|
3460
|
+
focus() {
|
3461
|
+
this._command$.next('focus');
|
3462
|
+
}
|
3463
|
+
close(value) {
|
3464
|
+
this._value = value;
|
3465
|
+
this._command$.next('close');
|
3466
|
+
}
|
3467
|
+
expand() {
|
3468
|
+
this._command$.next('expand');
|
3469
|
+
}
|
3470
|
+
_destroy() {
|
3471
|
+
this._command$.complete();
|
3472
|
+
this._data$.complete();
|
3473
|
+
this._params$.complete();
|
3474
|
+
this._queryParams$.complete();
|
3475
|
+
this._events$.complete();
|
3476
|
+
}
|
3477
|
+
}
|
3478
|
+
|
3329
3479
|
class PopupRef {
|
3330
3480
|
constructor(_data) {
|
3331
3481
|
this._data = _data;
|
@@ -3511,7 +3661,7 @@ class Popup {
|
|
3511
3661
|
const portal = new ComponentPortal(PopupComponent, null, popupInjector);
|
3512
3662
|
oRef.attach(portal);
|
3513
3663
|
pRef._closed.subscribe(() => oRef.detach());
|
3514
|
-
oRef.keydownEvents().pipe(filter(k => k.key === 'Escape')).
|
3664
|
+
oRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape')).
|
3515
3665
|
subscribe(e => {
|
3516
3666
|
e.stopPropagation();
|
3517
3667
|
pRef._closed.next(null);
|
@@ -3633,7 +3783,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
3633
3783
|
const OPTION_PANEL = new InjectionToken('options');
|
3634
3784
|
/** options component*/
|
3635
3785
|
class OptionsComponent {
|
3636
|
-
constructor(_ps, _guide, _hub, _dialog, _fb, _accounts, _sb, _session, _popup, config) {
|
3786
|
+
constructor(_ps, _guide, _hub, _dialog, _fb, _accounts, _sb, paneRef, _session, _popup, config) {
|
3637
3787
|
this._ps = _ps;
|
3638
3788
|
this._guide = _guide;
|
3639
3789
|
this._hub = _hub;
|
@@ -3712,6 +3862,11 @@ class OptionsComponent {
|
|
3712
3862
|
if (!this._session.isImpersonating) {
|
3713
3863
|
this.guidesCount = this.guides.filter(w => w.mode === 'Eager').length || null;
|
3714
3864
|
}
|
3865
|
+
if (paneRef) {
|
3866
|
+
const section = paneRef.queryParams['section'];
|
3867
|
+
if (section)
|
3868
|
+
this.sectionIndex = 2;
|
3869
|
+
}
|
3715
3870
|
this.languages = this._session.languages;
|
3716
3871
|
this.currentLanguage = this._session.language;
|
3717
3872
|
this.available = this._session.availabilityState;
|
@@ -3794,12 +3949,12 @@ class OptionsComponent {
|
|
3794
3949
|
});
|
3795
3950
|
outOfOffice.controls.from.valueChanges.pipe(takeUntil(this._destroy)).
|
3796
3951
|
subscribe(from => this._toggle(outOfOffice, from !== null, 'to'));
|
3797
|
-
this.gusers$ = this.grantUserIds.valueChanges.pipe(takeUntil(this._destroy), filter(v => isString(v)), debounceTime(100), switchMap(v => this._accounts.findAll(v)), map(r => {
|
3952
|
+
this.gusers$ = this.grantUserIds.valueChanges.pipe(takeUntil(this._destroy), filter$1(v => isString(v)), debounceTime(100), switchMap(v => this._accounts.findAll(v)), map(r => {
|
3798
3953
|
const exclude = grantAccess.value.users?.slice() || [];
|
3799
3954
|
exclude.push(this._session.profile.userId);
|
3800
3955
|
return r.filter(u => exclude.indexOf(u.id) < 0);
|
3801
3956
|
}));
|
3802
|
-
this.susers$ = this.oooId.valueChanges.pipe(takeUntil(this._destroy), tap(v => !v && outOfOffice.controls.substitueId.setValue(null)), filter(v => isString(v) && v.length > 0), switchMap(v => this._accounts.findAll(v)), map(r => r.filter(u => u.id !== this._session.profile.userId)));
|
3957
|
+
this.susers$ = this.oooId.valueChanges.pipe(takeUntil(this._destroy), tap(v => !v && outOfOffice.controls.substitueId.setValue(null)), filter$1(v => isString(v) && v.length > 0), switchMap(v => this._accounts.findAll(v)), map(r => r.filter(u => u.id !== this._session.profile.userId)));
|
3803
3958
|
if (this.options.outOfOffice.substitueId)
|
3804
3959
|
this._accounts.get(this.options.outOfOffice.substitueId).subscribe(u => this.oooId.setValue(u, { emitEvent: false }));
|
3805
3960
|
// auto save
|
@@ -3888,13 +4043,15 @@ class OptionsComponent {
|
|
3888
4043
|
this._destroy.next();
|
3889
4044
|
this._destroy.complete();
|
3890
4045
|
}
|
3891
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: OptionsComponent, deps: [{ token: PromptService }, { token: GuideService }, { token: HubService }, { token: i2$2.MatDialog }, { token: i1$2.FormBuilder }, { token: AccountService }, { token: PromptService }, { token: SessionService }, { token: Popup }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
4046
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: OptionsComponent, deps: [{ token: PromptService }, { token: GuideService }, { token: HubService }, { token: i2$2.MatDialog }, { token: i1$2.FormBuilder }, { token: AccountService }, { token: PromptService }, { token: PaneRef, optional: true }, { token: SessionService }, { token: Popup }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
3892
4047
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: OptionsComponent, isStandalone: false, selector: "bizdoc-options", inputs: { sectionName: ["section", "sectionName"] }, host: { listeners: { "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "keyboard", first: true, predicate: ["keyboardTmpl"], descendants: true }, { propertyName: "substitueInput", first: true, predicate: ["substitueInput"], descendants: true, read: MatInput }, { propertyName: "grantInput", first: true, predicate: ["grantInput"], descendants: true, read: MatChipInput }, { propertyName: "oooTmpl", first: true, predicate: ["oooTmpl"], descendants: true, static: true }, { propertyName: "notificationsTmpl", first: true, predicate: ["notificationsTmpl"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-headline-6\">\r\n @if (profile.byName) {\r\n {{profile.byName}} \\\r\n }\r\n {{profile.name}}\r\n </span>\r\n </div>\r\n\r\n <mat-divider />\r\n\r\n <div class=\"row\">\r\n <mat-nav-list class=\"nav-list\">\r\n <mat-list-item (click)=\"nav('notifications', notificationsTmpl, 0)\" [class.active]=\"sectionName === 'notifications'\">\r\n <span matListItemTitle>{{'Notifications' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('emails', emailsTmpl, 1)\" [class.active]=\"sectionName === 'emails'\">\r\n <span matListItemTitle>{{'Emails' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('out_of_office', oooTmpl, 2)\" [class.active]=\"sectionName === 'out_of_office'\">\r\n <span matListItemTitle>{{'OutOfOffice' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('grant_access', grantAccessTmpl, 3)\" [class.active]=\"sectionName === 'grant_access'\">\r\n <span matListItemTitle>{{'GrantAccess' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('preferences', preferencesTmpl, 4)\" [class.active]=\"sectionName === 'preferences'\">\r\n <span matListItemTitle>{{'Preferences' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n <div class=\"separator\"></div>\r\n <form autocomplete=\"off\" [@v-swape]=\"sectionIndex\">\r\n <ng-container *ngTemplateOutlet=\"sectionTmpl\"></ng-container>\r\n </form>\r\n </div>\r\n <mat-divider />\r\n <!--themes-->\r\n @if (themes.length > 1) {\r\n <div class=\"row center\">\r\n @for (t of themes; track t) {\r\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<!--guide-->\r\n<mat-nav-list role=\"list\">\r\n <mat-divider></mat-divider>\r\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\r\n @for (g of guides; track g) {\r\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\r\n }\r\n</mat-nav-list>\r\n<mat-divider></mat-divider>\r\n<!--footer-->\r\n<div class=\"row footer\">\r\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{currentLanguage | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n <mat-menu #language>\r\n @for (l of languages; track l) {\r\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n }\r\n </mat-menu>\r\n @if (online) {\r\n <button mat-button [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #availability>\r\n @for (m of modes; track m) {\r\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n }\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <!--keys-->\r\n @if(!isMobile) {\r\n <button mat-button role=\"listitem\" (click)=\"showKeyboard($event)\">\r\n {{'Keyboard' | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n }\r\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\r\n @if (!online) {\r\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\r\n <mat-icon>wifi_off</mat-icon>\r\n </button>\r\n }\r\n</div>\r\n<!--preferences-->\r\n<ng-template #preferencesTmpl>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Tags'|translate}}</mat-label>\r\n <mat-chip-grid #chips>\r\n @for (tag of form.value.tags; track tag.name) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeTag(tag)\">\r\n {{tag.name}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!---->\r\n<ng-template #keyboardTmpl>\r\n <dl class=\"keys mat-body-2\">\r\n <dt>Alt+n</dt>\r\n <dd>{{'AltNHelp'|translate}}</dd>\r\n <dt>Ctrl+s</dt>\r\n <dd>{{'CtrlSHelp'|translate}}</dd>\r\n <dt>Alt+s</dt>\r\n <dd>{{'AltSHelp'|translate}}</dd>\r\n <dt>Alt+q</dt>\r\n <dd>{{'AltQHelp'|translate}}</dd>\r\n <dt>Alt+a</dt>\r\n <dd>{{'AltAHelp'|translate}}</dd>\r\n <dt>Alt+h</dt>\r\n <dd>{{'AltHHelp'|translate}}</dd>\r\n <dt>Ctrl+.</dt>\r\n <dd>{{'CtrlDotHelp'|translate}}</dd>\r\n </dl>\r\n</ng-template>\r\n<!--notifications-->\r\n<ng-template #notificationsTmpl>\r\n <div [formGroup]=\"form.controls.notifications\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"likes\" [style.display]=\"voting?'':'none'\">{{'LikedComment' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-checkbox>\r\n <div formGroupName=\"extra\" class=\"column\"> \r\n @for(n of profile.notifications; track n.name) {\r\n <mat-checkbox [formControlName]=\"n.name\">{{n.title}}</mat-checkbox>\r\n }\r\n </div>\r\n <div class=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button type=\"button\" (click)=\"toggleSound()\" [disabled]=\"!form.value.notifications.active\" [bizdocTooltip]=\"(form.value.notifications.sound ? 'SoundOn': 'SoundOff')|translate\"><mat-icon>{{form.value.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<!--emails-->\r\n<ng-template #emailsTmpl>\r\n <div [formGroup]=\"form.controls.emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"mail\">{{'Mails' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"chat\">{{'Conversations' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-checkbox>\r\n </div>\r\n</ng-template>\r\n<!--ooo-->\r\n<ng-template #oooTmpl>\r\n <div [formGroup]=\"form.controls.outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"oooId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"oooSelected($event)\">\r\n @for (u of susers$ | async; track u.id) {\r\n <mat-option [value]=\"u\">\r\n {{u.name}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Dates'|translate}}</mat-label>\r\n <mat-date-range-input [rangePicker]=\"oooDates\">\r\n <input matStartDate formControlName=\"from\" [placeholder]=\"'From'|translate\" [min]=\"today\">\r\n <input matEndDate formControlName=\"to\" [placeholder]=\"'To'|translate\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"oooDates\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #oooDates [touchUi]=\"isMobile\"></mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!--grantAccess-->\r\n<ng-template #grantAccessTmpl>\r\n <div [formGroup]=\"form.controls.grantAccess\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field>\r\n <mat-label>{{'Associates'| translate}}</mat-label>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n @for (u of form.value.grantAccess.users || []; track u.id) {\r\n <mat-chip-row (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [formControl]=\"grantUserIds\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n @for (u of gusers$ | async; track u.id) {\r\n <mat-option [value]=\"u.id\">\r\n {{u.name}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{max-width:80vw;min-width:420px}.footer{align-items:center}.profile-name{margin:8px}.theme{height:22px!important;width:22px!important;-moz-border-radius:13px 13px!important;-webkit-border-radius:13px 13px!important;border-radius:13px!important;margin:4px!important}.theme.active.dark{border:2px solid #f4f4f4}.keys{padding:8px}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}.separator{height:280px;width:1px;background-color:var(--mat-sys-outline)}form{padding:20px 8px 0;min-width:320px}\n"], dependencies: [{ kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i2$4.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2$4.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2$4.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2$4.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i7$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$5.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$5.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i2$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i2$6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: UserNamePipe, name: "userName" }], animations: [verticalSwapAnimation] }); }
|
3893
4048
|
}
|
3894
4049
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: OptionsComponent, decorators: [{
|
3895
4050
|
type: Component,
|
3896
4051
|
args: [{ standalone: false, selector: 'bizdoc-options', animations: [verticalSwapAnimation], template: "<div class=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-headline-6\">\r\n @if (profile.byName) {\r\n {{profile.byName}} \\\r\n }\r\n {{profile.name}}\r\n </span>\r\n </div>\r\n\r\n <mat-divider />\r\n\r\n <div class=\"row\">\r\n <mat-nav-list class=\"nav-list\">\r\n <mat-list-item (click)=\"nav('notifications', notificationsTmpl, 0)\" [class.active]=\"sectionName === 'notifications'\">\r\n <span matListItemTitle>{{'Notifications' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('emails', emailsTmpl, 1)\" [class.active]=\"sectionName === 'emails'\">\r\n <span matListItemTitle>{{'Emails' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('out_of_office', oooTmpl, 2)\" [class.active]=\"sectionName === 'out_of_office'\">\r\n <span matListItemTitle>{{'OutOfOffice' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('grant_access', grantAccessTmpl, 3)\" [class.active]=\"sectionName === 'grant_access'\">\r\n <span matListItemTitle>{{'GrantAccess' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"nav('preferences', preferencesTmpl, 4)\" [class.active]=\"sectionName === 'preferences'\">\r\n <span matListItemTitle>{{'Preferences' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n <div class=\"separator\"></div>\r\n <form autocomplete=\"off\" [@v-swape]=\"sectionIndex\">\r\n <ng-container *ngTemplateOutlet=\"sectionTmpl\"></ng-container>\r\n </form>\r\n </div>\r\n <mat-divider />\r\n <!--themes-->\r\n @if (themes.length > 1) {\r\n <div class=\"row center\">\r\n @for (t of themes; track t) {\r\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n<!--guide-->\r\n<mat-nav-list role=\"list\">\r\n <mat-divider></mat-divider>\r\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\r\n @for (g of guides; track g) {\r\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\r\n }\r\n</mat-nav-list>\r\n<mat-divider></mat-divider>\r\n<!--footer-->\r\n<div class=\"row footer\">\r\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{currentLanguage | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n <mat-menu #language>\r\n @for (l of languages; track l) {\r\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n }\r\n </mat-menu>\r\n @if (online) {\r\n <button mat-button [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #availability>\r\n @for (m of modes; track m) {\r\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n }\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n <!--keys-->\r\n @if(!isMobile) {\r\n <button mat-button role=\"listitem\" (click)=\"showKeyboard($event)\">\r\n {{'Keyboard' | translate}}\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n <!--'ChangeLanguage'-->\r\n </button>\r\n }\r\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\r\n @if (!online) {\r\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\r\n <mat-icon>wifi_off</mat-icon>\r\n </button>\r\n }\r\n</div>\r\n<!--preferences-->\r\n<ng-template #preferencesTmpl>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Tags'|translate}}</mat-label>\r\n <mat-chip-grid #chips>\r\n @for (tag of form.value.tags; track tag.name) {\r\n <mat-chip-row [removable]=\"true\" (removed)=\"removeTag(tag)\">\r\n {{tag.name}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!---->\r\n<ng-template #keyboardTmpl>\r\n <dl class=\"keys mat-body-2\">\r\n <dt>Alt+n</dt>\r\n <dd>{{'AltNHelp'|translate}}</dd>\r\n <dt>Ctrl+s</dt>\r\n <dd>{{'CtrlSHelp'|translate}}</dd>\r\n <dt>Alt+s</dt>\r\n <dd>{{'AltSHelp'|translate}}</dd>\r\n <dt>Alt+q</dt>\r\n <dd>{{'AltQHelp'|translate}}</dd>\r\n <dt>Alt+a</dt>\r\n <dd>{{'AltAHelp'|translate}}</dd>\r\n <dt>Alt+h</dt>\r\n <dd>{{'AltHHelp'|translate}}</dd>\r\n <dt>Ctrl+.</dt>\r\n <dd>{{'CtrlDotHelp'|translate}}</dd>\r\n </dl>\r\n</ng-template>\r\n<!--notifications-->\r\n<ng-template #notificationsTmpl>\r\n <div [formGroup]=\"form.controls.notifications\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"likes\" [style.display]=\"voting?'':'none'\">{{'LikedComment' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-checkbox>\r\n <div formGroupName=\"extra\" class=\"column\"> \r\n @for(n of profile.notifications; track n.name) {\r\n <mat-checkbox [formControlName]=\"n.name\">{{n.title}}</mat-checkbox>\r\n }\r\n </div>\r\n <div class=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button type=\"button\" (click)=\"toggleSound()\" [disabled]=\"!form.value.notifications.active\" [bizdocTooltip]=\"(form.value.notifications.sound ? 'SoundOn': 'SoundOff')|translate\"><mat-icon>{{form.value.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<!--emails-->\r\n<ng-template #emailsTmpl>\r\n <div [formGroup]=\"form.controls.emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-checkbox formControlName=\"mail\">{{'Mails' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"chat\">{{'Conversations' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-checkbox>\r\n <mat-checkbox formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-checkbox>\r\n </div>\r\n</ng-template>\r\n<!--ooo-->\r\n<ng-template #oooTmpl>\r\n <div [formGroup]=\"form.controls.outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"oooId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"oooSelected($event)\">\r\n @for (u of susers$ | async; track u.id) {\r\n <mat-option [value]=\"u\">\r\n {{u.name}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Dates'|translate}}</mat-label>\r\n <mat-date-range-input [rangePicker]=\"oooDates\">\r\n <input matStartDate formControlName=\"from\" [placeholder]=\"'From'|translate\" [min]=\"today\">\r\n <input matEndDate formControlName=\"to\" [placeholder]=\"'To'|translate\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"oooDates\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #oooDates [touchUi]=\"isMobile\"></mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n<!--grantAccess-->\r\n<ng-template #grantAccessTmpl>\r\n <div [formGroup]=\"form.controls.grantAccess\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field>\r\n <mat-label>{{'Associates'| translate}}</mat-label>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n @for (u of form.value.grantAccess.users || []; track u.id) {\r\n <mat-chip-row (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-grid>\r\n <input [formControl]=\"grantUserIds\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n @for (u of gusers$ | async; track u.id) {\r\n <mat-option [value]=\"u.id\">\r\n {{u.name}}\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{max-width:80vw;min-width:420px}.footer{align-items:center}.profile-name{margin:8px}.theme{height:22px!important;width:22px!important;-moz-border-radius:13px 13px!important;-webkit-border-radius:13px 13px!important;border-radius:13px!important;margin:4px!important}.theme.active.dark{border:2px solid #f4f4f4}.keys{padding:8px}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}.separator{height:280px;width:1px;background-color:var(--mat-sys-outline)}form{padding:20px 8px 0;min-width:320px}\n"] }]
|
3897
|
-
}], ctorParameters: () => [{ type: PromptService }, { type: GuideService }, { type: HubService }, { type: i2$2.MatDialog }, { type: i1$2.FormBuilder }, { type: AccountService }, { type: PromptService }, { type:
|
4052
|
+
}], ctorParameters: () => [{ type: PromptService }, { type: GuideService }, { type: HubService }, { type: i2$2.MatDialog }, { type: i1$2.FormBuilder }, { type: AccountService }, { type: PromptService }, { type: PaneRef, decorators: [{
|
4053
|
+
type: Optional
|
4054
|
+
}] }, { type: SessionService }, { type: Popup }, { type: undefined, decorators: [{
|
3898
4055
|
type: Inject,
|
3899
4056
|
args: [BIZDOC_CONFIG]
|
3900
4057
|
}] }], propDecorators: { keyboard: [{
|
@@ -4089,7 +4246,7 @@ class ColorPicker {
|
|
4089
4246
|
hasBackdrop: true,
|
4090
4247
|
backdropClass: 'cdk-overlay-transparent-backdrop'
|
4091
4248
|
});
|
4092
|
-
merge(ref.backdropClick(), ref.keydownEvents().pipe(filter(k => k.key === 'Escape'))).subscribe(() => this.close());
|
4249
|
+
merge(ref.backdropClick(), ref.keydownEvents().pipe(filter$1(k => k.key === 'Escape'))).subscribe(() => this.close());
|
4093
4250
|
return ref;
|
4094
4251
|
}
|
4095
4252
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ColorPicker, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i2$3.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i7$2.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
|
@@ -5924,7 +6081,7 @@ class TypeAutocomplete {
|
|
5924
6081
|
if (!this._configuration)
|
5925
6082
|
throw `${this._type} is not a known type.`;
|
5926
6083
|
this._column = this._configuration.columns ? this._configuration.columns.find(c => !c.flags || c.flags.indexOf('Key') < 0) : undefined;
|
5927
|
-
this._items$ = this._control.valueChanges.pipe(takeUntil(this._destroy), debounceTime(250), filter(v => isString(v) && v.length > this._minimumChars), switchMap(v => this._service.all(this._type, v)));
|
6084
|
+
this._items$ = this._control.valueChanges.pipe(takeUntil(this._destroy), debounceTime(250), filter$1(v => isString(v) && v.length > this._minimumChars), switchMap(v => this._service.all(this._type, v)));
|
5928
6085
|
this._control.statusChanges.pipe(takeUntil(this._destroy)).subscribe(() => {
|
5929
6086
|
this.errorState = this._control.errors != null;
|
5930
6087
|
});
|
@@ -6876,7 +7033,7 @@ class DesignerCubeFilterComponent {
|
|
6876
7033
|
}
|
6877
7034
|
const ctrl = this._fb.control(null);
|
6878
7035
|
this.form.addControl(a.name, ctrl, { emitEvent: false });
|
6879
|
-
ctrl.valueChanges.pipe(filter(() => ctrl.valid), debounceTime(200), takeUntil(this._destroy)).subscribe(v => {
|
7036
|
+
ctrl.valueChanges.pipe(filter$1(() => ctrl.valid), debounceTime(200), takeUntil(this._destroy)).subscribe(v => {
|
6880
7037
|
if (this._decendents[a.name])
|
6881
7038
|
for (let axis of this._decendents[a.name]) {
|
6882
7039
|
let deps = {};
|
@@ -7822,156 +7979,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
7822
7979
|
}]
|
7823
7980
|
}] });
|
7824
7981
|
|
7825
|
-
const QUERY_CHAR = ':', PATH_CHAR = ';', ARG_CHAR = '&', PANE_CHAR = '~';
|
7826
|
-
const PANES_DATA = new InjectionToken('panes');
|
7827
|
-
class NavigationBase {
|
7828
|
-
preventDefault() {
|
7829
|
-
this._preventDefault = true;
|
7830
|
-
}
|
7831
|
-
}
|
7832
|
-
class CollapseNavigation extends NavigationBase {
|
7833
|
-
}
|
7834
|
-
class BackNavigation extends NavigationBase {
|
7835
|
-
}
|
7836
|
-
class NavigationPaneBase extends NavigationBase {
|
7837
|
-
constructor(_pane) {
|
7838
|
-
super();
|
7839
|
-
this._pane = _pane;
|
7840
|
-
}
|
7841
|
-
get pane() {
|
7842
|
-
return this._pane;
|
7843
|
-
}
|
7844
|
-
}
|
7845
|
-
class NavigationStart extends NavigationPaneBase {
|
7846
|
-
}
|
7847
|
-
/** pane fucus change */
|
7848
|
-
class NavigationFocus extends NavigationPaneBase {
|
7849
|
-
}
|
7850
|
-
class NavigationEnd extends NavigationPaneBase {
|
7851
|
-
}
|
7852
|
-
class NavigationMode extends NavigationPaneBase {
|
7853
|
-
constructor(mode, pane) {
|
7854
|
-
super(pane);
|
7855
|
-
this.mode = mode;
|
7856
|
-
}
|
7857
|
-
}
|
7858
|
-
class NavigationExpand extends NavigationPaneBase {
|
7859
|
-
constructor(expended, pane) {
|
7860
|
-
super(pane);
|
7861
|
-
this.expended = expended;
|
7862
|
-
}
|
7863
|
-
}
|
7864
|
-
class NavigationResize extends NavigationPaneBase {
|
7865
|
-
constructor(dimentions, pane) {
|
7866
|
-
super(pane);
|
7867
|
-
this.dimentions = dimentions;
|
7868
|
-
}
|
7869
|
-
}
|
7870
|
-
class NavigationClose extends NavigationPaneBase {
|
7871
|
-
}
|
7872
|
-
class ParamNavigation extends NavigationPaneBase {
|
7873
|
-
constructor(params, pane) {
|
7874
|
-
super(pane);
|
7875
|
-
this.params = params;
|
7876
|
-
}
|
7877
|
-
}
|
7878
|
-
class QueryParamNavigation extends NavigationPaneBase {
|
7879
|
-
constructor(queryParams, pane) {
|
7880
|
-
super(pane);
|
7881
|
-
this.queryParams = queryParams;
|
7882
|
-
}
|
7883
|
-
}
|
7884
|
-
/** */
|
7885
|
-
class PaneRef {
|
7886
|
-
get expandable() { return this._expandable; }
|
7887
|
-
get injector() { return this._injector; }
|
7888
|
-
get expanded() { return this._expanded; }
|
7889
|
-
get fullPath() { return (this._path || '') + (this._queryString ? (QUERY_CHAR + this._queryString) : ''); }
|
7890
|
-
get instance() { return this._instance; }
|
7891
|
-
get data() { return this._data$.value; }
|
7892
|
-
get params() { return this._params$.value; }
|
7893
|
-
get queryString() { return this._queryString; }
|
7894
|
-
get queryParams() { return this._queryParams$.value; }
|
7895
|
-
paramsChange() { return this._params$.asObservable(); }
|
7896
|
-
queryParamsChange() { return this._queryParams$.asObservable(); }
|
7897
|
-
dataChange() { return this._data$.asObservable(); }
|
7898
|
-
resized() { return this._events$.pipe(filter$1(e => e instanceof NavigationResize)); }
|
7899
|
-
closeing() { return this._events$.pipe(filter$1(e => e instanceof NavigationClose)); }
|
7900
|
-
closed() { return this._events$.pipe(filter$1(e => e instanceof NavigationClose), map$1(() => this._value)); }
|
7901
|
-
expandedChange() { return this._events$.pipe(filter$1(e => e instanceof NavigationExpand), map$1(() => this.expanded)); }
|
7902
|
-
get path() { return this._path; }
|
7903
|
-
;
|
7904
|
-
get mode() { return this._mode; }
|
7905
|
-
;
|
7906
|
-
get parent() { return this._options.parent; }
|
7907
|
-
;
|
7908
|
-
get stretchable() { return this._stretchable === true; }
|
7909
|
-
;
|
7910
|
-
set stretchable(val) { this._stretchable = val; }
|
7911
|
-
get dialog() { return this._options.dialog; }
|
7912
|
-
;
|
7913
|
-
get dismissable() { return this._options.dismissable; }
|
7914
|
-
;
|
7915
|
-
get route() { return this._options.route; }
|
7916
|
-
;
|
7917
|
-
constructor(component, injector, id, _options) {
|
7918
|
-
this.id = id;
|
7919
|
-
this._options = _options;
|
7920
|
-
this._command$ = new Subject();
|
7921
|
-
/** */
|
7922
|
-
this._data$ = new BehaviorSubject({});
|
7923
|
-
this._params$ = new BehaviorSubject({});
|
7924
|
-
this._queryParams$ = new BehaviorSubject({});
|
7925
|
-
this._events$ = new Subject();
|
7926
|
-
const { stretchable, mode, data, params, queryParams, path, queryString, title, group, icon, help, guide, animation, expanded, expandable } = _options;
|
7927
|
-
this._path = path;
|
7928
|
-
this._mode = mode;
|
7929
|
-
this._stretchable = stretchable;
|
7930
|
-
this._expanded = expanded;
|
7931
|
-
this._queryString = queryString;
|
7932
|
-
this._expandable = expandable !== false;
|
7933
|
-
this._injector = Injector.create({
|
7934
|
-
providers: [
|
7935
|
-
{ provide: PaneRef, useValue: this }
|
7936
|
-
], parent: injector
|
7937
|
-
});
|
7938
|
-
this._portal = new ComponentPortal(component, null, this._injector);
|
7939
|
-
this.title = title;
|
7940
|
-
this.group = group;
|
7941
|
-
this.guide = guide;
|
7942
|
-
this.help = help;
|
7943
|
-
this.icon = icon;
|
7944
|
-
this.animation = animation;
|
7945
|
-
data && this._data$.next(data);
|
7946
|
-
params && this._params$.next(params);
|
7947
|
-
queryParams && this._queryParams$.next(queryParams);
|
7948
|
-
}
|
7949
|
-
decendentOf(pane) {
|
7950
|
-
return this.parent === pane; //||
|
7951
|
-
// (this.path && pane.path && this.path.startsWith(pane.path));
|
7952
|
-
}
|
7953
|
-
recycle() {
|
7954
|
-
this._command$.next('recycle');
|
7955
|
-
}
|
7956
|
-
focus() {
|
7957
|
-
this._command$.next('focus');
|
7958
|
-
}
|
7959
|
-
close(value) {
|
7960
|
-
this._value = value;
|
7961
|
-
this._command$.next('close');
|
7962
|
-
}
|
7963
|
-
expand() {
|
7964
|
-
this._command$.next('expand');
|
7965
|
-
}
|
7966
|
-
_destroy() {
|
7967
|
-
this._command$.complete();
|
7968
|
-
this._data$.complete();
|
7969
|
-
this._params$.complete();
|
7970
|
-
this._queryParams$.complete();
|
7971
|
-
this._events$.complete();
|
7972
|
-
}
|
7973
|
-
}
|
7974
|
-
|
7975
7982
|
/** filter component*/
|
7976
7983
|
class CubeFilterComponent {
|
7977
7984
|
ngOnInit() {
|
@@ -7997,7 +8004,7 @@ class CubeFilterComponent {
|
|
7997
8004
|
}
|
7998
8005
|
}
|
7999
8006
|
const ctrl = controls[a.name] = this._fb.control(this.axes[a.name]);
|
8000
|
-
ctrl.valueChanges.pipe(filter(() => ctrl.valid), debounceTime(200), takeUntil(this._destroy)).subscribe(v => {
|
8007
|
+
ctrl.valueChanges.pipe(filter$1(() => ctrl.valid), debounceTime(200), takeUntil(this._destroy)).subscribe(v => {
|
8001
8008
|
if (v === null || v === undefined || (isArray(v) && !v.length))
|
8002
8009
|
delete this.axes[a.name];
|
8003
8010
|
else
|
@@ -8132,7 +8139,7 @@ class BrowseFilterComponent {
|
|
8132
8139
|
this.filters = { axes, cube };
|
8133
8140
|
}
|
8134
8141
|
this.senders$ = this.sendername.valueChanges.
|
8135
|
-
pipe(takeUntil(this._destroy), debounceTime(250), filter((v) => isString(v)), switchMap((v) => this._mailbox.listSenders(v)));
|
8142
|
+
pipe(takeUntil(this._destroy), debounceTime(250), filter$1((v) => isString(v)), switchMap((v) => this._mailbox.listSenders(v)));
|
8136
8143
|
this.form.valueChanges.pipe(takeUntil(this._destroy), debounceTime(FILTER_DEBOUNCE)).
|
8137
8144
|
subscribe(v => this.valuesChange.emit(cleanup(v)));
|
8138
8145
|
this.form.patchValue(this.values, { emitEvent: false });
|
@@ -8220,7 +8227,7 @@ class PanesRouter {
|
|
8220
8227
|
}
|
8221
8228
|
navigate(commands, options) {
|
8222
8229
|
return new Promise((resolve, reject) => {
|
8223
|
-
this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe({
|
8230
|
+
this._events$.pipe(filter$1(e => e instanceof NavigationStart), first()).subscribe({
|
8224
8231
|
next: e => resolve(e.pane),
|
8225
8232
|
error: reject
|
8226
8233
|
});
|
@@ -8366,7 +8373,7 @@ class ChatInfo {
|
|
8366
8373
|
*/
|
8367
8374
|
format(person) {
|
8368
8375
|
if (this._config !== false)
|
8369
|
-
return `<a data-
|
8376
|
+
return `<a data-userid="${person.id}">${person.name}</a>`;
|
8370
8377
|
return person.name;
|
8371
8378
|
}
|
8372
8379
|
/**
|
@@ -8466,7 +8473,7 @@ class IdentityName {
|
|
8466
8473
|
* @param e
|
8467
8474
|
*/
|
8468
8475
|
chat(e) {
|
8469
|
-
const userId = e.target.getAttribute('data-
|
8476
|
+
const userId = e.target.getAttribute('data-userid');
|
8470
8477
|
userId &&
|
8471
8478
|
this._chat.open(userId, { mode: this.chating });
|
8472
8479
|
}
|
@@ -8547,13 +8554,13 @@ class AttachmentPreview {
|
|
8547
8554
|
}
|
8548
8555
|
close() {
|
8549
8556
|
// Listen for animation 'start' events
|
8550
|
-
this.animationStateChanged.pipe(filter(event => event.phaseName === 'start'), take(1)).subscribe(() => {
|
8557
|
+
this.animationStateChanged.pipe(filter$1(event => event.phaseName === 'start'), take(1)).subscribe(() => {
|
8551
8558
|
this._beforeClose.next();
|
8552
8559
|
this._beforeClose.complete();
|
8553
8560
|
this._overlayRef.detachBackdrop();
|
8554
8561
|
});
|
8555
8562
|
// Listen for animation 'done' events
|
8556
|
-
this.animationStateChanged.pipe(filter(event => event.phaseName === 'done' && event.toState === 'leave'), take(1)).subscribe(() => {
|
8563
|
+
this.animationStateChanged.pipe(filter$1(event => event.phaseName === 'done' && event.toState === 'leave'), take(1)).subscribe(() => {
|
8557
8564
|
this._overlayRef.dispose();
|
8558
8565
|
this._afterClosed.next();
|
8559
8566
|
this._afterClosed.complete();
|
@@ -8984,7 +8991,7 @@ class ExpandedItemComponent {
|
|
8984
8991
|
});
|
8985
8992
|
this._mailbox.changed.pipe(takeUntil(this._destroy)).subscribe(e => (e.id === this.model.id) &&
|
8986
8993
|
this._refresh());
|
8987
|
-
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).subscribe(() => {
|
8994
|
+
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).subscribe(() => {
|
8988
8995
|
this.typing = true;
|
8989
8996
|
clearTimeout(this._typingTask);
|
8990
8997
|
this._typingTask = setTimeout(() => this.typing = false, TYPING_HINT_TIME);
|
@@ -9153,7 +9160,7 @@ class ExpandedItemComponent {
|
|
9153
9160
|
* @param e
|
9154
9161
|
*/
|
9155
9162
|
chat(e) {
|
9156
|
-
const userId = e.target.getAttribute('data-
|
9163
|
+
const userId = e.target.getAttribute('data-userid');
|
9157
9164
|
userId &&
|
9158
9165
|
this._chat.open(userId);
|
9159
9166
|
}
|
@@ -10578,7 +10585,7 @@ class BrowsePaneComponent {
|
|
10578
10585
|
this._pane.title = this._translate.get('Tags');
|
10579
10586
|
this.filters = p;
|
10580
10587
|
});
|
10581
|
-
this._router.events.pipe(takeUntil(this._destroy), filter(e => (e instanceof ParamNavigation || e instanceof NavigationStart || e instanceof NavigationFocus)
|
10588
|
+
this._router.events.pipe(takeUntil(this._destroy), filter$1(e => (e instanceof ParamNavigation || e instanceof NavigationStart || e instanceof NavigationFocus)
|
10582
10589
|
&& e.pane._portal.component === ComposePaneComponent)).
|
10583
10590
|
subscribe(e => this.items.select(e.pane.data['item'].id));
|
10584
10591
|
this.contains.valueChanges.pipe(takeUntil(this._destroy), debounceTime(200)).subscribe(v => this.filters = { ...this.filters, contains: v });
|
@@ -12847,7 +12854,7 @@ class AvatarComponent {
|
|
12847
12854
|
}
|
12848
12855
|
!this.dense && this._changeMode(this.person.mode);
|
12849
12856
|
}
|
12850
|
-
this._hub.profileChange$.pipe(takeUntil$1(this._destroy), filter
|
12857
|
+
this._hub.profileChange$.pipe(takeUntil$1(this._destroy), filter(u => u.userId === this.person.id)).subscribe(u => this._changeMode(u.mode));
|
12851
12858
|
}
|
12852
12859
|
_changeMode(mode) {
|
12853
12860
|
if (!this._showMode)
|
@@ -13409,7 +13416,7 @@ class TaggingPipe {
|
|
13409
13416
|
evt.preventDefault();
|
13410
13417
|
}
|
13411
13418
|
else {
|
13412
|
-
const userId = src.getAttribute('data-
|
13419
|
+
const userId = src.getAttribute('data-userid');
|
13413
13420
|
userId && this._chat.open(userId);
|
13414
13421
|
}
|
13415
13422
|
}
|
@@ -13455,7 +13462,7 @@ class CommentLikesComponent {
|
|
13455
13462
|
this._mailbox = _mailbox;
|
13456
13463
|
this._messaging = _messaging;
|
13457
13464
|
this._destroy = new Subject();
|
13458
|
-
this._messaging.vote$.pipe(takeUntil(this._destroy), filter(e => e.id === this._data.documentId)).subscribe(e => {
|
13465
|
+
this._messaging.vote$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this._data.documentId)).subscribe(e => {
|
13459
13466
|
});
|
13460
13467
|
}
|
13461
13468
|
ngOnInit() {
|
@@ -13538,7 +13545,7 @@ class CommentComponent {
|
|
13538
13545
|
* @param e
|
13539
13546
|
*/
|
13540
13547
|
chat(e) {
|
13541
|
-
const userId = e.target.getAttribute('data-
|
13548
|
+
const userId = e.target.getAttribute('data-userid');
|
13542
13549
|
userId &&
|
13543
13550
|
this._chat.open(userId);
|
13544
13551
|
}
|
@@ -13596,7 +13603,7 @@ class CommentComponent {
|
|
13596
13603
|
positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
|
13597
13604
|
});
|
13598
13605
|
oRef.attach(new TemplatePortal(this.previewTemplate, this._vc));
|
13599
|
-
merge(oRef.keydownEvents().pipe(filter(k => k.key === 'Escape')), oRef.backdropClick()).subscribe(() => oRef.detach());
|
13606
|
+
merge(oRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape')), oRef.backdropClick()).subscribe(() => oRef.detach());
|
13600
13607
|
}
|
13601
13608
|
votes() {
|
13602
13609
|
this._open(CommentLikesComponent, {
|
@@ -13654,7 +13661,7 @@ class CommentsComponent {
|
|
13654
13661
|
this._preserveDraft = _config.comments && _config.comments.preserveDraft;
|
13655
13662
|
}
|
13656
13663
|
ngOnInit() {
|
13657
|
-
this._messaging.comment$.pipe(takeUntil(this._destroy), filter(e => (e.id === this.model.documentId))).subscribe(e => {
|
13664
|
+
this._messaging.comment$.pipe(takeUntil(this._destroy), filter$1(e => (e.id === this.model.documentId))).subscribe(e => {
|
13658
13665
|
if (!this.model.comments.find(c => c.id === e.model.id)) {
|
13659
13666
|
this.model.comments.push(e.model);
|
13660
13667
|
if (this._inFocus)
|
@@ -13662,7 +13669,7 @@ class CommentsComponent {
|
|
13662
13669
|
this.change.emit();
|
13663
13670
|
}
|
13664
13671
|
});
|
13665
|
-
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).
|
13672
|
+
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).
|
13666
13673
|
subscribe(e => {
|
13667
13674
|
this._accounts.get(e.userId).subscribe(u => {
|
13668
13675
|
this.typing = u.name;
|
@@ -13670,15 +13677,15 @@ class CommentsComponent {
|
|
13670
13677
|
this._typingTask = setTimeout(() => this.typing = null, TYPING_MESSAGE_TIME);
|
13671
13678
|
});
|
13672
13679
|
});
|
13673
|
-
this._messaging.vote$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).subscribe(e => {
|
13680
|
+
this._messaging.vote$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).subscribe(e => {
|
13674
13681
|
const comment = this.model.comments.find(c => c.id === e.commentId);
|
13675
13682
|
comment && (comment.votes = e.votes);
|
13676
13683
|
});
|
13677
|
-
this._messaging.commentUpdate$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).subscribe(e => {
|
13684
|
+
this._messaging.commentUpdate$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).subscribe(e => {
|
13678
13685
|
const comment = this.model.comments.find(c => c.id === e.model.id);
|
13679
13686
|
Object.assign(comment, e.model);
|
13680
13687
|
});
|
13681
|
-
this._messaging.commentDelete$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).subscribe(e => {
|
13688
|
+
this._messaging.commentDelete$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).subscribe(e => {
|
13682
13689
|
const comment = this.model.comments.find(c => c.id === e.id);
|
13683
13690
|
comment.deleted = e.deleted;
|
13684
13691
|
this.change.emit();
|
@@ -13696,7 +13703,7 @@ class CommentsComponent {
|
|
13696
13703
|
* @param e
|
13697
13704
|
*/
|
13698
13705
|
chat(e) {
|
13699
|
-
const userId = e.target.getAttribute('data-
|
13706
|
+
const userId = e.target.getAttribute('data-userid');
|
13700
13707
|
userId &&
|
13701
13708
|
this._chat.open(userId);
|
13702
13709
|
}
|
@@ -14179,7 +14186,7 @@ class ReportRef {
|
|
14179
14186
|
/** listen to progress events reported by backend code */
|
14180
14187
|
progress() {
|
14181
14188
|
return this._hub.reportProgress$.
|
14182
|
-
pipe(filter(e => e.name === this._configuration.name), map(e => e.progress));
|
14189
|
+
pipe(filter$1(e => e.name === this._configuration.name), map(e => e.progress));
|
14183
14190
|
}
|
14184
14191
|
/**
|
14185
14192
|
*
|
@@ -14264,7 +14271,7 @@ class ReportViewerComponent {
|
|
14264
14271
|
this._instance = this.table;
|
14265
14272
|
// listen to progress
|
14266
14273
|
this._hub.reportProgress$.
|
14267
|
-
pipe(filter(e => e.name === this.report.name), takeUntil(this._destroy), debounceTime(50)).
|
14274
|
+
pipe(filter$1(e => e.name === this.report.name), takeUntil(this._destroy), debounceTime(50)).
|
14268
14275
|
subscribe(i => {
|
14269
14276
|
if (this.progress > 0)
|
14270
14277
|
this.progress = i.progress;
|
@@ -15294,7 +15301,7 @@ class UtilityRef {
|
|
15294
15301
|
}
|
15295
15302
|
get jobId() { return this._jobId; }
|
15296
15303
|
progress() {
|
15297
|
-
return this._hub.jobProgress$.pipe(filter(e => e.jobId === this.jobId), map(e => e.event));
|
15304
|
+
return this._hub.jobProgress$.pipe(filter$1(e => e.jobId === this.jobId), map(e => e.event));
|
15298
15305
|
}
|
15299
15306
|
execute(args) {
|
15300
15307
|
return this._http.post(`/api/utility/${encodeURIComponent(this._utility.name)}`, args, { observe: 'response' }).
|
@@ -16562,7 +16569,7 @@ class TraceViewComponent extends TraceBase {
|
|
16562
16569
|
this._data && this._filter();
|
16563
16570
|
}
|
16564
16571
|
chat(e) {
|
16565
|
-
const userId = e.target.getAttribute('data-
|
16572
|
+
const userId = e.target.getAttribute('data-userid');
|
16566
16573
|
userId &&
|
16567
16574
|
this._chat.open(userId);
|
16568
16575
|
}
|
@@ -17154,7 +17161,7 @@ class CubeMatrixBase {
|
|
17154
17161
|
this._listen().subscribe(() => this.values[name] = value);
|
17155
17162
|
}
|
17156
17163
|
_listen() {
|
17157
|
-
return this.table.loadingChange.pipe(filter(ok => !ok), first());
|
17164
|
+
return this.table.loadingChange.pipe(filter$1(ok => !ok), first());
|
17158
17165
|
}
|
17159
17166
|
onFilter(axes) {
|
17160
17167
|
this.axes = axes;
|
@@ -17742,14 +17749,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
17742
17749
|
args: [CubeMatrixComponent, { static: true }]
|
17743
17750
|
}] } });
|
17744
17751
|
|
17745
|
-
|
17752
|
+
class NotificationRef {
|
17753
|
+
constructor(_message) {
|
17754
|
+
this._message = _message;
|
17755
|
+
}
|
17756
|
+
get message() {
|
17757
|
+
return this._message;
|
17758
|
+
}
|
17759
|
+
}
|
17760
|
+
|
17746
17761
|
class NotificationBase {
|
17747
|
-
constructor(
|
17748
|
-
this.
|
17749
|
-
this.
|
17750
|
-
this.
|
17751
|
-
this.
|
17752
|
-
this.
|
17762
|
+
constructor() {
|
17763
|
+
this._router = inject(RouterImpl);
|
17764
|
+
this._session = inject(SessionService);
|
17765
|
+
this._translate = inject(TranslateService);
|
17766
|
+
this._chat = inject(ChatInfo);
|
17767
|
+
this.notification = inject(NotificationRef);
|
17753
17768
|
}
|
17754
17769
|
_formatUserElement(person) {
|
17755
17770
|
if (person.id === this._session.userId)
|
@@ -17757,57 +17772,64 @@ class NotificationBase {
|
|
17757
17772
|
return this._chat.format(person);
|
17758
17773
|
}
|
17759
17774
|
open(e) {
|
17760
|
-
const
|
17775
|
+
const el = e.target;
|
17776
|
+
if (el.tagName !== 'A')
|
17777
|
+
return;
|
17778
|
+
const userId = el.getAttribute('data-userid');
|
17761
17779
|
if (userId)
|
17762
17780
|
this._chat.open(userId);
|
17763
|
-
else
|
17764
|
-
|
17765
|
-
|
17766
|
-
|
17767
|
-
|
17768
|
-
|
17769
|
-
|
17770
|
-
|
17781
|
+
else {
|
17782
|
+
const { documentId, recipientId } = this.notification.message;
|
17783
|
+
if (recipientId)
|
17784
|
+
this._router.navigate(['mailbox/i', recipientId.encodeId()], {
|
17785
|
+
policy: OpenPolicy.Clear
|
17786
|
+
});
|
17787
|
+
else if (documentId)
|
17788
|
+
this._router.navigate(['mailbox/d', documentId.encodeId()], {
|
17789
|
+
policy: OpenPolicy.Tab | OpenPolicy.Expandable
|
17790
|
+
});
|
17791
|
+
}
|
17771
17792
|
}
|
17772
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NotificationBase, deps:
|
17793
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NotificationBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
17773
17794
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.0", type: NotificationBase, isStandalone: true, host: { listeners: { "click": "open($event)" } }, ngImport: i0 }); }
|
17774
17795
|
}
|
17775
17796
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NotificationBase, decorators: [{
|
17776
17797
|
type: Directive
|
17777
|
-
}],
|
17798
|
+
}], propDecorators: { open: [{
|
17778
17799
|
type: HostListener,
|
17779
17800
|
args: ['click', ['$event']]
|
17780
17801
|
}] } });
|
17781
17802
|
|
17782
17803
|
/** */
|
17783
17804
|
class CommentedNotification extends NotificationBase {
|
17805
|
+
constructor() {
|
17806
|
+
super(...arguments);
|
17807
|
+
this._accounts = inject(AccountService);
|
17808
|
+
}
|
17784
17809
|
ngOnInit() {
|
17785
|
-
|
17786
|
-
|
17787
|
-
|
17810
|
+
const { userIds, number, text } = this.notification.message;
|
17811
|
+
this.count = userIds.length;
|
17812
|
+
if (userIds.length === 1)
|
17813
|
+
this._accounts.get(userIds[0]).subscribe(u => {
|
17814
|
+
this.message = this._translate.get(`CommentedOne${u.gender || ''}Notify`, this._formatUserElement(u), text, number);
|
17788
17815
|
});
|
17789
17816
|
else
|
17790
|
-
this._accounts.getAll(
|
17817
|
+
this._accounts.getAll(userIds).subscribe(us => {
|
17791
17818
|
if (us.length < 3)
|
17792
|
-
this.message = this._translate.get('CommentedManyNotify', this._translate.join(us.map(u => this._formatUserElement(u))),
|
17819
|
+
this.message = this._translate.get('CommentedManyNotify', this._translate.join(us.map(u => this._formatUserElement(u))), number);
|
17793
17820
|
else {
|
17794
17821
|
const comma = this._translate.comma;
|
17795
17822
|
this.names = us.map(u => u.name).join(comma);
|
17796
|
-
this.message = this._translate.get('CommentedManyMoreNotify', us.slice(0, 2).map(u => this._formatUserElement(u)).join(comma), us.length - 2,
|
17823
|
+
this.message = this._translate.get('CommentedManyMoreNotify', us.slice(0, 2).map(u => this._formatUserElement(u)).join(comma), us.length - 2, number);
|
17797
17824
|
}
|
17798
17825
|
});
|
17799
17826
|
}
|
17800
|
-
|
17801
|
-
super(notification, router, session, translate, chat);
|
17802
|
-
this.notification = notification;
|
17803
|
-
this._accounts = _accounts;
|
17804
|
-
}
|
17805
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: CommentedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: AccountService }, { token: TranslateService }, { token: RouterImpl }, { token: SessionService }, { token: ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
|
17827
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: CommentedNotification, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
17806
17828
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: CommentedNotification, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `@if (message) {
|
17807
|
-
@if (
|
17829
|
+
@if (count < 3) {
|
17808
17830
|
<span [innerHTML]='message | sanitizeHtml'></span>
|
17809
17831
|
}
|
17810
|
-
@
|
17832
|
+
@else {
|
17811
17833
|
<span [bizdocTooltip]='names' [innerHTML]='message | sanitizeHtml'></span>
|
17812
17834
|
}
|
17813
17835
|
}`, isInline: true, dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
@@ -17817,117 +17839,105 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
17817
17839
|
args: [{
|
17818
17840
|
standalone: false,
|
17819
17841
|
template: `@if (message) {
|
17820
|
-
@if (
|
17842
|
+
@if (count < 3) {
|
17821
17843
|
<span [innerHTML]='message | sanitizeHtml'></span>
|
17822
17844
|
}
|
17823
|
-
@
|
17845
|
+
@else {
|
17824
17846
|
<span [bizdocTooltip]='names' [innerHTML]='message | sanitizeHtml'></span>
|
17825
17847
|
}
|
17826
17848
|
}`
|
17827
17849
|
}]
|
17828
|
-
}]
|
17829
|
-
type: Inject,
|
17830
|
-
args: [NOTIFICATION_DATA]
|
17831
|
-
}] }, { type: AccountService }, { type: TranslateService }, { type: RouterImpl }, { type: SessionService }, { type: ChatInfo }] });
|
17850
|
+
}] });
|
17832
17851
|
|
17833
|
-
class CubeAnomalyNotification {
|
17852
|
+
class CubeAnomalyNotification extends NotificationBase {
|
17853
|
+
constructor() {
|
17854
|
+
super(...arguments);
|
17855
|
+
this._ds = inject(DatasourceService);
|
17856
|
+
this.axes = '';
|
17857
|
+
}
|
17834
17858
|
ngOnInit() {
|
17835
|
-
|
17859
|
+
const { cube, axes } = this.notification.message;
|
17860
|
+
this.cube = this._session.profile.cubes.find(c => c.name === cube);
|
17836
17861
|
const observables = [];
|
17837
17862
|
this.cube.axes.forEach((a, i) => {
|
17838
|
-
if (a.selectionMode !== 'None' &&
|
17839
|
-
observables.push(this._ds.get(a.dataType,
|
17863
|
+
if (a.selectionMode !== 'None' && axes && axes[i]) {
|
17864
|
+
observables.push(this._ds.get(a.dataType, axes[i]));
|
17840
17865
|
}
|
17841
17866
|
});
|
17842
|
-
forkJoin(observables).subscribe(a => this.axes = this._translate.join(a.map((e, i) => e ||
|
17867
|
+
forkJoin(observables).subscribe(a => this.axes = this._translate.join(a.map((e, i) => e || axes[i])));
|
17843
17868
|
}
|
17844
|
-
open(
|
17845
|
-
const
|
17869
|
+
open(evt) {
|
17870
|
+
const { cube, axes } = this.notification.message;
|
17871
|
+
const id = evt.target.getAttribute('data-id');
|
17846
17872
|
if (id) {
|
17847
17873
|
this._router.navigate(['mailbox/i', parseInt(id).encodeId()]);
|
17848
17874
|
}
|
17849
17875
|
else {
|
17850
17876
|
const params = {};
|
17851
|
-
|
17852
|
-
|
17853
|
-
this._router.navigate(['cube', this.notification.cube, 'v', this.cube.views[0].name], { queryParams: params });
|
17877
|
+
axes?.forEach((a, i) => a && (params[this.cube.axes[i].name] = a));
|
17878
|
+
this._router.navigate(['cube', cube, 'v', this.cube.views[0].name], { queryParams: params });
|
17854
17879
|
}
|
17855
17880
|
}
|
17856
|
-
|
17857
|
-
|
17858
|
-
this._ds = _ds;
|
17859
|
-
this._session = _session;
|
17860
|
-
this._router = _router;
|
17861
|
-
this._translate = _translate;
|
17862
|
-
this.axes = '';
|
17863
|
-
}
|
17864
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: CubeAnomalyNotification, deps: [{ token: NOTIFICATION_DATA }, { token: DatasourceService }, { token: SessionService }, { token: RouterImpl }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
17865
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: CubeAnomalyNotification, isStandalone: false, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span [innerHTML]=" 'CubeAnomalyNotify' | translate : (cube.title | lowercase) : (notification.value | currency : cube.currencyCode : 'symbol') : axes | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
17881
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: CubeAnomalyNotification, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
17882
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: CubeAnomalyNotification, isStandalone: false, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, usesInheritance: true, ngImport: i0, template: `<span [innerHTML]="'CubeAnomalyNotify' | translate : (cube.title | lowercase) : (notification.message.value | currency : cube.currencyCode : 'symbol') : axes | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
17866
17883
|
}
|
17867
17884
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: CubeAnomalyNotification, decorators: [{
|
17868
17885
|
type: Component,
|
17869
17886
|
args: [{
|
17870
17887
|
standalone: false,
|
17871
|
-
template: `<span [innerHTML]="
|
17888
|
+
template: `<span [innerHTML]="'CubeAnomalyNotify' | translate : (cube.title | lowercase) : (notification.message.value | currency : cube.currencyCode : 'symbol') : axes | sanitizeHtml"></span>`
|
17872
17889
|
}]
|
17873
|
-
}],
|
17874
|
-
type: Inject,
|
17875
|
-
args: [NOTIFICATION_DATA]
|
17876
|
-
}] }, { type: DatasourceService }, { type: SessionService }, { type: RouterImpl }, { type: TranslateService }], propDecorators: { open: [{
|
17890
|
+
}], propDecorators: { open: [{
|
17877
17891
|
type: HostListener,
|
17878
17892
|
args: ['click', ['$event']]
|
17879
17893
|
}] } });
|
17880
17894
|
|
17881
17895
|
class EscalatedNotification extends NotificationBase {
|
17882
|
-
|
17883
|
-
|
17896
|
+
constructor() {
|
17897
|
+
super(...arguments);
|
17898
|
+
this._accounts = inject(AccountService);
|
17884
17899
|
}
|
17885
|
-
|
17886
|
-
|
17887
|
-
this.notification = notification;
|
17888
|
-
this._accounts = _accounts;
|
17900
|
+
ngOnInit() {
|
17901
|
+
this._accounts.get(this.notification.message.substituteId).subscribe(u => this.name = this._formatUserElement(u));
|
17889
17902
|
}
|
17890
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EscalatedNotification, deps:
|
17891
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: EscalatedNotification, isStandalone: false, selector: "bizdoc-notify-escalated", usesInheritance: true, ngImport: i0, template: `@if (name) {<span [innerHTML]="'EscalatedNotify' | translate : notification.number : name | sanitizeHtml"></span>}`, isInline: true, dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
17903
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EscalatedNotification, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
17904
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: EscalatedNotification, isStandalone: false, selector: "bizdoc-notify-escalated", usesInheritance: true, ngImport: i0, template: `@if (name) {<span [innerHTML]="'EscalatedNotify' | translate : notification.message.number : name | sanitizeHtml"></span>}`, isInline: true, dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
17892
17905
|
}
|
17893
17906
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EscalatedNotification, decorators: [{
|
17894
17907
|
type: Component,
|
17895
17908
|
args: [{
|
17896
17909
|
standalone: false,
|
17897
17910
|
selector: 'bizdoc-notify-escalated',
|
17898
|
-
template: `@if (name) {<span [innerHTML]="'EscalatedNotify' | translate : notification.number : name | sanitizeHtml"></span>}`
|
17911
|
+
template: `@if (name) {<span [innerHTML]="'EscalatedNotify' | translate : notification.message.number : name | sanitizeHtml"></span>}`
|
17899
17912
|
}]
|
17900
|
-
}]
|
17901
|
-
type: Inject,
|
17902
|
-
args: [NOTIFICATION_DATA]
|
17903
|
-
}] }, { type: AccountService }, { type: TranslateService }, { type: SessionService }, { type: ChatInfo }] });
|
17913
|
+
}] });
|
17904
17914
|
|
17905
17915
|
class LikedNotification extends NotificationBase {
|
17916
|
+
constructor() {
|
17917
|
+
super(...arguments);
|
17918
|
+
this._accounts = inject(AccountService);
|
17919
|
+
}
|
17906
17920
|
ngOnInit() {
|
17907
|
-
|
17908
|
-
|
17921
|
+
const { userIds, voted, number } = this.notification.message;
|
17922
|
+
if (userIds.length === 1)
|
17923
|
+
this._accounts.get(userIds[0]).subscribe(u => this.message = this._translate.personalize(voted === 1 ? 'LikedOneNotify' : 'DislikedOneNotify', u.gender, this._formatUserElement(u), number));
|
17909
17924
|
else
|
17910
|
-
this._accounts.getAll(
|
17925
|
+
this._accounts.getAll(userIds).subscribe(us => {
|
17911
17926
|
if (us.length < 3)
|
17912
|
-
this.message = this._translate.get(
|
17927
|
+
this.message = this._translate.get(voted === 1 ? 'LikedManyNotify' : voted === -1 ? 'DislikedManyNotify' : 'MixedLikeManyNotify', this._translate.join(us.map(u => this._formatUserElement(u))), number);
|
17913
17928
|
else {
|
17914
17929
|
const comma = this._translate.comma;
|
17915
17930
|
this.names = us.map(u => u.name).join(comma);
|
17916
|
-
this.message = this._translate.get(
|
17931
|
+
this.message = this._translate.get(voted === 1 ? 'LikedManyMoreNotify' : voted === -1 ? 'DislikedManyMoreNotify' : 'MixedLikeManyMoreNotify', us.slice(0, 2).map(u => this._formatUserElement(u)).join(comma), us.length - 2, number);
|
17917
17932
|
}
|
17918
17933
|
});
|
17919
17934
|
}
|
17920
|
-
|
17921
|
-
super(notification, router, session, translate, chat);
|
17922
|
-
this.notification = notification;
|
17923
|
-
this._accounts = _accounts;
|
17924
|
-
}
|
17925
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: LikedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: AccountService }, { token: TranslateService }, { token: RouterImpl }, { token: SessionService }, { token: ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
|
17935
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: LikedNotification, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
17926
17936
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: LikedNotification, isStandalone: false, selector: "bizdoc-liked-notification", usesInheritance: true, ngImport: i0, template: `@if (message) {
|
17927
17937
|
@if (notification.userIds.length < 3) {
|
17928
17938
|
<span [innerHTML]='message | sanitizeHtml'></span>
|
17929
17939
|
}
|
17930
|
-
@
|
17940
|
+
@else {
|
17931
17941
|
<span [bizdocTooltip]='names' [innerHTML]='message | sanitizeHtml'></span>
|
17932
17942
|
}
|
17933
17943
|
}`, isInline: true, dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
@@ -17941,131 +17951,111 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
17941
17951
|
@if (notification.userIds.length < 3) {
|
17942
17952
|
<span [innerHTML]='message | sanitizeHtml'></span>
|
17943
17953
|
}
|
17944
|
-
@
|
17954
|
+
@else {
|
17945
17955
|
<span [bizdocTooltip]='names' [innerHTML]='message | sanitizeHtml'></span>
|
17946
17956
|
}
|
17947
17957
|
}`
|
17948
17958
|
}]
|
17949
|
-
}]
|
17950
|
-
type: Inject,
|
17951
|
-
args: [NOTIFICATION_DATA]
|
17952
|
-
}] }, { type: AccountService }, { type: TranslateService }, { type: RouterImpl }, { type: SessionService }, { type: ChatInfo }] });
|
17959
|
+
}] });
|
17953
17960
|
|
17954
17961
|
class StateChangedNotification extends NotificationBase {
|
17955
17962
|
ngOnInit() {
|
17956
|
-
this.form = this._session.profile.forms.find(f => f.name === this.notification.formId);
|
17957
|
-
}
|
17958
|
-
constructor(notification, session, router, translate, chat) {
|
17959
|
-
super(notification, router, session, translate, chat);
|
17960
|
-
this.notification = notification;
|
17963
|
+
this.form = this._session.profile.forms.find(f => f.name === this.notification.message.formId);
|
17961
17964
|
}
|
17962
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: StateChangedNotification, deps:
|
17963
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: StateChangedNotification, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<span [innerHTML]="'StateChangedNotify' | translate : form.title : notification.number : (notification.state | state : 'past' | lowercase) | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: StatePipe, name: "state" }] }); }
|
17965
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: StateChangedNotification, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
17966
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: StateChangedNotification, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<span [innerHTML]="'StateChangedNotify' | translate : form.title : notification.message.number : (notification.message.state | state : 'past' | lowercase) | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: StatePipe, name: "state" }] }); }
|
17964
17967
|
}
|
17965
17968
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: StateChangedNotification, decorators: [{
|
17966
17969
|
type: Component,
|
17967
17970
|
args: [{
|
17968
17971
|
standalone: false,
|
17969
|
-
template: `<span [innerHTML]="'StateChangedNotify' | translate : form.title : notification.number : (notification.state | state : 'past' | lowercase) | sanitizeHtml"></span>`
|
17972
|
+
template: `<span [innerHTML]="'StateChangedNotify' | translate : form.title : notification.message.number : (notification.message.state | state : 'past' | lowercase) | sanitizeHtml"></span>`
|
17970
17973
|
}]
|
17971
|
-
}]
|
17972
|
-
type: Inject,
|
17973
|
-
args: [NOTIFICATION_DATA]
|
17974
|
-
}] }, { type: SessionService }, { type: RouterImpl }, { type: TranslateService }, { type: ChatInfo }] });
|
17974
|
+
}] });
|
17975
17975
|
|
17976
17976
|
class TextNotification {
|
17977
17977
|
constructor(notification) {
|
17978
17978
|
this.notification = notification;
|
17979
17979
|
}
|
17980
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: TextNotification, deps: [{ token:
|
17981
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: TextNotification, isStandalone: false, selector: "bizdoc-notify-text", ngImport: i0, template: `<span [innerHTML]="notification.text"></span>`, isInline: true }); }
|
17980
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: TextNotification, deps: [{ token: NotificationRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
17981
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: TextNotification, isStandalone: false, selector: "bizdoc-notify-text", ngImport: i0, template: `<span [innerHTML]="notification.message.text"></span>`, isInline: true }); }
|
17982
17982
|
}
|
17983
17983
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: TextNotification, decorators: [{
|
17984
17984
|
type: Component,
|
17985
17985
|
args: [{
|
17986
17986
|
standalone: false,
|
17987
17987
|
selector: 'bizdoc-notify-text',
|
17988
|
-
template: `<span [innerHTML]="notification.text"></span>`
|
17988
|
+
template: `<span [innerHTML]="notification.message.text"></span>`
|
17989
17989
|
}]
|
17990
|
-
}], ctorParameters: () => [{ type:
|
17990
|
+
}], ctorParameters: () => [{ type: NotificationRef, decorators: [{
|
17991
17991
|
type: Inject,
|
17992
|
-
args: [
|
17992
|
+
args: [NotificationRef]
|
17993
17993
|
}] }] });
|
17994
17994
|
|
17995
17995
|
class UpcomingEventNotification {
|
17996
|
-
|
17997
|
-
this.
|
17996
|
+
constructor() {
|
17997
|
+
this.notification = inject((NotificationRef));
|
17998
|
+
this._router = inject(RouterImpl);
|
17998
17999
|
}
|
17999
|
-
|
18000
|
-
this.
|
18000
|
+
ngOnInit() {
|
18001
|
+
this.duration = dayjs(this.notification.message.starting);
|
18001
18002
|
}
|
18002
|
-
|
18003
|
-
this.
|
18004
|
-
this._router = _router;
|
18003
|
+
open(_) {
|
18004
|
+
this._router.navigate(['schedule'], { queryParams: { date: this.duration.valueOf().encodeId() } });
|
18005
18005
|
}
|
18006
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: UpcomingEventNotification, deps: [
|
18007
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: UpcomingEventNotification, isStandalone: false, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span [bizdocTooltip]="notification.starting | amCalendar" [innerHTML]="'UpcomingEventNotify' | translate : notification.number : duration.fromNow() | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
18006
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: UpcomingEventNotification, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
18007
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: UpcomingEventNotification, isStandalone: false, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span [bizdocTooltip]="notification.message.starting | amCalendar" [innerHTML]="'UpcomingEventNotify' | translate : notification.message.number : duration.fromNow() | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
18008
18008
|
}
|
18009
18009
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: UpcomingEventNotification, decorators: [{
|
18010
18010
|
type: Component,
|
18011
18011
|
args: [{
|
18012
18012
|
standalone: false,
|
18013
|
-
template: `<span [bizdocTooltip]="notification.starting | amCalendar" [innerHTML]="'UpcomingEventNotify' | translate : notification.number : duration.fromNow() | sanitizeHtml"></span>`
|
18013
|
+
template: `<span [bizdocTooltip]="notification.message.starting | amCalendar" [innerHTML]="'UpcomingEventNotify' | translate : notification.message.number : duration.fromNow() | sanitizeHtml"></span>`
|
18014
18014
|
}]
|
18015
|
-
}],
|
18016
|
-
type: Inject,
|
18017
|
-
args: [NOTIFICATION_DATA]
|
18018
|
-
}] }, { type: RouterImpl }], propDecorators: { open: [{
|
18015
|
+
}], propDecorators: { open: [{
|
18019
18016
|
type: HostListener,
|
18020
18017
|
args: ['click', ['$event']]
|
18021
18018
|
}] } });
|
18022
18019
|
|
18023
18020
|
class NudgeNotification extends NotificationBase {
|
18024
18021
|
ngOnInit() {
|
18025
|
-
this.expire = dayjs(this.notification.expire);
|
18022
|
+
this.expire = dayjs(this.notification.message.expire);
|
18026
18023
|
}
|
18027
|
-
|
18028
|
-
|
18029
|
-
this.notification = notification;
|
18030
|
-
}
|
18031
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NudgeNotification, deps: [{ token: RouterImpl }, { token: TranslateService }, { token: SessionService }, { token: ChatInfo }, { token: NOTIFICATION_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
18032
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: NudgeNotification, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<span [innerHTML]='"NudgeNotify" | translate : notification.number : expire.toNow() | sanitizeHtml'></span>`, isInline: true, dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
18024
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NudgeNotification, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
18025
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: NudgeNotification, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<span [innerHTML]='"NudgeNotify" | translate : notification.message.number : expire.toNow() | sanitizeHtml'></span>`, isInline: true, dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
18033
18026
|
}
|
18034
18027
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NudgeNotification, decorators: [{
|
18035
18028
|
type: Component,
|
18036
18029
|
args: [{
|
18037
18030
|
standalone: false,
|
18038
|
-
template: `<span [innerHTML]='"NudgeNotify" | translate : notification.number : expire.toNow() | sanitizeHtml'></span>`
|
18031
|
+
template: `<span [innerHTML]='"NudgeNotify" | translate : notification.message.number : expire.toNow() | sanitizeHtml'></span>`
|
18039
18032
|
}]
|
18040
|
-
}]
|
18041
|
-
type: Inject,
|
18042
|
-
args: [NOTIFICATION_DATA]
|
18043
|
-
}] }] });
|
18033
|
+
}] });
|
18044
18034
|
|
18045
18035
|
class LongRunningTaskNotification {
|
18046
18036
|
ngOnInit() {
|
18047
|
-
this.report = this._session.profile.reports.find(r => r.name === this.notification.name);
|
18037
|
+
this.report = this._session.profile.reports.find(r => r.name === this.notification.message.name);
|
18048
18038
|
}
|
18049
|
-
open(
|
18050
|
-
this._router.navigate(['reports', this.notification.name]);
|
18039
|
+
open(_) {
|
18040
|
+
this._router.navigate(['reports', this.notification.message.name]);
|
18051
18041
|
}
|
18052
18042
|
constructor(notification, _session, _router) {
|
18053
18043
|
this.notification = notification;
|
18054
18044
|
this._session = _session;
|
18055
18045
|
this._router = _router;
|
18056
18046
|
}
|
18057
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: LongRunningTaskNotification, deps: [{ token:
|
18058
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: LongRunningTaskNotification, isStandalone: false, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span></span>`, isInline: true }); }
|
18047
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: LongRunningTaskNotification, deps: [{ token: NotificationRef }, { token: SessionService }, { token: RouterImpl }], target: i0.ɵɵFactoryTarget.Component }); }
|
18048
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: LongRunningTaskNotification, isStandalone: false, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span [innerHTML]="report.title"></span>`, isInline: true }); }
|
18059
18049
|
}
|
18060
18050
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: LongRunningTaskNotification, decorators: [{
|
18061
18051
|
type: Component,
|
18062
18052
|
args: [{
|
18063
18053
|
standalone: false,
|
18064
|
-
template: `<span></span>`
|
18054
|
+
template: `<span [innerHTML]="report.title"></span>`
|
18065
18055
|
}]
|
18066
|
-
}], ctorParameters: () => [{ type:
|
18056
|
+
}], ctorParameters: () => [{ type: NotificationRef, decorators: [{
|
18067
18057
|
type: Inject,
|
18068
|
-
args: [
|
18058
|
+
args: [NotificationRef]
|
18069
18059
|
}] }, { type: SessionService }, { type: RouterImpl }], propDecorators: { open: [{
|
18070
18060
|
type: HostListener,
|
18071
18061
|
args: ['click', ['$event']]
|
@@ -18073,21 +18063,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
18073
18063
|
|
18074
18064
|
/** */
|
18075
18065
|
class TaggedNotification extends NotificationBase {
|
18066
|
+
constructor() {
|
18067
|
+
super(...arguments);
|
18068
|
+
this._accounts = inject(AccountService);
|
18069
|
+
}
|
18076
18070
|
ngOnInit() {
|
18077
|
-
const
|
18078
|
-
|
18079
|
-
|
18071
|
+
const { formId, who, number } = this.notification.message;
|
18072
|
+
const form = this._session.profile.forms.find(f => f.name == formId);
|
18073
|
+
if (who === this._session.userId)
|
18074
|
+
this.message = this._translate.get('TaggedYourselfNotify', form.title, `<a>${number}</a>`);
|
18080
18075
|
else
|
18081
|
-
this._accounts.get(
|
18082
|
-
this.message = this._translate.get(`Tagged${u.gender || ''}Notify`, this._formatUserElement(u), form.title, `<a>${
|
18076
|
+
this._accounts.get(who).subscribe(u => {
|
18077
|
+
this.message = this._translate.get(`Tagged${u.gender || ''}Notify`, this._formatUserElement(u), form.title, `<a>${number}</a>`);
|
18083
18078
|
});
|
18084
18079
|
}
|
18085
|
-
|
18086
|
-
super(notification, router, session, translate, chat);
|
18087
|
-
this.notification = notification;
|
18088
|
-
this._accounts = _accounts;
|
18089
|
-
}
|
18090
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: TaggedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: AccountService }, { token: TranslateService }, { token: RouterImpl }, { token: SessionService }, { token: ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
|
18080
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: TaggedNotification, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
18091
18081
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: TaggedNotification, isStandalone: false, selector: "bizdoc-notify-tagged", usesInheritance: true, ngImport: i0, template: `@if (message) {
|
18092
18082
|
<span [innerHTML]='message | sanitizeHtml'></span>
|
18093
18083
|
}`, isInline: true, dependencies: [{ kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
@@ -18101,10 +18091,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
18101
18091
|
<span [innerHTML]='message | sanitizeHtml'></span>
|
18102
18092
|
}`
|
18103
18093
|
}]
|
18104
|
-
}]
|
18105
|
-
type: Inject,
|
18106
|
-
args: [NOTIFICATION_DATA]
|
18107
|
-
}] }, { type: AccountService }, { type: TranslateService }, { type: RouterImpl }, { type: SessionService }, { type: ChatInfo }] });
|
18094
|
+
}] });
|
18108
18095
|
|
18109
18096
|
class DocumentFactory {
|
18110
18097
|
constructor(_session, _mailbox, _cf, _messaging, _ps, _overlay, _dir, _router) {
|
@@ -18183,7 +18170,7 @@ class DocumentFactory {
|
|
18183
18170
|
this._messaging.callback$.pipe(takeUntil$1(formRef._destroy$)).
|
18184
18171
|
subscribe(e => compRef.instance.onMessage && compRef.instance.onMessage(e.message));
|
18185
18172
|
// escape
|
18186
|
-
merge(overlayRef.backdropClick(), overlayRef.keydownEvents().pipe(filter
|
18173
|
+
merge(overlayRef.backdropClick(), overlayRef.keydownEvents().pipe(filter(k => k.key === 'Escape'))).
|
18187
18174
|
subscribe(() => {
|
18188
18175
|
observe.complete();
|
18189
18176
|
overlayRef.detach();
|
@@ -18255,25 +18242,27 @@ class InviteNotification {
|
|
18255
18242
|
this._router = _router;
|
18256
18243
|
this._factory = _factory;
|
18257
18244
|
this.notification = notification;
|
18258
|
-
const
|
18259
|
-
|
18260
|
-
|
18261
|
-
|
18245
|
+
const { formId, message, due, recipientId } = notification.message;
|
18246
|
+
const form = session.profile.forms.find(f => f.name === formId);
|
18247
|
+
this.message = message ||
|
18248
|
+
(due ?
|
18249
|
+
translate.get(recipientId ?
|
18262
18250
|
'CompleteNotificationTill' :
|
18263
|
-
'FillNotificationTill', form.title, dayjs(
|
18264
|
-
translate.get(
|
18251
|
+
'FillNotificationTill', form.title, dayjs(due).fromNow()) :
|
18252
|
+
translate.get(recipientId ?
|
18265
18253
|
'CompleteFillNotification' :
|
18266
18254
|
'FillNotification', form.title));
|
18267
18255
|
}
|
18268
18256
|
open(_) {
|
18269
|
-
|
18270
|
-
|
18257
|
+
const { formId, recipientId } = this.notification.message;
|
18258
|
+
if (recipientId)
|
18259
|
+
this._router.navigate(['mailbox/i', recipientId.encodeId()]);
|
18271
18260
|
else
|
18272
|
-
this._factory.create(
|
18261
|
+
this._factory.create(formId).subscribe(m => {
|
18273
18262
|
this._router.navigate(['mailbox/i', m.id.encodeId()]);
|
18274
18263
|
});
|
18275
18264
|
}
|
18276
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: InviteNotification, deps: [{ token: RouterImpl }, { token: DocumentFactory }, { token: SessionService }, { token: TranslateService }, { token:
|
18265
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: InviteNotification, deps: [{ token: RouterImpl }, { token: DocumentFactory }, { token: SessionService }, { token: TranslateService }, { token: NotificationRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
18277
18266
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: InviteNotification, isStandalone: false, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span [innerHTML]="message"></span>`, isInline: true }); }
|
18278
18267
|
}
|
18279
18268
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: InviteNotification, decorators: [{
|
@@ -18282,45 +18271,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
18282
18271
|
standalone: false,
|
18283
18272
|
template: `<span [innerHTML]="message"></span>`
|
18284
18273
|
}]
|
18285
|
-
}], ctorParameters: () => [{ type: RouterImpl }, { type: DocumentFactory }, { type: SessionService }, { type: TranslateService }, { type:
|
18274
|
+
}], ctorParameters: () => [{ type: RouterImpl }, { type: DocumentFactory }, { type: SessionService }, { type: TranslateService }, { type: NotificationRef, decorators: [{
|
18286
18275
|
type: Inject,
|
18287
|
-
args: [
|
18276
|
+
args: [NotificationRef]
|
18288
18277
|
}] }], propDecorators: { open: [{
|
18289
18278
|
type: HostListener,
|
18290
18279
|
args: ['click', ['$event']]
|
18291
18280
|
}] } });
|
18292
18281
|
|
18293
|
-
class
|
18294
|
-
|
18295
|
-
|
18296
|
-
constructor(notification, vc) {
|
18297
|
-
this.notification = notification;
|
18282
|
+
class ContentMessageNotification extends NotificationBase {
|
18283
|
+
constructor(vc) {
|
18284
|
+
super();
|
18298
18285
|
this._factory = inject(BizDocComponentFactoryResolver);
|
18299
|
-
|
18300
|
-
|
18301
|
-
|
18286
|
+
if (!ContentMessageNotification._tamplateMap) {
|
18287
|
+
ContentMessageNotification._tamplateMap = {};
|
18288
|
+
this._session.profile.notifications.forEach(n => {
|
18289
|
+
ContentMessageNotification._tamplateMap[n.contentType] = n.template;
|
18290
|
+
});
|
18291
|
+
}
|
18292
|
+
const { content, contentType } = this.notification.message;
|
18293
|
+
const template = ContentMessageNotification._tamplateMap[contentType];
|
18294
|
+
const comp = this._factory.component(template);
|
18302
18295
|
const compRef = vc.createComponent(comp, {
|
18303
18296
|
// injector: Injector.create([{
|
18304
18297
|
// provide: NotificationRef,
|
18305
18298
|
// value: new NotificationRef()
|
18306
18299
|
// }])
|
18307
18300
|
});
|
18308
|
-
compRef.instance.onBind(
|
18301
|
+
compRef.instance.onBind(content);
|
18309
18302
|
}
|
18310
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type:
|
18311
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type:
|
18303
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ContentMessageNotification, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
18304
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: ContentMessageNotification, isStandalone: false, selector: "bizdoc-notify-content", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
18312
18305
|
}
|
18313
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type:
|
18306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ContentMessageNotification, decorators: [{
|
18314
18307
|
type: Component,
|
18315
18308
|
args: [{
|
18316
18309
|
standalone: false,
|
18317
18310
|
selector: 'bizdoc-notify-content',
|
18318
18311
|
template: ''
|
18319
18312
|
}]
|
18320
|
-
}], ctorParameters: () => [{ type:
|
18321
|
-
type: Inject,
|
18322
|
-
args: [NOTIFICATION_DATA]
|
18323
|
-
}] }, { type: i0.ViewContainerRef }] });
|
18313
|
+
}], ctorParameters: () => [{ type: i0.ViewContainerRef }] });
|
18324
18314
|
|
18325
18315
|
class NotificationsService {
|
18326
18316
|
constructor(_http, messaging, _session) {
|
@@ -18371,19 +18361,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
18371
18361
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: HubService }, { type: SessionService }] });
|
18372
18362
|
|
18373
18363
|
class NotificationsComponentBase {
|
18364
|
+
constructor() {
|
18365
|
+
this._injector = inject(Injector);
|
18366
|
+
this._service = inject(NotificationsService);
|
18367
|
+
this._session = inject(SessionService);
|
18368
|
+
}
|
18369
|
+
/**
|
18370
|
+
*
|
18371
|
+
* @param messages
|
18372
|
+
*/
|
18374
18373
|
prepare(messages) {
|
18375
18374
|
messages.forEach(m => {
|
18376
18375
|
m.comp = this._getComponent(m.type);
|
18377
18376
|
m.injector = this._getInjector(m);
|
18378
18377
|
});
|
18379
18378
|
}
|
18380
|
-
constructor() {
|
18381
|
-
this._uidType = {};
|
18382
|
-
this._injector = inject(Injector);
|
18383
|
-
this._service = inject(NotificationsService);
|
18384
|
-
this._session = inject(SessionService);
|
18385
|
-
this._session.profile.notifications.forEach(n => this._uidType[n.contentType] = n.template);
|
18386
|
-
}
|
18387
18379
|
_getComponent(type) {
|
18388
18380
|
switch (type) {
|
18389
18381
|
case 'Commented':
|
@@ -18401,7 +18393,7 @@ class NotificationsComponentBase {
|
|
18401
18393
|
case 'TextMessage':
|
18402
18394
|
return TextNotification;
|
18403
18395
|
case 'ContentMessage':
|
18404
|
-
return
|
18396
|
+
return ContentMessageNotification;
|
18405
18397
|
case 'Invite':
|
18406
18398
|
return InviteNotification;
|
18407
18399
|
case 'UpcomingEvent':
|
@@ -18417,8 +18409,8 @@ class NotificationsComponentBase {
|
|
18417
18409
|
_getInjector(item) {
|
18418
18410
|
return Injector.create({
|
18419
18411
|
providers: [{
|
18420
|
-
provide:
|
18421
|
-
useValue: item
|
18412
|
+
provide: NotificationRef,
|
18413
|
+
useValue: new NotificationRef(item)
|
18422
18414
|
}],
|
18423
18415
|
parent: this._injector
|
18424
18416
|
});
|
@@ -18474,6 +18466,10 @@ class NotificationsTableComponent extends NotificationsComponentBase {
|
|
18474
18466
|
mute(item, mute) {
|
18475
18467
|
this._service.mute(item.id, mute);
|
18476
18468
|
}
|
18469
|
+
/**
|
18470
|
+
*
|
18471
|
+
* @param item
|
18472
|
+
*/
|
18477
18473
|
delete(item) {
|
18478
18474
|
this._service.delete(item.id).subscribe(i => {
|
18479
18475
|
item.deleted = true;
|
@@ -18493,6 +18489,10 @@ class NotificationsTableComponent extends NotificationsComponentBase {
|
|
18493
18489
|
this.selection.clear() :
|
18494
18490
|
this.selection.select(...this.dataSource.data);
|
18495
18491
|
}
|
18492
|
+
/**
|
18493
|
+
*
|
18494
|
+
* @param evt
|
18495
|
+
*/
|
18496
18496
|
openFilter(evt) {
|
18497
18497
|
const popupRef = this._popup.open(NotificationsFilterComponent, evt.target);
|
18498
18498
|
popupRef.opened().
|
@@ -18695,7 +18695,7 @@ class ContactsComponent {
|
|
18695
18695
|
ngOnInit() {
|
18696
18696
|
const me = this._session.userId;
|
18697
18697
|
this._prepare();
|
18698
|
-
this.users$ = this.searchControl.valueChanges.pipe(debounceTime(200), filter(v => isString(v)), takeUntil(this._destroy), switchMap(v => this._service.findAll(v)), map(us => us.filter(u => u.id !== me)));
|
18698
|
+
this.users$ = this.searchControl.valueChanges.pipe(debounceTime(200), filter$1(v => isString(v)), takeUntil(this._destroy), switchMap(v => this._service.findAll(v)), map(us => us.filter(u => u.id !== me)));
|
18699
18699
|
}
|
18700
18700
|
optionSelected(ev) {
|
18701
18701
|
const { value: id } = ev.option;
|
@@ -18886,7 +18886,7 @@ class ConversationComponent {
|
|
18886
18886
|
positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
|
18887
18887
|
});
|
18888
18888
|
oRef.attach(new TemplatePortal(this.previewTemplate, this._vc, { item }));
|
18889
|
-
merge(oRef.keydownEvents().pipe(filter(k => k.key === 'Escape')), oRef.backdropClick()).subscribe(() => oRef.detach());
|
18889
|
+
merge(oRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape')), oRef.backdropClick()).subscribe(() => oRef.detach());
|
18890
18890
|
}
|
18891
18891
|
ngOnDestroy() {
|
18892
18892
|
if (this._typingTask)
|
@@ -19403,18 +19403,18 @@ class OutOfOfficeToast {
|
|
19403
19403
|
this._accounts.get(data.substituteId).subscribe(u => this.substitute = u);
|
19404
19404
|
}
|
19405
19405
|
options() {
|
19406
|
-
this._router.navigate(['options', '
|
19406
|
+
this._router.navigate(['options'], { queryParams: { section: 'ooo' } });
|
19407
19407
|
this.dismiss();
|
19408
19408
|
}
|
19409
19409
|
dismiss() {
|
19410
19410
|
this._ref.dismiss();
|
19411
19411
|
}
|
19412
19412
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: OutOfOfficeToast, deps: [{ token: RouterImpl }, { token: AccountService }, { token: MAT_SNACK_BAR_DATA }, { token: i3.MatSnackBarRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
19413
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: OutOfOfficeToast, isStandalone: false, selector: "bizdoc-outofoffice", ngImport: i0, template: "@if (substitute) {\r\n <span
|
19413
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: OutOfOfficeToast, isStandalone: false, selector: "bizdoc-outofoffice", ngImport: i0, template: "<div matSnackBarLabel>\r\n @if (substitute) {\r\n <span [innerHTML]=\"'OutOfOfficeOn'|translate:substitute.name|sanitizeHtml\"></span>\r\n }\r\n</div>\r\n<div matSnackBarActions>\r\n <button mat-stroked-button matSnackBarAction (click)=\"options()\" color=\"warn\">{{'ChangeOptions'|translate}}</button>\r\n <button matSnackBarAction mat-icon-button (click)=\"dismiss()\" [bizdocTooltip]=\"'Dismiss'|translate\"><mat-icon>close</mat-icon></button>\r\n</div>\r\n", styles: ["div{flex-direction:row;box-sizing:border-box;display:flex;align-items:center}div span{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i3.MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: i3.MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "directive", type: i3.MatSnackBarAction, selector: "[matSnackBarAction]" }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
19414
19414
|
}
|
19415
19415
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: OutOfOfficeToast, decorators: [{
|
19416
19416
|
type: Component,
|
19417
|
-
args: [{ standalone: false, selector: 'bizdoc-outofoffice', template: "@if (substitute) {\r\n <span
|
19417
|
+
args: [{ standalone: false, selector: 'bizdoc-outofoffice', template: "<div matSnackBarLabel>\r\n @if (substitute) {\r\n <span [innerHTML]=\"'OutOfOfficeOn'|translate:substitute.name|sanitizeHtml\"></span>\r\n }\r\n</div>\r\n<div matSnackBarActions>\r\n <button mat-stroked-button matSnackBarAction (click)=\"options()\" color=\"warn\">{{'ChangeOptions'|translate}}</button>\r\n <button matSnackBarAction mat-icon-button (click)=\"dismiss()\" [bizdocTooltip]=\"'Dismiss'|translate\"><mat-icon>close</mat-icon></button>\r\n</div>\r\n", styles: ["div{flex-direction:row;box-sizing:border-box;display:flex;align-items:center}div span{flex:1 1 auto}\n"] }]
|
19418
19418
|
}], ctorParameters: () => [{ type: RouterImpl }, { type: AccountService }, { type: undefined, decorators: [{
|
19419
19419
|
type: Inject,
|
19420
19420
|
args: [MAT_SNACK_BAR_DATA]
|
@@ -19652,11 +19652,11 @@ class QuickNotificationsComponent extends NotificationsComponentBase {
|
|
19652
19652
|
this._service.mute(item.id, mute);
|
19653
19653
|
}
|
19654
19654
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: QuickNotificationsComponent, deps: [{ token: PopupRef }, { token: RouterImpl }], target: i0.ɵɵFactoryTarget.Component }); }
|
19655
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: QuickNotificationsComponent, isStandalone: false, selector: "bizdoc-notifications", usesInheritance: true, ngImport: i0, template: "<mat-
|
19655
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: QuickNotificationsComponent, isStandalone: false, selector: "bizdoc-notifications", usesInheritance: true, ngImport: i0, template: "<mat-list role=\"list\">\r\n <!--dense-->\r\n @for (n of notifications | sort: 'sent' : 'desc' | slice:0:9; track n.id; let i = $index) {\r\n <mat-list-item role=\"listitem\" class=\"item\" [class.read]=\"n.read\" (click)=\"open(n, $event)\">\r\n <h3 matListItemTitle><ng-container *ngComponentOutlet=\"n.comp; injector: n.injector\" ></ng-container></h3>\r\n <span matListItemLine [bizdocTooltip]=\"n.sent | amDateFormat: 'lll'\">{{n.sent | amTimeAgo }}</span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [matMenuTriggerData]=\"{muted: false}\"\r\n matListItemMeta class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <ng-template matMenuContent let-muted=\"muted\">\r\n <button mat-menu-item (click)=\"mute(n, true)\">{{ (!(muted | async) ? 'Mute': 'Unmute') | translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n </mat-list-item>\r\n }\r\n</mat-list>\r\n<div class=\"tools row\">\r\n <a (click)=\"all()\">{{'ShowAll'|translate}}</a> \r\n <span class=\"divider\"></span>\r\n <a (click)='options()'>{{'Options'|translate}}</a>\r\n</div>\r\n", styles: [".item .tool{opacity:.1}.item:hover .tool{opacity:1}.tools{font-variant-caps:all-small-caps;font-size:medium;padding:8px}\n"], dependencies: [{ kind: "directive", type: i9.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "component", type: i2$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$5.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i2$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2$5.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.SlicePipe, name: "slice" }, { kind: "pipe", type: DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: ArraySortPipe, name: "sort" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
19656
19656
|
}
|
19657
19657
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: QuickNotificationsComponent, decorators: [{
|
19658
19658
|
type: Component,
|
19659
|
-
args: [{ standalone: false, selector: 'bizdoc-notifications', template: "<mat-
|
19659
|
+
args: [{ standalone: false, selector: 'bizdoc-notifications', template: "<mat-list role=\"list\">\r\n <!--dense-->\r\n @for (n of notifications | sort: 'sent' : 'desc' | slice:0:9; track n.id; let i = $index) {\r\n <mat-list-item role=\"listitem\" class=\"item\" [class.read]=\"n.read\" (click)=\"open(n, $event)\">\r\n <h3 matListItemTitle><ng-container *ngComponentOutlet=\"n.comp; injector: n.injector\" ></ng-container></h3>\r\n <span matListItemLine [bizdocTooltip]=\"n.sent | amDateFormat: 'lll'\">{{n.sent | amTimeAgo }}</span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [matMenuTriggerData]=\"{muted: false}\"\r\n matListItemMeta class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <ng-template matMenuContent let-muted=\"muted\">\r\n <button mat-menu-item (click)=\"mute(n, true)\">{{ (!(muted | async) ? 'Mute': 'Unmute') | translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n </mat-list-item>\r\n }\r\n</mat-list>\r\n<div class=\"tools row\">\r\n <a (click)=\"all()\">{{'ShowAll'|translate}}</a> \r\n <span class=\"divider\"></span>\r\n <a (click)='options()'>{{'Options'|translate}}</a>\r\n</div>\r\n", styles: [".item .tool{opacity:.1}.item:hover .tool{opacity:1}.tools{font-variant-caps:all-small-caps;font-size:medium;padding:8px}\n"] }]
|
19660
19660
|
}], ctorParameters: () => [{ type: PopupRef }, { type: RouterImpl }] });
|
19661
19661
|
|
19662
19662
|
let DocumentListingComponent = class DocumentListingComponent {
|
@@ -21316,7 +21316,7 @@ class HomeComponent extends HomeBase {
|
|
21316
21316
|
this._collapseToggle = false;
|
21317
21317
|
this.displayWith = (_) => null;
|
21318
21318
|
this.profile = this._session.profile;
|
21319
|
-
_router.events.pipe(filter(e => e instanceof NavigationStart), filter((e) => e.pane.path !== undefined && e.pane.mode === 'pane')).
|
21319
|
+
_router.events.pipe(filter$1(e => e instanceof NavigationStart), filter$1((e) => e.pane.path !== undefined && e.pane.mode === 'pane')).
|
21320
21320
|
subscribe((e) => this._path = e.pane.path.split('/')[0]);
|
21321
21321
|
}
|
21322
21322
|
get submenuMode() {
|
@@ -21358,7 +21358,7 @@ class HomeComponent extends HomeBase {
|
|
21358
21358
|
return this.main?.panes[0]?.guide;
|
21359
21359
|
}
|
21360
21360
|
ngOnInit() {
|
21361
|
-
this.results = this.search.valueChanges.pipe(filter(v => isString(v)), map(v => this._service.search(v)));
|
21361
|
+
this.results = this.search.valueChanges.pipe(filter$1(v => isString(v)), map(v => this._service.search(v)));
|
21362
21362
|
super.ngOnInit();
|
21363
21363
|
}
|
21364
21364
|
/** options */
|
@@ -21546,7 +21546,7 @@ class CopyDialog {
|
|
21546
21546
|
constructor(_service, dialogRef) {
|
21547
21547
|
this._service = _service;
|
21548
21548
|
this.search = new FormControl();
|
21549
|
-
dialogRef.keydownEvents().pipe(filter(k => k.key === 'Enter')).
|
21549
|
+
dialogRef.keydownEvents().pipe(filter$1(k => k.key === 'Enter')).
|
21550
21550
|
subscribe(() => this.selectedItem && dialogRef.close(this.selectedItem));
|
21551
21551
|
}
|
21552
21552
|
ngOnInit() {
|
@@ -21858,7 +21858,7 @@ class ImpersonateDialog {
|
|
21858
21858
|
this._destroy = new Subject();
|
21859
21859
|
this.username = new FormControl(null, Validators.required);
|
21860
21860
|
this.recents$ = this._session.listImpersonate();
|
21861
|
-
this.users$ = this.username.valueChanges.pipe(debounceTime(250), takeUntil(this._destroy), filter(v => isString(v) && v.length > 0), switchMap(v => this._session.listImpersonate(v)));
|
21861
|
+
this.users$ = this.username.valueChanges.pipe(debounceTime(250), takeUntil(this._destroy), filter$1(v => isString(v) && v.length > 0), switchMap(v => this._session.listImpersonate(v)));
|
21862
21862
|
this.logging = false;
|
21863
21863
|
}
|
21864
21864
|
reset() {
|
@@ -22430,7 +22430,7 @@ class CubeMobileViewComponent extends ViewBase {
|
|
22430
22430
|
});
|
22431
22431
|
this._route.queryParams.pipe(takeUntil(this._destroy)).subscribe(p => this.originalAxes = p);
|
22432
22432
|
this.drawer.openedChange.
|
22433
|
-
pipe(filter(() => !this._navigating), takeUntil(this._destroy)).subscribe(() => this.viewPane.resize());
|
22433
|
+
pipe(filter$1(() => !this._navigating), takeUntil(this._destroy)).subscribe(() => this.viewPane.resize());
|
22434
22434
|
this._session.loaded.pipe(takeUntil(this._destroy)).
|
22435
22435
|
subscribe(() => this.viewPane.refresh());
|
22436
22436
|
const queryKeys = Object.keys(this._route.snapshot.queryParams);
|
@@ -23112,7 +23112,7 @@ class MapComponent {
|
|
23112
23112
|
});
|
23113
23113
|
infowindow.open(map, marker);
|
23114
23114
|
}, MARKER_DELAY);
|
23115
|
-
this._ref.keydownEvents().pipe(filter(k => k.key === 'Escape')).subscribe(() => this._ref.detach());
|
23115
|
+
this._ref.keydownEvents().pipe(filter$1(k => k.key === 'Escape')).subscribe(() => this._ref.detach());
|
23116
23116
|
this._ref.backdropClick().pipe().subscribe(() => this._ref.detach());
|
23117
23117
|
}
|
23118
23118
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: MapComponent, deps: [{ token: i2$3.OverlayRef }, { token: LOCATION_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
@@ -23189,7 +23189,7 @@ class CubeMatrixPopupComponent extends CubeMatrixBase {
|
|
23189
23189
|
this.originalAxes = base;
|
23190
23190
|
}
|
23191
23191
|
ngOnInit() {
|
23192
|
-
this.table.loadingChange.pipe(filter(ok => !ok), first()).subscribe({
|
23192
|
+
this.table.loadingChange.pipe(filter$1(ok => !ok), first()).subscribe({
|
23193
23193
|
next: () => this.preloading = false,
|
23194
23194
|
error: (e) => {
|
23195
23195
|
if (e.status === 401)
|
@@ -24604,7 +24604,7 @@ let ActionsWidget = class ActionsWidget {
|
|
24604
24604
|
}
|
24605
24605
|
_draw() {
|
24606
24606
|
this.chart?.destroy();
|
24607
|
-
this._loaded.pipe(takeUntil(this._destroy), delay(200), filter(v => v)).subscribe(() => this.chart = new AccumulationChart({
|
24607
|
+
this._loaded.pipe(takeUntil(this._destroy), delay(200), filter$1(v => v)).subscribe(() => this.chart = new AccumulationChart({
|
24608
24608
|
background: 'transparent',
|
24609
24609
|
legendSettings: this.legendSettings, enableAnimation: true,
|
24610
24610
|
tooltip: this.tooltip,
|
@@ -27925,7 +27925,7 @@ class CombinationPicker {
|
|
27925
27925
|
minWidth: `${el.nativeElement.getBoundingClientRect().width}px`,
|
27926
27926
|
panelClass: 'home-panel'
|
27927
27927
|
});
|
27928
|
-
merge(overlayRef.backdropClick(), overlayRef.keydownEvents().pipe(filter(e => e.key === 'Escape'), tap(e => e.stopPropagation()))).
|
27928
|
+
merge(overlayRef.backdropClick(), overlayRef.keydownEvents().pipe(filter$1(e => e.key === 'Escape'), tap(e => e.stopPropagation()))).
|
27929
27929
|
subscribe(() => this.close());
|
27930
27930
|
return overlayRef;
|
27931
27931
|
}
|
@@ -28552,7 +28552,7 @@ class QuickCommentComponent {
|
|
28552
28552
|
}
|
28553
28553
|
ngOnInit() {
|
28554
28554
|
this._textChange.pipe(debounceTime(TYPING_NOTIFY$1), takeUntil(this._destroy)).subscribe(() => this._mailbox.reportTyping(this.model.documentId).subscribe());
|
28555
|
-
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).
|
28555
|
+
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).
|
28556
28556
|
subscribe(e => {
|
28557
28557
|
this._accounts.get(e.userId).subscribe(u => {
|
28558
28558
|
this.typing = u.name;
|
@@ -31357,7 +31357,7 @@ class SharedModule {
|
|
31357
31357
|
PrivilegeHiddenDirective,
|
31358
31358
|
TaggingItemDirective, TaggingDirective, DocumentTaggingComponent, UserTaggingComponent,
|
31359
31359
|
PrivilegeDisabledDirective, CubeDocumentsGridComponent,
|
31360
|
-
LongRunningTaskNotification, TaggedNotification, CommentedNotification, NudgeNotification, InviteNotification,
|
31360
|
+
LongRunningTaskNotification, TaggedNotification, CommentedNotification, NudgeNotification, InviteNotification, ContentMessageNotification, TextNotification, CubeAnomalyNotification, EscalatedNotification, LikedNotification, StateChangedNotification, UpcomingEventNotification,
|
31361
31361
|
NoneComponent, ScheduleViewComponent,
|
31362
31362
|
OptionsComponent, TraceViewComponent,
|
31363
31363
|
ProgressDirective,
|
@@ -31550,7 +31550,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
31550
31550
|
PrivilegeHiddenDirective,
|
31551
31551
|
TaggingItemDirective, TaggingDirective, DocumentTaggingComponent, UserTaggingComponent,
|
31552
31552
|
PrivilegeDisabledDirective, CubeDocumentsGridComponent,
|
31553
|
-
LongRunningTaskNotification, TaggedNotification, CommentedNotification, NudgeNotification, InviteNotification,
|
31553
|
+
LongRunningTaskNotification, TaggedNotification, CommentedNotification, NudgeNotification, InviteNotification, ContentMessageNotification, TextNotification, CubeAnomalyNotification, EscalatedNotification, LikedNotification, StateChangedNotification, UpcomingEventNotification,
|
31554
31554
|
NoneComponent, ScheduleViewComponent,
|
31555
31555
|
OptionsComponent, TraceViewComponent,
|
31556
31556
|
ProgressDirective,
|
@@ -31836,7 +31836,7 @@ class TraceElementComponent {
|
|
31836
31836
|
});
|
31837
31837
|
}
|
31838
31838
|
chat(e) {
|
31839
|
-
const userId = e.target.getAttribute('data-
|
31839
|
+
const userId = e.target.getAttribute('data-userid');
|
31840
31840
|
userId &&
|
31841
31841
|
this._chat.open(userId);
|
31842
31842
|
}
|
@@ -31859,7 +31859,7 @@ class PositionsPopup {
|
|
31859
31859
|
this._destroy = new Subject();
|
31860
31860
|
}
|
31861
31861
|
ngOnInit() {
|
31862
|
-
this.users$ = this.control.valueChanges.pipe(debounceTime(200), takeUntil(this._destroy), filter(v => isString(v)), switchMap(v => this._service.findAll(v, { take: 20 })));
|
31862
|
+
this.users$ = this.control.valueChanges.pipe(debounceTime(200), takeUntil(this._destroy), filter$1(v => isString(v)), switchMap(v => this._service.findAll(v, { take: 20 })));
|
31863
31863
|
// this._pRef.backdropClick().subscribe(() => {
|
31864
31864
|
// this._pRef.close(this.dirty ? this.positions : null);
|
31865
31865
|
// });
|
@@ -31961,7 +31961,7 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
|
|
31961
31961
|
hasBackdrop: true,
|
31962
31962
|
panelClass: 'home-panel'
|
31963
31963
|
});
|
31964
|
-
merge(oRef.backdropClick(), oRef.keydownEvents().pipe(filter(k => k.key === 'Escape'))).pipe(takeUntil(this._destroy)).subscribe(() => oRef.detach());
|
31964
|
+
merge(oRef.backdropClick(), oRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape'))).pipe(takeUntil(this._destroy)).subscribe(() => oRef.detach());
|
31965
31965
|
}
|
31966
31966
|
_find(axes) {
|
31967
31967
|
const n = this.names.length;
|
@@ -33577,7 +33577,7 @@ let PositionsComponent = class PositionsComponent {
|
|
33577
33577
|
_openDialog(tmpl, form, values) {
|
33578
33578
|
form.reset(values);
|
33579
33579
|
const dialogRef = this._dialog.open(tmpl);
|
33580
|
-
dialogRef.keydownEvents().pipe(filter(k => k.key === 'Enter'), takeUntil(dialogRef.afterClosed())).
|
33580
|
+
dialogRef.keydownEvents().pipe(filter$1(k => k.key === 'Enter'), takeUntil(dialogRef.afterClosed())).
|
33581
33581
|
subscribe(() => form.valid && dialogRef.close(form.value));
|
33582
33582
|
return dialogRef.afterClosed().pipe(switchMap(v => v ? of(v) : EMPTY));
|
33583
33583
|
}
|
@@ -33934,7 +33934,7 @@ class ProfileSettingsDialog {
|
|
33934
33934
|
this.substitute.disable();
|
33935
33935
|
}
|
33936
33936
|
});
|
33937
|
-
this.ousers$ = this.substitute.valueChanges.pipe(takeUntil$1(this._dialogRef.afterClosed()), filter
|
33937
|
+
this.ousers$ = this.substitute.valueChanges.pipe(takeUntil$1(this._dialogRef.afterClosed()), filter(v => isString(v)), switchMap$1(v => this._accounts.findAll(v)), map$1(r => r.filter(u => u.id !== this.model.userId)));
|
33938
33938
|
from.valueChanges.pipe(takeUntil$1(this._dialogRef.afterClosed())).
|
33939
33939
|
subscribe(v => {
|
33940
33940
|
if (v)
|
@@ -33956,7 +33956,7 @@ class ProfileSettingsDialog {
|
|
33956
33956
|
this.grants.clearValidators();
|
33957
33957
|
}
|
33958
33958
|
});
|
33959
|
-
this.gusers$ = this.grants.valueChanges.pipe(takeUntil$1(this._dialogRef.afterClosed()), filter
|
33959
|
+
this.gusers$ = this.grants.valueChanges.pipe(takeUntil$1(this._dialogRef.afterClosed()), filter(v => isString(v)), switchMap$1(v => this._accounts.findAll(v)), map$1(r => r.filter(u => u.id !== this.model.userId)));
|
33960
33960
|
}
|
33961
33961
|
setId(event) {
|
33962
33962
|
const { id } = event.option.value;
|
@@ -34078,7 +34078,7 @@ let ProfilerComponent = class ProfilerComponent {
|
|
34078
34078
|
userId && this._open(userId);
|
34079
34079
|
});
|
34080
34080
|
this._pane.resized().pipe(takeUntil(this._destroy)).subscribe(() => this.chart?.chartResize());
|
34081
|
-
this.users$ = this.search.valueChanges.pipe(takeUntil(this._destroy), debounceTime(250), filter(v => isString(v)), switchMap(v => this._accounts.findAll(v)));
|
34081
|
+
this.users$ = this.search.valueChanges.pipe(takeUntil(this._destroy), debounceTime(250), filter$1(v => isString(v)), switchMap(v => this._accounts.findAll(v)));
|
34082
34082
|
}
|
34083
34083
|
guide(evt) {
|
34084
34084
|
const steps = [];
|
@@ -34407,7 +34407,7 @@ class IconPickerComponent {
|
|
34407
34407
|
else
|
34408
34408
|
this._list(IconPickerComponent.icons);
|
34409
34409
|
this.filter.valueChanges.
|
34410
|
-
pipe(takeUntil$1(this._destroy), filter
|
34410
|
+
pipe(takeUntil$1(this._destroy), filter(v => isString(v)), debounceTime$1(200)).
|
34411
34411
|
subscribe(v => this._list(IconPickerComponent.icons.filter(i => i.tags.findIndex(t => t.indexOf(v) > -1) > -1)));
|
34412
34412
|
}
|
34413
34413
|
_list(e) {
|
@@ -34440,7 +34440,7 @@ class IconPickerComponent {
|
|
34440
34440
|
});
|
34441
34441
|
const portal = new TemplatePortal(this.panel, this._vc);
|
34442
34442
|
this._overlayRef.attach(portal);
|
34443
|
-
merge(this._overlayRef.backdropClick(), this._overlayRef.keydownEvents().pipe(filter
|
34443
|
+
merge(this._overlayRef.backdropClick(), this._overlayRef.keydownEvents().pipe(filter(k => k.key === 'Escape'))).subscribe(() => this._overlayRef.detach());
|
34444
34444
|
}
|
34445
34445
|
_trackBy(index, el) {
|
34446
34446
|
return el.name;
|
@@ -38011,5 +38011,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
|
|
38011
38011
|
* Generated bundle index. Do not edit.
|
38012
38012
|
*/
|
38013
38013
|
|
38014
|
-
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeItemResolveService, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerCubeFilterComponent, DesignerModule, DesignerRef, DifferencePipe, DocumentFactory, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, JoinPipe, JsonPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NodeRef, NoneComponent, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, OptionsComponent, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, SpContainer, StateDirective, StatePipe, StickyToolbar, SubstitutionComponent, SwapAnimation, Tab, TagsComponent, TagsControlDesigner, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, VirtualTabs, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, getMonthList, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, playAudio, programName, registerComponents };
|
38014
|
+
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeItemResolveService, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerCubeFilterComponent, DesignerModule, DesignerRef, DifferencePipe, DocumentFactory, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, JoinPipe, JsonPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NodeRef, NoneComponent, NotificationRef, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, OptionsComponent, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, SpContainer, StateDirective, StatePipe, StickyToolbar, SubstitutionComponent, SwapAnimation, Tab, TagsComponent, TagsControlDesigner, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, VirtualTabs, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, getMonthList, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, playAudio, programName, registerComponents };
|
38015
38015
|
//# sourceMappingURL=bizdoc-core.mjs.map
|