@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.
Files changed (72) hide show
  1. package/lib/draft-js/buttons/annotation.js +0 -22
  2. package/lib/draft-js/buttons/audio.js +3 -16
  3. package/lib/draft-js/buttons/background-color.js +0 -26
  4. package/lib/draft-js/buttons/background-image.js +13 -32
  5. package/lib/draft-js/buttons/background-video.js +13 -32
  6. package/lib/draft-js/buttons/color-box.js +5 -21
  7. package/lib/draft-js/buttons/divider.js +3 -12
  8. package/lib/draft-js/buttons/embedded-code.js +5 -16
  9. package/lib/draft-js/buttons/enlarge.js +0 -3
  10. package/lib/draft-js/buttons/font-color.js +0 -26
  11. package/lib/draft-js/buttons/image.js +5 -16
  12. package/lib/draft-js/buttons/info-box.js +5 -21
  13. package/lib/draft-js/buttons/link.js +0 -19
  14. package/lib/draft-js/buttons/media.js +3 -16
  15. package/lib/draft-js/buttons/related-post.js +3 -14
  16. package/lib/draft-js/buttons/selector/align-selector.js +2 -11
  17. package/lib/draft-js/buttons/selector/audio-selector.js +4 -33
  18. package/lib/draft-js/buttons/selector/image-selector.js +6 -50
  19. package/lib/draft-js/buttons/selector/pagination.js +2 -6
  20. package/lib/draft-js/buttons/selector/post-selector.js +6 -39
  21. package/lib/draft-js/buttons/selector/search-box.js +0 -9
  22. package/lib/draft-js/buttons/selector/video-selector.js +4 -33
  23. package/lib/draft-js/buttons/side-index.js +15 -31
  24. package/lib/draft-js/buttons/slideshow.js +7 -16
  25. package/lib/draft-js/buttons/table.js +5 -11
  26. package/lib/draft-js/buttons/text-align.js +0 -14
  27. package/lib/draft-js/buttons/video.js +3 -16
  28. package/lib/draft-js/const.js +0 -2
  29. package/lib/draft-js/draft-converter/api-data-instance.js +0 -14
  30. package/lib/draft-js/draft-converter/atomic-block-processor.js +12 -41
  31. package/lib/draft-js/draft-converter/entities.js +1 -0
  32. package/lib/draft-js/draft-converter/index.js +10 -29
  33. package/lib/draft-js/draft-converter/inline-styles-processor.js +22 -55
  34. package/lib/draft-js/modifier.js +5 -13
  35. package/lib/index.js +0 -4
  36. package/lib/website/mirrormedia/block-renderer/background-image-block.js +2 -14
  37. package/lib/website/mirrormedia/block-renderer/background-video-block.js +2 -14
  38. package/lib/website/mirrormedia/block-renderer/color-box-block.js +2 -14
  39. package/lib/website/mirrormedia/block-renderer/embedded-code-block.js +3 -12
  40. package/lib/website/mirrormedia/block-renderer/info-box-block.js +2 -14
  41. package/lib/website/mirrormedia/block-renderer/side-index-block.js +2 -13
  42. package/lib/website/mirrormedia/block-renderer/slideshow-block.js +4 -11
  43. package/lib/website/mirrormedia/block-renderer/table-block.js +28 -62
  44. package/lib/website/mirrormedia/block-renderer-fn.js +0 -30
  45. package/lib/website/mirrormedia/draft-editor.js +10 -106
  46. package/lib/website/mirrormedia/entity-decorator.js +0 -4
  47. package/lib/website/mirrormedia/index.js +0 -3
  48. package/lib/website/mirrormedia/selector/align-selector.js +2 -11
  49. package/lib/website/mirrormedia/selector/audio-selector.js +4 -33
  50. package/lib/website/mirrormedia/selector/image-selector.js +6 -49
  51. package/lib/website/mirrormedia/selector/pagination.js +2 -6
  52. package/lib/website/mirrormedia/selector/post-selector.js +6 -39
  53. package/lib/website/mirrormedia/selector/search-box.js +0 -9
  54. package/lib/website/mirrormedia/selector/video-selector.js +4 -32
  55. package/lib/website/readr/block-renderer/background-image-block.js +2 -14
  56. package/lib/website/readr/block-renderer/background-video-block.js +2 -14
  57. package/lib/website/readr/block-renderer/color-box-block.js +2 -14
  58. package/lib/website/readr/block-renderer/info-box-block.js +2 -14
  59. package/lib/website/readr/block-renderer/side-index-block.js +2 -13
  60. package/lib/website/readr/block-renderer/table-block.js +28 -62
  61. package/lib/website/readr/block-renderer-fn.js +4 -27
  62. package/lib/website/readr/draft-editor.js +10 -106
  63. package/lib/website/readr/entity-decorator.js +0 -4
  64. package/lib/website/readr/index.js +0 -3
  65. package/lib/website/readr/selector/align-selector.js +2 -11
  66. package/lib/website/readr/selector/audio-selector.js +4 -33
  67. package/lib/website/readr/selector/image-selector.js +6 -49
  68. package/lib/website/readr/selector/pagination.js +2 -6
  69. package/lib/website/readr/selector/post-selector.js +6 -39
  70. package/lib/website/readr/selector/search-box.js +0 -9
  71. package/lib/website/readr/selector/video-selector.js +4 -32
  72. 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
- }); // deselect the image
301
+ });
341
302
 
303
+ // deselect the image
342
304
  if (filterdSelected.length !== selected.length) {
343
305
  return filterdSelected;
344
- } // add new selected one
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
- } // single select
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; // Don't render the pagiantion component if the pageSize is greater than the total number of items in the list.
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
- }); // deselect the post
210
+ });
238
211
 
212
+ // deselect the post
239
213
  if (filterdSelected.length !== selected.length) {
240
214
  return filterdSelected;
241
- } // add new selected one and check shrink the array if there is a limit
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
- } // single select
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
- }); // deselect the video
193
+ });
218
194
 
195
+ // deselect the video
219
196
  if (filterdSelected.length !== selected.length) {
220
197
  return filterdSelected;
221
- } // single select
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.2",
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.5"
26
+ "@mirrormedia/lilith-draft-renderer": "1.1.0-alpha.6"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": "18.1.0",