@sumaris-net/ngx-components 1.0.3 → 1.0.7
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 +99 -42
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/esm2015/src/app/core/form/form.utils.js +1 -1
- package/esm2015/src/app/core/services/account.service.js +81 -41
- package/esm2015/src/app/core/services/errors.js +2 -1
- package/esm2015/src/app/core/services/local-settings.service.js +6 -3
- package/esm2015/src/app/core/services/model/settings.model.js +11 -1
- package/esm2015/src/app/core/services/platform.service.js +5 -9
- package/esm2015/src/app/shared/functions.js +1 -1
- package/fesm2015/sumaris-net.ngx-components.js +98 -48
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/form/form.utils.d.ts +4 -4
- package/src/app/core/services/account.service.d.ts +8 -1
- package/src/app/core/services/errors.d.ts +1 -0
- package/src/app/core/services/model/settings.model.d.ts +1 -0
- package/src/assets/i18n/fr.json +1 -0
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -10831,6 +10831,7 @@
|
|
|
10831
10831
|
};
|
|
10832
10832
|
LocalSettingsService.prototype.apply = function (settings, opts) {
|
|
10833
10833
|
return __awaiter(this, void 0, void 0, function () {
|
|
10834
|
+
var data;
|
|
10834
10835
|
return __generator(this, function (_a) {
|
|
10835
10836
|
switch (_a.label) {
|
|
10836
10837
|
case 0:
|
|
@@ -10840,7 +10841,10 @@
|
|
|
10840
10841
|
_a.sent();
|
|
10841
10842
|
_a.label = 2;
|
|
10842
10843
|
case 2:
|
|
10843
|
-
|
|
10844
|
+
data = Object.assign(Object.assign({}, this._data), settings);
|
|
10845
|
+
if (equals(data, this._data))
|
|
10846
|
+
return [2 /*return*/]; // SKip if same
|
|
10847
|
+
this._data = data;
|
|
10844
10848
|
if (!(opts && opts.persistImmediate)) return [3 /*break*/, 4];
|
|
10845
10849
|
return [4 /*yield*/, this.persistLocally(true)];
|
|
10846
10850
|
case 3:
|
|
@@ -12011,6 +12015,7 @@
|
|
|
12011
12015
|
CONFIRM_EMAIL_FAILED: 7,
|
|
12012
12016
|
SAVE_ACCOUNT_ERROR: 8,
|
|
12013
12017
|
ACCOUNT_NOT_EXISTS: 9,
|
|
12018
|
+
SAVE_SETTINGS_ERROR: 8,
|
|
12014
12019
|
SUBSCRIBE_ACCOUNT_ERROR: 10,
|
|
12015
12020
|
ENTITY_STORAGE_MIGRATION_FAILED: 11,
|
|
12016
12021
|
LOAD_DATA_ERROR: 12,
|
|
@@ -13298,6 +13303,17 @@
|
|
|
13298
13303
|
});
|
|
13299
13304
|
return hasChanges;
|
|
13300
13305
|
};
|
|
13306
|
+
UserSettings.prototype.asLocalSettings = function () {
|
|
13307
|
+
var _this = this;
|
|
13308
|
+
var target = {};
|
|
13309
|
+
UserSettings_1.SETTINGS_PROPERTIES.forEach(function (key) {
|
|
13310
|
+
target[key] = _this[key];
|
|
13311
|
+
});
|
|
13312
|
+
Object.keys(this.content).forEach(function (key) {
|
|
13313
|
+
target[key] = _this.content[key];
|
|
13314
|
+
});
|
|
13315
|
+
return target;
|
|
13316
|
+
};
|
|
13301
13317
|
return UserSettings;
|
|
13302
13318
|
}(Entity));
|
|
13303
13319
|
exports.UserSettings.SETTINGS_PROPERTIES = ['locale', 'latLongFormat'];
|
|
@@ -14766,25 +14782,30 @@
|
|
|
14766
14782
|
* GraphQL queries
|
|
14767
14783
|
* ------------------------------------*/
|
|
14768
14784
|
var Fragments$1 = {
|
|
14769
|
-
account: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n
|
|
14785
|
+
account: core.gql(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"], ["\n fragment AccountFragment on AccountVO {\n id\n firstName\n lastName\n email\n pubkey\n avatar\n statusId\n updateDate\n creationDate\n profiles\n settings {\n ...UserSettingsFragment\n }\n department {\n id\n label\n name\n __typename\n }\n __typename\n }"]))),
|
|
14786
|
+
settings: core.gql(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"], ["fragment UserSettingsFragment on UserSettingsVO {\n id\n locale\n latLongFormat\n content\n nonce\n updateDate\n __typename\n }"])))
|
|
14770
14787
|
};
|
|
14771
14788
|
// Load account query
|
|
14772
|
-
var LoadQuery$1 = core.gql(
|
|
14789
|
+
var LoadQuery$1 = core.gql(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"], ["\n query Account {\n data: account {\n ...AccountFragment\n }\n }\n ", "\n ", "\n"])), Fragments$1.account, Fragments$1.settings);
|
|
14773
14790
|
// Check email query
|
|
14774
|
-
var IsEmailExistsQuery = core.gql(
|
|
14791
|
+
var IsEmailExistsQuery = core.gql(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"], ["\n query IsEmailExists($email: String, $hash: String){\n isEmailExists(email: $email, hash: $hash)\n }\n"])));
|
|
14775
14792
|
// Save (create or update) account mutation
|
|
14776
|
-
var
|
|
14777
|
-
|
|
14778
|
-
|
|
14793
|
+
var AccountMutations = {
|
|
14794
|
+
save: core.gql(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject([" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], [" mutation SaveAccount($data:AccountVOInput){\n data: saveAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments$1.account, Fragments$1.settings),
|
|
14795
|
+
create: core.gql(templateObject_6 || (templateObject_6 = __makeTemplateObject(["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""], ["mutation CreateAccount($data:AccountVOInput){\n data: createAccount(account: $data){\n ...AccountFragment\n }\n }\n ", "\n ", ""])), Fragments$1.account, Fragments$1.settings),
|
|
14796
|
+
saveSettings: core.gql(templateObject_7 || (templateObject_7 = __makeTemplateObject(["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""], ["mutation SaveSettings($data:UserSettingsVOInput){\n data: saveSettings(settings: $data){\n ...UserSettingsFragment\n }\n }\n ", ""])), Fragments$1.settings)
|
|
14797
|
+
};
|
|
14779
14798
|
// Sent confirmation email
|
|
14780
|
-
var SendConfirmEmailMutation = core.gql(
|
|
14799
|
+
var SendConfirmEmailMutation = core.gql(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"], ["\n mutation sendAccountConfirmationEmail($email:String, $locale:String){\n sendAccountConfirmationEmail(email: $email, locale: $locale)\n }\n"])));
|
|
14781
14800
|
// Confirm account email
|
|
14782
|
-
var ConfirmEmailMutation = core.gql(
|
|
14801
|
+
var ConfirmEmailMutation = core.gql(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n mutation confirmAccountEmail($email:String, $code:String){\n confirmAccountEmail(email: $email, code: $code)\n }\n"], ["\n mutation confirmAccountEmail($email:String, $code:String){\n confirmAccountEmail(email: $email, code: $code)\n }\n"])));
|
|
14783
14802
|
// Authentication query
|
|
14784
|
-
var AuthQuery = core.gql(
|
|
14803
|
+
var AuthQuery = core.gql(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n query Auth($token: String){\n authenticate(token: $token)\n }\n"], ["\n query Auth($token: String){\n authenticate(token: $token)\n }\n"])));
|
|
14785
14804
|
// New auth challenge query
|
|
14786
|
-
var AuthChallengeQuery = core.gql(
|
|
14787
|
-
var
|
|
14805
|
+
var AuthChallengeQuery = core.gql(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n query AuthChallenge{\n authChallenge{\n challenge\n pubkey\n signature\n }\n }\n"], ["\n query AuthChallenge{\n authChallenge{\n challenge\n pubkey\n signature\n }\n }\n"])));
|
|
14806
|
+
var AccountSubscriptions = {
|
|
14807
|
+
listenChanges: core.gql(templateObject_12 || (templateObject_12 = __makeTemplateObject(["subscription updateAccount($interval: Int){\n data: updateAccount(interval: $interval) {\n id\n updateDate\n }\n }"], ["subscription updateAccount($interval: Int){\n data: updateAccount(interval: $interval) {\n id\n updateDate\n }\n }"])))
|
|
14808
|
+
};
|
|
14788
14809
|
var AccountService = /** @class */ (function (_super) {
|
|
14789
14810
|
__extends(AccountService, _super);
|
|
14790
14811
|
function AccountService(cryptoService, network, graphql, settings, storage, file, environment) {
|
|
@@ -15032,6 +15053,7 @@
|
|
|
15032
15053
|
data.account.settings = data.account.settings || new exports.UserSettings();
|
|
15033
15054
|
data.account.settings.locale = this.settings.locale;
|
|
15034
15055
|
data.account.settings.latLongFormat = this.settings.latLongFormat;
|
|
15056
|
+
data.account.settings.content = data.account.settings.content || {};
|
|
15035
15057
|
data.account.department.id = data.account.department.id || this.environment.defaultDepartmentId;
|
|
15036
15058
|
this._cache.keypair = keypair;
|
|
15037
15059
|
return [4 /*yield*/, this.saveRemotely(data.account, keypair)];
|
|
@@ -15490,9 +15512,9 @@
|
|
|
15490
15512
|
if (!this._cache.pubkey)
|
|
15491
15513
|
return rxjs.Subscription.EMPTY;
|
|
15492
15514
|
var self = this;
|
|
15493
|
-
console.debug('[account] [WS] Listening
|
|
15515
|
+
console.debug('[account] [WS] Listening changes');
|
|
15494
15516
|
var subscription = this.graphql.subscribe({
|
|
15495
|
-
query:
|
|
15517
|
+
query: AccountSubscriptions.listenChanges,
|
|
15496
15518
|
variables: {
|
|
15497
15519
|
interval: 10
|
|
15498
15520
|
},
|
|
@@ -15594,7 +15616,7 @@
|
|
|
15594
15616
|
};
|
|
15595
15617
|
AccountService.prototype.loadData = function (opts) {
|
|
15596
15618
|
return __awaiter(this, void 0, void 0, function () {
|
|
15597
|
-
var account,
|
|
15619
|
+
var account, settings, error_6;
|
|
15598
15620
|
return __generator(this, function (_b) {
|
|
15599
15621
|
switch (_b.label) {
|
|
15600
15622
|
case 0:
|
|
@@ -15623,10 +15645,8 @@
|
|
|
15623
15645
|
this._data = account;
|
|
15624
15646
|
}
|
|
15625
15647
|
this._cache.loaded = true;
|
|
15626
|
-
|
|
15627
|
-
|
|
15628
|
-
settings = Object.assign(Object.assign(Object.assign({}, this.settings.settings), account.settings.content), account.settings);
|
|
15629
|
-
delete settings.content; // Remove content attribute
|
|
15648
|
+
if (!account.settings) return [3 /*break*/, 4];
|
|
15649
|
+
settings = Object.assign(Object.assign({}, this.settings.settings), account.settings.asLocalSettings());
|
|
15630
15650
|
return [4 /*yield*/, this.settings.apply(settings)];
|
|
15631
15651
|
case 3:
|
|
15632
15652
|
_b.sent();
|
|
@@ -15803,24 +15823,23 @@
|
|
|
15803
15823
|
};
|
|
15804
15824
|
AccountService.prototype.saveLocalSettingsRemotely = function (source) {
|
|
15805
15825
|
return __awaiter(this, void 0, void 0, function () {
|
|
15806
|
-
var account, settings,
|
|
15826
|
+
var account, settings, changed;
|
|
15807
15827
|
return __generator(this, function (_b) {
|
|
15808
15828
|
switch (_b.label) {
|
|
15809
15829
|
case 0:
|
|
15810
|
-
if (!source || !this.isLogin())
|
|
15830
|
+
if (!source || !this.isLogin() || source.accountInheritance === false)
|
|
15811
15831
|
return [2 /*return*/]; // Skip
|
|
15812
15832
|
account = this.account;
|
|
15813
15833
|
settings = exports.UserSettings.fromObject(account.settings) || new exports.UserSettings();
|
|
15814
|
-
|
|
15815
|
-
if (!
|
|
15816
|
-
|
|
15817
|
-
|
|
15818
|
-
account.settings = settings;
|
|
15819
|
-
return [4 /*yield*/, this.
|
|
15834
|
+
changed = settings.merge(source, ['locale', 'latLongFormat', 'properties']);
|
|
15835
|
+
if (!changed)
|
|
15836
|
+
return [2 /*return*/]; // Skip if unchanged
|
|
15837
|
+
// Save remotely
|
|
15838
|
+
this.account.settings = settings;
|
|
15839
|
+
return [4 /*yield*/, this.saveSettingsRemotely(settings)];
|
|
15820
15840
|
case 1:
|
|
15821
15841
|
_b.sent();
|
|
15822
|
-
|
|
15823
|
-
case 2: return [2 /*return*/];
|
|
15842
|
+
return [2 /*return*/];
|
|
15824
15843
|
}
|
|
15825
15844
|
});
|
|
15826
15845
|
});
|
|
@@ -15843,7 +15862,7 @@
|
|
|
15843
15862
|
now = this._debug && Date.now();
|
|
15844
15863
|
if (this._debug)
|
|
15845
15864
|
console.debug("[account] Saving account remotely...");
|
|
15846
|
-
isNew =
|
|
15865
|
+
isNew = isNil(account.id);
|
|
15847
15866
|
if (!!isNew) return [3 /*break*/, 2];
|
|
15848
15867
|
return [4 /*yield*/, this.load({ fetchPolicy: 'network-only' })];
|
|
15849
15868
|
case 1:
|
|
@@ -15858,7 +15877,7 @@
|
|
|
15858
15877
|
// User not allow to change his profiles
|
|
15859
15878
|
delete json.profiles;
|
|
15860
15879
|
return [4 /*yield*/, this.graphql.mutate({
|
|
15861
|
-
mutation: isNew ?
|
|
15880
|
+
mutation: isNew ? AccountMutations.create : AccountMutations.save,
|
|
15862
15881
|
variables: { data: json },
|
|
15863
15882
|
error: {
|
|
15864
15883
|
code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
|
|
@@ -15876,6 +15895,43 @@
|
|
|
15876
15895
|
});
|
|
15877
15896
|
});
|
|
15878
15897
|
};
|
|
15898
|
+
/**
|
|
15899
|
+
* Create or update user settings
|
|
15900
|
+
*
|
|
15901
|
+
* @param settings
|
|
15902
|
+
*/
|
|
15903
|
+
AccountService.prototype.saveSettingsRemotely = function (settings) {
|
|
15904
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
15905
|
+
var now, json, data;
|
|
15906
|
+
return __generator(this, function (_b) {
|
|
15907
|
+
switch (_b.label) {
|
|
15908
|
+
case 0:
|
|
15909
|
+
now = this._debug && Date.now();
|
|
15910
|
+
if (this._debug)
|
|
15911
|
+
console.debug("[account] Saving settings remotely...");
|
|
15912
|
+
json = settings.asObject(MINIFY_ENTITY_FOR_POD);
|
|
15913
|
+
return [4 /*yield*/, this.graphql.mutate({
|
|
15914
|
+
mutation: AccountMutations.saveSettings,
|
|
15915
|
+
variables: { data: json },
|
|
15916
|
+
error: {
|
|
15917
|
+
code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
|
|
15918
|
+
message: 'ERROR.SAVE_SETTINGS_ERROR'
|
|
15919
|
+
}
|
|
15920
|
+
})];
|
|
15921
|
+
case 1:
|
|
15922
|
+
data = (_b.sent()).data;
|
|
15923
|
+
// Copy update properties
|
|
15924
|
+
this.copyIdAndUpdateDateSettings(data, settings);
|
|
15925
|
+
if (this._debug)
|
|
15926
|
+
console.debug("[account] Settings remotely saved in " + (Date.now() - now) + "ms");
|
|
15927
|
+
// Save into account
|
|
15928
|
+
if (this.account)
|
|
15929
|
+
this.account.settings = settings;
|
|
15930
|
+
return [2 /*return*/];
|
|
15931
|
+
}
|
|
15932
|
+
});
|
|
15933
|
+
});
|
|
15934
|
+
};
|
|
15879
15935
|
AccountService.prototype.authenticateAndGetToken = function (token, counter) {
|
|
15880
15936
|
return __awaiter(this, void 0, void 0, function () {
|
|
15881
15937
|
var data_1, challengeError, data, signatureOK, signature, newToken;
|
|
@@ -15952,8 +16008,13 @@
|
|
|
15952
16008
|
return;
|
|
15953
16009
|
target.id = source.id || target.id;
|
|
15954
16010
|
target.updateDate = source.updateDate || target.updateDate;
|
|
15955
|
-
|
|
15956
|
-
|
|
16011
|
+
this.copyIdAndUpdateDateSettings(source.settings, target.settings);
|
|
16012
|
+
};
|
|
16013
|
+
AccountService.prototype.copyIdAndUpdateDateSettings = function (source, target) {
|
|
16014
|
+
if (!source)
|
|
16015
|
+
return;
|
|
16016
|
+
target.id = source.id || target.id;
|
|
16017
|
+
target.updateDate = source.updateDate || target.updateDate;
|
|
15957
16018
|
};
|
|
15958
16019
|
return AccountService;
|
|
15959
16020
|
}(BaseGraphqlService));
|
|
@@ -15970,7 +16031,7 @@
|
|
|
15970
16031
|
{ type: FileService },
|
|
15971
16032
|
{ type: undefined, decorators: [{ type: i0.Inject, args: [ENVIRONMENT,] }] }
|
|
15972
16033
|
]; };
|
|
15973
|
-
var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
|
|
16034
|
+
var templateObject_1$4, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$2, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12;
|
|
15974
16035
|
|
|
15975
16036
|
var Software_1, Configuration_1;
|
|
15976
16037
|
// @dynamic
|
|
@@ -16847,15 +16908,11 @@
|
|
|
16847
16908
|
_this.translate.use(data.locale);
|
|
16848
16909
|
}
|
|
16849
16910
|
});
|
|
16850
|
-
// Use account's locale, when account inheritance enabled
|
|
16911
|
+
// Use account's settings, (like locale), when account inheritance enabled
|
|
16851
16912
|
this.accountService.onLogin.subscribe(function (account) {
|
|
16852
|
-
if (_this.settings.settings.accountInheritance) {
|
|
16853
|
-
var
|
|
16854
|
-
|
|
16855
|
-
_this.settings.apply({
|
|
16856
|
-
locale: accountLocale
|
|
16857
|
-
});
|
|
16858
|
-
}
|
|
16913
|
+
if (account.settings && _this.settings.settings.accountInheritance) {
|
|
16914
|
+
var accountSettings = account.settings.asLocalSettings();
|
|
16915
|
+
_this.settings.apply(accountSettings);
|
|
16859
16916
|
}
|
|
16860
16917
|
});
|
|
16861
16918
|
};
|