@mirrormedia/lilith-draft-editor 2.2.0 → 2.3.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/README.md +3 -9
- package/lib/draft-js/buttons/audio.js +9 -5
- package/lib/draft-js/buttons/color-box.js +15 -11
- package/lib/draft-js/buttons/divider.js +10 -6
- package/lib/draft-js/buttons/embedded-code.js +13 -8
- package/lib/draft-js/buttons/enlarge.js +6 -2
- package/lib/draft-js/buttons/image.js +9 -5
- package/lib/draft-js/buttons/related-post.js +10 -6
- package/lib/draft-js/buttons/selector/align-selector.js +7 -3
- package/lib/draft-js/buttons/selector/pagination.js +8 -6
- package/lib/draft-js/buttons/selector/video-selector.js +1 -2
- package/lib/draft-js/buttons/side-index.js +22 -18
- package/lib/draft-js/buttons/slideshow.js +9 -5
- package/lib/draft-js/buttons/table.js +7 -3
- package/lib/draft-js/buttons/text-align.js +11 -7
- package/lib/draft-js/buttons/video.js +9 -5
- package/lib/draft-js/buttons/youtube.js +16 -12
- package/lib/website/mirrormedia/draft-editor.js +6 -4
- package/lib/website/mirrormedia/selector/align-selector.js +7 -3
- package/lib/website/mirrormedia/selector/pagination.js +8 -6
- package/lib/website/readr/draft-editor.js +126 -88
- package/lib/website/readr/selector/align-selector.js +3 -3
- package/lib/website/readr/selector/audio-selector.js +4 -2
- package/lib/website/readr/selector/image-selector.js +16 -9
- package/lib/website/readr/selector/post-selector.js +4 -2
- package/lib/website/readr/selector/video-selector.js +4 -2
- package/package.json +8 -8
|
@@ -120,42 +120,53 @@ const buttonStyle = (0, _styledComponents.css)`
|
|
|
120
120
|
align-items: center;
|
|
121
121
|
height: 40px;
|
|
122
122
|
|
|
123
|
-
cursor: ${
|
|
124
|
-
|
|
123
|
+
cursor: ${({
|
|
124
|
+
readOnly
|
|
125
|
+
}) => {
|
|
126
|
+
if (readOnly) {
|
|
125
127
|
return 'not-allowed';
|
|
126
128
|
}
|
|
127
129
|
|
|
128
130
|
return 'pointer';
|
|
129
131
|
}};
|
|
130
|
-
color: ${
|
|
131
|
-
|
|
132
|
+
color: ${({
|
|
133
|
+
readOnly,
|
|
134
|
+
isActive
|
|
135
|
+
}) => {
|
|
136
|
+
if (readOnly) {
|
|
132
137
|
return '#c1c7d0';
|
|
133
138
|
}
|
|
134
139
|
|
|
135
|
-
if (
|
|
140
|
+
if (isActive) {
|
|
136
141
|
return '#3b82f6';
|
|
137
142
|
}
|
|
138
143
|
|
|
139
144
|
return '#6b7280';
|
|
140
145
|
}};
|
|
141
146
|
border: solid 1px
|
|
142
|
-
${
|
|
143
|
-
|
|
147
|
+
${({
|
|
148
|
+
readOnly,
|
|
149
|
+
isActive
|
|
150
|
+
}) => {
|
|
151
|
+
if (readOnly) {
|
|
144
152
|
return '#c1c7d0';
|
|
145
153
|
}
|
|
146
154
|
|
|
147
|
-
if (
|
|
155
|
+
if (isActive) {
|
|
148
156
|
return '#3b82f6';
|
|
149
157
|
}
|
|
150
158
|
|
|
151
159
|
return '#6b7280';
|
|
152
160
|
}};
|
|
153
|
-
box-shadow: ${
|
|
154
|
-
|
|
161
|
+
box-shadow: ${({
|
|
162
|
+
readOnly,
|
|
163
|
+
isActive
|
|
164
|
+
}) => {
|
|
165
|
+
if (readOnly) {
|
|
155
166
|
return 'unset';
|
|
156
167
|
}
|
|
157
168
|
|
|
158
|
-
if (
|
|
169
|
+
if (isActive) {
|
|
159
170
|
return 'rgba(38, 132, 255, 20%) 0px 1px 4px ';
|
|
160
171
|
}
|
|
161
172
|
|
|
@@ -163,8 +174,10 @@ const buttonStyle = (0, _styledComponents.css)`
|
|
|
163
174
|
}};
|
|
164
175
|
transition: box-shadow 100ms linear;
|
|
165
176
|
|
|
166
|
-
display: ${
|
|
167
|
-
|
|
177
|
+
display: ${({
|
|
178
|
+
isDisabled
|
|
179
|
+
}) => {
|
|
180
|
+
if (isDisabled) {
|
|
168
181
|
return 'none';
|
|
169
182
|
}
|
|
170
183
|
|
|
@@ -173,35 +186,44 @@ const buttonStyle = (0, _styledComponents.css)`
|
|
|
173
186
|
`;
|
|
174
187
|
const longFormButtonStyle = (0, _styledComponents.css)`
|
|
175
188
|
${buttonStyle}
|
|
176
|
-
color: ${
|
|
177
|
-
|
|
189
|
+
color: ${({
|
|
190
|
+
readOnly,
|
|
191
|
+
isActive
|
|
192
|
+
}) => {
|
|
193
|
+
if (readOnly) {
|
|
178
194
|
return '#c1c7d0';
|
|
179
195
|
}
|
|
180
196
|
|
|
181
|
-
if (
|
|
197
|
+
if (isActive) {
|
|
182
198
|
return '#ED8B00';
|
|
183
199
|
}
|
|
184
200
|
|
|
185
201
|
return '#6b7280';
|
|
186
202
|
}};
|
|
187
203
|
border: solid 1px
|
|
188
|
-
${
|
|
189
|
-
|
|
204
|
+
${({
|
|
205
|
+
readOnly,
|
|
206
|
+
isActive
|
|
207
|
+
}) => {
|
|
208
|
+
if (readOnly) {
|
|
190
209
|
return '#c1c7d0';
|
|
191
210
|
}
|
|
192
211
|
|
|
193
|
-
if (
|
|
212
|
+
if (isActive) {
|
|
194
213
|
return '#ED8B00';
|
|
195
214
|
}
|
|
196
215
|
|
|
197
216
|
return '#FECC85';
|
|
198
217
|
}};
|
|
199
|
-
box-shadow: ${
|
|
200
|
-
|
|
218
|
+
box-shadow: ${({
|
|
219
|
+
readOnly,
|
|
220
|
+
isActive
|
|
221
|
+
}) => {
|
|
222
|
+
if (readOnly) {
|
|
201
223
|
return 'unset';
|
|
202
224
|
}
|
|
203
225
|
|
|
204
|
-
if (
|
|
226
|
+
if (isActive) {
|
|
205
227
|
return 'rgba(237, 139, 0, 0.5) 0px 1px 4px';
|
|
206
228
|
}
|
|
207
229
|
|
|
@@ -225,13 +247,14 @@ const CustomLinkButton = (0, _styledComponents.default)(_link.LinkButton)`
|
|
|
225
247
|
`;
|
|
226
248
|
|
|
227
249
|
function createButtonWithoutProps(referenceComponent, isLongForm = false, additionalCSS = ``) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
250
|
+
const component = referenceComponent;
|
|
251
|
+
return isLongForm ? (0, _styledComponents.default)(component)`
|
|
252
|
+
${longFormButtonStyle}
|
|
253
|
+
${additionalCSS}
|
|
254
|
+
` : (0, _styledComponents.default)(component)`
|
|
255
|
+
${buttonStyle}
|
|
256
|
+
${additionalCSS}
|
|
257
|
+
`;
|
|
235
258
|
}
|
|
236
259
|
|
|
237
260
|
const CustomEnlargeButton = createButtonWithoutProps(_enlarge.EnlargeButton, false, `color: #999`);
|
|
@@ -342,7 +365,9 @@ const TextEditorWrapper = _styledComponents.default.div`
|
|
|
342
365
|
const DraftEditorContainer = _styledComponents.default.div`
|
|
343
366
|
position: relative;
|
|
344
367
|
margin-top: 4px;
|
|
345
|
-
${
|
|
368
|
+
${({
|
|
369
|
+
isEnlarged
|
|
370
|
+
}) => isEnlarged ? (0, _styledComponents.css)`
|
|
346
371
|
position: fixed;
|
|
347
372
|
width: 100%;
|
|
348
373
|
height: 100%;
|
|
@@ -354,7 +379,9 @@ const DraftEditorContainer = _styledComponents.default.div`
|
|
|
354
379
|
background: rgba(0, 0, 0, 0.5);
|
|
355
380
|
` : ''}
|
|
356
381
|
${DraftEditorWrapper} {
|
|
357
|
-
${
|
|
382
|
+
${({
|
|
383
|
+
isEnlarged
|
|
384
|
+
}) => isEnlarged ? (0, _styledComponents.css)`
|
|
358
385
|
width: 100%;
|
|
359
386
|
height: 100%;
|
|
360
387
|
padding: 0 1rem 0;
|
|
@@ -362,20 +389,26 @@ const DraftEditorContainer = _styledComponents.default.div`
|
|
|
362
389
|
` : ''}
|
|
363
390
|
}
|
|
364
391
|
${DraftEditorControls} {
|
|
365
|
-
${
|
|
392
|
+
${({
|
|
393
|
+
isEnlarged
|
|
394
|
+
}) => isEnlarged ? (0, _styledComponents.css)`
|
|
366
395
|
position: sticky;
|
|
367
396
|
top: 0;
|
|
368
397
|
z-index: 12;
|
|
369
398
|
` : ''}
|
|
370
399
|
}
|
|
371
400
|
${DraftEditorControlsWrapper} {
|
|
372
|
-
${
|
|
401
|
+
${({
|
|
402
|
+
isEnlarged
|
|
403
|
+
}) => isEnlarged ? (0, _styledComponents.css)`
|
|
373
404
|
overflow: auto;
|
|
374
405
|
padding-bottom: 0;
|
|
375
406
|
` : ''}
|
|
376
407
|
}
|
|
377
408
|
${TextEditorWrapper} {
|
|
378
|
-
${
|
|
409
|
+
${({
|
|
410
|
+
isEnlarged
|
|
411
|
+
}) => isEnlarged ? (0, _styledComponents.css)`
|
|
379
412
|
max-width: 100%;
|
|
380
413
|
min-height: 100vh;
|
|
381
414
|
padding-bottom: 0;
|
|
@@ -418,10 +451,10 @@ class RichTextEditor extends _react.default.Component {
|
|
|
418
451
|
|
|
419
452
|
if (newState) {
|
|
420
453
|
this.onChange(newState);
|
|
421
|
-
return
|
|
454
|
+
return 'handled';
|
|
422
455
|
}
|
|
423
456
|
|
|
424
|
-
return
|
|
457
|
+
return 'not-handled';
|
|
425
458
|
};
|
|
426
459
|
handleReturn = event => {
|
|
427
460
|
if (_draftJs.KeyBindingUtil.isSoftNewlineEvent(event)) {
|
|
@@ -447,7 +480,7 @@ class RichTextEditor extends _react.default.Component {
|
|
|
447
480
|
this.onChange(newEditorState);
|
|
448
481
|
}
|
|
449
482
|
|
|
450
|
-
return;
|
|
483
|
+
return null;
|
|
451
484
|
}
|
|
452
485
|
|
|
453
486
|
return (0, _draftJs.getDefaultKeyBinding)(e);
|
|
@@ -537,7 +570,7 @@ class RichTextEditor extends _react.default.Component {
|
|
|
537
570
|
break;
|
|
538
571
|
|
|
539
572
|
case 'atomic':
|
|
540
|
-
if ((_entity$getData = entity.getData()) !== null && _entity$getData !== void 0 && _entity$getData.alignment) {
|
|
573
|
+
if (entity !== null && entity !== void 0 && (_entity$getData = entity.getData()) !== null && _entity$getData !== void 0 && _entity$getData.alignment) {
|
|
541
574
|
// support all atomic block to set alignment
|
|
542
575
|
result += ' ' + entity.getData().alignment;
|
|
543
576
|
}
|
|
@@ -574,7 +607,7 @@ class RichTextEditor extends _react.default.Component {
|
|
|
574
607
|
entityKey,
|
|
575
608
|
entityData
|
|
576
609
|
}) => {
|
|
577
|
-
if (entityKey) {
|
|
610
|
+
if (entityKey && entityData) {
|
|
578
611
|
const oldContentState = this.props.editorState.getCurrentContent();
|
|
579
612
|
const newContentState = oldContentState.replaceEntityData(entityKey, entityData);
|
|
580
613
|
this.onChange(_draftJs.EditorState.set(this.props.editorState, {
|
|
@@ -594,19 +627,22 @@ class RichTextEditor extends _react.default.Component {
|
|
|
594
627
|
// and `props.blockProps.onEditFinish` in the custom block components.
|
|
595
628
|
|
|
596
629
|
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
630
|
+
const extendedAtomicBlockObj = Object.assign({}, atomicBlockObj, {
|
|
631
|
+
props: {
|
|
632
|
+
onEditStart,
|
|
633
|
+
onEditFinish,
|
|
634
|
+
getMainEditorReadOnly: () => this.state.readOnly,
|
|
635
|
+
renderBasicEditor: propsOfBasicEditor => {
|
|
636
|
+
return /*#__PURE__*/_react.default.createElement(RichTextEditor, _extends({}, propsOfBasicEditor, {
|
|
637
|
+
disabledButtons: disabledButtonsOnBasicEditor
|
|
638
|
+
}));
|
|
639
|
+
}
|
|
605
640
|
}
|
|
606
|
-
};
|
|
641
|
+
});
|
|
642
|
+
return extendedAtomicBlockObj;
|
|
643
|
+
} else {
|
|
644
|
+
return atomicBlockObj;
|
|
607
645
|
}
|
|
608
|
-
|
|
609
|
-
return atomicBlockObj;
|
|
610
646
|
};
|
|
611
647
|
|
|
612
648
|
render() {
|
|
@@ -637,7 +673,7 @@ class RichTextEditor extends _react.default.Component {
|
|
|
637
673
|
return /*#__PURE__*/_react.default.createElement(_styledComponents.ThemeProvider, {
|
|
638
674
|
theme: _theme.default
|
|
639
675
|
}, /*#__PURE__*/_react.default.createElement(DraftEditorContainer, {
|
|
640
|
-
isEnlarged: isEnlarged
|
|
676
|
+
isEnlarged: Boolean(isEnlarged)
|
|
641
677
|
}, /*#__PURE__*/_react.default.createElement(DraftEditorWrapper, null, /*#__PURE__*/_react.default.createElement("link", {
|
|
642
678
|
href: "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css",
|
|
643
679
|
rel: "stylesheet",
|
|
@@ -655,30 +691,30 @@ class RichTextEditor extends _react.default.Component {
|
|
|
655
691
|
rel: "stylesheet",
|
|
656
692
|
type: "text/css"
|
|
657
693
|
}), /*#__PURE__*/_react.default.createElement(DraftEditorControls, null, /*#__PURE__*/_react.default.createElement(DraftEditorControlsWrapper, null, /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(BlockStyleControls, {
|
|
694
|
+
readOnly: readOnly,
|
|
658
695
|
disabledButtons: disabledButtons,
|
|
659
696
|
editorState: editorState,
|
|
660
|
-
onToggle: this.toggleBlockType
|
|
661
|
-
readOnly: this.state.readOnly
|
|
697
|
+
onToggle: this.toggleBlockType
|
|
662
698
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(InlineStyleControls, {
|
|
699
|
+
readOnly: readOnly,
|
|
663
700
|
disabledButtons: disabledButtons,
|
|
664
701
|
editorState: editorState,
|
|
665
|
-
onToggle: this.toggleInlineStyle
|
|
666
|
-
readOnly: this.state.readOnly
|
|
702
|
+
onToggle: this.toggleInlineStyle
|
|
667
703
|
})), /*#__PURE__*/_react.default.createElement(EnlargeButtonWrapper, null, /*#__PURE__*/_react.default.createElement(CustomEnlargeButton, {
|
|
668
704
|
onToggle: this.toggleEnlarge,
|
|
669
705
|
isEnlarged: isEnlarged
|
|
670
706
|
}))), /*#__PURE__*/_react.default.createElement(DraftEditorControlsWrapper, null, /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomLinkButton, {
|
|
671
707
|
isDisabled: disabledButtons.includes(buttonNames.link),
|
|
672
708
|
isActive: entityType === 'LINK',
|
|
709
|
+
readOnly: readOnly,
|
|
673
710
|
editorState: editorState,
|
|
674
|
-
onChange: this.onChange
|
|
675
|
-
readOnly: this.state.readOnly
|
|
711
|
+
onChange: this.onChange
|
|
676
712
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomFontColorButton, {
|
|
677
713
|
isDisabled: disabledButtons.includes(buttonNames.fontColor),
|
|
678
714
|
isActive: Object.prototype.hasOwnProperty.call(customStyle, 'color'),
|
|
715
|
+
readOnly: readOnly,
|
|
679
716
|
editorState: editorState,
|
|
680
|
-
onChange: this.onChange
|
|
681
|
-
readOnly: this.state.readOnly
|
|
717
|
+
onChange: this.onChange
|
|
682
718
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomDividerButton, {
|
|
683
719
|
isDisabled: disabledButtons.includes(buttonNames.divider),
|
|
684
720
|
editorState: editorState,
|
|
@@ -686,104 +722,104 @@ class RichTextEditor extends _react.default.Component {
|
|
|
686
722
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomAnnotationButton, {
|
|
687
723
|
isDisabled: disabledButtons.includes(buttonNames.annotation),
|
|
688
724
|
isActive: entityType === 'ANNOTATION',
|
|
725
|
+
readOnly: readOnly,
|
|
689
726
|
editorState: editorState,
|
|
690
727
|
onChange: this.onChange,
|
|
691
|
-
readOnly: this.state.readOnly,
|
|
692
728
|
renderBasicEditor: renderBasicEditor,
|
|
693
729
|
decorators: _entityDecorator.default
|
|
694
730
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomImageButton, {
|
|
695
731
|
isDisabled: disabledButtons.includes(buttonNames.image),
|
|
732
|
+
readOnly: readOnly,
|
|
696
733
|
editorState: editorState,
|
|
697
734
|
onChange: this.onChange,
|
|
698
|
-
readOnly: this.state.readOnly,
|
|
699
735
|
ImageSelector: _imageSelector.ImageSelector
|
|
700
736
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomVideoButton, {
|
|
701
737
|
isDisabled: disabledButtons.includes(buttonNames.video),
|
|
738
|
+
readOnly: readOnly,
|
|
702
739
|
editorState: editorState,
|
|
703
740
|
onChange: this.onChange,
|
|
704
|
-
readOnly: this.state.readOnly,
|
|
705
741
|
VideoSelector: _videoSelector.VideoSelector
|
|
706
742
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomAudioButton, {
|
|
707
743
|
isDisabled: disabledButtons.includes(buttonNames.audio),
|
|
744
|
+
readOnly: readOnly,
|
|
708
745
|
editorState: editorState,
|
|
709
746
|
onChange: this.onChange,
|
|
710
|
-
readOnly: this.state.readOnly,
|
|
711
747
|
AudioSelector: _audioSelector.AudioSelector
|
|
712
748
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomSlideshowButton, {
|
|
713
749
|
isDisabled: disabledButtons.includes(buttonNames.slideshow),
|
|
750
|
+
readOnly: readOnly,
|
|
714
751
|
editorState: editorState,
|
|
715
752
|
onChange: this.onChange,
|
|
716
|
-
readOnly: this.state.readOnly,
|
|
717
753
|
ImageSelector: _imageSelector.ImageSelector
|
|
718
754
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomInfoBoxButton, {
|
|
719
755
|
isDisabled: disabledButtons.includes(buttonNames.infoBox),
|
|
756
|
+
readOnly: readOnly,
|
|
720
757
|
editorState: editorState,
|
|
721
758
|
onChange: this.onChange,
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
decorators: _entityDecorator.default
|
|
759
|
+
renderBasicEditor: renderBasicEditor // decorators={decorators}
|
|
760
|
+
|
|
725
761
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomEmbeddedCodeButton, {
|
|
726
762
|
isDisabled: disabledButtons.includes(buttonNames.embed),
|
|
763
|
+
readOnly: readOnly,
|
|
727
764
|
editorState: editorState,
|
|
728
|
-
onChange: this.onChange
|
|
729
|
-
readOnly: this.state.readOnly
|
|
765
|
+
onChange: this.onChange
|
|
730
766
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomTableButton, {
|
|
731
767
|
isDisabled: disabledButtons.includes(buttonNames.table),
|
|
768
|
+
readOnly: readOnly,
|
|
732
769
|
editorState: editorState,
|
|
733
|
-
onChange: this.onChange
|
|
734
|
-
readOnly: this.state.readOnly
|
|
770
|
+
onChange: this.onChange
|
|
735
771
|
}))), /*#__PURE__*/_react.default.createElement(DraftEditorControlsWrapper, null, /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomAlignLeftButton, {
|
|
736
772
|
isDisabled: disabledButtons.includes(buttonNames.textAlign),
|
|
737
773
|
isActive: (0, _textAlign.getSelectionBlockData)(editorState, 'textAlign') === 'left',
|
|
774
|
+
readOnly: readOnly,
|
|
738
775
|
editorState: editorState,
|
|
739
|
-
onChange: this.onChange
|
|
740
|
-
readOnly: this.state.readOnly
|
|
776
|
+
onChange: this.onChange
|
|
741
777
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomAlignCenterButton, {
|
|
742
778
|
isDisabled: disabledButtons.includes(buttonNames.textAlign),
|
|
743
779
|
isActive: (0, _textAlign.getSelectionBlockData)(editorState, 'textAlign') === 'center',
|
|
780
|
+
readOnly: readOnly,
|
|
744
781
|
editorState: editorState,
|
|
745
|
-
onChange: this.onChange
|
|
746
|
-
readOnly: this.state.readOnly
|
|
782
|
+
onChange: this.onChange
|
|
747
783
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomColorBoxButton, {
|
|
748
784
|
isDisabled: disabledButtons.includes(buttonNames.colorBox),
|
|
785
|
+
readOnly: readOnly,
|
|
749
786
|
editorState: editorState,
|
|
750
787
|
onChange: this.onChange,
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
decorators: _entityDecorator.default
|
|
788
|
+
renderBasicEditor: renderBasicEditor // decorators={decorators}
|
|
789
|
+
|
|
754
790
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomBackgroundColorButton, {
|
|
755
791
|
isDisabled: disabledButtons.includes(buttonNames.backgroundColor),
|
|
756
792
|
isActive: Object.prototype.hasOwnProperty.call(customStyle, 'backgroundColor'),
|
|
793
|
+
readOnly: readOnly,
|
|
757
794
|
editorState: editorState,
|
|
758
|
-
onChange: this.onChange
|
|
759
|
-
readOnly: this.state.readOnly
|
|
795
|
+
onChange: this.onChange
|
|
760
796
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomBGImageButton, {
|
|
761
797
|
isDisabled: disabledButtons.includes(buttonNames.backgroundImage),
|
|
798
|
+
readOnly: readOnly,
|
|
762
799
|
editorState: editorState,
|
|
763
800
|
onChange: this.onChange,
|
|
764
|
-
readOnly: this.state.readOnly,
|
|
765
801
|
ImageSelector: _imageSelector.ImageSelector,
|
|
766
802
|
renderBasicEditor: renderBasicEditor,
|
|
767
803
|
decorators: _entityDecorator.default
|
|
768
804
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomBGVideoButton, {
|
|
769
805
|
isDisabled: disabledButtons.includes(buttonNames.backgroundVideo),
|
|
806
|
+
readOnly: readOnly,
|
|
770
807
|
editorState: editorState,
|
|
771
808
|
onChange: this.onChange,
|
|
772
|
-
readOnly: this.state.readOnly,
|
|
773
809
|
VideoSelector: _videoSelector.VideoSelector,
|
|
774
810
|
renderBasicEditor: renderBasicEditor,
|
|
775
811
|
decorators: _entityDecorator.default
|
|
776
812
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomRelatedPostButton, {
|
|
777
813
|
isDisabled: disabledButtons.includes(buttonNames.relatedPost),
|
|
814
|
+
readOnly: readOnly,
|
|
778
815
|
editorState: editorState,
|
|
779
816
|
onChange: this.onChange,
|
|
780
|
-
readOnly: this.state.readOnly,
|
|
781
817
|
PostSelector: _postSelector.PostSelector
|
|
782
818
|
})), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomSideIndexButton, {
|
|
783
819
|
isDisabled: disabledButtons.includes(buttonNames.sideIndex),
|
|
820
|
+
readOnly: readOnly,
|
|
784
821
|
editorState: editorState,
|
|
785
|
-
onChange: this.onChange
|
|
786
|
-
readOnly: this.state.readOnly
|
|
822
|
+
onChange: this.onChange
|
|
787
823
|
})))), /*#__PURE__*/_react.default.createElement(TextEditorWrapper, {
|
|
788
824
|
onClick: () => {
|
|
789
825
|
var _this$refs$editor;
|
|
@@ -862,7 +898,9 @@ const blockStyles = [{
|
|
|
862
898
|
const BlockStyleControls = props => {
|
|
863
899
|
const {
|
|
864
900
|
editorState,
|
|
865
|
-
disabledButtons
|
|
901
|
+
disabledButtons,
|
|
902
|
+
onToggle,
|
|
903
|
+
readOnly
|
|
866
904
|
} = props;
|
|
867
905
|
const selection = editorState.getSelection();
|
|
868
906
|
const blockType = editorState.getCurrentContent().getBlockForKey(selection.getStartKey()).getType();
|
|
@@ -871,10 +909,10 @@ const BlockStyleControls = props => {
|
|
|
871
909
|
key: type.label,
|
|
872
910
|
active: type.style === blockType,
|
|
873
911
|
label: type.label,
|
|
874
|
-
onToggle:
|
|
912
|
+
onToggle: onToggle,
|
|
875
913
|
style: type.style,
|
|
876
914
|
icon: type.icon,
|
|
877
|
-
readOnly:
|
|
915
|
+
readOnly: readOnly
|
|
878
916
|
})));
|
|
879
917
|
};
|
|
880
918
|
|
|
@@ -54,15 +54,15 @@ function AlignSelector(props) {
|
|
|
54
54
|
onOpen();
|
|
55
55
|
}
|
|
56
56
|
}, [isOpen]);
|
|
57
|
-
return /*#__PURE__*/_react.default.createElement(_react.
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
|
|
58
58
|
htmlFor: "alignment"
|
|
59
59
|
}, "\u5C0D\u9F4A"), /*#__PURE__*/_react.default.createElement(AlignSelect, {
|
|
60
60
|
id: "alignment" // default align === undefined
|
|
61
61
|
,
|
|
62
|
-
value: options.find(option => option.value === align),
|
|
62
|
+
value: options.find(option => option.value === align) ?? null,
|
|
63
63
|
options: options,
|
|
64
64
|
onChange: option => {
|
|
65
|
-
onChange(option.value);
|
|
65
|
+
onChange((option === null || option === void 0 ? void 0 : option.value) ?? '');
|
|
66
66
|
},
|
|
67
67
|
onMenuOpen: () => setIsOpen(true),
|
|
68
68
|
onMenuClose: () => setIsOpen(false),
|
|
@@ -226,7 +226,7 @@ function AudioSelector(props) {
|
|
|
226
226
|
}
|
|
227
227
|
}, [currentPage, searchText]);
|
|
228
228
|
|
|
229
|
-
let searchResult = /*#__PURE__*/_react.default.createElement(_react.
|
|
229
|
+
let searchResult = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(AudiosGrids, {
|
|
230
230
|
audios: audioFiles,
|
|
231
231
|
selected: selectedAudios,
|
|
232
232
|
onSelect: onAudiosGridSelect
|
|
@@ -244,7 +244,9 @@ function AudioSelector(props) {
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
if (error) {
|
|
247
|
-
|
|
247
|
+
var _AudiosQuery$loc;
|
|
248
|
+
|
|
249
|
+
searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `audios` query"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Message:"), /*#__PURE__*/_react.default.createElement("div", null, error.message), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Stack:"), /*#__PURE__*/_react.default.createElement("div", null, error.stack), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Query:"), /*#__PURE__*/_react.default.createElement("pre", null, (_AudiosQuery$loc = AudiosQuery.loc) === null || _AudiosQuery$loc === void 0 ? void 0 : _AudiosQuery$loc.source.body)));
|
|
248
250
|
}
|
|
249
251
|
|
|
250
252
|
return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
|
|
@@ -202,7 +202,7 @@ function ImageMetaGrid(props) {
|
|
|
202
202
|
|
|
203
203
|
return e.currentTarget.src = image === null || image === void 0 ? void 0 : (_image$imageFile2 = image.imageFile) === null || _image$imageFile2 === void 0 ? void 0 : _image$imageFile2.url;
|
|
204
204
|
}
|
|
205
|
-
}), /*#__PURE__*/_react.default.createElement(ImageName, null, image === null || image === void 0 ? void 0 : image.name), enableCaption && /*#__PURE__*/_react.default.createElement(_react.
|
|
205
|
+
}), /*#__PURE__*/_react.default.createElement(ImageName, null, image === null || image === void 0 ? void 0 : image.name), enableCaption && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
|
|
206
206
|
htmlFor: "caption"
|
|
207
207
|
}, "Image Caption:"), /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
|
|
208
208
|
id: "caption",
|
|
@@ -216,7 +216,7 @@ function ImageMetaGrid(props) {
|
|
|
216
216
|
url
|
|
217
217
|
});
|
|
218
218
|
})
|
|
219
|
-
})), enableUrl && /*#__PURE__*/_react.default.createElement(_react.
|
|
219
|
+
})), enableUrl && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
|
|
220
220
|
htmlFor: "url"
|
|
221
221
|
}, "Url:"), /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
|
|
222
222
|
id: "url",
|
|
@@ -238,7 +238,7 @@ function DelayInput(props) {
|
|
|
238
238
|
delay,
|
|
239
239
|
onChange
|
|
240
240
|
} = props;
|
|
241
|
-
return /*#__PURE__*/_react.default.createElement(_react.
|
|
241
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, null, "Slideshow delay:"), /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
|
|
242
242
|
type: "number",
|
|
243
243
|
placeholder: "\u8ACB\u8F38\u5165\u81EA\u52D5\u5207\u63DB\u79D2\u6578",
|
|
244
244
|
step: "0.5",
|
|
@@ -277,7 +277,7 @@ function ImageSelector(props) {
|
|
|
277
277
|
const [selected, setSelected] = (0, _react.useState)(initialSelected);
|
|
278
278
|
const [delay, setDelay] = (0, _react.useState)('5');
|
|
279
279
|
const [align, setAlign] = (0, _react.useState)(initialAlign);
|
|
280
|
-
const contentWrapperRef = (0, _react.useRef)();
|
|
280
|
+
const contentWrapperRef = (0, _react.useRef)(null);
|
|
281
281
|
const pageSize = 6;
|
|
282
282
|
const options = [{
|
|
283
283
|
value: undefined,
|
|
@@ -320,7 +320,10 @@ function ImageSelector(props) {
|
|
|
320
320
|
var _contentWrapperRef$cu;
|
|
321
321
|
|
|
322
322
|
const scrollWrapper = (_contentWrapperRef$cu = contentWrapperRef.current) === null || _contentWrapperRef$cu === void 0 ? void 0 : _contentWrapperRef$cu.parentElement;
|
|
323
|
-
|
|
323
|
+
|
|
324
|
+
if (scrollWrapper) {
|
|
325
|
+
scrollWrapper.scrollTop = scrollWrapper.scrollHeight;
|
|
326
|
+
}
|
|
324
327
|
};
|
|
325
328
|
|
|
326
329
|
const onImageMetaChange = imageEntityWithMeta => {
|
|
@@ -385,7 +388,7 @@ function ImageSelector(props) {
|
|
|
385
388
|
}
|
|
386
389
|
}, [currentPage, searchText]);
|
|
387
390
|
|
|
388
|
-
let searchResult = /*#__PURE__*/_react.default.createElement(_react.
|
|
391
|
+
let searchResult = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(ImageGrids, {
|
|
389
392
|
images: images,
|
|
390
393
|
selected: selectedImages,
|
|
391
394
|
onSelect: onImagesGridSelect
|
|
@@ -403,7 +406,9 @@ function ImageSelector(props) {
|
|
|
403
406
|
}
|
|
404
407
|
|
|
405
408
|
if (error) {
|
|
406
|
-
|
|
409
|
+
var _imagesQuery$loc;
|
|
410
|
+
|
|
411
|
+
searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `images` query"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Message:"), /*#__PURE__*/_react.default.createElement("div", null, error.message), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Stack:"), /*#__PURE__*/_react.default.createElement("div", null, error.stack), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Query:"), /*#__PURE__*/_react.default.createElement("pre", null, imagesQuery === null || imagesQuery === void 0 ? void 0 : (_imagesQuery$loc = imagesQuery.loc) === null || _imagesQuery$loc === void 0 ? void 0 : _imagesQuery$loc.source.body)));
|
|
407
412
|
}
|
|
408
413
|
|
|
409
414
|
return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
|
|
@@ -432,8 +437,10 @@ function ImageSelector(props) {
|
|
|
432
437
|
})), /*#__PURE__*/_react.default.createElement(ImageBlockMetaWrapper, null, (enableDelay || enableAlignment) && /*#__PURE__*/_react.default.createElement(SeparationLine, null), enableDelay && /*#__PURE__*/_react.default.createElement(DelayInput, {
|
|
433
438
|
delay: delay,
|
|
434
439
|
onChange: onDealyChange
|
|
435
|
-
}), enableAlignment && /*#__PURE__*/_react.default.createElement(_alignSelector.AlignSelector
|
|
436
|
-
|
|
440
|
+
}), enableAlignment && /*#__PURE__*/_react.default.createElement(_alignSelector.AlignSelector // @ts-ignore: align could be undefined
|
|
441
|
+
, {
|
|
442
|
+
align: align // @ts-ignore: option with undefined value
|
|
443
|
+
,
|
|
437
444
|
options: options,
|
|
438
445
|
onChange: onAlignSelectChange,
|
|
439
446
|
onOpen: onAlignSelectOpen
|
|
@@ -269,7 +269,7 @@ function PostSelector(props) {
|
|
|
269
269
|
}
|
|
270
270
|
}, [currentPage, searchText]);
|
|
271
271
|
|
|
272
|
-
let searchResult = /*#__PURE__*/_react.default.createElement(_react.
|
|
272
|
+
let searchResult = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(PostGrids, {
|
|
273
273
|
posts: posts,
|
|
274
274
|
selected: selectedPosts,
|
|
275
275
|
onSelect: onPostsGridSelect
|
|
@@ -287,7 +287,9 @@ function PostSelector(props) {
|
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
if (error) {
|
|
290
|
-
|
|
290
|
+
var _postsQuery$loc;
|
|
291
|
+
|
|
292
|
+
searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `posts` query"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Message:"), /*#__PURE__*/_react.default.createElement("div", null, error.message), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Stack:"), /*#__PURE__*/_react.default.createElement("div", null, error.stack), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Query:"), /*#__PURE__*/_react.default.createElement("pre", null, (_postsQuery$loc = postsQuery.loc) === null || _postsQuery$loc === void 0 ? void 0 : _postsQuery$loc.source.body)));
|
|
291
293
|
}
|
|
292
294
|
|
|
293
295
|
return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
|
|
@@ -243,7 +243,7 @@ function VideoSelector(props) {
|
|
|
243
243
|
}
|
|
244
244
|
}, [currentPage, searchText]);
|
|
245
245
|
|
|
246
|
-
let searchResult = /*#__PURE__*/_react.default.createElement(_react.
|
|
246
|
+
let searchResult = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(VideosGrids, {
|
|
247
247
|
videos: videos,
|
|
248
248
|
selected: selectedVideos,
|
|
249
249
|
onSelect: onVideosGridSelect
|
|
@@ -261,7 +261,9 @@ function VideoSelector(props) {
|
|
|
261
261
|
}
|
|
262
262
|
|
|
263
263
|
if (error) {
|
|
264
|
-
|
|
264
|
+
var _videosQuery$loc;
|
|
265
|
+
|
|
266
|
+
searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `videos` query"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Message:"), /*#__PURE__*/_react.default.createElement("div", null, error.message), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Stack:"), /*#__PURE__*/_react.default.createElement("div", null, error.stack), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Query:"), /*#__PURE__*/_react.default.createElement("pre", null, (_videosQuery$loc = videosQuery.loc) === null || _videosQuery$loc === void 0 ? void 0 : _videosQuery$loc.source.body)));
|
|
265
267
|
}
|
|
266
268
|
|
|
267
269
|
return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
|