tin-spa 14.4.2 → 14.13.2
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 +24 -24
- package/esm2020/lib/classes/Classes.mjs +57 -32
- package/esm2020/lib/classes/LibClasses.mjs +2 -1
- package/esm2020/lib/classes/TinCore.mjs +194 -44
- package/esm2020/lib/components/alert/alert.component.mjs +12 -6
- package/esm2020/lib/components/attach/attach.component.mjs +49 -33
- package/esm2020/lib/components/capsules/capsules.component.mjs +63 -0
- package/esm2020/lib/components/cards/cards.component.mjs +103 -0
- package/esm2020/lib/components/date/date.component.mjs +4 -4
- package/esm2020/lib/components/email/email.component.mjs +19 -17
- package/esm2020/lib/components/form/form.component.mjs +142 -57
- package/esm2020/lib/components/html/html.component.mjs +34 -0
- package/esm2020/lib/components/label/label.component.mjs +9 -3
- package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +3 -3
- package/esm2020/lib/components/money/money.component.mjs +26 -9
- package/esm2020/lib/components/multi-select/multi-select.component.mjs +165 -0
- package/esm2020/lib/components/multi-text/multi-text.component.mjs +208 -0
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +31 -27
- package/esm2020/lib/components/notes/notes.component.mjs +62 -0
- package/esm2020/lib/components/number/number.component.mjs +23 -8
- package/esm2020/lib/components/option/option.component.mjs +36 -14
- package/esm2020/lib/components/page/page.component.mjs +101 -0
- package/esm2020/lib/components/search/search.component.mjs +10 -5
- package/esm2020/lib/components/select/select.component.mjs +56 -129
- package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +87 -0
- package/esm2020/lib/components/select-common/select-common.component.mjs +208 -0
- package/esm2020/lib/components/select-internal/select-internal.component.mjs +75 -0
- package/esm2020/lib/components/select-lite/select-lite.component.mjs +18 -0
- package/esm2020/lib/components/steps/steps.component.mjs +83 -61
- package/esm2020/lib/components/suffix/suffix.component.mjs +70 -0
- package/esm2020/lib/components/table/detailsDialog.component.mjs +169 -37
- package/esm2020/lib/components/table/table.component.mjs +136 -111
- package/esm2020/lib/components/table-action/table-action.component.mjs +42 -8
- package/esm2020/lib/components/table-header/table-header.component.mjs +12 -8
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +169 -35
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +138 -112
- package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +371 -0
- package/esm2020/lib/components/table-lite/table-lite.component.mjs +441 -0
- package/esm2020/lib/components/table-row/table-row.component.mjs +23 -4
- package/esm2020/lib/components/tabs/tabs.component.mjs +83 -0
- package/esm2020/lib/components/text/text.component.mjs +85 -40
- package/esm2020/lib/components/tiles/tiles.component.mjs +32 -20
- package/esm2020/lib/components/viewer/viewer.component.mjs +7 -3
- package/esm2020/lib/components/viewer/viewerDialog.component.mjs +20 -13
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +11 -1
- package/esm2020/lib/pages/accounts/accountDialog.component.mjs +1 -1
- package/esm2020/lib/pages/app-models/app-models.component.mjs +56 -0
- package/esm2020/lib/pages/approvals/approvals.component.mjs +19 -0
- package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +165 -0
- package/esm2020/lib/pages/bug/bug.component.mjs +3 -3
- package/esm2020/lib/pages/change-password/change-password.component.mjs +1 -1
- package/esm2020/lib/pages/create-account/create-account.component.mjs +1 -1
- package/esm2020/lib/pages/customers/customers.component.mjs +9 -48
- package/esm2020/lib/pages/departments/departments.component.mjs +2 -4
- package/esm2020/lib/pages/employees/employees.component.mjs +3 -4
- package/esm2020/lib/pages/grades/grades.component.mjs +3 -3
- package/esm2020/lib/pages/inventory/inventory.component.mjs +3 -3
- package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +1 -1
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +11 -10
- package/esm2020/lib/pages/login/login.component.mjs +52 -14
- package/esm2020/lib/pages/logs/logs.component.mjs +27 -22
- package/esm2020/lib/pages/membership/membership.component.mjs +15 -19
- package/esm2020/lib/pages/notifications/notifications.component.mjs +82 -6
- package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +113 -0
- package/esm2020/lib/pages/plans/plans.component.mjs +16 -19
- package/esm2020/lib/pages/positions/positions.component.mjs +4 -4
- package/esm2020/lib/pages/profile/profile.component.mjs +4 -3
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +1 -1
- package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +2 -2
- package/esm2020/lib/pages/roles/roles.component.mjs +77 -17
- package/esm2020/lib/pages/settings/settings.component.mjs +5 -13
- package/esm2020/lib/pages/signup/signup.component.mjs +1 -1
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +3 -31
- package/esm2020/lib/pages/tasks/tasks.component.mjs +9 -9
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +145 -72
- package/esm2020/lib/pages/tenants/tenants.component.mjs +10 -10
- package/esm2020/lib/pages/transactions/transactDialog.component.mjs +1 -1
- package/esm2020/lib/pages/transactions/transactions.component.mjs +3 -3
- package/esm2020/lib/pages/users/users.component.mjs +115 -92
- package/esm2020/lib/pages/welcome/welcome.component.mjs +9 -9
- package/esm2020/lib/select-context.directive.mjs +23 -0
- package/esm2020/lib/services/button.service.mjs +90 -30
- package/esm2020/lib/services/csv.service.mjs +1 -1
- package/esm2020/lib/services/datalib.service.mjs +504 -76
- package/esm2020/lib/services/dialog.service.mjs +24 -7
- package/esm2020/lib/services/notifications.service.mjs +33 -0
- package/esm2020/lib/services/table-config.service.mjs +55 -7
- package/esm2020/lib/tin-spa.module.mjs +47 -11
- package/esm2020/public-api.mjs +9 -1
- package/fesm2015/tin-spa.mjs +6333 -2671
- package/fesm2015/tin-spa.mjs.map +1 -1
- package/fesm2020/tin-spa.mjs +6492 -2770
- package/fesm2020/tin-spa.mjs.map +1 -1
- package/lib/classes/Classes.d.ts +233 -127
- package/lib/classes/LibClasses.d.ts +1 -0
- package/lib/classes/TinCore.d.ts +11 -3
- package/lib/components/attach/attach.component.d.ts +13 -6
- package/lib/components/capsules/capsules.component.d.ts +26 -0
- package/lib/components/cards/cards.component.d.ts +39 -0
- package/lib/components/email/email.component.d.ts +4 -3
- package/lib/components/form/form.component.d.ts +20 -11
- package/lib/components/html/html.component.d.ts +16 -0
- package/lib/components/label/label.component.d.ts +3 -1
- package/lib/components/money/money.component.d.ts +8 -1
- package/lib/components/multi-select/multi-select.component.d.ts +47 -0
- package/lib/components/multi-text/multi-text.component.d.ts +56 -0
- package/lib/components/nav-menu/nav-menu.component.d.ts +6 -2
- package/lib/components/notes/notes.component.d.ts +19 -0
- package/lib/components/number/number.component.d.ts +7 -1
- package/lib/components/option/option.component.d.ts +10 -2
- package/lib/components/page/page.component.d.ts +38 -0
- package/lib/components/search/search.component.d.ts +3 -1
- package/lib/components/select/select.component.d.ts +16 -37
- package/lib/components/select-bitwise/select-bitwise.component.d.ts +31 -0
- package/lib/components/select-common/select-common.component.d.ts +53 -0
- package/lib/components/select-internal/select-internal.component.d.ts +23 -0
- package/lib/components/select-lite/select-lite.component.d.ts +8 -0
- package/lib/components/steps/steps.component.d.ts +18 -9
- package/lib/components/suffix/suffix.component.d.ts +23 -0
- package/lib/components/table/detailsDialog.component.d.ts +24 -7
- package/lib/components/table/table.component.d.ts +15 -9
- package/lib/components/table-action/table-action.component.d.ts +4 -1
- package/lib/components/table-header/table-header.component.d.ts +3 -1
- package/lib/components/table-internal/detailsDialog-internal.component.d.ts +24 -7
- package/lib/components/table-internal/table-internal.component.d.ts +15 -9
- package/lib/components/table-lite/detailsDialog-lite.component.d.ts +81 -0
- package/lib/components/table-lite/table-lite.component.d.ts +91 -0
- package/lib/components/table-row/table-row.component.d.ts +4 -1
- package/lib/components/tabs/tabs.component.d.ts +32 -0
- package/lib/components/text/text.component.d.ts +16 -7
- package/lib/components/tiles/tiles.component.d.ts +4 -3
- package/lib/components/viewer/viewerDialog.component.d.ts +3 -1
- package/lib/pages/app-models/app-models.component.d.ts +15 -0
- package/lib/pages/approvals/approvals.component.d.ts +10 -0
- package/lib/pages/approvals-config/approvals-config.component.d.ts +24 -0
- package/lib/pages/customers/customers.component.d.ts +2 -8
- package/lib/pages/invitations-table/invitations-table.component.d.ts +1 -1
- package/lib/pages/login/login.component.d.ts +7 -1
- package/lib/pages/logs/logs.component.d.ts +2 -6
- package/lib/pages/membership/membership.component.d.ts +2 -6
- package/lib/pages/notifications/notifications.component.d.ts +9 -1
- package/lib/pages/notifications-config/notifications-config.component.d.ts +17 -0
- package/lib/pages/plans/plans.component.d.ts +2 -6
- package/lib/pages/roles/roles.component.d.ts +14 -2
- package/lib/pages/suppliers/suppliers.component.d.ts +1 -4
- package/lib/pages/tasks/tasks.component.d.ts +1 -1
- package/lib/pages/tenant-settings/tenant-settings.component.d.ts +12 -7
- package/lib/pages/tenants/tenants.component.d.ts +2 -2
- package/lib/pages/users/users.component.d.ts +8 -16
- package/lib/select-context.directive.d.ts +10 -0
- package/lib/services/button.service.d.ts +10 -7
- package/lib/services/datalib.service.d.ts +54 -10
- package/lib/services/dialog.service.d.ts +2 -2
- package/lib/services/notifications.service.d.ts +12 -0
- package/lib/services/table-config.service.d.ts +9 -1
- package/lib/tin-spa.module.d.ts +51 -33
- package/package.json +1 -1
- package/public-api.d.ts +8 -0
- package/esm2020/lib/pages/invitations/invitations.component.mjs +0 -14
- package/esm2020/lib/pages/tenant-settings/inviteDialog.component.mjs +0 -60
- package/lib/pages/invitations/invitations.component.d.ts +0 -8
- package/lib/pages/tenant-settings/inviteDialog.component.d.ts +0 -28
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/message.service";
|
|
5
|
+
import * as i2 from "../../services/datalib.service";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/button";
|
|
8
|
+
import * as i5 from "@angular/material/icon";
|
|
9
|
+
import * as i6 from "@angular/material/form-field";
|
|
10
|
+
import * as i7 from "@angular/material/select";
|
|
11
|
+
import * as i8 from "@angular/material/core";
|
|
12
|
+
import * as i9 from "@angular/material/tooltip";
|
|
13
|
+
import * as i10 from "../suffix/suffix.component";
|
|
14
|
+
export class SelectCommonComponent {
|
|
15
|
+
constructor(messageService, dataService) {
|
|
16
|
+
this.messageService = messageService;
|
|
17
|
+
this.dataService = dataService;
|
|
18
|
+
this.isHovered = false;
|
|
19
|
+
this.selectedOptionHint = ""; // Changed: Added property to store the hint for selected option
|
|
20
|
+
this.width = "100%";
|
|
21
|
+
this.readonly = false;
|
|
22
|
+
this.required = true;
|
|
23
|
+
this.defaultFirstValue = false;
|
|
24
|
+
this.readonlyMode = "";
|
|
25
|
+
this.hint = "";
|
|
26
|
+
this.placeholder = "";
|
|
27
|
+
this.multiple = false;
|
|
28
|
+
this.display = "";
|
|
29
|
+
this.optionValue = "";
|
|
30
|
+
this.optionDisplay = "";
|
|
31
|
+
this.optionDisplayExtra = "";
|
|
32
|
+
this.nullable = false;
|
|
33
|
+
this.copyContent = false;
|
|
34
|
+
this.valueChange = new EventEmitter();
|
|
35
|
+
this.hoverChange = new EventEmitter();
|
|
36
|
+
}
|
|
37
|
+
ngOnInit() {
|
|
38
|
+
if (this.placeholder == "") {
|
|
39
|
+
this.placeholder = "Select " + this.display;
|
|
40
|
+
}
|
|
41
|
+
this.setDefaultValue();
|
|
42
|
+
if (this.field?.optionsSubject) {
|
|
43
|
+
this.subscription = this.field.optionsSubject.subscribe(newOptions => {
|
|
44
|
+
if (newOptions) {
|
|
45
|
+
this.options = newOptions;
|
|
46
|
+
this.updateSelectedOptionHint(); // Changed: Update hint when options change
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
ngOnChanges() {
|
|
52
|
+
if (this.readonlyMode != "" && this.options.length > 0) {
|
|
53
|
+
this.displayValue = this.options.filter((m) => m[`${this.optionValue}`] == this.value)[0][`${this.optionDisplay}`];
|
|
54
|
+
}
|
|
55
|
+
//add a null option
|
|
56
|
+
if (this.nullable && this.options && this.options.length > 0 && this.options[0][this.optionValue] != null) {
|
|
57
|
+
this.options.unshift({ [this.optionValue]: null, [this.optionDisplay]: "None" });
|
|
58
|
+
}
|
|
59
|
+
this.updateSelectedOptionHint(); // Changed: Update hint when component inputs change
|
|
60
|
+
}
|
|
61
|
+
setDefaultValue() {
|
|
62
|
+
if (this.defaultFirstValue && this.options && this.options.length > 0 &&
|
|
63
|
+
(this.value == null || this.value == undefined || (typeof (this.value) == 'string' && this.value == '') || (typeof (this.value) == 'number' && this.value == 0))) {
|
|
64
|
+
this.value = this.options[0][this.optionValue];
|
|
65
|
+
this.changed();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
changed() {
|
|
69
|
+
this.valueChange.emit(this.value);
|
|
70
|
+
this.updateSelectedOptionHint(); // Changed: Update hint when value changes
|
|
71
|
+
}
|
|
72
|
+
// Changed: Added method to update hint based on selected option
|
|
73
|
+
updateSelectedOptionHint() {
|
|
74
|
+
if (!this.options || this.options.length === 0 || this.value == null || this.value == undefined) {
|
|
75
|
+
this.selectedOptionHint = this.hint; // Fall back to component hint
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const selectedOption = this.options.find(option => option[this.optionValue] === this.value);
|
|
79
|
+
if (selectedOption && selectedOption.hint) {
|
|
80
|
+
this.selectedOptionHint = selectedOption.hint; // Use option hint
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.selectedOptionHint = this.hint; // Fall back to component hint
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Changed: Added getter for computed hint to use in template
|
|
87
|
+
get computedHint() {
|
|
88
|
+
return this.selectedOptionHint || this.hint;
|
|
89
|
+
}
|
|
90
|
+
onMouseEnter() {
|
|
91
|
+
this.isHovered = true;
|
|
92
|
+
this.hoverChange.emit(true);
|
|
93
|
+
}
|
|
94
|
+
onMouseLeave() {
|
|
95
|
+
this.isHovered = false;
|
|
96
|
+
this.hoverChange.emit(false);
|
|
97
|
+
}
|
|
98
|
+
refresh(event) {
|
|
99
|
+
console.log("refresh clicked");
|
|
100
|
+
event.stopPropagation();
|
|
101
|
+
if (!this.loadAction) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const refreshAction = {
|
|
105
|
+
...this.loadAction,
|
|
106
|
+
skipCache: true
|
|
107
|
+
};
|
|
108
|
+
this.getData(refreshAction);
|
|
109
|
+
}
|
|
110
|
+
transformLoadUrl(action) {
|
|
111
|
+
if (!action?.url || !this.loadIDField || !this.data)
|
|
112
|
+
return action;
|
|
113
|
+
const idValue = this.data[this.loadIDField];
|
|
114
|
+
if (!idValue)
|
|
115
|
+
return action;
|
|
116
|
+
const urlParts = action.url.split('/');
|
|
117
|
+
return {
|
|
118
|
+
...action,
|
|
119
|
+
url: `${urlParts[0]}/${urlParts[1]}/${idValue}`
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
getData(loadAction) {
|
|
123
|
+
if (!loadAction)
|
|
124
|
+
return;
|
|
125
|
+
if (this.masterField)
|
|
126
|
+
return;
|
|
127
|
+
const transformedAction = this.transformLoadUrl(loadAction);
|
|
128
|
+
this.dataService.CallApi(transformedAction, "").subscribe((apiResponse) => {
|
|
129
|
+
if (apiResponse.success) {
|
|
130
|
+
this.options = apiResponse.data;
|
|
131
|
+
console.log(this.options);
|
|
132
|
+
if (this.field) {
|
|
133
|
+
this.field.options = apiResponse.data;
|
|
134
|
+
this.setDefaultValue();
|
|
135
|
+
if (!this.field.optionsSubject) {
|
|
136
|
+
this.field.optionsSubject = new BehaviorSubject(apiResponse.data);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
this.field.optionsSubject.next(apiResponse.data);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
this.updateSelectedOptionHint(); // Changed: Update hint when data is loaded
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
ngOnDestroy() {
|
|
147
|
+
if (this.subscription) {
|
|
148
|
+
this.subscription.unsubscribe();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
SelectCommonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectCommonComponent, deps: [{ token: i1.MessageService }, { token: i2.DataServiceLib }], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
+
SelectCommonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectCommonComponent, selector: "spa-select-common", inputs: { width: "width", readonly: "readonly", required: "required", defaultFirstValue: "defaultFirstValue", readonlyMode: "readonlyMode", hint: "hint", placeholder: "placeholder", multiple: "multiple", display: "display", value: "value", options: "options", masterOptions: "masterOptions", masterField: "masterField", optionValue: "optionValue", optionDisplay: "optionDisplay", optionDisplayExtra: "optionDisplayExtra", nullable: "nullable", infoMessage: "infoMessage", copyContent: "copyContent", loadAction: "loadAction", loadIDField: "loadIDField", field: "field", data: "data" }, outputs: { valueChange: "valueChange", hoverChange: "hoverChange" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field *ngIf=\"readonlyMode==''\" floatLabel=\"always\" [hintLabel]=\"computedHint\" [ngStyle]=\"{'width':width ?? '100%'}\" [hideRequiredMarker]=\"!required\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n\r\n <mat-label>{{display}}</mat-label>\r\n <mat-select [(value)]=\"value\" (selectionChange)=\"changed()\" [multiple]=\"multiple\" [disabled]=\"readonly\" [placeholder]=\"placeholder\">\r\n <mat-option *ngFor=\"let row of options\" [value]=\"row[optionValue]\">\r\n {{row[optionDisplay]}} <label *ngIf=\"optionDisplayExtra!='' && row[optionDisplayExtra] && row[optionDisplayExtra] != ''\">({{row[optionDisplayExtra]}})</label>\r\n </mat-option>\r\n </mat-select>\r\n\r\n <div matSuffix class=\"suffix-icons\">\r\n <ng-content select=\"[additionalButtons]\"></ng-content>\r\n <button mat-icon-button *ngIf=\"loadAction && isHovered && !masterField\" (click)=\"refresh($event)\" matTooltip=\"Refresh\" matTooltipPosition=\"above\">\r\n <mat-icon color=\"primary\">cached</mat-icon>\r\n </button>\r\n <spa-suffix [infoMessage]=\"infoMessage\" [copyContent]=\"copyContent\" [isHovered]=\"isHovered\" [(value)]=\"value\"></spa-suffix>\r\n </div>\r\n\r\n</mat-form-field>\r\n", styles: [".suffix-icons{display:flex;align-items:center}.suffix-icons button{opacity:0;transition:opacity .3s ease}:host:hover .suffix-icons button{opacity:1}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i10.SuffixComponent, selector: "spa-suffix", inputs: ["label", "infoMessage", "copyContent", "isHovered", "clearContent", "value"], outputs: ["infoClick", "copyClick", "clearClick", "valueChange"] }] });
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectCommonComponent, decorators: [{
|
|
155
|
+
type: Component,
|
|
156
|
+
args: [{ selector: 'spa-select-common', template: "<mat-form-field *ngIf=\"readonlyMode==''\" floatLabel=\"always\" [hintLabel]=\"computedHint\" [ngStyle]=\"{'width':width ?? '100%'}\" [hideRequiredMarker]=\"!required\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n\r\n <mat-label>{{display}}</mat-label>\r\n <mat-select [(value)]=\"value\" (selectionChange)=\"changed()\" [multiple]=\"multiple\" [disabled]=\"readonly\" [placeholder]=\"placeholder\">\r\n <mat-option *ngFor=\"let row of options\" [value]=\"row[optionValue]\">\r\n {{row[optionDisplay]}} <label *ngIf=\"optionDisplayExtra!='' && row[optionDisplayExtra] && row[optionDisplayExtra] != ''\">({{row[optionDisplayExtra]}})</label>\r\n </mat-option>\r\n </mat-select>\r\n\r\n <div matSuffix class=\"suffix-icons\">\r\n <ng-content select=\"[additionalButtons]\"></ng-content>\r\n <button mat-icon-button *ngIf=\"loadAction && isHovered && !masterField\" (click)=\"refresh($event)\" matTooltip=\"Refresh\" matTooltipPosition=\"above\">\r\n <mat-icon color=\"primary\">cached</mat-icon>\r\n </button>\r\n <spa-suffix [infoMessage]=\"infoMessage\" [copyContent]=\"copyContent\" [isHovered]=\"isHovered\" [(value)]=\"value\"></spa-suffix>\r\n </div>\r\n\r\n</mat-form-field>\r\n", styles: [".suffix-icons{display:flex;align-items:center}.suffix-icons button{opacity:0;transition:opacity .3s ease}:host:hover .suffix-icons button{opacity:1}\n"] }]
|
|
157
|
+
}], ctorParameters: function () { return [{ type: i1.MessageService }, { type: i2.DataServiceLib }]; }, propDecorators: { width: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], readonly: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], required: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], defaultFirstValue: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], readonlyMode: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], hint: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], placeholder: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], multiple: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], display: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], value: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], options: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], masterOptions: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], masterField: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], optionValue: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], optionDisplay: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], optionDisplayExtra: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], nullable: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], infoMessage: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], copyContent: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], loadAction: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], loadIDField: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], field: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], data: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], valueChange: [{
|
|
204
|
+
type: Output
|
|
205
|
+
}], hoverChange: [{
|
|
206
|
+
type: Output
|
|
207
|
+
}] } });
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbW1vbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtY29tbW9uL3NlbGVjdC1jb21tb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWNvbW1vbi9zZWxlY3QtY29tbW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTFGLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFPckQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUFzQixjQUE4QixFQUFZLFdBQTJCO1FBQXJFLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFZLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQW1DM0YsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQix1QkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxnRUFBZ0U7UUFJaEYsVUFBSyxHQUFHLE1BQU0sQ0FBQTtRQUNkLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUtiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLHVCQUFrQixHQUFH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QkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aW9uLCBBcGlSZXNwb25zZSwgRmllbGQgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZUxpYiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGFsaWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1zZWxlY3QtY29tbW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWNvbW1vbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWNvbW1vbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbW1vbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJvdGVjdGVkIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5wbGFjZWhvbGRlciA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBcIlNlbGVjdCBcIiArIHRoaXMuZGlzcGxheTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldERlZmF1bHRWYWx1ZSgpO1xyXG5cclxuICAgIGlmICh0aGlzLmZpZWxkPy5vcHRpb25zU3ViamVjdCkge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZmllbGQub3B0aW9uc1N1YmplY3Quc3Vic2NyaWJlKG5ld09wdGlvbnMgPT4ge1xyXG4gICAgICAgIGlmIChuZXdPcHRpb25zKSB7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBuZXdPcHRpb25zO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZE9wdGlvbkhpbnQoKTsgLy8gQ2hhbmdlZDogVXBkYXRlIGhpbnQgd2hlbiBvcHRpb25zIGNoYW5nZVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuXHJcbiAgICBpZiAodGhpcy5yZWFkb25seU1vZGUgIT0gXCJcIiAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKG0pID0+IG1bYCR7dGhpcy5vcHRpb25WYWx1ZX1gXSA9PSB0aGlzLnZhbHVlKVswXVtgJHt0aGlzLm9wdGlvbkRpc3BsYXl9YF1cclxuICAgIH1cclxuXHJcbiAgICAvL2FkZCBhIG51bGwgb3B0aW9uXHJcbiAgICBpZiAodGhpcy5udWxsYWJsZSAmJiB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDAgJiYgdGhpcy5vcHRpb25zWzBdW3RoaXMub3B0aW9uVmFsdWVdICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5vcHRpb25zLnVuc2hpZnQoeyBbdGhpcy5vcHRpb25WYWx1ZV06IG51bGwsIFt0aGlzLm9wdGlvbkRpc3BsYXldOiBcIk5vbmVcIiB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRPcHRpb25IaW50KCk7IC8vIENoYW5nZWQ6IFVwZGF0ZSBoaW50IHdoZW4gY29tcG9uZW50IGlucHV0cyBjaGFuZ2VcclxuICB9XHJcblxyXG4gIGRpc3BsYXlWYWx1ZTtcclxuICBpc0hvdmVyZWQgPSBmYWxzZTtcclxuICBzZWxlY3RlZE9wdGlvbkhpbnQgPSBcIlwiOyAvLyBDaGFuZ2VkOiBBZGRlZCBwcm9wZXJ0eSB0byBzdG9yZSB0aGUgaGludCBmb3Igc2VsZWN0ZWQgb3B0aW9uXHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIEBJbnB1dCgpIHdpZHRoID0gXCIxMDAlXCJcclxuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkZWZhdWx0Rmlyc3RWYWx1ZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJlYWRvbmx5TW9kZSA9IFwiXCI7XHJcbiAgQElucHV0KCkgaGludCA9IFwiXCI7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGRpc3BsYXkgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHZhbHVlO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueTtcclxuICBASW5wdXQoKSBtYXN0ZXJPcHRpb25zOiBhbnk7XHJcbiAgQElucHV0KCkgbWFzdGVyRmllbGQ6IHN0cmluZztcclxuICBASW5wdXQoKSBvcHRpb25WYWx1ZSA9IFwiXCI7XHJcbiAgQElucHV0KCkgb3B0aW9uRGlzcGxheSA9IFwiXCI7XHJcbiAgQElucHV0KCkgb3B0aW9uRGlzcGxheUV4dHJhID0gXCJcIjtcclxuICBASW5wdXQoKSBudWxsYWJsZSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBpbmZvTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvcHlDb250ZW50ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9hZEFjdGlvbjogQWN0aW9uO1xyXG4gIEBJbnB1dCgpIGxvYWRJREZpZWxkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZmllbGQ6IEZpZWxkO1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBob3ZlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgc2V0RGVmYXVsdFZhbHVlKCl7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZGVmYXVsdEZpcnN0VmFsdWUgJiYgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwICYmXHJcbiAgICAgICh0aGlzLnZhbHVlID09IG51bGwgfHwgdGhpcy52YWx1ZSA9PSB1bmRlZmluZWQgfHwgKHR5cGVvZiAodGhpcy52YWx1ZSkgPT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZSA9PSAnJykgfHwgKHR5cGVvZiAodGhpcy52YWx1ZSkgPT0gJ251bWJlcicgJiYgdGhpcy52YWx1ZSA9PSAwKSlcclxuICAgICAgKSB7XHJcblxyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25zWzBdW3RoaXMub3B0aW9uVmFsdWVdXHJcbiAgICAgIHRoaXMuY2hhbmdlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlZCgpIHtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRPcHRpb25IaW50KCk7IC8vIENoYW5nZWQ6IFVwZGF0ZSBoaW50IHdoZW4gdmFsdWUgY2hhbmdlc1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hhbmdlZDogQWRkZWQgbWV0aG9kIHRvIHVwZGF0ZSBoaW50IGJhc2VkIG9uIHNlbGVjdGVkIG9wdGlvblxyXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRPcHRpb25IaW50KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMgfHwgdGhpcy5vcHRpb25zLmxlbmd0aCA9PT0gMCB8fCB0aGlzLnZhbHVlID09IG51bGwgfHwgdGhpcy52YWx1ZSA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbkhpbnQgPSB0aGlzLmhpbnQ7IC8vIEZhbGwgYmFjayB0byBjb21wb25lbnQgaGludFxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZChvcHRpb24gPT4gXHJcbiAgICAgIG9wdGlvblt0aGlzLm9wdGlvblZhbHVlXSA9PT0gdGhpcy52YWx1ZVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoc2VsZWN0ZWRPcHRpb24gJiYgc2VsZWN0ZWRPcHRpb24uaGludCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uSGludCA9IHNlbGVjdGVkT3B0aW9uLmhpbnQ7IC8vIFVzZSBvcHRpb24gaGludFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbkhpbnQgPSB0aGlzLmhpbnQ7IC8vIEZhbGwgYmFjayB0byBjb21wb25lbnQgaGludFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ2hhbmdlZDogQWRkZWQgZ2V0dGVyIGZvciBjb21wdXRlZCBoaW50IHRvIHVzZSBpbiB0ZW1wbGF0ZVxyXG4gIGdldCBjb21wdXRlZEhpbnQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9uSGludCB8fCB0aGlzLmhpbnQ7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzSG92ZXJlZCA9IHRydWU7XHJcbiAgICB0aGlzLmhvdmVyQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzSG92ZXJlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ob3ZlckNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFwicmVmcmVzaCBjbGlja2VkXCIpXHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICghdGhpcy5sb2FkQWN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZWZyZXNoQWN0aW9uIDogQWN0aW9uID0ge1xyXG4gICAgICAuLi50aGlzLmxvYWRBY3Rpb24sXHJcbiAgICAgIHNraXBDYWNoZTogdHJ1ZVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmdldERhdGEocmVmcmVzaEFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zZm9ybUxvYWRVcmwoYWN0aW9uOiBBY3Rpb24pOiBBY3Rpb24ge1xyXG4gICAgaWYgKCFhY3Rpb24/LnVybCB8fCAhdGhpcy5sb2FkSURGaWVsZCB8fCAhdGhpcy5kYXRhKSByZXR1cm4gYWN0aW9uO1xyXG5cclxuICAgIGNvbnN0IGlkVmFsdWUgPSB0aGlzLmRhdGFbdGhpcy5sb2FkSURGaWVsZF07XHJcbiAgICBpZiAoIWlkVmFsdWUpIHJldHVybiBhY3Rpb247XHJcblxyXG4gICAgY29uc3QgdXJsUGFydHMgPSBhY3Rpb24udXJsLnNwbGl0KCcvJyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5hY3Rpb24sXHJcbiAgICAgIHVybDogYCR7dXJsUGFydHNbMF19LyR7dXJsUGFydHNbMV19LyR7aWRWYWx1ZX1gXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YShsb2FkQWN0aW9uOiBBY3Rpb24pIHtcclxuXHJcbiAgICBpZiAoIWxvYWRBY3Rpb24pIHJldHVybjtcclxuICAgIGlmICh0aGlzLm1hc3RlckZpZWxkKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgdHJhbnNmb3JtZWRBY3Rpb24gPSB0aGlzLnRyYW5zZm9ybUxvYWRVcmwobG9hZEFjdGlvbik7XHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5DYWxsQXBpKHRyYW5zZm9ybWVkQWN0aW9uLCBcIlwiKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IGFwaVJlc3BvbnNlLmRhdGE7XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMub3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZmllbGQpIHtcclxuICAgICAgICAgIHRoaXMuZmllbGQub3B0aW9ucyA9IGFwaVJlc3BvbnNlLmRhdGE7XHJcblxyXG4gICAgICAgICAgdGhpcy5zZXREZWZhdWx0VmFsdWUoKTtcclxuXHJcbiAgICAgICAgICBpZiAoIXRoaXMuZmllbGQub3B0aW9uc1N1YmplY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoYXBpUmVzcG9uc2UuZGF0YSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmZpZWxkLm9wdGlvbnNTdWJqZWN0Lm5leHQoYXBpUmVzcG9uc2UuZGF0YSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRPcHRpb25IaW50KCk7IC8vIENoYW5nZWQ6IFVwZGF0ZSBoaW50IHdoZW4gZGF0YSBpcyBsb2FkZWRcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIjxtYXQtZm9ybS1maWVsZCAqbmdJZj1cInJlYWRvbmx5TW9kZT09JydcIiBmbG9hdExhYmVsPVwiYWx3YXlzXCIgW2hpbnRMYWJlbF09XCJjb21wdXRlZEhpbnRcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzp3aWR0aCA/PyAnMTAwJSd9XCIgW2hpZGVSZXF1aXJlZE1hcmtlcl09XCIhcmVxdWlyZWRcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCI+XHJcblxyXG4gIDxtYXQtbGFiZWw+e3tkaXNwbGF5fX08L21hdC1sYWJlbD5cclxuICA8bWF0LXNlbGVjdCBbKHZhbHVlKV09XCJ2YWx1ZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlZCgpXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCI+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcm93IG9mIG9wdGlvbnNcIiBbdmFsdWVdPVwicm93W29wdGlvblZhbHVlXVwiPlxyXG4gICAgICB7e3Jvd1tvcHRpb25EaXNwbGF5XX19IDxsYWJlbCAqbmdJZj1cIm9wdGlvbkRpc3BsYXlFeHRyYSE9JycgJiYgcm93W29wdGlvbkRpc3BsYXlFeHRyYV0gJiYgcm93W29wdGlvbkRpc3BsYXlFeHRyYV0gIT0gJydcIj4oe3tyb3dbb3B0aW9uRGlzcGxheUV4dHJhXX19KTwvbGFiZWw+XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG5cclxuICA8ZGl2IG1hdFN1ZmZpeCBjbGFzcz1cInN1ZmZpeC1pY29uc1wiPlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FkZGl0aW9uYWxCdXR0b25zXVwiPjwvbmctY29udGVudD5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwibG9hZEFjdGlvbiAmJiBpc0hvdmVyZWQgJiYgIW1hc3RlckZpZWxkXCIgKGNsaWNrKT1cInJlZnJlc2goJGV2ZW50KVwiIG1hdFRvb2x0aXA9XCJSZWZyZXNoXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmNhY2hlZDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxzcGEtc3VmZml4IFtpbmZvTWVzc2FnZV09XCJpbmZvTWVzc2FnZVwiIFtjb3B5Q29udGVudF09XCJjb3B5Q29udGVudFwiIFtpc0hvdmVyZWRdPVwiaXNIb3ZlcmVkXCIgWyh2YWx1ZSldPVwidmFsdWVcIj48L3NwYS1zdWZmaXg+XHJcbiAgPC9kaXY+XHJcblxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { SelectCommonComponent } from '../select-common/select-common.component';
|
|
3
|
+
import { DetailsDialogLite } from '../table-lite/detailsDialog-lite.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/message.service";
|
|
6
|
+
import * as i2 from "../../services/datalib.service";
|
|
7
|
+
import * as i3 from "../../services/dialog.service";
|
|
8
|
+
import * as i4 from "../../services/button.service";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@angular/material/button";
|
|
11
|
+
import * as i7 from "@angular/material/icon";
|
|
12
|
+
import * as i8 from "@angular/material/tooltip";
|
|
13
|
+
import * as i9 from "../select-common/select-common.component";
|
|
14
|
+
export class SelectInternalComponent extends SelectCommonComponent {
|
|
15
|
+
constructor(messageService, dataService, dialogService, buttonService) {
|
|
16
|
+
super(messageService, dataService);
|
|
17
|
+
this.messageService = messageService;
|
|
18
|
+
this.dataService = dataService;
|
|
19
|
+
this.dialogService = dialogService;
|
|
20
|
+
this.buttonService = buttonService;
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
if (this.options == null || this.options == undefined || this.options.length == 0) {
|
|
24
|
+
this.getData(this.loadAction);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
onHoverChange(isHovered) {
|
|
28
|
+
this.isHovered = isHovered;
|
|
29
|
+
}
|
|
30
|
+
canCreate() {
|
|
31
|
+
if (!this.detailsConfig?.buttons)
|
|
32
|
+
return false;
|
|
33
|
+
const createButton = this.detailsConfig.buttons.find(b => b.name === 'create');
|
|
34
|
+
const tmpTableConfig = { formConfig: this.detailsConfig.formConfig };
|
|
35
|
+
return createButton && (!createButton.disabled || !createButton.disabled(this.value)) && this.buttonService.testVisible(createButton, null, tmpTableConfig);
|
|
36
|
+
}
|
|
37
|
+
canView() {
|
|
38
|
+
if (!this.detailsConfig?.buttons)
|
|
39
|
+
return false;
|
|
40
|
+
let viewButton = this.detailsConfig.buttons.find(b => b.name === 'view');
|
|
41
|
+
if (!viewButton) {
|
|
42
|
+
// Add default view button if not exists
|
|
43
|
+
viewButton = { name: 'view', dialog: true };
|
|
44
|
+
this.detailsConfig.buttons.push(viewButton);
|
|
45
|
+
}
|
|
46
|
+
const tmpTableConfig = { formConfig: this.detailsConfig.formConfig };
|
|
47
|
+
return this.value && viewButton && this.buttonService.testVisible(viewButton, null, tmpTableConfig);
|
|
48
|
+
}
|
|
49
|
+
onPeekClick(event, mode) {
|
|
50
|
+
event.stopPropagation();
|
|
51
|
+
if (this.detailsConfig) {
|
|
52
|
+
const dynamicData = mode === 'create' ? {} : { [this.detailsConfig.heroField]: this.value };
|
|
53
|
+
let button = this.detailsConfig.buttons.find(b => b.name === mode);
|
|
54
|
+
button.detailsConfig = this.detailsConfig;
|
|
55
|
+
this.dialogService.openConfiguredDetailsDialog(button, dynamicData, DetailsDialogLite).subscribe(result => {
|
|
56
|
+
console.log(result);
|
|
57
|
+
if (result.message === 'success') {
|
|
58
|
+
this.refresh(event);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.messageService.toast("Peek configuration error");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
SelectInternalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectInternalComponent, deps: [{ token: i1.MessageService }, { token: i2.DataServiceLib }, { token: i3.DialogService }, { token: i4.ButtonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
SelectInternalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectInternalComponent, selector: "spa-select-internal", inputs: { detailsConfig: "detailsConfig" }, usesInheritance: true, ngImport: i0, template: "<spa-select-common [width]=\"width\" [readonly]=\"readonly\" [required]=\"required\" [defaultFirstValue]=\"defaultFirstValue\"\r\n [readonlyMode]=\"readonlyMode\" [hint]=\"hint\" [placeholder]=\"placeholder\" [multiple]=\"multiple\"\r\n [display]=\"display\" [(value)]=\"value\" [options]=\"options\" [masterOptions]=\"masterOptions\" [masterField]=\"masterField\"\r\n [optionValue]=\"optionValue\" [optionDisplay]=\"optionDisplay\" [optionDisplayExtra]=\"optionDisplayExtra\"\r\n [nullable]=\"nullable\" [infoMessage]=\"infoMessage\" [copyContent]=\"copyContent\" [loadAction]=\"loadAction\" [loadIDField]=\"loadIDField\" [field]=\"field\" [data]=\"data\"\r\n (valueChange)=\"valueChange.emit($event)\"\r\n (hoverChange)=\"onHoverChange($event)\">\r\n <ng-container additionalButtons>\r\n <button mat-icon-button *ngIf=\"detailsConfig && canCreate() && isHovered\" (click)=\"onPeekClick($event, 'create')\" matTooltip=\"Add\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: green;\">add</mat-icon>\r\n </button>\r\n <button mat-icon-button *ngIf=\"detailsConfig && canView() && isHovered && value\" (click)=\"onPeekClick($event, 'view')\" matTooltip=\"View\" matTooltipPosition=\"above\">\r\n <mat-icon color=\"primary\">launch</mat-icon>\r\n </button>\r\n\r\n </ng-container>\r\n</spa-select-common>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i9.SelectCommonComponent, selector: "spa-select-common", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "masterField", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "infoMessage", "copyContent", "loadAction", "loadIDField", "field", "data"], outputs: ["valueChange", "hoverChange"] }] });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectInternalComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'spa-select-internal', template: "<spa-select-common [width]=\"width\" [readonly]=\"readonly\" [required]=\"required\" [defaultFirstValue]=\"defaultFirstValue\"\r\n [readonlyMode]=\"readonlyMode\" [hint]=\"hint\" [placeholder]=\"placeholder\" [multiple]=\"multiple\"\r\n [display]=\"display\" [(value)]=\"value\" [options]=\"options\" [masterOptions]=\"masterOptions\" [masterField]=\"masterField\"\r\n [optionValue]=\"optionValue\" [optionDisplay]=\"optionDisplay\" [optionDisplayExtra]=\"optionDisplayExtra\"\r\n [nullable]=\"nullable\" [infoMessage]=\"infoMessage\" [copyContent]=\"copyContent\" [loadAction]=\"loadAction\" [loadIDField]=\"loadIDField\" [field]=\"field\" [data]=\"data\"\r\n (valueChange)=\"valueChange.emit($event)\"\r\n (hoverChange)=\"onHoverChange($event)\">\r\n <ng-container additionalButtons>\r\n <button mat-icon-button *ngIf=\"detailsConfig && canCreate() && isHovered\" (click)=\"onPeekClick($event, 'create')\" matTooltip=\"Add\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: green;\">add</mat-icon>\r\n </button>\r\n <button mat-icon-button *ngIf=\"detailsConfig && canView() && isHovered && value\" (click)=\"onPeekClick($event, 'view')\" matTooltip=\"View\" matTooltipPosition=\"above\">\r\n <mat-icon color=\"primary\">launch</mat-icon>\r\n </button>\r\n\r\n </ng-container>\r\n</spa-select-common>\r\n" }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i1.MessageService }, { type: i2.DataServiceLib }, { type: i3.DialogService }, { type: i4.ButtonService }]; }, propDecorators: { detailsConfig: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}] } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWludGVybmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1pbnRlcm5hbC9zZWxlY3QtaW50ZXJuYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWludGVybmFsL3NlbGVjdC1pbnRlcm5hbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixLQUFLLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBSS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7OztBQVEvRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBQ2hFLFlBQ3FCLGNBQThCLEVBQXFCLFdBQTJCLEVBQ3pGLGFBQTRCLEVBQVUsYUFBNEI7UUFHMUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUpoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBcUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ3pGLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFJNUUsQ0FBQztJQUVRLFFBQVE7UUFFZixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNqRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMvQjtJQUVILENBQUM7SUFLRCxh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QXVCLDhIQ2RwQywwNkNBaUJBOzJGREhhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUI7MExBcUJ0QixhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3Rpb24sIEFwaVJlc3BvbnNlLCBCdXR0b24sIERldGFpbHNEaWFsb2dDb25maWcsIFRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21tb25Db21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QtY29tbW9uL3NlbGVjdC1jb21tb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXRhaWxzRGlhbG9nTGl0ZSB9IGZyb20gJy4uL3RhYmxlLWxpdGUvZGV0YWlsc0RpYWxvZy1saXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9idXR0b24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1zZWxlY3QtaW50ZXJuYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtaW50ZXJuYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnRlcm5hbC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdEludGVybmFsQ29tcG9uZW50IGV4dGVuZHMgU2VsZWN0Q29tbW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByb3RlY3RlZCBvdmVycmlkZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VMaWIsXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsIHByaXZhdGUgYnV0dG9uU2VydmljZTogQnV0dG9uU2VydmljZSxcclxuXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtZXNzYWdlU2VydmljZSwgZGF0YVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucyA9PSBudWxsIHx8IHRoaXMub3B0aW9ucyA9PSB1bmRlZmluZWQgfHwgdGhpcy5vcHRpb25zLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSh0aGlzLmxvYWRBY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGRldGFpbHNDb25maWc6IERldGFpbHNEaWFsb2dDb25maWc7XHJcblxyXG5cclxuICBvbkhvdmVyQ2hhbmdlKGlzSG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc0hvdmVyZWQgPSBpc0hvdmVyZWQ7XHJcbiAgfVxyXG5cclxuICBjYW5DcmVhdGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZGV0YWlsc0NvbmZpZz8uYnV0dG9ucykgcmV0dXJuIGZhbHNlO1xyXG4gICAgY29uc3QgY3JlYXRlQnV0dG9uOiBCdXR0b24gPSB0aGlzLmRldGFpbHNDb25maWcuYnV0dG9ucy5maW5kKGIgPT4gYi5uYW1lID09PSAnY3JlYXRlJyk7XHJcbiAgICBjb25zdCB0bXBUYWJsZUNvbmZpZzogVGFibGVDb25maWcgPSB7IGZvcm1Db25maWc6IHRoaXMuZGV0YWlsc0NvbmZpZy5mb3JtQ29uZmlnIH07XHJcbiAgICByZXR1cm4gY3JlYXRlQnV0dG9uICYmICghY3JlYXRlQnV0dG9uLmRpc2FibGVkIHx8ICFjcmVhdGVCdXR0b24uZGlzYWJsZWQodGhpcy52YWx1ZSkpICYmIHRoaXMuYnV0dG9uU2VydmljZS50ZXN0VmlzaWJsZShjcmVhdGVCdXR0b24sIG51bGwsIHRtcFRhYmxlQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIGNhblZpZXcoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZGV0YWlsc0NvbmZpZz8uYnV0dG9ucykgcmV0dXJuIGZhbHNlO1xyXG4gICAgbGV0IHZpZXdCdXR0b246IEJ1dHRvbiA9IHRoaXMuZGV0YWlsc0NvbmZpZy5idXR0b25zLmZpbmQoYiA9PiBiLm5hbWUgPT09ICd2aWV3Jyk7XHJcbiAgICBpZiAoIXZpZXdCdXR0b24pIHtcclxuICAgICAgLy8gQWRkIGRlZmF1bHQgdmlldyBidXR0b24gaWYgbm90IGV4aXN0c1xyXG4gICAgICB2aWV3QnV0dG9uID0geyBuYW1lOiAndmlldycsIGRpYWxvZzogdHJ1ZSB9O1xyXG4gICAgICB0aGlzLmRldGFpbHNDb25maWcuYnV0dG9ucy5wdXNoKHZpZXdCdXR0b24pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdG1wVGFibGVDb25maWc6IFRhYmxlQ29uZmlnID0geyBmb3JtQ29uZmlnOiB0aGlzLmRldGFpbHNDb25maWcuZm9ybUNvbmZpZyB9O1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgdmlld0J1dHRvbiAmJiB0aGlzLmJ1dHRvblNlcnZpY2UudGVzdFZpc2libGUodmlld0J1dHRvbiwgbnVsbCwgdG1wVGFibGVDb25maWcpO1xyXG4gIH1cclxuXHJcbiAgb25QZWVrQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIG1vZGU6ICdjcmVhdGUnIHwgJ3ZpZXcnKTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy5kZXRhaWxzQ29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IGR5bmFtaWNEYXRhID0gbW9kZSA9PT0gJ2NyZWF0ZScgPyB7fSA6IHsgW3RoaXMuZGV0YWlsc0NvbmZpZy5oZXJvRmllbGRdOiB0aGlzLnZhbHVlIH07XHJcblxyXG4gICAgICBsZXQgYnV0dG9uID0gdGhpcy5kZXRhaWxzQ29uZmlnLmJ1dHRvbnMuZmluZChiID0+IGIubmFtZSA9PT0gbW9kZSk7XHJcbiAgICAgIGJ1dHRvbi5kZXRhaWxzQ29uZmlnID0gdGhpcy5kZXRhaWxzQ29uZmlnO1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5Db25maWd1cmVkRGV0YWlsc0RpYWxvZyggYnV0dG9uLCBkeW5hbWljRGF0YSwgRGV0YWlsc0RpYWxvZ0xpdGUgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG5cclxuICAgICAgICBpZiAocmVzdWx0Lm1lc3NhZ2UgPT09ICdzdWNjZXNzJykge1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoKGV2ZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGVlayBjb25maWd1cmF0aW9uIGVycm9yXCIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8c3BhLXNlbGVjdC1jb21tb24gW3dpZHRoXT1cIndpZHRoXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW2RlZmF1bHRGaXJzdFZhbHVlXT1cImRlZmF1bHRGaXJzdFZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgIFtyZWFkb25seU1vZGVdPVwicmVhZG9ubHlNb2RlXCIgW2hpbnRdPVwiaGludFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbZGlzcGxheV09XCJkaXNwbGF5XCIgWyh2YWx1ZSldPVwidmFsdWVcIiBbb3B0aW9uc109XCJvcHRpb25zXCIgW21hc3Rlck9wdGlvbnNdPVwibWFzdGVyT3B0aW9uc1wiIFttYXN0ZXJGaWVsZF09XCJtYXN0ZXJGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICBbb3B0aW9uVmFsdWVdPVwib3B0aW9uVmFsdWVcIiBbb3B0aW9uRGlzcGxheV09XCJvcHRpb25EaXNwbGF5XCIgW29wdGlvbkRpc3BsYXlFeHRyYV09XCJvcHRpb25EaXNwbGF5RXh0cmFcIlxyXG4gICAgICAgICAgICAgICAgICAgW251bGxhYmxlXT1cIm51bGxhYmxlXCIgW2luZm9NZXNzYWdlXT1cImluZm9NZXNzYWdlXCIgW2NvcHlDb250ZW50XT1cImNvcHlDb250ZW50XCIgW2xvYWRBY3Rpb25dPVwibG9hZEFjdGlvblwiIFtsb2FkSURGaWVsZF09XCJsb2FkSURGaWVsZFwiIFtmaWVsZF09XCJmaWVsZFwiIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAoaG92ZXJDaGFuZ2UpPVwib25Ib3ZlckNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBhZGRpdGlvbmFsQnV0dG9ucz5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiZGV0YWlsc0NvbmZpZyAmJiBjYW5DcmVhdGUoKSAmJiBpc0hvdmVyZWRcIiAoY2xpY2spPVwib25QZWVrQ2xpY2soJGV2ZW50LCAnY3JlYXRlJylcIiBtYXRUb29sdGlwPVwiQWRkXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6IGdyZWVuO1wiPmFkZDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiZGV0YWlsc0NvbmZpZyAmJiBjYW5WaWV3KCkgJiYgaXNIb3ZlcmVkICYmIHZhbHVlXCIgKGNsaWNrKT1cIm9uUGVla0NsaWNrKCRldmVudCwgJ3ZpZXcnKVwiIG1hdFRvb2x0aXA9XCJWaWV3XCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmxhdW5jaDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvc3BhLXNlbGVjdC1jb21tb24+XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { SelectCommonComponent } from '../select-common/select-common.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../select-common/select-common.component";
|
|
5
|
+
export class SelectLiteComponent extends SelectCommonComponent {
|
|
6
|
+
ngOnInit() {
|
|
7
|
+
if (this.options == null || this.options == undefined || this.options.length == 0) {
|
|
8
|
+
this.getData(this.loadAction);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
SelectLiteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectLiteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
SelectLiteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectLiteComponent, selector: "spa-select-lite", usesInheritance: true, ngImport: i0, template: "<spa-select-common [width]=\"width\" [readonly]=\"readonly\" [required]=\"required\" [defaultFirstValue]=\"defaultFirstValue\"\r\n [readonlyMode]=\"readonlyMode\" [hint]=\"hint\" [placeholder]=\"placeholder\" [multiple]=\"multiple\"\r\n [display]=\"display\" [(value)]=\"value\" [options]=\"options\" [masterOptions]=\"masterOptions\" [masterField]=\"masterField\"\r\n [optionValue]=\"optionValue\" [optionDisplay]=\"optionDisplay\" [optionDisplayExtra]=\"optionDisplayExtra\"\r\n [nullable]=\"nullable\" [infoMessage]=\"infoMessage\" [copyContent]=\"copyContent\" [loadAction]=\"loadAction\" [loadIDField]=\"loadIDField\" [field]=\"field\" [data]=\"data\"\r\n (valueChange)=\"valueChange.emit($event)\">\r\n</spa-select-common>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.SelectCommonComponent, selector: "spa-select-common", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "masterField", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "infoMessage", "copyContent", "loadAction", "loadIDField", "field", "data"], outputs: ["valueChange", "hoverChange"] }] });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectLiteComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'spa-select-lite', template: "<spa-select-common [width]=\"width\" [readonly]=\"readonly\" [required]=\"required\" [defaultFirstValue]=\"defaultFirstValue\"\r\n [readonlyMode]=\"readonlyMode\" [hint]=\"hint\" [placeholder]=\"placeholder\" [multiple]=\"multiple\"\r\n [display]=\"display\" [(value)]=\"value\" [options]=\"options\" [masterOptions]=\"masterOptions\" [masterField]=\"masterField\"\r\n [optionValue]=\"optionValue\" [optionDisplay]=\"optionDisplay\" [optionDisplayExtra]=\"optionDisplayExtra\"\r\n [nullable]=\"nullable\" [infoMessage]=\"infoMessage\" [copyContent]=\"copyContent\" [loadAction]=\"loadAction\" [loadIDField]=\"loadIDField\" [field]=\"field\" [data]=\"data\"\r\n (valueChange)=\"valueChange.emit($event)\">\r\n</spa-select-common>\r\n" }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxpdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWxpdGUvc2VsZWN0LWxpdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWxpdGUvc2VsZWN0LWxpdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBT2pGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxxQkFBcUI7SUFFbkQsUUFBUTtRQUVmLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ2pGLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQy9CO0lBRUgsQ0FBQzs7Z0hBUlUsbUJBQW1CO29HQUFuQixtQkFBbUIsOEVDUmhDLHd6QkFPQTsyRkRDYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2VsZWN0Q29tbW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LWNvbW1vbi9zZWxlY3QtY29tbW9uLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1zZWxlY3QtbGl0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1saXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtbGl0ZS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdExpdGVDb21wb25lbnQgZXh0ZW5kcyBTZWxlY3RDb21tb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zID09IG51bGwgfHwgdGhpcy5vcHRpb25zID09IHVuZGVmaW5lZCB8fCB0aGlzLm9wdGlvbnMubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5nZXREYXRhKHRoaXMubG9hZEFjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuIiwiPHNwYS1zZWxlY3QtY29tbW9uIFt3aWR0aF09XCJ3aWR0aFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtkZWZhdWx0Rmlyc3RWYWx1ZV09XCJkZWZhdWx0Rmlyc3RWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHlNb2RlXT1cInJlYWRvbmx5TW9kZVwiIFtoaW50XT1cImhpbnRcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2Rpc3BsYXldPVwiZGlzcGxheVwiIFsodmFsdWUpXT1cInZhbHVlXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiIFttYXN0ZXJPcHRpb25zXT1cIm1hc3Rlck9wdGlvbnNcIiBbbWFzdGVyRmllbGRdPVwibWFzdGVyRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgW29wdGlvblZhbHVlXT1cIm9wdGlvblZhbHVlXCIgW29wdGlvbkRpc3BsYXldPVwib3B0aW9uRGlzcGxheVwiIFtvcHRpb25EaXNwbGF5RXh0cmFdPVwib3B0aW9uRGlzcGxheUV4dHJhXCJcclxuICAgICAgICAgICAgICAgICAgIFtudWxsYWJsZV09XCJudWxsYWJsZVwiIFtpbmZvTWVzc2FnZV09XCJpbmZvTWVzc2FnZVwiIFtjb3B5Q29udGVudF09XCJjb3B5Q29udGVudFwiIFtsb2FkQWN0aW9uXT1cImxvYWRBY3Rpb25cIiBbbG9hZElERmllbGRdPVwibG9hZElERmllbGRcIiBbZmllbGRdPVwiZmllbGRcIiBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIj5cclxuPC9zcGEtc2VsZWN0LWNvbW1vbj5cclxuIl19
|
|
@@ -1,90 +1,112 @@
|
|
|
1
1
|
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
2
|
import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/
|
|
5
|
-
import * as i2 from "
|
|
4
|
+
import * as i1 from "@angular/cdk/layout";
|
|
5
|
+
import * as i2 from "../../services/datalib.service";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/stepper";
|
|
6
8
|
export class StepsComponent {
|
|
7
|
-
constructor() {
|
|
9
|
+
constructor(breakpointObserver, dataService) {
|
|
10
|
+
this.breakpointObserver = breakpointObserver;
|
|
11
|
+
this.dataService = dataService;
|
|
8
12
|
this.value = "";
|
|
13
|
+
this.selectedIndex = 0;
|
|
14
|
+
this.smallScreen = false;
|
|
15
|
+
this.steps = [];
|
|
9
16
|
}
|
|
10
17
|
ngOnInit() {
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
this.loadSteps();
|
|
19
|
+
this.observeScreenSize();
|
|
13
20
|
}
|
|
14
21
|
ngOnChanges() {
|
|
15
|
-
this.pushSteps();
|
|
22
|
+
// this.pushSteps();
|
|
23
|
+
this.updateSelectedStep();
|
|
16
24
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
switch (this.value) {
|
|
22
|
-
case "Draft":
|
|
23
|
-
this.stepper.selectedIndex = 0;
|
|
24
|
-
break;
|
|
25
|
-
case "Head Approval":
|
|
26
|
-
this.pushStepper(1);
|
|
27
|
-
break;
|
|
28
|
-
case "CE Approval":
|
|
29
|
-
this.pushStepper(2);
|
|
30
|
-
break;
|
|
31
|
-
case "Booking":
|
|
32
|
-
this.pushStepper(3);
|
|
33
|
-
break;
|
|
34
|
-
case "BTA Approval":
|
|
35
|
-
this.pushStepper(4);
|
|
36
|
-
break;
|
|
37
|
-
case "Travel":
|
|
38
|
-
this.pushStepper(5);
|
|
39
|
-
break;
|
|
40
|
-
case "BTR Approval":
|
|
41
|
-
this.pushStepper(6);
|
|
42
|
-
break;
|
|
43
|
-
case "Travel Closure":
|
|
44
|
-
this.pushStepper(7);
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
25
|
+
observeScreenSize() {
|
|
26
|
+
this.breakpointObserver.observe(["(max-width: 600px)"]).subscribe((result) => {
|
|
27
|
+
this.smallScreen = result.matches;
|
|
28
|
+
});
|
|
47
29
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
this.
|
|
30
|
+
loadSteps() {
|
|
31
|
+
// If loadAction is provided, fetch steps from backend
|
|
32
|
+
if (this.config?.loadAction) {
|
|
33
|
+
this.dataService.CallApi(this.config.loadAction).subscribe((response) => {
|
|
34
|
+
if (response.success) {
|
|
35
|
+
this.steps = response.data;
|
|
36
|
+
this.updateSelectedStep();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// Use static steps if provided
|
|
42
|
+
this.steps = this.config?.steps ?? [];
|
|
43
|
+
this.updateSelectedStep();
|
|
52
44
|
}
|
|
53
45
|
}
|
|
54
|
-
|
|
55
|
-
if (this.steps
|
|
46
|
+
updateSelectedStep() {
|
|
47
|
+
if (!this.steps?.length)
|
|
56
48
|
return;
|
|
57
|
-
|
|
49
|
+
// Get visible steps only
|
|
50
|
+
const visibleSteps = this.getVisibleSteps();
|
|
51
|
+
if (!visibleSteps.length)
|
|
58
52
|
return;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
53
|
+
// Get value from data object if valueField is specified
|
|
54
|
+
const currentValue = this.config?.valueField ?
|
|
55
|
+
this.data[this.config.valueField] : this.value;
|
|
56
|
+
// Find matching step index among visible steps
|
|
57
|
+
const index = visibleSteps.findIndex(step => step.value === currentValue);
|
|
58
|
+
this.selectedIndex = index >= 0 ? index : 0;
|
|
59
|
+
// Update stepper if already initialized
|
|
60
|
+
// if (this.stepper) {
|
|
61
|
+
// this.stepper.selectedIndex = this.selectedIndex;
|
|
62
|
+
// }
|
|
63
|
+
// Update stepper if already initialized
|
|
64
|
+
if (this.stepper) {
|
|
65
|
+
// Loop through all previous steps to select them
|
|
66
|
+
let currentStep = 0;
|
|
67
|
+
const selectStepsInterval = setInterval(() => {
|
|
68
|
+
if (currentStep <= this.selectedIndex) {
|
|
69
|
+
this.stepper.selectedIndex = currentStep;
|
|
70
|
+
currentStep++;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
clearInterval(selectStepsInterval);
|
|
74
|
+
}
|
|
75
|
+
}, 100); // 300ms delay between each step selection
|
|
70
76
|
}
|
|
71
77
|
}
|
|
78
|
+
get shouldShowLabels() {
|
|
79
|
+
const visibleSteps = this.getVisibleSteps();
|
|
80
|
+
return !(visibleSteps.length > 5 && this.smallScreen);
|
|
81
|
+
}
|
|
82
|
+
// New method to filter hidden steps
|
|
83
|
+
getVisibleSteps() {
|
|
84
|
+
if (!this.steps?.length)
|
|
85
|
+
return [];
|
|
86
|
+
return this.steps.filter(step => {
|
|
87
|
+
if (!step.hiddenCondition)
|
|
88
|
+
return true;
|
|
89
|
+
return !step.hiddenCondition(this.data || {});
|
|
90
|
+
});
|
|
91
|
+
}
|
|
72
92
|
}
|
|
73
|
-
StepsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StepsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
StepsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: StepsComponent, selector: "spa-steps", inputs: { value: "value",
|
|
93
|
+
StepsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StepsComponent, deps: [{ token: i1.BreakpointObserver }, { token: i2.DataServiceLib }], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
+
StepsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: StepsComponent, selector: "spa-steps", inputs: { value: "value", config: "config", data: "data" }, providers: [{
|
|
75
95
|
provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }
|
|
76
|
-
}], viewQueries: [{ propertyName: "stepper", first: true, predicate: ["stepper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\r\n
|
|
96
|
+
}], viewQueries: [{ propertyName: "stepper", first: true, predicate: ["stepper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\r\n<mat-horizontal-stepper class=\"transparent\" [labelPosition]=\"shouldShowLabels ? 'bottom' : 'end'\" #stepper [selectedIndex]=\"selectedIndex\">\r\n\r\n <mat-step *ngFor=\"let step of getVisibleSteps()\"\r\n [editable]=\"false\" [label]=\"shouldShowLabels ? step.name : ''\" [state]=\"step.icon ?? 'number'\">\r\n </mat-step>\r\n\r\n</mat-horizontal-stepper>\r\n", styles: [".transparent{background-color:#0000}:host ::ng-deep .mat-step-header{padding:5px!important}:host ::ng-deep .mat-stepper-horizontal-line{min-width:5px!important}:host ::ng-deep .mat-horizontal-content-container{padding:0!important}:host ::ng-deep .mat-horizontal-stepper-header{pointer-events:none!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "component", type: i4.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }] });
|
|
77
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StepsComponent, decorators: [{
|
|
78
98
|
type: Component,
|
|
79
99
|
args: [{ selector: 'spa-steps', providers: [{
|
|
80
100
|
provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }
|
|
81
|
-
}], template: "\r\n
|
|
82
|
-
}], ctorParameters: function () { return []; }, propDecorators: { stepper: [{
|
|
101
|
+
}], template: "\r\n<mat-horizontal-stepper class=\"transparent\" [labelPosition]=\"shouldShowLabels ? 'bottom' : 'end'\" #stepper [selectedIndex]=\"selectedIndex\">\r\n\r\n <mat-step *ngFor=\"let step of getVisibleSteps()\"\r\n [editable]=\"false\" [label]=\"shouldShowLabels ? step.name : ''\" [state]=\"step.icon ?? 'number'\">\r\n </mat-step>\r\n\r\n</mat-horizontal-stepper>\r\n", styles: [".transparent{background-color:#0000}:host ::ng-deep .mat-step-header{padding:5px!important}:host ::ng-deep .mat-stepper-horizontal-line{min-width:5px!important}:host ::ng-deep .mat-horizontal-content-container{padding:0!important}:host ::ng-deep .mat-horizontal-stepper-header{pointer-events:none!important}\n"] }]
|
|
102
|
+
}], ctorParameters: function () { return [{ type: i1.BreakpointObserver }, { type: i2.DataServiceLib }]; }, propDecorators: { stepper: [{
|
|
83
103
|
type: ViewChild,
|
|
84
104
|
args: ['stepper']
|
|
85
105
|
}], value: [{
|
|
86
106
|
type: Input
|
|
87
|
-
}],
|
|
107
|
+
}], config: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], data: [{
|
|
88
110
|
type: Input
|
|
89
111
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc3RlcHMvc3RlcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvc3RlcHMvc3RlcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBYTlELE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLGtCQUFzQyxFQUFVLFdBQTJCO1FBQTNFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFxQnRGLFVBQUssR0FBRyxFQUFFLENBQUM7UUFLcEIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsVUFBSyxHQUFXLEVBQUUsQ0FBQztJQTVCaUYsQ0FBQztJQUVyRyxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHRCxXQUFXO1FBQ1Qsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUF1QixFQUFFLEVBQUU7WUFDNUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFD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Q0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzJHQWhHVSxjQUFjOytGQUFkLGNBQWMsZ0dBSmQsQ0FBQztZQUNWLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUU7U0FDbEYsQ0FBQyxtSkNiSix1WEFRQTsyRkRPYSxjQUFjO2tCQVIxQixTQUFTOytCQUNFLFdBQVcsYUFHVixDQUFDOzRCQUNWLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUU7eUJBQ2xGLENBQUM7c0lBd0JvQixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ1gsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTdGVwcGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XHJcbmltcG9ydCB7IFNURVBQRVJfR0xPQkFMX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlLCBTdGVwLCBTdGVwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtc3RlcHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGVwcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3RlcHMuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNURVBQRVJfR0xPQkFMX09QVElPTlMsIHVzZVZhbHVlOiB7IGRpc3BsYXlEZWZhdWx0SW5kaWNhdG9yVHlwZTogZmFsc2UgfVxyXG4gIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGVwc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkU3RlcHMoKTtcclxuXHJcbiAgICB0aGlzLm9ic2VydmVTY3JlZW5TaXplKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICAvLyB0aGlzLnB1c2hTdGVwcygpO1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZFN0ZXAoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb2JzZXJ2ZVNjcmVlblNpemUoKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtcIihtYXgtd2lkdGg6IDYwMHB4KVwiXSkuc3Vic2NyaWJlKChyZXN1bHQ6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xyXG4gICAgICB0aGlzLnNtYWxsU2NyZWVuID0gcmVzdWx0Lm1hdGNoZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3N0ZXBwZXInKSBzdGVwcGVyOiBNYXRTdGVwcGVyO1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcclxuICBASW5wdXQoKSBjb25maWc6IFN0ZXBDb25maWc7XHJcbiAgQElucHV0KCkgZGF0YTtcclxuXHJcblxyXG4gIHNlbGVjdGVkSW5kZXggPSAwO1xyXG4gIHNtYWxsU2NyZWVuID0gZmFsc2U7XHJcbiAgc3RlcHM6IFN0ZXBbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIGxvYWRTdGVwcygpIHtcclxuICAgIC8vIElmIGxvYWRBY3Rpb24gaXMgcHJvdmlkZWQsIGZldGNoIHN0ZXBzIGZyb20gYmFja2VuZFxyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5sb2FkQWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh0aGlzLmNvbmZpZy5sb2FkQWN0aW9uKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLnN0ZXBzID0gcmVzcG9uc2UuZGF0YTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRTdGVwKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFVzZSBzdGF0aWMgc3RlcHMgaWYgcHJvdmlkZWRcclxuICAgICAgdGhpcy5zdGVwcyA9IHRoaXMuY29uZmlnPy5zdGVwcyA/PyBbXTtcclxuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFN0ZXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRTdGVwKCkge1xyXG4gICAgaWYgKCF0aGlzLnN0ZXBzPy5sZW5ndGgpIHJldHVybjtcclxuXHJcbiAgICAvLyBHZXQgdmlzaWJsZSBzdGVwcyBvbmx5XHJcbiAgICBjb25zdCB2aXNpYmxlU3RlcHMgPSB0aGlzLmdldFZpc2libGVTdGVwcygpO1xyXG4gICAgaWYgKCF2aXNpYmxlU3RlcHMubGVuZ3RoKSByZXR1cm47XHJcblxyXG4gICAgLy8gR2V0IHZhbHVlIGZyb20gZGF0YSBvYmplY3QgaWYgdmFsdWVGaWVsZCBpcyBzcGVjaWZpZWRcclxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMuY29uZmlnPy52YWx1ZUZpZWxkID9cclxuICAgICAgdGhpcy5kYXRhW3RoaXMuY29uZmlnLnZhbHVlRmllbGRdIDogdGhpcy52YWx1ZTtcclxuXHJcbiAgICAvLyBGaW5kIG1hdGNoaW5nIHN0ZXAgaW5kZXggYW1vbmcgdmlzaWJsZSBzdGVwc1xyXG4gICAgY29uc3QgaW5kZXggPSB2aXNpYmxlU3RlcHMuZmluZEluZGV4KHN0ZXAgPT4gc3RlcC52YWx1ZSA9PT0gY3VycmVudFZhbHVlKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGluZGV4ID49IDAgPyBpbmRleCA6IDA7XHJcblxyXG4gICAgLy8gVXBkYXRlIHN0ZXBwZXIgaWYgYWxyZWFkeSBpbml0aWFsaXplZFxyXG4gICAgLy8gaWYgKHRoaXMuc3RlcHBlcikge1xyXG4gICAgLy8gICB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IHRoaXMuc2VsZWN0ZWRJbmRleDtcclxuXHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gVXBkYXRlIHN0ZXBwZXIgaWYgYWxyZWFkeSBpbml0aWFsaXplZFxyXG4gICAgaWYgKHRoaXMuc3RlcHBlcikge1xyXG4gICAgICAvLyBMb29wIHRocm91Z2ggYWxsIHByZXZpb3VzIHN0ZXBzIHRvIHNlbGVjdCB0aGVtXHJcbiAgICAgIGxldCBjdXJyZW50U3RlcCA9IDA7XHJcbiAgICAgIGNvbnN0IHNlbGVjdFN0ZXBzSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRTdGVwIDw9IHRoaXMuc2VsZWN0ZWRJbmRleCkge1xyXG4gICAgICAgICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSBjdXJyZW50U3RlcDtcclxuICAgICAgICAgIGN1cnJlbnRTdGVwKys7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2VsZWN0U3RlcHNJbnRlcnZhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAxMDApOyAvLyAzMDBtcyBkZWxheSBiZXR3ZWVuIGVhY2ggc3RlcCBzZWxlY3Rpb25cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBzaG91bGRTaG93TGFiZWxzKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgdmlzaWJsZVN0ZXBzID0gdGhpcy5nZXRWaXNpYmxlU3RlcHMoKTtcclxuICAgIHJldHVybiAhKHZpc2libGVTdGVwcy5sZW5ndGggPiA1ICYmIHRoaXMuc21hbGxTY3JlZW4pO1xyXG4gIH1cclxuXHJcbiAgLy8gTmV3IG1ldGhvZCB0byBmaWx0ZXIgaGlkZGVuIHN0ZXBzXHJcbiAgZ2V0VmlzaWJsZVN0ZXBzKCk6IFN0ZXBbXSB7XHJcbiAgICBpZiAoIXRoaXMuc3RlcHM/Lmxlbmd0aCkgcmV0dXJuIFtdO1xyXG4gICAgcmV0dXJuIHRoaXMuc3RlcHMuZmlsdGVyKHN0ZXAgPT4ge1xyXG4gICAgICBpZiAoIXN0ZXAuaGlkZGVuQ29uZGl0aW9uKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgcmV0dXJuICFzdGVwLmhpZGRlbkNvbmRpdGlvbih0aGlzLmRhdGEgfHwge30pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiXHJcbjxtYXQtaG9yaXpvbnRhbC1zdGVwcGVyIGNsYXNzPVwidHJhbnNwYXJlbnRcIiBbbGFiZWxQb3NpdGlvbl09XCJzaG91bGRTaG93TGFiZWxzID8gJ2JvdHRvbScgOiAnZW5kJ1wiICNzdGVwcGVyIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIj5cclxuXHJcbiAgPG1hdC1zdGVwICpuZ0Zvcj1cImxldCBzdGVwIG9mIGdldFZpc2libGVTdGVwcygpXCJcclxuICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiICBbbGFiZWxdPVwic2hvdWxkU2hvd0xhYmVscyA/IHN0ZXAubmFtZSA6ICcnXCIgW3N0YXRlXT1cInN0ZXAuaWNvbiA/PyAnbnVtYmVyJ1wiPlxyXG4gIDwvbWF0LXN0ZXA+XHJcblxyXG48L21hdC1ob3Jpem9udGFsLXN0ZXBwZXI+XHJcbiJdfQ==
|