@sumaris-net/ngx-components 0.27.22 → 0.28.2

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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/cdk/table'), require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/table'), require('@angular/material/sort'), require('@angular/material/paginator'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/checkbox'), require('@angular/material/expansion'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/card'), require('@angular/material/tabs'), require('@angular/material/stepper'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/material/progress-spinner'), require('@angular/material/progress-bar'), require('@angular/material/radio'), require('@angular/material/badge'), require('@angular/material/slide-toggle'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@ngx-translate/core'), require('@ionic/angular'), require('moment'), require('@angular/material-moment-adapter'), require('@ngx-translate/core/lib/util'), require('@ionic-native/keyboard/ngx'), require('angular2-text-mask'), require('ngx-material-timepicker'), require('@angular/material/datepicker'), require('@angular/animations'), require('@angular/material/divider'), require('@angular/material/tooltip'), require('@angular/material/chips'), require('@angular/router'), require('@angular/platform-browser'), require('@angular/common/http'), require('ngx-color-picker'), require('@ionic-native/native-audio/ngx'), require('@ionic-native/vibration/ngx'), require('@ionic-native/audio-management/ngx'), require('@ionic-native/native-audio/ngx/index'), require('@ionic-native/vibration/ngx/index'), require('@ionic-native/audio-management/ngx/index'), require('uuid/v4'), require('@angular/cdk/drag-drop'), require('ngx-markdown'), require('tweetnacl'), require('@ionic/storage'), require('zone.js/dist/zone-error'), require('@ionic-native/splash-screen/ngx'), require('@ionic-native/network/ngx'), require('ionic-cache'), require('ionic-cache/dist/cache.service'), require('@ionic-native/network/ngx/index'), require('@ionic-native/splash-screen/ngx/index'), require('@ionic-native/status-bar/ngx'), require('@angular/cdk/platform'), require('@ionic-native/in-app-browser/ngx'), require('@apollo/client/core'), require('apollo-angular'), require('@apollo/client/link/ws'), require('@apollo/client/utilities'), require('@apollo/client/link/retry'), require('apollo-link-queue'), require('apollo-link-serialize'), require('apollo-link-logger'), require('apollo-angular/http'), require('apollo3-cache-persist'), require('@ionic-native/downloader/ngx'), require('@ionic-native/status-bar/ngx/index'), require('@ionic-native/keyboard/ngx/index'), require('@ionic-native/in-app-browser/ngx/index'), require('@ionic-native/downloader/ngx/index'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs')) :
3
- typeof define === 'function' && define.amd ? define('@sumaris-net/ngx-components', ['exports', '@angular/core', '@angular/common', '@angular/cdk/table', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/table', '@angular/material/sort', '@angular/material/paginator', '@angular/material/form-field', '@angular/material/input', '@angular/material/checkbox', '@angular/material/expansion', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/button', '@angular/material/menu', '@angular/material/select', '@angular/material/card', '@angular/material/tabs', '@angular/material/stepper', '@angular/material/list', '@angular/material/button-toggle', '@angular/material/progress-spinner', '@angular/material/progress-bar', '@angular/material/radio', '@angular/material/badge', '@angular/material/slide-toggle', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/forms', 'rxjs', 'rxjs/operators', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ngx-translate/core/lib/util', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@angular/animations', '@angular/material/divider', '@angular/material/tooltip', '@angular/material/chips', '@angular/router', '@angular/platform-browser', '@angular/common/http', 'ngx-color-picker', '@ionic-native/native-audio/ngx', '@ionic-native/vibration/ngx', '@ionic-native/audio-management/ngx', '@ionic-native/native-audio/ngx/index', '@ionic-native/vibration/ngx/index', '@ionic-native/audio-management/ngx/index', 'uuid/v4', '@angular/cdk/drag-drop', 'ngx-markdown', 'tweetnacl', '@ionic/storage', 'zone.js/dist/zone-error', '@ionic-native/splash-screen/ngx', '@ionic-native/network/ngx', 'ionic-cache', 'ionic-cache/dist/cache.service', '@ionic-native/network/ngx/index', '@ionic-native/splash-screen/ngx/index', '@ionic-native/status-bar/ngx', '@angular/cdk/platform', '@ionic-native/in-app-browser/ngx', '@apollo/client/core', 'apollo-angular', '@apollo/client/link/ws', '@apollo/client/utilities', '@apollo/client/link/retry', 'apollo-link-queue', 'apollo-link-serialize', 'apollo-link-logger', 'apollo-angular/http', 'apollo3-cache-persist', '@ionic-native/downloader/ngx', '@ionic-native/status-bar/ngx/index', '@ionic-native/keyboard/ngx/index', '@ionic-native/in-app-browser/ngx/index', '@ionic-native/downloader/ngx/index', '@e-is/ngx-material-table', '@angular/cdk/collections', 'ngx-jdenticon', 'tweetnacl-util', 'scrypt-async', 'hammerjs'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["sumaris-net"] = global["sumaris-net"] || {}, global["sumaris-net"]["ngx-components"] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global["ngx-translate"].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global.util, global["ionic-native"].keyboard.ngx, global["angular2-text-mask"], global["ngx-material-timepicker"], global.ng.material.datepicker, global.ng.animations, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global["ngx-color-picker"], global["ionic-native"]["native-audio"].ngx, global["ionic-native"].vibration.ngx, global["ionic-native"]["audio-management"].ngx, global["ionic-native"]["native-audio"].ngx.index, global["ionic-native"].vibration.ngx.index, global["ionic-native"]["audio-management"].ngx.index, global.uuid.v4, global.ng.cdk.dragDrop, global["ngx-markdown"], global.tweetnacl, global.ionic.storage, null, global["ionic-native"]["splash-screen"].ngx, global["ionic-native"].network.ngx, global["ionic-cache"], global["ionic-cache/dist/cache"].service, global["ionic-native"].network.ngx.index, global["ionic-native"]["splash-screen"].ngx.index, global["ionic-native"]["status-bar"].ngx, global.ng.cdk.platform, global["ionic-native"]["in-app-browser"].ngx, global.apollo.client.core, global["apollo-angular"], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global["apollo-link-queue"], global["apollo-link-serialize"], global["apollo-link-logger"], global["apollo-angular"].http, global["apollo3-cache-persist"], global.ngx$6, global["ionic-native"]["status-bar"].ngx.index, global["ionic-native"].keyboard.ngx.index, global["ionic-native"]["in-app-browser"].ngx.index, global.i18, global["e-is"]["ngx-material-table"], global.ng.cdk.collections, global["ngx-jdenticon"]));
5
- })(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, i1$2, i1$5, momentImported, i1$1, util, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, animations, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/cdk/table'), require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('@angular/material/table'), require('@angular/material/sort'), require('@angular/material/paginator'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/checkbox'), require('@angular/material/expansion'), require('@angular/material/toolbar'), require('@angular/material/icon'), require('@angular/material/button'), require('@angular/material/menu'), require('@angular/material/select'), require('@angular/material/card'), require('@angular/material/tabs'), require('@angular/material/stepper'), require('@angular/material/list'), require('@angular/material/button-toggle'), require('@angular/material/progress-spinner'), require('@angular/material/progress-bar'), require('@angular/material/radio'), require('@angular/material/badge'), require('@angular/material/slide-toggle'), require('@angular/material/dialog'), require('@angular/material/autocomplete'), require('@angular/forms'), require('rxjs'), require('rxjs/operators'), require('@ngx-translate/core'), require('@ionic/angular'), require('moment'), require('@angular/material-moment-adapter'), require('@ionic-native/keyboard/ngx'), require('angular2-text-mask'), require('ngx-material-timepicker'), require('@angular/material/datepicker'), require('@angular/animations'), require('@angular/material/divider'), require('@angular/material/tooltip'), require('@angular/material/chips'), require('@angular/router'), require('@angular/platform-browser'), require('@angular/common/http'), require('ngx-color-picker'), require('@ionic-native/native-audio/ngx'), require('@ionic-native/vibration/ngx'), require('@ionic-native/audio-management/ngx'), require('@ionic-native/native-audio/ngx/index'), require('@ionic-native/vibration/ngx/index'), require('@ionic-native/audio-management/ngx/index'), require('uuid/v4'), require('@angular/cdk/drag-drop'), require('ngx-markdown'), require('tweetnacl'), require('@ionic/storage'), require('zone.js/dist/zone-error'), require('@ionic-native/splash-screen/ngx'), require('@ionic-native/network/ngx'), require('ionic-cache'), require('ionic-cache/dist/cache.service'), require('@ionic-native/network/ngx/index'), require('@ionic-native/splash-screen/ngx/index'), require('@ionic-native/status-bar/ngx'), require('@angular/cdk/platform'), require('@ionic-native/in-app-browser/ngx'), require('@apollo/client/core'), require('apollo-angular'), require('@apollo/client/link/ws'), require('@apollo/client/utilities'), require('@apollo/client/link/retry'), require('apollo-link-queue'), require('apollo-link-serialize'), require('apollo-link-logger'), require('apollo-angular/http'), require('apollo3-cache-persist'), require('@ionic-native/downloader/ngx'), require('@ionic-native/status-bar/ngx/index'), require('@ionic-native/keyboard/ngx/index'), require('@ionic-native/in-app-browser/ngx/index'), require('@ionic-native/downloader/ngx/index'), require('@e-is/ngx-material-table'), require('@angular/cdk/collections'), require('ngx-jdenticon'), require('tweetnacl-util'), require('scrypt-async'), require('hammerjs')) :
3
+ typeof define === 'function' && define.amd ? define('@sumaris-net/ngx-components', ['exports', '@angular/core', '@angular/common', '@angular/cdk/table', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/scrolling', '@angular/material/core', '@angular/material/table', '@angular/material/sort', '@angular/material/paginator', '@angular/material/form-field', '@angular/material/input', '@angular/material/checkbox', '@angular/material/expansion', '@angular/material/toolbar', '@angular/material/icon', '@angular/material/button', '@angular/material/menu', '@angular/material/select', '@angular/material/card', '@angular/material/tabs', '@angular/material/stepper', '@angular/material/list', '@angular/material/button-toggle', '@angular/material/progress-spinner', '@angular/material/progress-bar', '@angular/material/radio', '@angular/material/badge', '@angular/material/slide-toggle', '@angular/material/dialog', '@angular/material/autocomplete', '@angular/forms', 'rxjs', 'rxjs/operators', '@ngx-translate/core', '@ionic/angular', 'moment', '@angular/material-moment-adapter', '@ionic-native/keyboard/ngx', 'angular2-text-mask', 'ngx-material-timepicker', '@angular/material/datepicker', '@angular/animations', '@angular/material/divider', '@angular/material/tooltip', '@angular/material/chips', '@angular/router', '@angular/platform-browser', '@angular/common/http', 'ngx-color-picker', '@ionic-native/native-audio/ngx', '@ionic-native/vibration/ngx', '@ionic-native/audio-management/ngx', '@ionic-native/native-audio/ngx/index', '@ionic-native/vibration/ngx/index', '@ionic-native/audio-management/ngx/index', 'uuid/v4', '@angular/cdk/drag-drop', 'ngx-markdown', 'tweetnacl', '@ionic/storage', 'zone.js/dist/zone-error', '@ionic-native/splash-screen/ngx', '@ionic-native/network/ngx', 'ionic-cache', 'ionic-cache/dist/cache.service', '@ionic-native/network/ngx/index', '@ionic-native/splash-screen/ngx/index', '@ionic-native/status-bar/ngx', '@angular/cdk/platform', '@ionic-native/in-app-browser/ngx', '@apollo/client/core', 'apollo-angular', '@apollo/client/link/ws', '@apollo/client/utilities', '@apollo/client/link/retry', 'apollo-link-queue', 'apollo-link-serialize', 'apollo-link-logger', 'apollo-angular/http', 'apollo3-cache-persist', '@ionic-native/downloader/ngx', '@ionic-native/status-bar/ngx/index', '@ionic-native/keyboard/ngx/index', '@ionic-native/in-app-browser/ngx/index', '@ionic-native/downloader/ngx/index', '@e-is/ngx-material-table', '@angular/cdk/collections', 'ngx-jdenticon', 'tweetnacl-util', 'scrypt-async', 'hammerjs'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["sumaris-net"] = global["sumaris-net"] || {}, global["sumaris-net"]["ngx-components"] = {}), global.ng.core, global.ng.common, global.ng.cdk.table, global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.scrolling, global.ng.material.core, global.ng.material.table, global.ng.material.sort, global.ng.material.paginator, global.ng.material.formField, global.ng.material.input, global.ng.material.checkbox, global.ng.material.expansion, global.ng.material.toolbar, global.ng.material.icon, global.ng.material.button, global.ng.material.menu, global.ng.material.select, global.ng.material.card, global.ng.material.tabs, global.ng.material.stepper, global.ng.material.list, global.ng.material.buttonToggle, global.ng.material.progressSpinner, global.ng.material.progressBar, global.ng.material.radio, global.ng.material.badge, global.ng.material.slideToggle, global.ng.material.dialog, global.ng.material.autocomplete, global.ng.forms, global.rxjs, global.rxjs.operators, global["ngx-translate"].core, global.ionic.angular, global.moment, global.ng.materialMomentAdapter, global["ionic-native"].keyboard.ngx, global["angular2-text-mask"], global["ngx-material-timepicker"], global.ng.material.datepicker, global.ng.animations, global.ng.material.divider, global.ng.material.tooltip, global.ng.material.chips, global.ng.router, global.ng.platformBrowser, global.ng.common.http, global["ngx-color-picker"], global["ionic-native"]["native-audio"].ngx, global["ionic-native"].vibration.ngx, global["ionic-native"]["audio-management"].ngx, global["ionic-native"]["native-audio"].ngx.index, global["ionic-native"].vibration.ngx.index, global["ionic-native"]["audio-management"].ngx.index, global.uuid.v4, global.ng.cdk.dragDrop, global["ngx-markdown"], global.tweetnacl, global.ionic.storage, null, global["ionic-native"]["splash-screen"].ngx, global["ionic-native"].network.ngx, global["ionic-cache"], global["ionic-cache/dist/cache"].service, global["ionic-native"].network.ngx.index, global["ionic-native"]["splash-screen"].ngx.index, global["ionic-native"]["status-bar"].ngx, global.ng.cdk.platform, global["ionic-native"]["in-app-browser"].ngx, global.apollo.client.core, global["apollo-angular"], global.apollo.client.link.ws, global.apollo.client.utilities, global.apollo.client.link.retry, global["apollo-link-queue"], global["apollo-link-serialize"], global["apollo-link-logger"], global["apollo-angular"].http, global["apollo3-cache-persist"], global.ngx$6, global["ionic-native"]["status-bar"].ngx.index, global["ionic-native"].keyboard.ngx.index, global["ionic-native"]["in-app-browser"].ngx.index, global.i18, global["e-is"]["ngx-material-table"], global.ng.cdk.collections, global["ngx-jdenticon"]));
5
+ })(this, (function (exports, i0, i1$4, table$1, a11y, overlay, scrolling, i1$3, table, sort$1, paginator, formField, input, checkbox, expansion, toolbar, icon, button, menu, select, card, tabs, stepper, list, buttonToggle, progressSpinner, progressBar, radio, badge, slideToggle, i2, autocomplete, i1, rxjs, operators, i1$2, i1$5, momentImported, i1$1, ngx, angular2TextMask, ngxMaterialTimepicker, datepicker, animations, divider, tooltip, chips, i3, i1$6, i2$1, ngxColorPicker, ngx$2, ngx$3, ngx$1, i2$2, i3$1, i4, uuidv4Imported, dragDrop, ngxMarkdown, tweetnacl, i3$2, zoneError, ngx$5, ngx$4, ionicCache, i6, i9, i10, ngx$7, i2$4, ngx$8, core, i2$3, ws, utilities, retry, QueueLink, SerializingLink, loggerLink, i3$3, apollo3CachePersist, ngx$6, i14, i15, i17, i18, ngxMaterialTable, collections, ngxJdenticon) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -731,6 +731,60 @@
731
731
  return res;
732
732
  }, {});
733
733
  }
734
+ /**
735
+ * Determines if two objects or two values are equivalent.
736
+ *
737
+ * Two objects or values are considered equivalent if at least one of the following is true:
738
+ *
739
+ * * Both objects or values pass `===` comparison.
740
+ * * Both objects or values are of the same type and all of their properties are equal by
741
+ * comparing them with `equals`.
742
+ *
743
+ * @param o1 Object or value to compare.
744
+ * @param o2 Object or value to compare.
745
+ * @returns true if arguments are equal.
746
+ */
747
+ function equals(o1, o2) {
748
+ if (o1 === o2)
749
+ return true;
750
+ if (o1 === null || o2 === null)
751
+ return false;
752
+ if (o1 !== o1 && o2 !== o2)
753
+ return true; // NaN === NaN
754
+ var t1 = typeof o1, t2 = typeof o2, length, key, keySet;
755
+ if (t1 == t2 && t1 == 'object') {
756
+ if (Array.isArray(o1)) {
757
+ if (!Array.isArray(o2))
758
+ return false;
759
+ if ((length = o1.length) == o2.length) {
760
+ for (key = 0; key < length; key++) {
761
+ if (!equals(o1[key], o2[key]))
762
+ return false;
763
+ }
764
+ return true;
765
+ }
766
+ }
767
+ else {
768
+ if (Array.isArray(o2)) {
769
+ return false;
770
+ }
771
+ keySet = Object.create(null);
772
+ for (key in o1) {
773
+ if (!equals(o1[key], o2[key])) {
774
+ return false;
775
+ }
776
+ keySet[key] = true;
777
+ }
778
+ for (key in o2) {
779
+ if (!(key in keySet) && typeof o2[key] !== 'undefined') {
780
+ return false;
781
+ }
782
+ }
783
+ return true;
784
+ }
785
+ }
786
+ return false;
787
+ }
734
788
  var Beans = /** @class */ (function () {
735
789
  function Beans() {
736
790
  }
@@ -2427,7 +2481,7 @@
2427
2481
  return date1 && date2 && date1.isSameOrBefore(date2) ? date1 : date2;
2428
2482
  };
2429
2483
  DateUtils.max = function (date1, date2) {
2430
- return date1 && date2 && date1.isSameOrAfter(date2) ? date1 : date2;
2484
+ return !date1 ? date2 : (!date2 || date1.isSameOrAfter(date2) ? date1 : date2);
2431
2485
  };
2432
2486
  return DateUtils;
2433
2487
  }());
@@ -2797,12 +2851,10 @@
2797
2851
  function TranslateContextService(translate) {
2798
2852
  this.translate = translate;
2799
2853
  }
2800
- TranslateContextService.prototype.getParsedResult = function (translations, key, interpolateParams) {
2801
- };
2802
2854
  TranslateContextService.prototype.get = function (key, context, interpolateParams) {
2803
2855
  var _this = this;
2804
2856
  // No context: do a normal translate
2805
- if (!util.isDefined(context))
2857
+ if (!isNil(context))
2806
2858
  return this.translate.get(key, interpolateParams);
2807
2859
  // Compute a contextual i18n key, using the context as suffix
2808
2860
  var contextKey = this.contextualKey(key, context);
@@ -2865,11 +2917,12 @@
2865
2917
  if (!query || !query.length) {
2866
2918
  return query;
2867
2919
  }
2868
- var suffix = (params === null || params === void 0 ? void 0 : params.length) > 1 ? params.shift() : '';
2920
+ var suffix = params && params.length ? params[0] : '';
2921
+ params = suffix && params.slice(1);
2869
2922
  // if we ask another time for the same key, return the last value
2870
- if (util.equals(query, this.lastKey)
2871
- && util.equals(suffix, this.lastSuffix)
2872
- && util.equals(params, this.lastParams)) {
2923
+ if (equalsOrNil(query, this.lastKey)
2924
+ && equals(suffix, this.lastSuffix)
2925
+ && equals(params, this.lastParams)) {
2873
2926
  return this.value;
2874
2927
  }
2875
2928
  // store the query, in case it changes
@@ -2884,12 +2937,11 @@
2884
2937
  };
2885
2938
  return TranslateContextPipe;
2886
2939
  }());
2887
- TranslateContextPipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0__namespace.ɵɵinject(TranslateContextService), i0__namespace.ɵɵinject(i0__namespace.ChangeDetectorRef)); }, token: TranslateContextPipe, providedIn: "root" });
2888
2940
  TranslateContextPipe.decorators = [
2941
+ { type: i0.Injectable },
2889
2942
  { type: i0.Pipe, args: [{
2890
2943
  name: 'translateContext'
2891
- },] },
2892
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
2944
+ },] }
2893
2945
  ];
2894
2946
  TranslateContextPipe.ctorParameters = function () { return [
2895
2947
  { type: TranslateContextService },
@@ -2905,12 +2957,11 @@
2905
2957
  };
2906
2958
  return TranslatablePipe;
2907
2959
  }());
2908
- TranslatablePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2909
2960
  TranslatablePipe.decorators = [
2910
2961
  { type: i0.Pipe, args: [{
2911
2962
  name: 'translatable'
2912
2963
  },] },
2913
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
2964
+ { type: i0.Injectable }
2914
2965
  ];
2915
2966
 
2916
2967
  var PropertyGetPipe = /** @class */ (function () {
@@ -19245,6 +19296,8 @@
19245
19296
  console.debug('[form] Updating form (using entity)', data);
19246
19297
  // Convert object to json, then apply it to form (e.g. convert 'undefined' into 'null')
19247
19298
  AppFormUtils.copyEntity2Form(data, this.form, Object.assign({ emitEvent: false, onlySelf: true }, opts));
19299
+ if (this._loading)
19300
+ this.markAsLoaded(Object.assign({ emitEvent: false, onlySelf: true }, opts));
19248
19301
  if (!opts || opts.emitEvent !== true)
19249
19302
  this.markForCheck();
19250
19303
  };
@@ -25465,6 +25518,13 @@
25465
25518
  enumerable: false,
25466
25519
  configurable: true
25467
25520
  });
25521
+ Object.defineProperty(AppEditor.prototype, "forms", {
25522
+ get: function () {
25523
+ return this._children && this._children.filter(function (c) { return c instanceof AppForm; });
25524
+ },
25525
+ enumerable: false,
25526
+ configurable: true
25527
+ });
25468
25528
  Object.defineProperty(AppEditor.prototype, "dirty", {
25469
25529
  get: function () {
25470
25530
  var _a;
@@ -25623,10 +25683,15 @@
25623
25683
  }
25624
25684
  };
25625
25685
  AppEditor.prototype.markAsLoaded = function (opts) {
25686
+ var _a;
25626
25687
  if (this._loading) {
25627
25688
  this._loading = false;
25628
- if (!opts || opts.emitEvent !== false)
25689
+ if (!opts || opts.emitEvent !== false) {
25690
+ // Emit to children forms
25691
+ // Tables should be changed by parent
25692
+ (_a = this.forms) === null || _a === void 0 ? void 0 : _a.forEach(function (c) { return c.markAsLoaded(opts); });
25629
25693
  this.markForCheck();
25694
+ }
25630
25695
  }
25631
25696
  };
25632
25697
  AppEditor.prototype.markAsReady = function (opts) {
@@ -26247,49 +26312,60 @@
26247
26312
  */
26248
26313
  AppEntityEditor.prototype.load = function (id, opts) {
26249
26314
  return __awaiter(this, void 0, void 0, function () {
26250
- var data, data, err_1;
26315
+ var data, err_1, data, err_2;
26251
26316
  return __generator(this, function (_b) {
26252
26317
  switch (_b.label) {
26253
26318
  case 0:
26254
26319
  if (!this.dataService)
26255
26320
  throw new Error('Cannot load data: missing \'dataService\'!');
26256
26321
  this.error = null;
26257
- if (!isNil(id)) return [3 /*break*/, 3];
26322
+ if (!isNil(id)) return [3 /*break*/, 7];
26323
+ _b.label = 1;
26324
+ case 1:
26325
+ _b.trys.push([1, 4, 5, 6]);
26258
26326
  data = new this.dataType();
26259
26327
  this._usageMode = this.computeUsageMode(data);
26260
26328
  return [4 /*yield*/, this.onNewEntity(data, opts)];
26261
- case 1:
26329
+ case 2:
26262
26330
  _b.sent();
26263
26331
  return [4 /*yield*/, this.updateView(data, Object.assign({ openTabIndex: 0 }, opts))];
26264
- case 2:
26332
+ case 3:
26265
26333
  _b.sent();
26334
+ return [3 /*break*/, 6];
26335
+ case 4:
26336
+ err_1 = _b.sent();
26337
+ this.setError(err_1);
26338
+ this.selectedTabIndex = 0;
26339
+ return [3 /*break*/, 6];
26340
+ case 5:
26266
26341
  this.markAsLoaded();
26267
- return [3 /*break*/, 9];
26268
- case 3:
26269
- _b.trys.push([3, 7, 8, 9]);
26342
+ return [7 /*endfinally*/];
26343
+ case 6: return [3 /*break*/, 13];
26344
+ case 7:
26345
+ _b.trys.push([7, 11, 12, 13]);
26270
26346
  return [4 /*yield*/, this.dataService.load(id, opts)];
26271
- case 4:
26347
+ case 8:
26272
26348
  data = _b.sent();
26273
26349
  if (!data)
26274
26350
  throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
26275
26351
  this._usageMode = this.computeUsageMode(data);
26276
26352
  return [4 /*yield*/, this.onEntityLoaded(data, opts)];
26277
- case 5:
26353
+ case 9:
26278
26354
  _b.sent();
26279
26355
  return [4 /*yield*/, this.updateView(data, opts)];
26280
- case 6:
26356
+ case 10:
26281
26357
  _b.sent();
26282
26358
  this.startListenRemoteChanges();
26283
- return [3 /*break*/, 9];
26284
- case 7:
26285
- err_1 = _b.sent();
26286
- this.setError(err_1);
26359
+ return [3 /*break*/, 13];
26360
+ case 11:
26361
+ err_2 = _b.sent();
26362
+ this.setError(err_2);
26287
26363
  this.selectedTabIndex = 0;
26288
- return [3 /*break*/, 9];
26289
- case 8:
26364
+ return [3 /*break*/, 13];
26365
+ case 12:
26290
26366
  this.markAsLoaded();
26291
26367
  return [7 /*endfinally*/];
26292
- case 9: return [2 /*return*/];
26368
+ case 13: return [2 /*return*/];
26293
26369
  }
26294
26370
  });
26295
26371
  });
@@ -26464,7 +26540,7 @@
26464
26540
  */
26465
26541
  AppEntityEditor.prototype.save = function (event, opts) {
26466
26542
  return __awaiter(this, void 0, void 0, function () {
26467
- var data, updatedData, err_2;
26543
+ var data, updatedData, err_3;
26468
26544
  return __generator(this, function (_b) {
26469
26545
  switch (_b.label) {
26470
26546
  case 0:
@@ -26517,15 +26593,15 @@
26517
26593
  this.submitted = false;
26518
26594
  return [2 /*return*/, true];
26519
26595
  case 7:
26520
- err_2 = _b.sent();
26596
+ err_3 = _b.sent();
26521
26597
  this.submitted = true;
26522
- this.setError(err_2);
26598
+ this.setError(err_3);
26523
26599
  this.selectedTabIndex = 0;
26524
26600
  this.scrollToTop(); // Scroll to top (to show error)
26525
26601
  this.markAsDirty();
26526
26602
  this.enable();
26527
26603
  // Concurrent change on pod
26528
- if (err_2.code === ServerErrorCodes.BAD_UPDATE_DATE && isNotNil(this.data.id)) {
26604
+ if (err_3.code === ServerErrorCodes.BAD_UPDATE_DATE && isNotNil(this.data.id)) {
26529
26605
  // Call a data reload (in background), to update the GraphQL cache, and allow to cancel changes
26530
26606
  this.dataService.load(this.data.id, { fetchPolicy: 'network-only' }).then(function () {
26531
26607
  console.debug('[data-editor] Data cache reloaded. User can reload page');
@@ -26578,7 +26654,7 @@
26578
26654
  };
26579
26655
  AppEntityEditor.prototype.delete = function (event) {
26580
26656
  return __awaiter(this, void 0, void 0, function () {
26581
- var confirmation, data, isNew, err_3;
26657
+ var confirmation, data, isNew, err_4;
26582
26658
  var _this = this;
26583
26659
  return __generator(this, function (_b) {
26584
26660
  switch (_b.label) {
@@ -26613,9 +26689,9 @@
26613
26689
  this.removePageHistory();
26614
26690
  return [3 /*break*/, 8];
26615
26691
  case 7:
26616
- err_3 = _b.sent();
26692
+ err_4 = _b.sent();
26617
26693
  this.submitted = true;
26618
- this.setError(err_3);
26694
+ this.setError(err_4);
26619
26695
  this.selectedTabIndex = 0;
26620
26696
  this.markAsSaved();
26621
26697
  this.enable();
@@ -28289,6 +28365,7 @@
28289
28365
  exports.disableControls = disableControls;
28290
28366
  exports.emitPromiseEvent = emitPromiseEvent;
28291
28367
  exports.entityToString = entityToString;
28368
+ exports.equals = equals;
28292
28369
  exports.equalsOrNil = equalsOrNil;
28293
28370
  exports.fadeInAnimation = fadeInAnimation;
28294
28371
  exports.fadeInOutAnimation = fadeInOutAnimation;