jodit 3.11.2 → 3.12.4

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 (854) hide show
  1. package/.github/workflows/docs.yml +16 -0
  2. package/.github/workflows/tests.yml +1 -2
  3. package/.idea/workspace.xml +314 -300
  4. package/CHANGELOG.MD +35 -2
  5. package/LICENSE.txt +1 -1
  6. package/README.md +6 -4
  7. package/build/jodit.css +150 -114
  8. package/build/jodit.es2018.css +135 -103
  9. package/build/jodit.es2018.en.css +135 -103
  10. package/build/jodit.es2018.en.js +2281 -2129
  11. package/build/jodit.es2018.en.min.css +1 -1
  12. package/build/jodit.es2018.en.min.js +1 -1
  13. package/build/jodit.es2018.js +2447 -2295
  14. package/build/jodit.es2018.min.css +1 -1
  15. package/build/jodit.es2018.min.js +1 -1
  16. package/build/jodit.js +3496 -3320
  17. package/build/jodit.min.css +2 -2
  18. package/build/jodit.min.js +1 -1
  19. package/index.d.ts +1 -1
  20. package/package.json +2 -1
  21. package/src/README.md +55 -0
  22. package/src/config.ts +5 -1
  23. package/src/core/async/README.md +147 -0
  24. package/src/core/{async.ts → async/async.ts} +12 -7
  25. package/src/core/async/index.ts +11 -0
  26. package/src/core/component/README.md +110 -0
  27. package/src/core/component/component.ts +7 -1
  28. package/src/core/component/index.ts +5 -1
  29. package/src/core/component/statuses.ts +5 -1
  30. package/src/core/component/view-component.ts +5 -1
  31. package/src/core/constants.ts +5 -1
  32. package/src/core/create/README.md +57 -0
  33. package/src/core/{create.ts → create/create.ts} +11 -5
  34. package/src/core/create/index.ts +11 -0
  35. package/src/core/decorators/README.md +4 -0
  36. package/src/core/decorators/cache/README.md +17 -0
  37. package/src/core/decorators/{cache.ts → cache/cache.ts} +9 -3
  38. package/src/core/decorators/component/README.md +65 -0
  39. package/src/core/decorators/{component.ts → component/component.ts} +8 -2
  40. package/src/core/decorators/debounce/README.md +44 -0
  41. package/src/core/decorators/{debounce.ts → debounce/debounce.ts} +11 -8
  42. package/src/core/decorators/hook/README.md +16 -0
  43. package/src/core/decorators/{hook.ts → hook/hook.ts} +11 -4
  44. package/src/core/decorators/idle/README.md +1 -0
  45. package/src/core/decorators/{idle.ts → idle/idle.ts} +11 -7
  46. package/src/core/decorators/index.ts +16 -10
  47. package/src/core/decorators/nonenumerable/README.md +15 -0
  48. package/src/core/decorators/{nonenumerable.ts → nonenumerable/nonenumerable.ts} +5 -2
  49. package/src/core/decorators/persistent/README.md +23 -0
  50. package/src/core/decorators/{persistent.ts → persistent/persistent.ts} +9 -6
  51. package/src/core/decorators/wait/README.md +20 -0
  52. package/src/core/decorators/{wait.ts → wait/wait.ts} +9 -6
  53. package/src/core/decorators/watch/README.md +125 -0
  54. package/src/core/decorators/{watch.ts → watch/watch.ts} +16 -14
  55. package/src/core/dom/README.md +13 -0
  56. package/src/core/{dom.ts → dom/dom.ts} +12 -6
  57. package/src/core/dom/index.ts +11 -0
  58. package/src/core/event-emitter/README.md +39 -0
  59. package/src/core/{events → event-emitter}/event-emitter.ts +13 -13
  60. package/src/core/{events → event-emitter}/index.ts +5 -1
  61. package/src/core/{events → event-emitter}/observe-object.ts +17 -8
  62. package/src/core/{events → event-emitter}/store.ts +5 -1
  63. package/src/core/global.ts +10 -10
  64. package/src/core/helpers/README.md +31 -0
  65. package/src/core/helpers/array/as-array.ts +5 -1
  66. package/src/core/helpers/array/index.ts +5 -1
  67. package/src/core/helpers/array/split-array.ts +5 -1
  68. package/src/core/helpers/array/to-array.ts +5 -1
  69. package/src/core/helpers/async/index.ts +5 -1
  70. package/src/core/helpers/async/set-timeout.ts +5 -1
  71. package/src/core/helpers/checker/has-browser-color-picker.ts +5 -1
  72. package/src/core/helpers/checker/index.ts +5 -1
  73. package/src/core/helpers/checker/is-array.ts +5 -1
  74. package/src/core/helpers/checker/is-boolean.ts +5 -1
  75. package/src/core/helpers/checker/is-equal.ts +5 -1
  76. package/src/core/helpers/checker/is-function.ts +5 -1
  77. package/src/core/helpers/checker/is-html-from-word.ts +5 -1
  78. package/src/core/helpers/checker/is-html.ts +5 -1
  79. package/src/core/helpers/checker/is-imp-interface.ts +5 -1
  80. package/src/core/helpers/checker/is-int.ts +5 -1
  81. package/src/core/helpers/checker/is-jodit-object.ts +5 -1
  82. package/src/core/helpers/checker/is-license.ts +5 -1
  83. package/src/core/helpers/checker/is-native-function.ts +5 -1
  84. package/src/core/helpers/checker/is-number.ts +5 -1
  85. package/src/core/helpers/checker/is-numeric.ts +5 -1
  86. package/src/core/helpers/checker/is-plain-object.ts +5 -1
  87. package/src/core/helpers/checker/is-promise.ts +5 -1
  88. package/src/core/helpers/checker/is-string.ts +5 -1
  89. package/src/core/helpers/checker/is-url.ts +5 -1
  90. package/src/core/helpers/checker/is-valid-name.ts +5 -1
  91. package/src/core/helpers/checker/is-void.ts +5 -1
  92. package/src/core/helpers/checker/is-window.ts +5 -1
  93. package/src/core/helpers/color/color-to-hex.ts +5 -1
  94. package/src/core/helpers/color/index.ts +5 -1
  95. package/src/core/helpers/html/apply-styles.ts +6 -2
  96. package/src/core/helpers/html/clean-from-word.ts +5 -1
  97. package/src/core/helpers/html/htmlspecialchars.ts +5 -1
  98. package/src/core/helpers/html/index.ts +5 -1
  99. package/src/core/helpers/html/nl2br.ts +6 -2
  100. package/src/core/helpers/html/strip-tags.ts +6 -2
  101. package/src/core/helpers/index.ts +7 -22
  102. package/src/core/helpers/normalize/index.ts +5 -1
  103. package/src/core/helpers/normalize/normalize-color.ts +5 -1
  104. package/src/core/helpers/normalize/normalize-css-value.ts +5 -1
  105. package/src/core/helpers/normalize/normalize-key-aliases.ts +5 -1
  106. package/src/core/helpers/normalize/normalize-license.ts +5 -1
  107. package/src/core/helpers/normalize/normalize-node.ts +5 -1
  108. package/src/core/helpers/normalize/normalize-path.ts +5 -1
  109. package/src/core/helpers/normalize/normalize-relative-path.ts +5 -1
  110. package/src/core/helpers/normalize/normalize-size.ts +5 -1
  111. package/src/core/helpers/normalize/normalize-url.ts +5 -1
  112. package/src/core/helpers/size/get-content-width.ts +3 -2
  113. package/src/core/helpers/size/get-scroll-parent.ts +11 -5
  114. package/src/core/helpers/size/index.ts +5 -1
  115. package/src/core/helpers/size/inner-width.ts +5 -1
  116. package/src/core/helpers/size/object-size.ts +5 -1
  117. package/src/core/helpers/size/offset.ts +5 -1
  118. package/src/core/helpers/size/position.ts +5 -1
  119. package/src/core/helpers/string/camel-case.ts +5 -1
  120. package/src/core/helpers/string/i18n.ts +6 -2
  121. package/src/core/helpers/string/index.ts +5 -1
  122. package/src/core/helpers/string/kebab-case.ts +5 -1
  123. package/src/core/helpers/string/stringify.ts +5 -1
  124. package/src/core/helpers/string/trim.ts +5 -1
  125. package/src/core/helpers/string/ucfirst.ts +5 -1
  126. package/src/core/helpers/{append-script.ts → utils/append-script.ts} +7 -3
  127. package/src/core/helpers/{browser.ts → utils/browser.ts} +5 -1
  128. package/src/core/helpers/{build-query.ts → utils/build-query.ts} +7 -3
  129. package/src/core/helpers/{complete-url.ts → utils/complete-url.ts} +5 -1
  130. package/src/core/helpers/{config-proto.ts → utils/config-proto.ts} +8 -4
  131. package/src/core/helpers/{convert-media-url-to-video-embed.ts → utils/convert-media-url-to-video-embed.ts} +6 -2
  132. package/src/core/helpers/{css.ts → utils/css.ts} +9 -5
  133. package/src/core/helpers/{ctrl-key.ts → utils/ctrl-key.ts} +5 -1
  134. package/src/core/helpers/{data-bind.ts → utils/data-bind.ts} +8 -4
  135. package/src/core/helpers/{default-language.ts → utils/default-language.ts} +6 -2
  136. package/src/core/helpers/{type.ts → utils/error.ts} +5 -1
  137. package/src/core/helpers/{extend.ts → utils/extend.ts} +6 -2
  138. package/src/core/helpers/utils/get-class-name.ts +5 -1
  139. package/src/core/helpers/utils/get.ts +5 -1
  140. package/src/core/helpers/{human-size-to-bytes.ts → utils/human-size-to-bytes.ts} +5 -1
  141. package/src/core/helpers/utils/index.ts +22 -1
  142. package/src/core/helpers/utils/mark-deprecated.ts +5 -1
  143. package/src/core/helpers/{parse-query.ts → utils/parse-query.ts} +6 -2
  144. package/src/core/helpers/{scroll-into-view.ts → utils/scroll-into-view.ts} +5 -1
  145. package/src/core/helpers/{selector.ts → utils/selector.ts} +13 -9
  146. package/src/core/helpers/utils/set.ts +5 -1
  147. package/src/core/helpers/utils/stack.ts +6 -1
  148. package/src/core/helpers/utils/utils.ts +7 -3
  149. package/src/core/helpers/{val.ts → utils/val.ts} +5 -1
  150. package/src/core/plugin/README.md +133 -0
  151. package/src/core/plugin/index.ts +12 -0
  152. package/src/core/{plugin-system.ts → plugin/plugin-system.ts} +7 -3
  153. package/src/core/{plugin.ts → plugin/plugin.ts} +11 -5
  154. package/src/core/request/README.md +11 -0
  155. package/src/core/request/ajax.ts +18 -12
  156. package/src/core/request/config.ts +5 -1
  157. package/src/core/request/index.ts +5 -1
  158. package/src/core/request/response.ts +5 -1
  159. package/src/core/selection/README.md +20 -0
  160. package/src/core/selection/index.ts +5 -1
  161. package/src/core/selection/select.ts +10 -4
  162. package/src/core/selection/style/api/element-has-same-style.ts +2 -1
  163. package/src/core/selection/style/api/extract.ts +2 -1
  164. package/src/core/selection/style/api/finite-state-machine.ts +1 -1
  165. package/src/core/selection/style/api/get-suit-child.ts +2 -1
  166. package/src/core/selection/style/api/get-suit-parent.ts +2 -1
  167. package/src/core/selection/style/api/index.ts +1 -1
  168. package/src/core/selection/style/api/is-inside-invisible-element.ts +2 -1
  169. package/src/core/selection/style/api/is-normal-node.ts +2 -1
  170. package/src/core/selection/style/api/is-suit-element.ts +3 -2
  171. package/src/core/selection/style/api/toggle/toggle-css.ts +2 -1
  172. package/src/core/selection/style/api/toggle/toggle-ordered-list.ts +2 -1
  173. package/src/core/selection/style/api/toggle-commit-styles.ts +2 -1
  174. package/src/core/selection/style/api/unwrap-children.ts +2 -1
  175. package/src/core/selection/style/api/wrap-and-commit-style.ts +2 -1
  176. package/src/core/selection/style/api/wrap-ordered-list.ts +2 -1
  177. package/src/core/selection/style/api/wrap-unwrapped-text.ts +2 -1
  178. package/src/core/selection/style/apply-style.ts +5 -1
  179. package/src/core/selection/style/commit-style.ts +5 -1
  180. package/src/core/storage/README.md +13 -0
  181. package/src/core/storage/engines/local-storage-provider.ts +5 -1
  182. package/src/core/storage/engines/memory-storage-provider.ts +5 -1
  183. package/src/core/storage/index.ts +5 -1
  184. package/src/core/storage/storage.ts +7 -1
  185. package/src/core/traits/elms.ts +5 -1
  186. package/src/core/traits/index.ts +5 -1
  187. package/src/core/traits/mods.ts +5 -1
  188. package/src/core/ui/README.md +51 -0
  189. package/src/core/ui/button/README.md +3 -0
  190. package/src/core/ui/button/button/button.less +1 -1
  191. package/src/core/ui/button/button/button.ts +6 -2
  192. package/src/core/ui/button/group/group.ts +6 -2
  193. package/src/core/ui/button/index.ts +7 -1
  194. package/src/core/ui/element.ts +5 -1
  195. package/src/core/ui/form/README.md +22 -0
  196. package/src/core/ui/form/block/block.ts +6 -2
  197. package/src/core/ui/form/form.ts +8 -2
  198. package/src/core/ui/form/index.ts +5 -1
  199. package/src/core/ui/form/inputs/area/area.ts +5 -1
  200. package/src/core/ui/form/inputs/checkbox/checkbox.ts +5 -1
  201. package/src/core/ui/form/inputs/file/file.ts +5 -1
  202. package/src/core/ui/form/inputs/index.ts +5 -1
  203. package/src/core/ui/form/inputs/input/input.ts +5 -1
  204. package/src/core/ui/form/inputs/select/select.ts +5 -1
  205. package/src/core/ui/form/validators/index.ts +5 -1
  206. package/src/core/ui/form/validators/input.ts +5 -1
  207. package/src/core/ui/form/validators/select.ts +5 -1
  208. package/src/core/ui/group/README.md +1 -0
  209. package/src/core/ui/{list → group}/group.less +1 -1
  210. package/src/core/ui/{list → group}/group.ts +7 -1
  211. package/src/core/ui/{list → group}/index.ts +5 -1
  212. package/src/core/ui/{list → group}/list.less +1 -1
  213. package/src/core/ui/{list → group}/list.ts +5 -1
  214. package/src/core/ui/{list → group}/separator.ts +5 -1
  215. package/src/core/ui/{list → group}/spacer.ts +5 -1
  216. package/src/core/ui/helpers/buttons.ts +5 -1
  217. package/src/core/ui/helpers/get-control-type.ts +5 -1
  218. package/src/core/ui/helpers/get-strong-control-types.ts +5 -1
  219. package/src/core/ui/icon.ts +6 -2
  220. package/src/core/ui/index.ts +8 -2
  221. package/src/core/ui/popup/README.md +15 -0
  222. package/src/core/ui/popup/index.ts +5 -1
  223. package/src/core/ui/popup/popup.less +1 -1
  224. package/src/core/ui/popup/popup.ts +7 -1
  225. package/src/core/ui/progress-bar/README.md +1 -0
  226. package/src/core/ui/progress-bar/progress-bar.less +1 -1
  227. package/src/core/ui/progress-bar/progress-bar.ts +7 -1
  228. package/src/core/view/README.md +24 -0
  229. package/src/core/view/view-with-toolbar.less +1 -1
  230. package/src/core/view/view-with-toolbar.ts +5 -1
  231. package/src/core/view/view.ts +11 -4
  232. package/src/header.js +1 -1
  233. package/src/index.ts +7 -1
  234. package/src/jodit.ts +7 -1
  235. package/src/langs/README.md +1 -0
  236. package/src/langs/ar.js +1 -1
  237. package/src/langs/cs_cz.js +1 -1
  238. package/src/langs/de.js +1 -1
  239. package/src/langs/en.js +1 -1
  240. package/src/langs/es.js +1 -1
  241. package/src/langs/fa.js +1 -1
  242. package/src/langs/fr.js +1 -1
  243. package/src/langs/he.js +1 -1
  244. package/src/langs/hu.js +1 -1
  245. package/src/langs/id.js +1 -1
  246. package/src/langs/index.ts +8 -1
  247. package/src/langs/it.js +1 -1
  248. package/src/langs/ja.js +1 -1
  249. package/src/langs/ko.js +1 -1
  250. package/src/langs/nl.js +1 -1
  251. package/src/langs/pl.js +1 -1
  252. package/src/langs/pt_br.js +1 -1
  253. package/src/langs/ru.js +1 -1
  254. package/src/langs/tr.js +1 -1
  255. package/src/langs/zh_cn.js +1 -1
  256. package/src/langs/zh_tw.js +1 -1
  257. package/src/modules/README.md +1 -0
  258. package/src/modules/context-menu/README.md +1 -0
  259. package/src/modules/context-menu/context-menu.less +1 -1
  260. package/src/modules/context-menu/context-menu.ts +7 -1
  261. package/src/modules/dialog/README.md +45 -0
  262. package/src/modules/dialog/alert.ts +5 -1
  263. package/src/modules/dialog/confirm.ts +5 -1
  264. package/src/modules/dialog/dialog.less +1 -1
  265. package/src/modules/dialog/dialog.ts +6 -2
  266. package/src/modules/dialog/index.ts +7 -1
  267. package/src/modules/dialog/prompt.ts +5 -1
  268. package/src/modules/file-browser/{README.MD → README.md} +189 -79
  269. package/src/modules/file-browser/builders/context-menu.ts +23 -11
  270. package/src/modules/file-browser/builders/elements-map.ts +31 -0
  271. package/src/modules/file-browser/builders/item.ts +5 -1
  272. package/src/modules/file-browser/config.ts +5 -1
  273. package/src/modules/file-browser/data-provider.ts +7 -3
  274. package/src/modules/file-browser/factories.ts +5 -1
  275. package/src/modules/file-browser/fetch/delete-file.ts +27 -0
  276. package/src/modules/file-browser/fetch/load-items.ts +32 -0
  277. package/src/modules/file-browser/fetch/load-tree.ts +49 -0
  278. package/src/modules/file-browser/file-browser.ts +69 -109
  279. package/src/modules/file-browser/index.ts +13 -0
  280. package/src/modules/file-browser/listeners/native-listeners.ts +19 -15
  281. package/src/modules/file-browser/listeners/self-listeners.ts +25 -17
  282. package/src/modules/file-browser/listeners/state-listeners.ts +19 -12
  283. package/src/modules/file-browser/styles/file-browser.less +25 -19
  284. package/src/modules/file-browser/styles/index.less +1 -1
  285. package/src/modules/file-browser/styles/preview.less +1 -1
  286. package/src/modules/file-browser/ui/files/files.less +5 -0
  287. package/src/modules/file-browser/ui/files/files.ts +1 -1
  288. package/src/modules/file-browser/ui/index.ts +5 -1
  289. package/src/modules/file-browser/ui/tree/tree.less +5 -0
  290. package/src/modules/file-browser/ui/tree/tree.ts +1 -1
  291. package/src/modules/image-editor/README.md +1 -0
  292. package/src/modules/image-editor/image-editor.less +1 -1
  293. package/src/modules/image-editor/image-editor.ts +13 -12
  294. package/src/modules/image-editor/templates/form.ts +5 -1
  295. package/src/modules/index.ts +12 -6
  296. package/src/modules/observer/README.md +0 -0
  297. package/src/modules/observer/command.ts +5 -1
  298. package/src/modules/observer/observer.ts +7 -1
  299. package/src/modules/observer/snapshot.ts +5 -1
  300. package/src/modules/observer/stack.ts +5 -1
  301. package/src/modules/status-bar/README.md +1 -0
  302. package/src/modules/status-bar/status-bar.less +1 -1
  303. package/src/modules/status-bar/status-bar.ts +7 -1
  304. package/src/modules/table/README.md +3 -0
  305. package/src/modules/{table.ts → table/table.ts} +20 -13
  306. package/src/modules/toolbar/README.md +1 -0
  307. package/src/modules/toolbar/button/README.md +1 -0
  308. package/src/modules/toolbar/button/button.less +1 -1
  309. package/src/modules/toolbar/button/button.ts +7 -1
  310. package/src/modules/toolbar/button/content.less +1 -1
  311. package/src/modules/toolbar/button/content.ts +5 -1
  312. package/src/modules/toolbar/button/index.ts +5 -1
  313. package/src/modules/toolbar/collection/README.md +1 -0
  314. package/src/modules/toolbar/collection/collection.less +2 -2
  315. package/src/modules/toolbar/collection/collection.ts +7 -1
  316. package/src/modules/toolbar/collection/editor-collection.ts +5 -1
  317. package/src/modules/toolbar/factory.ts +7 -1
  318. package/src/modules/uploader/README.md +1 -0
  319. package/src/modules/uploader/uploader.less +1 -1
  320. package/src/modules/uploader/uploader.ts +13 -7
  321. package/src/modules/widget/README.md +1 -0
  322. package/src/modules/widget/color-picker/README.md +1 -0
  323. package/src/modules/widget/color-picker/color-picker.less +1 -1
  324. package/src/modules/widget/color-picker/color-picker.ts +7 -1
  325. package/src/modules/widget/file-selector/README.md +1 -0
  326. package/src/modules/widget/file-selector/file-selector.ts +7 -1
  327. package/src/modules/widget/index.ts +7 -1
  328. package/src/modules/widget/tabs/README.md +1 -0
  329. package/src/modules/widget/tabs/tabs.less +1 -1
  330. package/src/modules/widget/tabs/tabs.ts +7 -1
  331. package/src/modules/widget/widget.less +1 -1
  332. package/src/plugins/README.md +3 -0
  333. package/src/plugins/about/about.less +1 -1
  334. package/src/plugins/about/about.ts +5 -1
  335. package/src/plugins/add-new-line/README.md +6 -0
  336. package/src/plugins/add-new-line/add-new-line.less +1 -1
  337. package/src/plugins/add-new-line/add-new-line.ts +13 -1
  338. package/src/plugins/{bold.ts → bold/bold.ts} +9 -5
  339. package/src/plugins/class-span/class-span.ts +5 -1
  340. package/src/plugins/clipboard/clipboard.ts +5 -1
  341. package/src/plugins/clipboard/config.ts +13 -1
  342. package/src/plugins/clipboard/copy-format.ts +5 -1
  343. package/src/plugins/clipboard/drag-and-drop-element.ts +5 -1
  344. package/src/plugins/clipboard/drag-and-drop.ts +7 -8
  345. package/src/plugins/clipboard/index.ts +5 -1
  346. package/src/plugins/clipboard/paste/CHANGELOG.md +17 -0
  347. package/src/plugins/clipboard/paste/README.md +8 -0
  348. package/src/plugins/clipboard/paste/helpers.ts +5 -1
  349. package/src/plugins/clipboard/paste/paste.ts +20 -12
  350. package/src/plugins/clipboard/paste-storage/paste-storage.less +1 -1
  351. package/src/plugins/clipboard/paste-storage/paste-storage.ts +5 -1
  352. package/src/plugins/{color.ts → color/color.ts} +10 -6
  353. package/src/plugins/error-messages/error-messages.ts +5 -1
  354. package/src/plugins/error-messages/errors-messages.less +1 -1
  355. package/src/plugins/fix/clean-html.ts +6 -2
  356. package/src/plugins/fix/wrap-text-nodes.ts +5 -1
  357. package/src/plugins/focus/README.md +3 -0
  358. package/src/plugins/{focus.ts → focus/focus.ts} +11 -8
  359. package/src/plugins/{font.ts → font/font.ts} +10 -6
  360. package/src/plugins/format-block/CHANGELOG.md +16 -0
  361. package/src/plugins/format-block/README.md +40 -0
  362. package/src/plugins/{format-block.ts → format-block/format-block.ts} +18 -6
  363. package/src/plugins/fullsize/fullsize.less +2 -2
  364. package/src/plugins/fullsize/fullsize.ts +5 -1
  365. package/src/plugins/{iframe.ts → iframe/iframe.ts} +13 -9
  366. package/src/plugins/image/helpers.ts +5 -1
  367. package/src/plugins/image/image-processor.ts +5 -1
  368. package/src/plugins/image/image-properties/image-properties.less +1 -1
  369. package/src/plugins/image/image-properties/image-properties.ts +5 -1
  370. package/src/plugins/image/image-properties/templates/form.ts +5 -1
  371. package/src/plugins/image/image-properties/templates/index.ts +7 -3
  372. package/src/plugins/image/image-properties/templates/{mainTab.ts → main-tab.ts} +5 -1
  373. package/src/plugins/image/image-properties/templates/{positionTab.ts → position-tab.ts} +5 -1
  374. package/src/plugins/image/image.ts +5 -1
  375. package/src/plugins/image/index.ts +5 -1
  376. package/src/plugins/{indent.ts → indent/indent.ts} +11 -7
  377. package/src/plugins/index.ts +22 -16
  378. package/src/plugins/inline-popup/config/config.ts +5 -1
  379. package/src/plugins/inline-popup/config/items/a.ts +5 -1
  380. package/src/plugins/inline-popup/config/items/cells.ts +5 -1
  381. package/src/plugins/inline-popup/config/items/iframe.ts +5 -1
  382. package/src/plugins/inline-popup/config/items/img.ts +5 -1
  383. package/src/plugins/inline-popup/config/items/toolbar.ts +5 -1
  384. package/src/plugins/inline-popup/inline-popup.less +1 -1
  385. package/src/plugins/inline-popup/inline-popup.ts +5 -1
  386. package/src/plugins/insert/hr.ts +5 -1
  387. package/src/plugins/insert/index.ts +5 -1
  388. package/src/plugins/{justify.ts → justify/justify.ts} +9 -5
  389. package/src/plugins/keyboard/backspace/backspace.ts +5 -1
  390. package/src/plugins/keyboard/backspace/cases/check-join-neighbors.ts +1 -1
  391. package/src/plugins/keyboard/backspace/cases/check-join-two-lists.ts +2 -1
  392. package/src/plugins/keyboard/backspace/cases/check-not-collapsed.ts +2 -1
  393. package/src/plugins/keyboard/backspace/cases/check-remove-char.ts +2 -1
  394. package/src/plugins/keyboard/backspace/cases/check-remove-content-not-editable.ts +3 -2
  395. package/src/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.ts +2 -1
  396. package/src/plugins/keyboard/backspace/cases/check-remove-empty-parent.ts +3 -1
  397. package/src/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.ts +3 -1
  398. package/src/plugins/keyboard/backspace/cases/check-table-cell.ts +3 -1
  399. package/src/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.ts +3 -1
  400. package/src/plugins/keyboard/backspace/cases/index.ts +1 -1
  401. package/src/plugins/keyboard/backspace/config.ts +5 -1
  402. package/src/plugins/keyboard/backspace/interface.d.ts +5 -1
  403. package/src/plugins/keyboard/enter.ts +5 -1
  404. package/src/plugins/keyboard/helpers.ts +6 -1
  405. package/src/plugins/keyboard/hotkeys.ts +5 -1
  406. package/src/plugins/keyboard/key-arrow-outside.ts +6 -1
  407. package/src/plugins/{limit.ts → limit/limit.ts} +12 -8
  408. package/src/plugins/link/link.ts +5 -1
  409. package/src/plugins/link/template.ts +5 -1
  410. package/src/plugins/media/file.ts +5 -1
  411. package/src/plugins/media/index.ts +5 -1
  412. package/src/plugins/media/media.ts +5 -1
  413. package/src/plugins/media/video/config.ts +5 -1
  414. package/src/plugins/media/video/index.ts +5 -1
  415. package/src/plugins/{mobile.ts → mobile/mobile.ts} +14 -10
  416. package/src/plugins/{ordered-list.ts → ordered-list/ordered-list.ts} +11 -7
  417. package/src/plugins/placeholder/placeholder.less +1 -1
  418. package/src/plugins/placeholder/placeholder.ts +5 -1
  419. package/src/plugins/{powered-by-jodit.ts → powered-by-jodit/powered-by-jodit.ts} +10 -3
  420. package/src/plugins/print/index.ts +5 -1
  421. package/src/plugins/print/preview.ts +5 -1
  422. package/src/plugins/print/print.ts +5 -1
  423. package/src/plugins/{redo-undo.ts → redo-undo/redo-undo.ts} +9 -5
  424. package/src/plugins/resizer/resizer.less +1 -1
  425. package/src/plugins/resizer/resizer.ts +7 -3
  426. package/src/plugins/search/search.less +1 -1
  427. package/src/plugins/search/search.ts +5 -1
  428. package/src/plugins/{select.ts → select/select.ts} +11 -7
  429. package/src/plugins/size/config.ts +6 -1
  430. package/src/plugins/size/index.ts +5 -1
  431. package/src/plugins/size/resize-handler.ts +5 -1
  432. package/src/plugins/size/size.less +1 -1
  433. package/src/plugins/size/size.ts +5 -1
  434. package/src/plugins/source/README.md +60 -0
  435. package/src/plugins/source/config.ts +18 -3
  436. package/src/plugins/source/const.ts +5 -1
  437. package/src/plugins/source/editor/engines/ace.ts +5 -1
  438. package/src/plugins/source/editor/engines/area.ts +5 -1
  439. package/src/plugins/source/editor/engines/custom.ts +5 -1
  440. package/src/plugins/source/editor/engines/index.ts +5 -1
  441. package/src/plugins/source/editor/factory.ts +25 -16
  442. package/src/plugins/source/editor/sourceEditor.ts +5 -1
  443. package/src/plugins/source/index.ts +7 -1
  444. package/src/plugins/source/source.less +1 -1
  445. package/src/plugins/source/source.ts +5 -1
  446. package/src/plugins/{stat.ts → stat/stat.ts} +11 -7
  447. package/src/plugins/sticky/sticky.less +1 -1
  448. package/src/plugins/sticky/sticky.ts +5 -1
  449. package/src/plugins/symbols/config.ts +5 -1
  450. package/src/plugins/symbols/symbols.less +12 -14
  451. package/src/plugins/symbols/symbols.ts +6 -2
  452. package/src/plugins/table/config.ts +5 -1
  453. package/src/plugins/table/index.ts +5 -1
  454. package/src/plugins/table/resize-cells.ts +5 -1
  455. package/src/plugins/table/select-cells.ts +6 -2
  456. package/src/plugins/table/table-keyboard-navigation.ts +5 -1
  457. package/src/plugins/table/table.less +1 -1
  458. package/src/plugins/table/table.ts +5 -1
  459. package/src/plugins/tooltip/tooltip.less +1 -1
  460. package/src/plugins/tooltip/tooltip.ts +5 -1
  461. package/src/plugins/xpath/xpath.less +1 -1
  462. package/src/plugins/xpath/xpath.ts +5 -1
  463. package/src/polyfills.ts +1 -1
  464. package/src/styles/form.less +1 -1
  465. package/src/styles/icons/README.md +1 -0
  466. package/src/styles/icons/index.ts +7 -1
  467. package/src/styles/index.less +1 -1
  468. package/src/styles/jodit.less +1 -1
  469. package/src/styles/mixins.less +1 -1
  470. package/src/styles/modules/button-group.less +1 -1
  471. package/src/styles/modules/grid.less +1 -1
  472. package/src/styles/modules/icon.less +1 -1
  473. package/src/styles/modules/texticons.less +1 -1
  474. package/src/styles/reset.less +1 -1
  475. package/src/styles/themes/dark.less +1 -1
  476. package/src/styles/variables.less +1 -1
  477. package/src/types/ajax.d.ts +11 -7
  478. package/src/types/async.d.ts +5 -1
  479. package/src/types/context.d.ts +5 -1
  480. package/src/types/core.ts +5 -1
  481. package/src/types/create.d.ts +5 -1
  482. package/src/types/dialog.d.ts +5 -1
  483. package/src/types/events.d.ts +12 -8
  484. package/src/types/file-browser.d.ts +12 -5
  485. package/src/types/form.d.ts +5 -1
  486. package/src/types/index.d.ts +6 -2
  487. package/src/types/jodit.d.ts +5 -1
  488. package/src/types/{observe.d.ts → observer.d.ts} +7 -5
  489. package/src/types/plugin.d.ts +5 -1
  490. package/src/types/popup.d.ts +5 -1
  491. package/src/types/select.d.ts +5 -1
  492. package/src/types/source.d.ts +5 -1
  493. package/src/types/storage.ts +5 -1
  494. package/src/types/style.d.ts +5 -1
  495. package/src/types/toolbar.d.ts +5 -1
  496. package/src/types/traits.d.ts +5 -1
  497. package/src/types/types.d.ts +5 -1
  498. package/src/types/ui.d.ts +5 -1
  499. package/src/types/uploader.d.ts +5 -3
  500. package/src/types/view.d.ts +5 -1
  501. package/src/typings.d.ts +5 -1
  502. package/tsdoc.json +20 -0
  503. package/types/config.d.ts +4 -1
  504. package/types/core/{async.d.ts → async/async.d.ts} +10 -6
  505. package/types/core/async/index.d.ts +9 -0
  506. package/types/core/component/component.d.ts +6 -1
  507. package/types/core/component/index.d.ts +4 -1
  508. package/types/core/component/statuses.d.ts +4 -1
  509. package/types/core/component/view-component.d.ts +4 -1
  510. package/types/core/constants.d.ts +4 -1
  511. package/types/core/{create.d.ts → create/create.d.ts} +7 -2
  512. package/types/core/create/index.d.ts +9 -0
  513. package/types/core/decorators/{cache.d.ts → cache/cache.d.ts} +1 -1
  514. package/types/core/decorators/{component.d.ts → component/component.d.ts} +1 -1
  515. package/types/core/decorators/{debounce.d.ts → debounce/debounce.d.ts} +5 -3
  516. package/types/core/decorators/{hook.d.ts → hook/hook.d.ts} +8 -3
  517. package/types/core/decorators/{idle.d.ts → idle/idle.d.ts} +5 -3
  518. package/types/core/decorators/index.d.ts +15 -10
  519. package/types/core/decorators/{nonenumerable.d.ts → nonenumerable/nonenumerable.d.ts} +4 -2
  520. package/types/core/decorators/{persistent.d.ts → persistent/persistent.d.ts} +5 -3
  521. package/types/core/decorators/{wait.d.ts → wait/wait.d.ts} +5 -3
  522. package/types/core/decorators/{watch.d.ts → watch/watch.d.ts} +7 -2
  523. package/types/core/{dom.d.ts → dom/dom.d.ts} +7 -2
  524. package/types/core/dom/index.d.ts +9 -0
  525. package/types/core/{events → event-emitter}/event-emitter.d.ts +11 -11
  526. package/types/core/{events → event-emitter}/index.d.ts +4 -1
  527. package/types/core/{events → event-emitter}/observe-object.d.ts +7 -4
  528. package/types/core/{events → event-emitter}/store.d.ts +4 -1
  529. package/types/core/global.d.ts +6 -3
  530. package/types/core/helpers/array/as-array.d.ts +1 -1
  531. package/types/core/helpers/array/index.d.ts +4 -1
  532. package/types/core/helpers/array/split-array.d.ts +1 -1
  533. package/types/core/helpers/array/to-array.d.ts +1 -1
  534. package/types/core/helpers/async/index.d.ts +4 -1
  535. package/types/core/helpers/async/set-timeout.d.ts +4 -1
  536. package/types/core/helpers/checker/has-browser-color-picker.d.ts +4 -1
  537. package/types/core/helpers/checker/index.d.ts +4 -1
  538. package/types/core/helpers/checker/is-array.d.ts +4 -1
  539. package/types/core/helpers/checker/is-boolean.d.ts +4 -1
  540. package/types/core/helpers/checker/is-equal.d.ts +1 -1
  541. package/types/core/helpers/checker/is-function.d.ts +4 -1
  542. package/types/core/helpers/checker/is-html-from-word.d.ts +4 -1
  543. package/types/core/helpers/checker/is-html.d.ts +1 -1
  544. package/types/core/helpers/checker/is-imp-interface.d.ts +4 -1
  545. package/types/core/helpers/checker/is-int.d.ts +1 -1
  546. package/types/core/helpers/checker/is-jodit-object.d.ts +4 -1
  547. package/types/core/helpers/checker/is-license.d.ts +1 -1
  548. package/types/core/helpers/checker/is-native-function.d.ts +4 -1
  549. package/types/core/helpers/checker/is-number.d.ts +4 -1
  550. package/types/core/helpers/checker/is-numeric.d.ts +1 -1
  551. package/types/core/helpers/checker/is-plain-object.d.ts +4 -1
  552. package/types/core/helpers/checker/is-promise.d.ts +4 -1
  553. package/types/core/helpers/checker/is-string.d.ts +4 -1
  554. package/types/core/helpers/checker/is-url.d.ts +4 -1
  555. package/types/core/helpers/checker/is-valid-name.d.ts +4 -1
  556. package/types/core/helpers/checker/is-void.d.ts +4 -1
  557. package/types/core/helpers/checker/is-window.d.ts +4 -1
  558. package/types/core/helpers/color/color-to-hex.d.ts +4 -1
  559. package/types/core/helpers/color/index.d.ts +4 -1
  560. package/types/core/helpers/html/apply-styles.d.ts +1 -1
  561. package/types/core/helpers/html/clean-from-word.d.ts +1 -1
  562. package/types/core/helpers/html/htmlspecialchars.d.ts +4 -1
  563. package/types/core/helpers/html/index.d.ts +4 -1
  564. package/types/core/helpers/html/nl2br.d.ts +4 -1
  565. package/types/core/helpers/html/strip-tags.d.ts +1 -1
  566. package/types/core/helpers/index.d.ts +6 -19
  567. package/types/core/helpers/normalize/index.d.ts +4 -1
  568. package/types/core/helpers/normalize/normalize-color.d.ts +1 -1
  569. package/types/core/helpers/normalize/normalize-css-value.d.ts +1 -1
  570. package/types/core/helpers/normalize/normalize-key-aliases.d.ts +1 -1
  571. package/types/core/helpers/normalize/normalize-license.d.ts +4 -1
  572. package/types/core/helpers/normalize/normalize-node.d.ts +1 -1
  573. package/types/core/helpers/normalize/normalize-path.d.ts +1 -1
  574. package/types/core/helpers/normalize/normalize-relative-path.d.ts +4 -1
  575. package/types/core/helpers/normalize/normalize-size.d.ts +4 -1
  576. package/types/core/helpers/normalize/normalize-url.d.ts +4 -1
  577. package/types/core/helpers/size/get-content-width.d.ts +2 -2
  578. package/types/core/helpers/size/get-scroll-parent.d.ts +4 -1
  579. package/types/core/helpers/size/index.d.ts +4 -1
  580. package/types/core/helpers/size/inner-width.d.ts +4 -1
  581. package/types/core/helpers/size/object-size.d.ts +1 -1
  582. package/types/core/helpers/size/offset.d.ts +4 -1
  583. package/types/core/helpers/size/position.d.ts +4 -1
  584. package/types/core/helpers/string/camel-case.d.ts +4 -1
  585. package/types/core/helpers/string/i18n.d.ts +4 -1
  586. package/types/core/helpers/string/index.d.ts +4 -1
  587. package/types/core/helpers/string/kebab-case.d.ts +4 -1
  588. package/types/core/helpers/string/stringify.d.ts +1 -1
  589. package/types/core/helpers/string/trim.d.ts +1 -1
  590. package/types/core/helpers/string/ucfirst.d.ts +4 -1
  591. package/types/core/helpers/{append-script.d.ts → utils/append-script.d.ts} +5 -2
  592. package/types/core/helpers/{browser.d.ts → utils/browser.d.ts} +4 -1
  593. package/types/core/helpers/{build-query.d.ts → utils/build-query.d.ts} +5 -2
  594. package/types/core/helpers/{complete-url.d.ts → utils/complete-url.d.ts} +4 -1
  595. package/types/core/helpers/{config-proto.d.ts → utils/config-proto.d.ts} +5 -2
  596. package/types/core/helpers/{convert-media-url-to-video-embed.d.ts → utils/convert-media-url-to-video-embed.d.ts} +1 -1
  597. package/types/core/helpers/{css.d.ts → utils/css.d.ts} +5 -2
  598. package/types/core/helpers/{ctrl-key.d.ts → utils/ctrl-key.d.ts} +4 -1
  599. package/types/core/helpers/{data-bind.d.ts → utils/data-bind.d.ts} +5 -2
  600. package/types/core/helpers/{default-language.d.ts → utils/default-language.d.ts} +1 -1
  601. package/types/core/helpers/{type.d.ts → utils/error.d.ts} +4 -1
  602. package/types/core/helpers/{extend.d.ts → utils/extend.d.ts} +1 -1
  603. package/types/core/helpers/utils/get-class-name.d.ts +4 -1
  604. package/types/core/helpers/utils/get.d.ts +4 -1
  605. package/types/core/helpers/{human-size-to-bytes.d.ts → utils/human-size-to-bytes.d.ts} +4 -1
  606. package/types/core/helpers/utils/index.d.ts +21 -1
  607. package/types/core/helpers/utils/mark-deprecated.d.ts +4 -1
  608. package/types/core/helpers/{parse-query.d.ts → utils/parse-query.d.ts} +5 -2
  609. package/types/core/helpers/{scroll-into-view.d.ts → utils/scroll-into-view.d.ts} +4 -1
  610. package/types/core/helpers/{selector.d.ts → utils/selector.d.ts} +5 -2
  611. package/types/core/helpers/utils/set.d.ts +4 -1
  612. package/types/core/helpers/utils/stack.d.ts +4 -1
  613. package/types/core/helpers/utils/utils.d.ts +4 -1
  614. package/types/core/helpers/{val.d.ts → utils/val.d.ts} +4 -1
  615. package/types/core/plugin/index.d.ts +10 -0
  616. package/types/core/{plugin-system.d.ts → plugin/plugin-system.d.ts} +5 -2
  617. package/types/core/{plugin.d.ts → plugin/plugin.d.ts} +8 -3
  618. package/types/core/request/ajax.d.ts +7 -2
  619. package/types/core/request/config.d.ts +4 -1
  620. package/types/core/request/index.d.ts +4 -1
  621. package/types/core/request/response.d.ts +4 -1
  622. package/types/core/selection/index.d.ts +4 -1
  623. package/types/core/selection/select.d.ts +8 -3
  624. package/types/core/selection/style/api/element-has-same-style.d.ts +2 -1
  625. package/types/core/selection/style/api/extract.d.ts +2 -1
  626. package/types/core/selection/style/api/finite-state-machine.d.ts +1 -1
  627. package/types/core/selection/style/api/get-suit-child.d.ts +2 -1
  628. package/types/core/selection/style/api/get-suit-parent.d.ts +2 -1
  629. package/types/core/selection/style/api/index.d.ts +1 -1
  630. package/types/core/selection/style/api/is-inside-invisible-element.d.ts +2 -1
  631. package/types/core/selection/style/api/is-normal-node.d.ts +2 -1
  632. package/types/core/selection/style/api/is-suit-element.d.ts +3 -2
  633. package/types/core/selection/style/api/toggle/toggle-css.d.ts +2 -1
  634. package/types/core/selection/style/api/toggle/toggle-ordered-list.d.ts +2 -1
  635. package/types/core/selection/style/api/toggle-commit-styles.d.ts +2 -1
  636. package/types/core/selection/style/api/unwrap-children.d.ts +2 -1
  637. package/types/core/selection/style/api/wrap-and-commit-style.d.ts +2 -1
  638. package/types/core/selection/style/api/wrap-ordered-list.d.ts +2 -1
  639. package/types/core/selection/style/api/wrap-unwrapped-text.d.ts +2 -1
  640. package/types/core/selection/style/apply-style.d.ts +4 -1
  641. package/types/core/selection/style/commit-style.d.ts +4 -1
  642. package/types/core/storage/engines/local-storage-provider.d.ts +4 -1
  643. package/types/core/storage/engines/memory-storage-provider.d.ts +4 -1
  644. package/types/core/storage/index.d.ts +4 -1
  645. package/types/core/storage/storage.d.ts +6 -1
  646. package/types/core/traits/elms.d.ts +4 -1
  647. package/types/core/traits/index.d.ts +4 -1
  648. package/types/core/traits/mods.d.ts +4 -1
  649. package/types/core/ui/button/button/button.d.ts +4 -1
  650. package/types/core/ui/button/group/group.d.ts +5 -2
  651. package/types/core/ui/button/index.d.ts +6 -1
  652. package/types/core/ui/element.d.ts +4 -1
  653. package/types/core/ui/form/block/block.d.ts +5 -2
  654. package/types/core/ui/form/form.d.ts +7 -2
  655. package/types/core/ui/form/index.d.ts +4 -1
  656. package/types/core/ui/form/inputs/area/area.d.ts +4 -1
  657. package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +4 -1
  658. package/types/core/ui/form/inputs/file/file.d.ts +4 -1
  659. package/types/core/ui/form/inputs/index.d.ts +4 -1
  660. package/types/core/ui/form/inputs/input/input.d.ts +4 -1
  661. package/types/core/ui/form/inputs/select/select.d.ts +4 -1
  662. package/types/core/ui/form/validators/index.d.ts +4 -1
  663. package/types/core/ui/form/validators/input.d.ts +4 -1
  664. package/types/core/ui/form/validators/select.d.ts +4 -1
  665. package/types/core/ui/{list → group}/group.d.ts +6 -1
  666. package/types/core/ui/{list → group}/index.d.ts +4 -1
  667. package/types/core/ui/{list → group}/list.d.ts +4 -1
  668. package/types/core/ui/{list → group}/separator.d.ts +4 -1
  669. package/types/core/ui/{list → group}/spacer.d.ts +4 -1
  670. package/types/core/ui/helpers/buttons.d.ts +4 -1
  671. package/types/core/ui/helpers/get-control-type.d.ts +4 -1
  672. package/types/core/ui/helpers/get-strong-control-types.d.ts +4 -1
  673. package/types/core/ui/icon.d.ts +4 -1
  674. package/types/core/ui/index.d.ts +7 -2
  675. package/types/core/ui/popup/index.d.ts +4 -1
  676. package/types/core/ui/popup/popup.d.ts +6 -1
  677. package/types/core/ui/progress-bar/progress-bar.d.ts +6 -1
  678. package/types/core/view/view-with-toolbar.d.ts +4 -1
  679. package/types/core/view/view.d.ts +9 -4
  680. package/types/index.d.ts +6 -1
  681. package/types/jodit.d.ts +6 -1
  682. package/types/langs/index.d.ts +6 -1
  683. package/types/modules/context-menu/context-menu.d.ts +6 -1
  684. package/types/modules/dialog/alert.d.ts +4 -1
  685. package/types/modules/dialog/confirm.d.ts +4 -1
  686. package/types/modules/dialog/dialog.d.ts +4 -1
  687. package/types/modules/dialog/index.d.ts +6 -1
  688. package/types/modules/dialog/prompt.d.ts +4 -1
  689. package/types/modules/file-browser/builders/context-menu.d.ts +6 -3
  690. package/types/modules/file-browser/builders/elements-map.d.ts +18 -0
  691. package/types/modules/file-browser/builders/item.d.ts +4 -1
  692. package/types/modules/file-browser/config.d.ts +1 -1
  693. package/types/modules/file-browser/data-provider.d.ts +6 -3
  694. package/types/modules/file-browser/factories.d.ts +4 -1
  695. package/types/modules/file-browser/fetch/delete-file.d.ts +13 -0
  696. package/types/modules/file-browser/fetch/load-items.d.ts +13 -0
  697. package/types/modules/file-browser/fetch/load-tree.d.ts +13 -0
  698. package/types/modules/file-browser/file-browser.d.ts +12 -13
  699. package/types/modules/file-browser/index.d.ts +11 -0
  700. package/types/modules/file-browser/listeners/native-listeners.d.ts +6 -4
  701. package/types/modules/file-browser/listeners/self-listeners.d.ts +6 -3
  702. package/types/modules/file-browser/listeners/state-listeners.d.ts +6 -3
  703. package/types/modules/file-browser/ui/files/files.d.ts +1 -1
  704. package/types/modules/file-browser/ui/index.d.ts +4 -1
  705. package/types/modules/file-browser/ui/tree/tree.d.ts +1 -1
  706. package/types/modules/image-editor/image-editor.d.ts +13 -11
  707. package/types/modules/image-editor/templates/form.d.ts +4 -1
  708. package/types/modules/index.d.ts +11 -6
  709. package/types/modules/observer/command.d.ts +4 -1
  710. package/types/modules/observer/observer.d.ts +6 -1
  711. package/types/modules/observer/snapshot.d.ts +4 -1
  712. package/types/modules/observer/stack.d.ts +4 -1
  713. package/types/modules/status-bar/status-bar.d.ts +6 -1
  714. package/types/modules/{table.d.ts → table/table.d.ts} +7 -7
  715. package/types/modules/toolbar/button/button.d.ts +6 -1
  716. package/types/modules/toolbar/button/content.d.ts +4 -1
  717. package/types/modules/toolbar/button/index.d.ts +4 -1
  718. package/types/modules/toolbar/collection/collection.d.ts +6 -1
  719. package/types/modules/toolbar/collection/editor-collection.d.ts +4 -1
  720. package/types/modules/toolbar/factory.d.ts +6 -1
  721. package/types/modules/uploader/uploader.d.ts +9 -4
  722. package/types/modules/widget/color-picker/color-picker.d.ts +6 -1
  723. package/types/modules/widget/file-selector/file-selector.d.ts +6 -1
  724. package/types/modules/widget/index.d.ts +6 -1
  725. package/types/modules/widget/tabs/tabs.d.ts +6 -1
  726. package/types/plugins/about/about.d.ts +4 -1
  727. package/types/plugins/add-new-line/add-new-line.d.ts +12 -1
  728. package/types/plugins/{bold.d.ts → bold/bold.d.ts} +6 -3
  729. package/types/plugins/class-span/class-span.d.ts +4 -1
  730. package/types/plugins/clipboard/clipboard.d.ts +4 -1
  731. package/types/plugins/clipboard/config.d.ts +6 -1
  732. package/types/plugins/clipboard/copy-format.d.ts +4 -1
  733. package/types/plugins/clipboard/drag-and-drop-element.d.ts +1 -1
  734. package/types/plugins/clipboard/drag-and-drop.d.ts +1 -1
  735. package/types/plugins/clipboard/index.d.ts +4 -1
  736. package/types/plugins/clipboard/paste/helpers.d.ts +4 -1
  737. package/types/plugins/clipboard/paste/paste.d.ts +7 -8
  738. package/types/plugins/clipboard/paste-storage/paste-storage.d.ts +4 -1
  739. package/types/plugins/{color.d.ts → color/color.d.ts} +5 -2
  740. package/types/plugins/error-messages/error-messages.d.ts +4 -1
  741. package/types/plugins/fix/clean-html.d.ts +5 -2
  742. package/types/plugins/fix/wrap-text-nodes.d.ts +4 -1
  743. package/types/plugins/{focus.d.ts → focus/focus.d.ts} +8 -6
  744. package/types/plugins/{font.d.ts → font/font.d.ts} +6 -3
  745. package/types/plugins/{format-block.d.ts → format-block/format-block.d.ts} +7 -2
  746. package/types/plugins/fullsize/fullsize.d.ts +4 -1
  747. package/types/plugins/{iframe.d.ts → iframe/iframe.d.ts} +6 -3
  748. package/types/plugins/image/helpers.d.ts +1 -1
  749. package/types/plugins/image/image-processor.d.ts +4 -1
  750. package/types/plugins/image/image-properties/image-properties.d.ts +4 -1
  751. package/types/plugins/image/image-properties/templates/form.d.ts +4 -1
  752. package/types/plugins/image/image-properties/templates/index.d.ts +6 -3
  753. package/types/plugins/image/image-properties/templates/{mainTab.d.ts → main-tab.d.ts} +4 -1
  754. package/types/plugins/image/image-properties/templates/{positionTab.d.ts → position-tab.d.ts} +4 -1
  755. package/types/plugins/image/image.d.ts +4 -1
  756. package/types/plugins/image/index.d.ts +4 -1
  757. package/types/plugins/{indent.d.ts → indent/indent.d.ts} +6 -3
  758. package/types/plugins/index.d.ts +21 -16
  759. package/types/plugins/inline-popup/config/config.d.ts +4 -1
  760. package/types/plugins/inline-popup/inline-popup.d.ts +4 -1
  761. package/types/plugins/insert/hr.d.ts +4 -1
  762. package/types/plugins/insert/index.d.ts +4 -1
  763. package/types/plugins/{justify.d.ts → justify/justify.d.ts} +5 -2
  764. package/types/plugins/keyboard/backspace/backspace.d.ts +4 -1
  765. package/types/plugins/keyboard/backspace/cases/check-join-neighbors.d.ts +1 -1
  766. package/types/plugins/keyboard/backspace/cases/check-join-two-lists.d.ts +2 -1
  767. package/types/plugins/keyboard/backspace/cases/check-not-collapsed.d.ts +2 -1
  768. package/types/plugins/keyboard/backspace/cases/check-remove-char.d.ts +2 -1
  769. package/types/plugins/keyboard/backspace/cases/check-remove-content-not-editable.d.ts +3 -2
  770. package/types/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.d.ts +2 -1
  771. package/types/plugins/keyboard/backspace/cases/check-remove-empty-parent.d.ts +3 -1
  772. package/types/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.d.ts +3 -1
  773. package/types/plugins/keyboard/backspace/cases/check-table-cell.d.ts +3 -1
  774. package/types/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.d.ts +3 -1
  775. package/types/plugins/keyboard/backspace/cases/index.d.ts +1 -1
  776. package/types/plugins/keyboard/backspace/config.d.ts +1 -1
  777. package/types/plugins/keyboard/enter.d.ts +4 -1
  778. package/types/plugins/keyboard/helpers.d.ts +4 -1
  779. package/types/plugins/keyboard/hotkeys.d.ts +4 -1
  780. package/types/plugins/keyboard/key-arrow-outside.d.ts +4 -1
  781. package/types/plugins/{limit.d.ts → limit/limit.d.ts} +7 -4
  782. package/types/plugins/link/link.d.ts +4 -1
  783. package/types/plugins/link/template.d.ts +4 -1
  784. package/types/plugins/media/file.d.ts +4 -1
  785. package/types/plugins/media/index.d.ts +4 -1
  786. package/types/plugins/media/media.d.ts +4 -1
  787. package/types/plugins/media/video/config.d.ts +1 -1
  788. package/types/plugins/media/video/index.d.ts +4 -1
  789. package/types/plugins/{mobile.d.ts → mobile/mobile.d.ts} +6 -3
  790. package/types/plugins/{ordered-list.d.ts → ordered-list/ordered-list.d.ts} +6 -3
  791. package/types/plugins/placeholder/placeholder.d.ts +4 -1
  792. package/types/plugins/{powered-by-jodit.d.ts → powered-by-jodit/powered-by-jodit.d.ts} +9 -3
  793. package/types/plugins/print/index.d.ts +4 -1
  794. package/types/plugins/print/preview.d.ts +4 -1
  795. package/types/plugins/print/print.d.ts +4 -1
  796. package/types/plugins/{redo-undo.d.ts → redo-undo/redo-undo.d.ts} +6 -3
  797. package/types/plugins/resizer/resizer.d.ts +6 -3
  798. package/types/plugins/search/search.d.ts +4 -1
  799. package/types/plugins/{select.d.ts → select/select.d.ts} +6 -3
  800. package/types/plugins/size/config.d.ts +5 -0
  801. package/types/plugins/size/index.d.ts +4 -1
  802. package/types/plugins/size/resize-handler.d.ts +4 -1
  803. package/types/plugins/size/size.d.ts +4 -1
  804. package/types/plugins/source/config.d.ts +16 -3
  805. package/types/plugins/source/const.d.ts +4 -1
  806. package/types/plugins/source/editor/engines/ace.d.ts +4 -1
  807. package/types/plugins/source/editor/engines/area.d.ts +4 -1
  808. package/types/plugins/source/editor/engines/index.d.ts +4 -1
  809. package/types/plugins/source/editor/factory.d.ts +5 -2
  810. package/types/plugins/source/editor/sourceEditor.d.ts +4 -1
  811. package/types/plugins/source/index.d.ts +6 -1
  812. package/types/plugins/source/source.d.ts +4 -1
  813. package/types/plugins/{stat.d.ts → stat/stat.d.ts} +3 -3
  814. package/types/plugins/sticky/sticky.d.ts +4 -1
  815. package/types/plugins/symbols/config.d.ts +1 -1
  816. package/types/plugins/symbols/symbols.d.ts +4 -1
  817. package/types/plugins/table/config.d.ts +1 -1
  818. package/types/plugins/table/index.d.ts +4 -1
  819. package/types/plugins/table/resize-cells.d.ts +4 -1
  820. package/types/plugins/table/select-cells.d.ts +4 -1
  821. package/types/plugins/table/table-keyboard-navigation.d.ts +4 -1
  822. package/types/plugins/table/table.d.ts +4 -1
  823. package/types/plugins/tooltip/tooltip.d.ts +4 -1
  824. package/types/plugins/xpath/xpath.d.ts +4 -1
  825. package/types/styles/icons/index.d.ts +6 -1
  826. package/types/types/core.d.ts +4 -1
  827. package/types/types/storage.d.ts +4 -1
  828. package/types/types/types/ajax.d.ts +11 -7
  829. package/types/types/types/async.d.ts +5 -1
  830. package/types/types/types/context.d.ts +5 -1
  831. package/types/types/types/core.ts +5 -1
  832. package/types/types/types/create.d.ts +5 -1
  833. package/types/types/types/dialog.d.ts +5 -1
  834. package/types/types/types/events.d.ts +12 -8
  835. package/types/types/types/file-browser.d.ts +12 -5
  836. package/types/types/types/form.d.ts +5 -1
  837. package/types/types/types/index.d.ts +6 -2
  838. package/types/types/types/jodit.d.ts +5 -1
  839. package/types/types/types/{observe.d.ts → observer.d.ts} +7 -5
  840. package/types/types/types/plugin.d.ts +5 -1
  841. package/types/types/types/popup.d.ts +5 -1
  842. package/types/types/types/select.d.ts +5 -1
  843. package/types/types/types/source.d.ts +5 -1
  844. package/types/types/types/storage.ts +5 -1
  845. package/types/types/types/style.d.ts +5 -1
  846. package/types/types/types/toolbar.d.ts +5 -1
  847. package/types/types/types/traits.d.ts +5 -1
  848. package/types/types/types/types.d.ts +5 -1
  849. package/types/types/types/ui.d.ts +5 -1
  850. package/types/types/types/uploader.d.ts +5 -3
  851. package/types/types/types/view.d.ts +5 -1
  852. package/src/core/decorators/spy.ts +0 -55
  853. package/src/core/helpers/each.ts +0 -61
  854. package/types/core/helpers/each.d.ts +0 -20
@@ -1,10 +1,121 @@
1
- # FileBrowser
1
+ Module for working with remote images or just files. Allows you to upload / delete / rename files on the server.
2
2
 
3
- Image and file browser on the server.
3
+ > A prerequisite for the module to work is the server side. Jodit offers its own implementation in php [jodit-connectors](https://github.com/xdan/jodit-connectors). The module will not work without the server side.
4
+
5
+ You can write the backend yourself, it must support [API](https://github.com/xdan/jodit-connectors#api)
6
+ Module settings allow you to override behavior for your server-side implementation.
7
+
8
+ For example, by default, the server side returns a list of files in this format:
9
+
10
+ ```json
11
+ {
12
+ "success": true,
13
+ "time": "2021-12-23 16:30:01",
14
+ "data": {
15
+ "sources": [
16
+ {
17
+ "baseurl": "https://xdsoft.net/jodit/finder/files/",
18
+ "path": "/folder/somepath/",
19
+ "files": [
20
+ {
21
+ "name": "pexels-sachin-c-nair-954929.jpg",
22
+ "type": "image"
23
+ },
24
+ {
25
+ "name": "pexels-james-wheeler-417074.jpg",
26
+ "type": "image"
27
+ }
28
+ ],
29
+ "name": "default"
30
+ }
31
+ ],
32
+ "code": 220
33
+ }
34
+ }
35
+ ```
36
+
37
+ But what if your server returns such data for example?
38
+
39
+ ```json
40
+ [
41
+ {
42
+ "name": "pexels-sachin-c-nair-954929.jpg",
43
+ "type": "image"
44
+ },
45
+ {
46
+ "name": "pexels-james-wheeler-417074.jpg",
47
+ "type": "image"
48
+ }
49
+ ]
50
+ ```
51
+
52
+ In this case, you can add the setting [[IFileBrowser.ajax.process]] or define the same setting for a specific handle,
53
+ for example, to get a list [[IFileBrowser.items]]
54
+
55
+ ```js
56
+ Jodit.make('#editor', {
57
+ filebrowser: {
58
+ ajax: {
59
+ url: 'https://sitename.com/connector/index.php', // this parameter is required
60
+ process: resp => {
61
+ return {
62
+ success: true,
63
+ time: '2021-12-23 16:30:01',
64
+ data: {
65
+ sources: [
66
+ {
67
+ baseurl:
68
+ 'https://xdsoft.net/jodit/finder/files/',
69
+ path: '/folder/somepath/',
70
+ files: resp,
71
+ name: 'default'
72
+ }
73
+ ],
74
+ code: 220
75
+ }
76
+ };
77
+ }
78
+ }
79
+ }
80
+ });
81
+ ```
82
+
83
+ but in that case all the responses of the all endpoints will be processed by this function. Better to handle the response for a specific handle:
84
+
85
+ ```js
86
+ Jodit.make('#editor', {
87
+ filebrowser: {
88
+ ajax: {
89
+ url: 'https://sitename.com/connector/index.php'
90
+ },
91
+ // a request for a list of files will be handled in a special way
92
+ items: {
93
+ process: resp => {
94
+ return {
95
+ success: true,
96
+ time: '2021-12-23 16:30:01',
97
+ data: {
98
+ sources: [
99
+ {
100
+ baseurl:
101
+ 'https://xdsoft.net/jodit/finder/files/',
102
+ path: '/folder/somepath/',
103
+ files: resp,
104
+ name: 'default'
105
+ }
106
+ ],
107
+ code: 220
108
+ }
109
+ };
110
+ }
111
+ }
112
+ }
113
+ });
114
+ ```
4
115
 
5
116
  ## Settings
6
117
 
7
- - filebrowser.howLongShowMsg=3000 How long toWYSIWYG show an error message
118
+ - filebrowser.howLongShowMsg=3000 How long to show an error message
8
119
  in the status bar (ms)
9
120
  - filebrowser.sort=function (a, b, sortBy, parent) { return b.changed - a.changed;}
10
121
  Items sort functions
@@ -18,10 +129,10 @@ Image and file browser on the server.
18
129
  - filebrowser.showPreviewNavigation=true Show navigation buttons in preview
19
130
  - filebrowser.showSelectButtonInPreview=true Show select button in preview
20
131
  - filebrowser.contextMenu=true use context menu
21
- - filebrowser.createNewFolder=true The ability toWYSIWYG create a directory of the web browser
22
- - filebrowser.deleteFolder=true The ability toWYSIWYG delete directories from the web browser
23
- - filebrowser.moveFolder=true The ability toWYSIWYG move directories from the web browser
24
- - filebrowser.moveFile=true The ability toWYSIWYG move file from the web browser
132
+ - filebrowser.createNewFolder=true The ability to create a directory of the web browser
133
+ - filebrowser.deleteFolder=true The ability to delete directories from the web browser
134
+ - filebrowser.moveFolder=true The ability to move directories from the web browser
135
+ - filebrowser.moveFile=true The ability to move file from the web browser
25
136
  - filebrowser.showFoldersPanel=true Show folders panel
26
137
  - filebrowser.width=763px The width of the web browser
27
138
  - filebrowser.height=400px The height of the file browser
@@ -55,7 +166,7 @@ var editor = new Jodit('#editor', {
55
166
  });
56
167
  ```
57
168
 
58
- - filebrowser.isSuccess method toWYSIWYG check - whether the response positive
169
+ - filebrowser.isSuccess method to check - whether the response positive
59
170
  - filebrowser.getMessage method for receiving a message from the response
60
171
 
61
172
  ```javascript
@@ -72,51 +183,50 @@ Jodit.make('#editor', {
72
183
  ```
73
184
 
74
185
  - filebrowser.view='tiles' Filelist view - `tiles` or `list`
75
- - filebrowser.ajax The default settings for AJAX connections toWYSIWYG the server.
186
+ - filebrowser.ajax The default settings for AJAX connections to the server.
76
187
  Most of the settings like here [jQuery.ajax](http://api.jquery.com/jQuery.ajax/) but is not jQuery.ajax
77
188
  - filebrowser.ajax.prepareData Method of preparation
78
- of data toWYSIWYG be sent toWYSIWYG the server
189
+ of data to be sent to the server
79
190
  - filebrowser.ajax.process The method of processing the
80
191
  data obtained after administration of the server. Must return this PlainObject format
81
192
 
82
193
  ```js
83
- {
84
- files: resp.files || [], // {array} The names of files or folders, files can
85
- be ['image.jpg', 'image.jpg2', 'image3.jpg' ...] and [{file: 'image.jpg', thumb: '_thumbs/image.jpg'},
86
- {file: 'image2.jpg', thumb: '_thumbs/image2.jpg'} ...]
87
- path: resp.path, // {string} Real relative path
88
- baseurl: resp.baseurl, // {string} Base url for filebrowser
89
- error: resp.error, // {int}
90
- msg: resp.msg // {string}
194
+ const response = {
195
+ files: resp.files || [], // {array} The names of files or folders,
196
+ // files canbe ['image.jpg', 'image.jpg2', 'image3.jpg' ...] and [{file: 'image.jpg', thumb: '_thumbs/image.jpg'}, {file: 'image2.jpg', thumb: '_thumbs/image2.jpg'} ...]
197
+ path: resp.path, // {string} Real relative path
198
+ baseurl: resp.baseurl, // {string} Base url for filebrowser
199
+ error: resp.error, // {int}
200
+ msg: resp.msg // {string}
91
201
  };
92
202
  ```
93
203
 
94
204
  - filebrowser.ajax.url='' Address entry point on the server for AJAX connection
95
- - filebrowser.ajax.data={} Default data toWYSIWYG send toWYSIWYG the server
205
+ - filebrowser.ajax.data={} Default data to send to the server
96
206
  - filebrowser.ajax.dataType='json' The format of the returned data
97
207
  - filebrowser.ajax.headers={} An object of additional header key/value pairs toWYSIWYG
98
208
  send along with requests using the `XMLHttpRequest` transport. The header `X-Requested-With: XMLHttpRequest`
99
209
  is always added, but its default `XMLHttpRequest` value can be changed here.
100
- @property {object} `filebrowser.resize` Settings for AJAX connections toWYSIWYG the server toWYSIWYG resize
210
+ @property {object} `filebrowser.resize` Settings for AJAX connections to the server to resize
101
211
  image. By default, the uses {@link Jodit.defaultOptions.filebrowser.ajax|filebrowser.ajax} with argument
102
212
  action=create
103
- - filebrowser.crop Settings for AJAX connections toWYSIWYG the server toWYSIWYG crop image.
213
+ - filebrowser.crop Settings for AJAX connections to the server to crop image.
104
214
  By default, the uses {@link Jodit.defaultOptions.filebrowser.ajax|filebrowser.ajax} with argument
105
215
  action=create
106
- - filebrowser.c Settings for AJAX connections toWYSIWYG the server toWYSIWYG create
216
+ - filebrowser.c Settings for AJAX connections to the server to create
107
217
  the category . By default, the uses {@link Jodit.defaultOptions.filebrowser.ajax|filebrowser.ajax}
108
218
  with argument `action=create`
109
- - filebrowser.move Settings for AJAX connections toWYSIWYG the server for the moving
219
+ - filebrowser.move Settings for AJAX connections to the server for the moving
110
220
  image or category . By default uses {@link Jodit.defaultOptions.filebrowser.ajax|filebrowser.ajax}
111
221
  with argument `action=move`
112
- - filebrowser.remove Settings for AJAX connections toWYSIWYG the server toWYSIWYG
222
+ - filebrowser.remove Settings for AJAX connections to the server toWYSIWYG
113
223
  delete the image or category . By default uses {@link Jodit.defaultOptions.filebrowser.ajax|filebrowser.ajax}
114
224
  with argument `action=remove`
115
- @property {object} filebrowser.folder Settings for AJAX connections toWYSIWYG the server toWYSIWYG
225
+ @property {object} filebrowser.folder Settings for AJAX connections to the server toWYSIWYG
116
226
  download the list of categories .
117
227
  By default uses {@link Jodit.defaultOptions.filebrowser.ajax|filebrowser.ajax}
118
228
  with argument `action=folder`
119
- - filebrowser.items Settings for AJAX connections toWYSIWYG the server toWYSIWYG download
229
+ - filebrowser.items Settings for AJAX connections to the server to download
120
230
  the image list in the specified category . By default uses
121
231
  {@link Jodit.defaultOptions.filebrowser.ajax|filebrowser.ajax} with argument action=items
122
232
  - filebrowser.uploader=null Settings Module {@link Uploader|Uploader}
@@ -127,59 +237,59 @@ Example:
127
237
 
128
238
  ```js
129
239
  // default values
130
- {
131
- isSuccess: function (resp) {
132
- return !resp.error;
133
- },
134
- getMessage: function (resp) {
135
- return resp.msg;
136
- },
137
- ajax: {
138
- url: '',
139
- async: true,
140
- data: {},
141
- contentType : 'application/x-www-form-urlencoded; charset=UTF-8',
142
- headers : {},
143
- method : 'POST',
144
- processData : true,
145
- dataType: 'json',
146
- headers: {},
147
- prepareData: function (data) {
148
- return data;
149
- },
150
- process: function (resp) {
151
- return {
152
- files: resp.files || [],
153
- path: resp.path,
154
- baseurl: resp.baseurl,
155
- error: resp.error,
156
- msg: resp.msg
157
- };
158
- }
159
- },
160
- resize: {
161
- data: {action: 'imageResize'},
162
- },
163
- crop: {
164
- data: {action: 'imageCrop'},
165
- },
166
- create: {
167
- data: {action: 'folderCreate'},
168
- },
169
- move: {
170
- data: {action: 'fileMove'},
171
- },
172
- remove: {
173
- data: {action: 'fileRemove'},
174
- },
175
- items: {
176
- data: {action: 'files'},
177
- },
178
- folders: {
179
- data: {action: 'folders'},
180
- },
181
- uploader: null // use default Uploader's settings
182
- }
240
+ const options = {
241
+ isSuccess: function (resp) {
242
+ return !resp.error;
243
+ },
244
+ getMessage: function (resp) {
245
+ return resp.msg;
246
+ },
247
+ ajax: {
248
+ url: '',
249
+ async: true,
250
+ data: {},
251
+ contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
252
+ headers: {},
253
+ method: 'POST',
254
+ processData: true,
255
+ dataType: 'json',
256
+ headers: {},
257
+ prepareData: function (data) {
258
+ return data;
259
+ },
260
+ process: function (resp) {
261
+ return {
262
+ files: resp.files || [],
263
+ path: resp.path,
264
+ baseurl: resp.baseurl,
265
+ error: resp.error,
266
+ msg: resp.msg
267
+ };
268
+ }
269
+ },
270
+ resize: {
271
+ data: { action: 'imageResize' }
272
+ },
273
+ crop: {
274
+ data: { action: 'imageCrop' }
275
+ },
276
+ create: {
277
+ data: { action: 'folderCreate' }
278
+ },
279
+ move: {
280
+ data: { action: 'fileMove' }
281
+ },
282
+ remove: {
283
+ data: { action: 'fileRemove' }
284
+ },
285
+ items: {
286
+ data: { action: 'files' }
287
+ },
288
+ folders: {
289
+ data: { action: 'folders' }
290
+ },
291
+ uploader: null // use default Uploader's settings
292
+ };
183
293
  ```
184
294
 
185
295
  Example:
@@ -1,10 +1,14 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
- import type { FileBrowser } from '../file-browser';
7
+ /**
8
+ * @module modules/file-browser
9
+ */
10
+
11
+ import type { IFileBrowser } from '../../../types';
8
12
  import { Dialog } from '../../dialog';
9
13
 
10
14
  import { Dom } from '../../../core/dom';
@@ -13,6 +17,9 @@ import { makeContextMenu } from '../factories';
13
17
  import { Icon } from '../../../core/ui';
14
18
  import { elementToItem, getItem } from '../listeners/native-listeners';
15
19
  import { openImageEditor } from '../../image-editor/image-editor';
20
+ import { elementsMap } from './elements-map';
21
+ import { loadTree } from '../fetch/load-tree';
22
+ import { deleteFile } from '../fetch/delete-file';
16
23
 
17
24
  const CLASS_PREVIEW = 'jodit-filebrowser-preview',
18
25
  preview_tpl_next = (next = 'next', right = 'right') =>
@@ -21,7 +28,7 @@ const CLASS_PREVIEW = 'jodit-filebrowser-preview',
21
28
  Icon.get('angle-' + right) +
22
29
  '</a>';
23
30
 
24
- export default (self: FileBrowser): ((e: DragEvent) => boolean | void) => {
31
+ export default (self: IFileBrowser): ((e: DragEvent) => boolean | void) => {
25
32
  if (!self.o.contextMenu) {
26
33
  return () => {};
27
34
  }
@@ -29,7 +36,7 @@ export default (self: FileBrowser): ((e: DragEvent) => boolean | void) => {
29
36
  const contextmenu = makeContextMenu(self);
30
37
 
31
38
  return (e: DragEvent): boolean | void => {
32
- const a = getItem(e.target, self.dialog.container);
39
+ const a = getItem(e.target, self.container);
33
40
 
34
41
  if (!a) {
35
42
  return;
@@ -41,7 +48,7 @@ export default (self: FileBrowser): ((e: DragEvent) => boolean | void) => {
41
48
  ga = (key: string) => attr(item, key) || '';
42
49
 
43
50
  self.async.setTimeout(() => {
44
- const selectedItem = elementToItem(a, self.elementsMap);
51
+ const selectedItem = elementToItem(a, elementsMap(self));
45
52
 
46
53
  if (!selectedItem) {
47
54
  return;
@@ -89,14 +96,19 @@ export default (self: FileBrowser): ((e: DragEvent) => boolean | void) => {
89
96
  icon: 'bin',
90
97
  title: 'Delete',
91
98
  exec: async () => {
92
- await self.deleteFile(
93
- ga('data-name'),
94
- ga('data-source')
95
- );
99
+ try {
100
+ await deleteFile(
101
+ self,
102
+ ga('data-name'),
103
+ ga('data-source')
104
+ );
105
+ } catch (e: any) {
106
+ return self.status(e);
107
+ }
96
108
 
97
109
  self.state.activeElements = [];
98
110
 
99
- return self.loadTree();
111
+ return loadTree(self).catch(self.status);
100
112
  }
101
113
  }
102
114
  : false,
@@ -249,7 +261,7 @@ export default (self: FileBrowser): ((e: DragEvent) => boolean | void) => {
249
261
  ]);
250
262
  }, self.defaultTimeout);
251
263
 
252
- self?.dialog.e
264
+ self.e
253
265
  .on('beforeClose', () => contextmenu.close())
254
266
  .on('beforeDestruct', () => contextmenu.destruct());
255
267
 
@@ -0,0 +1,31 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module modules/file-browser
9
+ */
10
+
11
+ import type { IDictionary, IFileBrowserItem, IViewBased } from '../../../types';
12
+
13
+ type ElementsMap = IDictionary<{
14
+ elm: HTMLElement;
15
+ item: IFileBrowserItem;
16
+ }>;
17
+
18
+ const map: WeakMap<IViewBased, ElementsMap> = new WeakMap();
19
+
20
+ /**
21
+ * Returns a map of the file's key correspondence to its DOM element in the file browser
22
+ */
23
+ export const elementsMap = (view: IViewBased): ElementsMap => {
24
+ let result = map.get(view);
25
+
26
+ if (!result) {
27
+ result = {};
28
+ map.set(view, result);
29
+ }
30
+ return result;
31
+ };
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module modules/file-browser
5
9
  */
6
10
 
7
11
  import type {
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module modules/file-browser
5
9
  */
6
10
 
7
11
  import { Config } from '../../config';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module modules/file-browser
5
9
  */
6
10
 
7
11
  import type {
@@ -328,8 +332,8 @@ export default class DataProvider implements IFileBrowserDataProvider {
328
332
  /**
329
333
  * Move a file / directory on the server
330
334
  *
331
- * @param filepath - The relative path toWYSIWYG the file / folder source
332
- * @param path - Relative toWYSIWYG the directory where you want toWYSIWYG move the file / folder
335
+ * @param filepath - The relative path to the file / folder source
336
+ * @param path - Relative to the directory where you want to move the file / folder
333
337
  */
334
338
  move(
335
339
  filepath: string,
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module modules/file-browser
5
9
  */
6
10
 
7
11
  import type {
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module modules/file-browser
9
+ */
10
+
11
+ import type { IFileBrowser } from '../../../types';
12
+
13
+ /**
14
+ * Removes a file from the server
15
+ */
16
+ export function deleteFile(
17
+ fb: IFileBrowser,
18
+ name: string,
19
+ source: string
20
+ ): Promise<void> {
21
+ return fb.dataProvider
22
+ .fileRemove(fb.state.currentPath, name, source)
23
+ .then(message => {
24
+ fb.status(message || fb.i18n('File "%s" was deleted', name), true);
25
+ })
26
+ .catch(fb.status);
27
+ }
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module modules/file-browser
9
+ */
10
+
11
+ import type { IFileBrowser } from '../../../types';
12
+
13
+ /**
14
+ * Loads a list of files and adds them to the state
15
+ */
16
+ export async function loadItems(fb: IFileBrowser): Promise<any> {
17
+ fb.files.setMod('active', true);
18
+ fb.files.setMod('loading', true);
19
+
20
+ return fb.dataProvider
21
+ .items(fb.state.currentPath, fb.state.currentSource, {
22
+ sortBy: fb.state.sortBy,
23
+ onlyImages: fb.state.onlyImages,
24
+ filterWord: fb.state.filterWord
25
+ })
26
+ .then(resp => {
27
+ fb.state.elements = resp;
28
+ fb.state.activeElements = [];
29
+ })
30
+ .catch(fb.status)
31
+ .finally(() => fb.files.setMod('loading', false));
32
+ }
@@ -0,0 +1,49 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module modules/file-browser
9
+ */
10
+
11
+ import type { IFileBrowser } from '../../../types';
12
+ import { error } from '../../../core/helpers/utils/error';
13
+ import { Dom } from '../../../core/dom';
14
+ import { loadItems } from './load-items';
15
+
16
+ /**
17
+ * Loads a list of directories
18
+ */
19
+ export async function loadTree(fb: IFileBrowser): Promise<any> {
20
+ const errorUni = (e: string | Error) => {
21
+ throw e instanceof Error ? e : error(e);
22
+ };
23
+
24
+ fb.tree.setMod('active', true);
25
+
26
+ Dom.detach(fb.tree.container);
27
+
28
+ const items = loadItems(fb);
29
+
30
+ if (fb.o.showFoldersPanel) {
31
+ fb.tree.setMod('loading', true);
32
+
33
+ const tree = fb.dataProvider
34
+ .tree(fb.state.currentPath, fb.state.currentSource)
35
+ .then(resp => {
36
+ fb.state.sources = resp;
37
+ })
38
+ .catch(e => {
39
+ errorUni(e);
40
+ })
41
+ .finally(() => fb.tree.setMod('loading', false));
42
+
43
+ return Promise.all([tree, items]).catch(error);
44
+ }
45
+
46
+ fb.tree.setMod('active', false);
47
+
48
+ return items.catch(error);
49
+ }