@dflat-core/web 1.0.62 → 1.0.64
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/dflat-core-web-core-ux.mjs +126 -13
- package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-ux.mjs +4 -14
- package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
- package/package.json +1 -1
- package/types/dflat-core-web-core-ux.d.ts +46 -10
- package/types/dflat-core-web-system-ux.d.ts +64 -66
|
@@ -4,7 +4,7 @@ import { CommonModule, Location } from "@angular/common";
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, Directive, ElementRef, EventEmitter, Host, HostBinding, HostListener, Inject, Injectable, InjectionToken, Injector, Input, LOCALE_ID, NgModule, Output, Pipe, TemplateRef, ViewChild, ViewChildren, ViewContainerRef, computed, forwardRef, inject, signal } from "@angular/core";
|
|
6
6
|
import * as i5 from "@angular/forms";
|
|
7
|
-
import { FormControl, FormGroup, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup, Validators } from "@angular/forms";
|
|
7
|
+
import { FormControl, FormGroup, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup, Validators } from "@angular/forms";
|
|
8
8
|
import * as i2$1 from "@angular/router";
|
|
9
9
|
import { ActivatedRoute, Router, RouterModule } from "@angular/router";
|
|
10
10
|
import * as i6 from "@ng-select/ng-select";
|
|
@@ -10363,7 +10363,7 @@ var PropertyGridComponent = class PropertyGridComponent {
|
|
|
10363
10363
|
if ((field.FieldValidators.ValidatorType & ValidatorTypes.Required) != 0) this.ngForm.controls[field.PropertyName].setValidators([Validators.required]);
|
|
10364
10364
|
if ((field.FieldValidators.ValidatorType & ValidatorTypes.MaxLength) != 0) this.ngForm.controls[field.PropertyName].setValidators([Validators.maxLength(field.FieldValidators.MaxLength)]);
|
|
10365
10365
|
if ((field.FieldValidators.ValidatorType & ValidatorTypes.Max) != 0) this.ngForm.controls[field.PropertyName].setValidators([Validators.max(field.FieldValidators.MaxValue)]);
|
|
10366
|
-
if ((field.FieldValidators.ValidatorType & ValidatorTypes.Min) != 0) this.ngForm.controls[field.PropertyName].setValidators([Validators.
|
|
10366
|
+
if ((field.FieldValidators.ValidatorType & ValidatorTypes.Min) != 0) this.ngForm.controls[field.PropertyName].setValidators([Validators.min(field.FieldValidators.MinValue)]);
|
|
10367
10367
|
if ((field.FieldValidators.ValidatorType & ValidatorTypes.Email) != 0) this.ngForm.controls[field.PropertyName].setValidators([Validators.email]);
|
|
10368
10368
|
}
|
|
10369
10369
|
this.ngForm.controls[field.PropertyName].updateValueAndValidity();
|
|
@@ -13070,6 +13070,7 @@ var ValidationService = class ValidationService {
|
|
|
13070
13070
|
}
|
|
13071
13071
|
getValidationErrors(control, field) {
|
|
13072
13072
|
if (!control?.hasError) return "";
|
|
13073
|
+
if (control?.hasError("decimal")) return `Le champs doit être un nombre décimal`;
|
|
13073
13074
|
if (control?.hasError("required")) return `Le champs est obligatoire`;
|
|
13074
13075
|
if (control?.hasError("maxlength")) return `Le champs ne peut pas dépasser ${field.FieldValidators.MaxLength} caractères`;
|
|
13075
13076
|
if (control?.hasError("min")) return `Le champs doit être supérieur à ${field.FieldValidators.MinValue}`;
|
|
@@ -13082,7 +13083,7 @@ var ValidationService = class ValidationService {
|
|
|
13082
13083
|
if ((fieldValidators.ValidatorType & ValidatorTypes.Required) != 0) validators.push(Validators.required);
|
|
13083
13084
|
if ((fieldValidators.ValidatorType & ValidatorTypes.MaxLength) != 0) validators.push(Validators.maxLength(fieldValidators.MaxLength));
|
|
13084
13085
|
if ((fieldValidators.ValidatorType & ValidatorTypes.Max) != 0) validators.push(Validators.max(fieldValidators.MaxValue));
|
|
13085
|
-
if ((fieldValidators.ValidatorType & ValidatorTypes.Min) != 0) validators.push(Validators.
|
|
13086
|
+
if ((fieldValidators.ValidatorType & ValidatorTypes.Min) != 0) validators.push(Validators.min(fieldValidators.MinValue));
|
|
13086
13087
|
if ((fieldValidators.ValidatorType & ValidatorTypes.Email) != 0) validators.push(Validators.email);
|
|
13087
13088
|
if (fieldValidators.MaxLength & ValidatorTypes.MaxLength) validators.push(Validators.maxLength(fieldValidators.MaxLength));
|
|
13088
13089
|
return validators;
|
|
@@ -13113,6 +13114,117 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
13113
13114
|
type: ValidationService,
|
|
13114
13115
|
decorators: [{ type: Injectable }]
|
|
13115
13116
|
});
|
|
13117
|
+
function parseDecimal(text) {
|
|
13118
|
+
const trimmed = (text ?? "").replace(/[\s ]/g, "");
|
|
13119
|
+
if (trimmed === "") return null;
|
|
13120
|
+
if (!/^-?(\d+([.,]\d*)?|[.,]\d+)$/.test(trimmed)) return void 0;
|
|
13121
|
+
return Number(trimmed.replace(",", "."));
|
|
13122
|
+
}
|
|
13123
|
+
function formatDecimal(value) {
|
|
13124
|
+
if (value === null || value === void 0) return "";
|
|
13125
|
+
return String(value).replace(".", ",");
|
|
13126
|
+
}
|
|
13127
|
+
var DecimalInputDirective = class DecimalInputDirective {
|
|
13128
|
+
constructor(host) {
|
|
13129
|
+
this.host = host;
|
|
13130
|
+
this.invalid = false;
|
|
13131
|
+
this.onChange = () => {};
|
|
13132
|
+
this.onTouched = () => {};
|
|
13133
|
+
}
|
|
13134
|
+
onInput() {
|
|
13135
|
+
const value = parseDecimal(this.host.nativeElement.value);
|
|
13136
|
+
this.invalid = value === void 0;
|
|
13137
|
+
this.onChange(value ?? null);
|
|
13138
|
+
}
|
|
13139
|
+
onBlur() {
|
|
13140
|
+
this.onTouched();
|
|
13141
|
+
}
|
|
13142
|
+
writeValue(value) {
|
|
13143
|
+
const input = this.host.nativeElement;
|
|
13144
|
+
if (!this.invalid && input.value !== "" && parseDecimal(input.value) === parseDecimal(formatDecimal(value))) return;
|
|
13145
|
+
if (this.invalid && (value === null || value === void 0) && document.activeElement === input) return;
|
|
13146
|
+
this.invalid = false;
|
|
13147
|
+
input.value = formatDecimal(value);
|
|
13148
|
+
}
|
|
13149
|
+
registerOnChange(fn) {
|
|
13150
|
+
this.onChange = fn;
|
|
13151
|
+
}
|
|
13152
|
+
registerOnTouched(fn) {
|
|
13153
|
+
this.onTouched = fn;
|
|
13154
|
+
}
|
|
13155
|
+
setDisabledState(isDisabled) {
|
|
13156
|
+
this.host.nativeElement.disabled = isDisabled;
|
|
13157
|
+
}
|
|
13158
|
+
validate(_control) {
|
|
13159
|
+
return this.invalid ? { decimal: true } : null;
|
|
13160
|
+
}
|
|
13161
|
+
static {
|
|
13162
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
13163
|
+
minVersion: "12.0.0",
|
|
13164
|
+
version: "22.2.1",
|
|
13165
|
+
ngImport: i0,
|
|
13166
|
+
type: DecimalInputDirective,
|
|
13167
|
+
deps: [{ token: i0.ElementRef }],
|
|
13168
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
13169
|
+
});
|
|
13170
|
+
}
|
|
13171
|
+
static {
|
|
13172
|
+
this.ɵdir = i0.ɵɵngDeclareDirective({
|
|
13173
|
+
minVersion: "14.0.0",
|
|
13174
|
+
version: "22.2.1",
|
|
13175
|
+
type: DecimalInputDirective,
|
|
13176
|
+
isStandalone: false,
|
|
13177
|
+
selector: "input[algDecimalInput]",
|
|
13178
|
+
host: { listeners: {
|
|
13179
|
+
"input": "onInput()",
|
|
13180
|
+
"blur": "onBlur()"
|
|
13181
|
+
} },
|
|
13182
|
+
providers: [{
|
|
13183
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13184
|
+
useExisting: forwardRef(() => DecimalInputDirective),
|
|
13185
|
+
multi: true
|
|
13186
|
+
}, {
|
|
13187
|
+
provide: NG_VALIDATORS,
|
|
13188
|
+
useExisting: forwardRef(() => DecimalInputDirective),
|
|
13189
|
+
multi: true
|
|
13190
|
+
}],
|
|
13191
|
+
ngImport: i0
|
|
13192
|
+
});
|
|
13193
|
+
}
|
|
13194
|
+
};
|
|
13195
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
13196
|
+
minVersion: "12.0.0",
|
|
13197
|
+
version: "22.2.1",
|
|
13198
|
+
ngImport: i0,
|
|
13199
|
+
type: DecimalInputDirective,
|
|
13200
|
+
decorators: [{
|
|
13201
|
+
type: Directive,
|
|
13202
|
+
args: [{
|
|
13203
|
+
selector: "input[algDecimalInput]",
|
|
13204
|
+
standalone: false,
|
|
13205
|
+
providers: [{
|
|
13206
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13207
|
+
useExisting: forwardRef(() => DecimalInputDirective),
|
|
13208
|
+
multi: true
|
|
13209
|
+
}, {
|
|
13210
|
+
provide: NG_VALIDATORS,
|
|
13211
|
+
useExisting: forwardRef(() => DecimalInputDirective),
|
|
13212
|
+
multi: true
|
|
13213
|
+
}]
|
|
13214
|
+
}]
|
|
13215
|
+
}],
|
|
13216
|
+
ctorParameters: () => [{ type: i0.ElementRef }],
|
|
13217
|
+
propDecorators: {
|
|
13218
|
+
onInput: [{
|
|
13219
|
+
type: HostListener,
|
|
13220
|
+
args: ["input"]
|
|
13221
|
+
}],
|
|
13222
|
+
onBlur: [{
|
|
13223
|
+
type: HostListener,
|
|
13224
|
+
args: ["blur"]
|
|
13225
|
+
}]
|
|
13226
|
+
}
|
|
13227
|
+
});
|
|
13116
13228
|
var SelectorComponent = class SelectorComponent {
|
|
13117
13229
|
get formControl() {
|
|
13118
13230
|
return this.control;
|
|
@@ -13425,7 +13537,6 @@ var FieldComponent = class FieldComponent {
|
|
|
13425
13537
|
}
|
|
13426
13538
|
onValueChanged(event) {
|
|
13427
13539
|
var value = this.control.value;
|
|
13428
|
-
if (this.field.FilterType === FilterType.Decimal) value = value.replace(",", ".");
|
|
13429
13540
|
if (this.field.FilterType === FilterType.String) return;
|
|
13430
13541
|
const evt = {
|
|
13431
13542
|
field: this.field,
|
|
@@ -13575,7 +13686,7 @@ var FieldComponent = class FieldComponent {
|
|
|
13575
13686
|
descendants: true
|
|
13576
13687
|
}],
|
|
13577
13688
|
ngImport: i0,
|
|
13578
|
-
template: "<div [formGroup]=\"form\" class=\"field-container\">\r\n <ng-container *ngIf=\"field\">\r\n <div [hidden]=\"!!field.IsHidden\" [ngSwitch]=\"field.FilterType\">\r\n <div class=\"label-group\" *ngIf=\"showLabel\">\r\n <label *ngIf=\"field.FilterType != filterType.CheckBox &&\r\n field.FilterType != filterType.HorizComboBox\"\r\n [htmlFor]=\"field.PropertyName\">\r\n {{ field.Label }}\r\n </label>\r\n <img *ngIf=\"field.Required\"\r\n class=\"required-icon\"\r\n [src]=\"this.getRequiredIcon()\"\r\n alt=\"obligatoire\"\r\n />\r\n </div>\r\n\r\n <!--String Input-->\r\n <div *ngSwitchCase=\"filterType.String\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControl]=\"this.control\"\r\n [id]=\"field.PropertyName\"\r\n [type]=\"field.InputType\"\r\n (change)=\"this.onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n focusable\r\n />\r\n </div>\r\n </div>\r\n\r\n <!--Number Input-->\r\n <div *ngSwitchCase=\"filterType.Integer\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControl]=\"this.control\"\r\n [id]=\"field.PropertyName\"\r\n (change)=\"onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n type=\"number\"\r\n focusable\r\n />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"filterType.Decimal\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n (change)=\"onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n type=\"text\"\r\n pattern=\"^[0-9]+([.,][0-9]+)?$\"\r\n />\r\n </div>\r\n </div>\r\n <!--ComboBox Input-->\r\n <div *ngSwitchCase=\"filterType.ComboBox\" class=\"form-group\">\r\n <div>\r\n <ng-select\r\n appendTo=\"body\"\r\n placeholder=\"Sélectionner {{ field.Label }}\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [items]=\"field.Data\"\r\n [multiple]=\"field.MultipleSelection\"\r\n [hideSelected]=\"field.HideSelected\"\r\n bindValue=\"{{ field.ValueMember }}\"\r\n [clearable]=\"field.IsClearable\"\r\n bindLabel=\"{{ field.DisplayMember }}\"\r\n [selectOnTab]=\"true\"\r\n (change)=\"onValueChanged($event)\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n >\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n <!-- InputSelect -->\r\n <!-- <div *ngSwitchCase=\"this.filterType.Custom\" class=\"form-group input\">\r\n <alg-input-selector #inputSelector\r\n type=\"text\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [modalPropertyValue]=\"this.field.ModalPropertyValue\"\r\n [modalPropertyName]=\"this.field.ModalPropertyName\"\r\n [modalEntityKey]=\"this.field.ModalEntityKey\"\r\n [modalTitle]=\"this.field.ModalTitle\"\r\n [readonly]=\"this.field.ReadOnly\">\r\n </alg-input-selector>\r\n </div> -->\r\n\r\n <!-- InputSelector with button -->\r\n <ng-container *ngSwitchCase=\"this.filterType.Custom\">\r\n <!-- <alg-selector\r\n #inputSelector\r\n type=\"text\"\r\n (change)=\"this.inputSelectorChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [modalPropertyValue]=\"field.ModalPropertyValue\"\r\n [modalPropertyName]=\"field.ModalPropertyName\"\r\n [modalEntityKey]=\"field.ModalEntityKey\"\r\n [modalTitle]=\"field.ModalTitle\">\r\n </alg-selector> -->\r\n\r\n <!-- *ngSwitchCase=\"filterType.Custom\" -->\r\n <ng-container *ngIf=\"field.ModalOnly\">\r\n <div class=\"pull-left input-select-default with-button\">\r\n <input\r\n class=\"form-control\"\r\n [readonly]=\"true\"\r\n [name]=\"this.field.PropertyName\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n />\r\n </div> \r\n </ng-container>\r\n\r\n <alg-selector\r\n [field]=\"field\"\r\n [control]=\"this.control\"\r\n (change)=\"this.inputSelectorChanged($event)\"\r\n \r\n >\r\n <!-- [control]=\"this.form.controls[field.PropertyName]\" -->\r\n </alg-selector>\r\n\r\n </ng-container>\r\n\r\n <!-- TreeSelector -->\r\n <ng-container *ngSwitchCase=\"this.filterType.TreeSelector\">\r\n <alg-input-tree-selector\r\n [items]=\"field.Data\"\r\n [id]=\"field.PropertyName\"\r\n [bindValue]=\"field.ValueMember\"\r\n [bindLabel]=\"field.DisplayMember\"\r\n childrenKey=\"children\"\r\n countKey=\"childrenCount\"\r\n [formControlName]=\"field.PropertyName\"\r\n placeholder=\"{{ field.Label }}\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </alg-input-tree-selector>\r\n </ng-container>\r\n\r\n <!-- TextWithbutton -->\r\n <ng-container\r\n *ngSwitchCase=\"this.filterType.TextWithButton\"\r\n class=\"form-group\"\r\n >\r\n <div class=\"input-with-button\">\r\n\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n (change)=\"onValueChanged($event)\"\r\n [name]=\"this.field.PropertyName\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n />\r\n\r\n <button\r\n class=\"btn btn-secondary btn-32 btn-input-select\"\r\n (click)=\"onClick(field)\"\r\n >\r\n <span class=\"fa fa-ellipsis-h\"></span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <!--HorizComboBox Input-->\r\n <div *ngSwitchCase=\"filterType.HorizComboBox\" class=\"form-group\">\r\n <div>\r\n <ng-select\r\n appendTo=\"body\"\r\n class=\"horiz-combox-box\"\r\n placeholder=\"{{ field.Label }}\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [items]=\"field.Data\"\r\n [multiple]=\"field.MultipleSelection\"\r\n [hideSelected]=\"field.HideSelected\"\r\n bindValue=\"{{ field.ValueMember }}\"\r\n bindLabel=\"{{ field.DisplayMember }}\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n <!--Boolean Input-->\r\n <div *ngSwitchCase=\"filterType.CheckBox\" class=\"form-group\">\r\n <div class=\"checkbox-container\">\r\n <label class=\"switch\" [htmlFor]=\"field.PropertyName\">\r\n <input\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n type=\"checkbox\"\r\n (change)=\"onValueChanged($event)\"\r\n />\r\n <span class=\"slider round\"></span>\r\n </label>\r\n <span class=\"checkbox-label\">{{ field.Label }}</span>\r\n </div>\r\n </div>\r\n\r\n <!--Enum Input-->\r\n <div *ngSwitchCase=\"filterType.RadioButton\" class=\"form-group\">\r\n <div class=\"radio-button-container\">\r\n <form [formGroup]=\"form\" class=\"radio-buttons\">\r\n <div\r\n *ngFor=\"let data of field.Data;let indexOfData = index\" class=\"radio-button\">\r\n <input\r\n type=\"radio\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"getRadioButtonId(field.PropertyName,indexOfData)\"\r\n [value]=\"indexOfData\"\r\n (change)=\"onValueChanged($event)\"\r\n />\r\n <label class=\"radio-button-label\">{{ data }}</label>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <!-- Text zone with button -->\r\n <div *ngSwitchCase=\"filterType.TextZoneWithButton\"\r\n class=\"form-group\">\r\n <div class=\"text-zone-and-button\">\r\n <div class=\"text-zone-container\">\r\n <textarea\r\n #textarea\r\n type=\"text\"\r\n class=\"text-area\"\r\n spellcheck=\"false\"\r\n [formControlName]=\"field.ValueMember\"\r\n [id]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </textarea>\r\n </div>\r\n <div class=\"feedback-and-button\">\r\n <div class=\"feedback\">\r\n <div class=\"feedback-green\" *ngIf=\"field.TextWithStyle.GreenText.length > 0\">\r\n {{ field.TextWithStyle.GreenText }}\r\n </div>\r\n <div class=\"feedback-yellow\" *ngIf=\"field.TextWithStyle.YellowText.length > 0\">\r\n {{ field.TextWithStyle.YellowText }}\r\n </div>\r\n <div class=\"feedback-red\" *ngIf=\"field.TextWithStyle.RedText.length > 0\">\r\n {{ field.TextWithStyle.RedText }}\r\n </div>\r\n </div>\r\n <button\r\n type=\"button\"\r\n id=\"botton-compile\"\r\n class=\"btn btn-primary btn-flat pull-right button\"\r\n (click)=\"onClick(field)\"\r\n >\r\n {{ field.ButtonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--Date -->\r\n <div *ngSwitchCase=\"filterType.Date\" class=\"form-group\">\r\n <div>\r\n <input\r\n type=\"text\"\r\n [class]=\"this.inputClass\"\r\n placeholder=\"Sélectionner une date\"\r\n [id]=\"field.PropertyName\"\r\n [bsConfig]=\"bsConfig\"\r\n [bsValue]=\"dateValue\"\r\n (bsValueChange)=\"onBsValueChanged($event)\"\r\n [disabled]=\"this.readonly || field.ReadOnly\"\r\n bsDatepicker\r\n />\r\n </div>\r\n </div>\r\n <!--DateTime -->\r\n <div *ngSwitchCase=\"filterType.DateTime\" class=\"form-group\">\r\n <div>\r\n <input\r\n type=\"datetime-local\"\r\n [class]=\"this.inputClass\"\r\n [id]=\"field.PropertyName\"\r\n [value]=\"dateTimeLocalValue\"\r\n [disabled]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onDateTimeLocalChanged($event)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <!-- Text input -->\r\n <div *ngSwitchCase=\"filterType.Text\" class=\"form-group\">\r\n <div>\r\n <textarea\r\n type=\"text\"\r\n rows=\"5\"\r\n [class]=\"this.inputClass\"\r\n [formControlName]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n >\r\n </textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- DropFileZone -->\r\n <div\r\n *ngSwitchCase=\"filterType.DropFileZone\"\r\n class=\"form-group ml-4\"\r\n >\r\n <fieldset>\r\n <input\r\n [id]=\"field.PropertyName\"\r\n type=\"file\"\r\n class=\"ml--3\"\r\n (change)=\"fileEvent($event)\"\r\n />\r\n </fieldset>\r\n </div>\r\n\r\n <!-- Password -->\r\n <div *ngSwitchCase=\"filterType.Password\" class=\"form-group\">\r\n <div class=\"input-with-button\">\r\n <input\r\n class=\"form-control\"\r\n [type]=\"hidePassword ? 'password' : 'text'\"\r\n [formControl]=\"control\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n [name]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n autocomplete=\"new-password\"\r\n />\r\n <!-- btn-32 pull-right button -->\r\n <button class=\"btn btn-secondary btn-32 btn-input-select\" (click)=\"showPassword()\">\r\n <i class=\"fa fa-eye\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"this.showValidationErrors()\">\r\n <div class=\"validation-message\">\r\n {{ this.getValidationErrors() }}\r\n </div>\r\n <!-- <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('required')\">\r\n Ce champ est obligatoire\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('min')\">\r\n Minimum: {{field.FieldValidators.MinValue}}\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('max')\">\r\n Maximum: {{field.FieldValidators.MaxValue}}\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('maxLength')\">\r\n Longueur maximale: {{field.FieldValidators.MaxLength}} caractères\r\n </ng-container> -->\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</div>\r\n",
|
|
13689
|
+
template: "<div [formGroup]=\"form\" class=\"field-container\">\r\n <ng-container *ngIf=\"field\">\r\n <div [hidden]=\"!!field.IsHidden\" [ngSwitch]=\"field.FilterType\">\r\n <div class=\"label-group\" *ngIf=\"showLabel\">\r\n <label *ngIf=\"field.FilterType != filterType.CheckBox &&\r\n field.FilterType != filterType.HorizComboBox\"\r\n [htmlFor]=\"field.PropertyName\">\r\n {{ field.Label }}\r\n </label>\r\n <img *ngIf=\"field.Required\"\r\n class=\"required-icon\"\r\n [src]=\"this.getRequiredIcon()\"\r\n alt=\"obligatoire\"\r\n />\r\n </div>\r\n\r\n <!--String Input-->\r\n <div *ngSwitchCase=\"filterType.String\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControl]=\"this.control\"\r\n [id]=\"field.PropertyName\"\r\n [type]=\"field.InputType\"\r\n (change)=\"this.onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n focusable\r\n />\r\n </div>\r\n </div>\r\n\r\n <!--Number Input-->\r\n <div *ngSwitchCase=\"filterType.Integer\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControl]=\"this.control\"\r\n [id]=\"field.PropertyName\"\r\n (change)=\"onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n type=\"number\"\r\n focusable\r\n />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"filterType.Decimal\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n (change)=\"onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n type=\"text\"\r\n inputmode=\"decimal\"\r\n algDecimalInput\r\n />\r\n </div>\r\n </div>\r\n <!--ComboBox Input-->\r\n <div *ngSwitchCase=\"filterType.ComboBox\" class=\"form-group\">\r\n <div>\r\n <ng-select\r\n appendTo=\"body\"\r\n placeholder=\"Sélectionner {{ field.Label }}\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [items]=\"field.Data\"\r\n [multiple]=\"field.MultipleSelection\"\r\n [hideSelected]=\"field.HideSelected\"\r\n bindValue=\"{{ field.ValueMember }}\"\r\n [clearable]=\"field.IsClearable\"\r\n bindLabel=\"{{ field.DisplayMember }}\"\r\n [selectOnTab]=\"true\"\r\n (change)=\"onValueChanged($event)\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n >\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n <!-- InputSelect -->\r\n <!-- <div *ngSwitchCase=\"this.filterType.Custom\" class=\"form-group input\">\r\n <alg-input-selector #inputSelector\r\n type=\"text\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [modalPropertyValue]=\"this.field.ModalPropertyValue\"\r\n [modalPropertyName]=\"this.field.ModalPropertyName\"\r\n [modalEntityKey]=\"this.field.ModalEntityKey\"\r\n [modalTitle]=\"this.field.ModalTitle\"\r\n [readonly]=\"this.field.ReadOnly\">\r\n </alg-input-selector>\r\n </div> -->\r\n\r\n <!-- InputSelector with button -->\r\n <ng-container *ngSwitchCase=\"this.filterType.Custom\">\r\n <!-- <alg-selector\r\n #inputSelector\r\n type=\"text\"\r\n (change)=\"this.inputSelectorChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [modalPropertyValue]=\"field.ModalPropertyValue\"\r\n [modalPropertyName]=\"field.ModalPropertyName\"\r\n [modalEntityKey]=\"field.ModalEntityKey\"\r\n [modalTitle]=\"field.ModalTitle\">\r\n </alg-selector> -->\r\n\r\n <!-- *ngSwitchCase=\"filterType.Custom\" -->\r\n <ng-container *ngIf=\"field.ModalOnly\">\r\n <div class=\"pull-left input-select-default with-button\">\r\n <input\r\n class=\"form-control\"\r\n [readonly]=\"true\"\r\n [name]=\"this.field.PropertyName\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n />\r\n </div> \r\n </ng-container>\r\n\r\n <alg-selector\r\n [field]=\"field\"\r\n [control]=\"this.control\"\r\n (change)=\"this.inputSelectorChanged($event)\"\r\n \r\n >\r\n <!-- [control]=\"this.form.controls[field.PropertyName]\" -->\r\n </alg-selector>\r\n\r\n </ng-container>\r\n\r\n <!-- TreeSelector -->\r\n <ng-container *ngSwitchCase=\"this.filterType.TreeSelector\">\r\n <alg-input-tree-selector\r\n [items]=\"field.Data\"\r\n [id]=\"field.PropertyName\"\r\n [bindValue]=\"field.ValueMember\"\r\n [bindLabel]=\"field.DisplayMember\"\r\n childrenKey=\"children\"\r\n countKey=\"childrenCount\"\r\n [formControlName]=\"field.PropertyName\"\r\n placeholder=\"{{ field.Label }}\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </alg-input-tree-selector>\r\n </ng-container>\r\n\r\n <!-- TextWithbutton -->\r\n <ng-container\r\n *ngSwitchCase=\"this.filterType.TextWithButton\"\r\n class=\"form-group\"\r\n >\r\n <div class=\"input-with-button\">\r\n\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n (change)=\"onValueChanged($event)\"\r\n [name]=\"this.field.PropertyName\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n />\r\n\r\n <button\r\n class=\"btn btn-secondary btn-32 btn-input-select\"\r\n (click)=\"onClick(field)\"\r\n >\r\n <span class=\"fa fa-ellipsis-h\"></span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <!--HorizComboBox Input-->\r\n <div *ngSwitchCase=\"filterType.HorizComboBox\" class=\"form-group\">\r\n <div>\r\n <ng-select\r\n appendTo=\"body\"\r\n class=\"horiz-combox-box\"\r\n placeholder=\"{{ field.Label }}\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [items]=\"field.Data\"\r\n [multiple]=\"field.MultipleSelection\"\r\n [hideSelected]=\"field.HideSelected\"\r\n bindValue=\"{{ field.ValueMember }}\"\r\n bindLabel=\"{{ field.DisplayMember }}\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n <!--Boolean Input-->\r\n <div *ngSwitchCase=\"filterType.CheckBox\" class=\"form-group\">\r\n <div class=\"checkbox-container\">\r\n <label class=\"switch\" [htmlFor]=\"field.PropertyName\">\r\n <input\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n type=\"checkbox\"\r\n (change)=\"onValueChanged($event)\"\r\n />\r\n <span class=\"slider round\"></span>\r\n </label>\r\n <span class=\"checkbox-label\">{{ field.Label }}</span>\r\n </div>\r\n </div>\r\n\r\n <!--Enum Input-->\r\n <div *ngSwitchCase=\"filterType.RadioButton\" class=\"form-group\">\r\n <div class=\"radio-button-container\">\r\n <form [formGroup]=\"form\" class=\"radio-buttons\">\r\n <div\r\n *ngFor=\"let data of field.Data;let indexOfData = index\" class=\"radio-button\">\r\n <input\r\n type=\"radio\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"getRadioButtonId(field.PropertyName,indexOfData)\"\r\n [value]=\"indexOfData\"\r\n (change)=\"onValueChanged($event)\"\r\n />\r\n <label class=\"radio-button-label\">{{ data }}</label>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <!-- Text zone with button -->\r\n <div *ngSwitchCase=\"filterType.TextZoneWithButton\"\r\n class=\"form-group\">\r\n <div class=\"text-zone-and-button\">\r\n <div class=\"text-zone-container\">\r\n <textarea\r\n #textarea\r\n type=\"text\"\r\n class=\"text-area\"\r\n spellcheck=\"false\"\r\n [formControlName]=\"field.ValueMember\"\r\n [id]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </textarea>\r\n </div>\r\n <div class=\"feedback-and-button\">\r\n <div class=\"feedback\">\r\n <div class=\"feedback-green\" *ngIf=\"field.TextWithStyle.GreenText.length > 0\">\r\n {{ field.TextWithStyle.GreenText }}\r\n </div>\r\n <div class=\"feedback-yellow\" *ngIf=\"field.TextWithStyle.YellowText.length > 0\">\r\n {{ field.TextWithStyle.YellowText }}\r\n </div>\r\n <div class=\"feedback-red\" *ngIf=\"field.TextWithStyle.RedText.length > 0\">\r\n {{ field.TextWithStyle.RedText }}\r\n </div>\r\n </div>\r\n <button\r\n type=\"button\"\r\n id=\"botton-compile\"\r\n class=\"btn btn-primary btn-flat pull-right button\"\r\n (click)=\"onClick(field)\"\r\n >\r\n {{ field.ButtonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--Date -->\r\n <div *ngSwitchCase=\"filterType.Date\" class=\"form-group\">\r\n <div>\r\n <input\r\n type=\"text\"\r\n [class]=\"this.inputClass\"\r\n placeholder=\"Sélectionner une date\"\r\n [id]=\"field.PropertyName\"\r\n [bsConfig]=\"bsConfig\"\r\n [bsValue]=\"dateValue\"\r\n (bsValueChange)=\"onBsValueChanged($event)\"\r\n [disabled]=\"this.readonly || field.ReadOnly\"\r\n bsDatepicker\r\n />\r\n </div>\r\n </div>\r\n <!--DateTime -->\r\n <div *ngSwitchCase=\"filterType.DateTime\" class=\"form-group\">\r\n <div>\r\n <input\r\n type=\"datetime-local\"\r\n [class]=\"this.inputClass\"\r\n [id]=\"field.PropertyName\"\r\n [value]=\"dateTimeLocalValue\"\r\n [disabled]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onDateTimeLocalChanged($event)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <!-- Text input -->\r\n <div *ngSwitchCase=\"filterType.Text\" class=\"form-group\">\r\n <div>\r\n <textarea\r\n type=\"text\"\r\n rows=\"5\"\r\n [class]=\"this.inputClass\"\r\n [formControlName]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n >\r\n </textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- DropFileZone -->\r\n <div\r\n *ngSwitchCase=\"filterType.DropFileZone\"\r\n class=\"form-group ml-4\"\r\n >\r\n <fieldset>\r\n <input\r\n [id]=\"field.PropertyName\"\r\n type=\"file\"\r\n class=\"ml--3\"\r\n (change)=\"fileEvent($event)\"\r\n />\r\n </fieldset>\r\n </div>\r\n\r\n <!-- Password -->\r\n <div *ngSwitchCase=\"filterType.Password\" class=\"form-group\">\r\n <div class=\"input-with-button\">\r\n <input\r\n class=\"form-control\"\r\n [type]=\"hidePassword ? 'password' : 'text'\"\r\n [formControl]=\"control\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n [name]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n autocomplete=\"new-password\"\r\n />\r\n <!-- btn-32 pull-right button -->\r\n <button class=\"btn btn-secondary btn-32 btn-input-select\" (click)=\"showPassword()\">\r\n <i class=\"fa fa-eye\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"this.showValidationErrors()\">\r\n <div class=\"validation-message\">\r\n {{ this.getValidationErrors() }}\r\n </div>\r\n <!-- <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('required')\">\r\n Ce champ est obligatoire\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('min')\">\r\n Minimum: {{field.FieldValidators.MinValue}}\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('max')\">\r\n Maximum: {{field.FieldValidators.MaxValue}}\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('maxLength')\">\r\n Longueur maximale: {{field.FieldValidators.MaxLength}} caractères\r\n </ng-container> -->\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</div>\r\n",
|
|
13579
13690
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}:host{width:100%}.input-select-default{width:100%}.input-select-default.with-button{padding-right:35px;margin-right:-32px}.btn-input-select{padding:6px 10px 8px 8px;border-top-right-radius:0;border-bottom-right-radius:0;width:32px;border-color:#adb5bd}.form-group{display:flex;flex-direction:column}.field-container{margin-bottom:5px}.comboBox-icon-and-text{display:inline-block}.comboBox-icon{margin-right:5px;margin-bottom:5px}.comboBox-text{padding-right:10px}.checkbox-label{margin-left:5px;margin-top:5px;flex:1}.checkbox-input{width:17px;height:17px}.radio-button-container{border:1px solid #cbc8d0;border-radius:5px;width:100%;margin-top:5px;padding-top:12px;display:flex;flex-direction:row;flex-wrap:wrap}.under-line{margin:3px 10px 5px}.radio-buttons{margin:0;display:flex;flex-direction:column}.radio-button{margin-right:20px}.radio-buttons input{margin-right:0;margin-left:10px;margin-top:0;height:18px;width:18px;min-height:18px;flex-grow:0}.radio-button-label{margin-right:10px;margin-bottom:12px;margin-left:5px;vertical-align:middle}.text-zone-and-button{width:100%;display:flex;flex-direction:column}.text-area{background-color:#343a40;border-radius:5px;color:#e6e65f;caret-color:#ff0;font-family:monospace;font-weight:700;font-size:large;width:100%;height:200px;padding:10px;cursor:text}.feedback-and-button,.input-with-button{display:flex;flex-direction:row;width:100%}.input-with-button input{margin-right:3px}.button{margin-right:0;margin-top:5px;float:right}.feedback{width:100%;float:left;padding-left:10px}.feedback-green{float:left;width:90%;color:green;font-weight:700}.feedback-yellow{float:left;width:90%;color:orange;font-weight:700}.feedback-red{float:left;width:90%;color:var(--red-error);font-weight:700}.errorMessage{display:block;color:var(--red-error);width:100%}.validation-message{color:#a94442!important;display:inline-block;font-size:small;margin:3px}::ng-deep .ng-select.horiz-combox-box{height:30px;width:230px}::ng-deep .ng-select.horiz-combox-box .ng-select-container{height:30px;width:230px}.ng-select.horiz-combox-box ::ng-deep .ng-select-container .ng-placeholder{color:#3e4152}.input alg-input-selector{width:73.6%;margin:.75rem 0 .75rem .95rem}.ml-15px{margin-left:15px;margin-top:.4em}.textButton{margin-top:.4em;padding-bottom:.4em;margin-right:.8rem}fieldset input.ml--3{margin-left:-3%!important}.label-group{color:var(--main-bg-color)}.label-group span{padding-top:5px;display:inline-block;margin-right:5px}.label-group .required-icon{height:8px;margin:-6px 0 5px 5px;filter:invert(25%) sepia(61%) saturate(2196%) hue-rotate(334deg) brightness(100%) contrast(94%)}.checkbox-container{display:flex;flex-direction:row;align-items:center}.switch{position:relative;display:inline-block;width:48px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:\"\";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translate(22px)}.slider.round{border-radius:25px}.slider.round:before{border-radius:50%}\n"],
|
|
13580
13691
|
dependencies: [
|
|
13581
13692
|
{
|
|
@@ -13650,12 +13761,6 @@ var FieldComponent = class FieldComponent {
|
|
|
13650
13761
|
type: i5.NgControlStatusGroup,
|
|
13651
13762
|
selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]"
|
|
13652
13763
|
},
|
|
13653
|
-
{
|
|
13654
|
-
kind: "directive",
|
|
13655
|
-
type: i5.PatternValidator,
|
|
13656
|
-
selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",
|
|
13657
|
-
inputs: ["pattern"]
|
|
13658
|
-
},
|
|
13659
13764
|
{
|
|
13660
13765
|
kind: "directive",
|
|
13661
13766
|
type: i5.FormControlDirective,
|
|
@@ -13826,6 +13931,11 @@ var FieldComponent = class FieldComponent {
|
|
|
13826
13931
|
type: FocusableDirective,
|
|
13827
13932
|
selector: "[focusable]"
|
|
13828
13933
|
},
|
|
13934
|
+
{
|
|
13935
|
+
kind: "directive",
|
|
13936
|
+
type: DecimalInputDirective,
|
|
13937
|
+
selector: "input[algDecimalInput]"
|
|
13938
|
+
},
|
|
13829
13939
|
{
|
|
13830
13940
|
kind: "component",
|
|
13831
13941
|
type: SelectorComponent,
|
|
@@ -13853,7 +13963,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
13853
13963
|
selector: "alg-field",
|
|
13854
13964
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
13855
13965
|
standalone: false,
|
|
13856
|
-
template: "<div [formGroup]=\"form\" class=\"field-container\">\r\n <ng-container *ngIf=\"field\">\r\n <div [hidden]=\"!!field.IsHidden\" [ngSwitch]=\"field.FilterType\">\r\n <div class=\"label-group\" *ngIf=\"showLabel\">\r\n <label *ngIf=\"field.FilterType != filterType.CheckBox &&\r\n field.FilterType != filterType.HorizComboBox\"\r\n [htmlFor]=\"field.PropertyName\">\r\n {{ field.Label }}\r\n </label>\r\n <img *ngIf=\"field.Required\"\r\n class=\"required-icon\"\r\n [src]=\"this.getRequiredIcon()\"\r\n alt=\"obligatoire\"\r\n />\r\n </div>\r\n\r\n <!--String Input-->\r\n <div *ngSwitchCase=\"filterType.String\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControl]=\"this.control\"\r\n [id]=\"field.PropertyName\"\r\n [type]=\"field.InputType\"\r\n (change)=\"this.onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n focusable\r\n />\r\n </div>\r\n </div>\r\n\r\n <!--Number Input-->\r\n <div *ngSwitchCase=\"filterType.Integer\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControl]=\"this.control\"\r\n [id]=\"field.PropertyName\"\r\n (change)=\"onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n type=\"number\"\r\n focusable\r\n />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"filterType.Decimal\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n (change)=\"onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n type=\"text\"\r\n pattern=\"^[0-9]+([.,][0-9]+)?$\"\r\n />\r\n </div>\r\n </div>\r\n <!--ComboBox Input-->\r\n <div *ngSwitchCase=\"filterType.ComboBox\" class=\"form-group\">\r\n <div>\r\n <ng-select\r\n appendTo=\"body\"\r\n placeholder=\"Sélectionner {{ field.Label }}\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [items]=\"field.Data\"\r\n [multiple]=\"field.MultipleSelection\"\r\n [hideSelected]=\"field.HideSelected\"\r\n bindValue=\"{{ field.ValueMember }}\"\r\n [clearable]=\"field.IsClearable\"\r\n bindLabel=\"{{ field.DisplayMember }}\"\r\n [selectOnTab]=\"true\"\r\n (change)=\"onValueChanged($event)\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n >\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n <!-- InputSelect -->\r\n <!-- <div *ngSwitchCase=\"this.filterType.Custom\" class=\"form-group input\">\r\n <alg-input-selector #inputSelector\r\n type=\"text\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [modalPropertyValue]=\"this.field.ModalPropertyValue\"\r\n [modalPropertyName]=\"this.field.ModalPropertyName\"\r\n [modalEntityKey]=\"this.field.ModalEntityKey\"\r\n [modalTitle]=\"this.field.ModalTitle\"\r\n [readonly]=\"this.field.ReadOnly\">\r\n </alg-input-selector>\r\n </div> -->\r\n\r\n <!-- InputSelector with button -->\r\n <ng-container *ngSwitchCase=\"this.filterType.Custom\">\r\n <!-- <alg-selector\r\n #inputSelector\r\n type=\"text\"\r\n (change)=\"this.inputSelectorChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [modalPropertyValue]=\"field.ModalPropertyValue\"\r\n [modalPropertyName]=\"field.ModalPropertyName\"\r\n [modalEntityKey]=\"field.ModalEntityKey\"\r\n [modalTitle]=\"field.ModalTitle\">\r\n </alg-selector> -->\r\n\r\n <!-- *ngSwitchCase=\"filterType.Custom\" -->\r\n <ng-container *ngIf=\"field.ModalOnly\">\r\n <div class=\"pull-left input-select-default with-button\">\r\n <input\r\n class=\"form-control\"\r\n [readonly]=\"true\"\r\n [name]=\"this.field.PropertyName\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n />\r\n </div> \r\n </ng-container>\r\n\r\n <alg-selector\r\n [field]=\"field\"\r\n [control]=\"this.control\"\r\n (change)=\"this.inputSelectorChanged($event)\"\r\n \r\n >\r\n <!-- [control]=\"this.form.controls[field.PropertyName]\" -->\r\n </alg-selector>\r\n\r\n </ng-container>\r\n\r\n <!-- TreeSelector -->\r\n <ng-container *ngSwitchCase=\"this.filterType.TreeSelector\">\r\n <alg-input-tree-selector\r\n [items]=\"field.Data\"\r\n [id]=\"field.PropertyName\"\r\n [bindValue]=\"field.ValueMember\"\r\n [bindLabel]=\"field.DisplayMember\"\r\n childrenKey=\"children\"\r\n countKey=\"childrenCount\"\r\n [formControlName]=\"field.PropertyName\"\r\n placeholder=\"{{ field.Label }}\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </alg-input-tree-selector>\r\n </ng-container>\r\n\r\n <!-- TextWithbutton -->\r\n <ng-container\r\n *ngSwitchCase=\"this.filterType.TextWithButton\"\r\n class=\"form-group\"\r\n >\r\n <div class=\"input-with-button\">\r\n\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n (change)=\"onValueChanged($event)\"\r\n [name]=\"this.field.PropertyName\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n />\r\n\r\n <button\r\n class=\"btn btn-secondary btn-32 btn-input-select\"\r\n (click)=\"onClick(field)\"\r\n >\r\n <span class=\"fa fa-ellipsis-h\"></span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <!--HorizComboBox Input-->\r\n <div *ngSwitchCase=\"filterType.HorizComboBox\" class=\"form-group\">\r\n <div>\r\n <ng-select\r\n appendTo=\"body\"\r\n class=\"horiz-combox-box\"\r\n placeholder=\"{{ field.Label }}\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [items]=\"field.Data\"\r\n [multiple]=\"field.MultipleSelection\"\r\n [hideSelected]=\"field.HideSelected\"\r\n bindValue=\"{{ field.ValueMember }}\"\r\n bindLabel=\"{{ field.DisplayMember }}\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n <!--Boolean Input-->\r\n <div *ngSwitchCase=\"filterType.CheckBox\" class=\"form-group\">\r\n <div class=\"checkbox-container\">\r\n <label class=\"switch\" [htmlFor]=\"field.PropertyName\">\r\n <input\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n type=\"checkbox\"\r\n (change)=\"onValueChanged($event)\"\r\n />\r\n <span class=\"slider round\"></span>\r\n </label>\r\n <span class=\"checkbox-label\">{{ field.Label }}</span>\r\n </div>\r\n </div>\r\n\r\n <!--Enum Input-->\r\n <div *ngSwitchCase=\"filterType.RadioButton\" class=\"form-group\">\r\n <div class=\"radio-button-container\">\r\n <form [formGroup]=\"form\" class=\"radio-buttons\">\r\n <div\r\n *ngFor=\"let data of field.Data;let indexOfData = index\" class=\"radio-button\">\r\n <input\r\n type=\"radio\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"getRadioButtonId(field.PropertyName,indexOfData)\"\r\n [value]=\"indexOfData\"\r\n (change)=\"onValueChanged($event)\"\r\n />\r\n <label class=\"radio-button-label\">{{ data }}</label>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <!-- Text zone with button -->\r\n <div *ngSwitchCase=\"filterType.TextZoneWithButton\"\r\n class=\"form-group\">\r\n <div class=\"text-zone-and-button\">\r\n <div class=\"text-zone-container\">\r\n <textarea\r\n #textarea\r\n type=\"text\"\r\n class=\"text-area\"\r\n spellcheck=\"false\"\r\n [formControlName]=\"field.ValueMember\"\r\n [id]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </textarea>\r\n </div>\r\n <div class=\"feedback-and-button\">\r\n <div class=\"feedback\">\r\n <div class=\"feedback-green\" *ngIf=\"field.TextWithStyle.GreenText.length > 0\">\r\n {{ field.TextWithStyle.GreenText }}\r\n </div>\r\n <div class=\"feedback-yellow\" *ngIf=\"field.TextWithStyle.YellowText.length > 0\">\r\n {{ field.TextWithStyle.YellowText }}\r\n </div>\r\n <div class=\"feedback-red\" *ngIf=\"field.TextWithStyle.RedText.length > 0\">\r\n {{ field.TextWithStyle.RedText }}\r\n </div>\r\n </div>\r\n <button\r\n type=\"button\"\r\n id=\"botton-compile\"\r\n class=\"btn btn-primary btn-flat pull-right button\"\r\n (click)=\"onClick(field)\"\r\n >\r\n {{ field.ButtonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--Date -->\r\n <div *ngSwitchCase=\"filterType.Date\" class=\"form-group\">\r\n <div>\r\n <input\r\n type=\"text\"\r\n [class]=\"this.inputClass\"\r\n placeholder=\"Sélectionner une date\"\r\n [id]=\"field.PropertyName\"\r\n [bsConfig]=\"bsConfig\"\r\n [bsValue]=\"dateValue\"\r\n (bsValueChange)=\"onBsValueChanged($event)\"\r\n [disabled]=\"this.readonly || field.ReadOnly\"\r\n bsDatepicker\r\n />\r\n </div>\r\n </div>\r\n <!--DateTime -->\r\n <div *ngSwitchCase=\"filterType.DateTime\" class=\"form-group\">\r\n <div>\r\n <input\r\n type=\"datetime-local\"\r\n [class]=\"this.inputClass\"\r\n [id]=\"field.PropertyName\"\r\n [value]=\"dateTimeLocalValue\"\r\n [disabled]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onDateTimeLocalChanged($event)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <!-- Text input -->\r\n <div *ngSwitchCase=\"filterType.Text\" class=\"form-group\">\r\n <div>\r\n <textarea\r\n type=\"text\"\r\n rows=\"5\"\r\n [class]=\"this.inputClass\"\r\n [formControlName]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n >\r\n </textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- DropFileZone -->\r\n <div\r\n *ngSwitchCase=\"filterType.DropFileZone\"\r\n class=\"form-group ml-4\"\r\n >\r\n <fieldset>\r\n <input\r\n [id]=\"field.PropertyName\"\r\n type=\"file\"\r\n class=\"ml--3\"\r\n (change)=\"fileEvent($event)\"\r\n />\r\n </fieldset>\r\n </div>\r\n\r\n <!-- Password -->\r\n <div *ngSwitchCase=\"filterType.Password\" class=\"form-group\">\r\n <div class=\"input-with-button\">\r\n <input\r\n class=\"form-control\"\r\n [type]=\"hidePassword ? 'password' : 'text'\"\r\n [formControl]=\"control\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n [name]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n autocomplete=\"new-password\"\r\n />\r\n <!-- btn-32 pull-right button -->\r\n <button class=\"btn btn-secondary btn-32 btn-input-select\" (click)=\"showPassword()\">\r\n <i class=\"fa fa-eye\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"this.showValidationErrors()\">\r\n <div class=\"validation-message\">\r\n {{ this.getValidationErrors() }}\r\n </div>\r\n <!-- <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('required')\">\r\n Ce champ est obligatoire\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('min')\">\r\n Minimum: {{field.FieldValidators.MinValue}}\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('max')\">\r\n Maximum: {{field.FieldValidators.MaxValue}}\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('maxLength')\">\r\n Longueur maximale: {{field.FieldValidators.MaxLength}} caractères\r\n </ng-container> -->\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</div>\r\n",
|
|
13966
|
+
template: "<div [formGroup]=\"form\" class=\"field-container\">\r\n <ng-container *ngIf=\"field\">\r\n <div [hidden]=\"!!field.IsHidden\" [ngSwitch]=\"field.FilterType\">\r\n <div class=\"label-group\" *ngIf=\"showLabel\">\r\n <label *ngIf=\"field.FilterType != filterType.CheckBox &&\r\n field.FilterType != filterType.HorizComboBox\"\r\n [htmlFor]=\"field.PropertyName\">\r\n {{ field.Label }}\r\n </label>\r\n <img *ngIf=\"field.Required\"\r\n class=\"required-icon\"\r\n [src]=\"this.getRequiredIcon()\"\r\n alt=\"obligatoire\"\r\n />\r\n </div>\r\n\r\n <!--String Input-->\r\n <div *ngSwitchCase=\"filterType.String\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControl]=\"this.control\"\r\n [id]=\"field.PropertyName\"\r\n [type]=\"field.InputType\"\r\n (change)=\"this.onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n focusable\r\n />\r\n </div>\r\n </div>\r\n\r\n <!--Number Input-->\r\n <div *ngSwitchCase=\"filterType.Integer\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControl]=\"this.control\"\r\n [id]=\"field.PropertyName\"\r\n (change)=\"onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n type=\"number\"\r\n focusable\r\n />\r\n </div>\r\n </div>\r\n <div *ngSwitchCase=\"filterType.Decimal\" class=\"form-group\">\r\n <div>\r\n <input\r\n [class]=\"this.inputClass\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n (change)=\"onValueChanged($event)\"\r\n (input)=\"onValueInput($event)\"\r\n type=\"text\"\r\n inputmode=\"decimal\"\r\n algDecimalInput\r\n />\r\n </div>\r\n </div>\r\n <!--ComboBox Input-->\r\n <div *ngSwitchCase=\"filterType.ComboBox\" class=\"form-group\">\r\n <div>\r\n <ng-select\r\n appendTo=\"body\"\r\n placeholder=\"Sélectionner {{ field.Label }}\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [items]=\"field.Data\"\r\n [multiple]=\"field.MultipleSelection\"\r\n [hideSelected]=\"field.HideSelected\"\r\n bindValue=\"{{ field.ValueMember }}\"\r\n [clearable]=\"field.IsClearable\"\r\n bindLabel=\"{{ field.DisplayMember }}\"\r\n [selectOnTab]=\"true\"\r\n (change)=\"onValueChanged($event)\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n >\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n <!-- InputSelect -->\r\n <!-- <div *ngSwitchCase=\"this.filterType.Custom\" class=\"form-group input\">\r\n <alg-input-selector #inputSelector\r\n type=\"text\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [modalPropertyValue]=\"this.field.ModalPropertyValue\"\r\n [modalPropertyName]=\"this.field.ModalPropertyName\"\r\n [modalEntityKey]=\"this.field.ModalEntityKey\"\r\n [modalTitle]=\"this.field.ModalTitle\"\r\n [readonly]=\"this.field.ReadOnly\">\r\n </alg-input-selector>\r\n </div> -->\r\n\r\n <!-- InputSelector with button -->\r\n <ng-container *ngSwitchCase=\"this.filterType.Custom\">\r\n <!-- <alg-selector\r\n #inputSelector\r\n type=\"text\"\r\n (change)=\"this.inputSelectorChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [modalPropertyValue]=\"field.ModalPropertyValue\"\r\n [modalPropertyName]=\"field.ModalPropertyName\"\r\n [modalEntityKey]=\"field.ModalEntityKey\"\r\n [modalTitle]=\"field.ModalTitle\">\r\n </alg-selector> -->\r\n\r\n <!-- *ngSwitchCase=\"filterType.Custom\" -->\r\n <ng-container *ngIf=\"field.ModalOnly\">\r\n <div class=\"pull-left input-select-default with-button\">\r\n <input\r\n class=\"form-control\"\r\n [readonly]=\"true\"\r\n [name]=\"this.field.PropertyName\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n />\r\n </div> \r\n </ng-container>\r\n\r\n <alg-selector\r\n [field]=\"field\"\r\n [control]=\"this.control\"\r\n (change)=\"this.inputSelectorChanged($event)\"\r\n \r\n >\r\n <!-- [control]=\"this.form.controls[field.PropertyName]\" -->\r\n </alg-selector>\r\n\r\n </ng-container>\r\n\r\n <!-- TreeSelector -->\r\n <ng-container *ngSwitchCase=\"this.filterType.TreeSelector\">\r\n <alg-input-tree-selector\r\n [items]=\"field.Data\"\r\n [id]=\"field.PropertyName\"\r\n [bindValue]=\"field.ValueMember\"\r\n [bindLabel]=\"field.DisplayMember\"\r\n childrenKey=\"children\"\r\n countKey=\"childrenCount\"\r\n [formControlName]=\"field.PropertyName\"\r\n placeholder=\"{{ field.Label }}\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </alg-input-tree-selector>\r\n </ng-container>\r\n\r\n <!-- TextWithbutton -->\r\n <ng-container\r\n *ngSwitchCase=\"this.filterType.TextWithButton\"\r\n class=\"form-group\"\r\n >\r\n <div class=\"input-with-button\">\r\n\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n (change)=\"onValueChanged($event)\"\r\n [name]=\"this.field.PropertyName\"\r\n [id]=\"this.field.PropertyName\"\r\n [formControlName]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n />\r\n\r\n <button\r\n class=\"btn btn-secondary btn-32 btn-input-select\"\r\n (click)=\"onClick(field)\"\r\n >\r\n <span class=\"fa fa-ellipsis-h\"></span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <!--HorizComboBox Input-->\r\n <div *ngSwitchCase=\"filterType.HorizComboBox\" class=\"form-group\">\r\n <div>\r\n <ng-select\r\n appendTo=\"body\"\r\n class=\"horiz-combox-box\"\r\n placeholder=\"{{ field.Label }}\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [items]=\"field.Data\"\r\n [multiple]=\"field.MultipleSelection\"\r\n [hideSelected]=\"field.HideSelected\"\r\n bindValue=\"{{ field.ValueMember }}\"\r\n bindLabel=\"{{ field.DisplayMember }}\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </ng-select>\r\n </div>\r\n </div>\r\n\r\n <!--Boolean Input-->\r\n <div *ngSwitchCase=\"filterType.CheckBox\" class=\"form-group\">\r\n <div class=\"checkbox-container\">\r\n <label class=\"switch\" [htmlFor]=\"field.PropertyName\">\r\n <input\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n type=\"checkbox\"\r\n (change)=\"onValueChanged($event)\"\r\n />\r\n <span class=\"slider round\"></span>\r\n </label>\r\n <span class=\"checkbox-label\">{{ field.Label }}</span>\r\n </div>\r\n </div>\r\n\r\n <!--Enum Input-->\r\n <div *ngSwitchCase=\"filterType.RadioButton\" class=\"form-group\">\r\n <div class=\"radio-button-container\">\r\n <form [formGroup]=\"form\" class=\"radio-buttons\">\r\n <div\r\n *ngFor=\"let data of field.Data;let indexOfData = index\" class=\"radio-button\">\r\n <input\r\n type=\"radio\"\r\n [formControlName]=\"field.PropertyName\"\r\n [id]=\"getRadioButtonId(field.PropertyName,indexOfData)\"\r\n [value]=\"indexOfData\"\r\n (change)=\"onValueChanged($event)\"\r\n />\r\n <label class=\"radio-button-label\">{{ data }}</label>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <!-- Text zone with button -->\r\n <div *ngSwitchCase=\"filterType.TextZoneWithButton\"\r\n class=\"form-group\">\r\n <div class=\"text-zone-and-button\">\r\n <div class=\"text-zone-container\">\r\n <textarea\r\n #textarea\r\n type=\"text\"\r\n class=\"text-area\"\r\n spellcheck=\"false\"\r\n [formControlName]=\"field.ValueMember\"\r\n [id]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onValueChanged($event)\"\r\n >\r\n </textarea>\r\n </div>\r\n <div class=\"feedback-and-button\">\r\n <div class=\"feedback\">\r\n <div class=\"feedback-green\" *ngIf=\"field.TextWithStyle.GreenText.length > 0\">\r\n {{ field.TextWithStyle.GreenText }}\r\n </div>\r\n <div class=\"feedback-yellow\" *ngIf=\"field.TextWithStyle.YellowText.length > 0\">\r\n {{ field.TextWithStyle.YellowText }}\r\n </div>\r\n <div class=\"feedback-red\" *ngIf=\"field.TextWithStyle.RedText.length > 0\">\r\n {{ field.TextWithStyle.RedText }}\r\n </div>\r\n </div>\r\n <button\r\n type=\"button\"\r\n id=\"botton-compile\"\r\n class=\"btn btn-primary btn-flat pull-right button\"\r\n (click)=\"onClick(field)\"\r\n >\r\n {{ field.ButtonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--Date -->\r\n <div *ngSwitchCase=\"filterType.Date\" class=\"form-group\">\r\n <div>\r\n <input\r\n type=\"text\"\r\n [class]=\"this.inputClass\"\r\n placeholder=\"Sélectionner une date\"\r\n [id]=\"field.PropertyName\"\r\n [bsConfig]=\"bsConfig\"\r\n [bsValue]=\"dateValue\"\r\n (bsValueChange)=\"onBsValueChanged($event)\"\r\n [disabled]=\"this.readonly || field.ReadOnly\"\r\n bsDatepicker\r\n />\r\n </div>\r\n </div>\r\n <!--DateTime -->\r\n <div *ngSwitchCase=\"filterType.DateTime\" class=\"form-group\">\r\n <div>\r\n <input\r\n type=\"datetime-local\"\r\n [class]=\"this.inputClass\"\r\n [id]=\"field.PropertyName\"\r\n [value]=\"dateTimeLocalValue\"\r\n [disabled]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onDateTimeLocalChanged($event)\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <!-- Text input -->\r\n <div *ngSwitchCase=\"filterType.Text\" class=\"form-group\">\r\n <div>\r\n <textarea\r\n type=\"text\"\r\n rows=\"5\"\r\n [class]=\"this.inputClass\"\r\n [formControlName]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n >\r\n </textarea>\r\n </div>\r\n </div>\r\n\r\n <!-- DropFileZone -->\r\n <div\r\n *ngSwitchCase=\"filterType.DropFileZone\"\r\n class=\"form-group ml-4\"\r\n >\r\n <fieldset>\r\n <input\r\n [id]=\"field.PropertyName\"\r\n type=\"file\"\r\n class=\"ml--3\"\r\n (change)=\"fileEvent($event)\"\r\n />\r\n </fieldset>\r\n </div>\r\n\r\n <!-- Password -->\r\n <div *ngSwitchCase=\"filterType.Password\" class=\"form-group\">\r\n <div class=\"input-with-button\">\r\n <input\r\n class=\"form-control\"\r\n [type]=\"hidePassword ? 'password' : 'text'\"\r\n [formControl]=\"control\"\r\n (change)=\"onValueChanged($event)\"\r\n [id]=\"field.PropertyName\"\r\n [name]=\"field.PropertyName\"\r\n [readonly]=\"this.readonly || field.ReadOnly\"\r\n autocomplete=\"new-password\"\r\n />\r\n <!-- btn-32 pull-right button -->\r\n <button class=\"btn btn-secondary btn-32 btn-input-select\" (click)=\"showPassword()\">\r\n <i class=\"fa fa-eye\" aria-hidden=\"true\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"this.showValidationErrors()\">\r\n <div class=\"validation-message\">\r\n {{ this.getValidationErrors() }}\r\n </div>\r\n <!-- <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('required')\">\r\n Ce champ est obligatoire\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('min')\">\r\n Minimum: {{field.FieldValidators.MinValue}}\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('max')\">\r\n Maximum: {{field.FieldValidators.MaxValue}}\r\n </ng-container>\r\n <ng-container *ngIf=\"this.form.controls[field.PropertyName]?.hasError('maxLength')\">\r\n Longueur maximale: {{field.FieldValidators.MaxLength}} caractères\r\n </ng-container> -->\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</div>\r\n",
|
|
13857
13967
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}:host{width:100%}.input-select-default{width:100%}.input-select-default.with-button{padding-right:35px;margin-right:-32px}.btn-input-select{padding:6px 10px 8px 8px;border-top-right-radius:0;border-bottom-right-radius:0;width:32px;border-color:#adb5bd}.form-group{display:flex;flex-direction:column}.field-container{margin-bottom:5px}.comboBox-icon-and-text{display:inline-block}.comboBox-icon{margin-right:5px;margin-bottom:5px}.comboBox-text{padding-right:10px}.checkbox-label{margin-left:5px;margin-top:5px;flex:1}.checkbox-input{width:17px;height:17px}.radio-button-container{border:1px solid #cbc8d0;border-radius:5px;width:100%;margin-top:5px;padding-top:12px;display:flex;flex-direction:row;flex-wrap:wrap}.under-line{margin:3px 10px 5px}.radio-buttons{margin:0;display:flex;flex-direction:column}.radio-button{margin-right:20px}.radio-buttons input{margin-right:0;margin-left:10px;margin-top:0;height:18px;width:18px;min-height:18px;flex-grow:0}.radio-button-label{margin-right:10px;margin-bottom:12px;margin-left:5px;vertical-align:middle}.text-zone-and-button{width:100%;display:flex;flex-direction:column}.text-area{background-color:#343a40;border-radius:5px;color:#e6e65f;caret-color:#ff0;font-family:monospace;font-weight:700;font-size:large;width:100%;height:200px;padding:10px;cursor:text}.feedback-and-button,.input-with-button{display:flex;flex-direction:row;width:100%}.input-with-button input{margin-right:3px}.button{margin-right:0;margin-top:5px;float:right}.feedback{width:100%;float:left;padding-left:10px}.feedback-green{float:left;width:90%;color:green;font-weight:700}.feedback-yellow{float:left;width:90%;color:orange;font-weight:700}.feedback-red{float:left;width:90%;color:var(--red-error);font-weight:700}.errorMessage{display:block;color:var(--red-error);width:100%}.validation-message{color:#a94442!important;display:inline-block;font-size:small;margin:3px}::ng-deep .ng-select.horiz-combox-box{height:30px;width:230px}::ng-deep .ng-select.horiz-combox-box .ng-select-container{height:30px;width:230px}.ng-select.horiz-combox-box ::ng-deep .ng-select-container .ng-placeholder{color:#3e4152}.input alg-input-selector{width:73.6%;margin:.75rem 0 .75rem .95rem}.ml-15px{margin-left:15px;margin-top:.4em}.textButton{margin-top:.4em;padding-bottom:.4em;margin-right:.8rem}fieldset input.ml--3{margin-left:-3%!important}.label-group{color:var(--main-bg-color)}.label-group span{padding-top:5px;display:inline-block;margin-right:5px}.label-group .required-icon{height:8px;margin:-6px 0 5px 5px;filter:invert(25%) sepia(61%) saturate(2196%) hue-rotate(334deg) brightness(100%) contrast(94%)}.checkbox-container{display:flex;flex-direction:row;align-items:center}.switch{position:relative;display:inline-block;width:48px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:\"\";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translate(22px)}.slider.round{border-radius:25px}.slider.round:before{border-radius:50%}\n"]
|
|
13858
13968
|
}]
|
|
13859
13969
|
}],
|
|
@@ -18880,6 +18990,7 @@ var components = [
|
|
|
18880
18990
|
PageLayoutComponent,
|
|
18881
18991
|
HideOnThresholdDirective,
|
|
18882
18992
|
BaseShortcutsDirective,
|
|
18993
|
+
DecimalInputDirective,
|
|
18883
18994
|
NewEditorComponent,
|
|
18884
18995
|
PropertyEditorComponent,
|
|
18885
18996
|
FieldComponent,
|
|
@@ -18988,6 +19099,7 @@ var CoreUxModule = class CoreUxModule {
|
|
|
18988
19099
|
PageLayoutComponent,
|
|
18989
19100
|
HideOnThresholdDirective,
|
|
18990
19101
|
BaseShortcutsDirective,
|
|
19102
|
+
DecimalInputDirective,
|
|
18991
19103
|
NewEditorComponent,
|
|
18992
19104
|
PropertyEditorComponent,
|
|
18993
19105
|
FieldComponent,
|
|
@@ -19093,6 +19205,7 @@ var CoreUxModule = class CoreUxModule {
|
|
|
19093
19205
|
PageLayoutComponent,
|
|
19094
19206
|
HideOnThresholdDirective,
|
|
19095
19207
|
BaseShortcutsDirective,
|
|
19208
|
+
DecimalInputDirective,
|
|
19096
19209
|
NewEditorComponent,
|
|
19097
19210
|
PropertyEditorComponent,
|
|
19098
19211
|
FieldComponent,
|
|
@@ -21646,6 +21759,6 @@ var SortingState = class {
|
|
|
21646
21759
|
this.direction$.next("asc");
|
|
21647
21760
|
}
|
|
21648
21761
|
};
|
|
21649
|
-
export { Action, ActionContext, ActionDefinition, ActionHandlerContext, ActionPanelComponent, ActionService, ActionsComponent, ActionsContentComponent, AddclassDirective, AlertDialog, AlertMessage, AlertService, AppConfigService, ApplicationService, BaseArrayParameterTypeComponent, BaseComponent, BaseEditorComponent, BaseEntityEditor, BaseFormContext, BaseItemListComponent, BaseParameterTypeComponent, BaseShortcutsDirective, BreadcrumbComponent, CanDeactivateGuard, CellRendererComponent, ChangeDetectionContext, ChangeUtilities, CollapseDirective, ConfirmModalComponent, ConfirmOptions, ContextChoice, CoreUxModule, DataContext, DataGridComponent, DataGridStyleContext, DataListComponent, DatagridCellComponent, DatagridCustomComponent, DefaultDataGridStyleContext, DefaultFilterComponent, DefaultLayoutComponent, DflatBaseComponent, DflatBaseFilterComponent, DialogComponent, DialogComponentParameter, DialogType, DraggableDirective, DroppableDirective, DynamicFieldComponent, DynamicFilterComponent, DynamicFilterExtraComponent, DynamicFilterPanel, DynamicFormComponent, EXTENDED_ACTION_COMPONENT, EditModeDirective, EditorContext, EditorTabComponent, EditorTabSetComponent, EntityConfigContext, EntityFacade, EntityFacadeRegistryService, EntitySections, EntitySelectors, EntityUpdater, ExportDataModalComponent, ExtendedAction, ExtendedActionComponent, FacadeLoadGuard, FacadeModalService, FieldComponent, FilterContext, FilterFormModalComponent, FilterLifecycleGuard, FilterSummaryComponent, FilterSummaryPanelComponent, FireAuthService, FocusableDirective, FormPasswordComponent, FormWrapper, GridFieldComponent, GridRowComponent, GridStylePipe, HideOnThresholdDirective, IIsCancelWithWarning, ImageComponent, ImageService, InputSelectorComponent, InputSelectorOptions, InputTreeSelectorComponent, InsertionDirective, LayoutContext, LayoutHandlerDirective, LayoutService, LoginLayoutComponent, LogsComponent, MenuComponent, MenuDashboardComponent, MessageSeverity, ModalService, ModalStateService, NewEditorComponent, NewPaginatorComponent, OldDataPageComponent, OldLayoutHandlerDirective, OnEnterDirective, OrderableModalComponent, OrderableModalService, PP_SERVICE, PageLayoutComponent, PaginatorComponent, ParameterFieldComponent, ParameterTypeBoolArrayComponent, ParameterTypeBoolComponent, ParameterTypeDateArrayComponent, ParameterTypeDateComponent, ParameterTypeNumberArrayComponent, ParameterTypeNumberComponent, ParameterTypePasswordComponent, ParameterTypeTextArrayComponent, ParameterTypeTextComponent, PropertyChangeBus, PropertyEditorComponent, PropertyGridComponent, ROOT_DEPS, RowRefDirective, RowRefHost, RowRegistry, SearchResultsComponent, SectionContext, SelectionContext, SelectionService, SelectionStyler, SelectorComponent, SelectorDataSource, SelectorMapperServiceBase, SelectorRegistry, SortableColumnComponent, SortingState, StandardPageLayoutComponent, TRACK_RECORD_MODAL_COMPONENT, Tab, TabHeadingDirective, TabTranscludeDirective, Tabset, TestService, TextViewerComponent, TimePickerComponent, ToDefinePipe, ToFixedSizeIntegerPipe, TooltipDirective, TrackRecordModalComponent, TreeComponent, ValidateOnEnterDirective, ValidationErrorComponent, ValidationModalComponent, ValidationService, ViewModeDirective, ViewModelLoaderService, WizardComponent, WizardStepComponent, downloadFile, filterFromId, layoutKeyToString, normalisedOrder };
|
|
21762
|
+
export { Action, ActionContext, ActionDefinition, ActionHandlerContext, ActionPanelComponent, ActionService, ActionsComponent, ActionsContentComponent, AddclassDirective, AlertDialog, AlertMessage, AlertService, AppConfigService, ApplicationService, BaseArrayParameterTypeComponent, BaseComponent, BaseEditorComponent, BaseEntityEditor, BaseFormContext, BaseItemListComponent, BaseParameterTypeComponent, BaseShortcutsDirective, BreadcrumbComponent, CanDeactivateGuard, CellRendererComponent, ChangeDetectionContext, ChangeUtilities, CollapseDirective, ConfirmModalComponent, ConfirmOptions, ContextChoice, CoreUxModule, DataContext, DataGridComponent, DataGridStyleContext, DataListComponent, DatagridCellComponent, DatagridCustomComponent, DecimalInputDirective, DefaultDataGridStyleContext, DefaultFilterComponent, DefaultLayoutComponent, DflatBaseComponent, DflatBaseFilterComponent, DialogComponent, DialogComponentParameter, DialogType, DraggableDirective, DroppableDirective, DynamicFieldComponent, DynamicFilterComponent, DynamicFilterExtraComponent, DynamicFilterPanel, DynamicFormComponent, EXTENDED_ACTION_COMPONENT, EditModeDirective, EditorContext, EditorTabComponent, EditorTabSetComponent, EntityConfigContext, EntityFacade, EntityFacadeRegistryService, EntitySections, EntitySelectors, EntityUpdater, ExportDataModalComponent, ExtendedAction, ExtendedActionComponent, FacadeLoadGuard, FacadeModalService, FieldComponent, FilterContext, FilterFormModalComponent, FilterLifecycleGuard, FilterSummaryComponent, FilterSummaryPanelComponent, FireAuthService, FocusableDirective, FormPasswordComponent, FormWrapper, GridFieldComponent, GridRowComponent, GridStylePipe, HideOnThresholdDirective, IIsCancelWithWarning, ImageComponent, ImageService, InputSelectorComponent, InputSelectorOptions, InputTreeSelectorComponent, InsertionDirective, LayoutContext, LayoutHandlerDirective, LayoutService, LoginLayoutComponent, LogsComponent, MenuComponent, MenuDashboardComponent, MessageSeverity, ModalService, ModalStateService, NewEditorComponent, NewPaginatorComponent, OldDataPageComponent, OldLayoutHandlerDirective, OnEnterDirective, OrderableModalComponent, OrderableModalService, PP_SERVICE, PageLayoutComponent, PaginatorComponent, ParameterFieldComponent, ParameterTypeBoolArrayComponent, ParameterTypeBoolComponent, ParameterTypeDateArrayComponent, ParameterTypeDateComponent, ParameterTypeNumberArrayComponent, ParameterTypeNumberComponent, ParameterTypePasswordComponent, ParameterTypeTextArrayComponent, ParameterTypeTextComponent, PropertyChangeBus, PropertyEditorComponent, PropertyGridComponent, ROOT_DEPS, RowRefDirective, RowRefHost, RowRegistry, SearchResultsComponent, SectionContext, SelectionContext, SelectionService, SelectionStyler, SelectorComponent, SelectorDataSource, SelectorMapperServiceBase, SelectorRegistry, SortableColumnComponent, SortingState, StandardPageLayoutComponent, TRACK_RECORD_MODAL_COMPONENT, Tab, TabHeadingDirective, TabTranscludeDirective, Tabset, TestService, TextViewerComponent, TimePickerComponent, ToDefinePipe, ToFixedSizeIntegerPipe, TooltipDirective, TrackRecordModalComponent, TreeComponent, ValidateOnEnterDirective, ValidationErrorComponent, ValidationModalComponent, ValidationService, ViewModeDirective, ViewModelLoaderService, WizardComponent, WizardStepComponent, downloadFile, filterFromId, formatDecimal, layoutKeyToString, normalisedOrder, parseDecimal };
|
|
21650
21763
|
|
|
21651
21764
|
//# sourceMappingURL=dflat-core-web-core-ux.mjs.map
|