@sumaris-net/ngx-components 2.12.13 → 2.12.15
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/esm2022/public_api.mjs +5 -5
- package/esm2022/src/app/core/account/new-token.modal.mjs +1 -1
- package/esm2022/src/app/core/core.testing.module.mjs +19 -5
- package/esm2022/src/app/core/form/array/form-array.mjs +324 -0
- package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +23 -0
- package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +95 -0
- package/esm2022/src/app/core/form/form.utils.mjs +1 -306
- package/esm2022/src/app/core/form/list/list.form.mjs +3 -2
- package/esm2022/src/app/core/form/properties/properties.form.mjs +2 -2
- package/esm2022/src/app/core/settings/settings.page.mjs +3 -2
- package/esm2022/src/app/core/table/testing/table.testing.mjs +1 -1
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
- package/esm2022/src/app/shared/form/field.component.mjs +1 -1
- package/esm2022/src/app/shared/forms.mjs +12 -8
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +15 -7
- package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +14 -6
- package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +1 -1
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +1 -1
- package/esm2022/src/app/social/message/message.form.mjs +1 -1
- package/fesm2022/sumaris-net.ngx-components.mjs +773 -632
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +4 -8
- package/src/app/core/core.testing.module.d.ts +2 -1
- package/src/app/core/form/array/form-array.d.ts +136 -0
- package/src/app/core/form/array/testing/form-array-test.module.d.ts +12 -0
- package/src/app/core/form/array/testing/form-array.test.d.ts +26 -0
- package/src/app/core/form/form.utils.d.ts +1 -122
- package/src/app/core/form/list/list.form.d.ts +2 -2
- package/src/app/core/form/properties/properties.form.d.ts +2 -2
- package/src/app/core/settings/settings.page.d.ts +2 -1
- package/src/app/shared/forms.d.ts +2 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +6 -1
- package/src/app/shared/material/chips/material.chips.d.ts +6 -1
- package/src/assets/manifest.json +1 -1
- package/src/theme/_ngx-components.scss +16 -12
package/package.json
CHANGED
package/public_api.d.ts
CHANGED
|
@@ -190,6 +190,7 @@ export * from './src/app/core/form/properties/properties.table';
|
|
|
190
190
|
export * from './src/app/core/form/properties/properties.module';
|
|
191
191
|
export * from './src/app/core/form/text-popover/text-popover.component';
|
|
192
192
|
export * from './src/app/core/form/text-popover/text-popover.module';
|
|
193
|
+
export * from './src/app/core/form/array/form-array';
|
|
193
194
|
export * from './src/app/core/table/table.model';
|
|
194
195
|
export * from './src/app/core/table/table.class';
|
|
195
196
|
export * from './src/app/core/table/async-table.class';
|
|
@@ -299,6 +300,8 @@ export * from './src/app/core/form/properties/testing/properties-form.testing.mo
|
|
|
299
300
|
export * from './src/app/core/menu/testing/menu.testing';
|
|
300
301
|
export * from './src/app/core/menu/testing/menu.testing.module';
|
|
301
302
|
export * from './src/app/core/menu/testing/menu-other.testing';
|
|
303
|
+
export * from './src/app/core/form/array/testing/form-array.test';
|
|
304
|
+
export * from './src/app/core/form/array/testing/form-array-test.module';
|
|
302
305
|
export * from './src/app/shared/named-filter/testing/named-filter-selector.testing';
|
|
303
306
|
export * from './src/app/shared/named-filter/testing/named-filter.testing.module';
|
|
304
307
|
export * from './src/app/social/social.testing.module';
|
|
@@ -308,11 +311,4 @@ export * from './src/app/social/user-event/testing/user-event.testing.service';
|
|
|
308
311
|
export * from './src/app/social/job/testing/job.testing.module';
|
|
309
312
|
export * from './src/app/social/job/testing/job-progression.testing';
|
|
310
313
|
export * from './src/app/social/job/testing/job-progression.testing.service';
|
|
311
|
-
export
|
|
312
|
-
export { MatAutocompleteFieldAddOptions } from './src/app/shared/material/autocomplete/material.autocomplete.config';
|
|
313
|
-
export { MatAutocompleteFieldConfig } from './src/app/shared/material/autocomplete/material.autocomplete.config';
|
|
314
|
-
export { NamedFilterFilter } from './src/app/shared/named-filter/named-filter.model';
|
|
315
|
-
export { INamedFilterFilter } from './src/app/shared/named-filter/named-filter.model';
|
|
316
|
-
export { NamedFilter } from './src/app/shared/named-filter/named-filter.model';
|
|
317
|
-
export { INamedFilter } from './src/app/shared/named-filter/named-filter.model';
|
|
318
|
-
export { TableValidatorService } from './src/app/core/table/testing/table-validator.service';
|
|
314
|
+
export * from './src/app/core/table/testing/table-validator.service';
|
|
@@ -6,9 +6,10 @@ import * as i3 from "@angular/router";
|
|
|
6
6
|
import * as i4 from "./table/testing/table.testing.module";
|
|
7
7
|
import * as i5 from "./form/text-popover/testing/text-popover.testing.module";
|
|
8
8
|
import * as i6 from "./form/properties/testing/properties-form.testing.module";
|
|
9
|
+
import * as i7 from "./form/array/testing/form-array-test.module";
|
|
9
10
|
export declare const CORE_TESTING_PAGES: TestingPage[];
|
|
10
11
|
export declare class CoreTestingModule {
|
|
11
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<CoreTestingModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreTestingModule, never, [typeof i1.CommonModule, typeof i2.TranslateModule, typeof i3.RouterModule, typeof i4.TableTestingModule, typeof i5.TextPopoverTestingModule, typeof i6.PropertiesFormTestingModule], [typeof i3.RouterModule, typeof i4.TableTestingModule, typeof i5.TextPopoverTestingModule, typeof i6.PropertiesFormTestingModule]>;
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreTestingModule, never, [typeof i1.CommonModule, typeof i2.TranslateModule, typeof i3.RouterModule, typeof i4.TableTestingModule, typeof i5.TextPopoverTestingModule, typeof i6.PropertiesFormTestingModule, typeof i7.FormArrayTestModule], [typeof i3.RouterModule, typeof i4.TableTestingModule, typeof i5.TextPopoverTestingModule, typeof i6.PropertiesFormTestingModule, typeof i7.FormArrayTestModule]>;
|
|
13
14
|
static ɵinj: i0.ɵɵInjectorDeclaration<CoreTestingModule>;
|
|
14
15
|
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Entity } from '../../services/model/entity.model';
|
|
2
|
+
import { AbstractControl, AbstractControlOptions, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup, ValidatorFn } from '@angular/forms';
|
|
3
|
+
export interface FormArrayHelperOptions {
|
|
4
|
+
allowEmptyArray: boolean;
|
|
5
|
+
allowManyNullValues?: boolean;
|
|
6
|
+
allowDuplicatedValues?: boolean;
|
|
7
|
+
validators?: ValidatorFn[];
|
|
8
|
+
}
|
|
9
|
+
export declare class FormArrayHelper<T = Entity<any>, C extends AbstractControl = AbstractControl> {
|
|
10
|
+
private readonly _formArray;
|
|
11
|
+
private createControl;
|
|
12
|
+
private equals;
|
|
13
|
+
private isEmpty;
|
|
14
|
+
static getOrCreateArray(formBuilder: UntypedFormBuilder, form: UntypedFormGroup, arrayName: string): UntypedFormArray;
|
|
15
|
+
private _allowEmptyArray;
|
|
16
|
+
private _allowManyNullValues;
|
|
17
|
+
private _allowDuplicatedValues;
|
|
18
|
+
private readonly _validators;
|
|
19
|
+
get allowEmptyArray(): boolean;
|
|
20
|
+
set allowEmptyArray(value: boolean);
|
|
21
|
+
get allowManyNullValues(): boolean;
|
|
22
|
+
set allowManyNullValues(value: boolean);
|
|
23
|
+
get allowDuplicatedValues(): boolean;
|
|
24
|
+
set allowDuplicatedValues(value: boolean);
|
|
25
|
+
get formArray(): UntypedFormArray;
|
|
26
|
+
constructor(_formArray: UntypedFormArray, createControl: (value?: T) => C, equals: (v1: T, v2: T) => boolean, isEmpty: (value: T) => boolean, options?: FormArrayHelperOptions);
|
|
27
|
+
/**
|
|
28
|
+
* @param value
|
|
29
|
+
* @param options
|
|
30
|
+
*/
|
|
31
|
+
add(value?: T, options?: {
|
|
32
|
+
emitEvent: boolean;
|
|
33
|
+
insertAt?: number;
|
|
34
|
+
}): boolean;
|
|
35
|
+
removeAt(index: number): boolean;
|
|
36
|
+
resize(length: number, options?: {
|
|
37
|
+
emitEvent?: boolean;
|
|
38
|
+
}): boolean;
|
|
39
|
+
clearAt(index: number): boolean;
|
|
40
|
+
isLast(index: number): boolean;
|
|
41
|
+
removeAllEmpty(): void;
|
|
42
|
+
size(): number;
|
|
43
|
+
at(index: number): C;
|
|
44
|
+
/**
|
|
45
|
+
* Resize the FormArray, then set values
|
|
46
|
+
*
|
|
47
|
+
* @param values
|
|
48
|
+
* @param options
|
|
49
|
+
*/
|
|
50
|
+
setValue(values: T[], options?: {
|
|
51
|
+
onlySelf?: boolean;
|
|
52
|
+
emitEvent?: boolean;
|
|
53
|
+
}): void;
|
|
54
|
+
/**
|
|
55
|
+
* Resize the FormArray, then patch values
|
|
56
|
+
*
|
|
57
|
+
* @param values
|
|
58
|
+
* @param options
|
|
59
|
+
*/
|
|
60
|
+
patchValue(values: T[], options?: {
|
|
61
|
+
onlySelf?: boolean;
|
|
62
|
+
emitEvent?: boolean;
|
|
63
|
+
}): void;
|
|
64
|
+
disable(opts?: {
|
|
65
|
+
onlySelf?: boolean;
|
|
66
|
+
emitEvent?: boolean;
|
|
67
|
+
}): void;
|
|
68
|
+
enable(opts?: {
|
|
69
|
+
onlySelf?: boolean;
|
|
70
|
+
emitEvent?: boolean;
|
|
71
|
+
}): void;
|
|
72
|
+
forEach(ite: (control: C) => void): void;
|
|
73
|
+
protected setAllowEmptyArray(value: boolean): void;
|
|
74
|
+
}
|
|
75
|
+
export declare interface AppFormArrayOptions extends AbstractControlOptions {
|
|
76
|
+
allowEmptyArray?: boolean;
|
|
77
|
+
allowReuseControls?: boolean;
|
|
78
|
+
allowManyNullValues?: boolean;
|
|
79
|
+
allowDuplicateValue?: boolean;
|
|
80
|
+
}
|
|
81
|
+
export declare class AppFormArray<T extends Entity<T>, C extends AbstractControl> extends UntypedFormArray {
|
|
82
|
+
createControl: (value?: T) => C;
|
|
83
|
+
private equals;
|
|
84
|
+
private isEmpty;
|
|
85
|
+
private readonly options;
|
|
86
|
+
get allowEmptyArray(): boolean;
|
|
87
|
+
set allowEmptyArray(value: boolean);
|
|
88
|
+
get allowManyNullValues(): boolean;
|
|
89
|
+
set allowManyNullValues(value: boolean);
|
|
90
|
+
get allowDuplicateValue(): boolean;
|
|
91
|
+
set allowDuplicateValue(value: boolean);
|
|
92
|
+
constructor(createControl: (value?: T) => C, equals: (v1: T, v2: T) => boolean, isEmpty: (value: T) => boolean, options?: AppFormArrayOptions | undefined | null);
|
|
93
|
+
/**
|
|
94
|
+
* WIll rebuild the array, using the given values
|
|
95
|
+
*
|
|
96
|
+
* @param values
|
|
97
|
+
* @param options
|
|
98
|
+
*/
|
|
99
|
+
setValue(values: any[], options?: {
|
|
100
|
+
onlySelf?: boolean;
|
|
101
|
+
emitEvent?: boolean;
|
|
102
|
+
}): void;
|
|
103
|
+
patchValue(values: any[] | null | undefined, options?: {
|
|
104
|
+
onlySelf?: boolean;
|
|
105
|
+
emitEvent?: boolean;
|
|
106
|
+
}): void;
|
|
107
|
+
resize(length: number, options?: {
|
|
108
|
+
emitEvent?: boolean;
|
|
109
|
+
}): boolean;
|
|
110
|
+
disable(opts?: {
|
|
111
|
+
onlySelf?: boolean;
|
|
112
|
+
emitEvent?: boolean;
|
|
113
|
+
}): void;
|
|
114
|
+
enable(opts?: {
|
|
115
|
+
onlySelf?: boolean;
|
|
116
|
+
emitEvent?: boolean;
|
|
117
|
+
}): void;
|
|
118
|
+
forEach(ite: (control: C) => void): void;
|
|
119
|
+
/**
|
|
120
|
+
* @param value
|
|
121
|
+
* @param options
|
|
122
|
+
*/
|
|
123
|
+
add(value?: T, options?: {
|
|
124
|
+
emitEvent: boolean;
|
|
125
|
+
insertAt?: number;
|
|
126
|
+
}): void;
|
|
127
|
+
removeAt(index: number, options?: {
|
|
128
|
+
emitEvent: boolean;
|
|
129
|
+
}): boolean;
|
|
130
|
+
clearAt(index: number, options?: {
|
|
131
|
+
emitEvent: boolean;
|
|
132
|
+
}): void;
|
|
133
|
+
isLast(index: number): boolean;
|
|
134
|
+
removeAllEmpty(): void;
|
|
135
|
+
protected setAllowEmptyArray(value: boolean): void;
|
|
136
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./form-array.test";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "../../../../shared/shared.module";
|
|
5
|
+
import * as i4 from "../../../core.module";
|
|
6
|
+
import * as i5 from "@ngx-translate/core";
|
|
7
|
+
import * as i6 from "@angular/router";
|
|
8
|
+
export declare class FormArrayTestModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormArrayTestModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FormArrayTestModule, [typeof i1.ArrayFormTestPage], [typeof i2.CommonModule, typeof i3.SharedModule, typeof i4.CoreModule, typeof i5.TranslateModule], [typeof i1.ArrayFormTestPage, typeof i6.RouterModule]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FormArrayTestModule>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Injector, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
|
|
3
|
+
import { PlatformService } from '../../../services/platform.service';
|
|
4
|
+
import { AppForm } from '../../form.class';
|
|
5
|
+
import { AppFormArray } from '../form-array';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class ArrayFormTestPage extends AppForm<any> implements OnInit, OnDestroy {
|
|
8
|
+
protected formBuilder: UntypedFormBuilder;
|
|
9
|
+
protected platform: PlatformService;
|
|
10
|
+
protected injection: Injector;
|
|
11
|
+
protected cd: ChangeDetectorRef;
|
|
12
|
+
private subscription;
|
|
13
|
+
get defaultFormArray(): AppFormArray<any, any>;
|
|
14
|
+
get notEmptyFormArray(): AppFormArray<any, any>;
|
|
15
|
+
get nullValuesFormArray(): AppFormArray<any, any>;
|
|
16
|
+
get duplicatedValuesFormArray(): AppFormArray<any, any>;
|
|
17
|
+
get valueToAddControl(): UntypedFormControl;
|
|
18
|
+
constructor(formBuilder: UntypedFormBuilder, platform: PlatformService, injection: Injector, cd: ChangeDetectorRef);
|
|
19
|
+
ngOnInit(): void;
|
|
20
|
+
ngOnDestroy(): void;
|
|
21
|
+
loadData(): Promise<void>;
|
|
22
|
+
protected setFormArrayValue(formArray: AppFormArray<any, any>, values: string | string[]): void;
|
|
23
|
+
protected markForCheck(): void;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ArrayFormTestPage, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ArrayFormTestPage, "app-array-test", never, {}, {}, never, never, false, never>;
|
|
26
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AbstractControl
|
|
2
|
-
import { Entity } from '../services/model/entity.model';
|
|
1
|
+
import { AbstractControl } from '@angular/forms';
|
|
3
2
|
import { filterNumberInput, selectInputContent } from '../../shared/inputs';
|
|
4
3
|
import { WaitForOptions } from '../../shared/observables';
|
|
5
4
|
import { addValueInArray, clearValueInArray, copyEntity2Form, disableControls, filterFormErrors, filterFormErrorsByPath, filterFormErrorsByPrefix, getControlFromPath, getFormErrors, getFormValueFromEntity, logFormErrors, markAllAsTouched, markAsUntouched, removeValueInArray, resizeArray, updateValueAndValidity, waitIdle, waitWhilePending } from '../../shared/forms';
|
|
@@ -201,126 +200,6 @@ export declare class AppFormProvider<F extends IAppForm = IAppForm> implements I
|
|
|
201
200
|
}): void;
|
|
202
201
|
save(): Promise<boolean>;
|
|
203
202
|
}
|
|
204
|
-
export interface FormArrayHelperOptions {
|
|
205
|
-
allowEmptyArray: boolean;
|
|
206
|
-
validators?: ValidatorFn[];
|
|
207
|
-
}
|
|
208
|
-
export declare class FormArrayHelper<T = Entity<any>, C extends AbstractControl = AbstractControl> {
|
|
209
|
-
private readonly _formArray;
|
|
210
|
-
private createControl;
|
|
211
|
-
private equals;
|
|
212
|
-
private isEmpty;
|
|
213
|
-
static getOrCreateArray(formBuilder: UntypedFormBuilder, form: UntypedFormGroup, arrayName: string): UntypedFormArray;
|
|
214
|
-
private _allowEmptyArray;
|
|
215
|
-
private readonly _validators;
|
|
216
|
-
get allowEmptyArray(): boolean;
|
|
217
|
-
set allowEmptyArray(value: boolean);
|
|
218
|
-
get formArray(): UntypedFormArray;
|
|
219
|
-
constructor(_formArray: UntypedFormArray, createControl: (value?: T) => C, equals: (v1: T, v2: T) => boolean, isEmpty: (value: T) => boolean, options?: FormArrayHelperOptions);
|
|
220
|
-
/**
|
|
221
|
-
* @param value
|
|
222
|
-
* @param options
|
|
223
|
-
*/
|
|
224
|
-
add(value?: T, options?: {
|
|
225
|
-
emitEvent: boolean;
|
|
226
|
-
insertAt?: number;
|
|
227
|
-
}): boolean;
|
|
228
|
-
removeAt(index: number): boolean;
|
|
229
|
-
resize(length: number, options?: {
|
|
230
|
-
emitEvent?: boolean;
|
|
231
|
-
}): boolean;
|
|
232
|
-
clearAt(index: number): boolean;
|
|
233
|
-
isLast(index: number): boolean;
|
|
234
|
-
removeAllEmpty(): void;
|
|
235
|
-
size(): number;
|
|
236
|
-
at(index: number): C;
|
|
237
|
-
/**
|
|
238
|
-
* Resize the FormArray, then set values
|
|
239
|
-
*
|
|
240
|
-
* @param values
|
|
241
|
-
* @param options
|
|
242
|
-
*/
|
|
243
|
-
setValue(values: T[], options?: {
|
|
244
|
-
onlySelf?: boolean;
|
|
245
|
-
emitEvent?: boolean;
|
|
246
|
-
}): void;
|
|
247
|
-
/**
|
|
248
|
-
* Resize the FormArray, then patch values
|
|
249
|
-
*
|
|
250
|
-
* @param values
|
|
251
|
-
* @param options
|
|
252
|
-
*/
|
|
253
|
-
patchValue(values: T[], options?: {
|
|
254
|
-
onlySelf?: boolean;
|
|
255
|
-
emitEvent?: boolean;
|
|
256
|
-
}): void;
|
|
257
|
-
disable(opts?: {
|
|
258
|
-
onlySelf?: boolean;
|
|
259
|
-
emitEvent?: boolean;
|
|
260
|
-
}): void;
|
|
261
|
-
enable(opts?: {
|
|
262
|
-
onlySelf?: boolean;
|
|
263
|
-
emitEvent?: boolean;
|
|
264
|
-
}): void;
|
|
265
|
-
forEach(ite: (control: C) => void): void;
|
|
266
|
-
protected setAllowEmptyArray(value: boolean): void;
|
|
267
|
-
}
|
|
268
|
-
export declare interface AppFormArrayOptions extends AbstractControlOptions {
|
|
269
|
-
allowEmptyArray?: boolean;
|
|
270
|
-
allowReuseControls?: boolean;
|
|
271
|
-
}
|
|
272
|
-
export declare class AppFormArray<T extends Entity<T>, C extends AbstractControl> extends UntypedFormArray {
|
|
273
|
-
createControl: (value?: T) => C;
|
|
274
|
-
private equals;
|
|
275
|
-
private isEmpty;
|
|
276
|
-
private options?;
|
|
277
|
-
get allowEmptyArray(): boolean;
|
|
278
|
-
set allowEmptyArray(value: boolean);
|
|
279
|
-
constructor(createControl: (value?: T) => C, equals: (v1: T, v2: T) => boolean, isEmpty: (value: T) => boolean, options?: AppFormArrayOptions | undefined | null);
|
|
280
|
-
/**
|
|
281
|
-
* WIll rebuild the array, using the given values
|
|
282
|
-
*
|
|
283
|
-
* @param values
|
|
284
|
-
* @param options
|
|
285
|
-
*/
|
|
286
|
-
setValue(values: any[], options?: {
|
|
287
|
-
onlySelf?: boolean;
|
|
288
|
-
emitEvent?: boolean;
|
|
289
|
-
}): void;
|
|
290
|
-
patchValue(values: any[] | null | undefined, options?: {
|
|
291
|
-
onlySelf?: boolean;
|
|
292
|
-
emitEvent?: boolean;
|
|
293
|
-
}): void;
|
|
294
|
-
resize(length: number, options?: {
|
|
295
|
-
emitEvent?: boolean;
|
|
296
|
-
}): void;
|
|
297
|
-
disable(opts?: {
|
|
298
|
-
onlySelf?: boolean;
|
|
299
|
-
emitEvent?: boolean;
|
|
300
|
-
}): void;
|
|
301
|
-
enable(opts?: {
|
|
302
|
-
onlySelf?: boolean;
|
|
303
|
-
emitEvent?: boolean;
|
|
304
|
-
}): void;
|
|
305
|
-
forEach(ite: (control: C) => void): void;
|
|
306
|
-
/**
|
|
307
|
-
* @param value
|
|
308
|
-
* @param options
|
|
309
|
-
*/
|
|
310
|
-
add(value?: T, options?: {
|
|
311
|
-
emitEvent: boolean;
|
|
312
|
-
insertAt?: number;
|
|
313
|
-
}): void;
|
|
314
|
-
removeAt(index: number, options?: {
|
|
315
|
-
emitEvent: boolean;
|
|
316
|
-
}): boolean;
|
|
317
|
-
clearAt(index: number, options?: {
|
|
318
|
-
emitEvent: boolean;
|
|
319
|
-
}): void;
|
|
320
|
-
isLast(index: number): boolean;
|
|
321
|
-
removeAllEmpty(): void;
|
|
322
|
-
protected setAllowEmptyArray(value: boolean): void;
|
|
323
|
-
}
|
|
324
203
|
/**
|
|
325
204
|
* Helper class, for angular forms
|
|
326
205
|
*/
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ChangeDetectorRef, EventEmitter, Injector, OnInit } from '@angular/core';
|
|
2
|
-
import { AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup
|
|
2
|
+
import { AbstractControl, FormGroupDirective, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
|
3
3
|
import { DateAdapter } from '@angular/material/core';
|
|
4
4
|
import { Moment } from 'moment';
|
|
5
5
|
import { LocalSettingsService } from '../../services/local-settings.service';
|
|
6
6
|
import { AppForm } from '../form.class';
|
|
7
|
-
import { FormArrayHelper, FormArrayHelperOptions } from '../form.utils';
|
|
8
7
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
9
8
|
import { Observable } from 'rxjs';
|
|
10
9
|
import { Color } from '@ionic/core';
|
|
10
|
+
import { FormArrayHelper, FormArrayHelperOptions } from '../array/form-array';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export declare interface ItemButton<T = any> {
|
|
13
13
|
title?: string;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Injector, OnInit } from '@angular/core';
|
|
2
|
-
import { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup
|
|
2
|
+
import { FormGroupDirective, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
|
3
3
|
import { FormFieldDefinition, FormFieldDefinitionMap } from '../../../shared/form/field.model';
|
|
4
4
|
import { DateAdapter, ThemePalette } from '@angular/material/core';
|
|
5
5
|
import { Moment } from 'moment';
|
|
6
6
|
import { LocalSettingsService } from '../../services/local-settings.service';
|
|
7
7
|
import { AppForm } from '../form.class';
|
|
8
|
-
import { FormArrayHelper, FormArrayHelperOptions } from '../form.utils';
|
|
9
8
|
import { Property } from '../../../shared/types';
|
|
10
9
|
import { PropertyValidator } from './property.validator';
|
|
11
10
|
import { PredefinedColors } from '@ionic/core';
|
|
11
|
+
import { FormArrayHelper, FormArrayHelperOptions } from '../array/form-array';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
export declare class AppPropertiesForm<T = Property> extends AppForm<T[]> implements OnInit {
|
|
14
14
|
protected formBuilder: UntypedFormBuilder;
|
|
@@ -3,7 +3,7 @@ import { AccountService } from '../services/account.service';
|
|
|
3
3
|
import { LocaleConfig, LocalSettings, UsageMode } from '../services/model/settings.model';
|
|
4
4
|
import { UntypedFormArray, UntypedFormBuilder } from '@angular/forms';
|
|
5
5
|
import { AppForm } from '../form/form.class';
|
|
6
|
-
import { CanLeave
|
|
6
|
+
import { CanLeave } from '../form/form.utils';
|
|
7
7
|
import { TranslateService } from '@ngx-translate/core';
|
|
8
8
|
import { LocalSettingsValidatorService } from '../services/validator/local-settings.validator';
|
|
9
9
|
import { PlatformService } from '../services/platform.service';
|
|
@@ -14,6 +14,7 @@ import { AlertController, NavController } from '@ionic/angular';
|
|
|
14
14
|
import { Property } from '../../shared/types';
|
|
15
15
|
import { ISelectPeerModalOptions } from '../peer/select-peer.modal';
|
|
16
16
|
import { IMenuItem } from '../menu/menu.model';
|
|
17
|
+
import { FormArrayHelper } from '../form/array/form-array';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
19
|
export declare const APP_SETTINGS_MENU_ITEMS: InjectionToken<IMenuItem[]>;
|
|
19
20
|
export declare class SettingsPage extends AppForm<LocalSettings> implements OnInit, OnDestroy, CanLeave {
|
|
@@ -40,6 +40,8 @@ export declare function disableControls(form: UntypedFormGroup, paths: string[],
|
|
|
40
40
|
export declare function addValueInArray(arrayControl: UntypedFormArray, createControl: (value?: any) => AbstractControl, equals: (v1: any, v2: any) => boolean, isEmpty: (value: any) => boolean, value: any, options?: {
|
|
41
41
|
emitEvent: boolean;
|
|
42
42
|
insertAt?: number;
|
|
43
|
+
allowManyNullValues?: boolean;
|
|
44
|
+
allowDuplicateValue?: boolean;
|
|
43
45
|
}): boolean;
|
|
44
46
|
/**
|
|
45
47
|
* Set an array using given default values. Each default value will be pass to the 'createControl()' function
|
|
@@ -73,6 +73,11 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
|
|
|
73
73
|
applyImplicitValue: boolean | ((value: any) => boolean);
|
|
74
74
|
dropButtonTitle: string;
|
|
75
75
|
clearButtonTitle: string;
|
|
76
|
+
/**
|
|
77
|
+
* @deprecated Use panelClass instead
|
|
78
|
+
*/
|
|
79
|
+
set classList(value: string);
|
|
80
|
+
get classList(): string;
|
|
76
81
|
clicked: EventEmitter<MouseEvent>;
|
|
77
82
|
blurred: EventEmitter<FocusEvent>;
|
|
78
83
|
focused: EventEmitter<FocusEvent>;
|
|
@@ -142,7 +147,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
|
|
|
142
147
|
*/
|
|
143
148
|
private _fixSearchbarOverlay;
|
|
144
149
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteField, [null, null, null, null, null, { optional: true; }]>;
|
|
145
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocompleteField, "mat-autocomplete-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "stickySearchBar": { "alias": "stickySearchBar"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; "optionSelected": "optionSelected"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
|
|
150
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocompleteField, "mat-autocomplete-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "stickySearchBar": { "alias": "stickySearchBar"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; "optionSelected": "optionSelected"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
|
|
146
151
|
static ngAcceptInputType_required: unknown;
|
|
147
152
|
static ngAcceptInputType_mobile: unknown;
|
|
148
153
|
static ngAcceptInputType_clearable: unknown;
|
|
@@ -66,6 +66,11 @@ export declare class MatChipsField implements OnInit, OnDestroy, InputElement, C
|
|
|
66
66
|
applyImplicitValue: boolean | ((value: any) => boolean);
|
|
67
67
|
dropButtonTitle: string;
|
|
68
68
|
clearButtonTitle: string;
|
|
69
|
+
/**
|
|
70
|
+
* @deprecated Use panelClass instead
|
|
71
|
+
*/
|
|
72
|
+
set classList(value: string);
|
|
73
|
+
get classList(): string;
|
|
69
74
|
clicked: EventEmitter<MouseEvent>;
|
|
70
75
|
blurred: EventEmitter<FocusEvent>;
|
|
71
76
|
focused: EventEmitter<FocusEvent>;
|
|
@@ -126,7 +131,7 @@ export declare class MatChipsField implements OnInit, OnDestroy, InputElement, C
|
|
|
126
131
|
private markForCheck;
|
|
127
132
|
private markAsLoading;
|
|
128
133
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatChipsField, [null, { optional: true; }]>;
|
|
129
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MatChipsField, "mat-chips-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "itemSize": { "alias": "itemSize"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
|
|
134
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatChipsField, "mat-chips-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "itemSize": { "alias": "itemSize"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
|
|
130
135
|
static ngAcceptInputType_required: unknown;
|
|
131
136
|
static ngAcceptInputType_mobile: unknown;
|
|
132
137
|
static ngAcceptInputType_readonly: unknown;
|
package/src/assets/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ngx-sumaris-components",
|
|
3
3
|
"short_name": "ngx-sumaris-components",
|
|
4
4
|
"manifest_version": 1,
|
|
5
|
-
"version": "2.12.
|
|
5
|
+
"version": "2.12.15",
|
|
6
6
|
"default_locale": "fr",
|
|
7
7
|
"description": "Angular components for building beautiful and responsive Apps",
|
|
8
8
|
"icons": [{
|
|
@@ -208,7 +208,12 @@ mat-option:not(:last-of-type) {
|
|
|
208
208
|
min-width: var(--min-width) !important;
|
|
209
209
|
max-width: var(--max-width) !important;
|
|
210
210
|
|
|
211
|
-
|
|
211
|
+
// FIXME : This is a workaround find at : https://github.com/angular/components/issues/26000#issuecomment-1563107933
|
|
212
|
+
&:has(.mat-select-panel-fit-content) {
|
|
213
|
+
--min-width: fit-content !important;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.mat-mdc-select-panel {
|
|
212
217
|
--mat-switch-visible-track-transition: transform 75ms 50ms cubic-bezier(0, 0, 0.2, 1);
|
|
213
218
|
transition: --mat-switch-visible-track-transition;
|
|
214
219
|
transform: scaleY(1) !important;
|
|
@@ -224,15 +229,23 @@ mat-option:not(:last-of-type) {
|
|
|
224
229
|
}
|
|
225
230
|
}
|
|
226
231
|
}
|
|
232
|
+
|
|
227
233
|
}
|
|
228
|
-
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
.cdk-overlay-pane:has(.mat-mdc-autocomplete-panel) {
|
|
229
237
|
--min-width: 200px;
|
|
230
238
|
--max-width: calc(min(100%, 100vw - 64px));
|
|
231
239
|
min-width: var(--min-width) !important;
|
|
232
240
|
max-width: var(--max-width) !important;
|
|
233
|
-
|
|
241
|
+
|
|
242
|
+
// FIXME : This is a workaround find at : https://github.com/angular/components/issues/26000#issuecomment-1563107933
|
|
243
|
+
&:has(.mat-select-panel-fit-content) {
|
|
244
|
+
--min-width: fit-content !important;
|
|
245
|
+
}
|
|
234
246
|
}
|
|
235
247
|
|
|
248
|
+
|
|
236
249
|
.mat-mdc-autocomplete-panel-medium-size .mat-mdc-autocomplete-panel,
|
|
237
250
|
.mat-mdc-autocomplete-panel-medium-size.mat-mdc-autocomplete-panel,
|
|
238
251
|
.min-width-medium .mat-mdc-autocomplete-panel,
|
|
@@ -259,15 +272,6 @@ mat-option:not(:last-of-type) {
|
|
|
259
272
|
--min-width: 80vw;
|
|
260
273
|
}
|
|
261
274
|
|
|
262
|
-
|
|
263
|
-
// FIXME : This is a workaround find at : https://github.com/angular/components/issues/26000#issuecomment-1563107933
|
|
264
|
-
.cdk-overlay-pane.mat-select-panel-fit-content {
|
|
265
|
-
--min-width: fit-content;
|
|
266
|
-
--max-width: calc(100vw - 64px);
|
|
267
|
-
min-width: var(--min-width);
|
|
268
|
-
max-width: var(--max-width);
|
|
269
|
-
}
|
|
270
|
-
|
|
271
275
|
.mat-mdc-autocomplete-panel-center .mat-mdc-autocomplete-panel,
|
|
272
276
|
.mat-mdc-autocomplete-panel-center.mat-mdc-autocomplete-panel {
|
|
273
277
|
margin-left: calc(var(--min-width, 200px) / -2 + 50%) !important;
|