orc-shared 5.4.0-dev.0 → 5.5.1-dev.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.
- package/dist/actions/makeApiAction.js +2 -2
- package/dist/actions/makeOrcApiAction.js +2 -2
- package/dist/actions/metadata.js +2 -2
- package/dist/actions/navigation.js +16 -3
- package/dist/actions/tasks.js +170 -0
- package/dist/buildStore.js +5 -3
- package/dist/components/AppFrame/About.js +2 -2
- package/dist/components/AppFrame/Preferences.js +2 -3
- package/dist/components/AppFrame/Sidebar.js +4 -8
- package/dist/components/Form/FieldList.js +5 -6
- package/dist/components/Form/Inputs/Text.js +0 -1
- package/dist/components/Form/Inputs/Translation.js +2 -2
- package/dist/components/List/enhanceColumnDefs.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/Modal.js +5 -5
- package/dist/components/MaterialUI/DataDisplay/Notification.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/NotificationProps.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/PredefinedElements/InformationItem.js +13 -5
- package/dist/components/MaterialUI/DataDisplay/PredefinedElements/Translations.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/TableProps.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/TooltippedElements/MultipleLinesText.js +4 -2
- package/dist/components/MaterialUI/DataDisplay/TransferList.js +4 -5
- package/dist/components/MaterialUI/DataDisplay/chipProps.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/collapsableListProps.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/dividerProps.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/modalProps.js +2 -2
- package/dist/components/MaterialUI/DataDisplay/useTableSelection.js +2 -2
- package/dist/components/MaterialUI/Inputs/Autocomplete.js +2 -2
- package/dist/components/MaterialUI/Inputs/AutocompleteProps.js +2 -2
- package/dist/components/MaterialUI/Inputs/Checkbox.js +5 -6
- package/dist/components/MaterialUI/Inputs/CheckboxGroup.js +7 -8
- package/dist/components/MaterialUI/Inputs/CheckboxGroupProps.js +2 -2
- package/dist/components/MaterialUI/Inputs/CheckboxProps.js +2 -2
- package/dist/components/MaterialUI/Inputs/DatePicker.js +2 -2
- package/dist/components/MaterialUI/Inputs/InputBaseProps.js +2 -2
- package/dist/components/MaterialUI/Inputs/PredefinedElements/SearchControl.js +43 -46
- package/dist/components/MaterialUI/Inputs/RadioProps.js +2 -2
- package/dist/components/MaterialUI/Inputs/Select.js +3 -4
- package/dist/components/MaterialUI/Inputs/SelectProps.js +2 -2
- package/dist/components/MaterialUI/Inputs/StandaloneRadio.js +4 -5
- package/dist/components/MaterialUI/Inputs/Switch.js +2 -2
- package/dist/components/MaterialUI/Inputs/SwitchProps.js +2 -2
- package/dist/components/MaterialUI/Inputs/createInput.js +5 -6
- package/dist/components/MaterialUI/Inputs/standaloneRadioProps.js +2 -2
- package/dist/components/MaterialUI/Navigation/DropDownMenuProps.js +2 -2
- package/dist/components/MaterialUI/ScopeSelector/TreeItem.js +2 -3
- package/dist/components/MaterialUI/Surfaces/expansionPanelProps.js +2 -2
- package/dist/components/MaterialUI/Surfaces/paperProps.js +2 -2
- package/dist/components/MaterialUI/componentProps.js +2 -2
- package/dist/components/MaterialUI/hocs/withDeferredTooltip.js +4 -1
- package/dist/components/MaterialUI/muiThemes.js +12 -13
- package/dist/components/MaterialUI/textProps.js +2 -2
- package/dist/components/Navigation/Bar.js +2 -2
- package/dist/components/Navigation/index.js +1 -0
- package/dist/components/Navigation/useNavigationState.js +2 -2
- package/dist/components/Routing/Page.js +4 -1
- package/dist/components/Routing/SegmentPage.js +5 -2
- package/dist/components/Routing/SubPage.js +21 -8
- package/dist/components/Routing/withWaypointing.js +2 -2
- package/dist/components/Scope/index.js +2 -2
- package/dist/components/TaskDetailsModal.js +191 -0
- package/dist/components/Treeview/Node.js +2 -2
- package/dist/components/Treeview/index.js +2 -2
- package/dist/constants.js +18 -2
- package/dist/content/iconsSheet.svg +22 -0
- package/dist/content/orckestra-logo-white.png +0 -0
- package/dist/getThemeOverrides.js +2 -2
- package/dist/hocs/withToggle.js +3 -4
- package/dist/hocs/withUpdateHandler.js +2 -2
- package/dist/hooks/useEditState.js +6 -4
- package/dist/hooks/useEntityLoader.js +2 -2
- package/dist/hooks/useFullEntityEditState.js +2 -2
- package/dist/hooks/useLabelMessage.js +2 -2
- package/dist/hooks/useMultipleFieldEditState.js +2 -2
- package/dist/hooks/useNotificationRequestState.js +2 -2
- package/dist/reducers/navigation.js +16 -0
- package/dist/reducers/request.js +4 -0
- package/dist/reducers/tasks.js +98 -0
- package/dist/selectors/authentication.js +15 -1
- package/dist/selectors/metadata.js +2 -2
- package/dist/selectors/modules.js +2 -2
- package/dist/selectors/tasks.js +64 -0
- package/dist/sharedMessages.js +17 -1
- package/dist/utils/flatten.js +2 -2
- package/dist/utils/modelValidationHelper.js +7 -8
- package/dist/utils/propertyHelper.js +33 -0
- package/dist/utils/stripKey.js +2 -2
- package/package.json +1 -1
- package/src/actions/navigation.js +7 -0
- package/src/actions/navigation.test.js +12 -0
- package/src/actions/tasks.js +77 -0
- package/src/actions/tasks.test.js +169 -0
- package/src/buildStore.js +2 -0
- package/src/components/AppFrame/About.test.js +3 -3
- package/src/components/AppFrame/Sidebar.js +4 -3
- package/src/components/MaterialUI/DataDisplay/PredefinedElements/InformationItem.js +15 -3
- package/src/components/MaterialUI/DataDisplay/TooltippedElements/MultipleLinesText.js +2 -1
- package/src/components/MaterialUI/Inputs/PredefinedElements/SearchControl.js +39 -27
- package/src/components/MaterialUI/Inputs/PredefinedElements/SearchControl.test.js +39 -34
- package/src/components/MaterialUI/hocs/withDeferredTooltip.js +2 -1
- package/src/components/MaterialUI/hocs/withDeferredTooltip.test.js +52 -0
- package/src/components/Routing/Page.js +12 -1
- package/src/components/Routing/SegmentPage.js +13 -1
- package/src/components/Routing/SubPage.js +21 -9
- package/src/components/Routing/SubPage.test.js +213 -0
- package/src/components/TaskDetailsModal.js +132 -0
- package/src/components/TaskDetailsModal.test.js +317 -0
- package/src/components/Text.test.js +44 -59
- package/src/constants.js +15 -0
- package/src/content/iconsSheet.svg +22 -0
- package/src/content/orckestra-logo-white.png +0 -0
- package/src/hooks/useEditState.js +12 -2
- package/src/hooks/useEditState.test.js +1 -1
- package/src/hooks/useLabelMessage.test.js +16 -10
- package/src/reducers/navigation.js +24 -0
- package/src/reducers/navigation.test.js +38 -0
- package/src/reducers/request.js +4 -0
- package/src/reducers/request.test.js +11 -0
- package/src/reducers/tasks.js +56 -0
- package/src/reducers/tasks.test.js +404 -0
- package/src/selectors/authentication.js +13 -0
- package/src/selectors/authentication.test.js +322 -0
- package/src/selectors/tasks.js +16 -0
- package/src/selectors/tasks.test.js +60 -0
- package/src/sharedMessages.js +17 -1
- package/src/translations/en-US.json +16 -12
- package/src/translations/fr-CA.json +16 -12
- package/src/utils/propertyHelper.js +38 -0
- package/src/utils/propertyHelper.test.js +160 -0
- package/src/utils/timezoneHelper.test.js +4 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.selectRolesClaims = exports.selectGroupRolesClaims = exports.selectCurrentUsername = exports.hasReaderPermissionsForScope = exports.hasReaderPermissions = exports.hasEditorPermissionsForScope = exports.hasEditorPermissions = exports.hasAdministratorPermissionsForScope = exports.hasAdministratorPermissions = void 0;
|
|
4
|
+
exports.selectRolesClaims = exports.selectGroupRolesClaims = exports.selectCurrentUsername = exports.hasReaderPermissionsForScope = exports.hasReaderPermissions = exports.hasPermissionsForRoleAndScope = exports.hasPermissionsForRole = exports.hasEditorPermissionsForScope = exports.hasEditorPermissions = exports.hasAdministratorPermissionsForScope = exports.hasAdministratorPermissions = void 0;
|
|
5
5
|
var _reselect = require("reselect");
|
|
6
6
|
var _constants = require("./../constants");
|
|
7
7
|
var _navigation = require("./navigation");
|
|
@@ -56,6 +56,16 @@ var hasEditorPermissionsForScope = exports.hasEditorPermissionsForScope = functi
|
|
|
56
56
|
return hasRolePermissions(appRolesClaims, scope, _constants.platformRoles.Editor, scopes);
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
|
+
var hasPermissionsForRole = exports.hasPermissionsForRole = function hasPermissionsForRole(roleGroup, role) {
|
|
60
|
+
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _navigation.getCurrentScope, _scope.getScopesSelector, function (appRolesClaims, currentScope, scopes) {
|
|
61
|
+
return hasRolePermissions(appRolesClaims, currentScope, role, scopes);
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
var hasPermissionsForRoleAndScope = exports.hasPermissionsForRoleAndScope = function hasPermissionsForRoleAndScope(scope, roleGroup, role) {
|
|
65
|
+
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _scope.getScopesSelector, function (appRolesClaims, scopes) {
|
|
66
|
+
return hasRolePermissions(appRolesClaims, scope, role, scopes);
|
|
67
|
+
});
|
|
68
|
+
};
|
|
59
69
|
var hasAdministratorPermissions = exports.hasAdministratorPermissions = function hasAdministratorPermissions(roleGroup) {
|
|
60
70
|
return (0, _reselect.createSelector)(selectGroupRolesClaims(roleGroup), _navigation.getCurrentScope, _scope.getScopesSelector, function (appRolesClaims, currentScope, scopes) {
|
|
61
71
|
return hasRolePermissions(appRolesClaims, currentScope, _constants.platformRoles.Administrator, scopes);
|
|
@@ -89,6 +99,8 @@ var hasReaderPermissionsForScope = exports.hasReaderPermissionsForScope = functi
|
|
|
89
99
|
reactHotLoader.register(hasRolePermissions, "hasRolePermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
90
100
|
reactHotLoader.register(hasEditorPermissions, "hasEditorPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
91
101
|
reactHotLoader.register(hasEditorPermissionsForScope, "hasEditorPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
102
|
+
reactHotLoader.register(hasPermissionsForRole, "hasPermissionsForRole", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
103
|
+
reactHotLoader.register(hasPermissionsForRoleAndScope, "hasPermissionsForRoleAndScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
92
104
|
reactHotLoader.register(hasAdministratorPermissions, "hasAdministratorPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
93
105
|
reactHotLoader.register(hasAdministratorPermissionsForScope, "hasAdministratorPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
94
106
|
reactHotLoader.register(hasReaderPermissions, "hasReaderPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
@@ -112,6 +124,8 @@ var hasReaderPermissionsForScope = exports.hasReaderPermissionsForScope = functi
|
|
|
112
124
|
reactHotLoader.register(hasRolePermissions, "hasRolePermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
113
125
|
reactHotLoader.register(hasEditorPermissions, "hasEditorPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
114
126
|
reactHotLoader.register(hasEditorPermissionsForScope, "hasEditorPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
127
|
+
reactHotLoader.register(hasPermissionsForRole, "hasPermissionsForRole", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
128
|
+
reactHotLoader.register(hasPermissionsForRoleAndScope, "hasPermissionsForRoleAndScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
115
129
|
reactHotLoader.register(hasAdministratorPermissions, "hasAdministratorPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
116
130
|
reactHotLoader.register(hasAdministratorPermissionsForScope, "hasAdministratorPermissionsForScope", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
117
131
|
reactHotLoader.register(hasReaderPermissions, "hasReaderPermissions", "/home/vsts/work/1/s/src/selectors/authentication.js");
|
|
@@ -24,8 +24,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
24
24
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
25
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
26
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
-
function _toPropertyKey(
|
|
28
|
-
function _toPrimitive(
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
28
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
29
29
|
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
30
30
|
return a;
|
|
31
31
|
};
|
|
@@ -14,8 +14,8 @@ var _reselect = require("reselect");
|
|
|
14
14
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
15
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
16
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
-
function _toPropertyKey(
|
|
18
|
-
function _toPrimitive(
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
19
|
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
20
20
|
return a;
|
|
21
21
|
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.taskLogs = exports.taskInfo = void 0;
|
|
5
|
+
var _immutable = _interopRequireDefault(require("immutable"));
|
|
6
|
+
var _reselect = require("reselect");
|
|
7
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
+
(function () {
|
|
9
|
+
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
10
|
+
enterModule && enterModule(module);
|
|
11
|
+
})();
|
|
12
|
+
(function () {
|
|
13
|
+
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
14
|
+
enterModule && enterModule(module);
|
|
15
|
+
})();
|
|
16
|
+
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
20
|
+
return a;
|
|
21
|
+
};
|
|
22
|
+
var tasksData = function tasksData(state) {
|
|
23
|
+
return state.get("tasks");
|
|
24
|
+
};
|
|
25
|
+
var taskInfo = exports.taskInfo = function taskInfo(taskId) {
|
|
26
|
+
return (0, _reselect.createSelector)(tasksData, function (tasks) {
|
|
27
|
+
return tasks.getIn(["taskInfos", taskId]) || null;
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var taskLogs = exports.taskLogs = function taskLogs(taskId) {
|
|
31
|
+
return (0, _reselect.createSelector)(tasksData, function (tasks) {
|
|
32
|
+
return tasks.getIn(["logs", taskId]) || _immutable.default.List();
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
;
|
|
36
|
+
(function () {
|
|
37
|
+
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
38
|
+
if (!reactHotLoader) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
reactHotLoader.register(tasksData, "tasksData", "/home/vsts/work/1/s/src/selectors/tasks.js");
|
|
42
|
+
reactHotLoader.register(taskInfo, "taskInfo", "/home/vsts/work/1/s/src/selectors/tasks.js");
|
|
43
|
+
reactHotLoader.register(taskLogs, "taskLogs", "/home/vsts/work/1/s/src/selectors/tasks.js");
|
|
44
|
+
})();
|
|
45
|
+
;
|
|
46
|
+
(function () {
|
|
47
|
+
var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
|
|
48
|
+
leaveModule && leaveModule(module);
|
|
49
|
+
})();
|
|
50
|
+
;
|
|
51
|
+
(function () {
|
|
52
|
+
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
53
|
+
if (!reactHotLoader) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
reactHotLoader.register(tasksData, "tasksData", "/home/vsts/work/1/s/src/selectors/tasks.js");
|
|
57
|
+
reactHotLoader.register(taskInfo, "taskInfo", "/home/vsts/work/1/s/src/selectors/tasks.js");
|
|
58
|
+
reactHotLoader.register(taskLogs, "taskLogs", "/home/vsts/work/1/s/src/selectors/tasks.js");
|
|
59
|
+
})();
|
|
60
|
+
;
|
|
61
|
+
(function () {
|
|
62
|
+
var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
|
|
63
|
+
leaveModule && leaveModule(module);
|
|
64
|
+
})();
|
package/dist/sharedMessages.js
CHANGED
|
@@ -72,7 +72,7 @@ var sharedMessages = (0, _reactIntl.defineMessages)({
|
|
|
72
72
|
},
|
|
73
73
|
copyright: {
|
|
74
74
|
id: "orc-shared.copyright",
|
|
75
|
-
defaultMessage: "©
|
|
75
|
+
defaultMessage: "© {year} Orckestra Technologies Inc."
|
|
76
76
|
},
|
|
77
77
|
allRightsReserved: {
|
|
78
78
|
id: "orc-shared.allRightsReserved",
|
|
@@ -269,6 +269,22 @@ var sharedMessages = (0, _reactIntl.defineMessages)({
|
|
|
269
269
|
errorUnknown: {
|
|
270
270
|
id: "orc-shared.errorUnknown",
|
|
271
271
|
defaultMessage: "Unknown Error"
|
|
272
|
+
},
|
|
273
|
+
taskInProgressModalTitle: {
|
|
274
|
+
id: "orc-shared.taskInProgressModalTitle",
|
|
275
|
+
defaultMessage: "Task In Progress"
|
|
276
|
+
},
|
|
277
|
+
taskId: {
|
|
278
|
+
id: "orc-shared.taskId",
|
|
279
|
+
defaultMessage: "Task ID"
|
|
280
|
+
},
|
|
281
|
+
taskStatus: {
|
|
282
|
+
id: "orc-shared.taskStatus",
|
|
283
|
+
defaultMessage: "Status"
|
|
284
|
+
},
|
|
285
|
+
taskLogs: {
|
|
286
|
+
id: "orc-shared.taskLogs",
|
|
287
|
+
defaultMessage: "Logs"
|
|
272
288
|
}
|
|
273
289
|
});
|
|
274
290
|
var _default = sharedMessages;
|
package/dist/utils/flatten.js
CHANGED
|
@@ -13,8 +13,8 @@ exports.flattenObj = exports.flatten = void 0;
|
|
|
13
13
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
14
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
15
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
|
-
function _toPropertyKey(
|
|
17
|
-
function _toPrimitive(
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
17
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
18
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
19
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
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); }
|
|
@@ -5,7 +5,6 @@ exports.validationRules = exports.showError = exports.hasValidationErrors = expo
|
|
|
5
5
|
var _propertyValidator = require("./propertyValidator");
|
|
6
6
|
var _constants = require("../constants");
|
|
7
7
|
var _lodash = require("lodash");
|
|
8
|
-
var _validationRules;
|
|
9
8
|
(function () {
|
|
10
9
|
var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
|
|
11
10
|
enterModule && enterModule(module);
|
|
@@ -15,31 +14,31 @@ var _validationRules;
|
|
|
15
14
|
enterModule && enterModule(module);
|
|
16
15
|
})();
|
|
17
16
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
-
function _toPropertyKey(
|
|
19
|
-
function _toPrimitive(
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
19
|
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
21
20
|
return a;
|
|
22
21
|
};
|
|
23
22
|
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
24
23
|
return a;
|
|
25
24
|
};
|
|
26
|
-
var validationRules = exports.validationRules = (
|
|
25
|
+
var validationRules = exports.validationRules = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _constants.validationErrorTypes.fieldIsRequired, function (value) {
|
|
27
26
|
if (value === null || value === undefined) return false;
|
|
28
27
|
if ((0, _propertyValidator.isString)(value) && (0, _propertyValidator.isStringNullOrWhitespace)(value)) return false;
|
|
29
28
|
return true;
|
|
30
|
-
}),
|
|
29
|
+
}), _constants.validationErrorTypes.fieldMustBeValidEmail, function (value) {
|
|
31
30
|
if (!value) return true;
|
|
32
31
|
var regexRule = new RegExp("^(([\\w-]+[\\.\\+])+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|(([a-zA-Z0-9][a-zA-Z0-9\\.\\-]+[a-zA-Z0-9])|([a-zA-Z0-9]{1,}))\\.[a-zA-Z]{2,12})$");
|
|
33
32
|
return regexRule.test(value);
|
|
34
|
-
}),
|
|
33
|
+
}), _constants.validationErrorTypes.fieldMustBeValidPhoneNumber, function (value) {
|
|
35
34
|
if (!value) return true;
|
|
36
35
|
var regexRule = new RegExp("^(\\+?\\-?[ 0-9])*$");
|
|
37
36
|
return regexRule.test(value);
|
|
38
|
-
}),
|
|
37
|
+
}), _constants.validationErrorTypes.fieldMustBeValidPhoneExtension, function (value) {
|
|
39
38
|
if (!value) return true;
|
|
40
39
|
var regexRule = new RegExp("^(\\-?\\*?\\#?[ 0-9])*$");
|
|
41
40
|
return regexRule.test(value);
|
|
42
|
-
})
|
|
41
|
+
});
|
|
43
42
|
var showError = exports.showError = function showError(field) {
|
|
44
43
|
if (field == null) return false;
|
|
45
44
|
return field.error != null;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
+
exports.compareObjectPropertyDescending = exports.compareObjectProperty = void 0;
|
|
4
5
|
exports.getPropertyOrDefault = getPropertyOrDefault;
|
|
5
6
|
exports.getPropertyOrDefaultFromMap = getPropertyOrDefaultFromMap;
|
|
6
7
|
exports.isObjectContainsPropertyWithValue = exports.isObjectContainsPropertyWithAnyValue = void 0;
|
|
@@ -81,6 +82,34 @@ var isObjectContainsPropertyWithAnyValue = exports.isObjectContainsPropertyWithA
|
|
|
81
82
|
}
|
|
82
83
|
return false;
|
|
83
84
|
};
|
|
85
|
+
var compareObjectProperty = exports.compareObjectProperty = function compareObjectProperty(obj1, obj2, propertyName) {
|
|
86
|
+
if (propertyName == null || propertyName === "") {
|
|
87
|
+
return 0;
|
|
88
|
+
}
|
|
89
|
+
var val1 = obj1 == null ? void 0 : obj1[propertyName];
|
|
90
|
+
var val2 = obj2 == null ? void 0 : obj2[propertyName];
|
|
91
|
+
if (val1 === val2) {
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
if (val1 < val2) {
|
|
95
|
+
return -1;
|
|
96
|
+
}
|
|
97
|
+
return 1;
|
|
98
|
+
};
|
|
99
|
+
var compareObjectPropertyDescending = exports.compareObjectPropertyDescending = function compareObjectPropertyDescending(obj1, obj2, propertyName) {
|
|
100
|
+
if (propertyName == null || propertyName === "") {
|
|
101
|
+
return 0;
|
|
102
|
+
}
|
|
103
|
+
var val1 = obj1 == null ? void 0 : obj1[propertyName];
|
|
104
|
+
var val2 = obj2 == null ? void 0 : obj2[propertyName];
|
|
105
|
+
if (val1 === val2) {
|
|
106
|
+
return 0;
|
|
107
|
+
}
|
|
108
|
+
if (val1 > val2) {
|
|
109
|
+
return -1;
|
|
110
|
+
}
|
|
111
|
+
return 1;
|
|
112
|
+
};
|
|
84
113
|
;
|
|
85
114
|
(function () {
|
|
86
115
|
var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
|
|
@@ -93,6 +122,8 @@ var isObjectContainsPropertyWithAnyValue = exports.isObjectContainsPropertyWithA
|
|
|
93
122
|
reactHotLoader.register(getPropertyOrDefault, "getPropertyOrDefault", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
94
123
|
reactHotLoader.register(isObjectContainsPropertyWithValue, "isObjectContainsPropertyWithValue", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
95
124
|
reactHotLoader.register(isObjectContainsPropertyWithAnyValue, "isObjectContainsPropertyWithAnyValue", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
125
|
+
reactHotLoader.register(compareObjectProperty, "compareObjectProperty", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
126
|
+
reactHotLoader.register(compareObjectPropertyDescending, "compareObjectPropertyDescending", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
96
127
|
})();
|
|
97
128
|
;
|
|
98
129
|
(function () {
|
|
@@ -111,6 +142,8 @@ var isObjectContainsPropertyWithAnyValue = exports.isObjectContainsPropertyWithA
|
|
|
111
142
|
reactHotLoader.register(getPropertyOrDefault, "getPropertyOrDefault", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
112
143
|
reactHotLoader.register(isObjectContainsPropertyWithValue, "isObjectContainsPropertyWithValue", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
113
144
|
reactHotLoader.register(isObjectContainsPropertyWithAnyValue, "isObjectContainsPropertyWithAnyValue", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
145
|
+
reactHotLoader.register(compareObjectProperty, "compareObjectProperty", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
146
|
+
reactHotLoader.register(compareObjectPropertyDescending, "compareObjectPropertyDescending", "/home/vsts/work/1/s/src/utils/propertyHelper.js");
|
|
114
147
|
})();
|
|
115
148
|
;
|
|
116
149
|
(function () {
|
package/dist/utils/stripKey.js
CHANGED
|
@@ -12,8 +12,8 @@ exports.default = void 0;
|
|
|
12
12
|
})();
|
|
13
13
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
14
14
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
16
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
17
|
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
|
|
18
18
|
return a;
|
|
19
19
|
};
|
package/package.json
CHANGED
|
@@ -25,6 +25,13 @@ export const removeTab = (module, path) => ({
|
|
|
25
25
|
payload: { module, path },
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
+
export const REMOVE_MODULE_TABS = "REMOVE_MODULE_TABS";
|
|
29
|
+
|
|
30
|
+
export const removeModuleTabs = module => ({
|
|
31
|
+
type: REMOVE_MODULE_TABS,
|
|
32
|
+
payload: { module },
|
|
33
|
+
});
|
|
34
|
+
|
|
28
35
|
export const SET_HREF_CONFIG = "SET_HREF_CONFIG";
|
|
29
36
|
|
|
30
37
|
export const setHrefConfig = (prependPath, prependHref, otherConfigs = {}) => ({
|
|
@@ -5,6 +5,8 @@ import {
|
|
|
5
5
|
SET_HREF_CONFIG,
|
|
6
6
|
setClosingTabHandlerActions,
|
|
7
7
|
SET_CLOSING_TAB_HANDLER_ACTIONS,
|
|
8
|
+
removeModuleTabs,
|
|
9
|
+
REMOVE_MODULE_TABS,
|
|
8
10
|
} from "./navigation";
|
|
9
11
|
|
|
10
12
|
describe("removeTab", () => {
|
|
@@ -18,6 +20,16 @@ describe("removeTab", () => {
|
|
|
18
20
|
}));
|
|
19
21
|
});
|
|
20
22
|
|
|
23
|
+
describe("removeModuleTabs", () => {
|
|
24
|
+
it("creates a remove module tabs action", () =>
|
|
25
|
+
expect(removeModuleTabs, "when called with", ["module"], "to equal", {
|
|
26
|
+
type: REMOVE_MODULE_TABS,
|
|
27
|
+
payload: {
|
|
28
|
+
module: "module",
|
|
29
|
+
},
|
|
30
|
+
}));
|
|
31
|
+
});
|
|
32
|
+
|
|
21
33
|
describe("setHrefConfig", () => {
|
|
22
34
|
it("set href config action", () =>
|
|
23
35
|
expect(setHrefConfig, "when called with", ["/:scope/", "/scope/"], "to equal", {
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { makeActionTypes } from "./makeApiAction";
|
|
2
|
+
import makeOrcApiAction from "./makeOrcApiAction";
|
|
3
|
+
import {
|
|
4
|
+
deleteTaskInfoRequest,
|
|
5
|
+
getRequesterTasksInfoRequest,
|
|
6
|
+
getTaskExecutionLogsRequest,
|
|
7
|
+
getTaskInfoRequest,
|
|
8
|
+
} from "./requestsApi";
|
|
9
|
+
|
|
10
|
+
const GET_TASKINFO = "GET_TASKINFO";
|
|
11
|
+
|
|
12
|
+
export const [GET_TASKINFO_REQUEST, GET_TASKINFO_SUCCESS, GET_TASKINFO_FAILURE] = makeActionTypes(GET_TASKINFO);
|
|
13
|
+
|
|
14
|
+
export const getTaskInfo = taskId => makeOrcApiAction(GET_TASKINFO, getTaskInfoRequest.buildUrl(taskId));
|
|
15
|
+
|
|
16
|
+
export const GET_TASK_LIST = "GET_TASK_LIST";
|
|
17
|
+
|
|
18
|
+
export const ssrsDownloadFilterTaskNames = [
|
|
19
|
+
"Orckestra.Overture.Providers.CommerceEngine.Profiles.ProfileSchemaExportTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
20
|
+
"Orckestra.Overture.Providers.CommerceEngine.Profiles.ProfileSchemaImportTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
21
|
+
"Orckestra.Overture.Providers.CommerceEngine.Orders.ExportOrderSchemaTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
22
|
+
"Orckestra.Overture.Providers.CommerceEngine.Orders.ImportOrderSchemaTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
23
|
+
"Orckestra.Overture.Providers.CommerceEngine.Products.ImportExport.ExportProductsTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
24
|
+
"Orckestra.Overture.Providers.CommerceEngine.Products.ImportExport.ProductSchemaExportTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
25
|
+
"Orckestra.Overture.Providers.CommerceEngine.Products.ImportExport.ImportProductsTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
26
|
+
"OrckestraCommerce.DataExchange.Product.Tasks.ProductExportTask, OrckestraCommerce.DataExchange",
|
|
27
|
+
"Orckestra.Overture.Providers.CommerceEngine.Marketing.ExportCouponCodesTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
28
|
+
"Orckestra.Overture.Providers.CommerceEngine.Marketing.ImportCouponCodesTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
29
|
+
"Orckestra.Overture.Providers.CommerceEngine.Marketing.GenerateCouponTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
30
|
+
"Orckestra.Overture.Providers.CommerceEngine.Reporting.ReportExportTask, Orckestra.Overture.Providers.CommerceEngine",
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
export const [GET_TASK_LIST_REQUEST, GET_TASK_LIST_SUCCESS, GET_TASK_LIST_FAILURE] = makeActionTypes(GET_TASK_LIST);
|
|
34
|
+
|
|
35
|
+
export const getTaskList = (requester, filterTaskNames, lastModified = null, addToActiveRequests = true) =>
|
|
36
|
+
makeOrcApiAction(
|
|
37
|
+
GET_TASK_LIST,
|
|
38
|
+
getRequesterTasksInfoRequest.buildUrl({
|
|
39
|
+
filterTaskNames: filterTaskNames,
|
|
40
|
+
requester: requester,
|
|
41
|
+
lastModified: lastModified,
|
|
42
|
+
}),
|
|
43
|
+
getRequesterTasksInfoRequest.verb,
|
|
44
|
+
{
|
|
45
|
+
meta: {
|
|
46
|
+
addToActiveRequests,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
const DELETE_TASK = "DELETE_TASK";
|
|
52
|
+
|
|
53
|
+
export const [DELETE_TASK_REQUEST, DELETE_TASK_SUCCESS, DELETE_TASK_FAILURE] = makeActionTypes(DELETE_TASK);
|
|
54
|
+
|
|
55
|
+
export const deleteTask = taskId =>
|
|
56
|
+
makeOrcApiAction(DELETE_TASK, deleteTaskInfoRequest.buildUrl(taskId), deleteTaskInfoRequest.verb, {
|
|
57
|
+
meta: { taskId },
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
const GET_TASK_LOG = "GET_TASK_LOG";
|
|
61
|
+
|
|
62
|
+
export const [GET_TASK_LOG_REQUEST, GET_TASK_LOG_SUCCESS, GET_TASK_LOG_FAILURE] = makeActionTypes(GET_TASK_LOG);
|
|
63
|
+
|
|
64
|
+
export const getTaskLog = (taskId, addToActiveRequests = true) =>
|
|
65
|
+
makeOrcApiAction(GET_TASK_LOG, getTaskExecutionLogsRequest.buildUrl(taskId), getTaskExecutionLogsRequest.verb, {
|
|
66
|
+
meta: {
|
|
67
|
+
taskId,
|
|
68
|
+
addToActiveRequests,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
export const CLEAR_TASK_LOG = "CLEAR_TASK_LOG";
|
|
73
|
+
|
|
74
|
+
export const clearTaskLog = taskId => ({
|
|
75
|
+
type: CLEAR_TASK_LOG,
|
|
76
|
+
meta: { taskId },
|
|
77
|
+
});
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { RSAA } from "redux-api-middleware";
|
|
2
|
+
import {
|
|
3
|
+
GET_TASKINFO_REQUEST,
|
|
4
|
+
GET_TASKINFO_SUCCESS,
|
|
5
|
+
GET_TASKINFO_FAILURE,
|
|
6
|
+
getTaskInfo,
|
|
7
|
+
getTaskList,
|
|
8
|
+
getTaskLog,
|
|
9
|
+
ssrsDownloadFilterTaskNames,
|
|
10
|
+
deleteTask,
|
|
11
|
+
} from "./tasks";
|
|
12
|
+
|
|
13
|
+
jest.mock("../utils/buildUrl", () => {
|
|
14
|
+
const modExport = {};
|
|
15
|
+
modExport.loadConfig = () => Promise.resolve({});
|
|
16
|
+
modExport.buildUrl = (path = [], params = "") => "URL: " + path.join("/") + " " + JSON.stringify(params);
|
|
17
|
+
return modExport;
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
describe("getTaskInfo", () => {
|
|
21
|
+
it("creates a RSAA to get task info", () =>
|
|
22
|
+
expect(getTaskInfo, "when called with", ["1234"], "to exhaustively satisfy", {
|
|
23
|
+
[RSAA]: {
|
|
24
|
+
types: [GET_TASKINFO_REQUEST, GET_TASKINFO_SUCCESS, GET_TASKINFO_FAILURE],
|
|
25
|
+
endpoint: 'URL: tasks/1234 ""',
|
|
26
|
+
method: "GET",
|
|
27
|
+
body: undefined,
|
|
28
|
+
credentials: "include",
|
|
29
|
+
bailout: expect.it("to be a function"),
|
|
30
|
+
headers: {
|
|
31
|
+
Accept: "application/json; charset=utf-8",
|
|
32
|
+
"Content-Type": "application/json",
|
|
33
|
+
},
|
|
34
|
+
options: { redirect: "follow" },
|
|
35
|
+
},
|
|
36
|
+
}));
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
describe("getTaskLog", () => {
|
|
40
|
+
it("creates a RSAA to get task info", () =>
|
|
41
|
+
expect(getTaskLog, "when called with", ["1234"], "to exhaustively satisfy", {
|
|
42
|
+
[RSAA]: {
|
|
43
|
+
types: [
|
|
44
|
+
{ type: "GET_TASK_LOG_REQUEST", meta: { taskId: "1234", addToActiveRequests: true } },
|
|
45
|
+
{ type: "GET_TASK_LOG_SUCCESS", meta: { taskId: "1234", addToActiveRequests: true } },
|
|
46
|
+
{ type: "GET_TASK_LOG_FAILURE", meta: { taskId: "1234", addToActiveRequests: true } },
|
|
47
|
+
],
|
|
48
|
+
endpoint: 'URL: tasks/1234/logs ""',
|
|
49
|
+
method: "GET",
|
|
50
|
+
body: undefined,
|
|
51
|
+
credentials: "include",
|
|
52
|
+
bailout: expect.it("to be a function"),
|
|
53
|
+
headers: {
|
|
54
|
+
Accept: "application/json; charset=utf-8",
|
|
55
|
+
"Content-Type": "application/json",
|
|
56
|
+
},
|
|
57
|
+
options: { redirect: "follow" },
|
|
58
|
+
},
|
|
59
|
+
}));
|
|
60
|
+
|
|
61
|
+
it("creates a RSAA to get task info with addToActiveRequests false", () =>
|
|
62
|
+
expect(getTaskLog, "when called with", ["1234", false], "to exhaustively satisfy", {
|
|
63
|
+
[RSAA]: {
|
|
64
|
+
types: [
|
|
65
|
+
{ type: "GET_TASK_LOG_REQUEST", meta: { taskId: "1234", addToActiveRequests: false } },
|
|
66
|
+
{ type: "GET_TASK_LOG_SUCCESS", meta: { taskId: "1234", addToActiveRequests: false } },
|
|
67
|
+
{ type: "GET_TASK_LOG_FAILURE", meta: { taskId: "1234", addToActiveRequests: false } },
|
|
68
|
+
],
|
|
69
|
+
endpoint: 'URL: tasks/1234/logs ""',
|
|
70
|
+
method: "GET",
|
|
71
|
+
body: undefined,
|
|
72
|
+
credentials: "include",
|
|
73
|
+
bailout: expect.it("to be a function"),
|
|
74
|
+
headers: {
|
|
75
|
+
Accept: "application/json; charset=utf-8",
|
|
76
|
+
"Content-Type": "application/json",
|
|
77
|
+
},
|
|
78
|
+
options: { redirect: "follow" },
|
|
79
|
+
},
|
|
80
|
+
}));
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
describe("getTaskList", () => {
|
|
84
|
+
it("creates a RSAA to get task info", () => {
|
|
85
|
+
const expectedParameters = {
|
|
86
|
+
filterTaskNames: ssrsDownloadFilterTaskNames,
|
|
87
|
+
requester: "freddie",
|
|
88
|
+
lastModified: "date value",
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
expect(
|
|
92
|
+
getTaskList,
|
|
93
|
+
"when called with",
|
|
94
|
+
["freddie", ssrsDownloadFilterTaskNames, "date value", false],
|
|
95
|
+
"to exhaustively satisfy",
|
|
96
|
+
{
|
|
97
|
+
[RSAA]: {
|
|
98
|
+
types: [
|
|
99
|
+
{ type: "GET_TASK_LIST_REQUEST", meta: { addToActiveRequests: false } },
|
|
100
|
+
{ type: "GET_TASK_LIST_SUCCESS", meta: { addToActiveRequests: false } },
|
|
101
|
+
{ type: "GET_TASK_LIST_FAILURE", meta: { addToActiveRequests: false } },
|
|
102
|
+
],
|
|
103
|
+
endpoint: "URL: tasks " + JSON.stringify(expectedParameters),
|
|
104
|
+
method: "GET",
|
|
105
|
+
body: undefined,
|
|
106
|
+
credentials: "include",
|
|
107
|
+
bailout: expect.it("to be a function"),
|
|
108
|
+
headers: {
|
|
109
|
+
Accept: "application/json; charset=utf-8",
|
|
110
|
+
"Content-Type": "application/json",
|
|
111
|
+
},
|
|
112
|
+
options: { redirect: "follow" },
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
);
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it("creates a RSAA to get task info with null lastModified and true addToActiveRequests", () => {
|
|
119
|
+
const expectedParameters = {
|
|
120
|
+
filterTaskNames: ssrsDownloadFilterTaskNames,
|
|
121
|
+
requester: "freddie",
|
|
122
|
+
lastModified: null,
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
expect(getTaskList, "when called with", ["freddie", ssrsDownloadFilterTaskNames], "to exhaustively satisfy", {
|
|
126
|
+
[RSAA]: {
|
|
127
|
+
types: [
|
|
128
|
+
{ type: "GET_TASK_LIST_REQUEST", meta: { addToActiveRequests: true } },
|
|
129
|
+
{ type: "GET_TASK_LIST_SUCCESS", meta: { addToActiveRequests: true } },
|
|
130
|
+
{ type: "GET_TASK_LIST_FAILURE", meta: { addToActiveRequests: true } },
|
|
131
|
+
],
|
|
132
|
+
endpoint: "URL: tasks " + JSON.stringify(expectedParameters),
|
|
133
|
+
method: "GET",
|
|
134
|
+
body: undefined,
|
|
135
|
+
credentials: "include",
|
|
136
|
+
bailout: expect.it("to be a function"),
|
|
137
|
+
headers: {
|
|
138
|
+
Accept: "application/json; charset=utf-8",
|
|
139
|
+
"Content-Type": "application/json",
|
|
140
|
+
},
|
|
141
|
+
options: { redirect: "follow" },
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
describe("deleteTask", () => {
|
|
148
|
+
it("creates a RSAA to delete a task", () => {
|
|
149
|
+
expect(deleteTask, "when called with", ["1234"], "to exhaustively satisfy", {
|
|
150
|
+
[RSAA]: {
|
|
151
|
+
types: [
|
|
152
|
+
{ type: "DELETE_TASK_REQUEST", meta: { taskId: "1234" } },
|
|
153
|
+
{ type: "DELETE_TASK_SUCCESS", meta: { taskId: "1234" } },
|
|
154
|
+
{ type: "DELETE_TASK_FAILURE", meta: { taskId: "1234" } },
|
|
155
|
+
],
|
|
156
|
+
endpoint: 'URL: tasks/1234 ""',
|
|
157
|
+
method: "DELETE",
|
|
158
|
+
body: undefined,
|
|
159
|
+
credentials: "include",
|
|
160
|
+
bailout: expect.it("to be a function"),
|
|
161
|
+
headers: {
|
|
162
|
+
Accept: "application/json; charset=utf-8",
|
|
163
|
+
"Content-Type": "application/json",
|
|
164
|
+
},
|
|
165
|
+
options: { redirect: "follow" },
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
});
|
package/src/buildStore.js
CHANGED
|
@@ -20,6 +20,7 @@ import timezonesReducer from "./reducers/timezones";
|
|
|
20
20
|
import modulesReducer from "./reducers/modules";
|
|
21
21
|
import metadataReducer from "./reducers/metadata";
|
|
22
22
|
import requestStatesReducer from "./reducers/requestStates";
|
|
23
|
+
import tasksReducer from "./reducers/tasks";
|
|
23
24
|
|
|
24
25
|
window.BUILD_ID = BUILD_ID;
|
|
25
26
|
window.BUILD_NUMBER = BUILD_NUMBER;
|
|
@@ -65,6 +66,7 @@ const buildStore = (reducers, devOptions = {}) => {
|
|
|
65
66
|
modules: modulesReducer,
|
|
66
67
|
metadata: metadataReducer,
|
|
67
68
|
requestStates: requestStatesReducer,
|
|
69
|
+
tasks: tasksReducer,
|
|
68
70
|
});
|
|
69
71
|
const rootReducer = buildReducer(reducers);
|
|
70
72
|
|