@sumaris-net/ngx-components 2.9.0-alpha2 → 2.9.0-alpha4

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 (50) hide show
  1. package/doc/changelog.md +3 -0
  2. package/esm2022/src/app/core/account/account.page.mjs +2 -1
  3. package/esm2022/src/app/core/auth/auth.form.mjs +2 -1
  4. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +2 -1
  5. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +2 -1
  6. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +2 -1
  7. package/esm2022/src/app/core/form/form.class.mjs +8 -8
  8. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +2 -1
  9. package/esm2022/src/app/core/home/home.mjs +2 -1
  10. package/esm2022/src/app/core/menu/menu.component.mjs +2 -1
  11. package/esm2022/src/app/core/menu/menu.service.mjs +2 -1
  12. package/esm2022/src/app/core/register/register.form.mjs +3 -3
  13. package/esm2022/src/app/core/services/config.service.mjs +2 -1
  14. package/esm2022/src/app/core/services/network.service.mjs +2 -1
  15. package/esm2022/src/app/core/services/platform.service.mjs +4 -3
  16. package/esm2022/src/app/core/settings/settings.page.mjs +2 -1
  17. package/esm2022/src/app/core/table/async-table.class.mjs +4 -3
  18. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +2 -1
  19. package/esm2022/src/app/core/table/table.class.mjs +6 -5
  20. package/esm2022/src/app/shared/form/field.component.mjs +2 -1
  21. package/esm2022/src/app/shared/functions.mjs +2 -1
  22. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +2 -1
  23. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +2 -1
  24. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +2 -1
  25. package/esm2022/src/app/shared/material/datetime/material.date.mjs +2 -1
  26. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +2 -1
  27. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +9 -8
  28. package/esm2022/src/app/shared/material/duration/material.duration.mjs +2 -1
  29. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +2 -1
  30. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +2 -1
  31. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +2 -1
  32. package/esm2022/src/app/shared/pipes/form.pipes.mjs +39 -14
  33. package/esm2022/src/app/shared/pipes/pipes.module.mjs +6 -3
  34. package/esm2022/src/app/shared/toolbar/toolbar.mjs +2 -1
  35. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +2 -1
  36. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +10 -6
  37. package/esm2022/src/app/shared/validator/validators.mjs +6 -8
  38. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +2 -1
  39. package/esm2022/src/app/social/message/message.modal.mjs +2 -1
  40. package/fesm2022/sumaris-net.ngx-components.mjs +136 -106
  41. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  42. package/package.json +4 -4
  43. package/src/app/core/form/form.class.d.ts +6 -6
  44. package/src/app/core/table/async-table.class.d.ts +5 -5
  45. package/src/app/core/table/table.class.d.ts +5 -5
  46. package/src/app/shared/pipes/form.pipes.d.ts +17 -7
  47. package/src/app/shared/pipes/pipes.module.d.ts +1 -1
  48. package/src/app/shared/validator/form-error-adapter.class.d.ts +26 -8
  49. package/src/app/shared/validator/validators.d.ts +1 -5
  50. package/src/assets/manifest.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Directive, Pipe, Injectable, EventEmitter, Output, Optional, Inject, NgModule, forwardRef, Component, ChangeDetectionStrategy, Input, ViewChildren, HostBinding, HostListener, ElementRef, ViewChild, ANIMATION_MODULE_TYPE, inject, RendererStyleFlags2, ChangeDetectorRef, booleanAttribute, numberAttribute, ContentChild, CUSTOM_ELEMENTS_SCHEMA, ViewEncapsulation, APP_INITIALIZER } from '@angular/core';
3
- import { firstValueFrom, shareReplay, tap, of, Subject, merge, timer, isObservable, from, Subscription, BehaviorSubject, fromEvent, noop as noop$a, Observable, forkJoin, defer, timeout, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, fromEventPattern, interval, combineLatest, mergeMap as mergeMap$1, EMPTY, switchMap as switchMap$1, delay } from 'rxjs';
3
+ import { firstValueFrom, shareReplay, tap, of, Subject, merge, delay, isObservable, from, Subscription, timer, BehaviorSubject, fromEvent, noop as noop$a, Observable, forkJoin, defer, timeout, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, fromEventPattern, interval, combineLatest, mergeMap as mergeMap$1, EMPTY, switchMap as switchMap$1 } from 'rxjs';
4
4
  import { catchError, map, first, tap as tap$1, switchMap, takeUntil, filter, debounceTime, startWith, distinctUntilChanged, mergeMap, skip, finalize, throttleTime, bufferWhen, mapTo, distinctUntilKeyChanged, take } from 'rxjs/operators';
5
+ import { setTimeout as setTimeout$1 } from '@rx-angular/cdk/zone-less/browser';
5
6
  import * as i3$1 from '@angular/common';
6
7
  import { CommonModule, DOCUMENT, Location } from '@angular/common';
7
8
  import { CdkTableModule } from '@angular/cdk/table';
@@ -535,7 +536,7 @@ function setPropertyByPath(obj, path, value) {
535
536
  function sleep(ms) {
536
537
  if (ms <= 0)
537
538
  return;
538
- return new Promise((resolve) => setTimeout(resolve, ms));
539
+ return new Promise((resolve) => setTimeout$1(resolve, ms));
539
540
  }
540
541
  function round(value) {
541
542
  if (isNotNilOrNaN(value)) {
@@ -2036,7 +2037,7 @@ class SharedValidators {
2036
2037
  dateMinDuration: 'ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION',
2037
2038
  dateMaxDuration: 'ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION',
2038
2039
  maxDecimals: 'ERROR.FIELD_MAXIMUM_DECIMALS',
2039
- double: 'ERROR.FIELD_NOT_VALID_DOUBLE',
2040
+ decimal: 'ERROR.FIELD_NOT_VALID_DECIMAL',
2040
2041
  integer: 'ERROR.FIELD_NOT_VALID_INTEGER',
2041
2042
  precision: 'ERROR.FIELD_NOT_VALID_PRECISION',
2042
2043
  email: 'ERROR.FIELD_NOT_VALID_EMAIL',
@@ -2096,10 +2097,6 @@ class SharedValidators {
2096
2097
  }
2097
2098
  return null;
2098
2099
  }
2099
- /**
2100
- * @deprecated use decimal
2101
- */
2102
- static double = SharedValidators.decimal;
2103
2100
  static decimal(opts) {
2104
2101
  const regexp = this.getDoubleRegexp(opts?.maxDecimals);
2105
2102
  return (control) => {
@@ -2526,8 +2523,9 @@ class SharedAsyncValidators {
2526
2523
  // Stop previous observables
2527
2524
  $disposeSubject.next();
2528
2525
  let now;
2526
+ return of(null).pipe(
2529
2527
  // Add a delay before execution
2530
- return timer(debounceTime).pipe(
2528
+ delay(debounceTime),
2531
2529
  // DEBUG
2532
2530
  tap$1((_) => {
2533
2531
  if (debug) {
@@ -2576,7 +2574,7 @@ class SharedAsyncValidators {
2576
2574
  // Clear added validator. Must be done NOW (without delay) because generally a new Job is given just after
2577
2575
  form.clearAsyncValidators();
2578
2576
  // Stop the job, with a delay to let the last execution finished
2579
- setTimeout(() => {
2577
+ setTimeout$1(() => {
2580
2578
  $dispose.next();
2581
2579
  $dispose.unsubscribe();
2582
2580
  }, debounceTime);
@@ -3834,7 +3832,7 @@ class FormErrorTranslator {
3834
3832
  // Should be a control map of errors
3835
3833
  if (childControl) {
3836
3834
  // Try to convert the control path
3837
- const i18nPath = this.translateControlPath(path, opts);
3835
+ const i18nPath = this.translateFormPath(path, opts);
3838
3836
  // OK, we have a field name: use it
3839
3837
  const columnErrors = Object.keys(childControl.errors).map((errorKey) => this.translateError(errorKey, childControl.errors[errorKey]));
3840
3838
  if (isEmptyArray(columnErrors))
@@ -3859,7 +3857,7 @@ class FormErrorTranslator {
3859
3857
  // Should be a control map of errors
3860
3858
  if (pathErrors) {
3861
3859
  // Try to convert the control path
3862
- const i18nPath = this.translateControlPath(path, opts);
3860
+ const i18nPath = this.translateFormPath(path, opts);
3863
3861
  // OK, we have a field name: use it
3864
3862
  const columnErrors = Object.keys(pathErrors).map((errorKey) => this.translateError(errorKey, pathErrors[errorKey]));
3865
3863
  if (isEmptyArray(columnErrors))
@@ -3876,9 +3874,13 @@ class FormErrorTranslator {
3876
3874
  return res + (res.length ? separator : '') + formError;
3877
3875
  }, ''));
3878
3876
  }
3879
- translateControlPath(path, opts) {
3880
- if (opts?.controlPathTranslator) {
3881
- return opts?.controlPathTranslator.translateControlPath(path);
3877
+ translateFormPath(path, opts) {
3878
+ if (opts?.pathTranslator) {
3879
+ return opts.pathTranslator.translateFormPath(path);
3880
+ }
3881
+ // For v2.8.x compatibility
3882
+ if (opts['controlPathTranslator']) {
3883
+ return opts['controlPathTranslator'].translateControlPath(path);
3882
3884
  }
3883
3885
  const i18nKey = ((opts && opts.i18nPrefix) || '') + changeCaseToUnderscore(path).toUpperCase();
3884
3886
  return this.translate.instant(i18nKey);
@@ -3913,15 +3915,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
3913
3915
  args: [APP_FORM_ERROR_I18N_KEYS]
3914
3916
  }] }] });
3915
3917
 
3916
- class FormErrorTranslatePipe {
3917
- adapter;
3918
+ class FormErrorPipe {
3919
+ service;
3918
3920
  _ref;
3919
- value = '';
3921
+ _value = '';
3920
3922
  _lastForm = null;
3921
3923
  _lastOptions = null;
3922
3924
  _onFormStatusChanges;
3923
- constructor(adapter, _ref) {
3924
- this.adapter = adapter;
3925
+ constructor(service, _ref) {
3926
+ this.service = service;
3925
3927
  this._ref = _ref;
3926
3928
  }
3927
3929
  transform(form, opts) {
@@ -3931,7 +3933,7 @@ class FormErrorTranslatePipe {
3931
3933
  }
3932
3934
  // if we ask another time for the same form and opts, return the last value
3933
3935
  if (form === this._lastForm && equals(opts, this._lastOptions)) {
3934
- return this.value;
3936
+ return this._value;
3935
3937
  }
3936
3938
  // store the query, in case it changes
3937
3939
  this._lastForm = form;
@@ -3947,18 +3949,21 @@ class FormErrorTranslatePipe {
3947
3949
  this._updateValue(form, opts, status);
3948
3950
  });
3949
3951
  }
3950
- return this.value;
3952
+ return this._value;
3951
3953
  }
3952
3954
  ngOnDestroy() {
3953
3955
  this._dispose();
3954
3956
  }
3955
3957
  _updateValue(form, opts, status) {
3956
- if (status === 'INVALID' || form.invalid) {
3957
- this.value = this.adapter.translateFormErrors(form, opts);
3958
- this._ref.markForCheck();
3958
+ if (status ? status === 'INVALID' : form.invalid) {
3959
+ const newValue = this.service.translateFormErrors(form, opts);
3960
+ if (newValue !== this._value) {
3961
+ this._value = newValue;
3962
+ this._ref.markForCheck();
3963
+ }
3959
3964
  }
3960
- else if (this.value !== undefined) {
3961
- this.value = undefined;
3965
+ else if (this._value !== undefined) {
3966
+ this._value = undefined;
3962
3967
  this._ref.markForCheck();
3963
3968
  }
3964
3969
  }
@@ -3969,6 +3974,27 @@ class FormErrorTranslatePipe {
3969
3974
  this._onFormStatusChanges?.unsubscribe();
3970
3975
  this._onFormStatusChanges = undefined;
3971
3976
  }
3977
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormErrorPipe, deps: [{ token: FormErrorTranslator }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
3978
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FormErrorPipe, name: "formError", pure: false });
3979
+ }
3980
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormErrorPipe, decorators: [{
3981
+ type: Pipe,
3982
+ args: [{
3983
+ name: 'formError',
3984
+ pure: false,
3985
+ }]
3986
+ }], ctorParameters: () => [{ type: FormErrorTranslator }, { type: i0.ChangeDetectorRef }] });
3987
+ /**
3988
+ * Same a FormErrorPipe
3989
+ * @deprecated use `formError` instead
3990
+ */
3991
+ class FormErrorTranslatePipe extends FormErrorPipe {
3992
+ constructor(service, _ref) {
3993
+ super(service, _ref);
3994
+ }
3995
+ transform(form, opts) {
3996
+ return super.transform(form, opts);
3997
+ }
3972
3998
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormErrorTranslatePipe, deps: [{ token: FormErrorTranslator }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
3973
3999
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FormErrorTranslatePipe, name: "translateFormError", pure: false });
3974
4000
  }
@@ -4033,6 +4059,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
4033
4059
  }] });
4034
4060
  class FormGetValuePipe {
4035
4061
  _ref;
4062
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4036
4063
  _value = undefined;
4037
4064
  _lastControl = null;
4038
4065
  _lastPath;
@@ -4069,7 +4096,7 @@ class FormGetValuePipe {
4069
4096
  });
4070
4097
  // subscribe to statusChanges event
4071
4098
  if (listenStatusChanges) {
4072
- this._onControlStatusChanges = control.statusChanges.subscribe((status) => {
4099
+ this._onControlStatusChanges = control.statusChanges.subscribe(() => {
4073
4100
  const value = control.value;
4074
4101
  if (value !== this._value) {
4075
4102
  this._value = value;
@@ -4772,6 +4799,7 @@ const components$1 = [
4772
4799
  TranslateContextPipe,
4773
4800
  TranslatablePipe,
4774
4801
  NgInitDirective,
4802
+ FormErrorPipe,
4775
4803
  FormErrorTranslatePipe,
4776
4804
  FormGetPipe,
4777
4805
  FormGetControlPipe,
@@ -4836,6 +4864,7 @@ class SharedPipesModule {
4836
4864
  TranslateContextPipe,
4837
4865
  TranslatablePipe,
4838
4866
  NgInitDirective,
4867
+ FormErrorPipe,
4839
4868
  FormErrorTranslatePipe,
4840
4869
  FormGetPipe,
4841
4870
  FormGetControlPipe,
@@ -4896,6 +4925,7 @@ class SharedPipesModule {
4896
4925
  TranslateContextPipe,
4897
4926
  TranslatablePipe,
4898
4927
  NgInitDirective,
4928
+ FormErrorPipe,
4899
4929
  FormErrorTranslatePipe,
4900
4930
  FormGetPipe,
4901
4931
  FormGetControlPipe,
@@ -4996,7 +5026,7 @@ class MatDuration {
4996
5026
  set tabindex(value) {
4997
5027
  if (this._tabindex !== value) {
4998
5028
  this._tabindex = value;
4999
- setTimeout(() => this.updateTabIndex());
5029
+ setTimeout$1(() => this.updateTabIndex());
5000
5030
  }
5001
5031
  }
5002
5032
  get tabindex() {
@@ -5145,7 +5175,7 @@ class MatDuration {
5145
5175
  focus() {
5146
5176
  if (!this.matInputs.length)
5147
5177
  return;
5148
- setTimeout(() => {
5178
+ setTimeout$1(() => {
5149
5179
  const elementRef = this.matInputs[0]; // get the first element
5150
5180
  if (isFocusableElement(elementRef)) {
5151
5181
  elementRef.focus();
@@ -5161,7 +5191,7 @@ class MatDuration {
5161
5191
  if (isNil(this._tabindex) || this._tabindex === -1)
5162
5192
  return; // skip
5163
5193
  // Focus to first input
5164
- setTimeout(() => {
5194
+ setTimeout$1(() => {
5165
5195
  this.matInputs.forEach((elementRef, index) => {
5166
5196
  setTabIndex(elementRef, this._tabindex + index);
5167
5197
  });
@@ -5605,7 +5635,7 @@ class MatBooleanField {
5605
5635
  set tabindex(value) {
5606
5636
  if (this._tabindex !== value) {
5607
5637
  this._tabindex = value;
5608
- setTimeout(() => this.updateTabIndex());
5638
+ setTimeout$1(() => this.updateTabIndex());
5609
5639
  }
5610
5640
  }
5611
5641
  get tabindex() {
@@ -5668,7 +5698,7 @@ class MatBooleanField {
5668
5698
  this.formControl.patchValue(value, { emitEvent: false });
5669
5699
  this._onChangeCallback(value);
5670
5700
  }
5671
- setTimeout(() => {
5701
+ setTimeout$1(() => {
5672
5702
  this.updateFakeInput();
5673
5703
  this.updateTabIndex();
5674
5704
  });
@@ -5705,7 +5735,7 @@ class MatBooleanField {
5705
5735
  focus() {
5706
5736
  this._focused = true;
5707
5737
  this._onTouchedCallback();
5708
- setTimeout(() => {
5738
+ setTimeout$1(() => {
5709
5739
  if (this.yesButton) {
5710
5740
  this.yesButton.focus();
5711
5741
  this.yesButton._inputElement.nativeElement.onblur = (e) => this.onBlur(e);
@@ -6828,7 +6858,7 @@ class MatAutocompleteField {
6828
6858
  if (!event || event.defaultPrevented)
6829
6859
  return;
6830
6860
  // Need a timeout to prevent early blur event without triggering formChange event
6831
- setTimeout(() => {
6861
+ setTimeout$1(() => {
6832
6862
  // Ignore event from mat-option
6833
6863
  if ((event.relatedTarget instanceof HTMLElement && event.relatedTarget.tagName === 'MAT-OPTION') ||
6834
6864
  // Or autocomplete panel is open because event.relatedTarget is null (cf. https://github.com/angular/components/issues/24182)
@@ -7574,7 +7604,7 @@ class MatLatLongField {
7574
7604
  // Keep only the sign ('+' or '-') and placeholder chars, but NOT the '1'
7575
7605
  valueStr = valueStr && valueStr.replace('1', this.placeholderChar);
7576
7606
  // Wait end of focus animation (label should move to top)
7577
- setTimeout(() => {
7607
+ setTimeout$1(() => {
7578
7608
  // Set the value
7579
7609
  this.inputElement.nativeElement.value = valueStr;
7580
7610
  // Move cursor after the sign
@@ -7657,7 +7687,7 @@ class MatLatLongField {
7657
7687
  // DEBUG
7658
7688
  // console.debug('input direction entered:' + event.which + ' ' + event.keyCode + ' ' + event.charCode);
7659
7689
  // Capitalize (with a delay, to be sure the key has been applied to input text)
7660
- setTimeout(() => {
7690
+ setTimeout$1(() => {
7661
7691
  this.inputElement.nativeElement.value = this.inputElement.nativeElement.value.toUpperCase();
7662
7692
  }, 10);
7663
7693
  // OK
@@ -8038,7 +8068,7 @@ class MatDate {
8038
8068
  focus() {
8039
8069
  if (!this._matInput)
8040
8070
  return;
8041
- setTimeout(() => {
8071
+ setTimeout$1(() => {
8042
8072
  if (isFocusableElement(this._matInput.nativeElement)) {
8043
8073
  this._matInput.nativeElement.focus();
8044
8074
  }
@@ -8169,7 +8199,7 @@ class MatDate {
8169
8199
  if (isNil(this._tabindex) || this._tabindex === -1)
8170
8200
  return; // skip
8171
8201
  // Focus to input
8172
- setTimeout(() => {
8202
+ setTimeout$1(() => {
8173
8203
  setTabIndex(this._matInput, this._tabindex);
8174
8204
  this.markForCheck();
8175
8205
  });
@@ -8493,7 +8523,7 @@ class MatDateTime {
8493
8523
  const input = this.matInputs.first;
8494
8524
  if (!input)
8495
8525
  return;
8496
- setTimeout(() => {
8526
+ setTimeout$1(() => {
8497
8527
  if (isFocusableElement(input.nativeElement)) {
8498
8528
  input.nativeElement.focus();
8499
8529
  }
@@ -8635,11 +8665,7 @@ class MatDateTime {
8635
8665
  const hourParts = (timeStr || '').split(':');
8636
8666
  const hour = parseInt(hourParts[0] || 0);
8637
8667
  const minutes = parseInt(hourParts[1] || 0);
8638
- date.locale(this.locale)
8639
- .hour(hour)
8640
- .minute(minutes)
8641
- .seconds(0)
8642
- .millisecond(0);
8668
+ date.locale(this.locale).hour(hour).minute(minutes).seconds(0).millisecond(0);
8643
8669
  }
8644
8670
  else {
8645
8671
  DateUtils.markNoTime(date);
@@ -8671,8 +8697,12 @@ class MatDateTime {
8671
8697
  this.displayPattern = translations['COMMON.DATE_TIME_PATTERN'] !== 'COMMON.DATE_TIME_PATTERN' ? translations['COMMON.DATE_TIME_PATTERN'] : 'L LT';
8672
8698
  this.datePattern = translations['COMMON.DATE_PATTERN'] !== 'COMMON.DATE_PATTERN' ? translations['COMMON.DATE_PATTERN'] : 'DD/MM/YYYY';
8673
8699
  this.timePattern = translations['COMMON.TIME_PATTERN'] !== 'COMMON.TIME_PATTERN' ? translations['COMMON.TIME_PATTERN'] : 'HH:MM';
8674
- this.updateDateMaskOptions(translations['COMMON.DATE_PLACEHOLDER'] !== 'COMMON.DATE_PLACEHOLDER' ? translations['COMMON.DATE_PLACEHOLDER'] : this.datePattern?.toLowerCase());
8675
- this.updateTimeMaskOptions(translations['COMMON.TIME_PLACEHOLDER'] !== 'COMMON.TIME_PLACEHOLDER' ? translations['COMMON.TIME_PLACEHOLDER'] : this.timePattern?.toLowerCase());
8700
+ this.updateDateMaskOptions(translations['COMMON.DATE_PLACEHOLDER'] !== 'COMMON.DATE_PLACEHOLDER'
8701
+ ? translations['COMMON.DATE_PLACEHOLDER']
8702
+ : this.datePattern?.toLowerCase());
8703
+ this.updateTimeMaskOptions(translations['COMMON.TIME_PLACEHOLDER'] !== 'COMMON.TIME_PLACEHOLDER'
8704
+ ? translations['COMMON.TIME_PLACEHOLDER']
8705
+ : this.timePattern?.toLowerCase());
8676
8706
  }
8677
8707
  onFormChange() {
8678
8708
  if (this._writing)
@@ -8748,7 +8778,7 @@ class MatDateTime {
8748
8778
  if (isNil(this._tabindex) || this._tabindex === -1)
8749
8779
  return; // skip
8750
8780
  // Focus to first input
8751
- setTimeout(() => {
8781
+ setTimeout$1(() => {
8752
8782
  this.matInputs.forEach((elementRef, index) => {
8753
8783
  setTabIndex(elementRef, this._tabindex + index);
8754
8784
  });
@@ -9074,7 +9104,7 @@ class MatDateShort {
9074
9104
  focus() {
9075
9105
  if (!this._matInput)
9076
9106
  return;
9077
- setTimeout(() => {
9107
+ setTimeout$1(() => {
9078
9108
  if (isFocusableElement(this._matInput.nativeElement)) {
9079
9109
  this._matInput.nativeElement.focus();
9080
9110
  }
@@ -9201,7 +9231,7 @@ class MatDateShort {
9201
9231
  if (isNil(this._tabindex) || this._tabindex === -1)
9202
9232
  return; // skip
9203
9233
  // Focus to input
9204
- setTimeout(() => {
9234
+ setTimeout$1(() => {
9205
9235
  setTabIndex(this._matInput, this._tabindex);
9206
9236
  this.markForCheck();
9207
9237
  });
@@ -9390,7 +9420,7 @@ class MatSwipeField {
9390
9420
  set tabindex(value) {
9391
9421
  if (this._tabindex !== value) {
9392
9422
  this._tabindex = value;
9393
- setTimeout(() => this.updateTabIndex());
9423
+ setTimeout$1(() => this.updateTabIndex());
9394
9424
  }
9395
9425
  }
9396
9426
  get tabindex() {
@@ -9472,7 +9502,7 @@ class MatSwipeField {
9472
9502
  focus() {
9473
9503
  // show slides component
9474
9504
  this.showSlides = true;
9475
- setTimeout(() => {
9505
+ setTimeout$1(() => {
9476
9506
  if (this.prevButton) {
9477
9507
  this.prevButton.focus();
9478
9508
  }
@@ -9515,7 +9545,7 @@ class MatSwipeField {
9515
9545
  this._value = value;
9516
9546
  this.showSlides = isNotNil(this._value);
9517
9547
  this.updateSlides();
9518
- setTimeout(() => this.updateTabIndex());
9548
+ setTimeout$1(() => this.updateTabIndex());
9519
9549
  }
9520
9550
  this._writing = false;
9521
9551
  this.markForCheck();
@@ -9528,10 +9558,10 @@ class MatSwipeField {
9528
9558
  this._value = undefined;
9529
9559
  this.formControl.patchValue(null, { emitEvent: false });
9530
9560
  this.showSlides = false;
9531
- setTimeout(() => {
9561
+ setTimeout$1(() => {
9532
9562
  this.updateTabIndex();
9533
9563
  this.slideTo(0);
9534
- setTimeout(() => {
9564
+ setTimeout$1(() => {
9535
9565
  this._writing = false;
9536
9566
  }, 100);
9537
9567
  });
@@ -11913,7 +11943,7 @@ class AppForm {
11913
11943
  }
11914
11944
  debug = false;
11915
11945
  tabindex;
11916
- errorTranslatorOptions;
11946
+ formErrorTranslateOptions;
11917
11947
  set form(value) {
11918
11948
  this.setForm(value);
11919
11949
  }
@@ -11939,8 +11969,8 @@ class AppForm {
11939
11969
  this.enable();
11940
11970
  else
11941
11971
  this.disable();
11942
- this.errorTranslatorOptions = this.errorTranslatorOptions || {
11943
- controlPathTranslator: this,
11972
+ this.formErrorTranslateOptions = this.formErrorTranslateOptions || {
11973
+ pathTranslator: this,
11944
11974
  };
11945
11975
  }
11946
11976
  ngOnDestroy() {
@@ -12090,7 +12120,7 @@ class AppForm {
12090
12120
  if (!opts || opts.emitEvent !== false)
12091
12121
  this.markForCheck();
12092
12122
  }
12093
- translateControlPath(path) {
12123
+ translateFormPath(path) {
12094
12124
  const i18nFieldName = this.getI18nFieldName(path);
12095
12125
  return this.translate?.instant(i18nFieldName) || i18nFieldName;
12096
12126
  }
@@ -12099,7 +12129,7 @@ class AppForm {
12099
12129
  if (!form || !this.errorTranslator)
12100
12130
  return undefined;
12101
12131
  return this.errorTranslator.translateFormErrors(this.form, {
12102
- controlPathTranslator: this,
12132
+ pathTranslator: this,
12103
12133
  ...opts,
12104
12134
  });
12105
12135
  }
@@ -12137,7 +12167,7 @@ class AppForm {
12137
12167
  }
12138
12168
  }
12139
12169
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AppForm, deps: [{ token: i0.Injector }, { token: i1$2.UntypedFormGroup }], target: i0.ɵɵFactoryTarget.Directive });
12140
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: AppForm, inputs: { debug: "debug", tabindex: "tabindex", errorTranslatorOptions: "errorTranslatorOptions", form: "form" }, outputs: { onCancel: "onCancel", onSubmit: "onSubmit" }, ngImport: i0 });
12170
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: AppForm, inputs: { debug: "debug", tabindex: "tabindex", formErrorTranslateOptions: "formErrorTranslateOptions", form: "form" }, outputs: { onCancel: "onCancel", onSubmit: "onSubmit" }, ngImport: i0 });
12141
12171
  }
12142
12172
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AppForm, decorators: [{
12143
12173
  type: Directive
@@ -12145,7 +12175,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
12145
12175
  type: Input
12146
12176
  }], tabindex: [{
12147
12177
  type: Input
12148
- }], errorTranslatorOptions: [{
12178
+ }], formErrorTranslateOptions: [{
12149
12179
  type: Input
12150
12180
  }], form: [{
12151
12181
  type: Input
@@ -12826,7 +12856,7 @@ class AppFormField {
12826
12856
  return;
12827
12857
  this._onDefinitionChanged(this._definition);
12828
12858
  if (this.autocompleteField) {
12829
- setTimeout(() => this.autocompleteField?.reloadItems(value));
12859
+ setTimeout$1(() => this.autocompleteField?.reloadItems(value));
12830
12860
  }
12831
12861
  }
12832
12862
  /* -- protected method -- */
@@ -12904,7 +12934,7 @@ class AppFormField {
12904
12934
  }
12905
12935
  updateTabIndex(timeout) {
12906
12936
  if (this.tabindex && this.tabindex !== -1) {
12907
- setTimeout(() => {
12937
+ setTimeout$1(() => {
12908
12938
  const element = asInputElement(this.matInput);
12909
12939
  if (element) {
12910
12940
  element.tabIndex = this.tabindex;
@@ -15922,7 +15952,7 @@ class TextPopover {
15922
15952
  this.enable();
15923
15953
  }
15924
15954
  ngAfterViewInit() {
15925
- setTimeout(() => this.form.setValue({ text: this.text }), 0);
15955
+ setTimeout$1(() => this.form.setValue({ text: this.text }), 0);
15926
15956
  }
15927
15957
  async onValidate(event) {
15928
15958
  await waitWhilePending(this.form);
@@ -16517,7 +16547,7 @@ class NetworkService extends StartableObservableService {
16517
16547
  if (online) {
16518
16548
  // Call success callback (async)
16519
16549
  if (opts && opts.onRetrySuccess) {
16520
- setTimeout(opts.onRetrySuccess);
16550
+ setTimeout$1(opts.onRetrySuccess);
16521
16551
  }
16522
16552
  return true;
16523
16553
  }
@@ -20384,7 +20414,7 @@ class ConfigService extends BaseGraphqlService {
20384
20414
  }
20385
20415
  // Save it into local storage, for next startup
20386
20416
  if (data) {
20387
- setTimeout(() => this.storeLocally(data), 2000);
20417
+ setTimeout$1(() => this.storeLocally(data), 2000);
20388
20418
  }
20389
20419
  // If not loaded remotely: try to restore it
20390
20420
  else {
@@ -20707,7 +20737,7 @@ class PlatformService extends StartableService {
20707
20737
  }));
20708
20738
  if (this._mobile) {
20709
20739
  // Hide the splashscreen (if mobile) - after 1s - and play start sound
20710
- setTimeout(async () => {
20740
+ setTimeout$1(async () => {
20711
20741
  await SplashScreen.hide();
20712
20742
  // Play startup sound
20713
20743
  this.audioProvider.playStartupSound();
@@ -20813,9 +20843,9 @@ class PlatformService extends StartableService {
20813
20843
  }
20814
20844
  }
20815
20845
  async copyToClipboard(data, opts) {
20816
- const value = (typeof data === 'string') ? data : data.string;
20846
+ const value = typeof data === 'string' ? data : data.string;
20817
20847
  if (this.isAndroidCordova()) {
20818
- const writeOptions = (typeof data === 'string') ? { string: value } : data;
20848
+ const writeOptions = typeof data === 'string' ? { string: value } : data;
20819
20849
  await Clipboard.write(writeOptions);
20820
20850
  }
20821
20851
  else {
@@ -21354,7 +21384,7 @@ class ToolbarComponent {
21354
21384
  async toggleSearchBar() {
21355
21385
  this.showSearchBar = !this.showSearchBar;
21356
21386
  if (this.showSearchBar && this.searchbar) {
21357
- setTimeout(() => {
21387
+ setTimeout$1(() => {
21358
21388
  this.searchbar.setFocus();
21359
21389
  this.markForCheck();
21360
21390
  }, 300);
@@ -21406,7 +21436,7 @@ class ToolbarComponent {
21406
21436
  return;
21407
21437
  // Distinguish simple and double tap
21408
21438
  this._closeTapCount = event.tapCount;
21409
- setTimeout(() => {
21439
+ setTimeout$1(() => {
21410
21440
  // Event is obsolete (a new tap event occur)
21411
21441
  if (event.tapCount < this._closeTapCount) {
21412
21442
  // Ignore event
@@ -21428,7 +21458,7 @@ class ToolbarComponent {
21428
21458
  // Distinguish simple and double tap
21429
21459
  else {
21430
21460
  this._validateTapCount = event.tapCount;
21431
- setTimeout(() => {
21461
+ setTimeout$1(() => {
21432
21462
  // Event is obsolete (a new tap event occur)
21433
21463
  if (event.tapCount < this._validateTapCount) {
21434
21464
  // Ignore event
@@ -23295,7 +23325,7 @@ class AppImageGalleryComponent {
23295
23325
  this.onAfterEditRow.emit(row);
23296
23326
  }
23297
23327
  // Hide the toolbar, because the focus have been given to the event's origin (the edit button)
23298
- setTimeout(() => this.hideCardToolbar(cardToolbar), 750);
23328
+ setTimeout$1(() => this.hideCardToolbar(cardToolbar), 750);
23299
23329
  }
23300
23330
  showCardToolbar(cardToolbar) {
23301
23331
  const el = cardToolbar['el'];
@@ -25490,7 +25520,7 @@ class MenuService extends StartableObservableService {
25490
25520
  handler: () => {
25491
25521
  this.accountService.logout();
25492
25522
  // Back to home
25493
- setTimeout(() => this.navController.navigateRoot('/'), 100);
25523
+ setTimeout$1(() => this.navController.navigateRoot('/'), 100);
25494
25524
  },
25495
25525
  },
25496
25526
  ],
@@ -26017,7 +26047,7 @@ class MenuComponent {
26017
26047
  this.splitPane.when = value;
26018
26048
  this.detectChanges();
26019
26049
  // Propagate to the menu service
26020
- setTimeout(() => this.menuService.setSplitPaneShowWhen(value), 200);
26050
+ setTimeout$1(() => this.menuService.setSplitPaneShowWhen(value), 200);
26021
26051
  }
26022
26052
  }
26023
26053
  toggleSplitPaneShow(event) {
@@ -26057,7 +26087,7 @@ class MenuComponent {
26057
26087
  }
26058
26088
  markAsLoaded(opts) {
26059
26089
  if (this.loading) {
26060
- setTimeout(() => {
26090
+ setTimeout$1(() => {
26061
26091
  this.loading = false;
26062
26092
  if (!opts || opts.emitEvent !== false)
26063
26093
  this.markForCheck();
@@ -27000,7 +27030,7 @@ class RegisterForm {
27000
27030
  }
27001
27031
  emailAvailability(accountService) {
27002
27032
  return function (control) {
27003
- return timer(500).pipe(mergeMap(() => accountService
27033
+ return of(null).pipe(delay(500), mergeMap(() => accountService
27004
27034
  .checkEmailAvailable(control.value)
27005
27035
  .then((res) => null)
27006
27036
  .catch((err) => {
@@ -27172,7 +27202,7 @@ class AppAuthForm extends AppForm {
27172
27202
  const data = this.form.value;
27173
27203
  this.showPwd = false; // Hide password
27174
27204
  this.error = null; // Reset error
27175
- setTimeout(() => this.onSubmit.emit({
27205
+ setTimeout$1(() => this.onSubmit.emit({
27176
27206
  username: data.username,
27177
27207
  password: data.password,
27178
27208
  offline: data.offline,
@@ -27180,7 +27210,7 @@ class AppAuthForm extends AppForm {
27180
27210
  }
27181
27211
  register() {
27182
27212
  this.onCancel.emit();
27183
- setTimeout(async () => {
27213
+ setTimeout$1(async () => {
27184
27214
  const modal = await this.modalCtrl.create({
27185
27215
  component: RegisterModal,
27186
27216
  backdropDismiss: false,
@@ -27451,7 +27481,7 @@ class HomePage {
27451
27481
  this.markForCheck();
27452
27482
  // If first load, hide the loading indicator
27453
27483
  if (this.loading) {
27454
- setTimeout(() => {
27484
+ setTimeout$1(() => {
27455
27485
  this.loading = false;
27456
27486
  this.cd.detectChanges();
27457
27487
  }, 500); // Add a delay, for animation
@@ -28027,7 +28057,7 @@ class SettingsPage extends AppForm {
28027
28057
  // Apply inheritance
28028
28058
  this.setAccountInheritance(data.accountInheritance, { emitEvent: false });
28029
28059
  // Add a delay, because of option menu that is always opened after save!!
28030
- setTimeout(() => {
28060
+ setTimeout$1(() => {
28031
28061
  this.saving = false;
28032
28062
  this.markForCheck();
28033
28063
  }, 400);
@@ -28630,7 +28660,7 @@ class EntitiesTableDataSource extends TableDataSource {
28630
28660
  .deleteAll([row.currentData], this.serviceOptions)
28631
28661
  .catch((err) => this.handleServiceError(err))
28632
28662
  .then(() => {
28633
- setTimeout(() => {
28663
+ setTimeout$1(() => {
28634
28664
  // make sure row has been deleted (because GrapQHl cache remove can failed)
28635
28665
  const present = this.getRow(id) === row;
28636
28666
  if (present)
@@ -28834,7 +28864,7 @@ class AppTable {
28834
28864
  displayedColumns;
28835
28865
  totalRowCount = null;
28836
28866
  visibleRowCount;
28837
- errorTranslatorOptions;
28867
+ errorTranslateOptions;
28838
28868
  readySubject = new BehaviorSubject(false);
28839
28869
  loadingSubject = new BehaviorSubject(true);
28840
28870
  savingSubject = new BehaviorSubject(false);
@@ -29139,7 +29169,7 @@ class AppTable {
29139
29169
  this.saveBeforeSort = toBoolean(this.saveBeforeSort, !this.readOnly); // force to false when readonly
29140
29170
  this.saveBeforeFilter = toBoolean(this.saveBeforeFilter, !this.readOnly); // force to false when readonly
29141
29171
  this.keepEditedRowOnSave = toBoolean(this.keepEditedRowOnSave, this.inlineEdition);
29142
- this.errorTranslatorOptions = this.errorTranslatorOptions || { separator: ', ', controlPathTranslator: this }; // Can be override in subclasses constructors
29172
+ this.errorTranslateOptions = this.errorTranslateOptions || { separator: ', ', pathTranslator: this }; // Can be override in subclasses constructors
29143
29173
  // Check ask user confirmation is possible
29144
29174
  if (this.confirmBeforeDelete && !this.alertCtrl)
29145
29175
  throw Error("Missing 'alertCtrl' or 'injector' in component's constructor.");
@@ -29747,7 +29777,7 @@ class AppTable {
29747
29777
  this.emitRefresh(event);
29748
29778
  // When target wait for a complete (e.g. IonRefresher)
29749
29779
  if (event?.target && event.target.complete) {
29750
- setTimeout(async () => {
29780
+ setTimeout$1(async () => {
29751
29781
  await this.waitIdle();
29752
29782
  event.target.complete();
29753
29783
  });
@@ -29802,7 +29832,7 @@ class AppTable {
29802
29832
  // By default, try to confirm the row
29803
29833
  this.confirmEditCreate(event, row);
29804
29834
  }
29805
- translateControlPath(path) {
29835
+ translateFormPath(path) {
29806
29836
  // Can be overridden by subclasses, to resolve all field name
29807
29837
  // Use columns key, has default name
29808
29838
  const i18nColumnKey = this.getI18nColumnName(path);
@@ -30182,7 +30212,7 @@ class AppTable {
30182
30212
  if (!row || !this.formErrorAdapter)
30183
30213
  return undefined;
30184
30214
  return this.formErrorAdapter.translateFormErrors(row.validator, {
30185
- ...this.errorTranslatorOptions,
30215
+ ...this.errorTranslateOptions,
30186
30216
  ...opts,
30187
30217
  });
30188
30218
  }
@@ -30272,7 +30302,7 @@ class AppTable {
30272
30302
  if (!this.table) {
30273
30303
  // DEBUG only -- alert user that table not found in template
30274
30304
  if (this.debug) {
30275
- setTimeout(() => !this.table &&
30305
+ setTimeout$1(() => !this.table &&
30276
30306
  console.warn(`[table] Missing <mat-table> in the HTML template (after waiting 500ms)! Component: ${this.constructor.name}`), 500);
30277
30307
  }
30278
30308
  // Make sure to wait the table
@@ -32326,7 +32356,7 @@ class AppAsyncTable {
32326
32356
  this.saveBeforeSort = toBoolean(this.saveBeforeSort, !this.readOnly); // force to false when readonly
32327
32357
  this.saveBeforeFilter = toBoolean(this.saveBeforeFilter, !this.readOnly); // force to false when readonly
32328
32358
  this.keepEditedRowOnSave = toBoolean(this.keepEditedRowOnSave, this.inlineEdition);
32329
- this.errorTranslatorOptions = this.errorTranslatorOptions || { separator: ', ', controlPathTranslator: this }; // Can be override in subclasses constructors
32359
+ this.errorTranslatorOptions = this.errorTranslatorOptions || { separator: ', ', pathTranslator: this }; // Can be override in subclasses constructors
32330
32360
  // Check ask user confirmation is possible
32331
32361
  if (this.confirmBeforeDelete && !this.alertCtrl)
32332
32362
  throw Error("Missing 'alertCtrl' or 'injector' in component's constructor.");
@@ -32912,7 +32942,7 @@ class AppAsyncTable {
32912
32942
  this.emitRefresh(event);
32913
32943
  // When target wait for a complete (e.g. IonRefresher)
32914
32944
  if (event?.target && event.target.complete) {
32915
- setTimeout(async () => {
32945
+ setTimeout$1(async () => {
32916
32946
  await this.waitIdle();
32917
32947
  event.target.complete();
32918
32948
  });
@@ -32966,7 +32996,7 @@ class AppAsyncTable {
32966
32996
  // By default, try to confirm the row
32967
32997
  await this.confirmEditCreate(event, row);
32968
32998
  }
32969
- translateControlPath(path) {
32999
+ translateFormPath(path) {
32970
33000
  // Can be overridden by subclasses, to resolve all field name
32971
33001
  // Use columns key, has default name
32972
33002
  const i18nColumnKey = this.getI18nColumnName(path);
@@ -33434,7 +33464,7 @@ class AppAsyncTable {
33434
33464
  if (!this.table) {
33435
33465
  // DEBUG only -- alert user that table not found in template
33436
33466
  if (this.debug) {
33437
- setTimeout(() => !this.table &&
33467
+ setTimeout$1(() => !this.table &&
33438
33468
  console.warn(`[table] Missing <mat-table> in the HTML template (after waiting 500ms)! Component: ${this.constructor.name}`), 500);
33439
33469
  }
33440
33470
  // Make sure to wait the table
@@ -34350,7 +34380,7 @@ class AppTabEditor extends AppEditor {
34350
34380
  }
34351
34381
  }
34352
34382
  // Realign tab, after a delay because the tab can be disabled when component is created
34353
- setTimeout(() => this.tabGroup.realignInkBar(), 500);
34383
+ setTimeout$1(() => this.tabGroup.realignInkBar(), 500);
34354
34384
  }));
34355
34385
  }
34356
34386
  }
@@ -34373,7 +34403,7 @@ class AppTabEditor extends AppEditor {
34373
34403
  this.tabGroup.selectedIndex = value;
34374
34404
  this.markForCheck();
34375
34405
  // Wait tab change in UI, before realign ink tab
34376
- setTimeout(() => this.tabGroup.realignInkBar(), 200);
34406
+ setTimeout$1(() => this.tabGroup.realignInkBar(), 200);
34377
34407
  }
34378
34408
  else if (!opts || opts.emitEvent !== false) {
34379
34409
  this.markForCheck();
@@ -34434,7 +34464,7 @@ class AppTabEditor extends AppEditor {
34434
34464
  console.error('[tab-page] Unknown swipe action: ' + event.type);
34435
34465
  return false;
34436
34466
  }
34437
- setTimeout(() => {
34467
+ setTimeout$1(() => {
34438
34468
  this.selectedTabIndex = selectTabIndex;
34439
34469
  this.markForCheck();
34440
34470
  });
@@ -34570,7 +34600,7 @@ class AppEntityEditorModal extends AppTabEditor {
34570
34600
  }
34571
34601
  else {
34572
34602
  // Use a timeout to avoid error 'NG0100: ExpressionChangedAfterItHasBeenCheckedError'
34573
- setTimeout(() => this.load());
34603
+ setTimeout$1(() => this.load());
34574
34604
  }
34575
34605
  }
34576
34606
  ngOnDestroy() {
@@ -35191,7 +35221,7 @@ class AccountPage extends AppForm {
35191
35221
  }));
35192
35222
  this.registerSubscription(this.configService.config.subscribe((config) => this.onConfigLoaded(config)));
35193
35223
  // Realign tab, after a delay because the tab can be disabled when component is created
35194
- setTimeout(() => this.tabGroup.realignInkBar(), 500);
35224
+ setTimeout$1(() => this.tabGroup.realignInkBar(), 500);
35195
35225
  }
35196
35226
  ngOnDestroy() {
35197
35227
  super.ngOnDestroy();
@@ -35331,7 +35361,7 @@ class AccountPage extends AppForm {
35331
35361
  this.disable();
35332
35362
  await this.accountService.save(newAccount);
35333
35363
  // Reload
35334
- setTimeout(() => this.onLogin(this.accountService.account), 100);
35364
+ setTimeout$1(() => this.onLogin(this.accountService.account), 100);
35335
35365
  this.markAsPristine();
35336
35366
  return true;
35337
35367
  }
@@ -35955,7 +35985,7 @@ class AppEntityEditor extends AppTabEditor {
35955
35985
  super.ngAfterViewInit();
35956
35986
  // Load data
35957
35987
  if (this._autoLoad) {
35958
- setTimeout(() => this.loadFromRoute(), this._autoLoadDelay);
35988
+ setTimeout$1(() => this.loadFromRoute(), this._autoLoadDelay);
35959
35989
  }
35960
35990
  }
35961
35991
  ngOnDestroy() {
@@ -36290,7 +36320,7 @@ class AppEntityEditor extends AppTabEditor {
36290
36320
  return false;
36291
36321
  }
36292
36322
  // Wait, then go back (wait is need in order to update back href is need)
36293
- await setTimeout(() => this.goBack(), 500);
36323
+ await setTimeout$1(() => this.goBack(), 500);
36294
36324
  return true;
36295
36325
  }
36296
36326
  async reload() {
@@ -37685,7 +37715,7 @@ class MessageModal {
37685
37715
  this.canSelectType = toBoolean(this.canSelectType, this.accountService.isAdmin());
37686
37716
  }
37687
37717
  ngAfterViewInit() {
37688
- setTimeout(() => {
37718
+ setTimeout$1(() => {
37689
37719
  this.form.markAsReady({ emitEvent: false });
37690
37720
  if (this.data) {
37691
37721
  this.data.type = this.data.type || MessageTypes.INBOX_MESSAGE;
@@ -38058,7 +38088,7 @@ class JobProgressionIcon extends RxState {
38058
38088
  // emit event
38059
38089
  this.jobFinished.emit(progression.id);
38060
38090
  if (this.autoRemove) {
38061
- setTimeout(() => {
38091
+ setTimeout$1(() => {
38062
38092
  this.stopListenJob(progression.id);
38063
38093
  }, this.autoRemoveDelay);
38064
38094
  }
@@ -39412,7 +39442,7 @@ class LatLongTestPage {
39412
39442
  this.form.get('enable').valueChanges.subscribe((value) => disableFormGroup.setValue(value));
39413
39443
  }
39414
39444
  ngOnInit() {
39415
- setTimeout(() => this.loadData(), 250);
39445
+ setTimeout$1(() => this.loadData(), 250);
39416
39446
  }
39417
39447
  toggleMode(value) {
39418
39448
  if (this.mode !== value) {
@@ -39465,7 +39495,7 @@ class LatLongTestPage {
39465
39495
  }
39466
39496
  this.geoPositionMessage = logMessage;
39467
39497
  // Clean the log message, if same
39468
- setTimeout(() => {
39498
+ setTimeout$1(() => {
39469
39499
  if (this.geoPositionMessage === logMessage) {
39470
39500
  this.geoPositionMessage = null;
39471
39501
  }
@@ -40238,7 +40268,7 @@ class UploadFileTestingPage {
40238
40268
  return { type: HttpEventType.UploadProgress, total: file.size, loaded };
40239
40269
  }
40240
40270
  // Stop the timer
40241
- setTimeout(() => $stop.next(), 1000);
40271
+ setTimeout$1(() => $stop.next(), 1000);
40242
40272
  // Return final response
40243
40273
  return new HttpResponse({ body: { finalName: file.name } });
40244
40274
  }));
@@ -42330,5 +42360,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
42330
42360
  * Generated bundle index. Do not edit.
42331
42361
  */
42332
42362
 
42333
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_DEBUG_DATA_SERVICE, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_FRAGMENTS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_JOB_PROGRESSION_SERVICE, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_LOGGING_SERVICE, APP_MENU_ITEMS, APP_MENU_OPTIONS, APP_NAMED_FILTER_SERVICE, APP_PROGRESS_BAR_SERVICE, APP_SETTINGS_MENU_ITEMS, APP_STORAGE, APP_STORAGE_EXPLORER_PROTECTED_KEYS, APP_TESTING_PAGES, APP_USER_EVENT_LIST_INFINITE_SCROLL_THRESHOLD, APP_USER_EVENT_SERVICE, APP_USER_SETTINGS_OPTIONS, APP_USER_TOKEN_SCOPES, AboutModal, AbstractNamedFilterService, AbstractSelectionModelPipe, AbstractTableSelectionPipe, AbstractUserEventService, Account, AccountPage, AccountService, AccountToStringPipe, AccountUtils, ActionsColumnComponent, AdminModule, AdminRoutingModule, AdminUsersModule, Alerts, AndroidOsEnvironment, AppAboutModalModule, AppAccountModule, AppAsyncTable, AppAuthForm, AppAuthModal, AppAuthModule, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppEntityFormModule, AppForm, AppFormArray, AppFormButtonsBarModule, AppFormContainer, AppFormField, AppFormModule, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppHomePageModule, AppIconComponent, AppIconModule, AppImageGalleryComponent, AppInMemoryTable, AppInstallUpgradeCard, AppInstallUpgradeCardModule, AppListForm, AppListFormModule, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppPropertiesFormModule, AppPropertiesTable, AppRegisterModule, AppRowField, AppSelectPeerModule, AppSettingsPageModule, AppTabEditor, AppTabEditorOptions, AppTable, AppTableModule, AppTableUtils, AppTextPopoverModule, AppUpdateOfflineModeCard, AppUpdateOfflineModeCardModule, AppValidatorService, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayJoinPipe, ArrayLastPipe, ArrayLengthPipe, ArrayPluckPipe, AsAnyPipe, AsArrayPipe, AsFloatLabelTypePipe, AsObservablePipe, AudioProvider, AudioTestingModule, AudioTestingPage, AuthGuardService, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, BadgeDirective, BadgeNumberPipe, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, BooleanFormatPipe, BooleanTestPage, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CapitalizePipe, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigFragments, ConfigService, Configuration, CoreModule, CorePipesModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_PATTERN, DATE_MATCH_REGEXP, DATE_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_MENU_SHOW_WHEN, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFormatService, DateFromNowPipe, DateShortTestPage, DateTestPage, DateTimeTestPage, DateUtils, DebugComponent, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, DurationTestPage, ED25519_SEED_LENGTH, EMPTY_PLACEHOLDER_CHAR, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesAsyncTableDataSource, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, EnvironmentHttpLoader, EnvironmentLoader, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, GalleryTestPage, GeolocationUtils, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, IMAGE_DEFAULTS, IPosition, ImageAttachment, ImageAttachmentFilter, ImageAttachmentService, ImageGalleryModule, ImageGalleryTestingModule, ImageModule, ImageService, ImagesUtils, InMemoryEntitiesService, IsAllSelectedPipe, IsEmptySelectionPipe, IsLoginAccountPipe, IsMultipleSelectionPipe, IsNilOrBlankPipe, IsNilOrNaNPipe, IsNilPipe, IsNotAllSelectedPipe, IsNotEmptySelectionPipe, IsNotNilOrBlankPipe, IsNotNilOrNaNPipe, IsNotNilPipe, IsOnDeskPipe, IsOnFieldPipe, IsSelectedPipe, IsSingleSelectionPipe, JobModule, JobProgression, JobProgressionComponent, JobProgressionIcon, JobProgressionList, JobProgressionService, JobProgressionTestService, JobProgressionTestingPage, JobTestingModule, JobUtils, JsonUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LogLevel, LogUtils, Logger, LoggingService, LoggingServiceModule, LongitudeFormatPipe, MAT_FORM_FIELD_DEFAULT_APPEARANCE, MAT_FORM_FIELD_DEFAULT_SUBSCRIPT_SIZING, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MOMENT_NO_TIME_PROPERTY, MapGetPipe, MapKeysPipe, MapValuesPipe, MaskitoPlaceholderPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatAutocompleteFieldUtils, MatBadgeTestPage, MatBooleanField, MatChipsField, MatColorPipe, MatCommonTestPage, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItem, MenuItems, MenuOptions, MenuService, MenuTestingModule, MenuTestingPage, Message, MessageFilter, MessageForm, MessageModal, MessageModule, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NETWORK_DEFAULT_CONNECTION_TIMEOUT, NamedFilter, NamedFilterFilter, NamedFilterSelector, NetworkService, NewTokenModal, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, ObservableTestPage, OddPipe, OtherMenuTestingPage, PEER_URL_REGEXP, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertiesFormTestPage, PropertiesFormTestingModule, PropertyEntity, PropertyEntityFilter, PropertyEntityValidator, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialToStringPipe, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, RegisterForm, RegisterModal, ResizableComponent, ResizableDirective, ResizableModule, RxStateModule, SCRYPT_PARAMS, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_STORAGE_TESTING_PAGES, SHARED_TESTING_PAGES, SOCIAL_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SelectionLengthPipe, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedBadgeModule, SharedDebugModule, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedNamedFilterModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedTextFormModule, SharedToolbarModule, SharedValidators, SocialErrorCodes, SocialModule, SocialModuleOptionsToken, SocialTestingModule, Software, StartableService, StatusById, StatusIds, StatusList, StorageDrivers, StorageExplorerComponent, StorageExplorerModule, StorageExplorerTestingModule, StorageExplorerTestingRoutingModule, StorageService, StrIncludesPipe, StrLengthPipe, SubMenuTabDirective, SwipeTestPage, Table2TestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TableValidatorService, TextForm, TextFormTestingPage, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, ToastTestingModule, ToastTestingPage, Toasts, TokenScope, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, TreeItemEntityUtils, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEventModule, UserEventNotificationIcon, UserEventNotificationList, UserEventTestService, UserEventTestingModule, UserEventTestingPage, UserSettings, UserToken, UserTokenTable, UsersPage, ValueFormatPipe, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayResize, arraySize, asInputElement, booleanToString, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, collectByProperty, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, fadeInSlowAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, findParentWithClass, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, initArrayControlsFromValues, isAndroid, isBlankString, isCapacitor, isControlHasInput, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isOnFieldMode, isProgressEvent, isResponseEvent, isStartableService, isTouchUi, isWindows, joinProperties, joinPropertiesPath, lastArrayValue, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, maskitoPrefixPlugin, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, newArray, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setPropertyByPath, setTabIndex, sleep, slideInAnimation, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, undefinedIfNull, underscoreToChangeCase, updateValueAndValidity, waitFor, waitForFalse, waitForTrue, waitIdle, waitWhilePending };
42363
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_DEBUG_DATA_SERVICE, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_FRAGMENTS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_JOB_PROGRESSION_SERVICE, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_LOGGING_SERVICE, APP_MENU_ITEMS, APP_MENU_OPTIONS, APP_NAMED_FILTER_SERVICE, APP_PROGRESS_BAR_SERVICE, APP_SETTINGS_MENU_ITEMS, APP_STORAGE, APP_STORAGE_EXPLORER_PROTECTED_KEYS, APP_TESTING_PAGES, APP_USER_EVENT_LIST_INFINITE_SCROLL_THRESHOLD, APP_USER_EVENT_SERVICE, APP_USER_SETTINGS_OPTIONS, APP_USER_TOKEN_SCOPES, AboutModal, AbstractNamedFilterService, AbstractSelectionModelPipe, AbstractTableSelectionPipe, AbstractUserEventService, Account, AccountPage, AccountService, AccountToStringPipe, AccountUtils, ActionsColumnComponent, AdminModule, AdminRoutingModule, AdminUsersModule, Alerts, AndroidOsEnvironment, AppAboutModalModule, AppAccountModule, AppAsyncTable, AppAuthForm, AppAuthModal, AppAuthModule, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppEntityFormModule, AppForm, AppFormArray, AppFormButtonsBarModule, AppFormContainer, AppFormField, AppFormModule, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppHomePageModule, AppIconComponent, AppIconModule, AppImageGalleryComponent, AppInMemoryTable, AppInstallUpgradeCard, AppInstallUpgradeCardModule, AppListForm, AppListFormModule, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppPropertiesFormModule, AppPropertiesTable, AppRegisterModule, AppRowField, AppSelectPeerModule, AppSettingsPageModule, AppTabEditor, AppTabEditorOptions, AppTable, AppTableModule, AppTableUtils, AppTextPopoverModule, AppUpdateOfflineModeCard, AppUpdateOfflineModeCardModule, AppValidatorService, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayJoinPipe, ArrayLastPipe, ArrayLengthPipe, ArrayPluckPipe, AsAnyPipe, AsArrayPipe, AsFloatLabelTypePipe, AsObservablePipe, AudioProvider, AudioTestingModule, AudioTestingPage, AuthGuardService, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, BadgeDirective, BadgeNumberPipe, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, BooleanFormatPipe, BooleanTestPage, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CapitalizePipe, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigFragments, ConfigService, Configuration, CoreModule, CorePipesModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_PATTERN, DATE_MATCH_REGEXP, DATE_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_MENU_SHOW_WHEN, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFormatService, DateFromNowPipe, DateShortTestPage, DateTestPage, DateTimeTestPage, DateUtils, DebugComponent, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, DurationTestPage, ED25519_SEED_LENGTH, EMPTY_PLACEHOLDER_CHAR, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesAsyncTableDataSource, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, EnvironmentHttpLoader, EnvironmentLoader, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorPipe, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, GalleryTestPage, GeolocationUtils, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, IMAGE_DEFAULTS, IPosition, ImageAttachment, ImageAttachmentFilter, ImageAttachmentService, ImageGalleryModule, ImageGalleryTestingModule, ImageModule, ImageService, ImagesUtils, InMemoryEntitiesService, IsAllSelectedPipe, IsEmptySelectionPipe, IsLoginAccountPipe, IsMultipleSelectionPipe, IsNilOrBlankPipe, IsNilOrNaNPipe, IsNilPipe, IsNotAllSelectedPipe, IsNotEmptySelectionPipe, IsNotNilOrBlankPipe, IsNotNilOrNaNPipe, IsNotNilPipe, IsOnDeskPipe, IsOnFieldPipe, IsSelectedPipe, IsSingleSelectionPipe, JobModule, JobProgression, JobProgressionComponent, JobProgressionIcon, JobProgressionList, JobProgressionService, JobProgressionTestService, JobProgressionTestingPage, JobTestingModule, JobUtils, JsonUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LogLevel, LogUtils, Logger, LoggingService, LoggingServiceModule, LongitudeFormatPipe, MAT_FORM_FIELD_DEFAULT_APPEARANCE, MAT_FORM_FIELD_DEFAULT_SUBSCRIPT_SIZING, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MOMENT_NO_TIME_PROPERTY, MapGetPipe, MapKeysPipe, MapValuesPipe, MaskitoPlaceholderPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatAutocompleteFieldUtils, MatBadgeTestPage, MatBooleanField, MatChipsField, MatColorPipe, MatCommonTestPage, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItem, MenuItems, MenuOptions, MenuService, MenuTestingModule, MenuTestingPage, Message, MessageFilter, MessageForm, MessageModal, MessageModule, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NETWORK_DEFAULT_CONNECTION_TIMEOUT, NamedFilter, NamedFilterFilter, NamedFilterSelector, NetworkService, NewTokenModal, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, ObservableTestPage, OddPipe, OtherMenuTestingPage, PEER_URL_REGEXP, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertiesFormTestPage, PropertiesFormTestingModule, PropertyEntity, PropertyEntityFilter, PropertyEntityValidator, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialToStringPipe, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, RegisterForm, RegisterModal, ResizableComponent, ResizableDirective, ResizableModule, RxStateModule, SCRYPT_PARAMS, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_STORAGE_TESTING_PAGES, SHARED_TESTING_PAGES, SOCIAL_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SelectionLengthPipe, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedBadgeModule, SharedDebugModule, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedNamedFilterModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedTextFormModule, SharedToolbarModule, SharedValidators, SocialErrorCodes, SocialModule, SocialModuleOptionsToken, SocialTestingModule, Software, StartableService, StatusById, StatusIds, StatusList, StorageDrivers, StorageExplorerComponent, StorageExplorerModule, StorageExplorerTestingModule, StorageExplorerTestingRoutingModule, StorageService, StrIncludesPipe, StrLengthPipe, SubMenuTabDirective, SwipeTestPage, Table2TestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TableValidatorService, TextForm, TextFormTestingPage, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, ToastTestingModule, ToastTestingPage, Toasts, TokenScope, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, TreeItemEntityUtils, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEventModule, UserEventNotificationIcon, UserEventNotificationList, UserEventTestService, UserEventTestingModule, UserEventTestingPage, UserSettings, UserToken, UserTokenTable, UsersPage, ValueFormatPipe, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayResize, arraySize, asInputElement, booleanToString, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, collectByProperty, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, fadeInSlowAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, findParentWithClass, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, initArrayControlsFromValues, isAndroid, isBlankString, isCapacitor, isControlHasInput, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isOnFieldMode, isProgressEvent, isResponseEvent, isStartableService, isTouchUi, isWindows, joinProperties, joinPropertiesPath, lastArrayValue, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, maskitoPrefixPlugin, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, newArray, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setPropertyByPath, setTabIndex, sleep, slideInAnimation, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, undefinedIfNull, underscoreToChangeCase, updateValueAndValidity, waitFor, waitForFalse, waitForTrue, waitIdle, waitWhilePending };
42334
42364
  //# sourceMappingURL=sumaris-net.ngx-components.mjs.map