orc-shared 1.1.0 → 1.1.1

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.
Files changed (45) hide show
  1. package/dist/actions/makeApiAction.js +2 -2
  2. package/dist/actions/makeOrcApiAction.js +2 -2
  3. package/dist/actions/metadata.js +2 -2
  4. package/dist/actions/navigation.js +2 -2
  5. package/dist/buildStore.js +2 -2
  6. package/dist/components/AppFrame/About.js +2 -2
  7. package/dist/components/AppFrame/Preferences.js +2 -2
  8. package/dist/components/Form/FieldList.js +2 -2
  9. package/dist/components/Form/Inputs/Translation.js +2 -2
  10. package/dist/components/List/enhanceColumnDefs.js +2 -2
  11. package/dist/components/MaterialUI/DataDisplay/Notification.js +2 -2
  12. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/Translations.js +2 -2
  13. package/dist/components/MaterialUI/DataDisplay/useTableSelection.js +2 -2
  14. package/dist/components/MaterialUI/Inputs/Autocomplete.js +2 -2
  15. package/dist/components/MaterialUI/Inputs/Select.js +2 -2
  16. package/dist/components/MaterialUI/Inputs/Switch.js +2 -2
  17. package/dist/components/MaterialUI/Inputs/createInput.js +2 -2
  18. package/dist/components/MaterialUI/muiThemes.js +2 -2
  19. package/dist/components/Navigation/Bar.js +2 -2
  20. package/dist/components/Navigation/useNavigationState.js +2 -2
  21. package/dist/components/Routing/withWaypointing.js +2 -2
  22. package/dist/components/Scope/index.js +2 -2
  23. package/dist/components/Treeview/Node.js +2 -2
  24. package/dist/components/Treeview/index.js +2 -2
  25. package/dist/getThemeOverrides.js +2 -2
  26. package/dist/hocs/withUpdateHandler.js +2 -2
  27. package/dist/hooks/useEditState.js +2 -2
  28. package/dist/hooks/useEntityLoader.js +2 -2
  29. package/dist/hooks/useFullEntityEditState.js +2 -2
  30. package/dist/hooks/useLabelMessage.js +2 -2
  31. package/dist/hooks/useMultipleFieldEditState.js +2 -2
  32. package/dist/hooks/useNotificationRequestState.js +2 -2
  33. package/dist/selectors/metadata.js +15 -5
  34. package/dist/selectors/scope.js +2 -1
  35. package/dist/utils/flatten.js +2 -2
  36. package/dist/utils/setTranslation.js +27 -1
  37. package/dist/utils/setTranslationWithFallback.js +30 -1
  38. package/package.json +1 -1
  39. package/src/selectors/metadata.js +18 -7
  40. package/src/selectors/metadata.test.js +221 -283
  41. package/src/selectors/scope.js +1 -1
  42. package/src/utils/setTranslation.js +16 -1
  43. package/src/utils/setTranslation.test.js +24 -0
  44. package/src/utils/setTranslationWithFallback.js +18 -1
  45. package/src/utils/setTranslationWithFallback.test.js +108 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.scopeGetter = exports.scopeDefaultCultureSelector = exports.localizedScopesSelectorByIds = exports.localizedScopeSelector = exports.isCurrentScopeAuthorizedSelector = exports.currentScopeSelector = void 0;
4
+ exports.scopeGetter = exports.scopeDefaultCultureSelector = exports.localizedScopesSelectorByIds = exports.localizedScopesSelector = exports.localizedScopeSelector = exports.isCurrentScopeAuthorizedSelector = exports.currentScopeSelector = void 0;
5
5
 
6
6
  var _reselect = require("reselect");
7
7
 
@@ -48,6 +48,7 @@ var localizedScopesSelector = (0, _reselect.createSelector)(scopeData, _locale.c
48
48
  });
49
49
  });
50
50
  });
51
+ exports.localizedScopesSelector = localizedScopesSelector;
51
52
  var currentScopeSelector = (0, _reselect.createSelector)(_navigation.getCurrentScope, localizedScopesSelector, function (id, scopes) {
52
53
  return scopes.get(id) || _immutable.default.Map();
53
54
  });
@@ -13,9 +13,9 @@ exports.flattenObj = exports.flatten = void 0;
13
13
  enterModule && enterModule(module);
14
14
  })();
15
15
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
 
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
19
 
20
20
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
21
 
@@ -15,6 +15,12 @@ var _flatten = require("./flatten");
15
15
  enterModule && enterModule(module);
16
16
  })();
17
17
 
18
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
18
24
  var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
19
25
  return a;
20
26
  };
@@ -30,7 +36,27 @@ var setTranslation = function setTranslation(locale, obj) {
30
36
  }
31
37
 
32
38
  if (!obj || !obj.getIn((0, _flatten.flatten)([field]))) return obj;
33
- var value = obj.getIn((0, _flatten.flatten)([field, locale])) || obj.getIn((0, _flatten.flatten)([field])).filter(function (i) {
39
+ var localeValue = obj.getIn((0, _flatten.flatten)([field, locale]));
40
+
41
+ if (!localeValue && locale.includes("-")) {
42
+ var fieldValue = obj.getIn((0, _flatten.flatten)([field]));
43
+ var fieldKeys = fieldValue.keys();
44
+ var language = locale.substring(0, locale.indexOf("-"));
45
+
46
+ for (var _iterator = _createForOfIteratorHelperLoose(fieldKeys), _step; !(_step = _iterator()).done;) {
47
+ var key = _step.value;
48
+
49
+ if (key !== locale && key.startsWith(language)) {
50
+ localeValue = obj.getIn((0, _flatten.flatten)([field, key]));
51
+
52
+ if (localeValue) {
53
+ break;
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ var value = localeValue || obj.getIn((0, _flatten.flatten)([field])).filter(function (i) {
34
60
  return i;
35
61
  }).first() || "";
36
62
  return obj.setIn((0, _flatten.flatten)([field]), value);
@@ -15,6 +15,12 @@ var _flatten = require("./flatten");
15
15
  enterModule && enterModule(module);
16
16
  })();
17
17
 
18
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
18
24
  var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
19
25
  return a;
20
26
  };
@@ -30,7 +36,30 @@ var setTranslationWithFallbackValue = function setTranslationWithFallbackValue(l
30
36
  field[_key - 3] = arguments[_key];
31
37
  }
32
38
 
33
- var value = obj.getIn((0, _flatten.flatten)([field, locale])) || fallbackValue || "";
39
+ var localeValue = obj.getIn((0, _flatten.flatten)([field, locale]));
40
+
41
+ if (!localeValue && locale.includes("-")) {
42
+ var fieldValue = obj.getIn((0, _flatten.flatten)([field]));
43
+
44
+ if (fieldValue) {
45
+ var fieldKeys = fieldValue.keys();
46
+ var language = locale.substring(0, locale.indexOf("-"));
47
+
48
+ for (var _iterator = _createForOfIteratorHelperLoose(fieldKeys), _step; !(_step = _iterator()).done;) {
49
+ var key = _step.value;
50
+
51
+ if (key !== locale && key.startsWith(language)) {
52
+ localeValue = obj.getIn((0, _flatten.flatten)([field, key]));
53
+
54
+ if (localeValue) {
55
+ break;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+
62
+ var value = localeValue || fallbackValue || "";
34
63
  return obj.setIn((0, _flatten.flatten)([field]), value);
35
64
  };
36
65
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orc-shared",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Shared code for Orckestra applications",
5
5
  "main": "./src/index.js",
6
6
  "exports": {
@@ -46,8 +46,10 @@ export const namedLookupSelector = memoize((moduleName, lookupName) =>
46
46
  );
47
47
 
48
48
  export const namedLookupValuesSelector = memoize((moduleName, lookupName) =>
49
- createSelector(namedLookupSelector(moduleName, lookupName), currentLocaleOrDefault, (statuses, locale) =>
50
- (statuses.get("values") || Immutable.Map()).map(status => setTranslation(locale, status, "displayName")),
49
+ createSelector(namedLookupSelector(moduleName, lookupName), currentLocaleOrDefault, (lookup, locale) =>
50
+ (lookup.get("values") || Immutable.Map()).map(lookupValue =>
51
+ setTranslationWithFallbackField(locale, lookupValue, "name", "displayName"),
52
+ ),
51
53
  ),
52
54
  );
53
55
 
@@ -157,7 +159,8 @@ const definitionEntityAttributes = memoize((moduleName, entityName) =>
157
159
  ),
158
160
  );
159
161
 
160
- const filterIsBuiltInAttributes = isBuiltIn => attributes => attributes.filter(a => a.get("isBuiltIn") === isBuiltIn);
162
+ const filterIsBuiltInAttributes = isBuiltIn => attributes =>
163
+ attributes.filter(a => a.get("isBuiltIn") === isBuiltIn).sortBy(x => x.get("displayOrder"));
161
164
 
162
165
  export const definitionEntityCustomAttributesSelector = memoize((moduleName, entityName) =>
163
166
  createSelector(definitionEntityAttributes(moduleName, entityName), filterIsBuiltInAttributes(false)),
@@ -204,11 +207,15 @@ export const groupedCustomAttributesDefinitionSelector = memoize((moduleName, en
204
207
  })
205
208
  .set(
206
209
  "baseAttributes",
207
- group.filter(i => i.get("dataType") !== attributeDataType.entityReference),
210
+ group
211
+ .filter(i => i.get("dataType") !== attributeDataType.entityReference)
212
+ .sortBy(x => x.get("displayOrder")),
208
213
  )
209
214
  .set(
210
215
  "profileAttributes",
211
- group.filter(i => i.get("dataType") === attributeDataType.entityReference),
216
+ group
217
+ .filter(i => i.get("dataType") === attributeDataType.entityReference)
218
+ .sortBy(x => x.get("displayOrder")),
212
219
  );
213
220
  })
214
221
  .sortBy(x => x.get("displayOrder")),
@@ -220,8 +227,12 @@ export const customAttributesDefinitionSelector = memoize((moduleName, profileEn
220
227
  mappedDefinitionEntity(moduleName, profileEntityName),
221
228
  customAttributesSelector(moduleName, profileEntityName),
222
229
  (definition, attributes) => {
223
- const profileAttributes = attributes?.filter(a => a.get("dataType") === attributeDataType.entityReference);
224
- const baseAttributes = attributes?.filter(a => a.get("dataType") !== attributeDataType.entityReference);
230
+ const profileAttributes = attributes
231
+ ?.filter(a => a.get("dataType") === attributeDataType.entityReference)
232
+ .sortBy(x => x.get("displayOrder"));
233
+ const baseAttributes = attributes
234
+ ?.filter(a => a.get("dataType") !== attributeDataType.entityReference)
235
+ .sortBy(x => x.get("displayOrder"));
225
236
  return definition.set("baseAttributes", baseAttributes).set("profileAttributes", profileAttributes);
226
237
  },
227
238
  ),