orc-shared 1.2.0-dev.2 → 1.2.0-dev.6
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.
- package/dist/actions/modules.js +63 -1
- package/dist/actions/scopes.js +59 -22
- package/dist/components/AppFrame/MenuItem.js +5 -14
- package/dist/components/AppFrame/Sidebar.js +11 -5
- package/dist/components/ApplicationModuleLoader.js +143 -0
- package/dist/components/Authenticate.js +12 -12
- package/dist/components/MaterialUI/DataDisplay/SelectionList.js +1 -1
- package/dist/components/MaterialUI/Navigation/ExternalLink.js +113 -0
- package/dist/components/MaterialUI/muiThemes.js +5 -0
- package/dist/components/Modules.js +126 -41
- package/dist/components/Routing/FullPage.js +3 -1
- package/dist/components/Routing/Page.js +5 -3
- package/dist/components/Routing/Segment.js +1 -1
- package/dist/components/Routing/withWaypointing.js +6 -2
- package/dist/components/Scope/useScopeConfirmationModalState.js +7 -16
- package/dist/components/Scope/useScopeData.js +4 -13
- package/dist/constants.js +19 -2
- package/dist/content/iconsSheet.svg +3 -0
- package/dist/reducers/modules.js +39 -1
- package/dist/reducers/scopes.js +27 -0
- package/dist/reducers/settings.js +31 -2
- package/dist/selectors/authentication.js +57 -18
- package/dist/selectors/modules.js +15 -1
- package/dist/selectors/scope.js +7 -1
- package/dist/selectors/settings.js +13 -1
- package/package.json +6 -5
- package/src/actions/modules.js +30 -0
- package/src/actions/modules.test.js +50 -1
- package/src/actions/scopes.js +33 -7
- package/src/actions/scopes.test.js +84 -14
- package/src/components/AppFrame/AppFrame.test.js +9 -0
- package/src/components/AppFrame/MenuItem.js +3 -5
- package/src/components/AppFrame/MenuItem.test.js +2 -24
- package/src/components/AppFrame/Sidebar.js +8 -1
- package/src/components/AppFrame/Sidebar.test.js +18 -0
- package/src/components/ApplicationModuleLoader.js +52 -0
- package/src/components/ApplicationModuleLoader.test.js +149 -0
- package/src/components/Authenticate.js +5 -4
- package/src/components/Authenticate.test.js +23 -4
- package/src/components/MaterialUI/DataDisplay/SelectionList.js +1 -1
- package/src/components/MaterialUI/DataDisplay/SelectionList.test.js +2 -2
- package/src/components/MaterialUI/Navigation/ExternalLink.js +25 -0
- package/src/components/MaterialUI/Navigation/ExternalLink.test.js +26 -0
- package/src/components/MaterialUI/muiThemes.js +5 -0
- package/src/components/Modules.js +103 -20
- package/src/components/Modules.test.js +315 -28
- package/src/components/Provision.test.js +34 -0
- package/src/components/Routing/FullPage.js +2 -1
- package/src/components/Routing/FullPage.test.js +23 -0
- package/src/components/Routing/Page.js +2 -2
- package/src/components/Routing/Page.test.js +20 -0
- package/src/components/Routing/Segment.js +1 -1
- package/src/components/Routing/withWaypointing.js +2 -2
- package/src/components/Routing/withWaypointing.test.js +33 -5
- package/src/components/Scope/useScopeConfirmationModalState.js +5 -16
- package/src/components/Scope/useScopeConfirmationModalState.test.js +39 -13
- package/src/components/Scope/useScopeData.js +0 -3
- package/src/components/Scope/useScopeData.test.js +0 -27
- package/src/constants.js +15 -0
- package/src/content/iconsSheet.svg +3 -0
- package/src/hocs/withScopeData.test.js +0 -31
- package/src/reducers/modules.js +48 -2
- package/src/reducers/modules.test.js +117 -2
- package/src/reducers/scopes.js +30 -0
- package/src/reducers/scopes.test.js +45 -1
- package/src/reducers/settings.js +26 -2
- package/src/reducers/settings.test.js +74 -6
- package/src/selectors/authentication.js +53 -27
- package/src/selectors/authentication.test.js +600 -12
- package/src/selectors/modules.js +7 -0
- package/src/selectors/modules.test.js +16 -1
- package/src/selectors/scope.js +2 -0
- package/src/selectors/scope.test.js +5 -0
- package/src/selectors/settings.js +6 -0
|
@@ -13,6 +13,8 @@ var _applications = require("../actions/applications");
|
|
|
13
13
|
|
|
14
14
|
var _scopes = require("../actions/scopes");
|
|
15
15
|
|
|
16
|
+
var _constants = require("../constants");
|
|
17
|
+
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
19
|
|
|
18
20
|
(function () {
|
|
@@ -33,23 +35,48 @@ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoader
|
|
|
33
35
|
return a;
|
|
34
36
|
};
|
|
35
37
|
|
|
36
|
-
var initialState = _immutable.default.
|
|
38
|
+
var initialState = _immutable.default.fromJS({
|
|
37
39
|
defaultApp: 0,
|
|
38
|
-
defaultScope: null
|
|
40
|
+
defaultScope: null,
|
|
41
|
+
loadedModulesScope: [],
|
|
42
|
+
modules: []
|
|
39
43
|
});
|
|
40
44
|
|
|
45
|
+
var setLoadedModulesScope = function setLoadedModulesScope(state, module) {
|
|
46
|
+
var loadedModulesScope = state.get("loadedModulesScope").toJS();
|
|
47
|
+
loadedModulesScope.push(module);
|
|
48
|
+
return state.set("loadedModulesScope", _immutable.default.fromJS(loadedModulesScope));
|
|
49
|
+
};
|
|
50
|
+
|
|
41
51
|
var settingsReducer = function settingsReducer(state, action) {
|
|
42
52
|
if (state === void 0) {
|
|
43
53
|
state = initialState;
|
|
44
54
|
}
|
|
45
55
|
|
|
46
56
|
switch (action.type) {
|
|
57
|
+
case _scopes.GET_APPLICATION_MODULES_SUCCESS:
|
|
58
|
+
return state.set("modules", _immutable.default.fromJS(action.payload.map(function (x) {
|
|
59
|
+
return _constants.overtureModule[x.name];
|
|
60
|
+
})));
|
|
61
|
+
|
|
47
62
|
case _applications.GET_MY_APPLICATION_SUCCESS:
|
|
48
63
|
return state.set("defaultApp", action.payload.id);
|
|
49
64
|
|
|
50
65
|
case _applications.SET_MY_APPLICATION_SUCCESS:
|
|
51
66
|
return state.set("defaultApp", action.meta.appId);
|
|
52
67
|
|
|
68
|
+
case _scopes.GET_SCOPES_SUCCESS:
|
|
69
|
+
return setLoadedModulesScope(state, action.meta.module);
|
|
70
|
+
|
|
71
|
+
case _scopes.GET_SCOPES_FAILURE:
|
|
72
|
+
{
|
|
73
|
+
if (action.payload.status === 500) {
|
|
74
|
+
state = setLoadedModulesScope(state, action.meta.module);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return state;
|
|
78
|
+
}
|
|
79
|
+
|
|
53
80
|
case _scopes.GET_MY_SCOPE_SUCCESS:
|
|
54
81
|
return state.set("defaultScope", action.payload.id);
|
|
55
82
|
|
|
@@ -79,6 +106,7 @@ exports.default = _default3;
|
|
|
79
106
|
}
|
|
80
107
|
|
|
81
108
|
reactHotLoader.register(initialState, "initialState", "/home/vsts/work/1/s/src/reducers/settings.js");
|
|
109
|
+
reactHotLoader.register(setLoadedModulesScope, "setLoadedModulesScope", "/home/vsts/work/1/s/src/reducers/settings.js");
|
|
82
110
|
reactHotLoader.register(settingsReducer, "settingsReducer", "/home/vsts/work/1/s/src/reducers/settings.js");
|
|
83
111
|
reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/reducers/settings.js");
|
|
84
112
|
})();
|
|
@@ -100,6 +128,7 @@ exports.default = _default3;
|
|
|
100
128
|
}
|
|
101
129
|
|
|
102
130
|
reactHotLoader.register(initialState, "initialState", "/home/vsts/work/1/s/src/reducers/settings.js");
|
|
131
|
+
reactHotLoader.register(setLoadedModulesScope, "setLoadedModulesScope", "/home/vsts/work/1/s/src/reducers/settings.js");
|
|
103
132
|
reactHotLoader.register(settingsReducer, "settingsReducer", "/home/vsts/work/1/s/src/reducers/settings.js");
|
|
104
133
|
reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/reducers/settings.js");
|
|
105
134
|
})();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.selectRolesClaims = exports.selectGroupRolesClaims = exports.selectCurrentUsername = exports.hasReaderPermissions = exports.hasEditorPermissions = exports.hasAdministratorPermissions = void 0;
|
|
4
|
+
exports.selectRolesClaims = exports.selectGroupRolesClaims = exports.selectCurrentUsername = exports.hasReaderPermissionsForScope = exports.hasReaderPermissions = exports.hasEditorPermissionsForScope = exports.hasEditorPermissions = exports.hasAdministratorPermissionsForScope = exports.hasAdministratorPermissions = void 0;
|
|
5
5
|
|
|
6
6
|
var _reselect = require("reselect");
|
|
7
7
|
|
|
@@ -9,6 +9,8 @@ var _constants = require("./../constants");
|
|
|
9
9
|
|
|
10
10
|
var _navigation = require("./navigation");
|
|
11
11
|
|
|
12
|
+
var _scope = require("./scope");
|
|
13
|
+
|
|
12
14
|
(function () {
|
|
13
15
|
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
14
16
|
enterModule && enterModule(module);
|
|
@@ -48,41 +50,70 @@ var selectGroupRolesClaims = function selectGroupRolesClaims(roleGroup) {
|
|
|
48
50
|
|
|
49
51
|
exports.selectGroupRolesClaims = selectGroupRolesClaims;
|
|
50
52
|
|
|
51
|
-
var
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
var hasRolePermissions = function hasRolePermissions(appRolesClaims, scopeId, role, scopes) {
|
|
54
|
+
if (appRolesClaims != null && scopeId != null) {
|
|
55
|
+
var allowed = !!appRolesClaims.getIn(["*", role]) || !!appRolesClaims.getIn([scopeId, role]);
|
|
56
|
+
|
|
57
|
+
if (!allowed) {
|
|
58
|
+
var _scopes$get$toJS$pare, _scopes$get, _scopes$get$toJS;
|
|
59
|
+
|
|
60
|
+
var parentScopeId = (_scopes$get$toJS$pare = (_scopes$get = scopes.get(scopeId)) == null ? void 0 : (_scopes$get$toJS = _scopes$get.toJS()) == null ? void 0 : _scopes$get$toJS.parentScopeId) != null ? _scopes$get$toJS$pare : null;
|
|
61
|
+
return hasRolePermissions(appRolesClaims, parentScopeId, role, scopes);
|
|
55
62
|
}
|
|
56
63
|
|
|
57
|
-
return
|
|
64
|
+
return allowed;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return false;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
var hasEditorPermissions = function hasEditorPermissions(roleGroup) {
|
|
71
|
+
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _navigation.getCurrentScope, _scope.getScopesSelector, function (appRolesClaims, currentScope, scopes) {
|
|
72
|
+
return hasRolePermissions(appRolesClaims, currentScope, _constants.platformRoles.Editor, scopes);
|
|
58
73
|
});
|
|
59
74
|
};
|
|
60
75
|
|
|
61
76
|
exports.hasEditorPermissions = hasEditorPermissions;
|
|
62
77
|
|
|
63
|
-
var
|
|
64
|
-
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup),
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
78
|
+
var hasEditorPermissionsForScope = function hasEditorPermissionsForScope(scope, roleGroup) {
|
|
79
|
+
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _scope.getScopesSelector, function (appRolesClaims, scopes) {
|
|
80
|
+
return hasRolePermissions(appRolesClaims, scope, _constants.platformRoles.Editor, scopes);
|
|
81
|
+
});
|
|
82
|
+
};
|
|
68
83
|
|
|
69
|
-
|
|
84
|
+
exports.hasEditorPermissionsForScope = hasEditorPermissionsForScope;
|
|
85
|
+
|
|
86
|
+
var hasAdministratorPermissions = function hasAdministratorPermissions(roleGroup) {
|
|
87
|
+
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _navigation.getCurrentScope, _scope.getScopesSelector, function (appRolesClaims, currentScope, scopes) {
|
|
88
|
+
return hasRolePermissions(appRolesClaims, currentScope, _constants.platformRoles.Administrator, scopes);
|
|
70
89
|
});
|
|
71
90
|
};
|
|
72
91
|
|
|
73
92
|
exports.hasAdministratorPermissions = hasAdministratorPermissions;
|
|
74
93
|
|
|
75
|
-
var
|
|
76
|
-
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
94
|
+
var hasAdministratorPermissionsForScope = function hasAdministratorPermissionsForScope(scope, roleGroup) {
|
|
95
|
+
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _scope.getScopesSelector, function (appRolesClaims, scopes) {
|
|
96
|
+
return hasRolePermissions(appRolesClaims, scope, _constants.platformRoles.Administrator, scopes);
|
|
97
|
+
});
|
|
98
|
+
};
|
|
80
99
|
|
|
81
|
-
|
|
100
|
+
exports.hasAdministratorPermissionsForScope = hasAdministratorPermissionsForScope;
|
|
101
|
+
|
|
102
|
+
var hasReaderPermissions = function hasReaderPermissions(roleGroup) {
|
|
103
|
+
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _navigation.getCurrentScope, _scope.getScopesSelector, function (appRolesClaims, currentScope, scopes) {
|
|
104
|
+
return hasRolePermissions(appRolesClaims, currentScope, _constants.platformRoles.Reader, scopes);
|
|
82
105
|
});
|
|
83
106
|
};
|
|
84
107
|
|
|
85
108
|
exports.hasReaderPermissions = hasReaderPermissions;
|
|
109
|
+
|
|
110
|
+
var hasReaderPermissionsForScope = function hasReaderPermissionsForScope(scope, roleGroup) {
|
|
111
|
+
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _scope.getScopesSelector, function (appRolesClaims, scopes) {
|
|
112
|
+
return hasRolePermissions(appRolesClaims, scope, _constants.platformRoles.Reader, scopes);
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
exports.hasReaderPermissionsForScope = hasReaderPermissionsForScope;
|
|
86
117
|
;
|
|
87
118
|
|
|
88
119
|
(function () {
|
|
@@ -96,9 +127,13 @@ exports.hasReaderPermissions = hasReaderPermissions;
|
|
|
96
127
|
reactHotLoader.register(selectCurrentUsername, "selectCurrentUsername", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
97
128
|
reactHotLoader.register(selectRolesClaims, "selectRolesClaims", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
98
129
|
reactHotLoader.register(selectGroupRolesClaims, "selectGroupRolesClaims", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
130
|
+
reactHotLoader.register(hasRolePermissions, "hasRolePermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
99
131
|
reactHotLoader.register(hasEditorPermissions, "hasEditorPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
132
|
+
reactHotLoader.register(hasEditorPermissionsForScope, "hasEditorPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
100
133
|
reactHotLoader.register(hasAdministratorPermissions, "hasAdministratorPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
134
|
+
reactHotLoader.register(hasAdministratorPermissionsForScope, "hasAdministratorPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
101
135
|
reactHotLoader.register(hasReaderPermissions, "hasReaderPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
136
|
+
reactHotLoader.register(hasReaderPermissionsForScope, "hasReaderPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
102
137
|
})();
|
|
103
138
|
|
|
104
139
|
;
|
|
@@ -121,9 +156,13 @@ exports.hasReaderPermissions = hasReaderPermissions;
|
|
|
121
156
|
reactHotLoader.register(selectCurrentUsername, "selectCurrentUsername", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
122
157
|
reactHotLoader.register(selectRolesClaims, "selectRolesClaims", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
123
158
|
reactHotLoader.register(selectGroupRolesClaims, "selectGroupRolesClaims", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
159
|
+
reactHotLoader.register(hasRolePermissions, "hasRolePermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
124
160
|
reactHotLoader.register(hasEditorPermissions, "hasEditorPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
161
|
+
reactHotLoader.register(hasEditorPermissionsForScope, "hasEditorPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
125
162
|
reactHotLoader.register(hasAdministratorPermissions, "hasAdministratorPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
163
|
+
reactHotLoader.register(hasAdministratorPermissionsForScope, "hasAdministratorPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
126
164
|
reactHotLoader.register(hasReaderPermissions, "hasReaderPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
165
|
+
reactHotLoader.register(hasReaderPermissionsForScope, "hasReaderPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
127
166
|
})();
|
|
128
167
|
|
|
129
168
|
;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.modulesSelector = void 0;
|
|
4
|
+
exports.modulesSelector = exports.getScopeModuleInformationSelector = void 0;
|
|
5
5
|
|
|
6
6
|
var _reselect = require("reselect");
|
|
7
7
|
|
|
@@ -15,6 +15,12 @@ var _reselect = require("reselect");
|
|
|
15
15
|
enterModule && enterModule(module);
|
|
16
16
|
})();
|
|
17
17
|
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
18
24
|
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
19
25
|
return a;
|
|
20
26
|
};
|
|
@@ -31,6 +37,12 @@ var modulesSelector = (0, _reselect.createSelector)(modulesData, function (data)
|
|
|
31
37
|
return data.getIn(["tree"]);
|
|
32
38
|
});
|
|
33
39
|
exports.modulesSelector = modulesSelector;
|
|
40
|
+
var getScopeModuleInformationSelector = (0, _reselect.createSelector)(modulesData, function (data) {
|
|
41
|
+
return _objectSpread({
|
|
42
|
+
visibleModules: data.getIn(["visibleModules"]).toJS()
|
|
43
|
+
}, data.getIn(["lastScopeAndModuleSelection"]).toJS());
|
|
44
|
+
});
|
|
45
|
+
exports.getScopeModuleInformationSelector = getScopeModuleInformationSelector;
|
|
34
46
|
;
|
|
35
47
|
|
|
36
48
|
(function () {
|
|
@@ -42,6 +54,7 @@ exports.modulesSelector = modulesSelector;
|
|
|
42
54
|
|
|
43
55
|
reactHotLoader.register(modulesData, "modulesData", "/home/vsts/work/1/s/src/selectors/modules.js");
|
|
44
56
|
reactHotLoader.register(modulesSelector, "modulesSelector", "/home/vsts/work/1/s/src/selectors/modules.js");
|
|
57
|
+
reactHotLoader.register(getScopeModuleInformationSelector, "getScopeModuleInformationSelector", "/home/vsts/work/1/s/src/selectors/modules.js");
|
|
45
58
|
})();
|
|
46
59
|
|
|
47
60
|
;
|
|
@@ -62,6 +75,7 @@ exports.modulesSelector = modulesSelector;
|
|
|
62
75
|
|
|
63
76
|
reactHotLoader.register(modulesData, "modulesData", "/home/vsts/work/1/s/src/selectors/modules.js");
|
|
64
77
|
reactHotLoader.register(modulesSelector, "modulesSelector", "/home/vsts/work/1/s/src/selectors/modules.js");
|
|
78
|
+
reactHotLoader.register(getScopeModuleInformationSelector, "getScopeModuleInformationSelector", "/home/vsts/work/1/s/src/selectors/modules.js");
|
|
65
79
|
})();
|
|
66
80
|
|
|
67
81
|
;
|
package/dist/selectors/scope.js
CHANGED
|
@@ -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.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
|
;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orc-shared",
|
|
3
|
-
"version": "1.2.0-dev.
|
|
3
|
+
"version": "1.2.0-dev.6",
|
|
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.
|
|
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
|
}
|
package/src/actions/modules.js
CHANGED
|
@@ -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 {
|
|
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
|
+
});
|
package/src/actions/scopes.js
CHANGED
|
@@ -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
|
|
6
|
-
if (!
|
|
7
|
-
throw new Error('"
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
|