@opentiny/fluent-editor 3.20.2 → 3.20.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 (530) hide show
  1. package/package.json +3 -3
  2. package/dist/package.json +0 -52
  3. package/scripts/pre-release.js +0 -34
  4. package/src/assets/better-table.scss +0 -367
  5. package/src/assets/common.scss +0 -279
  6. package/src/assets/counter.scss +0 -19
  7. package/src/assets/custom-image.scss +0 -20
  8. package/src/assets/editor.scss +0 -365
  9. package/src/assets/emoji/emoji.scss +0 -461
  10. package/src/assets/emoji/style.scss +0 -252
  11. package/src/assets/fileBar.scss +0 -116
  12. package/src/assets/font.scss +0 -36
  13. package/src/assets/fullscreen.scss +0 -21
  14. package/src/assets/iconfont/iconfont.ttf +0 -0
  15. package/src/assets/iconfont/iconfont.woff +0 -0
  16. package/src/assets/iconfont/iconfont.woff2 +0 -0
  17. package/src/assets/image1.png +0 -0
  18. package/src/assets/lineHeight.scss +0 -16
  19. package/src/assets/link.scss +0 -130
  20. package/src/assets/mention.scss +0 -48
  21. package/src/assets/screenshot.scss +0 -78
  22. package/src/assets/size.scss +0 -13
  23. package/src/assets/style.scss +0 -39
  24. package/src/assets/tasklist.scss +0 -76
  25. package/src/assets/toolbar.scss +0 -416
  26. package/src/attributors/font-size.ts +0 -6
  27. package/src/attributors/font-style.ts +0 -6
  28. package/src/attributors/index.ts +0 -4
  29. package/src/attributors/line-height.ts +0 -6
  30. package/src/attributors/text-indent.ts +0 -6
  31. package/src/config/base64-image.ts +0 -8
  32. package/src/config/editor.config.ts +0 -88
  33. package/src/config/editor.utils.ts +0 -199
  34. package/src/config/i18n/en-us.ts +0 -106
  35. package/src/config/i18n/zh-cn.ts +0 -104
  36. package/src/config/icons.config.ts +0 -297
  37. package/src/config/index.ts +0 -171
  38. package/src/config/types/additional-toolbar-item.interface.ts +0 -8
  39. package/src/config/types/content-change.interface.ts +0 -13
  40. package/src/config/types/content-save.interface.ts +0 -6
  41. package/src/config/types/counter-option.interface.ts +0 -9
  42. package/src/config/types/editor-config.interface.ts +0 -22
  43. package/src/config/types/editor-modules.interface.ts +0 -41
  44. package/src/config/types/file-operation.interface.ts +0 -12
  45. package/src/config/types/focus-change.interface.ts +0 -4
  46. package/src/config/types/fullscreen-module.interface.ts +0 -4
  47. package/src/config/types/help-panel-item.interface.ts +0 -5
  48. package/src/config/types/help-panel-option.interface.ts +0 -7
  49. package/src/config/types/image-module.interface.ts +0 -3
  50. package/src/config/types/image-upload.interface.ts +0 -7
  51. package/src/config/types/index.ts +0 -22
  52. package/src/config/types/load-on-demand-module.interface.ts +0 -5
  53. package/src/config/types/mention-module.interface.ts +0 -8
  54. package/src/config/types/paste-change.interface.ts +0 -6
  55. package/src/config/types/quick-menu-module.interface.ts +0 -3
  56. package/src/config/types/range.interface.ts +0 -4
  57. package/src/config/types/registry-options.interface.ts +0 -5
  58. package/src/config/types/selection-change.interface.ts +0 -8
  59. package/src/config/types/toolbar-item.interface.ts +0 -13
  60. package/src/config/types/type.ts +0 -5
  61. package/src/config/types/validate-error.interface.ts +0 -11
  62. package/src/counter/index.ts +0 -69
  63. package/src/custom-clipboard.ts +0 -633
  64. package/src/custom-image/BlotFormatter.ts +0 -167
  65. package/src/custom-image/Options.ts +0 -150
  66. package/src/custom-image/actions/Action.ts +0 -13
  67. package/src/custom-image/actions/CustomResizeAction.ts +0 -207
  68. package/src/custom-image/actions/DeleteAction.ts +0 -29
  69. package/src/custom-image/image.ts +0 -118
  70. package/src/custom-image/specs/BlotSpec.ts +0 -30
  71. package/src/custom-image/specs/CustomImageSpec.ts +0 -139
  72. package/src/custom-image/specs/ImageSpec.ts +0 -33
  73. package/src/custom-uploader.ts +0 -199
  74. package/src/emoji/emoji-list/index.ts +0 -1
  75. package/src/emoji/emoji-list/people.ts +0 -111
  76. package/src/emoji/emoji-list.ts +0 -9
  77. package/src/emoji/emoji-map.ts +0 -9
  78. package/src/emoji/formats/emoji-blot.ts +0 -54
  79. package/src/emoji/index.ts +0 -5
  80. package/src/emoji/modules/emoji.ts +0 -318
  81. package/src/emoji/modules/toolbar-emoji.ts +0 -182
  82. package/src/emoji/utils.ts +0 -15
  83. package/src/file/formats/file.ts +0 -67
  84. package/src/file/index.ts +0 -38
  85. package/src/file/modules/file-bar.ts +0 -146
  86. package/src/fluent-editor.ts +0 -164
  87. package/src/format-painter/index.ts +0 -79
  88. package/src/global-link/constants.ts +0 -3
  89. package/src/global-link/formats/customer-widget-link.ts +0 -36
  90. package/src/global-link/formats/doc-link.ts +0 -55
  91. package/src/global-link/formats/wiki-link.ts +0 -45
  92. package/src/global-link/formats/work-item-link.ts +0 -47
  93. package/src/global-link/global-link-panel.ts +0 -20
  94. package/src/global-link/index.ts +0 -165
  95. package/src/global-link/utils/createTable.ts +0 -54
  96. package/src/index.ts +0 -5
  97. package/src/link/formats/link.ts +0 -44
  98. package/src/link/index.ts +0 -35
  99. package/src/link/modules/tooltip.ts +0 -318
  100. package/src/mention/Mention.ts +0 -406
  101. package/src/mention/MentionLink.ts +0 -51
  102. package/src/mention/constants.ts +0 -3
  103. package/src/quick-menu/index.ts +0 -100
  104. package/src/screenshot/index.ts +0 -231
  105. package/src/soft-break/index.ts +0 -34
  106. package/src/strike/index.ts +0 -16
  107. package/src/syntax/index.ts +0 -35
  108. package/src/table/better-table.ts +0 -553
  109. package/src/table/formats/header.ts +0 -129
  110. package/src/table/formats/list.ts +0 -229
  111. package/src/table/formats/table.ts +0 -1272
  112. package/src/table/modules/table-column-tool.ts +0 -492
  113. package/src/table/modules/table-operation-menu.ts +0 -584
  114. package/src/table/modules/table-scroll-bar.ts +0 -248
  115. package/src/table/modules/table-selection.ts +0 -387
  116. package/src/table/table-config.ts +0 -42
  117. package/src/table/utils/index.ts +0 -62
  118. package/src/table/utils/node-matchers.ts +0 -359
  119. package/src/toolbar/better-picker.ts +0 -370
  120. package/src/toolbar/index.ts +0 -180
  121. package/src/utils/debounce.ts +0 -149
  122. package/src/utils/image.ts +0 -22
  123. package/src/utils/method.ts +0 -82
  124. package/src/utils/scroll-lock.ts +0 -52
  125. package/src/video/index.ts +0 -62
  126. package/tsconfig.json +0 -26
  127. package/vite.config.theme.ts +0 -20
  128. package/vite.config.ts +0 -56
  129. /package/{dist/README.md → README.md} +0 -0
  130. /package/{dist/es → es}/attributors/font-size.es.js +0 -0
  131. /package/{dist/es → es}/attributors/font-size.es.js.map +0 -0
  132. /package/{dist/es → es}/attributors/font-style.es.js +0 -0
  133. /package/{dist/es → es}/attributors/font-style.es.js.map +0 -0
  134. /package/{dist/es → es}/attributors/index.es.js +0 -0
  135. /package/{dist/es → es}/attributors/index.es.js.map +0 -0
  136. /package/{dist/es → es}/attributors/line-height.es.js +0 -0
  137. /package/{dist/es → es}/attributors/line-height.es.js.map +0 -0
  138. /package/{dist/es → es}/attributors/text-indent.es.js +0 -0
  139. /package/{dist/es → es}/attributors/text-indent.es.js.map +0 -0
  140. /package/{dist/es → es}/config/base64-image.es.js +0 -0
  141. /package/{dist/es → es}/config/base64-image.es.js.map +0 -0
  142. /package/{dist/es → es}/config/editor.config.es.js +0 -0
  143. /package/{dist/es → es}/config/editor.config.es.js.map +0 -0
  144. /package/{dist/es → es}/config/editor.utils.es.js +0 -0
  145. /package/{dist/es → es}/config/editor.utils.es.js.map +0 -0
  146. /package/{dist/es → es}/config/i18n/en-us.es.js +0 -0
  147. /package/{dist/es → es}/config/i18n/en-us.es.js.map +0 -0
  148. /package/{dist/es → es}/config/i18n/zh-cn.es.js +0 -0
  149. /package/{dist/es → es}/config/i18n/zh-cn.es.js.map +0 -0
  150. /package/{dist/es → es}/config/icons.config.es.js +0 -0
  151. /package/{dist/es → es}/config/icons.config.es.js.map +0 -0
  152. /package/{dist/es → es}/config/index.es.js +0 -0
  153. /package/{dist/es → es}/config/index.es.js.map +0 -0
  154. /package/{dist/es → es}/config/types/additional-toolbar-item.interface.es.js +0 -0
  155. /package/{dist/es → es}/config/types/additional-toolbar-item.interface.es.js.map +0 -0
  156. /package/{dist/es → es}/config/types/content-change.interface.es.js +0 -0
  157. /package/{dist/es → es}/config/types/content-change.interface.es.js.map +0 -0
  158. /package/{dist/es → es}/config/types/content-save.interface.es.js +0 -0
  159. /package/{dist/es → es}/config/types/content-save.interface.es.js.map +0 -0
  160. /package/{dist/es → es}/config/types/counter-option.interface.es.js +0 -0
  161. /package/{dist/es → es}/config/types/counter-option.interface.es.js.map +0 -0
  162. /package/{dist/es → es}/config/types/editor-config.interface.es.js +0 -0
  163. /package/{dist/es → es}/config/types/editor-config.interface.es.js.map +0 -0
  164. /package/{dist/es → es}/config/types/editor-modules.interface.es.js +0 -0
  165. /package/{dist/es → es}/config/types/editor-modules.interface.es.js.map +0 -0
  166. /package/{dist/es → es}/config/types/file-operation.interface.es.js +0 -0
  167. /package/{dist/es → es}/config/types/file-operation.interface.es.js.map +0 -0
  168. /package/{dist/es → es}/config/types/focus-change.interface.es.js +0 -0
  169. /package/{dist/es → es}/config/types/focus-change.interface.es.js.map +0 -0
  170. /package/{dist/es → es}/config/types/fullscreen-module.interface.es.js +0 -0
  171. /package/{dist/es → es}/config/types/fullscreen-module.interface.es.js.map +0 -0
  172. /package/{dist/es → es}/config/types/help-panel-item.interface.es.js +0 -0
  173. /package/{dist/es → es}/config/types/help-panel-item.interface.es.js.map +0 -0
  174. /package/{dist/es → es}/config/types/help-panel-option.interface.es.js +0 -0
  175. /package/{dist/es → es}/config/types/help-panel-option.interface.es.js.map +0 -0
  176. /package/{dist/es → es}/config/types/image-module.interface.es.js +0 -0
  177. /package/{dist/es → es}/config/types/image-module.interface.es.js.map +0 -0
  178. /package/{dist/es → es}/config/types/image-upload.interface.es.js +0 -0
  179. /package/{dist/es → es}/config/types/image-upload.interface.es.js.map +0 -0
  180. /package/{dist/es → es}/config/types/index.es.js +0 -0
  181. /package/{dist/es → es}/config/types/index.es.js.map +0 -0
  182. /package/{dist/es → es}/config/types/load-on-demand-module.interface.es.js +0 -0
  183. /package/{dist/es → es}/config/types/load-on-demand-module.interface.es.js.map +0 -0
  184. /package/{dist/es → es}/config/types/mention-module.interface.es.js +0 -0
  185. /package/{dist/es → es}/config/types/mention-module.interface.es.js.map +0 -0
  186. /package/{dist/es → es}/config/types/paste-change.interface.es.js +0 -0
  187. /package/{dist/es → es}/config/types/paste-change.interface.es.js.map +0 -0
  188. /package/{dist/es → es}/config/types/quick-menu-module.interface.es.js +0 -0
  189. /package/{dist/es → es}/config/types/quick-menu-module.interface.es.js.map +0 -0
  190. /package/{dist/es → es}/config/types/range.interface.es.js +0 -0
  191. /package/{dist/es → es}/config/types/range.interface.es.js.map +0 -0
  192. /package/{dist/es → es}/config/types/registry-options.interface.es.js +0 -0
  193. /package/{dist/es → es}/config/types/registry-options.interface.es.js.map +0 -0
  194. /package/{dist/es → es}/config/types/selection-change.interface.es.js +0 -0
  195. /package/{dist/es → es}/config/types/selection-change.interface.es.js.map +0 -0
  196. /package/{dist/es → es}/config/types/toolbar-item.interface.es.js +0 -0
  197. /package/{dist/es → es}/config/types/toolbar-item.interface.es.js.map +0 -0
  198. /package/{dist/es → es}/config/types/type.es.js +0 -0
  199. /package/{dist/es → es}/config/types/type.es.js.map +0 -0
  200. /package/{dist/es → es}/config/types/validate-error.interface.es.js +0 -0
  201. /package/{dist/es → es}/config/types/validate-error.interface.es.js.map +0 -0
  202. /package/{dist/es → es}/counter/index.es.js +0 -0
  203. /package/{dist/es → es}/counter/index.es.js.map +0 -0
  204. /package/{dist/es → es}/custom-clipboard.es.js +0 -0
  205. /package/{dist/es → es}/custom-clipboard.es.js.map +0 -0
  206. /package/{dist/es → es}/custom-image/BlotFormatter.es.js +0 -0
  207. /package/{dist/es → es}/custom-image/BlotFormatter.es.js.map +0 -0
  208. /package/{dist/es → es}/custom-image/Options.es.js +0 -0
  209. /package/{dist/es → es}/custom-image/Options.es.js.map +0 -0
  210. /package/{dist/es → es}/custom-image/actions/Action.es.js +0 -0
  211. /package/{dist/es → es}/custom-image/actions/Action.es.js.map +0 -0
  212. /package/{dist/es → es}/custom-image/actions/CustomResizeAction.es.js +0 -0
  213. /package/{dist/es → es}/custom-image/actions/CustomResizeAction.es.js.map +0 -0
  214. /package/{dist/es → es}/custom-image/actions/DeleteAction.es.js +0 -0
  215. /package/{dist/es → es}/custom-image/actions/DeleteAction.es.js.map +0 -0
  216. /package/{dist/es → es}/custom-image/image.es.js +0 -0
  217. /package/{dist/es → es}/custom-image/image.es.js.map +0 -0
  218. /package/{dist/es → es}/custom-image/specs/BlotSpec.es.js +0 -0
  219. /package/{dist/es → es}/custom-image/specs/BlotSpec.es.js.map +0 -0
  220. /package/{dist/es → es}/custom-image/specs/CustomImageSpec.es.js +0 -0
  221. /package/{dist/es → es}/custom-image/specs/CustomImageSpec.es.js.map +0 -0
  222. /package/{dist/es → es}/custom-image/specs/ImageSpec.es.js +0 -0
  223. /package/{dist/es → es}/custom-image/specs/ImageSpec.es.js.map +0 -0
  224. /package/{dist/es → es}/custom-uploader.es.js +0 -0
  225. /package/{dist/es → es}/custom-uploader.es.js.map +0 -0
  226. /package/{dist/es → es}/emoji/emoji-list/index.es.js +0 -0
  227. /package/{dist/es → es}/emoji/emoji-list/index.es.js.map +0 -0
  228. /package/{dist/es → es}/emoji/emoji-list/people.es.js +0 -0
  229. /package/{dist/es → es}/emoji/emoji-list/people.es.js.map +0 -0
  230. /package/{dist/es → es}/emoji/emoji-list.es.js +0 -0
  231. /package/{dist/es → es}/emoji/emoji-list.es.js.map +0 -0
  232. /package/{dist/es → es}/emoji/emoji-map.es.js +0 -0
  233. /package/{dist/es → es}/emoji/emoji-map.es.js.map +0 -0
  234. /package/{dist/es → es}/emoji/formats/emoji-blot.es.js +0 -0
  235. /package/{dist/es → es}/emoji/formats/emoji-blot.es.js.map +0 -0
  236. /package/{dist/es → es}/emoji/index.es.js +0 -0
  237. /package/{dist/es → es}/emoji/index.es.js.map +0 -0
  238. /package/{dist/es → es}/emoji/modules/emoji.es.js +0 -0
  239. /package/{dist/es → es}/emoji/modules/emoji.es.js.map +0 -0
  240. /package/{dist/es → es}/emoji/modules/toolbar-emoji.es.js +0 -0
  241. /package/{dist/es → es}/emoji/modules/toolbar-emoji.es.js.map +0 -0
  242. /package/{dist/es → es}/emoji/utils.es.js +0 -0
  243. /package/{dist/es → es}/emoji/utils.es.js.map +0 -0
  244. /package/{dist/es → es}/file/formats/file.es.js +0 -0
  245. /package/{dist/es → es}/file/formats/file.es.js.map +0 -0
  246. /package/{dist/es → es}/file/index.es.js +0 -0
  247. /package/{dist/es → es}/file/index.es.js.map +0 -0
  248. /package/{dist/es → es}/file/modules/file-bar.es.js +0 -0
  249. /package/{dist/es → es}/file/modules/file-bar.es.js.map +0 -0
  250. /package/{dist/es → es}/fluent-editor.es.js +0 -0
  251. /package/{dist/es → es}/fluent-editor.es.js.map +0 -0
  252. /package/{dist/es → es}/format-painter/index.es.js +0 -0
  253. /package/{dist/es → es}/format-painter/index.es.js.map +0 -0
  254. /package/{dist/es → es}/global-link/constants.es.js +0 -0
  255. /package/{dist/es → es}/global-link/constants.es.js.map +0 -0
  256. /package/{dist/es → es}/global-link/formats/customer-widget-link.es.js +0 -0
  257. /package/{dist/es → es}/global-link/formats/customer-widget-link.es.js.map +0 -0
  258. /package/{dist/es → es}/global-link/formats/doc-link.es.js +0 -0
  259. /package/{dist/es → es}/global-link/formats/doc-link.es.js.map +0 -0
  260. /package/{dist/es → es}/global-link/formats/wiki-link.es.js +0 -0
  261. /package/{dist/es → es}/global-link/formats/wiki-link.es.js.map +0 -0
  262. /package/{dist/es → es}/global-link/formats/work-item-link.es.js +0 -0
  263. /package/{dist/es → es}/global-link/formats/work-item-link.es.js.map +0 -0
  264. /package/{dist/es → es}/global-link/global-link-panel.es.js +0 -0
  265. /package/{dist/es → es}/global-link/global-link-panel.es.js.map +0 -0
  266. /package/{dist/es → es}/global-link/index.es.js +0 -0
  267. /package/{dist/es → es}/global-link/index.es.js.map +0 -0
  268. /package/{dist/es → es}/global-link/utils/createTable.es.js +0 -0
  269. /package/{dist/es → es}/global-link/utils/createTable.es.js.map +0 -0
  270. /package/{dist/es → es}/index.es.js +0 -0
  271. /package/{dist/es → es}/index.es.js.map +0 -0
  272. /package/{dist/es → es}/link/formats/link.es.js +0 -0
  273. /package/{dist/es → es}/link/formats/link.es.js.map +0 -0
  274. /package/{dist/es → es}/link/index.es.js +0 -0
  275. /package/{dist/es → es}/link/index.es.js.map +0 -0
  276. /package/{dist/es → es}/link/modules/tooltip.es.js +0 -0
  277. /package/{dist/es → es}/link/modules/tooltip.es.js.map +0 -0
  278. /package/{dist/es → es}/mention/Mention.es.js +0 -0
  279. /package/{dist/es → es}/mention/Mention.es.js.map +0 -0
  280. /package/{dist/es → es}/mention/MentionLink.es.js +0 -0
  281. /package/{dist/es → es}/mention/MentionLink.es.js.map +0 -0
  282. /package/{dist/es → es}/mention/constants.es.js +0 -0
  283. /package/{dist/es → es}/mention/constants.es.js.map +0 -0
  284. /package/{dist/es → es}/quick-menu/index.es.js +0 -0
  285. /package/{dist/es → es}/quick-menu/index.es.js.map +0 -0
  286. /package/{dist/es → es}/screenshot/index.es.js +0 -0
  287. /package/{dist/es → es}/screenshot/index.es.js.map +0 -0
  288. /package/{dist/es → es}/soft-break/index.es.js +0 -0
  289. /package/{dist/es → es}/soft-break/index.es.js.map +0 -0
  290. /package/{dist/es → es}/strike/index.es.js +0 -0
  291. /package/{dist/es → es}/strike/index.es.js.map +0 -0
  292. /package/{dist/es → es}/syntax/index.es.js +0 -0
  293. /package/{dist/es → es}/syntax/index.es.js.map +0 -0
  294. /package/{dist/es → es}/table/better-table.es.js +0 -0
  295. /package/{dist/es → es}/table/better-table.es.js.map +0 -0
  296. /package/{dist/es → es}/table/formats/header.es.js +0 -0
  297. /package/{dist/es → es}/table/formats/header.es.js.map +0 -0
  298. /package/{dist/es → es}/table/formats/list.es.js +0 -0
  299. /package/{dist/es → es}/table/formats/list.es.js.map +0 -0
  300. /package/{dist/es → es}/table/formats/table.es.js +0 -0
  301. /package/{dist/es → es}/table/formats/table.es.js.map +0 -0
  302. /package/{dist/es → es}/table/modules/table-column-tool.es.js +0 -0
  303. /package/{dist/es → es}/table/modules/table-column-tool.es.js.map +0 -0
  304. /package/{dist/es → es}/table/modules/table-operation-menu.es.js +0 -0
  305. /package/{dist/es → es}/table/modules/table-operation-menu.es.js.map +0 -0
  306. /package/{dist/es → es}/table/modules/table-scroll-bar.es.js +0 -0
  307. /package/{dist/es → es}/table/modules/table-scroll-bar.es.js.map +0 -0
  308. /package/{dist/es → es}/table/modules/table-selection.es.js +0 -0
  309. /package/{dist/es → es}/table/modules/table-selection.es.js.map +0 -0
  310. /package/{dist/es → es}/table/table-config.es.js +0 -0
  311. /package/{dist/es → es}/table/table-config.es.js.map +0 -0
  312. /package/{dist/es → es}/table/utils/index.es.js +0 -0
  313. /package/{dist/es → es}/table/utils/index.es.js.map +0 -0
  314. /package/{dist/es → es}/table/utils/node-matchers.es.js +0 -0
  315. /package/{dist/es → es}/table/utils/node-matchers.es.js.map +0 -0
  316. /package/{dist/es → es}/toolbar/better-picker.es.js +0 -0
  317. /package/{dist/es → es}/toolbar/better-picker.es.js.map +0 -0
  318. /package/{dist/es → es}/toolbar/index.es.js +0 -0
  319. /package/{dist/es → es}/toolbar/index.es.js.map +0 -0
  320. /package/{dist/es → es}/utils/debounce.es.js +0 -0
  321. /package/{dist/es → es}/utils/debounce.es.js.map +0 -0
  322. /package/{dist/es → es}/utils/image.es.js +0 -0
  323. /package/{dist/es → es}/utils/image.es.js.map +0 -0
  324. /package/{dist/es → es}/utils/method.es.js +0 -0
  325. /package/{dist/es → es}/utils/method.es.js.map +0 -0
  326. /package/{dist/es → es}/utils/scroll-lock.es.js +0 -0
  327. /package/{dist/es → es}/utils/scroll-lock.es.js.map +0 -0
  328. /package/{dist/es → es}/video/index.es.js +0 -0
  329. /package/{dist/es → es}/video/index.es.js.map +0 -0
  330. /package/{dist/lib → lib}/attributors/font-size.cjs.js +0 -0
  331. /package/{dist/lib → lib}/attributors/font-size.cjs.js.map +0 -0
  332. /package/{dist/lib → lib}/attributors/font-style.cjs.js +0 -0
  333. /package/{dist/lib → lib}/attributors/font-style.cjs.js.map +0 -0
  334. /package/{dist/lib → lib}/attributors/index.cjs.js +0 -0
  335. /package/{dist/lib → lib}/attributors/index.cjs.js.map +0 -0
  336. /package/{dist/lib → lib}/attributors/line-height.cjs.js +0 -0
  337. /package/{dist/lib → lib}/attributors/line-height.cjs.js.map +0 -0
  338. /package/{dist/lib → lib}/attributors/text-indent.cjs.js +0 -0
  339. /package/{dist/lib → lib}/attributors/text-indent.cjs.js.map +0 -0
  340. /package/{dist/lib → lib}/config/base64-image.cjs.js +0 -0
  341. /package/{dist/lib → lib}/config/base64-image.cjs.js.map +0 -0
  342. /package/{dist/lib → lib}/config/editor.config.cjs.js +0 -0
  343. /package/{dist/lib → lib}/config/editor.config.cjs.js.map +0 -0
  344. /package/{dist/lib → lib}/config/editor.utils.cjs.js +0 -0
  345. /package/{dist/lib → lib}/config/editor.utils.cjs.js.map +0 -0
  346. /package/{dist/lib → lib}/config/i18n/en-us.cjs.js +0 -0
  347. /package/{dist/lib → lib}/config/i18n/en-us.cjs.js.map +0 -0
  348. /package/{dist/lib → lib}/config/i18n/zh-cn.cjs.js +0 -0
  349. /package/{dist/lib → lib}/config/i18n/zh-cn.cjs.js.map +0 -0
  350. /package/{dist/lib → lib}/config/icons.config.cjs.js +0 -0
  351. /package/{dist/lib → lib}/config/icons.config.cjs.js.map +0 -0
  352. /package/{dist/lib → lib}/config/index.cjs.js +0 -0
  353. /package/{dist/lib → lib}/config/index.cjs.js.map +0 -0
  354. /package/{dist/lib → lib}/config/types/additional-toolbar-item.interface.cjs.js +0 -0
  355. /package/{dist/lib → lib}/config/types/additional-toolbar-item.interface.cjs.js.map +0 -0
  356. /package/{dist/lib → lib}/config/types/content-change.interface.cjs.js +0 -0
  357. /package/{dist/lib → lib}/config/types/content-change.interface.cjs.js.map +0 -0
  358. /package/{dist/lib → lib}/config/types/content-save.interface.cjs.js +0 -0
  359. /package/{dist/lib → lib}/config/types/content-save.interface.cjs.js.map +0 -0
  360. /package/{dist/lib → lib}/config/types/counter-option.interface.cjs.js +0 -0
  361. /package/{dist/lib → lib}/config/types/counter-option.interface.cjs.js.map +0 -0
  362. /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js +0 -0
  363. /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js.map +0 -0
  364. /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js +0 -0
  365. /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
  366. /package/{dist/lib → lib}/config/types/file-operation.interface.cjs.js +0 -0
  367. /package/{dist/lib → lib}/config/types/file-operation.interface.cjs.js.map +0 -0
  368. /package/{dist/lib → lib}/config/types/focus-change.interface.cjs.js +0 -0
  369. /package/{dist/lib → lib}/config/types/focus-change.interface.cjs.js.map +0 -0
  370. /package/{dist/lib → lib}/config/types/fullscreen-module.interface.cjs.js +0 -0
  371. /package/{dist/lib → lib}/config/types/fullscreen-module.interface.cjs.js.map +0 -0
  372. /package/{dist/lib → lib}/config/types/help-panel-item.interface.cjs.js +0 -0
  373. /package/{dist/lib → lib}/config/types/help-panel-item.interface.cjs.js.map +0 -0
  374. /package/{dist/lib → lib}/config/types/help-panel-option.interface.cjs.js +0 -0
  375. /package/{dist/lib → lib}/config/types/help-panel-option.interface.cjs.js.map +0 -0
  376. /package/{dist/lib → lib}/config/types/image-module.interface.cjs.js +0 -0
  377. /package/{dist/lib → lib}/config/types/image-module.interface.cjs.js.map +0 -0
  378. /package/{dist/lib → lib}/config/types/image-upload.interface.cjs.js +0 -0
  379. /package/{dist/lib → lib}/config/types/image-upload.interface.cjs.js.map +0 -0
  380. /package/{dist/lib → lib}/config/types/index.cjs.js +0 -0
  381. /package/{dist/lib → lib}/config/types/index.cjs.js.map +0 -0
  382. /package/{dist/lib → lib}/config/types/load-on-demand-module.interface.cjs.js +0 -0
  383. /package/{dist/lib → lib}/config/types/load-on-demand-module.interface.cjs.js.map +0 -0
  384. /package/{dist/lib → lib}/config/types/mention-module.interface.cjs.js +0 -0
  385. /package/{dist/lib → lib}/config/types/mention-module.interface.cjs.js.map +0 -0
  386. /package/{dist/lib → lib}/config/types/paste-change.interface.cjs.js +0 -0
  387. /package/{dist/lib → lib}/config/types/paste-change.interface.cjs.js.map +0 -0
  388. /package/{dist/lib → lib}/config/types/quick-menu-module.interface.cjs.js +0 -0
  389. /package/{dist/lib → lib}/config/types/quick-menu-module.interface.cjs.js.map +0 -0
  390. /package/{dist/lib → lib}/config/types/range.interface.cjs.js +0 -0
  391. /package/{dist/lib → lib}/config/types/range.interface.cjs.js.map +0 -0
  392. /package/{dist/lib → lib}/config/types/registry-options.interface.cjs.js +0 -0
  393. /package/{dist/lib → lib}/config/types/registry-options.interface.cjs.js.map +0 -0
  394. /package/{dist/lib → lib}/config/types/selection-change.interface.cjs.js +0 -0
  395. /package/{dist/lib → lib}/config/types/selection-change.interface.cjs.js.map +0 -0
  396. /package/{dist/lib → lib}/config/types/toolbar-item.interface.cjs.js +0 -0
  397. /package/{dist/lib → lib}/config/types/toolbar-item.interface.cjs.js.map +0 -0
  398. /package/{dist/lib → lib}/config/types/type.cjs.js +0 -0
  399. /package/{dist/lib → lib}/config/types/type.cjs.js.map +0 -0
  400. /package/{dist/lib → lib}/config/types/validate-error.interface.cjs.js +0 -0
  401. /package/{dist/lib → lib}/config/types/validate-error.interface.cjs.js.map +0 -0
  402. /package/{dist/lib → lib}/counter/index.cjs.js +0 -0
  403. /package/{dist/lib → lib}/counter/index.cjs.js.map +0 -0
  404. /package/{dist/lib → lib}/custom-clipboard.cjs.js +0 -0
  405. /package/{dist/lib → lib}/custom-clipboard.cjs.js.map +0 -0
  406. /package/{dist/lib → lib}/custom-image/BlotFormatter.cjs.js +0 -0
  407. /package/{dist/lib → lib}/custom-image/BlotFormatter.cjs.js.map +0 -0
  408. /package/{dist/lib → lib}/custom-image/Options.cjs.js +0 -0
  409. /package/{dist/lib → lib}/custom-image/Options.cjs.js.map +0 -0
  410. /package/{dist/lib → lib}/custom-image/actions/Action.cjs.js +0 -0
  411. /package/{dist/lib → lib}/custom-image/actions/Action.cjs.js.map +0 -0
  412. /package/{dist/lib → lib}/custom-image/actions/CustomResizeAction.cjs.js +0 -0
  413. /package/{dist/lib → lib}/custom-image/actions/CustomResizeAction.cjs.js.map +0 -0
  414. /package/{dist/lib → lib}/custom-image/actions/DeleteAction.cjs.js +0 -0
  415. /package/{dist/lib → lib}/custom-image/actions/DeleteAction.cjs.js.map +0 -0
  416. /package/{dist/lib → lib}/custom-image/image.cjs.js +0 -0
  417. /package/{dist/lib → lib}/custom-image/image.cjs.js.map +0 -0
  418. /package/{dist/lib → lib}/custom-image/specs/BlotSpec.cjs.js +0 -0
  419. /package/{dist/lib → lib}/custom-image/specs/BlotSpec.cjs.js.map +0 -0
  420. /package/{dist/lib → lib}/custom-image/specs/CustomImageSpec.cjs.js +0 -0
  421. /package/{dist/lib → lib}/custom-image/specs/CustomImageSpec.cjs.js.map +0 -0
  422. /package/{dist/lib → lib}/custom-image/specs/ImageSpec.cjs.js +0 -0
  423. /package/{dist/lib → lib}/custom-image/specs/ImageSpec.cjs.js.map +0 -0
  424. /package/{dist/lib → lib}/custom-uploader.cjs.js +0 -0
  425. /package/{dist/lib → lib}/custom-uploader.cjs.js.map +0 -0
  426. /package/{dist/lib → lib}/emoji/emoji-list/index.cjs.js +0 -0
  427. /package/{dist/lib → lib}/emoji/emoji-list/index.cjs.js.map +0 -0
  428. /package/{dist/lib → lib}/emoji/emoji-list/people.cjs.js +0 -0
  429. /package/{dist/lib → lib}/emoji/emoji-list/people.cjs.js.map +0 -0
  430. /package/{dist/lib → lib}/emoji/emoji-list.cjs.js +0 -0
  431. /package/{dist/lib → lib}/emoji/emoji-list.cjs.js.map +0 -0
  432. /package/{dist/lib → lib}/emoji/emoji-map.cjs.js +0 -0
  433. /package/{dist/lib → lib}/emoji/emoji-map.cjs.js.map +0 -0
  434. /package/{dist/lib → lib}/emoji/formats/emoji-blot.cjs.js +0 -0
  435. /package/{dist/lib → lib}/emoji/formats/emoji-blot.cjs.js.map +0 -0
  436. /package/{dist/lib → lib}/emoji/index.cjs.js +0 -0
  437. /package/{dist/lib → lib}/emoji/index.cjs.js.map +0 -0
  438. /package/{dist/lib → lib}/emoji/modules/emoji.cjs.js +0 -0
  439. /package/{dist/lib → lib}/emoji/modules/emoji.cjs.js.map +0 -0
  440. /package/{dist/lib → lib}/emoji/modules/toolbar-emoji.cjs.js +0 -0
  441. /package/{dist/lib → lib}/emoji/modules/toolbar-emoji.cjs.js.map +0 -0
  442. /package/{dist/lib → lib}/emoji/utils.cjs.js +0 -0
  443. /package/{dist/lib → lib}/emoji/utils.cjs.js.map +0 -0
  444. /package/{dist/lib → lib}/file/formats/file.cjs.js +0 -0
  445. /package/{dist/lib → lib}/file/formats/file.cjs.js.map +0 -0
  446. /package/{dist/lib → lib}/file/index.cjs.js +0 -0
  447. /package/{dist/lib → lib}/file/index.cjs.js.map +0 -0
  448. /package/{dist/lib → lib}/file/modules/file-bar.cjs.js +0 -0
  449. /package/{dist/lib → lib}/file/modules/file-bar.cjs.js.map +0 -0
  450. /package/{dist/lib → lib}/fluent-editor.cjs.js +0 -0
  451. /package/{dist/lib → lib}/fluent-editor.cjs.js.map +0 -0
  452. /package/{dist/lib → lib}/format-painter/index.cjs.js +0 -0
  453. /package/{dist/lib → lib}/format-painter/index.cjs.js.map +0 -0
  454. /package/{dist/lib → lib}/global-link/constants.cjs.js +0 -0
  455. /package/{dist/lib → lib}/global-link/constants.cjs.js.map +0 -0
  456. /package/{dist/lib → lib}/global-link/formats/customer-widget-link.cjs.js +0 -0
  457. /package/{dist/lib → lib}/global-link/formats/customer-widget-link.cjs.js.map +0 -0
  458. /package/{dist/lib → lib}/global-link/formats/doc-link.cjs.js +0 -0
  459. /package/{dist/lib → lib}/global-link/formats/doc-link.cjs.js.map +0 -0
  460. /package/{dist/lib → lib}/global-link/formats/wiki-link.cjs.js +0 -0
  461. /package/{dist/lib → lib}/global-link/formats/wiki-link.cjs.js.map +0 -0
  462. /package/{dist/lib → lib}/global-link/formats/work-item-link.cjs.js +0 -0
  463. /package/{dist/lib → lib}/global-link/formats/work-item-link.cjs.js.map +0 -0
  464. /package/{dist/lib → lib}/global-link/global-link-panel.cjs.js +0 -0
  465. /package/{dist/lib → lib}/global-link/global-link-panel.cjs.js.map +0 -0
  466. /package/{dist/lib → lib}/global-link/index.cjs.js +0 -0
  467. /package/{dist/lib → lib}/global-link/index.cjs.js.map +0 -0
  468. /package/{dist/lib → lib}/global-link/utils/createTable.cjs.js +0 -0
  469. /package/{dist/lib → lib}/global-link/utils/createTable.cjs.js.map +0 -0
  470. /package/{dist/lib → lib}/index.cjs.js +0 -0
  471. /package/{dist/lib → lib}/index.cjs.js.map +0 -0
  472. /package/{dist/lib → lib}/link/formats/link.cjs.js +0 -0
  473. /package/{dist/lib → lib}/link/formats/link.cjs.js.map +0 -0
  474. /package/{dist/lib → lib}/link/index.cjs.js +0 -0
  475. /package/{dist/lib → lib}/link/index.cjs.js.map +0 -0
  476. /package/{dist/lib → lib}/link/modules/tooltip.cjs.js +0 -0
  477. /package/{dist/lib → lib}/link/modules/tooltip.cjs.js.map +0 -0
  478. /package/{dist/lib → lib}/mention/Mention.cjs.js +0 -0
  479. /package/{dist/lib → lib}/mention/Mention.cjs.js.map +0 -0
  480. /package/{dist/lib → lib}/mention/MentionLink.cjs.js +0 -0
  481. /package/{dist/lib → lib}/mention/MentionLink.cjs.js.map +0 -0
  482. /package/{dist/lib → lib}/mention/constants.cjs.js +0 -0
  483. /package/{dist/lib → lib}/mention/constants.cjs.js.map +0 -0
  484. /package/{dist/lib → lib}/quick-menu/index.cjs.js +0 -0
  485. /package/{dist/lib → lib}/quick-menu/index.cjs.js.map +0 -0
  486. /package/{dist/lib → lib}/screenshot/index.cjs.js +0 -0
  487. /package/{dist/lib → lib}/screenshot/index.cjs.js.map +0 -0
  488. /package/{dist/lib → lib}/soft-break/index.cjs.js +0 -0
  489. /package/{dist/lib → lib}/soft-break/index.cjs.js.map +0 -0
  490. /package/{dist/lib → lib}/strike/index.cjs.js +0 -0
  491. /package/{dist/lib → lib}/strike/index.cjs.js.map +0 -0
  492. /package/{dist/lib → lib}/syntax/index.cjs.js +0 -0
  493. /package/{dist/lib → lib}/syntax/index.cjs.js.map +0 -0
  494. /package/{dist/lib → lib}/table/better-table.cjs.js +0 -0
  495. /package/{dist/lib → lib}/table/better-table.cjs.js.map +0 -0
  496. /package/{dist/lib → lib}/table/formats/header.cjs.js +0 -0
  497. /package/{dist/lib → lib}/table/formats/header.cjs.js.map +0 -0
  498. /package/{dist/lib → lib}/table/formats/list.cjs.js +0 -0
  499. /package/{dist/lib → lib}/table/formats/list.cjs.js.map +0 -0
  500. /package/{dist/lib → lib}/table/formats/table.cjs.js +0 -0
  501. /package/{dist/lib → lib}/table/formats/table.cjs.js.map +0 -0
  502. /package/{dist/lib → lib}/table/modules/table-column-tool.cjs.js +0 -0
  503. /package/{dist/lib → lib}/table/modules/table-column-tool.cjs.js.map +0 -0
  504. /package/{dist/lib → lib}/table/modules/table-operation-menu.cjs.js +0 -0
  505. /package/{dist/lib → lib}/table/modules/table-operation-menu.cjs.js.map +0 -0
  506. /package/{dist/lib → lib}/table/modules/table-scroll-bar.cjs.js +0 -0
  507. /package/{dist/lib → lib}/table/modules/table-scroll-bar.cjs.js.map +0 -0
  508. /package/{dist/lib → lib}/table/modules/table-selection.cjs.js +0 -0
  509. /package/{dist/lib → lib}/table/modules/table-selection.cjs.js.map +0 -0
  510. /package/{dist/lib → lib}/table/table-config.cjs.js +0 -0
  511. /package/{dist/lib → lib}/table/table-config.cjs.js.map +0 -0
  512. /package/{dist/lib → lib}/table/utils/index.cjs.js +0 -0
  513. /package/{dist/lib → lib}/table/utils/index.cjs.js.map +0 -0
  514. /package/{dist/lib → lib}/table/utils/node-matchers.cjs.js +0 -0
  515. /package/{dist/lib → lib}/table/utils/node-matchers.cjs.js.map +0 -0
  516. /package/{dist/lib → lib}/toolbar/better-picker.cjs.js +0 -0
  517. /package/{dist/lib → lib}/toolbar/better-picker.cjs.js.map +0 -0
  518. /package/{dist/lib → lib}/toolbar/index.cjs.js +0 -0
  519. /package/{dist/lib → lib}/toolbar/index.cjs.js.map +0 -0
  520. /package/{dist/lib → lib}/utils/debounce.cjs.js +0 -0
  521. /package/{dist/lib → lib}/utils/debounce.cjs.js.map +0 -0
  522. /package/{dist/lib → lib}/utils/image.cjs.js +0 -0
  523. /package/{dist/lib → lib}/utils/image.cjs.js.map +0 -0
  524. /package/{dist/lib → lib}/utils/method.cjs.js +0 -0
  525. /package/{dist/lib → lib}/utils/method.cjs.js.map +0 -0
  526. /package/{dist/lib → lib}/utils/scroll-lock.cjs.js +0 -0
  527. /package/{dist/lib → lib}/utils/scroll-lock.cjs.js.map +0 -0
  528. /package/{dist/lib → lib}/video/index.cjs.js +0 -0
  529. /package/{dist/lib → lib}/video/index.cjs.js.map +0 -0
  530. /package/{dist/style.css → style.css} +0 -0
@@ -1,165 +0,0 @@
1
- import Quill from 'quill'
2
- import { getEventComposedPath } from '../config/editor.utils'
3
- import CustomerWidgetLink from './formats/customer-widget-link'
4
- import DocumentLink from './formats/doc-link'
5
- import WikiLink from './formats/wiki-link'
6
- import WorkItemLink from './formats/work-item-link'
7
-
8
- const Module = Quill.imports['core/module']
9
- const Delta = Quill.imports.delta
10
-
11
- // @dynamic
12
- class GlobalLink extends Module {
13
- open: boolean
14
- wrap: any
15
- panel: any
16
- quill: any
17
-
18
- static register() {
19
- Quill.register('formats/wiki-link', WikiLink)
20
- Quill.register('formats/doc-link', DocumentLink)
21
- Quill.register('formats/work-item-link', WorkItemLink)
22
- Quill.register('formats/customer-widget-link', CustomerWidgetLink)
23
- }
24
-
25
- constructor(quill, options) {
26
- super(quill, options)
27
- const toolbar = quill.getModule('toolbar')
28
- this.open = false
29
- this.panel = options.component
30
- this.wrap = options.wrap
31
- const globalLinkBtn = toolbar.container && toolbar.container.querySelector('.ql-global-link')
32
- toolbar.addHandler('global-link', this.handleGlobalLinkButtonClick.bind(this))
33
- quill.root.addEventListener('click', this.onEditorClick.bind(this))
34
- document.body.addEventListener('click', (evt) => {
35
- if (!this.wrap.contains(evt.target) && !(globalLinkBtn && globalLinkBtn.contains(evt.target))) {
36
- this.open = false
37
- this.wrap.classList.add('global-link-hide')
38
- }
39
- })
40
- this.panel.wikiLink.subscribe(this.addWikiLink.bind(this))
41
- this.panel.docLink.subscribe(this.addDocLink.bind(this))
42
- this.panel.workItemLink.subscribe(this.addWorkItemLink.bind(this))
43
- if (this.panel.close) {
44
- this.panel.close.subscribe(this.closePanel.bind(this))
45
- }
46
- }
47
-
48
- onEditorClick(evt: any) {
49
- if (!evt.ctrlKey) return
50
- const path = getEventComposedPath(evt)
51
- if (!path || path.length <= 0) return
52
- const linkNode = path.filter((node) => {
53
- return node.classList && (node.classList.contains(WikiLink.className)
54
- || node.classList.contains(DocumentLink.className)
55
- || node.classList.contains(WorkItemLink.className))
56
- })[0]
57
-
58
- if (!linkNode) return
59
-
60
- if (linkNode.classList.contains(WikiLink.className)) {
61
- this.handleLinkClick(linkNode)
62
- }
63
- else if (linkNode.classList.contains(DocumentLink.className)) {
64
- this.handleLinkClick(linkNode)
65
- }
66
- else if (linkNode.classList.contains(WorkItemLink.className)) {
67
- const tableRow = path.filter((node) => {
68
- return node.tagName && node.tagName.toUpperCase() === 'TR'
69
- })[0]
70
-
71
- if (tableRow) {
72
- this.handleLinkClick(tableRow)
73
- }
74
- }
75
- }
76
-
77
- handleLinkClick(linkNode) {
78
- const href = linkNode.getAttribute('href')
79
- if (href) {
80
- window.open(href)
81
- }
82
- }
83
-
84
- handleGlobalLinkButtonClick(_value) {
85
- this.open = !this.open
86
- this.triggerPanel()
87
- }
88
-
89
- triggerPanel() {
90
- if (this.open) {
91
- this.wrap.classList.remove('global-link-hide')
92
- }
93
- else {
94
- this.wrap.classList.add('global-link-hide')
95
- }
96
- }
97
-
98
- addWikiLink(wikiData) {
99
- const index = this.quill.getSelection(true).index
100
- const arr: { link: any, text: any } [] = []
101
- const delta = arr.reduce.call(wikiData, (op: any, wiki) => {
102
- op.insert({
103
- [WikiLink.blotName]: {
104
- link: wiki.link,
105
- text: wiki.text,
106
- },
107
- })
108
- return op
109
- }, new Delta().retain(index))
110
-
111
- this.quill.updateContents(delta, Quill.sources.USER)
112
- this.quill.setSelection(index + 1, Quill.sources.USER)
113
- if (this.panel.autoClose) {
114
- this.closePanel()
115
- }
116
- }
117
-
118
- addDocLink(docData) {
119
- const index = this.quill.getSelection(true).index
120
- const arr: { link: any, text: any, icon: any } [] = []
121
- const delta = arr.reduce.call(docData, (op: any, doc) => {
122
- op.insert({
123
- [DocumentLink.blotName]: {
124
- link: doc.link,
125
- text: doc.text,
126
- icon: doc.icon,
127
- },
128
- })
129
- return op
130
- }, new Delta().retain(index))
131
-
132
- this.quill.updateContents(delta, Quill.sources.USER)
133
- this.quill.setSelection(index + 1, Quill.sources.USER)
134
- if (this.panel.autoClose) {
135
- this.closePanel()
136
- }
137
- }
138
-
139
- addWorkItemLink(workItemData) {
140
- const index = this.quill.getSelection(true).index
141
- const arr: { url: any, table: any } [] = []
142
- const delta = arr.reduce.call(workItemData, (op: any, workItem) => {
143
- op.insert({
144
- [WorkItemLink.blotName]: {
145
- link: workItem.url,
146
- data: workItem.table,
147
- },
148
- })
149
- return op
150
- }, new Delta().retain(index))
151
-
152
- this.quill.updateContents(delta, Quill.sources.USER)
153
- this.quill.setSelection(index + 1, Quill.sources.USER)
154
- if (this.panel.autoClose) {
155
- this.closePanel()
156
- }
157
- }
158
-
159
- closePanel() {
160
- this.open = false
161
- this.triggerPanel()
162
- }
163
- }
164
-
165
- export default GlobalLink
@@ -1,54 +0,0 @@
1
- const tableConfig = [
2
- { title: 'Number', field: 'id', width: '100' },
3
- { title: 'Title', field: 'subject', width: '200' },
4
- { title: 'Priority', field: 'priority', width: '100' },
5
- { title: 'Iteration', field: 'iteration', width: '100' },
6
- { title: 'Status', field: 'status', width: '100' },
7
- { title: 'Conductor', field: 'assigned_to', width: '100' },
8
- ]
9
-
10
- export function createTable(data: any[]) {
11
- const table = document.createElement<'table'>('table')
12
- createColGroup(table)
13
- createTableHead(table)
14
- createTableBody(table, data)
15
- return table
16
- }
17
-
18
- function createColGroup(table: HTMLTableElement) {
19
- const colGroup = document.createElement<'colgroup'>('colgroup')
20
- tableConfig.forEach(({ width }) => {
21
- const col = document.createElement<'col'>('col')
22
- col.setAttribute('width', width)
23
- colGroup.appendChild(col)
24
- })
25
- table.insertAdjacentElement('afterbegin', colGroup)
26
- }
27
-
28
- function createTableHead(table: HTMLTableElement) {
29
- const tHead = table.createTHead()
30
- const tRow = tHead.insertRow()
31
- tableConfig.forEach(({ title }) => {
32
- const tCell = tRow.insertCell()
33
- tCell.textContent = title
34
- })
35
- return tHead
36
- }
37
-
38
- function createTableBody(table: HTMLTableElement, data: any[]) {
39
- const tBody = table.createTBody();
40
-
41
- [].forEach.call(data, (d) => {
42
- const tRow = tBody.insertRow()
43
- // @ts-ignore
44
- tRow.setAttribute('href', d.url)
45
- tableConfig.forEach(({ field }) => {
46
- const tCell = tRow.insertCell()
47
- tCell.classList.add(`work-item-${field}`)
48
- // @ts-ignore
49
- tCell.textContent = d[field]
50
- })
51
- })
52
-
53
- return tBody
54
- }
package/src/index.ts DELETED
@@ -1,5 +0,0 @@
1
- import FluentEditor from './fluent-editor'
2
-
3
- export * from './config'
4
-
5
- export default FluentEditor
@@ -1,44 +0,0 @@
1
- import Quill from 'quill'
2
- import { sanitize } from '../../config/editor.utils'
3
-
4
- const Inline = Quill.imports['blots/inline']
5
-
6
- // @dynamic
7
- export default class Link extends Inline {
8
- static blotName: string
9
- static tagName: string
10
- static SANITIZED_URL: string
11
- static PROTOCOL_WHITELIST: string[]
12
- static className: string
13
- statics: any
14
- domNode: any
15
- static create(value) {
16
- const node = super.create(value)
17
- const href = this.sanitize(value)
18
- node.setAttribute('href', href)
19
- node.setAttribute('target', '_blank')
20
- return node
21
- }
22
-
23
- static formats(domNode) {
24
- return domNode.getAttribute('href')
25
- }
26
-
27
- static sanitize(url) {
28
- return sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL
29
- }
30
-
31
- format(name, value) {
32
- if (name !== this.statics.blotName || [false, null].includes(value)) {
33
- super.format(name, value)
34
- }
35
- else {
36
- this.domNode.setAttribute('href', Link.sanitize(value))
37
- }
38
- }
39
- }
40
- Link.blotName = 'link'
41
- Link.tagName = 'A'
42
- Link.SANITIZED_URL = 'about:blank'
43
- Link.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel']
44
- Link.className = 'ql-normal-link'
package/src/link/index.ts DELETED
@@ -1,35 +0,0 @@
1
- import Quill from 'quill'
2
- import LinkBlot from './formats/link'
3
- import Tooltip from './modules/tooltip'
4
-
5
- const icons = Quill.imports['ui/icons']
6
- const SnowTheme = Quill.imports['themes/snow']
7
- const Module = Quill.imports['core/module']
8
-
9
- // @dynamic
10
- class Link extends Module {
11
- static register() {
12
- Quill.register('blots/link', LinkBlot, true)
13
- }
14
-
15
- constructor(quill, options) {
16
- super(quill, options)
17
- }
18
- }
19
-
20
- SnowTheme.prototype.extendToolbar = function (toolbar) {
21
- toolbar.container.classList.add('ql-snow')
22
- this.buildButtons(toolbar.container.querySelectorAll('button'), icons)
23
- this.buildPickers(toolbar.container.querySelectorAll('select'), icons)
24
- this.tooltip = new Tooltip(this.quill, this.options.bounds)
25
- if (toolbar.container.querySelector('.ql-link')) {
26
- this.quill.keyboard.addBinding(
27
- { key: 'k', shortKey: true },
28
- (_range, context) => {
29
- toolbar.handlers.link.call(toolbar, !context.format.link)
30
- },
31
- )
32
- }
33
- }
34
-
35
- export default Link
@@ -1,318 +0,0 @@
1
- import Quill from 'quill'
2
- import Emitter from 'quill/core/emitter'
3
- import { Range } from 'quill/core/selection'
4
- import { BaseTooltip } from 'quill/themes/base'
5
- import { debounce } from '../../../src/utils/debounce'
6
- import { LANG_CONF } from '../../config/editor.config'
7
- import { isNullOrUndefined } from '../../config/editor.utils'
8
- import LinkBlot from '../formats/link'
9
-
10
- // const Emitter = Quill.imports['core/emitter'];
11
- // const BaseTooltip = Quill.imports['themes/BaseTooltip'];
12
- // const Range = Quill.imports['core/selection/range'];
13
-
14
- // @dynamic
15
- export default class Tooltip extends BaseTooltip {
16
- static TEMPLATE: string
17
- isInputFocus: boolean
18
- isHover: boolean
19
- debouncedHideToolTip: any
20
- debouncedShowToolTip: any
21
- hide: any
22
- linkRange: any
23
- quill: any
24
- root: any
25
- restoreFocus: any
26
- textbox: any
27
- boundsContainer: any
28
-
29
- constructor(quill, bounds) {
30
- super(quill, bounds)
31
- this.isInputFocus = false
32
- this.isHover = false
33
-
34
- this.debouncedHideToolTip = debounce(this.hideToolTip, 300)
35
- this.debouncedShowToolTip = debounce(this.showToolTip, 300)
36
- }
37
-
38
- shouldHide() {
39
- return !this.isHover && !this.isInputFocus
40
- }
41
-
42
- hideToolTip() {
43
- if (this.shouldHide()) {
44
- this.hide()
45
- }
46
- }
47
-
48
- showToolTip(name, value, range) {
49
- if (!this.shouldHide()) {
50
- this.edit(name, value, range)
51
- }
52
- }
53
-
54
- handleMouseLeave() {
55
- this.isHover = false
56
- this.debouncedHideToolTip()
57
- }
58
-
59
- handleMouseEnter(event) {
60
- const isTooltipShow = !this.root.classList.contains('ql-hidden')
61
- if (isTooltipShow) {
62
- return
63
- }
64
-
65
- if (this.isInputFocus) {
66
- this.save()
67
- }
68
- this.isHover = true
69
- const linkNode = event.target
70
- const preview = LinkBlot.formats(linkNode)
71
- if (preview.startsWith('#')) {
72
- return
73
- }
74
- const linkBlot = Quill.find(linkNode)
75
- const index = this.quill.getIndex(linkBlot)
76
- const [link, offset] = this.quill.scroll.descendant(
77
- LinkBlot,
78
- index,
79
- )
80
- const length = link && link.length()
81
- this.linkRange = new Range(index - offset, length)
82
- this.debouncedShowToolTip('link', preview, this.linkRange)
83
- }
84
-
85
- listen() {
86
- super.listen()
87
-
88
- this.root.querySelector('a.ql-remove').addEventListener('click', (event) => {
89
- if (!isNullOrUndefined(this.linkRange)) {
90
- const range = this.linkRange
91
- this.restoreFocus()
92
- this.quill.formatText(range, 'link', false, Emitter.sources.API)
93
- delete this.linkRange
94
- }
95
- event.preventDefault()
96
- this.hide()
97
- })
98
-
99
- this.quill.root.addEventListener(
100
- 'mouseover',
101
- (event) => {
102
- if (
103
- (event.target.tagName.toUpperCase() !== 'A'
104
- || !event.target.classList.contains(LinkBlot.className))
105
- && !event.target.closest(`a.${LinkBlot.className}`)
106
- ) {
107
- return
108
- }
109
- this.handleMouseEnter(event)
110
- },
111
- false,
112
- )
113
-
114
- this.quill.root.addEventListener(
115
- 'mouseout',
116
- (event) => {
117
- if (event.target.tagName.toUpperCase() !== 'A' && !event.target.closest(`a.${LinkBlot.className}`)) {
118
- return
119
- }
120
- this.handleMouseLeave()
121
- },
122
- false,
123
- )
124
-
125
- this.root.addEventListener(
126
- 'mouseenter',
127
- () => {
128
- this.isHover = true
129
- },
130
- false,
131
- )
132
-
133
- this.root.addEventListener('mouseleave', this.handleMouseLeave.bind(this), false)
134
-
135
- this.root.querySelector('a.ql-preview').addEventListener('click', (event) => {
136
- const link = LinkBlot.sanitize(this.textbox.value)
137
- window.open(link, '_blank')
138
- event.preventDefault()
139
- })
140
- this.root.querySelector('input[type="text"]').addEventListener('focus', () => {
141
- this.isInputFocus = true
142
- })
143
- this.root.querySelector('input[type="text"]').addEventListener('blur', () => {
144
- this.isInputFocus = false
145
- this.save()
146
- })
147
- this.quill.on(
148
- Emitter.events.SELECTION_CHANGE,
149
- (range, _oldRange, source) => {
150
- if (isNullOrUndefined(range)) return
151
- if (source === Emitter.sources.USER) {
152
- const [link, offset] = this.quill.scroll.descendant(
153
- LinkBlot,
154
- range.index,
155
- )
156
-
157
- if (!isNullOrUndefined(link)) {
158
- this.linkRange = new Range(range.index - offset, link.length())
159
- const preview = LinkBlot.formats(link.domNode)
160
- if (!preview.startsWith('#')) {
161
- this.edit('link', preview, this.linkRange)
162
- }
163
- return
164
- }
165
- }
166
- if (this.shouldHide()) {
167
- this.hide()
168
- }
169
- },
170
- )
171
- this.quill.on(
172
- Emitter.events.TEXT_CHANGE,
173
- () => {
174
- const selection = this.quill.getSelection()
175
- const index = selection && selection.index
176
- setTimeout(() => {
177
- const link = this.quill.scroll.descendant(
178
- LinkBlot,
179
- index,
180
- )[0]
181
- if (!link) {
182
- this.handleMouseLeave()
183
- }
184
- })
185
- },
186
- )
187
- }
188
-
189
- save() {
190
- let value = this.textbox.value
191
- if (!value) return
192
- this.textbox.value = ''
193
- switch (this.root.getAttribute('data-mode')) {
194
- case 'link': {
195
- const { scrollTop } = this.quill.root
196
- const { autoProtocol } = this.quill.options
197
- if (autoProtocol) {
198
- value = this.addHttpProtocol(value)
199
- }
200
-
201
- if (this.linkRange) {
202
- this.quill.formatText(
203
- this.linkRange,
204
- 'link',
205
- value,
206
- Emitter.sources.USER,
207
- )
208
- this.restoreFocus()
209
- }
210
- else {
211
- this.restoreFocus()
212
- this.quill.format('link', value, Emitter.sources.USER)
213
- }
214
- this.quill.root.scrollTop = scrollTop
215
- break
216
- }
217
- case 'formula': {
218
- const range = this.quill.getSelection(true)
219
- if (!isNullOrUndefined(range)) {
220
- const index = range.index + range.length
221
- this.quill.insertEmbed(
222
- index,
223
- this.root.getAttribute('data-mode'),
224
- value,
225
- Emitter.sources.USER,
226
- )
227
- if (this.root.getAttribute('data-mode') === 'formula') {
228
- this.quill.insertText(index + 1, ' ', Emitter.sources.USER)
229
- }
230
- this.quill.setSelection(index + 2, Emitter.sources.USER)
231
- }
232
- break
233
- }
234
- case 'video': {
235
- const range = this.quill.getSelection(true)
236
- this.quill.insertText(range.index, '\n', Emitter.sources.USER)
237
- this.quill.insertEmbed(range.index + 1, 'video', { src: value }, Emitter.sources.USER)
238
- this.quill.insertText(range.index + 2, '\n', Emitter.sources.USER)
239
- this.quill.setSelection(range.index + 3, Emitter.sources.SILENT)
240
- this.textbox.value = ''
241
- this.hide()
242
- break
243
- }
244
- default:
245
- }
246
- }
247
-
248
- position(reference) {
249
- const left = reference.left
250
- const top = reference.bottom + this.quill.root.scrollTop
251
- this.root.style.left = `${left}px`
252
- this.root.style.top = `${top}px`
253
- this.root.classList.remove('ql-flip')
254
- const containerBounds = this.boundsContainer.getBoundingClientRect()
255
- const rootBounds = this.root.getBoundingClientRect()
256
- let shift = 0
257
- if (rootBounds.right > containerBounds.right) {
258
- shift = containerBounds.right - rootBounds.right
259
- this.root.style.left = `${left + shift}px`
260
- }
261
- if (rootBounds.left < containerBounds.left) {
262
- shift = containerBounds.left - rootBounds.left
263
- this.root.style.left = `${left + shift}px`
264
- }
265
- if (rootBounds.bottom > containerBounds.bottom) {
266
- const height = rootBounds.bottom - rootBounds.top
267
- const verticalShift = reference.bottom - reference.top + height
268
- const fixedTop = top - verticalShift
269
- this.root.style.top = `${fixedTop < 0 ? this.quill.root.scrollTop + reference.top : fixedTop}px`
270
- this.root.classList.add('ql-flip')
271
- }
272
- return shift
273
- }
274
-
275
- edit(mode = 'link', preview = null, range) {
276
- this.linkRange = range || this.quill.selection.savedRange
277
- this.root.classList.remove('ql-hidden')
278
- this.root.classList.add('ql-editing')
279
- if (!isNullOrUndefined(preview)) {
280
- this.textbox.value = preview
281
- }
282
- else if (mode !== this.root.getAttribute('data-mode')) {
283
- this.textbox.value = ''
284
- }
285
- this.position(this.quill.getBounds(range || this.quill.selection.savedRange))
286
- if (this.textbox.value === '') {
287
- this.textbox.focus()
288
- }
289
- this.textbox.setAttribute(
290
- 'placeholder',
291
- this.textbox.getAttribute(`data-${mode}`) || '',
292
- )
293
- this.root.setAttribute('data-mode', mode)
294
- }
295
-
296
- show() {
297
- super.show()
298
- this.root.removeAttribute('data-mode')
299
- }
300
-
301
- addHttpProtocol(url) {
302
- let result = url
303
- if (!url) {
304
- return ''
305
- }
306
- if (!/^(?:f|ht)tps?\:\/\//.test(url)) {
307
- result = `http://${url}`
308
- }
309
- return result
310
- }
311
- }
312
-
313
- Tooltip.TEMPLATE = [
314
- `<input type="text" data-formula="e=mc^2" data-link="${LANG_CONF.linkplaceholder}" data-video="Embed URL" style="width: 225px;">`,
315
- '<span class="ql-split"></span>',
316
- '<a class="ql-preview"><i class="icon-share"></i></a>',
317
- '<a class="ql-remove"><i class="icon-delete"></i></a>',
318
- ].join('')