cloudmr-ux 2.0.7 → 3.0.2

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 (206) hide show
  1. package/README.md +24 -24
  2. package/dist/CmrComponents/CmrButton/CmrButton.css +0 -0
  3. package/dist/CmrComponents/CmrButton/CmrButton.d.ts +4 -0
  4. package/dist/CmrComponents/CmrButton/CmrButton.js +30 -0
  5. package/dist/CmrComponents/CmrButton/index.d.ts +1 -0
  6. package/dist/CmrComponents/CmrButton/index.js +1 -0
  7. package/dist/CmrComponents/CmrCheckbox/CmrCheckbox.css +29 -0
  8. package/dist/CmrComponents/CmrCheckbox/CmrCheckbox.d.ts +14 -0
  9. package/dist/CmrComponents/CmrCheckbox/CmrCheckbox.js +30 -0
  10. package/dist/CmrComponents/CmrCheckbox/index.d.ts +1 -0
  11. package/dist/CmrComponents/CmrCheckbox/index.js +1 -0
  12. package/dist/CmrComponents/CmrColorPicker/CmrColorPicker.d.ts +8 -0
  13. package/dist/CmrComponents/CmrColorPicker/CmrColorPicker.js +29 -0
  14. package/dist/CmrComponents/CmrColorPicker/CmrColorPicker.scss +27 -0
  15. package/dist/CmrComponents/CmrInput/CmrInput.css +27 -0
  16. package/dist/CmrComponents/CmrInput/CmrInput.d.ts +17 -0
  17. package/dist/CmrComponents/CmrInput/CmrInput.js +29 -0
  18. package/dist/CmrComponents/CmrInput/index.d.ts +1 -0
  19. package/dist/CmrComponents/CmrInput/index.js +1 -0
  20. package/dist/CmrComponents/CmrRadioGroup/CmrRadioGroup.css +25 -0
  21. package/dist/CmrComponents/CmrRadioGroup/CmrRadioGroup.d.ts +15 -0
  22. package/dist/CmrComponents/CmrRadioGroup/CmrRadioGroup.js +37 -0
  23. package/dist/CmrComponents/CmrRadioGroup/index.d.ts +1 -0
  24. package/dist/CmrComponents/CmrRadioGroup/index.js +1 -0
  25. package/dist/CmrComponents/CmrSelect/CmrSelect.css +1 -0
  26. package/dist/CmrComponents/CmrSelect/CmrSelect.d.ts +24 -0
  27. package/dist/CmrComponents/CmrSelect/CmrSelect.js +46 -0
  28. package/dist/CmrComponents/CmrSelect/index.d.ts +1 -0
  29. package/dist/CmrComponents/CmrSelect/index.js +1 -0
  30. package/dist/CmrComponents/checkbox/Checkbox.css +8 -0
  31. package/dist/CmrComponents/checkbox/Checkbox.d.ts +15 -0
  32. package/dist/CmrComponents/checkbox/Checkbox.js +25 -0
  33. package/dist/CmrComponents/collapse/Collapse.css +3 -0
  34. package/dist/CmrComponents/collapse/Collapse.d.ts +18 -0
  35. package/dist/CmrComponents/collapse/Collapse.js +87 -0
  36. package/dist/CmrComponents/dialogue/Confirmation.d.ts +20 -0
  37. package/dist/CmrComponents/dialogue/Confirmation.js +36 -0
  38. package/dist/CmrComponents/dialogue/DeletionDialog.d.ts +4 -0
  39. package/dist/CmrComponents/dialogue/DeletionDialog.js +39 -0
  40. package/dist/CmrComponents/dialogue/EditConfirmation.d.ts +13 -0
  41. package/dist/CmrComponents/dialogue/EditConfirmation.js +45 -0
  42. package/dist/CmrComponents/double-slider/DualSlider.d.ts +21 -0
  43. package/dist/CmrComponents/double-slider/DualSlider.js +152 -0
  44. package/dist/CmrComponents/double-slider/InvertibleDualSlider.d.ts +24 -0
  45. package/dist/CmrComponents/double-slider/InvertibleDualSlider.js +174 -0
  46. package/dist/CmrComponents/gui-slider/ControlledSlider.d.ts +9 -0
  47. package/dist/CmrComponents/gui-slider/ControlledSlider.js +96 -0
  48. package/dist/CmrComponents/gui-slider/Slider.d.ts +20 -0
  49. package/dist/CmrComponents/gui-slider/Slider.js +127 -0
  50. package/dist/CmrComponents/header/Header.d.ts +17 -0
  51. package/dist/CmrComponents/header/Header.js +90 -0
  52. package/dist/CmrComponents/header/Header.scss +32 -0
  53. package/dist/CmrComponents/input-number/InputNumber.css +0 -0
  54. package/dist/CmrComponents/input-number/InputNumber.d.ts +17 -0
  55. package/dist/CmrComponents/input-number/InputNumber.js +30 -0
  56. package/dist/CmrComponents/label/Label.css +13 -0
  57. package/dist/CmrComponents/label/Label.d.ts +9 -0
  58. package/dist/CmrComponents/label/Label.js +18 -0
  59. package/dist/CmrComponents/panel/Panel.css +5 -0
  60. package/dist/CmrComponents/panel/Panel.d.ts +12 -0
  61. package/dist/CmrComponents/panel/Panel.js +42 -0
  62. package/dist/CmrComponents/rename/edit.d.ts +7 -0
  63. package/dist/CmrComponents/rename/edit.js +117 -0
  64. package/dist/CmrComponents/select-upload/SelectUpload.css +26 -0
  65. package/dist/CmrComponents/select-upload/SelectUpload.d.ts +33 -0
  66. package/dist/CmrComponents/select-upload/SelectUpload.js +90 -0
  67. package/dist/CmrComponents/tk-dualrange/TKDualRange.d.ts +17 -0
  68. package/dist/CmrComponents/tk-dualrange/TKDualRange.js +65 -0
  69. package/dist/CmrComponents/tk-dualrange/tk-dual-range.css +140 -0
  70. package/dist/CmrComponents/tooltip/Tooltip.css +0 -0
  71. package/dist/CmrComponents/tooltip/Tooltip.d.ts +18 -0
  72. package/dist/CmrComponents/tooltip/Tooltip.js +30 -0
  73. package/dist/CmrComponents/upload/Upload.css +5 -0
  74. package/dist/CmrComponents/upload/Upload.d.ts +80 -0
  75. package/dist/CmrComponents/upload/Upload.js +185 -0
  76. package/dist/CmrComponents/upload/UploadWindow.d.ts +15 -0
  77. package/dist/CmrComponents/upload/UploadWindow.js +286 -0
  78. package/dist/CmrTable/CmrTable.css +26 -0
  79. package/dist/CmrTable/CmrTable.d.ts +13 -0
  80. package/dist/CmrTable/CmrTable.js +47 -0
  81. package/dist/CmrTabs/CmrTabs.d.ts +7 -0
  82. package/dist/CmrTabs/CmrTabs.js +64 -0
  83. package/dist/CmrTabs/tab.model.d.ts +12 -0
  84. package/dist/CmrTabs/tab.model.js +1 -0
  85. package/dist/core/app/main/Main.d.ts +6 -0
  86. package/dist/core/app/main/Main.js +18 -0
  87. package/dist/core/app/results/Logs.d.ts +1 -0
  88. package/dist/core/app/results/Logs.js +33 -0
  89. package/dist/core/app/results/PreprocessJob.d.ts +1 -0
  90. package/dist/core/app/results/PreprocessJob.js +100 -0
  91. package/dist/core/app/results/Results.d.ts +15 -0
  92. package/dist/core/app/results/Results.js +372 -0
  93. package/dist/core/app/results/Results.scss +92 -0
  94. package/dist/core/app/results/Rois.d.ts +11 -0
  95. package/dist/core/app/results/Rois.js +269 -0
  96. package/dist/core/app/settings/Settings.d.ts +1 -0
  97. package/dist/core/app/settings/Settings.js +109 -0
  98. package/dist/core/app/signin/ForgotPassword.d.ts +3 -0
  99. package/dist/core/app/signin/ForgotPassword.js +142 -0
  100. package/dist/core/app/signin/Register.d.ts +3 -0
  101. package/dist/core/app/signin/Register.js +126 -0
  102. package/dist/core/app/signin/Signin.d.ts +5 -0
  103. package/dist/core/app/signin/Signin.js +84 -0
  104. package/dist/core/app/signin/Signin.scss +86 -0
  105. package/dist/core/app/upload/Upload.d.ts +3 -0
  106. package/dist/core/app/upload/Upload.js +261 -0
  107. package/dist/core/app/upload/Upload.scss +0 -0
  108. package/dist/core/common/components/CmrColorPicker/CmrColorPicker.d.ts +8 -0
  109. package/dist/core/common/components/CmrColorPicker/CmrColorPicker.js +29 -0
  110. package/dist/core/common/components/CmrColorPicker/CmrColorPicker.scss +27 -0
  111. package/dist/core/common/components/NiivueTools/Niivue.css +8 -0
  112. package/dist/core/common/components/NiivueTools/Niivue.d.ts +14 -0
  113. package/dist/core/common/components/NiivueTools/Niivue.js +1270 -0
  114. package/dist/core/common/components/NiivueTools/NiivuePatcher.js +1875 -0
  115. package/dist/core/common/components/NiivueTools/components/ColorPicker.d.ts +5 -0
  116. package/dist/core/common/components/NiivueTools/components/ColorPicker.js +68 -0
  117. package/dist/core/common/components/NiivueTools/components/DrawPlatte.d.ts +10 -0
  118. package/dist/core/common/components/NiivueTools/components/DrawPlatte.js +88 -0
  119. package/dist/core/common/components/NiivueTools/components/DrawToolKit.d.ts +32 -0
  120. package/dist/core/common/components/NiivueTools/components/DrawToolKit.js +164 -0
  121. package/dist/core/common/components/NiivueTools/components/EraserPlatte.d.ts +10 -0
  122. package/dist/core/common/components/NiivueTools/components/EraserPlatte.js +43 -0
  123. package/dist/core/common/components/NiivueTools/components/Layer.d.ts +10 -0
  124. package/dist/core/common/components/NiivueTools/components/Layer.js +117 -0
  125. package/dist/core/common/components/NiivueTools/components/LayersPanel.d.ts +8 -0
  126. package/dist/core/common/components/NiivueTools/components/LayersPanel.js +108 -0
  127. package/dist/core/common/components/NiivueTools/components/LocationTable.d.ts +9 -0
  128. package/dist/core/common/components/NiivueTools/components/LocationTable.js +42 -0
  129. package/dist/core/common/components/NiivueTools/components/MaskPlatte.d.ts +10 -0
  130. package/dist/core/common/components/NiivueTools/components/MaskPlatte.js +123 -0
  131. package/dist/core/common/components/NiivueTools/components/NiivuePanel.d.ts +34 -0
  132. package/dist/core/common/components/NiivueTools/components/NiivuePanel.js +305 -0
  133. package/dist/core/common/components/NiivueTools/components/NumberPicker.d.ts +8 -0
  134. package/dist/core/common/components/NiivueTools/components/NumberPicker.js +40 -0
  135. package/dist/core/common/components/NiivueTools/components/SettingsPanel.d.ts +7 -0
  136. package/dist/core/common/components/NiivueTools/components/SettingsPanel.js +30 -0
  137. package/dist/core/common/components/NiivueTools/components/Switch.d.ts +5 -0
  138. package/dist/core/common/components/NiivueTools/components/Switch.js +26 -0
  139. package/dist/core/common/components/NiivueTools/components/Toolbar.d.ts +40 -0
  140. package/dist/core/common/components/NiivueTools/components/Toolbar.js +184 -0
  141. package/dist/core/common/components/NiivueTools/components/Toolbar.scss +39 -0
  142. package/dist/core/common/components/NiivueTools/components/stats.d.ts +2 -0
  143. package/dist/core/common/components/NiivueTools/components/stats.js +13 -0
  144. package/dist/core/common/components/NiivueTools/index.css +14 -0
  145. package/dist/core/common/components/NiivueTools/util.js +309 -0
  146. package/dist/core/common/components/footer/Footer.d.ts +3 -0
  147. package/dist/core/common/components/footer/Footer.js +20 -0
  148. package/dist/core/common/components/footer/Footer.scss +5 -0
  149. package/dist/core/common/utilities/AuthenticatedRequests.d.ts +16 -0
  150. package/dist/core/common/utilities/AuthenticatedRequests.js +158 -0
  151. package/dist/core/common/utilities/CalendarHelper.d.ts +5 -0
  152. package/dist/core/common/utilities/CalendarHelper.js +27 -0
  153. package/dist/core/common/utilities/DownloadFromText.d.ts +3 -0
  154. package/dist/core/common/utilities/DownloadFromText.js +20 -0
  155. package/dist/core/common/utilities/StoreToRequest.d.ts +1 -0
  156. package/dist/core/common/utilities/StoreToRequest.js +4 -0
  157. package/dist/core/common/utilities/SystemUtilities.d.ts +4 -0
  158. package/dist/core/common/utilities/SystemUtilities.js +79 -0
  159. package/dist/core/common/utilities/file-transformation/anonymize.d.ts +1 -0
  160. package/dist/core/common/utilities/file-transformation/anonymize.js +114 -0
  161. package/dist/core/common/utilities/file-transformation/utilities.d.ts +2 -0
  162. package/dist/core/common/utilities/file-transformation/utilities.js +23 -0
  163. package/dist/core/common/utilities/index.d.ts +25 -0
  164. package/dist/core/common/utilities/index.js +118 -0
  165. package/dist/core/common/utilities/parse-jwt.d.ts +1 -0
  166. package/dist/core/common/utilities/parse-jwt.js +14 -0
  167. package/dist/core/components/PasswordRequirements.d.ts +7 -0
  168. package/dist/core/components/PasswordRequirements.js +30 -0
  169. package/dist/core/config/AppConfig.d.ts +5 -0
  170. package/dist/core/config/AppConfig.js +42 -0
  171. package/dist/core/config/types.d.ts +40 -0
  172. package/dist/core/config/types.js +1 -0
  173. package/dist/core/features/authenticate/authenticateActionCreation.d.ts +46 -0
  174. package/dist/core/features/authenticate/authenticateActionCreation.js +326 -0
  175. package/dist/core/features/authenticate/authenticateSlice.d.ts +45 -0
  176. package/dist/core/features/authenticate/authenticateSlice.js +203 -0
  177. package/dist/core/features/data/dataActionCreation.d.ts +40 -0
  178. package/dist/core/features/data/dataActionCreation.js +340 -0
  179. package/dist/core/features/data/dataSlice.d.ts +37 -0
  180. package/dist/core/features/data/dataSlice.js +87 -0
  181. package/dist/core/features/jobs/jobActionCreation.d.ts +35 -0
  182. package/dist/core/features/jobs/jobActionCreation.js +242 -0
  183. package/dist/core/features/jobs/jobsSlice.d.ts +57 -0
  184. package/dist/core/features/jobs/jobsSlice.js +54 -0
  185. package/dist/core/features/rois/resultActionCreation.d.ts +21 -0
  186. package/dist/core/features/rois/resultActionCreation.js +114 -0
  187. package/dist/core/features/rois/resultSlice.d.ts +24 -0
  188. package/dist/core/features/rois/resultSlice.js +68 -0
  189. package/dist/core/features/rois/roiTypes.d.ts +44 -0
  190. package/dist/core/features/rois/roiTypes.js +1 -0
  191. package/dist/core/features/setup/setupActionCreation.d.ts +7 -0
  192. package/dist/core/features/setup/setupActionCreation.js +100 -0
  193. package/dist/core/index.d.ts +22 -0
  194. package/dist/core/index.js +27 -0
  195. package/dist/core/store/configureStore.d.ts +13 -0
  196. package/dist/core/store/configureStore.js +38 -0
  197. package/dist/core/store/hooks.d.ts +11 -0
  198. package/dist/core/store/hooks.js +5 -0
  199. package/dist/core/utils/passwordValidation.d.ts +25 -0
  200. package/dist/core/utils/passwordValidation.js +19 -0
  201. package/dist/index.d.ts +29 -329
  202. package/dist/index.js +26 -1402
  203. package/dist/style.css +47 -0
  204. package/package.json +309 -41
  205. package/dist/index.css +0 -170
  206. package/dist/index.mjs +0 -1354
@@ -0,0 +1,100 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { createAsyncThunk } from "@reduxjs/toolkit";
38
+ import { getUpstreamJobs } from "../jobs/jobActionCreation";
39
+ import { getEndpoints } from "../../config/AppConfig";
40
+ import { AuthenticatedHttpClient } from "../../common/utilities/AuthenticatedRequests";
41
+ // import { API_TOKEN } from "../../env";
42
+ export var submitJobs = createAsyncThunk("SUBMIT_JOBS", function (_a, thunkAPI) {
43
+ var jobQueue = _a.jobQueue;
44
+ return __awaiter(void 0, void 0, void 0, function () {
45
+ var endpoints, responses, _i, jobQueue_1, job, job_setup_copy, _b, _c, file, res;
46
+ return __generator(this, function (_d) {
47
+ switch (_d.label) {
48
+ case 0:
49
+ endpoints = getEndpoints();
50
+ responses = [];
51
+ _i = 0, jobQueue_1 = jobQueue;
52
+ _d.label = 1;
53
+ case 1:
54
+ if (!(_i < jobQueue_1.length)) return [3 /*break*/, 4];
55
+ job = jobQueue_1[_i];
56
+ if (job === undefined) {
57
+ return [3 /*break*/, 3];
58
+ }
59
+ console.log(job);
60
+ console.log(JSON.stringify(job.setup));
61
+ job_setup_copy = JSON.parse(JSON.stringify(job.setup));
62
+ try {
63
+ for (_b = 0, _c = job_setup_copy.task.files; _b < _c.length; _b++) {
64
+ file = _c[_b];
65
+ if (job_setup_copy.task.options[file] && job_setup_copy.task.options[file].hasOwnProperty("link")) {
66
+ delete job_setup_copy.task.options[file].link;
67
+ }
68
+ }
69
+ }
70
+ catch (e) {
71
+ console.log("Error deleting link property from file options");
72
+ console.log(e);
73
+ }
74
+ console.log(job_setup_copy);
75
+ return [4 /*yield*/, AuthenticatedHttpClient.post(endpoints.JOBS_API, job_setup_copy, {
76
+ headers: {
77
+ accept: "*/*",
78
+ // "X-Api-Key": API_TOKEN,
79
+ "Content-Type": "application/json"
80
+ }
81
+ })];
82
+ case 2:
83
+ res = _d.sent();
84
+ responses.push({
85
+ id: job.id,
86
+ status: res.status
87
+ });
88
+ _d.label = 3;
89
+ case 3:
90
+ _i++;
91
+ return [3 /*break*/, 1];
92
+ case 4:
93
+ // //Update upstream jobs right after submission
94
+ thunkAPI.dispatch(getUpstreamJobs());
95
+ // Return whether the submission was successful
96
+ return [2 /*return*/, responses];
97
+ }
98
+ });
99
+ });
100
+ });
@@ -0,0 +1,22 @@
1
+ export * from "./config/types";
2
+ export * from "./config/AppConfig";
3
+ export { authenticateSlice, setInitialTokens, resetAuth, type AuthenticateToken, type AuthenticateState, } from "./features/authenticate/authenticateSlice";
4
+ export { dataSlice, renameData, deleteData, type UploadedFile, } from "./features/data/dataSlice";
5
+ export { getLoggedInToken, refreshAccessToken, getProfile, signOut, getFineGrainToken, webSignin, type SigninDataType, } from "./features/authenticate/authenticateActionCreation";
6
+ export { getUploadedData, renameUploadedData, deleteUploadedData, uploadData, type LambdaFile, } from "./features/data/dataActionCreation";
7
+ export * from "./common/utilities/CalendarHelper";
8
+ export * from "./common/utilities/DownloadFromText";
9
+ export * from "./common/utilities/StoreToRequest";
10
+ export * from "./common/utilities/file-transformation/anonymize";
11
+ export * from "./common/utilities/parse-jwt";
12
+ export * from "./common/utilities/SystemUtilities";
13
+ export * from "./common/utilities/AuthenticatedRequests";
14
+ export * from "./store/configureStore";
15
+ export * from "./store/hooks";
16
+ export * from "./features/jobs/jobsSlice";
17
+ export * from "./features/jobs/jobActionCreation";
18
+ export * from "./features/rois/resultActionCreation";
19
+ export * from "./features/rois/resultSlice";
20
+ export * from "./features/rois/roiTypes";
21
+ export * from "./app/signin/Signin";
22
+ export { default as Main } from "./app/main/Main";
@@ -0,0 +1,27 @@
1
+ // Configuration interfaces
2
+ export * from "./config/types";
3
+ export * from "./config/AppConfig";
4
+ // Redux slices (available)
5
+ export { authenticateSlice, setInitialTokens, resetAuth, } from "./features/authenticate/authenticateSlice";
6
+ export { dataSlice, renameData, deleteData, } from "./features/data/dataSlice";
7
+ // Action creators (available)
8
+ export { getLoggedInToken, refreshAccessToken, getProfile, signOut, getFineGrainToken, webSignin, } from "./features/authenticate/authenticateActionCreation";
9
+ export { getUploadedData, renameUploadedData, deleteUploadedData, uploadData, } from "./features/data/dataActionCreation";
10
+ // Utilities
11
+ export * from "./common/utilities/CalendarHelper";
12
+ export * from "./common/utilities/DownloadFromText";
13
+ export * from "./common/utilities/StoreToRequest";
14
+ export * from "./common/utilities/file-transformation/anonymize";
15
+ export * from "./common/utilities/parse-jwt";
16
+ export * from "./common/utilities/SystemUtilities";
17
+ export * from "./common/utilities/AuthenticatedRequests";
18
+ // Store configuration
19
+ export * from "./store/configureStore";
20
+ export * from "./store/hooks";
21
+ export * from "./features/jobs/jobsSlice";
22
+ export * from "./features/jobs/jobActionCreation";
23
+ export * from "./features/rois/resultActionCreation";
24
+ export * from "./features/rois/resultSlice";
25
+ export * from "./features/rois/roiTypes";
26
+ export * from "./app/signin/Signin";
27
+ export { default as Main } from "./app/main/Main";
@@ -0,0 +1,13 @@
1
+ /// <reference types="redux-persist/types/persistReducer" />
2
+ /// <reference types="redux-persist/types/types" />
3
+ /// <reference types="redux-persist" />
4
+ export declare function createCloudMRStore(additionalReducers?: any): {
5
+ store: import("@reduxjs/toolkit").EnhancedStore<{
6
+ [x: string]: unknown;
7
+ } & import("redux-persist/es/persistReducer").PersistPartial, import("redux").Action<string>, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
8
+ dispatch: {};
9
+ }, {}>, import("redux").StoreEnhancer<{}, {}>]>>;
10
+ persistor: import("redux-persist").Persistor;
11
+ };
12
+ export type RootState = ReturnType<ReturnType<typeof createCloudMRStore>['store']['getState']>;
13
+ export type AppDispatch = ReturnType<typeof createCloudMRStore>['store']['dispatch'];
@@ -0,0 +1,38 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { configureStore, combineReducers } from '@reduxjs/toolkit';
13
+ import { persistStore, persistReducer } from 'redux-persist';
14
+ import storage from 'redux-persist/lib/storage';
15
+ import { authenticateSlice } from '../features/authenticate/authenticateSlice';
16
+ import { dataSlice } from '../features/data/dataSlice';
17
+ // This will be called by the app to create the store with app-specific configuration
18
+ export function createCloudMRStore(additionalReducers) {
19
+ if (additionalReducers === void 0) { additionalReducers = {}; }
20
+ var rootReducer = combineReducers(__assign({ authenticate: authenticateSlice.reducer, data: dataSlice.reducer }, additionalReducers));
21
+ var persistConfig = {
22
+ key: 'root',
23
+ storage: storage
24
+ };
25
+ var persistedReducer = persistReducer(persistConfig, rootReducer);
26
+ var store = configureStore({
27
+ reducer: persistedReducer,
28
+ middleware: function (getDefaultMiddleware) {
29
+ return getDefaultMiddleware({
30
+ serializableCheck: {
31
+ ignoredActions: ['persist/PERSIST', 'persist/REHYDRATE']
32
+ }
33
+ });
34
+ }
35
+ });
36
+ var persistor = persistStore(store);
37
+ return { store: store, persistor: persistor };
38
+ }
@@ -0,0 +1,11 @@
1
+ import { TypedUseSelectorHook } from 'react-redux';
2
+ import type { ThunkDispatch } from '@reduxjs/toolkit';
3
+ import type { AnyAction } from 'redux';
4
+ import type { AuthenticateState } from '../features/authenticate/authenticateSlice';
5
+ import { dataSlice } from '../features/data/dataSlice';
6
+ export interface CloudMRCoreState {
7
+ authenticate: AuthenticateState;
8
+ data: ReturnType<typeof dataSlice.reducer>;
9
+ }
10
+ export declare const useAppDispatch: () => ThunkDispatch<any, undefined, AnyAction>;
11
+ export declare const useAppSelector: TypedUseSelectorHook<any>;
@@ -0,0 +1,5 @@
1
+ import { useDispatch, useSelector } from 'react-redux';
2
+ // Default hooks for cloudmr-ux components (using base state)
3
+ // Apps can override these by importing from their own hooks file
4
+ export var useAppDispatch = useDispatch;
5
+ export var useAppSelector = useSelector;
@@ -0,0 +1,25 @@
1
+ export interface PasswordValidation {
2
+ minLength: boolean;
3
+ hasNumber: boolean;
4
+ hasSpecial: boolean;
5
+ hasUppercase: boolean;
6
+ hasLowercase: boolean;
7
+ }
8
+ export declare const validatePassword: (password: string) => PasswordValidation;
9
+ export declare const isPasswordValid: (validation: PasswordValidation) => boolean;
10
+ export declare const getPasswordRequirements: () => readonly [{
11
+ readonly key: "minLength";
12
+ readonly label: "Minimum 8 characters";
13
+ }, {
14
+ readonly key: "hasNumber";
15
+ readonly label: "Contains at least 1 number";
16
+ }, {
17
+ readonly key: "hasSpecial";
18
+ readonly label: "Contains at least 1 special character";
19
+ }, {
20
+ readonly key: "hasUppercase";
21
+ readonly label: "Contains at least 1 uppercase letter";
22
+ }, {
23
+ readonly key: "hasLowercase";
24
+ readonly label: "Contains at least 1 lowercase letter";
25
+ }];
@@ -0,0 +1,19 @@
1
+ export var validatePassword = function (password) {
2
+ return {
3
+ minLength: password.length >= 8,
4
+ hasNumber: /\d/.test(password),
5
+ hasSpecial: /[!@#$%^&*(),.?":{}|<>]/.test(password),
6
+ hasUppercase: /[A-Z]/.test(password),
7
+ hasLowercase: /[a-z]/.test(password)
8
+ };
9
+ };
10
+ export var isPasswordValid = function (validation) {
11
+ return Object.values(validation).every(function (valid) { return valid; });
12
+ };
13
+ export var getPasswordRequirements = function () { return [
14
+ { key: 'minLength', label: 'Minimum 8 characters' },
15
+ { key: 'hasNumber', label: 'Contains at least 1 number' },
16
+ { key: 'hasSpecial', label: 'Contains at least 1 special character' },
17
+ { key: 'hasUppercase', label: 'Contains at least 1 uppercase letter' },
18
+ { key: 'hasLowercase', label: 'Contains at least 1 lowercase letter' },
19
+ ]; };
package/dist/index.d.ts CHANGED
@@ -1,329 +1,29 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ButtonProps, SxProps, Theme } from '@mui/material';
3
- import * as React from 'react';
4
- import React__default, { ReactNode, ChangeEvent, CSSProperties, FC } from 'react';
5
- import { SizeType } from 'antd/lib/config-provider/SizeContext';
6
- import { CollapsibleType } from 'antd/es/collapse/CollapsePanel';
7
- import { ExpandIconPosition } from 'antd/es/collapse/Collapse';
8
- import { AxiosRequestConfig, AxiosResponse } from 'axios';
9
- import { TooltipPlacement } from 'antd/lib/tooltip';
10
- import { DataGridProps } from '@mui/x-data-grid';
11
-
12
- declare const CmrButton: (props: ButtonProps) => react_jsx_runtime.JSX.Element;
13
-
14
- interface CmrInputProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix' | 'type'> {
15
- defaultValue?: string;
16
- id?: string;
17
- maxLength?: number;
18
- size?: SizeType;
19
- value?: string;
20
- type?: any;
21
- prefix?: React__default.ReactNode;
22
- bordered?: boolean;
23
- onChange?: (e: React__default.ChangeEvent<HTMLInputElement>) => void;
24
- onPressEnter?: (e: React__default.KeyboardEvent<HTMLInputElement>) => void;
25
- }
26
- declare const CmrInput: (props: CmrInputProps) => react_jsx_runtime.JSX.Element;
27
-
28
- interface CmrRadioOption {
29
- label: string;
30
- value: string;
31
- disabled?: boolean;
32
- }
33
- interface CmrRadioProps {
34
- options: CmrRadioOption[];
35
- groupLabel?: string;
36
- defaultValue?: string;
37
- onChange?: (value: string) => void;
38
- }
39
- declare const CmrRadioGroup: React__default.FC<CmrRadioProps>;
40
-
41
- interface Option {
42
- label: string;
43
- value: string;
44
- disabled?: boolean;
45
- }
46
- interface CmrSelectProps {
47
- options: Option[];
48
- disabled?: boolean;
49
- /** Controlled usage (optional) */
50
- value?: string;
51
- onChange?: (value: string) => void;
52
- /** Uncontrolled usage (optional) */
53
- defaultValue?: string;
54
- /** Layout/Styling */
55
- fullWidth?: boolean;
56
- sx?: any;
57
- className?: string;
58
- /** Pass-through kept for compatibility */
59
- SelectProps?: Record<string, any>;
60
- }
61
- declare const CmrSelect: React__default.FC<CmrSelectProps>;
62
-
63
- interface CmrCollapseProps {
64
- accordion?: boolean;
65
- activeKey?: Array<string | number> | number;
66
- bordered?: boolean;
67
- collapsible?: CollapsibleType;
68
- defaultActiveKey?: Array<string | number>;
69
- destroyInactivePanel?: boolean;
70
- expandIconPosition?: ExpandIconPosition;
71
- ghost?: boolean;
72
- onChange?: (key: Array<string | number> | number) => void;
73
- children?: JSX.Element[] | JSX.Element;
74
- }
75
- declare const CmrCollapse: (props: CmrCollapseProps) => react_jsx_runtime.JSX.Element;
76
-
77
- interface CmrPanelProps extends React__default.HTMLAttributes<HTMLDivElement> {
78
- activeKey?: string | string[];
79
- header: string | undefined;
80
- children: ReactNode;
81
- panelKey?: number;
82
- onToggle?: (key: number | undefined) => void;
83
- expanded?: boolean;
84
- cardProps?: React__default.HTMLAttributes<HTMLDivElement>;
85
- }
86
- declare const CmrPanel: (props: CmrPanelProps) => react_jsx_runtime.JSX.Element;
87
-
88
- interface LambdaFile {
89
- "filename": string;
90
- "filetype": string;
91
- "filesize": string;
92
- "filemd5": string;
93
- "file": File;
94
- }
95
- /**
96
- * Consists of general settings for upload component
97
- * functionalities and call back methods evoked
98
- * for specific interactions
99
- */
100
- interface CMRUploadProps extends React__default.HTMLAttributes<HTMLDivElement> {
101
- retains?: boolean;
102
- maxCount: number;
103
- changeNameAfterUpload?: boolean;
104
- onRemove?: (removedFile: File) => void;
105
- /**
106
- * Allows access to file content prior to uploading.
107
- * If returned value from the method is false,
108
- * prevents the file upload process. Called before
109
- * create payload.
110
- * @param file
111
- */
112
- beforeUpload?: (file: File) => Promise<boolean>;
113
- /**
114
- * This or uploadHandler must be specified
115
- * @param file
116
- * @param fileAlias
117
- * @param fileDatabase
118
- */
119
- createPayload?: (file: File, fileAlias: string, fileDatabase: string) => (Promise<{
120
- destination: string;
121
- lambdaFile: LambdaFile;
122
- file: File;
123
- config: AxiosRequestConfig;
124
- } | undefined>);
125
- onUploadProgressUpdate?: (loaded: number, total: number) => void | undefined;
126
- onUploaded: (res: AxiosResponse, file: File) => Promise<void> | void;
127
- sx?: SxProps<Theme> | undefined;
128
- rest?: any;
129
- fileExtension?: string | string[];
130
- uploadStarted?: () => void;
131
- uploadEnded?: () => void;
132
- uploadFailed?: () => void;
133
- uploadProgressed?: (progress: number) => void;
134
- /**
135
- * Override this to replace the default behavior of uploading
136
- * @param file
137
- * @param fileAlias
138
- * @param fileDatabase
139
- * @param onProgress
140
- * @param onUploaded
141
- */
142
- uploadHandler?: (file: File, fileAlias: string, fileDatabase: string, onProgress?: (progress: number) => void, onUploaded?: (res: AxiosResponse, file: File) => void) => Promise<number>;
143
- fullWidth?: boolean;
144
- style?: any;
145
- /**
146
- * Displays upload button instead of uploaded file after upload
147
- * if set to reusable
148
- */
149
- reusable?: boolean;
150
- uploadButtonName?: string;
151
- /**
152
- * Processes the uploaded file before performing the upload;
153
- * @return file/undefined/statuscode undefined to fail the upload, return File
154
- * to pass the processed file, return number to indicate error code
155
- * and return to upload window.
156
- * @param file
157
- */
158
- preprocess?: (file: File) => Promise<File | undefined | number>;
159
- color?: "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning";
160
- }
161
- declare const CmrUpload: {
162
- (props: CMRUploadProps): react_jsx_runtime.JSX.Element;
163
- defaultProps: {
164
- changeNameAfterUpload: boolean;
165
- };
166
- };
167
-
168
- declare function CmrNameDialog(props: {
169
- originalName: string;
170
- renamingCallback: (alias: string) => Promise<boolean>;
171
- open: boolean;
172
- setOpen: (open: boolean) => void;
173
- }): react_jsx_runtime.JSX.Element;
174
-
175
- type ExtraButton = {
176
- text: string;
177
- color?: "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning";
178
- onClick: () => void;
179
- };
180
- declare function CmrConfirmation({ name, message, cancelText, confirmText, color, open, setOpen, confirmCallback, cancelCallback, cancellable, width, extraButtons, }: {
181
- name: string | undefined;
182
- message: string | undefined;
183
- cancelText?: string;
184
- confirmText?: string;
185
- color?: "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning";
186
- open: boolean;
187
- setOpen: (open: boolean) => void;
188
- confirmCallback?: () => void;
189
- cancelCallback?: () => void;
190
- cancellable?: boolean;
191
- width?: number;
192
- extraButtons?: ExtraButton[];
193
- }): react_jsx_runtime.JSX.Element;
194
-
195
- declare function CmrDeletionDialog(props: {
196
- name: string | undefined;
197
- deletionCallback: () => void;
198
- }): react_jsx_runtime.JSX.Element;
199
-
200
- interface EditConfirmationProps {
201
- name?: string;
202
- defaultText?: string;
203
- message?: string;
204
- color?: "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning";
205
- open: boolean;
206
- setOpen: (open: boolean) => void;
207
- confirmCallback?: (text: string) => void;
208
- cancellable?: boolean;
209
- cancelCallback?: (edit: string) => void;
210
- suffix?: string;
211
- }
212
- declare function CmrEditConfirmation({ name, message, defaultText, color, open, setOpen, confirmCallback, cancellable, cancelCallback, suffix }: EditConfirmationProps): react_jsx_runtime.JSX.Element;
213
-
214
- interface TabInfo {
215
- id: number;
216
- text: string;
217
- disable?: boolean;
218
- children: JSX.Element;
219
- }
220
-
221
- interface CmrTabsProps {
222
- tabList: TabInfo[];
223
- onTabSelected?: (tabId: number) => void;
224
- }
225
- declare function CmrTabs(props: CmrTabsProps): react_jsx_runtime.JSX.Element;
226
-
227
- interface CmrCheckboxProps extends React__default.HTMLAttributes<HTMLDivElement> {
228
- autoFocus?: boolean;
229
- checked?: boolean;
230
- defaultChecked?: boolean;
231
- disabled?: boolean;
232
- indeterminate?: boolean;
233
- onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
234
- children?: any;
235
- style?: any;
236
- sx?: any;
237
- }
238
- declare const CmrCheckbox: (props: CmrCheckboxProps) => react_jsx_runtime.JSX.Element;
239
-
240
- interface CmrLabelProps extends React__default.HTMLAttributes<HTMLDivElement> {
241
- required?: boolean;
242
- children?: any;
243
- }
244
- declare const CmrLabel: (props: CmrLabelProps) => react_jsx_runtime.JSX.Element;
245
-
246
- interface CmrInputNumberProps {
247
- defaultValue?: number;
248
- disabled?: boolean;
249
- keyboard?: boolean;
250
- max?: number;
251
- min?: number;
252
- size?: SizeType;
253
- value?: number;
254
- onChange?: (value: number | null) => void;
255
- children?: React__default.ReactNode;
256
- style?: CSSProperties;
257
- }
258
- declare const CmrInputNumber: (props: CmrInputNumberProps) => react_jsx_runtime.JSX.Element;
259
-
260
- interface CMRSelectUploadProps extends CMRUploadProps {
261
- /**
262
- * A selection of currently uploaded files
263
- */
264
- fileSelection: UploadedFile[];
265
- onSelected: (file?: UploadedFile) => void;
266
- chosenFile?: string;
267
- buttonText?: string;
268
- selectStyles?: any;
269
- /**
270
- * Enforces the extension of selected files
271
- */
272
- fileExtension?: string | string[];
273
- }
274
- interface UploadedFile {
275
- id: number;
276
- fileName: string;
277
- link: string;
278
- md5?: string;
279
- size: string;
280
- status: string;
281
- createdAt: string;
282
- updatedAt: string;
283
- database: string;
284
- location: string;
285
- }
286
- /**
287
- * Select from a set of uploaded files or upload new
288
- */
289
- declare const CMRSelectUpload: (props: CMRSelectUploadProps) => react_jsx_runtime.JSX.Element;
290
-
291
- interface UploadWindowProps {
292
- upload: (file: File, fileAlias: string, fileDatabase: string) => Promise<number>;
293
- open: boolean;
294
- setOpen: React.Dispatch<React.SetStateAction<boolean>>;
295
- fileExtension?: string | string[];
296
- template?: {
297
- showFileName?: boolean;
298
- showDatabase?: boolean;
299
- showFileSize?: boolean;
300
- };
301
- }
302
- declare function CmrUploadWindow({ upload, open, setOpen, fileExtension, template, }: UploadWindowProps): react_jsx_runtime.JSX.Element;
303
-
304
- interface CmrTooltipProps {
305
- arrowPointAtCenter?: boolean;
306
- autoAdjustOverflow?: boolean;
307
- color?: string;
308
- defaultVisible?: boolean;
309
- mouseEnterDelay?: number;
310
- mouseLeaveDelay?: number;
311
- overlayClassName?: string;
312
- placement?: TooltipPlacement;
313
- visible?: boolean;
314
- title: React__default.ReactNode;
315
- overlay?: React__default.ReactNode;
316
- }
317
- declare const CmrTooltip: (props: CmrTooltipProps) => react_jsx_runtime.JSX.Element;
318
-
319
- interface CmrTableProps extends Omit<DataGridProps, 'rows'> {
320
- dataSource: any[];
321
- idAlias?: string;
322
- name?: string;
323
- style?: CSSProperties;
324
- showCheckbox?: boolean;
325
- }
326
-
327
- declare const CmrTable: FC<CmrTableProps>;
328
-
329
- export { CMRSelectUpload, CmrUpload as CMRUpload, CmrButton, CmrCheckbox, CmrCollapse, CmrConfirmation, CmrDeletionDialog, CmrEditConfirmation, CmrInput, CmrInputNumber, CmrLabel, CmrNameDialog, CmrPanel, CmrRadioGroup, CmrSelect, CmrTable, CmrTableProps, CmrTabs, CmrTooltip, CmrUploadWindow, LambdaFile };
1
+ export * from "./CmrComponents/CmrButton";
2
+ export * from "./CmrComponents/CmrCheckbox";
3
+ export * from "./CmrComponents/CmrInput";
4
+ export * from "./CmrComponents/CmrRadioGroup";
5
+ export * from "./CmrComponents/CmrSelect";
6
+ export { default as CmrCollapse } from "./CmrComponents/collapse/Collapse";
7
+ export { default as CmrPanel } from "./CmrComponents/panel/Panel";
8
+ export { default as CMRUpload } from "./CmrComponents/upload/Upload";
9
+ export { default as CmrNameDialog } from "./CmrComponents/rename/edit";
10
+ export { default as CmrConfirmation } from "./CmrComponents/dialogue/Confirmation";
11
+ export { default as CmrDeletionDialog } from "./CmrComponents/dialogue/DeletionDialog";
12
+ export { default as CmrEditConfirmation } from "./CmrComponents/dialogue/EditConfirmation";
13
+ export { default as CmrTabs } from "./CmrTabs/CmrTabs";
14
+ export { default as CmrCheckbox } from "./CmrComponents/checkbox/Checkbox";
15
+ export { default as CmrLabel } from "./CmrComponents/label/Label";
16
+ export { default as CmrButton } from "./CmrComponents/CmrButton/CmrButton";
17
+ export { default as CmrInputNumber } from "./CmrComponents/input-number/InputNumber";
18
+ export { default as CMRSelectUpload } from "./CmrComponents/select-upload/SelectUpload";
19
+ export { default as CmrUploadWindow } from "./CmrComponents/upload/UploadWindow";
20
+ export { default as CmrTooltip } from "./CmrComponents/tooltip/Tooltip";
21
+ export { DualSlider } from "./CmrComponents/double-slider/DualSlider";
22
+ export { Slider } from "./CmrComponents/gui-slider/Slider";
23
+ export { InvertibleDualSlider } from "./CmrComponents/double-slider/InvertibleDualSlider";
24
+ export type { LambdaFile } from "./CmrComponents/upload/Upload";
25
+ import type { FC } from "react";
26
+ import type { CmrTableProps } from "./CmrTable/CmrTable";
27
+ export declare const CmrTable: FC<CmrTableProps>;
28
+ export type { CmrTableProps };
29
+ import "./core";