@mirrormedia/lilith-draft-editor 1.1.0-alpha.2 → 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 +3 -16
- 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 +4 -33
- 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 +3 -16
- 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 +0 -30
- package/lib/website/mirrormedia/draft-editor.js +10 -106
- 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 +4 -33
- package/lib/website/mirrormedia/selector/image-selector.js +6 -49
- 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 +4 -32
- 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 +4 -27
- package/lib/website/readr/draft-editor.js +10 -106
- 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 +4 -33
- package/lib/website/readr/selector/image-selector.js +6 -49
- 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 +4 -32
- package/package.json +2 -2
|
@@ -4,31 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ImageSelector = ImageSelector;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
11
|
-
|
|
12
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
-
|
|
14
10
|
var _fields = require("@keystone-ui/fields");
|
|
15
|
-
|
|
16
11
|
var _modals = require("@keystone-ui/modals");
|
|
17
|
-
|
|
18
12
|
var _apollo = require("@keystone-6/core/admin-ui/apollo");
|
|
19
|
-
|
|
20
13
|
var _alignSelector = require("./align-selector");
|
|
21
|
-
|
|
22
14
|
var _searchBox = require("./search-box");
|
|
23
|
-
|
|
24
15
|
var _pagination = require("./pagination");
|
|
25
|
-
|
|
26
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
|
|
28
17
|
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); }
|
|
29
|
-
|
|
30
18
|
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; }
|
|
31
|
-
|
|
32
19
|
const imagesQuery = (0, _apollo.gql)`
|
|
33
20
|
query Photos($searchText: String!, $take: Int, $skip: Int) {
|
|
34
21
|
photosCount(where: { name: { contains: $searchText } })
|
|
@@ -112,7 +99,6 @@ const ErrorWrapper = _styledComponents.default.div`
|
|
|
112
99
|
const ImageName = _styledComponents.default.p`
|
|
113
100
|
text-align: center;
|
|
114
101
|
`;
|
|
115
|
-
|
|
116
102
|
function ImageGrids(props) {
|
|
117
103
|
const {
|
|
118
104
|
images,
|
|
@@ -128,10 +114,8 @@ function ImageGrids(props) {
|
|
|
128
114
|
});
|
|
129
115
|
}));
|
|
130
116
|
}
|
|
131
|
-
|
|
132
117
|
function ImageGrid(props) {
|
|
133
118
|
var _image$resized;
|
|
134
|
-
|
|
135
119
|
const {
|
|
136
120
|
image,
|
|
137
121
|
onSelect,
|
|
@@ -146,12 +130,10 @@ function ImageGrid(props) {
|
|
|
146
130
|
src: image === null || image === void 0 ? void 0 : (_image$resized = image.resized) === null || _image$resized === void 0 ? void 0 : _image$resized.w800,
|
|
147
131
|
onError: e => {
|
|
148
132
|
var _image$imageFile;
|
|
149
|
-
|
|
150
133
|
return e.currentTarget.src = image === null || image === void 0 ? void 0 : (_image$imageFile = image.imageFile) === null || _image$imageFile === void 0 ? void 0 : _image$imageFile.url;
|
|
151
134
|
}
|
|
152
135
|
}));
|
|
153
136
|
}
|
|
154
|
-
|
|
155
137
|
function ImageMetaGrids(props) {
|
|
156
138
|
const {
|
|
157
139
|
imageMetas,
|
|
@@ -161,7 +143,6 @@ function ImageMetaGrids(props) {
|
|
|
161
143
|
} = props;
|
|
162
144
|
return /*#__PURE__*/_react.default.createElement(ImageMetaGridsWrapper, null, imageMetas.map(imageMeta => {
|
|
163
145
|
var _imageMeta$image;
|
|
164
|
-
|
|
165
146
|
return /*#__PURE__*/_react.default.createElement(ImageMetaGrid, {
|
|
166
147
|
key: imageMeta === null || imageMeta === void 0 ? void 0 : (_imageMeta$image = imageMeta.image) === null || _imageMeta$image === void 0 ? void 0 : _imageMeta$image.id,
|
|
167
148
|
imageMeta: imageMeta,
|
|
@@ -171,10 +152,8 @@ function ImageMetaGrids(props) {
|
|
|
171
152
|
});
|
|
172
153
|
}));
|
|
173
154
|
}
|
|
174
|
-
|
|
175
155
|
function ImageMetaGrid(props) {
|
|
176
156
|
var _image$resized2;
|
|
177
|
-
|
|
178
157
|
const {
|
|
179
158
|
imageMeta,
|
|
180
159
|
enableCaption,
|
|
@@ -190,7 +169,6 @@ function ImageMetaGrid(props) {
|
|
|
190
169
|
src: image === null || image === void 0 ? void 0 : (_image$resized2 = image.resized) === null || _image$resized2 === void 0 ? void 0 : _image$resized2.w800,
|
|
191
170
|
onError: e => {
|
|
192
171
|
var _image$imageFile2;
|
|
193
|
-
|
|
194
172
|
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;
|
|
195
173
|
}
|
|
196
174
|
}), /*#__PURE__*/_react.default.createElement(ImageName, null, image === null || image === void 0 ? void 0 : image.name), enableCaption && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
|
|
@@ -223,7 +201,6 @@ function ImageMetaGrid(props) {
|
|
|
223
201
|
})
|
|
224
202
|
})));
|
|
225
203
|
}
|
|
226
|
-
|
|
227
204
|
function DelayInput(props) {
|
|
228
205
|
const {
|
|
229
206
|
delay,
|
|
@@ -240,7 +217,6 @@ function DelayInput(props) {
|
|
|
240
217
|
}
|
|
241
218
|
}));
|
|
242
219
|
}
|
|
243
|
-
|
|
244
220
|
function ImageSelector(props) {
|
|
245
221
|
const [queryImages, {
|
|
246
222
|
loading,
|
|
@@ -253,7 +229,6 @@ function ImageSelector(props) {
|
|
|
253
229
|
fetchPolicy: 'no-cache'
|
|
254
230
|
});
|
|
255
231
|
const [currentPage, setCurrentPage] = (0, _react.useState)(0); // page starts with 1, 0 is used to detect initialization
|
|
256
|
-
|
|
257
232
|
const [searchText, setSearchText] = (0, _react.useState)('');
|
|
258
233
|
const [selected, setSelected] = (0, _react.useState)([]);
|
|
259
234
|
const [delay, setDelay] = (0, _react.useState)('5');
|
|
@@ -281,84 +256,70 @@ function ImageSelector(props) {
|
|
|
281
256
|
enableDelay = false,
|
|
282
257
|
onChange
|
|
283
258
|
} = props;
|
|
284
|
-
|
|
285
259
|
const onSave = () => {
|
|
286
260
|
let adjustedDelay = +delay;
|
|
287
261
|
adjustedDelay = adjustedDelay < 1 ? 1 : adjustedDelay;
|
|
288
262
|
onChange(selected, align, adjustedDelay);
|
|
289
263
|
};
|
|
290
|
-
|
|
291
264
|
const onCancel = () => {
|
|
292
265
|
onChange([]);
|
|
293
266
|
};
|
|
294
|
-
|
|
295
267
|
const onSearchBoxChange = async searchInput => {
|
|
296
268
|
setSearchText(searchInput);
|
|
297
269
|
setCurrentPage(1);
|
|
298
270
|
};
|
|
299
|
-
|
|
300
271
|
const onDealyChange = delay => {
|
|
301
272
|
setDelay(delay);
|
|
302
273
|
};
|
|
303
|
-
|
|
304
274
|
const onAlignSelectChange = align => {
|
|
305
275
|
setAlign(align);
|
|
306
276
|
};
|
|
307
|
-
|
|
308
277
|
const onAlignSelectOpen = () => {
|
|
309
278
|
var _contentWrapperRef$cu;
|
|
310
|
-
|
|
311
279
|
const scrollWrapper = (_contentWrapperRef$cu = contentWrapperRef.current) === null || _contentWrapperRef$cu === void 0 ? void 0 : _contentWrapperRef$cu.parentElement;
|
|
312
280
|
scrollWrapper.scrollTop = scrollWrapper.scrollHeight;
|
|
313
281
|
};
|
|
314
|
-
|
|
315
282
|
const onImageMetaChange = imageEntityWithMeta => {
|
|
316
283
|
if (enableMultiSelect) {
|
|
317
284
|
const foundIndex = selected.findIndex(ele => {
|
|
318
285
|
var _ele$image, _imageEntityWithMeta$;
|
|
319
|
-
|
|
320
286
|
return (ele === null || ele === void 0 ? void 0 : (_ele$image = ele.image) === null || _ele$image === void 0 ? void 0 : _ele$image.id) === (imageEntityWithMeta === null || imageEntityWithMeta === void 0 ? void 0 : (_imageEntityWithMeta$ = imageEntityWithMeta.image) === null || _imageEntityWithMeta$ === void 0 ? void 0 : _imageEntityWithMeta$.id);
|
|
321
287
|
});
|
|
322
|
-
|
|
323
288
|
if (foundIndex !== -1) {
|
|
324
289
|
selected[foundIndex] = imageEntityWithMeta;
|
|
325
290
|
setSelected(selected);
|
|
326
291
|
}
|
|
327
|
-
|
|
328
292
|
return;
|
|
329
293
|
}
|
|
330
|
-
|
|
331
294
|
setSelected([imageEntityWithMeta]);
|
|
332
295
|
};
|
|
333
|
-
|
|
334
296
|
const onImagesGridSelect = imageEntity => {
|
|
335
297
|
setSelected(selected => {
|
|
336
298
|
const filterdSelected = selected.filter(ele => {
|
|
337
299
|
var _ele$image2;
|
|
338
|
-
|
|
339
300
|
return ((_ele$image2 = ele.image) === null || _ele$image2 === void 0 ? void 0 : _ele$image2.id) !== imageEntity.id;
|
|
340
|
-
});
|
|
301
|
+
});
|
|
341
302
|
|
|
303
|
+
// deselect the image
|
|
342
304
|
if (filterdSelected.length !== selected.length) {
|
|
343
305
|
return filterdSelected;
|
|
344
|
-
}
|
|
345
|
-
|
|
306
|
+
}
|
|
346
307
|
|
|
308
|
+
// add new selected one
|
|
347
309
|
if (enableMultiSelect) {
|
|
348
310
|
return selected.concat([{
|
|
349
311
|
image: imageEntity,
|
|
350
312
|
desc: ''
|
|
351
313
|
}]);
|
|
352
|
-
}
|
|
353
|
-
|
|
314
|
+
}
|
|
354
315
|
|
|
316
|
+
// single select
|
|
355
317
|
return [{
|
|
356
318
|
image: imageEntity,
|
|
357
319
|
desc: ''
|
|
358
320
|
}];
|
|
359
321
|
});
|
|
360
322
|
};
|
|
361
|
-
|
|
362
323
|
const selectedImages = selected.map(ele => {
|
|
363
324
|
return ele.image;
|
|
364
325
|
});
|
|
@@ -373,7 +334,6 @@ function ImageSelector(props) {
|
|
|
373
334
|
});
|
|
374
335
|
}
|
|
375
336
|
}, [currentPage, searchText]);
|
|
376
|
-
|
|
377
337
|
let searchResult = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ImageGrids, {
|
|
378
338
|
images: images,
|
|
379
339
|
selected: selectedImages,
|
|
@@ -386,15 +346,12 @@ function ImageSelector(props) {
|
|
|
386
346
|
setCurrentPage(pageIndex);
|
|
387
347
|
}
|
|
388
348
|
}));
|
|
389
|
-
|
|
390
349
|
if (loading) {
|
|
391
350
|
searchResult = /*#__PURE__*/_react.default.createElement("p", null, "searching...");
|
|
392
351
|
}
|
|
393
|
-
|
|
394
352
|
if (error) {
|
|
395
353
|
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.loc.source.body)));
|
|
396
354
|
}
|
|
397
|
-
|
|
398
355
|
return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
|
|
399
356
|
isOpen: true
|
|
400
357
|
}, /*#__PURE__*/_react.default.createElement(_modals.Drawer, {
|
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Pagination = Pagination;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
const PaginationWrapper = _styledComponents.default.div`
|
|
15
11
|
display: flex;
|
|
16
12
|
justify-content: end;
|
|
@@ -33,7 +29,6 @@ const ArrowButtonWrapper = _styledComponents.default.a`
|
|
|
33
29
|
}
|
|
34
30
|
}}
|
|
35
31
|
`;
|
|
36
|
-
|
|
37
32
|
function Pagination({
|
|
38
33
|
currentPage,
|
|
39
34
|
total,
|
|
@@ -43,8 +38,9 @@ function Pagination({
|
|
|
43
38
|
const minPage = 1;
|
|
44
39
|
const limit = Math.ceil(total / pageSize);
|
|
45
40
|
const nextPage = currentPage + 1;
|
|
46
|
-
const prevPage = currentPage - 1;
|
|
41
|
+
const prevPage = currentPage - 1;
|
|
47
42
|
|
|
43
|
+
// Don't render the pagiantion component if the pageSize is greater than the total number of items in the list.
|
|
48
44
|
if (total <= pageSize) return null;
|
|
49
45
|
return /*#__PURE__*/_react.default.createElement(PaginationWrapper, null, /*#__PURE__*/_react.default.createElement("div", null, currentPage, " of ", limit, " pages"), /*#__PURE__*/_react.default.createElement(Arrows, null, /*#__PURE__*/_react.default.createElement(ArrowButtonWrapper, {
|
|
50
46
|
onClick: () => {
|
|
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PostSelector = PostSelector;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
-
|
|
12
9
|
var _modals = require("@keystone-ui/modals");
|
|
13
|
-
|
|
14
10
|
var _apollo = require("@keystone-6/core/admin-ui/apollo");
|
|
15
|
-
|
|
16
11
|
var _searchBox = require("./search-box");
|
|
17
|
-
|
|
18
12
|
var _pagination = require("./pagination");
|
|
19
|
-
|
|
20
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
14
|
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); }
|
|
23
|
-
|
|
24
15
|
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; }
|
|
25
|
-
|
|
26
16
|
const postsQuery = (0, _apollo.gql)`
|
|
27
17
|
query Posts($searchText: String!, $take: Int, $skip: Int) {
|
|
28
18
|
postsCount(where: { name: { contains: $searchText } })
|
|
@@ -113,7 +103,6 @@ const ErrorWrapper = _styledComponents.default.div`
|
|
|
113
103
|
margin: 0;
|
|
114
104
|
}
|
|
115
105
|
`;
|
|
116
|
-
|
|
117
106
|
function PostGrids(props) {
|
|
118
107
|
const {
|
|
119
108
|
posts,
|
|
@@ -129,10 +118,8 @@ function PostGrids(props) {
|
|
|
129
118
|
});
|
|
130
119
|
}));
|
|
131
120
|
}
|
|
132
|
-
|
|
133
121
|
function PostGrid(props) {
|
|
134
122
|
var _post$heroImage, _post$heroImage$resiz;
|
|
135
|
-
|
|
136
123
|
const {
|
|
137
124
|
post,
|
|
138
125
|
onSelect,
|
|
@@ -147,29 +134,24 @@ function PostGrid(props) {
|
|
|
147
134
|
src: (_post$heroImage = post.heroImage) === null || _post$heroImage === void 0 ? void 0 : (_post$heroImage$resiz = _post$heroImage.resized) === null || _post$heroImage$resiz === void 0 ? void 0 : _post$heroImage$resiz.original,
|
|
148
135
|
onError: e => {
|
|
149
136
|
var _post$heroImage2, _post$heroImage2$imag;
|
|
150
|
-
|
|
151
137
|
return e.currentTarget.src = (_post$heroImage2 = post.heroImage) === null || _post$heroImage2 === void 0 ? void 0 : (_post$heroImage2$imag = _post$heroImage2.imageFile) === null || _post$heroImage2$imag === void 0 ? void 0 : _post$heroImage2$imag.url;
|
|
152
138
|
}
|
|
153
139
|
}), /*#__PURE__*/_react.default.createElement(PostTitle, null, post.name)));
|
|
154
140
|
}
|
|
155
|
-
|
|
156
141
|
function PostMetaGrids(props) {
|
|
157
142
|
const {
|
|
158
143
|
postMetas
|
|
159
144
|
} = props;
|
|
160
145
|
return /*#__PURE__*/_react.default.createElement(PostMetaGridsWrapper, null, postMetas.map(postMetas => {
|
|
161
146
|
var _postMetas$post;
|
|
162
|
-
|
|
163
147
|
return /*#__PURE__*/_react.default.createElement(PostMetaGrid, {
|
|
164
148
|
key: postMetas === null || postMetas === void 0 ? void 0 : (_postMetas$post = postMetas.post) === null || _postMetas$post === void 0 ? void 0 : _postMetas$post.id,
|
|
165
149
|
postMeta: postMetas
|
|
166
150
|
});
|
|
167
151
|
}));
|
|
168
152
|
}
|
|
169
|
-
|
|
170
153
|
function PostMetaGrid(props) {
|
|
171
154
|
var _post$heroImage3, _post$heroImage3$resi;
|
|
172
|
-
|
|
173
155
|
const {
|
|
174
156
|
postMeta
|
|
175
157
|
} = props;
|
|
@@ -180,12 +162,10 @@ function PostMetaGrid(props) {
|
|
|
180
162
|
src: post === null || post === void 0 ? void 0 : (_post$heroImage3 = post.heroImage) === null || _post$heroImage3 === void 0 ? void 0 : (_post$heroImage3$resi = _post$heroImage3.resized) === null || _post$heroImage3$resi === void 0 ? void 0 : _post$heroImage3$resi.original,
|
|
181
163
|
onError: e => {
|
|
182
164
|
var _post$heroImage4, _post$heroImage4$imag;
|
|
183
|
-
|
|
184
165
|
return e.currentTarget.src = post === null || post === void 0 ? void 0 : (_post$heroImage4 = post.heroImage) === null || _post$heroImage4 === void 0 ? void 0 : (_post$heroImage4$imag = _post$heroImage4.imageFile) === null || _post$heroImage4$imag === void 0 ? void 0 : _post$heroImage4$imag.url;
|
|
185
166
|
}
|
|
186
167
|
}), /*#__PURE__*/_react.default.createElement(PostTitle, null, post === null || post === void 0 ? void 0 : post.name)));
|
|
187
168
|
}
|
|
188
|
-
|
|
189
169
|
function PostSelector(props) {
|
|
190
170
|
const [queryPosts, {
|
|
191
171
|
loading,
|
|
@@ -198,7 +178,6 @@ function PostSelector(props) {
|
|
|
198
178
|
fetchPolicy: 'no-cache'
|
|
199
179
|
});
|
|
200
180
|
const [currentPage, setCurrentPage] = (0, _react.useState)(0); // page starts with 1, 0 is used to detect initialization
|
|
201
|
-
|
|
202
181
|
const [searchText, setSearchText] = (0, _react.useState)('');
|
|
203
182
|
const [selected, setSelected] = (0, _react.useState)([]);
|
|
204
183
|
const [showErrorHint, setShowErrorHint] = (0, _react.useState)(false);
|
|
@@ -209,57 +188,49 @@ function PostSelector(props) {
|
|
|
209
188
|
minSelectCount = 1,
|
|
210
189
|
maxSelectCount = 3
|
|
211
190
|
} = props;
|
|
212
|
-
|
|
213
191
|
const onSave = () => {
|
|
214
192
|
if (enableMultiSelect && minSelectCount && selected.length < minSelectCount) {
|
|
215
193
|
setShowErrorHint(true);
|
|
216
194
|
return;
|
|
217
195
|
}
|
|
218
|
-
|
|
219
196
|
onChange(selected);
|
|
220
197
|
};
|
|
221
|
-
|
|
222
198
|
const onCancel = () => {
|
|
223
199
|
onChange([]);
|
|
224
200
|
};
|
|
225
|
-
|
|
226
201
|
const onSearchBoxChange = async searchInput => {
|
|
227
202
|
setSearchText(searchInput);
|
|
228
203
|
setCurrentPage(1);
|
|
229
204
|
};
|
|
230
|
-
|
|
231
205
|
const onPostsGridSelect = postEntity => {
|
|
232
206
|
setSelected(selected => {
|
|
233
207
|
const filterdSelected = selected.filter(ele => {
|
|
234
208
|
var _ele$post;
|
|
235
|
-
|
|
236
209
|
return ((_ele$post = ele.post) === null || _ele$post === void 0 ? void 0 : _ele$post.id) !== postEntity.id;
|
|
237
|
-
});
|
|
210
|
+
});
|
|
238
211
|
|
|
212
|
+
// deselect the post
|
|
239
213
|
if (filterdSelected.length !== selected.length) {
|
|
240
214
|
return filterdSelected;
|
|
241
|
-
}
|
|
242
|
-
|
|
215
|
+
}
|
|
243
216
|
|
|
217
|
+
// add new selected one and check shrink the array if there is a limit
|
|
244
218
|
if (enableMultiSelect) {
|
|
245
219
|
let newSelected = selected.concat([{
|
|
246
220
|
post: postEntity
|
|
247
221
|
}]);
|
|
248
|
-
|
|
249
222
|
if (maxSelectCount && newSelected.length >= maxSelectCount) {
|
|
250
223
|
newSelected = newSelected.slice(-maxSelectCount);
|
|
251
224
|
}
|
|
252
|
-
|
|
253
225
|
return newSelected;
|
|
254
|
-
}
|
|
255
|
-
|
|
226
|
+
}
|
|
256
227
|
|
|
228
|
+
// single select
|
|
257
229
|
return [{
|
|
258
230
|
post: postEntity
|
|
259
231
|
}];
|
|
260
232
|
});
|
|
261
233
|
};
|
|
262
|
-
|
|
263
234
|
const selectedPosts = selected.map(ele => {
|
|
264
235
|
return ele.post;
|
|
265
236
|
});
|
|
@@ -274,7 +245,6 @@ function PostSelector(props) {
|
|
|
274
245
|
});
|
|
275
246
|
}
|
|
276
247
|
}, [currentPage, searchText]);
|
|
277
|
-
|
|
278
248
|
let searchResult = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(PostGrids, {
|
|
279
249
|
posts: posts,
|
|
280
250
|
selected: selectedPosts,
|
|
@@ -287,15 +257,12 @@ function PostSelector(props) {
|
|
|
287
257
|
setCurrentPage(pageIndex);
|
|
288
258
|
}
|
|
289
259
|
}));
|
|
290
|
-
|
|
291
260
|
if (loading) {
|
|
292
261
|
searchResult = /*#__PURE__*/_react.default.createElement("p", null, "searching...");
|
|
293
262
|
}
|
|
294
|
-
|
|
295
263
|
if (error) {
|
|
296
264
|
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.source.body)));
|
|
297
265
|
}
|
|
298
|
-
|
|
299
266
|
return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
|
|
300
267
|
isOpen: true
|
|
301
268
|
}, /*#__PURE__*/_react.default.createElement(_modals.Drawer, {
|
|
@@ -4,25 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.SearchBox = SearchBox;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
-
|
|
12
9
|
var _button = require("@keystone-ui/button");
|
|
13
|
-
|
|
14
10
|
var _fields = require("@keystone-ui/fields");
|
|
15
|
-
|
|
16
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
12
|
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); }
|
|
19
|
-
|
|
20
13
|
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; }
|
|
21
|
-
|
|
22
14
|
const SearchBoxWrapper = _styledComponents.default.div`
|
|
23
15
|
display: flex;
|
|
24
16
|
`;
|
|
25
|
-
|
|
26
17
|
function SearchBox(props) {
|
|
27
18
|
const {
|
|
28
19
|
onChange,
|
|
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VideoSelector = VideoSelector;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
-
|
|
12
9
|
var _modals = require("@keystone-ui/modals");
|
|
13
|
-
|
|
14
10
|
var _apollo = require("@keystone-6/core/admin-ui/apollo");
|
|
15
|
-
|
|
16
11
|
var _searchBox = require("./search-box");
|
|
17
|
-
|
|
18
12
|
var _pagination = require("./pagination");
|
|
19
|
-
|
|
20
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
14
|
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); }
|
|
23
|
-
|
|
24
15
|
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; }
|
|
25
|
-
|
|
26
16
|
const videosQuery = (0, _apollo.gql)`
|
|
27
17
|
query Videos($searchText: String!, $take: Int, $skip: Int) {
|
|
28
18
|
videosCount(where: { name: { contains: $searchText } })
|
|
@@ -101,7 +91,6 @@ const ErrorWrapper = _styledComponents.default.div`
|
|
|
101
91
|
const VideoName = _styledComponents.default.p`
|
|
102
92
|
text-align: center;
|
|
103
93
|
`;
|
|
104
|
-
|
|
105
94
|
function VideosGrids(props) {
|
|
106
95
|
const {
|
|
107
96
|
videos,
|
|
@@ -117,10 +106,8 @@ function VideosGrids(props) {
|
|
|
117
106
|
});
|
|
118
107
|
}));
|
|
119
108
|
}
|
|
120
|
-
|
|
121
109
|
function VideoGrid(props) {
|
|
122
110
|
var _video$file;
|
|
123
|
-
|
|
124
111
|
const {
|
|
125
112
|
video,
|
|
126
113
|
onSelect,
|
|
@@ -140,24 +127,20 @@ function VideoGrid(props) {
|
|
|
140
127
|
src: video === null || video === void 0 ? void 0 : (_video$file = video.file) === null || _video$file === void 0 ? void 0 : _video$file.url
|
|
141
128
|
})));
|
|
142
129
|
}
|
|
143
|
-
|
|
144
130
|
function VideoMetaGrids(props) {
|
|
145
131
|
const {
|
|
146
132
|
videoMetas
|
|
147
133
|
} = props;
|
|
148
134
|
return /*#__PURE__*/_react.default.createElement(VideoMetaGridsWrapper, null, videoMetas.map(videoMeta => {
|
|
149
135
|
var _videoMeta$video;
|
|
150
|
-
|
|
151
136
|
return /*#__PURE__*/_react.default.createElement(VideoMetaGrid, {
|
|
152
137
|
key: videoMeta === null || videoMeta === void 0 ? void 0 : (_videoMeta$video = videoMeta.video) === null || _videoMeta$video === void 0 ? void 0 : _videoMeta$video.id,
|
|
153
138
|
videoMeta: videoMeta
|
|
154
139
|
});
|
|
155
140
|
}));
|
|
156
141
|
}
|
|
157
|
-
|
|
158
142
|
function VideoMetaGrid(props) {
|
|
159
143
|
var _video$file2;
|
|
160
|
-
|
|
161
144
|
const {
|
|
162
145
|
videoMeta
|
|
163
146
|
} = props;
|
|
@@ -174,7 +157,6 @@ function VideoMetaGrid(props) {
|
|
|
174
157
|
src: video === null || video === void 0 ? void 0 : (_video$file2 = video.file) === null || _video$file2 === void 0 ? void 0 : _video$file2.url
|
|
175
158
|
})), /*#__PURE__*/_react.default.createElement(VideoName, null, video === null || video === void 0 ? void 0 : video.name));
|
|
176
159
|
}
|
|
177
|
-
|
|
178
160
|
function VideoSelector(props) {
|
|
179
161
|
const [queryVideos, {
|
|
180
162
|
loading,
|
|
@@ -187,46 +169,40 @@ function VideoSelector(props) {
|
|
|
187
169
|
fetchPolicy: 'no-cache'
|
|
188
170
|
});
|
|
189
171
|
const [currentPage, setCurrentPage] = (0, _react.useState)(0); // page starts with 1, 0 is used to detect initialization
|
|
190
|
-
|
|
191
172
|
const [searchText, setSearchText] = (0, _react.useState)('');
|
|
192
173
|
const [selected, setSelected] = (0, _react.useState)([]);
|
|
193
174
|
const pageSize = 6;
|
|
194
175
|
const {
|
|
195
176
|
onChange
|
|
196
177
|
} = props;
|
|
197
|
-
|
|
198
178
|
const onSave = () => {
|
|
199
179
|
onChange(selected);
|
|
200
180
|
};
|
|
201
|
-
|
|
202
181
|
const onCancel = () => {
|
|
203
182
|
onChange([]);
|
|
204
183
|
};
|
|
205
|
-
|
|
206
184
|
const onSearchBoxChange = async searchInput => {
|
|
207
185
|
setSearchText(searchInput);
|
|
208
186
|
setCurrentPage(1);
|
|
209
187
|
};
|
|
210
|
-
|
|
211
188
|
const onVideosGridSelect = videoEntity => {
|
|
212
189
|
setSelected(selected => {
|
|
213
190
|
const filterdSelected = selected.filter(ele => {
|
|
214
191
|
var _ele$video;
|
|
215
|
-
|
|
216
192
|
return ((_ele$video = ele.video) === null || _ele$video === void 0 ? void 0 : _ele$video.id) !== videoEntity.id;
|
|
217
|
-
});
|
|
193
|
+
});
|
|
218
194
|
|
|
195
|
+
// deselect the video
|
|
219
196
|
if (filterdSelected.length !== selected.length) {
|
|
220
197
|
return filterdSelected;
|
|
221
|
-
}
|
|
222
|
-
|
|
198
|
+
}
|
|
223
199
|
|
|
200
|
+
// single select
|
|
224
201
|
return [{
|
|
225
202
|
video: videoEntity
|
|
226
203
|
}];
|
|
227
204
|
});
|
|
228
205
|
};
|
|
229
|
-
|
|
230
206
|
const selectedVideos = selected.map(ele => {
|
|
231
207
|
return ele.video;
|
|
232
208
|
});
|
|
@@ -241,7 +217,6 @@ function VideoSelector(props) {
|
|
|
241
217
|
});
|
|
242
218
|
}
|
|
243
219
|
}, [currentPage, searchText]);
|
|
244
|
-
|
|
245
220
|
let searchResult = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(VideosGrids, {
|
|
246
221
|
videos: videos,
|
|
247
222
|
selected: selectedVideos,
|
|
@@ -254,15 +229,12 @@ function VideoSelector(props) {
|
|
|
254
229
|
setCurrentPage(pageIndex);
|
|
255
230
|
}
|
|
256
231
|
}));
|
|
257
|
-
|
|
258
232
|
if (loading) {
|
|
259
233
|
searchResult = /*#__PURE__*/_react.default.createElement("p", null, "searching...");
|
|
260
234
|
}
|
|
261
|
-
|
|
262
235
|
if (error) {
|
|
263
236
|
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.source.body)));
|
|
264
237
|
}
|
|
265
|
-
|
|
266
238
|
return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
|
|
267
239
|
isOpen: true
|
|
268
240
|
}, /*#__PURE__*/_react.default.createElement(_modals.Drawer, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirrormedia/lilith-draft-editor",
|
|
3
|
-
"version": "1.1.0-alpha.
|
|
3
|
+
"version": "1.1.0-alpha.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"draft-js": "^0.11.7",
|
|
26
|
-
"@mirrormedia/lilith-draft-renderer": "1.1.0-alpha.
|
|
26
|
+
"@mirrormedia/lilith-draft-renderer": "1.1.0-alpha.6"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"react": "18.1.0",
|