@etsoo/appscript 1.6.32 → 1.6.33

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.
@@ -229,7 +229,7 @@ class CoreApp {
229
229
  this._embedded =
230
230
  this.storage.getData(this.fields.embedded) ?? false;
231
231
  // Load resources
232
- Promise.all([loadCrypto(), this.changeCulture(currentCulture)]).then(([cj, _resources]) => {
232
+ Promise.all([loadCrypto(), this.changeCulture(currentCulture)]).then(([cj]) => {
233
233
  CJ = cj.default;
234
234
  // Debug
235
235
  if (this.debug) {
@@ -810,9 +810,8 @@ class CoreApp {
810
810
  */
811
811
  async changeCulture(culture) {
812
812
  // Name
813
- const { name } = culture;
813
+ const { name, resources } = culture;
814
814
  // Same?
815
- let resources = culture.resources;
816
815
  if (this._culture === name && typeof resources === "object")
817
816
  return resources;
818
817
  // Save the cultrue to local storage
@@ -822,17 +821,24 @@ class CoreApp {
822
821
  this.api.setContentLanguage(name);
823
822
  // Set the culture
824
823
  this._culture = name;
825
- // Hold the current resources
826
- this.settings.currentCulture = culture;
824
+ let loadedResources;
827
825
  if (typeof resources !== "object") {
828
- resources = await resources();
826
+ // Load resources
827
+ loadedResources = await resources();
828
+ // Load system custom resources
829
+ await this.loadCustomResources(loadedResources, name);
829
830
  // Set static resources back
830
- culture.resources = resources;
831
+ culture.resources = loadedResources;
832
+ }
833
+ else {
834
+ loadedResources = resources;
835
+ // Load system custom resources
836
+ await this.loadCustomResources(loadedResources, name);
831
837
  }
832
- // Load system custom resources
833
- await this.loadCustomResources(resources, name);
838
+ // Hold the current resources
839
+ this.settings.currentCulture = culture;
834
840
  this.updateRegionLabel();
835
- return resources;
841
+ return loadedResources;
836
842
  }
837
843
  /**
838
844
  * Load custom resources, override to implement custom resources
@@ -32,5 +32,9 @@ export declare namespace BusinessUtils {
32
32
  * @param resources New resources to merge
33
33
  */
34
34
  function mergeCustomResources(target: DataTypes.StringRecord, resources: CustomCultureData[]): void;
35
+ /**
36
+ * Restore resources to target collection
37
+ * @param target Target collection to restore resources to, null to clear cache
38
+ */
35
39
  function restoreResources(target?: DataTypes.StringRecord): void;
36
40
  }
@@ -94,6 +94,10 @@ var BusinessUtils;
94
94
  }
95
95
  }
96
96
  BusinessUtils.mergeCustomResources = mergeCustomResources;
97
+ /**
98
+ * Restore resources to target collection
99
+ * @param target Target collection to restore resources to, null to clear cache
100
+ */
97
101
  function restoreResources(target) {
98
102
  // Clear cache if no target
99
103
  if (target == null) {
@@ -226,7 +226,7 @@ export class CoreApp {
226
226
  this._embedded =
227
227
  this.storage.getData(this.fields.embedded) ?? false;
228
228
  // Load resources
229
- Promise.all([loadCrypto(), this.changeCulture(currentCulture)]).then(([cj, _resources]) => {
229
+ Promise.all([loadCrypto(), this.changeCulture(currentCulture)]).then(([cj]) => {
230
230
  CJ = cj.default;
231
231
  // Debug
232
232
  if (this.debug) {
@@ -807,9 +807,8 @@ export class CoreApp {
807
807
  */
808
808
  async changeCulture(culture) {
809
809
  // Name
810
- const { name } = culture;
810
+ const { name, resources } = culture;
811
811
  // Same?
812
- let resources = culture.resources;
813
812
  if (this._culture === name && typeof resources === "object")
814
813
  return resources;
815
814
  // Save the cultrue to local storage
@@ -819,17 +818,24 @@ export class CoreApp {
819
818
  this.api.setContentLanguage(name);
820
819
  // Set the culture
821
820
  this._culture = name;
822
- // Hold the current resources
823
- this.settings.currentCulture = culture;
821
+ let loadedResources;
824
822
  if (typeof resources !== "object") {
825
- resources = await resources();
823
+ // Load resources
824
+ loadedResources = await resources();
825
+ // Load system custom resources
826
+ await this.loadCustomResources(loadedResources, name);
826
827
  // Set static resources back
827
- culture.resources = resources;
828
+ culture.resources = loadedResources;
829
+ }
830
+ else {
831
+ loadedResources = resources;
832
+ // Load system custom resources
833
+ await this.loadCustomResources(loadedResources, name);
828
834
  }
829
- // Load system custom resources
830
- await this.loadCustomResources(resources, name);
835
+ // Hold the current resources
836
+ this.settings.currentCulture = culture;
831
837
  this.updateRegionLabel();
832
- return resources;
838
+ return loadedResources;
833
839
  }
834
840
  /**
835
841
  * Load custom resources, override to implement custom resources
@@ -32,5 +32,9 @@ export declare namespace BusinessUtils {
32
32
  * @param resources New resources to merge
33
33
  */
34
34
  function mergeCustomResources(target: DataTypes.StringRecord, resources: CustomCultureData[]): void;
35
+ /**
36
+ * Restore resources to target collection
37
+ * @param target Target collection to restore resources to, null to clear cache
38
+ */
35
39
  function restoreResources(target?: DataTypes.StringRecord): void;
36
40
  }
@@ -91,6 +91,10 @@ export var BusinessUtils;
91
91
  }
92
92
  }
93
93
  BusinessUtils.mergeCustomResources = mergeCustomResources;
94
+ /**
95
+ * Restore resources to target collection
96
+ * @param target Target collection to restore resources to, null to clear cache
97
+ */
94
98
  function restoreResources(target) {
95
99
  // Clear cache if no target
96
100
  if (target == null) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/appscript",
3
- "version": "1.6.32",
3
+ "version": "1.6.33",
4
4
  "description": "Applications shared TypeScript framework",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -420,7 +420,7 @@ export abstract class CoreApp<
420
420
 
421
421
  // Load resources
422
422
  Promise.all([loadCrypto(), this.changeCulture(currentCulture)]).then(
423
- ([cj, _resources]) => {
423
+ ([cj]) => {
424
424
  CJ = cj.default;
425
425
 
426
426
  // Debug
@@ -1203,10 +1203,9 @@ export abstract class CoreApp<
1203
1203
  */
1204
1204
  async changeCulture(culture: DataTypes.CultureDefinition) {
1205
1205
  // Name
1206
- const { name } = culture;
1206
+ const { name, resources } = culture;
1207
1207
 
1208
1208
  // Same?
1209
- let resources = culture.resources;
1210
1209
  if (this._culture === name && typeof resources === "object")
1211
1210
  return resources;
1212
1211
 
@@ -1220,22 +1219,29 @@ export abstract class CoreApp<
1220
1219
  // Set the culture
1221
1220
  this._culture = name;
1222
1221
 
1223
- // Hold the current resources
1224
- this.settings.currentCulture = culture;
1225
-
1222
+ let loadedResources: DataTypes.StringRecord;
1226
1223
  if (typeof resources !== "object") {
1227
- resources = await resources();
1224
+ // Load resources
1225
+ loadedResources = await resources();
1226
+
1227
+ // Load system custom resources
1228
+ await this.loadCustomResources(loadedResources, name);
1228
1229
 
1229
1230
  // Set static resources back
1230
- culture.resources = resources;
1231
+ culture.resources = loadedResources;
1232
+ } else {
1233
+ loadedResources = resources;
1234
+
1235
+ // Load system custom resources
1236
+ await this.loadCustomResources(loadedResources, name);
1231
1237
  }
1232
1238
 
1233
- // Load system custom resources
1234
- await this.loadCustomResources(resources, name);
1239
+ // Hold the current resources
1240
+ this.settings.currentCulture = culture;
1235
1241
 
1236
1242
  this.updateRegionLabel();
1237
1243
 
1238
- return resources;
1244
+ return loadedResources;
1239
1245
  }
1240
1246
 
1241
1247
  /**
@@ -112,6 +112,10 @@ export namespace BusinessUtils {
112
112
  }
113
113
  }
114
114
 
115
+ /**
116
+ * Restore resources to target collection
117
+ * @param target Target collection to restore resources to, null to clear cache
118
+ */
115
119
  export function restoreResources(target?: DataTypes.StringRecord) {
116
120
  // Clear cache if no target
117
121
  if (target == null) {