eztech-core-components 1.0.0

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 (649) hide show
  1. package/assets/css/index.css +405 -0
  2. package/ckeditor/CHANGES.md +2339 -0
  3. package/ckeditor/LICENSE.md +1444 -0
  4. package/ckeditor/MongolianScript.ttf +0 -0
  5. package/ckeditor/README.md +39 -0
  6. package/ckeditor/SECURITY.md +10 -0
  7. package/ckeditor/adapters/jquery.js +10 -0
  8. package/ckeditor/bender-runner.config.json +16 -0
  9. package/ckeditor/build-config.js +193 -0
  10. package/ckeditor/ckcontent.css +71 -0
  11. package/ckeditor/ckeditor.js +1446 -0
  12. package/ckeditor/cmdashitseden.ttf +0 -0
  13. package/ckeditor/config.js +21 -0
  14. package/ckeditor/contents.css +220 -0
  15. package/ckeditor/lang/af.js +5 -0
  16. package/ckeditor/lang/ar.js +5 -0
  17. package/ckeditor/lang/az.js +5 -0
  18. package/ckeditor/lang/bg.js +5 -0
  19. package/ckeditor/lang/bn.js +5 -0
  20. package/ckeditor/lang/bs.js +5 -0
  21. package/ckeditor/lang/ca.js +5 -0
  22. package/ckeditor/lang/cs.js +5 -0
  23. package/ckeditor/lang/cy.js +5 -0
  24. package/ckeditor/lang/da.js +5 -0
  25. package/ckeditor/lang/de-ch.js +5 -0
  26. package/ckeditor/lang/de.js +5 -0
  27. package/ckeditor/lang/el.js +5 -0
  28. package/ckeditor/lang/en-au.js +5 -0
  29. package/ckeditor/lang/en-ca.js +5 -0
  30. package/ckeditor/lang/en-gb.js +5 -0
  31. package/ckeditor/lang/en.js +5 -0
  32. package/ckeditor/lang/eo.js +5 -0
  33. package/ckeditor/lang/es-mx.js +5 -0
  34. package/ckeditor/lang/es.js +5 -0
  35. package/ckeditor/lang/et.js +5 -0
  36. package/ckeditor/lang/eu.js +5 -0
  37. package/ckeditor/lang/fa.js +5 -0
  38. package/ckeditor/lang/fi.js +5 -0
  39. package/ckeditor/lang/fo.js +5 -0
  40. package/ckeditor/lang/fr-ca.js +5 -0
  41. package/ckeditor/lang/fr.js +5 -0
  42. package/ckeditor/lang/gl.js +5 -0
  43. package/ckeditor/lang/gu.js +5 -0
  44. package/ckeditor/lang/he.js +5 -0
  45. package/ckeditor/lang/hi.js +5 -0
  46. package/ckeditor/lang/hr.js +5 -0
  47. package/ckeditor/lang/hu.js +5 -0
  48. package/ckeditor/lang/id.js +5 -0
  49. package/ckeditor/lang/is.js +5 -0
  50. package/ckeditor/lang/it.js +5 -0
  51. package/ckeditor/lang/ja.js +5 -0
  52. package/ckeditor/lang/ka.js +5 -0
  53. package/ckeditor/lang/km.js +5 -0
  54. package/ckeditor/lang/ko.js +5 -0
  55. package/ckeditor/lang/ku.js +5 -0
  56. package/ckeditor/lang/lt.js +5 -0
  57. package/ckeditor/lang/lv.js +5 -0
  58. package/ckeditor/lang/mk.js +5 -0
  59. package/ckeditor/lang/mn.js +5 -0
  60. package/ckeditor/lang/ms.js +5 -0
  61. package/ckeditor/lang/nb.js +5 -0
  62. package/ckeditor/lang/nl.js +5 -0
  63. package/ckeditor/lang/no.js +5 -0
  64. package/ckeditor/lang/oc.js +5 -0
  65. package/ckeditor/lang/pl.js +5 -0
  66. package/ckeditor/lang/pt-br.js +5 -0
  67. package/ckeditor/lang/pt.js +5 -0
  68. package/ckeditor/lang/ro.js +5 -0
  69. package/ckeditor/lang/ru.js +5 -0
  70. package/ckeditor/lang/si.js +5 -0
  71. package/ckeditor/lang/sk.js +5 -0
  72. package/ckeditor/lang/sl.js +5 -0
  73. package/ckeditor/lang/sq.js +5 -0
  74. package/ckeditor/lang/sr-latn.js +5 -0
  75. package/ckeditor/lang/sr.js +5 -0
  76. package/ckeditor/lang/sv.js +5 -0
  77. package/ckeditor/lang/th.js +5 -0
  78. package/ckeditor/lang/tr.js +5 -0
  79. package/ckeditor/lang/tt.js +5 -0
  80. package/ckeditor/lang/ug.js +5 -0
  81. package/ckeditor/lang/uk.js +5 -0
  82. package/ckeditor/lang/vi.js +5 -0
  83. package/ckeditor/lang/zh-cn.js +5 -0
  84. package/ckeditor/lang/zh.js +5 -0
  85. package/ckeditor/monbaiti.ttf +0 -0
  86. package/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  87. package/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  88. package/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +11 -0
  89. package/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +12 -0
  90. package/ckeditor/plugins/a11yhelp/dialogs/lang/az.js +11 -0
  91. package/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +12 -0
  92. package/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +13 -0
  93. package/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +12 -0
  94. package/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +11 -0
  95. package/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +11 -0
  96. package/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +13 -0
  97. package/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +13 -0
  98. package/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +13 -0
  99. package/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js +12 -0
  100. package/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +12 -0
  101. package/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +12 -0
  102. package/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +13 -0
  103. package/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js +13 -0
  104. package/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +13 -0
  105. package/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +11 -0
  106. package/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +12 -0
  107. package/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +11 -0
  108. package/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +12 -0
  109. package/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +12 -0
  110. package/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +12 -0
  111. package/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +13 -0
  112. package/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +12 -0
  113. package/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +12 -0
  114. package/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +11 -0
  115. package/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +12 -0
  116. package/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +11 -0
  117. package/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +12 -0
  118. package/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +11 -0
  119. package/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +13 -0
  120. package/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  121. package/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +12 -0
  122. package/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +10 -0
  123. package/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +11 -0
  124. package/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +12 -0
  125. package/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +13 -0
  126. package/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +12 -0
  127. package/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +12 -0
  128. package/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +12 -0
  129. package/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +12 -0
  130. package/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +12 -0
  131. package/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js +12 -0
  132. package/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +13 -0
  133. package/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +13 -0
  134. package/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +12 -0
  135. package/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +12 -0
  136. package/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +11 -0
  137. package/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +10 -0
  138. package/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +11 -0
  139. package/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +12 -0
  140. package/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +12 -0
  141. package/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +13 -0
  142. package/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +13 -0
  143. package/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +11 -0
  144. package/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +12 -0
  145. package/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +12 -0
  146. package/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +12 -0
  147. package/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +12 -0
  148. package/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +12 -0
  149. package/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +11 -0
  150. package/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +9 -0
  151. package/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +9 -0
  152. package/ckeditor/plugins/about/dialogs/about.js +8 -0
  153. package/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  154. package/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  155. package/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  156. package/ckeditor/plugins/colordialog/dialogs/colordialog.css +20 -0
  157. package/ckeditor/plugins/colordialog/dialogs/colordialog.js +14 -0
  158. package/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg +25 -0
  159. package/ckeditor/plugins/copyformatting/cursors/cursor.svg +14 -0
  160. package/ckeditor/plugins/copyformatting/styles/copyformatting.css +45 -0
  161. package/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  162. package/ckeditor/plugins/dialog/styles/dialog.css +18 -0
  163. package/ckeditor/plugins/div/dialogs/div.js +10 -0
  164. package/ckeditor/plugins/find/dialogs/find.js +26 -0
  165. package/ckeditor/plugins/forms/dialogs/button.js +8 -0
  166. package/ckeditor/plugins/forms/dialogs/checkbox.js +9 -0
  167. package/ckeditor/plugins/forms/dialogs/form.js +8 -0
  168. package/ckeditor/plugins/forms/dialogs/hiddenfield.js +7 -0
  169. package/ckeditor/plugins/forms/dialogs/radio.js +9 -0
  170. package/ckeditor/plugins/forms/dialogs/select.js +21 -0
  171. package/ckeditor/plugins/forms/dialogs/textarea.js +9 -0
  172. package/ckeditor/plugins/forms/dialogs/textfield.js +11 -0
  173. package/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  174. package/ckeditor/plugins/icons.png +0 -0
  175. package/ckeditor/plugins/icons_hidpi.png +0 -0
  176. package/ckeditor/plugins/iframe/dialogs/iframe.js +11 -0
  177. package/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  178. package/ckeditor/plugins/image/dialogs/image.js +44 -0
  179. package/ckeditor/plugins/image/images/noimage.png +0 -0
  180. package/ckeditor/plugins/indent/dev/indent.html +285 -0
  181. package/ckeditor/plugins/indent/icons/hidpi/indent-rtl.png +0 -0
  182. package/ckeditor/plugins/indent/icons/hidpi/indent.png +0 -0
  183. package/ckeditor/plugins/indent/icons/hidpi/outdent-rtl.png +0 -0
  184. package/ckeditor/plugins/indent/icons/hidpi/outdent.png +0 -0
  185. package/ckeditor/plugins/indent/icons/indent-rtl.png +0 -0
  186. package/ckeditor/plugins/indent/icons/indent.png +0 -0
  187. package/ckeditor/plugins/indent/icons/outdent-rtl.png +0 -0
  188. package/ckeditor/plugins/indent/icons/outdent.png +0 -0
  189. package/ckeditor/plugins/indent/lang/af.js +8 -0
  190. package/ckeditor/plugins/indent/lang/ar.js +8 -0
  191. package/ckeditor/plugins/indent/lang/az.js +8 -0
  192. package/ckeditor/plugins/indent/lang/bg.js +8 -0
  193. package/ckeditor/plugins/indent/lang/bn.js +8 -0
  194. package/ckeditor/plugins/indent/lang/bs.js +8 -0
  195. package/ckeditor/plugins/indent/lang/ca.js +8 -0
  196. package/ckeditor/plugins/indent/lang/cs.js +8 -0
  197. package/ckeditor/plugins/indent/lang/cy.js +8 -0
  198. package/ckeditor/plugins/indent/lang/da.js +8 -0
  199. package/ckeditor/plugins/indent/lang/de-ch.js +8 -0
  200. package/ckeditor/plugins/indent/lang/de.js +8 -0
  201. package/ckeditor/plugins/indent/lang/el.js +8 -0
  202. package/ckeditor/plugins/indent/lang/en-au.js +8 -0
  203. package/ckeditor/plugins/indent/lang/en-ca.js +8 -0
  204. package/ckeditor/plugins/indent/lang/en-gb.js +8 -0
  205. package/ckeditor/plugins/indent/lang/en.js +8 -0
  206. package/ckeditor/plugins/indent/lang/eo.js +8 -0
  207. package/ckeditor/plugins/indent/lang/es-mx.js +8 -0
  208. package/ckeditor/plugins/indent/lang/es.js +8 -0
  209. package/ckeditor/plugins/indent/lang/et.js +8 -0
  210. package/ckeditor/plugins/indent/lang/eu.js +8 -0
  211. package/ckeditor/plugins/indent/lang/fa.js +8 -0
  212. package/ckeditor/plugins/indent/lang/fi.js +8 -0
  213. package/ckeditor/plugins/indent/lang/fo.js +8 -0
  214. package/ckeditor/plugins/indent/lang/fr-ca.js +8 -0
  215. package/ckeditor/plugins/indent/lang/fr.js +8 -0
  216. package/ckeditor/plugins/indent/lang/gl.js +8 -0
  217. package/ckeditor/plugins/indent/lang/gu.js +8 -0
  218. package/ckeditor/plugins/indent/lang/he.js +8 -0
  219. package/ckeditor/plugins/indent/lang/hi.js +8 -0
  220. package/ckeditor/plugins/indent/lang/hr.js +8 -0
  221. package/ckeditor/plugins/indent/lang/hu.js +8 -0
  222. package/ckeditor/plugins/indent/lang/id.js +8 -0
  223. package/ckeditor/plugins/indent/lang/is.js +8 -0
  224. package/ckeditor/plugins/indent/lang/it.js +8 -0
  225. package/ckeditor/plugins/indent/lang/ja.js +8 -0
  226. package/ckeditor/plugins/indent/lang/ka.js +8 -0
  227. package/ckeditor/plugins/indent/lang/km.js +8 -0
  228. package/ckeditor/plugins/indent/lang/ko.js +8 -0
  229. package/ckeditor/plugins/indent/lang/ku.js +8 -0
  230. package/ckeditor/plugins/indent/lang/lt.js +8 -0
  231. package/ckeditor/plugins/indent/lang/lv.js +8 -0
  232. package/ckeditor/plugins/indent/lang/mk.js +8 -0
  233. package/ckeditor/plugins/indent/lang/mn.js +8 -0
  234. package/ckeditor/plugins/indent/lang/ms.js +8 -0
  235. package/ckeditor/plugins/indent/lang/nb.js +8 -0
  236. package/ckeditor/plugins/indent/lang/nl.js +8 -0
  237. package/ckeditor/plugins/indent/lang/no.js +8 -0
  238. package/ckeditor/plugins/indent/lang/oc.js +8 -0
  239. package/ckeditor/plugins/indent/lang/pl.js +8 -0
  240. package/ckeditor/plugins/indent/lang/pt-br.js +8 -0
  241. package/ckeditor/plugins/indent/lang/pt.js +8 -0
  242. package/ckeditor/plugins/indent/lang/ro.js +8 -0
  243. package/ckeditor/plugins/indent/lang/ru.js +8 -0
  244. package/ckeditor/plugins/indent/lang/si.js +8 -0
  245. package/ckeditor/plugins/indent/lang/sk.js +8 -0
  246. package/ckeditor/plugins/indent/lang/sl.js +8 -0
  247. package/ckeditor/plugins/indent/lang/sq.js +8 -0
  248. package/ckeditor/plugins/indent/lang/sr-latn.js +8 -0
  249. package/ckeditor/plugins/indent/lang/sr.js +8 -0
  250. package/ckeditor/plugins/indent/lang/sv.js +8 -0
  251. package/ckeditor/plugins/indent/lang/th.js +8 -0
  252. package/ckeditor/plugins/indent/lang/tr.js +8 -0
  253. package/ckeditor/plugins/indent/lang/tt.js +8 -0
  254. package/ckeditor/plugins/indent/lang/ug.js +8 -0
  255. package/ckeditor/plugins/indent/lang/uk.js +8 -0
  256. package/ckeditor/plugins/indent/lang/vi.js +8 -0
  257. package/ckeditor/plugins/indent/lang/zh-cn.js +8 -0
  258. package/ckeditor/plugins/indent/lang/zh.js +8 -0
  259. package/ckeditor/plugins/indent/plugin.js +461 -0
  260. package/ckeditor/plugins/justify/icons/hidpi/justifyblock.png +0 -0
  261. package/ckeditor/plugins/justify/icons/hidpi/justifycenter.png +0 -0
  262. package/ckeditor/plugins/justify/icons/hidpi/justifyleft.png +0 -0
  263. package/ckeditor/plugins/justify/icons/hidpi/justifyright.png +0 -0
  264. package/ckeditor/plugins/justify/icons/justifyblock.png +0 -0
  265. package/ckeditor/plugins/justify/icons/justifycenter.png +0 -0
  266. package/ckeditor/plugins/justify/icons/justifyleft.png +0 -0
  267. package/ckeditor/plugins/justify/icons/justifyright.png +0 -0
  268. package/ckeditor/plugins/justify/plugin.js +269 -0
  269. package/ckeditor/plugins/lineheight/LICENSE +22 -0
  270. package/ckeditor/plugins/lineheight/README.md +2 -0
  271. package/ckeditor/plugins/lineheight/lang/LANG.js +3 -0
  272. package/ckeditor/plugins/lineheight/lang/ar.js +3 -0
  273. package/ckeditor/plugins/lineheight/lang/de.js +3 -0
  274. package/ckeditor/plugins/lineheight/lang/en.js +3 -0
  275. package/ckeditor/plugins/lineheight/lang/es.js +3 -0
  276. package/ckeditor/plugins/lineheight/lang/fr.js +3 -0
  277. package/ckeditor/plugins/lineheight/lang/ko.js +3 -0
  278. package/ckeditor/plugins/lineheight/lang/pt.js +3 -0
  279. package/ckeditor/plugins/lineheight/plugin.js +81 -0
  280. package/ckeditor/plugins/lineheight/readme.txt +30 -0
  281. package/ckeditor/plugins/link/dialogs/anchor.js +9 -0
  282. package/ckeditor/plugins/link/dialogs/link.js +30 -0
  283. package/ckeditor/plugins/link/images/anchor.png +0 -0
  284. package/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  285. package/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
  286. package/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  287. package/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  288. package/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  289. package/ckeditor/plugins/magicline/images/icon.png +0 -0
  290. package/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  291. package/ckeditor/plugins/pastefromgdocs/filter/default.js +8 -0
  292. package/ckeditor/plugins/pastefromlibreoffice/filter/default.js +11 -0
  293. package/ckeditor/plugins/pastefromword/filter/default.js +43 -0
  294. package/ckeditor/plugins/pastetools/filter/common.js +24 -0
  295. package/ckeditor/plugins/pastetools/filter/image.js +12 -0
  296. package/ckeditor/plugins/preview/images/pagebreak.gif +0 -0
  297. package/ckeditor/plugins/preview/preview.html +13 -0
  298. package/ckeditor/plugins/preview/styles/screen.css +10 -0
  299. package/ckeditor/plugins/scayt/CHANGELOG.md +4 -0
  300. package/ckeditor/plugins/scayt/LICENSE.md +28 -0
  301. package/ckeditor/plugins/scayt/README.md +81 -0
  302. package/ckeditor/plugins/scayt/dialogs/dialog.css +23 -0
  303. package/ckeditor/plugins/scayt/dialogs/options.js +32 -0
  304. package/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  305. package/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css +25 -0
  306. package/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  307. package/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  308. package/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  309. package/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  310. package/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  311. package/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  312. package/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  313. package/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  314. package/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  315. package/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  316. package/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  317. package/ckeditor/plugins/simage/LICENSE +674 -0
  318. package/ckeditor/plugins/simage/README.md +73 -0
  319. package/ckeditor/plugins/simage/icons/simage.png +0 -0
  320. package/ckeditor/plugins/simage/plugin.js +154 -0
  321. package/ckeditor/plugins/smiley/dialogs/smiley.js +11 -0
  322. package/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  323. package/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  324. package/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  325. package/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  326. package/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  327. package/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  328. package/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  329. package/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  330. package/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  331. package/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  332. package/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  333. package/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  334. package/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  335. package/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  336. package/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  337. package/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  338. package/ckeditor/plugins/smiley/images/envelope.png +0 -0
  339. package/ckeditor/plugins/smiley/images/heart.gif +0 -0
  340. package/ckeditor/plugins/smiley/images/heart.png +0 -0
  341. package/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  342. package/ckeditor/plugins/smiley/images/kiss.png +0 -0
  343. package/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  344. package/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  345. package/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  346. package/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  347. package/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  348. package/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  349. package/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  350. package/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  351. package/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  352. package/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  353. package/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  354. package/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  355. package/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  356. package/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  357. package/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  358. package/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  359. package/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  360. package/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  361. package/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  362. package/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  363. package/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  364. package/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  365. package/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  366. package/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  367. package/ckeditor/plugins/specialchar/dialogs/lang/af.js +13 -0
  368. package/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  369. package/ckeditor/plugins/specialchar/dialogs/lang/az.js +10 -0
  370. package/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  371. package/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  372. package/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  373. package/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  374. package/ckeditor/plugins/specialchar/dialogs/lang/da.js +11 -0
  375. package/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +13 -0
  376. package/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  377. package/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  378. package/ckeditor/plugins/specialchar/dialogs/lang/en-au.js +13 -0
  379. package/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js +13 -0
  380. package/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +13 -0
  381. package/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  382. package/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  383. package/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js +13 -0
  384. package/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  385. package/ckeditor/plugins/specialchar/dialogs/lang/et.js +11 -0
  386. package/ckeditor/plugins/specialchar/dialogs/lang/eu.js +13 -0
  387. package/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  388. package/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  389. package/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  390. package/ckeditor/plugins/specialchar/dialogs/lang/fr.js +12 -0
  391. package/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  392. package/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  393. package/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  394. package/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  395. package/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  396. package/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  397. package/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  398. package/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
  399. package/ckeditor/plugins/specialchar/dialogs/lang/ko.js +10 -0
  400. package/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  401. package/ckeditor/plugins/specialchar/dialogs/lang/lt.js +13 -0
  402. package/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  403. package/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  404. package/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  405. package/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  406. package/ckeditor/plugins/specialchar/dialogs/lang/oc.js +12 -0
  407. package/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  408. package/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  409. package/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  410. package/ckeditor/plugins/specialchar/dialogs/lang/ro.js +13 -0
  411. package/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  412. package/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  413. package/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  414. package/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  415. package/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  416. package/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js +13 -0
  417. package/ckeditor/plugins/specialchar/dialogs/lang/sr.js +13 -0
  418. package/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  419. package/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  420. package/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  421. package/ckeditor/plugins/specialchar/dialogs/lang/tt.js +13 -0
  422. package/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  423. package/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  424. package/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  425. package/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  426. package/ckeditor/plugins/specialchar/dialogs/lang/zh.js +9 -0
  427. package/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  428. package/ckeditor/plugins/table/dialogs/table.js +22 -0
  429. package/ckeditor/plugins/tableselection/styles/tableselection.css +36 -0
  430. package/ckeditor/plugins/tabletools/dialogs/tableCell.js +18 -0
  431. package/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  432. package/ckeditor/plugins/templates/dialogs/templates.js +11 -0
  433. package/ckeditor/plugins/templates/templatedefinition.js +4 -0
  434. package/ckeditor/plugins/templates/templates/default.js +7 -0
  435. package/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  436. package/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  437. package/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  438. package/ckeditor/plugins/textindent/icons/hidpi/textindent.png +0 -0
  439. package/ckeditor/plugins/textindent/icons/textindent.png +0 -0
  440. package/ckeditor/plugins/textindent/lang/en.js +3 -0
  441. package/ckeditor/plugins/textindent/lang/pt-br.js +3 -0
  442. package/ckeditor/plugins/textindent/plugin.js +99 -0
  443. package/ckeditor/plugins/widget/images/handle.png +0 -0
  444. package/ckeditor/samples/css/samples.css +1637 -0
  445. package/ckeditor/samples/img/github-top.png +0 -0
  446. package/ckeditor/samples/img/header-bg.png +0 -0
  447. package/ckeditor/samples/img/header-separator.png +0 -0
  448. package/ckeditor/samples/img/logo.png +0 -0
  449. package/ckeditor/samples/img/logo.svg +13 -0
  450. package/ckeditor/samples/img/navigation-tip.png +0 -0
  451. package/ckeditor/samples/index.html +130 -0
  452. package/ckeditor/samples/js/sample.js +53 -0
  453. package/ckeditor/samples/js/sf.js +17 -0
  454. package/ckeditor/samples/old/ajax.html +85 -0
  455. package/ckeditor/samples/old/api.html +210 -0
  456. package/ckeditor/samples/old/appendto.html +59 -0
  457. package/ckeditor/samples/old/assets/inlineall/logo.png +0 -0
  458. package/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css +204 -0
  459. package/ckeditor/samples/old/assets/posteddata.php +60 -0
  460. package/ckeditor/samples/old/assets/sample.jpg +0 -0
  461. package/ckeditor/samples/old/assets/uilanguages/languages.js +7 -0
  462. package/ckeditor/samples/old/datafiltering.html +508 -0
  463. package/ckeditor/samples/old/dialog/assets/my_dialog.js +48 -0
  464. package/ckeditor/samples/old/dialog/dialog.html +190 -0
  465. package/ckeditor/samples/old/divreplace.html +144 -0
  466. package/ckeditor/samples/old/enterkey/enterkey.html +106 -0
  467. package/ckeditor/samples/old/htmlwriter/outputhtml.html +224 -0
  468. package/ckeditor/samples/old/index.html +129 -0
  469. package/ckeditor/samples/old/inlineall.html +314 -0
  470. package/ckeditor/samples/old/inlinebycode.html +124 -0
  471. package/ckeditor/samples/old/inlinetextarea.html +113 -0
  472. package/ckeditor/samples/old/jquery.html +103 -0
  473. package/ckeditor/samples/old/magicline/magicline.html +209 -0
  474. package/ckeditor/samples/old/readonly.html +76 -0
  475. package/ckeditor/samples/old/replacebyclass.html +60 -0
  476. package/ckeditor/samples/old/replacebycode.html +59 -0
  477. package/ckeditor/samples/old/sample.css +357 -0
  478. package/ckeditor/samples/old/sample.js +50 -0
  479. package/ckeditor/samples/old/sample_posteddata.php +16 -0
  480. package/ckeditor/samples/old/tabindex.html +78 -0
  481. package/ckeditor/samples/old/toolbar/toolbar.html +235 -0
  482. package/ckeditor/samples/old/uicolor.html +72 -0
  483. package/ckeditor/samples/old/uilanguages.html +122 -0
  484. package/ckeditor/samples/old/wysiwygarea/fullpage.html +80 -0
  485. package/ckeditor/samples/old/xhtmlstyle.html +234 -0
  486. package/ckeditor/samples/toolbarconfigurator/css/fontello.css +55 -0
  487. package/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt +10 -0
  488. package/ckeditor/samples/toolbarconfigurator/font/config.json +28 -0
  489. package/ckeditor/samples/toolbarconfigurator/font/fontello.eot +0 -0
  490. package/ckeditor/samples/toolbarconfigurator/font/fontello.svg +14 -0
  491. package/ckeditor/samples/toolbarconfigurator/font/fontello.ttf +0 -0
  492. package/ckeditor/samples/toolbarconfigurator/font/fontello.woff +0 -0
  493. package/ckeditor/samples/toolbarconfigurator/index.html +447 -0
  494. package/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js +13 -0
  495. package/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js +9 -0
  496. package/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js +33 -0
  497. package/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js +14 -0
  498. package/ckeditor/samples/toolbarconfigurator/lib/codemirror/LICENSE +19 -0
  499. package/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css +325 -0
  500. package/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js +288 -0
  501. package/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js +25 -0
  502. package/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css +36 -0
  503. package/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css +38 -0
  504. package/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js +16 -0
  505. package/ckeditor/skins/moono-lisa/dialog.css +5 -0
  506. package/ckeditor/skins/moono-lisa/dialog_ie.css +5 -0
  507. package/ckeditor/skins/moono-lisa/dialog_ie8.css +5 -0
  508. package/ckeditor/skins/moono-lisa/dialog_iequirks.css +5 -0
  509. package/ckeditor/skins/moono-lisa/editor.css +5 -0
  510. package/ckeditor/skins/moono-lisa/editor_gecko.css +5 -0
  511. package/ckeditor/skins/moono-lisa/editor_ie.css +5 -0
  512. package/ckeditor/skins/moono-lisa/editor_ie8.css +5 -0
  513. package/ckeditor/skins/moono-lisa/editor_iequirks.css +5 -0
  514. package/ckeditor/skins/moono-lisa/icons.png +0 -0
  515. package/ckeditor/skins/moono-lisa/icons_hidpi.png +0 -0
  516. package/ckeditor/skins/moono-lisa/images/arrow.png +0 -0
  517. package/ckeditor/skins/moono-lisa/images/close.png +0 -0
  518. package/ckeditor/skins/moono-lisa/images/hidpi/close.png +0 -0
  519. package/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png +0 -0
  520. package/ckeditor/skins/moono-lisa/images/hidpi/lock.png +0 -0
  521. package/ckeditor/skins/moono-lisa/images/hidpi/refresh.png +0 -0
  522. package/ckeditor/skins/moono-lisa/images/lock-open.png +0 -0
  523. package/ckeditor/skins/moono-lisa/images/lock.png +0 -0
  524. package/ckeditor/skins/moono-lisa/images/refresh.png +0 -0
  525. package/ckeditor/skins/moono-lisa/images/spinner.gif +0 -0
  526. package/ckeditor/skins/moono-lisa/readme.md +46 -0
  527. package/ckeditor/styles.js +137 -0
  528. package/ckeditor/vendor/promise.js +13 -0
  529. package/comps/Animation/Checkbox.vue +37 -0
  530. package/comps/Animation/Radio.vue +30 -0
  531. package/comps/BooleanLabel.vue +40 -0
  532. package/comps/CardButton.vue +18 -0
  533. package/comps/CardImage.vue +40 -0
  534. package/comps/CardItem.vue +63 -0
  535. package/comps/CardList.vue +57 -0
  536. package/comps/CardNumber.vue +27 -0
  537. package/comps/Config/SelectColumns.vue +137 -0
  538. package/comps/CoreAgeMonth.vue +44 -0
  539. package/comps/CoreAppPassword.vue +31 -0
  540. package/comps/CoreAutocomplete.vue +93 -0
  541. package/comps/CoreCascader.vue +129 -0
  542. package/comps/CoreCascaderChildOrg.vue +165 -0
  543. package/comps/CoreCascaderChildPosition.vue +186 -0
  544. package/comps/CoreCkeditor.vue +324 -0
  545. package/comps/CoreColorPicker.vue +35 -0
  546. package/comps/CoreContextMenu.vue +81 -0
  547. package/comps/CoreDate.vue +56 -0
  548. package/comps/CoreDateRange.vue +34 -0
  549. package/comps/CoreDatetime.vue +34 -0
  550. package/comps/CoreDeepLink.vue +53 -0
  551. package/comps/CoreDurationJustified.vue +23 -0
  552. package/comps/CoreFiles.vue +497 -0
  553. package/comps/CoreFooter.vue +100 -0
  554. package/comps/CoreForm.vue +499 -0
  555. package/comps/CoreFormDialog.vue +140 -0
  556. package/comps/CoreFormFields.vue +306 -0
  557. package/comps/CoreFormItem.vue +114 -0
  558. package/comps/CoreFormItemCopy.vue +155 -0
  559. package/comps/CoreFormSub.vue +118 -0
  560. package/comps/CoreFormTable.vue +197 -0
  561. package/comps/CoreFormTableInline.vue +300 -0
  562. package/comps/CoreFormTableList.vue +268 -0
  563. package/comps/CoreIcon.vue +5 -0
  564. package/comps/CoreImage.vue +37 -0
  565. package/comps/CoreInlineNumber.vue +54 -0
  566. package/comps/CoreInputNumber.vue +49 -0
  567. package/comps/CoreInputSearch.vue +44 -0
  568. package/comps/CoreJson.vue +10 -0
  569. package/comps/CoreLoader.vue +153 -0
  570. package/comps/CoreLocked.vue +151 -0
  571. package/comps/CoreMergeConfirm.vue +59 -0
  572. package/comps/CoreMultipleInput.vue +51 -0
  573. package/comps/CorePanel.vue +33 -0
  574. package/comps/CorePdfDialog.vue +84 -0
  575. package/comps/CorePdfView.vue +52 -0
  576. package/comps/CoreRegexp.vue +41 -0
  577. package/comps/CoreSelect.vue +249 -0
  578. package/comps/CoreSelectEnum.vue +103 -0
  579. package/comps/CoreSelectGroup.vue +237 -0
  580. package/comps/CoreSelectGroupItem.vue +168 -0
  581. package/comps/CoreSelectGroupList.vue +386 -0
  582. package/comps/CoreSelectOrgEmp.vue +319 -0
  583. package/comps/CoreSelectTable.vue +277 -0
  584. package/comps/CoreSelectTree.vue +183 -0
  585. package/comps/CoreSelectTreeItem.vue +129 -0
  586. package/comps/CoreSelectTreeList.vue +149 -0
  587. package/comps/CoreSelectYear.vue +42 -0
  588. package/comps/CoreSignCertificate.vue +129 -0
  589. package/comps/CoreSpan.vue +31 -0
  590. package/comps/CoreStatus.vue +29 -0
  591. package/comps/CoreSwitch.vue +28 -0
  592. package/comps/CoreTable.vue +852 -0
  593. package/comps/CoreTableColumn.vue +78 -0
  594. package/comps/CoreTableColumnHeader.vue +25 -0
  595. package/comps/CoreTableColumnRow.vue +234 -0
  596. package/comps/CoreTableConfig.vue +248 -0
  597. package/comps/CoreTableImage.vue +89 -0
  598. package/comps/CoreTableSearch.vue +267 -0
  599. package/comps/CoreTableSearchDetail.vue +89 -0
  600. package/comps/CoreTableStatus.vue +71 -0
  601. package/comps/CoreUploadImage.vue +542 -0
  602. package/comps/CoreVideo.vue +44 -0
  603. package/comps/CoreVimeo.vue +135 -0
  604. package/comps/CoreVimeoLabel.vue +32 -0
  605. package/comps/CoreVueEditor.vue +106 -0
  606. package/comps/CoreXypService.vue +233 -0
  607. package/comps/CoreZoomImage.vue +99 -0
  608. package/comps/Custom/CrimeDescription.vue +195 -0
  609. package/comps/Custom/CrimeNum.vue +41 -0
  610. package/comps/Custom/EmployeeSelect.vue +243 -0
  611. package/comps/Custom/EmployeeText.vue +7 -0
  612. package/comps/Custom/EmployeeWorkFamilies.vue +36 -0
  613. package/comps/Custom/NationalLangSkills.vue +137 -0
  614. package/comps/Custom/TableLogs.vue +86 -0
  615. package/comps/Custom/UserClotheRow.vue +105 -0
  616. package/comps/Custom/UserClothes.vue +470 -0
  617. package/comps/Custom/UserRoles.vue +169 -0
  618. package/comps/Custom/UserSelect.vue +423 -0
  619. package/comps/Custom/UserSkills.vue +98 -0
  620. package/comps/MomentAddCode.vue +91 -0
  621. package/comps/SclHandbook.vue +135 -0
  622. package/comps/Sign/Dialog.vue +321 -0
  623. package/comps/Sign/Info.vue +43 -0
  624. package/comps/Sign/InfoDialog.vue +78 -0
  625. package/directives/el-dragDialog/drag.js +34 -0
  626. package/index.js +7 -0
  627. package/middleware/auth.js +28 -0
  628. package/middleware/confirm-leave.js +15 -0
  629. package/middleware/login.js +6 -0
  630. package/middleware/router.js +5 -0
  631. package/package.json +48 -0
  632. package/plugins/axios.js +51 -0
  633. package/plugins/chart.js +134 -0
  634. package/plugins/ckeditor.js +3 -0
  635. package/plugins/idle-logout.js +33 -0
  636. package/store/settings.js +236 -0
  637. package/store/user.js +215 -0
  638. package/utils/component-helper.js +336 -0
  639. package/utils/data-helper.js +236 -0
  640. package/utils/default-nuxt-config.js +116 -0
  641. package/utils/eslint-rules.js +12 -0
  642. package/utils/helpers.js +67 -0
  643. package/utils/message-helper.js +19 -0
  644. package/utils/number-helper.js +166 -0
  645. package/utils/number-texts.js +217 -0
  646. package/utils/regexps.js +86 -0
  647. package/utils/role-helper.js +52 -0
  648. package/utils/social-helper.js +58 -0
  649. package/utils/table-helper.js +1612 -0
@@ -0,0 +1,447 @@
1
+ <!DOCTYPE html>
2
+ <!--
3
+ Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
4
+ For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
5
+ -->
6
+ <!--[if IE 8]><html class="ie8"><![endif]-->
7
+ <!--[if gt IE 8]><html><![endif]-->
8
+ <!--[if !IE]><!--><html lang="en"><!--<![endif]-->
9
+ <head>
10
+ <meta charset="utf-8">
11
+ <title>Toolbar Configurator</title>
12
+ <script src="../../ckeditor.js"></script>
13
+ <script>
14
+ if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 )
15
+ CKEDITOR.tools.enableHtml5Elements( document );
16
+ </script>
17
+ <link rel="stylesheet" href="lib/codemirror/codemirror.css">
18
+ <link rel="stylesheet" href="lib/codemirror/show-hint.css">
19
+ <link rel="stylesheet" href="lib/codemirror/neo.css">
20
+ <link rel="stylesheet" href="css/fontello.css">
21
+ <link rel="stylesheet" href="../css/samples.css">
22
+ <meta name="description" content="Try the latest sample of CKEditor 4 and learn more about customizing your WYSIWYG editor with endless possibilities.">
23
+ </head>
24
+ <body id="toolbar">
25
+
26
+ <nav class="navigation-a">
27
+ <div class="grid-container">
28
+ <ul class="navigation-a-left grid-width-70">
29
+ <li><a href="https://ckeditor.com/ckeditor-4/">Project Homepage</a></li>
30
+ <li><a href="https://github.com/ckeditor/ckeditor4/issues">I found a bug</a></li>
31
+ <li><a href="https://github.com/ckeditor/ckeditor4" class="icon-pos-right icon-navigation-a-github">Fork CKEditor on GitHub</a></li>
32
+ </ul>
33
+ <ul class="navigation-a-right grid-width-30">
34
+ <li><a href="https://ckeditor.com/blog/">CKEditor Blog</a></li>
35
+ </ul>
36
+ </div>
37
+ </nav>
38
+
39
+ <header class="header-a">
40
+ <div class="grid-container">
41
+ <h1 class="header-a-logo grid-width-30">
42
+ <a href="../index.html"><img src="../img/logo.svg" onerror="this.src='../img/logo.png'; this.onerror=null;" alt="CKEditor Logo"></a>
43
+ </h1>
44
+ <nav class="navigation-b grid-width-70">
45
+ <ul>
46
+ <li><a href="../index.html" class="button-a">Start</a></li>
47
+ <li><a href="index.html" class="button-a button-a-background">Toolbar configurator</a></li>
48
+ </ul>
49
+ </nav>
50
+ </div>
51
+ </header>
52
+
53
+ <main>
54
+ <div class="adjoined-top">
55
+ <div class="grid-container">
56
+ <div class="content grid-width-100">
57
+ <div class="grid-container-nested">
58
+ <h1 class="grid-width-60">
59
+ Toolbar Configurator
60
+ <a href="#help-content" type="button" title="Configurator help" id="help" class="button-a button-a-background button-a-no-text icon-pos-left icon-question-mark">Help</a>
61
+ </h1>
62
+
63
+ <div class="grid-width-40 grid-switch-magic">
64
+ <div class="switch">
65
+ <span class="balloon-a balloon-a-se">Select configurator type</span>
66
+ <input type="radio" name="radio" data-num="1" id="radio-basic" />
67
+ <input type="radio" name="radio" data-num="2" id="radio-advanced" />
68
+ <label data-for="1" for="radio-basic">Basic</label>
69
+ <span class="switch-inner">
70
+ <span class="handler"></span>
71
+ </span>
72
+ <label data-for="2" for="radio-advanced">Advanced</label>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ <div class="adjoined-bottom">
80
+ <div class="grid-container">
81
+ <div class="grid-width-100">
82
+ <div class="editors-container">
83
+ <div id="editor-basic"></div>
84
+ <div id="editor-advanced"></div>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+
90
+ <div class="grid-container configurator">
91
+ <div class="content grid-width-100">
92
+ <div class="configurator">
93
+ <div>
94
+ <div id="toolbarModifierWrapper"></div>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ </div>
99
+
100
+ <div id="help-content">
101
+ <div class="grid-container">
102
+ <div class="grid-width-100">
103
+ <h2>What Am I Doing Here?</h2>
104
+
105
+ <div class="grid-container grid-container-nested">
106
+ <div class="basic">
107
+ <div class="grid-width-50">
108
+ <p>Arrange <a href="https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-toolbarGroups">toolbar groups</a>, toggle <a href="https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-removeButtons">button visibility</a> according to your needs and get your toolbar configuration.</p>
109
+ <p>You can replace the content of the <a href="../../config.js"><code>config.js</code></a> file with the generated configuration. If you already set some configuration options you will need to merge both configurations.</p>
110
+ </div>
111
+ <div class="grid-width-50">
112
+ <p>Read more about different ways of <a href="https://ckeditor.com/docs/ckeditor4/latest/guide/dev_configuration.html">setting configuration</a> and do not forget about <strong>clearing browser cache</strong>.</p>
113
+ <p>Arranging toolbar groups is the recommended way of configuring the toolbar, but if you need more freedom you can use the <a href="#advanced">advanced configurator</a>.</p>
114
+ </div>
115
+ </div>
116
+ <div class="advanced" style="display: none;">
117
+ <div class="grid-width-50">
118
+ <p>With this code editor you can edit your <a href="https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-toolbar">toolbar configuration</a> live.</p>
119
+ <p>You can replace the content of the <a href="../../config.js"><code>config.js</code></a> file with the generated configuration. If you already set some configuration options you will need to merge both configurations.</p>
120
+ </div>
121
+ <div class="grid-width-50">
122
+ <p>Read more about different ways of <a href="https://ckeditor.com/docs/ckeditor4/latest/guide/dev_configuration.html">setting configuration</a> and do not forget about <strong>clearing browser cache</strong>.</p>
123
+ </div>
124
+ </div>
125
+ </div>
126
+
127
+ <p class="grid-container grid-container-nested">
128
+ <button type="button" class="help-content-close grid-width-100 button-a button-a-background">Got it. Let's play!</button>
129
+ </p>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </main>
134
+
135
+ <footer class="footer-a grid-container">
136
+ <p class="grid-width-100">
137
+ CKEditor &ndash; The text editor for the Internet &ndash; <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a>
138
+ </p>
139
+ <p class="grid-width-100" id="copy">
140
+ Copyright &copy; 2003-2023, <a class="samples" href="https://cksource.com/">CKSource</a> Holding sp. z o.o. All rights reserved.
141
+ </p>
142
+ </footer>
143
+
144
+ <script src="lib/codemirror/codemirror.js"></script>
145
+ <script src="lib/codemirror/javascript.js"></script>
146
+ <script src="lib/codemirror/show-hint.js"></script>
147
+
148
+ <script src="js/fulltoolbareditor.js"></script>
149
+ <script src="js/abstracttoolbarmodifier.js"></script>
150
+ <script src="js/toolbarmodifier.js"></script>
151
+ <script src="js/toolbartextmodifier.js"></script>
152
+ <script src="../js/sf.js"></script>
153
+
154
+ <script>
155
+ ( function() {
156
+ 'use strict';
157
+
158
+ var mode = ( window.location.hash.substr( 1 ) === 'advanced' ) ? 'advanced' : 'basic',
159
+ configuratorSection = CKEDITOR.document.findOne( 'main > .grid-container.configurator' ),
160
+ basicInstruction = CKEDITOR.document.findOne( '#help-content .basic' ),
161
+ advancedInstruction = CKEDITOR.document.findOne( '#help-content .advanced' ),
162
+
163
+ // Configurator mode switcher.
164
+ modeSwitchBasic = CKEDITOR.document.getById( 'radio-basic' ),
165
+ modeSwitchAdvanced = CKEDITOR.document.getById( 'radio-advanced' );
166
+
167
+ // Initial setup
168
+ function updateSwitcher() {
169
+ if ( mode === 'advanced' ) {
170
+ modeSwitchAdvanced.$.checked = true;
171
+ } else {
172
+ modeSwitchBasic.$.checked = true;
173
+ }
174
+ }
175
+
176
+ updateSwitcher();
177
+
178
+ CKEDITOR.document.getWindow().on( 'hashchange', function( e ) {
179
+ var hash = window.location.hash.substr( 1 );
180
+ if ( !( hash === 'advanced' || hash === 'basic' ) ) {
181
+ return;
182
+ }
183
+ mode = hash;
184
+ onToolbarsDone( mode );
185
+ } );
186
+
187
+ CKEDITOR.document.getWindow().on( 'resize', function() {
188
+ updateToolbar( ( mode === 'basic' ? toolbarModifier : toolbarTextModifier )[ 'editorInstance' ] );
189
+ } );
190
+
191
+ function onRefresh( modifier ) {
192
+ modifier = modifier || this;
193
+
194
+ if ( mode === 'basic' && modifier instanceof ToolbarConfigurator.ToolbarTextModifier ) {
195
+ return;
196
+ }
197
+
198
+ // CodeMirror container becomes visible, so we need to refresh and to avoid rendering problems.
199
+ if ( mode === 'advanced' && modifier instanceof ToolbarConfigurator.ToolbarTextModifier ) {
200
+ modifier.codeContainer.refresh();
201
+ }
202
+
203
+ updateToolbar( modifier.editorInstance );
204
+ }
205
+
206
+ function updateToolbar( editor ) {
207
+ var editorContainer = editor.container;
208
+
209
+ // Not always editor is loaded.
210
+ if ( !editorContainer ) {
211
+ return;
212
+ }
213
+
214
+ var displayStyle = editorContainer.getStyle( 'display' );
215
+
216
+ editorContainer.setStyle( 'display', 'block' );
217
+
218
+ var newHeight = editorContainer.getSize( 'height' );
219
+
220
+ var newMarginTop = parseInt( editorContainer.getComputedStyle( 'margin-top' ), 10 );
221
+ newMarginTop = ( isNaN( newMarginTop ) ? 0 : Number( newMarginTop ) );
222
+
223
+ var newMarginBottom = parseInt( editorContainer.getComputedStyle( 'margin-bottom' ), 10 );
224
+ newMarginBottom = ( isNaN( newMarginBottom ) ? 0 : Number( newMarginBottom ) );
225
+
226
+ var result = newHeight + newMarginTop + newMarginBottom;
227
+
228
+ editorContainer.setStyle( 'display', displayStyle );
229
+
230
+ editor.container.getAscendant( 'div' ).setStyle( 'height', result + 'px' );
231
+ }
232
+
233
+ var toolbarModifier = new ToolbarConfigurator.ToolbarModifier( 'editor-basic' );
234
+
235
+ var done = 0;
236
+ toolbarModifier.init( onToolbarInit );
237
+ toolbarModifier.onRefresh = onRefresh;
238
+
239
+ CKEDITOR.document.getById( 'toolbarModifierWrapper' ).append( toolbarModifier.mainContainer );
240
+
241
+ var toolbarTextModifier = new ToolbarConfigurator.ToolbarTextModifier( 'editor-advanced' );
242
+ toolbarTextModifier.init( onToolbarInit );
243
+ toolbarTextModifier.onRefresh = onRefresh;
244
+
245
+ function onToolbarInit() {
246
+ if ( ++done === 2 ) {
247
+ onToolbarsDone();
248
+
249
+ positionSticky.watch( CKEDITOR.document.findOne( '.toolbar' ), function() {
250
+ return mode === 'advanced';
251
+ } );
252
+ }
253
+ }
254
+
255
+ function onToolbarsDone() {
256
+ if ( mode === 'basic' ) {
257
+ toggleModeBasic( false );
258
+ } else {
259
+ toggleModeAdvanced( false );
260
+ }
261
+
262
+ updateSwitcher();
263
+
264
+ setTimeout( function() {
265
+ CKEDITOR.document.findOne( '.editors-container' ).addClass( 'active' );
266
+ CKEDITOR.document.findOne( '#toolbarModifierWrapper' ).addClass( 'active' );
267
+ }, 200 );
268
+ }
269
+
270
+ CKEDITOR.document.getById( 'toolbarModifierWrapper' ).append( toolbarTextModifier.mainContainer );
271
+
272
+ function toogleModeSwitch( onElement, offElement, onModifier, offModifier ) {
273
+ onElement.addClass( 'fancy-button-active' );
274
+ offElement.removeClass( 'fancy-button-active' );
275
+
276
+ onModifier.showUI();
277
+ offModifier.hideUI();
278
+ }
279
+
280
+ function toggleModeBasic( callOnRefresh ) {
281
+ callOnRefresh = ( callOnRefresh !== false );
282
+ mode = 'basic';
283
+ window.location.hash = '#basic';
284
+ toogleModeSwitch( modeSwitchBasic, modeSwitchAdvanced, toolbarModifier, toolbarTextModifier );
285
+
286
+ configuratorSection.removeClass( 'freed-width' );
287
+ basicInstruction.show();
288
+ advancedInstruction.hide();
289
+
290
+ callOnRefresh && onRefresh( toolbarModifier );
291
+ }
292
+
293
+ function toggleModeAdvanced( callOnRefresh ) {
294
+ callOnRefresh = ( callOnRefresh !== false );
295
+ mode = 'advanced';
296
+ window.location.hash = '#advanced';
297
+ toogleModeSwitch( modeSwitchAdvanced, modeSwitchBasic, toolbarTextModifier, toolbarModifier );
298
+
299
+ configuratorSection.addClass( 'freed-width' );
300
+ advancedInstruction.show();
301
+ basicInstruction.hide();
302
+
303
+ callOnRefresh && onRefresh( toolbarTextModifier );
304
+ }
305
+
306
+ modeSwitchBasic.on( 'click', toggleModeBasic );
307
+ modeSwitchAdvanced.on( 'click', toggleModeAdvanced );
308
+
309
+ //
310
+ // Position:sticky for the toolbar.
311
+ //
312
+
313
+ // Will make elements behave like they were styled with position:sticky.
314
+ var positionSticky = {
315
+ // Store object: {
316
+ // element: CKEDITOR.dom.element, // Element which will float.
317
+ // placeholder: CKEDITOR.dom.element, // Placeholder which is place to prevent page bounce.
318
+ // isFixed: boolean // Whether element float now.
319
+ // }
320
+ watched: [],
321
+
322
+ active: [],
323
+
324
+ staticContainer: null,
325
+
326
+ init: function() {
327
+ var element = CKEDITOR.dom.element.createFromHtml(
328
+ '<div class="staticContainer">' +
329
+ '<div class="grid-container" >' +
330
+ '<div class="grid-width-100">' +
331
+ '<div class="inner"></div>' +
332
+ '</div>' +
333
+ '</div>' +
334
+ '</div>' );
335
+
336
+ this.staticContainer = element.findOne( '.inner' );
337
+
338
+ CKEDITOR.document.getBody().append( element );
339
+ },
340
+
341
+ watch: function( element, preventFunc ) {
342
+ this.watched.push( {
343
+ element: element,
344
+ placeholder: new CKEDITOR.dom.element( 'div' ),
345
+ isFixed: false,
346
+ preventFunc: preventFunc
347
+ } );
348
+ },
349
+
350
+ checkAll: function() {
351
+ for ( var i = 0; i < this.watched.length; i++ ) {
352
+ this.check( this.watched[ i ] );
353
+ }
354
+ },
355
+
356
+ check: function( element ) {
357
+ var isFixed = element.isFixed;
358
+ var shouldBeFixed = this.shouldBeFixed( element );
359
+
360
+ // Nothing to be done.
361
+ if ( isFixed === shouldBeFixed ) {
362
+ return;
363
+ }
364
+
365
+ var placeholder = element.placeholder;
366
+
367
+ if ( isFixed ) {
368
+ // Unfixing.
369
+
370
+ element.element.insertBefore( placeholder );
371
+ placeholder.remove();
372
+
373
+ element.element.removeStyle( 'margin' );
374
+
375
+ this.active.splice( CKEDITOR.tools.indexOf( this.active, element ), 1 );
376
+
377
+ } else {
378
+ // Fixing.
379
+ placeholder.setStyle( 'width', element.element.getSize( 'width' ) + 'px' );
380
+ placeholder.setStyle( 'height', element.element.getSize( 'height' ) + 'px' );
381
+ placeholder.setStyle( 'margin-bottom', element.element.getComputedStyle( 'margin-bottom' ) );
382
+ placeholder.setStyle( 'display', element.element.getComputedStyle( 'display' ) );
383
+ placeholder.insertAfter( element.element );
384
+
385
+ this.staticContainer.append( element.element );
386
+
387
+ this.active.push( element );
388
+ }
389
+
390
+ element.isFixed = !element.isFixed;
391
+ },
392
+
393
+ shouldBeFixed: function( element ) {
394
+ if ( element.preventFunc && element.preventFunc() ) {
395
+ return false;
396
+ }
397
+
398
+ // If element is already fixed we are checking it's placeholder.
399
+ var related = ( element.isFixed ? element.placeholder : element.element ),
400
+ clientRect = related.$.getBoundingClientRect(),
401
+ staticHeight = this.staticContainer.getSize('height' ),
402
+ elemHeight = element.element.getSize( 'height' );
403
+
404
+ if ( element.isFixed ) {
405
+ return ( clientRect.top + elemHeight < staticHeight );
406
+ } else {
407
+ return ( clientRect.top < staticHeight );
408
+ }
409
+ }
410
+ };
411
+
412
+ positionSticky.init();
413
+
414
+ CKEDITOR.document.getWindow().on( 'scroll',
415
+ CKEDITOR.tools.eventsBuffer( 100, positionSticky.checkAll, positionSticky ).input
416
+ );
417
+
418
+ // Make the toolbar sticky.
419
+ positionSticky.watch( CKEDITOR.document.findOne( '.editors-container' ) );
420
+
421
+ // Help button and help-content.
422
+ ( function() {
423
+ var helpButton = CKEDITOR.document.getById( 'help' ),
424
+ helpContent = CKEDITOR.document.getById( 'help-content' );
425
+
426
+ // Don't show help button on IE8 because it's unsupported by Pico Modal.
427
+ if ( CKEDITOR.env.ie && CKEDITOR.env.version == 8 ) {
428
+ helpButton.hide();
429
+ } else {
430
+ // Display help modal when the button is clicked.
431
+ helpButton.on( 'click', function( evt ) {
432
+ SF.modal( {
433
+ // Clone modal content from DOM.
434
+ content: helpContent.getHtml(),
435
+
436
+ afterCreate: function( modal ) {
437
+ // Enable modal content button to close the modal.
438
+ new CKEDITOR.dom.element( modal.modalElem() ).findOne( '.help-content-close' ).once( 'click', modal.close );
439
+ }
440
+ } ).show();
441
+ } );
442
+ }
443
+ } )();
444
+ } )();
445
+ </script>
446
+ </body>
447
+ </html>
@@ -0,0 +1,13 @@
1
+ "function"!=typeof Object.create&&function(){var a=function(){};Object.create=function(b){if(1<arguments.length)throw Error("Second argument not supported");if(null===b)throw Error("Cannot set a null [[Prototype]]");if("object"!=typeof b)throw TypeError("Argument must be an object");a.prototype=b;return new a}}();
2
+ CKEDITOR.plugins.add("toolbarconfiguratorarea",{afterInit:function(a){a.addMode("wysiwyg",function(b){var c=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_wysiwyg_div cke_reset" hidefocus\x3d"true"\x3e\x3c/div\x3e');a.ui.space("contents").append(c);c=a.editable(c);c.detach=CKEDITOR.tools.override(c.detach,function(b){return function(){b.apply(this,arguments);this.remove()}});a.setData(a.getData(1),b);a.fire("contentDom")});a.dataProcessor.toHtml=function(b){return b};a.dataProcessor.toDataFormat=
3
+ function(b){return b}}});Object.keys||(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),e=c.length;return function(d){if("object"!==typeof d&&("function"!==typeof d||null===d))throw new TypeError("Object.keys called on non-object");var g=[],f;for(f in d)a.call(d,f)&&g.push(f);if(b)for(f=0;f<e;f++)a.call(d,c[f])&&g.push(c[f]);return g}}());
4
+ (function(){function a(b,c){this.cfg=c||{};this.hidden=!1;this.editorId=b;this.fullToolbarEditor=new ToolbarConfigurator.FullToolbarEditor;this.actualConfig=this.originalConfig=this.mainContainer=null;this.isEditableVisible=this.waitForReady=!1;this.toolbarContainer=null;this.toolbarButtons=[]}ToolbarConfigurator.AbstractToolbarModifier=a;a.prototype.setConfig=function(b){this._onInit(void 0,b,!0)};a.prototype.init=function(b){var c=this;this.mainContainer=new CKEDITOR.dom.element("div");if(null!==
5
+ this.fullToolbarEditor.editorInstance)throw"Only one instance of ToolbarModifier is allowed";this.editorInstance||this._createEditor(!1);this.editorInstance.once("loaded",function(){c.fullToolbarEditor.init(function(){c._onInit(b);if("function"==typeof c.onRefresh)c.onRefresh()},c.editorInstance.config)});return this.mainContainer};a.prototype._onInit=function(b,c){this.originalConfig=this.editorInstance.config;this.actualConfig=c?JSON.parse(c):JSON.parse(JSON.stringify(this.originalConfig));if(!this.actualConfig.toolbarGroups&&
6
+ !this.actualConfig.toolbar){for(var a=this.actualConfig,d=this.editorInstance.toolbar,g=[],f=d.length,k=0;k<f;k++){var h=d[k];"string"==typeof h?g.push(h):g.push({name:h.name,groups:h.groups?h.groups.slice():[]})}a.toolbarGroups=g}"function"===typeof b&&b(this.mainContainer)};a.prototype._createModifier=function(){this.mainContainer.addClass("unselectable");this.modifyContainer&&this.modifyContainer.remove();this.modifyContainer=new CKEDITOR.dom.element("div");this.modifyContainer.addClass("toolbarModifier");
7
+ this.mainContainer.append(this.modifyContainer);return this.mainContainer};a.prototype.getEditableArea=function(){return this.editorInstance.container.findOne("#"+this.editorInstance.id+"_contents")};a.prototype._hideEditable=function(){var b=this.getEditableArea();this.isEditableVisible=!1;this.lastEditableAreaHeight=b.getStyle("height");b.setStyle("height","0")};a.prototype._showEditable=function(){this.isEditableVisible=!0;this.getEditableArea().setStyle("height",this.lastEditableAreaHeight||"auto")};
8
+ a.prototype._toggleEditable=function(){this.isEditableVisible?this._hideEditable():this._showEditable()};a.prototype._refreshEditor=function(){function b(){c.editorInstance.destroy();c._createEditor(!0,c.getActualConfig());c.waitForReady=!1}var c=this,a=this.editorInstance.status;this.waitForReady||("unloaded"==a||"loaded"==a?(this.waitForReady=!0,this.editorInstance.once("instanceReady",function(){b()},this)):b())};a.prototype._createEditor=function(b,c){function e(){}var d=this;this.editorInstance=
9
+ CKEDITOR.replace(this.editorId);this.editorInstance.on("configLoaded",function(){var b=d.editorInstance.config;c&&CKEDITOR.tools.extend(b,c,!0);a.extendPluginsConfig(b)});this.editorInstance.on("uiSpace",function(b){"top"!=b.data.space&&b.stop()},null,null,-999);this.editorInstance.once("loaded",function(){var c=d.editorInstance.ui.instances,a;for(a in c)c[a]&&(c[a].click=e,c[a].onClick=e);d.isEditableVisible||d._hideEditable();d.currentActive&&d.currentActive.name&&d._highlightGroup(d.currentActive.name);
10
+ d.hidden?d.hideUI():d.showUI();if(b&&"function"===typeof d.onRefresh)d.onRefresh()})};a.prototype.getActualConfig=function(){return JSON.parse(JSON.stringify(this.actualConfig))};a.prototype._createToolbar=function(){if(this.toolbarButtons.length){this.toolbarContainer=new CKEDITOR.dom.element("div");this.toolbarContainer.addClass("toolbar");for(var b=this.toolbarButtons.length,c=0;c<b;c+=1)this._createToolbarBtn(this.toolbarButtons[c])}};a.prototype._createToolbarBtn=function(b){var c=ToolbarConfigurator.FullToolbarEditor.createButton("string"===
11
+ typeof b.text?b.text:b.text.inactive,b.cssClass);this.toolbarContainer.append(c);c.data("group",b.group);c.addClass(b.position);c.on("click",function(){b.clickCallback.call(this,c,b)},this);return c};a.prototype._fixGroups=function(b){b=b.toolbarGroups||[];for(var c=b.length,a=0;a<c;a+=1){var d=b[a];"/"==d?(d=b[a]={},d.type="separator",d.name="separator"+CKEDITOR.tools.getNextNumber()):(d.groups=d.groups||[],-1==CKEDITOR.tools.indexOf(d.groups,d.name)&&(this.editorInstance.ui.addToolbarGroup(d.name,
12
+ d.groups[d.groups.length-1],d.name),d.groups.push(d.name)),this._fixSubgroups(d))}};a.prototype._fixSubgroups=function(b){b=b.groups;for(var c=b.length,a=0;a<c;a+=1){var d=b[a];b[a]={name:d,totalBtns:ToolbarConfigurator.ToolbarModifier.getTotalSubGroupButtonsNumber(d,this.fullToolbarEditor)}}};a.stringifyJSONintoOneLine=function(b,a){a=a||{};var e=JSON.stringify(b,null,""),e=e.replace(/\n/g,"");a.addSpaces&&(e=e.replace(/(\{|:|,|\[|\])/g,function(a){return a+" "}),e=e.replace(/(\])/g,function(a){return" "+
13
+ a}));a.noQuotesOnKey&&(e=e.replace(/"(\w*)":/g,function(a,b){return b+":"}));a.singleQuotes&&(e=e.replace(/\"/g,"'"));return e};a.prototype.hideUI=function(){this.hidden=!0;this.mainContainer.hide();this.editorInstance.container&&this.editorInstance.container.hide()};a.prototype.showUI=function(){this.hidden=!1;this.mainContainer.show();this.editorInstance.container&&this.editorInstance.container.show()};a.extendPluginsConfig=function(a){var c=a.extraPlugins;a.extraPlugins=(c?c+",":"")+"toolbarconfiguratorarea"}})();
@@ -0,0 +1,9 @@
1
+ window.ToolbarConfigurator={};
2
+ (function(){function e(){this.instanceid="fte"+CKEDITOR.tools.getNextId();this.textarea=new CKEDITOR.dom.element("textarea");this.textarea.setAttributes({id:this.instanceid,name:this.instanceid,contentEditable:!0});this.editorInstance=this.buttons=null}ToolbarConfigurator.FullToolbarEditor=e;e.prototype.init=function(b){var a=this;document.body.appendChild(this.textarea.$);CKEDITOR.replace(this.instanceid);this.editorInstance=CKEDITOR.instances[this.instanceid];this.editorInstance.once("configLoaded",function(d){var c=
3
+ d.editor.config;delete c.removeButtons;delete c.toolbarGroups;delete c.toolbar;ToolbarConfigurator.AbstractToolbarModifier.extendPluginsConfig(c);d.editor.once("loaded",function(){a.buttons=e.toolbarToButtons(a.editorInstance.toolbar);a.buttonsByGroup=e.groupButtons(a.buttons);a.buttonNamesByGroup=a.groupButtonNamesByGroup(a.buttons);d.editor.container.hide();"function"===typeof b&&b(a.buttons)})})};e.prototype.groupButtonNamesByGroup=function(b){var a=this;b=e.groupButtons(b);for(var d in b)b[d]=
4
+ e.map(b[d],function(b){return a.getCamelCasedButtonName(b.name)});return b};e.prototype.getGroupByName=function(b){for(var a=this.editorInstance.config.toolbarGroups||this.getFullToolbarGroupsConfig(),d=a.length,c=0;c<d;c+=1)if(a[c].name===b)return a[c];return null};e.prototype.getCamelCasedButtonName=function(b){var a=this.editorInstance.ui.items,d;for(d in a)if(a[d].name==b)return d;return null};e.prototype.getFullToolbarGroupsConfig=function(b){b=!0===b?!0:!1;for(var a=[],d=this.editorInstance.toolbar,
5
+ c=d.length,f=0;f<c;f+=1){var e=d[f],g={};"string"!=typeof e.name?b&&a.push("/"):(g.name=e.name,e.groups&&(g.groups=Array.prototype.slice.call(e.groups)),a.push(g))}return a};e.filter=function(b,a){for(var d=b&&b.length?b.length:0,c=[],f=0;f<d;f+=1)a(b[f])&&c.push(b[f]);return c};e.map=function(b,a){var d;if(CKEDITOR.tools.isArray(b)){d=[];for(var c=b.length,f=0;f<c;f+=1)d.push(a(b[f]))}else for(c in d={},b)d[c]=a(b[c]);return d};e.groupButtons=function(b){for(var a={},d=b.length,c=0;c<d;c+=1){var f=
6
+ b[c],e=f.toolbar?f.toolbar.split(",")[0]:"others";a[e]=a[e]||[];a[e].push(f)}return a};e.toolbarToButtons=function(b){for(var a=[],d=b.length,c=0;c<d;c+=1)"object"==typeof b[c]&&(a=a.concat(e.groupToButtons(b[c])));return a};e.createToolbarButton=function(b){var a=new CKEDITOR.dom.element("a"),d=e.createIcon(b.name,b.icon,b.command);a.setStyle("float","none");a.addClass("cke_"+("rtl"==CKEDITOR.lang.dir?"rtl":"ltr"));if(b instanceof CKEDITOR.ui.button)a.addClass("cke_button"),a.addClass("cke_toolgroup"),
7
+ a.append(d);else if(CKEDITOR.ui.richCombo&&b instanceof CKEDITOR.ui.richCombo){var d=new CKEDITOR.dom.element("span"),c=new CKEDITOR.dom.element("span"),f=new CKEDITOR.dom.element("span");a.addClass("cke_combo_button");d.addClass("cke_combo_text");d.addClass("cke_combo_inlinelabel");d.setText(b.label);c.addClass("cke_combo_open");f.addClass("cke_combo_arrow");c.append(f);a.append(d);a.append(c)}return a};e.createIcon=function(b,a,d){var c=CKEDITOR.skin.getIconStyle(b,"rtl"==CKEDITOR.lang.dir),c=(c=
8
+ c||CKEDITOR.skin.getIconStyle(a,"rtl"==CKEDITOR.lang.dir))||CKEDITOR.skin.getIconStyle(d,"rtl"==CKEDITOR.lang.dir);a=new CKEDITOR.dom.element("span");a.addClass("cke_button_icon");a.addClass("cke_button__"+b+"_icon");a.setAttribute("style",c);a.setStyle("float","none");return a};e.createButton=function(b,a){var d=new CKEDITOR.dom.element("button");d.addClass("button-a");d.setAttribute("type","button");if("string"==typeof a){a=a.split(" ");for(var c=a.length;c--;)d.addClass(a[c])}d.setHtml(b);return d};
9
+ e.groupToButtons=function(b){for(var a=[],d=(b=b.items)?b.length:0,c=0;c<d;c+=1){var f=b[c];if(f instanceof CKEDITOR.ui.button||CKEDITOR.ui.richCombo&&f instanceof CKEDITOR.ui.richCombo)f.$=e.createToolbarButton(f),a.push(f)}return a}})();
@@ -0,0 +1,33 @@
1
+ (function(){function d(a,b){l.call(this,a,b);this.actualConfig=this.originalConfig=this.removedButtons=null;this.emptyVisible=!1;this.state="edit";this.toolbarButtons=[{text:{active:"Hide empty toolbar groups",inactive:"Show empty toolbar groups"},group:"edit",position:"left",cssClass:"button-a-soft",clickCallback:function(a,b){a[a.hasClass("button-a-background")?"removeClass":"addClass"]("button-a-background");this._toggleVisibilityEmptyElements();this.emptyVisible?a.setText(b.text.active):a.setText(b.text.inactive)}},
2
+ {text:"Add row separator",group:"edit",position:"left",cssClass:"button-a-soft",clickCallback:function(){this._addSeparator()}},{text:"Select config",group:"config",position:"left",cssClass:"button-a-soft",clickCallback:function(){this.configContainer.findOne("textarea").$.select()}},{text:"Back to configurator",group:"config",position:"right",cssClass:"button-a-background",clickCallback:function(){if("paste"===this.state){var a=this.configContainer.findOne("textarea").getValue();(a=d.evaluateToolbarGroupsConfig(a))?
3
+ this.setConfig(a):alert("Your pasted config is wrong.")}this.state="edit";this._showConfigurationTool();this.showToolbarBtnsByGroupName(this.state)}},{text:'Get toolbar \x3cspan class\x3d"highlight"\x3econfig\x3c/span\x3e',group:"edit",position:"right",cssClass:"button-a-background icon-pos-left icon-download",clickCallback:function(){this.state="config";this._showConfig();this.showToolbarBtnsByGroupName(this.state)}}];this.cachedActiveElement=null}var l=ToolbarConfigurator.AbstractToolbarModifier;
4
+ ToolbarConfigurator.ToolbarModifier=d;d.prototype=Object.create(ToolbarConfigurator.AbstractToolbarModifier.prototype);d.prototype.getActualConfig=function(){var a=l.prototype.getActualConfig.call(this);if(a.toolbarGroups)for(var b=a.toolbarGroups.length,c=0;c<b;c+=1)a.toolbarGroups[c]=d.parseGroupToConfigValue(a.toolbarGroups[c]);return a};d.prototype._onInit=function(a,b,c){c=!0===c;l.prototype._onInit.call(this,void 0,b);this.removedButtons=[];c?this.removedButtons=this.actualConfig.removeButtons?
5
+ this.actualConfig.removeButtons.split(","):[]:"removeButtons"in this.originalConfig?this.removedButtons=this.originalConfig.removeButtons?this.originalConfig.removeButtons.split(","):[]:(this.originalConfig.removeButtons="",this.removedButtons=[]);this.actualConfig.toolbarGroups||(this.actualConfig.toolbarGroups=this.fullToolbarEditor.getFullToolbarGroupsConfig());this._fixGroups(this.actualConfig);this._calculateTotalBtns();this._createModifier();this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();
6
+ "function"===typeof a&&a(this.mainContainer)};d.prototype._showConfigurationTool=function(){this.configContainer.addClass("hidden");this.modifyContainer.removeClass("hidden")};d.prototype._showConfig=function(){var a=this.getActualConfig(),b,c;if(a.toolbarGroups){b=a.toolbarGroups;for(var e=this.cfg.trimEmptyGroups,f=[],g=b.length,m=0;m<g;m++){var h=b[m];if("/"===h)f.push("'/'");else{if(e)for(var k=h.groups.length;k--;)0===d.getTotalSubGroupButtonsNumber(h.groups[k],this.fullToolbarEditor)&&h.groups.splice(k,
7
+ 1);e&&0===h.groups.length||f.push(l.stringifyJSONintoOneLine(h,{addSpaces:!0,noQuotesOnKey:!0,singleQuotes:!0}))}}b="\n\t\t"+f.join(",\n\t\t")}a.removeButtons&&(c=a.removeButtons);a=['\x3ctextarea class\x3d"configCode" readonly\x3eCKEDITOR.editorConfig \x3d function( config ) {\n',b?"\tconfig.toolbarGroups \x3d ["+b+"\n\t];":"",c?"\n\n":"",c?"\tconfig.removeButtons \x3d '"+c+"';":"","\n};\x3c/textarea\x3e"].join("");this.modifyContainer.addClass("hidden");this.configContainer.removeClass("hidden");
8
+ this.configContainer.setHtml(a)};d.prototype._toggleVisibilityEmptyElements=function(){this.modifyContainer.hasClass("empty-visible")?(this.modifyContainer.removeClass("empty-visible"),this.emptyVisible=!1):(this.modifyContainer.addClass("empty-visible"),this.emptyVisible=!0);this._refreshMoveBtnsAvalibility()};d.prototype._createModifier=function(){function a(){b._highlightGroup(this.data("name"))}var b=this;l.prototype._createModifier.call(this);this.modifyContainer.setHtml(this._toolbarConfigToListString());
9
+ var c=this.modifyContainer.find('li[data-type\x3d"group"]');this.modifyContainer.on("mouseleave",function(){this._dehighlightActiveToolGroup()},this);for(var e=c.count(),f=0;f<e;f+=1)c.getItem(f).on("mouseenter",a);CKEDITOR.document.on("keypress",function(a){a=a.data.$.keyCode;a=32===a||13===a;var c=new CKEDITOR.dom.element(CKEDITOR.document.$.activeElement);c.getAscendant(function(a){return a.$===b.mainContainer.$})&&a&&"button"===c.data("type")&&c.findOne("input").$.click()});this.modifyContainer.on("click",
10
+ function(a){var c=a.data.$,e=new CKEDITOR.dom.element(c.target||c.srcElement);if(a=d.getGroupOrSeparatorLiAncestor(e)){b.cachedActiveElement=document.activeElement;if(e.$ instanceof HTMLInputElement)b._handleCheckboxClicked(e);else if(e.$ instanceof HTMLButtonElement&&(c.preventDefault?c.preventDefault():c.returnValue=!1,(c=b._handleAnchorClicked(e.$))&&"remove"==c.action))return;c=a.data("type");a=a.data("name");b._setActiveElement(c,a);b.cachedActiveElement&&b.cachedActiveElement.focus()}});this.toolbarContainer||
11
+ (this._createToolbar(),this.toolbarContainer.insertBefore(this.mainContainer.getChildren().getItem(0)));this.showToolbarBtnsByGroupName("edit");this.configContainer||(this.configContainer=new CKEDITOR.dom.element("div"),this.configContainer.addClass("configContainer"),this.configContainer.addClass("hidden"),this.mainContainer.append(this.configContainer));return this.mainContainer};d.prototype.showToolbarBtnsByGroupName=function(a){if(this.toolbarContainer)for(var b=this.toolbarContainer.find("button"),
12
+ c=b.count(),e=0;e<c;e+=1){var d=b.getItem(e);d.data("group")==a?d.removeClass("hidden"):d.addClass("hidden")}};d.parseGroupToConfigValue=function(a){if("separator"==a.type)return"/";var b=a.groups,c=b.length;delete a.totalBtns;for(var e=0;e<c;e+=1)b[e]=b[e].name;return a};d.getGroupOrSeparatorLiAncestor=function(a){return a.$ instanceof HTMLLIElement&&"group"==a.data("type")?a:d.getFirstAncestor(a,function(a){a=a.data("type");return"group"==a||"separator"==a})};d.prototype._setActiveElement=function(a,
13
+ b){this.currentActive&&this.currentActive.elem.removeClass("active");if(null===a)this._dehighlightActiveToolGroup(),this.currentActive=null;else{var c=this.mainContainer.findOne('ul[data-type\x3dtable-body] li[data-type\x3d"'+a+'"][data-name\x3d"'+b+'"]');c.addClass("active");this.currentActive={type:a,name:b,elem:c};"group"==a&&this._highlightGroup(b);"separator"==a&&this._dehighlightActiveToolGroup()}};d.prototype.getActiveToolGroup=function(){return this.editorInstance.container?this.editorInstance.container.findOne(".cke_toolgroup.active, .cke_toolbar.active"):
14
+ null};d.prototype._dehighlightActiveToolGroup=function(){var a=this.getActiveToolGroup();a&&a.removeClass("active");this.editorInstance.container&&this.editorInstance.container.removeClass("some-toolbar-active")};d.prototype._highlightGroup=function(a){this.editorInstance.container&&(a=this.getFirstEnabledButtonInGroup(a),a=this.editorInstance.container.findOne(".cke_button__"+a+", .cke_combo__"+a),this._dehighlightActiveToolGroup(),this.editorInstance.container&&this.editorInstance.container.addClass("some-toolbar-active"),
15
+ a&&(a=d.getFirstAncestor(a,function(a){return a.hasClass("cke_toolbar")}))&&a.addClass("active"))};d.prototype.getFirstEnabledButtonInGroup=function(a){var b=this.actualConfig.toolbarGroups;a=this.getGroupIndex(a);b=b[a];if(-1===a)return null;a=b.groups?b.groups.length:0;for(var c=0;c<a;c+=1){var e=this.getFirstEnabledButtonInSubgroup(b.groups[c].name);if(e)return e}return null};d.prototype.getFirstEnabledButtonInSubgroup=function(a){for(var b=(a=this.fullToolbarEditor.buttonsByGroup[a])?a.length:
16
+ 0,c=0;c<b;c+=1){var e=a[c].name;if(!this.isButtonRemoved(e))return e}return null};d.prototype._handleCheckboxClicked=function(a){var b=a.getAscendant("li").data("name");a.$.checked?this._removeButtonFromRemoved(b):this._addButtonToRemoved(b)};d.prototype._handleAnchorClicked=function(a){a=new CKEDITOR.dom.element(a);var b=a.getAscendant("li"),c=b.getAscendant("ul"),e=b.data("type"),d=b.data("name"),g=a.data("direction"),m="up"===g?b.getPrevious():b.getNext(),h;if(a.hasClass("disabled"))return null;
17
+ if(a.hasClass("remove"))return b.remove(),this._removeSeparator(b.data("name")),this._setActiveElement(null),{action:"remove"};if(!a.hasClass("move")||!m)return{action:null};if("group"===e||"separator"===e)h=this._moveGroup(g,d);"subgroup"===e&&(h=b.getAscendant("li").data("name"),h=this._moveSubgroup(g,h,d));"up"===g&&b.insertBefore(c.getChild(h));"down"===g&&b.insertAfter(c.getChild(h));for(var k;b="up"===g?b.getPrevious():b.getNext();)if(this.emptyVisible||!b.hasClass("empty")){k=b;break}k||(k=
18
+ '[data-direction\x3d"'+("up"===g?"down":"up")+'"]',this.cachedActiveElement=a.getParent().findOne(k));this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();return{action:"move"}};d.prototype._refreshMoveBtnsAvalibility=function(){function a(a){var c=a.count();for(d=0;d<c;d+=1)b._disableElementsInList(a.getItem(d))}for(var b=this,c=this.mainContainer.find("ul[data-type\x3dtable-body] li \x3e p \x3e span \x3e button.move.disabled"),e=c.count(),d=0;d<e;d+=1)c.getItem(d).removeClass("disabled");
19
+ a(this.mainContainer.find("ul[data-type\x3dtable-body]"));a(this.mainContainer.find("ul[data-type\x3dtable-body] \x3e li \x3e ul"))};d.prototype._refreshBtnTabIndexes=function(){for(var a=this.mainContainer.find('[data-tab\x3d"true"]'),b=a.count(),c=0;c<b;c++){var e=a.getItem(c),d=e.hasClass("disabled");e.setAttribute("tabindex",d?-1:c)}};d.prototype._disableElementsInList=function(a){function b(a){return!a.hasClass("empty")}if(a.getChildren().count()){var c;this.emptyVisible?(c=a.getFirst(),a=a.getLast()):
20
+ (c=a.getFirst(b),a=a.getLast(b));if(c)var e=c.findOne('p button[data-direction\x3d"up"]');if(a)var d=a.findOne('p button[data-direction\x3d"down"]');e&&(e.addClass("disabled"),e.setAttribute("tabindex","-1"));d&&(d.addClass("disabled"),d.setAttribute("tabindex","-1"))}};d.prototype.getGroupIndex=function(a){for(var b=this.actualConfig.toolbarGroups,c=b.length,d=0;d<c;d+=1)if(b[d].name===a)return d;return-1};d.prototype._addSeparator=function(){var a=this._determineSeparatorToAddIndex(),b=d.createSeparatorLiteral(),
21
+ c=CKEDITOR.dom.element.createFromHtml(d.getToolbarSeparatorString(b));this.actualConfig.toolbarGroups.splice(a,0,b);c.insertBefore(this.modifyContainer.findOne("ul[data-type\x3dtable-body]").getChild(a));this._setActiveElement("separator",b.name);this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();this._refreshEditor()};d.prototype._removeSeparator=function(a){var b=CKEDITOR.tools.indexOf(this.actualConfig.toolbarGroups,function(b){return"separator"==b.type&&b.name==a});this.actualConfig.toolbarGroups.splice(b,
22
+ 1);this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();this._refreshEditor()};d.prototype._determineSeparatorToAddIndex=function(){return this.currentActive?("group"==this.currentActive.elem.data("type")||"separator"==this.currentActive.elem.data("type")?this.currentActive.elem:this.currentActive.elem.getAscendant("li")).getIndex():0};d.prototype._moveElement=function(a,b,c){function e(a){return a.totalBtns||"separator"==a.type}c=this.emptyVisible?"down"==c?b+1:b-1:d.getFirstElementIndexWith(a,
23
+ b,c,e);return d.moveTo(c-b,a,b)};d.prototype._moveGroup=function(a,b){var c=this.getGroupIndex(b),c=this._moveElement(this.actualConfig.toolbarGroups,c,a);this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();this._refreshEditor();return c};d.prototype._moveSubgroup=function(a,b,c){b=this.getGroupIndex(b);b=this.actualConfig.toolbarGroups[b];var d=CKEDITOR.tools.indexOf(b.groups,function(a){return a.name==c});a=this._moveElement(b.groups,d,a);this._refreshEditor();return a};d.prototype._calculateTotalBtns=
24
+ function(){for(var a=this.actualConfig.toolbarGroups,b=a.length;b--;){var c=a[b],e=d.getTotalGroupButtonsNumber(c,this.fullToolbarEditor);"separator"!=c.type&&(c.totalBtns=e)}};d.prototype._addButtonToRemoved=function(a){if(-1!=CKEDITOR.tools.indexOf(this.removedButtons,a))throw"Button already added to removed";this.removedButtons.push(a);this.actualConfig.removeButtons=this.removedButtons.join(",");this._refreshEditor()};d.prototype._removeButtonFromRemoved=function(a){a=CKEDITOR.tools.indexOf(this.removedButtons,
25
+ a);if(-1===a)throw"Trying to remove button from removed, but not found";this.removedButtons.splice(a,1);this.actualConfig.removeButtons=this.removedButtons.join(",");this._refreshEditor()};d.parseGroupToConfigValue=function(a){if("separator"==a.type)return"/";var b=a.groups,c=b.length;delete a.totalBtns;for(var d=0;d<c;d+=1)b[d]=b[d].name;return a};d.getGroupOrSeparatorLiAncestor=function(a){return a.$ instanceof HTMLLIElement&&"group"==a.data("type")?a:d.getFirstAncestor(a,function(a){a=a.data("type");
26
+ return"group"==a||"separator"==a})};d.createSeparatorLiteral=function(){return{type:"separator",name:"separator"+CKEDITOR.tools.getNextNumber()}};d.prototype._toolbarConfigToListString=function(){for(var a=this.actualConfig.toolbarGroups||[],b='\x3cul data-type\x3d"table-body"\x3e',c=a.length,e=0;e<c;e+=1)var f=a[e],b="separator"===f.type?b+d.getToolbarSeparatorString(f):b+this._getToolbarGroupString(f);b+="\x3c/ul\x3e";return d.getToolbarHeaderString()+b};d.prototype._getToolbarGroupString=function(a){var b=
27
+ a.groups,c;c=""+['\x3cli data-type\x3d"group" data-name\x3d"',a.name,'" ',a.totalBtns?"":'class\x3d"empty"',"\x3e"].join("");c+=d.getToolbarElementPreString(a)+"\x3cul\x3e";a=b.length;for(var e=0;e<a;e+=1){var f=b[e];c+=this._getToolbarSubgroupString(f,this.fullToolbarEditor.buttonsByGroup[f.name])}return c+"\x3c/ul\x3e\x3c/li\x3e"};d.getToolbarSeparatorString=function(a){return['\x3cli data-type\x3d"',a.type,'" data-name\x3d"',a.name,'"\x3e',d.getToolbarElementPreString("row separator"),"\x3c/li\x3e"].join("")};
28
+ d.getToolbarHeaderString=function(){return'\x3cul data-type\x3d"table-header"\x3e\x3cli data-type\x3d"header"\x3e\x3cp\x3eToolbars\x3c/p\x3e\x3cul\x3e\x3cli\x3e\x3cp\x3eToolbar groups\x3c/p\x3e\x3cp\x3eToolbar group items\x3c/p\x3e\x3c/li\x3e\x3c/ul\x3e\x3c/li\x3e\x3c/ul\x3e'};d.getFirstAncestor=function(a,b){for(var c=a.getParents(),d=c.length;d--;)if(b(c[d]))return c[d];return null};d.getFirstElementIndexWith=function(a,b,c,d){for(;"up"===c?b--:++b<a.length;)if(d(a[b]))return b;return-1};d.moveTo=
29
+ function(a,b,c){var d;-1!==c&&(d=b.splice(c,1)[0]);a=c+a;b.splice(a,0,d);return a};d.getTotalSubGroupButtonsNumber=function(a,b){var c=b.buttonsByGroup["string"==typeof a?a:a.name];return c?c.length:0};d.getTotalGroupButtonsNumber=function(a,b){for(var c=0,e=a.groups,f=e?e.length:0,g=0;g<f;g+=1)c+=d.getTotalSubGroupButtonsNumber(e[g],b);return c};d.prototype._getToolbarSubgroupString=function(a,b){var c;c=""+['\x3cli data-type\x3d"subgroup" data-name\x3d"',a.name,'" ',a.totalBtns?"":'class\x3d"empty" ',
30
+ "\x3e"].join("");c+=d.getToolbarElementPreString(a.name);c+="\x3cul\x3e";for(var e=b?b.length:0,f=0;f<e;f+=1)c+=this.getButtonString(b[f]);return c+="\x3c/ul\x3e\x3c/li\x3e"};d.prototype._getConfigButtonName=function(a){var b=this.fullToolbarEditor.editorInstance.ui.items,c;for(c in b)if(b[c].name==a)return c;return null};d.prototype.isButtonRemoved=function(a){return-1!=CKEDITOR.tools.indexOf(this.removedButtons,this._getConfigButtonName(a))};d.prototype.getButtonString=function(a){var b=this.isButtonRemoved(a.name)?
31
+ "":'checked\x3d"checked"';return['\x3cli data-tab\x3d"true" data-type\x3d"button" data-name\x3d"',this._getConfigButtonName(a.name),'"\x3e\x3clabel title\x3d"',a.label,'" \x3e\x3cinput tabindex\x3d"-1"type\x3d"checkbox"',b,"/\x3e",a.$.getOuterHtml(),"\x3c/label\x3e\x3c/li\x3e"].join("")};d.getToolbarElementPreString=function(a){a=a.name?a.name:a;return['\x3cp\x3e\x3cspan\x3e\x3cbutton title\x3d"Move element upward" data-tab\x3d"true" data-direction\x3d"up" class\x3d"move icon-up-big"\x3e\x3c/button\x3e\x3cbutton title\x3d"Move element downward" data-tab\x3d"true" data-direction\x3d"down" class\x3d"move icon-down-big"\x3e\x3c/button\x3e',
32
+ "row separator"==a?'\x3cbutton title\x3d"Remove element" data-tab\x3d"true" class\x3d"remove icon-trash"\x3e\x3c/button\x3e':"",a,"\x3c/span\x3e\x3c/p\x3e"].join("")};d.evaluateToolbarGroupsConfig=function(a){return a=function(a){var c={},d;try{d=eval("("+a+")")}catch(f){try{d=eval(a)}catch(g){return null}}return c.toolbarGroups&&"number"===typeof c.toolbarGroups.length?JSON.stringify(c):d&&"number"===typeof d.length?JSON.stringify({toolbarGroups:d}):d&&d.toolbarGroups?JSON.stringify(d):null}(a)};
33
+ return d})();
@@ -0,0 +1,14 @@
1
+ (function(){function e(a){l.call(this,a);this.hintContainer=this.codeContainer=null}var l=ToolbarConfigurator.AbstractToolbarModifier,g=ToolbarConfigurator.FullToolbarEditor;ToolbarConfigurator.ToolbarTextModifier=e;e.prototype=Object.create(l.prototype);e.prototype._onInit=function(a,d){l.prototype._onInit.call(this,void 0,d);this._createModifier(d?this.actualConfig:void 0);"function"===typeof a&&a(this.mainContainer)};e.prototype._createModifier=function(a){function d(a){var b=c(a);if(null!==b.charsBetween){var d=
2
+ k.getUnusedButtonsArray(k.actualConfig.toolbar,!0,b.charsBetween),e=a.getCursor(),b=CodeMirror.Pos(e.line,e.ch-b.charsBetween.length),h=a.getTokenAt(e);"{"===a.getTokenAt({line:e.line,ch:h.start}).string&&(d=["name"]);if(0!==d.length)return new f(b,e,d)}}function f(a,c,b){this.from=a;this.to=c;this.list=b;this._handlers=[]}function c(a,c){var b={};b.cur=a.getCursor();b.tok=a.getTokenAt(b.cur);b["char"]=c||b.tok.string.charAt(b.tok.string.length-1);var d=a.getRange(CodeMirror.Pos(b.cur.line,0),b.cur).split("").reverse().join(""),
3
+ d=d.replace(/(['|"]\w*['|"])/g,"");b.charsBetween=d.match(/(^\w*)(['|"])/);b.charsBetween&&(b.endChar=b.charsBetween[2],b.charsBetween=b.charsBetween[1].split("").reverse().join(""));return b}function b(a){setTimeout(function(){a.state.completionActive||CodeMirror.showHint(a,d,{hintsClass:"toolbar-modifier",completeSingle:!1})},100);return CodeMirror.Pass}var k=this;this._createToolbar();this.toolbarContainer&&this.mainContainer.append(this.toolbarContainer);l.prototype._createModifier.call(this);
4
+ this._setupActualConfig(a);a=this.actualConfig.toolbar;a=CKEDITOR.tools.isArray(a)?"\tconfig.toolbar \x3d "+("[\n\t\t"+g.map(a,function(a){return l.stringifyJSONintoOneLine(a,{addSpaces:!0,noQuotesOnKey:!0,singleQuotes:!0})}).join(",\n\t\t")+"\n\t]")+";":"config.toolbar \x3d [];";a=["CKEDITOR.editorConfig \x3d function( config ) {\n",a,"\n};"].join("");var e=new CKEDITOR.dom.element("div");e.addClass("codemirror-wrapper");this.modifyContainer.append(e);this.codeContainer=CodeMirror(e.$,{mode:{name:"javascript",
5
+ json:!0},lineNumbers:!1,lineWrapping:!0,viewportMargin:Infinity,value:a,smartIndent:!1,indentWithTabs:!0,indentUnit:4,tabSize:4,theme:"neo",extraKeys:{Left:b,Right:b,"'''":b,"'\"'":b,Backspace:b,Delete:b,"Shift-Tab":"indentLess"}});this.codeContainer.on("endCompletion",function(a,b){var d=c(a);void 0!==b&&a.replaceSelection(d.endChar)});this.codeContainer.on("change",function(){var a=k.codeContainer.getValue(),a=k._evaluateValue(a);null!==a?(k.actualConfig.toolbar=a.toolbar?a.toolbar:k.actualConfig.toolbar,
6
+ k._fillHintByUnusedElements(),k._refreshEditor(),k.mainContainer.removeClass("invalid")):k.mainContainer.addClass("invalid")});this.hintContainer=new CKEDITOR.dom.element("div");this.hintContainer.addClass("toolbarModifier-hints");this._fillHintByUnusedElements();this.hintContainer.insertBefore(e)};e.prototype._fillHintByUnusedElements=function(){var a=this.getUnusedButtonsArray(this.actualConfig.toolbar,!0),a=this.groupButtonNamesByGroup(a),d=g.map(a,function(a){var b=g.map(a.buttons,function(a){return"\x3ccode\x3e"+
7
+ a+"\x3c/code\x3e "}).join("");return["\x3cdt\x3e\x3ccode\x3e",a.name,"\x3c/code\x3e\x3c/dt\x3e\x3cdd\x3e",b,"\x3c/dd\x3e"].join("")}).join(" "),f='\x3cdt class\x3d"list-header"\x3eToolbar group\x3c/dt\x3e\x3cdd class\x3d"list-header"\x3eUnused items\x3c/dd\x3e';a.length||(f="\x3cp\x3eAll items are in use.\x3c/p\x3e");this.codeContainer.refresh();this.hintContainer.setHtml("\x3ch3\x3eUnused toolbar items\x3c/h3\x3e\x3cdl\x3e"+f+d+"\x3c/dl\x3e")};e.prototype.getToolbarGroupByButtonName=function(a){var d=
8
+ this.fullToolbarEditor.buttonNamesByGroup,f;for(f in d)for(var c=d[f],b=c.length;b--;)if(a===c[b])return f;return null};e.prototype.getUnusedButtonsArray=function(a,d,f){d=!0===d?!0:!1;var c=e.mapToolbarCfgToElementsList(a);a=Object.keys(this.fullToolbarEditor.editorInstance.ui.items);a=g.filter(a,function(a){var d="-"===a;a=void 0===f||0===a.toLowerCase().indexOf(f.toLowerCase());return!d&&a});a=g.filter(a,function(a){return-1==CKEDITOR.tools.indexOf(c,a)});d&&a.sort();return a};e.prototype.groupButtonNamesByGroup=
9
+ function(a){var d=[],f=JSON.parse(JSON.stringify(this.fullToolbarEditor.buttonNamesByGroup)),c;for(c in f){var b=f[c],b=g.filter(b,function(b){return-1!==CKEDITOR.tools.indexOf(a,b)});b.length&&d.push({name:c,buttons:b})}return d};e.mapToolbarCfgToElementsList=function(a){function d(a){return"-"!==a}for(var f=[],c=a.length,b=0;b<c;b+=1)a[b]&&"string"!==typeof a[b]&&(f=f.concat(g.filter(a[b].items,d)));return f};e.prototype._setupActualConfig=function(a){a=a||this.editorInstance.config;CKEDITOR.tools.isArray(a.toolbar)||
10
+ (a.toolbarGroups||(a.toolbarGroups=this.fullToolbarEditor.getFullToolbarGroupsConfig(!0)),this._fixGroups(a),a.toolbar=this._mapToolbarGroupsToToolbar(a.toolbarGroups,this.actualConfig.removeButtons),this.actualConfig.toolbar=a.toolbar,this.actualConfig.removeButtons="")};e.prototype._mapToolbarGroupsToToolbar=function(a,d){d=d||this.editorInstance.config.removedBtns;d="string"==typeof d?d.split(","):[];for(var f=a.length;f--;){var c=this._mapToolbarSubgroup(a[f],d);"separator"===a[f].type?a[f]="/":
11
+ CKEDITOR.tools.isArray(c)&&0===c.length?a.splice(f,1):a[f]="string"==typeof c?c:{name:a[f].name,items:c}}return a};e.prototype._mapToolbarSubgroup=function(a,d){if("string"==typeof a)return a;for(var f=a.groups?a.groups.length:0,c=[],b=0;b<f;b+=1){var e=a.groups[b],e=this.fullToolbarEditor.buttonsByGroup["string"===typeof e?e:e.name]||[],e=this._mapButtonsToButtonsNames(e,d),g=e.length,c=c.concat(e);g&&c.push("-")}"-"==c[c.length-1]&&c.pop();return c};e.prototype._mapButtonsToButtonsNames=function(a,
12
+ d){for(var f=a.length;f--;){var c=a[f],c="string"===typeof c?c:this.fullToolbarEditor.getCamelCasedButtonName(c.name);-1!==CKEDITOR.tools.indexOf(d,c)?a.splice(f,1):a[f]=c}return a};e.prototype._evaluateValue=function(a){var d;try{var f={};Function("var CKEDITOR \x3d {}; "+a+"; return CKEDITOR;")().editorConfig(f);d=f;for(var c=d.toolbar.length;c--;)d.toolbar[c]||d.toolbar.splice(c,1)}catch(b){d=null}return d};e.prototype.mapToolbarToToolbarGroups=function(a){function d(a,b){a=a.slice();for(var d=
13
+ b.length;d--;){var c=a.indexOf(b[d]);-1!==c&&a.splice(c,1)}return a}for(var f={},c=[],b=[],c=a.length,e=0;e<c;e++)if("/"===a[e])b.push("/");else{var g=a[e].items,m={};m.name=a[e].name;m.groups=[];for(var l=g.length,p=0;p<l;p++){var n=g[p];if("-"!==n){var h=this.getToolbarGroupByButtonName(n);-1===m.groups.indexOf(h)&&m.groups.push(h);f[h]=f[h]||{};h=f[h].buttons=f[h].buttons||{};h[n]=h[n]||{used:0,origin:m.name};h[n].used++}}b.push(m)}c=function(a,b){var c=[],e;for(e in a)var f=a[e],g=b[e].slice(),
14
+ c=c.concat(d(g,Object.keys(f.buttons)));return c}(f,this.fullToolbarEditor.buttonNamesByGroup);return{toolbarGroups:b,removeButtons:c.join(",")}};return e})();
@@ -0,0 +1,19 @@
1
+ Copyright (C) 2014 by Marijn Haverbeke <marijnh@gmail.com> and others
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.