@muziehdesign/components 18.2.0-next.0 → 18.2.0-next.1990
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/README.md +2 -2
- package/assets/icons/chevron-down-solid.svg +3 -0
- package/assets/icons/chevron-up-solid.svg +3 -0
- package/assets/icons/icondefinitions.svg +0 -0
- package/design/_accordion.scss +15 -0
- package/design/_alert.scss +51 -0
- package/design/_base.scss +54 -0
- package/design/_breadcrumb.scss +15 -0
- package/design/_button.scss +55 -0
- package/design/_components.scss +0 -0
- package/design/_date-picker.scss +23 -0
- package/design/_dl.scss +22 -0
- package/design/_dropdown-menu.scss +17 -0
- package/design/_form.scss +179 -0
- package/design/_infinite-scroll.scss +16 -0
- package/design/_material.scss +57 -0
- package/design/_modal.scss +287 -0
- package/design/_muzieh.scss +19 -0
- package/design/_pagination.scss +27 -0
- package/design/_progress-bar.scss +25 -0
- package/design/_table.scss +93 -0
- package/design/_tabs.scss +20 -0
- package/design/_wizard.scss +139 -0
- package/esm2022/lib/alert/alert.component.mjs +3 -3
- package/esm2022/lib/button.directive.mjs +11 -11
- package/esm2022/lib/components.module.mjs +1 -1
- package/esm2022/lib/date-display/date-display.pipe.mjs +1 -1
- package/esm2022/lib/date-time/date-time.component.mjs +3 -3
- package/esm2022/lib/date-time/time-value.mjs +1 -1
- package/esm2022/lib/enum-display/enum-display.pipe.mjs +1 -1
- package/esm2022/lib/infinite-scroll/infinite-scroll.component.mjs +3 -3
- package/esm2022/lib/inline-message/inline-message-dialog/inline-message-dialog.component.mjs +3 -3
- package/esm2022/lib/inline-message/inline-message.component.mjs +3 -3
- package/esm2022/lib/models/loading-state.mjs +1 -1
- package/esm2022/lib/models/page-event.mjs +1 -1
- package/esm2022/lib/models/result-table-options.mjs +1 -1
- package/esm2022/lib/models/sort-event.mjs +1 -1
- package/esm2022/lib/models/subject.mjs +1 -1
- package/esm2022/lib/models/wizard-step-link.mjs +1 -1
- package/esm2022/lib/page-header/page-header.component.mjs +3 -3
- package/esm2022/lib/page-loading-indicator/page-loading-indicator.component.mjs +3 -3
- package/esm2022/lib/pagination/pagination-default-options.mjs +1 -1
- package/esm2022/lib/pagination/pagination-default-options.token.mjs +1 -1
- package/esm2022/lib/pagination/pagination.component.mjs +5 -5
- package/esm2022/lib/phone-number/phone-number.pipe.mjs +1 -1
- package/esm2022/lib/result-table/result-table.component.mjs +25 -14
- package/esm2022/lib/result-table/result-table.model.mjs +1 -1
- package/esm2022/lib/sort-key.directive.mjs +1 -1
- package/esm2022/lib/sort.directive.mjs +1 -1
- package/esm2022/lib/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/subject-display/subject-display.pipe.mjs +3 -3
- package/esm2022/lib/svg-icon/svg-icon-config.mjs +9 -2
- package/esm2022/lib/svg-icon/svg-icon.component.mjs +6 -8
- package/esm2022/lib/testing/muzieh-component-harness.mjs +1 -1
- package/esm2022/lib/testing/result-table-harness.mjs +2 -2
- package/esm2022/lib/time-value-accessor.directive.mjs +1 -1
- package/esm2022/lib/time-value-validator.directive.mjs +1 -1
- package/esm2022/lib/wizard-progress-tracker/wizard-progress-tracker.component.mjs +3 -3
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/muziehdesign-components.mjs +71 -55
- package/fesm2022/muziehdesign-components.mjs.map +1 -1
- package/lib/enum-display/enum-display.pipe.d.ts +2 -2
- package/lib/models/page-event.d.ts +3 -3
- package/lib/models/result-table-options.d.ts +2 -1
- package/lib/pagination/pagination.component.d.ts +1 -1
- package/lib/result-table/result-table.component.d.ts +9 -6
- package/lib/result-table/result-table.model.d.ts +5 -5
- package/lib/subject-display/subject-display.pipe.d.ts +1 -1
- package/lib/svg-icon/svg-icon.component.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, Component,
|
2
|
+
import { InjectionToken, Component, Inject, Input, Pipe, EventEmitter, Optional, Output, ContentChild, Directive, HostListener, HostBinding, forwardRef, ViewChild, NgModule } from '@angular/core';
|
3
3
|
import * as i1 from '@angular/common';
|
4
4
|
import { CommonModule, DatePipe } from '@angular/common';
|
5
5
|
import * as i1$1 from '@angular/router';
|
@@ -16,14 +16,21 @@ import * as i1$4 from '@angular/cdk/dialog';
|
|
16
16
|
import { DIALOG_DATA, DialogModule } from '@angular/cdk/dialog';
|
17
17
|
import { MatCommonModule } from '@angular/material/core';
|
18
18
|
|
19
|
-
const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken('MzSvgIconOptions'
|
19
|
+
const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken('MzSvgIconOptions', {
|
20
|
+
providedIn: 'root',
|
21
|
+
factory: () => {
|
22
|
+
return {
|
23
|
+
svgIconDefinitionUrl: './assets/icondefinitions.svg'
|
24
|
+
};
|
25
|
+
}
|
26
|
+
});
|
20
27
|
|
21
28
|
class SvgIconComponent {
|
22
29
|
constructor(config) {
|
23
30
|
this.config = config;
|
24
31
|
this.type = 'outline';
|
25
32
|
this.size = 'medium';
|
26
|
-
this.fileUrl = config
|
33
|
+
this.fileUrl = config.svgIconDefinitionUrl;
|
27
34
|
}
|
28
35
|
get url() {
|
29
36
|
if (this.type) {
|
@@ -31,15 +38,13 @@ class SvgIconComponent {
|
|
31
38
|
}
|
32
39
|
return this.fileUrl + '#' + this.key;
|
33
40
|
}
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SvgIconComponent, deps: [{ token: SVG_ICON_DEFAULT_OPTIONS
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SvgIconComponent, isStandalone: true, selector: "mz-svg-icon", inputs: { key: "key", type: "type", size: "size" }, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SvgIconComponent, deps: [{ token: SVG_ICON_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SvgIconComponent, isStandalone: true, selector: "mz-svg-icon", inputs: { key: "key", type: "type", size: "size" }, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\n <use [attr.href]=\"url\" />\n</svg>", styles: [".icon{display:inline-block}.icon-size-medium{width:1.25rem;height:1.25rem}\n"] }); }
|
36
43
|
}
|
37
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SvgIconComponent, decorators: [{
|
38
45
|
type: Component,
|
39
|
-
args: [{ selector: 'mz-svg-icon', standalone: true, imports: [], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\
|
46
|
+
args: [{ selector: 'mz-svg-icon', standalone: true, imports: [], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\n <use [attr.href]=\"url\" />\n</svg>", styles: [".icon{display:inline-block}.icon-size-medium{width:1.25rem;height:1.25rem}\n"] }]
|
40
47
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
41
|
-
type: Optional
|
42
|
-
}, {
|
43
48
|
type: Inject,
|
44
49
|
args: [SVG_ICON_DEFAULT_OPTIONS]
|
45
50
|
}] }], propDecorators: { key: [{
|
@@ -102,11 +107,11 @@ class SpinnerComponent {
|
|
102
107
|
this.type = 'default'; // TODO: inverse will not exist one day
|
103
108
|
}
|
104
109
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpinnerComponent, isStandalone: true, selector: "mz-spinner", inputs: { size: "size", type: "type" }, ngImport: i0, template: "<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpinnerComponent, isStandalone: true, selector: "mz-spinner", inputs: { size: "size", type: "type" }, ngImport: i0, template: "<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\n <svg class=\"animate-spin m-auto\" [ngClass]=\"{'w-16 h-16': size == 'large', 'w-5 h-5': size == 'medium'}\" xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\n </path>\n </svg>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
106
111
|
}
|
107
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpinnerComponent, decorators: [{
|
108
113
|
type: Component,
|
109
|
-
args: [{ selector: 'mz-spinner', standalone: true, imports: [CommonModule], template: "<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\
|
114
|
+
args: [{ selector: 'mz-spinner', standalone: true, imports: [CommonModule], template: "<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\n <svg class=\"animate-spin m-auto\" [ngClass]=\"{'w-16 h-16': size == 'large', 'w-5 h-5': size == 'medium'}\" xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\n </path>\n </svg>\n</div>" }]
|
110
115
|
}], ctorParameters: () => [], propDecorators: { size: [{
|
111
116
|
type: Input
|
112
117
|
}], type: [{
|
@@ -136,13 +141,13 @@ class PaginationComponent {
|
|
136
141
|
if (newValue == this.page || newValue < 1 || newValue > this.pageCount) {
|
137
142
|
return;
|
138
143
|
}
|
139
|
-
this.changePage.emit({
|
144
|
+
this.changePage.emit({ pageNumber: newValue, pageSize: this.pageSize });
|
140
145
|
}
|
141
146
|
changePageSize(newValue) {
|
142
147
|
if (Number(newValue) == this.pageSize) {
|
143
148
|
return;
|
144
149
|
}
|
145
|
-
this.changePage.emit({
|
150
|
+
this.changePage.emit({ pageNumber: 1, pageSize: Number(newValue) });
|
146
151
|
}
|
147
152
|
updatePages(currentPage, lengthOfItems, currentPageSize) {
|
148
153
|
const pageCount = Math.ceil(lengthOfItems / currentPageSize);
|
@@ -177,11 +182,11 @@ class PaginationComponent {
|
|
177
182
|
this.pages = pageNumbers;
|
178
183
|
}
|
179
184
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PaginationComponent, deps: [{ token: PAGINATION_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PaginationComponent, isStandalone: true, selector: "mz-pagination", inputs: { length: "length", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-wrapper\">\
|
185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PaginationComponent, isStandalone: true, selector: "mz-pagination", inputs: { length: "length", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-wrapper\">\n <nav class=\"pagination-nav\" aria-label=\"pagination\">\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == 1}\" (click)=\"changePageNumber(page-1)\">\n <span class=\"sr-only\">Previous page</span>\n <mz-svg-icon key=\"chevron-left\"></mz-svg-icon>\n </button>\n <ng-container *ngFor=\"let p of pages\">\n <span class=\"page-ellipsis page-link disabled\" *ngIf=\"isEllipsis(p)\">...</span>\n <button class=\"page-link\" [ngClass]=\"{'active': p == page}\" (click)=\"changePageNumber(p)\"\n *ngIf=\"!isEllipsis(p)\">{{p}}</button>\n </ng-container>\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == pageCount}\" (click)=\"changePageNumber(page+1)\">\n <span class=\"sr-only\">Next page</span>\n <mz-svg-icon key=\"chevron-right\"></mz-svg-icon>\n </button>\n </nav>\n <div class=\"pagination-size\">\n Show\n <select #c (change)=\"changePageSize(c.value)\" name=\"pageSizeControl\" class=\"page-size-control\">\n <option *ngFor=\"let size of pageSizeOptions\" [attr.selected]=\"pageSize == size ? true : null\"\n [value]=\"size\">{{size}}</option>\n </select>\n per page\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
|
181
186
|
}
|
182
187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PaginationComponent, decorators: [{
|
183
188
|
type: Component,
|
184
|
-
args: [{ selector: 'mz-pagination', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div class=\"pagination-wrapper\">\
|
189
|
+
args: [{ selector: 'mz-pagination', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div class=\"pagination-wrapper\">\n <nav class=\"pagination-nav\" aria-label=\"pagination\">\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == 1}\" (click)=\"changePageNumber(page-1)\">\n <span class=\"sr-only\">Previous page</span>\n <mz-svg-icon key=\"chevron-left\"></mz-svg-icon>\n </button>\n <ng-container *ngFor=\"let p of pages\">\n <span class=\"page-ellipsis page-link disabled\" *ngIf=\"isEllipsis(p)\">...</span>\n <button class=\"page-link\" [ngClass]=\"{'active': p == page}\" (click)=\"changePageNumber(p)\"\n *ngIf=\"!isEllipsis(p)\">{{p}}</button>\n </ng-container>\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == pageCount}\" (click)=\"changePageNumber(page+1)\">\n <span class=\"sr-only\">Next page</span>\n <mz-svg-icon key=\"chevron-right\"></mz-svg-icon>\n </button>\n </nav>\n <div class=\"pagination-size\">\n Show\n <select #c (change)=\"changePageSize(c.value)\" name=\"pageSizeControl\" class=\"page-size-control\">\n <option *ngFor=\"let size of pageSizeOptions\" [attr.selected]=\"pageSize == size ? true : null\"\n [value]=\"size\">{{size}}</option>\n </select>\n per page\n </div>\n</div>" }]
|
185
190
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
186
191
|
type: Optional
|
187
192
|
}, {
|
@@ -202,17 +207,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
202
207
|
class ResultTableComponent {
|
203
208
|
constructor() {
|
204
209
|
this.loading = false;
|
205
|
-
this.options = { hidePagination: false };
|
206
210
|
this.pageChange = new EventEmitter();
|
211
|
+
this.options = { hidePagination: false, skipScrolling: false };
|
212
|
+
}
|
213
|
+
ngAfterViewInit() {
|
207
214
|
}
|
208
215
|
changePage(page, table) {
|
209
216
|
this.pageChange.emit(page);
|
210
|
-
|
211
|
-
|
212
|
-
|
217
|
+
if (!this.options.skipScrolling) {
|
218
|
+
setTimeout(() => {
|
219
|
+
table.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
220
|
+
});
|
221
|
+
}
|
213
222
|
}
|
214
223
|
searchAgain() {
|
215
|
-
this.pageChange.emit({
|
224
|
+
this.pageChange.emit({ pageNumber: this.model?.pageNumber || 1, pageSize: this.model?.pageSize || 20 }); // TODO
|
216
225
|
}
|
217
226
|
get state() {
|
218
227
|
if (this.loading) {
|
@@ -223,26 +232,33 @@ class ResultTableComponent {
|
|
223
232
|
}
|
224
233
|
return 'succeeded';
|
225
234
|
}
|
235
|
+
get isEmpty() {
|
236
|
+
return !this.model || this.model.items.length === 0;
|
237
|
+
}
|
226
238
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ResultTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
227
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
239
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ResultTableComponent, isStandalone: true, selector: "mz-result-table", inputs: { loading: "loading", error: "error", model: "model", pageSizeOptions: "pageSizeOptions", options: "options" }, outputs: { pageChange: "pageChange" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true }, { propertyName: "bodyTemplate", first: true, predicate: ["bodyTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\n <div class=\"loading-overlay-spinner\" *ngIf=\"state === 'loading'\">\n <mz-spinner size=\"large\"></mz-spinner>\n </div>\n <table class=\"table\" [ngClass]=\"{'has-overlay' : state === 'loading'}\">\n <caption *ngIf=\"state === 'succeeded' && model && model.items.length > 0\">\n {{(model.pageNumber-1) * model.pageSize + 1}} - {{(model.pageNumber-1) * model.pageSize + model.items.length}} of {{ model.totalItems }} results\n </caption>\n <thead>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </thead>\n <tbody>\n @if(state === 'succeeded' && !isEmpty) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n }\n </tbody>\n </table>\n <div class=\"table-pagination\" *ngIf=\"state === 'succeeded' && !options?.hidePagination && !isEmpty\">\n <mz-pagination [length]=\"model!.totalItems\" [page]=\"model!.pageNumber\" [pageSize]=\"model!.pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (changePage)=\"changePage($event, tableRef)\"></mz-pagination>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'succeeded' && isEmpty\">\n <div class=\"title\">No results found</div>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'failed'\">\n <div class=\"title\">\n <mz-svg-icon key=\"x-circle\" type=\"solid\" class=\"text-danger\"></mz-svg-icon>\n Something went wrong\n </div>\n <div>Unexpected error, <a (click)=\"searchAgain()\" class=\"link-action\">try searching again</a>.</div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PaginationComponent, selector: "mz-pagination", inputs: ["length", "page", "pageSize", "pageSizeOptions"], outputs: ["changePage"] }, { kind: "component", type: SpinnerComponent, selector: "mz-spinner", inputs: ["size", "type"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
|
228
240
|
}
|
229
241
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ResultTableComponent, decorators: [{
|
230
242
|
type: Component,
|
231
|
-
args: [{ selector: 'mz-result-table', imports: [CommonModule, PaginationComponent, SpinnerComponent, SvgIconComponent], standalone: true, template: "<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\
|
243
|
+
args: [{ selector: 'mz-result-table', imports: [CommonModule, PaginationComponent, SpinnerComponent, SvgIconComponent], standalone: true, template: "<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\n <div class=\"loading-overlay-spinner\" *ngIf=\"state === 'loading'\">\n <mz-spinner size=\"large\"></mz-spinner>\n </div>\n <table class=\"table\" [ngClass]=\"{'has-overlay' : state === 'loading'}\">\n <caption *ngIf=\"state === 'succeeded' && model && model.items.length > 0\">\n {{(model.pageNumber-1) * model.pageSize + 1}} - {{(model.pageNumber-1) * model.pageSize + model.items.length}} of {{ model.totalItems }} results\n </caption>\n <thead>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </thead>\n <tbody>\n @if(state === 'succeeded' && !isEmpty) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n }\n </tbody>\n </table>\n <div class=\"table-pagination\" *ngIf=\"state === 'succeeded' && !options?.hidePagination && !isEmpty\">\n <mz-pagination [length]=\"model!.totalItems\" [page]=\"model!.pageNumber\" [pageSize]=\"model!.pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (changePage)=\"changePage($event, tableRef)\"></mz-pagination>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'succeeded' && isEmpty\">\n <div class=\"title\">No results found</div>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'failed'\">\n <div class=\"title\">\n <mz-svg-icon key=\"x-circle\" type=\"solid\" class=\"text-danger\"></mz-svg-icon>\n Something went wrong\n </div>\n <div>Unexpected error, <a (click)=\"searchAgain()\" class=\"link-action\">try searching again</a>.</div>\n </div>\n</div>\n" }]
|
232
244
|
}], ctorParameters: () => [], propDecorators: { loading: [{
|
233
245
|
type: Input
|
234
246
|
}], error: [{
|
235
247
|
type: Input
|
236
248
|
}], model: [{
|
237
249
|
type: Input
|
238
|
-
}],
|
239
|
-
type:
|
240
|
-
|
241
|
-
|
242
|
-
|
250
|
+
}], headerTemplate: [{
|
251
|
+
type: ContentChild,
|
252
|
+
args: ['headerTemplate']
|
253
|
+
}], bodyTemplate: [{
|
254
|
+
type: ContentChild,
|
255
|
+
args: ['bodyTemplate']
|
256
|
+
}], pageSizeOptions: [{
|
243
257
|
type: Input
|
244
258
|
}], pageChange: [{
|
245
259
|
type: Output
|
260
|
+
}], options: [{
|
261
|
+
type: Input
|
246
262
|
}] } });
|
247
263
|
|
248
264
|
class PageLoadingIndicatorComponent {
|
@@ -262,11 +278,11 @@ class PageLoadingIndicatorComponent {
|
|
262
278
|
this.subs.unsubscribe();
|
263
279
|
}
|
264
280
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageLoadingIndicatorComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
265
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageLoadingIndicatorComponent, isStandalone: true, selector: "mz-page-loading-indicator", inputs: { isLoading: "isLoading" }, ngImport: i0, template: "<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\
|
281
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageLoadingIndicatorComponent, isStandalone: true, selector: "mz-page-loading-indicator", inputs: { isLoading: "isLoading" }, ngImport: i0, template: "<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\n <div class=\"progress-bar progress-bar-indeterminate\">\n <div class=\"progress-bar-value\"></div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
266
282
|
}
|
267
283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageLoadingIndicatorComponent, decorators: [{
|
268
284
|
type: Component,
|
269
|
-
args: [{ selector: 'mz-page-loading-indicator', imports: [CommonModule], standalone: true, template: "<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\
|
285
|
+
args: [{ selector: 'mz-page-loading-indicator', imports: [CommonModule], standalone: true, template: "<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\n <div class=\"progress-bar progress-bar-indeterminate\">\n <div class=\"progress-bar-value\"></div>\n </div>\n</div>" }]
|
270
286
|
}], ctorParameters: () => [{ type: i1$1.Router }], propDecorators: { isLoading: [{
|
271
287
|
type: Input
|
272
288
|
}] } });
|
@@ -285,11 +301,11 @@ class PageHeaderComponent {
|
|
285
301
|
}
|
286
302
|
ngOnInit() { }
|
287
303
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1$2.Title }], target: i0.ɵɵFactoryTarget.Component }); }
|
288
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageHeaderComponent, isStandalone: true, selector: "mz-page-header", inputs: { pageTitle: "pageTitle" }, ngImport: i0, template: "<header class=\"page-header\">\
|
304
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageHeaderComponent, isStandalone: true, selector: "mz-page-header", inputs: { pageTitle: "pageTitle" }, ngImport: i0, template: "<header class=\"page-header\">\n <h1>{{ pageTitle }}</h1>\n <ng-content></ng-content>\n</header>", styles: [""] }); }
|
289
305
|
}
|
290
306
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
291
307
|
type: Component,
|
292
|
-
args: [{ selector: 'mz-page-header', standalone: true, template: "<header class=\"page-header\">\
|
308
|
+
args: [{ selector: 'mz-page-header', standalone: true, template: "<header class=\"page-header\">\n <h1>{{ pageTitle }}</h1>\n <ng-content></ng-content>\n</header>" }]
|
293
309
|
}], ctorParameters: () => [{ type: i1$2.Title }], propDecorators: { pageTitle: [{
|
294
310
|
type: Input
|
295
311
|
}] } });
|
@@ -374,11 +390,11 @@ class AlertComponent {
|
|
374
390
|
return icon;
|
375
391
|
}
|
376
392
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
377
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AlertComponent, isStandalone: true, selector: "mz-alert", inputs: { title: "title", type: "type", body: "body", footer: "footer" }, ngImport: i0, template: "<div [className]=\"'alert alert-' + type\">\
|
393
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AlertComponent, isStandalone: true, selector: "mz-alert", inputs: { title: "title", type: "type", body: "body", footer: "footer" }, ngImport: i0, template: "<div [className]=\"'alert alert-' + type\">\n\n <div>\n <div class=\"alert-icon\">\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\n </div>\n\n <div class=\"alert-title\">\n <strong>{{ title }}</strong>\n </div>\n </div>\n\n <div class=\"alert-body\" *ngIf=\"body\">\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n\n <div class=\"alert-footer\" *ngIf=\"footer\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
|
378
394
|
}
|
379
395
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AlertComponent, decorators: [{
|
380
396
|
type: Component,
|
381
|
-
args: [{ selector: 'mz-alert', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div [className]=\"'alert alert-' + type\">\
|
397
|
+
args: [{ selector: 'mz-alert', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div [className]=\"'alert alert-' + type\">\n\n <div>\n <div class=\"alert-icon\">\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\n </div>\n\n <div class=\"alert-title\">\n <strong>{{ title }}</strong>\n </div>\n </div>\n\n <div class=\"alert-body\" *ngIf=\"body\">\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n\n <div class=\"alert-footer\" *ngIf=\"footer\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n</div>" }]
|
382
398
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
383
399
|
type: Input
|
384
400
|
}], type: [{
|
@@ -558,9 +574,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
558
574
|
}] } });
|
559
575
|
|
560
576
|
class SubjectDisplayPipe {
|
561
|
-
transform(subject) {
|
577
|
+
transform(subject, defaultValue) {
|
562
578
|
if (!subject) {
|
563
|
-
return
|
579
|
+
return defaultValue || null;
|
564
580
|
}
|
565
581
|
return subject.givenName && subject.familyName ? `${subject.givenName} ${subject.familyName}` : subject.userPrincipalName;
|
566
582
|
}
|
@@ -581,15 +597,15 @@ class ButtonDirective {
|
|
581
597
|
this.hostElement = hostElement;
|
582
598
|
this.variant = 'secondary';
|
583
599
|
this.busy = false;
|
584
|
-
this.svgContent = `
|
585
|
-
<svg class="button-loading-spinner" xmlns="http://www.w3.org/2000/svg" fill="none"
|
586
|
-
viewBox="0 0 24 24">
|
587
|
-
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4">
|
588
|
-
</circle>
|
589
|
-
<path class="opacity-75" fill="currentColor"
|
590
|
-
d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">
|
591
|
-
</path>
|
592
|
-
</svg>
|
600
|
+
this.svgContent = `
|
601
|
+
<svg class="button-loading-spinner" xmlns="http://www.w3.org/2000/svg" fill="none"
|
602
|
+
viewBox="0 0 24 24">
|
603
|
+
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4">
|
604
|
+
</circle>
|
605
|
+
<path class="opacity-75" fill="currentColor"
|
606
|
+
d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">
|
607
|
+
</path>
|
608
|
+
</svg>
|
593
609
|
`;
|
594
610
|
this.subscription = new Subscription();
|
595
611
|
}
|
@@ -606,7 +622,7 @@ class ButtonDirective {
|
|
606
622
|
}
|
607
623
|
attachOrDeattachSpinner() {
|
608
624
|
if (this.busy) {
|
609
|
-
const loadingElement = this.renderer.createElement('
|
625
|
+
const loadingElement = this.renderer.createElement('span');
|
610
626
|
loadingElement.innerHTML = this.svgContent;
|
611
627
|
this.renderer.addClass(loadingElement, 'button-loading-overlay');
|
612
628
|
this.renderer.appendChild(this.hostElement.nativeElement, loadingElement);
|
@@ -672,11 +688,11 @@ class WizardProgressTrackerComponent {
|
|
672
688
|
this.toggled = !this.toggled;
|
673
689
|
}
|
674
690
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: WizardProgressTrackerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
675
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: WizardProgressTrackerComponent, isStandalone: true, selector: "mz-wizard-progress-tracker", inputs: { steps: "steps", currentStep: "currentStep" }, outputs: { stepChange: "stepChange" }, ngImport: i0, template: "<div class=\"wizard-progress-tracker\">\
|
691
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: WizardProgressTrackerComponent, isStandalone: true, selector: "mz-wizard-progress-tracker", inputs: { steps: "steps", currentStep: "currentStep" }, outputs: { stepChange: "stepChange" }, ngImport: i0, template: "<div class=\"wizard-progress-tracker\">\n <div class=\"direction-container\">\n <span class=\"steps-count\">Step {{ currentStep + 1 }} of {{ steps.length }}</span>\n <div class=\"wizard-steps-container\" [ngClass]=\"{'toggled': toggled}\">\n <div *ngFor=\"let step of steps; index as i;\" class=\"wizard-step\"\n [ngClass]=\"{ 'previous': i < currentStep, 'current': i === currentStep, 'unvisited': i > currentStep }\">\n <ng-container>\n <div class=\"wizard-step-icon-container\">\n <div class=\"spacer left\">\n </div>\n <div *ngIf=\"i > 0\" class=\"step-line left\"></div>\n\n <div *ngIf=\"i < currentStep\" class=\"wizard-step-icon\">\n <mz-svg-icon key=\"check-circle\" type=\"solid\">\n </mz-svg-icon>\n </div>\n <div *ngIf=\"i === currentStep\" class=\"wizard-step-icon\">\n <div class=\"step-inner-circle\"></div>\n </div>\n <div *ngIf=\"i > currentStep\" class=\"wizard-step-icon\">\n </div>\n\n <div *ngIf=\"i < (steps.length - 1)\" class=\"step-line step-line-right\"></div>\n <div class=\"spacer right\"></div>\n </div>\n <a *ngIf=\"i < currentStep\" class=\"step-desc\" (click)=\"goToStep(step)\"> {{\n step.name\n }}</a>\n <div *ngIf=\" i === currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div *ngIf=\" i > currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div class=\"toggable-icon\">\n <button *ngIf=\"!toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-down\"></mz-svg-icon>\n </button>\n <button *ngIf=\"toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-up\"></mz-svg-icon>\n </button>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
|
676
692
|
}
|
677
693
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: WizardProgressTrackerComponent, decorators: [{
|
678
694
|
type: Component,
|
679
|
-
args: [{ selector: 'mz-wizard-progress-tracker', standalone: true, imports: [CommonModule, SvgIconComponent], template: "<div class=\"wizard-progress-tracker\">\
|
695
|
+
args: [{ selector: 'mz-wizard-progress-tracker', standalone: true, imports: [CommonModule, SvgIconComponent], template: "<div class=\"wizard-progress-tracker\">\n <div class=\"direction-container\">\n <span class=\"steps-count\">Step {{ currentStep + 1 }} of {{ steps.length }}</span>\n <div class=\"wizard-steps-container\" [ngClass]=\"{'toggled': toggled}\">\n <div *ngFor=\"let step of steps; index as i;\" class=\"wizard-step\"\n [ngClass]=\"{ 'previous': i < currentStep, 'current': i === currentStep, 'unvisited': i > currentStep }\">\n <ng-container>\n <div class=\"wizard-step-icon-container\">\n <div class=\"spacer left\">\n </div>\n <div *ngIf=\"i > 0\" class=\"step-line left\"></div>\n\n <div *ngIf=\"i < currentStep\" class=\"wizard-step-icon\">\n <mz-svg-icon key=\"check-circle\" type=\"solid\">\n </mz-svg-icon>\n </div>\n <div *ngIf=\"i === currentStep\" class=\"wizard-step-icon\">\n <div class=\"step-inner-circle\"></div>\n </div>\n <div *ngIf=\"i > currentStep\" class=\"wizard-step-icon\">\n </div>\n\n <div *ngIf=\"i < (steps.length - 1)\" class=\"step-line step-line-right\"></div>\n <div class=\"spacer right\"></div>\n </div>\n <a *ngIf=\"i < currentStep\" class=\"step-desc\" (click)=\"goToStep(step)\"> {{\n step.name\n }}</a>\n <div *ngIf=\" i === currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div *ngIf=\" i > currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div class=\"toggable-icon\">\n <button *ngIf=\"!toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-down\"></mz-svg-icon>\n </button>\n <button *ngIf=\"toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-up\"></mz-svg-icon>\n </button>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n" }]
|
680
696
|
}], propDecorators: { steps: [{
|
681
697
|
type: Input
|
682
698
|
}], currentStep: [{
|
@@ -795,7 +811,7 @@ class DateTimeComponent {
|
|
795
811
|
useExisting: forwardRef(() => DateTimeComponent),
|
796
812
|
multi: true,
|
797
813
|
},
|
798
|
-
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<div class=\"flex\">\
|
814
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<div class=\"flex\">\n <div class=\"field-control-combo\">\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\n <div class=\"field-control-addon\">\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\n [disabled]=\"disabled\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n </button>\n <mat-datepicker #datePicker></mat-datepicker>\n </div>\n </div>\n <div class=\"field-control-group mt-1 ml-6\">\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\n ngDefaultControl [disabled]=\"disabled\">\n </div>\n</div>\n", styles: ["input:disabled,button:disabled{opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] }); }
|
799
815
|
}
|
800
816
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateTimeComponent, decorators: [{
|
801
817
|
type: Component,
|
@@ -805,7 +821,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
805
821
|
useExisting: forwardRef(() => DateTimeComponent),
|
806
822
|
multi: true,
|
807
823
|
},
|
808
|
-
], imports: [CommonModule, MatDatepickerModule], standalone: true, template: "<div class=\"flex\">\
|
824
|
+
], imports: [CommonModule, MatDatepickerModule], standalone: true, template: "<div class=\"flex\">\n <div class=\"field-control-combo\">\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\n <div class=\"field-control-addon\">\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\n [disabled]=\"disabled\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n </button>\n <mat-datepicker #datePicker></mat-datepicker>\n </div>\n </div>\n <div class=\"field-control-group mt-1 ml-6\">\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\n ngDefaultControl [disabled]=\"disabled\">\n </div>\n</div>\n", styles: ["input:disabled,button:disabled{opacity:.6}\n"] }]
|
809
825
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
|
810
826
|
type: ViewChild,
|
811
827
|
args: ['datePicker']
|
@@ -825,11 +841,11 @@ class InlineMessageDialogComponent {
|
|
825
841
|
this.body = this.data.body;
|
826
842
|
}
|
827
843
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageDialogComponent, deps: [{ token: DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
828
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InlineMessageDialogComponent, isStandalone: true, selector: "mz-inline-message-dialog", ngImport: i0, template: "<div class=\"body\" *ngIf=\"body\">\
|
844
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InlineMessageDialogComponent, isStandalone: true, selector: "mz-inline-message-dialog", ngImport: i0, template: "<div class=\"body\" *ngIf=\"body\">\n <ng-content *ngTemplateOutlet=\"body\"></ng-content>\n</div>", styles: [":host{display:block;background:#fff;border-radius:8px;padding:8px 16px}\n"], dependencies: [{ kind: "ngmodule", type: MatCommonModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: DialogModule }] }); }
|
829
845
|
}
|
830
846
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageDialogComponent, decorators: [{
|
831
847
|
type: Component,
|
832
|
-
args: [{ selector: 'mz-inline-message-dialog', imports: [MatCommonModule, CommonModule, RouterModule, DialogModule], standalone: true, template: "<div class=\"body\" *ngIf=\"body\">\
|
848
|
+
args: [{ selector: 'mz-inline-message-dialog', imports: [MatCommonModule, CommonModule, RouterModule, DialogModule], standalone: true, template: "<div class=\"body\" *ngIf=\"body\">\n <ng-content *ngTemplateOutlet=\"body\"></ng-content>\n</div>", styles: [":host{display:block;background:#fff;border-radius:8px;padding:8px 16px}\n"] }]
|
833
849
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
834
850
|
type: Inject,
|
835
851
|
args: [DIALOG_DATA]
|
@@ -849,11 +865,11 @@ class InlineMessageComponent {
|
|
849
865
|
});
|
850
866
|
}
|
851
867
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageComponent, deps: [{ token: i1$4.Dialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
852
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InlineMessageComponent, isStandalone: true, selector: "mz-inline-message", inputs: { body: "body" }, ngImport: i0, template: "<div class=\"wrapper\">\
|
868
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InlineMessageComponent, isStandalone: true, selector: "mz-inline-message", inputs: { body: "body" }, ngImport: i0, template: "<div class=\"wrapper\">\n <button type=\"button\" (click)=\"openDialog()\" class=\"inline-message-btn\">i</button>\n</div>", styles: [".wrapper,.title{display:inline}.inline-message-btn{cursor:pointer;border-radius:50%;color:#fff;background-color:#4b5563;width:20px;height:20px;text-align:center;margin:0 5px}\n"], dependencies: [{ kind: "ngmodule", type: MatCommonModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: DialogModule }] }); }
|
853
869
|
}
|
854
870
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageComponent, decorators: [{
|
855
871
|
type: Component,
|
856
|
-
args: [{ selector: 'mz-inline-message', imports: [MatCommonModule, CommonModule, RouterModule, DialogModule], standalone: true, template: "<div class=\"wrapper\">\
|
872
|
+
args: [{ selector: 'mz-inline-message', imports: [MatCommonModule, CommonModule, RouterModule, DialogModule], standalone: true, template: "<div class=\"wrapper\">\n <button type=\"button\" (click)=\"openDialog()\" class=\"inline-message-btn\">i</button>\n</div>", styles: [".wrapper,.title{display:inline}.inline-message-btn{cursor:pointer;border-radius:50%;color:#fff;background-color:#4b5563;width:20px;height:20px;text-align:center;margin:0 5px}\n"] }]
|
857
873
|
}], ctorParameters: () => [{ type: i1$4.Dialog }], propDecorators: { body: [{
|
858
874
|
type: Input
|
859
875
|
}] } });
|
@@ -912,11 +928,11 @@ class InfiniteScrollComponent {
|
|
912
928
|
this.itemSelected.emit(item);
|
913
929
|
}
|
914
930
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InfiniteScrollComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
915
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InfiniteScrollComponent, isStandalone: true, selector: "mz-infinite-scroll", inputs: { items: "items", isLoading: "isLoading", containerHeight: "containerHeight" }, outputs: { itemSelected: "itemSelected", loadMore: "loadMore" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\
|
931
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InfiniteScrollComponent, isStandalone: true, selector: "mz-infinite-scroll", inputs: { items: "items", isLoading: "isLoading", containerHeight: "containerHeight" }, outputs: { itemSelected: "itemSelected", loadMore: "loadMore" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\n <ng-container *ngIf=\"itemTemplate; else defaultItems\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #defaultItems>\n <div *ngFor=\"let item of items\" class=\"scroll-item\" [ngClass]=\"{'scroll-item-selected': selectedItem === item}\" (click)=\"onItemClick(item)\">\n {{ item.label }}\n </div>\n </ng-template>\n\n <!-- Spinner -->\n <div *ngIf=\"isLoading\" class=\"scroll-spinner-container\">\n <mz-spinner size=\"medium\"></mz-spinner>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SpinnerComponent, selector: "mz-spinner", inputs: ["size", "type"] }] }); }
|
916
932
|
}
|
917
933
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InfiniteScrollComponent, decorators: [{
|
918
934
|
type: Component,
|
919
|
-
args: [{ selector: 'mz-infinite-scroll', standalone: true, imports: [CommonModule, SpinnerComponent], template: "<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\
|
935
|
+
args: [{ selector: 'mz-infinite-scroll', standalone: true, imports: [CommonModule, SpinnerComponent], template: "<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\n <ng-container *ngIf=\"itemTemplate; else defaultItems\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #defaultItems>\n <div *ngFor=\"let item of items\" class=\"scroll-item\" [ngClass]=\"{'scroll-item-selected': selectedItem === item}\" (click)=\"onItemClick(item)\">\n {{ item.label }}\n </div>\n </ng-template>\n\n <!-- Spinner -->\n <div *ngIf=\"isLoading\" class=\"scroll-spinner-container\">\n <mz-spinner size=\"medium\"></mz-spinner>\n </div>\n</div>\n" }]
|
920
936
|
}], propDecorators: { items: [{
|
921
937
|
type: Input
|
922
938
|
}], isLoading: [{
|
@@ -1079,7 +1095,7 @@ class ResultTableHarness extends MuziehComponentHarness {
|
|
1079
1095
|
const contentDebugElement = this.resultTableDebugElement;
|
1080
1096
|
const componentInstance = this.evaluateComponentInstance(contentDebugElement);
|
1081
1097
|
const results = contentDebugElement.queryAll(By.css('tbody tr')).map((el) => el.queryAll(By.css('td')).map((td) => td.nativeElement.textContent?.trim()));
|
1082
|
-
const { page, pageSize,
|
1098
|
+
const { pageNumber: page, pageSize, totalItems: total } = componentInstance.model;
|
1083
1099
|
return {
|
1084
1100
|
results,
|
1085
1101
|
page,
|