@sumaris-net/ngx-components 1.20.18 → 1.20.21

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.
@@ -4870,8 +4870,8 @@ class MatLatLongField {
4870
4870
  return;
4871
4871
  const value = (typeof obj === 'string') ? parseFloat(obj.replace(/,/g, '.')) : obj;
4872
4872
  this._writing = true;
4873
- const strValue = this._formatFn(this.value, Object.assign(Object.assign({}, this._formatOptions), { placeholderChar: this.placeholderChar }));
4874
- const sign = isNotNil(this.value) ? (value < 0 ? -1 : 1) :
4873
+ const strValue = this._formatFn(value, Object.assign(Object.assign({}, this._formatOptions), { placeholderChar: this.placeholderChar }));
4874
+ const sign = isNotNil(value) ? (value < 0 ? -1 : 1) :
4875
4875
  // Use default sign, if any
4876
4876
  (this.defaultSign ? (this.defaultSign === '-' ? -1 : 1) : null);
4877
4877
  // DEBUG
@@ -4913,7 +4913,8 @@ class MatLatLongField {
4913
4913
  }
4914
4914
  _onFocus(event) {
4915
4915
  // Apply the default sign, when pattern is DD and field is empty
4916
- if (isNil(this.value)) {
4916
+ const value = this.formControl.value;
4917
+ if (isNilOrNaN(value)) {
4917
4918
  if (this.defaultSign) {
4918
4919
  // Compute the text value, using the default sign
4919
4920
  const defaultSign = this.defaultSign === '-' ? -1 : 1;
@@ -4943,8 +4944,9 @@ class MatLatLongField {
4943
4944
  return true;
4944
4945
  }
4945
4946
  _onBlur(event) {
4947
+ var _a;
4946
4948
  const touched = this.checkIfTouched();
4947
- if (touched && isNil(this.value)) {
4949
+ if (touched && isNil((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.value)) {
4948
4950
  this.inputElement.nativeElement.value = '';
4949
4951
  }
4950
4952
  this.onBlur.emit(event);
@@ -5045,7 +5047,7 @@ class MatLatLongField {
5045
5047
  this.formControl.patchValue(value, { emitEvent: false });
5046
5048
  this._writing = false;
5047
5049
  this.markForCheck();
5048
- this._onChangeCallback(this.value);
5050
+ this._onChangeCallback(value);
5049
5051
  }
5050
5052
  checkIfTouched() {
5051
5053
  if (this.formControl.touched || this.textFormControl.touched) {
@@ -24528,7 +24530,8 @@ AppEditor.propDecorators = {
24528
24530
  };
24529
24531
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
24530
24532
  class AppTabEditor extends AppEditor {
24531
- constructor(route, router, alertCtrl, translate, options) {
24533
+ constructor(route, // Modal editor give 'null'
24534
+ router, alertCtrl, translate, options) {
24532
24535
  super(route, router, alertCtrl, translate);
24533
24536
  this.route = route;
24534
24537
  this.router = router;
@@ -24540,6 +24543,7 @@ class AppTabEditor extends AppEditor {
24540
24543
  this.tabCount = options.tabCount;
24541
24544
  this.enableSwipe = options.enableSwipe;
24542
24545
  this.tabGroupAnimationDuration = options.tabGroupAnimationDuration;
24546
+ this.queryTabIndexParamName = 'tab';
24543
24547
  }
24544
24548
  set selectedTabIndex(value) {
24545
24549
  this.setSelectedTabIndex(value);
@@ -24549,9 +24553,8 @@ class AppTabEditor extends AppEditor {
24549
24553
  }
24550
24554
  ngOnInit() {
24551
24555
  super.ngOnInit();
24552
- this.queryTabIndexParamName = this.queryTabIndexParamName || 'tab';
24553
24556
  // Read the selected tab index, from path query params
24554
- if (this.tabGroup) {
24557
+ if (this.tabGroup && this.route && this.queryTabIndexParamName) {
24555
24558
  this.registerSubscription(this.route.queryParams
24556
24559
  .subscribe(queryParams => {
24557
24560
  this.queryParams = Object.assign({}, queryParams);
@@ -24595,8 +24598,8 @@ class AppTabEditor extends AppEditor {
24595
24598
  }
24596
24599
  onTabChange(event, queryTabIndexParamName) {
24597
24600
  queryTabIndexParamName = queryTabIndexParamName || this.queryTabIndexParamName;
24598
- if (!queryTabIndexParamName)
24599
- return true; // Skip if tab query param not set
24601
+ if (!queryTabIndexParamName || !this.route)
24602
+ return true; // Skip if tab query param not set, or no route
24600
24603
  if (!this.queryParams || +this.queryParams[queryTabIndexParamName] !== event.index) {
24601
24604
  this.queryParams = this.queryParams || {};
24602
24605
  this.queryParams[queryTabIndexParamName] = event.index;
@@ -24667,7 +24670,7 @@ AppTabEditor.decorators = [
24667
24670
  { type: Directive }
24668
24671
  ];
24669
24672
  AppTabEditor.ctorParameters = () => [
24670
- { type: ActivatedRoute },
24673
+ { type: ActivatedRoute, decorators: [{ type: Optional }] },
24671
24674
  { type: Router },
24672
24675
  { type: AlertController },
24673
24676
  { type: TranslateService },
@@ -25353,6 +25356,406 @@ AppEntityEditor.ctorParameters = () => [
25353
25356
  { type: AppEditorOptions, decorators: [{ type: Optional }] }
25354
25357
  ];
25355
25358
 
25359
+ class AppEntityEditorModalOptions extends AppTabEditorOptions {
25360
+ }
25361
+ // @dynamic
25362
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
25363
+ class AppEntityEditorModal extends AppTabEditor {
25364
+ constructor(injector, dataType, options) {
25365
+ super(null, injector.get(Router), injector.get(AlertController), injector.get(TranslateService), options);
25366
+ this.dataType = dataType;
25367
+ this.saving = false;
25368
+ this.$title = new Subject();
25369
+ this.i18nSuffix = null;
25370
+ this.environement = injector.get(ENVIRONMENT);
25371
+ options = Object.assign({
25372
+ // Default options
25373
+ i18nPrefix: '' }, options);
25374
+ this.queryTabIndexParamName = undefined; // Important: avoid query parameter changed
25375
+ this.settings = injector.get(LocalSettingsService);
25376
+ this.errorTranslator = injector.get(FormErrorTranslator);
25377
+ this.cd = injector.get(ChangeDetectorRef);
25378
+ this.dateFormat = injector.get(DateFormatPipe);
25379
+ this.modalCtrl = injector.get(ModalController);
25380
+ this.i18nContext = {
25381
+ prefix: options.i18nPrefix,
25382
+ suffix: this.i18nSuffix || ''
25383
+ };
25384
+ // FOR DEV ONLY ----
25385
+ //this.debug = !environment.production;
25386
+ }
25387
+ set isNewData(value) {
25388
+ this._isNewData = value;
25389
+ }
25390
+ get isNewData() {
25391
+ var _a;
25392
+ return isNotNil(this._isNewData) ? this._isNewData : isNil((_a = this.data) === null || _a === void 0 ? void 0 : _a.id);
25393
+ }
25394
+ set disabled(value) {
25395
+ this._enabled = !value;
25396
+ }
25397
+ get disabled() {
25398
+ return !this._enabled;
25399
+ }
25400
+ get isOnFieldMode() {
25401
+ return this.settings.isOnFieldMode(this._usageMode);
25402
+ }
25403
+ markAsSaving(opts) {
25404
+ if (!this.saving) {
25405
+ this.saving = true;
25406
+ if (!opts || opts.emitEvent !== false)
25407
+ this.markForCheck();
25408
+ }
25409
+ }
25410
+ markAsSaved(opts) {
25411
+ if (this.saving) {
25412
+ this.saving = false;
25413
+ if (!opts || opts.emitEvent !== false)
25414
+ this.markForCheck();
25415
+ }
25416
+ }
25417
+ ngOnInit() {
25418
+ const _super = Object.create(null, {
25419
+ ngOnInit: { get: () => super.ngOnInit }
25420
+ });
25421
+ return __awaiter(this, void 0, void 0, function* () {
25422
+ // Default values
25423
+ this.mobile = isNotNil(this.mobile) ? this.mobile : this.settings.mobile;
25424
+ _super.ngOnInit.call(this);
25425
+ // Register forms
25426
+ this.registerForms();
25427
+ // Disable
25428
+ if (this.disabled)
25429
+ this.disable();
25430
+ // Update title each time value changes
25431
+ if (!this.isNewData) {
25432
+ this.registerSubscription(this.form.valueChanges
25433
+ .pipe(debounceTime(250))
25434
+ .subscribe(json => this.updateTitle(json)));
25435
+ }
25436
+ });
25437
+ }
25438
+ ngAfterViewInit() {
25439
+ super.ngAfterViewInit();
25440
+ if (this.onAfterModalInit) {
25441
+ Promise.resolve(this.onAfterModalInit(this))
25442
+ .then(() => this.load());
25443
+ }
25444
+ else {
25445
+ this.load();
25446
+ }
25447
+ }
25448
+ ngOnDestroy() {
25449
+ super.ngOnDestroy();
25450
+ this.$title.complete();
25451
+ this.$title.unsubscribe();
25452
+ }
25453
+ waitIdle(opts) {
25454
+ // Wait end of saving
25455
+ if (this.saving)
25456
+ return waitFor(() => this.saving !== true);
25457
+ return super.waitIdle(opts);
25458
+ }
25459
+ load() {
25460
+ return __awaiter(this, void 0, void 0, function* () {
25461
+ this.markAsReady();
25462
+ this.markAsLoading();
25463
+ try {
25464
+ yield this.updateView(this.data);
25465
+ }
25466
+ catch (err) {
25467
+ this.setError(err);
25468
+ this.selectedTabIndex = 0;
25469
+ }
25470
+ finally {
25471
+ this.markAsPristine();
25472
+ this.markAsLoaded();
25473
+ }
25474
+ });
25475
+ }
25476
+ reload() {
25477
+ if (this.dirty) {
25478
+ return this.load();
25479
+ }
25480
+ }
25481
+ unload(opts) {
25482
+ throw new Error("No implemented on modal");
25483
+ }
25484
+ updateView(data, opts) {
25485
+ return __awaiter(this, void 0, void 0, function* () {
25486
+ this.resetError();
25487
+ if (!this.data)
25488
+ throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
25489
+ yield this.setValue(data);
25490
+ if (!opts || opts.emitEvent !== false) {
25491
+ this.markAsPristine();
25492
+ this.markAsUntouched();
25493
+ this.updateViewState(data);
25494
+ // Update the title.
25495
+ this.updateTitle(data);
25496
+ }
25497
+ });
25498
+ }
25499
+ /**
25500
+ * Enable or disable state
25501
+ */
25502
+ updateViewState(data, opts) {
25503
+ if (this.isNewData || this.enabled) {
25504
+ this.enable(opts);
25505
+ }
25506
+ else {
25507
+ this.disable(opts);
25508
+ // Allow to sort table
25509
+ this.tables.forEach(t => t.enableSort());
25510
+ }
25511
+ }
25512
+ saveAndClose(event) {
25513
+ return __awaiter(this, void 0, void 0, function* () {
25514
+ const data = yield this.saveAndGetDataIfValid();
25515
+ if (data) {
25516
+ this.modalCtrl.dismiss(data);
25517
+ return true;
25518
+ }
25519
+ return false;
25520
+ });
25521
+ }
25522
+ close(event) {
25523
+ return __awaiter(this, void 0, void 0, function* () {
25524
+ if (this.dirty) {
25525
+ const saveBeforeLeave = yield Alerts.askSaveBeforeLeave(this.alertCtrl, this.translate, event);
25526
+ // User cancelled
25527
+ if (isNil(saveBeforeLeave) || event && event.defaultPrevented) {
25528
+ return;
25529
+ }
25530
+ // Is user confirm: close normally
25531
+ if (saveBeforeLeave === true) {
25532
+ yield this.saveAndClose(event);
25533
+ return;
25534
+ }
25535
+ }
25536
+ yield this.modalCtrl.dismiss();
25537
+ });
25538
+ }
25539
+ /**
25540
+ * Save the editor, by calling the dataService.save().
25541
+ * Ensure that editor if valid. If not, display an error
25542
+ * @param event
25543
+ * @param opts
25544
+ */
25545
+ save(event, opts) {
25546
+ return __awaiter(this, void 0, void 0, function* () {
25547
+ if (this.loading || this.saving || this.disabled) {
25548
+ console.debug(this._logPrefix + 'Skip save: modal is busy (loading or saving)');
25549
+ return false;
25550
+ }
25551
+ if (!this.dirty) {
25552
+ console.debug(this._logPrefix + 'Skip save: modal not dirty');
25553
+ return true;
25554
+ }
25555
+ // Wait end of async validation
25556
+ yield this.waitWhilePending();
25557
+ // If invalid
25558
+ if (this.invalid) {
25559
+ this.logFormErrors();
25560
+ this.setError('COMMON.FORM.HAS_ERROR');
25561
+ this.markAllAsTouched();
25562
+ this.openFirstInvalidTab();
25563
+ this.scrollToTop();
25564
+ this.submitted = true;
25565
+ return false;
25566
+ }
25567
+ this.markAsSaving();
25568
+ this.resetError();
25569
+ if (this.debug)
25570
+ console.debug(this._logPrefix + 'Saving data...');
25571
+ try {
25572
+ // Save all dirty tables
25573
+ const saved = Promise.all((this.tables || [])
25574
+ .filter(c => c.dirty)
25575
+ .map(c => c.save()))
25576
+ .then(res => res.findIndex(r => r !== true) === -1);
25577
+ this.data = yield this.getValue();
25578
+ this.submitted = true;
25579
+ return saved;
25580
+ }
25581
+ catch (err) {
25582
+ this.submitted = true;
25583
+ this.setError(err);
25584
+ this.selectedTabIndex = 0;
25585
+ this.scrollToTop(); // Scroll to top (to show error)
25586
+ this.markAsDirty();
25587
+ this.enable();
25588
+ return false;
25589
+ }
25590
+ finally {
25591
+ this.markAsSaved();
25592
+ }
25593
+ });
25594
+ }
25595
+ /**
25596
+ * Save data (if dirty and valid), and return it. Otherwise, return nil value.
25597
+ */
25598
+ saveAndGetDataIfValid() {
25599
+ return __awaiter(this, void 0, void 0, function* () {
25600
+ // Form is not valid
25601
+ if (!this.valid) {
25602
+ // Make sure validation is finished
25603
+ yield AppFormUtils.waitWhilePending(this);
25604
+ // If invalid: Open the first tab in error
25605
+ if (this.invalid) {
25606
+ this.openFirstInvalidTab();
25607
+ return undefined;
25608
+ }
25609
+ // Continue (valid)
25610
+ }
25611
+ // Form is valid, but not saved
25612
+ if (this.dirty) {
25613
+ const saved = yield this.save(new Event('save'));
25614
+ if (!saved)
25615
+ return undefined;
25616
+ }
25617
+ // Valid and saved data
25618
+ return this.data;
25619
+ });
25620
+ }
25621
+ delete(event) {
25622
+ return __awaiter(this, void 0, void 0, function* () {
25623
+ if (this.loading || this.saving)
25624
+ return false;
25625
+ this.markAsSaving();
25626
+ this.resetError();
25627
+ try {
25628
+ // Delegate deletion to modal caller
25629
+ if (this.onDelete) {
25630
+ const result = yield this.onDelete(event, this.data);
25631
+ // User cancelled
25632
+ if (isNil(result) || (event && event.defaultPrevented))
25633
+ return;
25634
+ if (result) {
25635
+ yield this.modalCtrl.dismiss(this.data, 'delete');
25636
+ }
25637
+ }
25638
+ // Or dismiss, with the role 'delete'
25639
+ else {
25640
+ if (this.isNewData) {
25641
+ console.error(this._logPrefix + "Trying to delete a new data. Make no sense!");
25642
+ }
25643
+ yield this.modalCtrl.dismiss(this.data, 'delete');
25644
+ }
25645
+ }
25646
+ catch (err) {
25647
+ this.submitted = true;
25648
+ this.setError(err);
25649
+ this.selectedTabIndex = 0;
25650
+ this.markAsSaved();
25651
+ if (this.enabled)
25652
+ this.enable();
25653
+ return false;
25654
+ }
25655
+ });
25656
+ }
25657
+ resetError(opts) {
25658
+ if (isNotNilOrBlank(this.error)) {
25659
+ this.error = null;
25660
+ if (!opts || opts.emitEvent !== false)
25661
+ this.markForCheck();
25662
+ }
25663
+ }
25664
+ setError(err, opts) {
25665
+ if (!err) {
25666
+ this.error = undefined;
25667
+ }
25668
+ else if (typeof err === 'string') {
25669
+ console.error('[entity-editor] Error: ' + (err || ''));
25670
+ this.error = err;
25671
+ }
25672
+ else {
25673
+ console.error('[entity-editor] Error: ' + err.message || '', err);
25674
+ let userMessage = err.message && this.translate.instant(err.message) || err;
25675
+ // Add details error (if any) under the main message
25676
+ const detailMessage = (!err.details || typeof err.details === 'string')
25677
+ ? err.details
25678
+ : err.details.message;
25679
+ if (isNotNilOrBlank(detailMessage)) {
25680
+ const cssClass = (opts === null || opts === void 0 ? void 0 : opts.detailsCssClass) || 'hidden-xs hidden-sm';
25681
+ userMessage += `<br/><small class="${cssClass}" title="${detailMessage}">`;
25682
+ userMessage += detailMessage.length < 70 ? detailMessage : detailMessage.substring(0, 67) + '...';
25683
+ userMessage += '</small>';
25684
+ }
25685
+ this.error = userMessage;
25686
+ }
25687
+ if (!opts || opts.emitEvent !== false)
25688
+ this.markForCheck();
25689
+ }
25690
+ /* -- protected methods -- */
25691
+ waitWhilePending(opts) {
25692
+ return AppFormUtils.waitWhilePending(this, opts);
25693
+ }
25694
+ getValue() {
25695
+ return __awaiter(this, void 0, void 0, function* () {
25696
+ const json = yield this.getJsonValueToSave();
25697
+ const res = new this.dataType();
25698
+ res.fromObject(json);
25699
+ return res;
25700
+ });
25701
+ }
25702
+ getJsonValueToSave() {
25703
+ return Promise.resolve(this.form.value);
25704
+ }
25705
+ /**
25706
+ * Compute the title
25707
+ *
25708
+ * @param data
25709
+ */
25710
+ updateTitle(data) {
25711
+ return __awaiter(this, void 0, void 0, function* () {
25712
+ data = data || this.data;
25713
+ const title = yield this.computeTitle(data);
25714
+ this.$title.next(title);
25715
+ });
25716
+ }
25717
+ scrollToTop(duration) {
25718
+ return __awaiter(this, void 0, void 0, function* () {
25719
+ if (this.content) {
25720
+ return this.content.scrollToTop(duration);
25721
+ }
25722
+ });
25723
+ }
25724
+ markForCheck() {
25725
+ var _a;
25726
+ (_a = this.cd) === null || _a === void 0 ? void 0 : _a.markForCheck();
25727
+ }
25728
+ /* -- private functions -- */
25729
+ /**
25730
+ * Open the first tab that is invalid
25731
+ */
25732
+ openFirstInvalidTab() {
25733
+ const invalidTabIndex = this.getFirstInvalidTabIndex();
25734
+ if (invalidTabIndex !== -1 && this.selectedTabIndex !== invalidTabIndex) {
25735
+ this.selectedTabIndex = invalidTabIndex;
25736
+ this.markForCheck();
25737
+ }
25738
+ }
25739
+ }
25740
+ AppEntityEditorModal.decorators = [
25741
+ { type: Directive }
25742
+ ];
25743
+ AppEntityEditorModal.ctorParameters = () => [
25744
+ { type: Injector },
25745
+ { type: Function },
25746
+ { type: undefined, decorators: [{ type: Optional }] }
25747
+ ];
25748
+ AppEntityEditorModal.propDecorators = {
25749
+ data: [{ type: Input }],
25750
+ mobile: [{ type: Input }],
25751
+ usageMode: [{ type: Input }],
25752
+ onAfterModalInit: [{ type: Input }],
25753
+ onDelete: [{ type: Input }],
25754
+ i18nSuffix: [{ type: Input }],
25755
+ isNewData: [{ type: Input }],
25756
+ disabled: [{ type: Input }]
25757
+ };
25758
+
25356
25759
  // @dynamic
25357
25760
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
25358
25761
  class AppInMemoryTable extends AppTable {
@@ -28124,5 +28527,5 @@ CoreTestingModule.decorators = [
28124
28527
  * Generated bundle index. Do not edit.
28125
28528
  */
28126
28529
 
28127
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AndroidOsEnvironment, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_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, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuService, Message, MessageFilter, MessageForm, MessageModal, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, ResizableComponent, ResizableDirective, ResizableModule, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialErrorCodes, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEvent, UserEventFilter, UserEventFragments, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, 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, isAndroid, isBlankString, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moment$5 as moment, moveInputCaretToSeparator, 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, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, tz, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh, AppUpdateOfflineModeCard as ɵi, AppIconComponent as ɵj, DateTestPage as ɵk, NumpadTestPage as ɵl, MatBadgeIconTestPage as ɵm, ToastTestingModule as ɵn, ToastTestingPage as ɵo };
28530
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AndroidOsEnvironment, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_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, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuService, Message, MessageFilter, MessageForm, MessageModal, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, ResizableComponent, ResizableDirective, ResizableModule, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialErrorCodes, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEvent, UserEventFilter, UserEventFragments, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, 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, isAndroid, isBlankString, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moment$5 as moment, moveInputCaretToSeparator, 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, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, tz, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh, AppUpdateOfflineModeCard as ɵi, AppIconComponent as ɵj, DateTestPage as ɵk, NumpadTestPage as ɵl, MatBadgeIconTestPage as ɵm, ToastTestingModule as ɵn, ToastTestingPage as ɵo };
28128
28531
  //# sourceMappingURL=sumaris-net.ngx-components.js.map