@sumaris-net/ngx-components 2.12.26-rc1 → 2.12.27

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.
Files changed (76) hide show
  1. package/doc/changelog.md +10 -0
  2. package/esm2022/src/app/admin/users/users.mjs +5 -5
  3. package/esm2022/src/app/core/account/account.page.mjs +12 -5
  4. package/esm2022/src/app/core/account/new-token.modal.mjs +15 -8
  5. package/esm2022/src/app/core/account/password/change-password.form.mjs +10 -5
  6. package/esm2022/src/app/core/account/token.table.mjs +24 -29
  7. package/esm2022/src/app/core/auth/auth.form.mjs +11 -5
  8. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +13 -5
  9. package/esm2022/src/app/core/form/entity/editor.class.mjs +20 -15
  10. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +18 -10
  11. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +21 -11
  12. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +21 -5
  13. package/esm2022/src/app/core/form/form.class.mjs +13 -13
  14. package/esm2022/src/app/core/form/list/list.form.mjs +20 -10
  15. package/esm2022/src/app/core/form/properties/properties.form.mjs +26 -17
  16. package/esm2022/src/app/core/form/properties/properties.table.mjs +7 -5
  17. package/esm2022/src/app/core/form/username/username.form.mjs +10 -5
  18. package/esm2022/src/app/core/home/home.mjs +6 -5
  19. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +15 -13
  20. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +15 -13
  21. package/esm2022/src/app/core/settings/settings.page.mjs +35 -25
  22. package/esm2022/src/app/core/table/async-table.class.mjs +32 -16
  23. package/esm2022/src/app/core/table/column/actions-column.component.mjs +4 -4
  24. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +4 -4
  25. package/esm2022/src/app/core/table/column/row-field.component.mjs +11 -6
  26. package/esm2022/src/app/core/table/memory-table.class.mjs +4 -4
  27. package/esm2022/src/app/core/table/table.class.mjs +38 -25
  28. package/esm2022/src/app/core/table/testing/table.testing.mjs +8 -7
  29. package/esm2022/src/app/core/table/testing/table2.testing.mjs +9 -10
  30. package/esm2022/src/app/shared/form/field.component.mjs +16 -14
  31. package/esm2022/src/app/shared/help/help.modal.mjs +25 -20
  32. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +18 -14
  33. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +12 -5
  34. package/esm2022/src/app/shared/material/text/text-form.component.mjs +12 -5
  35. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +13 -6
  36. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +3 -3
  37. package/esm2022/src/app/social/message/message.form.mjs +10 -5
  38. package/fesm2022/sumaris-net.ngx-components.mjs +608 -441
  39. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  40. package/package.json +1 -1
  41. package/src/app/admin/users/users.d.ts +2 -2
  42. package/src/app/core/account/account.page.d.ts +4 -2
  43. package/src/app/core/account/new-token.modal.d.ts +3 -2
  44. package/src/app/core/account/password/change-password.form.d.ts +4 -2
  45. package/src/app/core/account/token.table.d.ts +2 -5
  46. package/src/app/core/auth/auth.form.d.ts +5 -3
  47. package/src/app/core/form/array/testing/form-array.test.d.ts +5 -2
  48. package/src/app/core/form/entity/editor.class.d.ts +8 -9
  49. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +4 -3
  50. package/src/app/core/form/entity/entity-editor.class.d.ts +6 -4
  51. package/src/app/core/form/entity/tab-editor.class.d.ts +11 -2
  52. package/src/app/core/form/form.class.d.ts +3 -5
  53. package/src/app/core/form/list/list.form.d.ts +8 -3
  54. package/src/app/core/form/properties/properties.form.d.ts +7 -3
  55. package/src/app/core/form/properties/properties.table.d.ts +3 -2
  56. package/src/app/core/form/username/username.form.d.ts +5 -3
  57. package/src/app/core/menu/testing/menu-other.testing.d.ts +5 -1
  58. package/src/app/core/menu/testing/menu.testing.d.ts +5 -1
  59. package/src/app/core/settings/settings.page.d.ts +9 -3
  60. package/src/app/core/table/async-table.class.d.ts +14 -14
  61. package/src/app/core/table/column/row-field.component.d.ts +2 -2
  62. package/src/app/core/table/memory-table.class.d.ts +2 -2
  63. package/src/app/core/table/table.class.d.ts +14 -15
  64. package/src/app/core/table/testing/table.testing.d.ts +3 -3
  65. package/src/app/core/table/testing/table2.testing.d.ts +3 -3
  66. package/src/app/shared/form/field.component.d.ts +5 -5
  67. package/src/app/shared/help/help.modal.d.ts +8 -7
  68. package/src/app/shared/inputs.d.ts +1 -1
  69. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +7 -6
  70. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +5 -2
  71. package/src/app/shared/material/text/text-form.component.d.ts +6 -3
  72. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +5 -2
  73. package/src/app/shared/pipes/selection.pipes.d.ts +2 -2
  74. package/src/app/social/message/message.form.d.ts +4 -2
  75. package/src/assets/manifest.json +1 -1
  76. package/src/theme/_ngx-components.table.scss +1 -2
@@ -7,6 +7,7 @@ import { MatColumnDef, MatTable } from '@angular/material/table';
7
7
  import { AsyncTableElement, TableElement } from '@e-is/ngx-material-table';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class AppRowField implements OnInit, OnDestroy {
10
+ protected cd: ChangeDetectorRef;
10
11
  matTable: MatTable<any>;
11
12
  columnDef: MatColumnDef;
12
13
  name: string;
@@ -31,8 +32,7 @@ export declare class AppRowField implements OnInit, OnDestroy {
31
32
  classList: string;
32
33
  debug: boolean;
33
34
  protected logPrefix: string;
34
- protected readonly cd: ChangeDetectorRef;
35
- constructor(matTable: MatTable<any>);
35
+ constructor(cd: ChangeDetectorRef, matTable: MatTable<any>);
36
36
  ngOnInit(): void;
37
37
  ngOnDestroy(): void;
38
38
  static ɵfac: i0.ɵɵFactoryDeclaration<AppRowField, never>;
@@ -1,4 +1,4 @@
1
- import { OnInit } from '@angular/core';
1
+ import { Injector, OnInit } from '@angular/core';
2
2
  import { ValidatorService } from '@e-is/ngx-material-table';
3
3
  import { EntitiesTableDataSourceConfig } from './entities-table-datasource.class';
4
4
  import { AppTable } from './table.class';
@@ -14,7 +14,7 @@ export declare abstract class AppInMemoryTable<T extends IEntity<T, ID>, F = any
14
14
  canDelete: boolean;
15
15
  set value(data: T[]);
16
16
  get value(): T[];
17
- protected constructor(columns: string[], dataType: new () => T, memoryDataService: InMemoryEntitiesService<T, F, ID>, validatorService: ValidatorService, options?: EntitiesTableDataSourceConfig<T, ID>, filter?: F);
17
+ protected constructor(injector: Injector, columns: string[], dataType: new () => T, memoryDataService: InMemoryEntitiesService<T, F, ID>, validatorService: ValidatorService, options?: EntitiesTableDataSourceConfig<T, ID>, filter?: F);
18
18
  ngOnInit(): void;
19
19
  setValue(value: T[], opts?: {
20
20
  emitEvent?: boolean;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { MatSort, MatSortable, SortDirection } from '@angular/material/sort';
3
3
  import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';
4
4
  import { TableElement } from '@e-is/ngx-material-table';
@@ -31,23 +31,22 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
31
31
  private _subscription;
32
32
  private _dataSourceLoadingSubscription;
33
33
  private _cellValueChangesDefs;
34
- protected readonly route: ActivatedRoute;
35
- protected readonly router: Router;
36
- protected readonly navController: NavController;
37
- protected readonly location: Location;
38
- protected readonly settings: LocalSettingsService;
39
- protected readonly translate: TranslateService;
40
- protected readonly modalCtrl: ModalController;
41
- protected readonly alertCtrl: AlertController;
42
- protected readonly toastController: ToastController;
43
- protected readonly formErrorAdapter: FormErrorTranslator;
44
- protected readonly cd: ChangeDetectorRef;
45
- protected readonly destroySubject: Subject<void>;
46
34
  protected _enabled: boolean;
47
35
  protected _autocompleteConfigHolder: MatAutocompleteConfigHolder;
48
36
  protected allowRowDetail: boolean;
37
+ protected readonly cd: ChangeDetectorRef;
38
+ protected route: ActivatedRoute;
39
+ protected router: Router;
40
+ protected navController: NavController;
41
+ protected location: Location;
42
+ protected settings: LocalSettingsService;
43
+ protected translate: TranslateService;
44
+ protected modalCtrl: ModalController;
45
+ protected alertCtrl: AlertController;
46
+ protected toastController: ToastController;
49
47
  protected previouslyEditedRowId: number;
50
- protected detectChangesOnEditRow: boolean;
48
+ protected formErrorAdapter: FormErrorTranslator;
49
+ protected readonly destroySubject: Subject<void>;
51
50
  excludesColumns: string[];
52
51
  displayedColumns: string[];
53
52
  totalRowCount: number | null;
@@ -197,7 +196,7 @@ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = n
197
196
  table: MatTable<T>;
198
197
  childPaginator: MatPaginator;
199
198
  sort: MatSort;
200
- protected constructor(columns: string[], _dataSource?: EntitiesTableDataSource<T, F, ID>, _filter?: F);
199
+ protected constructor(injector: Injector, columns: string[], _dataSource?: EntitiesTableDataSource<T, F, ID>, _filter?: F);
201
200
  ngOnInit(): void;
202
201
  ngAfterViewInit(): void;
203
202
  ngOnDestroy(): void;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { AppTable } from '../table.class';
3
3
  import { Referential } from '../../services/model/referential.model';
4
4
  import { IonInfiniteScroll } from '@ionic/angular';
@@ -12,7 +12,7 @@ import * as i0 from "@angular/core";
12
12
  export declare class TableTestPage extends AppTable<Referential, ReferentialFilter> implements OnInit, OnDestroy, AfterViewInit {
13
13
  protected validatorService: AppValidatorService;
14
14
  protected formBuilder: UntypedFormBuilder;
15
- readonly maxRowCount = 100;
15
+ static readonly maxRowCount = 100;
16
16
  timer: Subscription;
17
17
  canEdit: boolean;
18
18
  data: Referential[];
@@ -30,7 +30,7 @@ export declare class TableTestPage extends AppTable<Referential, ReferentialFilt
30
30
  filterExpansionPanel: MatExpansionPanel;
31
31
  infiniteScroll: IonInfiniteScroll;
32
32
  get dataService(): InMemoryEntitiesService<Referential>;
33
- constructor(validatorService: AppValidatorService, formBuilder: UntypedFormBuilder);
33
+ constructor(injector: Injector, validatorService: AppValidatorService, formBuilder: UntypedFormBuilder);
34
34
  ngOnInit(): void;
35
35
  ngAfterViewInit(): Promise<void>;
36
36
  ngOnDestroy(): void;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { AppTable } from '../table.class';
3
3
  import { Referential } from '../../services/model/referential.model';
4
4
  import { IonInfiniteScroll } from '@ionic/angular';
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  export declare class Table2TestPage extends AppTable<Referential, ReferentialFilter> implements OnInit, OnDestroy, AfterViewInit {
12
12
  protected validatorService: AppValidatorService;
13
13
  protected formBuilder: UntypedFormBuilder;
14
- readonly maxRowCount = 100;
14
+ static readonly maxRowCount = 100;
15
15
  canEdit: boolean;
16
16
  data: Referential[];
17
17
  filterForm: UntypedFormGroup;
@@ -27,7 +27,7 @@ export declare class Table2TestPage extends AppTable<Referential, ReferentialFil
27
27
  filterExpansionPanel: MatExpansionPanel;
28
28
  infiniteScroll: IonInfiniteScroll;
29
29
  get dataService(): InMemoryEntitiesService<Referential>;
30
- constructor(validatorService: AppValidatorService, formBuilder: UntypedFormBuilder);
30
+ constructor(injector: Injector, validatorService: AppValidatorService, formBuilder: UntypedFormBuilder);
31
31
  ngOnInit(): void;
32
32
  ngAfterViewInit(): Promise<void>;
33
33
  ngOnDestroy(): void;
@@ -10,6 +10,9 @@ import { MatAutocompleteField } from '../material/autocomplete/material.autocomp
10
10
  import { MatFormFieldAppearance } from '@angular/material/form-field';
11
11
  import * as i0 from "@angular/core";
12
12
  export declare class AppFormField implements OnInit, ControlValueAccessor {
13
+ protected translate: TranslateService;
14
+ protected cd: ChangeDetectorRef;
15
+ protected injector: Injector;
13
16
  private formGroupDir;
14
17
  private _onChangeCallback;
15
18
  private _onTouchedCallback;
@@ -17,9 +20,6 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
17
20
  protected _values: Property[];
18
21
  protected type: FormFieldType;
19
22
  protected numberInputStep: string;
20
- protected readonly translate: TranslateService;
21
- protected readonly cd: ChangeDetectorRef;
22
- protected readonly injector: Injector;
23
23
  set definition(value: FormFieldDefinition);
24
24
  get definition(): FormFieldDefinition;
25
25
  required: boolean;
@@ -41,7 +41,7 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
41
41
  get value(): any;
42
42
  matInput: ElementRef;
43
43
  autocompleteField: MatAutocompleteField;
44
- constructor(formGroupDir: FormGroupDirective);
44
+ constructor(translate: TranslateService, cd: ChangeDetectorRef, injector: Injector, formGroupDir: FormGroupDirective);
45
45
  ngOnInit(): void;
46
46
  writeValue(obj: any): void;
47
47
  registerOnChange(fn: any): void;
@@ -68,6 +68,6 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
68
68
  emitEvent?: boolean;
69
69
  }): void;
70
70
  protected updateTabIndex(timeout?: number): void;
71
- static ɵfac: i0.ɵɵFactoryDeclaration<AppFormField, [{ optional: true; }]>;
71
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppFormField, [null, null, null, { optional: true; }]>;
72
72
  static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false, never>;
73
73
  }
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectorRef, Injector } from '@angular/core';
2
2
  import { ModalController } from '@ionic/angular';
3
3
  import { PlatformService } from '../../core/services/platform.service';
4
4
  import { LocalSettingsService } from '../../core/services/local-settings.service';
@@ -11,6 +11,12 @@ export interface AppHelpModalOptions {
11
11
  showError?: boolean;
12
12
  }
13
13
  export declare class AppHelpModal implements AppHelpModalOptions {
14
+ protected injector: Injector;
15
+ protected viewCtrl: ModalController;
16
+ protected platform: PlatformService;
17
+ protected settings: LocalSettingsService;
18
+ protected translate: TranslateService;
19
+ protected cd: ChangeDetectorRef;
14
20
  readonly debug: boolean;
15
21
  loading: boolean;
16
22
  error: string;
@@ -18,12 +24,7 @@ export declare class AppHelpModal implements AppHelpModalOptions {
18
24
  showError: boolean;
19
25
  markdownContent: string;
20
26
  markdownUrl: string;
21
- protected readonly viewCtrl: ModalController;
22
- protected readonly platform: PlatformService;
23
- protected readonly settings: LocalSettingsService;
24
- protected readonly translate: TranslateService;
25
- protected readonly cd: ChangeDetectorRef;
26
- constructor();
27
+ constructor(injector: Injector, viewCtrl: ModalController, platform: PlatformService, settings: LocalSettingsService, translate: TranslateService, cd: ChangeDetectorRef);
27
28
  close(_?: Event): Promise<boolean>;
28
29
  markAsLoaded(): void;
29
30
  onLoadError(error?: string | Error): void;
@@ -16,7 +16,7 @@ export interface InputElement extends FocusableElement {
16
16
  }
17
17
  export declare function isInputElement(object: any): object is InputElement;
18
18
  export declare function asInputElement(object: ElementRef): InputElement | undefined;
19
- export declare function tabindexComparator(a: InputElement, b: InputElement): 0 | 1 | -1;
19
+ export declare function tabindexComparator(a: InputElement, b: InputElement): 1 | 0 | -1;
20
20
  export interface CanGainFocusOptions {
21
21
  minTabindex?: number;
22
22
  maxTabindex?: number;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, Renderer2 } from '@angular/core';
2
2
  import { ControlValueAccessor, FormGroupDirective, UntypedFormControl } from '@angular/forms';
3
3
  import { BehaviorSubject, Observable } from 'rxjs';
4
4
  import { SuggestFn } from '../../services/entity-service.class';
@@ -11,7 +11,11 @@ import { IonSearchbar, ModalController } from '@ionic/angular';
11
11
  import { MatAutocompleteFieldConfig } from './material.autocomplete.config';
12
12
  import * as i0 from "@angular/core";
13
13
  export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDestroy, InputElement, ControlValueAccessor {
14
+ protected injector: Injector;
14
15
  protected el: ElementRef<HTMLElement>;
16
+ protected cd: ChangeDetectorRef;
17
+ protected modalController: ModalController;
18
+ protected renderer: Renderer2;
15
19
  private formGroupDir;
16
20
  private _onChangeCallback;
17
21
  private _onTouchedCallback;
@@ -31,9 +35,6 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
31
35
  protected _moreItemsCount: number;
32
36
  protected _fetchMore$: EventEmitter<Event>;
33
37
  protected _defaultPanelWidth: string;
34
- protected readonly cd: ChangeDetectorRef;
35
- protected readonly modalController: ModalController;
36
- protected readonly renderer: Renderer2;
37
38
  equals: EqualsFn;
38
39
  logPrefix: string;
39
40
  formControl: UntypedFormControl;
@@ -92,7 +93,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
92
93
  matInputText: ElementRef;
93
94
  autocomplete: MatAutocomplete;
94
95
  autocompleteTrigger: MatAutocompleteTrigger;
95
- constructor(el: ElementRef<HTMLElement>, formGroupDir: FormGroupDirective);
96
+ constructor(injector: Injector, el: ElementRef<HTMLElement>, cd: ChangeDetectorRef, modalController: ModalController, renderer: Renderer2, formGroupDir: FormGroupDirective);
96
97
  get itemCount(): number;
97
98
  get canFetchMore(): boolean;
98
99
  set filter(value: any);
@@ -148,7 +149,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
148
149
  * @private
149
150
  */
150
151
  private _fixSearchbarOverlay;
151
- static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteField, [null, { optional: true; }]>;
152
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteField, [null, null, null, null, null, { optional: true; }]>;
152
153
  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; }; "displaySeparator": { "alias": "displaySeparator"; "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; }; "trimSearchText": { "alias": "trimSearchText"; "required": false; }; "splitSearchText": { "alias": "splitSearchText"; "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>;
153
154
  static ngAcceptInputType_required: unknown;
154
155
  static ngAcceptInputType_mobile: unknown;
@@ -1,18 +1,21 @@
1
- import { AfterViewInit, OnInit } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, Injector, OnInit } from '@angular/core';
2
2
  import { AppForm } from '../../../../core/form/form.class';
3
3
  import { UntypedFormBuilder } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class BooleanTestPage extends AppForm<any> implements OnInit, AfterViewInit {
6
+ protected injector: Injector;
6
7
  protected formBuilder: UntypedFormBuilder;
8
+ protected cd: ChangeDetectorRef;
7
9
  stringify: {
8
10
  (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
9
11
  (value: any, replacer?: (string | number)[], space?: string | number): string;
10
12
  };
11
13
  mode: 'radio' | 'checkbox' | 'button';
12
14
  styles: string[];
13
- constructor(formBuilder: UntypedFormBuilder);
15
+ constructor(injector: Injector, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef);
14
16
  ngAfterViewInit(): void;
15
17
  toggleMode(value: any): void;
18
+ protected markForCheck(): void;
16
19
  protected clearControlValue(path: string, event?: Event): void;
17
20
  static ɵfac: i0.ɵɵFactoryDeclaration<BooleanTestPage, never>;
18
21
  static ɵcmp: i0.ɵɵComponentDeclaration<BooleanTestPage, "app-boolean-test-page", never, {}, {}, never, never, false, never>;
@@ -1,4 +1,4 @@
1
- import { ElementRef, EventEmitter, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormGroupDirective, UntypedFormBuilder, UntypedFormControl, ValidatorFn } from '@angular/forms';
3
3
  import { CdkTextareaAutosize } from '@angular/cdk/text-field';
4
4
  import { AppForm } from '../../../core/form/form.class';
@@ -8,6 +8,8 @@ import * as i0 from "@angular/core";
8
8
  export declare class TextForm extends AppForm<{
9
9
  text: string;
10
10
  }> implements OnInit, ControlValueAccessor {
11
+ protected injector: Injector;
12
+ protected cd: ChangeDetectorRef;
11
13
  protected formBuilder: UntypedFormBuilder;
12
14
  private formGroupDir;
13
15
  showError: boolean;
@@ -37,7 +39,7 @@ export declare class TextForm extends AppForm<{
37
39
  textControl: UntypedFormControl;
38
40
  private _onChangeCallback;
39
41
  private _onTouchedCallback;
40
- constructor(formBuilder: UntypedFormBuilder, formGroupDir: FormGroupDirective);
42
+ constructor(injector: Injector, cd: ChangeDetectorRef, formBuilder: UntypedFormBuilder, formGroupDir: FormGroupDirective);
41
43
  ngOnInit(): void;
42
44
  containerResize(): void;
43
45
  focusInput(): void;
@@ -45,11 +47,12 @@ export declare class TextForm extends AppForm<{
45
47
  registerOnTouched(fn: any): void;
46
48
  setDisabledState(isDisabled: boolean): void;
47
49
  writeValue(value: any): void;
50
+ protected markForCheck(): void;
48
51
  protected checkIfTouched(opts?: {
49
52
  emitEvent?: boolean;
50
53
  }): void;
51
54
  private textFormValueChanged;
52
- static ɵfac: i0.ɵɵFactoryDeclaration<TextForm, [null, { optional: true; }]>;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextForm, [null, null, null, { optional: true; }]>;
53
56
  static ɵcmp: i0.ɵɵComponentDeclaration<TextForm, "app-text-form", never, { "showError": { "alias": "showError"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; "autoSizeMinRows": { "alias": "autoSizeMinRows"; "required": false; }; "autoSizeMaxRows": { "alias": "autoSizeMaxRows"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "validator": { "alias": "validator"; "required": false; }; "standalone": { "alias": "standalone"; "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; }; "autoHeight": { "alias": "autoHeight"; "required": false; }; }, { "textAreaChanges": "textAreaChanges"; }, never, ["[matError]"], false, never>;
54
57
  static ngAcceptInputType_showError: unknown;
55
58
  static ngAcceptInputType_multiline: unknown;
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, EventEmitter, Injector, OnInit } from '@angular/core';
2
2
  import { UntypedFormBuilder } from '@angular/forms';
3
3
  import { PopoverController, ToastController } from '@ionic/angular';
4
4
  import { AppForm } from '../../core/form/form.class';
@@ -9,7 +9,9 @@ import { INamedFilterService, NamedFilterLoadOptions, NamedFilterWatchOptions }
9
9
  import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
10
10
  import * as i0 from "@angular/core";
11
11
  export declare class NamedFilterSelector extends AppForm<any> implements OnInit {
12
+ protected injector: Injector;
12
13
  protected formBuilder: UntypedFormBuilder;
14
+ protected cd: ChangeDetectorRef;
13
15
  protected toastController: ToastController;
14
16
  protected popoverController: PopoverController;
15
17
  protected dataService: INamedFilterService<INamedFilter<any>, INamedFilterFilter<any, any>, NamedFilterWatchOptions, NamedFilterLoadOptions>;
@@ -36,13 +38,14 @@ export declare class NamedFilterSelector extends AppForm<any> implements OnInit
36
38
  filterDeleted: EventEmitter<NamedFilter<NamedFilter<any>>>;
37
39
  filterCleared: EventEmitter<void>;
38
40
  autocompleteField: MatAutocompleteField;
39
- constructor(formBuilder: UntypedFormBuilder, toastController: ToastController, popoverController: PopoverController, dataService: INamedFilterService<INamedFilter<any>, INamedFilterFilter<any, any>, NamedFilterWatchOptions, NamedFilterLoadOptions>);
41
+ constructor(injector: Injector, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, toastController: ToastController, popoverController: PopoverController, dataService: INamedFilterService<INamedFilter<any>, INamedFilterFilter<any, any>, NamedFilterWatchOptions, NamedFilterLoadOptions>);
40
42
  get isNew(): boolean;
41
43
  get saveDisabled(): boolean;
42
44
  get deleteDisabled(): boolean;
43
45
  get dirty(): boolean;
44
46
  ngOnInit(): void;
45
47
  getFilter(): any;
48
+ markForCheck(): void;
46
49
  save(event: UIEvent): Promise<void>;
47
50
  delete(event?: UIEvent): Promise<void>;
48
51
  export(event?: UIEvent): Promise<void>;
@@ -36,7 +36,7 @@ export declare class IsNotEmptySelectionPipe extends AbstractSelectionModelPipe<
36
36
  static ɵfac: i0.ɵɵFactoryDeclaration<IsNotEmptySelectionPipe, never>;
37
37
  static ɵpipe: i0.ɵɵPipeDeclaration<IsNotEmptySelectionPipe, "isNotEmptySelection", false>;
38
38
  }
39
- export declare class IsEmptySelectionPipe extends AbstractSelectionModelPipe<void, boolean> implements PipeTransform {
39
+ export declare class IsEmptySelectionPipe extends AbstractSelectionModelPipe<void, boolean> {
40
40
  constructor(_ref: ChangeDetectorRef);
41
41
  protected _transform(selection: SelectionModel<any>): boolean;
42
42
  static ɵfac: i0.ɵɵFactoryDeclaration<IsEmptySelectionPipe, never>;
@@ -54,7 +54,7 @@ export declare class IsMultipleSelectionPipe extends AbstractSelectionModelPipe<
54
54
  static ɵfac: i0.ɵɵFactoryDeclaration<IsMultipleSelectionPipe, never>;
55
55
  static ɵpipe: i0.ɵɵPipeDeclaration<IsMultipleSelectionPipe, "isMultipleSelection", false>;
56
56
  }
57
- export declare class IsSingleSelectionPipe extends AbstractSelectionModelPipe<void, boolean> implements PipeTransform {
57
+ export declare class IsSingleSelectionPipe extends AbstractSelectionModelPipe<void, boolean> {
58
58
  constructor(_ref: ChangeDetectorRef);
59
59
  protected _transform(selection: SelectionModel<any>): boolean;
60
60
  static ɵfac: i0.ɵɵFactoryDeclaration<IsSingleSelectionPipe, never>;
@@ -1,4 +1,4 @@
1
- import { OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, Injector, OnInit } from '@angular/core';
2
2
  import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
3
3
  import { Message } from './message.model';
4
4
  import { AppForm } from '../../core/form/form.class';
@@ -8,6 +8,7 @@ import { PersonFilter } from '../../admin/services/filter/person.filter';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class MessageForm extends AppForm<Message> implements OnInit {
10
10
  private formBuilder;
11
+ private readonly cd;
11
12
  readonly mobile: boolean;
12
13
  suggestFn: SuggestFn<Person, PersonFilter>;
13
14
  subjectMinLength: number;
@@ -22,13 +23,14 @@ export declare class MessageForm extends AppForm<Message> implements OnInit {
22
23
  icon: string;
23
24
  label: string;
24
25
  }[];
25
- constructor(formBuilder: UntypedFormBuilder);
26
+ constructor(injector: Injector, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef);
26
27
  ngOnInit(): void;
27
28
  isSamePerson(o1: Person, o2: Person): boolean;
28
29
  protected updateFormGroup(formGroup: UntypedFormGroup, opts?: {
29
30
  type?: string;
30
31
  recipientRequired?: boolean;
31
32
  }): void;
33
+ protected markForCheck(): void;
32
34
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageForm, never>;
33
35
  static ɵcmp: i0.ɵɵComponentDeclaration<MessageForm, "app-message-form", never, { "suggestFn": { "alias": "suggestFn"; "required": false; }; "subjectMinLength": { "alias": "subjectMinLength"; "required": false; }; "subjectMaxLength": { "alias": "subjectMaxLength"; "required": false; }; "bodyMaxLength": { "alias": "bodyMaxLength"; "required": false; }; "bodyAutoHeight": { "alias": "bodyAutoHeight"; "required": false; }; "canSelectType": { "alias": "canSelectType"; "required": false; }; "canRecipientFilter": { "alias": "canRecipientFilter"; "required": false; }; "recipientFilterCount": { "alias": "recipientFilterCount"; "required": false; }; }, {}, never, never, false, never>;
34
36
  }
@@ -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.25",
5
+ "version": "2.12.27",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{
@@ -135,8 +135,7 @@
135
135
 
136
136
  /* Add a start padding to content (but not the cell itself) (e.g. tables with odd/event style - like BatchGroupsTable) */
137
137
  &.mat-mdc-cell-content-start-padding,
138
- &.mat-mdc-cell-content-padding-start,
139
- {
138
+ &.mat-mdc-cell-content-padding-start {
140
139
  // Reset start padding here (only apply cell's content)
141
140
  padding-inline-start: 0;
142
141