@sumaris-net/ngx-components 0.27.23 → 0.28.3
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.
- package/bundles/sumaris-net.ngx-components.umd.js +93 -59
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/esm2015/src/app/core/account/account.js +4 -5
- package/esm2015/src/app/core/auth/form/form-auth.js +3 -4
- package/esm2015/src/app/core/form/editor.class.js +10 -2
- package/esm2015/src/app/core/form/entity-editor.class.js +15 -7
- package/esm2015/src/app/core/form/form.class.js +24 -10
- package/esm2015/src/app/core/form/list.form.js +2 -3
- package/esm2015/src/app/core/form/properties.form.js +2 -3
- package/esm2015/src/app/core/settings/settings.page.js +3 -4
- package/esm2015/src/app/shared/dates.js +2 -2
- package/esm2015/src/app/shared/pipes/translate-context.pipe.js +4 -8
- package/esm2015/src/app/shared/services/translate-context.service.js +3 -4
- package/fesm2015/sumaris-net.ngx-components.js +60 -38
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/account/account.d.ts +0 -1
- package/src/app/core/auth/form/form-auth.d.ts +0 -1
- package/src/app/core/form/editor.class.d.ts +2 -0
- package/src/app/core/form/form.class.d.ts +10 -2
- package/src/app/core/form/list.form.d.ts +0 -1
- package/src/app/core/form/properties.form.d.ts +0 -1
- package/src/app/core/settings/settings.page.d.ts +0 -1
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -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('@
|
|
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', '@
|
|
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
|
|
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,
|
|
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
|
|
|
@@ -2481,7 +2481,7 @@
|
|
|
2481
2481
|
return date1 && date2 && date1.isSameOrBefore(date2) ? date1 : date2;
|
|
2482
2482
|
};
|
|
2483
2483
|
DateUtils.max = function (date1, date2) {
|
|
2484
|
-
return date1
|
|
2484
|
+
return !date1 ? date2 : (!date2 || date1.isSameOrAfter(date2) ? date1 : date2);
|
|
2485
2485
|
};
|
|
2486
2486
|
return DateUtils;
|
|
2487
2487
|
}());
|
|
@@ -2854,7 +2854,7 @@
|
|
|
2854
2854
|
TranslateContextService.prototype.get = function (key, context, interpolateParams) {
|
|
2855
2855
|
var _this = this;
|
|
2856
2856
|
// No context: do a normal translate
|
|
2857
|
-
if (!
|
|
2857
|
+
if (!isNil(context))
|
|
2858
2858
|
return this.translate.get(key, interpolateParams);
|
|
2859
2859
|
// Compute a contextual i18n key, using the context as suffix
|
|
2860
2860
|
var contextKey = this.contextualKey(key, context);
|
|
@@ -2937,12 +2937,11 @@
|
|
|
2937
2937
|
};
|
|
2938
2938
|
return TranslateContextPipe;
|
|
2939
2939
|
}());
|
|
2940
|
-
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" });
|
|
2941
2940
|
TranslateContextPipe.decorators = [
|
|
2941
|
+
{ type: i0.Injectable },
|
|
2942
2942
|
{ type: i0.Pipe, args: [{
|
|
2943
2943
|
name: 'translateContext'
|
|
2944
|
-
},] }
|
|
2945
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
2944
|
+
},] }
|
|
2946
2945
|
];
|
|
2947
2946
|
TranslateContextPipe.ctorParameters = function () { return [
|
|
2948
2947
|
{ type: TranslateContextService },
|
|
@@ -2958,12 +2957,11 @@
|
|
|
2958
2957
|
};
|
|
2959
2958
|
return TranslatablePipe;
|
|
2960
2959
|
}());
|
|
2961
|
-
TranslatablePipe.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
|
|
2962
2960
|
TranslatablePipe.decorators = [
|
|
2963
2961
|
{ type: i0.Pipe, args: [{
|
|
2964
2962
|
name: 'translatable'
|
|
2965
2963
|
},] },
|
|
2966
|
-
{ type: i0.Injectable
|
|
2964
|
+
{ type: i0.Injectable }
|
|
2967
2965
|
];
|
|
2968
2966
|
|
|
2969
2967
|
var PropertyGetPipe = /** @class */ (function () {
|
|
@@ -19141,7 +19139,7 @@
|
|
|
19141
19139
|
this.error = null;
|
|
19142
19140
|
this._enable = false;
|
|
19143
19141
|
this._$ready = new rxjs.BehaviorSubject(false);
|
|
19144
|
-
this.
|
|
19142
|
+
this._$loading = new rxjs.BehaviorSubject(true);
|
|
19145
19143
|
this.i18nFieldPrefix = null;
|
|
19146
19144
|
this._subscription = new rxjs.Subscription();
|
|
19147
19145
|
this.debug = false;
|
|
@@ -19157,9 +19155,25 @@
|
|
|
19157
19155
|
});
|
|
19158
19156
|
this.autocompleteFields = this.autocompleteHelper.fields;
|
|
19159
19157
|
}
|
|
19160
|
-
Object.defineProperty(AppForm.prototype, "
|
|
19158
|
+
Object.defineProperty(AppForm.prototype, "_loading", {
|
|
19159
|
+
/**
|
|
19160
|
+
* @deprecated
|
|
19161
|
+
*/
|
|
19162
|
+
get: function () {
|
|
19163
|
+
return this._$loading.value;
|
|
19164
|
+
},
|
|
19165
|
+
/**
|
|
19166
|
+
* @deprecated
|
|
19167
|
+
*/
|
|
19168
|
+
set: function (value) {
|
|
19169
|
+
this._$loading.next(value);
|
|
19170
|
+
},
|
|
19171
|
+
enumerable: false,
|
|
19172
|
+
configurable: true
|
|
19173
|
+
});
|
|
19174
|
+
Object.defineProperty(AppForm.prototype, "loading", {
|
|
19161
19175
|
get: function () {
|
|
19162
|
-
return this._$
|
|
19176
|
+
return this._$loading.value;
|
|
19163
19177
|
},
|
|
19164
19178
|
enumerable: false,
|
|
19165
19179
|
configurable: true
|
|
@@ -19297,9 +19311,11 @@
|
|
|
19297
19311
|
if (this.debug)
|
|
19298
19312
|
console.debug('[form] Updating form (using entity)', data);
|
|
19299
19313
|
// Convert object to json, then apply it to form (e.g. convert 'undefined' into 'null')
|
|
19300
|
-
AppFormUtils.copyEntity2Form(data, this.form,
|
|
19301
|
-
if (!opts || opts.emitEvent !==
|
|
19314
|
+
AppFormUtils.copyEntity2Form(data, this.form, opts);
|
|
19315
|
+
if (!opts || opts.emitEvent !== false) {
|
|
19316
|
+
this.markAsLoaded({ emitEvent: false });
|
|
19302
19317
|
this.markForCheck();
|
|
19318
|
+
}
|
|
19303
19319
|
};
|
|
19304
19320
|
AppForm.prototype.reset = function (data, opts) {
|
|
19305
19321
|
if (data) {
|
|
@@ -19348,15 +19364,15 @@
|
|
|
19348
19364
|
this.markForCheck();
|
|
19349
19365
|
};
|
|
19350
19366
|
AppForm.prototype.markAsLoading = function (opts) {
|
|
19351
|
-
if (
|
|
19352
|
-
this.
|
|
19367
|
+
if (this._$loading.value !== true) {
|
|
19368
|
+
this._$loading.next(true);
|
|
19353
19369
|
if (!opts || opts.emitEvent !== false)
|
|
19354
19370
|
this.markForCheck();
|
|
19355
19371
|
}
|
|
19356
19372
|
};
|
|
19357
19373
|
AppForm.prototype.markAsLoaded = function (opts) {
|
|
19358
|
-
if (this.
|
|
19359
|
-
this.
|
|
19374
|
+
if (this._$loading.value !== false) {
|
|
19375
|
+
this._$loading.next(false);
|
|
19360
19376
|
if (!opts || opts.emitEvent !== false)
|
|
19361
19377
|
this.markForCheck();
|
|
19362
19378
|
}
|
|
@@ -19457,7 +19473,6 @@
|
|
|
19457
19473
|
_this.network = network;
|
|
19458
19474
|
_this.cd = cd;
|
|
19459
19475
|
_this.environment = environment;
|
|
19460
|
-
_this.loading = false;
|
|
19461
19476
|
_this.canWorkOffline = false;
|
|
19462
19477
|
_this.showPwd = false;
|
|
19463
19478
|
_this.onCancel = new i0.EventEmitter();
|
|
@@ -19508,13 +19523,13 @@
|
|
|
19508
19523
|
}
|
|
19509
19524
|
if (this.form.invalid || this.loading)
|
|
19510
19525
|
return;
|
|
19511
|
-
this.
|
|
19526
|
+
this.markAsLoading();
|
|
19512
19527
|
var data = this.form.value;
|
|
19513
19528
|
this.showPwd = false; // Hide password
|
|
19514
19529
|
this.error = null; // Reset error
|
|
19515
19530
|
this.registerSubscription(this.onSubmit
|
|
19516
19531
|
.pipe(operators.debounceTime(500))
|
|
19517
|
-
.subscribe(function (res) { return _this.
|
|
19532
|
+
.subscribe(function (res) { return _this.markAsLoaded(); }));
|
|
19518
19533
|
setTimeout(function () { return _this.onSubmit.emit({
|
|
19519
19534
|
username: data.username,
|
|
19520
19535
|
password: data.password,
|
|
@@ -20269,7 +20284,6 @@
|
|
|
20269
20284
|
_this.translate = translate;
|
|
20270
20285
|
_this.settings = settings;
|
|
20271
20286
|
_this.cd = cd;
|
|
20272
|
-
_this.loading = true;
|
|
20273
20287
|
_this.email = {
|
|
20274
20288
|
confirmed: false,
|
|
20275
20289
|
notConfirmed: false,
|
|
@@ -20299,7 +20313,7 @@
|
|
|
20299
20313
|
_this.onLogin(_this.accountService.account);
|
|
20300
20314
|
}
|
|
20301
20315
|
else {
|
|
20302
|
-
_this.
|
|
20316
|
+
_this.markAsLoaded();
|
|
20303
20317
|
}
|
|
20304
20318
|
}));
|
|
20305
20319
|
return _this;
|
|
@@ -20317,7 +20331,7 @@
|
|
|
20317
20331
|
this.enable();
|
|
20318
20332
|
this.markAsPristine();
|
|
20319
20333
|
this.startListenChanges();
|
|
20320
|
-
this.
|
|
20334
|
+
this.markAsLoaded();
|
|
20321
20335
|
};
|
|
20322
20336
|
AccountPage.prototype.onLogout = function () {
|
|
20323
20337
|
this.isLogin = false;
|
|
@@ -20335,7 +20349,7 @@
|
|
|
20335
20349
|
return __awaiter(this, void 0, void 0, function () {
|
|
20336
20350
|
return __generator(this, function (_a) {
|
|
20337
20351
|
this.disable();
|
|
20338
|
-
this.
|
|
20352
|
+
this.markAsLoading();
|
|
20339
20353
|
return [2 /*return*/, this.accountService.refresh()];
|
|
20340
20354
|
});
|
|
20341
20355
|
});
|
|
@@ -20869,7 +20883,6 @@
|
|
|
20869
20883
|
_this.cd = cd;
|
|
20870
20884
|
_this.network = network;
|
|
20871
20885
|
_this.locales = locales;
|
|
20872
|
-
_this.loading = true;
|
|
20873
20886
|
_this.saving = false;
|
|
20874
20887
|
_this.usageModes = ['FIELD', 'DESK'];
|
|
20875
20888
|
_this.propertyDefinitionsByKey = {};
|
|
@@ -20959,7 +20972,7 @@
|
|
|
20959
20972
|
return __generator(this, function (_a) {
|
|
20960
20973
|
switch (_a.label) {
|
|
20961
20974
|
case 0:
|
|
20962
|
-
this.
|
|
20975
|
+
this.markAsLoading();
|
|
20963
20976
|
console.debug('[settings] Loading settings...');
|
|
20964
20977
|
data = this.settings.settings;
|
|
20965
20978
|
// Set defaults
|
|
@@ -20995,7 +21008,7 @@
|
|
|
20995
21008
|
this.enable({ emitEvent: false });
|
|
20996
21009
|
// Apply inheritance
|
|
20997
21010
|
this.setAccountInheritance(data.accountInheritance, { emitEvent: false });
|
|
20998
|
-
this.
|
|
21011
|
+
this.markAsLoaded();
|
|
20999
21012
|
this.error = null;
|
|
21000
21013
|
this.markForCheck();
|
|
21001
21014
|
};
|
|
@@ -21234,7 +21247,6 @@
|
|
|
21234
21247
|
_this.settings = settings;
|
|
21235
21248
|
_this.cd = cd;
|
|
21236
21249
|
_this.formGroupDir = formGroupDir;
|
|
21237
|
-
_this.loading = true;
|
|
21238
21250
|
_this.definitionsMapByKey = {};
|
|
21239
21251
|
_this.definitionsByIndex = {};
|
|
21240
21252
|
return _this;
|
|
@@ -21313,7 +21325,7 @@
|
|
|
21313
21325
|
this.helper.resize(values.length);
|
|
21314
21326
|
this.helper.formArray.patchValue(values, { emitEvent: false });
|
|
21315
21327
|
this.markAsPristine();
|
|
21316
|
-
this.
|
|
21328
|
+
this.markAsLoaded();
|
|
21317
21329
|
};
|
|
21318
21330
|
/* -- protected methods -- */
|
|
21319
21331
|
AppPropertiesForm.prototype.getPropertyFormGroup = function (data) {
|
|
@@ -21359,7 +21371,6 @@
|
|
|
21359
21371
|
_this.settings = settings;
|
|
21360
21372
|
_this.cd = cd;
|
|
21361
21373
|
_this.formGroupDir = formGroupDir;
|
|
21362
|
-
_this.loading = true;
|
|
21363
21374
|
_this.selection = new collections.SelectionModel(true, []);
|
|
21364
21375
|
_this.displayWithFn = referentialToString;
|
|
21365
21376
|
_this.onNewItem = new i0.EventEmitter();
|
|
@@ -21485,7 +21496,7 @@
|
|
|
21485
21496
|
}
|
|
21486
21497
|
this.selection.clear();
|
|
21487
21498
|
this.markAsPristine();
|
|
21488
|
-
this.
|
|
21499
|
+
this.markAsLoaded();
|
|
21489
21500
|
};
|
|
21490
21501
|
/** Whether the number of selected elements matches the total number of rows. */
|
|
21491
21502
|
AppListForm.prototype.isAllSelected = function () {
|
|
@@ -25518,6 +25529,13 @@
|
|
|
25518
25529
|
enumerable: false,
|
|
25519
25530
|
configurable: true
|
|
25520
25531
|
});
|
|
25532
|
+
Object.defineProperty(AppEditor.prototype, "forms", {
|
|
25533
|
+
get: function () {
|
|
25534
|
+
return this._children && this._children.filter(function (c) { return c instanceof AppForm; });
|
|
25535
|
+
},
|
|
25536
|
+
enumerable: false,
|
|
25537
|
+
configurable: true
|
|
25538
|
+
});
|
|
25521
25539
|
Object.defineProperty(AppEditor.prototype, "dirty", {
|
|
25522
25540
|
get: function () {
|
|
25523
25541
|
var _a;
|
|
@@ -25676,10 +25694,15 @@
|
|
|
25676
25694
|
}
|
|
25677
25695
|
};
|
|
25678
25696
|
AppEditor.prototype.markAsLoaded = function (opts) {
|
|
25697
|
+
var _a;
|
|
25679
25698
|
if (this._loading) {
|
|
25680
25699
|
this._loading = false;
|
|
25681
|
-
if (!opts || opts.emitEvent !== false)
|
|
25700
|
+
if (!opts || opts.emitEvent !== false) {
|
|
25701
|
+
// Emit to children forms
|
|
25702
|
+
// Tables should be changed by parent
|
|
25703
|
+
(_a = this.forms) === null || _a === void 0 ? void 0 : _a.forEach(function (c) { return c.markAsLoaded(opts); });
|
|
25682
25704
|
this.markForCheck();
|
|
25705
|
+
}
|
|
25683
25706
|
}
|
|
25684
25707
|
};
|
|
25685
25708
|
AppEditor.prototype.markAsReady = function (opts) {
|
|
@@ -26300,49 +26323,60 @@
|
|
|
26300
26323
|
*/
|
|
26301
26324
|
AppEntityEditor.prototype.load = function (id, opts) {
|
|
26302
26325
|
return __awaiter(this, void 0, void 0, function () {
|
|
26303
|
-
var data, data,
|
|
26326
|
+
var data, err_1, data, err_2;
|
|
26304
26327
|
return __generator(this, function (_b) {
|
|
26305
26328
|
switch (_b.label) {
|
|
26306
26329
|
case 0:
|
|
26307
26330
|
if (!this.dataService)
|
|
26308
26331
|
throw new Error('Cannot load data: missing \'dataService\'!');
|
|
26309
26332
|
this.error = null;
|
|
26310
|
-
if (!isNil(id)) return [3 /*break*/,
|
|
26333
|
+
if (!isNil(id)) return [3 /*break*/, 7];
|
|
26334
|
+
_b.label = 1;
|
|
26335
|
+
case 1:
|
|
26336
|
+
_b.trys.push([1, 4, 5, 6]);
|
|
26311
26337
|
data = new this.dataType();
|
|
26312
26338
|
this._usageMode = this.computeUsageMode(data);
|
|
26313
26339
|
return [4 /*yield*/, this.onNewEntity(data, opts)];
|
|
26314
|
-
case
|
|
26340
|
+
case 2:
|
|
26315
26341
|
_b.sent();
|
|
26316
26342
|
return [4 /*yield*/, this.updateView(data, Object.assign({ openTabIndex: 0 }, opts))];
|
|
26317
|
-
case
|
|
26343
|
+
case 3:
|
|
26318
26344
|
_b.sent();
|
|
26345
|
+
return [3 /*break*/, 6];
|
|
26346
|
+
case 4:
|
|
26347
|
+
err_1 = _b.sent();
|
|
26348
|
+
this.setError(err_1);
|
|
26349
|
+
this.selectedTabIndex = 0;
|
|
26350
|
+
return [3 /*break*/, 6];
|
|
26351
|
+
case 5:
|
|
26319
26352
|
this.markAsLoaded();
|
|
26320
|
-
return [
|
|
26321
|
-
case 3
|
|
26322
|
-
|
|
26353
|
+
return [7 /*endfinally*/];
|
|
26354
|
+
case 6: return [3 /*break*/, 13];
|
|
26355
|
+
case 7:
|
|
26356
|
+
_b.trys.push([7, 11, 12, 13]);
|
|
26323
26357
|
return [4 /*yield*/, this.dataService.load(id, opts)];
|
|
26324
|
-
case
|
|
26358
|
+
case 8:
|
|
26325
26359
|
data = _b.sent();
|
|
26326
26360
|
if (!data)
|
|
26327
26361
|
throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
|
|
26328
26362
|
this._usageMode = this.computeUsageMode(data);
|
|
26329
26363
|
return [4 /*yield*/, this.onEntityLoaded(data, opts)];
|
|
26330
|
-
case
|
|
26364
|
+
case 9:
|
|
26331
26365
|
_b.sent();
|
|
26332
26366
|
return [4 /*yield*/, this.updateView(data, opts)];
|
|
26333
|
-
case
|
|
26367
|
+
case 10:
|
|
26334
26368
|
_b.sent();
|
|
26335
26369
|
this.startListenRemoteChanges();
|
|
26336
|
-
return [3 /*break*/,
|
|
26337
|
-
case
|
|
26338
|
-
|
|
26339
|
-
this.setError(
|
|
26370
|
+
return [3 /*break*/, 13];
|
|
26371
|
+
case 11:
|
|
26372
|
+
err_2 = _b.sent();
|
|
26373
|
+
this.setError(err_2);
|
|
26340
26374
|
this.selectedTabIndex = 0;
|
|
26341
|
-
return [3 /*break*/,
|
|
26342
|
-
case
|
|
26375
|
+
return [3 /*break*/, 13];
|
|
26376
|
+
case 12:
|
|
26343
26377
|
this.markAsLoaded();
|
|
26344
26378
|
return [7 /*endfinally*/];
|
|
26345
|
-
case
|
|
26379
|
+
case 13: return [2 /*return*/];
|
|
26346
26380
|
}
|
|
26347
26381
|
});
|
|
26348
26382
|
});
|
|
@@ -26517,7 +26551,7 @@
|
|
|
26517
26551
|
*/
|
|
26518
26552
|
AppEntityEditor.prototype.save = function (event, opts) {
|
|
26519
26553
|
return __awaiter(this, void 0, void 0, function () {
|
|
26520
|
-
var data, updatedData,
|
|
26554
|
+
var data, updatedData, err_3;
|
|
26521
26555
|
return __generator(this, function (_b) {
|
|
26522
26556
|
switch (_b.label) {
|
|
26523
26557
|
case 0:
|
|
@@ -26570,15 +26604,15 @@
|
|
|
26570
26604
|
this.submitted = false;
|
|
26571
26605
|
return [2 /*return*/, true];
|
|
26572
26606
|
case 7:
|
|
26573
|
-
|
|
26607
|
+
err_3 = _b.sent();
|
|
26574
26608
|
this.submitted = true;
|
|
26575
|
-
this.setError(
|
|
26609
|
+
this.setError(err_3);
|
|
26576
26610
|
this.selectedTabIndex = 0;
|
|
26577
26611
|
this.scrollToTop(); // Scroll to top (to show error)
|
|
26578
26612
|
this.markAsDirty();
|
|
26579
26613
|
this.enable();
|
|
26580
26614
|
// Concurrent change on pod
|
|
26581
|
-
if (
|
|
26615
|
+
if (err_3.code === ServerErrorCodes.BAD_UPDATE_DATE && isNotNil(this.data.id)) {
|
|
26582
26616
|
// Call a data reload (in background), to update the GraphQL cache, and allow to cancel changes
|
|
26583
26617
|
this.dataService.load(this.data.id, { fetchPolicy: 'network-only' }).then(function () {
|
|
26584
26618
|
console.debug('[data-editor] Data cache reloaded. User can reload page');
|
|
@@ -26631,7 +26665,7 @@
|
|
|
26631
26665
|
};
|
|
26632
26666
|
AppEntityEditor.prototype.delete = function (event) {
|
|
26633
26667
|
return __awaiter(this, void 0, void 0, function () {
|
|
26634
|
-
var confirmation, data, isNew,
|
|
26668
|
+
var confirmation, data, isNew, err_4;
|
|
26635
26669
|
var _this = this;
|
|
26636
26670
|
return __generator(this, function (_b) {
|
|
26637
26671
|
switch (_b.label) {
|
|
@@ -26666,9 +26700,9 @@
|
|
|
26666
26700
|
this.removePageHistory();
|
|
26667
26701
|
return [3 /*break*/, 8];
|
|
26668
26702
|
case 7:
|
|
26669
|
-
|
|
26703
|
+
err_4 = _b.sent();
|
|
26670
26704
|
this.submitted = true;
|
|
26671
|
-
this.setError(
|
|
26705
|
+
this.setError(err_4);
|
|
26672
26706
|
this.selectedTabIndex = 0;
|
|
26673
26707
|
this.markAsSaved();
|
|
26674
26708
|
this.enable();
|