@manuscripts/body-editor 2.2.12 → 2.2.13-LEAN-2165.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.
- package/dist/cjs/components/views/FigureDropdown.js +5 -4
- package/dist/cjs/versions.js +1 -1
- package/dist/cjs/views/figure_element.js +10 -0
- package/dist/es/components/views/FigureDropdown.js +5 -4
- package/dist/es/versions.js +1 -1
- package/dist/es/views/figure_element.js +10 -0
- package/dist/types/components/views/FigureDropdown.d.ts +1 -0
- package/dist/types/versions.d.ts +1 -1
- package/package.json +1 -1
|
@@ -7,23 +7,24 @@ exports.FigureOptions = exports.FigureElementOptions = 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
|
-
const FigureElementOptions = ({ can, files, onAdd, onUpload, }) => {
|
|
10
|
+
const FigureElementOptions = ({ can, files, onAdd, onUpload, onAddNewFile, }) => {
|
|
11
11
|
const { isOpen, toggleOpen, wrapperRef } = (0, style_guide_1.useDropdown)();
|
|
12
12
|
const supplements = files.supplements
|
|
13
13
|
.map((s) => s.file)
|
|
14
14
|
.filter((f) => (0, style_guide_1.isImageFile)(f.name));
|
|
15
15
|
const others = files.others.filter((f) => (0, style_guide_1.isImageFile)(f.name));
|
|
16
|
+
const showAddFile = onAddNewFile ? onAddNewFile() : true;
|
|
16
17
|
return (react_1.default.createElement(FilesDropdownWrapper, { onClick: toggleOpen, ref: wrapperRef },
|
|
17
18
|
react_1.default.createElement(FilesButton, null,
|
|
18
19
|
react_1.default.createElement(style_guide_1.AttachIcon, null)),
|
|
19
20
|
isOpen && (react_1.default.createElement(style_guide_1.DropdownList, { direction: 'left', width: 208, height: 187, onClick: toggleOpen, top: 7 },
|
|
20
|
-
react_1.default.createElement(NestedDropdown, { disabled: !can.replaceFile || supplements.length < 1, parentToggleOpen: toggleOpen, buttonText: 'Supplements', list: react_1.default.createElement(react_1.default.Fragment, null, supplements.map((file) => (react_1.default.createElement(ListItemButton, { key: file.id, onClick: () => onAdd(file) },
|
|
21
|
+
react_1.default.createElement(NestedDropdown, { disabled: !can.replaceFile || supplements.length < 1 || !showAddFile, parentToggleOpen: toggleOpen, buttonText: 'Supplements', list: react_1.default.createElement(react_1.default.Fragment, null, supplements.map((file) => (react_1.default.createElement(ListItemButton, { key: file.id, onClick: () => onAdd(file) },
|
|
21
22
|
(0, style_guide_1.getFileIcon)(file.name),
|
|
22
23
|
react_1.default.createElement(ListItemText, null, file.name))))) }),
|
|
23
|
-
react_1.default.createElement(NestedDropdown, { disabled: !can.replaceFile || others.length < 1, parentToggleOpen: toggleOpen, buttonText: 'Other files', list: react_1.default.createElement(react_1.default.Fragment, null, others.map((file) => (react_1.default.createElement(ListItemButton, { key: file.id, onClick: () => onAdd(file) },
|
|
24
|
+
react_1.default.createElement(NestedDropdown, { disabled: !can.replaceFile || others.length < 1 || !showAddFile, parentToggleOpen: toggleOpen, buttonText: 'Other files', list: react_1.default.createElement(react_1.default.Fragment, null, others.map((file) => (react_1.default.createElement(ListItemButton, { key: file.id, onClick: () => onAdd(file) },
|
|
24
25
|
(0, style_guide_1.getFileIcon)(file.name),
|
|
25
26
|
react_1.default.createElement(ListItemText, null, file.name))))) }),
|
|
26
|
-
react_1.default.createElement(UploadButton, { onClick: onUpload, disabled: !can.uploadFile },
|
|
27
|
+
react_1.default.createElement(UploadButton, { onClick: onUpload, disabled: !can.uploadFile || !showAddFile },
|
|
27
28
|
react_1.default.createElement(style_guide_1.AddIcon, null),
|
|
28
29
|
" New file...")))));
|
|
29
30
|
};
|
package/dist/cjs/versions.js
CHANGED
|
@@ -78,6 +78,15 @@ class FigureElementView extends block_view_1.default {
|
|
|
78
78
|
const can = this.props.getCapabilities();
|
|
79
79
|
let handleUpload = () => {
|
|
80
80
|
};
|
|
81
|
+
const handleNewFile = () => {
|
|
82
|
+
let figureUploaded = true;
|
|
83
|
+
this.node.content.forEach((file) => {
|
|
84
|
+
if (file.attrs.src) {
|
|
85
|
+
figureUploaded = false;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
return figureUploaded;
|
|
89
|
+
};
|
|
81
90
|
const handleAdd = (file) => __awaiter(this, void 0, void 0, function* () {
|
|
82
91
|
const { state: { tr, schema, selection }, dispatch, } = this.view;
|
|
83
92
|
const src = file.id;
|
|
@@ -115,6 +124,7 @@ class FigureElementView extends block_view_1.default {
|
|
|
115
124
|
files: (0, files_1.groupFiles)(doc, files),
|
|
116
125
|
onUpload: handleUpload,
|
|
117
126
|
onAdd: handleAdd,
|
|
127
|
+
onAddNewFile: handleNewFile,
|
|
118
128
|
};
|
|
119
129
|
this.reactTools = (0, ReactSubView_1.default)(this.props, FigureDropdown_1.FigureElementOptions, componentProps, this.node, this.getPos, this.view);
|
|
120
130
|
(_b = this.reactTools) === null || _b === void 0 ? void 0 : _b.remove();
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { AddIcon, AttachIcon, DotsIcon, DropdownList, getFileIcon, IconButton, IconTextButton, isImageFile, RoundIconButton, TriangleCollapsedIcon, UploadIcon, useDropdown, } from '@manuscripts/style-guide';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
|
-
export const FigureElementOptions = ({ can, files, onAdd, onUpload, }) => {
|
|
4
|
+
export const FigureElementOptions = ({ can, files, onAdd, onUpload, onAddNewFile, }) => {
|
|
5
5
|
const { isOpen, toggleOpen, wrapperRef } = useDropdown();
|
|
6
6
|
const supplements = files.supplements
|
|
7
7
|
.map((s) => s.file)
|
|
8
8
|
.filter((f) => isImageFile(f.name));
|
|
9
9
|
const others = files.others.filter((f) => isImageFile(f.name));
|
|
10
|
+
const showAddFile = onAddNewFile ? onAddNewFile() : true;
|
|
10
11
|
return (React.createElement(FilesDropdownWrapper, { onClick: toggleOpen, ref: wrapperRef },
|
|
11
12
|
React.createElement(FilesButton, null,
|
|
12
13
|
React.createElement(AttachIcon, null)),
|
|
13
14
|
isOpen && (React.createElement(DropdownList, { direction: 'left', width: 208, height: 187, onClick: toggleOpen, top: 7 },
|
|
14
|
-
React.createElement(NestedDropdown, { disabled: !can.replaceFile || supplements.length < 1, parentToggleOpen: toggleOpen, buttonText: 'Supplements', list: React.createElement(React.Fragment, null, supplements.map((file) => (React.createElement(ListItemButton, { key: file.id, onClick: () => onAdd(file) },
|
|
15
|
+
React.createElement(NestedDropdown, { disabled: !can.replaceFile || supplements.length < 1 || !showAddFile, parentToggleOpen: toggleOpen, buttonText: 'Supplements', list: React.createElement(React.Fragment, null, supplements.map((file) => (React.createElement(ListItemButton, { key: file.id, onClick: () => onAdd(file) },
|
|
15
16
|
getFileIcon(file.name),
|
|
16
17
|
React.createElement(ListItemText, null, file.name))))) }),
|
|
17
|
-
React.createElement(NestedDropdown, { disabled: !can.replaceFile || others.length < 1, parentToggleOpen: toggleOpen, buttonText: 'Other files', list: React.createElement(React.Fragment, null, others.map((file) => (React.createElement(ListItemButton, { key: file.id, onClick: () => onAdd(file) },
|
|
18
|
+
React.createElement(NestedDropdown, { disabled: !can.replaceFile || others.length < 1 || !showAddFile, parentToggleOpen: toggleOpen, buttonText: 'Other files', list: React.createElement(React.Fragment, null, others.map((file) => (React.createElement(ListItemButton, { key: file.id, onClick: () => onAdd(file) },
|
|
18
19
|
getFileIcon(file.name),
|
|
19
20
|
React.createElement(ListItemText, null, file.name))))) }),
|
|
20
|
-
React.createElement(UploadButton, { onClick: onUpload, disabled: !can.uploadFile },
|
|
21
|
+
React.createElement(UploadButton, { onClick: onUpload, disabled: !can.uploadFile || !showAddFile },
|
|
21
22
|
React.createElement(AddIcon, null),
|
|
22
23
|
" New file...")))));
|
|
23
24
|
};
|
package/dist/es/versions.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '2.2.
|
|
1
|
+
export const VERSION = '2.2.13-LEAN-2165.0';
|
|
2
2
|
export const MATHJAX_VERSION = '3.2.2';
|
|
@@ -72,6 +72,15 @@ export class FigureElementView extends BlockView {
|
|
|
72
72
|
const can = this.props.getCapabilities();
|
|
73
73
|
let handleUpload = () => {
|
|
74
74
|
};
|
|
75
|
+
const handleNewFile = () => {
|
|
76
|
+
let figureUploaded = true;
|
|
77
|
+
this.node.content.forEach((file) => {
|
|
78
|
+
if (file.attrs.src) {
|
|
79
|
+
figureUploaded = false;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
return figureUploaded;
|
|
83
|
+
};
|
|
75
84
|
const handleAdd = (file) => __awaiter(this, void 0, void 0, function* () {
|
|
76
85
|
const { state: { tr, schema, selection }, dispatch, } = this.view;
|
|
77
86
|
const src = file.id;
|
|
@@ -109,6 +118,7 @@ export class FigureElementView extends BlockView {
|
|
|
109
118
|
files: groupFiles(doc, files),
|
|
110
119
|
onUpload: handleUpload,
|
|
111
120
|
onAdd: handleAdd,
|
|
121
|
+
onAddNewFile: handleNewFile,
|
|
112
122
|
};
|
|
113
123
|
this.reactTools = ReactSubView(this.props, FigureElementOptions, componentProps, this.node, this.getPos, this.view);
|
|
114
124
|
(_b = this.reactTools) === null || _b === void 0 ? void 0 : _b.remove();
|
|
@@ -14,6 +14,7 @@ export interface FigureOptionsProps extends FigureDropdownProps {
|
|
|
14
14
|
export interface FigureElementOptionsProps extends FigureDropdownProps {
|
|
15
15
|
onAdd: (file: FileAttachment) => Promise<void>;
|
|
16
16
|
onUpload: () => void;
|
|
17
|
+
onAddNewFile?: () => boolean;
|
|
17
18
|
}
|
|
18
19
|
export declare const FigureElementOptions: React.FC<FigureElementOptionsProps>;
|
|
19
20
|
export declare const FigureOptions: React.FC<FigureOptionsProps>;
|
package/dist/types/versions.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "2.2.
|
|
1
|
+
export declare const VERSION = "2.2.13-LEAN-2165.0";
|
|
2
2
|
export declare const MATHJAX_VERSION = "3.2.2";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manuscripts/body-editor",
|
|
3
3
|
"description": "Prosemirror components for editing and viewing manuscripts",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.13-LEAN-2165.0",
|
|
5
5
|
"repository": "github:Atypon-OpenSource/manuscripts-body-editor",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"main": "dist/cjs",
|