orc-shared 1.2.0-dev.1 → 1.2.0-dev.5

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 (194) hide show
  1. package/dist/actions/applications.js +1 -1
  2. package/dist/actions/authentication.js +1 -1
  3. package/dist/actions/countries.js +1 -1
  4. package/dist/actions/locale.js +1 -1
  5. package/dist/actions/makeApiAction.js +1 -1
  6. package/dist/actions/metadata.js +1 -1
  7. package/dist/actions/modules.js +63 -1
  8. package/dist/actions/navigation.js +1 -1
  9. package/dist/actions/requestsApi.js +8 -8
  10. package/dist/actions/scopes.js +59 -22
  11. package/dist/actions/timezones.js +1 -1
  12. package/dist/actions/toasts.js +1 -1
  13. package/dist/actions/versionInfo.js +1 -1
  14. package/dist/actions/view.js +1 -1
  15. package/dist/buildStore.js +1 -1
  16. package/dist/components/AppFrame/About.js +4 -3
  17. package/dist/components/AppFrame/MenuItem.js +6 -15
  18. package/dist/components/AppFrame/Preferences.js +1 -1
  19. package/dist/components/AppFrame/Sidebar.js +20 -9
  20. package/dist/components/AppFrame/Topbar.js +1 -1
  21. package/dist/components/ApplicationModuleLoader.js +143 -0
  22. package/dist/components/Authenticate.js +13 -13
  23. package/dist/components/CategoryList.js +1 -1
  24. package/dist/components/Checkbox.js +1 -1
  25. package/dist/components/DropMenu/Menu.js +1 -1
  26. package/dist/components/DropMenu/index.js +1 -1
  27. package/dist/components/Form/FieldList.js +1 -1
  28. package/dist/components/Form/Form.js +1 -1
  29. package/dist/components/Form/Inputs/Button.js +1 -1
  30. package/dist/components/Form/Inputs/FieldButtons.js +1 -1
  31. package/dist/components/Form/Inputs/Number.js +1 -1
  32. package/dist/components/Form/Inputs/ReadOnly.js +1 -1
  33. package/dist/components/Form/Inputs/SmallButton.js +1 -1
  34. package/dist/components/Form/Inputs/Text.js +1 -1
  35. package/dist/components/Form/Inputs/Time.js +1 -1
  36. package/dist/components/Form/Inputs/Toggles.js +1 -1
  37. package/dist/components/Form/Inputs/Translation.js +1 -1
  38. package/dist/components/List/HeadCell.js +1 -1
  39. package/dist/components/List/List.js +1 -1
  40. package/dist/components/List/Row.js +1 -1
  41. package/dist/components/MaterialUI/DataDisplay/List.js +1 -1
  42. package/dist/components/MaterialUI/DataDisplay/NotificationProps.js +1 -1
  43. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/Translations.js +1 -1
  44. package/dist/components/MaterialUI/DataDisplay/Table.js +1 -1
  45. package/dist/components/MaterialUI/DataDisplay/TableProps.js +1 -1
  46. package/dist/components/MaterialUI/DataDisplay/TransferList.js +1 -1
  47. package/dist/components/MaterialUI/DataDisplay/chipProps.js +1 -1
  48. package/dist/components/MaterialUI/DataDisplay/collapsableListProps.js +1 -1
  49. package/dist/components/MaterialUI/DataDisplay/dividerProps.js +1 -1
  50. package/dist/components/MaterialUI/DataDisplay/index.js +1 -1
  51. package/dist/components/MaterialUI/DataDisplay/modalProps.js +1 -1
  52. package/dist/components/MaterialUI/DataDisplay/useTableSelection.js +1 -1
  53. package/dist/components/MaterialUI/Feedback/useNotification.js +1 -1
  54. package/dist/components/MaterialUI/Inputs/AutocompleteProps.js +1 -1
  55. package/dist/components/MaterialUI/Inputs/CheckboxGroupProps.js +1 -1
  56. package/dist/components/MaterialUI/Inputs/CheckboxProps.js +1 -1
  57. package/dist/components/MaterialUI/Inputs/InputBase.js +1 -1
  58. package/dist/components/MaterialUI/Inputs/InputBaseProps.js +1 -1
  59. package/dist/components/MaterialUI/Inputs/PredefinedElements/SearchControl.js +1 -1
  60. package/dist/components/MaterialUI/Inputs/RadioProps.js +1 -1
  61. package/dist/components/MaterialUI/Inputs/SelectProps.js +1 -1
  62. package/dist/components/MaterialUI/Inputs/Switch.js +1 -1
  63. package/dist/components/MaterialUI/Inputs/SwitchProps.js +1 -1
  64. package/dist/components/MaterialUI/Inputs/TimePicker.js +1 -1
  65. package/dist/components/MaterialUI/Inputs/createInput.js +1 -1
  66. package/dist/components/MaterialUI/Inputs/index.js +1 -1
  67. package/dist/components/MaterialUI/Inputs/standaloneRadioProps.js +1 -1
  68. package/dist/components/MaterialUI/Navigation/DropDownMenuProps.js +1 -1
  69. package/dist/components/MaterialUI/Navigation/ExternalLink.js +113 -0
  70. package/dist/components/MaterialUI/Surfaces/expansionPanelProps.js +1 -1
  71. package/dist/components/MaterialUI/Surfaces/paperProps.js +1 -1
  72. package/dist/components/MaterialUI/muiThemes.js +5 -0
  73. package/dist/components/MaterialUI/textProps.js +1 -1
  74. package/dist/components/Modules.js +126 -41
  75. package/dist/components/MultiSelector.js +1 -1
  76. package/dist/components/Navigation/Bar.js +1 -1
  77. package/dist/components/Navigation/Tab.js +1 -1
  78. package/dist/components/Navigation/useNavigationState.js +1 -1
  79. package/dist/components/Placeholder.js +1 -1
  80. package/dist/components/Routing/FullPage.js +3 -1
  81. package/dist/components/Routing/Page.js +5 -3
  82. package/dist/components/Routing/Segment.js +1 -1
  83. package/dist/components/Routing/SegmentPage.js +1 -1
  84. package/dist/components/Routing/withWaypointing.js +6 -2
  85. package/dist/components/Scope/ScopeNode.js +1 -1
  86. package/dist/components/Scope/Selector.js +1 -1
  87. package/dist/components/Scope/index.js +1 -1
  88. package/dist/components/Scope/useScopeConfirmationModalState.js +7 -16
  89. package/dist/components/Scope/useScopeData.js +4 -13
  90. package/dist/components/Scope/useScopeSelect.js +1 -1
  91. package/dist/components/Selector.js +1 -1
  92. package/dist/components/Spritesheet.js +1 -1
  93. package/dist/components/Switch.js +1 -1
  94. package/dist/components/Text.js +1 -1
  95. package/dist/components/ToastList.js +1 -1
  96. package/dist/components/Toolbar.js +1 -1
  97. package/dist/components/Treeview/Label.js +1 -1
  98. package/dist/components/Treeview/Leaf.js +1 -1
  99. package/dist/components/Treeview/Node.js +1 -1
  100. package/dist/components/Treeview/settings.js +1 -1
  101. package/dist/constants.js +19 -2
  102. package/dist/content/icons/orckestra-icon.svg +5 -0
  103. package/dist/content/iconsSheet.svg +8 -0
  104. package/dist/content/orckestra-logo-white.png +0 -0
  105. package/dist/hocs/withInfiniteScroll.js +1 -1
  106. package/dist/hooks/useDispatchWithModulesData.js +1 -1
  107. package/dist/hooks/useEditState.js +1 -1
  108. package/dist/hooks/useFullEntityEditState.js +1 -1
  109. package/dist/hooks/useLabelMessage.js +1 -1
  110. package/dist/hooks/useNavigationHandler.js +1 -1
  111. package/dist/hooks/useSelectorAndUnwrap.js +1 -1
  112. package/dist/reducers/metadata.js +1 -1
  113. package/dist/reducers/modules.js +39 -1
  114. package/dist/reducers/scopes.js +27 -0
  115. package/dist/reducers/settings.js +31 -2
  116. package/dist/schemas/countries.js +1 -1
  117. package/dist/schemas/definitions.js +1 -1
  118. package/dist/schemas/metadata.js +1 -1
  119. package/dist/schemas/productDefinitions.js +1 -1
  120. package/dist/schemas/timezones.js +1 -1
  121. package/dist/selectors/applications.js +1 -1
  122. package/dist/selectors/authentication.js +57 -18
  123. package/dist/selectors/countries.js +1 -1
  124. package/dist/selectors/locale.js +1 -1
  125. package/dist/selectors/metadata.js +1 -1
  126. package/dist/selectors/modules.js +15 -1
  127. package/dist/selectors/navigation.js +1 -1
  128. package/dist/selectors/requests.js +1 -1
  129. package/dist/selectors/scope.js +7 -1
  130. package/dist/selectors/settings.js +13 -1
  131. package/dist/selectors/versionInfo.js +1 -1
  132. package/dist/selectors/view.js +1 -1
  133. package/dist/spawnerMiddleware.js +1 -1
  134. package/dist/utils/displayModeHelper.js +1 -1
  135. package/dist/utils/localizationHelper.js +1 -1
  136. package/dist/utils/mapHelper.js +1 -1
  137. package/dist/utils/modelValidationHelper.js +1 -1
  138. package/dist/utils/parseHelper.js +1 -1
  139. package/dist/utils/propertyHelper.js +2 -2
  140. package/dist/utils/propertyValidator.js +1 -1
  141. package/dist/utils/setTranslationWithFallback.js +1 -1
  142. package/dist/utils/testUtils.js +2 -1
  143. package/dist/utils/unwrapImmutable.js +1 -1
  144. package/dist/utils/urlHelper.js +1 -1
  145. package/package.json +6 -5
  146. package/src/actions/modules.js +30 -0
  147. package/src/actions/modules.test.js +50 -1
  148. package/src/actions/scopes.js +33 -7
  149. package/src/actions/scopes.test.js +84 -14
  150. package/src/components/AppFrame/About.js +2 -2
  151. package/src/components/AppFrame/AppFrame.test.js +9 -0
  152. package/src/components/AppFrame/MenuItem.js +3 -5
  153. package/src/components/AppFrame/MenuItem.test.js +2 -24
  154. package/src/components/AppFrame/Sidebar.js +11 -12
  155. package/src/components/AppFrame/Sidebar.test.js +18 -0
  156. package/src/components/ApplicationModuleLoader.js +52 -0
  157. package/src/components/ApplicationModuleLoader.test.js +149 -0
  158. package/src/components/Authenticate.js +5 -4
  159. package/src/components/Authenticate.test.js +23 -4
  160. package/src/components/MaterialUI/Navigation/ExternalLink.js +25 -0
  161. package/src/components/MaterialUI/Navigation/ExternalLink.test.js +26 -0
  162. package/src/components/MaterialUI/muiThemes.js +5 -0
  163. package/src/components/Modules.js +103 -20
  164. package/src/components/Modules.test.js +315 -28
  165. package/src/components/Provision.test.js +34 -0
  166. package/src/components/Routing/FullPage.js +2 -1
  167. package/src/components/Routing/FullPage.test.js +23 -0
  168. package/src/components/Routing/Page.js +2 -2
  169. package/src/components/Routing/Page.test.js +20 -0
  170. package/src/components/Routing/Segment.js +1 -1
  171. package/src/components/Routing/withWaypointing.js +2 -2
  172. package/src/components/Routing/withWaypointing.test.js +33 -5
  173. package/src/components/Scope/useScopeConfirmationModalState.js +5 -16
  174. package/src/components/Scope/useScopeConfirmationModalState.test.js +39 -13
  175. package/src/components/Scope/useScopeData.js +0 -3
  176. package/src/components/Scope/useScopeData.test.js +0 -27
  177. package/src/constants.js +15 -0
  178. package/src/content/icons/orckestra-icon.svg +5 -0
  179. package/src/content/iconsSheet.svg +8 -0
  180. package/src/content/orckestra-logo-white.png +0 -0
  181. package/src/hocs/withScopeData.test.js +0 -31
  182. package/src/reducers/modules.js +48 -2
  183. package/src/reducers/modules.test.js +117 -2
  184. package/src/reducers/scopes.js +30 -0
  185. package/src/reducers/scopes.test.js +45 -1
  186. package/src/reducers/settings.js +26 -2
  187. package/src/reducers/settings.test.js +74 -6
  188. package/src/selectors/authentication.js +53 -27
  189. package/src/selectors/authentication.test.js +600 -12
  190. package/src/selectors/modules.js +7 -0
  191. package/src/selectors/modules.test.js +16 -1
  192. package/src/selectors/scope.js +2 -0
  193. package/src/selectors/scope.test.js +5 -0
  194. package/src/selectors/settings.js +6 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.hasOpenedTabs = exports.selectSegmentHrefMapper = exports.selectMappedCurrentModuleList = exports.selectCurrentSectionName = exports.selectCurrentModuleName = exports.selectPrependHrefConfig = exports.selectPrependPathConfig = exports.selectClosingTabHandlerActionForEntity = exports.selectClosingTabHandlerActions = exports.selectTabGetter = exports.getCurrentScopeFromRoute = exports.getCurrentScope = exports.resetLastScope = exports.selectRouteHref = exports.selectRoutePath = exports.selectRouteParams = void 0;
4
+ exports.selectTabGetter = exports.selectSegmentHrefMapper = exports.selectRoutePath = exports.selectRouteParams = exports.selectRouteHref = exports.selectPrependPathConfig = exports.selectPrependHrefConfig = exports.selectMappedCurrentModuleList = exports.selectCurrentSectionName = exports.selectCurrentModuleName = exports.selectClosingTabHandlerActions = exports.selectClosingTabHandlerActionForEntity = exports.resetLastScope = exports.hasOpenedTabs = exports.getCurrentScopeFromRoute = exports.getCurrentScope = void 0;
5
5
 
6
6
  var _reselect = require("reselect");
7
7
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.requestRunningSelector = exports.logoutSelector = exports.selectActivity = void 0;
4
+ exports.selectActivity = exports.requestRunningSelector = exports.logoutSelector = void 0;
5
5
 
6
6
  var _reselect = require("reselect");
7
7
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.localizedScopeSelector = exports.localizedScopesSelectorByIds = exports.scopeGetter = exports.isCurrentScopeAuthorizedSelector = exports.scopeDefaultCultureSelector = exports.currentScopeSelector = void 0;
4
+ exports.scopeGetter = exports.scopeDefaultCultureSelector = exports.localizedScopesSelectorByIds = exports.localizedScopeSelector = exports.isCurrentScopeAuthorizedSelector = exports.getScopesSelector = exports.currentScopeSelector = void 0;
5
5
 
6
6
  var _reselect = require("reselect");
7
7
 
@@ -39,6 +39,10 @@ var scopeData = function scopeData(state) {
39
39
  return state.get("scopes");
40
40
  };
41
41
 
42
+ var getScopesSelector = (0, _reselect.createSelector)(scopeData, function (scopes) {
43
+ return scopes;
44
+ });
45
+ exports.getScopesSelector = getScopesSelector;
42
46
  var localizedScopesSelector = (0, _reselect.createSelector)(scopeData, _locale.currentLocaleOrDefault, function (scopes, locale) {
43
47
  return scopes.map(function (scope) {
44
48
  return scope.withMutations(function (s) {
@@ -130,6 +134,7 @@ exports.localizedScopeSelector = localizedScopeSelector;
130
134
  }
131
135
 
132
136
  reactHotLoader.register(scopeData, "scopeData", "/home/vsts/work/1/s/src/selectors/scope.js");
137
+ reactHotLoader.register(getScopesSelector, "getScopesSelector", "/home/vsts/work/1/s/src/selectors/scope.js");
133
138
  reactHotLoader.register(localizedScopesSelector, "localizedScopesSelector", "/home/vsts/work/1/s/src/selectors/scope.js");
134
139
  reactHotLoader.register(currentScopeSelector, "currentScopeSelector", "/home/vsts/work/1/s/src/selectors/scope.js");
135
140
  reactHotLoader.register(scopeDefaultCultureSelector, "scopeDefaultCultureSelector", "/home/vsts/work/1/s/src/selectors/scope.js");
@@ -158,6 +163,7 @@ exports.localizedScopeSelector = localizedScopeSelector;
158
163
  }
159
164
 
160
165
  reactHotLoader.register(scopeData, "scopeData", "/home/vsts/work/1/s/src/selectors/scope.js");
166
+ reactHotLoader.register(getScopesSelector, "getScopesSelector", "/home/vsts/work/1/s/src/selectors/scope.js");
161
167
  reactHotLoader.register(localizedScopesSelector, "localizedScopesSelector", "/home/vsts/work/1/s/src/selectors/scope.js");
162
168
  reactHotLoader.register(currentScopeSelector, "currentScopeSelector", "/home/vsts/work/1/s/src/selectors/scope.js");
163
169
  reactHotLoader.register(scopeDefaultCultureSelector, "scopeDefaultCultureSelector", "/home/vsts/work/1/s/src/selectors/scope.js");
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.defaultScopeSelector = exports.defaultAppId = void 0;
4
+ exports.getLoadedModulesScopeSelector = exports.getApplicationModulesSelector = exports.defaultScopeSelector = exports.defaultAppId = void 0;
5
5
 
6
6
  var _reselect = require("reselect");
7
7
 
@@ -35,6 +35,14 @@ var defaultScopeSelector = (0, _reselect.createSelector)(settingsData, function
35
35
  return data.get("defaultScope");
36
36
  });
37
37
  exports.defaultScopeSelector = defaultScopeSelector;
38
+ var getLoadedModulesScopeSelector = (0, _reselect.createSelector)(settingsData, function (data) {
39
+ return data.get("loadedModulesScope").toJS();
40
+ });
41
+ exports.getLoadedModulesScopeSelector = getLoadedModulesScopeSelector;
42
+ var getApplicationModulesSelector = (0, _reselect.createSelector)(settingsData, function (data) {
43
+ return data.get("modules").toJS();
44
+ });
45
+ exports.getApplicationModulesSelector = getApplicationModulesSelector;
38
46
  ;
39
47
 
40
48
  (function () {
@@ -47,6 +55,8 @@ exports.defaultScopeSelector = defaultScopeSelector;
47
55
  reactHotLoader.register(settingsData, "settingsData", "/home/vsts/work/1/s/src/selectors/settings.js");
48
56
  reactHotLoader.register(defaultAppId, "defaultAppId", "/home/vsts/work/1/s/src/selectors/settings.js");
49
57
  reactHotLoader.register(defaultScopeSelector, "defaultScopeSelector", "/home/vsts/work/1/s/src/selectors/settings.js");
58
+ reactHotLoader.register(getLoadedModulesScopeSelector, "getLoadedModulesScopeSelector", "/home/vsts/work/1/s/src/selectors/settings.js");
59
+ reactHotLoader.register(getApplicationModulesSelector, "getApplicationModulesSelector", "/home/vsts/work/1/s/src/selectors/settings.js");
50
60
  })();
51
61
 
52
62
  ;
@@ -68,6 +78,8 @@ exports.defaultScopeSelector = defaultScopeSelector;
68
78
  reactHotLoader.register(settingsData, "settingsData", "/home/vsts/work/1/s/src/selectors/settings.js");
69
79
  reactHotLoader.register(defaultAppId, "defaultAppId", "/home/vsts/work/1/s/src/selectors/settings.js");
70
80
  reactHotLoader.register(defaultScopeSelector, "defaultScopeSelector", "/home/vsts/work/1/s/src/selectors/settings.js");
81
+ reactHotLoader.register(getLoadedModulesScopeSelector, "getLoadedModulesScopeSelector", "/home/vsts/work/1/s/src/selectors/settings.js");
82
+ reactHotLoader.register(getApplicationModulesSelector, "getApplicationModulesSelector", "/home/vsts/work/1/s/src/selectors/settings.js");
71
83
  })();
72
84
 
73
85
  ;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.getApplicationHelpUrlSelector = exports.getHelpUrlDefaultSelector = exports.getVersionSelector = void 0;
4
+ exports.getVersionSelector = exports.getHelpUrlDefaultSelector = exports.getApplicationHelpUrlSelector = void 0;
5
5
 
6
6
  var _reselect = require("reselect");
7
7
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.hasUnsavedDataSelector = exports.getModifiedModel = exports.getModifiedModels = exports.getTabsWithErrors = exports.getModifiedTabs = exports.getInstanceKeysWithErrors = exports.getSectionsWithErrors = exports.getModifiedSections = exports.isEntityUnderEditing = void 0;
4
+ exports.isEntityUnderEditing = exports.hasUnsavedDataSelector = exports.getTabsWithErrors = exports.getSectionsWithErrors = exports.getModifiedTabs = exports.getModifiedSections = exports.getModifiedModels = exports.getModifiedModel = exports.getInstanceKeysWithErrors = void 0;
5
5
 
6
6
  var _reselect = require("reselect");
7
7
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = exports.spawnerMiddleware = void 0;
4
+ exports.spawnerMiddleware = exports.default = void 0;
5
5
 
6
6
  (function () {
7
7
  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.isMutationMode = exports.isCreateMode = exports.isEditMode = exports.isReadMode = void 0;
4
+ exports.isReadMode = exports.isMutationMode = exports.isEditMode = exports.isCreateMode = void 0;
5
5
 
6
6
  var _constants = require("../constants");
7
7
 
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ exports.default = void 0;
4
5
  exports.getLocalization = getLocalization;
5
6
  exports.getNotLocalizedString = getNotLocalizedString;
6
- exports.default = void 0;
7
7
 
8
8
  var _propertyHelper = require("./propertyHelper");
9
9
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.mapModel = exports.mapModifiedData = void 0;
4
+ exports.mapModifiedData = exports.mapModel = void 0;
5
5
 
6
6
  var _lodash = require("lodash");
7
7
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.hasMultipleFieldValidationErrors = exports.hasValidationErrors = exports.showError = exports.validationRules = void 0;
4
+ exports.validationRules = exports.showError = exports.hasValidationErrors = exports.hasMultipleFieldValidationErrors = void 0;
5
5
 
6
6
  var _propertyValidator = require("./propertyValidator");
7
7
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.stringifyWithoutQuotes = exports.getModuleNameFromHref = exports.getAllAfterPrependHref = exports.concatObjectPropsWithDelimeter = exports.parseGuid = void 0;
4
+ exports.stringifyWithoutQuotes = exports.parseGuid = exports.getModuleNameFromHref = exports.getAllAfterPrependHref = exports.concatObjectPropsWithDelimeter = void 0;
5
5
 
6
6
  (function () {
7
7
  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.getPropertyOrDefaultFromMap = getPropertyOrDefaultFromMap;
5
4
  exports.getPropertyOrDefault = getPropertyOrDefault;
6
- exports.isObjectContainsPropertyWithAnyValue = exports.isObjectContainsPropertyWithValue = void 0;
5
+ exports.getPropertyOrDefaultFromMap = getPropertyOrDefaultFromMap;
6
+ exports.isObjectContainsPropertyWithValue = exports.isObjectContainsPropertyWithAnyValue = void 0;
7
7
 
8
8
  (function () {
9
9
  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.isReactComponent = exports.isStringNullOrWhitespace = exports.isObject = exports.isString = void 0;
4
+ exports.isStringNullOrWhitespace = exports.isString = exports.isReactComponent = exports.isObject = void 0;
5
5
 
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.setTranslationWithFallbackField = exports.setTranslationWithFallbackValue = void 0;
4
+ exports.setTranslationWithFallbackValue = exports.setTranslationWithFallbackField = void 0;
5
5
 
6
6
  var _flatten = require("./flatten");
7
7
 
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ exports.createMuiTheme = exports.TestWrapper = exports.PropStruct = void 0;
4
5
  exports.extractMessages = extractMessages;
5
- exports.TestWrapper = exports.generateClassName = exports.createMuiTheme = exports.ignoreConsoleError = exports.PropStruct = exports.firstItemComparator = exports.getStyledClassSelector = exports.getClassSelector = exports.getClassName = exports.getElmClasses = exports.spyOnConsole = void 0;
6
+ exports.spyOnConsole = exports.ignoreConsoleError = exports.getStyledClassSelector = exports.getElmClasses = exports.getClassSelector = exports.getClassName = exports.generateClassName = exports.firstItemComparator = void 0;
6
7
 
7
8
  var _react = _interopRequireDefault(require("react"));
8
9
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = exports.unwrapImmutable = void 0;
4
+ exports.unwrapImmutable = exports.default = void 0;
5
5
 
6
6
  var _immutable = _interopRequireDefault(require("immutable4"));
7
7
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.resolveEntityId = exports.tryGetNewEntityIdKey = exports.NEW_ENTITY_URL_KEY = exports.getValueFromUrlByKey = void 0;
4
+ exports.tryGetNewEntityIdKey = exports.resolveEntityId = exports.getValueFromUrlByKey = exports.NEW_ENTITY_URL_KEY = void 0;
5
5
 
6
6
  (function () {
7
7
  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orc-shared",
3
- "version": "1.2.0-dev.1",
3
+ "version": "1.2.0-dev.5",
4
4
  "description": "Shared code for Orckestra applications",
5
5
  "main": "./src/index.js",
6
6
  "exports": {
@@ -47,11 +47,9 @@
47
47
  "cultureIso": "fr-CA"
48
48
  }
49
49
  ],
50
- "devDependencies": {
51
- "orc-scripts": "1.3.0-dev.1"
52
- },
50
+ "devDependencies": {},
53
51
  "peerDependencies": {
54
- "orc-scripts": "1.3.0-dev.1"
52
+ "orc-scripts": "1.3.0-dev.2"
55
53
  },
56
54
  "sideEffects": false,
57
55
  "lint-staged": {
@@ -69,5 +67,8 @@
69
67
  "hooks": {
70
68
  "pre-commit": "lint-staged"
71
69
  }
70
+ },
71
+ "dependencies": {
72
+ "orc-scripts": "1.3.0-dev.2"
72
73
  }
73
74
  }
@@ -4,3 +4,33 @@ export const setModulesStructure = modules => ({
4
4
  type: SET_MODULES_STRUCTURE,
5
5
  payload: modules,
6
6
  });
7
+
8
+ export const SET_MODULE_AS_VISIBLE = "SET_MODULE_AS_VISIBLE";
9
+
10
+ export const setModuleAsVisible = module => ({
11
+ type: SET_MODULE_AS_VISIBLE,
12
+ payload: module,
13
+ });
14
+
15
+ export const INITIALIZE_FIRST_MODULE_SCOPE = "INITIALIZE_FIRST_MODULE_SCOPE";
16
+
17
+ export const initializeFirstModuleScope = scope => ({
18
+ type: INITIALIZE_FIRST_MODULE_SCOPE,
19
+ payload: scope,
20
+ });
21
+
22
+ export const SET_NEW_SCOPE_AND_MODULE_NAME = "SET_NEW_SCOPE_AND_MODULE_NAME";
23
+
24
+ export const setNewScopeAndModuleName = (scope, moduleName) => ({
25
+ type: SET_NEW_SCOPE_AND_MODULE_NAME,
26
+ payload: {
27
+ scope,
28
+ moduleName,
29
+ },
30
+ });
31
+
32
+ export const SET_ROUTING_PERFORMED = "SET_ROUTING_PERFORMED";
33
+
34
+ export const setRoutingPerformed = () => ({
35
+ type: SET_ROUTING_PERFORMED,
36
+ });
@@ -1,4 +1,15 @@
1
- import { SET_MODULES_STRUCTURE, setModulesStructure } from "./modules";
1
+ import {
2
+ INITIALIZE_FIRST_MODULE_SCOPE,
3
+ initializeFirstModuleScope,
4
+ SET_MODULE_AS_VISIBLE,
5
+ SET_MODULES_STRUCTURE,
6
+ SET_NEW_SCOPE_AND_MODULE_NAME,
7
+ SET_ROUTING_PERFORMED,
8
+ setModuleAsVisible,
9
+ setModulesStructure,
10
+ setNewScopeAndModuleName,
11
+ setRoutingPerformed,
12
+ } from "./modules";
2
13
 
3
14
  describe("setModulesStructure", () => {
4
15
  it("creates an action object", () => {
@@ -8,3 +19,41 @@ describe("setModulesStructure", () => {
8
19
  });
9
20
  });
10
21
  });
22
+
23
+ describe("initializeFirstModuleScope", () => {
24
+ it("creates an action object", () => {
25
+ expect(initializeFirstModuleScope, "when called with", ["module_1"], "to equal", {
26
+ type: INITIALIZE_FIRST_MODULE_SCOPE,
27
+ payload: "module_1",
28
+ });
29
+ });
30
+ });
31
+
32
+ describe("setModuleAsVisible", () => {
33
+ it("creates an action object", () => {
34
+ expect(setModuleAsVisible, "when called with", ["module_A"], "to equal", {
35
+ type: SET_MODULE_AS_VISIBLE,
36
+ payload: "module_A",
37
+ });
38
+ });
39
+ });
40
+
41
+ describe("setNewScopeAndModuleName", () => {
42
+ it("creates an action object", () => {
43
+ expect(setNewScopeAndModuleName, "when called with", ["matrixScope", "moduleNeo"], "to equal", {
44
+ type: SET_NEW_SCOPE_AND_MODULE_NAME,
45
+ payload: {
46
+ scope: "matrixScope",
47
+ moduleName: "moduleNeo",
48
+ },
49
+ });
50
+ });
51
+ });
52
+
53
+ describe("setRoutingPerformed", () => {
54
+ it("creates an action object", () => {
55
+ expect(setRoutingPerformed, "when called", "to equal", {
56
+ type: SET_ROUTING_PERFORMED,
57
+ });
58
+ });
59
+ });
@@ -1,26 +1,52 @@
1
1
  import { makeActionTypes } from "./makeApiAction";
2
2
  import makeOrcApiAction from "./makeOrcApiAction";
3
- import { getUserScopeRequest, getUserScopeTreeRequest } from "./requestsApi";
3
+ import { getApplicationModules, getUserScopeRequest, getUserScopeTreeRequest } from "./requestsApi";
4
+ import { overtureModule } from "../constants";
4
5
 
5
- export const validateOvertureModule = () => {
6
- if (!OVERTURE_MODULE) {
7
- throw new Error('"overtureModule.name" is missing in the configuration.');
6
+ export const validateOvertureApplication = () => {
7
+ if (!OVERTURE_APPLICATION) {
8
+ throw new Error('"overtureApplication.name" is missing in the configuration.');
8
9
  }
9
10
  };
10
11
 
11
- validateOvertureModule();
12
+ validateOvertureApplication();
13
+
14
+ export const GET_APPLICATION_MODULES = "GET_APPLICATION_MODULES";
15
+
16
+ export const [GET_APPLICATION_MODULES_REQUEST, GET_APPLICATION_MODULES_SUCCESS, GET_APPLICATION_MODULES_FAILURE] =
17
+ makeActionTypes(GET_APPLICATION_MODULES);
18
+
19
+ export const getAppModules = () =>
20
+ makeOrcApiAction(GET_APPLICATION_MODULES, getApplicationModules.buildUrl(OVERTURE_APPLICATION));
12
21
 
13
22
  export const GET_SCOPES = "GET_SCOPES";
14
23
 
15
24
  export const [GET_SCOPES_REQUEST, GET_SCOPES_SUCCESS, GET_SCOPES_FAILURE] = makeActionTypes(GET_SCOPES);
16
25
 
17
- export const getScopes = () => makeOrcApiAction(GET_SCOPES, getUserScopeTreeRequest.buildUrl(OVERTURE_MODULE, {}));
26
+ export const getScopes = module =>
27
+ makeOrcApiAction(
28
+ GET_SCOPES,
29
+ getUserScopeTreeRequest.buildUrl(module === overtureModule.System ? overtureModule.Orders : module, {}),
30
+ getUserScopeTreeRequest.verb,
31
+ {
32
+ bailout: false,
33
+ meta: { module },
34
+ },
35
+ );
18
36
 
19
37
  export const GET_MY_SCOPE = "GET_MY_SCOPE";
20
38
 
21
39
  export const [GET_MY_SCOPE_REQUEST, GET_MY_SCOPE_SUCCESS, GET_MY_SCOPE_FAILURE] = makeActionTypes(GET_MY_SCOPE);
22
40
 
23
- export const getDefaultScope = () => makeOrcApiAction(GET_MY_SCOPE, getUserScopeRequest.buildUrl(OVERTURE_MODULE));
41
+ export const getDefaultScope = module =>
42
+ makeOrcApiAction(
43
+ GET_MY_SCOPE,
44
+ getUserScopeRequest.buildUrl(module === overtureModule.System ? overtureModule.Orders : module),
45
+ getUserScopeRequest.verb,
46
+ {
47
+ bailout: false,
48
+ },
49
+ );
24
50
 
25
51
  export const APPLICATION_SCOPE_HAS_CHANGED = "APPLICATION_SCOPE_HAS_CHANGED";
26
52
 
@@ -1,16 +1,17 @@
1
1
  import { RSAA } from "redux-api-middleware";
2
2
  import {
3
- GET_SCOPES_REQUEST,
4
- GET_SCOPES_SUCCESS,
5
- GET_SCOPES_FAILURE,
6
3
  getScopes,
7
4
  GET_MY_SCOPE_REQUEST,
8
5
  GET_MY_SCOPE_SUCCESS,
9
6
  GET_MY_SCOPE_FAILURE,
10
7
  getDefaultScope,
11
- validateOvertureModule,
8
+ validateOvertureApplication,
12
9
  APPLICATION_SCOPE_HAS_CHANGED,
13
10
  applicationScopeHasChanged,
11
+ getAppModules,
12
+ GET_APPLICATION_MODULES_REQUEST,
13
+ GET_APPLICATION_MODULES_SUCCESS,
14
+ GET_APPLICATION_MODULES_FAILURE,
14
15
  } from "./scopes";
15
16
 
16
17
  jest.mock("../utils/buildUrl", () => {
@@ -20,19 +21,71 @@ jest.mock("../utils/buildUrl", () => {
20
21
  return modExport;
21
22
  });
22
23
 
24
+ describe("getAppModules", () => {
25
+ it("creates a RSAA to fetch application modules", () => {
26
+ expect(getAppModules, "when called", "to exhaustively satisfy", {
27
+ [RSAA]: {
28
+ types: [GET_APPLICATION_MODULES_REQUEST, GET_APPLICATION_MODULES_SUCCESS, GET_APPLICATION_MODULES_FAILURE],
29
+ endpoint: 'URL: modules/byApplicationName/anApplication ""',
30
+ method: "GET",
31
+ body: undefined,
32
+ credentials: "include",
33
+ bailout: expect.it("to be a function"),
34
+ headers: {
35
+ Accept: "application/json; charset=utf-8",
36
+ "Content-Type": "application/json",
37
+ },
38
+ options: { redirect: "follow" },
39
+ },
40
+ });
41
+ });
42
+ });
43
+
23
44
  describe("getScopes", () => {
24
- beforeEach(() => {});
25
- afterEach(() => {});
45
+ let originalApplication;
46
+
47
+ beforeEach(() => {
48
+ originalApplication = global.OVERTURE_APPLICATION;
49
+ });
50
+
51
+ afterEach(() => {
52
+ global.OVERTURE_APPLICATION = originalApplication;
53
+ });
26
54
 
27
55
  it("creates a RSAA to fetch authorized scope tree", () =>
28
- expect(getScopes, "when called", "to exhaustively satisfy", {
56
+ expect(getScopes, "when called with", ["aModule"], "to exhaustively satisfy", {
29
57
  [RSAA]: {
30
- types: [GET_SCOPES_REQUEST, GET_SCOPES_SUCCESS, GET_SCOPES_FAILURE],
58
+ types: [
59
+ { type: "GET_SCOPES_REQUEST", meta: { module: "aModule" } },
60
+ { type: "GET_SCOPES_SUCCESS", meta: { module: "aModule" } },
61
+ { type: "GET_SCOPES_FAILURE", meta: { module: "aModule" } },
62
+ ],
31
63
  endpoint: "URL: my/scope/aModule/tree {}",
32
64
  method: "GET",
33
65
  body: undefined,
34
66
  credentials: "include",
35
- bailout: expect.it("to be a function"),
67
+ bailout: false,
68
+ headers: {
69
+ Accept: "application/json; charset=utf-8",
70
+ "Content-Type": "application/json",
71
+ },
72
+ options: { redirect: "follow" },
73
+ },
74
+ }));
75
+
76
+ it("creates a RSAA to fetch authorized scope tree for system module", () =>
77
+ expect(getScopes, "when called with", ["System"], "to exhaustively satisfy", {
78
+ [RSAA]: {
79
+ types: [
80
+ { type: "GET_SCOPES_REQUEST", meta: { module: "System" } },
81
+ { type: "GET_SCOPES_SUCCESS", meta: { module: "System" } },
82
+ { type: "GET_SCOPES_FAILURE", meta: { module: "System" } },
83
+ ],
84
+ endpoint: "URL: my/scope/Order/tree {}",
85
+ method: "GET",
86
+ body: undefined,
87
+ credentials: "include",
88
+ bailout: false,
36
89
  headers: {
37
90
  Accept: "application/json; charset=utf-8",
38
91
  "Content-Type": "application/json",
@@ -42,14 +95,31 @@ describe("getScopes", () => {
42
95
  }));
43
96
 
44
97
  it("creates a RSAA to fetch default user scope", () =>
45
- expect(getDefaultScope, "when called", "to exhaustively satisfy", {
98
+ expect(getDefaultScope, "when called with", ["aModule"], "to exhaustively satisfy", {
46
99
  [RSAA]: {
47
100
  types: [GET_MY_SCOPE_REQUEST, GET_MY_SCOPE_SUCCESS, GET_MY_SCOPE_FAILURE],
48
101
  endpoint: 'URL: my/scope/aModule ""',
49
102
  method: "GET",
50
103
  body: undefined,
51
104
  credentials: "include",
52
- bailout: expect.it("to be a function"),
105
+ bailout: false,
106
+ headers: {
107
+ Accept: "application/json; charset=utf-8",
108
+ "Content-Type": "application/json",
109
+ },
110
+ options: { redirect: "follow" },
111
+ },
112
+ }));
113
+
114
+ it("creates a RSAA to fetch default user scope for System module", () =>
115
+ expect(getDefaultScope, "when called with", ["System"], "to exhaustively satisfy", {
116
+ [RSAA]: {
117
+ types: [GET_MY_SCOPE_REQUEST, GET_MY_SCOPE_SUCCESS, GET_MY_SCOPE_FAILURE],
118
+ endpoint: 'URL: my/scope/Order ""',
119
+ method: "GET",
120
+ body: undefined,
121
+ credentials: "include",
122
+ bailout: false,
53
123
  headers: {
54
124
  Accept: "application/json; charset=utf-8",
55
125
  "Content-Type": "application/json",
@@ -59,11 +129,11 @@ describe("getScopes", () => {
59
129
  }));
60
130
 
61
131
  it("throws an error if no class found on DOM element", () => {
62
- global.OVERTURE_MODULE = "";
132
+ global.OVERTURE_APPLICATION = "";
63
133
  expect(
64
- () => expect(validateOvertureModule, "when called with", []),
134
+ () => expect(validateOvertureApplication, "when called with", []),
65
135
  "to throw",
66
- '"overtureModule.name" is missing in the configuration.',
136
+ '"overtureApplication.name" is missing in the configuration.',
67
137
  );
68
138
  });
69
139
  });
@@ -8,7 +8,7 @@ import Text from "../Text";
8
8
  import withClickOutside from "../../hocs/withClickOutside";
9
9
  import useViewState from "../../hooks/useViewState";
10
10
  import bgImage from "../../content/aboutBackground.png";
11
- import logoImage from "../../content/aboutLogo.png";
11
+ import logoImage from "../../content/orckestra-logo-white.png";
12
12
  import close from "../../content/close.png";
13
13
  import { getVersionSelector } from "../../selectors/versionInfo";
14
14
  import { currentLocaleOrDefault } from "../../selectors/locale";
@@ -101,7 +101,7 @@ export const About = ({ currentApplication }) => {
101
101
  <CloseButton onClick={closeAboutBox}>
102
102
  <img src={close} alt="X" />
103
103
  </CloseButton>
104
- <img src={logoImage} alt="Orckestra" />
104
+ <img src={logoImage} width="250" alt="Orckestra" />
105
105
  <AboutParagraph>
106
106
  <Text
107
107
  message={{
@@ -202,6 +202,15 @@ describe("AppFrame", () => {
202
202
  bar: true,
203
203
  },
204
204
  },
205
+ modules: {
206
+ tree: "modulesTree",
207
+ visibleModules: ["a", "module123", "test1", "test2", "test3"],
208
+ lastScopeAndModuleSelection: {
209
+ scope: "Norway",
210
+ moduleName: "Profiles",
211
+ routingPerformed: false,
212
+ },
213
+ },
205
214
  settings: { defaultScope: "myScope", defaultApp: "12" },
206
215
  versionInfo: { version: "4.2", defaultHelpUrl: "help_url", moduleHelpUrls: [] },
207
216
  view: { scopeSelector: { filter: "1" }, __prefsDialog: { show: false } },
@@ -1,5 +1,4 @@
1
1
  import React, { useRef } from "react";
2
- import { useSelector } from "react-redux";
3
2
  import styled, { css } from "styled-components";
4
3
  import transition from "styled-transition-group";
5
4
  import { Link } from "react-router-dom";
@@ -124,13 +123,11 @@ const MenuItem = ({
124
123
  alert,
125
124
  pageScopeSelector,
126
125
  closingTabHandler,
127
- hide,
126
+ hide, // This props is not used in the component, but we need to destructure it so props can be used in ItemWrapper
127
+ isHidden = false,
128
128
  href,
129
129
  ...props
130
130
  }) => {
131
- let hideSelector = state => (typeof hide === "function" ? hide(state) : hide ?? false);
132
- const isHidden = useSelector(hideSelector);
133
-
134
131
  let ItemWrapper = Block;
135
132
  if (props.menuToggle) {
136
133
  ItemWrapper = BlockWithA;
@@ -139,6 +136,7 @@ const MenuItem = ({
139
136
  if (alert && alert.message) {
140
137
  alertMessage.current = alert.message;
141
138
  }
139
+
142
140
  return (
143
141
  !isHidden && (
144
142
  <ItemWrapper to={href} {...props}>