@manuscripts/article-editor 3.8.21-LEAN-4405.0 → 3.8.21-LEAN-4468.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/cjs/components/FileManager/FileManager.js +2 -2
- package/dist/cjs/components/FileManager/FileManager.js.map +1 -1
- package/dist/cjs/components/FileManager/FileName.js +22 -9
- package/dist/cjs/components/FileManager/FileName.js.map +1 -1
- package/dist/cjs/components/FileManager/FileTypeIcon.js +0 -6
- package/dist/cjs/components/FileManager/FileTypeIcon.js.map +1 -1
- package/dist/cjs/components/FileManager/InlineFilesSection.js +58 -85
- package/dist/cjs/components/FileManager/InlineFilesSection.js.map +1 -1
- package/dist/cjs/components/FileManager/MainFilesSection.js +4 -29
- package/dist/cjs/components/FileManager/MainFilesSection.js.map +1 -1
- package/dist/es/components/FileManager/FileManager.js +2 -2
- package/dist/es/components/FileManager/FileManager.js.map +1 -1
- package/dist/es/components/FileManager/FileName.js +21 -8
- package/dist/es/components/FileManager/FileName.js.map +1 -1
- package/dist/es/components/FileManager/FileTypeIcon.js +1 -7
- package/dist/es/components/FileManager/FileTypeIcon.js.map +1 -1
- package/dist/es/components/FileManager/InlineFilesSection.js +59 -83
- package/dist/es/components/FileManager/InlineFilesSection.js.map +1 -1
- package/dist/es/components/FileManager/MainFilesSection.js +4 -29
- package/dist/es/components/FileManager/MainFilesSection.js.map +1 -1
- package/dist/types/components/FileManager/FileName.d.ts +2 -2
- package/package.json +3 -3
@@ -49,7 +49,7 @@ const FileManager = () => {
|
|
49
49
|
files: s.files,
|
50
50
|
inspectorOpenTabs: s.inspectorOpenTabs,
|
51
51
|
}));
|
52
|
-
const { figures, supplements,
|
52
|
+
const { figures, supplements, attachments, others } = (0, body_editor_1.groupFiles)(doc, files);
|
53
53
|
return (react_1.default.createElement(Inspector_1.InspectorTabs, { defaultIndex: 0, selectedIndex: inspectorOpenTabs?.secondaryTab || 0, "data-cy": "files-tabs", style: { overflow: 'visible' }, onChange: (index) => dispatch({ inspectorOpenTabs: { secondaryTab: index } }) },
|
54
54
|
react_1.default.createElement(FileManagerDragLayer_1.FileManagerDragLayer, null),
|
55
55
|
react_1.default.createElement(Inspector_1.InspectorTabList, null,
|
@@ -65,7 +65,7 @@ const FileManager = () => {
|
|
65
65
|
react_1.default.createElement(Inspector_1.InspectorTabPanel, { "data-cy": "inline" },
|
66
66
|
react_1.default.createElement(InlineFilesSection_1.InlineFilesSection, { elements: figures })),
|
67
67
|
react_1.default.createElement(Inspector_1.InspectorTabPanel, { "data-cy": "main" },
|
68
|
-
react_1.default.createElement(MainFilesSection_1.MainFilesSection, { mainDocument:
|
68
|
+
react_1.default.createElement(MainFilesSection_1.MainFilesSection, { mainDocument: attachments[0] })),
|
69
69
|
react_1.default.createElement(Inspector_1.InspectorTabPanel, { "data-cy": "supplements" },
|
70
70
|
react_1.default.createElement(SupplementsSection_1.SupplementsSection, { supplements: supplements })),
|
71
71
|
react_1.default.createElement(Inspector_1.InspectorTabPanel, { "data-cy": "other" },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileManager.tsx"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;GAUG;AACH,0DAAqD;AACrD,0DAAkD;AAClD,kDAAyB;AAEzB,uCAAsC;AACtC,4CAMqB;AACrB,iEAA6D;AAC7D,6DAAyD;AACzD,yDAAqD;AACrD,2DAAuD;AACvD,6DAAyD;AAEzD,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,8CAA2B,CAAA;IAC3B,4CAAyB,CAAA;IACzB,6CAA0B,CAAA;AAC5B,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AASD;;;;;;;;;;GAUG;AAEI,MAAM,WAAW,GAAa,GAAG,EAAE;IACxC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;KACvC,CAAC,CAAC,CAAA;IAEH,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,
|
1
|
+
{"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileManager.tsx"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;GAUG;AACH,0DAAqD;AACrD,0DAAkD;AAClD,kDAAyB;AAEzB,uCAAsC;AACtC,4CAMqB;AACrB,iEAA6D;AAC7D,6DAAyD;AACzD,yDAAqD;AACrD,2DAAuD;AACvD,6DAAyD;AAEzD,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,8CAA2B,CAAA;IAC3B,4CAAyB,CAAA;IACzB,6CAA0B,CAAA;AAC5B,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AASD;;;;;;;;;;GAUG;AAEI,MAAM,WAAW,GAAa,GAAG,EAAE;IACxC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;KACvC,CAAC,CAAC,CAAA;IAEH,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAU,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAE5E,OAAO,CACL,8BAAC,yBAAa,IACZ,YAAY,EAAE,CAAC,EACf,aAAa,EAAE,iBAAiB,EAAE,YAAY,IAAI,CAAC,aAC3C,YAAY,EACpB,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC;QAG1D,8BAAC,2CAAoB,OAAG;QACxB,8BAAC,4BAAgB;YACf,8BAAC,iCAAqB,uBAAiB,gBAAgB,mBAE/B;YACxB,8BAAC,qBAAO,IAAC,EAAE,EAAC,gBAAgB,EAAC,KAAK,EAAC,QAAQ,wDAEjC;YACV,8BAAC,iCAAqB,uBAAiB,cAAc,oBAE7B;YACxB,8BAAC,qBAAO,IAAC,EAAE,EAAC,cAAc,EAAC,KAAK,EAAC,QAAQ,2CAE/B;YACV,8BAAC,iCAAqB,uBAAiB,qBAAqB,kBAEpC;YACxB,8BAAC,qBAAO,IAAC,EAAE,EAAC,qBAAqB,EAAC,KAAK,EAAC,QAAQ,6CAEtC;YACV,8BAAC,iCAAqB,uBAAiB,eAAe,kBAE9B;YACxB,8BAAC,qBAAO,IAAC,EAAE,EAAC,eAAe,EAAC,KAAK,EAAC,QAAQ,gDAEhC,CACO;QACnB,8BAAC,8BAAkB,IACjB,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE;YAErD,8BAAC,6BAAiB,eAAS,QAAQ;gBACjC,8BAAC,uCAAkB,IAAC,QAAQ,EAAE,OAAO,GAAI,CACvB;YACpB,8BAAC,6BAAiB,eAAS,MAAM;gBAC/B,8BAAC,mCAAgB,IAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,GAAI,CAChC;YACpB,8BAAC,6BAAiB,eAAS,aAAa;gBACtC,8BAAC,uCAAkB,IAAC,WAAW,EAAE,WAAW,GAAI,CAC9B;YACpB,8BAAC,6BAAiB,eAAS,OAAO;gBAChC,8BAAC,qCAAiB,IAAC,KAAK,EAAE,MAAM,GAAI,CAClB,CACD,CACP,CACjB,CAAA;AACH,CAAC,CAAA;AAhEY,QAAA,WAAW,eAgEvB"}
|
@@ -3,22 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
6
|
+
exports.FileNameText = exports.FileName = void 0;
|
7
7
|
const style_guide_1 = require("@manuscripts/style-guide");
|
8
8
|
const react_1 = __importDefault(require("react"));
|
9
9
|
const styled_components_1 = __importDefault(require("styled-components"));
|
10
10
|
const files_1 = require("../../lib/files");
|
11
11
|
const FileTypeIcon_1 = require("./FileTypeIcon");
|
12
|
-
const FileName = ({ file,
|
12
|
+
const FileName = ({ file, label, icon: Icon }) => {
|
13
13
|
const maxBaseNameLength = 30; // Adjust this value as needed
|
14
14
|
// Get the trimmed filename
|
15
15
|
const trimmedFilename = (0, files_1.trimFilename)(file.name, maxBaseNameLength);
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
const tooltipID = `${file.id}-file-name-tooltip`;
|
17
|
+
return (react_1.default.createElement(FileNameContainer, { "data-tooltip-id": tooltipID },
|
18
|
+
(Icon && react_1.default.createElement(Icon, { className: "file-icon" })) || react_1.default.createElement(FileTypeIcon_1.FileTypeIcon, { file: file }),
|
19
|
+
label && react_1.default.createElement(FileLabel, null,
|
20
|
+
label,
|
21
|
+
":"),
|
22
|
+
react_1.default.createElement(exports.FileNameText, { "data-cy": "filename" },
|
23
|
+
trimmedFilename,
|
24
|
+
react_1.default.createElement(style_guide_1.Tooltip, { id: tooltipID, place: "bottom" }, file.name))));
|
22
25
|
};
|
23
26
|
exports.FileName = FileName;
|
24
27
|
exports.FileNameText = styled_components_1.default.div `
|
@@ -33,11 +36,21 @@ exports.FileNameText = styled_components_1.default.div `
|
|
33
36
|
white-space: nowrap;
|
34
37
|
text-overflow: ellipsis;
|
35
38
|
`;
|
36
|
-
|
39
|
+
const FileNameContainer = styled_components_1.default.div `
|
37
40
|
display: flex;
|
41
|
+
flex: 1;
|
38
42
|
align-items: center;
|
39
43
|
.react-tooltip {
|
40
44
|
max-width: 100% !important;
|
41
45
|
}
|
42
46
|
`;
|
47
|
+
const FileLabel = styled_components_1.default.div `
|
48
|
+
color: ${(props) => props.theme.colors.text.primary};
|
49
|
+
font-weight: bold;
|
50
|
+
font-size: 16px;
|
51
|
+
line-height: 20px;
|
52
|
+
white-space: nowrap;
|
53
|
+
margin-left: ${(props) => props.theme.grid.unit * 2}px;
|
54
|
+
align-content: center;
|
55
|
+
`;
|
43
56
|
//# sourceMappingURL=FileName.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FileName.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileName.tsx"],"names":[],"mappings":";;;;;;AAYA,0DAAkD;AAClD,kDAAyB;AACzB,0EAAsC;AAEtC,2CAA8C;AAC9C,iDAA6C;AAEtC,MAAM,QAAQ,
|
1
|
+
{"version":3,"file":"FileName.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileName.tsx"],"names":[],"mappings":";;;;;;AAYA,0DAAkD;AAClD,kDAAyB;AACzB,0EAAsC;AAEtC,2CAA8C;AAC9C,iDAA6C;AAEtC,MAAM,QAAQ,GAIhB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,MAAM,iBAAiB,GAAG,EAAE,CAAA,CAAC,8BAA8B;IAE3D,2BAA2B;IAC3B,MAAM,eAAe,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAChD,OAAO,CACL,8BAAC,iBAAiB,uBAAkB,SAAS;QAC1C,CAAC,IAAI,IAAI,8BAAC,IAAI,IAAC,SAAS,EAAC,WAAW,GAAG,CAAC,IAAI,8BAAC,2BAAY,IAAC,IAAI,EAAE,IAAI,GAAI;QACxE,KAAK,IAAI,8BAAC,SAAS;YAAE,KAAK;gBAAc;QACzC,8BAAC,oBAAY,eAAS,UAAU;YAC7B,eAAe;YAChB,8BAAC,qBAAO,IAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAC,QAAQ,IACnC,IAAI,CAAC,IAAI,CACF,CACG,CACG,CACrB,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,QAAQ,YAsBpB;AAEY,QAAA,YAAY,GAAG,2BAAM,CAAC,GAAG,CAAA;iBACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;eACzC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;iBACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;iBAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;WAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;iBACpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;;;;;CAKpD,CAAA;AAED,MAAM,iBAAiB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;CAOnC,CAAA;AAED,MAAM,SAAS,GAAG,2BAAM,CAAC,GAAG,CAAA;WACjB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;;;;iBAKpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;;CAEpD,CAAA"}
|
@@ -11,12 +11,6 @@ const react_1 = __importDefault(require("react"));
|
|
11
11
|
* in case the file type is an image or video then the icon should be the preview image or video thumbnail.
|
12
12
|
*/
|
13
13
|
const FileTypeIcon = ({ file }) => {
|
14
|
-
if (file.type.id === 'missing') {
|
15
|
-
return react_1.default.createElement(style_guide_1.FileCorruptedIcon, { className: "file-icon" });
|
16
|
-
}
|
17
|
-
if (file.type.id === 'main-manuscript') {
|
18
|
-
return react_1.default.createElement(style_guide_1.FileMainDocumentIcon, { className: "file-icon" });
|
19
|
-
}
|
20
14
|
const icon = (0, style_guide_1.getFileIcon)(file.name);
|
21
15
|
return icon || react_1.default.createElement(style_guide_1.FileUnknownIcon, { className: "file-icon" });
|
22
16
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FileTypeIcon.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileTypeIcon.tsx"],"names":[],"mappings":";;;;;;AAYA,
|
1
|
+
{"version":3,"file":"FileTypeIcon.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileTypeIcon.tsx"],"names":[],"mappings":";;;;;;AAYA,0DAAuE;AACvE,kDAAyB;AAEzB;;;GAGG;AACI,MAAM,YAAY,GAEpB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAChB,MAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,IAAI,IAAI,8BAAC,6BAAe,IAAC,SAAS,EAAC,WAAW,GAAG,CAAA;AAC1D,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
|
@@ -22,28 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
22
|
__setModuleDefault(result, mod);
|
23
23
|
return result;
|
24
24
|
};
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
-
};
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
26
|
exports.InlineFilesSection = void 0;
|
30
|
-
/*!
|
31
|
-
* The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
|
32
|
-
*
|
33
|
-
* Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
34
|
-
*
|
35
|
-
* The Original Code is manuscripts-frontend.
|
36
|
-
*
|
37
|
-
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
38
|
-
*
|
39
|
-
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2024 Atypon Systems LLC. All Rights Reserved.
|
40
|
-
*/
|
41
|
-
const body_editor_1 = require("@manuscripts/body-editor");
|
42
27
|
const style_guide_1 = require("@manuscripts/style-guide");
|
43
28
|
const transform_1 = require("@manuscripts/transform");
|
44
29
|
const prosemirror_state_1 = require("prosemirror-state");
|
30
|
+
const prosemirror_utils_1 = require("prosemirror-utils");
|
45
31
|
const react_1 = __importStar(require("react"));
|
46
|
-
const styled_components_1 = __importDefault(require("styled-components"));
|
47
32
|
const store_1 = require("../../store");
|
48
33
|
const FileActions_1 = require("./FileActions");
|
49
34
|
const FileContainer_1 = require("./FileContainer");
|
@@ -51,98 +36,86 @@ const FileCreatedDate_1 = require("./FileCreatedDate");
|
|
51
36
|
const FileManager_1 = require("./FileManager");
|
52
37
|
const FileName_1 = require("./FileName");
|
53
38
|
const InlineFilesSection = ({ elements, }) => {
|
54
|
-
const [{ view, fileManagement }] = (0, store_1.useStore)((s) => ({
|
39
|
+
const [{ view, fileManagement, sectionCategories }] = (0, store_1.useStore)((s) => ({
|
55
40
|
view: s.view,
|
56
41
|
fileManagement: s.fileManagement,
|
42
|
+
sectionCategories: s.sectionCategories,
|
57
43
|
}));
|
58
|
-
const
|
44
|
+
const metadata = (0, react_1.useMemo)(() => {
|
45
|
+
if (!view) {
|
46
|
+
return [];
|
47
|
+
}
|
48
|
+
let figureIndex = 1;
|
49
|
+
let imageIndex = 1;
|
50
|
+
return elements.map((element) => {
|
51
|
+
const figure = element.files[0];
|
52
|
+
const file = figure?.file || { id: '', name: '' };
|
53
|
+
const $pos = view.state.doc.resolve(element.pos);
|
54
|
+
const section = (0, prosemirror_utils_1.findParentNodeOfTypeClosestToPos)($pos, transform_1.schema.nodes.graphical_abstract_section);
|
55
|
+
let label;
|
56
|
+
let icon;
|
57
|
+
if (section) {
|
58
|
+
const category = section.node.attrs.category;
|
59
|
+
label = sectionCategories.get(category)?.titles[0] || '';
|
60
|
+
icon = style_guide_1.FileGraphicalAbstractIcon;
|
61
|
+
}
|
62
|
+
else if (element.node.type === transform_1.schema.nodes.image_element) {
|
63
|
+
label = `Image ${imageIndex++}`;
|
64
|
+
icon = style_guide_1.FileImageIcon;
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
label = `Figure ${figureIndex++}`;
|
68
|
+
icon = style_guide_1.FileFigureIcon;
|
69
|
+
}
|
70
|
+
return {
|
71
|
+
element,
|
72
|
+
node: figure?.node,
|
73
|
+
pos: figure?.pos,
|
74
|
+
file,
|
75
|
+
label,
|
76
|
+
icon,
|
77
|
+
};
|
78
|
+
});
|
79
|
+
}, [elements, view, sectionCategories]);
|
59
80
|
if (!view) {
|
60
81
|
return null;
|
61
82
|
}
|
62
|
-
const handleClick = (
|
83
|
+
const handleClick = (metadata) => {
|
63
84
|
const tr = view.state.tr;
|
64
|
-
tr.setSelection(prosemirror_state_1.NodeSelection.create(view.state.doc, element.pos));
|
85
|
+
tr.setSelection(prosemirror_state_1.NodeSelection.create(view.state.doc, metadata.element.pos));
|
65
86
|
tr.scrollIntoView();
|
66
87
|
view.focus();
|
67
88
|
view.dispatch(tr);
|
68
89
|
};
|
69
|
-
const handleDetach =
|
90
|
+
const handleDetach = (metadata) => {
|
91
|
+
if (!metadata.pos) {
|
92
|
+
return;
|
93
|
+
}
|
70
94
|
const tr = view.state.tr;
|
71
|
-
tr.setNodeAttribute(
|
72
|
-
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc,
|
95
|
+
tr.setNodeAttribute(metadata.pos, 'src', '');
|
96
|
+
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc, metadata.pos));
|
73
97
|
tr.scrollIntoView();
|
74
98
|
view.focus();
|
75
99
|
view.dispatch(tr);
|
76
100
|
};
|
77
|
-
const handleReplace = async (
|
101
|
+
const handleReplace = async (metadata, file) => {
|
102
|
+
if (!metadata.pos) {
|
103
|
+
return;
|
104
|
+
}
|
78
105
|
const uploaded = await fileManagement.upload(file);
|
79
106
|
const tr = view.state.tr;
|
80
|
-
tr.setNodeAttribute(
|
81
|
-
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc,
|
107
|
+
tr.setNodeAttribute(metadata.pos, 'src', uploaded.id);
|
108
|
+
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc, metadata.pos));
|
82
109
|
tr.scrollIntoView();
|
83
110
|
view.focus();
|
84
111
|
view.dispatch(tr);
|
85
112
|
};
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
const getElementFileType = (element) => {
|
92
|
-
if (element.node.attrs.id === ga?.node.attrs.id) {
|
93
|
-
return style_guide_1.FileType.GraphicalAbstract;
|
94
|
-
}
|
95
|
-
if (element.node.type === transform_1.schema.nodes.image_element) {
|
96
|
-
return style_guide_1.FileType.Image;
|
97
|
-
}
|
98
|
-
return style_guide_1.FileType.Figure;
|
99
|
-
};
|
100
|
-
const getElementFileLabel = (element, counters) => {
|
101
|
-
const fileType = FileTypeLabels[getElementFileType(element)];
|
102
|
-
if (fileType === 'Graphical Abstract') {
|
103
|
-
return fileType;
|
104
|
-
}
|
105
|
-
counters[fileType] = (counters[fileType] || 0) + 1;
|
106
|
-
return `${fileType} ${counters[fileType]}`;
|
107
|
-
};
|
108
|
-
const counters = {
|
109
|
-
[style_guide_1.FileType.GraphicalAbstract]: 0,
|
110
|
-
[style_guide_1.FileType.Image]: 0,
|
111
|
-
[style_guide_1.FileType.Figure]: 0,
|
112
|
-
};
|
113
|
-
return (react_1.default.createElement(react_1.default.Fragment, null, elements.map((element, index) => {
|
114
|
-
const figure = element.files && element.files[0];
|
115
|
-
return (react_1.default.createElement(FileContainer_1.FileContainer, { "data-cy": "file-container", key: index, onClick: () => handleClick(element) },
|
116
|
-
react_1.default.createElement(ElementLabelContainer, null,
|
117
|
-
(0, style_guide_1.getFileTypeIcon)(getElementFileType(element)),
|
118
|
-
react_1.default.createElement(ElementLabel, null,
|
119
|
-
getElementFileLabel(element, counters),
|
120
|
-
":")),
|
121
|
-
figure && (react_1.default.createElement(ElementFile, { key: figure.file.id, figure: figure, onReplace: async (f) => await handleReplace(figure, f), onDetach: async () => await handleDetach(figure), onDownload: () => fileManagement.download(figure.file) }))));
|
113
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, metadata.map((e, index) => {
|
114
|
+
return (react_1.default.createElement(FileContainer_1.FileContainer, { "data-cy": "file-container", key: index, onClick: () => handleClick(e) },
|
115
|
+
react_1.default.createElement(FileName_1.FileName, { file: e.file, label: e.label, icon: e.icon }),
|
116
|
+
react_1.default.createElement(FileCreatedDate_1.FileCreatedDate, { file: e.file, className: "show-on-hover" }),
|
117
|
+
react_1.default.createElement(FileActions_1.FileActions, { "data-cy": "file-actions", sectionType: FileManager_1.FileSectionType.Inline, onReplace: async (f) => await handleReplace(e, f), onDetach: () => handleDetach(e), onDownload: () => fileManagement.download(e.file) })));
|
122
118
|
})));
|
123
119
|
};
|
124
120
|
exports.InlineFilesSection = InlineFilesSection;
|
125
|
-
const ElementFile = ({ figure, onDownload, onReplace, onDetach }) => {
|
126
|
-
return (react_1.default.createElement(Element, null,
|
127
|
-
react_1.default.createElement(FileName_1.FileName, { file: figure.file, showIcon: false }),
|
128
|
-
react_1.default.createElement(FileCreatedDate_1.FileCreatedDate, { file: figure.file, className: "show-on-hover" }),
|
129
|
-
react_1.default.createElement(FileActions_1.FileActions, { "data-cy": "file-actions", sectionType: FileManager_1.FileSectionType.Inline, onDownload: figure.file ? onDownload : undefined, onDetach: figure.file ? onDetach : undefined, onReplace: onReplace })));
|
130
|
-
};
|
131
|
-
const Element = styled_components_1.default.div `
|
132
|
-
display: flex;
|
133
|
-
align-items: center;
|
134
|
-
`;
|
135
|
-
const ElementLabelContainer = styled_components_1.default.div `
|
136
|
-
display: flex;
|
137
|
-
cursor: pointer;
|
138
|
-
`;
|
139
|
-
const ElementLabel = styled_components_1.default.div `
|
140
|
-
color: ${(props) => props.theme.colors.text.primary};
|
141
|
-
font-weight: bold;
|
142
|
-
font-size: 16px;
|
143
|
-
line-height: 20px;
|
144
|
-
white-space: nowrap;
|
145
|
-
margin-left: ${(props) => props.theme.grid.unit * 2}px;
|
146
|
-
align-content: center;
|
147
|
-
`;
|
148
121
|
//# sourceMappingURL=InlineFilesSection.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":"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"}
|
@@ -45,23 +45,11 @@ const react_1 = __importStar(require("react"));
|
|
45
45
|
const styled_components_1 = __importDefault(require("styled-components"));
|
46
46
|
const store_1 = require("../../store");
|
47
47
|
const FileActions_1 = require("./FileActions");
|
48
|
+
const FileContainer_1 = require("./FileContainer");
|
48
49
|
const FileManager_1 = require("./FileManager");
|
50
|
+
const FileName_1 = require("./FileName");
|
49
51
|
const FileSectionAlert_1 = require("./FileSectionAlert");
|
50
52
|
const FileUploader_1 = require("./FileUploader");
|
51
|
-
const MainDocumentContainer = styled_components_1.default.div `
|
52
|
-
display: flex;
|
53
|
-
align-items: center;
|
54
|
-
padding: 26px 16px;
|
55
|
-
gap: 12px;
|
56
|
-
position: relative;
|
57
|
-
&:hover {
|
58
|
-
background-color: #f2fbfc;
|
59
|
-
}
|
60
|
-
`;
|
61
|
-
const MainDocumentInfo = styled_components_1.default.div `
|
62
|
-
display: flex;
|
63
|
-
flex: 1;
|
64
|
-
`;
|
65
53
|
const MainDocumentTitle = styled_components_1.default.div `
|
66
54
|
color: ${(props) => props.theme.colors.text.primary};
|
67
55
|
font-weight: 700;
|
@@ -72,16 +60,6 @@ const MainDocumentTitle = styled_components_1.default.div `
|
|
72
60
|
gap: 12px;
|
73
61
|
position: relative;
|
74
62
|
`;
|
75
|
-
const Label = styled_components_1.default.span `
|
76
|
-
color: ${(props) => props.theme.colors.text.primary};
|
77
|
-
font-size: 16px;
|
78
|
-
margin-right: 3.2px;
|
79
|
-
font-weight: 700;
|
80
|
-
`;
|
81
|
-
const FileName = styled_components_1.default.span `
|
82
|
-
color: ${(props) => props.theme.colors.text.primary};
|
83
|
-
font-size: 16px;
|
84
|
-
`;
|
85
63
|
const MainFilesSection = ({ mainDocument, }) => {
|
86
64
|
const [{ fileManagement, view }] = (0, store_1.useStore)((s) => ({
|
87
65
|
fileManagement: s.fileManagement,
|
@@ -140,11 +118,8 @@ const MainFilesSection = ({ mainDocument, }) => {
|
|
140
118
|
});
|
141
119
|
};
|
142
120
|
return (react_1.default.createElement("div", null,
|
143
|
-
mainDocument ? (react_1.default.createElement(
|
144
|
-
react_1.default.createElement(style_guide_1.FileMainDocumentIcon
|
145
|
-
react_1.default.createElement(MainDocumentInfo, null,
|
146
|
-
react_1.default.createElement(Label, null, "Main:"),
|
147
|
-
react_1.default.createElement(FileName, null, mainDocument.file.name)),
|
121
|
+
mainDocument ? (react_1.default.createElement(FileContainer_1.FileContainer, { "data-cy": "file-container" },
|
122
|
+
react_1.default.createElement(FileName_1.FileName, { file: mainDocument.file, label: "Main", icon: style_guide_1.FileMainDocumentIcon }),
|
148
123
|
react_1.default.createElement(FileActions_1.FileActions, { "data-cy": "file-actions", sectionType: FileManager_1.FileSectionType.MainFile, onDownload: handleDownload, onReplace: handleReplace, move: {
|
149
124
|
sectionType: FileManager_1.FileSectionType.OtherFile,
|
150
125
|
handler: () => handleMove(mainDocument),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MainFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/MainFilesSection.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,0DAAqE;AACrE,0DAKiC;AACjC,4EAAgE;AAChE,+CAAuC;AACvC,0EAAsC;AAEtC,uCAAsC;AACtC,+CAA2C;AAC3C,+CAA+C;AAC/C,yDAA2E;AAC3E,iDAA6C;AAE7C,MAAM,
|
1
|
+
{"version":3,"file":"MainFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/MainFilesSection.tsx"],"names":[],"mappings":"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"}
|
@@ -43,7 +43,7 @@ export const FileManager = () => {
|
|
43
43
|
files: s.files,
|
44
44
|
inspectorOpenTabs: s.inspectorOpenTabs,
|
45
45
|
}));
|
46
|
-
const { figures, supplements,
|
46
|
+
const { figures, supplements, attachments, others } = groupFiles(doc, files);
|
47
47
|
return (React.createElement(InspectorTabs, { defaultIndex: 0, selectedIndex: inspectorOpenTabs?.secondaryTab || 0, "data-cy": "files-tabs", style: { overflow: 'visible' }, onChange: (index) => dispatch({ inspectorOpenTabs: { secondaryTab: index } }) },
|
48
48
|
React.createElement(FileManagerDragLayer, null),
|
49
49
|
React.createElement(InspectorTabList, null,
|
@@ -59,7 +59,7 @@ export const FileManager = () => {
|
|
59
59
|
React.createElement(InspectorTabPanel, { "data-cy": "inline" },
|
60
60
|
React.createElement(InlineFilesSection, { elements: figures })),
|
61
61
|
React.createElement(InspectorTabPanel, { "data-cy": "main" },
|
62
|
-
React.createElement(MainFilesSection, { mainDocument:
|
62
|
+
React.createElement(MainFilesSection, { mainDocument: attachments[0] })),
|
63
63
|
React.createElement(InspectorTabPanel, { "data-cy": "supplements" },
|
64
64
|
React.createElement(SupplementsSection, { supplements: supplements })),
|
65
65
|
React.createElement(InspectorTabPanel, { "data-cy": "other" },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileManager.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,8CAA2B,CAAA;IAC3B,4CAAyB,CAAA;IACzB,6CAA0B,CAAA;AAC5B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AASD;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAa,GAAG,EAAE;IACxC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;KACvC,CAAC,CAAC,CAAA;IAEH,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,
|
1
|
+
{"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileManager.tsx"],"names":[],"mappings":"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"}
|
@@ -3,16 +3,19 @@ import React from 'react';
|
|
3
3
|
import styled from 'styled-components';
|
4
4
|
import { trimFilename } from '../../lib/files';
|
5
5
|
import { FileTypeIcon } from './FileTypeIcon';
|
6
|
-
export const FileName = ({ file,
|
6
|
+
export const FileName = ({ file, label, icon: Icon }) => {
|
7
7
|
const maxBaseNameLength = 30; // Adjust this value as needed
|
8
8
|
// Get the trimmed filename
|
9
9
|
const trimmedFilename = trimFilename(file.name, maxBaseNameLength);
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
10
|
+
const tooltipID = `${file.id}-file-name-tooltip`;
|
11
|
+
return (React.createElement(FileNameContainer, { "data-tooltip-id": tooltipID },
|
12
|
+
(Icon && React.createElement(Icon, { className: "file-icon" })) || React.createElement(FileTypeIcon, { file: file }),
|
13
|
+
label && React.createElement(FileLabel, null,
|
14
|
+
label,
|
15
|
+
":"),
|
16
|
+
React.createElement(FileNameText, { "data-cy": "filename" },
|
17
|
+
trimmedFilename,
|
18
|
+
React.createElement(Tooltip, { id: tooltipID, place: "bottom" }, file.name))));
|
16
19
|
};
|
17
20
|
export const FileNameText = styled.div `
|
18
21
|
font-family: ${(props) => props.theme.font.family.Lato};
|
@@ -26,11 +29,21 @@ export const FileNameText = styled.div `
|
|
26
29
|
white-space: nowrap;
|
27
30
|
text-overflow: ellipsis;
|
28
31
|
`;
|
29
|
-
|
32
|
+
const FileNameContainer = styled.div `
|
30
33
|
display: flex;
|
34
|
+
flex: 1;
|
31
35
|
align-items: center;
|
32
36
|
.react-tooltip {
|
33
37
|
max-width: 100% !important;
|
34
38
|
}
|
35
39
|
`;
|
40
|
+
const FileLabel = styled.div `
|
41
|
+
color: ${(props) => props.theme.colors.text.primary};
|
42
|
+
font-weight: bold;
|
43
|
+
font-size: 16px;
|
44
|
+
line-height: 20px;
|
45
|
+
white-space: nowrap;
|
46
|
+
margin-left: ${(props) => props.theme.grid.unit * 2}px;
|
47
|
+
align-content: center;
|
48
|
+
`;
|
36
49
|
//# sourceMappingURL=FileName.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FileName.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileName.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,CAAC,MAAM,QAAQ,
|
1
|
+
{"version":3,"file":"FileName.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileName.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAIhB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,MAAM,iBAAiB,GAAG,EAAE,CAAA,CAAC,8BAA8B;IAE3D,2BAA2B;IAC3B,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAChD,OAAO,CACL,oBAAC,iBAAiB,uBAAkB,SAAS;QAC1C,CAAC,IAAI,IAAI,oBAAC,IAAI,IAAC,SAAS,EAAC,WAAW,GAAG,CAAC,IAAI,oBAAC,YAAY,IAAC,IAAI,EAAE,IAAI,GAAI;QACxE,KAAK,IAAI,oBAAC,SAAS;YAAE,KAAK;gBAAc;QACzC,oBAAC,YAAY,eAAS,UAAU;YAC7B,eAAe;YAChB,oBAAC,OAAO,IAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAC,QAAQ,IACnC,IAAI,CAAC,IAAI,CACF,CACG,CACG,CACrB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;iBACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;eACzC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;iBACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;iBAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;WAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;iBACpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;;;;;CAKpD,CAAA;AAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOnC,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA;WACjB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;;;;iBAKpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;;CAEpD,CAAA"}
|
@@ -1,16 +1,10 @@
|
|
1
|
-
import {
|
1
|
+
import { FileUnknownIcon, getFileIcon } from '@manuscripts/style-guide';
|
2
2
|
import React from 'react';
|
3
3
|
/**
|
4
4
|
* Each file item has an icon to represent besides the file info based on the file extension,
|
5
5
|
* in case the file type is an image or video then the icon should be the preview image or video thumbnail.
|
6
6
|
*/
|
7
7
|
export const FileTypeIcon = ({ file }) => {
|
8
|
-
if (file.type.id === 'missing') {
|
9
|
-
return React.createElement(FileCorruptedIcon, { className: "file-icon" });
|
10
|
-
}
|
11
|
-
if (file.type.id === 'main-manuscript') {
|
12
|
-
return React.createElement(FileMainDocumentIcon, { className: "file-icon" });
|
13
|
-
}
|
14
8
|
const icon = getFileIcon(file.name);
|
15
9
|
return icon || React.createElement(FileUnknownIcon, { className: "file-icon" });
|
16
10
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FileTypeIcon.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileTypeIcon.tsx"],"names":[],"mappings":"AAYA,OAAO,
|
1
|
+
{"version":3,"file":"FileTypeIcon.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileTypeIcon.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAEpB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAChB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,IAAI,IAAI,oBAAC,eAAe,IAAC,SAAS,EAAC,WAAW,GAAG,CAAA;AAC1D,CAAC,CAAA"}
|
@@ -1,20 +1,8 @@
|
|
1
|
-
|
2
|
-
* The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://mpapp-public.gitlab.io/manuscripts-frontend/LICENSE. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
|
3
|
-
*
|
4
|
-
* Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
5
|
-
*
|
6
|
-
* The Original Code is manuscripts-frontend.
|
7
|
-
*
|
8
|
-
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
9
|
-
*
|
10
|
-
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2024 Atypon Systems LLC. All Rights Reserved.
|
11
|
-
*/
|
12
|
-
import { findGraphicalAbstractFigureElement, } from '@manuscripts/body-editor';
|
13
|
-
import { FileType, getFileTypeIcon } from '@manuscripts/style-guide';
|
1
|
+
import { FileFigureIcon, FileGraphicalAbstractIcon, FileImageIcon, } from '@manuscripts/style-guide';
|
14
2
|
import { schema } from '@manuscripts/transform';
|
15
3
|
import { NodeSelection } from 'prosemirror-state';
|
4
|
+
import { findParentNodeOfTypeClosestToPos } from 'prosemirror-utils';
|
16
5
|
import React, { useMemo } from 'react';
|
17
|
-
import styled from 'styled-components';
|
18
6
|
import { useStore } from '../../store';
|
19
7
|
import { FileActions } from './FileActions';
|
20
8
|
import { FileContainer } from './FileContainer';
|
@@ -22,97 +10,85 @@ import { FileCreatedDate } from './FileCreatedDate';
|
|
22
10
|
import { FileSectionType } from './FileManager';
|
23
11
|
import { FileName } from './FileName';
|
24
12
|
export const InlineFilesSection = ({ elements, }) => {
|
25
|
-
const [{ view, fileManagement }] = useStore((s) => ({
|
13
|
+
const [{ view, fileManagement, sectionCategories }] = useStore((s) => ({
|
26
14
|
view: s.view,
|
27
15
|
fileManagement: s.fileManagement,
|
16
|
+
sectionCategories: s.sectionCategories,
|
28
17
|
}));
|
29
|
-
const
|
18
|
+
const metadata = useMemo(() => {
|
19
|
+
if (!view) {
|
20
|
+
return [];
|
21
|
+
}
|
22
|
+
let figureIndex = 1;
|
23
|
+
let imageIndex = 1;
|
24
|
+
return elements.map((element) => {
|
25
|
+
const figure = element.files[0];
|
26
|
+
const file = figure?.file || { id: '', name: '' };
|
27
|
+
const $pos = view.state.doc.resolve(element.pos);
|
28
|
+
const section = findParentNodeOfTypeClosestToPos($pos, schema.nodes.graphical_abstract_section);
|
29
|
+
let label;
|
30
|
+
let icon;
|
31
|
+
if (section) {
|
32
|
+
const category = section.node.attrs.category;
|
33
|
+
label = sectionCategories.get(category)?.titles[0] || '';
|
34
|
+
icon = FileGraphicalAbstractIcon;
|
35
|
+
}
|
36
|
+
else if (element.node.type === schema.nodes.image_element) {
|
37
|
+
label = `Image ${imageIndex++}`;
|
38
|
+
icon = FileImageIcon;
|
39
|
+
}
|
40
|
+
else {
|
41
|
+
label = `Figure ${figureIndex++}`;
|
42
|
+
icon = FileFigureIcon;
|
43
|
+
}
|
44
|
+
return {
|
45
|
+
element,
|
46
|
+
node: figure?.node,
|
47
|
+
pos: figure?.pos,
|
48
|
+
file,
|
49
|
+
label,
|
50
|
+
icon,
|
51
|
+
};
|
52
|
+
});
|
53
|
+
}, [elements, view, sectionCategories]);
|
30
54
|
if (!view) {
|
31
55
|
return null;
|
32
56
|
}
|
33
|
-
const handleClick = (
|
57
|
+
const handleClick = (metadata) => {
|
34
58
|
const tr = view.state.tr;
|
35
|
-
tr.setSelection(NodeSelection.create(view.state.doc, element.pos));
|
59
|
+
tr.setSelection(NodeSelection.create(view.state.doc, metadata.element.pos));
|
36
60
|
tr.scrollIntoView();
|
37
61
|
view.focus();
|
38
62
|
view.dispatch(tr);
|
39
63
|
};
|
40
|
-
const handleDetach =
|
64
|
+
const handleDetach = (metadata) => {
|
65
|
+
if (!metadata.pos) {
|
66
|
+
return;
|
67
|
+
}
|
41
68
|
const tr = view.state.tr;
|
42
|
-
tr.setNodeAttribute(
|
43
|
-
tr.setSelection(NodeSelection.create(tr.doc,
|
69
|
+
tr.setNodeAttribute(metadata.pos, 'src', '');
|
70
|
+
tr.setSelection(NodeSelection.create(tr.doc, metadata.pos));
|
44
71
|
tr.scrollIntoView();
|
45
72
|
view.focus();
|
46
73
|
view.dispatch(tr);
|
47
74
|
};
|
48
|
-
const handleReplace = async (
|
75
|
+
const handleReplace = async (metadata, file) => {
|
76
|
+
if (!metadata.pos) {
|
77
|
+
return;
|
78
|
+
}
|
49
79
|
const uploaded = await fileManagement.upload(file);
|
50
80
|
const tr = view.state.tr;
|
51
|
-
tr.setNodeAttribute(
|
52
|
-
tr.setSelection(NodeSelection.create(tr.doc,
|
81
|
+
tr.setNodeAttribute(metadata.pos, 'src', uploaded.id);
|
82
|
+
tr.setSelection(NodeSelection.create(tr.doc, metadata.pos));
|
53
83
|
tr.scrollIntoView();
|
54
84
|
view.focus();
|
55
85
|
view.dispatch(tr);
|
56
86
|
};
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
const getElementFileType = (element) => {
|
63
|
-
if (element.node.attrs.id === ga?.node.attrs.id) {
|
64
|
-
return FileType.GraphicalAbstract;
|
65
|
-
}
|
66
|
-
if (element.node.type === schema.nodes.image_element) {
|
67
|
-
return FileType.Image;
|
68
|
-
}
|
69
|
-
return FileType.Figure;
|
70
|
-
};
|
71
|
-
const getElementFileLabel = (element, counters) => {
|
72
|
-
const fileType = FileTypeLabels[getElementFileType(element)];
|
73
|
-
if (fileType === 'Graphical Abstract') {
|
74
|
-
return fileType;
|
75
|
-
}
|
76
|
-
counters[fileType] = (counters[fileType] || 0) + 1;
|
77
|
-
return `${fileType} ${counters[fileType]}`;
|
78
|
-
};
|
79
|
-
const counters = {
|
80
|
-
[FileType.GraphicalAbstract]: 0,
|
81
|
-
[FileType.Image]: 0,
|
82
|
-
[FileType.Figure]: 0,
|
83
|
-
};
|
84
|
-
return (React.createElement(React.Fragment, null, elements.map((element, index) => {
|
85
|
-
const figure = element.files && element.files[0];
|
86
|
-
return (React.createElement(FileContainer, { "data-cy": "file-container", key: index, onClick: () => handleClick(element) },
|
87
|
-
React.createElement(ElementLabelContainer, null,
|
88
|
-
getFileTypeIcon(getElementFileType(element)),
|
89
|
-
React.createElement(ElementLabel, null,
|
90
|
-
getElementFileLabel(element, counters),
|
91
|
-
":")),
|
92
|
-
figure && (React.createElement(ElementFile, { key: figure.file.id, figure: figure, onReplace: async (f) => await handleReplace(figure, f), onDetach: async () => await handleDetach(figure), onDownload: () => fileManagement.download(figure.file) }))));
|
87
|
+
return (React.createElement(React.Fragment, null, metadata.map((e, index) => {
|
88
|
+
return (React.createElement(FileContainer, { "data-cy": "file-container", key: index, onClick: () => handleClick(e) },
|
89
|
+
React.createElement(FileName, { file: e.file, label: e.label, icon: e.icon }),
|
90
|
+
React.createElement(FileCreatedDate, { file: e.file, className: "show-on-hover" }),
|
91
|
+
React.createElement(FileActions, { "data-cy": "file-actions", sectionType: FileSectionType.Inline, onReplace: async (f) => await handleReplace(e, f), onDetach: () => handleDetach(e), onDownload: () => fileManagement.download(e.file) })));
|
93
92
|
})));
|
94
93
|
};
|
95
|
-
const ElementFile = ({ figure, onDownload, onReplace, onDetach }) => {
|
96
|
-
return (React.createElement(Element, null,
|
97
|
-
React.createElement(FileName, { file: figure.file, showIcon: false }),
|
98
|
-
React.createElement(FileCreatedDate, { file: figure.file, className: "show-on-hover" }),
|
99
|
-
React.createElement(FileActions, { "data-cy": "file-actions", sectionType: FileSectionType.Inline, onDownload: figure.file ? onDownload : undefined, onDetach: figure.file ? onDetach : undefined, onReplace: onReplace })));
|
100
|
-
};
|
101
|
-
const Element = styled.div `
|
102
|
-
display: flex;
|
103
|
-
align-items: center;
|
104
|
-
`;
|
105
|
-
const ElementLabelContainer = styled.div `
|
106
|
-
display: flex;
|
107
|
-
cursor: pointer;
|
108
|
-
`;
|
109
|
-
const ElementLabel = styled.div `
|
110
|
-
color: ${(props) => props.theme.colors.text.primary};
|
111
|
-
font-weight: bold;
|
112
|
-
font-size: 16px;
|
113
|
-
line-height: 20px;
|
114
|
-
white-space: nowrap;
|
115
|
-
margin-left: ${(props) => props.theme.grid.unit * 2}px;
|
116
|
-
align-content: center;
|
117
|
-
`;
|
118
94
|
//# sourceMappingURL=InlineFilesSection.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":"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"}
|
@@ -16,23 +16,11 @@ import React, { useState } from 'react';
|
|
16
16
|
import styled from 'styled-components';
|
17
17
|
import { useStore } from '../../store';
|
18
18
|
import { FileActions } from './FileActions';
|
19
|
+
import { FileContainer } from './FileContainer';
|
19
20
|
import { FileSectionType } from './FileManager';
|
21
|
+
import { FileName } from './FileName';
|
20
22
|
import { FileSectionAlert, FileSectionAlertType } from './FileSectionAlert';
|
21
23
|
import { FileUploader } from './FileUploader';
|
22
|
-
const MainDocumentContainer = styled.div `
|
23
|
-
display: flex;
|
24
|
-
align-items: center;
|
25
|
-
padding: 26px 16px;
|
26
|
-
gap: 12px;
|
27
|
-
position: relative;
|
28
|
-
&:hover {
|
29
|
-
background-color: #f2fbfc;
|
30
|
-
}
|
31
|
-
`;
|
32
|
-
const MainDocumentInfo = styled.div `
|
33
|
-
display: flex;
|
34
|
-
flex: 1;
|
35
|
-
`;
|
36
24
|
const MainDocumentTitle = styled.div `
|
37
25
|
color: ${(props) => props.theme.colors.text.primary};
|
38
26
|
font-weight: 700;
|
@@ -43,16 +31,6 @@ const MainDocumentTitle = styled.div `
|
|
43
31
|
gap: 12px;
|
44
32
|
position: relative;
|
45
33
|
`;
|
46
|
-
const Label = styled.span `
|
47
|
-
color: ${(props) => props.theme.colors.text.primary};
|
48
|
-
font-size: 16px;
|
49
|
-
margin-right: 3.2px;
|
50
|
-
font-weight: 700;
|
51
|
-
`;
|
52
|
-
const FileName = styled.span `
|
53
|
-
color: ${(props) => props.theme.colors.text.primary};
|
54
|
-
font-size: 16px;
|
55
|
-
`;
|
56
34
|
export const MainFilesSection = ({ mainDocument, }) => {
|
57
35
|
const [{ fileManagement, view }] = useStore((s) => ({
|
58
36
|
fileManagement: s.fileManagement,
|
@@ -111,11 +89,8 @@ export const MainFilesSection = ({ mainDocument, }) => {
|
|
111
89
|
});
|
112
90
|
};
|
113
91
|
return (React.createElement("div", null,
|
114
|
-
mainDocument ? (React.createElement(
|
115
|
-
React.createElement(
|
116
|
-
React.createElement(MainDocumentInfo, null,
|
117
|
-
React.createElement(Label, null, "Main:"),
|
118
|
-
React.createElement(FileName, null, mainDocument.file.name)),
|
92
|
+
mainDocument ? (React.createElement(FileContainer, { "data-cy": "file-container" },
|
93
|
+
React.createElement(FileName, { file: mainDocument.file, label: "Main", icon: FileMainDocumentIcon }),
|
119
94
|
React.createElement(FileActions, { "data-cy": "file-actions", sectionType: FileSectionType.MainFile, onDownload: handleDownload, onReplace: handleReplace, move: {
|
120
95
|
sectionType: FileSectionType.OtherFile,
|
121
96
|
handler: () => handleMove(mainDocument),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MainFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/MainFilesSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,gBAAgB,EAAY,MAAM,0BAA0B,CAAA;AACrE,OAAO,EACL,QAAQ,EACR,MAAM,EACN,oBAAoB,EACpB,cAAc,GACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"MainFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/MainFilesSection.tsx"],"names":[],"mappings":"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"}
|
@@ -13,7 +13,7 @@ import { FileAttachment } from '@manuscripts/body-editor';
|
|
13
13
|
import React from 'react';
|
14
14
|
export declare const FileName: React.FC<{
|
15
15
|
file: FileAttachment;
|
16
|
-
|
16
|
+
icon?: React.FC<React.SVGAttributes<SVGElement>>;
|
17
|
+
label?: string;
|
17
18
|
}>;
|
18
19
|
export declare const FileNameText: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
19
|
-
export declare const FileNameContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@manuscripts/article-editor",
|
3
|
-
"version": "3.8.21-LEAN-
|
3
|
+
"version": "3.8.21-LEAN-4468.1",
|
4
4
|
"license": "CPAL-1.0",
|
5
5
|
"description": "React components for editing and viewing manuscripts",
|
6
6
|
"repository": "github:Atypon-OpenSource/manuscripts-article-editor",
|
@@ -35,12 +35,12 @@
|
|
35
35
|
"@fontsource/lato": "^4.5.10",
|
36
36
|
"@fontsource/pt-sans": "^4.5.11",
|
37
37
|
"@fontsource/pt-serif": "^4.5.11",
|
38
|
-
"@manuscripts/body-editor": "2.8.21-LEAN-
|
38
|
+
"@manuscripts/body-editor": "2.8.21-LEAN-4468.0",
|
39
39
|
"@manuscripts/json-schema": "2.2.11",
|
40
40
|
"@manuscripts/library": "1.3.11",
|
41
41
|
"@manuscripts/style-guide": "2.1.6",
|
42
42
|
"@manuscripts/track-changes-plugin": "1.10.1",
|
43
|
-
"@manuscripts/transform": "3.0.
|
43
|
+
"@manuscripts/transform": "3.0.49",
|
44
44
|
"@popperjs/core": "^2.11.8",
|
45
45
|
"@types/use-sync-external-store": "^0.0.6",
|
46
46
|
"autotrack": "^2.4.1",
|