@meshmakers/shared-ui 3.1.140-0 → 3.1.143-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/mm-autocomplete-input/mm-autocomplete-input.component.mjs +302 -0
- package/esm2022/lib/mm-breadcrumb/mm-breadcrumb.component.mjs +108 -0
- package/esm2022/lib/mm-confirmation-window/mm-confirmation-window.component.mjs +75 -0
- package/esm2022/lib/mm-entity-select-input/mm-entity-select-input.component.mjs +293 -0
- package/esm2022/lib/{mm-shared-ui/mm-message-details → mm-message-details}/mm-message-details.component.mjs +4 -4
- package/esm2022/lib/mm-multiple-entity-select-input/mm-multiple-entity-select-input.component.mjs +316 -0
- package/esm2022/lib/mm-notification-bar/mm-notification-bar.component.mjs +40 -0
- package/esm2022/lib/mm-progress-window/mm-progress-window.component.mjs +34 -0
- package/esm2022/lib/mm-shared-ui.module.mjs +83 -0
- package/esm2022/lib/{shared → models}/abstractDetailsComponent.mjs +1 -1
- package/esm2022/lib/{shared → models}/commonValidators.mjs +1 -1
- package/esm2022/lib/models/confirmation.mjs +15 -0
- package/esm2022/lib/models/progressValue.mjs +9 -0
- package/esm2022/lib/services/confirmation.service.mjs +69 -0
- package/esm2022/lib/services/progress-notifier.service.mjs +63 -0
- package/esm2022/public-api.mjs +13 -16
- package/fesm2022/meshmakers-shared-ui.mjs +267 -337
- package/fesm2022/meshmakers-shared-ui.mjs.map +1 -1
- package/lib/{breadcrumb/mat-breadcrumb → mm-breadcrumb}/mm-breadcrumb.component.d.ts +1 -2
- package/lib/{confirmation-dialog/confirmation-window → mm-confirmation-window}/mm-confirmation-window.component.d.ts +1 -1
- package/lib/{progress-notifier/progress-window → mm-progress-window}/mm-progress-window.component.d.ts +1 -1
- package/lib/mm-shared-ui.module.d.ts +25 -0
- package/lib/{confirmation-dialog/services → services}/confirmation.service.d.ts +1 -1
- package/package.json +3 -3
- package/public-api.d.ts +12 -15
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -22
- package/esm2022/lib/breadcrumb/mat-breadcrumb/mm-breadcrumb.component.mjs +0 -109
- package/esm2022/lib/breadcrumb/model/breadcrumb.mjs +0 -2
- package/esm2022/lib/breadcrumb/services/breadcrumb.service.mjs +0 -22
- package/esm2022/lib/confirmation-dialog/confirmation-dialog.module.mjs +0 -26
- package/esm2022/lib/confirmation-dialog/confirmation-window/mm-confirmation-window.component.mjs +0 -75
- package/esm2022/lib/confirmation-dialog/services/confirmation.service.mjs +0 -69
- package/esm2022/lib/confirmation-dialog/shared/confirmation.mjs +0 -15
- package/esm2022/lib/mm-shared-ui/mm-autocomplete-input/mm-autocomplete-input.component.mjs +0 -302
- package/esm2022/lib/mm-shared-ui/mm-entity-select-input/mm-entity-select-input.component.mjs +0 -293
- package/esm2022/lib/mm-shared-ui/mm-multiple-entity-select-input/mm-multiple-entity-select-input.component.mjs +0 -316
- package/esm2022/lib/mm-shared-ui/mm-notification-bar/mm-notification-bar.component.mjs +0 -40
- package/esm2022/lib/mm-shared-ui/mm-shared-ui.module.mjs +0 -74
- package/esm2022/lib/progress-notifier/progress-notifier.module.mjs +0 -27
- package/esm2022/lib/progress-notifier/progress-window/mm-progress-window.component.mjs +0 -35
- package/esm2022/lib/progress-notifier/services/progress-notifier.service.mjs +0 -63
- package/esm2022/lib/progress-notifier/shared/progressValue.mjs +0 -9
- package/lib/breadcrumb/breadcrumb.module.d.ts +0 -12
- package/lib/breadcrumb/model/breadcrumb.d.ts +0 -4
- package/lib/breadcrumb/services/breadcrumb.service.d.ts +0 -11
- package/lib/confirmation-dialog/confirmation-dialog.module.d.ts +0 -12
- package/lib/mm-shared-ui/mm-shared-ui.module.d.ts +0 -22
- package/lib/progress-notifier/progress-notifier.module.d.ts +0 -13
- /package/lib/{mm-shared-ui/mm-autocomplete-input → mm-autocomplete-input}/mm-autocomplete-input.component.d.ts +0 -0
- /package/lib/{mm-shared-ui/mm-entity-select-input → mm-entity-select-input}/mm-entity-select-input.component.d.ts +0 -0
- /package/lib/{mm-shared-ui/mm-message-details → mm-message-details}/mm-message-details.component.d.ts +0 -0
- /package/lib/{mm-shared-ui/mm-multiple-entity-select-input → mm-multiple-entity-select-input}/mm-multiple-entity-select-input.component.d.ts +0 -0
- /package/lib/{mm-shared-ui/mm-notification-bar → mm-notification-bar}/mm-notification-bar.component.d.ts +0 -0
- /package/lib/{shared → models}/abstractDetailsComponent.d.ts +0 -0
- /package/lib/{shared → models}/commonValidators.d.ts +0 -0
- /package/lib/{confirmation-dialog/shared → models}/confirmation.d.ts +0 -0
- /package/lib/{progress-notifier/shared → models}/progressValue.d.ts +0 -0
- /package/lib/{progress-notifier/services → services}/progress-notifier.service.d.ts +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Inject, EventEmitter, forwardRef, HostBinding, ViewChild, Input, NgModule, Injectable } from '@angular/core';
|
|
3
|
-
import * as i2 from '@angular/common';
|
|
3
|
+
import * as i2$1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/material/dialog';
|
|
6
6
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
7
|
-
import * as
|
|
7
|
+
import * as i2 from '@angular/material/button';
|
|
8
8
|
import { MatButtonModule } from '@angular/material/button';
|
|
9
9
|
import * as i1$1 from '@meshmakers/shared-services';
|
|
10
10
|
import { IsoDateTime } from '@meshmakers/shared-services';
|
|
11
|
-
import * as i3
|
|
11
|
+
import * as i3 from '@angular/material/toolbar';
|
|
12
12
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
13
13
|
import * as i5 from '@angular/material/icon';
|
|
14
14
|
import { MatIconModule } from '@angular/material/icon';
|
|
@@ -20,7 +20,7 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
|
20
20
|
import { debounceTime, filter, tap, map, switchMap } from 'rxjs/operators';
|
|
21
21
|
import { Subject, of, BehaviorSubject } from 'rxjs';
|
|
22
22
|
import * as i1$2 from '@angular/cdk/a11y';
|
|
23
|
-
import * as i3$
|
|
23
|
+
import * as i3$1 from '@angular/material/autocomplete';
|
|
24
24
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
25
25
|
import * as i4 from '@angular/material/core';
|
|
26
26
|
import * as i5$1 from '@angular/material/input';
|
|
@@ -30,13 +30,8 @@ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
|
30
30
|
import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
|
31
31
|
import * as i7$1 from '@angular/material/chips';
|
|
32
32
|
import { MatChipsModule } from '@angular/material/chips';
|
|
33
|
-
import * as i4$1 from '@angular/material/progress-bar';
|
|
34
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
35
33
|
import * as i1$3 from '@angular/router';
|
|
36
|
-
import { NavigationEnd, PRIMARY_OUTLET
|
|
37
|
-
import * as i4$2 from '@angular/material/list';
|
|
38
|
-
import { MatListModule } from '@angular/material/list';
|
|
39
|
-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
34
|
+
import { NavigationEnd, PRIMARY_OUTLET } from '@angular/router';
|
|
40
35
|
|
|
41
36
|
class MmMessageDetailsComponent {
|
|
42
37
|
dialogRef;
|
|
@@ -48,10 +43,10 @@ class MmMessageDetailsComponent {
|
|
|
48
43
|
this.errorMessage = data.errorMessage;
|
|
49
44
|
}
|
|
50
45
|
ngOnInit() { }
|
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
52
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
46
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmMessageDetailsComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MmMessageDetailsComponent, selector: "mm-message-details", ngImport: i0, template: "<mat-dialog-content>\n\n <h2>{{errorMessage.title}}</h2>\n <p>{{errorMessage.message}}</p>\n\n\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button color=\"primary\" mat-dialog-close mat-raised-button>OK</button>\n</mat-dialog-actions>\n", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
|
53
48
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmMessageDetailsComponent, decorators: [{
|
|
55
50
|
type: Component,
|
|
56
51
|
args: [{ selector: 'mm-message-details', template: "<mat-dialog-content>\n\n <h2>{{errorMessage.title}}</h2>\n <p>{{errorMessage.message}}</p>\n\n\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button color=\"primary\" mat-dialog-close mat-raised-button>OK</button>\n</mat-dialog-actions>\n" }]
|
|
57
52
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
@@ -83,10 +78,10 @@ class MmNotificationBarComponent {
|
|
|
83
78
|
}
|
|
84
79
|
});
|
|
85
80
|
}
|
|
86
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
87
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
81
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmNotificationBarComponent, deps: [{ token: i1$1.MessageService }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MmNotificationBarComponent, selector: "mm-notification-bar", ngImport: i0, template: "<mat-toolbar [hidden]=\"!errorMessage\" class=\"mm-notification-bar-background\">\n <a (click)=\"onShowDetails()\"><span class=\"mat-small\"><u>{{ errorMessage?.title }}</u></span></a>\n\n <!-- This fills the remaining space of the current row -->\n <span class=\"notification-fill-remaining-space\"></span>\n\n <button (click)=\"onHide()\" class=\"mm-notification-bar-button\" mat-fab><mat-icon>close</mat-icon></button>\n</mat-toolbar>\n", styles: [".notification-fill-remaining-space{flex:1 1 auto}\n"], dependencies: [{ kind: "component", type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i2.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
88
83
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmNotificationBarComponent, decorators: [{
|
|
90
85
|
type: Component,
|
|
91
86
|
args: [{ selector: 'mm-notification-bar', template: "<mat-toolbar [hidden]=\"!errorMessage\" class=\"mm-notification-bar-background\">\n <a (click)=\"onShowDetails()\"><span class=\"mat-small\"><u>{{ errorMessage?.title }}</u></span></a>\n\n <!-- This fills the remaining space of the current row -->\n <span class=\"notification-fill-remaining-space\"></span>\n\n <button (click)=\"onHide()\" class=\"mm-notification-bar-button\" mat-fab><mat-icon>close</mat-icon></button>\n</mat-toolbar>\n", styles: [".notification-fill-remaining-space{flex:1 1 auto}\n"] }]
|
|
92
87
|
}], ctorParameters: () => [{ type: i1$1.MessageService }, { type: i1.MatDialog }] });
|
|
@@ -317,8 +312,8 @@ class MmAutocompleteInputComponent {
|
|
|
317
312
|
};
|
|
318
313
|
_onTouched = () => {
|
|
319
314
|
};
|
|
320
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
321
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
315
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmAutocompleteInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1$2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
|
316
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MmAutocompleteInputComponent, selector: "mm-autocomplete", inputs: { dataSource: "dataSource", disabled: "disabled", placeholder: "placeholder", required: "required", prefix: "prefix" }, host: { properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy", "class.floating": "this.shouldLabelFloat" } }, providers: [
|
|
322
317
|
{
|
|
323
318
|
provide: NG_VALUE_ACCESSOR,
|
|
324
319
|
useExisting: forwardRef(() => MmAutocompleteInputComponent),
|
|
@@ -333,9 +328,9 @@ class MmAutocompleteInputComponent {
|
|
|
333
328
|
useExisting: forwardRef(() => MmAutocompleteInputComponent),
|
|
334
329
|
multi: true
|
|
335
330
|
}
|
|
336
|
-
], viewQueries: [{ propertyName: "inputField", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input #input (blur)=\"onTouched()\" (focusout)=\"onFocusOut()\" [formControl]=\"searchFormControl\" [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\" matInput>\n<mat-autocomplete #auto=\"matAutocomplete\"\n (closed)=\"onAutoCompleteClosed()\" (optionActivated)=\"onOptionActivated($event)\"\n (optionSelected)=\"onOptionSelected($event)\">\n <mat-option *ngIf=\"isLoading\" class=\"is-loading\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n </mat-option>\n <ng-container *ngIf=\"!isLoading\">\n <mat-option *ngFor=\"let str of filteredStrings\" [value]=\"str\">\n {{str}}\n </mat-option>\n </ng-container>\n</mat-autocomplete>\n", styles: ["span{opacity:0;transition:opacity .2s}:host.floating span{opacity:1}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$
|
|
331
|
+
], viewQueries: [{ propertyName: "inputField", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input #input (blur)=\"onTouched()\" (focusout)=\"onFocusOut()\" [formControl]=\"searchFormControl\" [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\" matInput>\n<mat-autocomplete #auto=\"matAutocomplete\"\n (closed)=\"onAutoCompleteClosed()\" (optionActivated)=\"onOptionActivated($event)\"\n (optionSelected)=\"onOptionSelected($event)\">\n <mat-option *ngIf=\"isLoading\" class=\"is-loading\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n </mat-option>\n <ng-container *ngIf=\"!isLoading\">\n <mat-option *ngFor=\"let str of filteredStrings\" [value]=\"str\">\n {{str}}\n </mat-option>\n </ng-container>\n</mat-autocomplete>\n", styles: ["span{opacity:0;transition:opacity .2s}:host.floating span{opacity:1}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$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: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
337
332
|
}
|
|
338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
333
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmAutocompleteInputComponent, decorators: [{
|
|
339
334
|
type: Component,
|
|
340
335
|
args: [{ selector: "mm-autocomplete", host: {
|
|
341
336
|
"[id]": "id",
|
|
@@ -596,8 +591,8 @@ class MmEntitySelectInputComponent {
|
|
|
596
591
|
this.stateChanges.next();
|
|
597
592
|
}
|
|
598
593
|
}
|
|
599
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
600
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
594
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmEntitySelectInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1$2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
|
595
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MmEntitySelectInputComponent, selector: "mm-entity-select", inputs: { dataSource: "dataSource", disabled: "disabled", placeholder: "placeholder", required: "required", prefix: "prefix" }, host: { properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy", "class.floating": "this.shouldLabelFloat" } }, providers: [
|
|
601
596
|
{
|
|
602
597
|
provide: NG_VALUE_ACCESSOR,
|
|
603
598
|
useExisting: forwardRef(() => MmEntitySelectInputComponent),
|
|
@@ -612,9 +607,9 @@ class MmEntitySelectInputComponent {
|
|
|
612
607
|
useExisting: forwardRef(() => MmEntitySelectInputComponent),
|
|
613
608
|
multi: true
|
|
614
609
|
}
|
|
615
|
-
], viewQueries: [{ propertyName: "inputField", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input #input (blur)=\"onTouched()\" (focusout)=\"onFocusOut()\" [formControl]=\"searchFormControl\" [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\" matInput>\n<mat-autocomplete #auto=\"matAutocomplete\" (closed)=\"onEntityClosed()\"\n (optionActivated)=\"onEntityActivated($event)\" (optionSelected)=\"onEntitySelected($event)\"\n [displayWith]=\"dataSource?.onDisplayEntity ?? null\">\n <mat-option *ngIf=\"isLoading\" class=\"is-loading\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n </mat-option>\n <ng-container *ngIf=\"!isLoading\">\n <mat-option *ngFor=\"let entity of filteredEntities\" [value]=\"entity\">\n {{dataSource?.onDisplayEntity(entity) ?? null}}\n </mat-option>\n </ng-container>\n</mat-autocomplete>\n", styles: ["span{opacity:0;transition:opacity .2s}:host.floating span{opacity:1}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$
|
|
610
|
+
], viewQueries: [{ propertyName: "inputField", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input #input (blur)=\"onTouched()\" (focusout)=\"onFocusOut()\" [formControl]=\"searchFormControl\" [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\" matInput>\n<mat-autocomplete #auto=\"matAutocomplete\" (closed)=\"onEntityClosed()\"\n (optionActivated)=\"onEntityActivated($event)\" (optionSelected)=\"onEntitySelected($event)\"\n [displayWith]=\"dataSource?.onDisplayEntity ?? null\">\n <mat-option *ngIf=\"isLoading\" class=\"is-loading\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n </mat-option>\n <ng-container *ngIf=\"!isLoading\">\n <mat-option *ngFor=\"let entity of filteredEntities\" [value]=\"entity\">\n {{dataSource?.onDisplayEntity(entity) ?? null}}\n </mat-option>\n </ng-container>\n</mat-autocomplete>\n", styles: ["span{opacity:0;transition:opacity .2s}:host.floating span{opacity:1}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$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: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
616
611
|
}
|
|
617
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
612
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmEntitySelectInputComponent, decorators: [{
|
|
618
613
|
type: Component,
|
|
619
614
|
args: [{ selector: 'mm-entity-select', host: {
|
|
620
615
|
'[id]': 'id',
|
|
@@ -895,8 +890,8 @@ class MmMultipleEntitySelectInputComponent {
|
|
|
895
890
|
this.stateChanges.next();
|
|
896
891
|
}
|
|
897
892
|
}
|
|
898
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
899
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
893
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmMultipleEntitySelectInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1$2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
|
894
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MmMultipleEntitySelectInputComponent, selector: "mm-multiple-entity-select", inputs: { dataSource: "dataSource", disabled: "disabled", placeholder: "placeholder", required: "required", prefix: "prefix" }, host: { properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy", "class.floating": "this.shouldLabelFloat" } }, providers: [
|
|
900
895
|
{
|
|
901
896
|
provide: NG_VALUE_ACCESSOR,
|
|
902
897
|
useExisting: forwardRef(() => MmMultipleEntitySelectInputComponent),
|
|
@@ -911,9 +906,9 @@ class MmMultipleEntitySelectInputComponent {
|
|
|
911
906
|
useExisting: forwardRef(() => MmMultipleEntitySelectInputComponent),
|
|
912
907
|
multi: true
|
|
913
908
|
}
|
|
914
|
-
], viewQueries: [{ propertyName: "inputField", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<mat-chip-grid #list>\n <mat-chip-row *ngFor=\"let entity of valuesFormControl.value\"\n (removed)=\"remove(entity)\"\n [editable]=\"false\"\n [aria-description]=\"'press enter to edit ' + dataSource?.onDisplayEntity(entity) ?? null\">\n {{dataSource?.onDisplayEntity(entity) ?? null}}\n <button matChipRemove [attr.aria-label]=\"'remove ' + dataSource?.onDisplayEntity(entity) ?? null\">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n <input #input (blur)=\"onTouched()\" (focusout)=\"onFocusOut()\" [formControl]=\"searchFormControl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"list\"\n matChipInputAddOnBlur=\"true\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [placeholder]=\"placeholder\" matInput>\n <mat-autocomplete #auto=\"matAutocomplete\" (closed)=\"onEntityClosed()\"\n (optionActivated)=\"onEntityActivated($event)\" (optionSelected)=\"onEntitySelected($event)\"\n [displayWith]=\"dataSource?.onDisplayEntity ?? null\">\n <mat-option *ngIf=\"isLoading\" class=\"is-loading\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n </mat-option>\n <ng-container *ngIf=\"!isLoading\">\n <mat-option *ngFor=\"let entity of filteredEntities\" [value]=\"entity\">\n {{dataSource?.onDisplayEntity(entity) ?? null}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n</mat-chip-grid>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$
|
|
909
|
+
], viewQueries: [{ propertyName: "inputField", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<mat-chip-grid #list>\n <mat-chip-row *ngFor=\"let entity of valuesFormControl.value\"\n (removed)=\"remove(entity)\"\n [editable]=\"false\"\n [aria-description]=\"'press enter to edit ' + dataSource?.onDisplayEntity(entity) ?? null\">\n {{dataSource?.onDisplayEntity(entity) ?? null}}\n <button matChipRemove [attr.aria-label]=\"'remove ' + dataSource?.onDisplayEntity(entity) ?? null\">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n <input #input (blur)=\"onTouched()\" (focusout)=\"onFocusOut()\" [formControl]=\"searchFormControl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"list\"\n matChipInputAddOnBlur=\"true\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [placeholder]=\"placeholder\" matInput>\n <mat-autocomplete #auto=\"matAutocomplete\" (closed)=\"onEntityClosed()\"\n (optionActivated)=\"onEntityActivated($event)\" (optionSelected)=\"onEntitySelected($event)\"\n [displayWith]=\"dataSource?.onDisplayEntity ?? null\">\n <mat-option *ngIf=\"isLoading\" class=\"is-loading\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n </mat-option>\n <ng-container *ngIf=\"!isLoading\">\n <mat-option *ngFor=\"let entity of filteredEntities\" [value]=\"entity\">\n {{dataSource?.onDisplayEntity(entity) ?? null}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n</mat-chip-grid>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$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: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7$1.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7$1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i7$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
915
910
|
}
|
|
916
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
911
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmMultipleEntitySelectInputComponent, decorators: [{
|
|
917
912
|
type: Component,
|
|
918
913
|
args: [{ selector: 'mm-multiple-entity-select', host: {
|
|
919
914
|
'[id]': 'id',
|
|
@@ -957,166 +952,106 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
957
952
|
args: ['class.floating']
|
|
958
953
|
}] } });
|
|
959
954
|
|
|
960
|
-
class
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
MatChipsModule,
|
|
975
|
-
MatIconModule,
|
|
976
|
-
ReactiveFormsModule], exports: [MmNotificationBarComponent, MmAutocompleteInputComponent, MmEntitySelectInputComponent, MmMultipleEntitySelectInputComponent] });
|
|
977
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MmSharedUiModule, imports: [CommonModule,
|
|
978
|
-
MatToolbarModule,
|
|
979
|
-
MatButtonModule,
|
|
980
|
-
MatSnackBarModule,
|
|
981
|
-
MatDialogModule,
|
|
982
|
-
MatAutocompleteModule,
|
|
983
|
-
MatInputModule,
|
|
984
|
-
MatProgressSpinnerModule,
|
|
985
|
-
MatChipsModule,
|
|
986
|
-
MatIconModule,
|
|
987
|
-
ReactiveFormsModule] });
|
|
988
|
-
}
|
|
989
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MmSharedUiModule, decorators: [{
|
|
990
|
-
type: NgModule,
|
|
991
|
-
args: [{
|
|
992
|
-
declarations: [
|
|
993
|
-
MmNotificationBarComponent,
|
|
994
|
-
MmMessageDetailsComponent,
|
|
995
|
-
MmAutocompleteInputComponent,
|
|
996
|
-
MmEntitySelectInputComponent,
|
|
997
|
-
MmMultipleEntitySelectInputComponent
|
|
998
|
-
],
|
|
999
|
-
exports: [MmNotificationBarComponent, MmAutocompleteInputComponent, MmEntitySelectInputComponent, MmMultipleEntitySelectInputComponent],
|
|
1000
|
-
imports: [
|
|
1001
|
-
CommonModule,
|
|
1002
|
-
MatToolbarModule,
|
|
1003
|
-
MatButtonModule,
|
|
1004
|
-
MatSnackBarModule,
|
|
1005
|
-
MatDialogModule,
|
|
1006
|
-
MatAutocompleteModule,
|
|
1007
|
-
MatInputModule,
|
|
1008
|
-
MatProgressSpinnerModule,
|
|
1009
|
-
MatChipsModule,
|
|
1010
|
-
MatIconModule,
|
|
1011
|
-
ReactiveFormsModule
|
|
1012
|
-
]
|
|
1013
|
-
}]
|
|
1014
|
-
}] });
|
|
1015
|
-
|
|
1016
|
-
class MmProgressWindowComponent {
|
|
1017
|
-
data;
|
|
1018
|
-
statusText;
|
|
1019
|
-
progressValue;
|
|
1020
|
-
constructor(data) {
|
|
1021
|
-
this.data = data;
|
|
1022
|
-
this.statusText = null;
|
|
1023
|
-
this.progressValue = 0;
|
|
1024
|
-
data.progress.subscribe((value) => {
|
|
1025
|
-
this.statusText = value.statusText;
|
|
1026
|
-
this.progressValue = value.progressValue;
|
|
1027
|
-
});
|
|
1028
|
-
}
|
|
1029
|
-
ngOnInit() { }
|
|
1030
|
-
onCancelClick() {
|
|
1031
|
-
this.data.cancelOperation();
|
|
1032
|
-
}
|
|
1033
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MmProgressWindowComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
1034
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: MmProgressWindowComponent, selector: "mm-progress-window", ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div fxLayout=\"column\">\n <mat-progress-bar *ngIf=\"data.isDeterminate\" [value]=\"progressValue\" mode=\"determinate\"></mat-progress-bar>\n <mat-progress-bar *ngIf=\"!data.isDeterminate\" mode=\"indeterminate\"></mat-progress-bar>\n <p>{{statusText}}</p>\n </div>\n</div>\n<div style=\"justify-content: flex-end;\" mat-dialog-actions>\n <button (click)=\"onCancelClick()\" *ngIf=\"data.isCancelOperationAvailable\" mat-button>Cancel</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] });
|
|
1035
|
-
}
|
|
1036
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MmProgressWindowComponent, decorators: [{
|
|
1037
|
-
type: Component,
|
|
1038
|
-
args: [{ selector: 'mm-progress-window', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div fxLayout=\"column\">\n <mat-progress-bar *ngIf=\"data.isDeterminate\" [value]=\"progressValue\" mode=\"determinate\"></mat-progress-bar>\n <mat-progress-bar *ngIf=\"!data.isDeterminate\" mode=\"indeterminate\"></mat-progress-bar>\n <p>{{statusText}}</p>\n </div>\n</div>\n<div style=\"justify-content: flex-end;\" mat-dialog-actions>\n <button (click)=\"onCancelClick()\" *ngIf=\"data.isCancelOperationAvailable\" mat-button>Cancel</button>\n</div>\n" }]
|
|
1039
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1040
|
-
type: Inject,
|
|
1041
|
-
args: [MAT_DIALOG_DATA]
|
|
1042
|
-
}] }] });
|
|
1043
|
-
|
|
1044
|
-
class ProgressNotifierService {
|
|
1045
|
-
dialog;
|
|
1046
|
-
_currentProgressValue;
|
|
1047
|
-
currentDialogRef;
|
|
1048
|
-
constructor(dialog) {
|
|
1049
|
-
this.dialog = dialog;
|
|
1050
|
-
this._currentProgressValue = new BehaviorSubject(null);
|
|
1051
|
-
this.currentDialogRef = null;
|
|
1052
|
-
this._isCanceled = false;
|
|
1053
|
-
}
|
|
1054
|
-
_isCanceled;
|
|
1055
|
-
get isCanceled() {
|
|
1056
|
-
return this._isCanceled;
|
|
1057
|
-
}
|
|
1058
|
-
set isCanceled(value) {
|
|
1059
|
-
this._isCanceled = value;
|
|
955
|
+
class MmBreadcrumbComponent {
|
|
956
|
+
activatedRoute;
|
|
957
|
+
router;
|
|
958
|
+
breadcrumbService;
|
|
959
|
+
breadcrumb = [];
|
|
960
|
+
fontSize = '18px';
|
|
961
|
+
fontColor = '#0275d8';
|
|
962
|
+
lastLinkColor = '#000';
|
|
963
|
+
symbol = ' / ';
|
|
964
|
+
constructor(activatedRoute, router, breadcrumbService) {
|
|
965
|
+
this.activatedRoute = activatedRoute;
|
|
966
|
+
this.router = router;
|
|
967
|
+
this.breadcrumbService = breadcrumbService;
|
|
968
|
+
this.breadCrumbData();
|
|
1060
969
|
}
|
|
1061
|
-
|
|
1062
|
-
this.
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
970
|
+
ngOnInit() {
|
|
971
|
+
this.breadcrumbService.breadcrumbLabels.subscribe((labelData) => {
|
|
972
|
+
Object.entries(labelData).forEach(([key, value]) => {
|
|
973
|
+
this.breadcrumb.forEach((crumb) => {
|
|
974
|
+
const labelParams = crumb.label.match(/[^{{]+(?=}})/g);
|
|
975
|
+
if (labelParams) {
|
|
976
|
+
for (const labelParam of labelParams) {
|
|
977
|
+
if (labelParam === key) {
|
|
978
|
+
crumb.label = crumb.label.replace('{{' + labelParam + '}}', value);
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
});
|
|
983
|
+
});
|
|
1077
984
|
});
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
statusText,
|
|
1083
|
-
progressValue: progressPercentage
|
|
985
|
+
this.breadcrumbService.newBreadcrumb.subscribe((breadcrumb) => {
|
|
986
|
+
if (breadcrumb.length > 0) {
|
|
987
|
+
this.updateData(this.activatedRoute, breadcrumb);
|
|
988
|
+
}
|
|
1084
989
|
});
|
|
1085
990
|
}
|
|
1086
|
-
|
|
1087
|
-
this.
|
|
1088
|
-
|
|
1089
|
-
|
|
991
|
+
breadCrumbData() {
|
|
992
|
+
this.router.events
|
|
993
|
+
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
994
|
+
.pipe(map(() => this.activatedRoute))
|
|
995
|
+
.pipe(map((route) => {
|
|
996
|
+
while (route.firstChild) {
|
|
997
|
+
route = route.firstChild;
|
|
998
|
+
}
|
|
999
|
+
return route;
|
|
1000
|
+
}))
|
|
1001
|
+
.pipe(filter((route) => route.outlet === PRIMARY_OUTLET))
|
|
1002
|
+
.subscribe((route) => {
|
|
1003
|
+
this.updateData(route, null);
|
|
1090
1004
|
});
|
|
1091
1005
|
}
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1006
|
+
updateData(route, newBreadcrumb) {
|
|
1007
|
+
if (route.snapshot.data['breadcrumb'] || newBreadcrumb) {
|
|
1008
|
+
const data = route.snapshot.data['breadcrumb'] ? route.snapshot.data['breadcrumb'] : newBreadcrumb;
|
|
1009
|
+
const breadcrumb = JSON.parse(JSON.stringify(data));
|
|
1010
|
+
breadcrumb.forEach((crumb) => {
|
|
1011
|
+
if (crumb.url) {
|
|
1012
|
+
const urlChunks = crumb.url.split('/');
|
|
1013
|
+
for (const chunk of urlChunks) {
|
|
1014
|
+
if (chunk.includes(':')) {
|
|
1015
|
+
const paramID = chunk.replace(':', '');
|
|
1016
|
+
const routerParamID = route.snapshot.params[paramID];
|
|
1017
|
+
crumb.url = crumb.url.replace(`:${paramID}`, routerParamID);
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
const labelParams = crumb.label.match(/[^{{]+(?=}})/g);
|
|
1022
|
+
if (labelParams) {
|
|
1023
|
+
for (const labelParam of labelParams) {
|
|
1024
|
+
const routerParamID = decodeURIComponent(route.snapshot.params[labelParam.trim()]);
|
|
1025
|
+
if (routerParamID) {
|
|
1026
|
+
crumb.label = crumb.label.replace('{{' + labelParam + '}}', routerParamID);
|
|
1027
|
+
}
|
|
1028
|
+
else {
|
|
1029
|
+
// crumb.label = crumb.label.replace('{{' + labelParam + '}}', '');
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
});
|
|
1034
|
+
this.breadcrumb = breadcrumb;
|
|
1035
|
+
}
|
|
1036
|
+
else {
|
|
1037
|
+
this.breadcrumb = [];
|
|
1038
|
+
}
|
|
1108
1039
|
}
|
|
1109
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
1110
|
-
static
|
|
1111
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ProgressNotifierModule, imports: [CommonModule, MatDialogModule, MatButtonModule, MatProgressBarModule] });
|
|
1040
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmBreadcrumbComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: i1$1.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1041
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MmBreadcrumbComponent, selector: "mm-breadcrumb", inputs: { fontSize: "fontSize", fontColor: "fontColor", lastLinkColor: "lastLinkColor", symbol: "symbol" }, ngImport: i0, template: "<mat-list class=\"mat-bread-crumb-list\" *ngIf=\"breadcrumb.length\">\n<!-- <mat-list-item>-->\n<!-- <span class=\"mat-bread-crumb-spacer\">-->\n<!-- <span *ngFor=\"let item of breadcrumb\">-->\n<!-- <a *ngIf=\"item?.url\" [routerLink]=\"item?.url\"-->\n<!-- class=\"mat-bread-crumb-list-item\">{{ item.label }}</a>-->\n<!-- <span *ngIf=\"!item?.url\" class=\"mat-bread-crumb-list-item\">{{ item.label }}</span>-->\n<!-- <span *ngIf=\"breadcrumb.length !== i+1\" class=\"mat-bread-crumb-list-item\">{{symbol}}</span>-->\n<!-- </span>-->\n<!-- </span>-->\n<!-- </mat-list-item>-->\n</mat-list>\n", styles: [".mat-bread-crumb{height:30px}.mat-bread-crumb-list{padding-bottom:10px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1112
1042
|
}
|
|
1113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
1114
|
-
type:
|
|
1115
|
-
args: [{
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1043
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmBreadcrumbComponent, decorators: [{
|
|
1044
|
+
type: Component,
|
|
1045
|
+
args: [{ selector: 'mm-breadcrumb', template: "<mat-list class=\"mat-bread-crumb-list\" *ngIf=\"breadcrumb.length\">\n<!-- <mat-list-item>-->\n<!-- <span class=\"mat-bread-crumb-spacer\">-->\n<!-- <span *ngFor=\"let item of breadcrumb\">-->\n<!-- <a *ngIf=\"item?.url\" [routerLink]=\"item?.url\"-->\n<!-- class=\"mat-bread-crumb-list-item\">{{ item.label }}</a>-->\n<!-- <span *ngIf=\"!item?.url\" class=\"mat-bread-crumb-list-item\">{{ item.label }}</span>-->\n<!-- <span *ngIf=\"breadcrumb.length !== i+1\" class=\"mat-bread-crumb-list-item\">{{symbol}}</span>-->\n<!-- </span>-->\n<!-- </span>-->\n<!-- </mat-list-item>-->\n</mat-list>\n", styles: [".mat-bread-crumb{height:30px}.mat-bread-crumb-list{padding-bottom:10px}\n"] }]
|
|
1046
|
+
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: i1$1.BreadcrumbService }], propDecorators: { fontSize: [{
|
|
1047
|
+
type: Input
|
|
1048
|
+
}], fontColor: [{
|
|
1049
|
+
type: Input
|
|
1050
|
+
}], lastLinkColor: [{
|
|
1051
|
+
type: Input
|
|
1052
|
+
}], symbol: [{
|
|
1053
|
+
type: Input
|
|
1054
|
+
}] } });
|
|
1120
1055
|
|
|
1121
1056
|
var ButtonTypes;
|
|
1122
1057
|
(function (ButtonTypes) {
|
|
@@ -1190,10 +1125,10 @@ class MmConfirmationWindowComponent {
|
|
|
1190
1125
|
result: this.button3Result
|
|
1191
1126
|
});
|
|
1192
1127
|
}
|
|
1193
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
1194
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
1128
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmConfirmationWindowComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
1129
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MmConfirmationWindowComponent, selector: "mm-confirmation-window", ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>{{data.message}}</div>\n<div style=\"justify-content: flex-end;\" mat-dialog-actions>\n <button (click)=\"onButton1()\" color=\"primary\" mat-button>{{button1Text}}</button>\n <button (click)=\"onButton2()\" *ngIf=\"button2Text\" mat-button>{{button2Text}}</button>\n <button (click)=\"onButton3()\" *ngIf=\"button3Text\" mat-button>{{button3Text}}</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
|
1195
1130
|
}
|
|
1196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
1131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmConfirmationWindowComponent, decorators: [{
|
|
1197
1132
|
type: Component,
|
|
1198
1133
|
args: [{ selector: 'mm-confirmation-window', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>{{data.message}}</div>\n<div style=\"justify-content: flex-end;\" mat-dialog-actions>\n <button (click)=\"onButton1()\" color=\"primary\" mat-button>{{button1Text}}</button>\n <button (click)=\"onButton2()\" *ngIf=\"button2Text\" mat-button>{{button2Text}}</button>\n <button (click)=\"onButton3()\" *ngIf=\"button3Text\" mat-button>{{button3Text}}</button>\n</div>\n" }]
|
|
1199
1134
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
@@ -1201,6 +1136,96 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
1201
1136
|
args: [MAT_DIALOG_DATA]
|
|
1202
1137
|
}] }] });
|
|
1203
1138
|
|
|
1139
|
+
class MmProgressWindowComponent {
|
|
1140
|
+
data;
|
|
1141
|
+
statusText;
|
|
1142
|
+
progressValue;
|
|
1143
|
+
constructor(data) {
|
|
1144
|
+
this.data = data;
|
|
1145
|
+
this.statusText = null;
|
|
1146
|
+
this.progressValue = 0;
|
|
1147
|
+
data.progress.subscribe((value) => {
|
|
1148
|
+
this.statusText = value.statusText;
|
|
1149
|
+
this.progressValue = value.progressValue;
|
|
1150
|
+
});
|
|
1151
|
+
}
|
|
1152
|
+
ngOnInit() { }
|
|
1153
|
+
onCancelClick() {
|
|
1154
|
+
this.data.cancelOperation();
|
|
1155
|
+
}
|
|
1156
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmProgressWindowComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
1157
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MmProgressWindowComponent, selector: "mm-progress-window", ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div fxLayout=\"column\">\n <mat-progress-bar *ngIf=\"data.isDeterminate\" [value]=\"progressValue\" mode=\"determinate\"></mat-progress-bar>\n <mat-progress-bar *ngIf=\"!data.isDeterminate\" mode=\"indeterminate\"></mat-progress-bar>\n <p>{{statusText}}</p>\n </div>\n</div>\n<div style=\"justify-content: flex-end;\" mat-dialog-actions>\n <button (click)=\"onCancelClick()\" *ngIf=\"data.isCancelOperationAvailable\" mat-button>Cancel</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
|
1158
|
+
}
|
|
1159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmProgressWindowComponent, decorators: [{
|
|
1160
|
+
type: Component,
|
|
1161
|
+
args: [{ selector: 'mm-progress-window', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div fxLayout=\"column\">\n <mat-progress-bar *ngIf=\"data.isDeterminate\" [value]=\"progressValue\" mode=\"determinate\"></mat-progress-bar>\n <mat-progress-bar *ngIf=\"!data.isDeterminate\" mode=\"indeterminate\"></mat-progress-bar>\n <p>{{statusText}}</p>\n </div>\n</div>\n<div style=\"justify-content: flex-end;\" mat-dialog-actions>\n <button (click)=\"onCancelClick()\" *ngIf=\"data.isCancelOperationAvailable\" mat-button>Cancel</button>\n</div>\n" }]
|
|
1162
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1163
|
+
type: Inject,
|
|
1164
|
+
args: [MAT_DIALOG_DATA]
|
|
1165
|
+
}] }] });
|
|
1166
|
+
|
|
1167
|
+
class MmSharedUiModule {
|
|
1168
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmSharedUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1169
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: MmSharedUiModule, declarations: [MmBreadcrumbComponent,
|
|
1170
|
+
MmConfirmationWindowComponent,
|
|
1171
|
+
MmProgressWindowComponent,
|
|
1172
|
+
MmNotificationBarComponent,
|
|
1173
|
+
MmMessageDetailsComponent,
|
|
1174
|
+
MmAutocompleteInputComponent,
|
|
1175
|
+
MmEntitySelectInputComponent,
|
|
1176
|
+
MmMultipleEntitySelectInputComponent], imports: [CommonModule,
|
|
1177
|
+
MatToolbarModule,
|
|
1178
|
+
MatButtonModule,
|
|
1179
|
+
MatSnackBarModule,
|
|
1180
|
+
MatDialogModule,
|
|
1181
|
+
MatAutocompleteModule,
|
|
1182
|
+
MatInputModule,
|
|
1183
|
+
MatProgressSpinnerModule,
|
|
1184
|
+
MatChipsModule,
|
|
1185
|
+
MatIconModule,
|
|
1186
|
+
ReactiveFormsModule], exports: [MmBreadcrumbComponent, MmConfirmationWindowComponent, MmNotificationBarComponent, MmAutocompleteInputComponent, MmEntitySelectInputComponent, MmMultipleEntitySelectInputComponent] });
|
|
1187
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmSharedUiModule, imports: [CommonModule,
|
|
1188
|
+
MatToolbarModule,
|
|
1189
|
+
MatButtonModule,
|
|
1190
|
+
MatSnackBarModule,
|
|
1191
|
+
MatDialogModule,
|
|
1192
|
+
MatAutocompleteModule,
|
|
1193
|
+
MatInputModule,
|
|
1194
|
+
MatProgressSpinnerModule,
|
|
1195
|
+
MatChipsModule,
|
|
1196
|
+
MatIconModule,
|
|
1197
|
+
ReactiveFormsModule] });
|
|
1198
|
+
}
|
|
1199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MmSharedUiModule, decorators: [{
|
|
1200
|
+
type: NgModule,
|
|
1201
|
+
args: [{
|
|
1202
|
+
declarations: [
|
|
1203
|
+
MmBreadcrumbComponent,
|
|
1204
|
+
MmConfirmationWindowComponent,
|
|
1205
|
+
MmProgressWindowComponent,
|
|
1206
|
+
MmNotificationBarComponent,
|
|
1207
|
+
MmMessageDetailsComponent,
|
|
1208
|
+
MmAutocompleteInputComponent,
|
|
1209
|
+
MmEntitySelectInputComponent,
|
|
1210
|
+
MmMultipleEntitySelectInputComponent,
|
|
1211
|
+
],
|
|
1212
|
+
exports: [MmBreadcrumbComponent, MmConfirmationWindowComponent, MmNotificationBarComponent, MmAutocompleteInputComponent, MmEntitySelectInputComponent, MmMultipleEntitySelectInputComponent],
|
|
1213
|
+
imports: [
|
|
1214
|
+
CommonModule,
|
|
1215
|
+
MatToolbarModule,
|
|
1216
|
+
MatButtonModule,
|
|
1217
|
+
MatSnackBarModule,
|
|
1218
|
+
MatDialogModule,
|
|
1219
|
+
MatAutocompleteModule,
|
|
1220
|
+
MatInputModule,
|
|
1221
|
+
MatProgressSpinnerModule,
|
|
1222
|
+
MatChipsModule,
|
|
1223
|
+
MatIconModule,
|
|
1224
|
+
ReactiveFormsModule
|
|
1225
|
+
]
|
|
1226
|
+
}]
|
|
1227
|
+
}] });
|
|
1228
|
+
|
|
1204
1229
|
class ConfirmationService {
|
|
1205
1230
|
dialog;
|
|
1206
1231
|
constructor(dialog) {
|
|
@@ -1254,34 +1279,73 @@ class ConfirmationService {
|
|
|
1254
1279
|
});
|
|
1255
1280
|
return dialogRef.afterClosed().pipe(map((value) => value?.result === ButtonTypes.Ok));
|
|
1256
1281
|
}
|
|
1257
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
1258
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.
|
|
1282
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ConfirmationService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1283
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
|
|
1259
1284
|
}
|
|
1260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
1285
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ConfirmationService, decorators: [{
|
|
1261
1286
|
type: Injectable,
|
|
1262
1287
|
args: [{
|
|
1263
1288
|
providedIn: 'root'
|
|
1264
1289
|
}]
|
|
1265
1290
|
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
1266
1291
|
|
|
1267
|
-
class
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1292
|
+
class ProgressNotifierService {
|
|
1293
|
+
dialog;
|
|
1294
|
+
_currentProgressValue;
|
|
1295
|
+
currentDialogRef;
|
|
1296
|
+
constructor(dialog) {
|
|
1297
|
+
this.dialog = dialog;
|
|
1298
|
+
this._currentProgressValue = new BehaviorSubject(null);
|
|
1299
|
+
this.currentDialogRef = null;
|
|
1300
|
+
this._isCanceled = false;
|
|
1273
1301
|
}
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1302
|
+
_isCanceled;
|
|
1303
|
+
get isCanceled() {
|
|
1304
|
+
return this._isCanceled;
|
|
1305
|
+
}
|
|
1306
|
+
set isCanceled(value) {
|
|
1307
|
+
this._isCanceled = value;
|
|
1308
|
+
}
|
|
1309
|
+
start(title, isDeterminate, isCancelOperationAvailable) {
|
|
1310
|
+
this.isCanceled = false;
|
|
1311
|
+
this.reportProgressDeterminate(0, 100, 'Working...');
|
|
1312
|
+
this.currentDialogRef = this.dialog.open(MmProgressWindowComponent, {
|
|
1313
|
+
width: '50vw',
|
|
1314
|
+
maxWidth: '50vw',
|
|
1315
|
+
data: {
|
|
1316
|
+
title,
|
|
1317
|
+
isDeterminate,
|
|
1318
|
+
progress: this._currentProgressValue.asObservable(),
|
|
1319
|
+
isCancelOperationAvailable,
|
|
1320
|
+
cancelOperation: () => {
|
|
1321
|
+
this.reportProgressIndeterminate('Canceling operation...');
|
|
1322
|
+
this.isCanceled = true;
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
});
|
|
1326
|
+
}
|
|
1327
|
+
reportProgressDeterminate(progressCurrent, progressMax, statusText) {
|
|
1328
|
+
const progressPercentage = (progressMax / 100) * progressCurrent;
|
|
1329
|
+
this._currentProgressValue.next({
|
|
1330
|
+
statusText,
|
|
1331
|
+
progressValue: progressPercentage
|
|
1332
|
+
});
|
|
1333
|
+
}
|
|
1334
|
+
reportProgressIndeterminate(statusText) {
|
|
1335
|
+
this._currentProgressValue.next({
|
|
1336
|
+
statusText,
|
|
1337
|
+
progressValue: 0
|
|
1338
|
+
});
|
|
1339
|
+
}
|
|
1340
|
+
complete() {
|
|
1341
|
+
this.currentDialogRef?.close();
|
|
1342
|
+
}
|
|
1343
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProgressNotifierService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1344
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProgressNotifierService });
|
|
1277
1345
|
}
|
|
1278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
1279
|
-
type:
|
|
1280
|
-
|
|
1281
|
-
declarations: [MmConfirmationWindowComponent],
|
|
1282
|
-
imports: [CommonModule, MatDialogModule, MatButtonModule]
|
|
1283
|
-
}]
|
|
1284
|
-
}] });
|
|
1346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProgressNotifierService, decorators: [{
|
|
1347
|
+
type: Injectable
|
|
1348
|
+
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
1285
1349
|
|
|
1286
1350
|
function isEmptyInputValue(value) {
|
|
1287
1351
|
// we don't check for string here so it also works with arrays
|
|
@@ -1370,140 +1434,6 @@ class AbstractDetailsComponent {
|
|
|
1370
1434
|
}
|
|
1371
1435
|
}
|
|
1372
1436
|
|
|
1373
|
-
class BreadcrumbService {
|
|
1374
|
-
breadcrumbLabels = new BehaviorSubject([]);
|
|
1375
|
-
newBreadcrumb = new BehaviorSubject([]);
|
|
1376
|
-
updateBreadcrumbLabels(labels) {
|
|
1377
|
-
this.breadcrumbLabels.next(labels);
|
|
1378
|
-
}
|
|
1379
|
-
updateBreadcrumb(newBreadcrumb) {
|
|
1380
|
-
this.newBreadcrumb.next(newBreadcrumb);
|
|
1381
|
-
}
|
|
1382
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1383
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
|
|
1384
|
-
}
|
|
1385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BreadcrumbService, decorators: [{
|
|
1386
|
-
type: Injectable,
|
|
1387
|
-
args: [{
|
|
1388
|
-
providedIn: 'root'
|
|
1389
|
-
}]
|
|
1390
|
-
}] });
|
|
1391
|
-
|
|
1392
|
-
class MmBreadcrumbComponent {
|
|
1393
|
-
activatedRoute;
|
|
1394
|
-
router;
|
|
1395
|
-
breadcrumbService;
|
|
1396
|
-
breadcrumb = [];
|
|
1397
|
-
fontSize = '18px';
|
|
1398
|
-
fontColor = '#0275d8';
|
|
1399
|
-
lastLinkColor = '#000';
|
|
1400
|
-
symbol = ' / ';
|
|
1401
|
-
constructor(activatedRoute, router, breadcrumbService) {
|
|
1402
|
-
this.activatedRoute = activatedRoute;
|
|
1403
|
-
this.router = router;
|
|
1404
|
-
this.breadcrumbService = breadcrumbService;
|
|
1405
|
-
this.breadCrumbData();
|
|
1406
|
-
}
|
|
1407
|
-
ngOnInit() {
|
|
1408
|
-
this.breadcrumbService.breadcrumbLabels.subscribe((labelData) => {
|
|
1409
|
-
Object.entries(labelData).forEach(([key, value]) => {
|
|
1410
|
-
this.breadcrumb.forEach((crumb) => {
|
|
1411
|
-
const labelParams = crumb.label.match(/[^{{]+(?=}})/g);
|
|
1412
|
-
if (labelParams) {
|
|
1413
|
-
for (const labelParam of labelParams) {
|
|
1414
|
-
if (labelParam === key) {
|
|
1415
|
-
crumb.label = crumb.label.replace('{{' + labelParam + '}}', value);
|
|
1416
|
-
}
|
|
1417
|
-
}
|
|
1418
|
-
}
|
|
1419
|
-
});
|
|
1420
|
-
});
|
|
1421
|
-
});
|
|
1422
|
-
this.breadcrumbService.newBreadcrumb.subscribe((breadcrumb) => {
|
|
1423
|
-
if (breadcrumb.length > 0) {
|
|
1424
|
-
this.updateData(this.activatedRoute, breadcrumb);
|
|
1425
|
-
}
|
|
1426
|
-
});
|
|
1427
|
-
}
|
|
1428
|
-
breadCrumbData() {
|
|
1429
|
-
this.router.events
|
|
1430
|
-
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
1431
|
-
.pipe(map(() => this.activatedRoute))
|
|
1432
|
-
.pipe(map((route) => {
|
|
1433
|
-
while (route.firstChild) {
|
|
1434
|
-
route = route.firstChild;
|
|
1435
|
-
}
|
|
1436
|
-
return route;
|
|
1437
|
-
}))
|
|
1438
|
-
.pipe(filter((route) => route.outlet === PRIMARY_OUTLET))
|
|
1439
|
-
.subscribe((route) => {
|
|
1440
|
-
this.updateData(route, null);
|
|
1441
|
-
});
|
|
1442
|
-
}
|
|
1443
|
-
updateData(route, newBreadcrumb) {
|
|
1444
|
-
if (route.snapshot.data['breadcrumb'] || newBreadcrumb) {
|
|
1445
|
-
const data = route.snapshot.data['breadcrumb'] ? route.snapshot.data['breadcrumb'] : newBreadcrumb;
|
|
1446
|
-
const breadcrumb = JSON.parse(JSON.stringify(data));
|
|
1447
|
-
breadcrumb.forEach((crumb) => {
|
|
1448
|
-
if (crumb.url) {
|
|
1449
|
-
const urlChunks = crumb.url.split('/');
|
|
1450
|
-
for (const chunk of urlChunks) {
|
|
1451
|
-
if (chunk.includes(':')) {
|
|
1452
|
-
const paramID = chunk.replace(':', '');
|
|
1453
|
-
const routerParamID = route.snapshot.params[paramID];
|
|
1454
|
-
crumb.url = crumb.url.replace(`:${paramID}`, routerParamID);
|
|
1455
|
-
}
|
|
1456
|
-
}
|
|
1457
|
-
}
|
|
1458
|
-
const labelParams = crumb.label.match(/[^{{]+(?=}})/g);
|
|
1459
|
-
if (labelParams) {
|
|
1460
|
-
for (const labelParam of labelParams) {
|
|
1461
|
-
const routerParamID = decodeURIComponent(route.snapshot.params[labelParam.trim()]);
|
|
1462
|
-
if (routerParamID) {
|
|
1463
|
-
crumb.label = crumb.label.replace('{{' + labelParam + '}}', routerParamID);
|
|
1464
|
-
}
|
|
1465
|
-
else {
|
|
1466
|
-
// crumb.label = crumb.label.replace('{{' + labelParam + '}}', '');
|
|
1467
|
-
}
|
|
1468
|
-
}
|
|
1469
|
-
}
|
|
1470
|
-
});
|
|
1471
|
-
this.breadcrumb = breadcrumb;
|
|
1472
|
-
}
|
|
1473
|
-
else {
|
|
1474
|
-
this.breadcrumb = [];
|
|
1475
|
-
}
|
|
1476
|
-
}
|
|
1477
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MmBreadcrumbComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1478
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: MmBreadcrumbComponent, selector: "mm-breadcrumb", inputs: { fontSize: "fontSize", fontColor: "fontColor", lastLinkColor: "lastLinkColor", symbol: "symbol" }, ngImport: i0, template: "<mat-list class=\"mat-bread-crumb-list\" *ngIf=\"breadcrumb.length\">\n <mat-list-item>\n <span class=\"mat-bread-crumb-spacer\">\n <span *ngFor=\"let item of breadcrumb; let i = index\">\n <a *ngIf=\"item?.url\" [routerLink]=\"item?.url\"\n class=\"mat-bread-crumb-list-item\">{{ item.label }}</a>\n <span *ngIf=\"!item?.url\" class=\"mat-bread-crumb-list-item\">{{ item.label }}</span>\n <span *ngIf=\"breadcrumb.length !== i+1\" class=\"mat-bread-crumb-list-item\">{{symbol}}</span>\n </span>\n </span>\n </mat-list-item>\n</mat-list>\n", styles: [".mat-bread-crumb{height:30px}.mat-bread-crumb-list{padding-bottom:10px}\n"], dependencies: [{ kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i4$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }] });
|
|
1479
|
-
}
|
|
1480
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MmBreadcrumbComponent, decorators: [{
|
|
1481
|
-
type: Component,
|
|
1482
|
-
args: [{ selector: 'mm-breadcrumb', template: "<mat-list class=\"mat-bread-crumb-list\" *ngIf=\"breadcrumb.length\">\n <mat-list-item>\n <span class=\"mat-bread-crumb-spacer\">\n <span *ngFor=\"let item of breadcrumb; let i = index\">\n <a *ngIf=\"item?.url\" [routerLink]=\"item?.url\"\n class=\"mat-bread-crumb-list-item\">{{ item.label }}</a>\n <span *ngIf=\"!item?.url\" class=\"mat-bread-crumb-list-item\">{{ item.label }}</span>\n <span *ngIf=\"breadcrumb.length !== i+1\" class=\"mat-bread-crumb-list-item\">{{symbol}}</span>\n </span>\n </span>\n </mat-list-item>\n</mat-list>\n", styles: [".mat-bread-crumb{height:30px}.mat-bread-crumb-list{padding-bottom:10px}\n"] }]
|
|
1483
|
-
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: BreadcrumbService }], propDecorators: { fontSize: [{
|
|
1484
|
-
type: Input
|
|
1485
|
-
}], fontColor: [{
|
|
1486
|
-
type: Input
|
|
1487
|
-
}], lastLinkColor: [{
|
|
1488
|
-
type: Input
|
|
1489
|
-
}], symbol: [{
|
|
1490
|
-
type: Input
|
|
1491
|
-
}] } });
|
|
1492
|
-
|
|
1493
|
-
class BreadcrumbModule {
|
|
1494
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1495
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: BreadcrumbModule, declarations: [MmBreadcrumbComponent], imports: [RouterModule, CommonModule, BrowserAnimationsModule, MatToolbarModule, MatListModule], exports: [MmBreadcrumbComponent] });
|
|
1496
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BreadcrumbModule, imports: [RouterModule, CommonModule, BrowserAnimationsModule, MatToolbarModule, MatListModule] });
|
|
1497
|
-
}
|
|
1498
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BreadcrumbModule, decorators: [{
|
|
1499
|
-
type: NgModule,
|
|
1500
|
-
args: [{
|
|
1501
|
-
declarations: [MmBreadcrumbComponent],
|
|
1502
|
-
imports: [RouterModule, CommonModule, BrowserAnimationsModule, MatToolbarModule, MatListModule],
|
|
1503
|
-
exports: [MmBreadcrumbComponent]
|
|
1504
|
-
}]
|
|
1505
|
-
}] });
|
|
1506
|
-
|
|
1507
1437
|
/*
|
|
1508
1438
|
* Public API Surface of shared-ui
|
|
1509
1439
|
*/
|
|
@@ -1512,5 +1442,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
1512
1442
|
* Generated bundle index. Do not edit.
|
|
1513
1443
|
*/
|
|
1514
1444
|
|
|
1515
|
-
export { AbstractDetailsComponent,
|
|
1445
|
+
export { AbstractDetailsComponent, ButtonTypes, CommonValidators, ConfirmationService, DialogType, MmAutocompleteInputComponent, MmBreadcrumbComponent, MmConfirmationWindowComponent, MmEntitySelectInputComponent, MmMultipleEntitySelectInputComponent, MmNotificationBarComponent, MmSharedUiModule, ProgressNotifierService };
|
|
1516
1446
|
//# sourceMappingURL=meshmakers-shared-ui.mjs.map
|