@sumaris-net/ngx-components 18.5.12 → 18.5.13

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.
@@ -122,7 +122,12 @@ let UserSettings = class UserSettings extends Entity {
122
122
  // Else, store property into the 'content' map
123
123
  else if (includesProperties && includesProperties.includes(key)) {
124
124
  if (!equals(this.content[key], source[key])) {
125
- this.content[key] = Object.assign({}, source[key]);
125
+ if (typeof source[key] === 'object' && source[key] !== null) {
126
+ this.content[key] = { ...source[key] }; // Copy object
127
+ }
128
+ else {
129
+ this.content[key] = source[key];
130
+ }
126
131
  hasChanges = true;
127
132
  }
128
133
  }
@@ -137,6 +142,10 @@ let UserSettings = class UserSettings extends Entity {
137
142
  Object.keys(this.content).forEach((key) => {
138
143
  target[key] = this.content[key];
139
144
  });
145
+ // Clear properties if empty, to avoid to reset the existing properties - See issue sumaris-app#897
146
+ if (Object.keys(target['properties'] || {}).length === 0) {
147
+ delete target['properties'];
148
+ }
140
149
  return target;
141
150
  }
142
151
  };
@@ -147,4 +156,4 @@ export { UserSettings };
147
156
  export function accountToString(data) {
148
157
  return (data && ((data.firstName && data.firstName + ' ') || '') + (data.lastName || '')) || '';
149
158
  }
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxXQUFXO0FBRUosSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFRLFNBQVEsTUFBZTs7SUFDMUMsTUFBTSxDQUFDLFVBQVUsQ0FBdUM7SUFFeEQsUUFBUSxHQUFpQixJQUFJLENBQUM7SUFDOUIsTUFBTSxHQUFnQixFQUFFLENBQUM7SUFFekI7UUFDRSxLQUFLLENBQUMsU0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBNEI7UUFDbkMsTUFBTSxNQUFNLEdBQVEsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsNENBQTRDLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFB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QUNuRCxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsY0FBWSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O0FBdEVVLFlBQVk7SUFEeEIsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLENBQUM7R0FDL0IsWUFBWSxDQXVFeEI7O0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFhO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsU2V0dGluZ3MgfSBmcm9tICcuL3NldHRpbmdzLm1vZGVsJztcbmltcG9ydCB7IFBlcnNvbiwgUGVyc29uVXRpbHMsIFVzZXJQcm9maWxlTGFiZWwgfSBmcm9tICcuL3BlcnNvbi5tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHksIEVudGl0eUFzT2JqZWN0T3B0aW9ucyB9IGZyb20gJy4vZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IEVudGl0eUNsYXNzIH0gZnJvbSAnLi9lbnRpdHkuZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBTdGF0dXNJZHMgfSBmcm9tICcuL21vZGVsLmVudW0nO1xuaW1wb3J0IHsgTGF0TG9uZ1BhdHRlcm4gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9sYXRsb25nLnV0aWxzJztcbmltcG9ydCB7IGVxdWFscywgaXNOaWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IFVzZXJUb2tlbiB9IGZyb20gJy4vdG9rZW4ubW9kZWwnO1xuXG4vKipcbiAqIEEgdXNlciBhY2NvdW50XG4gKi9cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3MoeyB0eXBlbmFtZTogJ0FjY291bnRWTycgfSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50IGV4dGVuZHMgUGVyc29uPEFjY291bnQ+IHtcbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gQWNjb3VudDtcblxuICBzZXR0aW5nczogVXNlclNldHRpbmdzID0gbnVsbDtcbiAgdG9rZW5zOiBVc2VyVG9rZW5bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKEFjY291bnQuVFlQRU5BTUUpO1xuICB9XG5cbiAgYXNPYmplY3Qob3B0cz86IEVudGl0eUFzT2JqZWN0T3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBzdXBlci5hc09iamVjdCh7IC4uLm9wdHMsIG1pbmlmeTogZmFsc2UgLypkaXNhYmxlIFBlcnNvbiBtaW5pZnkgKHRvbyByZXN0cmljdGl2ZSkgKi8gfSk7XG4gICAgdGFyZ2V0LnNldHRpbmdzID0gdGhpcy5zZXR0aW5ncz8uYXNPYmplY3Qob3B0cyk7XG4gICAgdGFyZ2V0LnRva2VucyA9IHRoaXMudG9rZW5zPy5tYXAoKHZhbHVlKSA9PiB2YWx1ZS5hc09iamVjdChvcHRzKSk7XG4gICAgaWYgKG9wdHM/Lm1pbmlmeSkge1xuICAgICAgZGVsZXRlIHRhcmdldC5tYWluUHJvZmlsZTsgLy8gTm90IGtub3duIG9uIHNlcnZlclxuICAgIH1cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB0aGlzLnNldHRpbmdzID0gc291cmNlLnNldHRpbmdzICYmIFVzZXJTZXR0aW5ncy5mcm9tT2JqZWN0KHNvdXJjZS5zZXR0aW5ncyk7XG4gICAgdGhpcy50b2tlbnMgPSBzb3VyY2UudG9rZW5zPy5tYXAoKHZhbHVlKSA9PiBVc2VyVG9rZW4uZnJvbU9iamVjdCh2YWx1ZSkpIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgaW50byBhIFBlcnNvbi4gVGhpcyB3aWxsIGZpbGwgX190eXBlbmFtZSB3aXRoIGEgcmlnaHQgdmFsdWUsIGZvciBkYXRhIGNhY2hlXG4gICAqL1xuICBhc1BlcnNvbigpOiBQZXJzb24ge1xuICAgIGNvbnN0IHBlcnNvbiA9IFBlcnNvbi5mcm9tT2JqZWN0KFxuICAgICAgdGhpcy5hc09iamVjdCh7XG4gICAgICAgIGtlZXBUeXBlbmFtZTogdHJ1ZSwgLy8gVGhpcyBpcyBuZWVkIGZvciB0aGUgZGVwYXJ0bWVudCBvYmplY3RcbiAgICAgIH0pXG4gICAgKTtcbiAgICBwZXJzb24uX190eXBlbmFtZSA9IFBlcnNvbi5UWVBFTkFNRTsgLy8gRG8gbm90IGtlZXAgQWNjb3VudFZPIGFzIHR5cGVuYW1lXG4gICAgcmV0dXJuIHBlcnNvbjtcbiAgfVxuXG4gIGdldCBkaXNwbGF5TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBhY2NvdW50VG9TdHJpbmcodGhpcyk7XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFjY291bnRVdGlscyB7XG4gIHN0YXRpYyBhY2NvdW50VG9TdHJpbmcgPSBhY2NvdW50VG9TdHJpbmc7XG5cbiAgc3RhdGljIGhhc01pblByb2ZpbGUoYWNjb3VudDogQWNjb3VudCB8IG51bGwsIHVzZXJQcm9maWxlOiBVc2VyUHJvZmlsZUxhYmVsKTogYm9vbGVhbiB7XG4gICAgLy8gc2hvdWxkIGJlIGxvZ2luLCBhbmQgc3RhdHVzIEVOQUJMRSBvciBURU1QT1JBUllcbiAgICBpZiAoIWFjY291bnQgfHwgIWFjY291bnQucHVia2V5IHx8IChhY2NvdW50LnN0YXR1c0lkICE9PSBTdGF0dXNJZHMuRU5BQkxFICYmIGFjY291bnQuc3RhdHVzSWQgIT09IFN0YXR1c0lkcy5URU1QT1JBUlkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBQZXJzb25VdGlscy5oYXNVcHBlck9yRXF1YWxzUHJvZmlsZShhY2NvdW50LnByb2ZpbGVzLCB1c2VyUHJvZmlsZSk7XG4gIH1cblxuICBzdGF0aWMgaGFzRXhhY3RQcm9maWxlKGFjY291bnQ6IEFjY291bnQgfCBudWxsLCBsYWJlbDogVXNlclByb2ZpbGVMYWJlbCk6IGJvb2xlYW4ge1xuICAgIC8vIHNob3VsZCBiZSBsb2dpbiwgYW5kIHN0YXR1cyBFTkFCTEUgb3IgVEVNUE9SQVJZXG4gICAgaWYgKCFhY2NvdW50IHx8ICFhY2NvdW50LnB1YmtleSB8fCAoYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLkVOQUJMRSAmJiBhY2NvdW50LnN0YXR1c0lkICE9PSBTdGF0dXNJZHMuVEVNUE9SQVJZKSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBhY2NvdW50LnByb2ZpbGVzLnNvbWUoKHByb2ZpbGUpID0+IHByb2ZpbGUgPT09IGxhYmVsKTtcbiAgfVxuXG4gIHN0YXRpYyBoYXNQcm9maWxlQW5kSXNFbmFibGUoYWNjb3VudDogQWNjb3VudCB8IG51bGwsIHVzZXJQcm9maWxlOiBVc2VyUHJvZmlsZUxhYmVsKTogYm9vbGVhbiB7XG4gICAgLy8gc2hvdWxkIGJlIGxvZ2luLCBhbmQgc3RhdHVzIEVOQUJMRVxuICAgIGlmICghYWNjb3VudCB8fCAhYWNjb3VudC5wdWJrZXkgfHwgYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLkVOQUJMRSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBQZXJzb25VdGlscy5oYXNVcHBlck9yRXF1YWxzUHJvZmlsZShhY2NvdW50LnByb2ZpbGVzLCB1c2VyUHJvZmlsZSk7XG4gIH1cbn1cblxuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7IHR5cGVuYW1lOiAnVXNlclNldHRpbmdzVk8nIH0pXG5leHBvcnQgY2xhc3MgVXNlclNldHRpbmdzIGV4dGVuZHMgRW50aXR5PFVzZXJTZXR0aW5ncz4ge1xuICBzdGF0aWMgU0VUVElOR1NfUFJPUEVSVElFUyA9IFs8a2V5b2YgVXNlclNldHRpbmdzPidsb2NhbGUnLCA8a2V5b2YgVXNlclNldHRpbmdzPidsYXRMb25nRm9ybWF0J10gYXMgc3RyaW5nW107XG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IFVzZXJTZXR0aW5ncztcblxuICBsb2NhbGU6IHN0cmluZztcbiAgbGF0TG9uZ0Zvcm1hdDogTGF0TG9uZ1BhdHRlcm47XG4gIGNvbnRlbnQ6IGFueTtcbiAgbm9uY2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihVc2VyU2V0dGluZ3MuVFlQRU5BTUUpO1xuICB9XG5cbiAgYXNPYmplY3Qob3B0cz86IEVudGl0eUFzT2JqZWN0T3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gc3VwZXIuYXNPYmplY3Qob3B0cyk7XG4gICAgaWYgKG9wdHM/Lm1pbmlmeSkge1xuICAgICAgLy8gU3RyaW5naWZ5IGNvbnRlbnRcbiAgICAgIHRhcmdldC5jb250ZW50ID0gdGhpcy5jb250ZW50ID8gSlNPTi5zdHJpbmdpZnkodGhpcy5jb250ZW50KSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpIHtcbiAgICBzdXBlci5mcm9tT2JqZWN0KHNvdXJjZSk7XG4gICAgdGhpcy5sb2NhbGUgPSBzb3VyY2UubG9jYWxlO1xuICAgIHRoaXMubGF0TG9uZ0Zvcm1hdCA9IHNvdXJjZS5sYXRMb25nRm9ybWF0IGFzIExhdExvbmdQYXR0ZXJuO1xuICAgIGlmIChpc05pbChzb3VyY2UuY29udGVudCkgfHwgdHlwZW9mIHNvdXJjZS5jb250ZW50ID09PSAnb2JqZWN0Jykge1xuICAgICAgdGhpcy5jb250ZW50ID0gc291cmNlLmNvbnRlbnQgfHwge307XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udGVudCA9IChzb3VyY2UuY29udGVudCAmJiBKU09OLnBhcnNlKHNvdXJjZS5jb250ZW50KSkgfHwge307XG4gICAgfVxuICAgIHRoaXMubm9uY2UgPSBzb3VyY2Uubm9uY2U7XG4gIH1cblxuICBtZXJnZTxTID0gTG9jYWxTZXR0aW5ncz4oc291cmNlOiBTLCBpbmNsdWRlc1Byb3BlcnRpZXM6IChrZXlvZiBTKVtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCFzb3VyY2UpIHJldHVybjsgLy8gU2tpcFxuXG4gICAgLy8gUmVzZXQgY29udGVudFxuICAgIHRoaXMuY29udGVudCA9IHt9O1xuICAgIGxldCBoYXNDaGFuZ2VzID0gZmFsc2U7XG5cbiAgICAvLyBGb3IgZWFjaCBwcm9wZXJ0eSBvZiBzb3VyY2Ugb2JqZWN0XG4gICAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIC8vIElmIHByb3BlcnR5IGV4aXN0cyBpbiBVc2VyU2V0dGluZ3MgY2xhc3M6IHN0b3JlIGl0IGRpcmVjdGx5XG4gICAgICBpZiAoVXNlclNldHRpbmdzLlNFVFRJTkdTX1BST1BFUlRJRVMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBpZiAoIWVxdWFscyh0aGlzW2tleV0sIHNvdXJjZVtrZXldKSkge1xuICAgICAgICAgIHRoaXNba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgIGhhc0NoYW5nZXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBFbHNlLCBzdG9yZSBwcm9wZXJ0eSBpbnRvIHRoZSAnY29udGVudCcgbWFwXG4gICAgICBlbHNlIGlmIChpbmNsdWRlc1Byb3BlcnRpZXMgJiYgaW5jbHVkZXNQcm9wZXJ0aWVzLmluY2x1ZGVzKGtleSBhcyBrZXlvZiBTKSkge1xuICAgICAgICBpZiAoIWVxdWFscyh0aGlzLmNvbnRlbnRba2V5XSwgc291cmNlW2tleV0pKSB7XG4gICAgICAgICAgdGhpcy5jb250ZW50W2tleV0gPSBPYmplY3QuYXNzaWduKHt9LCBzb3VyY2Vba2V5XSk7XG4gICAgICAgICAgaGFzQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaGFzQ2hhbmdlcztcbiAgfVxuXG4gIGFzTG9jYWxTZXR0aW5ncygpOiBQYXJ0aWFsPExvY2FsU2V0dGluZ3M+IHtcbiAgICBjb25zdCB0YXJnZXQgPSB7fTtcbiAgICBVc2VyU2V0dGluZ3MuU0VUVElOR1NfUFJPUEVSVElFUy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIHRhcmdldFtrZXldID0gdGhpc1trZXldO1xuICAgIH0pO1xuICAgIE9iamVjdC5rZXlzKHRoaXMuY29udGVudCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICB0YXJnZXRba2V5XSA9IHRoaXMuY29udGVudFtrZXldO1xuICAgIH0pO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjY291bnRUb1N0cmluZyhkYXRhOiBBY2NvdW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIChkYXRhICYmICgoZGF0YS5maXJzdE5hbWUgJiYgZGF0YS5maXJzdE5hbWUgKyAnICcpIHx8ICcnKSArIChkYXRhLmxhc3ROYW1lIHx8ICcnKSkgfHwgJyc7XG59XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxXQUFXO0FBRUosSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFRLFNBQVEsTUFBZTs7SUFDMUMsTUFBTSxDQUFDLFVBQVUsQ0FBdUM7SUFFeEQsUUFBUSxHQUFpQixJQUFJLENBQUM7SUFDOUIsTUFBTSxHQUFnQixFQUFFLENBQUM7SUFFekI7UUFDRSxLQUFLLENBQUMsU0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBNEI7UUFDbkMsTUFBTSxNQUFNLEdBQVEsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsNENBQTRDLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFB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VSxlQUFlLENBQUMsSUFBYTtJQUMzQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ2xHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbFNldHRpbmdzIH0gZnJvbSAnLi9zZXR0aW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBQZXJzb24sIFBlcnNvblV0aWxzLCBVc2VyUHJvZmlsZUxhYmVsIH0gZnJvbSAnLi9wZXJzb24ubW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5LCBFbnRpdHlBc09iamVjdE9wdGlvbnMgfSBmcm9tICcuL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlDbGFzcyB9IGZyb20gJy4vZW50aXR5LmRlY29yYXRvcnMnO1xuaW1wb3J0IHsgU3RhdHVzSWRzIH0gZnJvbSAnLi9tb2RlbC5lbnVtJztcbmltcG9ydCB7IExhdExvbmdQYXR0ZXJuIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21hdGVyaWFsL2xhdGxvbmcvbGF0bG9uZy51dGlscyc7XG5pbXBvcnQgeyBlcXVhbHMsIGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBVc2VyVG9rZW4gfSBmcm9tICcuL3Rva2VuLm1vZGVsJztcblxuLyoqXG4gKiBBIHVzZXIgYWNjb3VudFxuICovXG4vLyBAZHluYW1pY1xuQEVudGl0eUNsYXNzKHsgdHlwZW5hbWU6ICdBY2NvdW50Vk8nIH0pXG5leHBvcnQgY2xhc3MgQWNjb3VudCBleHRlbmRzIFBlcnNvbjxBY2NvdW50PiB7XG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IEFjY291bnQ7XG5cbiAgc2V0dGluZ3M6IFVzZXJTZXR0aW5ncyA9IG51bGw7XG4gIHRva2VuczogVXNlclRva2VuW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihBY2NvdW50LlRZUEVOQU1FKTtcbiAgfVxuXG4gIGFzT2JqZWN0KG9wdHM/OiBFbnRpdHlBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHRhcmdldDogYW55ID0gc3VwZXIuYXNPYmplY3QoeyAuLi5vcHRzLCBtaW5pZnk6IGZhbHNlIC8qZGlzYWJsZSBQZXJzb24gbWluaWZ5ICh0b28gcmVzdHJpY3RpdmUpICovIH0pO1xuICAgIHRhcmdldC5zZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3M/LmFzT2JqZWN0KG9wdHMpO1xuICAgIHRhcmdldC50b2tlbnMgPSB0aGlzLnRva2Vucz8ubWFwKCh2YWx1ZSkgPT4gdmFsdWUuYXNPYmplY3Qob3B0cykpO1xuICAgIGlmIChvcHRzPy5taW5pZnkpIHtcbiAgICAgIGRlbGV0ZSB0YXJnZXQubWFpblByb2ZpbGU7IC8vIE5vdCBrbm93biBvbiBzZXJ2ZXJcbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnkpIHtcbiAgICBzdXBlci5mcm9tT2JqZWN0KHNvdXJjZSk7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHNvdXJjZS5zZXR0aW5ncyAmJiBVc2VyU2V0dGluZ3MuZnJvbU9iamVjdChzb3VyY2Uuc2V0dGluZ3MpO1xuICAgIHRoaXMudG9rZW5zID0gc291cmNlLnRva2Vucz8ubWFwKCh2YWx1ZSkgPT4gVXNlclRva2VuLmZyb21PYmplY3QodmFsdWUpKSB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGludG8gYSBQZXJzb24uIFRoaXMgd2lsbCBmaWxsIF9fdHlwZW5hbWUgd2l0aCBhIHJpZ2h0IHZhbHVlLCBmb3IgZGF0YSBjYWNoZVxuICAgKi9cbiAgYXNQZXJzb24oKTogUGVyc29uIHtcbiAgICBjb25zdCBwZXJzb24gPSBQZXJzb24uZnJvbU9iamVjdChcbiAgICAgIHRoaXMuYXNPYmplY3Qoe1xuICAgICAgICBrZWVwVHlwZW5hbWU6IHRydWUsIC8vIFRoaXMgaXMgbmVlZCBmb3IgdGhlIGRlcGFydG1lbnQgb2JqZWN0XG4gICAgICB9KVxuICAgICk7XG4gICAgcGVyc29uLl9fdHlwZW5hbWUgPSBQZXJzb24uVFlQRU5BTUU7IC8vIERvIG5vdCBrZWVwIEFjY291bnRWTyBhcyB0eXBlbmFtZVxuICAgIHJldHVybiBwZXJzb247XG4gIH1cblxuICBnZXQgZGlzcGxheU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYWNjb3VudFRvU3RyaW5nKHRoaXMpO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY2NvdW50VXRpbHMge1xuICBzdGF0aWMgYWNjb3VudFRvU3RyaW5nID0gYWNjb3VudFRvU3RyaW5nO1xuXG4gIHN0YXRpYyBoYXNNaW5Qcm9maWxlKGFjY291bnQ6IEFjY291bnQgfCBudWxsLCB1c2VyUHJvZmlsZTogVXNlclByb2ZpbGVMYWJlbCk6IGJvb2xlYW4ge1xuICAgIC8vIHNob3VsZCBiZSBsb2dpbiwgYW5kIHN0YXR1cyBFTkFCTEUgb3IgVEVNUE9SQVJZXG4gICAgaWYgKCFhY2NvdW50IHx8ICFhY2NvdW50LnB1YmtleSB8fCAoYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLkVOQUJMRSAmJiBhY2NvdW50LnN0YXR1c0lkICE9PSBTdGF0dXNJZHMuVEVNUE9SQVJZKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gUGVyc29uVXRpbHMuaGFzVXBwZXJPckVxdWFsc1Byb2ZpbGUoYWNjb3VudC5wcm9maWxlcywgdXNlclByb2ZpbGUpO1xuICB9XG5cbiAgc3RhdGljIGhhc0V4YWN0UHJvZmlsZShhY2NvdW50OiBBY2NvdW50IHwgbnVsbCwgbGFiZWw6IFVzZXJQcm9maWxlTGFiZWwpOiBib29sZWFuIHtcbiAgICAvLyBzaG91bGQgYmUgbG9naW4sIGFuZCBzdGF0dXMgRU5BQkxFIG9yIFRFTVBPUkFSWVxuICAgIGlmICghYWNjb3VudCB8fCAhYWNjb3VudC5wdWJrZXkgfHwgKGFjY291bnQuc3RhdHVzSWQgIT09IFN0YXR1c0lkcy5FTkFCTEUgJiYgYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLlRFTVBPUkFSWSkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gYWNjb3VudC5wcm9maWxlcy5zb21lKChwcm9maWxlKSA9PiBwcm9maWxlID09PSBsYWJlbCk7XG4gIH1cblxuICBzdGF0aWMgaGFzUHJvZmlsZUFuZElzRW5hYmxlKGFjY291bnQ6IEFjY291bnQgfCBudWxsLCB1c2VyUHJvZmlsZTogVXNlclByb2ZpbGVMYWJlbCk6IGJvb2xlYW4ge1xuICAgIC8vIHNob3VsZCBiZSBsb2dpbiwgYW5kIHN0YXR1cyBFTkFCTEVcbiAgICBpZiAoIWFjY291bnQgfHwgIWFjY291bnQucHVia2V5IHx8IGFjY291bnQuc3RhdHVzSWQgIT09IFN0YXR1c0lkcy5FTkFCTEUpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gUGVyc29uVXRpbHMuaGFzVXBwZXJPckVxdWFsc1Byb2ZpbGUoYWNjb3VudC5wcm9maWxlcywgdXNlclByb2ZpbGUpO1xuICB9XG59XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3MoeyB0eXBlbmFtZTogJ1VzZXJTZXR0aW5nc1ZPJyB9KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXR0aW5ncyBleHRlbmRzIEVudGl0eTxVc2VyU2V0dGluZ3M+IHtcbiAgc3RhdGljIFNFVFRJTkdTX1BST1BFUlRJRVMgPSBbPGtleW9mIFVzZXJTZXR0aW5ncz4nbG9jYWxlJywgPGtleW9mIFVzZXJTZXR0aW5ncz4nbGF0TG9uZ0Zvcm1hdCddIGFzIHN0cmluZ1tdO1xuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiBVc2VyU2V0dGluZ3M7XG5cbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGxhdExvbmdGb3JtYXQ6IExhdExvbmdQYXR0ZXJuO1xuICBjb250ZW50OiBhbnk7XG4gIG5vbmNlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoVXNlclNldHRpbmdzLlRZUEVOQU1FKTtcbiAgfVxuXG4gIGFzT2JqZWN0KG9wdHM/OiBFbnRpdHlBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHRhcmdldCA9IHN1cGVyLmFzT2JqZWN0KG9wdHMpO1xuICAgIGlmIChvcHRzPy5taW5pZnkpIHtcbiAgICAgIC8vIFN0cmluZ2lmeSBjb250ZW50XG4gICAgICB0YXJnZXQuY29udGVudCA9IHRoaXMuY29udGVudCA/IEpTT04uc3RyaW5naWZ5KHRoaXMuY29udGVudCkgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogYW55KSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIHRoaXMubG9jYWxlID0gc291cmNlLmxvY2FsZTtcbiAgICB0aGlzLmxhdExvbmdGb3JtYXQgPSBzb3VyY2UubGF0TG9uZ0Zvcm1hdCBhcyBMYXRMb25nUGF0dGVybjtcbiAgICBpZiAoaXNOaWwoc291cmNlLmNvbnRlbnQpIHx8IHR5cGVvZiBzb3VyY2UuY29udGVudCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuY29udGVudCA9IHNvdXJjZS5jb250ZW50IHx8IHt9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSAoc291cmNlLmNvbnRlbnQgJiYgSlNPTi5wYXJzZShzb3VyY2UuY29udGVudCkpIHx8IHt9O1xuICAgIH1cbiAgICB0aGlzLm5vbmNlID0gc291cmNlLm5vbmNlO1xuICB9XG5cbiAgbWVyZ2U8UyA9IExvY2FsU2V0dGluZ3M+KHNvdXJjZTogUywgaW5jbHVkZXNQcm9wZXJ0aWVzOiAoa2V5b2YgUylbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghc291cmNlKSByZXR1cm47IC8vIFNraXBcblxuICAgIC8vIFJlc2V0IGNvbnRlbnRcbiAgICB0aGlzLmNvbnRlbnQgPSB7fTtcbiAgICBsZXQgaGFzQ2hhbmdlcyA9IGZhbHNlO1xuXG4gICAgLy8gRm9yIGVhY2ggcHJvcGVydHkgb2Ygc291cmNlIG9iamVjdFxuICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAvLyBJZiBwcm9wZXJ0eSBleGlzdHMgaW4gVXNlclNldHRpbmdzIGNsYXNzOiBzdG9yZSBpdCBkaXJlY3RseVxuICAgICAgaWYgKFVzZXJTZXR0aW5ncy5TRVRUSU5HU19QUk9QRVJUSUVTLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgaWYgKCFlcXVhbHModGhpc1trZXldLCBzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgICB0aGlzW2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICBoYXNDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gRWxzZSwgc3RvcmUgcHJvcGVydHkgaW50byB0aGUgJ2NvbnRlbnQnIG1hcFxuICAgICAgZWxzZSBpZiAoaW5jbHVkZXNQcm9wZXJ0aWVzICYmIGluY2x1ZGVzUHJvcGVydGllcy5pbmNsdWRlcyhrZXkgYXMga2V5b2YgUykpIHtcbiAgICAgICAgaWYgKCFlcXVhbHModGhpcy5jb250ZW50W2tleV0sIHNvdXJjZVtrZXldKSkge1xuICAgICAgICAgIGlmICh0eXBlb2Ygc291cmNlW2tleV0gPT09ICdvYmplY3QnICYmIHNvdXJjZVtrZXldICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRba2V5XSA9IHsgLi4uc291cmNlW2tleV0gfTsgLy8gQ29weSBvYmplY3RcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaGFzQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaGFzQ2hhbmdlcztcbiAgfVxuXG4gIGFzTG9jYWxTZXR0aW5ncygpOiBQYXJ0aWFsPExvY2FsU2V0dGluZ3M+IHtcbiAgICBjb25zdCB0YXJnZXQgPSB7fTtcbiAgICBVc2VyU2V0dGluZ3MuU0VUVElOR1NfUFJPUEVSVElFUy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIHRhcmdldFtrZXldID0gdGhpc1trZXldO1xuICAgIH0pO1xuICAgIE9iamVjdC5rZXlzKHRoaXMuY29udGVudCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICB0YXJnZXRba2V5XSA9IHRoaXMuY29udGVudFtrZXldO1xuICAgIH0pO1xuICAgIC8vIENsZWFyIHByb3BlcnRpZXMgaWYgZW1wdHksIHRvIGF2b2lkIHRvIHJlc2V0IHRoZSBleGlzdGluZyBwcm9wZXJ0aWVzIC0gU2VlIGlzc3VlIHN1bWFyaXMtYXBwIzg5N1xuICAgIGlmIChPYmplY3Qua2V5cyh0YXJnZXRbJ3Byb3BlcnRpZXMnXSB8fCB7fSkubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgdGFyZ2V0Wydwcm9wZXJ0aWVzJ107XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjY291bnRUb1N0cmluZyhkYXRhOiBBY2NvdW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIChkYXRhICYmICgoZGF0YS5maXJzdE5hbWUgJiYgZGF0YS5maXJzdE5hbWUgKyAnICcpIHx8ICcnKSArIChkYXRhLmxhc3ROYW1lIHx8ICcnKSkgfHwgJyc7XG59XG4iXX0=
@@ -12365,10 +12365,6 @@ class LocalSettingsService extends StartableService {
12365
12365
  const data = {
12366
12366
  ...this._data,
12367
12367
  ...settings,
12368
- properties: {
12369
- ...this._data.properties,
12370
- ...settings.properties,
12371
- },
12372
12368
  };
12373
12369
  if (equals(data, this._data))
12374
12370
  return; // Skip if no changes
@@ -19526,7 +19522,12 @@ let UserSettings = class UserSettings extends Entity {
19526
19522
  // Else, store property into the 'content' map
19527
19523
  else if (includesProperties && includesProperties.includes(key)) {
19528
19524
  if (!equals(this.content[key], source[key])) {
19529
- this.content[key] = Object.assign({}, source[key]);
19525
+ if (typeof source[key] === 'object' && source[key] !== null) {
19526
+ this.content[key] = { ...source[key] }; // Copy object
19527
+ }
19528
+ else {
19529
+ this.content[key] = source[key];
19530
+ }
19530
19531
  hasChanges = true;
19531
19532
  }
19532
19533
  }
@@ -19541,6 +19542,10 @@ let UserSettings = class UserSettings extends Entity {
19541
19542
  Object.keys(this.content).forEach((key) => {
19542
19543
  target[key] = this.content[key];
19543
19544
  });
19545
+ // Clear properties if empty, to avoid to reset the existing properties - See issue sumaris-app#897
19546
+ if (Object.keys(target['properties'] || {}).length === 0) {
19547
+ delete target['properties'];
19548
+ }
19544
19549
  return target;
19545
19550
  }
19546
19551
  };
@@ -38362,7 +38367,7 @@ class AccountPage extends AppForm {
38362
38367
  ngOnInit() {
38363
38368
  super.ngOnInit();
38364
38369
  // Get user options
38365
- this.optionDefinitions = this.accountService.optionDefs.filter((definition) => !definition.disabled && (!definition.minProfile || this.accountService.hasMinProfile(definition.minProfile)));
38370
+ this.optionDefinitions = (this.accountService.optionDefs || []).filter((definition) => !definition.disabled && (!definition.minProfile || this.accountService.hasMinProfile(definition.minProfile)));
38366
38371
  // Observed some events
38367
38372
  this.registerSubscription(this.accountService.onLogin.pipe(filter(() => !this.saving)).subscribe((account) => this.onLogin(account)));
38368
38373
  this.registerSubscription(this.accountService.onLogout.subscribe(() => this.onLogout()));
@@ -38512,6 +38517,9 @@ class AccountPage extends AppForm {
38512
38517
  const newProperties = { ...newAccount.settings.content['properties'], ...properties };
38513
38518
  newAccount.settings.merge({ properties: newProperties }, ['properties']);
38514
38519
  }
38520
+ else {
38521
+ newAccount.settings.merge({ properties: this.settings.settings.properties }, ['properties']);
38522
+ }
38515
38523
  if (this.tokensTable) {
38516
38524
  await this.tokensTable.save();
38517
38525
  newAccount.tokens = this.tokensTable.value;