@mirrormedia/lilith-draft-editor 1.0.0-beta → 1.0.0-beta4

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 (171) hide show
  1. package/lib/draft-js/block-renderer/background-image-block.js +123 -0
  2. package/lib/draft-js/block-renderer/background-video-block.js +133 -0
  3. package/lib/draft-js/block-renderer/color-box-block.js +92 -0
  4. package/lib/draft-js/block-renderer/divider-block.js +24 -0
  5. package/lib/draft-js/block-renderer/embedded-code-block.js +63 -0
  6. package/lib/draft-js/block-renderer/image-block.js +47 -0
  7. package/lib/draft-js/block-renderer/info-box-block.js +89 -0
  8. package/lib/draft-js/block-renderer/media-block.js +65 -0
  9. package/lib/draft-js/block-renderer/related-post-block.js +51 -0
  10. package/lib/draft-js/block-renderer/side-index-block.js +103 -0
  11. package/lib/draft-js/block-renderer/slideshow-block.js +71 -0
  12. package/lib/draft-js/block-renderer/table-block.js +408 -0
  13. package/lib/draft-js/buttons/annotation.js +117 -0
  14. package/lib/draft-js/buttons/background-color.js +123 -0
  15. package/lib/draft-js/buttons/background-image.js +222 -0
  16. package/lib/draft-js/buttons/background-video.js +222 -0
  17. package/lib/draft-js/buttons/color-box.js +172 -0
  18. package/lib/draft-js/buttons/divider.js +63 -0
  19. package/lib/draft-js/buttons/embedded-code.js +109 -0
  20. package/lib/draft-js/buttons/enlarge.js +24 -0
  21. package/lib/draft-js/buttons/font-color.js +116 -0
  22. package/lib/draft-js/buttons/image.js +68 -0
  23. package/lib/draft-js/buttons/info-box.js +147 -0
  24. package/lib/draft-js/buttons/link.js +107 -0
  25. package/lib/draft-js/buttons/media.js +121 -0
  26. package/lib/draft-js/buttons/related-post.js +71 -0
  27. package/lib/draft-js/buttons/selector/align-selector.js +71 -0
  28. package/lib/draft-js/buttons/selector/image-selector.js +428 -0
  29. package/lib/draft-js/buttons/selector/pagination.js +82 -0
  30. package/lib/draft-js/buttons/selector/post-selector.js +317 -0
  31. package/lib/draft-js/buttons/selector/search-box.js +46 -0
  32. package/lib/draft-js/buttons/selector/video-selector.js +284 -0
  33. package/lib/draft-js/buttons/side-index.js +200 -0
  34. package/lib/draft-js/buttons/slideshow.js +71 -0
  35. package/lib/draft-js/buttons/table.js +67 -0
  36. package/lib/draft-js/buttons/text-align.js +88 -0
  37. package/lib/draft-js/editor/basic-editor.js +366 -0
  38. package/lib/draft-js/editor/block-renderer-fn.js +117 -0
  39. package/lib/draft-js/editor/entity-decorator.js +16 -0
  40. package/lib/draft-js/editor/modifier.js +68 -0
  41. package/lib/draft-js/entity-decorator/annotation-decorator.js +86 -0
  42. package/lib/draft-js/entity-decorator/link-decorator.js +39 -0
  43. package/lib/website/mirrormedia/custom/block-renderer/background-image-block.js +91 -0
  44. package/lib/website/mirrormedia/custom/block-renderer/background-video-block.js +91 -0
  45. package/lib/website/mirrormedia/custom/block-renderer/color-box-block.js +84 -0
  46. package/lib/website/mirrormedia/custom/block-renderer/info-box-block.js +84 -0
  47. package/lib/website/mirrormedia/custom/block-renderer/side-index-block.js +90 -0
  48. package/lib/website/mirrormedia/custom/block-renderer/table-block.js +408 -0
  49. package/lib/website/mirrormedia/custom/selector/align-selector.js +71 -0
  50. package/lib/website/mirrormedia/custom/selector/image-selector.js +427 -0
  51. package/lib/website/mirrormedia/custom/selector/pagination.js +82 -0
  52. package/lib/website/mirrormedia/custom/selector/post-selector.js +318 -0
  53. package/lib/website/mirrormedia/custom/selector/search-box.js +46 -0
  54. package/lib/website/mirrormedia/custom/selector/video-selector.js +282 -0
  55. package/lib/website/mirrormedia/draft-editor/block-renderer-fn.js +117 -0
  56. package/lib/website/mirrormedia/draft-editor/entity-decorator.js +18 -0
  57. package/lib/website/mirrormedia/draft-editor/index.js +799 -0
  58. package/lib/website/mirrormedia/index.js +1 -4
  59. package/lib/website/readr/custom/block-renderer/background-image-block.js +91 -0
  60. package/lib/website/readr/custom/block-renderer/background-video-block.js +91 -0
  61. package/lib/website/readr/custom/block-renderer/color-box-block.js +84 -0
  62. package/lib/website/readr/custom/block-renderer/info-box-block.js +84 -0
  63. package/lib/website/readr/custom/block-renderer/side-index-block.js +90 -0
  64. package/lib/website/readr/custom/block-renderer/table-block.js +408 -0
  65. package/lib/website/readr/custom/selector/align-selector.js +71 -0
  66. package/lib/website/readr/custom/selector/image-selector.js +427 -0
  67. package/lib/website/readr/custom/selector/pagination.js +82 -0
  68. package/lib/website/readr/custom/selector/post-selector.js +318 -0
  69. package/lib/website/readr/custom/selector/search-box.js +46 -0
  70. package/lib/website/readr/custom/selector/video-selector.js +282 -0
  71. package/lib/website/readr/draft-editor/block-renderer-fn.js +117 -0
  72. package/lib/website/readr/draft-editor/entity-decorator.js +18 -0
  73. package/lib/website/readr/draft-editor/index.js +799 -0
  74. package/lib/website/readr/index.js +1 -4
  75. package/package.json +3 -2
  76. package/lib/draft-js/block-renderer/background-image-block.tsx +0 -113
  77. package/lib/draft-js/block-renderer/background-video-block.tsx +0 -120
  78. package/lib/draft-js/block-renderer/color-box-block.tsx +0 -85
  79. package/lib/draft-js/block-renderer/divider-block.tsx +0 -12
  80. package/lib/draft-js/block-renderer/embedded-code-block.tsx +0 -65
  81. package/lib/draft-js/block-renderer/image-block.tsx +0 -41
  82. package/lib/draft-js/block-renderer/info-box-block.tsx +0 -85
  83. package/lib/draft-js/block-renderer/media-block.tsx +0 -36
  84. package/lib/draft-js/block-renderer/related-post-block.tsx +0 -47
  85. package/lib/draft-js/block-renderer/side-index-block.tsx +0 -113
  86. package/lib/draft-js/block-renderer/slideshow-block.tsx +0 -62
  87. package/lib/draft-js/block-renderer/table-block.tsx +0 -488
  88. package/lib/draft-js/buttons/annotation.tsx +0 -113
  89. package/lib/draft-js/buttons/background-color.tsx +0 -125
  90. package/lib/draft-js/buttons/background-image.tsx +0 -276
  91. package/lib/draft-js/buttons/background-video.tsx +0 -275
  92. package/lib/draft-js/buttons/color-box.tsx +0 -207
  93. package/lib/draft-js/buttons/divider.tsx +0 -56
  94. package/lib/draft-js/buttons/embedded-code.tsx +0 -126
  95. package/lib/draft-js/buttons/enlarge.tsx +0 -11
  96. package/lib/draft-js/buttons/font-color.tsx +0 -113
  97. package/lib/draft-js/buttons/image.tsx +0 -71
  98. package/lib/draft-js/buttons/info-box.tsx +0 -170
  99. package/lib/draft-js/buttons/link.tsx +0 -103
  100. package/lib/draft-js/buttons/media.tsx +0 -120
  101. package/lib/draft-js/buttons/related-post.tsx +0 -81
  102. package/lib/draft-js/buttons/selector/align-selector.tsx +0 -65
  103. package/lib/draft-js/buttons/selector/image-selector.tsx +0 -485
  104. package/lib/draft-js/buttons/selector/pagination.tsx +0 -83
  105. package/lib/draft-js/buttons/selector/post-selector.tsx +0 -367
  106. package/lib/draft-js/buttons/selector/search-box.tsx +0 -39
  107. package/lib/draft-js/buttons/selector/video-selector.tsx +0 -312
  108. package/lib/draft-js/buttons/side-index.tsx +0 -257
  109. package/lib/draft-js/buttons/slideshow.tsx +0 -81
  110. package/lib/draft-js/buttons/table.tsx +0 -63
  111. package/lib/draft-js/buttons/text-align.tsx +0 -88
  112. package/lib/draft-js/editor/basic-editor.tsx +0 -384
  113. package/lib/draft-js/editor/block-redender-fn.tsx +0 -77
  114. package/lib/draft-js/editor/entity-decorator.tsx +0 -7
  115. package/lib/draft-js/editor/modifier.tsx +0 -71
  116. package/lib/draft-js/entity-decorator/annotation-decorator.tsx +0 -81
  117. package/lib/draft-js/entity-decorator/link-decorator.tsx +0 -27
  118. package/lib/website/mirrormedia/custom/block-renderer/background-image-block.tsx +0 -128
  119. package/lib/website/mirrormedia/custom/block-renderer/background-video-block.tsx +0 -135
  120. package/lib/website/mirrormedia/custom/block-renderer/color-box-block.tsx +0 -98
  121. package/lib/website/mirrormedia/custom/block-renderer/divider-block.tsx +0 -12
  122. package/lib/website/mirrormedia/custom/block-renderer/embedded-code-block.tsx +0 -65
  123. package/lib/website/mirrormedia/custom/block-renderer/image-block.tsx +0 -41
  124. package/lib/website/mirrormedia/custom/block-renderer/info-box-block.tsx +0 -98
  125. package/lib/website/mirrormedia/custom/block-renderer/media-block.tsx +0 -36
  126. package/lib/website/mirrormedia/custom/block-renderer/related-post-block.tsx +0 -47
  127. package/lib/website/mirrormedia/custom/block-renderer/side-index-block.tsx +0 -125
  128. package/lib/website/mirrormedia/custom/block-renderer/slideshow-block.tsx +0 -62
  129. package/lib/website/mirrormedia/custom/block-renderer/table-block.tsx +0 -537
  130. package/lib/website/mirrormedia/custom/entity-decorator/annotation-decorator.tsx +0 -81
  131. package/lib/website/mirrormedia/custom/entity-decorator/link-decorator.tsx +0 -27
  132. package/lib/website/mirrormedia/custom/selector/align-selector.tsx +0 -65
  133. package/lib/website/mirrormedia/custom/selector/image-selector.tsx +0 -485
  134. package/lib/website/mirrormedia/custom/selector/pagination.tsx +0 -83
  135. package/lib/website/mirrormedia/custom/selector/post-selector.tsx +0 -367
  136. package/lib/website/mirrormedia/custom/selector/search-box.tsx +0 -39
  137. package/lib/website/mirrormedia/custom/selector/video-selector.tsx +0 -310
  138. package/lib/website/mirrormedia/draft-editor/block-redender-fn.tsx +0 -77
  139. package/lib/website/mirrormedia/draft-editor/entity-decorator.tsx +0 -7
  140. package/lib/website/mirrormedia/draft-editor/index.tsx +0 -909
  141. package/lib/website/mirrormedia/draft-renderer/block-redender-fn.tsx +0 -77
  142. package/lib/website/mirrormedia/draft-renderer/entity-decorator.tsx +0 -7
  143. package/lib/website/mirrormedia/draft-renderer/index-deprecated.tsx +0 -43
  144. package/lib/website/mirrormedia/draft-renderer/index.tsx +0 -150
  145. package/lib/website/readr/custom/block-renderer/background-image-block.tsx +0 -128
  146. package/lib/website/readr/custom/block-renderer/background-video-block.tsx +0 -135
  147. package/lib/website/readr/custom/block-renderer/color-box-block.tsx +0 -98
  148. package/lib/website/readr/custom/block-renderer/divider-block.tsx +0 -12
  149. package/lib/website/readr/custom/block-renderer/embedded-code-block.tsx +0 -65
  150. package/lib/website/readr/custom/block-renderer/image-block.tsx +0 -41
  151. package/lib/website/readr/custom/block-renderer/info-box-block.tsx +0 -98
  152. package/lib/website/readr/custom/block-renderer/media-block.tsx +0 -36
  153. package/lib/website/readr/custom/block-renderer/related-post-block.tsx +0 -47
  154. package/lib/website/readr/custom/block-renderer/side-index-block.tsx +0 -125
  155. package/lib/website/readr/custom/block-renderer/slideshow-block.tsx +0 -62
  156. package/lib/website/readr/custom/block-renderer/table-block.tsx +0 -537
  157. package/lib/website/readr/custom/entity-decorator/annotation-decorator.tsx +0 -81
  158. package/lib/website/readr/custom/entity-decorator/link-decorator.tsx +0 -27
  159. package/lib/website/readr/custom/selector/align-selector.tsx +0 -65
  160. package/lib/website/readr/custom/selector/image-selector.tsx +0 -485
  161. package/lib/website/readr/custom/selector/pagination.tsx +0 -83
  162. package/lib/website/readr/custom/selector/post-selector.tsx +0 -367
  163. package/lib/website/readr/custom/selector/search-box.tsx +0 -39
  164. package/lib/website/readr/custom/selector/video-selector.tsx +0 -310
  165. package/lib/website/readr/draft-editor/block-redender-fn.tsx +0 -77
  166. package/lib/website/readr/draft-editor/entity-decorator.tsx +0 -7
  167. package/lib/website/readr/draft-editor/index.tsx +0 -909
  168. package/lib/website/readr/draft-renderer/block-redender-fn.tsx +0 -77
  169. package/lib/website/readr/draft-renderer/entity-decorator.tsx +0 -7
  170. package/lib/website/readr/draft-renderer/index-deprecated.tsx +0 -43
  171. package/lib/website/readr/draft-renderer/index.tsx +0 -150
@@ -1,310 +0,0 @@
1
- import React, { useEffect, useState } from 'react'
2
- import styled from 'styled-components'
3
- import { Drawer, DrawerController } from '@keystone-ui/modals'
4
- import { gql, useLazyQuery } from '@keystone-6/core/admin-ui/apollo'
5
- import { ImageEntity } from './image-selector'
6
- import { SearchBox, SearchBoxOnChangeFn } from './search-box'
7
- import { Pagination } from './pagination'
8
-
9
- const videosQuery = gql`
10
- query Videos($searchText: String!, $take: Int, $skip: Int) {
11
- videosCount(where: { name: { contains: $searchText } })
12
- videos(
13
- where: { name: { contains: $searchText } }
14
- take: $take
15
- skip: $skip
16
- ) {
17
- id
18
- name
19
- urlOriginal
20
- file {
21
- filename
22
- filesize
23
- url
24
- }
25
- heroImage {
26
- id
27
- name
28
- imageFile {
29
- url
30
- }
31
- resized {
32
- original
33
- }
34
- }
35
- }
36
- }
37
- `
38
-
39
- const VideoSearchBox = styled(SearchBox)`
40
- margin-top: 10px;
41
- `
42
-
43
- const VideoSelectionWrapper = styled.div`
44
- overflow: auto;
45
- margin-top: 10px;
46
- `
47
-
48
- const VideoGridsWrapper = styled.div`
49
- display: flex;
50
- flex-wrap: wrap;
51
- overflow: auto;
52
- `
53
-
54
- const VideoGridWrapper = styled.div`
55
- flex: 0 0 33.3333%;
56
- cursor: pointer;
57
- padding: 0 10px 10px;
58
- `
59
-
60
- const VideoMetaGridsWrapper = styled.div`
61
- display: flex;
62
- flex-wrap: wrap;
63
- overflow: auto;
64
- `
65
-
66
- const VideoMetaGridWrapper = styled.div`
67
- flex: 0 0 33.3333%;
68
- cursor: pointer;
69
- padding: 0 10px 10px;
70
- `
71
-
72
- const Video = styled.video`
73
- display: block;
74
- width: 100%;
75
- aspect-ratio: 2;
76
- object-fit: cover;
77
- `
78
-
79
- const SeparationLine = styled.div`
80
- border: #e1e5e9 1px solid;
81
- margin-top: 10px;
82
- margin-bottom: 10px;
83
- `
84
-
85
- const VideoSelected = styled.div`
86
- height: 1.4rem;
87
- `
88
-
89
- const ErrorWrapper = styled.div`
90
- & * {
91
- margin: 0;
92
- }
93
- `
94
-
95
- type ID = string
96
-
97
- export type VideoEntity = {
98
- id: ID
99
- name?: string
100
- urlOriginal: string
101
- youtubeUrl?: string
102
- file: {
103
- filename?: string
104
- filesize: number
105
- url: string
106
- }
107
- heroImage: ImageEntity
108
- }
109
-
110
- export type VideoEntityWithMeta = {
111
- video: VideoEntity
112
- }
113
-
114
- type VideoEntityOnSelectFn = (param: VideoEntity) => void
115
-
116
- function VideosGrids(props: {
117
- videos: VideoEntity[]
118
- selected: VideoEntity[]
119
- onSelect: VideoEntityOnSelectFn
120
- }): React.ReactElement {
121
- const { videos, selected, onSelect } = props
122
-
123
- return (
124
- <VideoGridsWrapper>
125
- {videos.map((video) => {
126
- return (
127
- <VideoGrid
128
- key={video.id}
129
- isSelected={selected?.includes(video)}
130
- onSelect={() => onSelect(video)}
131
- video={video}
132
- />
133
- )
134
- })}
135
- </VideoGridsWrapper>
136
- )
137
- }
138
-
139
- function VideoGrid(props: {
140
- video: VideoEntity
141
- isSelected: boolean
142
- onSelect: VideoEntityOnSelectFn
143
- }) {
144
- const { video, onSelect, isSelected } = props
145
- return (
146
- <VideoGridWrapper key={video?.id} onClick={() => onSelect(video)}>
147
- <VideoSelected>
148
- {isSelected ? <i className="fas fa-check-circle"></i> : null}
149
- </VideoSelected>
150
- <Video muted loop>
151
- <source src={video?.urlOriginal} />
152
- <source src={video?.file?.url} />
153
- </Video>
154
- </VideoGridWrapper>
155
- )
156
- }
157
-
158
- function VideoMetaGrids(props: { videoMetas: VideoEntityWithMeta[] }) {
159
- const { videoMetas } = props
160
- return (
161
- <VideoMetaGridsWrapper>
162
- {videoMetas.map((videoMeta) => (
163
- <VideoMetaGrid key={videoMeta?.video?.id} videoMeta={videoMeta} />
164
- ))}
165
- </VideoMetaGridsWrapper>
166
- )
167
- }
168
-
169
- function VideoMetaGrid(props: {
170
- videoMeta: VideoEntityWithMeta
171
- }): React.ReactElement {
172
- const { videoMeta } = props
173
- const { video } = videoMeta
174
-
175
- return (
176
- <VideoMetaGridWrapper>
177
- <Video muted autoPlay loop>
178
- <source src={video?.urlOriginal} />
179
- <source src={video?.file?.url} />
180
- </Video>
181
- </VideoMetaGridWrapper>
182
- )
183
- }
184
-
185
- type VideoSelectorOnChangeFn = (params: VideoEntityWithMeta[]) => void
186
-
187
- export function VideoSelector(props: { onChange: VideoSelectorOnChangeFn }) {
188
- const [
189
- queryVideos,
190
- { loading, error, data: { videos = [], videosCount = 0 } = {} },
191
- ] = useLazyQuery(videosQuery, { fetchPolicy: 'no-cache' })
192
- const [currentPage, setCurrentPage] = useState(0) // page starts with 1, 0 is used to detect initialization
193
- const [searchText, setSearchText] = useState('')
194
- const [selected, setSelected] = useState<VideoEntityWithMeta[]>([])
195
-
196
- const pageSize = 6
197
-
198
- const { onChange } = props
199
-
200
- const onSave = () => {
201
- onChange(selected)
202
- }
203
-
204
- const onCancel = () => {
205
- onChange([])
206
- }
207
-
208
- const onSearchBoxChange: SearchBoxOnChangeFn = async (searchInput) => {
209
- setSearchText(searchInput)
210
- setCurrentPage(1)
211
- }
212
-
213
- const onVideosGridSelect: VideoEntityOnSelectFn = (videoEntity) => {
214
- setSelected((selected) => {
215
- const filterdSelected = selected.filter(
216
- (ele) => ele.video?.id !== videoEntity.id
217
- )
218
-
219
- // deselect the video
220
- if (filterdSelected.length !== selected.length) {
221
- return filterdSelected
222
- }
223
-
224
- // single select
225
- return [{ video: videoEntity }]
226
- })
227
- }
228
-
229
- const selectedVideos = selected.map((ele: VideoEntityWithMeta) => {
230
- return ele.video
231
- })
232
-
233
- useEffect(() => {
234
- if (currentPage !== 0) {
235
- queryVideos({
236
- variables: {
237
- searchText: searchText,
238
- skip: (currentPage - 1) * pageSize,
239
- take: pageSize,
240
- },
241
- })
242
- }
243
- }, [currentPage, searchText])
244
-
245
- let searchResult = (
246
- <React.Fragment>
247
- <VideosGrids
248
- videos={videos}
249
- selected={selectedVideos}
250
- onSelect={onVideosGridSelect}
251
- />
252
- <Pagination
253
- currentPage={currentPage}
254
- total={videosCount}
255
- pageSize={pageSize}
256
- onChange={(pageIndex) => {
257
- setCurrentPage(pageIndex)
258
- }}
259
- />
260
- </React.Fragment>
261
- )
262
- if (loading) {
263
- searchResult = <p>searching...</p>
264
- }
265
- if (error) {
266
- searchResult = (
267
- <ErrorWrapper>
268
- <h3>Errors occurs in the `videos` query</h3>
269
- <div>
270
- <br />
271
- <b>Message:</b>
272
- <div>{error.message}</div>
273
- <br />
274
- <b>Stack:</b>
275
- <div>{error.stack}</div>
276
- <br />
277
- <b>Query:</b>
278
- <pre>{videosQuery.loc.source.body}</pre>
279
- </div>
280
- </ErrorWrapper>
281
- )
282
- }
283
-
284
- return (
285
- <DrawerController isOpen={true}>
286
- <Drawer
287
- title="Select video"
288
- actions={{
289
- cancel: {
290
- label: 'Cancel',
291
- action: onCancel,
292
- },
293
- confirm: {
294
- label: 'Confirm',
295
- action: onSave,
296
- },
297
- }}
298
- >
299
- <div>
300
- <VideoSearchBox onChange={onSearchBoxChange} />
301
- <VideoSelectionWrapper>
302
- <div>{searchResult}</div>
303
- {!!selected.length && <SeparationLine />}
304
- <VideoMetaGrids videoMetas={selected} />
305
- </VideoSelectionWrapper>
306
- </div>
307
- </Drawer>
308
- </DrawerController>
309
- )
310
- }
@@ -1,77 +0,0 @@
1
- import { EmbeddedCodeBlock } from '../custom/block-renderer/embedded-code-block'
2
- import { MediaBlock } from '../custom/block-renderer/media-block'
3
- import { ImageBlock } from '../custom/block-renderer/image-block'
4
- import { InfoBoxEditorBlock as InfoBoxBlock } from '../custom/block-renderer/info-box-block'
5
- import {
6
- SlideshowBlock,
7
- SlideshowBlockV2,
8
- } from '../custom/block-renderer/slideshow-block'
9
- import { DividerBlock } from '../custom/block-renderer/divider-block'
10
- import { TableEditorBlock as TableBlock } from '../custom/block-renderer/table-block'
11
- import { ColorBoxEditorBlock as ColorBoxBlock } from '../custom/block-renderer/color-box-block'
12
- import { BGImageEditorBlock as BGImageBlock } from '../custom/block-renderer/background-image-block'
13
- import { BGVideoEditorBlock as BGVideoBlock } from '../custom/block-renderer/background-video-block'
14
- import { RelatedPostBlock } from '../custom/block-renderer/related-post-block'
15
- import { SideIndexEditorBlock as SideIndexBlock } from '../custom/block-renderer/side-index-block'
16
-
17
- const AtomicBlock = (props) => {
18
- const entity = props.contentState.getEntity(props.block.getEntityAt(0))
19
-
20
- const entityType = entity.getType()
21
-
22
- switch (entityType) {
23
- case 'audioLink':
24
- case 'imageLink':
25
- case 'videoLink': {
26
- return MediaBlock(entity)
27
- }
28
- case 'image': {
29
- return ImageBlock(entity)
30
- }
31
- case 'slideshow': {
32
- return SlideshowBlock(entity)
33
- }
34
- case 'slideshow-v2': {
35
- return SlideshowBlockV2(entity)
36
- }
37
- case 'EMBEDDEDCODE': {
38
- return EmbeddedCodeBlock(entity)
39
- }
40
- case 'INFOBOX': {
41
- return InfoBoxBlock(props)
42
- }
43
- case 'DIVIDER': {
44
- return DividerBlock()
45
- }
46
- case 'TABLE': {
47
- return TableBlock(props)
48
- }
49
- case 'COLORBOX': {
50
- return ColorBoxBlock(props)
51
- }
52
- case 'BACKGROUNDIMAGE': {
53
- return BGImageBlock(props)
54
- }
55
- case 'BACKGROUNDVIDEO': {
56
- return BGVideoBlock(props)
57
- }
58
- case 'RELATEDPOST': {
59
- return RelatedPostBlock(entity)
60
- }
61
- case 'SIDEINDEX': {
62
- return SideIndexBlock(props)
63
- }
64
- }
65
- return null
66
- }
67
-
68
- export function atomicBlockRenderer(block) {
69
- if (block.getType() === 'atomic') {
70
- return {
71
- component: AtomicBlock,
72
- editable: false,
73
- }
74
- }
75
-
76
- return null
77
- }
@@ -1,7 +0,0 @@
1
- import { CompositeDecorator } from 'draft-js'
2
- import { annotationDecorator } from '../custom/entity-decorator/annotation-decorator'
3
- import { linkDecorator } from '../custom/entity-decorator/link-decorator'
4
-
5
- const decorators = new CompositeDecorator([annotationDecorator, linkDecorator])
6
-
7
- export default decorators