@sumaris-net/ngx-components 1.20.2 → 1.20.5

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 (33) hide show
  1. package/bundles/sumaris-net.ngx-components.umd.js +253 -46
  2. package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
  3. package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
  4. package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
  5. package/doc/changelog.md +11 -0
  6. package/esm2015/public_api.js +7 -3
  7. package/esm2015/src/app/core/install/install-upgrade-card.component.js +3 -2
  8. package/esm2015/src/app/core/services/platform.service.js +3 -2
  9. package/esm2015/src/app/shared/directives/autotitle.directive.js +27 -0
  10. package/esm2015/src/app/shared/directives/directives.module.js +6 -3
  11. package/esm2015/src/app/shared/file/csv.utils.js +90 -0
  12. package/esm2015/src/app/shared/file/file.utils.js +63 -0
  13. package/esm2015/src/app/shared/file/uri.utils.js +23 -0
  14. package/esm2015/src/app/shared/functions.js +3 -1
  15. package/esm2015/src/app/shared/pipes/form.pipes.js +21 -24
  16. package/esm2015/src/app/shared/pipes/pipes.module.js +7 -4
  17. package/esm2015/src/app/shared/pipes/property.pipes.js +98 -0
  18. package/esm2015/src/app/shared/upload-file/testing/upload-file.testing.js +2 -2
  19. package/fesm2015/sumaris-net.ngx-components.js +235 -44
  20. package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
  21. package/package.json +1 -1
  22. package/public_api.d.ts +6 -2
  23. package/src/app/shared/directives/autotitle.directive.d.ts +7 -0
  24. package/src/app/shared/file/csv.utils.d.ts +18 -0
  25. package/src/app/shared/{files.d.ts → file/file.utils.d.ts} +3 -9
  26. package/src/app/shared/file/uri.utils.d.ts +7 -0
  27. package/src/app/shared/pipes/form.pipes.d.ts +1 -1
  28. package/src/app/shared/pipes/property.pipes.d.ts +22 -0
  29. package/src/theme/_mixins.scss +2 -0
  30. package/sumaris-net.ngx-components.metadata.json +1 -1
  31. package/esm2015/src/app/shared/files.js +0 -84
  32. package/esm2015/src/app/shared/pipes/properties.pipe.js +0 -20
  33. package/src/app/shared/pipes/properties.pipe.d.ts +0 -7
@@ -314,6 +314,8 @@ function suggestFromStringArray(values, value, options) {
314
314
  function joinPropertiesPath(obj, properties, separator) {
315
315
  if (!obj)
316
316
  throw new Error('Could not display an undefined entity.');
317
+ if (!properties)
318
+ throw new Error('Missing \'properties\' argument');
317
319
  return properties
318
320
  .map(path => getPropertyByPath(obj, path))
319
321
  .filter(isNotNilOrBlank)
@@ -2892,23 +2894,6 @@ TranslatablePipe.decorators = [
2892
2894
  { type: Injectable }
2893
2895
  ];
2894
2896
 
2895
- class PropertyGetPipe {
2896
- transform(obj, args) {
2897
- return getPropertyByPath(obj,
2898
- // Path
2899
- args && (typeof args === 'string' ? args : args.key),
2900
- // Default value
2901
- args && args.defaultValue);
2902
- }
2903
- }
2904
- PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2905
- PropertyGetPipe.decorators = [
2906
- { type: Pipe, args: [{
2907
- name: 'propertyGet'
2908
- },] },
2909
- { type: Injectable, args: [{ providedIn: 'root' },] }
2910
- ];
2911
-
2912
2897
  class NgInitDirective {
2913
2898
  constructor() {
2914
2899
  this.ngInit = new EventEmitter();
@@ -4183,10 +4168,9 @@ class FormErrorTranslatePipe {
4183
4168
  * Clean any existing subscription to change events
4184
4169
  */
4185
4170
  _dispose() {
4186
- if (typeof this._onFormStatusChanges !== 'undefined') {
4187
- this._onFormStatusChanges.unsubscribe();
4188
- this._onFormStatusChanges = undefined;
4189
- }
4171
+ var _a;
4172
+ (_a = this._onFormStatusChanges) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4173
+ this._onFormStatusChanges = undefined;
4190
4174
  }
4191
4175
  }
4192
4176
  FormErrorTranslatePipe.decorators = [
@@ -4264,23 +4248,24 @@ class FormGetValuePipe {
4264
4248
  this.value = control === null || control === void 0 ? void 0 : control.value;
4265
4249
  // if there is a subscription to onLangChange, clean it
4266
4250
  this._dispose();
4267
- // subscribe to valueChanges event, in case control value change
4268
- if (!this._onControlValueChanges && control) {
4251
+ if (control) {
4252
+ // subscribe to valueChanges event
4269
4253
  this._onControlValueChanges = control.valueChanges.subscribe((value) => {
4270
4254
  if (value !== this.value) {
4271
4255
  this.value = value;
4272
4256
  this._ref.markForCheck();
4273
4257
  }
4274
4258
  });
4275
- }
4276
- if (listenStatusChanges && !this._onControlStatusChanges && control) {
4277
- this._onControlStatusChanges = control.statusChanges.subscribe((status) => {
4278
- const value = control.value;
4279
- if (value !== this.value) {
4280
- this.value = value;
4281
- this._ref.markForCheck();
4282
- }
4283
- });
4259
+ // subscribe to statusChanges event
4260
+ if (listenStatusChanges) {
4261
+ this._onControlStatusChanges = control.statusChanges.subscribe((status) => {
4262
+ const value = control.value;
4263
+ if (value !== this.value) {
4264
+ this.value = value;
4265
+ this._ref.markForCheck();
4266
+ }
4267
+ });
4268
+ }
4284
4269
  }
4285
4270
  return this.value;
4286
4271
  }
@@ -4291,14 +4276,11 @@ class FormGetValuePipe {
4291
4276
  * Clean any existing subscription to change events
4292
4277
  */
4293
4278
  _dispose() {
4294
- if (typeof this._onControlValueChanges !== 'undefined') {
4295
- this._onControlValueChanges.unsubscribe();
4296
- this._onControlValueChanges = undefined;
4297
- }
4298
- if (typeof this._onControlStatusChanges !== 'undefined') {
4299
- this._onControlStatusChanges.unsubscribe();
4300
- this._onControlStatusChanges = undefined;
4301
- }
4279
+ var _a, _b;
4280
+ (_a = this._onControlValueChanges) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4281
+ this._onControlValueChanges = undefined;
4282
+ (_b = this._onControlStatusChanges) === null || _b === void 0 ? void 0 : _b.unsubscribe();
4283
+ this._onControlStatusChanges = undefined;
4302
4284
  }
4303
4285
  }
4304
4286
  FormGetValuePipe.decorators = [
@@ -4312,6 +4294,97 @@ FormGetValuePipe.ctorParameters = () => [
4312
4294
  { type: ChangeDetectorRef }
4313
4295
  ];
4314
4296
 
4297
+ class PropertyGetPipe {
4298
+ transform(obj, args) {
4299
+ return getPropertyByPath(obj,
4300
+ // Path
4301
+ args && (typeof args === 'string' ? args : args.key),
4302
+ // Default value
4303
+ args && args.defaultValue);
4304
+ }
4305
+ }
4306
+ PropertyGetPipe.decorators = [
4307
+ { type: Pipe, args: [{
4308
+ name: 'propertyGet'
4309
+ },] }
4310
+ ];
4311
+ class PropertyFormatPipe {
4312
+ constructor(dateFormat, translate) {
4313
+ this.dateFormat = dateFormat;
4314
+ this.translate = translate;
4315
+ }
4316
+ ngOnDestroy() {
4317
+ var _a;
4318
+ (_a = this._subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
4319
+ }
4320
+ transform(obj, keyOrDefinition) {
4321
+ var _a, _b;
4322
+ if (!obj)
4323
+ return '';
4324
+ const definition = keyOrDefinition && (typeof keyOrDefinition === 'object') && keyOrDefinition;
4325
+ const key = (definition === null || definition === void 0 ? void 0 : definition.key) || keyOrDefinition;
4326
+ if (!key) {
4327
+ // Should never occur
4328
+ console.warn('Invalid use of pipe \'formatProperty\': missing key or definition');
4329
+ return '';
4330
+ }
4331
+ const value = obj[key];
4332
+ if (isNil(value))
4333
+ return value;
4334
+ const type = (definition === null || definition === void 0 ? void 0 : definition.type) || typeof value;
4335
+ switch (type) {
4336
+ case 'date':
4337
+ return this.dateFormat.transform(value);
4338
+ case 'dateTime':
4339
+ return this.dateFormat.transform(value, { time: true });
4340
+ case 'enum':
4341
+ {
4342
+ // DEBUG
4343
+ // console.debug('formatProperty by definition (type='enum', key=' +definition.key+ '):', value );
4344
+ const item = (definition.values || [value]).find(item => (isNotNil(item.key) ? item.key : item) === value);
4345
+ return item.value || item;
4346
+ }
4347
+ case 'entity':
4348
+ {
4349
+ if ((_a = definition.autocomplete) === null || _a === void 0 ? void 0 : _a.displayWith) {
4350
+ return definition.autocomplete.displayWith(value);
4351
+ }
4352
+ return joinPropertiesPath(obj, ((_b = definition.autocomplete) === null || _b === void 0 ? void 0 : _b.attributes) || ['label', 'name']) || undefined;
4353
+ }
4354
+ case 'boolean':
4355
+ return (obj === 1 || obj === true || obj === 'true') ? this.i18nYes : this.i18nNo;
4356
+ case 'integer':
4357
+ case 'double':
4358
+ case 'string':
4359
+ default:
4360
+ return value;
4361
+ }
4362
+ }
4363
+ get i18nYes() {
4364
+ if (!this._i18nYes) {
4365
+ this._i18nYes = this.translate.instant('COMMON.YES');
4366
+ }
4367
+ return this._i18nYes;
4368
+ }
4369
+ get i18nNo() {
4370
+ if (!this._i18nNo) {
4371
+ this._i18nNo = this.translate.instant('COMMON.NO');
4372
+ }
4373
+ return this._i18nNo;
4374
+ }
4375
+ }
4376
+ PropertyFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyFormatPipe_Factory() { return new PropertyFormatPipe(ɵɵinject(DateFormatPipe), ɵɵinject(TranslateService)); }, token: PropertyFormatPipe, providedIn: "root" });
4377
+ PropertyFormatPipe.decorators = [
4378
+ { type: Pipe, args: [{
4379
+ name: 'propertyFormat'
4380
+ },] },
4381
+ { type: Injectable, args: [{ providedIn: 'root' },] }
4382
+ ];
4383
+ PropertyFormatPipe.ctorParameters = () => [
4384
+ { type: DateFormatPipe },
4385
+ { type: TranslateService }
4386
+ ];
4387
+
4315
4388
  class SharedPipesModule {
4316
4389
  }
4317
4390
  SharedPipesModule.decorators = [
@@ -4323,6 +4396,7 @@ SharedPipesModule.decorators = [
4323
4396
  ],
4324
4397
  declarations: [
4325
4398
  PropertyGetPipe,
4399
+ PropertyFormatPipe,
4326
4400
  DateFormatPipe,
4327
4401
  DateDiffDurationPipe,
4328
4402
  DurationPipe,
@@ -4359,10 +4433,12 @@ SharedPipesModule.decorators = [
4359
4433
  FormGetControlPipe,
4360
4434
  FormGetArrayPipe,
4361
4435
  FormGetGroupPipe,
4362
- FormGetValuePipe
4436
+ FormGetValuePipe,
4437
+ PropertyFormatPipe
4363
4438
  ],
4364
4439
  exports: [
4365
4440
  PropertyGetPipe,
4441
+ PropertyFormatPipe,
4366
4442
  DateFormatPipe,
4367
4443
  DateFromNowPipe,
4368
4444
  DateDiffDurationPipe,
@@ -4562,6 +4638,32 @@ DragAndDropDirective.propDecorators = {
4562
4638
  ondrop: [{ type: HostListener, args: ['drop', ['$event'],] }]
4563
4639
  };
4564
4640
 
4641
+ const compatibleTagNames = ['ion-label', 'mat-label'];
4642
+ class AutoTitleDirective {
4643
+ constructor(elementRef) {
4644
+ var _a;
4645
+ this.elementRef = elementRef;
4646
+ // Check compatible tag
4647
+ if (compatibleTagNames.includes((_a = elementRef.nativeElement.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase())) {
4648
+ this.element = elementRef.nativeElement;
4649
+ }
4650
+ }
4651
+ ngAfterContentChecked() {
4652
+ // Update title if different
4653
+ if (this.element && this.element.title !== this.element.textContent) {
4654
+ this.element.title = this.element.textContent;
4655
+ }
4656
+ }
4657
+ }
4658
+ AutoTitleDirective.decorators = [
4659
+ { type: Directive, args: [{
4660
+ selector: '[appAutoTitle]',
4661
+ },] }
4662
+ ];
4663
+ AutoTitleDirective.ctorParameters = () => [
4664
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
4665
+ ];
4666
+
4565
4667
  class SharedDirectivesModule {
4566
4668
  }
4567
4669
  SharedDirectivesModule.decorators = [
@@ -4573,12 +4675,14 @@ SharedDirectivesModule.decorators = [
4573
4675
  declarations: [
4574
4676
  AutofocusDirective,
4575
4677
  NgVarDirective,
4576
- DragAndDropDirective
4678
+ DragAndDropDirective,
4679
+ AutoTitleDirective
4577
4680
  ],
4578
4681
  exports: [
4579
4682
  AutofocusDirective,
4580
4683
  NgVarDirective,
4581
- DragAndDropDirective
4684
+ DragAndDropDirective,
4685
+ AutoTitleDirective
4582
4686
  ]
4583
4687
  },] }
4584
4688
  ];
@@ -15963,6 +16067,8 @@ class FilesUtils {
15963
16067
  return $progress.asObservable();
15964
16068
  }
15965
16069
  }
16070
+ FilesUtils.UTF8_BOM_CHAR = new Uint8Array([0xEF, 0xBB, 0xBF]); // UTF-8 BOM
16071
+
15966
16072
  class UriUtils {
15967
16073
  /**
15968
16074
  * Extract the filename, from an uri (using the last slash)
@@ -18081,6 +18187,91 @@ class JobUtils {
18081
18187
  }
18082
18188
  }
18083
18189
 
18190
+ //@dynamic
18191
+ class CsvUtils {
18192
+ static exportToFile(rows, opts) {
18193
+ if (!rows || !rows.length)
18194
+ return; // Skip if empty
18195
+ const filename = (opts === null || opts === void 0 ? void 0 : opts.filename) || 'export.csv';
18196
+ const charset = ((opts === null || opts === void 0 ? void 0 : opts.encoding) || 'utf-8').toLowerCase();
18197
+ const separator = (opts === null || opts === void 0 ? void 0 : opts.separator) || ',';
18198
+ const protectCellRegexp = new RegExp("/(\"|" + separator + "|\n)/g");
18199
+ const keys = Object.keys(rows[0]);
18200
+ const headers = (opts === null || opts === void 0 ? void 0 : opts.headers) || keys;
18201
+ const csvContent =
18202
+ // Header row
18203
+ headers.join(separator) + '\n' +
18204
+ // Data rows
18205
+ rows.map(row => {
18206
+ return keys.map(k => {
18207
+ const cell = row[k] === null || row[k] === undefined ? '' : row[k];
18208
+ let cellStr = cell instanceof Date
18209
+ ? cell.toLocaleString()
18210
+ : cell.toString().replace(/"/g, '""');
18211
+ if (protectCellRegexp.test(cellStr)) {
18212
+ cellStr = `"${cellStr}"`;
18213
+ }
18214
+ return cellStr;
18215
+ }).join(separator);
18216
+ }).join('\n');
18217
+ const blob = new Blob((charset === 'utf-8')
18218
+ // Add UTF-8 BOM character
18219
+ ? [FilesUtils.UTF8_BOM_CHAR, csvContent]
18220
+ // Non UTF-8 charset
18221
+ : [csvContent], { type: `text/csv;charset=${charset};` });
18222
+ if (navigator.msSaveBlob) { // IE 10+
18223
+ navigator.msSaveBlob(blob, filename);
18224
+ }
18225
+ else {
18226
+ const link = document.createElement('a');
18227
+ if (link.download !== undefined) {
18228
+ // Browsers that support HTML5 download attribute
18229
+ const url = URL.createObjectURL(blob);
18230
+ link.setAttribute('href', url);
18231
+ link.setAttribute('download', filename);
18232
+ link.style.visibility = 'hidden';
18233
+ document.body.appendChild(link);
18234
+ link.click();
18235
+ document.body.removeChild(link);
18236
+ }
18237
+ }
18238
+ }
18239
+ static parseFile(file, opts) {
18240
+ return FilesUtils.readAsText(file, opts === null || opts === void 0 ? void 0 : opts.encoding)
18241
+ .pipe(map(e => {
18242
+ if (e.type === HttpEventType.UploadProgress) {
18243
+ const loaded = Math.round(e.loaded * 0.8);
18244
+ return Object.assign(Object.assign({}, e), { loaded });
18245
+ }
18246
+ else if (e instanceof FileResponse) {
18247
+ const body = e.body;
18248
+ const data = CsvUtils.parseCSV(body, opts);
18249
+ return new FileResponse({ body: data });
18250
+ }
18251
+ }), filter(isNotNil));
18252
+ }
18253
+ static parseCSV(body, opts) {
18254
+ const separator = (opts === null || opts === void 0 ? void 0 : opts.separator) || ',';
18255
+ const skipEmptyLine = !opts || opts.skipEmptyLine !== false;
18256
+ // Protect special characters (quote and /n)
18257
+ body = body.replace('""', '<quote>') // Protect double quote
18258
+ .replace(/("[^\n"]+)\n\r?/gm, '"$1<br>') // Protect \n inside a quoted expression
18259
+ .replace(/\n\r/gm, '\n'); // Windows CR
18260
+ const headerAndRows = body.split('\n', 2);
18261
+ const headers = headerAndRows[0].split(separator);
18262
+ return body.split('\n') // split into rows
18263
+ .filter(line => !skipEmptyLine || line.trim().length > 0) // Skip empty line
18264
+ .map(line => {
18265
+ const cells = line.split(separator, headers.length) // split into cells
18266
+ .map(cell => cell.replace(/^"([^"]*)"$/, '$1')) // Clean trailing quotes
18267
+ .map(cell => cell.replace('<quote>', '"')) // restore protected quote
18268
+ .map(cell => cell.replace('<br>', '\n')) // restore protected br
18269
+ ;
18270
+ return cells;
18271
+ });
18272
+ }
18273
+ }
18274
+
18084
18275
  /**
18085
18276
  * Define here theme colors
18086
18277
  */
@@ -27792,5 +27983,5 @@ CoreTestingModule.decorators = [
27792
27983
  * Generated bundle index. Do not edit.
27793
27984
  */
27794
27985
 
27795
- 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, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, 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, 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, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, 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, 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 };
27986
+ 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, 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, 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, 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 };
27796
27987
  //# sourceMappingURL=sumaris-net.ngx-components.js.map