@c10t/nice-component-library 0.0.12 → 0.0.16
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/components/cva-live-searching.component.d.ts +56 -0
- package/components/cva-multi-select-autocomplete.d.ts +6 -5
- package/components/tree/cva-flat-tree.component.d.ts +2 -2
- package/enums/column-type.enum.d.ts +2 -1
- package/fesm2022/c10t-nice-component-library.mjs +482 -108
- package/fesm2022/c10t-nice-component-library.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/models/components/column.model.d.ts +4 -0
- package/models/oauth/oAuth2AuthenticationDto.d.ts +9 -0
- package/modules/nice-component-library.module.d.ts +9 -8
- package/package.json +1 -1
- package/services/validator.service.d.ts +3 -0
|
@@ -18,7 +18,7 @@ import * as i4 from '@angular/material/input';
|
|
|
18
18
|
import { MAT_INPUT_VALUE_ACCESSOR, MatInputModule } from '@angular/material/input';
|
|
19
19
|
import * as i8 from '@angular/flex-layout/flex';
|
|
20
20
|
import * as i3$1 from 'ngx-toastr';
|
|
21
|
-
import { BehaviorSubject, Subject, of, forkJoin, throwError } from 'rxjs';
|
|
21
|
+
import { BehaviorSubject, Subject, of, forkJoin, debounceTime, distinctUntilChanged, filter, tap, switchMap, throwError } from 'rxjs';
|
|
22
22
|
import * as i5 from '@angular/material/table';
|
|
23
23
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
24
24
|
import * as i1$4 from '@angular/router';
|
|
@@ -46,19 +46,21 @@ import * as i10 from '@angular/cdk/scrolling';
|
|
|
46
46
|
import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
|
|
47
47
|
import * as i9$1 from '@angular/material/select';
|
|
48
48
|
import { MatSelectModule } from '@angular/material/select';
|
|
49
|
-
import * as i3$2 from '@angular/material/
|
|
49
|
+
import * as i3$2 from '@angular/material/autocomplete';
|
|
50
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
51
|
+
import * as i7$1 from '@angular/material/progress-spinner';
|
|
52
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
53
|
+
import * as i3$3 from '@angular/material/card';
|
|
50
54
|
import { MatCardModule } from '@angular/material/card';
|
|
51
|
-
import * as i3$
|
|
55
|
+
import * as i3$4 from '@angular/material/progress-bar';
|
|
52
56
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
53
|
-
import * as i4$3 from '@angular/material/progress-spinner';
|
|
54
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
55
57
|
import { NestedTreeControl, FlatTreeControl, CdkTreeModule, CdkTree, CdkTreeNode } from '@angular/cdk/tree';
|
|
56
58
|
import * as i6$1 from '@angular/material/tree';
|
|
57
59
|
import { MatTreeNestedDataSource, MatTreeFlattener, MatTreeFlatDataSource, MatTreeModule } from '@angular/material/tree';
|
|
58
|
-
import * as i4$
|
|
60
|
+
import * as i4$3 from '@angular/material/radio';
|
|
59
61
|
import { MatRadioModule } from '@angular/material/radio';
|
|
60
62
|
import * as i6$2 from '@angular/material/divider';
|
|
61
|
-
import * as i4$
|
|
63
|
+
import * as i4$4 from 'ngx-quill';
|
|
62
64
|
import { QuillModule } from 'ngx-quill';
|
|
63
65
|
import * as i1$6 from 'jsog-typescript';
|
|
64
66
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
@@ -76,7 +78,6 @@ import { MatChipsModule } from '@angular/material/chips';
|
|
|
76
78
|
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
77
79
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
78
80
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
79
|
-
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
80
81
|
import { MatSortModule } from '@angular/material/sort';
|
|
81
82
|
import { MatStepperModule } from '@angular/material/stepper';
|
|
82
83
|
import { ScrollingModule as ScrollingModule$1 } from '@angular/cdk-experimental/scrolling';
|
|
@@ -154,6 +155,7 @@ var ColumnTypeEnum;
|
|
|
154
155
|
ColumnTypeEnum["INPUT"] = "INPUT";
|
|
155
156
|
ColumnTypeEnum["LINK"] = "LINK";
|
|
156
157
|
ColumnTypeEnum["STYLE_CSS"] = "STYLE_CSS";
|
|
158
|
+
ColumnTypeEnum["LIVE_SEARCHING"] = "LIVE_SEARCHING";
|
|
157
159
|
})(ColumnTypeEnum || (ColumnTypeEnum = {}));
|
|
158
160
|
|
|
159
161
|
var AlignEnum;
|
|
@@ -196,6 +198,10 @@ class ColumnModel {
|
|
|
196
198
|
footer;
|
|
197
199
|
footers = [];
|
|
198
200
|
button;
|
|
201
|
+
// Dùng cho cva-live-searching
|
|
202
|
+
displayKey;
|
|
203
|
+
mappingConfig = {};
|
|
204
|
+
searchFn;
|
|
199
205
|
title = (e) => `${e}`;
|
|
200
206
|
cell = (e) => `${e}`;
|
|
201
207
|
}
|
|
@@ -238,6 +244,15 @@ class OAuth2AuthenticationDto {
|
|
|
238
244
|
userAuthentication = null;
|
|
239
245
|
authorities = null;
|
|
240
246
|
name = null;
|
|
247
|
+
orgId = null;
|
|
248
|
+
orgCode = null;
|
|
249
|
+
orgName = null;
|
|
250
|
+
orgType = null;
|
|
251
|
+
orgForm = null;
|
|
252
|
+
orgPath = null;
|
|
253
|
+
orgIsApproveVo = null;
|
|
254
|
+
sapId = null;
|
|
255
|
+
voAuthentication = null;
|
|
241
256
|
}
|
|
242
257
|
|
|
243
258
|
class Authority {
|
|
@@ -1611,6 +1626,13 @@ class ValidatorService {
|
|
|
1611
1626
|
}
|
|
1612
1627
|
return validationFns;
|
|
1613
1628
|
}
|
|
1629
|
+
static generateNsAutocompleteValidators(conditions) {
|
|
1630
|
+
const validationFns = [];
|
|
1631
|
+
if (conditions.required) {
|
|
1632
|
+
validationFns.push(Validators.required);
|
|
1633
|
+
}
|
|
1634
|
+
return validationFns;
|
|
1635
|
+
}
|
|
1614
1636
|
static getMinMaxDynamic(minOrMax) {
|
|
1615
1637
|
return minOrMax !== null ? typeof (minOrMax) === 'function' ? minOrMax() : minOrMax : null;
|
|
1616
1638
|
}
|
|
@@ -3939,19 +3961,13 @@ class CvaMultiSelectAutocomplete {
|
|
|
3939
3961
|
valueOptionRef = [];
|
|
3940
3962
|
// Chỉ bằng false khi trong NsSmartTable thôi nhé @@
|
|
3941
3963
|
isFormControl = true;
|
|
3964
|
+
searchInputRef;
|
|
3942
3965
|
// Cái này là để gắn khi nó là FormControl trong 1 FormGroup
|
|
3943
3966
|
formControl;
|
|
3944
3967
|
filteredOptions = [];
|
|
3945
3968
|
selectAllChecked = false;
|
|
3946
|
-
_displayString = '';
|
|
3947
|
-
get displayString() {
|
|
3948
|
-
return this._displayString;
|
|
3949
|
-
}
|
|
3950
3969
|
labelCount = 1;
|
|
3951
3970
|
cdkVirtualScrollViewPort;
|
|
3952
|
-
get NsValidator() {
|
|
3953
|
-
return ValidatorService;
|
|
3954
|
-
}
|
|
3955
3971
|
constructor(translateService, injector, ngControl) {
|
|
3956
3972
|
this.translateService = translateService;
|
|
3957
3973
|
this.injector = injector;
|
|
@@ -3959,6 +3975,19 @@ class CvaMultiSelectAutocomplete {
|
|
|
3959
3975
|
ngControl.valueAccessor = this;
|
|
3960
3976
|
}
|
|
3961
3977
|
}
|
|
3978
|
+
_displayString = '';
|
|
3979
|
+
get displayString() {
|
|
3980
|
+
return this._displayString;
|
|
3981
|
+
}
|
|
3982
|
+
get NsValidator() {
|
|
3983
|
+
return ValidatorService;
|
|
3984
|
+
}
|
|
3985
|
+
get selectedValue() {
|
|
3986
|
+
return this.value;
|
|
3987
|
+
}
|
|
3988
|
+
set selectedValue(val) {
|
|
3989
|
+
// this.writeValue(val); // Đọc comment bên dưới matSelectionChange
|
|
3990
|
+
}
|
|
3962
3991
|
ngOnInit() {
|
|
3963
3992
|
this.callValidator();
|
|
3964
3993
|
}
|
|
@@ -3988,27 +4017,8 @@ class CvaMultiSelectAutocomplete {
|
|
|
3988
4017
|
this.formControl.setValue(this.value);
|
|
3989
4018
|
}
|
|
3990
4019
|
this.formControl.updateValueAndValidity();
|
|
3991
|
-
// const ngControl = this.injector.get(NgControl);
|
|
3992
|
-
// if (ngControl && ngControl.control && this.formControl.errors) {
|
|
3993
|
-
// ngControl.control.setErrors(this.formControl.errors);
|
|
3994
|
-
// }
|
|
3995
|
-
// if (this.formControl.valid) {
|
|
3996
|
-
// if (this.getRequired()) {
|
|
3997
|
-
// if (this.value === undefined || this.value === null || this.value === '' || (this.multiple && this.value.length === 0)){
|
|
3998
|
-
// this.formControl.setErrors({required: true});
|
|
3999
|
-
// }
|
|
4000
|
-
// }
|
|
4001
|
-
//
|
|
4002
|
-
// this.formControl.markAllAsTouched();
|
|
4003
|
-
// }
|
|
4004
4020
|
}
|
|
4005
4021
|
}
|
|
4006
|
-
get selectedValue() {
|
|
4007
|
-
return this.value;
|
|
4008
|
-
}
|
|
4009
|
-
set selectedValue(val) {
|
|
4010
|
-
// this.writeValue(val); // Đọc comment bên dưới matSelectionChange
|
|
4011
|
-
}
|
|
4012
4022
|
propagateChange = (_) => {
|
|
4013
4023
|
/*NON-EMPTY FOR COMPILE*/
|
|
4014
4024
|
};
|
|
@@ -4034,16 +4044,7 @@ class CvaMultiSelectAutocomplete {
|
|
|
4034
4044
|
this.selectedOptionDataChange.emit(this.valueOptionRef);
|
|
4035
4045
|
}
|
|
4036
4046
|
this._displayString = this.onDisplayString();
|
|
4037
|
-
|
|
4038
|
-
}
|
|
4039
|
-
// private emitSelectedData(val: MatSelectChange) {
|
|
4040
|
-
// if (val.value != null && val.value != undefined) {
|
|
4041
|
-
// const dataArr: SelectModel[] = val.source._selectionModel.selected.map(matOption => {
|
|
4042
|
-
// return this.options[Number(matOption._getHostElement().getAttribute('data-optionIndex'))];
|
|
4043
|
-
// });
|
|
4044
|
-
// this.selectedOptionDataChange.emit(dataArr);
|
|
4045
|
-
// }
|
|
4046
|
-
// }
|
|
4047
|
+
}
|
|
4047
4048
|
registerOnChange(fn) {
|
|
4048
4049
|
this.propagateChange = fn;
|
|
4049
4050
|
}
|
|
@@ -4055,13 +4056,9 @@ class CvaMultiSelectAutocomplete {
|
|
|
4055
4056
|
this.options = simpleChanges.options.currentValue;
|
|
4056
4057
|
this.filteredOptions = this.options;
|
|
4057
4058
|
}
|
|
4058
|
-
|
|
4059
|
-
if (this.value != null && this.value != undefined) {
|
|
4059
|
+
if (this.value != null) {
|
|
4060
4060
|
this.writeValue(this.value);
|
|
4061
4061
|
}
|
|
4062
|
-
// else if (this.formControl.value) {
|
|
4063
|
-
// this.writeValue(this.formControl.value);
|
|
4064
|
-
// }
|
|
4065
4062
|
}
|
|
4066
4063
|
toggleSelectAll(val) {
|
|
4067
4064
|
if (val.checked) {
|
|
@@ -4204,9 +4201,16 @@ class CvaMultiSelectAutocomplete {
|
|
|
4204
4201
|
}
|
|
4205
4202
|
}
|
|
4206
4203
|
openChange($event) {
|
|
4207
|
-
if ($event
|
|
4208
|
-
this.cdkVirtualScrollViewPort
|
|
4209
|
-
|
|
4204
|
+
if ($event) {
|
|
4205
|
+
if (this.cdkVirtualScrollViewPort) {
|
|
4206
|
+
this.cdkVirtualScrollViewPort.scrollToIndex(0);
|
|
4207
|
+
this.cdkVirtualScrollViewPort.checkViewportSize();
|
|
4208
|
+
}
|
|
4209
|
+
setTimeout(() => {
|
|
4210
|
+
if (this.searchInputRef?.nativeElement) {
|
|
4211
|
+
this.searchInputRef.nativeElement.focus();
|
|
4212
|
+
}
|
|
4213
|
+
}, 300);
|
|
4210
4214
|
}
|
|
4211
4215
|
}
|
|
4212
4216
|
getItemSize() {
|
|
@@ -4218,7 +4222,7 @@ class CvaMultiSelectAutocomplete {
|
|
|
4218
4222
|
return height > 200 ? 200 : height;
|
|
4219
4223
|
}
|
|
4220
4224
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaMultiSelectAutocomplete, deps: [{ token: i1.TranslateService }, { token: i0.Injector }, { token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4221
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: CvaMultiSelectAutocomplete, isStandalone: false, selector: "cva-multi-select-autocomplete", inputs: { placeholder: "placeholder", label: "label", hint: "hint", value: "value", options: "options", disabled: "disabled", errorMessages: "errorMessages", multiple: "multiple", required: "required", isTree: "isTree", treeSymbol: "treeSymbol", sizeOfItemsInListByPixels: "sizeOfItemsInListByPixels", isLabelOutside: "isLabelOutside", isFloatLabel: "isFloatLabel", percentOfLabelOutside: "percentOfLabelOutside", isFormControl: "isFormControl" }, outputs: { selectionChange: "selectionChange", selectedOptionDataChange: "selectedOptionDataChange" }, viewQueries: [{ propertyName: "cdkVirtualScrollViewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
4225
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: CvaMultiSelectAutocomplete, isStandalone: false, selector: "cva-multi-select-autocomplete", inputs: { placeholder: "placeholder", label: "label", hint: "hint", value: "value", options: "options", disabled: "disabled", errorMessages: "errorMessages", multiple: "multiple", required: "required", isTree: "isTree", treeSymbol: "treeSymbol", sizeOfItemsInListByPixels: "sizeOfItemsInListByPixels", isLabelOutside: "isLabelOutside", isFloatLabel: "isFloatLabel", percentOfLabelOutside: "percentOfLabelOutside", isFormControl: "isFormControl" }, outputs: { selectionChange: "selectionChange", selectedOptionDataChange: "selectedOptionDataChange" }, viewQueries: [{ propertyName: "searchInputRef", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "cdkVirtualScrollViewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
4222
4226
|
<!-- css labelOutside trong base.theme-->
|
|
4223
4227
|
<div class="cva-multi-select-autocomplete"
|
|
4224
4228
|
[ngClass]="{'labelOutside': !!isLabelOutside, 'float_label': !!isFloatLabel && !isLabelOutside}"
|
|
@@ -4425,11 +4429,319 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
4425
4429
|
type: Output
|
|
4426
4430
|
}], isFormControl: [{
|
|
4427
4431
|
type: Input
|
|
4432
|
+
}], searchInputRef: [{
|
|
4433
|
+
type: ViewChild,
|
|
4434
|
+
args: ['searchInput']
|
|
4428
4435
|
}], cdkVirtualScrollViewPort: [{
|
|
4429
4436
|
type: ViewChild,
|
|
4430
4437
|
args: [CdkVirtualScrollViewport, { static: false }]
|
|
4431
4438
|
}] } });
|
|
4432
4439
|
|
|
4440
|
+
class CvaLiveSearchingComponent {
|
|
4441
|
+
injector;
|
|
4442
|
+
label = '';
|
|
4443
|
+
placeholder = '';
|
|
4444
|
+
hint = '';
|
|
4445
|
+
required = false;
|
|
4446
|
+
disabled = false;
|
|
4447
|
+
readonly = false;
|
|
4448
|
+
errorMessages = new Map();
|
|
4449
|
+
isLabelOutside = false;
|
|
4450
|
+
isFloatLabel = true;
|
|
4451
|
+
percentOfLabelOutside = 25;
|
|
4452
|
+
suffixFontAwesomeClass = '';
|
|
4453
|
+
displayKey = '';
|
|
4454
|
+
mappingConfig = {};
|
|
4455
|
+
searchFn;
|
|
4456
|
+
onChange = new EventEmitter();
|
|
4457
|
+
// Chỉ bằng false khi trong NsSmartTable thôi nhé @@
|
|
4458
|
+
isFormControl = true;
|
|
4459
|
+
row;
|
|
4460
|
+
columnDef;
|
|
4461
|
+
control = undefined;
|
|
4462
|
+
textControl = new FormControl('');
|
|
4463
|
+
filteredOptions = [];
|
|
4464
|
+
selected;
|
|
4465
|
+
loading = false;
|
|
4466
|
+
searchSub;
|
|
4467
|
+
constructor(injector, ngControl) {
|
|
4468
|
+
this.injector = injector;
|
|
4469
|
+
if (ngControl) {
|
|
4470
|
+
// Hành động này thay cho provide: NG_VALUE_ACCESSOR và gắn ControlValueAccessor này vào parent FormControl
|
|
4471
|
+
ngControl.valueAccessor = this;
|
|
4472
|
+
}
|
|
4473
|
+
}
|
|
4474
|
+
get NsValidator() {
|
|
4475
|
+
return ValidatorService;
|
|
4476
|
+
}
|
|
4477
|
+
ngOnInit() {
|
|
4478
|
+
this.callValidator();
|
|
4479
|
+
this.textValueChangeSubscribe();
|
|
4480
|
+
if (!this.isFormControl && !!this.searchFn && this.row && this.columnDef) {
|
|
4481
|
+
this.writeValue(this.row[this.columnDef]);
|
|
4482
|
+
}
|
|
4483
|
+
}
|
|
4484
|
+
callValidator() {
|
|
4485
|
+
const ngControl = this.injector.get(NgControl);
|
|
4486
|
+
// Nếu parent FormControl khởi tạo xong và formControl chưa có giá trị lưu
|
|
4487
|
+
if (ngControl && !this.control) {
|
|
4488
|
+
// Nếu là NsSmartTable thì phải tự new FormControl còn không thì cứ hóng parent FormControl về ^^
|
|
4489
|
+
if (this.isFormControl) {
|
|
4490
|
+
this.control = ngControl.control ? ngControl.control : undefined;
|
|
4491
|
+
}
|
|
4492
|
+
else {
|
|
4493
|
+
this.control = new FormControl();
|
|
4494
|
+
}
|
|
4495
|
+
// Hành động này gắn validator vào this.formControl
|
|
4496
|
+
// - Nếu this.formControl là parent FormControl thì sẽ show error lên FormGroup
|
|
4497
|
+
// - Nếu this.formControl là new FormControl thì sẽ quét QueryList để check {errors}
|
|
4498
|
+
if (this.control) {
|
|
4499
|
+
if (this.control.validator) {
|
|
4500
|
+
this.control.setValidators([...ValidatorService.generateNsAutocompleteValidators({
|
|
4501
|
+
required: this.required,
|
|
4502
|
+
}), this.control.validator]);
|
|
4503
|
+
}
|
|
4504
|
+
else {
|
|
4505
|
+
this.control.setValidators([...ValidatorService.generateNsAutocompleteValidators({
|
|
4506
|
+
required: this.required,
|
|
4507
|
+
})]);
|
|
4508
|
+
}
|
|
4509
|
+
}
|
|
4510
|
+
}
|
|
4511
|
+
if (this.control) {
|
|
4512
|
+
// Nếu this.formControl thuộc NsSmartTable thì setValue lại
|
|
4513
|
+
if (!this.isFormControl) {
|
|
4514
|
+
this.control.setValue(this.selected);
|
|
4515
|
+
}
|
|
4516
|
+
// Nếu là parent FormControl rồi thì kệ
|
|
4517
|
+
this.control.updateValueAndValidity();
|
|
4518
|
+
}
|
|
4519
|
+
}
|
|
4520
|
+
propagateChange = (_) => {
|
|
4521
|
+
/*NON-EMPTY FOR COMPILE*/
|
|
4522
|
+
};
|
|
4523
|
+
/**
|
|
4524
|
+
* Set the function to be called
|
|
4525
|
+
* when the formControl receives a change event.
|
|
4526
|
+
*/
|
|
4527
|
+
registerOnChange(fn) {
|
|
4528
|
+
this.propagateChange = fn;
|
|
4529
|
+
}
|
|
4530
|
+
/**
|
|
4531
|
+
* Set the function to be called
|
|
4532
|
+
* when the formControl receives a touch event.
|
|
4533
|
+
*/
|
|
4534
|
+
registerOnTouched() {
|
|
4535
|
+
/*NON-EMPTY FOR COMPILE*/
|
|
4536
|
+
}
|
|
4537
|
+
/**
|
|
4538
|
+
* Write a new value to the element.
|
|
4539
|
+
*/
|
|
4540
|
+
writeValue(obj) {
|
|
4541
|
+
if (!obj || typeof obj !== 'string') {
|
|
4542
|
+
this.selected = {};
|
|
4543
|
+
this.textControl.setValue('', { emitEvent: false });
|
|
4544
|
+
this.updateRowOrFormGroup();
|
|
4545
|
+
return;
|
|
4546
|
+
}
|
|
4547
|
+
const matched = this.filteredOptions.find(opt => {
|
|
4548
|
+
return JSON.stringify(opt[this.displayKey] ?? '') === JSON.stringify(obj ?? '');
|
|
4549
|
+
});
|
|
4550
|
+
if (!matched) {
|
|
4551
|
+
if (!this.searchFn) {
|
|
4552
|
+
return;
|
|
4553
|
+
}
|
|
4554
|
+
// Khi textValueChange chưa chạy không tìm thấy
|
|
4555
|
+
this.searchFn(obj).subscribe(values => {
|
|
4556
|
+
if (values && values.length > 0) {
|
|
4557
|
+
const emptyObj = {};
|
|
4558
|
+
emptyObj[this.displayKey] = '';
|
|
4559
|
+
this.filteredOptions = [emptyObj, ...values];
|
|
4560
|
+
this.onOptionSelect(obj);
|
|
4561
|
+
}
|
|
4562
|
+
});
|
|
4563
|
+
return;
|
|
4564
|
+
}
|
|
4565
|
+
this.selected = matched;
|
|
4566
|
+
this.textControl.setValue(matched[this.displayKey], { emitEvent: false });
|
|
4567
|
+
this.updateRowOrFormGroup();
|
|
4568
|
+
}
|
|
4569
|
+
onOptionSelect(displayValue) {
|
|
4570
|
+
this.searchSub?.unsubscribe();
|
|
4571
|
+
this.writeValue(displayValue);
|
|
4572
|
+
setTimeout(() => this.textValueChangeSubscribe(), 100);
|
|
4573
|
+
}
|
|
4574
|
+
textValueChangeSubscribe() {
|
|
4575
|
+
this.searchSub = this.textControl.valueChanges.pipe(debounceTime(300), distinctUntilChanged(), filter(text => typeof text === 'string' && text.trim().length > 0), tap(() => this.loading = true), switchMap((text) => {
|
|
4576
|
+
if (typeof text !== 'string' || !text || !text.trim())
|
|
4577
|
+
return of([]);
|
|
4578
|
+
return this.searchFn ? this.searchFn(text) : of([]);
|
|
4579
|
+
}), tap(() => this.loading = false)).subscribe((data) => {
|
|
4580
|
+
const emptyObj = {};
|
|
4581
|
+
emptyObj[this.displayKey] = '';
|
|
4582
|
+
this.filteredOptions = this.selected
|
|
4583
|
+
? [this.selected, emptyObj, ...data.filter((x) => x[this.displayKey] !== this.selected[this.displayKey])]
|
|
4584
|
+
: data;
|
|
4585
|
+
});
|
|
4586
|
+
}
|
|
4587
|
+
updateRowOrFormGroup() {
|
|
4588
|
+
if (!this.isFormControl && this.row) {
|
|
4589
|
+
for (const targetKey in this.mappingConfig) {
|
|
4590
|
+
const sourceKey = this.mappingConfig[targetKey];
|
|
4591
|
+
this.row[targetKey] = this.selected[sourceKey];
|
|
4592
|
+
}
|
|
4593
|
+
}
|
|
4594
|
+
if (this.isFormControl && this.control?.parent) {
|
|
4595
|
+
for (const targetKey in this.mappingConfig) {
|
|
4596
|
+
const sourceKey = this.mappingConfig[targetKey];
|
|
4597
|
+
const formControl = this.control.parent.get(targetKey);
|
|
4598
|
+
if (formControl)
|
|
4599
|
+
formControl.setValue(this.selected[sourceKey]);
|
|
4600
|
+
}
|
|
4601
|
+
}
|
|
4602
|
+
this.propagateChange(this.selected[this.displayKey]);
|
|
4603
|
+
this.onChange.emit(this.selected[this.displayKey]);
|
|
4604
|
+
}
|
|
4605
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaLiveSearchingComponent, deps: [{ token: i0.Injector }, { token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4606
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: CvaLiveSearchingComponent, isStandalone: false, selector: "cva-live-searching", inputs: { label: "label", placeholder: "placeholder", hint: "hint", required: "required", disabled: "disabled", readonly: "readonly", errorMessages: "errorMessages", isLabelOutside: "isLabelOutside", isFloatLabel: "isFloatLabel", percentOfLabelOutside: "percentOfLabelOutside", suffixFontAwesomeClass: "suffixFontAwesomeClass", displayKey: "displayKey", mappingConfig: "mappingConfig", searchFn: "searchFn", isFormControl: "isFormControl", row: "row", columnDef: "columnDef" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
|
|
4607
|
+
<div class="cva-live-searching"
|
|
4608
|
+
[ngClass]="{'labelOutside': !!isLabelOutside,
|
|
4609
|
+
'float_label': !!isFloatLabel && !isLabelOutside}"
|
|
4610
|
+
fxLayout="row" fxLayout.lt-sm="row wrap">
|
|
4611
|
+
<mat-label *ngIf="isLabelOutside" class="label_width"
|
|
4612
|
+
fxLayout="column" fxFlex="auto" fxFlex.lt-md="100%">
|
|
4613
|
+
<div class="label">
|
|
4614
|
+
<div>
|
|
4615
|
+
{{ (label ? label : placeholder) | translate }}<span
|
|
4616
|
+
class="required-label-outside">{{ !!required ? '*' : '' }}</span>
|
|
4617
|
+
</div>
|
|
4618
|
+
</div>
|
|
4619
|
+
</mat-label>
|
|
4620
|
+
<mat-form-field appearance="outline" [floatLabel]="!!isFloatLabel ? 'always' : 'auto'"
|
|
4621
|
+
[hideRequiredMarker]="!isFloatLabel"
|
|
4622
|
+
fxLayout="column" fxFlex="auto" fxFlex.lt-md="100%">
|
|
4623
|
+
<mat-label *ngIf="!isLabelOutside && !!isFloatLabel">
|
|
4624
|
+
{{ (label ? label : placeholder) | translate }}
|
|
4625
|
+
</mat-label>
|
|
4626
|
+
<input type="text"
|
|
4627
|
+
matInput
|
|
4628
|
+
[required]="required"
|
|
4629
|
+
[disabled]="disabled"
|
|
4630
|
+
[placeholder]="placeholder"
|
|
4631
|
+
[formControl]="textControl"
|
|
4632
|
+
[matAutocomplete]="auto"
|
|
4633
|
+
readonly="{{readonly}}" />
|
|
4634
|
+
<mat-autocomplete #auto="matAutocomplete" autoActiveFirstOption
|
|
4635
|
+
(optionSelected)="onOptionSelect($event.option.value)">
|
|
4636
|
+
<mat-option *ngIf="loading" class="loading-option">
|
|
4637
|
+
<mat-spinner diameter="20"></mat-spinner>
|
|
4638
|
+
</mat-option>
|
|
4639
|
+
<mat-option *ngFor="let option of filteredOptions" [value]="option[displayKey]">
|
|
4640
|
+
{{ option[displayKey] }}
|
|
4641
|
+
</mat-option>
|
|
4642
|
+
</mat-autocomplete>
|
|
4643
|
+
<i *ngIf="!!suffixFontAwesomeClass" class="input-suffix {{suffixFontAwesomeClass}}" matSuffix></i>
|
|
4644
|
+
<mat-hint align="start" *ngIf="!NsValidator.invalid(control)">{{ hint | translate }}</mat-hint>
|
|
4645
|
+
<mat-hint style="color: red" align="start" *ngIf="NsValidator.invalid(control)">
|
|
4646
|
+
{{ NsValidator.getErrorMessageV1(control, errorMessages).msg | translate: NsValidator.getErrorMessageV1(control, errorMessages).params }}
|
|
4647
|
+
</mat-hint>
|
|
4648
|
+
</mat-form-field>
|
|
4649
|
+
</div>
|
|
4650
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
4651
|
+
}
|
|
4652
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaLiveSearchingComponent, decorators: [{
|
|
4653
|
+
type: Component,
|
|
4654
|
+
args: [{
|
|
4655
|
+
selector: 'cva-live-searching',
|
|
4656
|
+
standalone: false,
|
|
4657
|
+
template: `
|
|
4658
|
+
<div class="cva-live-searching"
|
|
4659
|
+
[ngClass]="{'labelOutside': !!isLabelOutside,
|
|
4660
|
+
'float_label': !!isFloatLabel && !isLabelOutside}"
|
|
4661
|
+
fxLayout="row" fxLayout.lt-sm="row wrap">
|
|
4662
|
+
<mat-label *ngIf="isLabelOutside" class="label_width"
|
|
4663
|
+
fxLayout="column" fxFlex="auto" fxFlex.lt-md="100%">
|
|
4664
|
+
<div class="label">
|
|
4665
|
+
<div>
|
|
4666
|
+
{{ (label ? label : placeholder) | translate }}<span
|
|
4667
|
+
class="required-label-outside">{{ !!required ? '*' : '' }}</span>
|
|
4668
|
+
</div>
|
|
4669
|
+
</div>
|
|
4670
|
+
</mat-label>
|
|
4671
|
+
<mat-form-field appearance="outline" [floatLabel]="!!isFloatLabel ? 'always' : 'auto'"
|
|
4672
|
+
[hideRequiredMarker]="!isFloatLabel"
|
|
4673
|
+
fxLayout="column" fxFlex="auto" fxFlex.lt-md="100%">
|
|
4674
|
+
<mat-label *ngIf="!isLabelOutside && !!isFloatLabel">
|
|
4675
|
+
{{ (label ? label : placeholder) | translate }}
|
|
4676
|
+
</mat-label>
|
|
4677
|
+
<input type="text"
|
|
4678
|
+
matInput
|
|
4679
|
+
[required]="required"
|
|
4680
|
+
[disabled]="disabled"
|
|
4681
|
+
[placeholder]="placeholder"
|
|
4682
|
+
[formControl]="textControl"
|
|
4683
|
+
[matAutocomplete]="auto"
|
|
4684
|
+
readonly="{{readonly}}" />
|
|
4685
|
+
<mat-autocomplete #auto="matAutocomplete" autoActiveFirstOption
|
|
4686
|
+
(optionSelected)="onOptionSelect($event.option.value)">
|
|
4687
|
+
<mat-option *ngIf="loading" class="loading-option">
|
|
4688
|
+
<mat-spinner diameter="20"></mat-spinner>
|
|
4689
|
+
</mat-option>
|
|
4690
|
+
<mat-option *ngFor="let option of filteredOptions" [value]="option[displayKey]">
|
|
4691
|
+
{{ option[displayKey] }}
|
|
4692
|
+
</mat-option>
|
|
4693
|
+
</mat-autocomplete>
|
|
4694
|
+
<i *ngIf="!!suffixFontAwesomeClass" class="input-suffix {{suffixFontAwesomeClass}}" matSuffix></i>
|
|
4695
|
+
<mat-hint align="start" *ngIf="!NsValidator.invalid(control)">{{ hint | translate }}</mat-hint>
|
|
4696
|
+
<mat-hint style="color: red" align="start" *ngIf="NsValidator.invalid(control)">
|
|
4697
|
+
{{ NsValidator.getErrorMessageV1(control, errorMessages).msg | translate: NsValidator.getErrorMessageV1(control, errorMessages).params }}
|
|
4698
|
+
</mat-hint>
|
|
4699
|
+
</mat-form-field>
|
|
4700
|
+
</div>
|
|
4701
|
+
`,
|
|
4702
|
+
}]
|
|
4703
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1$2.NgControl, decorators: [{
|
|
4704
|
+
type: Self
|
|
4705
|
+
}, {
|
|
4706
|
+
type: Optional
|
|
4707
|
+
}] }], propDecorators: { label: [{
|
|
4708
|
+
type: Input
|
|
4709
|
+
}], placeholder: [{
|
|
4710
|
+
type: Input
|
|
4711
|
+
}], hint: [{
|
|
4712
|
+
type: Input
|
|
4713
|
+
}], required: [{
|
|
4714
|
+
type: Input
|
|
4715
|
+
}], disabled: [{
|
|
4716
|
+
type: Input
|
|
4717
|
+
}], readonly: [{
|
|
4718
|
+
type: Input
|
|
4719
|
+
}], errorMessages: [{
|
|
4720
|
+
type: Input
|
|
4721
|
+
}], isLabelOutside: [{
|
|
4722
|
+
type: Input
|
|
4723
|
+
}], isFloatLabel: [{
|
|
4724
|
+
type: Input
|
|
4725
|
+
}], percentOfLabelOutside: [{
|
|
4726
|
+
type: Input
|
|
4727
|
+
}], suffixFontAwesomeClass: [{
|
|
4728
|
+
type: Input
|
|
4729
|
+
}], displayKey: [{
|
|
4730
|
+
type: Input
|
|
4731
|
+
}], mappingConfig: [{
|
|
4732
|
+
type: Input
|
|
4733
|
+
}], searchFn: [{
|
|
4734
|
+
type: Input
|
|
4735
|
+
}], onChange: [{
|
|
4736
|
+
type: Output
|
|
4737
|
+
}], isFormControl: [{
|
|
4738
|
+
type: Input
|
|
4739
|
+
}], row: [{
|
|
4740
|
+
type: Input
|
|
4741
|
+
}], columnDef: [{
|
|
4742
|
+
type: Input
|
|
4743
|
+
}] } });
|
|
4744
|
+
|
|
4433
4745
|
class CvaSmartTableComponent {
|
|
4434
4746
|
ref;
|
|
4435
4747
|
config;
|
|
@@ -4804,6 +5116,8 @@ class CvaSmartTableComponent {
|
|
|
4804
5116
|
[isFormControl]="false"
|
|
4805
5117
|
[disabled]="column.disabled ? column.disabled(result) : false"
|
|
4806
5118
|
[text]="result[column.columnDef]"
|
|
5119
|
+
[minLength]="column.min ? column.min(result) : undefined"
|
|
5120
|
+
[maxLength]="column.max ? column.max(result) : undefined"
|
|
4807
5121
|
[required]="getRequired(column)"
|
|
4808
5122
|
[errorMessages]="getErrorMessageMap(column)"
|
|
4809
5123
|
(onChange)="onCellValueChange(result, column, $event);">
|
|
@@ -4840,6 +5154,15 @@ class CvaSmartTableComponent {
|
|
|
4840
5154
|
(change)="toggleSelect($event,result, column)">
|
|
4841
5155
|
</mat-checkbox>
|
|
4842
5156
|
</div>
|
|
5157
|
+
<cva-live-searching *ngSwitchCase="ColumnTypes.LIVE_SEARCHING"
|
|
5158
|
+
[isFormControl]="false" [required]="getRequired(column)"
|
|
5159
|
+
[row]="result" [columnDef]="column.columnDef"
|
|
5160
|
+
[searchFn]="column.searchFn"
|
|
5161
|
+
[mappingConfig]="column.mappingConfig"
|
|
5162
|
+
[displayKey]="column.displayKey"
|
|
5163
|
+
[errorMessages]="getErrorMessageMap(column)"
|
|
5164
|
+
(onChange)="onCellValueChange(result, column, $event)">
|
|
5165
|
+
</cva-live-searching>
|
|
4843
5166
|
</td>
|
|
4844
5167
|
</ng-container>
|
|
4845
5168
|
</ng-container>
|
|
@@ -4920,7 +5243,7 @@ class CvaSmartTableComponent {
|
|
|
4920
5243
|
</ng-container>
|
|
4921
5244
|
</table>
|
|
4922
5245
|
</div>
|
|
4923
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4$1.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: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i5.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i5.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: CvaInputComponent, selector: "cva-input", inputs: ["label", "name", "placeholder", "hint", "required", "disabled", "text", "type", "pattern", "readonly", "errorMessages", "multiline", "isLabelOutside", "isFloatLabel", "minLength", "maxLength", "maxLengthDisplay", "percentOfLabelOutside", "suffixFontAwesomeClass", "patternFilter", "isFormControl", "formatFunc"], outputs: ["onChange"] }, { kind: "component", type: CvaCounterInputComponent, selector: "cva-counter-input", inputs: ["label", "placeholder", "suffixText", "hint", "value", "disabled", "required", "errorMessages", "min", "max", "error", "isDecimal", "isLabelOutside", "isFloatLabel", "percentOfLabelOutside", "alignNumber", "isFormControl"], outputs: ["onChange", "onEnter"] }, { kind: "component", type: CvaDatePickerComponent, selector: "cva-date-picker", inputs: ["label", "placeholder", "value", "disabled", "required", "minDate", "maxDate", "errorMessages", "isLabelOutside", "isFloatLabel", "percentOfLabelOutside", "isFormControl"], outputs: ["onChange"] }, { kind: "component", type: CvaMultiSelectAutocomplete, selector: "cva-multi-select-autocomplete", inputs: ["placeholder", "label", "hint", "value", "options", "disabled", "errorMessages", "multiple", "required", "isTree", "treeSymbol", "sizeOfItemsInListByPixels", "isLabelOutside", "isFloatLabel", "percentOfLabelOutside", "isFormControl"], outputs: ["selectionChange", "selectedOptionDataChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImgPipe, name: "secure" }] });
|
|
5246
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4$1.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: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i5.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i5.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: CvaInputComponent, selector: "cva-input", inputs: ["label", "name", "placeholder", "hint", "required", "disabled", "text", "type", "pattern", "readonly", "errorMessages", "multiline", "isLabelOutside", "isFloatLabel", "minLength", "maxLength", "maxLengthDisplay", "percentOfLabelOutside", "suffixFontAwesomeClass", "patternFilter", "isFormControl", "formatFunc"], outputs: ["onChange"] }, { kind: "component", type: CvaCounterInputComponent, selector: "cva-counter-input", inputs: ["label", "placeholder", "suffixText", "hint", "value", "disabled", "required", "errorMessages", "min", "max", "error", "isDecimal", "isLabelOutside", "isFloatLabel", "percentOfLabelOutside", "alignNumber", "isFormControl"], outputs: ["onChange", "onEnter"] }, { kind: "component", type: CvaDatePickerComponent, selector: "cva-date-picker", inputs: ["label", "placeholder", "value", "disabled", "required", "minDate", "maxDate", "errorMessages", "isLabelOutside", "isFloatLabel", "percentOfLabelOutside", "isFormControl"], outputs: ["onChange"] }, { kind: "component", type: CvaMultiSelectAutocomplete, selector: "cva-multi-select-autocomplete", inputs: ["placeholder", "label", "hint", "value", "options", "disabled", "errorMessages", "multiple", "required", "isTree", "treeSymbol", "sizeOfItemsInListByPixels", "isLabelOutside", "isFloatLabel", "percentOfLabelOutside", "isFormControl"], outputs: ["selectionChange", "selectedOptionDataChange"] }, { kind: "component", type: CvaLiveSearchingComponent, selector: "cva-live-searching", inputs: ["label", "placeholder", "hint", "required", "disabled", "readonly", "errorMessages", "isLabelOutside", "isFloatLabel", "percentOfLabelOutside", "suffixFontAwesomeClass", "displayKey", "mappingConfig", "searchFn", "isFormControl", "row", "columnDef"], outputs: ["onChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImgPipe, name: "secure" }] });
|
|
4924
5247
|
}
|
|
4925
5248
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaSmartTableComponent, decorators: [{
|
|
4926
5249
|
type: Component,
|
|
@@ -5026,6 +5349,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
5026
5349
|
[isFormControl]="false"
|
|
5027
5350
|
[disabled]="column.disabled ? column.disabled(result) : false"
|
|
5028
5351
|
[text]="result[column.columnDef]"
|
|
5352
|
+
[minLength]="column.min ? column.min(result) : undefined"
|
|
5353
|
+
[maxLength]="column.max ? column.max(result) : undefined"
|
|
5029
5354
|
[required]="getRequired(column)"
|
|
5030
5355
|
[errorMessages]="getErrorMessageMap(column)"
|
|
5031
5356
|
(onChange)="onCellValueChange(result, column, $event);">
|
|
@@ -5062,6 +5387,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
5062
5387
|
(change)="toggleSelect($event,result, column)">
|
|
5063
5388
|
</mat-checkbox>
|
|
5064
5389
|
</div>
|
|
5390
|
+
<cva-live-searching *ngSwitchCase="ColumnTypes.LIVE_SEARCHING"
|
|
5391
|
+
[isFormControl]="false" [required]="getRequired(column)"
|
|
5392
|
+
[row]="result" [columnDef]="column.columnDef"
|
|
5393
|
+
[searchFn]="column.searchFn"
|
|
5394
|
+
[mappingConfig]="column.mappingConfig"
|
|
5395
|
+
[displayKey]="column.displayKey"
|
|
5396
|
+
[errorMessages]="getErrorMessageMap(column)"
|
|
5397
|
+
(onChange)="onCellValueChange(result, column, $event)">
|
|
5398
|
+
</cva-live-searching>
|
|
5065
5399
|
</td>
|
|
5066
5400
|
</ng-container>
|
|
5067
5401
|
</ng-container>
|
|
@@ -5791,7 +6125,7 @@ class CvaMultiUploadComponent {
|
|
|
5791
6125
|
<mat-error *ngIf="typeError!==null">{{ typeError + ' ' + ('common.is.not-accept' | translate) }}</mat-error>
|
|
5792
6126
|
</div>
|
|
5793
6127
|
</div>
|
|
5794
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$
|
|
6128
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3$3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3$3.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: DragDropDirective, selector: "[appDragDrop]", outputs: ["onFileDropped"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
5795
6129
|
}
|
|
5796
6130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaMultiUploadComponent, decorators: [{
|
|
5797
6131
|
type: Component,
|
|
@@ -6209,7 +6543,7 @@ class CvaUploadFileComponent {
|
|
|
6209
6543
|
<mat-error *ngIf="isRectangleError">{{ ('common.error.image.rectangle' | translate) }}</mat-error>
|
|
6210
6544
|
</div>
|
|
6211
6545
|
</div>
|
|
6212
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$
|
|
6546
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3$3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3$3.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: DragDropDirective, selector: "[appDragDrop]", outputs: ["onFileDropped"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImgPipe, name: "secure" }] });
|
|
6213
6547
|
}
|
|
6214
6548
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaUploadFileComponent, decorators: [{
|
|
6215
6549
|
type: Component,
|
|
@@ -6520,7 +6854,7 @@ class CvaLoaderComponent {
|
|
|
6520
6854
|
</div>
|
|
6521
6855
|
<img *ngIf="!!imgSrc" [src]="imgSrc" alt=""/>
|
|
6522
6856
|
</div>
|
|
6523
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$
|
|
6857
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$4.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
6524
6858
|
}
|
|
6525
6859
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaLoaderComponent, decorators: [{
|
|
6526
6860
|
type: Component,
|
|
@@ -6985,7 +7319,7 @@ class CvaRadiobuttonComponent {
|
|
|
6985
7319
|
<mat-hint align="start" *ngIf="NsValidator.invalid(control)">{{NsValidator.getErrorMessage(control, errorMessages) | translate}}</mat-hint>
|
|
6986
7320
|
</div>
|
|
6987
7321
|
</div>
|
|
6988
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$
|
|
7322
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$3.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: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
6989
7323
|
}
|
|
6990
7324
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaRadiobuttonComponent, decorators: [{
|
|
6991
7325
|
type: Component,
|
|
@@ -7381,6 +7715,7 @@ class CvaFlatTreeComponent {
|
|
|
7381
7715
|
isFormControl = true;
|
|
7382
7716
|
// Cái này là để gắn khi nó là FormControl trong 1 FormGroup
|
|
7383
7717
|
formControl;
|
|
7718
|
+
mapIndexes = new Map();
|
|
7384
7719
|
chooseVirtualScroll;
|
|
7385
7720
|
selectedVirtualScroll;
|
|
7386
7721
|
constructor(translateService, injector, cdr, ngControl) {
|
|
@@ -7425,9 +7760,6 @@ class CvaFlatTreeComponent {
|
|
|
7425
7760
|
ngAfterViewInit() {
|
|
7426
7761
|
// this.onChangeSearchText();
|
|
7427
7762
|
}
|
|
7428
|
-
trackByValue(index, node) {
|
|
7429
|
-
return node.value;
|
|
7430
|
-
}
|
|
7431
7763
|
getDisplayInputFunc(node) {
|
|
7432
7764
|
return typeof (node._displayFuncInput) === 'function' ? node._displayFuncInput(node) : !!node._displayFuncInput;
|
|
7433
7765
|
}
|
|
@@ -7550,17 +7882,31 @@ class CvaFlatTreeComponent {
|
|
|
7550
7882
|
this.propagateChange(fn);
|
|
7551
7883
|
}
|
|
7552
7884
|
writeValue(obj) {
|
|
7885
|
+
// if (this.multiple && !obj) {
|
|
7886
|
+
// obj = [];
|
|
7887
|
+
// }
|
|
7553
7888
|
if (obj) {
|
|
7889
|
+
// if (this.multiple) {
|
|
7554
7890
|
this.value = obj;
|
|
7891
|
+
// }
|
|
7892
|
+
console.log('writeValue_0: ', new Date());
|
|
7893
|
+
this.mapIndexes = new Map();
|
|
7894
|
+
for (let i = 0; i < this.fullDataTreeControl.dataNodes.length; i++) {
|
|
7895
|
+
this.mapIndexes.set(this.fullDataTreeControl.dataNodes[i].value, i);
|
|
7896
|
+
}
|
|
7897
|
+
console.log('writeValue_1: ', new Date());
|
|
7555
7898
|
this.checkedDefaultValue();
|
|
7899
|
+
console.log('writeValue_2: ', new Date());
|
|
7556
7900
|
this.updateSelectAll();
|
|
7901
|
+
console.log('writeValue_3: ', new Date());
|
|
7557
7902
|
this.updateSelectedTree();
|
|
7903
|
+
console.log('writeValue_4: ', new Date());
|
|
7558
7904
|
this.propagateChange(this.value);
|
|
7559
7905
|
this.callValidator();
|
|
7560
7906
|
if (this.isView) {
|
|
7561
|
-
|
|
7907
|
+
this.selectedTreeControl.expandAll();
|
|
7562
7908
|
}
|
|
7563
|
-
|
|
7909
|
+
console.log('writeValue_5: ', new Date());
|
|
7564
7910
|
this.selectionChange.emit(Array.from(this.valueObjRef.values()));
|
|
7565
7911
|
}
|
|
7566
7912
|
}
|
|
@@ -7571,42 +7917,22 @@ class CvaFlatTreeComponent {
|
|
|
7571
7917
|
this.expandTreeDataSource(this.selectedTreeControl, 'isExpanded');
|
|
7572
7918
|
}
|
|
7573
7919
|
checkedDefaultValue() {
|
|
7574
|
-
|
|
7575
|
-
const
|
|
7920
|
+
this.valueObjRef.clear();
|
|
7921
|
+
const valueSet = new Set(this.value);
|
|
7576
7922
|
for (const node of this.fullDataTreeControl.dataNodes) {
|
|
7577
7923
|
const isLeaf = !FlatTreeService.hasChild(node);
|
|
7578
|
-
node.checked =
|
|
7924
|
+
node.checked = isLeaf && valueSet.has(node.value);
|
|
7579
7925
|
if (isLeaf && node.checked) {
|
|
7580
7926
|
this.valueObjRef.set(node.value, node);
|
|
7581
|
-
selectedNodes.push(node);
|
|
7582
7927
|
}
|
|
7583
|
-
|
|
7584
|
-
|
|
7585
|
-
|
|
7586
|
-
}
|
|
7587
|
-
this.bulkSelectedTreeChange(selectedNodes);
|
|
7588
|
-
}
|
|
7589
|
-
bulkSelectedTreeChange(nodes) {
|
|
7590
|
-
const selectedRoot = new Set();
|
|
7591
|
-
for (const node of nodes) {
|
|
7592
|
-
if (node.level < 1) {
|
|
7593
|
-
this.selectedFullValues.set(node.value, node.value);
|
|
7594
|
-
this.selectedTreeControl.expandDescendants(node);
|
|
7595
|
-
}
|
|
7596
|
-
else {
|
|
7597
|
-
const rootNode = this.getRootNode(node);
|
|
7598
|
-
if (rootNode && !selectedRoot.has(rootNode.value)) {
|
|
7599
|
-
this.selectedFullValues.set(rootNode.value, rootNode.value);
|
|
7600
|
-
if (rootNode.checked) {
|
|
7601
|
-
this.selectedTreeControl.expandDescendants(rootNode);
|
|
7602
|
-
}
|
|
7603
|
-
selectedRoot.add(rootNode.value);
|
|
7604
|
-
}
|
|
7928
|
+
const orgNodeIndex = this.mapIndexes.get(node.value);
|
|
7929
|
+
if (orgNodeIndex !== undefined) {
|
|
7930
|
+
this.fullDataTreeControl.dataNodes[orgNodeIndex].checked = node.checked;
|
|
7605
7931
|
}
|
|
7606
7932
|
}
|
|
7607
7933
|
}
|
|
7608
7934
|
getAllChildNode(treeControl, node) {
|
|
7609
|
-
const index =
|
|
7935
|
+
const index = this.mapIndexes.get(node.value);
|
|
7610
7936
|
let sameLevelNextIndex = -1;
|
|
7611
7937
|
for (let i = index + 1; i < treeControl.dataNodes.length; i++) {
|
|
7612
7938
|
if (node.level >= treeControl.dataNodes[i].level) {
|
|
@@ -7631,7 +7957,7 @@ class CvaFlatTreeComponent {
|
|
|
7631
7957
|
node.checked = checked;
|
|
7632
7958
|
let indexLeaf = -1;
|
|
7633
7959
|
// update origin node
|
|
7634
|
-
let orgNodeIndex = this.
|
|
7960
|
+
let orgNodeIndex = this.mapIndexes.get(node.value);
|
|
7635
7961
|
/*this.getNodeInFullDataSource(child)*/
|
|
7636
7962
|
this.fullDataTreeControl.dataNodes[orgNodeIndex].checked = checked;
|
|
7637
7963
|
if (orgNodeIndex > -1 && !checked) {
|
|
@@ -7658,7 +7984,7 @@ class CvaFlatTreeComponent {
|
|
|
7658
7984
|
}
|
|
7659
7985
|
}
|
|
7660
7986
|
else {
|
|
7661
|
-
orgNodeIndex = this.
|
|
7987
|
+
orgNodeIndex = this.mapIndexes.get(child.value);
|
|
7662
7988
|
if (orgNodeIndex > -1) {
|
|
7663
7989
|
this.fullDataTreeControl.dataNodes[orgNodeIndex].isExpanded = false;
|
|
7664
7990
|
this.fullDataTreeControl.dataNodes[orgNodeIndex].checked = this.fullDataTreeControl.dataNodes[orgNodeIndex].children?.every(n => n.checked);
|
|
@@ -7707,7 +8033,7 @@ class CvaFlatTreeComponent {
|
|
|
7707
8033
|
if ((node.display && !this.checkDisabledNode(node)) || !!isSelectedChange) {
|
|
7708
8034
|
node.checked = checked;
|
|
7709
8035
|
// update origin node
|
|
7710
|
-
const orgNodeIndex = this.
|
|
8036
|
+
const orgNodeIndex = this.mapIndexes.get(node.value);
|
|
7711
8037
|
this.fullDataTreeControl.dataNodes[orgNodeIndex].checked = checked;
|
|
7712
8038
|
if (checked) {
|
|
7713
8039
|
if (this.multiple) {
|
|
@@ -7883,6 +8209,50 @@ class CvaFlatTreeComponent {
|
|
|
7883
8209
|
this.checkParentNode(true, node);
|
|
7884
8210
|
}
|
|
7885
8211
|
}
|
|
8212
|
+
toggleNodeCheck(node, checked) {
|
|
8213
|
+
const isLeaf = !FlatTreeService.hasChild(node);
|
|
8214
|
+
console.log('1: ', new Date());
|
|
8215
|
+
// Gọi 1 lần duy nhất nếu là parent
|
|
8216
|
+
const descendants = isLeaf ? [] : this.fullDataTreeControl.getDescendants(node);
|
|
8217
|
+
const affectedNodes = isLeaf ? [node] : descendants.filter(n => !FlatTreeService.hasChild(n));
|
|
8218
|
+
console.log('2: ', new Date());
|
|
8219
|
+
for (const leaf of affectedNodes) {
|
|
8220
|
+
if (!leaf.display || this.checkDisabledNode(leaf))
|
|
8221
|
+
continue;
|
|
8222
|
+
const index = this.value.indexOf(leaf.value);
|
|
8223
|
+
if (checked && index < 0) {
|
|
8224
|
+
this.value.push(leaf.value);
|
|
8225
|
+
this.valueObjRef.set(leaf.value, leaf);
|
|
8226
|
+
leaf.checked = true;
|
|
8227
|
+
}
|
|
8228
|
+
if (!checked && index >= 0) {
|
|
8229
|
+
this.value.splice(index, 1);
|
|
8230
|
+
this.valueObjRef.delete(leaf.value);
|
|
8231
|
+
leaf.checked = false;
|
|
8232
|
+
}
|
|
8233
|
+
const orgNodeIndex = this.mapIndexes.get(leaf.value);
|
|
8234
|
+
if (orgNodeIndex !== undefined) {
|
|
8235
|
+
this.fullDataTreeControl.dataNodes[orgNodeIndex].checked = leaf.checked;
|
|
8236
|
+
}
|
|
8237
|
+
}
|
|
8238
|
+
console.log('3: ', new Date());
|
|
8239
|
+
// Nếu node là cha → cập nhật isExpanded
|
|
8240
|
+
if (!isLeaf) {
|
|
8241
|
+
node.checked = checked;
|
|
8242
|
+
const orgNodeIndex = this.mapIndexes.get(node.value);
|
|
8243
|
+
if (orgNodeIndex !== undefined) {
|
|
8244
|
+
this.fullDataTreeControl.dataNodes[orgNodeIndex].checked = checked;
|
|
8245
|
+
this.fullDataTreeControl.dataNodes[orgNodeIndex].isExpanded = false;
|
|
8246
|
+
}
|
|
8247
|
+
}
|
|
8248
|
+
else {
|
|
8249
|
+
node.checked = checked;
|
|
8250
|
+
}
|
|
8251
|
+
console.log('4: ', new Date());
|
|
8252
|
+
this.writeValue(this.value);
|
|
8253
|
+
console.log('5: ', new Date());
|
|
8254
|
+
this.cdr.detectChanges();
|
|
8255
|
+
}
|
|
7886
8256
|
_getLevel = (node) => node.level;
|
|
7887
8257
|
_isExpandable = (node) => FlatTreeService.hasChild(node);
|
|
7888
8258
|
_getChildren = (node) => of(node.children ? node.children : []);
|
|
@@ -7925,7 +8295,7 @@ class CvaFlatTreeComponent {
|
|
|
7925
8295
|
</div>
|
|
7926
8296
|
<cdk-virtual-scroll-viewport #chooseAreaScrollViewport itemSize="{{itemSize}}"
|
|
7927
8297
|
[ngStyle]="{height: viewHeight + 'px'}">
|
|
7928
|
-
<ng-container *cdkVirtualFor="let node of dataSource
|
|
8298
|
+
<ng-container *cdkVirtualFor="let node of dataSource">
|
|
7929
8299
|
<cva-flat-tree-node-left [style.padding-left]="node.level * paddingLeft + 'px'"
|
|
7930
8300
|
[attr.aria-level]="node.level"
|
|
7931
8301
|
[treeControl]="treeControl"
|
|
@@ -7934,8 +8304,8 @@ class CvaFlatTreeComponent {
|
|
|
7934
8304
|
(toggle)="toggleTreeControl(treeControl, node)"
|
|
7935
8305
|
(onParentNodeClick)="onParentNodeClick(node)"
|
|
7936
8306
|
(onLeafNodeClick)="onLeafNodeClick(node)"
|
|
7937
|
-
(ngModelParentChange)="
|
|
7938
|
-
(ngModelLeafChange)="
|
|
8307
|
+
(ngModelParentChange)="toggleNodeCheck(node, $event)"
|
|
8308
|
+
(ngModelLeafChange)="toggleNodeCheck(node, $event)">
|
|
7939
8309
|
</cva-flat-tree-node-left>
|
|
7940
8310
|
</ng-container>
|
|
7941
8311
|
</cdk-virtual-scroll-viewport>
|
|
@@ -7953,7 +8323,7 @@ class CvaFlatTreeComponent {
|
|
|
7953
8323
|
<cdk-virtual-scroll-viewport #selectedScrollViewport
|
|
7954
8324
|
*ngIf="!isCollapseSelected"
|
|
7955
8325
|
itemSize="{{itemSize}}" [ngStyle]="{height: viewHeight + 'px'}">
|
|
7956
|
-
<ng-container *cdkVirtualFor="let node of selectedDataSource
|
|
8326
|
+
<ng-container *cdkVirtualFor="let node of selectedDataSource">
|
|
7957
8327
|
<cva-flat-tree-node-right [style.padding-left]="node.level * paddingLeft + 'px'"
|
|
7958
8328
|
[attr.aria-level]="node.level"
|
|
7959
8329
|
[treeControl]="selectedTreeControl"
|
|
@@ -8017,7 +8387,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
8017
8387
|
</div>
|
|
8018
8388
|
<cdk-virtual-scroll-viewport #chooseAreaScrollViewport itemSize="{{itemSize}}"
|
|
8019
8389
|
[ngStyle]="{height: viewHeight + 'px'}">
|
|
8020
|
-
<ng-container *cdkVirtualFor="let node of dataSource
|
|
8390
|
+
<ng-container *cdkVirtualFor="let node of dataSource">
|
|
8021
8391
|
<cva-flat-tree-node-left [style.padding-left]="node.level * paddingLeft + 'px'"
|
|
8022
8392
|
[attr.aria-level]="node.level"
|
|
8023
8393
|
[treeControl]="treeControl"
|
|
@@ -8026,8 +8396,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
8026
8396
|
(toggle)="toggleTreeControl(treeControl, node)"
|
|
8027
8397
|
(onParentNodeClick)="onParentNodeClick(node)"
|
|
8028
8398
|
(onLeafNodeClick)="onLeafNodeClick(node)"
|
|
8029
|
-
(ngModelParentChange)="
|
|
8030
|
-
(ngModelLeafChange)="
|
|
8399
|
+
(ngModelParentChange)="toggleNodeCheck(node, $event)"
|
|
8400
|
+
(ngModelLeafChange)="toggleNodeCheck(node, $event)">
|
|
8031
8401
|
</cva-flat-tree-node-left>
|
|
8032
8402
|
</ng-container>
|
|
8033
8403
|
</cdk-virtual-scroll-viewport>
|
|
@@ -8045,7 +8415,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
8045
8415
|
<cdk-virtual-scroll-viewport #selectedScrollViewport
|
|
8046
8416
|
*ngIf="!isCollapseSelected"
|
|
8047
8417
|
itemSize="{{itemSize}}" [ngStyle]="{height: viewHeight + 'px'}">
|
|
8048
|
-
<ng-container *cdkVirtualFor="let node of selectedDataSource
|
|
8418
|
+
<ng-container *cdkVirtualFor="let node of selectedDataSource">
|
|
8049
8419
|
<cva-flat-tree-node-right [style.padding-left]="node.level * paddingLeft + 'px'"
|
|
8050
8420
|
[attr.aria-level]="node.level"
|
|
8051
8421
|
[treeControl]="selectedTreeControl"
|
|
@@ -8510,7 +8880,7 @@ class CvaQuillEditorComponent {
|
|
|
8510
8880
|
</mat-hint>
|
|
8511
8881
|
</div>
|
|
8512
8882
|
</div>
|
|
8513
|
-
`, isInline: true, styles: [".cva-quill-editor{margin-bottom:1rem}.cva-quill-editor .required-label-outside{color:red}.cva-quill-editor .ql-container.ql-snow{height:100px;overflow-y:auto}.cva-quill-editor #counter{border:1px solid #ccc;border-width:0px 1px 1px 1px;color:#aaa;padding:5px 15px;text-align:right}.cva-quill-editor quill-editor{margin-bottom:0!important;word-break:break-word}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4$
|
|
8883
|
+
`, isInline: true, styles: [".cva-quill-editor{margin-bottom:1rem}.cva-quill-editor .required-label-outside{color:red}.cva-quill-editor .ql-container.ql-snow{height:100px;overflow-y:auto}.cva-quill-editor #counter{border:1px solid #ccc;border-width:0px 1px 1px 1px;color:#aaa;padding:5px 15px;text-align:right}.cva-quill-editor quill-editor{margin-bottom:0!important;word-break:break-word}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4$4.QuillEditorComponent, selector: "quill-editor" }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i9.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
8514
8884
|
}
|
|
8515
8885
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: CvaQuillEditorComponent, decorators: [{
|
|
8516
8886
|
type: Component,
|
|
@@ -8657,14 +9027,14 @@ class LoaderInterceptor {
|
|
|
8657
9027
|
this.loaderService.isLoading.next(this.requests.length > 0);
|
|
8658
9028
|
}
|
|
8659
9029
|
intercept(request, next) {
|
|
8660
|
-
if (!request.headers.get('is_image')) {
|
|
9030
|
+
if (!request.headers.get('is_image') && !request.headers.get('is_live_searching')) {
|
|
8661
9031
|
this.requests.push(request);
|
|
8662
9032
|
// console.log('LoaderInterceptor: wait for ' + this.requests.length + 'requests');
|
|
8663
9033
|
this.loaderService.isLoading.next(true);
|
|
8664
9034
|
}
|
|
8665
9035
|
else {
|
|
8666
9036
|
request = request.clone({
|
|
8667
|
-
headers: request.headers.delete('is_image'),
|
|
9037
|
+
headers: request.headers.delete('is_image').delete('is_live_searching'),
|
|
8668
9038
|
});
|
|
8669
9039
|
}
|
|
8670
9040
|
return next.handle(request).pipe(map((event) => {
|
|
@@ -8943,10 +9313,11 @@ class NiceComponentLibraryModule {
|
|
|
8943
9313
|
CvaDialogImportFileComponent,
|
|
8944
9314
|
BaseSearchComponent,
|
|
8945
9315
|
BaseAddEditComponent,
|
|
8946
|
-
CvaQuillEditorComponent
|
|
9316
|
+
CvaQuillEditorComponent,
|
|
9317
|
+
CvaLiveSearchingComponent], imports: [CommonModule,
|
|
8947
9318
|
FormsModule,
|
|
8948
9319
|
ReactiveFormsModule,
|
|
8949
|
-
AngularMaterialModule, i1$4.RouterModule, i1.TranslateModule, i4$
|
|
9320
|
+
AngularMaterialModule, i1$4.RouterModule, i1.TranslateModule, i4$4.QuillModule, FlexLayoutModule], exports: [CvaTableComponent,
|
|
8950
9321
|
CvaSmartTableComponent,
|
|
8951
9322
|
CvaInputComponent,
|
|
8952
9323
|
CvaCounterInputComponent,
|
|
@@ -8972,7 +9343,8 @@ class NiceComponentLibraryModule {
|
|
|
8972
9343
|
CvaDialogImportFileComponent,
|
|
8973
9344
|
BaseSearchComponent,
|
|
8974
9345
|
BaseAddEditComponent,
|
|
8975
|
-
CvaQuillEditorComponent
|
|
9346
|
+
CvaQuillEditorComponent,
|
|
9347
|
+
CvaLiveSearchingComponent] });
|
|
8976
9348
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: NiceComponentLibraryModule, imports: [CommonModule,
|
|
8977
9349
|
FormsModule,
|
|
8978
9350
|
ReactiveFormsModule,
|
|
@@ -9024,6 +9396,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
9024
9396
|
BaseSearchComponent,
|
|
9025
9397
|
BaseAddEditComponent,
|
|
9026
9398
|
CvaQuillEditorComponent,
|
|
9399
|
+
CvaLiveSearchingComponent,
|
|
9027
9400
|
],
|
|
9028
9401
|
exports: [
|
|
9029
9402
|
CvaTableComponent,
|
|
@@ -9053,6 +9426,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
9053
9426
|
BaseSearchComponent,
|
|
9054
9427
|
BaseAddEditComponent,
|
|
9055
9428
|
CvaQuillEditorComponent,
|
|
9429
|
+
CvaLiveSearchingComponent,
|
|
9056
9430
|
],
|
|
9057
9431
|
schemas: [
|
|
9058
9432
|
NO_ERRORS_SCHEMA,
|
|
@@ -9069,5 +9443,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
9069
9443
|
* Generated bundle index. Do not edit.
|
|
9070
9444
|
*/
|
|
9071
9445
|
|
|
9072
|
-
export { ActionTypeEnum, AlignEnum, ApiService, AuthoritiesResolverService, AuthoritiesService, Authority, BaseAddEditComponent, BaseModel, BaseSearchComponent, BaseStatusEnum, BaseTableComponent, BreadCrumbModel, ButtonClickEvent, ButtonModel, CheckboxModel, ColumnModel, ColumnTypeEnum, CustomDialogDataConfigModel, CvaBreadcrumbComponent, CvaCounterInputComponent, CvaCustomDialogComponent, CvaDatePickerComponent, CvaDialogImportFileComponent, CvaFlatTreeComponent, CvaFlatTreeNodeLeftComponent, CvaFlatTreeNodeRightComponent, CvaInputComponent, CvaLoaderComponent, CvaMultiSelectAutocomplete, CvaMultiUploadComponent, CvaMultiUploadImgComponent, CvaQuillEditorComponent, CvaRadiobuttonComponent, CvaRangeDatePickerComponent, CvaSmartTableComponent, CvaTableComponent, CvaTreeComponent, CvaUploadFileComponent, DateUtilService, DialogImportFileConfigModel, DialogTypeEnum, DragDropDirective, FileTypeEnum, FlatTreeConfigModel, FlatTreeModel, FlatTreeNodeModel, FormStateService, FormatInputDirective, IconTypeEnum, InjectTokenNextSolutionsConfig, JsogHttpInterceptor, LoaderInterceptor, LoaderService, MenuModel, MultiTranslateHttpLoader, NavigatorModel, NiceComponentLibraryModule, OAuth2AuthenticationDto, PatternDirective, PermissionModel, Principal, RangeDatePickerModel, RoleModel, SecureImgPipe, SelectModel, SingletonTranslateService, StylePaginatorDirective, TableFooterModel, TablePagingRequestModel, TablePagingResponseModel, TableService, UIState, UploadModel, UtilsService, ValidatorService };
|
|
9446
|
+
export { ActionTypeEnum, AlignEnum, ApiService, AuthoritiesResolverService, AuthoritiesService, Authority, BaseAddEditComponent, BaseModel, BaseSearchComponent, BaseStatusEnum, BaseTableComponent, BreadCrumbModel, ButtonClickEvent, ButtonModel, CheckboxModel, ColumnModel, ColumnTypeEnum, CustomDialogDataConfigModel, CvaBreadcrumbComponent, CvaCounterInputComponent, CvaCustomDialogComponent, CvaDatePickerComponent, CvaDialogImportFileComponent, CvaFlatTreeComponent, CvaFlatTreeNodeLeftComponent, CvaFlatTreeNodeRightComponent, CvaInputComponent, CvaLiveSearchingComponent, CvaLoaderComponent, CvaMultiSelectAutocomplete, CvaMultiUploadComponent, CvaMultiUploadImgComponent, CvaQuillEditorComponent, CvaRadiobuttonComponent, CvaRangeDatePickerComponent, CvaSmartTableComponent, CvaTableComponent, CvaTreeComponent, CvaUploadFileComponent, DateUtilService, DialogImportFileConfigModel, DialogTypeEnum, DragDropDirective, FileTypeEnum, FlatTreeConfigModel, FlatTreeModel, FlatTreeNodeModel, FormStateService, FormatInputDirective, IconTypeEnum, InjectTokenNextSolutionsConfig, JsogHttpInterceptor, LoaderInterceptor, LoaderService, MenuModel, MultiTranslateHttpLoader, NavigatorModel, NiceComponentLibraryModule, OAuth2AuthenticationDto, PatternDirective, PermissionModel, Principal, RangeDatePickerModel, RoleModel, SecureImgPipe, SelectModel, SingletonTranslateService, StylePaginatorDirective, TableFooterModel, TablePagingRequestModel, TablePagingResponseModel, TableService, UIState, UploadModel, UtilsService, ValidatorService };
|
|
9073
9447
|
//# sourceMappingURL=c10t-nice-component-library.mjs.map
|