@bizdoc/core 2.4.3 → 2.4.5
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/assets/bizdoc-schema.json +3 -0
- package/assets/themes/brown.min.css +1 -1
- package/assets/themes/dark.min.css +1 -1
- package/assets/themes/deep-purple-light-blue.min.css +2 -2
- package/assets/themes/deep-purple-teal.min.css +1 -1
- package/assets/themes/default.min.css +1 -1
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/esm2022/lib/compose/compose.pane.component.mjs +1 -1
- package/esm2022/lib/compose/form-ref.mjs +12 -21
- package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +11 -41
- package/esm2022/lib/compose/form.component.mjs +12 -14
- package/esm2022/lib/compose/new-menu.component.mjs +16 -43
- package/esm2022/lib/compose/overlay.component.exp.mjs +93 -0
- package/esm2022/lib/core/base.mjs +1 -1
- package/esm2022/lib/core/document-factory.service.mjs +136 -0
- package/esm2022/lib/core/info/document-info.service.mjs +1 -1
- package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
- package/esm2022/lib/core/inputs/select.input.mjs +5 -4
- package/esm2022/lib/core/mailbox.service.mjs +7 -7
- package/esm2022/lib/core/models.mjs +1 -1
- package/esm2022/lib/core/slots/slots.component.mjs +3 -3
- package/esm2022/lib/home/home.desktop.component.mjs +9 -37
- package/esm2022/lib/notifications/types/invite.notification.mjs +8 -8
- package/esm2022/lib/shared.module.mjs +7 -5
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/bizdoc-core.mjs +273 -167
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/compose/form-ref.d.ts +7 -12
- package/lib/compose/form-selector/form-selector.sheet.d.ts +4 -6
- package/lib/compose/form.component.d.ts +1 -0
- package/lib/compose/new-menu.component.d.ts +5 -10
- package/lib/compose/overlay.component.exp.d.ts +28 -0
- package/lib/core/base.d.ts +6 -1
- package/lib/core/document-factory.service.d.ts +28 -0
- package/lib/core/mailbox.service.d.ts +1 -1
- package/lib/core/models.d.ts +1 -0
- package/lib/home/home.desktop.component.d.ts +3 -4
- package/lib/notifications/types/invite.notification.d.ts +3 -3
- package/lib/shared.module.d.ts +203 -202
- package/package.json +1 -1
- package/public-api.d.ts +2 -1
package/fesm2022/bizdoc-core.mjs
CHANGED
@@ -133,6 +133,7 @@ import { UndoRedo, ConnectorBridging, ConnectorEditing, Snapping, Diagram, BpmnD
|
|
133
133
|
import { DiagramTools as DiagramTools$1, DiagramConstraints as DiagramConstraints$1, ConnectionPointOrigin, SnapConstraints, Diagram as Diagram$1, NodeConstraints as NodeConstraints$1, ComplexHierarchicalTreeService, DiagramModule, SymbolPaletteModule, ConnectorBridgingService, LineRoutingService, BpmnDiagramsService, LayoutAnimationService, UndoRedoService, SnappingService, ConnectorEditingService, LineDistributionService, ComplexHierarchicalTree, BpmnDiagrams as BpmnDiagrams$1, DataBinding, LineDistribution } from '@syncfusion/ej2-angular-diagrams';
|
134
134
|
import * as i5$3 from '@syncfusion/ej2-angular-schedule';
|
135
135
|
import { ScheduleModule, ExcelExportService as ExcelExportService$2, DayService, WorkWeekService, MonthService, MonthAgendaService, ICalendarExportService, AgendaService, YearService, Day, WorkWeek, Month, MonthAgenda, Agenda, Year, Schedule } from '@syncfusion/ej2-angular-schedule';
|
136
|
+
import { DIALOG_DATA } from '@angular/cdk/dialog';
|
136
137
|
import * as i10$2 from '@syncfusion/ej2-angular-kanban';
|
137
138
|
import { KanbanComponent, KanbanModule } from '@syncfusion/ej2-angular-kanban';
|
138
139
|
import * as i3$4 from '@syncfusion/ej2-angular-inputs';
|
@@ -5262,7 +5263,7 @@ class TypeAutocomplete {
|
|
5262
5263
|
}
|
5263
5264
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TypeAutocomplete, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i2$8.FocusMonitor }, { token: i0.ElementRef }, { token: SessionService }, { token: DatasourceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
5264
5265
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: TypeAutocomplete, selector: "bizdoc-autocomplete", inputs: { _type: ["type", "_type"], placeholder: "placeholder", text: "text", required: "required", disabled: "disabled", value: "value", minimumChars: "minimumChars", textFormControlName: "textFormControlName", textFormControl: "textFormControl" }, outputs: { textChange: "textChange", optionSelected: "optionSelected" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" }, classAttribute: "row" }, providers: [{ provide: MatFormFieldControl, useExisting: TypeAutocomplete }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "trigger", first: true, predicate: ["input"], descendants: true, read: MatAutocompleteTrigger, static: true }], ngImport: i0, template: `<input matInput [matAutocomplete]="auto" [placeholder]="placeholder" [formControl]="_control" #input
|
5265
|
-
(focus)="_onFocus()" (blur)="_onBlur()" [
|
5266
|
+
(focus)="_onFocus()" (blur)="_onBlur()" [required]="required"/>
|
5266
5267
|
<mat-autocomplete #auto (optionSelected)="_optionSelected($event)" [displayWith]='displayFn'>
|
5267
5268
|
@for (v of _items$ | async; track v) {
|
5268
5269
|
<mat-option [value]="v">
|
@@ -5285,7 +5286,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
5285
5286
|
selector: 'bizdoc-autocomplete',
|
5286
5287
|
providers: [{ provide: MatFormFieldControl, useExisting: TypeAutocomplete }],
|
5287
5288
|
template: `<input matInput [matAutocomplete]="auto" [placeholder]="placeholder" [formControl]="_control" #input
|
5288
|
-
(focus)="_onFocus()" (blur)="_onBlur()" [
|
5289
|
+
(focus)="_onFocus()" (blur)="_onBlur()" [required]="required"/>
|
5289
5290
|
<mat-autocomplete #auto (optionSelected)="_optionSelected($event)" [displayWith]='displayFn'>
|
5290
5291
|
@for (v of _items$ | async; track v) {
|
5291
5292
|
<mat-option [value]="v">
|
@@ -6565,7 +6566,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
6565
6566
|
|
6566
6567
|
const DOCUMENT_MODEL = new InjectionToken('model');
|
6567
6568
|
class MailboxService {
|
6568
|
-
constructor(_session, _auth,
|
6569
|
+
constructor(messaging, _session, _auth, _http) {
|
6569
6570
|
this._session = _session;
|
6570
6571
|
this._auth = _auth;
|
6571
6572
|
this._http = _http;
|
@@ -6924,13 +6925,13 @@ class MailboxService {
|
|
6924
6925
|
}
|
6925
6926
|
});
|
6926
6927
|
}
|
6927
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MailboxService, deps: [{ token:
|
6928
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MailboxService, deps: [{ token: HubService }, { token: SessionService }, { token: AuthenticationImpl }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
6928
6929
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MailboxService, providedIn: 'root' }); }
|
6929
6930
|
}
|
6930
6931
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MailboxService, decorators: [{
|
6931
6932
|
type: Injectable,
|
6932
6933
|
args: [{ providedIn: 'root' }]
|
6933
|
-
}], ctorParameters: () => [{ type:
|
6934
|
+
}], ctorParameters: () => [{ type: HubService }, { type: SessionService }, { type: AuthenticationImpl }, { type: i1.HttpClient }] });
|
6934
6935
|
function isHttpResponse(event) {
|
6935
6936
|
return event.type === HttpEventType.Response;
|
6936
6937
|
}
|
@@ -9351,10 +9352,8 @@ class FormRef {
|
|
9351
9352
|
constructor(_router, _configuration) {
|
9352
9353
|
this._router = _router;
|
9353
9354
|
this._configuration = _configuration;
|
9354
|
-
this.
|
9355
|
-
this.
|
9356
|
-
this._modelChange = new Subject();
|
9357
|
-
this._navigating = new Subject();
|
9355
|
+
this._stateChange$ = new Subject();
|
9356
|
+
this._create$ = new Subject();
|
9358
9357
|
this._help = _configuration.guide;
|
9359
9358
|
}
|
9360
9359
|
/** configuration options */
|
@@ -9362,23 +9361,12 @@ class FormRef {
|
|
9362
9361
|
return this._configuration.options || {};
|
9363
9362
|
}
|
9364
9363
|
get name() { return this._configuration.name; }
|
9365
|
-
/** intercept save */
|
9366
|
-
saving() {
|
9367
|
-
return this._saving.asObservable();
|
9368
|
-
}
|
9369
|
-
/** listen to page navigate events */
|
9370
|
-
navigating() {
|
9371
|
-
return this._navigating.asObservable();
|
9372
|
-
}
|
9373
|
-
modelChange() {
|
9374
|
-
return this._modelChange.asObservable();
|
9375
|
-
}
|
9376
9364
|
get mode() { return this._mode; }
|
9377
9365
|
/** user guide */
|
9378
9366
|
get help() { return this._help; }
|
9379
9367
|
set help(val) {
|
9380
9368
|
this._help = val;
|
9381
|
-
this._stateChange
|
9369
|
+
this._stateChange$.next();
|
9382
9370
|
}
|
9383
9371
|
/**
|
9384
9372
|
* navigate to a form page
|
@@ -9389,12 +9377,16 @@ class FormRef {
|
|
9389
9377
|
queryParams: { page },
|
9390
9378
|
});
|
9391
9379
|
}
|
9380
|
+
/**
|
9381
|
+
* Overlay form mode
|
9382
|
+
* @param model
|
9383
|
+
*/
|
9384
|
+
complete(model) {
|
9385
|
+
this._create$.next(model);
|
9386
|
+
}
|
9392
9387
|
/** release events */
|
9393
9388
|
_destroy() {
|
9394
|
-
this.
|
9395
|
-
this._stateChange.complete();
|
9396
|
-
this._modelChange.complete();
|
9397
|
-
this._navigating.complete();
|
9389
|
+
this._stateChange$.complete();
|
9398
9390
|
}
|
9399
9391
|
}
|
9400
9392
|
|
@@ -9502,8 +9494,7 @@ class ComposeFormComponent {
|
|
9502
9494
|
}
|
9503
9495
|
ngOnInit() {
|
9504
9496
|
this._fileElement.nativeElement.addEventListener('change', this._fileChangeListener.bind(this));
|
9505
|
-
this._messaging.callback$.pipe(takeUntil(this._destroy)).subscribe(e => this._instance.onMessage
|
9506
|
-
&& this._instance.onMessage(e.message));
|
9497
|
+
this._messaging.callback$.pipe(takeUntil(this._destroy)).subscribe(e => this._instance.onMessage && this._instance.onMessage(e.message));
|
9507
9498
|
this._messaging.editing$.pipe(takeUntil(this._destroy)).subscribe(e => e.id === this.model.id &&
|
9508
9499
|
this._editing(e.userId));
|
9509
9500
|
this._messaging.update$.pipe(takeUntil(this._destroy)).subscribe(e => {
|
@@ -9528,9 +9519,8 @@ class ComposeFormComponent {
|
|
9528
9519
|
});
|
9529
9520
|
}
|
9530
9521
|
ngOnChanges(changes) {
|
9531
|
-
if (changes['page'] && !changes['page'].firstChange)
|
9532
|
-
this.
|
9533
|
-
}
|
9522
|
+
if (changes['page'] && !changes['page'].firstChange)
|
9523
|
+
this._navPage(changes['page'].currentValue);
|
9534
9524
|
else {
|
9535
9525
|
this._formRef && this._formRef._destroy();
|
9536
9526
|
this.form = this._session.profile.forms.find(f => f.name === this.model.formId);
|
@@ -9539,7 +9529,7 @@ class ComposeFormComponent {
|
|
9539
9529
|
throw (`Form '${this.form.name}' model missing '[Template()]' attribute.`);
|
9540
9530
|
const comp = this._cf.component(this.form.template);
|
9541
9531
|
this._formRef = new FormRef(this._router, this.form);
|
9542
|
-
this._formRef._stateChange
|
9532
|
+
this._formRef._stateChange$.pipe(startWith()).
|
9543
9533
|
subscribe(() => this.help = this._formRef.help);
|
9544
9534
|
const injector = Injector.create({
|
9545
9535
|
providers: [
|
@@ -9555,7 +9545,7 @@ class ComposeFormComponent {
|
|
9555
9545
|
this._instance = componentRef.instance;
|
9556
9546
|
this._formRef._mode = this._instance.mode = this.mode;
|
9557
9547
|
this.page !== undefined &&
|
9558
|
-
this.
|
9548
|
+
this._navPage(this.page);
|
9559
9549
|
this._instance.form.statusChanges.pipe(takeUntil(this._destroy)).subscribe(() => {
|
9560
9550
|
const { dirty, valid } = this._instance.form;
|
9561
9551
|
this.dirty = dirty;
|
@@ -9572,6 +9562,11 @@ class ComposeFormComponent {
|
|
9572
9562
|
this._reset();
|
9573
9563
|
}
|
9574
9564
|
}
|
9565
|
+
_navPage(page) {
|
9566
|
+
if (!this._instance.onNavigate)
|
9567
|
+
throw 'Implement fomr onNavigate';
|
9568
|
+
this._instance.onNavigate(page);
|
9569
|
+
}
|
9575
9570
|
_fileChangeListener(ev) {
|
9576
9571
|
const { files } = ev.target, arr = [];
|
9577
9572
|
if (files && files.length) {
|
@@ -9688,10 +9683,7 @@ class ComposeFormComponent {
|
|
9688
9683
|
*/
|
9689
9684
|
save(feedback = true) {
|
9690
9685
|
this._applychanges();
|
9691
|
-
const saveArgs = { cancel: false };
|
9692
|
-
this._formRef._saving.next(saveArgs);
|
9693
|
-
if (saveArgs.cancel)
|
9694
|
-
return of(false);
|
9686
|
+
//const saveArgs = { cancel: false } as SaveEventArgs;
|
9695
9687
|
if (this._instance.onSave) {
|
9696
9688
|
const result = this._instance.onSave();
|
9697
9689
|
if (isBoolean(result)) {
|
@@ -9739,7 +9731,6 @@ class ComposeFormComponent {
|
|
9739
9731
|
}));
|
9740
9732
|
}
|
9741
9733
|
back() {
|
9742
|
-
this._formRef._navigating.next(undefined);
|
9743
9734
|
this._router.navigate([], {
|
9744
9735
|
queryParams: { page: undefined },
|
9745
9736
|
});
|
@@ -9872,7 +9863,6 @@ class ComposeFormComponent {
|
|
9872
9863
|
});
|
9873
9864
|
if (emitEvent !== false) {
|
9874
9865
|
this.modelChange.emit(this.model);
|
9875
|
-
this._formRef._modelChange.next(this.model);
|
9876
9866
|
}
|
9877
9867
|
}
|
9878
9868
|
ngOnDestroy() {
|
@@ -17465,10 +17455,210 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
17465
17455
|
args: [NOTIFICATION_DATA]
|
17466
17456
|
}] }, { type: AccountService }, { type: TranslateService }, { type: RouterImpl }, { type: SessionService }, { type: ChatInfo }] });
|
17467
17457
|
|
17468
|
-
class
|
17469
|
-
constructor(_router,
|
17458
|
+
class OverlayFormComponent {
|
17459
|
+
constructor(session, _router, _injector, _cf, _guide, _messaging, formId) {
|
17470
17460
|
this._router = _router;
|
17461
|
+
this._injector = _injector;
|
17462
|
+
this._cf = _cf;
|
17463
|
+
this._guide = _guide;
|
17464
|
+
this._messaging = _messaging;
|
17465
|
+
this.created$ = new Subject();
|
17466
|
+
this._destroy = new Subject();
|
17467
|
+
this.form = session.profile.forms.find(f => f.name === formId);
|
17468
|
+
}
|
17469
|
+
ngOnInit() {
|
17470
|
+
if (!this.form.template)
|
17471
|
+
throw (`Form '${this.form.name}' model missing '[Template()]' attribute.`);
|
17472
|
+
const comp = this._cf.component(this.form.template);
|
17473
|
+
this._formRef = new FormRef(this._router, this.form);
|
17474
|
+
// create on form event
|
17475
|
+
this._formRef._create$.pipe(takeUntil(this._destroy)).
|
17476
|
+
subscribe({
|
17477
|
+
next: m => {
|
17478
|
+
this.creating = true;
|
17479
|
+
this.created$.next(m);
|
17480
|
+
},
|
17481
|
+
error: this.created$.error.bind(this)
|
17482
|
+
});
|
17483
|
+
const injector = Injector.create({
|
17484
|
+
providers: [
|
17485
|
+
{
|
17486
|
+
provide: FormRef, useValue: this._formRef
|
17487
|
+
}
|
17488
|
+
], parent: this._injector
|
17489
|
+
});
|
17490
|
+
const componentRef = this.container.createComponent(comp, { injector });
|
17491
|
+
const instance = componentRef.instance;
|
17492
|
+
this._formRef._mode = instance.mode = 'overlay';
|
17493
|
+
// callback
|
17494
|
+
this._messaging.callback$.pipe(takeUntil(this._destroy)).subscribe(e => instance.onMessage && instance.onMessage(e.message));
|
17495
|
+
}
|
17496
|
+
guide() {
|
17497
|
+
this._guide.start(this.form.guide);
|
17498
|
+
}
|
17499
|
+
ngOnDestroy() {
|
17500
|
+
this.created$.unsubscribe();
|
17501
|
+
this._destroy.next();
|
17502
|
+
}
|
17503
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OverlayFormComponent, deps: [{ token: SessionService }, { token: RouterImpl }, { token: i0.Injector }, { token: BizDocComponentFactoryResolver }, { token: GuideService }, { token: HubService }, { token: DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
17504
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: OverlayFormComponent, selector: "ng-component", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
|
17505
|
+
<h1 class="mat-h1 row">{{form.title}}
|
17506
|
+
@if(form.guide) {
|
17507
|
+
<span class="divider"></span>
|
17508
|
+
<button mat-icon-button (click)="guide()" [bizdocTooltip]="'Help'|translate"><mat-icon>support</mat-icon></button>
|
17509
|
+
}
|
17510
|
+
</h1>
|
17511
|
+
<hr />
|
17512
|
+
<mat-progress-bar mode="indeterminate" [style.visibility]="creating ? 'visible':'hidden'"></mat-progress-bar>
|
17513
|
+
<ng-container #container></ng-container>`, isInline: true, styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.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" }] }); }
|
17514
|
+
}
|
17515
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OverlayFormComponent, decorators: [{
|
17516
|
+
type: Component,
|
17517
|
+
args: [{ template: `
|
17518
|
+
<h1 class="mat-h1 row">{{form.title}}
|
17519
|
+
@if(form.guide) {
|
17520
|
+
<span class="divider"></span>
|
17521
|
+
<button mat-icon-button (click)="guide()" [bizdocTooltip]="'Help'|translate"><mat-icon>support</mat-icon></button>
|
17522
|
+
}
|
17523
|
+
</h1>
|
17524
|
+
<hr />
|
17525
|
+
<mat-progress-bar mode="indeterminate" [style.visibility]="creating ? 'visible':'hidden'"></mat-progress-bar>
|
17526
|
+
<ng-container #container></ng-container>`, host: {}, styles: [":host{display:flex;flex-direction:column}\n"] }]
|
17527
|
+
}], ctorParameters: () => [{ type: SessionService }, { type: RouterImpl }, { type: i0.Injector }, { type: BizDocComponentFactoryResolver }, { type: GuideService }, { type: HubService }, { type: undefined, decorators: [{
|
17528
|
+
type: Inject,
|
17529
|
+
args: [DIALOG_DATA]
|
17530
|
+
}] }], propDecorators: { container: [{
|
17531
|
+
type: ViewChild,
|
17532
|
+
args: ['container', { static: true, read: ViewContainerRef }]
|
17533
|
+
}] } });
|
17534
|
+
|
17535
|
+
class DocumentFactory {
|
17536
|
+
constructor(_session, _mailbox, _ps, _overlay, _dir, _router) {
|
17537
|
+
this._session = _session;
|
17471
17538
|
this._mailbox = _mailbox;
|
17539
|
+
this._ps = _ps;
|
17540
|
+
this._overlay = _overlay;
|
17541
|
+
this._dir = _dir;
|
17542
|
+
this._router = _router;
|
17543
|
+
}
|
17544
|
+
create(formId) {
|
17545
|
+
const form = this._session.profile.forms.find(f => f.name == formId);
|
17546
|
+
return new Observable(observe => {
|
17547
|
+
switch (form.mode) {
|
17548
|
+
case 'Overlay':
|
17549
|
+
const overlayRef = this._overlay.create({
|
17550
|
+
positionStrategy: this._overlay.position().global().
|
17551
|
+
centerHorizontally().centerVertically(),
|
17552
|
+
hasBackdrop: true,
|
17553
|
+
height: '90vh',
|
17554
|
+
width: '90vw',
|
17555
|
+
direction: this._dir.value,
|
17556
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
17557
|
+
panelClass: 'home-panel'
|
17558
|
+
});
|
17559
|
+
const injector = Injector.create({
|
17560
|
+
providers: [
|
17561
|
+
{
|
17562
|
+
provide: DIALOG_DATA,
|
17563
|
+
useValue: formId
|
17564
|
+
}
|
17565
|
+
]
|
17566
|
+
});
|
17567
|
+
const portal = new ComponentPortal(OverlayFormComponent, null, injector);
|
17568
|
+
const compRef = overlayRef.attach(portal);
|
17569
|
+
compRef.instance.created$.
|
17570
|
+
subscribe(m => {
|
17571
|
+
if (m !== false)
|
17572
|
+
this._mailbox.create(formId, m).subscribe({
|
17573
|
+
next: d => {
|
17574
|
+
observe.next(d);
|
17575
|
+
},
|
17576
|
+
error: e => {
|
17577
|
+
this._error(e);
|
17578
|
+
overlayRef.detach();
|
17579
|
+
observe.error();
|
17580
|
+
},
|
17581
|
+
complete: () => {
|
17582
|
+
overlayRef.detach();
|
17583
|
+
observe.complete();
|
17584
|
+
}
|
17585
|
+
});
|
17586
|
+
else {
|
17587
|
+
observe.error();
|
17588
|
+
overlayRef.detach();
|
17589
|
+
}
|
17590
|
+
});
|
17591
|
+
merge(overlayRef.backdropClick(), overlayRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape'))).
|
17592
|
+
subscribe(() => {
|
17593
|
+
observe.error();
|
17594
|
+
overlayRef.detach();
|
17595
|
+
});
|
17596
|
+
default:
|
17597
|
+
this._mailbox.create(formId).subscribe({
|
17598
|
+
next: m => observe.next(m),
|
17599
|
+
error: e => {
|
17600
|
+
this._error(e);
|
17601
|
+
observe.error();
|
17602
|
+
},
|
17603
|
+
complete: () => observe.complete()
|
17604
|
+
});
|
17605
|
+
}
|
17606
|
+
});
|
17607
|
+
}
|
17608
|
+
_nav(item) {
|
17609
|
+
this._router.navigate(['mailbox/i', item.id.encodeId()], {
|
17610
|
+
policy: OpenPolicy.Clear,
|
17611
|
+
state: { item }
|
17612
|
+
});
|
17613
|
+
}
|
17614
|
+
copy(documentId) {
|
17615
|
+
return new Observable(observe => this._mailbox.copy(documentId).
|
17616
|
+
subscribe({
|
17617
|
+
next: d => {
|
17618
|
+
this._ps.toast('Copied', d.number);
|
17619
|
+
observe.next();
|
17620
|
+
}, error: e => {
|
17621
|
+
this._error(e);
|
17622
|
+
observe.error();
|
17623
|
+
},
|
17624
|
+
complete: () => observe.complete()
|
17625
|
+
}));
|
17626
|
+
}
|
17627
|
+
/**
|
17628
|
+
* Handle http error response
|
17629
|
+
* @param e
|
17630
|
+
*/
|
17631
|
+
_error(e) {
|
17632
|
+
if (e.constructor.name === 'PositionError')
|
17633
|
+
switch (e.code) {
|
17634
|
+
case 1:
|
17635
|
+
this._ps.error('UserDeniedGeoErr');
|
17636
|
+
break;
|
17637
|
+
default:
|
17638
|
+
this._ps.error('GeoErr');
|
17639
|
+
}
|
17640
|
+
else
|
17641
|
+
switch (e.status) {
|
17642
|
+
case 406: // server ValidationException thrown
|
17643
|
+
const message = e.error;
|
17644
|
+
this._ps.errorString(message);
|
17645
|
+
break;
|
17646
|
+
default:
|
17647
|
+
this._ps.error();
|
17648
|
+
}
|
17649
|
+
}
|
17650
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentFactory, deps: [{ token: SessionService }, { token: MailboxService }, { token: PromptService }, { token: i1$1.Overlay }, { token: i1$3.Directionality }, { token: RouterImpl }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
17651
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentFactory, providedIn: 'root' }); }
|
17652
|
+
}
|
17653
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DocumentFactory, decorators: [{
|
17654
|
+
type: Injectable,
|
17655
|
+
args: [{ providedIn: 'root' }]
|
17656
|
+
}], ctorParameters: () => [{ type: SessionService }, { type: MailboxService }, { type: PromptService }, { type: i1$1.Overlay }, { type: i1$3.Directionality }, { type: RouterImpl }] });
|
17657
|
+
|
17658
|
+
class InviteNotification {
|
17659
|
+
constructor(_router, _factory, session, translate, notification) {
|
17660
|
+
this._router = _router;
|
17661
|
+
this._factory = _factory;
|
17472
17662
|
this.notification = notification;
|
17473
17663
|
const form = session.profile.forms.find(f => f.name == notification.formId);
|
17474
17664
|
this.message = notification.message ||
|
@@ -17484,17 +17674,17 @@ class InviteNotification {
|
|
17484
17674
|
if (this.notification.recipientId)
|
17485
17675
|
this._router.navigate(['mailbox/i', this.notification.recipientId.encodeId()]);
|
17486
17676
|
else
|
17487
|
-
this.
|
17677
|
+
this._factory.create(this.notification.formId).subscribe(m => {
|
17488
17678
|
this._router.navigate(['mailbox/i', m.id.encodeId()]);
|
17489
17679
|
});
|
17490
17680
|
}
|
17491
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: InviteNotification, deps: [{ token: RouterImpl }, { token:
|
17681
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: InviteNotification, deps: [{ token: RouterImpl }, { token: DocumentFactory }, { token: SessionService }, { token: TranslateService }, { token: NOTIFICATION_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
17492
17682
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: InviteNotification, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span [innerHTML]="message"></span>`, isInline: true }); }
|
17493
17683
|
}
|
17494
17684
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: InviteNotification, decorators: [{
|
17495
17685
|
type: Component,
|
17496
17686
|
args: [{ template: `<span [innerHTML]="message"></span>` }]
|
17497
|
-
}], ctorParameters: () => [{ type: RouterImpl }, { type:
|
17687
|
+
}], ctorParameters: () => [{ type: RouterImpl }, { type: DocumentFactory }, { type: SessionService }, { type: TranslateService }, { type: undefined, decorators: [{
|
17498
17688
|
type: Inject,
|
17499
17689
|
args: [NOTIFICATION_DATA]
|
17500
17690
|
}] }], propDecorators: { open: [{
|
@@ -19992,7 +20182,7 @@ class SlotsComponent {
|
|
19992
20182
|
this._destroy.complete();
|
19993
20183
|
}
|
19994
20184
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SlotsComponent, deps: [{ token: PANES_DATA }, { token: SessionService }, { token: i0.ChangeDetectorRef }, { token: PanesRouter }, { token: WindowTitleService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
19995
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: { dialogChange: "dialogChange" }, host: { listeners: { "document:keydown": "handleKeydown($event)", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panesEl"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabsEl"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane-content\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon> \n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{position:sticky;cursor:pointer;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane-content{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane-content>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"], dependencies: [{ kind: "directive", type: i5$5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i7$3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i7$3.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i7$3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.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" }], animations: [
|
20185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: { dialogChange: "dialogChange" }, host: { listeners: { "document:keydown": "handleKeydown($event)", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panesEl"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabsEl"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane-content\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon> \n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{position:sticky;cursor:pointer;align-self:center;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane-content{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane-content>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"], dependencies: [{ kind: "directive", type: i5$5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i7$3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i7$3.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i7$3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.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" }], animations: [
|
19996
20186
|
panesAnimation,
|
19997
20187
|
paneAnimation,
|
19998
20188
|
paramAnimation,
|
@@ -20010,7 +20200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
20010
20200
|
queryAnimation,
|
20011
20201
|
tabsAnimation,
|
20012
20202
|
tabAnimation
|
20013
|
-
], template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane-content\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon> \n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{position:sticky;cursor:pointer;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane-content{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane-content>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"] }]
|
20203
|
+
], template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane-content\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon> \n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{position:sticky;cursor:pointer;align-self:center;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane-content{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane-content>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"] }]
|
20014
20204
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
20015
20205
|
type: Inject,
|
20016
20206
|
args: [PANES_DATA]
|
@@ -20482,21 +20672,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
20482
20672
|
|
20483
20673
|
const DEBOUNCE_SEARCH_TIME = 200;
|
20484
20674
|
class ComposeMenuComponent {
|
20485
|
-
constructor(_session, _mailbox,
|
20675
|
+
constructor(_session, _mailbox, _factory, _router) {
|
20486
20676
|
this._session = _session;
|
20487
20677
|
this._mailbox = _mailbox;
|
20488
|
-
this.
|
20678
|
+
this._factory = _factory;
|
20489
20679
|
this._router = _router;
|
20490
20680
|
this.change = new EventEmitter();
|
20491
20681
|
this.search = new FormControl(null);
|
20492
20682
|
this._destroy = new Subject();
|
20493
|
-
this._working = new Subject();
|
20683
|
+
this._working$ = new Subject();
|
20494
20684
|
this.defaultgroup = { forms: [] };
|
20495
20685
|
this.groups = [];
|
20496
20686
|
}
|
20497
20687
|
ngOnInit() {
|
20498
20688
|
this.items = this.search.valueChanges.pipe(takeUntil(this._destroy), debounceTime(DEBOUNCE_SEARCH_TIME), switchMap(v => this._mailbox.findAll(v ? { contains: v } : { type: 'recent' }, { take: 5 })));
|
20499
|
-
this._working
|
20689
|
+
this._working$.pipe(takeUntil(this._destroy), debounceTime(200)).subscribe(v => this.working = v);
|
20500
20690
|
this._session.profile.forms.forEach(f => {
|
20501
20691
|
if (!f.creatable)
|
20502
20692
|
return;
|
@@ -20515,27 +20705,23 @@ class ComposeMenuComponent {
|
|
20515
20705
|
});
|
20516
20706
|
}
|
20517
20707
|
clear() { this.search.setValue(null); }
|
20518
|
-
create(
|
20519
|
-
this._working
|
20520
|
-
this.
|
20708
|
+
create(formId) {
|
20709
|
+
this._working$.next(true);
|
20710
|
+
this._factory.create(formId).subscribe({
|
20521
20711
|
next: i => this._nav(i),
|
20522
|
-
|
20523
|
-
complete: () => this._working.next(false)
|
20712
|
+
complete: () => this._working$.next(false)
|
20524
20713
|
});
|
20525
20714
|
}
|
20526
20715
|
copy(item) {
|
20527
|
-
this._working
|
20716
|
+
this._working$.next(true);
|
20528
20717
|
this.search.disable();
|
20529
|
-
this.
|
20718
|
+
this._factory.copy(item.documentId).
|
20530
20719
|
subscribe({
|
20531
20720
|
next: i => {
|
20532
|
-
this.
|
20533
|
-
this._ps.toast('Copied', i.number);
|
20721
|
+
this.clear();
|
20534
20722
|
this._nav(i);
|
20535
|
-
}, error: e => {
|
20536
|
-
this._error(e);
|
20537
20723
|
}, complete: () => {
|
20538
|
-
this._working
|
20724
|
+
this._working$.next(false);
|
20539
20725
|
this.search.enable();
|
20540
20726
|
}
|
20541
20727
|
});
|
@@ -20547,40 +20733,17 @@ class ComposeMenuComponent {
|
|
20547
20733
|
state: { item }
|
20548
20734
|
});
|
20549
20735
|
}
|
20550
|
-
/**
|
20551
|
-
* Handle http error response
|
20552
|
-
* @param e
|
20553
|
-
*/
|
20554
|
-
_error(e) {
|
20555
|
-
if (e.constructor.name === 'PositionError')
|
20556
|
-
switch (e.code) {
|
20557
|
-
case 1:
|
20558
|
-
this._ps.error('UserDeniedGeoErr');
|
20559
|
-
break;
|
20560
|
-
default:
|
20561
|
-
this._ps.error('GeoErr');
|
20562
|
-
}
|
20563
|
-
else
|
20564
|
-
switch (e.status) {
|
20565
|
-
case 406: // server ValidationException thrown
|
20566
|
-
const message = e.error;
|
20567
|
-
this._ps.errorString(message);
|
20568
|
-
break;
|
20569
|
-
default:
|
20570
|
-
this._ps.error();
|
20571
|
-
}
|
20572
|
-
}
|
20573
20736
|
ngOnDestroy() {
|
20574
20737
|
this._destroy.next();
|
20575
20738
|
this._destroy.complete();
|
20576
20739
|
}
|
20577
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ComposeMenuComponent, deps: [{ token: SessionService }, { token: MailboxService }, { token:
|
20740
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ComposeMenuComponent, deps: [{ token: SessionService }, { token: MailboxService }, { token: DocumentFactory }, { token: PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
|
20578
20741
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: { change: "change" }, ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\n<div class=\"container\">\n <h1 class=\"mat-h1\">{{'New'|translate}}</h1>\n <!--<span class=\"mat-subheader\">BizDoc</span>-->\n\n <mat-nav-list dense>\n @for (f of defaultgroup.forms; track f) {\n <mat-list-item (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n @for (g of groups; track g; let index = $index) {\n @if (index) {\n <mat-divider></mat-divider>\n }\n <h3 mat-subheader>{{g.title}}</h3>\n @for (f of g.forms; track f) {\n <mat-list-item (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n</div>\n<!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\n", styles: ["h1{font-weight:500;margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], dependencies: [{ kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$4.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [] }); }
|
20579
20742
|
}
|
20580
20743
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ComposeMenuComponent, decorators: [{
|
20581
20744
|
type: Component,
|
20582
20745
|
args: [{ selector: 'bizdoc-new-menu', animations: [], template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\n<div class=\"container\">\n <h1 class=\"mat-h1\">{{'New'|translate}}</h1>\n <!--<span class=\"mat-subheader\">BizDoc</span>-->\n\n <mat-nav-list dense>\n @for (f of defaultgroup.forms; track f) {\n <mat-list-item (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n @for (g of groups; track g; let index = $index) {\n @if (index) {\n <mat-divider></mat-divider>\n }\n <h3 mat-subheader>{{g.title}}</h3>\n @for (f of g.forms; track f) {\n <mat-list-item (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n <span matListItemTitle>{{f.title}}</span>\n </mat-list-item>\n }\n }\n </mat-nav-list>\n</div>\n<!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\n", styles: ["h1{font-weight:500;margin:0 16px}form{padding:8px}hr{opacity:.4}\n"] }]
|
20583
|
-
}], ctorParameters: () => [{ type: SessionService }, { type: MailboxService }, { type:
|
20746
|
+
}], ctorParameters: () => [{ type: SessionService }, { type: MailboxService }, { type: DocumentFactory }, { type: PanesRouter }], propDecorators: { change: [{
|
20584
20747
|
type: Output
|
20585
20748
|
}] } });
|
20586
20749
|
|
@@ -20630,13 +20793,13 @@ class HomeComponent extends HomeBase {
|
|
20630
20793
|
this._pinned = value;
|
20631
20794
|
this._is('pinned', value);
|
20632
20795
|
}
|
20633
|
-
constructor(_router, _service, _mailbox,
|
20796
|
+
constructor(_router, _service, _mailbox, _factory, _popup, _guide, injector, session, messaging, translate, snackBar, config) {
|
20634
20797
|
super(session, messaging, translate, snackBar, injector, config);
|
20635
20798
|
this._router = _router;
|
20636
20799
|
this._service = _service;
|
20637
20800
|
this._mailbox = _mailbox;
|
20801
|
+
this._factory = _factory;
|
20638
20802
|
this._popup = _popup;
|
20639
|
-
this._sb = _sb;
|
20640
20803
|
this._guide = _guide;
|
20641
20804
|
this.sysAdmin = this._session.isSystem;
|
20642
20805
|
this.forms = this._session.profile.forms.filter(f => f.creatable);
|
@@ -20688,44 +20851,16 @@ class HomeComponent extends HomeBase {
|
|
20688
20851
|
}
|
20689
20852
|
_create() {
|
20690
20853
|
this.creating = true;
|
20691
|
-
this.
|
20854
|
+
this._factory.create(this.forms[0].name).
|
20692
20855
|
subscribe({
|
20693
20856
|
next: r => {
|
20694
|
-
this.creating = false;
|
20695
20857
|
this._router.navigate(['mailbox/i', r.id.encodeId()], {
|
20696
20858
|
policy: OpenPolicy.Clear,
|
20697
20859
|
state: { item: r }
|
20698
20860
|
});
|
20699
|
-
},
|
20700
|
-
this._handleErr(e);
|
20701
|
-
this.creating = false;
|
20702
|
-
}
|
20861
|
+
}, complete: () => this.creating = false
|
20703
20862
|
});
|
20704
20863
|
}
|
20705
|
-
_handleErr(response) {
|
20706
|
-
if (response.constructor.name === 'PositionError')
|
20707
|
-
switch (response.code) {
|
20708
|
-
case 1:
|
20709
|
-
this._sb.error('UserDeniedGeoErr');
|
20710
|
-
break;
|
20711
|
-
default:
|
20712
|
-
this._sb.error('GeoErr');
|
20713
|
-
}
|
20714
|
-
else
|
20715
|
-
switch (response.status) {
|
20716
|
-
case 401:
|
20717
|
-
this._sb.error('Unauthorized');
|
20718
|
-
break;
|
20719
|
-
case 406:
|
20720
|
-
this._sb.errorString(response.error);
|
20721
|
-
break;
|
20722
|
-
case 426: // license
|
20723
|
-
this._sb.error('LicenseErr');
|
20724
|
-
break;
|
20725
|
-
default:
|
20726
|
-
this._sb.error();
|
20727
|
-
}
|
20728
|
-
}
|
20729
20864
|
opensubmenu(menu) {
|
20730
20865
|
if (this.submenu === menu)
|
20731
20866
|
this.submenuMode = this.submenuMode === 'full' ? 'shrink' : 'full';
|
@@ -20836,13 +20971,13 @@ class HomeComponent extends HomeBase {
|
|
20836
20971
|
const item = evt.option.value;
|
20837
20972
|
item.instance.onPick();
|
20838
20973
|
}
|
20839
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: HomeComponent, deps: [{ token: PanesRouter }, { token: SearchService }, { token: MailboxService }, { token:
|
20974
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: HomeComponent, deps: [{ token: PanesRouter }, { token: SearchService }, { token: MailboxService }, { token: DocumentFactory }, { token: Popup }, { token: GuideService }, { token: i0.Injector }, { token: SessionService }, { token: HubService }, { token: TranslateService }, { token: i3.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
20840
20975
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "main", first: true, predicate: SlotsComponent, descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "trigger", first: true, predicate: ["input"], descendants: true, read: MatAutocompleteTrigger }], usesInheritance: true, ngImport: i0, template: "<!-- menu -->\n<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\n [class.dialog]=\"dialog\"\n class=\"nav-menu row\">\n <div class=\"column\">\n <div>\n @if (forms.length) {\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\">\n <button mat-raised-button\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n (click)=\"opennew()\" [disabled]=\"creating\"\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\n <mat-icon>add</mat-icon>\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\n </button>\n </div>\n }\n <mat-nav-list>\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\n data-help=\"dashboard\"\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon>apps</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n [class.active]=\"activeMenu === 'mailbox'\"\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-icon matListItemIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\" aria-hidden=\"false\">inbox</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Mailbox' | translate}}</span>\n </mat-list-item>\n @if (schedulerEnabled) {\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\"\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\" matListItemTitle>{{ 'Scheduler' | translate}}</span>\n </mat-list-item>\n }\n @if (chatEnabled) {\n <mat-list-item data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">chat</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{ 'Chat' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis && profile.cubes.length) {\n <mat-list-item (click)=\"opensubmenu('cube')\"\n [class.active]=\"activeMenu === 'cube'\"\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\n <mat-icon matListItemIcon>equalizer</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Cube' | translate}}</span>\n </mat-list-item>\n }\n @if (profile.reports.length) {\n <mat-list-item (click)=\"opensubmenu('reports')\"\n [class.active]=\"activeMenu === 'reports'\"\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-icon matListItemIcon>list_alt</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Reports' | translate}}</span>\n </mat-list-item>\n }\n @if (sysAdmin) {\n <mat-divider></mat-divider>\n <mat-list-item (click)=\"opensubmenu('admin')\"\n [class.active]=\"activeMenu === 'admin'\"\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\n <mat-icon matListItemIcon>device_hub</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Workflow' | translate}}</span>\n </mat-list-item>\n }\n </mat-nav-list>\n </div>\n <span class=\"divider\"></span>\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\n <div class=\"sign-in\">\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\n </button>\n <span class=\"divider\"></span>\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\n </button>\n </div>\n </div>\n <!-- -->\n @if (submenu) {\n <div class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\n @if (submenu !== 'new') {\n <div class=\"action\">\n <button mat-icon-button (click)=\"togglePinned()\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">{{pinned ? 'push_pin' : 'menu'}}</mat-icon></button>\n </div>\n }\n @switch (submenu) {\n @case ('new') {\n <bizdoc-new-menu (change)=\"closesubmenu()\"></bizdoc-new-menu>\n }\n @case ('mailbox') {\n <bizdoc-folders-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\n }\n @case ('admin') {\n <bizdoc-admin-menu [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\n }\n @case ('reports') {\n <bizdoc-reports-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\n }\n @case ('cube') {\n <bizdoc-cube-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\n }\n }\n </div>\n }\n @if (dialog) {\n <div class=\"backdrop\"></div>\n }\n</div>\n<div class=\"main\">\n <!-- title -->\n <div class=\"row header\" [@title]=\"main.titleVariant\">\n <h1>\n @if (main.swap) {\n <button mat-icon-button (click)=\"main.back()\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\n }\n @for (p of main.panes; track p; let first = $first) {\n @if (!first) {\n <span class=\"breadcrumbs\">\\</span>\n }\n {{p.title}}\n }\n @if (main.panes[0]?.guide) {\n <button mat-icon-button (click)=\"guide(main.panes[0].guide)\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\n }\n </h1>\n <span class=\"divider\">\n </span>\n <!--search-->\n <input type=\"text\"\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"\n #input\n (keydown.escape)=\"collapse($event)\"\n [attr.aria-label]=\"'Search'|translate\"\n [formControl]=\"search\"\n [matAutocomplete]=\"auto\" class=\"search-box\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"goto($event)\" [displayWith]=\"displayWith\">\n @for (o of results | async; track o) {\n <mat-option [value]=\"o\">\n <ng-container (attached)=\"onAttached(o, $event)\" [cdkPortalOutlet]=\"o.portal\"></ng-container>\n </mat-option>\n }\n </mat-autocomplete>\n <button mat-icon-button (click)=\"toggle($event)\" [bizdocTooltip]=\"'Search'|translate\" class=\"tool\"><mat-icon>search</mat-icon></button>\n <!--notifications-->\n <button mat-icon-button (click)=\"notifs($event)\" [bizdocTooltip]=\"'Notifications'|translate\" bizdocTooltipPosition=\"start\" class=\"tool\"\n [attr.aria-label]=\"'Notifications'| translate\"\n data-help=\"notifications\">\n <mat-icon matListItemIcon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\"\n matBadgeColor=\"accent\" aria-hidden=\"false\"\n [class.filled]=\"profile.notificationsCount\">\n {{profile.options.notifications.active ? 'notifications':'notifications_off'}}\n </mat-icon>\n </button>\n </div>\n <!--panes & tabs-->\n <bizdoc-panes-outlet (dialogChange)=\"dialog = $event\" #main></bizdoc-panes-outlet>\n</div>\n", styles: [":host{display:flex;height:100%}::ng-deep .nav-collapsed .mdc-list-item{padding-right:0}::ng-deep [dir=rtl] .nav-collapsed .mdc-list-item{padding-left:0}.nav-menu{z-index:1}.nav-menu .sub-menu{min-width:210px;display:block;z-index:1;overflow-x:hidden;align-self:stretch}.nav-menu .sub-menu .action{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0;text-align:center}.nav-menu .new-container button{min-width:35px;padding:0 14px;height:40px}.nav-menu .new-container button .mat-icon{margin-right:2px;margin-left:2px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;overflow:hidden;margin-bottom:5px;align-items:baseline}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}.main{flex:1;overflow-x:hidden;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.main .header{align-items:center;min-width:max-content}.main .header h1{font-size:xx-large;margin:12px;font-weight:100}.main .header h1 button{vertical-align:middle}.main .header h1 .breadcrumbs{font-size:smaller}.main .header .search-box{font-size:large}\n"], dependencies: [{ 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i4$1.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$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { kind: "component", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: ["dialogChange"] }, { kind: "component", type: CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [submenuAnimation, panesTitleAnimation, searchAnimation] }); }
|
20841
20976
|
}
|
20842
20977
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: HomeComponent, decorators: [{
|
20843
20978
|
type: Component,
|
20844
20979
|
args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation, panesTitleAnimation, searchAnimation], template: "<!-- menu -->\n<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\n [class.dialog]=\"dialog\"\n class=\"nav-menu row\">\n <div class=\"column\">\n <div>\n @if (forms.length) {\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\">\n <button mat-raised-button\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n (click)=\"opennew()\" [disabled]=\"creating\"\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\n <mat-icon>add</mat-icon>\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\n </button>\n </div>\n }\n <mat-nav-list>\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\n data-help=\"dashboard\"\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon>apps</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n [class.active]=\"activeMenu === 'mailbox'\"\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-icon matListItemIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\" aria-hidden=\"false\">inbox</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Mailbox' | translate}}</span>\n </mat-list-item>\n @if (schedulerEnabled) {\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\"\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\" matListItemTitle>{{ 'Scheduler' | translate}}</span>\n </mat-list-item>\n }\n @if (chatEnabled) {\n <mat-list-item data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">chat</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{ 'Chat' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis && profile.cubes.length) {\n <mat-list-item (click)=\"opensubmenu('cube')\"\n [class.active]=\"activeMenu === 'cube'\"\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\n <mat-icon matListItemIcon>equalizer</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Cube' | translate}}</span>\n </mat-list-item>\n }\n @if (profile.reports.length) {\n <mat-list-item (click)=\"opensubmenu('reports')\"\n [class.active]=\"activeMenu === 'reports'\"\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-icon matListItemIcon>list_alt</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Reports' | translate}}</span>\n </mat-list-item>\n }\n @if (sysAdmin) {\n <mat-divider></mat-divider>\n <mat-list-item (click)=\"opensubmenu('admin')\"\n [class.active]=\"activeMenu === 'admin'\"\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\n <mat-icon matListItemIcon>device_hub</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Workflow' | translate}}</span>\n </mat-list-item>\n }\n </mat-nav-list>\n </div>\n <span class=\"divider\"></span>\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\n <div class=\"sign-in\">\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\n </button>\n <span class=\"divider\"></span>\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\n </button>\n </div>\n </div>\n <!-- -->\n @if (submenu) {\n <div class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\n @if (submenu !== 'new') {\n <div class=\"action\">\n <button mat-icon-button (click)=\"togglePinned()\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">{{pinned ? 'push_pin' : 'menu'}}</mat-icon></button>\n </div>\n }\n @switch (submenu) {\n @case ('new') {\n <bizdoc-new-menu (change)=\"closesubmenu()\"></bizdoc-new-menu>\n }\n @case ('mailbox') {\n <bizdoc-folders-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\n }\n @case ('admin') {\n <bizdoc-admin-menu [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\n }\n @case ('reports') {\n <bizdoc-reports-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\n }\n @case ('cube') {\n <bizdoc-cube-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\n }\n }\n </div>\n }\n @if (dialog) {\n <div class=\"backdrop\"></div>\n }\n</div>\n<div class=\"main\">\n <!-- title -->\n <div class=\"row header\" [@title]=\"main.titleVariant\">\n <h1>\n @if (main.swap) {\n <button mat-icon-button (click)=\"main.back()\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\n }\n @for (p of main.panes; track p; let first = $first) {\n @if (!first) {\n <span class=\"breadcrumbs\">\\</span>\n }\n {{p.title}}\n }\n @if (main.panes[0]?.guide) {\n <button mat-icon-button (click)=\"guide(main.panes[0].guide)\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\n }\n </h1>\n <span class=\"divider\">\n </span>\n <!--search-->\n <input type=\"text\"\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"\n #input\n (keydown.escape)=\"collapse($event)\"\n [attr.aria-label]=\"'Search'|translate\"\n [formControl]=\"search\"\n [matAutocomplete]=\"auto\" class=\"search-box\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"goto($event)\" [displayWith]=\"displayWith\">\n @for (o of results | async; track o) {\n <mat-option [value]=\"o\">\n <ng-container (attached)=\"onAttached(o, $event)\" [cdkPortalOutlet]=\"o.portal\"></ng-container>\n </mat-option>\n }\n </mat-autocomplete>\n <button mat-icon-button (click)=\"toggle($event)\" [bizdocTooltip]=\"'Search'|translate\" class=\"tool\"><mat-icon>search</mat-icon></button>\n <!--notifications-->\n <button mat-icon-button (click)=\"notifs($event)\" [bizdocTooltip]=\"'Notifications'|translate\" bizdocTooltipPosition=\"start\" class=\"tool\"\n [attr.aria-label]=\"'Notifications'| translate\"\n data-help=\"notifications\">\n <mat-icon matListItemIcon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\"\n matBadgeColor=\"accent\" aria-hidden=\"false\"\n [class.filled]=\"profile.notificationsCount\">\n {{profile.options.notifications.active ? 'notifications':'notifications_off'}}\n </mat-icon>\n </button>\n </div>\n <!--panes & tabs-->\n <bizdoc-panes-outlet (dialogChange)=\"dialog = $event\" #main></bizdoc-panes-outlet>\n</div>\n", styles: [":host{display:flex;height:100%}::ng-deep .nav-collapsed .mdc-list-item{padding-right:0}::ng-deep [dir=rtl] .nav-collapsed .mdc-list-item{padding-left:0}.nav-menu{z-index:1}.nav-menu .sub-menu{min-width:210px;display:block;z-index:1;overflow-x:hidden;align-self:stretch}.nav-menu .sub-menu .action{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0;text-align:center}.nav-menu .new-container button{min-width:35px;padding:0 14px;height:40px}.nav-menu .new-container button .mat-icon{margin-right:2px;margin-left:2px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;overflow:hidden;margin-bottom:5px;align-items:baseline}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}.main{flex:1;overflow-x:hidden;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.main .header{align-items:center;min-width:max-content}.main .header h1{font-size:xx-large;margin:12px;font-weight:100}.main .header h1 button{vertical-align:middle}.main .header h1 .breadcrumbs{font-size:smaller}.main .header .search-box{font-size:large}\n"] }]
|
20845
|
-
}], ctorParameters: () => [{ type: PanesRouter }, { type: SearchService }, { type: MailboxService }, { type:
|
20980
|
+
}], ctorParameters: () => [{ type: PanesRouter }, { type: SearchService }, { type: MailboxService }, { type: DocumentFactory }, { type: Popup }, { type: GuideService }, { type: i0.Injector }, { type: SessionService }, { type: HubService }, { type: TranslateService }, { type: i3.MatSnackBar }, { type: undefined, decorators: [{
|
20846
20981
|
type: Inject,
|
20847
20982
|
args: [BIZDOC_CONFIG]
|
20848
20983
|
}] }], propDecorators: { drawer: [{
|
@@ -20894,11 +21029,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
20894
21029
|
/** form selector component */
|
20895
21030
|
class FormSelectorSheet {
|
20896
21031
|
/** form selector ctor */
|
20897
|
-
constructor(_dialog, _bsRef, _sb,
|
21032
|
+
constructor(_dialog, _bsRef, _sb, _factory, _router, _session) {
|
20898
21033
|
this._dialog = _dialog;
|
20899
21034
|
this._bsRef = _bsRef;
|
20900
21035
|
this._sb = _sb;
|
20901
|
-
this.
|
21036
|
+
this._factory = _factory;
|
20902
21037
|
this._router = _router;
|
20903
21038
|
this._session = _session;
|
20904
21039
|
this._done = new Subject();
|
@@ -20906,8 +21041,8 @@ class FormSelectorSheet {
|
|
20906
21041
|
this.forms = _session.profile.forms.filter(f => f.creatable);
|
20907
21042
|
}
|
20908
21043
|
open(form) {
|
20909
|
-
this.
|
20910
|
-
next: i => this.
|
21044
|
+
this._factory.create(form).subscribe({
|
21045
|
+
next: i => this._nav(i),
|
20911
21046
|
});
|
20912
21047
|
this._bsRef.dismiss();
|
20913
21048
|
}
|
@@ -20915,43 +21050,13 @@ class FormSelectorSheet {
|
|
20915
21050
|
event.preventDefault();
|
20916
21051
|
this._bsRef.afterDismissed().subscribe(() => this._dialog.open(CopyDialog).afterClosed().subscribe(i => {
|
20917
21052
|
i &&
|
20918
|
-
this.
|
20919
|
-
next: i =>
|
20920
|
-
this._sb.toast('Copied', i.number || this._getForm(i.formId).title);
|
20921
|
-
this._route(i);
|
20922
|
-
}, error: e => this._error(e)
|
21053
|
+
this._factory.copy(i.documentId).subscribe({
|
21054
|
+
next: i => this._nav(i)
|
20923
21055
|
});
|
20924
21056
|
}));
|
20925
21057
|
this._bsRef.dismiss();
|
20926
21058
|
}
|
20927
|
-
|
20928
|
-
return this._session.profile.forms.find(f => f.name === name);
|
20929
|
-
}
|
20930
|
-
_error(response) {
|
20931
|
-
if (response.constructor.name === 'PositionError')
|
20932
|
-
switch (response.code) {
|
20933
|
-
case 1:
|
20934
|
-
this._sb.error('UserDeniedGeoErr');
|
20935
|
-
break;
|
20936
|
-
default:
|
20937
|
-
this._sb.error('GeoErr');
|
20938
|
-
}
|
20939
|
-
else
|
20940
|
-
switch (response.status) {
|
20941
|
-
case 401:
|
20942
|
-
this._sb.error('Unauthorized');
|
20943
|
-
break;
|
20944
|
-
case 406:
|
20945
|
-
this._sb.errorString(response.error);
|
20946
|
-
break;
|
20947
|
-
case 426: // license
|
20948
|
-
this._sb.error('LicenseErr');
|
20949
|
-
break;
|
20950
|
-
default:
|
20951
|
-
this._sb.error();
|
20952
|
-
}
|
20953
|
-
}
|
20954
|
-
_route(item) {
|
21059
|
+
_nav(item) {
|
20955
21060
|
this._done.next(item);
|
20956
21061
|
this._router.navigate(['mailbox/i', item.id.encodeId()], {
|
20957
21062
|
state: {
|
@@ -20959,13 +21064,13 @@ class FormSelectorSheet {
|
|
20959
21064
|
}
|
20960
21065
|
});
|
20961
21066
|
}
|
20962
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectorSheet, deps: [{ token: i2$2.MatDialog }, { token: i2$a.MatBottomSheetRef }, { token: PromptService }, { token:
|
21067
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectorSheet, deps: [{ token: i2$2.MatDialog }, { token: i2$a.MatBottomSheetRef }, { token: PromptService }, { token: DocumentFactory }, { token: i1$4.Router }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
20963
21068
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: FormSelectorSheet, selector: "bizdoc-form-selector", ngImport: i0, template: "<mat-nav-list role=\"list\">\n @for (f of forms; track f) {\n <a mat-list-item role=\"listitem\" (click)=\"open(f.name)\">\n <span matListItemTitle>{{f.title}}</span>\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n </a>\n }\n <mat-divider></mat-divider>\n <a mat-list-item role=\"listitem\" (click)=\"copy($event)\">\n <span matListItemTitle>{{'Elipsis'| translate: ('Copy' | translate)}}</span>\n </a>\n</mat-nav-list>\n", dependencies: [{ kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2$4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
20964
21069
|
}
|
20965
21070
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectorSheet, decorators: [{
|
20966
21071
|
type: Component,
|
20967
21072
|
args: [{ selector: 'bizdoc-form-selector', template: "<mat-nav-list role=\"list\">\n @for (f of forms; track f) {\n <a mat-list-item role=\"listitem\" (click)=\"open(f.name)\">\n <span matListItemTitle>{{f.title}}</span>\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\n </a>\n }\n <mat-divider></mat-divider>\n <a mat-list-item role=\"listitem\" (click)=\"copy($event)\">\n <span matListItemTitle>{{'Elipsis'| translate: ('Copy' | translate)}}</span>\n </a>\n</mat-nav-list>\n" }]
|
20968
|
-
}], ctorParameters: () => [{ type: i2$2.MatDialog }, { type: i2$a.MatBottomSheetRef }, { type: PromptService }, { type:
|
21073
|
+
}], ctorParameters: () => [{ type: i2$2.MatDialog }, { type: i2$a.MatBottomSheetRef }, { type: PromptService }, { type: DocumentFactory }, { type: i1$4.Router }, { type: SessionService }] });
|
20969
21074
|
|
20970
21075
|
class ChatMobileComponent {
|
20971
21076
|
constructor() {
|
@@ -26284,7 +26389,8 @@ class TypeSelect {
|
|
26284
26389
|
if (!this._configuration)
|
26285
26390
|
throw `${this.type} is not a known BizDoc type.`;
|
26286
26391
|
if (this._configuration.columns)
|
26287
|
-
this._column = this._configuration.columns.
|
26392
|
+
this._column = this._configuration.columns.
|
26393
|
+
find(c => !c.flags || c.flags.indexOf('Key') < 0);
|
26288
26394
|
this._items$ = this._service.all(this.type);
|
26289
26395
|
this._control.valueChanges.pipe(takeUntil(this._destroy)).subscribe(v => {
|
26290
26396
|
if (this._multiple) {
|
@@ -26320,7 +26426,7 @@ class TypeSelect {
|
|
26320
26426
|
}
|
26321
26427
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: TypeSelect, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i2$8.FocusMonitor }, { token: i0.ElementRef }, { token: SessionService }, { token: DatasourceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
26322
26428
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: TypeSelect, selector: "bizdoc-select", inputs: { type: "type", scope: "scope", multiple: "multiple", placeholder: "placeholder", required: "required", disabled: "disabled", text: "text", value: "value" }, outputs: { selectionChange: "selectionChange", textChange: "textChange" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: TypeSelect }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: MatSelect, descendants: true, static: true }], ngImport: i0, template: `<mat-select [placeholder]="placeholder" [formControl]="_control" [multiple]='multiple'
|
26323
|
-
(focusin)="_onFocus()" (focusout)="_onBlur()" [
|
26429
|
+
(focusin)="_onFocus()" (focusout)="_onBlur()" [compareWith]='_compareWithKey' [required]="required">
|
26324
26430
|
@if (!required && !multiple) {
|
26325
26431
|
<mat-option [value]="null">
|
26326
26432
|
{{ 'None' | translate }}
|
@@ -26344,7 +26450,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
26344
26450
|
selector: 'bizdoc-select',
|
26345
26451
|
providers: [{ provide: MatFormFieldControl, useExisting: TypeSelect }],
|
26346
26452
|
template: `<mat-select [placeholder]="placeholder" [formControl]="_control" [multiple]='multiple'
|
26347
|
-
(focusin)="_onFocus()" (focusout)="_onBlur()" [
|
26453
|
+
(focusin)="_onFocus()" (focusout)="_onBlur()" [compareWith]='_compareWithKey' [required]="required">
|
26348
26454
|
@if (!required && !multiple) {
|
26349
26455
|
<mat-option [value]="null">
|
26350
26456
|
{{ 'None' | translate }}
|
@@ -30372,7 +30478,7 @@ class SharedModule {
|
|
30372
30478
|
};
|
30373
30479
|
}
|
30374
30480
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
30375
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: SharedModule, declarations: [LocalizedStringPipe, HelpTipComponent, BoxFormComponent, BoxFormRowComponent, BoxFormControlComponent,
|
30481
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: SharedModule, declarations: [OverlayFormComponent, LocalizedStringPipe, HelpTipComponent, BoxFormComponent, BoxFormRowComponent, BoxFormControlComponent,
|
30376
30482
|
PerformanceWindComponent, PerformanceHiloComponent,
|
30377
30483
|
CubeUsageComponent,
|
30378
30484
|
CubeDocumentsComponent,
|
@@ -30515,7 +30621,7 @@ class SharedModule {
|
|
30515
30621
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SharedModule, providers: [Popup,
|
30516
30622
|
CookieService,
|
30517
30623
|
DocumentInfo, AttachmentInfo, MapInfo, CubeInfo,
|
30518
|
-
MailboxService, SessionService, HubService,
|
30624
|
+
MailboxService, SessionService, DocumentFactory, HubService,
|
30519
30625
|
CubeService, DatasourceService,
|
30520
30626
|
DateRangePipe, AgoPipe, DurationFormatPipe,
|
30521
30627
|
WindowTitleService, NotificationsService,
|
@@ -30552,7 +30658,7 @@ class SharedModule {
|
|
30552
30658
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SharedModule, decorators: [{
|
30553
30659
|
type: NgModule,
|
30554
30660
|
args: [{
|
30555
|
-
declarations: [LocalizedStringPipe, HelpTipComponent, BoxFormComponent, BoxFormRowComponent, BoxFormControlComponent,
|
30661
|
+
declarations: [OverlayFormComponent, LocalizedStringPipe, HelpTipComponent, BoxFormComponent, BoxFormRowComponent, BoxFormControlComponent,
|
30556
30662
|
PerformanceWindComponent, PerformanceHiloComponent,
|
30557
30663
|
CubeUsageComponent,
|
30558
30664
|
CubeDocumentsComponent,
|
@@ -30649,7 +30755,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
30649
30755
|
providers: [Popup,
|
30650
30756
|
CookieService,
|
30651
30757
|
DocumentInfo, AttachmentInfo, MapInfo, CubeInfo,
|
30652
|
-
MailboxService, SessionService, HubService,
|
30758
|
+
MailboxService, SessionService, DocumentFactory, HubService,
|
30653
30759
|
CubeService, DatasourceService,
|
30654
30760
|
DateRangePipe, AgoPipe, DurationFormatPipe,
|
30655
30761
|
WindowTitleService, NotificationsService,
|
@@ -36900,5 +37006,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
36900
37006
|
* Generated bundle index. Do not edit.
|
36901
37007
|
*/
|
36902
37008
|
|
36903
|
-
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, 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, programName, registerComponents };
|
37009
|
+
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, programName, registerComponents };
|
36904
37010
|
//# sourceMappingURL=bizdoc-core.mjs.map
|