@manuscripts/style-guide 1.3.5-LEAN-2705-5 → 1.3.6-LEAN-2585-0

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 (115) hide show
  1. package/dist/cjs/components/AuthorsList/Author.js +19 -11
  2. package/dist/cjs/components/AuthorsList/AuthorsList.js +1 -1
  3. package/dist/cjs/components/EditorHeader/EditorHeader.js +11 -3
  4. package/dist/cjs/components/EditorHeader/ProceedView.js +6 -25
  5. package/dist/cjs/components/FileManager/{FileSectionItem/DragLayer.js → DragLayer.js} +12 -10
  6. package/dist/cjs/components/FileManager/FileActions.js +134 -0
  7. package/dist/cjs/components/FileManager/FileContainer.js +39 -0
  8. package/dist/cjs/components/FileManager/FileCreatedDate.js +25 -0
  9. package/dist/cjs/components/FileManager/FileManager.js +14 -125
  10. package/dist/cjs/components/FileManager/FileManagerProvider.js +2 -7
  11. package/dist/cjs/components/FileManager/FileName.js +27 -0
  12. package/dist/cjs/components/FileManager/FileSectionAlert.js +170 -0
  13. package/dist/cjs/components/FileManager/FileTypeIcon.js +22 -0
  14. package/dist/cjs/components/FileManager/{UploadFileArea.js → FileUploader.js} +19 -12
  15. package/dist/cjs/components/FileManager/InlineFilesSection.js +71 -126
  16. package/dist/cjs/components/FileManager/OtherFilesSection.js +101 -0
  17. package/dist/cjs/components/FileManager/SupplementsSection.js +118 -0
  18. package/dist/cjs/components/FileManager/{TooltipDiv.js → Tooltip.js} +8 -3
  19. package/dist/cjs/components/FileManager/util.js +52 -67
  20. package/dist/cjs/components/icons/corrupted-file-icon.js +27 -0
  21. package/dist/cjs/components/icons/document-icon-with-dot.js +1 -1
  22. package/dist/cjs/hooks/use-deep-compare.js +2 -2
  23. package/dist/cjs/hooks/use-files.js +29 -43
  24. package/dist/cjs/index.js +3 -4
  25. package/dist/cjs/lib/capabilities.js +1 -2
  26. package/dist/cjs/lib/files.js +85 -0
  27. package/dist/es/components/AuthorsList/Author.js +19 -11
  28. package/dist/es/components/AuthorsList/AuthorsList.js +1 -1
  29. package/dist/es/components/EditorHeader/EditorHeader.js +11 -3
  30. package/dist/es/components/EditorHeader/ProceedView.js +7 -26
  31. package/dist/es/components/FileManager/{FileSectionItem/DragLayer.js → DragLayer.js} +12 -10
  32. package/dist/es/components/FileManager/FileActions.js +104 -0
  33. package/dist/es/components/FileManager/FileContainer.js +33 -0
  34. package/dist/es/components/FileManager/FileCreatedDate.js +18 -0
  35. package/dist/es/components/FileManager/FileManager.js +16 -124
  36. package/dist/es/components/FileManager/FileManagerProvider.js +3 -8
  37. package/dist/es/components/FileManager/FileName.js +20 -0
  38. package/dist/es/components/FileManager/FileSectionAlert.js +163 -0
  39. package/dist/es/components/FileManager/FileTypeIcon.js +15 -0
  40. package/dist/es/components/FileManager/{UploadFileArea.js → FileUploader.js} +17 -10
  41. package/dist/es/components/FileManager/InlineFilesSection.js +72 -127
  42. package/dist/es/components/FileManager/OtherFilesSection.js +74 -0
  43. package/dist/es/components/FileManager/SupplementsSection.js +91 -0
  44. package/dist/es/components/FileManager/{TooltipDiv.js → Tooltip.js} +7 -2
  45. package/dist/es/components/FileManager/util.js +47 -65
  46. package/dist/es/components/icons/corrupted-file-icon.js +22 -0
  47. package/dist/es/components/icons/document-icon-with-dot.js +1 -1
  48. package/dist/es/hooks/use-deep-compare.js +2 -2
  49. package/dist/es/hooks/use-files.js +29 -40
  50. package/dist/es/index.js +2 -2
  51. package/dist/es/lib/capabilities.js +1 -2
  52. package/dist/es/lib/files.js +79 -0
  53. package/dist/types/components/AuthorsList/Author.d.ts +1 -0
  54. package/dist/types/components/EditorHeader/ProceedView.d.ts +1 -0
  55. package/dist/types/components/FileManager/FileActions.d.ts +19 -0
  56. package/dist/types/components/FileManager/FileContainer.d.ts +1 -0
  57. package/dist/types/components/FileManager/FileCreatedDate.d.ts +8 -0
  58. package/dist/types/components/FileManager/FileManager.d.ts +17 -8
  59. package/dist/types/components/FileManager/FileManagerProvider.d.ts +8 -18
  60. package/dist/types/components/FileManager/FileName.d.ts +6 -0
  61. package/dist/types/components/FileManager/FileSectionAlert.d.ts +13 -0
  62. package/dist/types/components/FileManager/{FileSectionItem/FileTypeIcon.d.ts → FileTypeIcon.d.ts} +2 -3
  63. package/dist/types/components/FileManager/FileUploader.d.ts +4 -0
  64. package/dist/types/components/FileManager/InlineFilesSection.d.ts +3 -19
  65. package/dist/types/components/FileManager/OtherFilesSection.d.ts +5 -0
  66. package/dist/types/components/FileManager/SupplementsSection.d.ts +5 -0
  67. package/dist/types/components/FileManager/Tooltip.d.ts +2 -0
  68. package/dist/types/components/FileManager/util.d.ts +8 -12
  69. package/dist/types/components/icons/corrupted-file-icon.d.ts +19 -0
  70. package/dist/types/hooks/use-files.d.ts +4 -6
  71. package/dist/types/index.d.ts +2 -2
  72. package/dist/types/lib/capabilities.d.ts +0 -1
  73. package/dist/types/lib/files.d.ts +24 -0
  74. package/package.json +3 -3
  75. package/dist/cjs/components/FileManager/ConfirmationPopUp.js +0 -90
  76. package/dist/cjs/components/FileManager/DragItemArea.js +0 -28
  77. package/dist/cjs/components/FileManager/FileSectionItem/DraggableFileSectionItem.js +0 -76
  78. package/dist/cjs/components/FileManager/FileSectionItem/FileInfo.js +0 -115
  79. package/dist/cjs/components/FileManager/FileSectionItem/FileSectionItem.js +0 -95
  80. package/dist/cjs/components/FileManager/FileSectionItem/FileSectionUploadItem.js +0 -37
  81. package/dist/cjs/components/FileManager/FileSectionItem/FileTypeIcon.js +0 -53
  82. package/dist/cjs/components/FileManager/FileSectionItem/ItemActions.js +0 -92
  83. package/dist/cjs/components/FileManager/FileSectionItem/ProgressBarUploadItem.js +0 -120
  84. package/dist/cjs/components/FileManager/FileSectionState.js +0 -83
  85. package/dist/cjs/components/FileManager/FilesSection.js +0 -61
  86. package/dist/cjs/components/FileManager/ItemsAction.js +0 -48
  87. package/dist/cjs/lib/inlineFiles.js +0 -92
  88. package/dist/es/components/FileManager/ConfirmationPopUp.js +0 -62
  89. package/dist/es/components/FileManager/DragItemArea.js +0 -21
  90. package/dist/es/components/FileManager/FileSectionItem/DraggableFileSectionItem.js +0 -46
  91. package/dist/es/components/FileManager/FileSectionItem/FileInfo.js +0 -85
  92. package/dist/es/components/FileManager/FileSectionItem/FileSectionItem.js +0 -88
  93. package/dist/es/components/FileManager/FileSectionItem/FileSectionUploadItem.js +0 -30
  94. package/dist/es/components/FileManager/FileSectionItem/FileTypeIcon.js +0 -46
  95. package/dist/es/components/FileManager/FileSectionItem/ItemActions.js +0 -65
  96. package/dist/es/components/FileManager/FileSectionItem/ProgressBarUploadItem.js +0 -113
  97. package/dist/es/components/FileManager/FileSectionState.js +0 -78
  98. package/dist/es/components/FileManager/FilesSection.js +0 -34
  99. package/dist/es/components/FileManager/ItemsAction.js +0 -42
  100. package/dist/es/lib/inlineFiles.js +0 -90
  101. package/dist/types/components/FileManager/ConfirmationPopUp.d.ts +0 -12
  102. package/dist/types/components/FileManager/DragItemArea.d.ts +0 -4
  103. package/dist/types/components/FileManager/FileSectionItem/DraggableFileSectionItem.d.ts +0 -3
  104. package/dist/types/components/FileManager/FileSectionItem/FileInfo.d.ts +0 -19
  105. package/dist/types/components/FileManager/FileSectionItem/FileSectionItem.d.ts +0 -38
  106. package/dist/types/components/FileManager/FileSectionItem/FileSectionUploadItem.d.ts +0 -12
  107. package/dist/types/components/FileManager/FileSectionItem/ItemActions.d.ts +0 -21
  108. package/dist/types/components/FileManager/FileSectionItem/ProgressBarUploadItem.d.ts +0 -4
  109. package/dist/types/components/FileManager/FileSectionState.d.ts +0 -38
  110. package/dist/types/components/FileManager/FilesSection.d.ts +0 -12
  111. package/dist/types/components/FileManager/ItemsAction.d.ts +0 -4
  112. package/dist/types/components/FileManager/TooltipDiv.d.ts +0 -1
  113. package/dist/types/components/FileManager/UploadFileArea.d.ts +0 -9
  114. package/dist/types/lib/inlineFiles.d.ts +0 -11
  115. /package/dist/types/components/FileManager/{FileSectionItem/DragLayer.d.ts → DragLayer.d.ts} +0 -0
@@ -1,92 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.ItemActions = void 0;
36
- const react_1 = __importStar(require("react"));
37
- const Dropdown_1 = require("../../Dropdown");
38
- const FileManager_1 = require("../FileManager");
39
- const FileManagerProvider_1 = require("../FileManagerProvider");
40
- const FileSectionState_1 = require("../FileSectionState");
41
- const ItemsAction_1 = require("../ItemsAction");
42
- const util_1 = require("../util");
43
- const ItemActions = ({ fileSection, isMainManuscript, downloadAttachmentHandler, replaceAttachmentHandler, handleSupplementReplace, detachAttachmnetHandler, handleUpdateInline, attachmentId, fileName, publicUrl, hideActionList, dispatch, dropDownClassName, showReplaceAction, }) => {
44
- const can = (0, react_1.useContext)(FileManager_1.PermissionsContext);
45
- const { setMoveFilePopupData } = (0, react_1.useContext)(FileManagerProvider_1.FileManagerContext);
46
- const canBeReplaced = showReplaceAction == undefined || showReplaceAction;
47
- const fileInputRef = (0, react_1.useRef)(null);
48
- const [selectedFile, setSelectedFile] = (0, react_1.useState)();
49
- const handleChange = (event) => __awaiter(void 0, void 0, void 0, function* () {
50
- if (event && event.target && event.target.files) {
51
- const file = event.target.files[0];
52
- setSelectedFile(file);
53
- if (dispatch) {
54
- dispatch(FileSectionState_1.actions.HANDLE_UPLOAD_ACTION());
55
- }
56
- const result = yield replaceAttachmentHandler(attachmentId, fileName, file);
57
- if (fileSection === util_1.FileSectionType.Supplements &&
58
- typeof result === 'object' &&
59
- handleSupplementReplace) {
60
- handleSupplementReplace(result, attachmentId);
61
- }
62
- if (typeof result === 'object' && handleUpdateInline) {
63
- handleUpdateInline(result);
64
- }
65
- if (dispatch) {
66
- dispatch(FileSectionState_1.actions.HANDLE_FINISH_UPLOAD());
67
- }
68
- hideActionList();
69
- }
70
- });
71
- const openFileDialog = () => {
72
- if (fileInputRef && fileInputRef.current) {
73
- fileInputRef.current.click();
74
- }
75
- };
76
- return (react_1.default.createElement(Dropdown_1.DropdownList, { direction: 'right', className: dropDownClassName, width: 200, height: 120, top: 5, onClick: hideActionList },
77
- react_1.default.createElement(ItemsAction_1.ActionsItem, { onClick: () => {
78
- publicUrl !== undefined ? downloadAttachmentHandler(publicUrl) : {};
79
- } }, "Download"),
80
- (can === null || can === void 0 ? void 0 : can.replaceFile) && canBeReplaced && (react_1.default.createElement(react_1.default.Fragment, null,
81
- react_1.default.createElement(ItemsAction_1.ActionsItem, { onClick: openFileDialog }, "Replace"),
82
- react_1.default.createElement("input", { ref: fileInputRef, type: "file", style: { display: 'none' }, onChange: (e) => handleChange(e), value: '' }))),
83
- (can === null || can === void 0 ? void 0 : can.editArticle) && detachAttachmnetHandler && (react_1.default.createElement(ItemsAction_1.ActionsItem, { onClick: () => detachAttachmnetHandler() }, "Detach")),
84
- !isMainManuscript &&
85
- fileSection !== util_1.FileSectionType.Inline &&
86
- (can === null || can === void 0 ? void 0 : can.moveFile) && (react_1.default.createElement(ItemsAction_1.ActionsItem, { onClick: () => setMoveFilePopupData({ isOpen: true, attachmentId, fileSection }) },
87
- "Move to",
88
- ' ',
89
- (fileSection === util_1.FileSectionType.OtherFile && 'Supplements') ||
90
- 'Other files'))));
91
- };
92
- exports.ItemActions = ItemActions;
@@ -1,120 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Bar = exports.LinearProgress = exports.ProgressBarUploadItem = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const styled_components_1 = __importDefault(require("styled-components"));
9
- const ProgressBarUploadItem = () => {
10
- return (react_1.default.createElement(exports.LinearProgress, null,
11
- react_1.default.createElement(exports.Bar, { className: "bar1" }),
12
- react_1.default.createElement(exports.Bar, { className: "bar2" })));
13
- };
14
- exports.ProgressBarUploadItem = ProgressBarUploadItem;
15
- exports.LinearProgress = styled_components_1.default.div `
16
- background: ${(props) => props.theme.colors.background.tertiary};
17
- opacity: 0.7;
18
- height: 4px;
19
- position: relative;
20
- width: 100%;
21
- margin: 0 auto;
22
- margin-top: 8px;
23
- overflow: hidden;
24
- border-radius: 8px;
25
- animation: start 0.3s ease-in;
26
- `;
27
- exports.Bar = styled_components_1.default.div `
28
- position: absolute;
29
- opacity: 0.7;
30
- background: #1a9bc7;
31
- transition: transform 0.2s linear;
32
- position: absolute;
33
- left: 0;
34
- top: 0;
35
- bottom: 0;
36
- width: 100%;
37
-
38
- &.bar1 {
39
- animation: growBar1 2.5s infinite, moveBar1 2.5s infinite;
40
- }
41
-
42
- &.bar2 {
43
- animation: growBar2 2.5s infinite, moveBar2 2.5s infinite;
44
- }
45
-
46
- @keyframes growBar1 {
47
- 0% {
48
- animation-timing-function: linear;
49
- transform: scaleX(0.1);
50
- }
51
- 35% {
52
- animation-timing-function: cubic-bezier(0.3, 0.1, 0.7, 1);
53
- transform: scaleX(0.1);
54
- }
55
- 70% {
56
- animation-timing-function: cubic-bezier(0.2, 0, 0.2, 1.4);
57
- transform: scaleX(0.8);
58
- }
59
- 100% {
60
- transform: scaleX(0.1);
61
- }
62
- }
63
-
64
- @keyframes moveBar1 {
65
- 0% {
66
- left: -105%;
67
- animation-timing-function: linear;
68
- }
69
- 20% {
70
- left: -105%;
71
- animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
72
- }
73
- 60% {
74
- left: 21%;
75
- animation-timing-function: cubic-bezier(0.3, 0.4, 0.55, 0.9);
76
- }
77
- 80% {
78
- left: 40%;
79
- animation-timing-function: cubic-bezier(0.1, 0.2, 0.3, 0.95);
80
- }
81
- 100% {
82
- left: 90%;
83
- }
84
- }
85
-
86
- @keyframes growBar2 {
87
- 0% {
88
- animation-timing-function: cubic-bezier(0.2, 0, 0.5, 0.4);
89
- transform: scaleX(0.1);
90
- }
91
- 20% {
92
- animation-timing-function: cubic-bezier(0.1, 0.2, 0.6, 1);
93
- transform: scaleX(0.3);
94
- }
95
- 60% {
96
- animation-timing-function: cubic-bezier(0.2, 0, 0.2, 1.4);
97
- transform: scaleX(0.6);
98
- }
99
- 100% {
100
- transform: scaleX(0.1);
101
- }
102
- }
103
- @keyframes moveBar2 {
104
- 0% {
105
- left: -100%;
106
- animation-timing-function: cubic-bezier(0.15, 0, 0.5, 0.4);
107
- }
108
- 25% {
109
- left: -50%;
110
- animation-timing-function: cubic-bezier(0.3, 0.3, 0.8, 0.7);
111
- }
112
- 50% {
113
- left: 45%;
114
- animation-timing-function: cubic-bezier(0.1, 0.6, 0.6, 0.9);
115
- }
116
- 100% {
117
- left: 95%;
118
- }
119
- }
120
- `;
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.actions = exports.reducer = exports.getInitialState = void 0;
4
- const getInitialState = () => ({
5
- uploadedFile: undefined,
6
- isUploadFile: false,
7
- moveToOtherState: undefined,
8
- fileUploadedSuccessfullySection: undefined,
9
- successMessage: '',
10
- isShowSuccessMessage: false,
11
- currentSection: undefined,
12
- });
13
- exports.getInitialState = getInitialState;
14
- var ActionTypes;
15
- (function (ActionTypes) {
16
- ActionTypes["UPLOAD_FILE"] = "UploadFile";
17
- ActionTypes["MOVE_FILE"] = "moveFile";
18
- ActionTypes["HANDLE_CANCEL_UPLOAD"] = "handleCancel";
19
- ActionTypes["HANDLE_UPLOAD_ACTION"] = "handleUpload";
20
- ActionTypes["HANDLE_FINISH_UPLOAD"] = "handleFinishUpload";
21
- ActionTypes["HANDLE_SUCCESS_MESSAGE"] = "handleSuccessMessage";
22
- ActionTypes["HANDLE_SUCCESS_MESSAGE_DISMISS"] = "handleSuccessMessageDismiss";
23
- })(ActionTypes || (ActionTypes = {}));
24
- const reducer = (state, action) => {
25
- switch (action.type) {
26
- case ActionTypes.UPLOAD_FILE: {
27
- return Object.assign(Object.assign({}, state), { uploadedFile: action.uploadFile, currentSection: action.sectionType });
28
- }
29
- case ActionTypes.MOVE_FILE: {
30
- return Object.assign(Object.assign({}, state), { moveToOtherState: {
31
- typeId: action.typeId,
32
- name: action.name,
33
- }, successMessage: action.successMoveMessage, isShowSuccessMessage: false });
34
- }
35
- case ActionTypes.HANDLE_UPLOAD_ACTION: {
36
- return Object.assign(Object.assign({}, state), { isUploadFile: true, isShowSuccessMessage: false, fileUploadedSuccessfullySection: undefined, successMessage: '' });
37
- }
38
- case ActionTypes.HANDLE_CANCEL_UPLOAD: {
39
- return Object.assign({}, state);
40
- }
41
- case ActionTypes.HANDLE_FINISH_UPLOAD: {
42
- return Object.assign(Object.assign({}, state), { isUploadFile: false, uploadedFile: undefined });
43
- }
44
- case ActionTypes.HANDLE_SUCCESS_MESSAGE: {
45
- return Object.assign(Object.assign({}, state), { isShowSuccessMessage: true, successMessage: action.successMessage, fileUploadedSuccessfullySection: action.sectionType });
46
- }
47
- case ActionTypes.HANDLE_SUCCESS_MESSAGE_DISMISS: {
48
- return Object.assign(Object.assign({}, state), { isShowSuccessMessage: false, successMessage: '', fileUploadedSuccessfullySection: undefined });
49
- }
50
- }
51
- return state;
52
- };
53
- exports.reducer = reducer;
54
- exports.actions = {
55
- UPLOAD_FILE: (uploadFile, sectionType) => ({
56
- type: ActionTypes.UPLOAD_FILE,
57
- uploadFile,
58
- sectionType,
59
- }),
60
- HANDLE_UPLOAD_ACTION: () => ({
61
- type: ActionTypes.HANDLE_UPLOAD_ACTION,
62
- }),
63
- HANDLE_CANCEL_UPLOAD: () => ({
64
- type: ActionTypes.HANDLE_CANCEL_UPLOAD,
65
- }),
66
- MOVE_FILE: (attachmentId, typeId, name, successMoveMessage) => ({
67
- type: ActionTypes.MOVE_FILE,
68
- typeId,
69
- name,
70
- successMoveMessage,
71
- }),
72
- HANDLE_FINISH_UPLOAD: () => ({
73
- type: ActionTypes.HANDLE_FINISH_UPLOAD,
74
- }),
75
- HANDLE_SUCCESS_MESSAGE: (successMessage, sectionType) => ({
76
- type: ActionTypes.HANDLE_SUCCESS_MESSAGE,
77
- successMessage,
78
- sectionType,
79
- }),
80
- HANDLE_SUCCESS_MESSAGE_DISMISS: () => ({
81
- type: ActionTypes.HANDLE_SUCCESS_MESSAGE_DISMISS,
82
- }),
83
- };
@@ -1,61 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.FilesSection = void 0;
27
- const react_1 = __importStar(require("react"));
28
- const AlertMessage_1 = require("../AlertMessage");
29
- const FileManager_1 = require("./FileManager");
30
- const FileSectionUploadItem_1 = require("./FileSectionItem/FileSectionUploadItem");
31
- const FileSectionState_1 = require("./FileSectionState");
32
- const UploadFileArea_1 = require("./UploadFileArea");
33
- const util_1 = require("./util");
34
- const FilesSection = ({ enableDragAndDrop, handleUpload, fileSection, filesItem, dispatch, state, }) => {
35
- let uploadedFileExtension = '';
36
- if (state.uploadedFile) {
37
- uploadedFileExtension = state.uploadedFile.name.substring(state.uploadedFile.name.lastIndexOf('.') + 1);
38
- }
39
- const isSupplementFilesTab = fileSection === util_1.FileSectionType.Supplements;
40
- const isOtherFileTab = fileSection === util_1.FileSectionType.OtherFile;
41
- const can = (0, react_1.useContext)(FileManager_1.PermissionsContext);
42
- (0, react_1.useEffect)(() => {
43
- state.uploadedFile &&
44
- fileSection === state.currentSection &&
45
- handleUpload(state.uploadedFile);
46
- }, [state.uploadedFile]);
47
- const handleSuccessMessage = () => {
48
- return (react_1.default.createElement(AlertMessage_1.AlertMessage, { type: AlertMessage_1.AlertMessageType.success, hideCloseButton: true, dismissButton: {
49
- text: 'OK',
50
- action: () => dispatch(FileSectionState_1.actions.HANDLE_SUCCESS_MESSAGE_DISMISS()),
51
- } }, state.successMessage));
52
- };
53
- return (react_1.default.createElement("div", null,
54
- (can === null || can === void 0 ? void 0 : can.uploadFile) && (react_1.default.createElement(react_1.default.Fragment, null,
55
- (isOtherFileTab || isSupplementFilesTab) && (react_1.default.createElement(UploadFileArea_1.UploadFileArea, { handleUploadFile: handleUpload, fileSection: fileSection, dispatch: dispatch })),
56
- state.isUploadFile && state.uploadedFile && (react_1.default.createElement(FileSectionUploadItem_1.FileSectionUploadItem, { fileName: state.uploadedFile.name, isLoading: state.isUploadFile })))),
57
- state.fileUploadedSuccessfullySection === fileSection &&
58
- handleSuccessMessage(),
59
- filesItem));
60
- };
61
- exports.FilesSection = FilesSection;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ActionsSeparator = exports.ActionsLabel = exports.ActionsItem = exports.ActionsBox = void 0;
7
- const styled_components_1 = __importDefault(require("styled-components"));
8
- exports.ActionsBox = styled_components_1.default.ul `
9
- border: 1px solid #e2e2e2;
10
- box-sizing: border-box;
11
- box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.3);
12
- border-radius: 4px;
13
- min-width: 180px;
14
- background: ${(props) => props.theme.colors.background.primary};
15
- margin: 0;
16
- padding: 8px 0;
17
- z-index: 999;
18
- text-align: left;
19
- list-style-type: none;
20
- `;
21
- exports.ActionsItem = styled_components_1.default.li `
22
- font-family: ${(props) => props.theme.font.family.Lato};
23
- cursor: pointer;
24
- font-size: 16px;
25
- line-height: 24px;
26
- color: ${(props) => props.theme.colors.text.primary};
27
- list-style: none;
28
- padding: 8px 16px;
29
- &:hover,
30
- &:focus {
31
- background: #f2fbfc;
32
- }
33
- `;
34
- exports.ActionsLabel = styled_components_1.default.li `
35
- font-family: ${(props) => props.theme.font.family.Lato};
36
- font-size: 12px;
37
- line-height: 16px;
38
- color: ${(props) => props.theme.colors.text.onLight};
39
- list-style: none;
40
- padding: 8px 16px;
41
- cursor: default;
42
- `;
43
- exports.ActionsSeparator = styled_components_1.default.li `
44
- height: 1px;
45
- background: ${(props) => props.theme.colors.background.tertiary};
46
- margin: 8px 0;
47
- cursor: default;
48
- `;
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const json_schema_1 = require("@manuscripts/json-schema");
4
- const transform_1 = require("@manuscripts/transform");
5
- const util_1 = require("../components/FileManager/util");
6
- const getFigureData = (element, modelMap, attachmentsMap) => {
7
- const attachments = [];
8
- element.containedObjectIDs.map((id) => {
9
- const object = modelMap.get(id);
10
- if (object && object.objectType === json_schema_1.ObjectTypes.Figure) {
11
- const figure = object;
12
- if (figure.src) {
13
- const attachment = attachmentsMap.get(figure.src.replace('attachment:', ''));
14
- if (attachment) {
15
- attachment.modelId = id;
16
- attachments.push(attachment);
17
- }
18
- }
19
- }
20
- });
21
- return {
22
- id: element._id,
23
- attachments,
24
- };
25
- };
26
- exports.default = (modelMap, attachments) => {
27
- const files = [];
28
- const attachmentsMap = new Map(attachments.map((attachment) => [attachment.id, attachment]));
29
- const { graphicalAbstractFigureId, figureElement } = getAuxiliaryObjects(modelMap);
30
- if (graphicalAbstractFigureId) {
31
- const element = modelMap.get(graphicalAbstractFigureId);
32
- files.unshift(Object.assign(Object.assign({}, getFigureData(element, modelMap, attachmentsMap)), { label: `Graphical Abstract`, type: util_1.FileType.GraphicalAbstract }));
33
- }
34
- figureElement.map((id, index) => {
35
- const element = modelMap.get(id);
36
- files.push(Object.assign(Object.assign({}, getFigureData(element, modelMap, attachmentsMap)), { label: `Figure ${index + 1}`, type: util_1.FileType.Figure }));
37
- });
38
- return files;
39
- };
40
- const getAuxiliaryObjects = (modelMap) => {
41
- var _a, _b;
42
- let graphicalAbstractFigureId, figureElementIds = [];
43
- const tableElementIds = [], orderObjects = {};
44
- for (const model of modelMap.values()) {
45
- switch (model.objectType) {
46
- case json_schema_1.ObjectTypes.Section: {
47
- const section = model;
48
- if (section.category === 'MPSectionCategory:abstract-graphical') {
49
- graphicalAbstractFigureId = (_a = section.elementIDs) === null || _a === void 0 ? void 0 : _a.find((id) => {
50
- const obj = modelMap.get(id);
51
- return obj && (0, transform_1.hasObjectType)(json_schema_1.ObjectTypes.FigureElement)(obj);
52
- });
53
- }
54
- else {
55
- (_b = section.elementIDs) === null || _b === void 0 ? void 0 : _b.map((elementId) => {
56
- const element = modelMap.get(elementId);
57
- if (!element) {
58
- return;
59
- }
60
- switch (element.objectType) {
61
- case json_schema_1.ObjectTypes.FigureElement:
62
- figureElementIds.push(element._id);
63
- break;
64
- case json_schema_1.ObjectTypes.TableElement:
65
- tableElementIds.push(element._id);
66
- break;
67
- }
68
- });
69
- }
70
- break;
71
- }
72
- case json_schema_1.ObjectTypes.ElementsOrder: {
73
- const elementsOrder = model;
74
- orderObjects[elementsOrder.elementType] = elementsOrder;
75
- }
76
- }
77
- }
78
- if (graphicalAbstractFigureId) {
79
- figureElementIds = figureElementIds.filter((id) => id != graphicalAbstractFigureId);
80
- }
81
- return {
82
- graphicalAbstractFigureId,
83
- figureElement: sortAuxiliaryObject(figureElementIds, orderObjects[json_schema_1.ObjectTypes.FigureElement]),
84
- tableElement: sortAuxiliaryObject(tableElementIds, orderObjects[json_schema_1.ObjectTypes.TableElement]),
85
- };
86
- };
87
- const sortAuxiliaryObject = (auxiliaryObjectIds, orderObject) => {
88
- if (!orderObject) {
89
- return auxiliaryObjectIds;
90
- }
91
- return auxiliaryObjectIds.sort((a, b) => orderObject.elements.indexOf(a) - orderObject.elements.indexOf(b));
92
- };
@@ -1,62 +0,0 @@
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
- import { ObjectTypes } from '@manuscripts/json-schema';
11
- import { buildSupplementaryMaterial, getModelsByType, } from '@manuscripts/transform';
12
- import React, { useCallback, useContext } from 'react';
13
- import { Category, Dialog } from '../Dialog';
14
- import { FileManagerContext } from './FileManagerProvider';
15
- import { actions } from './FileSectionState';
16
- import { FileSectionType } from './util';
17
- export const ConfirmationPopUp = ({ popupHeader, popUpMessage, isOpen, handleClose, handleMove }) => {
18
- return (React.createElement(Dialog, { isOpen: isOpen, category: Category.confirmation, header: popupHeader, message: popUpMessage, actions: {
19
- primary: {
20
- action: handleMove,
21
- title: 'Move',
22
- },
23
- secondary: {
24
- action: handleClose,
25
- title: 'Cancel',
26
- },
27
- } }));
28
- };
29
- export const MoveFilePopup = ({ dispatch, }) => {
30
- const { moveFilePopup: { isOpen, fileSection, attachmentId }, saveModel, deleteModel, modelMap, getAttachments, setMoveFilePopupData, } = useContext(FileManagerContext);
31
- const isSupplement = fileSection === FileSectionType.Supplements;
32
- const message = {
33
- popupHeader: `Are you sure you want to move this file to “${(!isSupplement && 'Supplements') || 'Other files'}”?`,
34
- popUpMessage: `The file will be removed from the “${(isSupplement && 'Supplements') || 'Other files'}” and added to “${(!isSupplement && 'Supplements') || 'Other files'}”.`,
35
- };
36
- const closePopup = useCallback(() => setMoveFilePopupData({
37
- isOpen: false,
38
- fileSection: fileSection,
39
- }), [fileSection, setMoveFilePopupData]);
40
- const showSuccessMessage = useCallback(() => dispatch(actions.HANDLE_SUCCESS_MESSAGE(`File moved to ${(isSupplement && 'Other files') || 'Supplements'}.`, fileSection)), [dispatch, fileSection, isSupplement]);
41
- const moveToSupplement = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
42
- closePopup();
43
- const attachment = getAttachments().find(({ id }) => id === attachmentId);
44
- if (!attachment) {
45
- return;
46
- }
47
- const model = buildSupplementaryMaterial(attachment.name, `attachment:${attachment.id}`);
48
- yield saveModel(Object.assign(Object.assign({}, model), { title: attachment.name, href: `attachment:${attachment.id}` }));
49
- showSuccessMessage();
50
- }), [getAttachments, saveModel, showSuccessMessage, closePopup, attachmentId]);
51
- const moveSupplementToOtherFiles = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
52
- closePopup();
53
- const model = getModelsByType(modelMap, ObjectTypes.Supplement).find(({ href }) => (href === null || href === void 0 ? void 0 : href.replace('attachment:', '')) === attachmentId);
54
- if (!model) {
55
- return;
56
- }
57
- yield deleteModel(model._id);
58
- showSuccessMessage();
59
- }), [attachmentId, closePopup, deleteModel, modelMap, showSuccessMessage]);
60
- return (React.createElement(React.Fragment, null,
61
- React.createElement(ConfirmationPopUp, Object.assign({ isOpen: isOpen }, message, { handleMove: () => (!isSupplement && moveToSupplement()) || moveSupplementToOtherFiles(), handleClose: closePopup }))));
62
- };
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import DragAndDropFileIcon from '../icons/drag-drop-file-icon';
4
- export const DragItemArea = ({ text }) => {
5
- return (React.createElement(Container, null,
6
- React.createElement("div", null,
7
- React.createElement(DragAndDropFileIcon, null)),
8
- text));
9
- };
10
- const Container = styled.div `
11
- display: flex;
12
- flex-direction: column;
13
- align-items: center;
14
- justify-content: center;
15
- font-size: 14px;
16
- line-height: 24px;
17
- font-family: ${(props) => props.theme.font.family.Lato};
18
- color: ${(props) => props.theme.colors.text.onLight};
19
- padding: 32px 0;
20
- text-align: center;
21
- `;
@@ -1,46 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import { useDrag } from 'react-dnd';
3
- import { getEmptyImage } from 'react-dnd-html5-backend';
4
- import styled from 'styled-components';
5
- import { FileSectionItem } from './FileSectionItem';
6
- const itemPlaceHolderDraggingStyle = {
7
- background: '#FAFAFA',
8
- borderRadius: '6px',
9
- height: '104px',
10
- };
11
- const draggingItemStyle = {
12
- opacity: 0,
13
- height: 0,
14
- };
15
- export const DraggableFileSectionItem = (props) => {
16
- const [draggingItemWidth, setDraggingItemWidth] = useState('100%');
17
- const itemPlaceholderRef = useRef();
18
- const [{ isDragging }, dragRef, preview] = useDrag({
19
- item: {
20
- id: props.title,
21
- title: props.title,
22
- externalFile: props.externalFile,
23
- showAttachmentName: props.showAttachmentName,
24
- width: draggingItemWidth,
25
- type: 'FileSectionItem',
26
- },
27
- collect: (monitor) => ({
28
- isDragging: monitor.isDragging(),
29
- }),
30
- });
31
- useEffect(() => {
32
- if (itemPlaceholderRef && itemPlaceholderRef.current) {
33
- setDraggingItemWidth(itemPlaceholderRef.current.offsetWidth + 'px');
34
- }
35
- }, []);
36
- useEffect(() => {
37
- preview(getEmptyImage());
38
- }, [preview]);
39
- return (React.createElement(ItemDraggingPlaceholderContainer, { style: isDragging ? itemPlaceHolderDraggingStyle : {}, ref: itemPlaceholderRef },
40
- React.createElement(FileSectionItem, Object.assign({ style: isDragging ? draggingItemStyle : {}, dragRef: dragRef }, props))));
41
- };
42
- const ItemDraggingPlaceholderContainer = styled.div `
43
- background: ${(props) => props.theme.colors.background.primary};
44
- width: 100%;
45
- position: relative;
46
- `;