orc-shared 5.7.0 → 5.8.0-dev.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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.variantPropertyMapKvaSelector = exports.variantPropertyKeyValuesSelector = exports.selectCurrentLookupDetails = exports.profileAttributeGroupsSelector = exports.productPropertyValuesSelector = exports.productPropertyValueSelector = exports.productPropertyMapSelector = exports.orderLookupsNextPageToLoad = exports.orderLookupsListCurrentInfo = exports.newProfileDefinitionNameSelector = exports.newProfileDefinitionInstanceSelector = exports.namedLookupValuesSelector = exports.namedLookupSelector = exports.namedLookupLocalizedValuesSelector = exports.namedLookupLocalizedSelector = exports.mappedOrderLookupsListSelector = exports.mappedLookupsListSelector = exports.mappedLookupListSelector = exports.mappedDefinitionsListSelector = exports.mappedDefinitionEntity = exports.mappedDefinitionAttributesSelector = exports.mappedCustomDefinitionsListSelector = exports.mappedBaseDefinitionsListSelector = exports.lookupsNextPageToLoad = exports.lookupsListSelector = exports.lookupsListCurrentInfo = exports.lookupSelector = exports.lookupByNameSelector = exports.groupedCustomAttributesDefinitionSelector = exports.definitionEntityCustomAttributesSelector = exports.definitionEntityBaseAttributesSelector = exports.definitionEntity = exports.customProfileTypesSelector = exports.customAttributesSelector = exports.customAttributesDefinitionSelector = exports.baseAttributesSelector = void 0;
4
+ exports.variantPropertyMapKvaSelector = exports.variantPropertyKeyValuesSelector = exports.selectCurrentLookupDetails = exports.profileAttributeGroupsSelector = exports.productPropertyValuesSelector = exports.productPropertyValueSelector = exports.productPropertyMapSelector = exports.orderLookupsNextPageToLoad = exports.orderLookupsListCurrentInfo = exports.newProfileDefinitionNameSelector = exports.newProfileDefinitionInstanceSelector = exports.namedLookupValuesSelector = exports.namedLookupSelector = exports.namedLookupLocalizedValuesSelector = exports.namedLookupLocalizedSelector = exports.mappedOrderLookupsListSelector = exports.mappedLookupsListSelector = exports.mappedLookupListSelector = exports.mappedDefinitionsListSelector = exports.mappedDefinitionEntity = exports.mappedDefinitionAttributesSelector = exports.mappedCustomDefinitionsListSelector = exports.mappedBaseDefinitionsListSelector = exports.lookupsNextPageToLoad = exports.lookupsListSelector = exports.lookupsListCurrentInfo = exports.lookupSelector = exports.lookupExistAndIsActiveSelector = exports.lookupByNameSelector = exports.groupedCustomAttributesDefinitionSelector = exports.definitionEntityCustomAttributesSelector = exports.definitionEntityBaseAttributesSelector = exports.definitionEntity = exports.customProfileTypesSelector = exports.customAttributesSelector = exports.customAttributesDefinitionSelector = exports.baseAttributesSelector = void 0;
5
5
  var _reselect = require("reselect");
6
6
  var _immutable = _interopRequireDefault(require("immutable"));
7
7
  var _utils = require("../utils");
@@ -91,6 +91,14 @@ var namedLookupLocalizedSelector = exports.namedLookupLocalizedSelector = (0, _u
91
91
  return (0, _localizationHelper.getLocalization)(value == null ? void 0 : value.displayName, locale, defaultValue);
92
92
  });
93
93
  });
94
+ var lookupExistAndIsActiveSelector = exports.lookupExistAndIsActiveSelector = (0, _utils.memoize)(function (moduleName, lookupName, key) {
95
+ return (0, _reselect.createSelector)(lookupValuesSelector(moduleName, lookupName), function (lookups) {
96
+ var values = lookups.get("values");
97
+ if (values == null || key == null) return false;
98
+ var value = values.get(key);
99
+ return (value == null ? void 0 : value.get("isActive")) === true;
100
+ });
101
+ });
94
102
  var namedLookupLocalizedValuesSelector = exports.namedLookupLocalizedValuesSelector = (0, _utils.memoize)(function (moduleName, lookupName) {
95
103
  return (0, _reselect.createSelector)(lookupValuesSelector(moduleName, lookupName), _locale.currentLocaleOrDefault, function (lookup, locale) {
96
104
  return (lookup.get("values") || _immutable.default.Map()).map(function (lookupValue) {
@@ -358,6 +366,7 @@ var resolveProductPropertyValue = function resolveProductPropertyValue(property,
358
366
  reactHotLoader.register(namedLookupValuesSelector, "namedLookupValuesSelector", "/home/vsts/work/1/s/src/selectors/metadata.js");
359
367
  reactHotLoader.register(selectCurrentLookupDetails, "selectCurrentLookupDetails", "/home/vsts/work/1/s/src/selectors/metadata.js");
360
368
  reactHotLoader.register(namedLookupLocalizedSelector, "namedLookupLocalizedSelector", "/home/vsts/work/1/s/src/selectors/metadata.js");
369
+ reactHotLoader.register(lookupExistAndIsActiveSelector, "lookupExistAndIsActiveSelector", "/home/vsts/work/1/s/src/selectors/metadata.js");
361
370
  reactHotLoader.register(namedLookupLocalizedValuesSelector, "namedLookupLocalizedValuesSelector", "/home/vsts/work/1/s/src/selectors/metadata.js");
362
371
  reactHotLoader.register(lookupsListCurrentInfo, "lookupsListCurrentInfo", "/home/vsts/work/1/s/src/selectors/metadata.js");
363
372
  reactHotLoader.register(lookupsNextPageToLoad, "lookupsNextPageToLoad", "/home/vsts/work/1/s/src/selectors/metadata.js");
@@ -415,6 +424,7 @@ var resolveProductPropertyValue = function resolveProductPropertyValue(property,
415
424
  reactHotLoader.register(namedLookupValuesSelector, "namedLookupValuesSelector", "/home/vsts/work/1/s/src/selectors/metadata.js");
416
425
  reactHotLoader.register(selectCurrentLookupDetails, "selectCurrentLookupDetails", "/home/vsts/work/1/s/src/selectors/metadata.js");
417
426
  reactHotLoader.register(namedLookupLocalizedSelector, "namedLookupLocalizedSelector", "/home/vsts/work/1/s/src/selectors/metadata.js");
427
+ reactHotLoader.register(lookupExistAndIsActiveSelector, "lookupExistAndIsActiveSelector", "/home/vsts/work/1/s/src/selectors/metadata.js");
418
428
  reactHotLoader.register(namedLookupLocalizedValuesSelector, "namedLookupLocalizedValuesSelector", "/home/vsts/work/1/s/src/selectors/metadata.js");
419
429
  reactHotLoader.register(lookupsListCurrentInfo, "lookupsListCurrentInfo", "/home/vsts/work/1/s/src/selectors/metadata.js");
420
430
  reactHotLoader.register(lookupsNextPageToLoad, "lookupsNextPageToLoad", "/home/vsts/work/1/s/src/selectors/metadata.js");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orc-shared",
3
- "version": "5.7.0",
3
+ "version": "5.8.0-dev.3",
4
4
  "description": "Shared code for Orckestra applications",
5
5
  "main": "./src/index.js",
6
6
  "exports": {
@@ -66,6 +66,15 @@ export const namedLookupLocalizedSelector = memoize((moduleName, lookupName, key
66
66
  }),
67
67
  );
68
68
 
69
+ export const lookupExistAndIsActiveSelector = memoize((moduleName, lookupName, key) =>
70
+ createSelector(lookupValuesSelector(moduleName, lookupName), lookups => {
71
+ const values = lookups.get("values");
72
+ if (values == null || key == null) return false;
73
+ const value = values.get(key);
74
+ return value?.get("isActive") === true;
75
+ }),
76
+ );
77
+
69
78
  export const namedLookupLocalizedValuesSelector = memoize((moduleName, lookupName) =>
70
79
  createSelector(lookupValuesSelector(moduleName, lookupName), currentLocaleOrDefault, (lookup, locale) =>
71
80
  (lookup.get("values") || Immutable.Map()).map(lookupValue =>
@@ -30,6 +30,7 @@ import {
30
30
  definitionEntityCustomAttributesSelector,
31
31
  lookupByNameSelector,
32
32
  mappedLookupsListSelector,
33
+ lookupExistAndIsActiveSelector,
33
34
  } from "./metadata";
34
35
 
35
36
  const lookups = {
@@ -1899,3 +1900,92 @@ describe("definitions", () => {
1899
1900
  );
1900
1901
  });
1901
1902
  });
1903
+
1904
+ describe("lookupExistAndIsActiveSelector", () => {
1905
+ let state;
1906
+ beforeEach(() => {
1907
+ state = Immutable.fromJS({
1908
+ locale: { locale: "it-IT" },
1909
+ metadata: {
1910
+ lookups: {
1911
+ order: {
1912
+ index: {
1913
+ ...lookups,
1914
+ DistanceUOM: {
1915
+ lookupName: "DistanceUOM",
1916
+ values: {
1917
+ Inches: {
1918
+ value: "Inches",
1919
+ displayName: {
1920
+ "en-CA": "inEnCa",
1921
+ "en-US": "inEnUS",
1922
+ "fr-CA": "inFrCa",
1923
+ "it-IT": "inItIt",
1924
+ },
1925
+ isActive: true,
1926
+ },
1927
+ },
1928
+ },
1929
+ },
1930
+ list: [],
1931
+ },
1932
+ },
1933
+ },
1934
+ });
1935
+ });
1936
+
1937
+ it("retrieves true when lookup exist and value is active", () => {
1938
+ expect(
1939
+ lookupExistAndIsActiveSelector,
1940
+ "when called with",
1941
+ ["order", "DistanceUOM", "Inches"],
1942
+ "when called with",
1943
+ [state],
1944
+ "to be",
1945
+ true,
1946
+ );
1947
+ });
1948
+
1949
+ it("retrieves false when lookup exist and value is inactive", () => {
1950
+ state = state.setIn(
1951
+ ["metadata", "lookups", "order", "index", "DistanceUOM", "values", "Inches", "isActive"],
1952
+ false,
1953
+ );
1954
+
1955
+ expect(
1956
+ lookupExistAndIsActiveSelector,
1957
+ "when called with",
1958
+ ["order", "DistanceUOM", "Inches"],
1959
+ "when called with",
1960
+ [state],
1961
+ "to be",
1962
+ false,
1963
+ );
1964
+ });
1965
+
1966
+ it("retrieves false when lookup exist and its values property is null", () => {
1967
+ state = state.setIn(["metadata", "lookups", "order", "index", "DistanceUOM", "values"], null);
1968
+
1969
+ expect(
1970
+ lookupExistAndIsActiveSelector,
1971
+ "when called with",
1972
+ ["order", "DistanceUOM", "Inches"],
1973
+ "when called with",
1974
+ [state],
1975
+ "to be",
1976
+ false,
1977
+ );
1978
+ });
1979
+
1980
+ it("retrieves false when lookup exist and lookup value name does not exist", () => {
1981
+ expect(
1982
+ lookupExistAndIsActiveSelector,
1983
+ "when called with",
1984
+ ["order", "DistanceUOM", "unknown"],
1985
+ "when called with",
1986
+ [state],
1987
+ "to be",
1988
+ false,
1989
+ );
1990
+ });
1991
+ });