@igo2/common 21.0.0-next.4 → 21.0.0-next.41
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/fesm2022/igo2-common-action.mjs +16 -16
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +7 -7
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
- package/fesm2022/igo2-common-badge.mjs +7 -7
- package/fesm2022/igo2-common-badge.mjs.map +1 -1
- package/fesm2022/igo2-common-clickout.mjs +7 -7
- package/fesm2022/igo2-common-clickout.mjs.map +1 -1
- package/fesm2022/igo2-common-clone.mjs +7 -7
- package/fesm2022/igo2-common-clone.mjs.map +1 -1
- package/fesm2022/igo2-common-collapsible.mjs +10 -10
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
- package/fesm2022/igo2-common-color.mjs +8 -8
- package/fesm2022/igo2-common-color.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +10 -10
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-context-menu.mjs +10 -10
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
- package/fesm2022/igo2-common-custom-html.mjs +10 -10
- package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
- package/fesm2022/igo2-common-datepicker.mjs +3 -3
- package/fesm2022/igo2-common-datepicker.mjs.map +1 -1
- package/fesm2022/igo2-common-dom.mjs +7 -7
- package/fesm2022/igo2-common-dom.mjs.map +1 -1
- package/fesm2022/igo2-common-drag-drop.mjs +31 -10
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
- package/fesm2022/igo2-common-dynamic-component.mjs +14 -14
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
- package/fesm2022/igo2-common-entity.mjs +31 -31
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +17 -14
- package/fesm2022/igo2-common-flexible.mjs.map +1 -1
- package/fesm2022/igo2-common-form.mjs +811 -110
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +7 -7
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +6 -6
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-image.mjs +10 -10
- package/fesm2022/igo2-common-image.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +13 -13
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +10 -10
- package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-keyvalue.mjs +7 -7
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +10 -10
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +7 -7
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-resizable-bar.mjs +6 -6
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
- package/fesm2022/igo2-common-sidenav.mjs +7 -7
- package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
- package/fesm2022/igo2-common-spinner.mjs +10 -10
- package/fesm2022/igo2-common-spinner.mjs.map +1 -1
- package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
- package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
- package/fesm2022/igo2-common-table.mjs +7 -7
- package/fesm2022/igo2-common-table.mjs.map +1 -1
- package/fesm2022/igo2-common-timepicker.mjs +3 -3
- package/fesm2022/igo2-common-timepicker.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +14 -14
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/fesm2022/igo2-common-widget.mjs +14 -14
- package/fesm2022/igo2-common-widget.mjs.map +1 -1
- package/fesm2022/igo2-common-workspace.mjs +18 -18
- package/fesm2022/igo2-common-workspace.mjs.map +1 -1
- package/fesm2022/igo2-common.mjs +0 -1
- package/fesm2022/igo2-common.mjs.map +1 -1
- package/locale/en.common.json +0 -7
- package/locale/fr.common.json +0 -7
- package/package.json +3 -7
- package/style/style.css +1 -1
- package/types/igo2-common-drag-drop.d.ts +3 -1
- package/types/igo2-common-entity.d.ts +2 -2
- package/types/igo2-common-flexible.d.ts +3 -2
- package/types/igo2-common-form.d.ts +365 -76
- package/types/igo2-common.d.ts +0 -1
- package/fesm2022/igo2-common-select-value-dialog.mjs +0 -155
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +0 -1
- package/types/igo2-common-select-value-dialog.d.ts +0 -65
package/types/igo2-common.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export { IgoKeyValueModule } from '@igo2/common/keyvalue';
|
|
|
6
6
|
export { IgoFormDialogModule, IgoFormFieldModule, IgoFormFormModule, IgoFormGroupModule, IgoFormModule } from '@igo2/common/form';
|
|
7
7
|
export { IgoListModule } from '@igo2/common/list';
|
|
8
8
|
export { IgoPanelModule } from '@igo2/common/panel';
|
|
9
|
-
export { IgoSelectValueDialogModule } from '@igo2/common/select-value-dialog';
|
|
10
9
|
export { IgoSidenavModule } from '@igo2/common/sidenav';
|
|
11
10
|
export { IgoSpinnerModule } from '@igo2/common/spinner';
|
|
12
11
|
export { IgoStopPropagationModule } from '@igo2/common/stop-propagation';
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
|
-
import * as i0 from '@angular/core';
|
|
3
|
-
import { inject, Component, Injectable, NgModule } from '@angular/core';
|
|
4
|
-
import * as i1 from '@angular/forms';
|
|
5
|
-
import { UntypedFormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import * as i4 from '@angular/material/button';
|
|
7
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
-
import * as i2 from '@angular/material/checkbox';
|
|
9
|
-
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
10
|
-
import { MatDialogRef, MAT_DIALOG_DATA, MatDialogTitle, MatDialogActions, MatDialog } from '@angular/material/dialog';
|
|
11
|
-
import * as i3 from '@angular/material/radio';
|
|
12
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
13
|
-
import { LanguageService, IgoLanguageModule } from '@igo2/core/language';
|
|
14
|
-
import { BehaviorSubject } from 'rxjs';
|
|
15
|
-
import * as i5 from '@ngx-translate/core';
|
|
16
|
-
|
|
17
|
-
var SelectValueDialogType;
|
|
18
|
-
(function (SelectValueDialogType) {
|
|
19
|
-
SelectValueDialogType["Radio"] = "radio";
|
|
20
|
-
SelectValueDialogType["Checkbox"] = "checkbox";
|
|
21
|
-
})(SelectValueDialogType || (SelectValueDialogType = {}));
|
|
22
|
-
|
|
23
|
-
class SelectValueCheckRadioDialogComponent {
|
|
24
|
-
formBuilder = inject(UntypedFormBuilder);
|
|
25
|
-
languageService = inject(LanguageService);
|
|
26
|
-
dialogRef = inject(MatDialogRef);
|
|
27
|
-
data = inject(MAT_DIALOG_DATA, { optional: true });
|
|
28
|
-
formGroup;
|
|
29
|
-
isDisabled$ = new BehaviorSubject(true);
|
|
30
|
-
constructor() {
|
|
31
|
-
this.data = this.data || {};
|
|
32
|
-
this.formGroup = this.formBuilder.group(this.getFg());
|
|
33
|
-
this.data.selectFieldText =
|
|
34
|
-
this.data.selectFieldText ??
|
|
35
|
-
'igo.common.selectValueDialog.selectFieldText';
|
|
36
|
-
this.data.processButtonText =
|
|
37
|
-
this.data.processButtonText ??
|
|
38
|
-
'igo.common.selectValueDialog.processButtonText';
|
|
39
|
-
this.data.cancelButtonText =
|
|
40
|
-
this.data.cancelButtonText ??
|
|
41
|
-
'igo.common.selectValueDialog.cancelButtonText';
|
|
42
|
-
this.data.title =
|
|
43
|
-
this.data.title ?? 'igo.common.selectValueDialog.multipleTitle';
|
|
44
|
-
if (this.data.type === SelectValueDialogType.Radio) {
|
|
45
|
-
this.data.title = 'igo.common.selectValueDialog.title';
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
ngOnInit() {
|
|
49
|
-
this.formGroup.valueChanges.subscribe(() => this.canProcess());
|
|
50
|
-
}
|
|
51
|
-
getFg() {
|
|
52
|
-
const a = {};
|
|
53
|
-
if (this.data && this.data.choices) {
|
|
54
|
-
this.data.choices.map((l) => (a[l.value] = false));
|
|
55
|
-
}
|
|
56
|
-
return a;
|
|
57
|
-
}
|
|
58
|
-
canProcess() {
|
|
59
|
-
if (!this.data || !this.data.choices) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
const choices = this.data.choices.map((l) => l.value);
|
|
63
|
-
const selectedIds = [];
|
|
64
|
-
choices.map((l) => this.formGroup.value[l] ? selectedIds.push(l) : undefined);
|
|
65
|
-
selectedIds.length
|
|
66
|
-
? this.isDisabled$.next(false)
|
|
67
|
-
: this.isDisabled$.next(true);
|
|
68
|
-
}
|
|
69
|
-
save() {
|
|
70
|
-
if (!this.data || !this.data.choices) {
|
|
71
|
-
this.dialogRef.close();
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const choices = this.data.choices.map((l) => l.value);
|
|
75
|
-
const selectedChoices = [];
|
|
76
|
-
choices.map((l) => this.formGroup.value[l] ? selectedChoices.push(l) : undefined);
|
|
77
|
-
this.dialogRef.close({ choices: selectedChoices });
|
|
78
|
-
}
|
|
79
|
-
cancel() {
|
|
80
|
-
this.dialogRef.close();
|
|
81
|
-
}
|
|
82
|
-
onChange(e) {
|
|
83
|
-
const choices = {};
|
|
84
|
-
this.data?.choices.forEach((l) => (choices[l.value] = false));
|
|
85
|
-
choices[e.value] = true;
|
|
86
|
-
this.formGroup.setValue(choices);
|
|
87
|
-
}
|
|
88
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SelectValueCheckRadioDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: SelectValueCheckRadioDialogComponent, isStandalone: true, selector: "igo-select-value-check-radio-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{ data?.title | translate }}</h1>\n\n<form class=\"igo-form\" [formGroup]=\"formGroup\">\n <section class=\"choices-section\">\n @for (choice of data?.choices; track choice; let i = $index) {\n @if (data?.type === 'checkbox') {\n <mat-checkbox formControlName=\"{{ choice.value }}\">{{\n choice.title || choice.value\n }}</mat-checkbox>\n }\n }\n\n @if (data?.type === 'radio') {\n <mat-radio-group (change)=\"onChange($event)\">\n @for (choice of data?.choices; track choice) {\n <mat-radio-button [value]=\"choice.value\">\n {{ choice.title || choice.value }}\n </mat-radio-button>\n }\n </mat-radio-group>\n }\n </section>\n <div mat-dialog-actions>\n <div class=\"button-group\">\n <button matButton=\"elevated\" type=\"button\" (click)=\"cancel()\">\n {{ data?.cancelButtonText | translate }}\n </button>\n <button\n [disabled]=\"isDisabled$ | async\"\n id=\"processBtnDialog\"\n matButton=\"elevated\"\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n >\n {{ data?.processButtonText | translate }}\n </button>\n </div>\n </div>\n</form>\n", styles: [":host::ng-deep div[mat-dialog-actions]{margin:10px 0 0}:host::ng-deep section.choices-section{max-width:auto;display:grid;grid-template-columns:auto auto;grid-gap:0px;padding:5px}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
90
|
-
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SelectValueCheckRadioDialogComponent, decorators: [{
|
|
92
|
-
type: Component,
|
|
93
|
-
args: [{ selector: 'igo-select-value-check-radio-dialog', imports: [
|
|
94
|
-
MatDialogTitle,
|
|
95
|
-
FormsModule,
|
|
96
|
-
ReactiveFormsModule,
|
|
97
|
-
MatCheckboxModule,
|
|
98
|
-
MatRadioModule,
|
|
99
|
-
MatDialogActions,
|
|
100
|
-
MatButtonModule,
|
|
101
|
-
AsyncPipe,
|
|
102
|
-
IgoLanguageModule
|
|
103
|
-
], template: "<h1 mat-dialog-title>{{ data?.title | translate }}</h1>\n\n<form class=\"igo-form\" [formGroup]=\"formGroup\">\n <section class=\"choices-section\">\n @for (choice of data?.choices; track choice; let i = $index) {\n @if (data?.type === 'checkbox') {\n <mat-checkbox formControlName=\"{{ choice.value }}\">{{\n choice.title || choice.value\n }}</mat-checkbox>\n }\n }\n\n @if (data?.type === 'radio') {\n <mat-radio-group (change)=\"onChange($event)\">\n @for (choice of data?.choices; track choice) {\n <mat-radio-button [value]=\"choice.value\">\n {{ choice.title || choice.value }}\n </mat-radio-button>\n }\n </mat-radio-group>\n }\n </section>\n <div mat-dialog-actions>\n <div class=\"button-group\">\n <button matButton=\"elevated\" type=\"button\" (click)=\"cancel()\">\n {{ data?.cancelButtonText | translate }}\n </button>\n <button\n [disabled]=\"isDisabled$ | async\"\n id=\"processBtnDialog\"\n matButton=\"elevated\"\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n >\n {{ data?.processButtonText | translate }}\n </button>\n </div>\n </div>\n</form>\n", styles: [":host::ng-deep div[mat-dialog-actions]{margin:10px 0 0}:host::ng-deep section.choices-section{max-width:auto;display:grid;grid-template-columns:auto auto;grid-gap:0px;padding:5px}\n"] }]
|
|
104
|
-
}], ctorParameters: () => [] });
|
|
105
|
-
|
|
106
|
-
class SelectValueDialogService {
|
|
107
|
-
dialog = inject(MatDialog);
|
|
108
|
-
open(choices, options) {
|
|
109
|
-
const data = {
|
|
110
|
-
choices,
|
|
111
|
-
...options
|
|
112
|
-
};
|
|
113
|
-
const dialogRef = this.dialog.open(SelectValueCheckRadioDialogComponent, {
|
|
114
|
-
disableClose: false,
|
|
115
|
-
data,
|
|
116
|
-
...options
|
|
117
|
-
});
|
|
118
|
-
return dialogRef.afterClosed();
|
|
119
|
-
}
|
|
120
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SelectValueDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
121
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SelectValueDialogService });
|
|
122
|
-
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SelectValueDialogService, decorators: [{
|
|
124
|
-
type: Injectable
|
|
125
|
-
}] });
|
|
126
|
-
|
|
127
|
-
class IgoSelectValueDialogModule {
|
|
128
|
-
/**
|
|
129
|
-
* @deprecated it has no effect
|
|
130
|
-
*/
|
|
131
|
-
static forRoot() {
|
|
132
|
-
return {
|
|
133
|
-
ngModule: IgoSelectValueDialogModule,
|
|
134
|
-
providers: []
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: IgoSelectValueDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
138
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: IgoSelectValueDialogModule, imports: [SelectValueCheckRadioDialogComponent], exports: [SelectValueCheckRadioDialogComponent] });
|
|
139
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: IgoSelectValueDialogModule, providers: [SelectValueDialogService], imports: [SelectValueCheckRadioDialogComponent] });
|
|
140
|
-
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: IgoSelectValueDialogModule, decorators: [{
|
|
142
|
-
type: NgModule,
|
|
143
|
-
args: [{
|
|
144
|
-
imports: [SelectValueCheckRadioDialogComponent],
|
|
145
|
-
exports: [SelectValueCheckRadioDialogComponent],
|
|
146
|
-
providers: [SelectValueDialogService]
|
|
147
|
-
}]
|
|
148
|
-
}] });
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Generated bundle index. Do not edit.
|
|
152
|
-
*/
|
|
153
|
-
|
|
154
|
-
export { IgoSelectValueDialogModule, SelectValueCheckRadioDialogComponent, SelectValueDialogService, SelectValueDialogType };
|
|
155
|
-
//# sourceMappingURL=igo2-common-select-value-dialog.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-select-value-dialog.mjs","sources":["../../../packages/common/select-value-dialog/src/select-value-dialog.enums.ts","../../../packages/common/select-value-dialog/src/select-value-check-radio-dialog.component.ts","../../../packages/common/select-value-dialog/src/select-value-check-radio-dialog.component.html","../../../packages/common/select-value-dialog/src/select-value-dialog.service.ts","../../../packages/common/select-value-dialog/src/select-value-dialog.module.ts","../../../packages/common/select-value-dialog/src/igo2-common-select-value-dialog.ts"],"sourcesContent":["export enum SelectValueDialogType {\n Radio = 'radio',\n Checkbox = 'checkbox'\n}\n","import { AsyncPipe } from '@angular/common';\nimport { Component, OnInit, inject } from '@angular/core';\nimport {\n FormsModule,\n ReactiveFormsModule,\n UntypedFormBuilder,\n UntypedFormGroup\n} from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport {\n MAT_DIALOG_DATA,\n MatDialogActions,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\nimport { MatRadioChange, MatRadioModule } from '@angular/material/radio';\n\nimport { LanguageService } from '@igo2/core/language';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SelectValueDialogType } from './select-value-dialog.enums';\nimport { SelectValueData } from './select-value-dialog.interface';\n\n@Component({\n selector: 'igo-select-value-check-radio-dialog',\n templateUrl: './select-value-check-radio-dialog.component.html',\n styleUrls: ['./select-value-check-radio-dialog.component.scss'],\n imports: [\n MatDialogTitle,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule,\n MatRadioModule,\n MatDialogActions,\n MatButtonModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class SelectValueCheckRadioDialogComponent implements OnInit {\n private formBuilder = inject(UntypedFormBuilder);\n languageService = inject(LanguageService);\n dialogRef =\n inject<MatDialogRef<SelectValueCheckRadioDialogComponent>>(MatDialogRef);\n data = inject<SelectValueData>(MAT_DIALOG_DATA, { optional: true });\n\n public formGroup: UntypedFormGroup;\n public isDisabled$ = new BehaviorSubject<boolean>(true);\n\n constructor() {\n this.data = this.data || ({} as SelectValueData);\n this.formGroup = this.formBuilder.group(this.getFg());\n this.data.selectFieldText =\n this.data.selectFieldText ??\n 'igo.common.selectValueDialog.selectFieldText';\n this.data.processButtonText =\n this.data.processButtonText ??\n 'igo.common.selectValueDialog.processButtonText';\n this.data.cancelButtonText =\n this.data.cancelButtonText ??\n 'igo.common.selectValueDialog.cancelButtonText';\n this.data.title =\n this.data.title ?? 'igo.common.selectValueDialog.multipleTitle';\n if (this.data.type === SelectValueDialogType.Radio) {\n this.data.title = 'igo.common.selectValueDialog.title';\n }\n }\n\n ngOnInit() {\n this.formGroup.valueChanges.subscribe(() => this.canProcess());\n }\n\n getFg() {\n const a: Record<string, boolean> = {};\n if (this.data && this.data.choices) {\n this.data.choices.map((l) => (a[l.value] = false));\n }\n return a;\n }\n\n canProcess() {\n if (!this.data || !this.data.choices) {\n return;\n }\n const choices = this.data.choices.map((l) => l.value);\n const selectedIds = [];\n choices.map((l) =>\n this.formGroup.value[l] ? selectedIds.push(l) : undefined\n );\n selectedIds.length\n ? this.isDisabled$.next(false)\n : this.isDisabled$.next(true);\n }\n\n save() {\n if (!this.data || !this.data.choices) {\n this.dialogRef.close();\n return;\n }\n const choices = this.data.choices.map((l) => l.value);\n\n const selectedChoices: string[] = [];\n choices.map((l) =>\n this.formGroup.value[l] ? selectedChoices.push(l) : undefined\n );\n this.dialogRef.close({ choices: selectedChoices });\n }\n\n cancel() {\n this.dialogRef.close();\n }\n\n onChange(e: MatRadioChange) {\n const choices: Record<string, boolean> = {};\n this.data?.choices.forEach((l) => (choices[l.value] = false));\n choices[e.value] = true;\n this.formGroup.setValue(choices);\n }\n}\n","<h1 mat-dialog-title>{{ data?.title | translate }}</h1>\n\n<form class=\"igo-form\" [formGroup]=\"formGroup\">\n <section class=\"choices-section\">\n @for (choice of data?.choices; track choice; let i = $index) {\n @if (data?.type === 'checkbox') {\n <mat-checkbox formControlName=\"{{ choice.value }}\">{{\n choice.title || choice.value\n }}</mat-checkbox>\n }\n }\n\n @if (data?.type === 'radio') {\n <mat-radio-group (change)=\"onChange($event)\">\n @for (choice of data?.choices; track choice) {\n <mat-radio-button [value]=\"choice.value\">\n {{ choice.title || choice.value }}\n </mat-radio-button>\n }\n </mat-radio-group>\n }\n </section>\n <div mat-dialog-actions>\n <div class=\"button-group\">\n <button matButton=\"elevated\" type=\"button\" (click)=\"cancel()\">\n {{ data?.cancelButtonText | translate }}\n </button>\n <button\n [disabled]=\"isDisabled$ | async\"\n id=\"processBtnDialog\"\n matButton=\"elevated\"\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n >\n {{ data?.processButtonText | translate }}\n </button>\n </div>\n </div>\n</form>\n","import { Injectable, inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Observable } from 'rxjs';\n\nimport { SelectValueCheckRadioDialogComponent } from './select-value-check-radio-dialog.component';\nimport {\n Choice,\n SelectValueData,\n SelectValueDialogOptions\n} from './select-value-dialog.interface';\n\n@Injectable()\nexport class SelectValueDialogService {\n private dialog = inject(MatDialog);\n\n public open(\n choices: Choice[],\n options?: SelectValueDialogOptions\n ): Observable<any> {\n const data: SelectValueData = {\n choices,\n ...options\n };\n\n const dialogRef = this.dialog.open(SelectValueCheckRadioDialogComponent, {\n disableClose: false,\n data,\n ...options\n });\n return dialogRef.afterClosed();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SelectValueCheckRadioDialogComponent } from './select-value-check-radio-dialog.component';\nimport { SelectValueDialogService } from './select-value-dialog.service';\n\n@NgModule({\n imports: [SelectValueCheckRadioDialogComponent],\n exports: [SelectValueCheckRadioDialogComponent],\n providers: [SelectValueDialogService]\n})\nexport class IgoSelectValueDialogModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoSelectValueDialogModule> {\n return {\n ngModule: IgoSelectValueDialogModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit, ModuleWithProviders } from '@angular/core';
|
|
3
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
4
|
-
import { MatDialogConfig, MatDialogRef } from '@angular/material/dialog';
|
|
5
|
-
import { MatRadioChange } from '@angular/material/radio';
|
|
6
|
-
import { LanguageService } from '@igo2/core/language';
|
|
7
|
-
import { BehaviorSubject, Observable } from 'rxjs';
|
|
8
|
-
|
|
9
|
-
declare enum SelectValueDialogType {
|
|
10
|
-
Radio = "radio",
|
|
11
|
-
Checkbox = "checkbox"
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
interface Choice {
|
|
15
|
-
value: any;
|
|
16
|
-
title: any;
|
|
17
|
-
}
|
|
18
|
-
interface SelectValueData extends SelectValueDialogOptions {
|
|
19
|
-
choices: Choice[];
|
|
20
|
-
}
|
|
21
|
-
interface SelectValueDialogOptions extends MatDialogConfig {
|
|
22
|
-
type?: SelectValueDialogType;
|
|
23
|
-
title?: string;
|
|
24
|
-
processButtonText?: string;
|
|
25
|
-
cancelButtonText?: string;
|
|
26
|
-
selectFieldText?: string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
declare class SelectValueCheckRadioDialogComponent implements OnInit {
|
|
30
|
-
private formBuilder;
|
|
31
|
-
languageService: LanguageService;
|
|
32
|
-
dialogRef: MatDialogRef<SelectValueCheckRadioDialogComponent, any>;
|
|
33
|
-
data: SelectValueData | null;
|
|
34
|
-
formGroup: UntypedFormGroup;
|
|
35
|
-
isDisabled$: BehaviorSubject<boolean>;
|
|
36
|
-
constructor();
|
|
37
|
-
ngOnInit(): void;
|
|
38
|
-
getFg(): Record<string, boolean>;
|
|
39
|
-
canProcess(): void;
|
|
40
|
-
save(): void;
|
|
41
|
-
cancel(): void;
|
|
42
|
-
onChange(e: MatRadioChange): void;
|
|
43
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectValueCheckRadioDialogComponent, never>;
|
|
44
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectValueCheckRadioDialogComponent, "igo-select-value-check-radio-dialog", never, {}, {}, never, never, true, never>;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
declare class IgoSelectValueDialogModule {
|
|
48
|
-
/**
|
|
49
|
-
* @deprecated it has no effect
|
|
50
|
-
*/
|
|
51
|
-
static forRoot(): ModuleWithProviders<IgoSelectValueDialogModule>;
|
|
52
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<IgoSelectValueDialogModule, never>;
|
|
53
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoSelectValueDialogModule, never, [typeof SelectValueCheckRadioDialogComponent], [typeof SelectValueCheckRadioDialogComponent]>;
|
|
54
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<IgoSelectValueDialogModule>;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
declare class SelectValueDialogService {
|
|
58
|
-
private dialog;
|
|
59
|
-
open(choices: Choice[], options?: SelectValueDialogOptions): Observable<any>;
|
|
60
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SelectValueDialogService, never>;
|
|
61
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SelectValueDialogService>;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export { IgoSelectValueDialogModule, SelectValueCheckRadioDialogComponent, SelectValueDialogService, SelectValueDialogType };
|
|
65
|
-
export type { Choice, SelectValueData, SelectValueDialogOptions };
|