@manuscripts/article-editor 4.0.4-LEAN-4614.0 → 4.0.4-LEAN-4591.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.
- package/dist/cjs/components/FileManager/FileActions.js +3 -1
- package/dist/cjs/components/FileManager/FileActions.js.map +1 -1
- package/dist/cjs/components/FileManager/FileGroup.js +108 -0
- package/dist/cjs/components/FileManager/FileGroup.js.map +1 -0
- package/dist/cjs/components/FileManager/InlineFilesSection.js +78 -28
- package/dist/cjs/components/FileManager/InlineFilesSection.js.map +1 -1
- package/dist/cjs/components/Inspector.js +1 -43
- package/dist/cjs/components/Inspector.js.map +1 -1
- package/dist/cjs/components/projects/Inspector.js +5 -25
- package/dist/cjs/components/projects/Inspector.js.map +1 -1
- package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js +7 -2
- package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
- package/dist/cjs/hooks/use-connect-editor.js +1 -7
- package/dist/cjs/hooks/use-connect-editor.js.map +1 -1
- package/dist/cjs/hooks/use-inspector-tabs-context.js +0 -1
- package/dist/cjs/hooks/use-inspector-tabs-context.js.map +1 -1
- package/dist/cjs/index.js +1 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/change-handlers.js +1 -1
- package/dist/cjs/lib/change-handlers.js.map +1 -1
- package/dist/cjs/lib/utils.js +1 -8
- package/dist/cjs/lib/utils.js.map +1 -1
- package/dist/cjs/store/Store.js +1 -1
- package/dist/cjs/store/Store.js.map +1 -1
- package/dist/es/components/FileManager/FileActions.js +3 -1
- package/dist/es/components/FileManager/FileActions.js.map +1 -1
- package/dist/es/components/FileManager/FileGroup.js +102 -0
- package/dist/es/components/FileManager/FileGroup.js.map +1 -0
- package/dist/es/components/FileManager/InlineFilesSection.js +81 -31
- package/dist/es/components/FileManager/InlineFilesSection.js.map +1 -1
- package/dist/es/components/Inspector.js +0 -42
- package/dist/es/components/Inspector.js.map +1 -1
- package/dist/es/components/projects/Inspector.js +7 -27
- package/dist/es/components/projects/Inspector.js.map +1 -1
- package/dist/es/components/track-changes/suggestion-list/Suggestion.js +6 -1
- package/dist/es/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
- package/dist/es/hooks/use-connect-editor.js +2 -8
- package/dist/es/hooks/use-connect-editor.js.map +1 -1
- package/dist/es/hooks/use-inspector-tabs-context.js +0 -1
- package/dist/es/hooks/use-inspector-tabs-context.js.map +1 -1
- package/dist/es/index.js +0 -1
- package/dist/es/index.js.map +1 -1
- package/dist/es/lib/change-handlers.js +1 -1
- package/dist/es/lib/change-handlers.js.map +1 -1
- package/dist/es/lib/utils.js +0 -6
- package/dist/es/lib/utils.js.map +1 -1
- package/dist/es/store/Store.js +1 -1
- package/dist/es/store/Store.js.map +1 -1
- package/dist/types/components/FileManager/FileActions.d.ts +1 -0
- package/dist/types/components/{inspector/IssuesPanel.d.ts → FileManager/FileGroup.d.ts} +8 -2
- package/dist/types/components/Inspector.d.ts +0 -2
- package/dist/types/hooks/use-inspector-tabs-context.d.ts +1 -2
- package/dist/types/index.d.ts +0 -1
- package/dist/types/lib/utils.d.ts +0 -1
- package/dist/types/store/Store.d.ts +2 -3
- package/package.json +3 -3
- package/dist/cjs/components/inspector/IssuesPanel.js +0 -160
- package/dist/cjs/components/inspector/IssuesPanel.js.map +0 -1
- package/dist/es/components/inspector/IssuesPanel.js +0 -130
- package/dist/es/components/inspector/IssuesPanel.js.map +0 -1
@@ -33,7 +33,7 @@ const styled_components_1 = __importDefault(require("styled-components"));
|
|
33
33
|
/**
|
34
34
|
* This component represents the drop-down list action for each file item.
|
35
35
|
*/
|
36
|
-
const FileActions = ({ sectionType, onDownload, onReplace, onDetach, onUseAsMain, move, className, file, accept, }) => {
|
36
|
+
const FileActions = ({ sectionType, onDownload, onReplace, onDetach, onDelete, onUseAsMain, move, className, file, accept, }) => {
|
37
37
|
const can = (0, style_guide_1.usePermissions)();
|
38
38
|
const { isOpen, toggleOpen, wrapperRef } = (0, style_guide_1.useDropdown)();
|
39
39
|
const [isMoveDialogOpen, setMoveDialogOpen] = (0, react_1.useState)(false);
|
@@ -41,6 +41,7 @@ const FileActions = ({ sectionType, onDownload, onReplace, onDetach, onUseAsMain
|
|
41
41
|
const showDownload = can?.downloadFiles && onDownload;
|
42
42
|
const showReplace = can?.replaceFile && onReplace;
|
43
43
|
const showDetach = can?.detachFile && onDetach;
|
44
|
+
const showDelete = can?.detachFile && onDelete;
|
44
45
|
const showMove = can?.moveFile && move;
|
45
46
|
const showUseAsMain = can?.moveFile && onUseAsMain && isValidMainDocumentFormat(file);
|
46
47
|
const show = showDownload || showReplace || showDetach || showMove || showUseAsMain;
|
@@ -68,6 +69,7 @@ const FileActions = ({ sectionType, onDownload, onReplace, onDetach, onUseAsMain
|
|
68
69
|
react_1.default.createElement(exports.FileAction, { onClick: openFileDialog }, "Replace"),
|
69
70
|
react_1.default.createElement("input", { ref: fileInputRef, type: "file", style: { display: 'none' }, onChange: handleChange, accept: accept }))),
|
70
71
|
showDetach && react_1.default.createElement(exports.FileAction, { onClick: onDetach }, "Detach"),
|
72
|
+
showDelete && react_1.default.createElement(exports.FileAction, { onClick: onDelete }, "Delete"),
|
71
73
|
showMove && (react_1.default.createElement(exports.FileAction, { onClick: () => setMoveDialogOpen(true) },
|
72
74
|
"Move to ",
|
73
75
|
move.sectionType)),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FileActions.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileActions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,0DASiC;AACjC,+CAA4D;AAC5D,0EAAsC;AAItC;;GAEG;AACI,MAAM,WAAW,
|
1
|
+
{"version":3,"file":"FileActions.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileActions.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,108 @@
|
|
1
|
+
"use strict";
|
2
|
+
/*!
|
3
|
+
* 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.
|
4
|
+
*
|
5
|
+
* 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.
|
6
|
+
*
|
7
|
+
* The Original Code is manuscripts-frontend.
|
8
|
+
*
|
9
|
+
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
10
|
+
*
|
11
|
+
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2025 Atypon Systems LLC. All Rights Reserved.
|
12
|
+
*/
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
exports.ToggleIcon = exports.FileGroupHeader = exports.FileLabel = exports.FileGroup = exports.FileGroupItemContainer = exports.FileGroupContainer = void 0;
|
18
|
+
const styled_components_1 = __importDefault(require("styled-components"));
|
19
|
+
exports.FileGroupContainer = styled_components_1.default.div `
|
20
|
+
margin: 20px 0px 20px 15px;
|
21
|
+
`;
|
22
|
+
exports.FileGroupItemContainer = styled_components_1.default.div `
|
23
|
+
display: flex;
|
24
|
+
align-items: center;
|
25
|
+
cursor: pointer;
|
26
|
+
padding: 24px 18px;
|
27
|
+
|
28
|
+
.react-tooltip {
|
29
|
+
max-width: 100% !important;
|
30
|
+
}
|
31
|
+
|
32
|
+
svg {
|
33
|
+
width: 16px;
|
34
|
+
}
|
35
|
+
|
36
|
+
&.dragging {
|
37
|
+
opacity: 0.2;
|
38
|
+
}
|
39
|
+
|
40
|
+
.show-on-hover {
|
41
|
+
visibility: hidden;
|
42
|
+
}
|
43
|
+
|
44
|
+
&:hover .show-on-hover {
|
45
|
+
visibility: visible;
|
46
|
+
}
|
47
|
+
|
48
|
+
&:hover,
|
49
|
+
&:focus {
|
50
|
+
background: #f2fbfc;
|
51
|
+
}
|
52
|
+
`;
|
53
|
+
exports.FileGroup = styled_components_1.default.div `
|
54
|
+
display: block;
|
55
|
+
`;
|
56
|
+
exports.FileLabel = styled_components_1.default.div `
|
57
|
+
color: ${(props) => props.theme.colors.text.primary};
|
58
|
+
font-weight: bold;
|
59
|
+
font-size: 16px;
|
60
|
+
line-height: 20px;
|
61
|
+
white-space: nowrap;
|
62
|
+
align-content: center;
|
63
|
+
`;
|
64
|
+
exports.FileGroupHeader = styled_components_1.default.div `
|
65
|
+
display: flex;
|
66
|
+
align-items: center;
|
67
|
+
cursor: pointer;
|
68
|
+
padding-right: 20px;
|
69
|
+
|
70
|
+
.file-icon {
|
71
|
+
margin-right: ${(props) => props.theme.grid.unit * 2}px; /* Adjust as needed */
|
72
|
+
}
|
73
|
+
|
74
|
+
${exports.FileLabel} {
|
75
|
+
flex: 1;
|
76
|
+
}
|
77
|
+
`;
|
78
|
+
exports.ToggleIcon = styled_components_1.default.div `
|
79
|
+
width: 20px;
|
80
|
+
height: 20px;
|
81
|
+
border-radius: 50%;
|
82
|
+
border: 1px solid #e2e2e2;
|
83
|
+
text-align: center;
|
84
|
+
cursor: pointer;
|
85
|
+
|
86
|
+
svg {
|
87
|
+
width: 19px;
|
88
|
+
height: 19px;
|
89
|
+
transition: transform 0.2s ease; // Smooth transition for rotation
|
90
|
+
}
|
91
|
+
|
92
|
+
// Style for TriangleCollapsedIcon (when collapsed)
|
93
|
+
${(props) => !props.isOpen &&
|
94
|
+
`
|
95
|
+
svg {
|
96
|
+
transform: rotate(270deg); // Point downward when collapsed
|
97
|
+
}
|
98
|
+
`}
|
99
|
+
|
100
|
+
// Style for TriangleExpandedIcon (when expanded)
|
101
|
+
${(props) => props.isOpen &&
|
102
|
+
`
|
103
|
+
svg {
|
104
|
+
transform: rotate(0deg); // Point upward when expanded
|
105
|
+
}
|
106
|
+
`}
|
107
|
+
`;
|
108
|
+
//# sourceMappingURL=FileGroup.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"FileGroup.js","sourceRoot":"","sources":["../../../../src/components/FileManager/FileGroup.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;AAEH,0EAAsC;AAEzB,QAAA,kBAAkB,GAAG,2BAAM,CAAC,GAAG,CAAA;;CAE3C,CAAA;AACY,QAAA,sBAAsB,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B/C,CAAA;AAEY,QAAA,SAAS,GAAG,2BAAM,CAAC,GAAG,CAAA;;CAElC,CAAA;AACY,QAAA,SAAS,GAAG,2BAAM,CAAC,GAAG,CAAA;WACxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;;;;;CAMpD,CAAA;AAEY,QAAA,eAAe,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;;;oBAOrB,CAAC,KAAK,EAAE,EAAE,CACxB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;;;IAG3B,iBAAS;;;CAGZ,CAAA;AAEY,QAAA,UAAU,GAAG,2BAAM,CAAC,GAAG,CAAqB;;;;;;;;;;;;;;;IAerD,CAAC,KAAK,EAAE,EAAE,CACV,CAAC,KAAK,CAAC,MAAM;IACb;;;;GAID;;;IAGC,CAAC,KAAK,EAAE,EAAE,CACV,KAAK,CAAC,MAAM;IACZ;;;;GAID;CACF,CAAA"}
|
@@ -29,31 +29,30 @@ const transform_1 = require("@manuscripts/transform");
|
|
29
29
|
const prosemirror_state_1 = require("prosemirror-state");
|
30
30
|
const prosemirror_utils_1 = require("prosemirror-utils");
|
31
31
|
const react_1 = __importStar(require("react"));
|
32
|
+
const files_1 = require("../../lib/files");
|
32
33
|
const store_1 = require("../../store");
|
33
34
|
const FileActions_1 = require("./FileActions");
|
34
|
-
const FileContainer_1 = require("./FileContainer");
|
35
35
|
const FileCreatedDate_1 = require("./FileCreatedDate");
|
36
|
+
const FileGroup_1 = require("./FileGroup");
|
36
37
|
const FileManager_1 = require("./FileManager");
|
37
38
|
const FileName_1 = require("./FileName");
|
39
|
+
const FileTypeIcon_1 = require("./FileTypeIcon");
|
38
40
|
const InlineFilesSection = ({ elements, }) => {
|
39
41
|
const [{ view, fileManagement, sectionCategories }] = (0, store_1.useStore)((s) => ({
|
40
42
|
view: s.view,
|
41
43
|
fileManagement: s.fileManagement,
|
42
44
|
sectionCategories: s.sectionCategories,
|
43
45
|
}));
|
44
|
-
const
|
46
|
+
const groupedMetadata = (0, react_1.useMemo)(() => {
|
45
47
|
if (!view) {
|
46
48
|
return [];
|
47
49
|
}
|
48
50
|
let figureIndex = 1;
|
49
51
|
let imageIndex = 1;
|
50
52
|
return elements.map((element) => {
|
51
|
-
const figure = element.files[0];
|
52
|
-
const file = figure?.file || { id: '', name: '' };
|
53
53
|
const $pos = view.state.doc.resolve(element.pos);
|
54
54
|
const section = (0, prosemirror_utils_1.findParentNodeOfTypeClosestToPos)($pos, transform_1.schema.nodes.graphical_abstract_section);
|
55
|
-
let label;
|
56
|
-
let icon;
|
55
|
+
let label, icon;
|
57
56
|
if (section) {
|
58
57
|
const category = section.node.attrs.category;
|
59
58
|
label = sectionCategories.get(category)?.titles[0] || '';
|
@@ -63,62 +62,113 @@ const InlineFilesSection = ({ elements, }) => {
|
|
63
62
|
label = `Image ${imageIndex++}`;
|
64
63
|
icon = style_guide_1.FileImageIcon;
|
65
64
|
}
|
66
|
-
else if (element.node.type === transform_1.schema.nodes.hero_image) {
|
67
|
-
label = `Hero Image`;
|
68
|
-
icon = style_guide_1.FileImageIcon;
|
69
|
-
}
|
70
65
|
else {
|
71
66
|
label = `Figure ${figureIndex++}`;
|
72
67
|
icon = style_guide_1.FileFigureIcon;
|
73
68
|
}
|
74
69
|
return {
|
75
70
|
element,
|
76
|
-
node: figure?.node,
|
77
|
-
pos: figure?.pos,
|
78
|
-
file,
|
79
71
|
label,
|
80
72
|
icon,
|
73
|
+
files: element.files.filter((f) => f.file.id),
|
81
74
|
};
|
82
75
|
});
|
83
76
|
}, [elements, view, sectionCategories]);
|
77
|
+
const [openGroupIndexes, setOpenGroupIndexes] = (0, react_1.useState)(new Set(groupedMetadata.map((_, index) => index)));
|
78
|
+
const toggleGroupOpen = (groupIndex) => {
|
79
|
+
setOpenGroupIndexes((prevOpenIndexes) => {
|
80
|
+
const newOpenIndexes = new Set(prevOpenIndexes);
|
81
|
+
if (newOpenIndexes.has(groupIndex)) {
|
82
|
+
newOpenIndexes.delete(groupIndex);
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
newOpenIndexes.add(groupIndex);
|
86
|
+
}
|
87
|
+
return newOpenIndexes;
|
88
|
+
});
|
89
|
+
};
|
84
90
|
if (!view) {
|
85
91
|
return null;
|
86
92
|
}
|
87
|
-
const handleClick = (
|
93
|
+
const handleClick = (element) => {
|
94
|
+
const tr = view.state.tr;
|
95
|
+
tr.setSelection(prosemirror_state_1.NodeSelection.create(view.state.doc, element.pos));
|
96
|
+
tr.scrollIntoView();
|
97
|
+
view.focus();
|
98
|
+
view.dispatch(tr);
|
99
|
+
};
|
100
|
+
const handleFileClick = (pos) => {
|
101
|
+
if (!pos) {
|
102
|
+
return;
|
103
|
+
}
|
88
104
|
const tr = view.state.tr;
|
89
|
-
tr.setSelection(prosemirror_state_1.NodeSelection.create(view.state.doc,
|
105
|
+
tr.setSelection(prosemirror_state_1.NodeSelection.create(view.state.doc, pos));
|
90
106
|
tr.scrollIntoView();
|
91
107
|
view.focus();
|
92
108
|
view.dispatch(tr);
|
93
109
|
};
|
94
|
-
const handleDetach = (
|
95
|
-
if (!
|
110
|
+
const handleDetach = (pos) => {
|
111
|
+
if (!pos) {
|
96
112
|
return;
|
97
113
|
}
|
98
114
|
const tr = view.state.tr;
|
99
|
-
tr.setNodeAttribute(
|
100
|
-
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc,
|
115
|
+
tr.setNodeAttribute(pos, 'src', '');
|
116
|
+
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc, pos));
|
101
117
|
tr.scrollIntoView();
|
102
118
|
view.focus();
|
103
119
|
view.dispatch(tr);
|
104
120
|
};
|
105
|
-
const
|
106
|
-
if (!
|
121
|
+
const handleDelete = (pos) => {
|
122
|
+
if (!pos || !view) {
|
123
|
+
return;
|
124
|
+
}
|
125
|
+
const node = view.state.doc.nodeAt(pos);
|
126
|
+
if (node?.type === transform_1.schema.nodes.figure) {
|
127
|
+
const tr = view.state.tr;
|
128
|
+
tr.delete(pos, pos + node.nodeSize);
|
129
|
+
view.dispatch(tr);
|
130
|
+
}
|
131
|
+
};
|
132
|
+
const handleReplace = async (pos, file) => {
|
133
|
+
if (!pos || !file) {
|
107
134
|
return;
|
108
135
|
}
|
109
136
|
const uploaded = await fileManagement.upload(file);
|
110
137
|
const tr = view.state.tr;
|
111
|
-
tr.setNodeAttribute(
|
112
|
-
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc,
|
138
|
+
tr.setNodeAttribute(pos, 'src', uploaded.id);
|
139
|
+
tr.setSelection(prosemirror_state_1.NodeSelection.create(tr.doc, pos));
|
113
140
|
tr.scrollIntoView();
|
114
141
|
view.focus();
|
115
142
|
view.dispatch(tr);
|
116
143
|
};
|
117
|
-
return (react_1.default.createElement(react_1.default.Fragment, null,
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
react_1.default.createElement(
|
144
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, groupedMetadata.map((group, groupIndex) => {
|
145
|
+
const isOpen = openGroupIndexes.has(groupIndex);
|
146
|
+
const figureCount = group.files.length;
|
147
|
+
return (react_1.default.createElement(FileGroup_1.FileGroupContainer, { "data-cy": "file-container", key: groupIndex, onClick: () => handleClick(group.element) },
|
148
|
+
react_1.default.createElement(FileGroup_1.FileGroupHeader, null,
|
149
|
+
react_1.default.createElement(group.icon, { className: "file-icon" }),
|
150
|
+
group.label && react_1.default.createElement(FileGroup_1.FileLabel, null,
|
151
|
+
group.label,
|
152
|
+
":"),
|
153
|
+
group.files.length > 0 && (react_1.default.createElement(FileGroup_1.ToggleIcon, { isOpen: isOpen, onClick: (e) => {
|
154
|
+
e.stopPropagation();
|
155
|
+
toggleGroupOpen(groupIndex);
|
156
|
+
} }, isOpen ? (react_1.default.createElement(style_guide_1.TriangleExpandedIcon, null)) : (react_1.default.createElement(style_guide_1.TriangleCollapsedIcon, null))))),
|
157
|
+
isOpen && group.files.length > 0 && (react_1.default.createElement(FileGroup_1.FileGroup, null, group.files.map((fileAttachment, fileIndex) => (react_1.default.createElement(FileGroup_1.FileGroupItemContainer, { key: fileIndex, "data-tooltip-id": `${fileAttachment.file?.id}-file-name-tooltip`, onClick: (e) => {
|
158
|
+
e.stopPropagation();
|
159
|
+
handleFileClick(fileAttachment.pos);
|
160
|
+
} },
|
161
|
+
fileAttachment.file && (react_1.default.createElement(FileTypeIcon_1.FileTypeIcon, { file: fileAttachment.file })),
|
162
|
+
react_1.default.createElement(FileName_1.FileNameText, { "data-cy": "filename" },
|
163
|
+
fileAttachment.file?.name
|
164
|
+
? (0, files_1.trimFilename)(fileAttachment.file.name, 25)
|
165
|
+
: 'Unknown file',
|
166
|
+
fileAttachment.file?.name && (react_1.default.createElement(style_guide_1.Tooltip, { id: `${fileAttachment.file?.id}-file-name-tooltip`, place: "bottom" }, fileAttachment.file?.name || 'Figure'))),
|
167
|
+
fileAttachment.file && (react_1.default.createElement(FileCreatedDate_1.FileCreatedDate, { file: fileAttachment.file, className: "show-on-hover" })),
|
168
|
+
react_1.default.createElement(FileActions_1.FileActions, { sectionType: FileManager_1.FileSectionType.Inline, onReplace: async (f) => await handleReplace(fileAttachment.pos, f), onDetach: () => handleDetach(fileAttachment.pos), onDownload: () => fileAttachment.file &&
|
169
|
+
fileManagement.download(fileAttachment.file), onDelete: figureCount > 1 // Skip displaying the delete option for the last remaining figure
|
170
|
+
? () => handleDelete(fileAttachment.pos)
|
171
|
+
: undefined }))))))));
|
122
172
|
})));
|
123
173
|
};
|
124
174
|
exports.InlineFilesSection = InlineFilesSection;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,
|
1
|
+
{"version":3,"file":"InlineFilesSection.js","sourceRoot":"","sources":["../../../../src/components/FileManager/InlineFilesSection.tsx"],"names":[],"mappings":"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"}
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.TabText = exports.Spacer = exports.
|
17
|
+
exports.TabText = exports.Spacer = exports.InspectorTabPanelHeading = exports.SecondaryInspectorTab = exports.PrimaryInspectorTab = exports.InspectorTabPanel = exports.PaddedInspectorTabPanels = exports.InspectorTabPanels = exports.PrimaryTabList = exports.InspectorTabList = exports.InspectorTabs = exports.InspectorContainer = void 0;
|
18
18
|
const react_1 = require("@headlessui/react");
|
19
19
|
const styled_components_1 = __importDefault(require("styled-components"));
|
20
20
|
exports.InspectorContainer = styled_components_1.default.div `
|
@@ -44,7 +44,6 @@ exports.InspectorTabList = (0, styled_components_1.default)(react_1.TabList) `
|
|
44
44
|
`;
|
45
45
|
exports.PrimaryTabList = (0, styled_components_1.default)(exports.InspectorTabList) `
|
46
46
|
background-color: #fafafa !important;
|
47
|
-
border-bottom: 1px solid ${(props) => props.theme.colors.border.tertiary};
|
48
47
|
`;
|
49
48
|
exports.InspectorTabPanels = (0, styled_components_1.default)(react_1.TabPanels) `
|
50
49
|
flex: 1;
|
@@ -82,31 +81,12 @@ exports.PrimaryInspectorTab = (0, styled_components_1.default)(BaseInspectorTab)
|
|
82
81
|
position: relative;
|
83
82
|
gap: 2px;
|
84
83
|
|
85
|
-
/* Style the wrapper div */
|
86
|
-
div {
|
87
|
-
display: flex;
|
88
|
-
align-items: center;
|
89
|
-
gap: 2px;
|
90
|
-
justify-content: center;
|
91
|
-
}
|
92
|
-
|
93
|
-
/* Show text when tab is active */
|
94
84
|
&[aria-selected='true'] {
|
95
85
|
padding-top: ${(props) => props.theme.grid.unit * 2.5 - 2}px;
|
96
86
|
border-top-color: #6e6e6e;
|
97
87
|
border-top-width: 3px;
|
98
88
|
border-bottom-color: transparent;
|
99
89
|
background: ${(props) => props.theme.colors.background.primary};
|
100
|
-
margin-bottom: -1px;
|
101
|
-
span {
|
102
|
-
display: inline;
|
103
|
-
margin-left: 4px;
|
104
|
-
}
|
105
|
-
}
|
106
|
-
|
107
|
-
/* Ensure icon is always visible */
|
108
|
-
svg {
|
109
|
-
flex-shrink: 0;
|
110
90
|
}
|
111
91
|
}
|
112
92
|
`;
|
@@ -127,28 +107,6 @@ exports.SecondaryInspectorTab = (0, styled_components_1.default)(BaseInspectorTa
|
|
127
107
|
exports.InspectorTabPanelHeading = styled_components_1.default.div `
|
128
108
|
margin-bottom: ${(props) => props.theme.grid.unit * 4}px;
|
129
109
|
`;
|
130
|
-
exports.WarningBadge = styled_components_1.default.div `
|
131
|
-
position: absolute;
|
132
|
-
top: -6px;
|
133
|
-
right: -6px;
|
134
|
-
background-color: #f35143;
|
135
|
-
color: white;
|
136
|
-
border-radius: 50%;
|
137
|
-
min-width: 14px;
|
138
|
-
height: 14px;
|
139
|
-
display: flex;
|
140
|
-
align-items: center;
|
141
|
-
justify-content: center;
|
142
|
-
font-size: 11px;
|
143
|
-
font-weight: bold;
|
144
|
-
line-height: 1;
|
145
|
-
z-index: 10;
|
146
|
-
`;
|
147
|
-
exports.IconWrapper = styled_components_1.default.div `
|
148
|
-
position: relative;
|
149
|
-
display: flex;
|
150
|
-
align-items: center;
|
151
|
-
`;
|
152
110
|
exports.Spacer = styled_components_1.default.span `
|
153
111
|
flex: 1 0 auto;
|
154
112
|
`;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/components/Inspector.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;AAEH,6CAA+E;AAC/E,0EAAsC;AAEzB,QAAA,kBAAkB,GAAG,2BAAM,CAAC,GAAG,CAAA;2BACjB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;;;;;;;CAOvE,CAAA;AAEY,QAAA,aAAa,GAAG,IAAA,2BAAM,EAAC,gBAAQ,CAAC,CAAA;;;;;CAK5C,CAAA;AAEY,QAAA,gBAAgB,GAAG,IAAA,2BAAM,EAAC,eAAO,CAAC,CAAA;;;;iBAI9B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;aAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;;;;CAItD,CAAA;AAEY,QAAA,cAAc,GAAG,IAAA,2BAAM,EAAC,wBAAgB,CAAC,CAAA;;
|
1
|
+
{"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/components/Inspector.tsx"],"names":[],"mappings":"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"}
|
@@ -37,7 +37,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
38
38
|
};
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
40
|
-
const body_editor_1 = require("@manuscripts/body-editor");
|
41
40
|
const style_guide_1 = require("@manuscripts/style-guide");
|
42
41
|
const react_1 = __importStar(require("react"));
|
43
42
|
const use_inspector_tabs_context_1 = require("../../hooks/use-inspector-tabs-context");
|
@@ -46,7 +45,6 @@ const CommentsPanel_1 = require("../comments/CommentsPanel");
|
|
46
45
|
const FileManager_1 = require("../FileManager/FileManager");
|
47
46
|
const Inspector_1 = require("../Inspector");
|
48
47
|
const InspectorTab_1 = require("../inspector/InspectorTab");
|
49
|
-
const IssuesPanel_1 = require("../inspector/IssuesPanel");
|
50
48
|
const SnapshotsList_1 = require("../inspector/SnapshotsList");
|
51
49
|
const Panel_1 = __importDefault(require("../Panel"));
|
52
50
|
const ResizerButtons_1 = require("../ResizerButtons");
|
@@ -58,8 +56,6 @@ const Inspector = () => {
|
|
58
56
|
selectedSuggestionID: store.selectedSuggestionID,
|
59
57
|
inspectorOpenTabs: store.inspectorOpenTabs,
|
60
58
|
isViewingMode: store.isViewingMode,
|
61
|
-
view: store.view,
|
62
|
-
inconsistencies: store.inconsistencies || [],
|
63
59
|
}));
|
64
60
|
const can = (0, style_guide_1.usePermissions)();
|
65
61
|
const comment = store.selectedCommentKey;
|
@@ -70,49 +66,33 @@ const Inspector = () => {
|
|
70
66
|
const COMMENTS_TAB_INDEX = index++;
|
71
67
|
const HISTORY_TAB_INDEX = !can.editWithoutTracking ? index++ : -1;
|
72
68
|
const FILES_TAB_INDEX = index++;
|
73
|
-
const ISSUES_TAB_INDEX = index++;
|
74
69
|
(0, react_1.useEffect)(() => {
|
75
70
|
if (comment) {
|
76
71
|
setTabIndex(COMMENTS_TAB_INDEX);
|
77
72
|
}
|
78
73
|
}, [comment, COMMENTS_TAB_INDEX]);
|
79
|
-
(0, react_1.useEffect)(() => {
|
80
|
-
if (suggestion) {
|
81
|
-
setTabIndex(HISTORY_TAB_INDEX);
|
82
|
-
}
|
83
|
-
}, [suggestion, HISTORY_TAB_INDEX]);
|
84
74
|
(0, react_1.useEffect)(() => {
|
85
75
|
if (inspectorOpenTabs?.primaryTab === use_inspector_tabs_context_1.InspectorPrimaryTabs.Files) {
|
86
76
|
setTabIndex(FILES_TAB_INDEX);
|
87
77
|
}
|
88
|
-
|
89
|
-
setTabIndex(ISSUES_TAB_INDEX);
|
90
|
-
}
|
91
|
-
}, [inspectorOpenTabs, FILES_TAB_INDEX, ISSUES_TAB_INDEX]);
|
92
|
-
// Effect to control warning decorations visibility
|
78
|
+
}, [inspectorOpenTabs, FILES_TAB_INDEX]);
|
93
79
|
(0, react_1.useEffect)(() => {
|
94
|
-
if (
|
95
|
-
|
96
|
-
tr.setMeta(body_editor_1.detectInconsistencyPluginKey, tabIndex === ISSUES_TAB_INDEX);
|
97
|
-
store.view.dispatch(tr);
|
80
|
+
if (suggestion) {
|
81
|
+
setTabIndex(HISTORY_TAB_INDEX);
|
98
82
|
}
|
99
|
-
}, [
|
83
|
+
}, [suggestion, HISTORY_TAB_INDEX]);
|
100
84
|
return (react_1.default.createElement(Panel_1.default, { name: 'inspector', minSize: 400, direction: 'row', side: 'start', hideWhen: 'max-width: 900px', resizerButton: ResizerButtons_1.ResizingInspectorButton }, store.isViewingMode ? (react_1.default.createElement(SnapshotsList_1.SnapshotsList, null)) : (react_1.default.createElement(Inspector_1.InspectorContainer, { "data-cy": "inspector" },
|
101
85
|
react_1.default.createElement(Inspector_1.InspectorTabs, { selectedIndex: tabIndex, onChange: setTabIndex },
|
102
86
|
react_1.default.createElement(Inspector_1.PrimaryTabList, null,
|
103
87
|
react_1.default.createElement(InspectorTab_1.InspectorTab, { cy: "comments-button", icon: react_1.default.createElement(style_guide_1.ChatIcon, null), isVisible: tabIndex === COMMENTS_TAB_INDEX }, "Comments"),
|
104
88
|
!can.editWithoutTracking && (react_1.default.createElement(InspectorTab_1.InspectorTab, { cy: "history-button", icon: react_1.default.createElement(style_guide_1.BookIcon, null), isVisible: tabIndex === HISTORY_TAB_INDEX }, "Changes")),
|
105
89
|
react_1.default.createElement(InspectorTab_1.InspectorTab, { cy: "files-button", icon: react_1.default.createElement(style_guide_1.ManuscriptIcon, null), isVisible: tabIndex === FILES_TAB_INDEX }, "Files"),
|
106
|
-
react_1.default.createElement(InspectorTab_1.InspectorTab, { cy: "issues-button", icon: react_1.default.createElement(Inspector_1.IconWrapper, null,
|
107
|
-
react_1.default.createElement(style_guide_1.DangerIcon, null),
|
108
|
-
store.inconsistencies.length > 0 && (react_1.default.createElement(Inspector_1.WarningBadge, null, store.inconsistencies.length))), isVisible: tabIndex === ISSUES_TAB_INDEX }, "Issues"),
|
109
90
|
react_1.default.createElement(Inspector_1.Spacer, null),
|
110
91
|
react_1.default.createElement(VersionHistoryDropdown_1.default, null)),
|
111
92
|
react_1.default.createElement(Inspector_1.PaddedInspectorTabPanels, null,
|
112
93
|
react_1.default.createElement(Inspector_1.InspectorTabPanel, { key: "Comments", "data-cy": "comments" }, tabIndex === COMMENTS_TAB_INDEX && (react_1.default.createElement(CommentsPanel_1.CommentsPanel, { key: "comments" }))),
|
113
94
|
!can.editWithoutTracking && (react_1.default.createElement(Inspector_1.InspectorTabPanel, { key: "History", "data-cy": "history" }, tabIndex === HISTORY_TAB_INDEX && (react_1.default.createElement(TrackChangesPanel_1.TrackChangesPanel, { key: "track-changes" })))),
|
114
|
-
react_1.default.createElement(Inspector_1.InspectorTabPanel, { key: "Files", "data-cy": "files" }, tabIndex === FILES_TAB_INDEX && react_1.default.createElement(FileManager_1.FileManager, { key: "files" }))
|
115
|
-
react_1.default.createElement(Inspector_1.InspectorTabPanel, { key: "Issues", "data-cy": "issues" }, tabIndex === ISSUES_TAB_INDEX && react_1.default.createElement(IssuesPanel_1.IssuesPanel, { key: "issues" }))))))));
|
95
|
+
react_1.default.createElement(Inspector_1.InspectorTabPanel, { key: "Files", "data-cy": "files" }, tabIndex === FILES_TAB_INDEX && react_1.default.createElement(FileManager_1.FileManager, { key: "files" }))))))));
|
116
96
|
};
|
117
97
|
exports.default = Inspector;
|
118
98
|
//# sourceMappingURL=Inspector.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../../src/components/projects/Inspector.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,
|
1
|
+
{"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../../src/components/projects/Inspector.tsx"],"names":[],"mappings":"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"}
|
@@ -40,10 +40,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
exports.Suggestion = void 0;
|
41
41
|
const react_1 = __importStar(require("react"));
|
42
42
|
const styled_components_1 = __importDefault(require("styled-components"));
|
43
|
-
const utils_1 = require("../../../lib/utils");
|
44
43
|
const TrackModal_1 = __importDefault(require("../TrackModal"));
|
45
44
|
const SuggestionActions_1 = __importDefault(require("./SuggestionActions"));
|
46
45
|
const SuggestionSnippet_1 = require("./SuggestionSnippet");
|
46
|
+
const scrollIntoView = (element) => {
|
47
|
+
const rect = element.getBoundingClientRect();
|
48
|
+
if (rect.bottom > window.innerHeight || rect.top < 150) {
|
49
|
+
element.scrollIntoView();
|
50
|
+
}
|
51
|
+
};
|
47
52
|
const Suggestion = ({ suggestions, isSelected, onAccept, onReject, onSelect, }) => {
|
48
53
|
const wrapperRef = (0, react_1.useRef)(null);
|
49
54
|
const [trackModalVisible, setModalVisible] = (0, react_1.useState)(false);
|
@@ -56,7 +61,7 @@ const Suggestion = ({ suggestions, isSelected, onAccept, onReject, onSelect, })
|
|
56
61
|
};
|
57
62
|
(0, react_1.useEffect)(() => {
|
58
63
|
if (isSelected && wrapperRef.current) {
|
59
|
-
|
64
|
+
scrollIntoView(wrapperRef.current);
|
60
65
|
}
|
61
66
|
}, [isSelected]);
|
62
67
|
return (react_1.default.createElement(Wrapper, { "data-cy": "suggestion", isFocused: isSelected, ref: wrapperRef },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Suggestion.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/Suggestion.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,+CAA0D;AAC1D,0EAAsC;AAEtC
|
1
|
+
{"version":3,"file":"Suggestion.js","sourceRoot":"","sources":["../../../../../src/components/track-changes/suggestion-list/Suggestion.tsx"],"names":[],"mappings":"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"}
|
@@ -10,7 +10,7 @@ exports.useConnectEditor = void 0;
|
|
10
10
|
*
|
11
11
|
* The Original Developer is the Initial Developer. The Initial Developer of the Original Code is Atypon Systems LLC.
|
12
12
|
*
|
13
|
-
* All portions of the code written by Atypon Systems LLC are Copyright (c)
|
13
|
+
* All portions of the code written by Atypon Systems LLC are Copyright (c) 2019 Atypon Systems LLC. All Rights Reserved.
|
14
14
|
*/
|
15
15
|
const body_editor_1 = require("@manuscripts/body-editor");
|
16
16
|
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
@@ -58,12 +58,6 @@ const useConnectEditor = () => {
|
|
58
58
|
(0, react_1.useEffect)(() => {
|
59
59
|
storeDispatch({ hasPendingSuggestions });
|
60
60
|
}, [storeDispatch, hasPendingSuggestions]);
|
61
|
-
const inconsistencies = (0, react_1.useMemo)(() => {
|
62
|
-
return body_editor_1.detectInconsistencyPluginKey.getState(state)?.inconsistencies || [];
|
63
|
-
}, [state]);
|
64
|
-
(0, react_1.useEffect)(() => {
|
65
|
-
storeDispatch({ inconsistencies });
|
66
|
-
}, [storeDispatch, inconsistencies]);
|
67
61
|
(0, react_1.useEffect)(() => {
|
68
62
|
storeDispatch({ editor });
|
69
63
|
}, [storeDispatch, view]); // eslint-disable-line react-hooks/exhaustive-deps
|