@cu-mkp/editioncrafter 1.0.2 → 1.0.4-beta.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/README.md +7 -7
- package/dist/editioncrafter.js +65802 -0
- package/dist/editioncrafter.umd.cjs +553 -0
- package/dist/es/src/action/DiplomaticActions.js +9 -11
- package/dist/es/src/action/DocumentActions.js +164 -154
- package/dist/es/src/action/GlossaryActions.js +9 -11
- package/dist/es/src/action/initialState/diplomaticInitialState.js +2 -2
- package/dist/es/src/action/initialState/documentInitialState.js +9 -12
- package/dist/es/src/action/initialState/glossaryInitialState.js +3 -3
- package/dist/es/src/action/rootReducer.js +31 -29
- package/dist/es/src/component/AlphabetLinks.js +44 -66
- package/dist/es/src/component/CustomizedTooltops.js +101 -110
- package/dist/es/src/component/DiploMatic.js +64 -91
- package/dist/es/src/component/DocumentView.js +442 -366
- package/dist/es/src/component/EditorComment.js +51 -75
- package/dist/es/src/component/ErrorBoundary.js +37 -61
- package/dist/es/src/component/FigureImage.js +56 -67
- package/dist/es/src/component/GlossaryView.js +157 -149
- package/dist/es/src/component/HelpPopper.js +96 -78
- package/dist/es/src/component/ImageGridView.js +184 -249
- package/dist/es/src/component/ImageView.js +155 -165
- package/dist/es/src/component/ImageZoomControl.js +19 -38
- package/dist/es/src/component/JumpToFolio.js +56 -60
- package/dist/es/src/component/Navigation.js +374 -328
- package/dist/es/src/component/Pagination.js +73 -70
- package/dist/es/src/component/Parser.js +11 -32
- package/dist/es/src/component/RingSpinner.js +31 -32
- package/dist/es/src/component/RouteListener.js +30 -21
- package/dist/es/src/component/SeaDragonComponent.js +33 -56
- package/dist/es/src/component/SinglePaneView.js +15 -33
- package/dist/es/src/component/SplitPaneView.js +151 -170
- package/dist/es/src/component/TranscriptionView.js +190 -179
- package/dist/es/src/component/Watermark.js +21 -30
- package/dist/es/src/component/XMLView.js +60 -82
- package/dist/es/src/hooks/useIsWidthUp.js +9 -7
- package/dist/es/src/icons/ByIcon.js +16 -16
- package/dist/es/src/icons/CcIcon.js +16 -16
- package/dist/es/src/icons/NcIcon.js +16 -16
- package/dist/es/src/icons/SaIcon.js +16 -16
- package/dist/es/src/icons/SideMenuIconLeft.js +30 -38
- package/dist/es/src/icons/SideMenuIconRight.js +32 -38
- package/dist/es/src/index.js +21 -20
- package/dist/es/src/lib/copyObject.js +3 -2
- package/dist/es/src/lib/registerServiceWorker.js +77 -54
- package/dist/es/src/model/DocumentHelper.js +7 -6
- package/dist/es/src/model/Folio.js +64 -86
- package/dist/es/src/model/ReduxStore.js +32 -78
- package/dist/es/src/model/folioLayout.js +275 -280
- package/dist/es/src/saga/RouteListenerSaga.js +89 -193
- package/dist/es/src/saga/rootSaga.js +9 -16
- package/dist/es/src/scss/_imageView.scss +1 -1
- package/dist/es/src/scss/_navigation.scss +1 -1
- package/dist/es/src/scss/editioncrafter.scss +1 -1
- package/dist/style.css +1 -0
- package/package.json +36 -51
- package/dist/editioncrafter.min.js +0 -2
- package/dist/editioncrafter.min.js.LICENSE.txt +0 -144
|
@@ -1,209 +1,220 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import EditorComment from './EditorComment';
|
|
14
|
-
import ErrorBoundary from './ErrorBoundary';
|
|
15
|
-
import Watermark from './Watermark';
|
|
16
|
-
import { BigRingSpinner } from './RingSpinner';
|
|
17
|
-
var addZoneStyle = function addZoneStyle(selectedZone, domNode, facses) {
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { connect } from 'react-redux'
|
|
3
|
+
import { useSearchParams } from 'react-router-dom'
|
|
4
|
+
import EditorComment from './EditorComment'
|
|
5
|
+
import ErrorBoundary from './ErrorBoundary'
|
|
6
|
+
import Navigation from './Navigation'
|
|
7
|
+
import Pagination from './Pagination'
|
|
8
|
+
import Parser from './Parser'
|
|
9
|
+
import { BigRingSpinner } from './RingSpinner'
|
|
10
|
+
import Watermark from './Watermark'
|
|
11
|
+
|
|
12
|
+
function addZoneStyle(selectedZone, domNode, facses) {
|
|
18
13
|
if (facses.includes(selectedZone)) {
|
|
19
14
|
// Keep any classes that might already be set
|
|
20
15
|
if (domNode.attribs.classname) {
|
|
21
|
-
domNode.attribs.classname += ' selected-zone'
|
|
22
|
-
}
|
|
23
|
-
|
|
16
|
+
domNode.attribs.classname += ' selected-zone'
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
domNode.attribs.classname = 'selected-zone'
|
|
24
20
|
}
|
|
25
21
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
|
|
23
|
+
return domNode
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function setUpForZoneHighlighting(selectedZone, domNode) {
|
|
29
27
|
if (selectedZone && domNode.attribs['data-facs']) {
|
|
30
28
|
// The facs field can contain multiple values
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
const facses = domNode.attribs['data-facs'].split(' ')
|
|
30
|
+
|
|
31
|
+
return addZoneStyle(selectedZone, domNode, facses)
|
|
33
32
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
|
|
34
|
+
return domNode
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function htmlToReactParserOptions(selectedZone) {
|
|
38
|
+
const parserOptions = {
|
|
39
|
+
replace(domNode) {
|
|
39
40
|
switch (domNode.name) {
|
|
40
|
-
case 'tei-line':
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var id = domNode.attribs.n || domNode.attribs.id;
|
|
54
|
-
|
|
55
|
-
// Not sure what else to do if there's no ID
|
|
56
|
-
if (!id) {
|
|
57
|
-
return domNode;
|
|
58
|
-
}
|
|
59
|
-
return /*#__PURE__*/React.createElement(EditorComment, {
|
|
60
|
-
commentID: id,
|
|
61
|
-
text: text
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
case 'tei-figure':
|
|
65
|
-
{
|
|
66
|
-
var _graphicEl$attribs, _descEl$children$;
|
|
67
|
-
var graphicEl = domNode.children.find(function (ch) {
|
|
68
|
-
return ch.name === 'tei-graphic';
|
|
69
|
-
});
|
|
70
|
-
var src = graphicEl === null || graphicEl === void 0 ? void 0 : (_graphicEl$attribs = graphicEl.attribs) === null || _graphicEl$attribs === void 0 ? void 0 : _graphicEl$attribs.url;
|
|
71
|
-
if (!src) {
|
|
72
|
-
return domNode;
|
|
73
|
-
}
|
|
74
|
-
var descEl = domNode.children.find(function (ch) {
|
|
75
|
-
return ch.name === 'tei-figdesc';
|
|
76
|
-
});
|
|
77
|
-
var desc = descEl === null || descEl === void 0 ? void 0 : (_descEl$children$ = descEl.children[0]) === null || _descEl$children$ === void 0 ? void 0 : _descEl$children$.data;
|
|
78
|
-
return /*#__PURE__*/React.createElement("figure", {
|
|
79
|
-
className: "inline-figure"
|
|
80
|
-
}, /*#__PURE__*/React.createElement("img", {
|
|
81
|
-
src: src,
|
|
82
|
-
alt: desc || '',
|
|
83
|
-
className: "inline-image"
|
|
84
|
-
}), desc ? /*#__PURE__*/React.createElement("figcaption", null, desc) : null);
|
|
41
|
+
case 'tei-line': {
|
|
42
|
+
return setUpForZoneHighlighting(selectedZone, domNode)
|
|
43
|
+
}
|
|
44
|
+
case 'tei-surface': {
|
|
45
|
+
return setUpForZoneHighlighting(selectedZone, domNode)
|
|
46
|
+
}
|
|
47
|
+
case 'tei-note': {
|
|
48
|
+
const text = domNode.children[0]?.data || ''
|
|
49
|
+
const id = domNode.attribs.n || domNode.attribs.id
|
|
50
|
+
|
|
51
|
+
// Not sure what else to do if there's no ID
|
|
52
|
+
if (!id) {
|
|
53
|
+
return domNode
|
|
85
54
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<EditorComment commentID={id} text={text} />
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
case 'tei-figure': {
|
|
61
|
+
const graphicEl = domNode.children.find(ch => ch.name === 'tei-graphic')
|
|
62
|
+
const src = graphicEl?.attribs?.url
|
|
63
|
+
if (!src) {
|
|
64
|
+
return domNode
|
|
89
65
|
}
|
|
66
|
+
|
|
67
|
+
const descEl = domNode.children.find(ch => ch.name === 'tei-figdesc')
|
|
68
|
+
const desc = descEl?.children[0]?.data
|
|
69
|
+
return (
|
|
70
|
+
<figure className="inline-figure">
|
|
71
|
+
<img src={src} alt={desc || ''} className="inline-image" />
|
|
72
|
+
{ desc ? <figcaption>{desc}</figcaption> : null }
|
|
73
|
+
</figure>
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
case 'div': {
|
|
78
|
+
return setUpForZoneHighlighting(selectedZone, domNode)
|
|
79
|
+
}
|
|
80
|
+
|
|
90
81
|
default:
|
|
91
82
|
/* Otherwise, Just pass through */
|
|
92
|
-
return domNode
|
|
83
|
+
return domNode
|
|
93
84
|
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return parserOptions
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
85
|
+
},
|
|
86
|
+
}
|
|
87
|
+
return parserOptions
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function TranscriptionView(props) {
|
|
91
|
+
const [searchParams] = useSearchParams()
|
|
92
|
+
|
|
93
|
+
const {
|
|
94
|
+
side,
|
|
95
|
+
folioID,
|
|
96
|
+
transcriptionType,
|
|
97
|
+
document,
|
|
98
|
+
documentView,
|
|
99
|
+
documentViewActions,
|
|
100
|
+
} = props
|
|
101
|
+
|
|
108
102
|
if (folioID === '-1') {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
103
|
+
return (
|
|
104
|
+
<Watermark
|
|
105
|
+
documentView={documentView}
|
|
106
|
+
documentViewActions={documentViewActions}
|
|
107
|
+
side={side}
|
|
108
|
+
/>
|
|
109
|
+
)
|
|
115
110
|
}
|
|
116
|
-
|
|
111
|
+
|
|
112
|
+
const folio = document.folioIndex[folioID]
|
|
113
|
+
|
|
117
114
|
if (folio && !folio.loading && !folio.transcription) {
|
|
118
|
-
return
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
115
|
+
return (
|
|
116
|
+
<Watermark
|
|
117
|
+
documentView={documentView}
|
|
118
|
+
documentViewActions={documentViewActions}
|
|
119
|
+
side={side}
|
|
120
|
+
/>
|
|
121
|
+
)
|
|
123
122
|
}
|
|
124
|
-
|
|
123
|
+
const transcriptionData = folio && folio.transcription && folio.transcription[transcriptionType]
|
|
124
|
+
|
|
125
125
|
if (folio && !folio.loading && !transcriptionData) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
return (
|
|
127
|
+
<Watermark
|
|
128
|
+
documentView={documentView}
|
|
129
|
+
documentViewActions={documentViewActions}
|
|
130
|
+
side={side}
|
|
131
|
+
/>
|
|
132
|
+
)
|
|
132
133
|
}
|
|
133
134
|
|
|
134
135
|
// Configure parser to replace certain tags with components
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
const htmlToReactParserOptionsSide = htmlToReactParserOptions(searchParams.get('zone'))
|
|
137
|
+
const html = transcriptionData && transcriptionData.html
|
|
138
|
+
const layout = transcriptionData && transcriptionData.layout
|
|
139
|
+
|
|
138
140
|
if (folio && !folio.loading && !html) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
141
|
+
return (
|
|
142
|
+
<Watermark
|
|
143
|
+
documentView={documentView}
|
|
144
|
+
documentViewActions={documentViewActions}
|
|
145
|
+
side={side}
|
|
146
|
+
/>
|
|
147
|
+
)
|
|
145
148
|
}
|
|
149
|
+
|
|
146
150
|
if (folio && folio.loading) {
|
|
147
|
-
return
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
151
|
+
return (
|
|
152
|
+
<div>
|
|
153
|
+
<Navigation
|
|
154
|
+
side={side}
|
|
155
|
+
documentView={documentView}
|
|
156
|
+
documentViewActions={documentViewActions}
|
|
157
|
+
documentName={document.variorum && folio.doc_id}
|
|
158
|
+
/>
|
|
159
|
+
<Pagination side={side} documentView={documentView} documentViewActions={documentViewActions} />
|
|
160
|
+
<div className="transcriptionViewComponent">
|
|
161
|
+
<div className="transcriptContent">
|
|
162
|
+
<ErrorBoundary>
|
|
163
|
+
<BigRingSpinner delay={3000} color="dark" />
|
|
164
|
+
</ErrorBoundary>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
<Pagination
|
|
169
|
+
side={side}
|
|
170
|
+
documentView={documentView}
|
|
171
|
+
documentViewActions={documentViewActions}
|
|
172
|
+
bottom
|
|
173
|
+
/>
|
|
174
|
+
</div>
|
|
175
|
+
)
|
|
169
176
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
177
|
+
|
|
178
|
+
return (
|
|
179
|
+
<div style={{ position: 'relative', overflow: 'auto' }}>
|
|
180
|
+
<Navigation
|
|
181
|
+
side={side}
|
|
182
|
+
documentView={documentView}
|
|
183
|
+
documentViewActions={documentViewActions}
|
|
184
|
+
documentName={document.variorum && folio.doc_id}
|
|
185
|
+
/>
|
|
186
|
+
<Pagination side={side} documentView={documentView} documentViewActions={documentViewActions} />
|
|
187
|
+
<div className="transcriptionViewComponent">
|
|
188
|
+
<div className="transcriptContent">
|
|
189
|
+
<ErrorBoundary>
|
|
190
|
+
<div
|
|
191
|
+
className="surface grid-mode"
|
|
192
|
+
style={{ gridTemplateAreas: layout }}
|
|
193
|
+
>
|
|
194
|
+
<Parser
|
|
195
|
+
html={html}
|
|
196
|
+
htmlToReactParserOptionsSide={htmlToReactParserOptionsSide}
|
|
197
|
+
/>
|
|
198
|
+
</div>
|
|
199
|
+
</ErrorBoundary>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<Pagination
|
|
204
|
+
side={side}
|
|
205
|
+
documentView={documentView}
|
|
206
|
+
documentViewActions={documentViewActions}
|
|
207
|
+
bottom
|
|
208
|
+
/>
|
|
209
|
+
</div>
|
|
210
|
+
)
|
|
211
|
+
}
|
|
212
|
+
|
|
203
213
|
function mapStateToProps(state) {
|
|
204
214
|
return {
|
|
205
215
|
annotations: state.annotations,
|
|
206
|
-
document: state.document
|
|
207
|
-
}
|
|
216
|
+
document: state.document,
|
|
217
|
+
}
|
|
208
218
|
}
|
|
209
|
-
|
|
219
|
+
|
|
220
|
+
export default connect(mapStateToProps)(TranscriptionView)
|
|
@@ -1,30 +1,21 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import Navigation from './Navigation'
|
|
3
|
-
import Pagination from './Pagination'
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
documentView: documentView,
|
|
23
|
-
documentViewActions: documentViewActions
|
|
24
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
25
|
-
className: "watermark"
|
|
26
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
27
|
-
className: side !== 'third' ? "watermark_contents" : "third_pane_blank"
|
|
28
|
-
}))));
|
|
29
|
-
};
|
|
30
|
-
export default Watermark;
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import Navigation from './Navigation'
|
|
3
|
+
import Pagination from './Pagination'
|
|
4
|
+
|
|
5
|
+
function Watermark({ side, documentView, documentViewActions }) {
|
|
6
|
+
return (
|
|
7
|
+
<div style={{ position: 'relative' }} className="watermarkContainer">
|
|
8
|
+
{ documentView.left.iiifShortID !== '-1' && documentView.right.iiifShortID !== '-1'
|
|
9
|
+
? <Navigation side={side} documentView={documentView} documentViewActions={documentViewActions} />
|
|
10
|
+
: null}
|
|
11
|
+
<div className="transcriptContent">
|
|
12
|
+
<Pagination side={side} className="pagination_upper" documentView={documentView} documentViewActions={documentViewActions} />
|
|
13
|
+
<div className="watermark">
|
|
14
|
+
<div className={side !== 'third' ? 'watermark_contents' : 'third_pane_blank'} />
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default Watermark
|
|
@@ -1,87 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import Pagination from './Pagination';
|
|
17
|
-
import Watermark from './Watermark';
|
|
18
|
-
var XMLView = /*#__PURE__*/function (_Component) {
|
|
19
|
-
_inherits(XMLView, _Component);
|
|
20
|
-
var _super = _createSuper(XMLView);
|
|
21
|
-
function XMLView() {
|
|
22
|
-
_classCallCheck(this, XMLView);
|
|
23
|
-
return _super.apply(this, arguments);
|
|
24
|
-
}
|
|
25
|
-
_createClass(XMLView, [{
|
|
26
|
-
key: "render",
|
|
27
|
-
value:
|
|
28
|
-
// RENDER
|
|
29
|
-
function render() {
|
|
30
|
-
var _this$props = this.props,
|
|
31
|
-
side = _this$props.side,
|
|
32
|
-
document = _this$props.document,
|
|
33
|
-
documentView = _this$props.documentView,
|
|
34
|
-
documentViewActions = _this$props.documentViewActions;
|
|
35
|
-
var thisClass = "xmlViewComponent ".concat(side);
|
|
36
|
-
var thisID = "xmlViewComponent_".concat(side);
|
|
1
|
+
import React, { Component } from 'react'
|
|
2
|
+
import { connect } from 'react-redux'
|
|
3
|
+
import Navigation from './Navigation'
|
|
4
|
+
import Pagination from './Pagination'
|
|
5
|
+
import Watermark from './Watermark'
|
|
6
|
+
|
|
7
|
+
class XMLView extends Component {
|
|
8
|
+
// RENDER
|
|
9
|
+
render() {
|
|
10
|
+
const {
|
|
11
|
+
side,
|
|
12
|
+
document,
|
|
13
|
+
documentView,
|
|
14
|
+
documentViewActions,
|
|
15
|
+
} = this.props
|
|
37
16
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return /*#__PURE__*/React.createElement(Watermark, {
|
|
50
|
-
documentView: documentView,
|
|
51
|
-
documentViewActions: documentViewActions,
|
|
52
|
-
side: side
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
var transcriptionType = documentView[side].transcriptionType;
|
|
56
|
-
var transcriptionData = folio.transcription[transcriptionType];
|
|
57
|
-
var xmlContent = transcriptionData.xml;
|
|
58
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
59
|
-
id: thisID,
|
|
60
|
-
className: thisClass,
|
|
61
|
-
style: {
|
|
62
|
-
position: "relative",
|
|
63
|
-
overflow: "auto"
|
|
64
|
-
}
|
|
65
|
-
}, /*#__PURE__*/React.createElement(Navigation, {
|
|
66
|
-
side: side,
|
|
67
|
-
documentView: documentView,
|
|
68
|
-
documentViewActions: documentViewActions,
|
|
69
|
-
documentName: document.variorum && folio.doc_id
|
|
70
|
-
}), /*#__PURE__*/React.createElement(Pagination, {
|
|
71
|
-
side: side,
|
|
72
|
-
className: "pagination_upper",
|
|
73
|
-
documentView: documentView,
|
|
74
|
-
documentViewActions: documentViewActions
|
|
75
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
76
|
-
className: "xmlContentInner"
|
|
77
|
-
}, /*#__PURE__*/React.createElement("pre", null, xmlContent)));
|
|
17
|
+
const thisClass = `xmlViewComponent ${side}`
|
|
18
|
+
const thisID = `xmlViewComponent_${side}`
|
|
19
|
+
|
|
20
|
+
// Retrofit - the folios are loaded asynchronously
|
|
21
|
+
const folioID = documentView[side].iiifShortID
|
|
22
|
+
if (folioID === '-1') {
|
|
23
|
+
return (
|
|
24
|
+
<div className="watermark">
|
|
25
|
+
<div className="watermark_contents" />
|
|
26
|
+
</div>
|
|
27
|
+
)
|
|
78
28
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
29
|
+
|
|
30
|
+
const folio = document.folioIndex[folioID]
|
|
31
|
+
if (!folio.transcription) {
|
|
32
|
+
return (
|
|
33
|
+
<Watermark
|
|
34
|
+
documentView={documentView}
|
|
35
|
+
documentViewActions={documentViewActions}
|
|
36
|
+
side={side}
|
|
37
|
+
/>
|
|
38
|
+
)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const { transcriptionType } = documentView[side]
|
|
42
|
+
const transcriptionData = folio.transcription[transcriptionType]
|
|
43
|
+
const { xml: xmlContent } = transcriptionData
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<div id={thisID} className={thisClass} style={{ position: 'relative', overflow: 'auto' }}>
|
|
47
|
+
<Navigation side={side} documentView={documentView} documentViewActions={documentViewActions} documentName={document.variorum && folio.doc_id} />
|
|
48
|
+
<Pagination side={side} className="pagination_upper" documentView={documentView} documentViewActions={documentViewActions} />
|
|
49
|
+
|
|
50
|
+
<div className="xmlContentInner">
|
|
51
|
+
<pre>{xmlContent}</pre>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
</div>
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
82
59
|
function mapStateToProps(state) {
|
|
83
60
|
return {
|
|
84
|
-
document: state.document
|
|
85
|
-
}
|
|
61
|
+
document: state.document,
|
|
62
|
+
}
|
|
86
63
|
}
|
|
87
|
-
|
|
64
|
+
|
|
65
|
+
export default connect(mapStateToProps)(XMLView)
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { useTheme } from '@material-ui/core/styles'
|
|
2
|
-
import useMediaQuery from '@material-ui/core/useMediaQuery'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { useTheme } from '@material-ui/core/styles'
|
|
2
|
+
import useMediaQuery from '@material-ui/core/useMediaQuery'
|
|
3
|
+
|
|
4
|
+
function useIsWidthUp(breakpoint) {
|
|
5
|
+
const theme = useTheme()
|
|
6
|
+
return useMediaQuery(theme.breakpoints.up(breakpoint))
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default useIsWidthUp
|