@meshmakers/shared-ui 3.1.150-0 → 3.1.155-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 +3 -3
- package/esm2022/lib/mm-breadcrumb/mm-breadcrumb.component.mjs +21 -17
- package/esm2022/lib/mm-confirmation-window/mm-confirmation-window.component.mjs +5 -5
- package/esm2022/lib/mm-entity-select-input/mm-entity-select-input.component.mjs +3 -3
- package/esm2022/lib/mm-file-upload/mm-file-upload.component.mjs +5 -4
- package/esm2022/lib/mm-message-details/mm-message-details.component.mjs +5 -5
- package/esm2022/lib/mm-multiple-entity-select-input/mm-multiple-entity-select-input.component.mjs +3 -3
- package/esm2022/lib/mm-notification-bar/mm-notification-bar.component.mjs +3 -3
- package/esm2022/lib/mm-progress-window/mm-progress-window.component.mjs +3 -3
- package/esm2022/lib/mm-shared-ui.module.mjs +4 -4
- package/esm2022/lib/services/breadcrumbData.mjs +11 -0
- package/esm2022/lib/services/confirmation.service.mjs +3 -3
- package/esm2022/lib/services/file-upload.service.mjs +3 -3
- package/esm2022/lib/services/progress-notifier.service.mjs +3 -3
- package/fesm2022/meshmakers-shared-ui.mjs +70 -55
- package/fesm2022/meshmakers-shared-ui.mjs.map +1 -1
- package/lib/mm-breadcrumb/mm-breadcrumb.component.d.ts +3 -2
- package/lib/services/breadcrumbData.d.ts +6 -0
- package/package.json +1 -1
|
@@ -54,10 +54,10 @@ export class ProgressNotifierService {
|
|
|
54
54
|
complete() {
|
|
55
55
|
this.currentDialogRef?.close();
|
|
56
56
|
}
|
|
57
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
58
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressNotifierService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressNotifierService });
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressNotifierService, decorators: [{
|
|
61
61
|
type: Injectable
|
|
62
62
|
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
63
63
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtbm90aWZpZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXVpL3NyYy9saWIvc2VydmljZXMvcHJvZ3Jlc3Mtbm90aWZpZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdkMsT0FBTyxFQUFFLHlCQUF5QixFQUE0QyxNQUFNLG9EQUFvRCxDQUFDOzs7QUFHekksTUFBTSxPQUFPLHVCQUF1QjtJQUlMO0lBSFoscUJBQXFCLENBQXdDO0lBQ3RFLGdCQUFnQixDQUF1RTtJQUUvRixZQUE2QixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQzVDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBdUIsSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRU8sV0FBVyxDQUFVO0lBRTdCLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWEsRUFBRSxhQUFzQixFQUFFLDBCQUFtQztRQUM5RSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQXNFLHlCQUF5QixFQUFFO1lBQ3ZJLEtBQUssRUFBRSxNQUFNO1lBQ2IsUUFBUSxFQUFFLE1BQU07WUFDaEIsSUFBSSxFQUFFO2dCQUNKLEtBQUs7Z0JBQ0wsYUFBYTtnQkFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRTtnQkFDbkQsMEJBQTBCO2dCQUMxQixlQUFlLEVBQUUsR0FBRyxFQUFFO29CQUNwQixJQUFJLENBQUMsMkJBQTJCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLENBQUM7YUFDb0I7U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHlCQUF5QixDQUFDLGVBQXVCLEVBQUUsV0FBbUIsRUFBRSxVQUFrQjtRQUN4RixNQUFNLGtCQUFrQixHQUFHLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUVqRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFFO1lBQy9CLFVBQVU7WUFDVixhQUFhLEVBQUUsa0JBQWtCO1NBQ2hCLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsMkJBQTJCLENBQUMsVUFBa0I7UUFDNUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBRTtZQUMvQixVQUFVO1lBQ1YsYUFBYSxFQUFFLENBQUM7U0FDQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDakMsQ0FBQzt1R0ExRFUsdUJBQXVCOzJHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByb2dyZXNzVmFsdWUgfSBmcm9tICcuLi9tb2RlbHMvcHJvZ3Jlc3NWYWx1ZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNbVByb2dyZXNzV2luZG93Q29tcG9uZW50LCBQcm9ncmVzc1dpbmRvd0RhdGEsIFByb2dyZXNzV2luZG93UmVzdWx0IH0gZnJvbSAnLi4vbW0tcHJvZ3Jlc3Mtd2luZG93L21tLXByb2dyZXNzLXdpbmRvdy5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NOb3RpZmllclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9jdXJyZW50UHJvZ3Jlc3NWYWx1ZTogQmVoYXZpb3JTdWJqZWN0PFByb2dyZXNzVmFsdWUgfCBudWxsPjtcbiAgcHJpdmF0ZSBjdXJyZW50RGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TW1Qcm9ncmVzc1dpbmRvd0NvbXBvbmVudCwgUHJvZ3Jlc3NXaW5kb3dSZXN1bHQ+IHwgbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nKSB7XG4gICAgdGhpcy5fY3VycmVudFByb2dyZXNzVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2dyZXNzVmFsdWUgfCBudWxsPihudWxsKTtcbiAgICB0aGlzLmN1cnJlbnREaWFsb2dSZWYgPSBudWxsO1xuICAgIHRoaXMuX2lzQ2FuY2VsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzQ2FuY2VsZWQ6IGJvb2xlYW47XG5cbiAgZ2V0IGlzQ2FuY2VsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ2FuY2VsZWQ7XG4gIH1cblxuICBzZXQgaXNDYW5jZWxlZCh2YWx1ZSkge1xuICAgIHRoaXMuX2lzQ2FuY2VsZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHN0YXJ0KHRpdGxlOiBzdHJpbmcsIGlzRGV0ZXJtaW5hdGU6IGJvb2xlYW4sIGlzQ2FuY2VsT3BlcmF0aW9uQXZhaWxhYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0NhbmNlbGVkID0gZmFsc2U7XG4gICAgdGhpcy5yZXBvcnRQcm9ncmVzc0RldGVybWluYXRlKDAsIDEwMCwgJ1dvcmtpbmcuLi4nKTtcblxuICAgIHRoaXMuY3VycmVudERpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW48TW1Qcm9ncmVzc1dpbmRvd0NvbXBvbmVudCwgUHJvZ3Jlc3NXaW5kb3dEYXRhLCBQcm9ncmVzc1dpbmRvd1Jlc3VsdD4oTW1Qcm9ncmVzc1dpbmRvd0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc1MHZ3JyxcbiAgICAgIG1heFdpZHRoOiAnNTB2dycsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRpdGxlLFxuICAgICAgICBpc0RldGVybWluYXRlLFxuICAgICAgICBwcm9ncmVzczogdGhpcy5fY3VycmVudFByb2dyZXNzVmFsdWUuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgIGlzQ2FuY2VsT3BlcmF0aW9uQXZhaWxhYmxlLFxuICAgICAgICBjYW5jZWxPcGVyYXRpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlcG9ydFByb2dyZXNzSW5kZXRlcm1pbmF0ZSgnQ2FuY2VsaW5nIG9wZXJhdGlvbi4uLicpO1xuICAgICAgICAgIHRoaXMuaXNDYW5jZWxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gYXMgUHJvZ3Jlc3NXaW5kb3dEYXRhXG4gICAgfSk7XG4gIH1cblxuICByZXBvcnRQcm9ncmVzc0RldGVybWluYXRlKHByb2dyZXNzQ3VycmVudDogbnVtYmVyLCBwcm9ncmVzc01heDogbnVtYmVyLCBzdGF0dXNUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9ncmVzc1BlcmNlbnRhZ2UgPSAocHJvZ3Jlc3NNYXggLyAxMDApICogcHJvZ3Jlc3NDdXJyZW50O1xuXG4gICAgdGhpcy5fY3VycmVudFByb2dyZXNzVmFsdWUubmV4dCgoe1xuICAgICAgc3RhdHVzVGV4dCxcbiAgICAgIHByb2dyZXNzVmFsdWU6IHByb2dyZXNzUGVyY2VudGFnZVxuICAgIH0gYXMgUHJvZ3Jlc3NWYWx1ZSkpO1xuICB9XG5cbiAgcmVwb3J0UHJvZ3Jlc3NJbmRldGVybWluYXRlKHN0YXR1c1RleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2N1cnJlbnRQcm9ncmVzc1ZhbHVlLm5leHQoKHtcbiAgICAgIHN0YXR1c1RleHQsXG4gICAgICBwcm9ncmVzc1ZhbHVlOiAwXG4gICAgfSBhcyBQcm9ncmVzc1ZhbHVlKSk7XG4gIH1cblxuICBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnREaWFsb2dSZWY/LmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -46,12 +46,12 @@ class MmMessageDetailsComponent {
|
|
|
46
46
|
this.errorMessage = data.errorMessage;
|
|
47
47
|
}
|
|
48
48
|
ngOnInit() { }
|
|
49
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
50
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmMessageDetailsComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", 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 class=\"primary-button\" mat-dialog-close mat-flat-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]" }] });
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmMessageDetailsComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
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
|
|
54
|
+
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 class=\"primary-button\" mat-dialog-close mat-flat-button>OK</button>\n</mat-dialog-actions>\n" }]
|
|
55
55
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
56
56
|
type: Inject,
|
|
57
57
|
args: [MAT_DIALOG_DATA]
|
|
@@ -81,10 +81,10 @@ class MmNotificationBarComponent {
|
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
85
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
84
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmNotificationBarComponent, deps: [{ token: i1$1.MessageService }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", 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 class=\"material-symbols-outlined\">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"] }] });
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmNotificationBarComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
89
|
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 class=\"material-symbols-outlined\">close</mat-icon></button>\n</mat-toolbar>\n", styles: [".notification-fill-remaining-space{flex:1 1 auto}\n"] }]
|
|
90
90
|
}], ctorParameters: () => [{ type: i1$1.MessageService }, { type: i1.MatDialog }] });
|
|
@@ -315,8 +315,8 @@ class MmAutocompleteInputComponent {
|
|
|
315
315
|
};
|
|
316
316
|
_onTouched = () => {
|
|
317
317
|
};
|
|
318
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
319
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
318
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmAutocompleteInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1$2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
|
319
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", 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: [
|
|
320
320
|
{
|
|
321
321
|
provide: NG_VALUE_ACCESSOR,
|
|
322
322
|
useExisting: forwardRef(() => MmAutocompleteInputComponent),
|
|
@@ -333,7 +333,7 @@ class MmAutocompleteInputComponent {
|
|
|
333
333
|
}
|
|
334
334
|
], 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"] }] });
|
|
335
335
|
}
|
|
336
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmAutocompleteInputComponent, decorators: [{
|
|
337
337
|
type: Component,
|
|
338
338
|
args: [{ selector: "mm-autocomplete", host: {
|
|
339
339
|
"[id]": "id",
|
|
@@ -594,8 +594,8 @@ class MmEntitySelectInputComponent {
|
|
|
594
594
|
this.stateChanges.next();
|
|
595
595
|
}
|
|
596
596
|
}
|
|
597
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
598
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
597
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmEntitySelectInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1$2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
|
598
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", 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: [
|
|
599
599
|
{
|
|
600
600
|
provide: NG_VALUE_ACCESSOR,
|
|
601
601
|
useExisting: forwardRef(() => MmEntitySelectInputComponent),
|
|
@@ -612,7 +612,7 @@ class MmEntitySelectInputComponent {
|
|
|
612
612
|
}
|
|
613
613
|
], 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"] }] });
|
|
614
614
|
}
|
|
615
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
615
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmEntitySelectInputComponent, decorators: [{
|
|
616
616
|
type: Component,
|
|
617
617
|
args: [{ selector: 'mm-entity-select', host: {
|
|
618
618
|
'[id]': 'id',
|
|
@@ -893,8 +893,8 @@ class MmMultipleEntitySelectInputComponent {
|
|
|
893
893
|
this.stateChanges.next();
|
|
894
894
|
}
|
|
895
895
|
}
|
|
896
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
897
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
896
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmMultipleEntitySelectInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1$2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
|
897
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", 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: [
|
|
898
898
|
{
|
|
899
899
|
provide: NG_VALUE_ACCESSOR,
|
|
900
900
|
useExisting: forwardRef(() => MmMultipleEntitySelectInputComponent),
|
|
@@ -911,7 +911,7 @@ class MmMultipleEntitySelectInputComponent {
|
|
|
911
911
|
}
|
|
912
912
|
], 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 class=\"material-symbols-outlined\">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"] }] });
|
|
913
913
|
}
|
|
914
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
914
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmMultipleEntitySelectInputComponent, decorators: [{
|
|
915
915
|
type: Component,
|
|
916
916
|
args: [{ selector: 'mm-multiple-entity-select', host: {
|
|
917
917
|
'[id]': 'id',
|
|
@@ -955,11 +955,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImpor
|
|
|
955
955
|
args: ['class.floating']
|
|
956
956
|
}] } });
|
|
957
957
|
|
|
958
|
+
class BreadcrumbData {
|
|
959
|
+
constructor(label, labelTemplate, url) {
|
|
960
|
+
this.label = label;
|
|
961
|
+
this.labelTemplate = labelTemplate;
|
|
962
|
+
this.url = url;
|
|
963
|
+
}
|
|
964
|
+
label;
|
|
965
|
+
labelTemplate;
|
|
966
|
+
url;
|
|
967
|
+
}
|
|
968
|
+
|
|
958
969
|
class MmBreadcrumbComponent {
|
|
959
970
|
activatedRoute;
|
|
960
971
|
router;
|
|
961
972
|
breadcrumbService;
|
|
962
|
-
|
|
973
|
+
breadcrumbData = [];
|
|
963
974
|
fontSize = '18px';
|
|
964
975
|
fontColor = '#0275d8';
|
|
965
976
|
lastLinkColor = '#000';
|
|
@@ -973,12 +984,12 @@ class MmBreadcrumbComponent {
|
|
|
973
984
|
ngOnInit() {
|
|
974
985
|
this.breadcrumbService.breadcrumbLabels.subscribe((labelData) => {
|
|
975
986
|
Object.entries(labelData).forEach(([key, value]) => {
|
|
976
|
-
this.
|
|
977
|
-
const labelParams =
|
|
987
|
+
this.breadcrumbData.forEach((breadcrumbData) => {
|
|
988
|
+
const labelParams = breadcrumbData.labelTemplate.match(/[^{{]+(?=}})/g);
|
|
978
989
|
if (labelParams) {
|
|
979
990
|
for (const labelParam of labelParams) {
|
|
980
991
|
if (labelParam === key) {
|
|
981
|
-
|
|
992
|
+
breadcrumbData.label = breadcrumbData.labelTemplate.replace('{{' + labelParam + '}}', value);
|
|
982
993
|
}
|
|
983
994
|
}
|
|
984
995
|
}
|
|
@@ -1010,42 +1021,45 @@ class MmBreadcrumbComponent {
|
|
|
1010
1021
|
if (route.snapshot.data['breadcrumb'] || newBreadcrumb) {
|
|
1011
1022
|
const data = route.snapshot.data['breadcrumb'] ? route.snapshot.data['breadcrumb'] : newBreadcrumb;
|
|
1012
1023
|
const breadcrumb = JSON.parse(JSON.stringify(data));
|
|
1024
|
+
const breadcrumbData = new Array();
|
|
1013
1025
|
breadcrumb.forEach((crumb) => {
|
|
1014
|
-
|
|
1015
|
-
|
|
1026
|
+
const breadcrumbDataItem = new BreadcrumbData(crumb.label, crumb.label, crumb.url);
|
|
1027
|
+
breadcrumbData.push(breadcrumbDataItem);
|
|
1028
|
+
if (breadcrumbDataItem.url) {
|
|
1029
|
+
const urlChunks = breadcrumbDataItem.url.split('/');
|
|
1016
1030
|
for (const chunk of urlChunks) {
|
|
1017
1031
|
if (chunk.includes(':')) {
|
|
1018
1032
|
const paramID = chunk.replace(':', '');
|
|
1019
1033
|
const routerParamID = route.snapshot.params[paramID];
|
|
1020
|
-
|
|
1034
|
+
breadcrumbDataItem.url = crumb.url.replace(`:${paramID}`, routerParamID);
|
|
1021
1035
|
}
|
|
1022
1036
|
}
|
|
1023
1037
|
}
|
|
1024
|
-
const labelParams =
|
|
1038
|
+
const labelParams = breadcrumbDataItem.labelTemplate.match(/[^{{]+(?=}})/g);
|
|
1025
1039
|
if (labelParams) {
|
|
1026
1040
|
for (const labelParam of labelParams) {
|
|
1027
1041
|
const routerParamID = decodeURIComponent(route.snapshot.params[labelParam.trim()]);
|
|
1028
1042
|
if (routerParamID) {
|
|
1029
|
-
|
|
1043
|
+
breadcrumbDataItem.label = breadcrumbDataItem.labelTemplate.replace('{{' + labelParam + '}}', routerParamID);
|
|
1030
1044
|
}
|
|
1031
1045
|
else {
|
|
1032
|
-
|
|
1046
|
+
breadcrumbDataItem.label = breadcrumbDataItem.labelTemplate.replace('{{' + labelParam + '}}', '');
|
|
1033
1047
|
}
|
|
1034
1048
|
}
|
|
1035
1049
|
}
|
|
1036
1050
|
});
|
|
1037
|
-
this.
|
|
1051
|
+
this.breadcrumbData = breadcrumbData;
|
|
1038
1052
|
}
|
|
1039
1053
|
else {
|
|
1040
|
-
this.
|
|
1054
|
+
this.breadcrumbData = [];
|
|
1041
1055
|
}
|
|
1042
1056
|
}
|
|
1043
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
1044
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
1057
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmBreadcrumbComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: i1$1.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1058
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.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=\"breadcrumbData.length\">\n <mat-list-item>\n <span class=\"mat-bread-crumb-spacer\">\n <span *ngFor=\"let item of breadcrumbData; 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=\"breadcrumbData.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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i4$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
1045
1059
|
}
|
|
1046
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
1060
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmBreadcrumbComponent, decorators: [{
|
|
1047
1061
|
type: Component,
|
|
1048
|
-
args: [{ selector: 'mm-breadcrumb', template: "<mat-list class=\"mat-bread-crumb-list\" *ngIf=\"
|
|
1062
|
+
args: [{ selector: 'mm-breadcrumb', template: "<mat-list class=\"mat-bread-crumb-list\" *ngIf=\"breadcrumbData.length\">\n <mat-list-item>\n <span class=\"mat-bread-crumb-spacer\">\n <span *ngFor=\"let item of breadcrumbData; 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=\"breadcrumbData.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"] }]
|
|
1049
1063
|
}], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: i1$1.BreadcrumbService }], propDecorators: { fontSize: [{
|
|
1050
1064
|
type: Input
|
|
1051
1065
|
}], fontColor: [{
|
|
@@ -1128,12 +1142,12 @@ class MmConfirmationWindowComponent {
|
|
|
1128
1142
|
result: this.button3Result
|
|
1129
1143
|
});
|
|
1130
1144
|
}
|
|
1131
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
1132
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
1145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmConfirmationWindowComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
1146
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", 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()\" class=\"primary-button\" mat-flat-button>{{button1Text}}</button>\n <button (click)=\"onButton2()\" *ngIf=\"button2Text\" mat-flat-button>{{button2Text}}</button>\n <button (click)=\"onButton3()\" *ngIf=\"button3Text\" mat-flat-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]" }] });
|
|
1133
1147
|
}
|
|
1134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
1148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmConfirmationWindowComponent, decorators: [{
|
|
1135
1149
|
type: Component,
|
|
1136
|
-
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()\"
|
|
1150
|
+
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()\" class=\"primary-button\" mat-flat-button>{{button1Text}}</button>\n <button (click)=\"onButton2()\" *ngIf=\"button2Text\" mat-flat-button>{{button2Text}}</button>\n <button (click)=\"onButton3()\" *ngIf=\"button3Text\" mat-flat-button>{{button3Text}}</button>\n</div>\n" }]
|
|
1137
1151
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
1138
1152
|
type: Inject,
|
|
1139
1153
|
args: [MAT_DIALOG_DATA]
|
|
@@ -1156,10 +1170,10 @@ class MmProgressWindowComponent {
|
|
|
1156
1170
|
onCancelClick() {
|
|
1157
1171
|
this.data.cancelOperation();
|
|
1158
1172
|
}
|
|
1159
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
1160
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
1173
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmProgressWindowComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
1174
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.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$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]" }] });
|
|
1161
1175
|
}
|
|
1162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
1176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmProgressWindowComponent, decorators: [{
|
|
1163
1177
|
type: Component,
|
|
1164
1178
|
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" }]
|
|
1165
1179
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -1220,10 +1234,10 @@ class ConfirmationService {
|
|
|
1220
1234
|
});
|
|
1221
1235
|
return dialogRef.afterClosed().pipe(map((value) => value?.result === ButtonTypes.Ok));
|
|
1222
1236
|
}
|
|
1223
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
1224
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
1237
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfirmationService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1238
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
|
|
1225
1239
|
}
|
|
1226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
1240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConfirmationService, decorators: [{
|
|
1227
1241
|
type: Injectable,
|
|
1228
1242
|
args: [{
|
|
1229
1243
|
providedIn: 'root'
|
|
@@ -1281,10 +1295,10 @@ class ProgressNotifierService {
|
|
|
1281
1295
|
complete() {
|
|
1282
1296
|
this.currentDialogRef?.close();
|
|
1283
1297
|
}
|
|
1284
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
1285
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
1298
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressNotifierService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1299
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressNotifierService });
|
|
1286
1300
|
}
|
|
1287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
1301
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressNotifierService, decorators: [{
|
|
1288
1302
|
type: Injectable
|
|
1289
1303
|
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
1290
1304
|
|
|
@@ -1327,6 +1341,7 @@ class MmFileUploadComponent {
|
|
|
1327
1341
|
if (!file) {
|
|
1328
1342
|
return;
|
|
1329
1343
|
}
|
|
1344
|
+
console.log(file.type);
|
|
1330
1345
|
if (allowedMimeTypes.length > 0 && allowedMimeTypes.includes(file.type)) {
|
|
1331
1346
|
this.selectedFile = file;
|
|
1332
1347
|
this.fileSize.set(Math.round(file.size / 1024)); // Set file size in KB
|
|
@@ -1364,10 +1379,10 @@ class MmFileUploadComponent {
|
|
|
1364
1379
|
selectedFile: null
|
|
1365
1380
|
});
|
|
1366
1381
|
}
|
|
1367
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
1368
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
1382
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmFileUploadComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2$2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
|
|
1383
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: MmFileUploadComponent, selector: "mm-mm-file-upload", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div\n class=\"file-upload-wrapper\"\n [class.success]=\"uploadSuccess\"\n [class.error]=\"uploadError\"\n (drop)=\"onFileDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n>\n <input\n type=\"file\"\n accept=\"{{data.mimeTypes}}\"\n (change)=\"onFileChange($event)\"\n hidden\n #fileInput\n />\n <div class=\"file-dropper\" (click)=\"fileInput.click()\">\n <mat-icon class=\"material-symbols-outlined\">upload</mat-icon>\n <p>{{data.message}}</p>\n <div *ngIf=\"fileName()\">\n <div *ngIf=\"selectedFile\">\n <p>\n <span class=\"image-name\">{{ fileName() }}</span> ({{\n fileSize()\n }} KB)\n </p>\n <mat-icon class=\"material-symbols-outlined delete-icon\" (click)=\"removeFile()\">delete</mat-icon>\n </div>\n </div>\n </div>\n</div>\n<div style=\"justify-content: flex-end;\" mat-dialog-actions>\n <button (click)=\"onOk()\" [disabled]=\"!selectedFile\" mat-flat-button>Upload</button>\n <button (click)=\"onCancel()\" mat-button>Cancel</button>\n</div>\n\n", styles: [".file-upload-wrapper{display:flex;justify-content:center;align-items:center;flex-direction:column;border:2px dashed #ccc;padding:1rem;margin-bottom:1rem;margin-left:1rem;margin-right:1rem;border-radius:10px;cursor:pointer}.file-upload-wrapper.success{border-color:green}.file-upload-wrapper.error{border-color:red}.file-dropper{display:flex;flex-direction:column;align-items:center}.image-name{font-weight:700}.image-preview{max-width:100%;height:auto;margin-bottom:.5rem;border-radius:10px}.delete-icon{cursor:pointer;color:red}\n"], 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: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
1369
1384
|
}
|
|
1370
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
1385
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmFileUploadComponent, decorators: [{
|
|
1371
1386
|
type: Component,
|
|
1372
1387
|
args: [{ selector: 'mm-mm-file-upload', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div\n class=\"file-upload-wrapper\"\n [class.success]=\"uploadSuccess\"\n [class.error]=\"uploadError\"\n (drop)=\"onFileDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n>\n <input\n type=\"file\"\n accept=\"{{data.mimeTypes}}\"\n (change)=\"onFileChange($event)\"\n hidden\n #fileInput\n />\n <div class=\"file-dropper\" (click)=\"fileInput.click()\">\n <mat-icon class=\"material-symbols-outlined\">upload</mat-icon>\n <p>{{data.message}}</p>\n <div *ngIf=\"fileName()\">\n <div *ngIf=\"selectedFile\">\n <p>\n <span class=\"image-name\">{{ fileName() }}</span> ({{\n fileSize()\n }} KB)\n </p>\n <mat-icon class=\"material-symbols-outlined delete-icon\" (click)=\"removeFile()\">delete</mat-icon>\n </div>\n </div>\n </div>\n</div>\n<div style=\"justify-content: flex-end;\" mat-dialog-actions>\n <button (click)=\"onOk()\" [disabled]=\"!selectedFile\" mat-flat-button>Upload</button>\n <button (click)=\"onCancel()\" mat-button>Cancel</button>\n</div>\n\n", styles: [".file-upload-wrapper{display:flex;justify-content:center;align-items:center;flex-direction:column;border:2px dashed #ccc;padding:1rem;margin-bottom:1rem;margin-left:1rem;margin-right:1rem;border-radius:10px;cursor:pointer}.file-upload-wrapper.success{border-color:green}.file-upload-wrapper.error{border-color:red}.file-dropper{display:flex;flex-direction:column;align-items:center}.image-name{font-weight:700}.image-preview{max-width:100%;height:auto;margin-bottom:.5rem;border-radius:10px}.delete-icon{cursor:pointer;color:red}\n"] }]
|
|
1373
1388
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
@@ -1400,10 +1415,10 @@ class FileUploadService {
|
|
|
1400
1415
|
}
|
|
1401
1416
|
return null;
|
|
1402
1417
|
}
|
|
1403
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
1404
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
1418
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1419
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadService, providedIn: 'root' });
|
|
1405
1420
|
}
|
|
1406
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
1421
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadService, decorators: [{
|
|
1407
1422
|
type: Injectable,
|
|
1408
1423
|
args: [{
|
|
1409
1424
|
providedIn: 'root'
|
|
@@ -1421,8 +1436,8 @@ class MmSharedUiModule {
|
|
|
1421
1436
|
]
|
|
1422
1437
|
};
|
|
1423
1438
|
}
|
|
1424
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
1425
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.
|
|
1439
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmSharedUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1440
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: MmSharedUiModule, declarations: [MmBreadcrumbComponent,
|
|
1426
1441
|
MmConfirmationWindowComponent,
|
|
1427
1442
|
MmProgressWindowComponent,
|
|
1428
1443
|
MmNotificationBarComponent,
|
|
@@ -1450,7 +1465,7 @@ class MmSharedUiModule {
|
|
|
1450
1465
|
MmEntitySelectInputComponent,
|
|
1451
1466
|
MmMultipleEntitySelectInputComponent,
|
|
1452
1467
|
MmFileUploadComponent] });
|
|
1453
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.
|
|
1468
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmSharedUiModule, imports: [CommonModule,
|
|
1454
1469
|
MatToolbarModule,
|
|
1455
1470
|
MatButtonModule,
|
|
1456
1471
|
MatSnackBarModule,
|
|
@@ -1464,7 +1479,7 @@ class MmSharedUiModule {
|
|
|
1464
1479
|
MatIcon,
|
|
1465
1480
|
MatListModule] });
|
|
1466
1481
|
}
|
|
1467
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
1482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MmSharedUiModule, decorators: [{
|
|
1468
1483
|
type: NgModule,
|
|
1469
1484
|
args: [{
|
|
1470
1485
|
declarations: [
|