@mirrormedia/lilith-draft-editor 1.1.0-alpha.1 → 1.1.0-alpha.3
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/lib/draft-js/buttons/annotation.js +0 -22
- package/lib/draft-js/buttons/audio.js +52 -0
- package/lib/draft-js/buttons/background-color.js +0 -26
- package/lib/draft-js/buttons/background-image.js +13 -32
- package/lib/draft-js/buttons/background-video.js +13 -32
- package/lib/draft-js/buttons/color-box.js +5 -21
- package/lib/draft-js/buttons/divider.js +3 -12
- package/lib/draft-js/buttons/embedded-code.js +5 -16
- package/lib/draft-js/buttons/enlarge.js +0 -3
- package/lib/draft-js/buttons/font-color.js +0 -26
- package/lib/draft-js/buttons/image.js +5 -16
- package/lib/draft-js/buttons/info-box.js +5 -21
- package/lib/draft-js/buttons/link.js +0 -19
- package/lib/draft-js/buttons/media.js +3 -16
- package/lib/draft-js/buttons/related-post.js +3 -14
- package/lib/draft-js/buttons/selector/align-selector.js +2 -11
- package/lib/draft-js/buttons/selector/audio-selector.js +252 -0
- package/lib/draft-js/buttons/selector/image-selector.js +6 -50
- package/lib/draft-js/buttons/selector/pagination.js +2 -6
- package/lib/draft-js/buttons/selector/post-selector.js +6 -39
- package/lib/draft-js/buttons/selector/search-box.js +0 -9
- package/lib/draft-js/buttons/selector/video-selector.js +4 -33
- package/lib/draft-js/buttons/side-index.js +15 -31
- package/lib/draft-js/buttons/slideshow.js +7 -16
- package/lib/draft-js/buttons/table.js +5 -11
- package/lib/draft-js/buttons/text-align.js +0 -14
- package/lib/draft-js/buttons/video.js +52 -0
- package/lib/draft-js/const.js +0 -2
- package/lib/draft-js/draft-converter/api-data-instance.js +0 -14
- package/lib/draft-js/draft-converter/atomic-block-processor.js +12 -41
- package/lib/draft-js/draft-converter/entities.js +1 -0
- package/lib/draft-js/draft-converter/index.js +10 -29
- package/lib/draft-js/draft-converter/inline-styles-processor.js +22 -55
- package/lib/draft-js/modifier.js +5 -13
- package/lib/index.js +0 -4
- package/lib/website/mirrormedia/block-renderer/background-image-block.js +2 -14
- package/lib/website/mirrormedia/block-renderer/background-video-block.js +2 -14
- package/lib/website/mirrormedia/block-renderer/color-box-block.js +2 -14
- package/lib/website/mirrormedia/block-renderer/embedded-code-block.js +3 -12
- package/lib/website/mirrormedia/block-renderer/info-box-block.js +2 -14
- package/lib/website/mirrormedia/block-renderer/side-index-block.js +2 -13
- package/lib/website/mirrormedia/block-renderer/slideshow-block.js +4 -11
- package/lib/website/mirrormedia/block-renderer/table-block.js +28 -62
- package/lib/website/mirrormedia/block-renderer-fn.js +11 -29
- package/lib/website/mirrormedia/draft-editor.js +31 -105
- package/lib/website/mirrormedia/entity-decorator.js +0 -4
- package/lib/website/mirrormedia/index.js +0 -3
- package/lib/website/mirrormedia/selector/align-selector.js +2 -11
- package/lib/website/mirrormedia/selector/audio-selector.js +252 -0
- package/lib/website/mirrormedia/selector/image-selector.js +10 -50
- package/lib/website/mirrormedia/selector/pagination.js +2 -6
- package/lib/website/mirrormedia/selector/post-selector.js +6 -39
- package/lib/website/mirrormedia/selector/search-box.js +0 -9
- package/lib/website/mirrormedia/selector/video-selector.js +8 -33
- package/lib/website/readr/block-renderer/background-image-block.js +2 -14
- package/lib/website/readr/block-renderer/background-video-block.js +2 -14
- package/lib/website/readr/block-renderer/color-box-block.js +2 -14
- package/lib/website/readr/block-renderer/info-box-block.js +2 -14
- package/lib/website/readr/block-renderer/side-index-block.js +2 -13
- package/lib/website/readr/block-renderer/table-block.js +28 -62
- package/lib/website/readr/block-renderer-fn.js +11 -27
- package/lib/website/readr/draft-editor.js +31 -105
- package/lib/website/readr/entity-decorator.js +0 -4
- package/lib/website/readr/index.js +0 -3
- package/lib/website/readr/selector/align-selector.js +2 -11
- package/lib/website/readr/selector/audio-selector.js +252 -0
- package/lib/website/readr/selector/image-selector.js +10 -50
- package/lib/website/readr/selector/pagination.js +2 -6
- package/lib/website/readr/selector/post-selector.js +6 -39
- package/lib/website/readr/selector/search-box.js +0 -9
- package/lib/website/readr/selector/video-selector.js +8 -33
- package/package.json +2 -2
|
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.EmbeddedCodeButton = EmbeddedCodeButton;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _draftJs = require("draft-js");
|
|
11
|
-
|
|
12
9
|
var _modals = require("@keystone-ui/modals");
|
|
13
|
-
|
|
14
10
|
var _fields = require("@keystone-ui/fields");
|
|
15
|
-
|
|
16
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
|
|
18
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
13
|
function EmbeddedCodeButton(props) {
|
|
21
14
|
const {
|
|
22
15
|
editorState,
|
|
@@ -28,7 +21,6 @@ function EmbeddedCodeButton(props) {
|
|
|
28
21
|
caption: '',
|
|
29
22
|
embeddedCode: ''
|
|
30
23
|
});
|
|
31
|
-
|
|
32
24
|
const promptForInput = () => {
|
|
33
25
|
setToShowInput(true);
|
|
34
26
|
setInputValue({
|
|
@@ -36,18 +28,16 @@ function EmbeddedCodeButton(props) {
|
|
|
36
28
|
embeddedCode: ''
|
|
37
29
|
});
|
|
38
30
|
};
|
|
39
|
-
|
|
40
31
|
const confirmInput = () => {
|
|
41
32
|
const contentState = editorState.getCurrentContent();
|
|
42
33
|
const contentStateWithEntity = contentState.createEntity('EMBEDDEDCODE', 'IMMUTABLE', inputValue);
|
|
43
34
|
const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
|
|
44
|
-
|
|
45
35
|
const newEditorState = _draftJs.EditorState.set(editorState, {
|
|
46
36
|
currentContent: contentStateWithEntity
|
|
47
|
-
});
|
|
48
|
-
// If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
49
|
-
|
|
37
|
+
});
|
|
50
38
|
|
|
39
|
+
// The third parameter here is a space string, not an empty string
|
|
40
|
+
// If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
51
41
|
onChange(_draftJs.AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' '));
|
|
52
42
|
setToShowInput(false);
|
|
53
43
|
setInputValue({
|
|
@@ -55,11 +45,11 @@ function EmbeddedCodeButton(props) {
|
|
|
55
45
|
embeddedCode: ''
|
|
56
46
|
});
|
|
57
47
|
};
|
|
58
|
-
|
|
59
48
|
const input = /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
|
|
60
49
|
isOpen: toShowInput
|
|
61
50
|
}, /*#__PURE__*/_react.default.createElement(_modals.Drawer, {
|
|
62
|
-
title: `Insert Embedded Code`
|
|
51
|
+
title: `Insert Embedded Code`
|
|
52
|
+
//isOpen={toShowInput}
|
|
63
53
|
,
|
|
64
54
|
actions: {
|
|
65
55
|
cancel: {
|
|
@@ -97,7 +87,6 @@ function EmbeddedCodeButton(props) {
|
|
|
97
87
|
marginBottom: '30px'
|
|
98
88
|
}
|
|
99
89
|
})));
|
|
100
|
-
|
|
101
90
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, input, /*#__PURE__*/_react.default.createElement("div", {
|
|
102
91
|
onClick: () => {
|
|
103
92
|
promptForInput();
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.EnlargeButton = EnlargeButton;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
9
|
function EnlargeButton(props) {
|
|
13
10
|
const {
|
|
14
11
|
onToggle,
|
|
@@ -4,33 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.FontColorButton = FontColorButton;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _modals = require("@keystone-ui/modals");
|
|
11
|
-
|
|
12
9
|
var _draftJs = require("draft-js");
|
|
13
|
-
|
|
14
10
|
var _fields = require("@keystone-ui/fields");
|
|
15
|
-
|
|
16
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
-
|
|
18
12
|
var _modifier = require("../modifier");
|
|
19
|
-
|
|
20
13
|
var _const = require("../const");
|
|
21
|
-
|
|
22
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
-
|
|
26
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
-
|
|
28
17
|
const ColorHexInput = (0, _styledComponents.default)(_fields.TextInput)`
|
|
29
18
|
font-family: Georgia, serif;
|
|
30
19
|
margin-right: 10px;
|
|
31
20
|
padding: 10px;
|
|
32
21
|
`;
|
|
33
|
-
|
|
34
22
|
function FontColorButton(props) {
|
|
35
23
|
const {
|
|
36
24
|
isActive,
|
|
@@ -39,53 +27,40 @@ function FontColorButton(props) {
|
|
|
39
27
|
} = props;
|
|
40
28
|
const [toShowColorInput, setToShowColorInput] = (0, _react.useState)(false);
|
|
41
29
|
const [colorValue, setColorValue] = (0, _react.useState)('');
|
|
42
|
-
|
|
43
30
|
const promptForColor = e => {
|
|
44
31
|
e.preventDefault();
|
|
45
32
|
const selection = editorState.getSelection();
|
|
46
|
-
|
|
47
33
|
if (!selection.isCollapsed()) {
|
|
48
34
|
setToShowColorInput(true);
|
|
49
35
|
}
|
|
50
36
|
};
|
|
51
|
-
|
|
52
37
|
const confirmColor = () => {
|
|
53
38
|
const selection = editorState.getSelection();
|
|
54
39
|
const contentState = editorState.getCurrentContent();
|
|
55
|
-
|
|
56
40
|
let newContentState = _modifier.Modifier.removeInlineStyleByPrefix(contentState, selection, _const.CUSTOM_STYLE_PREFIX_FONT_COLOR);
|
|
57
|
-
|
|
58
41
|
if (colorValue) {
|
|
59
42
|
newContentState = _modifier.Modifier.applyInlineStyle(newContentState, selection, _const.CUSTOM_STYLE_PREFIX_FONT_COLOR + colorValue);
|
|
60
43
|
}
|
|
61
|
-
|
|
62
44
|
onChange(_draftJs.EditorState.push(editorState, newContentState, 'change-inline-style'));
|
|
63
45
|
setToShowColorInput(false);
|
|
64
46
|
setColorValue('');
|
|
65
47
|
};
|
|
66
|
-
|
|
67
48
|
const onColorInputKeyDown = e => {
|
|
68
49
|
if (e.which === 13) {
|
|
69
50
|
e.preventDefault();
|
|
70
51
|
confirmColor();
|
|
71
52
|
}
|
|
72
53
|
};
|
|
73
|
-
|
|
74
54
|
const removeColor = () => {
|
|
75
55
|
const selection = editorState.getSelection();
|
|
76
|
-
|
|
77
56
|
if (!selection.isCollapsed()) {
|
|
78
57
|
const contentState = editorState.getCurrentContent();
|
|
79
|
-
|
|
80
58
|
const newContentState = _modifier.Modifier.removeInlineStyleByPrefix(contentState, selection, _const.CUSTOM_STYLE_PREFIX_FONT_COLOR);
|
|
81
|
-
|
|
82
59
|
onChange(_draftJs.EditorState.push(editorState, newContentState, 'change-inline-style'));
|
|
83
60
|
}
|
|
84
|
-
|
|
85
61
|
setToShowColorInput(false);
|
|
86
62
|
setColorValue('');
|
|
87
63
|
};
|
|
88
|
-
|
|
89
64
|
const colorInput = /*#__PURE__*/_react.default.createElement(_modals.AlertDialog, {
|
|
90
65
|
title: "Hex Color Code (#ffffff)",
|
|
91
66
|
isOpen: toShowColorInput,
|
|
@@ -105,7 +80,6 @@ function FontColorButton(props) {
|
|
|
105
80
|
value: colorValue,
|
|
106
81
|
onKeyDown: onColorInputKeyDown
|
|
107
82
|
}));
|
|
108
|
-
|
|
109
83
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, colorInput, /*#__PURE__*/_react.default.createElement("div", {
|
|
110
84
|
className: props.className,
|
|
111
85
|
onMouseDown: isActive ? removeColor : promptForColor
|
|
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ImageButton = ImageButton;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _draftJs = require("draft-js");
|
|
11
|
-
|
|
12
9
|
var _imageSelector = require("./selector/image-selector");
|
|
13
|
-
|
|
14
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
|
|
16
11
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
|
|
18
12
|
function ImageButton(props) {
|
|
19
13
|
const {
|
|
20
14
|
editorState,
|
|
@@ -23,37 +17,32 @@ function ImageButton(props) {
|
|
|
23
17
|
ImageSelector = _imageSelector.ImageSelector
|
|
24
18
|
} = props;
|
|
25
19
|
const [toShowImageSelector, setToShowImageSelector] = (0, _react.useState)(false);
|
|
26
|
-
|
|
27
20
|
const promptForImageSelector = () => {
|
|
28
21
|
setToShowImageSelector(true);
|
|
29
22
|
};
|
|
30
|
-
|
|
31
23
|
const onImageSelectorChange = (selectedImagesWithMeta, align) => {
|
|
32
24
|
const selected = selectedImagesWithMeta === null || selectedImagesWithMeta === void 0 ? void 0 : selectedImagesWithMeta[0];
|
|
33
|
-
|
|
34
25
|
if (!selected) {
|
|
35
26
|
setToShowImageSelector(false);
|
|
36
27
|
return;
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
const contentState = editorState.getCurrentContent();
|
|
40
|
-
const contentStateWithEntity = contentState.createEntity('image', 'IMMUTABLE', {
|
|
30
|
+
const contentStateWithEntity = contentState.createEntity('image', 'IMMUTABLE', {
|
|
31
|
+
...(selected === null || selected === void 0 ? void 0 : selected.image),
|
|
41
32
|
desc: selected === null || selected === void 0 ? void 0 : selected.desc,
|
|
42
33
|
url: selected === null || selected === void 0 ? void 0 : selected.url,
|
|
43
34
|
alignment: align
|
|
44
35
|
});
|
|
45
36
|
const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
|
|
46
|
-
|
|
47
37
|
const newEditorState = _draftJs.EditorState.set(editorState, {
|
|
48
38
|
currentContent: contentStateWithEntity
|
|
49
|
-
});
|
|
50
|
-
// If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
51
|
-
|
|
39
|
+
});
|
|
52
40
|
|
|
41
|
+
// The third parameter here is a space string, not an empty string
|
|
42
|
+
// If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
53
43
|
onChange(_draftJs.AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' '));
|
|
54
44
|
setToShowImageSelector(false);
|
|
55
45
|
};
|
|
56
|
-
|
|
57
46
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, toShowImageSelector && /*#__PURE__*/_react.default.createElement(ImageSelector, {
|
|
58
47
|
onChange: onImageSelectorChange,
|
|
59
48
|
enableCaption: true,
|
|
@@ -5,30 +5,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.InfoBoxButton = InfoBoxButton;
|
|
7
7
|
exports.InfoBoxInput = InfoBoxInput;
|
|
8
|
-
|
|
9
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
|
|
11
9
|
var _draftJs = require("draft-js");
|
|
12
|
-
|
|
13
10
|
var _modals = require("@keystone-ui/modals");
|
|
14
|
-
|
|
15
11
|
var _fields = require("@keystone-ui/fields");
|
|
16
|
-
|
|
17
12
|
var _draftConverter = _interopRequireDefault(require("../draft-converter"));
|
|
18
|
-
|
|
19
13
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
20
|
-
|
|
21
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
-
|
|
23
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
|
-
|
|
25
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
|
-
|
|
27
17
|
const TitleInput = (0, _styledComponents.default)(_fields.TextInput)`
|
|
28
18
|
margin-top: 30px;
|
|
29
19
|
margin-bottom: 10px;
|
|
30
20
|
`;
|
|
31
|
-
|
|
32
21
|
function InfoBoxInput(props) {
|
|
33
22
|
const {
|
|
34
23
|
isOpen,
|
|
@@ -49,11 +38,9 @@ function InfoBoxInput(props) {
|
|
|
49
38
|
editorStateOfBasicEditor: _draftJs.EditorState.createWithContent((0, _draftJs.convertFromRaw)(rawContentState), decorators)
|
|
50
39
|
};
|
|
51
40
|
const [inputValue, setInputValue] = (0, _react.useState)(initialInputValue);
|
|
52
|
-
|
|
53
41
|
const clearInputValue = () => {
|
|
54
42
|
setInputValue(initialInputValue);
|
|
55
43
|
};
|
|
56
|
-
|
|
57
44
|
const basicEditorJsx = renderBasicEditor({
|
|
58
45
|
editorState: inputValue.editorStateOfBasicEditor,
|
|
59
46
|
onChange: editorStateOfBasicEditor => {
|
|
@@ -97,7 +84,6 @@ function InfoBoxInput(props) {
|
|
|
97
84
|
value: inputValue.title
|
|
98
85
|
}), basicEditorJsx));
|
|
99
86
|
}
|
|
100
|
-
|
|
101
87
|
function InfoBoxButton(props) {
|
|
102
88
|
const [toShowInput, setToShowInput] = (0, _react.useState)(false);
|
|
103
89
|
const {
|
|
@@ -106,30 +92,28 @@ function InfoBoxButton(props) {
|
|
|
106
92
|
onChange: onEditorStateChange,
|
|
107
93
|
renderBasicEditor
|
|
108
94
|
} = props;
|
|
109
|
-
|
|
110
95
|
const onChange = ({
|
|
111
96
|
title,
|
|
112
97
|
rawContentState
|
|
113
98
|
}) => {
|
|
114
|
-
const contentState = editorState.getCurrentContent();
|
|
99
|
+
const contentState = editorState.getCurrentContent();
|
|
115
100
|
|
|
101
|
+
// create an InfoBox entity
|
|
116
102
|
const contentStateWithEntity = contentState.createEntity('INFOBOX', 'IMMUTABLE', {
|
|
117
103
|
title,
|
|
118
104
|
rawContentState,
|
|
119
105
|
body: _draftConverter.default.convertToHtml(rawContentState)
|
|
120
106
|
});
|
|
121
107
|
const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
|
|
122
|
-
|
|
123
108
|
const newEditorState = _draftJs.EditorState.set(editorState, {
|
|
124
109
|
currentContent: contentStateWithEntity
|
|
125
|
-
});
|
|
126
|
-
//If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
127
|
-
|
|
110
|
+
});
|
|
128
111
|
|
|
112
|
+
//The third parameter here is a space string, not an empty string
|
|
113
|
+
//If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
129
114
|
onEditorStateChange(_draftJs.AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' '));
|
|
130
115
|
setToShowInput(false);
|
|
131
116
|
};
|
|
132
|
-
|
|
133
117
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(InfoBoxInput, {
|
|
134
118
|
renderBasicEditor: renderBasicEditor,
|
|
135
119
|
onChange: onChange,
|
|
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.LinkButton = LinkButton;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _modals = require("@keystone-ui/modals");
|
|
11
|
-
|
|
12
9
|
var _draftJs = require("draft-js");
|
|
13
|
-
|
|
14
10
|
var _fields = require("@keystone-ui/fields");
|
|
15
|
-
|
|
16
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
|
|
18
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
13
|
const styles = {
|
|
21
14
|
urlInput: {
|
|
22
15
|
fontFamily: "'Georgia', serif",
|
|
@@ -24,7 +17,6 @@ const styles = {
|
|
|
24
17
|
padding: 10
|
|
25
18
|
}
|
|
26
19
|
};
|
|
27
|
-
|
|
28
20
|
function LinkButton(props) {
|
|
29
21
|
const {
|
|
30
22
|
isActive,
|
|
@@ -33,50 +25,40 @@ function LinkButton(props) {
|
|
|
33
25
|
} = props;
|
|
34
26
|
const [toShowUrlInput, setToShowUrlInput] = (0, _react.useState)(false);
|
|
35
27
|
const [urlValue, setUrlValue] = (0, _react.useState)('');
|
|
36
|
-
|
|
37
28
|
const promptForLink = e => {
|
|
38
29
|
e.preventDefault();
|
|
39
30
|
const selection = editorState.getSelection();
|
|
40
|
-
|
|
41
31
|
if (!selection.isCollapsed()) {
|
|
42
32
|
setToShowUrlInput(true);
|
|
43
33
|
}
|
|
44
34
|
};
|
|
45
|
-
|
|
46
35
|
const confirmLink = () => {
|
|
47
36
|
const contentState = editorState.getCurrentContent();
|
|
48
37
|
const contentStateWithEntity = contentState.createEntity('LINK', 'MUTABLE', {
|
|
49
38
|
url: urlValue
|
|
50
39
|
});
|
|
51
40
|
const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
|
|
52
|
-
|
|
53
41
|
const newEditorState = _draftJs.EditorState.set(editorState, {
|
|
54
42
|
currentContent: contentStateWithEntity
|
|
55
43
|
});
|
|
56
|
-
|
|
57
44
|
onChange(_draftJs.RichUtils.toggleLink(newEditorState, newEditorState.getSelection(), entityKey));
|
|
58
45
|
setToShowUrlInput(false);
|
|
59
46
|
setUrlValue('');
|
|
60
47
|
};
|
|
61
|
-
|
|
62
48
|
const onLinkInputKeyDown = e => {
|
|
63
49
|
if (e.which === 13) {
|
|
64
50
|
e.preventDefault();
|
|
65
51
|
confirmLink();
|
|
66
52
|
}
|
|
67
53
|
};
|
|
68
|
-
|
|
69
54
|
const removeLink = () => {
|
|
70
55
|
const selection = editorState.getSelection();
|
|
71
|
-
|
|
72
56
|
if (!selection.isCollapsed()) {
|
|
73
57
|
onChange(_draftJs.RichUtils.toggleLink(editorState, selection, null));
|
|
74
58
|
}
|
|
75
|
-
|
|
76
59
|
setToShowUrlInput(false);
|
|
77
60
|
setUrlValue('');
|
|
78
61
|
};
|
|
79
|
-
|
|
80
62
|
const urlInput = /*#__PURE__*/_react.default.createElement(_modals.AlertDialog, {
|
|
81
63
|
title: "Insert LINK",
|
|
82
64
|
isOpen: toShowUrlInput,
|
|
@@ -97,7 +79,6 @@ function LinkButton(props) {
|
|
|
97
79
|
value: urlValue,
|
|
98
80
|
onKeyDown: onLinkInputKeyDown
|
|
99
81
|
}));
|
|
100
|
-
|
|
101
82
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, urlInput, /*#__PURE__*/_react.default.createElement("div", {
|
|
102
83
|
className: props.className,
|
|
103
84
|
onMouseDown: isActive ? removeLink : promptForLink
|
|
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.MediaButton = MediaButton;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _modals = require("@keystone-ui/modals");
|
|
11
|
-
|
|
12
9
|
var _draftJs = require("draft-js");
|
|
13
|
-
|
|
14
10
|
var _fields = require("@keystone-ui/fields");
|
|
15
|
-
|
|
16
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
|
|
18
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
13
|
const styles = {
|
|
21
14
|
buttons: {
|
|
22
15
|
marginBottom: 10,
|
|
@@ -36,7 +29,6 @@ const styles = {
|
|
|
36
29
|
cursor: 'pointer'
|
|
37
30
|
}
|
|
38
31
|
};
|
|
39
|
-
|
|
40
32
|
function MediaButton(props) {
|
|
41
33
|
const {
|
|
42
34
|
editorState,
|
|
@@ -46,31 +38,27 @@ function MediaButton(props) {
|
|
|
46
38
|
const [toShowUrlInput, setToShowUrlInput] = (0, _react.useState)(false);
|
|
47
39
|
const [urlValue, setUrlValue] = (0, _react.useState)('');
|
|
48
40
|
const [urlType, setUrlType] = (0, _react.useState)('');
|
|
49
|
-
|
|
50
41
|
const promptForMedia = mediaType => {
|
|
51
42
|
setToShowUrlInput(true);
|
|
52
43
|
setUrlValue('');
|
|
53
44
|
setUrlType(mediaType);
|
|
54
45
|
};
|
|
55
|
-
|
|
56
46
|
const confirmMedia = () => {
|
|
57
47
|
const contentState = editorState.getCurrentContent();
|
|
58
48
|
const contentStateWithEntity = contentState.createEntity(urlType, 'IMMUTABLE', {
|
|
59
49
|
src: urlValue
|
|
60
50
|
});
|
|
61
51
|
const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
|
|
62
|
-
|
|
63
52
|
const newEditorState = _draftJs.EditorState.set(editorState, {
|
|
64
53
|
currentContent: contentStateWithEntity
|
|
65
|
-
});
|
|
66
|
-
// If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
67
|
-
|
|
54
|
+
});
|
|
68
55
|
|
|
56
|
+
// The third parameter here is a space string, not an empty string
|
|
57
|
+
// If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
69
58
|
onChange(_draftJs.AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' '));
|
|
70
59
|
setToShowUrlInput(false);
|
|
71
60
|
setUrlType('');
|
|
72
61
|
};
|
|
73
|
-
|
|
74
62
|
const urlInput = /*#__PURE__*/_react.default.createElement(_modals.AlertDialog, {
|
|
75
63
|
title: `Insert ${urlType.toUpperCase()} LINK`,
|
|
76
64
|
isOpen: toShowUrlInput,
|
|
@@ -93,7 +81,6 @@ function MediaButton(props) {
|
|
|
93
81
|
type: "text",
|
|
94
82
|
value: urlValue
|
|
95
83
|
}));
|
|
96
|
-
|
|
97
84
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, urlInput, /*#__PURE__*/_react.default.createElement("div", {
|
|
98
85
|
style: styles.buttons
|
|
99
86
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.RelatedPostButton = RelatedPostButton;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _draftJs = require("draft-js");
|
|
11
|
-
|
|
12
9
|
var _postSelector = require("./selector/post-selector");
|
|
13
|
-
|
|
14
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
|
|
16
11
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
|
|
18
12
|
function RelatedPostButton(props) {
|
|
19
13
|
const {
|
|
20
14
|
editorState,
|
|
@@ -23,33 +17,28 @@ function RelatedPostButton(props) {
|
|
|
23
17
|
PostSelector = _postSelector.PostSelector
|
|
24
18
|
} = props;
|
|
25
19
|
const [toShowPostSelector, setToShowPostSelector] = (0, _react.useState)(false);
|
|
26
|
-
|
|
27
20
|
const promptForPostSelector = () => {
|
|
28
21
|
setToShowPostSelector(true);
|
|
29
22
|
};
|
|
30
|
-
|
|
31
23
|
const onPostSelectorChange = selected => {
|
|
32
24
|
if (!selected.length) {
|
|
33
25
|
setToShowPostSelector(false);
|
|
34
26
|
return;
|
|
35
27
|
}
|
|
36
|
-
|
|
37
28
|
const contentState = editorState.getCurrentContent();
|
|
38
29
|
const contentStateWithEntity = contentState.createEntity('RELATEDPOST', 'IMMUTABLE', {
|
|
39
30
|
posts: selected.map(ele => ele.post)
|
|
40
31
|
});
|
|
41
32
|
const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
|
|
42
|
-
|
|
43
33
|
const newEditorState = _draftJs.EditorState.set(editorState, {
|
|
44
34
|
currentContent: contentStateWithEntity
|
|
45
|
-
});
|
|
46
|
-
// If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
47
|
-
|
|
35
|
+
});
|
|
48
36
|
|
|
37
|
+
// The third parameter here is a space string, not an empty string
|
|
38
|
+
// If you set an empty string, you will get an error: Unknown DraftEntity key: null
|
|
49
39
|
onChange(_draftJs.AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' '));
|
|
50
40
|
setToShowPostSelector(false);
|
|
51
41
|
};
|
|
52
|
-
|
|
53
42
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, toShowPostSelector && /*#__PURE__*/_react.default.createElement(PostSelector, {
|
|
54
43
|
onChange: onPostSelectorChange,
|
|
55
44
|
enableMultiSelect: true,
|
|
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.AlignSelector = AlignSelector;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
-
|
|
12
9
|
var _fields = require("@keystone-ui/fields");
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
|
|
18
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
13
|
const Label = _styledComponents.default.label`
|
|
21
14
|
display: block;
|
|
22
15
|
margin: 10px 0;
|
|
@@ -29,7 +22,6 @@ const AlignSelect = (0, _styledComponents.default)(_fields.Select)`
|
|
|
29
22
|
return `margin-bottom: ${menuHeight}px;`;
|
|
30
23
|
}}
|
|
31
24
|
`;
|
|
32
|
-
|
|
33
25
|
function AlignSelector(props) {
|
|
34
26
|
const [isOpen, setIsOpen] = (0, _react.useState)(false);
|
|
35
27
|
const [menuHeight, setMenuHeight] = (0, _react.useState)(0);
|
|
@@ -41,7 +33,6 @@ function AlignSelector(props) {
|
|
|
41
33
|
} = props;
|
|
42
34
|
(0, _react.useEffect)(() => {
|
|
43
35
|
const selectMenu = document.querySelector('.css-nabggt-menu');
|
|
44
|
-
|
|
45
36
|
if (selectMenu) {
|
|
46
37
|
const styles = window.getComputedStyle(selectMenu);
|
|
47
38
|
const margin = parseFloat(styles['marginTop']) + parseFloat(styles['marginBottom']);
|
|
@@ -49,7 +40,6 @@ function AlignSelector(props) {
|
|
|
49
40
|
} else {
|
|
50
41
|
setMenuHeight(0);
|
|
51
42
|
}
|
|
52
|
-
|
|
53
43
|
if (isOpen && onOpen) {
|
|
54
44
|
onOpen();
|
|
55
45
|
}
|
|
@@ -57,7 +47,8 @@ function AlignSelector(props) {
|
|
|
57
47
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
|
|
58
48
|
htmlFor: "alignment"
|
|
59
49
|
}, "\u5C0D\u9F4A"), /*#__PURE__*/_react.default.createElement(AlignSelect, {
|
|
60
|
-
id: "alignment"
|
|
50
|
+
id: "alignment"
|
|
51
|
+
// default align === undefined
|
|
61
52
|
,
|
|
62
53
|
value: options.find(option => option.value === align),
|
|
63
54
|
options: options,
|