@manuscripts/article-editor 1.11.0 → 1.11.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/inspector/SnapshotsDropdown.js +2 -2
- package/dist/cjs/components/inspector/SnapshotsDropdown.js.map +1 -1
- package/dist/cjs/components/projects/EditorElement.js +5 -2
- package/dist/cjs/components/projects/EditorElement.js.map +1 -1
- package/dist/cjs/components/projects/ManuscriptPageContainer.js +1 -7
- package/dist/cjs/components/projects/ManuscriptPageContainer.js.map +1 -1
- package/dist/cjs/components/projects/TagsInput.js +1 -20
- package/dist/cjs/components/projects/TagsInput.js.map +1 -1
- package/dist/cjs/components/track-changes/TrackChangesPanel.js +5 -2
- package/dist/cjs/components/track-changes/TrackChangesPanel.js.map +1 -1
- package/dist/cjs/components/track-changes/TrackModal.js +210 -0
- package/dist/cjs/components/track-changes/TrackModal.js.map +1 -0
- package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js +35 -103
- package/dist/cjs/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
- package/dist/cjs/components/track-changes/suggestion-list/SuggestionActions.js +129 -0
- package/dist/cjs/components/track-changes/suggestion-list/SuggestionActions.js.map +1 -0
- package/dist/cjs/hooks/use-create-editor.js +1 -3
- package/dist/cjs/hooks/use-create-editor.js.map +1 -1
- package/dist/cjs/hooks/use-exec-cmd.js +12 -0
- package/dist/cjs/hooks/use-exec-cmd.js.map +1 -0
- package/dist/cjs/hooks/use-handle-snapshot.js +5 -2
- package/dist/cjs/hooks/use-handle-snapshot.js.map +1 -1
- package/dist/cjs/lib/attrs-change-filter.js +41 -7
- package/dist/cjs/lib/attrs-change-filter.js.map +1 -1
- package/dist/cjs/store/DataSourceStrategy.js +0 -2
- package/dist/cjs/store/DataSourceStrategy.js.map +1 -1
- package/dist/cjs/store/Store.js.map +1 -1
- package/dist/es/components/inspector/SnapshotsDropdown.js +1 -1
- package/dist/es/components/inspector/SnapshotsDropdown.js.map +1 -1
- package/dist/es/components/projects/EditorElement.js +1 -1
- package/dist/es/components/projects/EditorElement.js.map +1 -1
- package/dist/es/components/projects/ManuscriptPageContainer.js +2 -8
- package/dist/es/components/projects/ManuscriptPageContainer.js.map +1 -1
- package/dist/es/components/projects/TagsInput.js +0 -19
- package/dist/es/components/projects/TagsInput.js.map +1 -1
- package/dist/es/components/track-changes/TrackChangesPanel.js +1 -1
- package/dist/es/components/track-changes/TrackChangesPanel.js.map +1 -1
- package/dist/es/components/track-changes/TrackModal.js +181 -0
- package/dist/es/components/track-changes/TrackModal.js.map +1 -0
- package/dist/es/components/track-changes/suggestion-list/Suggestion.js +24 -92
- package/dist/es/components/track-changes/suggestion-list/Suggestion.js.map +1 -1
- package/dist/es/components/track-changes/suggestion-list/SuggestionActions.js +100 -0
- package/dist/es/components/track-changes/suggestion-list/SuggestionActions.js.map +1 -0
- package/dist/es/hooks/use-create-editor.js +1 -3
- package/dist/es/hooks/use-create-editor.js.map +1 -1
- package/dist/es/hooks/use-exec-cmd.js +10 -0
- package/dist/es/hooks/use-exec-cmd.js.map +1 -0
- package/dist/es/hooks/use-handle-snapshot.js +1 -1
- package/dist/es/hooks/use-handle-snapshot.js.map +1 -1
- package/dist/es/lib/attrs-change-filter.js +41 -7
- package/dist/es/lib/attrs-change-filter.js.map +1 -1
- package/dist/es/store/DataSourceStrategy.js +0 -2
- package/dist/es/store/DataSourceStrategy.js.map +1 -1
- package/dist/es/store/Store.js.map +1 -1
- package/dist/types/components/projects/TagsInput.d.ts +0 -1
- package/dist/types/components/track-changes/TrackModal.d.ts +16 -0
- package/dist/types/components/track-changes/suggestion-list/Suggestion.d.ts +11 -0
- package/dist/types/components/track-changes/suggestion-list/SuggestionActions.d.ts +11 -0
- package/dist/types/hooks/use-exec-cmd.d.ts +4 -0
- package/dist/types/lib/attrs-change-filter.d.ts +2 -1
- package/dist/types/store/Store.d.ts +0 -2
- package/package.json +4 -3
- package/dist/cjs/components/Popper.js +0 -83
- package/dist/cjs/components/Popper.js.map +0 -1
- package/dist/cjs/hooks/use-track-attrs-popper.js +0 -195
- package/dist/cjs/hooks/use-track-attrs-popper.js.map +0 -1
- package/dist/es/components/Popper.js +0 -75
- package/dist/es/components/Popper.js.map +0 -1
- package/dist/es/hooks/use-track-attrs-popper.js +0 -164
- package/dist/es/hooks/use-track-attrs-popper.js.map +0 -1
- package/dist/types/components/Popper.d.ts +0 -24
- package/dist/types/hooks/use-track-attrs-popper.d.ts +0 -25
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.TrackChangesButton = exports.TrackAttrsPopperContent = exports.useExecCmd = 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) 2023 Atypon Systems LLC. All Rights Reserved.
|
|
40
|
-
*/
|
|
41
|
-
const style_guide_1 = require("@manuscripts/style-guide");
|
|
42
|
-
const track_changes_plugin_1 = require("@manuscripts/track-changes-plugin");
|
|
43
|
-
const react_1 = __importStar(require("react"));
|
|
44
|
-
const react_dom_1 = __importDefault(require("react-dom"));
|
|
45
|
-
const styled_components_1 = __importDefault(require("styled-components"));
|
|
46
|
-
const EditIcon_1 = __importDefault(require("../components/projects/icons/EditIcon"));
|
|
47
|
-
const attrs_change_filter_1 = require("../lib/attrs-change-filter");
|
|
48
|
-
const store_1 = require("../store");
|
|
49
|
-
const ThemeProvider_1 = require("../theme/ThemeProvider");
|
|
50
|
-
const useExecCmd = () => {
|
|
51
|
-
const [storeView] = (0, store_1.useStore)((store) => store.view || store.editor?.view);
|
|
52
|
-
return (cmd, hookView) => {
|
|
53
|
-
const view = storeView || hookView;
|
|
54
|
-
cmd(view.state, view.dispatch);
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
exports.useExecCmd = useExecCmd;
|
|
58
|
-
exports.default = () => {
|
|
59
|
-
const [{ selectedAttrsChange, popper, trackState }, dispatch] = (0, store_1.useStore)((store) => ({
|
|
60
|
-
selectedAttrsChange: store.selectedAttrsChange,
|
|
61
|
-
popper: store.popper,
|
|
62
|
-
trackState: store.trackState,
|
|
63
|
-
}));
|
|
64
|
-
const execCmd = (0, exports.useExecCmd)();
|
|
65
|
-
const cleanSelectedChange = (0, react_1.useCallback)(() => {
|
|
66
|
-
const previousSelection = document.querySelector(`.track-attrs-popper`);
|
|
67
|
-
previousSelection && react_dom_1.default.unmountComponentAtNode(previousSelection);
|
|
68
|
-
popper.destroy();
|
|
69
|
-
document
|
|
70
|
-
.querySelector('.attrs-popper-button-active')
|
|
71
|
-
?.classList.replace('attrs-popper-button-active', 'attrs-popper-button');
|
|
72
|
-
dispatch({ selectedAttrsChange: undefined });
|
|
73
|
-
}, [dispatch, popper]);
|
|
74
|
-
const renderAttrsChangePopper = (0, react_1.useCallback)((changeId, attrTrackingButton) => {
|
|
75
|
-
if (!trackState) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
attrTrackingButton.classList.replace('attrs-popper-button', 'attrs-popper-button-active');
|
|
79
|
-
const { newAttrs, oldAttrs } = (0, attrs_change_filter_1.filterAttrsChange)(trackState.changeSet.get(changeId));
|
|
80
|
-
const popperContainer = document.createElement('div');
|
|
81
|
-
popperContainer.className = 'track-attrs-popper';
|
|
82
|
-
react_dom_1.default.render(react_1.default.createElement(ThemeProvider_1.ThemeProvider, null,
|
|
83
|
-
react_1.default.createElement(exports.TrackAttrsPopperContent, { newAttrs: newAttrs, oldAttrs: oldAttrs, changeId: changeId, updateState: (cmd) => {
|
|
84
|
-
cleanSelectedChange();
|
|
85
|
-
execCmd(cmd);
|
|
86
|
-
} })), popperContainer);
|
|
87
|
-
popper.show(attrTrackingButton, popperContainer);
|
|
88
|
-
dispatch({ selectedAttrsChange: changeId });
|
|
89
|
-
}, [trackState, popper, dispatch, cleanSelectedChange, execCmd]);
|
|
90
|
-
return (0, react_1.useCallback)((e) => {
|
|
91
|
-
const attrTrackingButton = e.target.closest('.attrs-popper-button,.attrs-popper-button-active');
|
|
92
|
-
cleanSelectedChange();
|
|
93
|
-
if (attrTrackingButton) {
|
|
94
|
-
const changeId = attrTrackingButton.value;
|
|
95
|
-
if (selectedAttrsChange !== changeId) {
|
|
96
|
-
renderAttrsChangePopper(changeId, attrTrackingButton);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
dispatch({ selectedAttrsChange: undefined });
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}, [
|
|
103
|
-
cleanSelectedChange,
|
|
104
|
-
dispatch,
|
|
105
|
-
renderAttrsChangePopper,
|
|
106
|
-
selectedAttrsChange,
|
|
107
|
-
]);
|
|
108
|
-
};
|
|
109
|
-
const TrackAttrsPopperContent = ({ newAttrs, oldAttrs, changeId, updateState }) => {
|
|
110
|
-
const approveChange = () => {
|
|
111
|
-
updateState(track_changes_plugin_1.trackCommands.setChangeStatuses(track_changes_plugin_1.CHANGE_STATUS.accepted, [changeId]));
|
|
112
|
-
};
|
|
113
|
-
const rejectChange = () => {
|
|
114
|
-
updateState(track_changes_plugin_1.trackCommands.setChangeStatuses(track_changes_plugin_1.CHANGE_STATUS.rejected, [changeId]));
|
|
115
|
-
};
|
|
116
|
-
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
117
|
-
react_1.default.createElement(Header, null,
|
|
118
|
-
react_1.default.createElement(LabelContainer, null,
|
|
119
|
-
react_1.default.createElement(EditIcon_1.default, null),
|
|
120
|
-
react_1.default.createElement(Label, null, "Changed")),
|
|
121
|
-
react_1.default.createElement(style_guide_1.ButtonGroup, null,
|
|
122
|
-
react_1.default.createElement(RejectButton, { onClick: rejectChange }, "Reject"),
|
|
123
|
-
react_1.default.createElement(exports.TrackChangesButton, { onClick: approveChange }, "Approve"))),
|
|
124
|
-
react_1.default.createElement(ChangesList, null, Object.entries(oldAttrs).map(([key], index) => (react_1.default.createElement(Attribute, { key: index },
|
|
125
|
-
react_1.default.createElement(AttributeLabel, null,
|
|
126
|
-
oldAttrs[key].label,
|
|
127
|
-
":"),
|
|
128
|
-
newAttrs[key].value &&
|
|
129
|
-
oldAttrs[key].value !== newAttrs[key].value && (react_1.default.createElement(OldAttribute, null, oldAttrs[key].value)),
|
|
130
|
-
react_1.default.createElement(AttributeValue, null, newAttrs[key].value || oldAttrs[key].value)))))));
|
|
131
|
-
};
|
|
132
|
-
exports.TrackAttrsPopperContent = TrackAttrsPopperContent;
|
|
133
|
-
exports.TrackChangesButton = (0, styled_components_1.default)(style_guide_1.TextButton) `
|
|
134
|
-
font-size: ${(props) => props.theme.font.size.normal};
|
|
135
|
-
color: ${(props) => props.theme.colors.text.tertiary};
|
|
136
|
-
text-decoration: underline;
|
|
137
|
-
margin-right: ${(props) => props.theme.grid.unit * 2}px;
|
|
138
|
-
|
|
139
|
-
&:hover,
|
|
140
|
-
&:focus {
|
|
141
|
-
color: ${(props) => props.theme.colors.text.tertiary} !important;
|
|
142
|
-
}
|
|
143
|
-
`;
|
|
144
|
-
const RejectButton = (0, styled_components_1.default)(exports.TrackChangesButton) `
|
|
145
|
-
color: ${(props) => props.theme.colors.text.secondary};
|
|
146
|
-
`;
|
|
147
|
-
const Header = styled_components_1.default.div `
|
|
148
|
-
display: flex;
|
|
149
|
-
align-items: center;
|
|
150
|
-
justify-content: space-between;
|
|
151
|
-
padding: 16px;
|
|
152
|
-
`;
|
|
153
|
-
const Label = styled_components_1.default.div `
|
|
154
|
-
color: ${(props) => props.theme.colors.text.primary};
|
|
155
|
-
font-size: ${(props) => props.theme.font.size.medium};
|
|
156
|
-
font-weight: ${(props) => props.theme.font.weight.normal};
|
|
157
|
-
line-height: ${(props) => props.theme.font.lineHeight.large};
|
|
158
|
-
font-style: normal;
|
|
159
|
-
padding: 2px;
|
|
160
|
-
`;
|
|
161
|
-
const LabelContainer = styled_components_1.default.div `
|
|
162
|
-
display: flex;
|
|
163
|
-
align-items: center;
|
|
164
|
-
padding: 4px;
|
|
165
|
-
`;
|
|
166
|
-
const Attribute = styled_components_1.default.div `
|
|
167
|
-
padding: ${(props) => props.theme.grid.unit * 3}px;
|
|
168
|
-
cursor: pointer;
|
|
169
|
-
|
|
170
|
-
&:hover {
|
|
171
|
-
background: ${(props) => props.theme.colors.background.fifth};
|
|
172
|
-
}
|
|
173
|
-
`;
|
|
174
|
-
const AttributeLabel = styled_components_1.default.div `
|
|
175
|
-
color: ${(props) => props.theme.colors.text.primary};
|
|
176
|
-
font-size: ${(props) => props.theme.font.size.small};
|
|
177
|
-
font-weight: ${(props) => props.theme.font.weight.bold};
|
|
178
|
-
font-style: normal;
|
|
179
|
-
line-height: 16px;
|
|
180
|
-
`;
|
|
181
|
-
const AttributeValue = (0, styled_components_1.default)(AttributeLabel) `
|
|
182
|
-
font-weight: ${(props) => props.theme.font.weight.normal};
|
|
183
|
-
`;
|
|
184
|
-
const OldAttribute = (0, styled_components_1.default)(AttributeValue) `
|
|
185
|
-
text-decoration: line-through;
|
|
186
|
-
`;
|
|
187
|
-
const ChangesList = styled_components_1.default.div `
|
|
188
|
-
padding: ${(props) => props.theme.grid.unit * 2}px
|
|
189
|
-
${(props) => props.theme.grid.unit * 4}px;
|
|
190
|
-
max-height: ${(props) => props.theme.grid.unit * 124}px;
|
|
191
|
-
background: ${(props) => props.theme.colors.background.secondary};
|
|
192
|
-
overflow-y: scroll;
|
|
193
|
-
overflow-x: hidden;
|
|
194
|
-
`;
|
|
195
|
-
//# sourceMappingURL=use-track-attrs-popper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-track-attrs-popper.js","sourceRoot":"","sources":["../../../src/hooks/use-track-attrs-popper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,75 +0,0 @@
|
|
|
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) 2019 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
-
*/
|
|
12
|
-
import React from 'react';
|
|
13
|
-
import styled from 'styled-components';
|
|
14
|
-
const Container = styled.div `
|
|
15
|
-
z-index: 10;
|
|
16
|
-
`;
|
|
17
|
-
export const PopperBodyContainer = styled.div `
|
|
18
|
-
width: auto;
|
|
19
|
-
min-width: 150px;
|
|
20
|
-
white-space: nowrap;
|
|
21
|
-
box-shadow: ${(props) => props.theme.shadow.dropShadow};
|
|
22
|
-
border: solid 1px ${(props) => props.theme.colors.text.muted};
|
|
23
|
-
border-radius: ${(props) => props.theme.grid.radius.small};
|
|
24
|
-
color: ${(props) => props.theme.colors.text.secondary};
|
|
25
|
-
background: ${(props) => props.theme.colors.background.primary};
|
|
26
|
-
z-index: 10;
|
|
27
|
-
|
|
28
|
-
&[data-placement='bottom-start'] {
|
|
29
|
-
border-top-left-radius: 0;
|
|
30
|
-
border-top-right-radius: 0;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
&[data-placement='right-start'] {
|
|
34
|
-
top: 10px;
|
|
35
|
-
}
|
|
36
|
-
`;
|
|
37
|
-
const ArrowUp = styled.div `
|
|
38
|
-
position: relative;
|
|
39
|
-
width: 0;
|
|
40
|
-
height: 0;
|
|
41
|
-
border-left: ${(props) => props.theme.grid.unit * 2}px solid transparent;
|
|
42
|
-
border-right: ${(props) => props.theme.grid.unit * 2}px solid transparent;
|
|
43
|
-
border-bottom: ${(props) => props.theme.grid.unit * 2}px solid
|
|
44
|
-
${(props) => props.theme.colors.background.primary};
|
|
45
|
-
top: 1px;
|
|
46
|
-
`;
|
|
47
|
-
const ArrowDown = styled.div `
|
|
48
|
-
position: relative;
|
|
49
|
-
width: 0;
|
|
50
|
-
height: 0;
|
|
51
|
-
border-left: ${(props) => props.theme.grid.unit * 2}px solid transparent;
|
|
52
|
-
border-right: ${(props) => props.theme.grid.unit * 2}px solid transparent;
|
|
53
|
-
border-top: ${(props) => props.theme.grid.unit * 2}px solid
|
|
54
|
-
${(props) => props.theme.colors.background.primary};
|
|
55
|
-
bottom: 1px;
|
|
56
|
-
`;
|
|
57
|
-
export const SeparatorLine = styled.div `
|
|
58
|
-
margin: ${(props) => props.theme.grid.unit * 2}px 0
|
|
59
|
-
${(props) => props.theme.grid.unit * 6}px;
|
|
60
|
-
background-color: ${(props) => props.theme.colors.border.secondary};
|
|
61
|
-
height: 1px;
|
|
62
|
-
`;
|
|
63
|
-
export const PopperBody = styled.div `
|
|
64
|
-
box-sizing: border-box;
|
|
65
|
-
flex: 2;
|
|
66
|
-
padding: ${(props) => props.theme.grid.unit * 5}px;
|
|
67
|
-
max-width: ${(props) => props.size || 300}px;
|
|
68
|
-
`;
|
|
69
|
-
export const CustomPopper = ({ children, popperProps: { ref, style, placement, arrowProps }, }) => (React.createElement(Container, { ref: ref, style: style, "data-placement": placement },
|
|
70
|
-
React.createElement(ArrowUp, { ref: arrowProps.ref, style: arrowProps.style }),
|
|
71
|
-
React.createElement(PopperBodyContainer, null, children)));
|
|
72
|
-
export const CustomUpPopper = ({ children, popperProps: { ref, style, placement, arrowProps }, }) => (React.createElement(Container, { ref: ref, style: style, "data-placement": placement },
|
|
73
|
-
React.createElement(PopperBodyContainer, null, children),
|
|
74
|
-
React.createElement(ArrowDown, { ref: arrowProps.ref, style: arrowProps.style })));
|
|
75
|
-
//# sourceMappingURL=Popper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popper.js","sourceRoot":"","sources":["../../../src/components/Popper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,164 +0,0 @@
|
|
|
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) 2023 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
-
*/
|
|
12
|
-
import { ButtonGroup, TextButton } from '@manuscripts/style-guide';
|
|
13
|
-
import { CHANGE_STATUS, trackCommands, } from '@manuscripts/track-changes-plugin';
|
|
14
|
-
import React, { useCallback } from 'react';
|
|
15
|
-
import ReactDOM from 'react-dom';
|
|
16
|
-
import styled from 'styled-components';
|
|
17
|
-
import EditIcon from '../components/projects/icons/EditIcon';
|
|
18
|
-
import { filterAttrsChange } from '../lib/attrs-change-filter';
|
|
19
|
-
import { useStore } from '../store';
|
|
20
|
-
import { ThemeProvider } from '../theme/ThemeProvider';
|
|
21
|
-
export const useExecCmd = () => {
|
|
22
|
-
const [storeView] = useStore((store) => store.view || store.editor?.view);
|
|
23
|
-
return (cmd, hookView) => {
|
|
24
|
-
const view = storeView || hookView;
|
|
25
|
-
cmd(view.state, view.dispatch);
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
export default () => {
|
|
29
|
-
const [{ selectedAttrsChange, popper, trackState }, dispatch] = useStore((store) => ({
|
|
30
|
-
selectedAttrsChange: store.selectedAttrsChange,
|
|
31
|
-
popper: store.popper,
|
|
32
|
-
trackState: store.trackState,
|
|
33
|
-
}));
|
|
34
|
-
const execCmd = useExecCmd();
|
|
35
|
-
const cleanSelectedChange = useCallback(() => {
|
|
36
|
-
const previousSelection = document.querySelector(`.track-attrs-popper`);
|
|
37
|
-
previousSelection && ReactDOM.unmountComponentAtNode(previousSelection);
|
|
38
|
-
popper.destroy();
|
|
39
|
-
document
|
|
40
|
-
.querySelector('.attrs-popper-button-active')
|
|
41
|
-
?.classList.replace('attrs-popper-button-active', 'attrs-popper-button');
|
|
42
|
-
dispatch({ selectedAttrsChange: undefined });
|
|
43
|
-
}, [dispatch, popper]);
|
|
44
|
-
const renderAttrsChangePopper = useCallback((changeId, attrTrackingButton) => {
|
|
45
|
-
if (!trackState) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
attrTrackingButton.classList.replace('attrs-popper-button', 'attrs-popper-button-active');
|
|
49
|
-
const { newAttrs, oldAttrs } = filterAttrsChange(trackState.changeSet.get(changeId));
|
|
50
|
-
const popperContainer = document.createElement('div');
|
|
51
|
-
popperContainer.className = 'track-attrs-popper';
|
|
52
|
-
ReactDOM.render(React.createElement(ThemeProvider, null,
|
|
53
|
-
React.createElement(TrackAttrsPopperContent, { newAttrs: newAttrs, oldAttrs: oldAttrs, changeId: changeId, updateState: (cmd) => {
|
|
54
|
-
cleanSelectedChange();
|
|
55
|
-
execCmd(cmd);
|
|
56
|
-
} })), popperContainer);
|
|
57
|
-
popper.show(attrTrackingButton, popperContainer);
|
|
58
|
-
dispatch({ selectedAttrsChange: changeId });
|
|
59
|
-
}, [trackState, popper, dispatch, cleanSelectedChange, execCmd]);
|
|
60
|
-
return useCallback((e) => {
|
|
61
|
-
const attrTrackingButton = e.target.closest('.attrs-popper-button,.attrs-popper-button-active');
|
|
62
|
-
cleanSelectedChange();
|
|
63
|
-
if (attrTrackingButton) {
|
|
64
|
-
const changeId = attrTrackingButton.value;
|
|
65
|
-
if (selectedAttrsChange !== changeId) {
|
|
66
|
-
renderAttrsChangePopper(changeId, attrTrackingButton);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
dispatch({ selectedAttrsChange: undefined });
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}, [
|
|
73
|
-
cleanSelectedChange,
|
|
74
|
-
dispatch,
|
|
75
|
-
renderAttrsChangePopper,
|
|
76
|
-
selectedAttrsChange,
|
|
77
|
-
]);
|
|
78
|
-
};
|
|
79
|
-
export const TrackAttrsPopperContent = ({ newAttrs, oldAttrs, changeId, updateState }) => {
|
|
80
|
-
const approveChange = () => {
|
|
81
|
-
updateState(trackCommands.setChangeStatuses(CHANGE_STATUS.accepted, [changeId]));
|
|
82
|
-
};
|
|
83
|
-
const rejectChange = () => {
|
|
84
|
-
updateState(trackCommands.setChangeStatuses(CHANGE_STATUS.rejected, [changeId]));
|
|
85
|
-
};
|
|
86
|
-
return (React.createElement(React.Fragment, null,
|
|
87
|
-
React.createElement(Header, null,
|
|
88
|
-
React.createElement(LabelContainer, null,
|
|
89
|
-
React.createElement(EditIcon, null),
|
|
90
|
-
React.createElement(Label, null, "Changed")),
|
|
91
|
-
React.createElement(ButtonGroup, null,
|
|
92
|
-
React.createElement(RejectButton, { onClick: rejectChange }, "Reject"),
|
|
93
|
-
React.createElement(TrackChangesButton, { onClick: approveChange }, "Approve"))),
|
|
94
|
-
React.createElement(ChangesList, null, Object.entries(oldAttrs).map(([key], index) => (React.createElement(Attribute, { key: index },
|
|
95
|
-
React.createElement(AttributeLabel, null,
|
|
96
|
-
oldAttrs[key].label,
|
|
97
|
-
":"),
|
|
98
|
-
newAttrs[key].value &&
|
|
99
|
-
oldAttrs[key].value !== newAttrs[key].value && (React.createElement(OldAttribute, null, oldAttrs[key].value)),
|
|
100
|
-
React.createElement(AttributeValue, null, newAttrs[key].value || oldAttrs[key].value)))))));
|
|
101
|
-
};
|
|
102
|
-
export const TrackChangesButton = styled(TextButton) `
|
|
103
|
-
font-size: ${(props) => props.theme.font.size.normal};
|
|
104
|
-
color: ${(props) => props.theme.colors.text.tertiary};
|
|
105
|
-
text-decoration: underline;
|
|
106
|
-
margin-right: ${(props) => props.theme.grid.unit * 2}px;
|
|
107
|
-
|
|
108
|
-
&:hover,
|
|
109
|
-
&:focus {
|
|
110
|
-
color: ${(props) => props.theme.colors.text.tertiary} !important;
|
|
111
|
-
}
|
|
112
|
-
`;
|
|
113
|
-
const RejectButton = styled(TrackChangesButton) `
|
|
114
|
-
color: ${(props) => props.theme.colors.text.secondary};
|
|
115
|
-
`;
|
|
116
|
-
const Header = styled.div `
|
|
117
|
-
display: flex;
|
|
118
|
-
align-items: center;
|
|
119
|
-
justify-content: space-between;
|
|
120
|
-
padding: 16px;
|
|
121
|
-
`;
|
|
122
|
-
const Label = styled.div `
|
|
123
|
-
color: ${(props) => props.theme.colors.text.primary};
|
|
124
|
-
font-size: ${(props) => props.theme.font.size.medium};
|
|
125
|
-
font-weight: ${(props) => props.theme.font.weight.normal};
|
|
126
|
-
line-height: ${(props) => props.theme.font.lineHeight.large};
|
|
127
|
-
font-style: normal;
|
|
128
|
-
padding: 2px;
|
|
129
|
-
`;
|
|
130
|
-
const LabelContainer = styled.div `
|
|
131
|
-
display: flex;
|
|
132
|
-
align-items: center;
|
|
133
|
-
padding: 4px;
|
|
134
|
-
`;
|
|
135
|
-
const Attribute = styled.div `
|
|
136
|
-
padding: ${(props) => props.theme.grid.unit * 3}px;
|
|
137
|
-
cursor: pointer;
|
|
138
|
-
|
|
139
|
-
&:hover {
|
|
140
|
-
background: ${(props) => props.theme.colors.background.fifth};
|
|
141
|
-
}
|
|
142
|
-
`;
|
|
143
|
-
const AttributeLabel = styled.div `
|
|
144
|
-
color: ${(props) => props.theme.colors.text.primary};
|
|
145
|
-
font-size: ${(props) => props.theme.font.size.small};
|
|
146
|
-
font-weight: ${(props) => props.theme.font.weight.bold};
|
|
147
|
-
font-style: normal;
|
|
148
|
-
line-height: 16px;
|
|
149
|
-
`;
|
|
150
|
-
const AttributeValue = styled(AttributeLabel) `
|
|
151
|
-
font-weight: ${(props) => props.theme.font.weight.normal};
|
|
152
|
-
`;
|
|
153
|
-
const OldAttribute = styled(AttributeValue) `
|
|
154
|
-
text-decoration: line-through;
|
|
155
|
-
`;
|
|
156
|
-
const ChangesList = styled.div `
|
|
157
|
-
padding: ${(props) => props.theme.grid.unit * 2}px
|
|
158
|
-
${(props) => props.theme.grid.unit * 4}px;
|
|
159
|
-
max-height: ${(props) => props.theme.grid.unit * 124}px;
|
|
160
|
-
background: ${(props) => props.theme.colors.background.secondary};
|
|
161
|
-
overflow-y: scroll;
|
|
162
|
-
overflow-x: hidden;
|
|
163
|
-
`;
|
|
164
|
-
//# sourceMappingURL=use-track-attrs-popper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-track-attrs-popper.js","sourceRoot":"","sources":["../../../src/hooks/use-track-attrs-popper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
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) 2019 Atypon Systems LLC. All Rights Reserved.
|
|
11
|
-
*/
|
|
12
|
-
import React from 'react';
|
|
13
|
-
import { PopperChildrenProps } from 'react-popper';
|
|
14
|
-
export declare const PopperBodyContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
15
|
-
export declare const SeparatorLine: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
16
|
-
export declare const PopperBody: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
17
|
-
size?: number | undefined;
|
|
18
|
-
}, never>;
|
|
19
|
-
interface Props {
|
|
20
|
-
popperProps: PopperChildrenProps;
|
|
21
|
-
}
|
|
22
|
-
export declare const CustomPopper: React.FunctionComponent<Props>;
|
|
23
|
-
export declare const CustomUpPopper: React.FunctionComponent<Props>;
|
|
24
|
-
export {};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Command } from 'prosemirror-state';
|
|
2
|
-
import { EditorView } from 'prosemirror-view';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
export declare const useExecCmd: () => (cmd: Command, hookView?: EditorView) => void;
|
|
5
|
-
declare const _default: () => (e: React.MouseEvent) => void;
|
|
6
|
-
export default _default;
|
|
7
|
-
export declare const TrackAttrsPopperContent: React.FC<{
|
|
8
|
-
newAttrs: Record<string, {
|
|
9
|
-
label: string;
|
|
10
|
-
value: string;
|
|
11
|
-
}>;
|
|
12
|
-
oldAttrs: Record<string, {
|
|
13
|
-
label: string;
|
|
14
|
-
value: string;
|
|
15
|
-
}>;
|
|
16
|
-
changeId: string;
|
|
17
|
-
updateState: (cmd: Command) => void;
|
|
18
|
-
}>;
|
|
19
|
-
export declare const TrackChangesButton: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, {
|
|
20
|
-
type: "button" | "submit" | "reset";
|
|
21
|
-
} & {
|
|
22
|
-
danger?: boolean | undefined;
|
|
23
|
-
disabled?: boolean | undefined;
|
|
24
|
-
mini?: boolean | undefined;
|
|
25
|
-
}, "type">;
|