wax_theme 0.1.0.beta → 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 (329) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -0
  3. data/README.md +79 -30
  4. data/_includes/collection_gallery.html +58 -0
  5. data/_includes/{wax/footer.html → footer.html} +2 -4
  6. data/_includes/head.html +13 -0
  7. data/_includes/{wax/header.html → header.html} +1 -2
  8. data/_includes/{wax/inline_image.html → inline_image.html} +1 -1
  9. data/_includes/{wax/collection/interactive_metadata.html → interactive_metadata_table.html} +38 -21
  10. data/_includes/item_metadata.html +26 -0
  11. data/_includes/{wax/item/pagination.html → item_pagination.html} +0 -0
  12. data/_includes/osd_iiif_image_viewer.html +22 -0
  13. data/_includes/{wax/parallax.html → parallax_image.html} +10 -6
  14. data/_includes/search_box.html +31 -0
  15. data/_includes/{wax/image_viewer/simple.html → simple_image_viewer.html} +0 -0
  16. data/_layouts/default.html +25 -0
  17. data/_layouts/{wax/exhibit.html → exhibit.html} +1 -1
  18. data/_layouts/{wax/collection_item.html → generic_collection_item.html} +8 -8
  19. data/_layouts/page.html +8 -0
  20. data/_layouts/qatar_item.html +24 -0
  21. data/_sass/_wax.scss +234 -165
  22. data/assets/bootstrap/bootstrap.min.js +7 -0
  23. data/assets/bootstrap/bootstrap.min.js.map +1 -0
  24. data/assets/{css → datatables}/datatables.css +0 -0
  25. data/assets/{js → datatables}/datatables.min.js +0 -0
  26. data/assets/{js/elasticlunr.min.js → elasticlunr.min.js} +0 -0
  27. data/assets/{js/jquery-3.2.1.min.js → jquery-3.2.1.min.js} +0 -0
  28. data/assets/openseadragon/alt-buttons/fullpage_grouphover.png +0 -0
  29. data/assets/openseadragon/alt-buttons/fullpage_hover.png +0 -0
  30. data/assets/openseadragon/alt-buttons/fullpage_pressed.png +0 -0
  31. data/assets/openseadragon/alt-buttons/fullpage_rest.png +0 -0
  32. data/assets/openseadragon/alt-buttons/home_grouphover.png +0 -0
  33. data/assets/openseadragon/alt-buttons/home_hover.png +0 -0
  34. data/assets/openseadragon/alt-buttons/home_pressed.png +0 -0
  35. data/assets/openseadragon/alt-buttons/home_rest.png +0 -0
  36. data/assets/openseadragon/alt-buttons/next_grouphover.png +0 -0
  37. data/assets/openseadragon/alt-buttons/next_hover.png +0 -0
  38. data/assets/openseadragon/alt-buttons/next_pressed.png +0 -0
  39. data/assets/openseadragon/alt-buttons/next_rest.png +0 -0
  40. data/assets/openseadragon/alt-buttons/previous_grouphover.png +0 -0
  41. data/assets/openseadragon/alt-buttons/previous_hover.png +0 -0
  42. data/assets/openseadragon/alt-buttons/previous_pressed.png +0 -0
  43. data/assets/openseadragon/alt-buttons/previous_rest.png +0 -0
  44. data/assets/openseadragon/alt-buttons/rotateleft_grouphover.png +0 -0
  45. data/assets/openseadragon/alt-buttons/rotateleft_hover.png +0 -0
  46. data/assets/openseadragon/alt-buttons/rotateleft_pressed.png +0 -0
  47. data/assets/openseadragon/alt-buttons/rotateleft_rest.png +0 -0
  48. data/assets/openseadragon/alt-buttons/rotateright_grouphover.png +0 -0
  49. data/assets/openseadragon/alt-buttons/rotateright_hover.png +0 -0
  50. data/assets/openseadragon/alt-buttons/rotateright_pressed.png +0 -0
  51. data/assets/openseadragon/alt-buttons/rotateright_rest.png +0 -0
  52. data/assets/openseadragon/alt-buttons/zoomin_grouphover.png +0 -0
  53. data/assets/openseadragon/alt-buttons/zoomin_hover.png +0 -0
  54. data/assets/openseadragon/alt-buttons/zoomin_pressed.png +0 -0
  55. data/assets/openseadragon/alt-buttons/zoomin_rest.png +0 -0
  56. data/assets/openseadragon/alt-buttons/zoomout_grouphover.png +0 -0
  57. data/assets/openseadragon/alt-buttons/zoomout_hover.png +0 -0
  58. data/assets/openseadragon/alt-buttons/zoomout_pressed.png +0 -0
  59. data/assets/openseadragon/alt-buttons/zoomout_rest.png +0 -0
  60. data/assets/openseadragon/images/button_grouphover.png +0 -0
  61. data/assets/openseadragon/images/button_hover.png +0 -0
  62. data/assets/openseadragon/images/button_pressed.png +0 -0
  63. data/assets/openseadragon/images/button_rest.png +0 -0
  64. data/assets/openseadragon/images/flip_grouphover.png +0 -0
  65. data/assets/openseadragon/images/flip_hover.png +0 -0
  66. data/assets/openseadragon/images/flip_pressed.png +0 -0
  67. data/assets/openseadragon/images/flip_rest.png +0 -0
  68. data/assets/openseadragon/images/fullpage_grouphover.png +0 -0
  69. data/assets/openseadragon/images/fullpage_hover.png +0 -0
  70. data/assets/openseadragon/images/fullpage_pressed.png +0 -0
  71. data/assets/openseadragon/images/fullpage_rest.png +0 -0
  72. data/assets/openseadragon/images/home_grouphover.png +0 -0
  73. data/assets/openseadragon/images/home_hover.png +0 -0
  74. data/assets/openseadragon/images/home_pressed.png +0 -0
  75. data/assets/openseadragon/images/home_rest.png +0 -0
  76. data/assets/openseadragon/images/next_grouphover.png +0 -0
  77. data/assets/openseadragon/images/next_hover.png +0 -0
  78. data/assets/openseadragon/images/next_pressed.png +0 -0
  79. data/assets/openseadragon/images/next_rest.png +0 -0
  80. data/assets/openseadragon/images/previous_grouphover.png +0 -0
  81. data/assets/openseadragon/images/previous_hover.png +0 -0
  82. data/assets/openseadragon/images/previous_pressed.png +0 -0
  83. data/assets/openseadragon/images/previous_rest.png +0 -0
  84. data/assets/openseadragon/images/rotateleft_grouphover.png +0 -0
  85. data/assets/openseadragon/images/rotateleft_hover.png +0 -0
  86. data/assets/openseadragon/images/rotateleft_pressed.png +0 -0
  87. data/assets/openseadragon/images/rotateleft_rest.png +0 -0
  88. data/assets/openseadragon/images/rotateright_grouphover.png +0 -0
  89. data/assets/openseadragon/images/rotateright_hover.png +0 -0
  90. data/assets/openseadragon/images/rotateright_pressed.png +0 -0
  91. data/assets/openseadragon/images/rotateright_rest.png +0 -0
  92. data/assets/openseadragon/images/zoomin_grouphover.png +0 -0
  93. data/assets/openseadragon/images/zoomin_hover.png +0 -0
  94. data/assets/openseadragon/images/zoomin_pressed.png +0 -0
  95. data/assets/openseadragon/images/zoomin_rest.png +0 -0
  96. data/assets/openseadragon/images/zoomout_grouphover.png +0 -0
  97. data/assets/openseadragon/images/zoomout_hover.png +0 -0
  98. data/assets/openseadragon/images/zoomout_pressed.png +0 -0
  99. data/assets/openseadragon/images/zoomout_rest.png +0 -0
  100. data/assets/openseadragon/openseadragon.min.js +9 -0
  101. data/assets/openseadragon/openseadragon.min.js.map +1 -0
  102. data/assets/{js/popper.min.js → popper.min.js} +0 -1
  103. data/assets/search-ui.js +63 -0
  104. data/assets/styles.scss +20 -20
  105. metadata +130 -249
  106. data/_includes/wax/collection/gallery.html +0 -33
  107. data/_includes/wax/head.html +0 -16
  108. data/_includes/wax/image_viewer/leaflet.html +0 -11
  109. data/_includes/wax/image_viewer/mirador.html +0 -8
  110. data/_includes/wax/item/metadata.html +0 -23
  111. data/_includes/wax/mirador_compare.html +0 -11
  112. data/_includes/wax/search.html +0 -12
  113. data/_layouts/wax/default.html +0 -20
  114. data/_layouts/wax/page.html +0 -13
  115. data/_layouts/wax/reuse_page.html +0 -7
  116. data/_sass/_syntax.scss +0 -129
  117. data/assets/css/leaflet.css +0 -636
  118. data/assets/js/bootstrap.min.js +0 -7
  119. data/assets/js/leaflet-iiif.min.js +0 -8
  120. data/assets/js/leaflet.js +0 -5
  121. data/assets/js/wax.js +0 -91
  122. data/assets/logo.png +0 -0
  123. data/assets/mirador/css/mirador-combined.css +0 -4107
  124. data/assets/mirador/fonts/FontAwesome.otf +0 -0
  125. data/assets/mirador/fonts/MaterialIcons-Regular.eot +0 -0
  126. data/assets/mirador/fonts/MaterialIcons-Regular.ijmap +0 -1
  127. data/assets/mirador/fonts/MaterialIcons-Regular.svg +0 -2373
  128. data/assets/mirador/fonts/MaterialIcons-Regular.ttf +0 -0
  129. data/assets/mirador/fonts/MaterialIcons-Regular.woff +0 -0
  130. data/assets/mirador/fonts/MaterialIcons-Regular.woff2 +0 -0
  131. data/assets/mirador/fonts/fontawesome-webfont.eot +0 -0
  132. data/assets/mirador/fonts/fontawesome-webfont.svg +0 -2671
  133. data/assets/mirador/fonts/fontawesome-webfont.ttf +0 -0
  134. data/assets/mirador/fonts/fontawesome-webfont.woff +0 -0
  135. data/assets/mirador/fonts/fontawesome-webfont.woff2 +0 -0
  136. data/assets/mirador/images/border_type_1.png +0 -0
  137. data/assets/mirador/images/border_type_2.png +0 -0
  138. data/assets/mirador/images/border_type_3.png +0 -0
  139. data/assets/mirador/images/border_type_4.png +0 -0
  140. data/assets/mirador/images/border_type_5.png +0 -0
  141. data/assets/mirador/images/debut_dark.png +0 -0
  142. data/assets/mirador/locales/ar/translation.json +0 -42
  143. data/assets/mirador/locales/de/translation.json +0 -103
  144. data/assets/mirador/locales/en/translation.json +0 -106
  145. data/assets/mirador/locales/es/translation.json +0 -86
  146. data/assets/mirador/locales/fr/translation.json +0 -103
  147. data/assets/mirador/locales/ga/translation.json +0 -97
  148. data/assets/mirador/locales/ja/translation.json +0 -82
  149. data/assets/mirador/locales/ko/translation.json +0 -83
  150. data/assets/mirador/locales/nl/translation.json +0 -39
  151. data/assets/mirador/locales/zh-CN/translation.json +0 -76
  152. data/assets/mirador/locales/zh-TW/translation.json +0 -76
  153. data/assets/mirador/locales/zh/translation.json +0 -74
  154. data/assets/mirador/mirador.js +0 -49145
  155. data/assets/mirador/plugins/advlist/index.js +0 -7
  156. data/assets/mirador/plugins/advlist/plugin.js +0 -160
  157. data/assets/mirador/plugins/advlist/plugin.min.js +0 -1
  158. data/assets/mirador/plugins/anchor/index.js +0 -7
  159. data/assets/mirador/plugins/anchor/plugin.js +0 -118
  160. data/assets/mirador/plugins/anchor/plugin.min.js +0 -1
  161. data/assets/mirador/plugins/autolink/index.js +0 -7
  162. data/assets/mirador/plugins/autolink/plugin.js +0 -180
  163. data/assets/mirador/plugins/autolink/plugin.min.js +0 -1
  164. data/assets/mirador/plugins/autoresize/index.js +0 -7
  165. data/assets/mirador/plugins/autoresize/plugin.js +0 -169
  166. data/assets/mirador/plugins/autoresize/plugin.min.js +0 -1
  167. data/assets/mirador/plugins/autosave/index.js +0 -7
  168. data/assets/mirador/plugins/autosave/plugin.js +0 -226
  169. data/assets/mirador/plugins/autosave/plugin.min.js +0 -1
  170. data/assets/mirador/plugins/bbcode/index.js +0 -7
  171. data/assets/mirador/plugins/bbcode/plugin.js +0 -101
  172. data/assets/mirador/plugins/bbcode/plugin.min.js +0 -1
  173. data/assets/mirador/plugins/charmap/index.js +0 -7
  174. data/assets/mirador/plugins/charmap/plugin.js +0 -1275
  175. data/assets/mirador/plugins/charmap/plugin.min.js +0 -1
  176. data/assets/mirador/plugins/code/index.js +0 -7
  177. data/assets/mirador/plugins/code/plugin.js +0 -94
  178. data/assets/mirador/plugins/code/plugin.min.js +0 -1
  179. data/assets/mirador/plugins/codesample/css/prism.css +0 -138
  180. data/assets/mirador/plugins/codesample/index.js +0 -7
  181. data/assets/mirador/plugins/codesample/plugin.js +0 -967
  182. data/assets/mirador/plugins/codesample/plugin.min.js +0 -1
  183. data/assets/mirador/plugins/colorpicker/index.js +0 -7
  184. data/assets/mirador/plugins/colorpicker/plugin.js +0 -126
  185. data/assets/mirador/plugins/colorpicker/plugin.min.js +0 -1
  186. data/assets/mirador/plugins/contextmenu/index.js +0 -7
  187. data/assets/mirador/plugins/contextmenu/plugin.js +0 -168
  188. data/assets/mirador/plugins/contextmenu/plugin.min.js +0 -1
  189. data/assets/mirador/plugins/directionality/index.js +0 -7
  190. data/assets/mirador/plugins/directionality/plugin.js +0 -66
  191. data/assets/mirador/plugins/directionality/plugin.min.js +0 -1
  192. data/assets/mirador/plugins/emoticons/img/smiley-cool.gif +0 -0
  193. data/assets/mirador/plugins/emoticons/img/smiley-cry.gif +0 -0
  194. data/assets/mirador/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  195. data/assets/mirador/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  196. data/assets/mirador/plugins/emoticons/img/smiley-frown.gif +0 -0
  197. data/assets/mirador/plugins/emoticons/img/smiley-innocent.gif +0 -0
  198. data/assets/mirador/plugins/emoticons/img/smiley-kiss.gif +0 -0
  199. data/assets/mirador/plugins/emoticons/img/smiley-laughing.gif +0 -0
  200. data/assets/mirador/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  201. data/assets/mirador/plugins/emoticons/img/smiley-sealed.gif +0 -0
  202. data/assets/mirador/plugins/emoticons/img/smiley-smile.gif +0 -0
  203. data/assets/mirador/plugins/emoticons/img/smiley-surprised.gif +0 -0
  204. data/assets/mirador/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  205. data/assets/mirador/plugins/emoticons/img/smiley-undecided.gif +0 -0
  206. data/assets/mirador/plugins/emoticons/img/smiley-wink.gif +0 -0
  207. data/assets/mirador/plugins/emoticons/img/smiley-yell.gif +0 -0
  208. data/assets/mirador/plugins/emoticons/index.js +0 -7
  209. data/assets/mirador/plugins/emoticons/plugin.js +0 -87
  210. data/assets/mirador/plugins/emoticons/plugin.min.js +0 -1
  211. data/assets/mirador/plugins/fullpage/index.js +0 -7
  212. data/assets/mirador/plugins/fullpage/plugin.js +0 -519
  213. data/assets/mirador/plugins/fullpage/plugin.min.js +0 -1
  214. data/assets/mirador/plugins/fullscreen/index.js +0 -7
  215. data/assets/mirador/plugins/fullscreen/plugin.js +0 -177
  216. data/assets/mirador/plugins/fullscreen/plugin.min.js +0 -1
  217. data/assets/mirador/plugins/help/img/logo.png +0 -0
  218. data/assets/mirador/plugins/help/index.js +0 -7
  219. data/assets/mirador/plugins/help/plugin.js +0 -727
  220. data/assets/mirador/plugins/help/plugin.min.js +0 -1
  221. data/assets/mirador/plugins/hr/index.js +0 -7
  222. data/assets/mirador/plugins/hr/plugin.js +0 -39
  223. data/assets/mirador/plugins/hr/plugin.min.js +0 -1
  224. data/assets/mirador/plugins/image/index.js +0 -7
  225. data/assets/mirador/plugins/image/plugin.js +0 -1211
  226. data/assets/mirador/plugins/image/plugin.min.js +0 -1
  227. data/assets/mirador/plugins/imagetools/index.js +0 -7
  228. data/assets/mirador/plugins/imagetools/plugin.js +0 -3684
  229. data/assets/mirador/plugins/imagetools/plugin.min.js +0 -1
  230. data/assets/mirador/plugins/importcss/index.js +0 -7
  231. data/assets/mirador/plugins/importcss/plugin.js +0 -264
  232. data/assets/mirador/plugins/importcss/plugin.min.js +0 -1
  233. data/assets/mirador/plugins/insertdatetime/index.js +0 -7
  234. data/assets/mirador/plugins/insertdatetime/plugin.js +0 -173
  235. data/assets/mirador/plugins/insertdatetime/plugin.min.js +0 -1
  236. data/assets/mirador/plugins/legacyoutput/index.js +0 -7
  237. data/assets/mirador/plugins/legacyoutput/plugin.js +0 -220
  238. data/assets/mirador/plugins/legacyoutput/plugin.min.js +0 -1
  239. data/assets/mirador/plugins/link/index.js +0 -7
  240. data/assets/mirador/plugins/link/plugin.js +0 -713
  241. data/assets/mirador/plugins/link/plugin.min.js +0 -1
  242. data/assets/mirador/plugins/lists/index.js +0 -7
  243. data/assets/mirador/plugins/lists/plugin.js +0 -1115
  244. data/assets/mirador/plugins/lists/plugin.min.js +0 -1
  245. data/assets/mirador/plugins/media/index.js +0 -7
  246. data/assets/mirador/plugins/media/plugin.js +0 -1166
  247. data/assets/mirador/plugins/media/plugin.min.js +0 -1
  248. data/assets/mirador/plugins/nonbreaking/index.js +0 -7
  249. data/assets/mirador/plugins/nonbreaking/plugin.js +0 -85
  250. data/assets/mirador/plugins/nonbreaking/plugin.min.js +0 -1
  251. data/assets/mirador/plugins/noneditable/index.js +0 -7
  252. data/assets/mirador/plugins/noneditable/plugin.js +0 -118
  253. data/assets/mirador/plugins/noneditable/plugin.min.js +0 -1
  254. data/assets/mirador/plugins/pagebreak/index.js +0 -7
  255. data/assets/mirador/plugins/pagebreak/plugin.js +0 -109
  256. data/assets/mirador/plugins/pagebreak/plugin.min.js +0 -1
  257. data/assets/mirador/plugins/paste/index.js +0 -7
  258. data/assets/mirador/plugins/paste/plugin.js +0 -1497
  259. data/assets/mirador/plugins/paste/plugin.min.js +0 -1
  260. data/assets/mirador/plugins/preview/index.js +0 -7
  261. data/assets/mirador/plugins/preview/plugin.js +0 -123
  262. data/assets/mirador/plugins/preview/plugin.min.js +0 -1
  263. data/assets/mirador/plugins/print/index.js +0 -7
  264. data/assets/mirador/plugins/print/plugin.js +0 -38
  265. data/assets/mirador/plugins/print/plugin.min.js +0 -1
  266. data/assets/mirador/plugins/save/index.js +0 -7
  267. data/assets/mirador/plugins/save/plugin.js +0 -120
  268. data/assets/mirador/plugins/save/plugin.min.js +0 -1
  269. data/assets/mirador/plugins/searchreplace/index.js +0 -7
  270. data/assets/mirador/plugins/searchreplace/plugin.js +0 -603
  271. data/assets/mirador/plugins/searchreplace/plugin.min.js +0 -1
  272. data/assets/mirador/plugins/spellchecker/index.js +0 -7
  273. data/assets/mirador/plugins/spellchecker/plugin.js +0 -757
  274. data/assets/mirador/plugins/spellchecker/plugin.min.js +0 -1
  275. data/assets/mirador/plugins/tabfocus/index.js +0 -7
  276. data/assets/mirador/plugins/tabfocus/plugin.js +0 -124
  277. data/assets/mirador/plugins/tabfocus/plugin.min.js +0 -1
  278. data/assets/mirador/plugins/table/index.js +0 -7
  279. data/assets/mirador/plugins/table/plugin.js +0 -10144
  280. data/assets/mirador/plugins/table/plugin.min.js +0 -1
  281. data/assets/mirador/plugins/template/index.js +0 -7
  282. data/assets/mirador/plugins/template/plugin.js +0 -345
  283. data/assets/mirador/plugins/template/plugin.min.js +0 -1
  284. data/assets/mirador/plugins/textcolor/index.js +0 -7
  285. data/assets/mirador/plugins/textcolor/plugin.js +0 -346
  286. data/assets/mirador/plugins/textcolor/plugin.min.js +0 -1
  287. data/assets/mirador/plugins/textpattern/index.js +0 -7
  288. data/assets/mirador/plugins/textpattern/plugin.js +0 -370
  289. data/assets/mirador/plugins/textpattern/plugin.min.js +0 -1
  290. data/assets/mirador/plugins/toc/index.js +0 -7
  291. data/assets/mirador/plugins/toc/plugin.js +0 -228
  292. data/assets/mirador/plugins/toc/plugin.min.js +0 -1
  293. data/assets/mirador/plugins/visualblocks/css/visualblocks.css +0 -154
  294. data/assets/mirador/plugins/visualblocks/index.js +0 -7
  295. data/assets/mirador/plugins/visualblocks/plugin.js +0 -135
  296. data/assets/mirador/plugins/visualblocks/plugin.min.js +0 -1
  297. data/assets/mirador/plugins/visualchars/index.js +0 -7
  298. data/assets/mirador/plugins/visualchars/plugin.js +0 -505
  299. data/assets/mirador/plugins/visualchars/plugin.min.js +0 -1
  300. data/assets/mirador/plugins/wordcount/index.js +0 -7
  301. data/assets/mirador/plugins/wordcount/plugin.js +0 -343
  302. data/assets/mirador/plugins/wordcount/plugin.min.js +0 -1
  303. data/assets/mirador/skins/lightgray/content.inline.min.css +0 -1
  304. data/assets/mirador/skins/lightgray/content.min.css +0 -1
  305. data/assets/mirador/skins/lightgray/content.mobile.min.css +0 -1
  306. data/assets/mirador/skins/lightgray/fonts/tinymce-mobile.woff +0 -0
  307. data/assets/mirador/skins/lightgray/fonts/tinymce-small.eot +0 -0
  308. data/assets/mirador/skins/lightgray/fonts/tinymce-small.svg +0 -63
  309. data/assets/mirador/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  310. data/assets/mirador/skins/lightgray/fonts/tinymce-small.woff +0 -0
  311. data/assets/mirador/skins/lightgray/fonts/tinymce.eot +0 -0
  312. data/assets/mirador/skins/lightgray/fonts/tinymce.svg +0 -131
  313. data/assets/mirador/skins/lightgray/fonts/tinymce.ttf +0 -0
  314. data/assets/mirador/skins/lightgray/fonts/tinymce.woff +0 -0
  315. data/assets/mirador/skins/lightgray/img/anchor.gif +0 -0
  316. data/assets/mirador/skins/lightgray/img/loader.gif +0 -0
  317. data/assets/mirador/skins/lightgray/img/object.gif +0 -0
  318. data/assets/mirador/skins/lightgray/img/trans.gif +0 -0
  319. data/assets/mirador/skins/lightgray/skin.min.css +0 -1
  320. data/assets/mirador/skins/lightgray/skin.mobile.min.css +0 -2
  321. data/assets/mirador/themes/inlite/index.js +0 -7
  322. data/assets/mirador/themes/inlite/theme.js +0 -10235
  323. data/assets/mirador/themes/inlite/theme.min.js +0 -1
  324. data/assets/mirador/themes/mobile/index.js +0 -7
  325. data/assets/mirador/themes/mobile/theme.js +0 -13546
  326. data/assets/mirador/themes/mobile/theme.min.js +0 -1
  327. data/assets/mirador/themes/modern/index.js +0 -7
  328. data/assets/mirador/themes/modern/theme.js +0 -10041
  329. data/assets/mirador/themes/modern/theme.min.js +0 -1
@@ -1 +0,0 @@
1
- !function(){"use strict";var e,t,n,r,o,a,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),l=function(e){return function(){return e}},c=function(a){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var i=new Array(arguments.length-1),n=1;n<arguments.length;n++)i[n-1]=arguments[n];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];var o=i.concat(n);return a.apply(null,o)}},u=l(!1),s=l(!0),f=u,m=s,d=function(){return p},p=(r={fold:function(e,t){return e()},is:f,isSome:f,isNone:m,getOr:n=function(e){return e},getOrThunk:t=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:n,orThunk:t,map:d,ap:d,each:function(){},bind:d,flatten:d,exists:f,forall:m,filter:d,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:l("none()")},Object.freeze&&Object.freeze(r),r),h=function(n){var e=function(){return n},t=function(){return o},r=function(e){return e(n)},o={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:m,isNone:f,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return h(e(n))},ap:function(e){return e.fold(d,function(e){return h(e(n))})},each:function(e){e(n)},bind:r,flatten:e,exists:r,forall:r,filter:function(e){return e(n)?o:p},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(f,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return o},y={some:h,none:d,from:function(e){return null===e||e===undefined?p:h(e)}},g=(o="function",function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(e)===o}),k=(a=Array.prototype.indexOf)===undefined?function(e,t){return x(e,t)}:function(e,t){return a.call(e,t)},v=function(e,t){return-1<k(e,t)},b=function(e,t){for(var n=e.length,r=new Array(n),o=0;o<n;o++){var a=e[o];r[o]=t(a,o,e)}return r},x=function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return n;return-1},w=(Array.prototype.slice,g(Array.from)&&Array.from,tinymce.util.Tools.resolve("tinymce.util.I18n")),A=tinymce.util.Tools.resolve("tinymce.Env"),C=A.mac?"\u2318":"Ctrl",S=A.mac?"Ctrl + Alt":"Shift + Alt",O={shortcuts:[{shortcut:C+" + B",action:"Bold"},{shortcut:C+" + I",action:"Italic"},{shortcut:C+" + U",action:"Underline"},{shortcut:C+" + A",action:"Select all"},{shortcut:C+" + Y or "+C+" + Shift + Z",action:"Redo"},{shortcut:C+" + Z",action:"Undo"},{shortcut:S+" + 1",action:"Header 1"},{shortcut:S+" + 2",action:"Header 2"},{shortcut:S+" + 3",action:"Header 3"},{shortcut:S+" + 4",action:"Header 4"},{shortcut:S+" + 5",action:"Header 5"},{shortcut:S+" + 6",action:"Header 6"},{shortcut:S+" + 7",action:"Paragraph"},{shortcut:S+" + 8",action:"Div"},{shortcut:S+" + 9",action:"Address"},{shortcut:"Alt + F9",action:"Focus to menubar"},{shortcut:"Alt + F10",action:"Focus to toolbar"},{shortcut:"Alt + F11",action:"Focus to element path"},{shortcut:"Ctrl + Shift + P > Ctrl + Shift + P",action:"Focus to contextual toolbar"},{shortcut:C+" + K",action:"Insert link (if link plugin activated)"},{shortcut:C+" + S",action:"Save (if save plugin activated)"},{shortcut:C+" + F",action:"Find (if searchreplace plugin activated)"}]},P=function(){var e=b(O.shortcuts,function(e){return'<tr data-mce-tabstop="1" tabindex="-1" aria-label="Action: '+(t=e).action+", Shortcut: "+t.shortcut.replace(/Ctrl/g,"Control")+'"><td>'+w.translate(e.action)+"</td><td>"+e.shortcut+"</td></tr>";var t}).join("");return{title:"Handy Shortcuts",type:"container",style:"overflow-y: auto; overflow-x: hidden; max-height: 250px",items:[{type:"container",html:'<div><table class="mce-table-striped"><thead><th>'+w.translate("Action")+"</th><th>"+w.translate("Shortcut")+"</th></thead>"+e+"</table></div>"}]}},T=Object.keys,_=[{key:"advlist",name:"Advanced List"},{key:"anchor",name:"Anchor"},{key:"autolink",name:"Autolink"},{key:"autoresize",name:"Autoresize"},{key:"autosave",name:"Autosave"},{key:"bbcode",name:"BBCode"},{key:"charmap",name:"Character Map"},{key:"code",name:"Code"},{key:"codesample",name:"Code Sample"},{key:"colorpicker",name:"Color Picker"},{key:"compat3x",name:"3.x Compatibility"},{key:"contextmenu",name:"Context Menu"},{key:"directionality",name:"Directionality"},{key:"emoticons",name:"Emoticons"},{key:"fullpage",name:"Full Page"},{key:"fullscreen",name:"Full Screen"},{key:"help",name:"Help"},{key:"hr",name:"Horizontal Rule"},{key:"image",name:"Image"},{key:"imagetools",name:"Image Tools"},{key:"importcss",name:"Import CSS"},{key:"insertdatetime",name:"Insert Date/Time"},{key:"legacyoutput",name:"Legacy Output"},{key:"link",name:"Link"},{key:"lists",name:"Lists"},{key:"media",name:"Media"},{key:"nonbreaking",name:"Nonbreaking"},{key:"noneditable",name:"Noneditable"},{key:"pagebreak",name:"Page Break"},{key:"paste",name:"Paste"},{key:"preview",name:"Preview"},{key:"print",name:"Print"},{key:"save",name:"Save"},{key:"searchreplace",name:"Search and Replace"},{key:"spellchecker",name:"Spell Checker"},{key:"tabfocus",name:"Tab Focus"},{key:"table",name:"Table"},{key:"template",name:"Template"},{key:"textcolor",name:"Text Color"},{key:"textpattern",name:"Text Pattern"},{key:"toc",name:"Table of Contents"},{key:"visualblocks",name:"Visual Blocks"},{key:"visualchars",name:"Visual Characters"},{key:"wordcount",name:"Word Count"}],H=c(function(e,o){return e.replace(/\$\{([^{}]*)\}/g,function(e,t){var n,r=o[t];return"string"==(n=typeof r)||"number"===n?r.toString():e})},'<a href="${url}" target="_blank" rel="noopener">${name}</a>'),F=function(t,n){return function(e,t){for(var n=0,r=e.length;n<r;n++){var o=e[n];if(t(o,n,e))return y.some(o)}return y.none()}(_,function(e){return e.key===n}).fold(function(){var e=t.plugins[n].getMetadata;return"function"==typeof e?H(e()):n},function(e){return H({name:e.name,url:"https://www.tinymce.com/docs/plugins/"+e.key})})},M=function(t){var e,n,r,o=(r=T((e=t).plugins),e.settings.forced_plugins===undefined?r:function(e,t){for(var n=[],r=0,o=e.length;r<o;r++){var a=e[r];t(a,r,e)&&n.push(a)}return n}(r,(n=c(v,e.settings.forced_plugins),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return!n.apply(null,arguments)}))),a=b(o,function(e){return"<li>"+F(t,e)+"</li>"}),i=a.length,l=a.join("");return"<p><b>"+w.translate(["Plugins installed ({0}):",i])+"</b></p><ul>"+l+"</ul>"},E=function(e){return{title:"Plugins",type:"container",style:"overflow-y: auto; overflow-x: hidden;",layout:"flex",padding:10,spacing:10,items:[(t=e,{type:"container",html:'<div style="overflow-y: auto; overflow-x: hidden; max-height: 230px; height: 230px;" data-mce-tabstop="1" tabindex="-1">'+M(t)+"</div>",flex:1}),{type:"container",html:'<div style="padding: 10px; background: #e3e7f4; height: 100%;" data-mce-tabstop="1" tabindex="-1"><p><b>'+w.translate("Premium plugins:")+'</b></p><ul><li>PowerPaste</li><li>Spell Checker Pro</li><li>Accessibility Checker</li><li>Advanced Code Editor</li><li>Enhanced Media Embed</li><li>Link Checker</li></ul><br /><p style="float: right;"><a href="https://www.tinymce.com/pricing/?utm_campaign=editor_referral&utm_medium=help_dialog&utm_source=tinymce" target="_blank">'+w.translate("Learn more...")+"</a></p></div>",flex:1}]};var t},I=tinymce.util.Tools.resolve("tinymce.EditorManager"),j=function(){var e,t,n='<a href="https://www.tinymce.com/docs/changelog/?utm_campaign=editor_referral&utm_medium=help_dialog&utm_source=tinymce" target="_blank">TinyMCE '+(e=I.majorVersion,t=I.minorVersion,0===e.indexOf("@")?"X.X.X":e+"."+t)+"</a>";return[{type:"label",html:w.translate(["You are using {0}",n])},{type:"spacer",flex:1},{text:"Close",onclick:function(){this.parent().parent().close()}}]},L=function(e,t){return function(){e.windowManager.open({title:"Help",bodyType:"tabpanel",layout:"flex",body:[P(),E(e)],buttons:j(),onPostRender:function(){this.getEl("title").innerHTML='<img src="'+t+'/img/logo.png" alt="TinyMCE Logo" style="display: inline-block; width: 200px; height: 50px">'}})}},B=function(e,t){e.addCommand("mceHelp",L(e,t))},N=function(e,t){e.addButton("help",{icon:"help",onclick:L(e,t)}),e.addMenuItem("help",{text:"Help",icon:"help",context:"help",onclick:L(e,t)})};i.add("help",function(e,t){N(e,t),B(e,t),e.shortcuts.add("Alt+0","Open help dialog","mceHelp")})}();
@@ -1,7 +0,0 @@
1
- // Exports the "hr" plugin for usage with module loaders
2
- // Usage:
3
- // CommonJS:
4
- // require('tinymce/plugins/hr')
5
- // ES2015:
6
- // import 'tinymce/plugins/hr'
7
- require('./plugin.js');
@@ -1,39 +0,0 @@
1
- (function () {
2
- var hr = (function () {
3
- 'use strict';
4
-
5
- var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
6
-
7
- var register = function (editor) {
8
- editor.addCommand('InsertHorizontalRule', function () {
9
- editor.execCommand('mceInsertContent', false, '<hr />');
10
- });
11
- };
12
- var $_7m2n29cmjm0ofyjv = { register: register };
13
-
14
- var register$1 = function (editor) {
15
- editor.addButton('hr', {
16
- icon: 'hr',
17
- tooltip: 'Horizontal line',
18
- cmd: 'InsertHorizontalRule'
19
- });
20
- editor.addMenuItem('hr', {
21
- icon: 'hr',
22
- text: 'Horizontal line',
23
- cmd: 'InsertHorizontalRule',
24
- context: 'insert'
25
- });
26
- };
27
- var $_ubzb3cnjm0ofyjw = { register: register$1 };
28
-
29
- global.add('hr', function (editor) {
30
- $_7m2n29cmjm0ofyjv.register(editor);
31
- $_ubzb3cnjm0ofyjw.register(editor);
32
- });
33
- function Plugin () {
34
- }
35
-
36
- return Plugin;
37
-
38
- }());
39
- })();
@@ -1 +0,0 @@
1
- !function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"<hr />")})},o=function(n){n.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),n.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})};n.add("hr",function(n){t(n),o(n)})}();
@@ -1,7 +0,0 @@
1
- // Exports the "image" plugin for usage with module loaders
2
- // Usage:
3
- // CommonJS:
4
- // require('tinymce/plugins/image')
5
- // ES2015:
6
- // import 'tinymce/plugins/image'
7
- require('./plugin.js');
@@ -1,1211 +0,0 @@
1
- (function () {
2
- var image = (function () {
3
- 'use strict';
4
-
5
- var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
6
-
7
- var hasDimensions = function (editor) {
8
- return editor.settings.image_dimensions === false ? false : true;
9
- };
10
- var hasAdvTab = function (editor) {
11
- return editor.settings.image_advtab === true ? true : false;
12
- };
13
- var getPrependUrl = function (editor) {
14
- return editor.getParam('image_prepend_url', '');
15
- };
16
- var getClassList = function (editor) {
17
- return editor.getParam('image_class_list');
18
- };
19
- var hasDescription = function (editor) {
20
- return editor.settings.image_description === false ? false : true;
21
- };
22
- var hasImageTitle = function (editor) {
23
- return editor.settings.image_title === true ? true : false;
24
- };
25
- var hasImageCaption = function (editor) {
26
- return editor.settings.image_caption === true ? true : false;
27
- };
28
- var getImageList = function (editor) {
29
- return editor.getParam('image_list', false);
30
- };
31
- var hasUploadUrl = function (editor) {
32
- return editor.getParam('images_upload_url', false);
33
- };
34
- var hasUploadHandler = function (editor) {
35
- return editor.getParam('images_upload_handler', false);
36
- };
37
- var getUploadUrl = function (editor) {
38
- return editor.getParam('images_upload_url');
39
- };
40
- var getUploadHandler = function (editor) {
41
- return editor.getParam('images_upload_handler');
42
- };
43
- var getUploadBasePath = function (editor) {
44
- return editor.getParam('images_upload_base_path');
45
- };
46
- var getUploadCredentials = function (editor) {
47
- return editor.getParam('images_upload_credentials');
48
- };
49
- var $_95hfkhcsjm0ofyka = {
50
- hasDimensions: hasDimensions,
51
- hasAdvTab: hasAdvTab,
52
- getPrependUrl: getPrependUrl,
53
- getClassList: getClassList,
54
- hasDescription: hasDescription,
55
- hasImageTitle: hasImageTitle,
56
- hasImageCaption: hasImageCaption,
57
- getImageList: getImageList,
58
- hasUploadUrl: hasUploadUrl,
59
- hasUploadHandler: hasUploadHandler,
60
- getUploadUrl: getUploadUrl,
61
- getUploadHandler: getUploadHandler,
62
- getUploadBasePath: getUploadBasePath,
63
- getUploadCredentials: getUploadCredentials
64
- };
65
-
66
- var Global = typeof window !== 'undefined' ? window : Function('return this;')();
67
-
68
- var path = function (parts, scope) {
69
- var o = scope !== undefined && scope !== null ? scope : Global;
70
- for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)
71
- o = o[parts[i]];
72
- return o;
73
- };
74
- var resolve = function (p, scope) {
75
- var parts = p.split('.');
76
- return path(parts, scope);
77
- };
78
-
79
- var unsafe = function (name, scope) {
80
- return resolve(name, scope);
81
- };
82
- var getOrDie = function (name, scope) {
83
- var actual = unsafe(name, scope);
84
- if (actual === undefined || actual === null)
85
- throw name + ' not available on this browser';
86
- return actual;
87
- };
88
- var $_6o5ihacvjm0ofykl = { getOrDie: getOrDie };
89
-
90
- function FileReader () {
91
- var f = $_6o5ihacvjm0ofykl.getOrDie('FileReader');
92
- return new f();
93
- }
94
-
95
- var global$1 = tinymce.util.Tools.resolve('tinymce.util.Promise');
96
-
97
- var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
98
-
99
- var global$3 = tinymce.util.Tools.resolve('tinymce.util.XHR');
100
-
101
- var parseIntAndGetMax = function (val1, val2) {
102
- return Math.max(parseInt(val1, 10), parseInt(val2, 10));
103
- };
104
- var getImageSize = function (url, callback) {
105
- var img = document.createElement('img');
106
- function done(width, height) {
107
- if (img.parentNode) {
108
- img.parentNode.removeChild(img);
109
- }
110
- callback({
111
- width: width,
112
- height: height
113
- });
114
- }
115
- img.onload = function () {
116
- var width = parseIntAndGetMax(img.width, img.clientWidth);
117
- var height = parseIntAndGetMax(img.height, img.clientHeight);
118
- done(width, height);
119
- };
120
- img.onerror = function () {
121
- done(0, 0);
122
- };
123
- var style = img.style;
124
- style.visibility = 'hidden';
125
- style.position = 'fixed';
126
- style.bottom = style.left = '0px';
127
- style.width = style.height = 'auto';
128
- document.body.appendChild(img);
129
- img.src = url;
130
- };
131
- var buildListItems = function (inputList, itemCallback, startItems) {
132
- function appendItems(values, output) {
133
- output = output || [];
134
- global$2.each(values, function (item) {
135
- var menuItem = { text: item.text || item.title };
136
- if (item.menu) {
137
- menuItem.menu = appendItems(item.menu);
138
- } else {
139
- menuItem.value = item.value;
140
- itemCallback(menuItem);
141
- }
142
- output.push(menuItem);
143
- });
144
- return output;
145
- }
146
- return appendItems(inputList, startItems || []);
147
- };
148
- var removePixelSuffix = function (value) {
149
- if (value) {
150
- value = value.replace(/px$/, '');
151
- }
152
- return value;
153
- };
154
- var addPixelSuffix = function (value) {
155
- if (value.length > 0 && /^[0-9]+$/.test(value)) {
156
- value += 'px';
157
- }
158
- return value;
159
- };
160
- var mergeMargins = function (css) {
161
- if (css.margin) {
162
- var splitMargin = css.margin.split(' ');
163
- switch (splitMargin.length) {
164
- case 1:
165
- css['margin-top'] = css['margin-top'] || splitMargin[0];
166
- css['margin-right'] = css['margin-right'] || splitMargin[0];
167
- css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
168
- css['margin-left'] = css['margin-left'] || splitMargin[0];
169
- break;
170
- case 2:
171
- css['margin-top'] = css['margin-top'] || splitMargin[0];
172
- css['margin-right'] = css['margin-right'] || splitMargin[1];
173
- css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
174
- css['margin-left'] = css['margin-left'] || splitMargin[1];
175
- break;
176
- case 3:
177
- css['margin-top'] = css['margin-top'] || splitMargin[0];
178
- css['margin-right'] = css['margin-right'] || splitMargin[1];
179
- css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
180
- css['margin-left'] = css['margin-left'] || splitMargin[1];
181
- break;
182
- case 4:
183
- css['margin-top'] = css['margin-top'] || splitMargin[0];
184
- css['margin-right'] = css['margin-right'] || splitMargin[1];
185
- css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
186
- css['margin-left'] = css['margin-left'] || splitMargin[3];
187
- }
188
- delete css.margin;
189
- }
190
- return css;
191
- };
192
- var createImageList = function (editor, callback) {
193
- var imageList = $_95hfkhcsjm0ofyka.getImageList(editor);
194
- if (typeof imageList === 'string') {
195
- global$3.send({
196
- url: imageList,
197
- success: function (text) {
198
- callback(JSON.parse(text));
199
- }
200
- });
201
- } else if (typeof imageList === 'function') {
202
- imageList(callback);
203
- } else {
204
- callback(imageList);
205
- }
206
- };
207
- var waitLoadImage = function (editor, data, imgElm) {
208
- function selectImage() {
209
- imgElm.onload = imgElm.onerror = null;
210
- if (editor.selection) {
211
- editor.selection.select(imgElm);
212
- editor.nodeChanged();
213
- }
214
- }
215
- imgElm.onload = function () {
216
- if (!data.width && !data.height && $_95hfkhcsjm0ofyka.hasDimensions(editor)) {
217
- editor.dom.setAttribs(imgElm, {
218
- width: imgElm.clientWidth,
219
- height: imgElm.clientHeight
220
- });
221
- }
222
- selectImage();
223
- };
224
- imgElm.onerror = selectImage;
225
- };
226
- var blobToDataUri = function (blob) {
227
- return new global$1(function (resolve, reject) {
228
- var reader = new FileReader();
229
- reader.onload = function () {
230
- resolve(reader.result);
231
- };
232
- reader.onerror = function () {
233
- reject(FileReader.error.message);
234
- };
235
- reader.readAsDataURL(blob);
236
- });
237
- };
238
- var $_5pkwh7ctjm0ofykd = {
239
- getImageSize: getImageSize,
240
- buildListItems: buildListItems,
241
- removePixelSuffix: removePixelSuffix,
242
- addPixelSuffix: addPixelSuffix,
243
- mergeMargins: mergeMargins,
244
- createImageList: createImageList,
245
- waitLoadImage: waitLoadImage,
246
- blobToDataUri: blobToDataUri
247
- };
248
-
249
- var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
250
-
251
- var hasOwnProperty = Object.prototype.hasOwnProperty;
252
- var shallow = function (old, nu) {
253
- return nu;
254
- };
255
- var baseMerge = function (merger) {
256
- return function () {
257
- var objects = new Array(arguments.length);
258
- for (var i = 0; i < objects.length; i++)
259
- objects[i] = arguments[i];
260
- if (objects.length === 0)
261
- throw new Error('Can\'t merge zero objects');
262
- var ret = {};
263
- for (var j = 0; j < objects.length; j++) {
264
- var curObject = objects[j];
265
- for (var key in curObject)
266
- if (hasOwnProperty.call(curObject, key)) {
267
- ret[key] = merger(ret[key], curObject[key]);
268
- }
269
- }
270
- return ret;
271
- };
272
- };
273
-
274
- var merge = baseMerge(shallow);
275
-
276
- var DOM = global$4.DOM;
277
- var getHspace = function (image) {
278
- if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {
279
- return $_5pkwh7ctjm0ofykd.removePixelSuffix(image.style.marginLeft);
280
- } else {
281
- return '';
282
- }
283
- };
284
- var getVspace = function (image) {
285
- if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {
286
- return $_5pkwh7ctjm0ofykd.removePixelSuffix(image.style.marginTop);
287
- } else {
288
- return '';
289
- }
290
- };
291
- var getBorder = function (image) {
292
- if (image.style.borderWidth) {
293
- return $_5pkwh7ctjm0ofykd.removePixelSuffix(image.style.borderWidth);
294
- } else {
295
- return '';
296
- }
297
- };
298
- var getAttrib = function (image, name$$1) {
299
- if (image.hasAttribute(name$$1)) {
300
- return image.getAttribute(name$$1);
301
- } else {
302
- return '';
303
- }
304
- };
305
- var getStyle = function (image, name$$1) {
306
- return image.style[name$$1] ? image.style[name$$1] : '';
307
- };
308
- var hasCaption = function (image) {
309
- return image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';
310
- };
311
- var setAttrib = function (image, name$$1, value) {
312
- image.setAttribute(name$$1, value);
313
- };
314
- var wrapInFigure = function (image) {
315
- var figureElm = DOM.create('figure', { class: 'image' });
316
- DOM.insertAfter(figureElm, image);
317
- figureElm.appendChild(image);
318
- figureElm.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption'));
319
- figureElm.contentEditable = 'false';
320
- };
321
- var removeFigure = function (image) {
322
- var figureElm = image.parentNode;
323
- DOM.insertAfter(image, figureElm);
324
- DOM.remove(figureElm);
325
- };
326
- var toggleCaption = function (image) {
327
- if (hasCaption(image)) {
328
- removeFigure(image);
329
- } else {
330
- wrapInFigure(image);
331
- }
332
- };
333
- var normalizeStyle = function (image, normalizeCss) {
334
- var attrValue = image.getAttribute('style');
335
- var value = normalizeCss(attrValue !== null ? attrValue : '');
336
- if (value.length > 0) {
337
- image.setAttribute('style', value);
338
- image.setAttribute('data-mce-style', value);
339
- } else {
340
- image.removeAttribute('style');
341
- }
342
- };
343
- var setSize = function (name$$1, normalizeCss) {
344
- return function (image, name$$1, value) {
345
- if (image.style[name$$1]) {
346
- image.style[name$$1] = $_5pkwh7ctjm0ofykd.addPixelSuffix(value);
347
- normalizeStyle(image, normalizeCss);
348
- } else {
349
- setAttrib(image, name$$1, value);
350
- }
351
- };
352
- };
353
- var getSize = function (image, name$$1) {
354
- if (image.style[name$$1]) {
355
- return $_5pkwh7ctjm0ofykd.removePixelSuffix(image.style[name$$1]);
356
- } else {
357
- return getAttrib(image, name$$1);
358
- }
359
- };
360
- var setHspace = function (image, value) {
361
- var pxValue = $_5pkwh7ctjm0ofykd.addPixelSuffix(value);
362
- image.style.marginLeft = pxValue;
363
- image.style.marginRight = pxValue;
364
- };
365
- var setVspace = function (image, value) {
366
- var pxValue = $_5pkwh7ctjm0ofykd.addPixelSuffix(value);
367
- image.style.marginTop = pxValue;
368
- image.style.marginBottom = pxValue;
369
- };
370
- var setBorder = function (image, value) {
371
- var pxValue = $_5pkwh7ctjm0ofykd.addPixelSuffix(value);
372
- image.style.borderWidth = pxValue;
373
- };
374
- var setBorderStyle = function (image, value) {
375
- image.style.borderStyle = value;
376
- };
377
- var getBorderStyle = function (image) {
378
- return getStyle(image, 'borderStyle');
379
- };
380
- var isFigure = function (elm) {
381
- return elm.nodeName === 'FIGURE';
382
- };
383
- var defaultData = function () {
384
- return {
385
- src: '',
386
- alt: '',
387
- title: '',
388
- width: '',
389
- height: '',
390
- class: '',
391
- style: '',
392
- caption: false,
393
- hspace: '',
394
- vspace: '',
395
- border: '',
396
- borderStyle: ''
397
- };
398
- };
399
- var getStyleValue = function (normalizeCss, data) {
400
- var image = document.createElement('img');
401
- setAttrib(image, 'style', data.style);
402
- if (getHspace(image) || data.hspace !== '') {
403
- setHspace(image, data.hspace);
404
- }
405
- if (getVspace(image) || data.vspace !== '') {
406
- setVspace(image, data.vspace);
407
- }
408
- if (getBorder(image) || data.border !== '') {
409
- setBorder(image, data.border);
410
- }
411
- if (getBorderStyle(image) || data.borderStyle !== '') {
412
- setBorderStyle(image, data.borderStyle);
413
- }
414
- return normalizeCss(image.getAttribute('style'));
415
- };
416
- var create = function (normalizeCss, data) {
417
- var image = document.createElement('img');
418
- write(normalizeCss, merge(data, { caption: false }), image);
419
- setAttrib(image, 'alt', data.alt);
420
- if (data.caption) {
421
- var figure = DOM.create('figure', { class: 'image' });
422
- figure.appendChild(image);
423
- figure.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption'));
424
- figure.contentEditable = 'false';
425
- return figure;
426
- } else {
427
- return image;
428
- }
429
- };
430
- var read = function (normalizeCss, image) {
431
- return {
432
- src: getAttrib(image, 'src'),
433
- alt: getAttrib(image, 'alt'),
434
- title: getAttrib(image, 'title'),
435
- width: getSize(image, 'width'),
436
- height: getSize(image, 'height'),
437
- class: getAttrib(image, 'class'),
438
- style: normalizeCss(getAttrib(image, 'style')),
439
- caption: hasCaption(image),
440
- hspace: getHspace(image),
441
- vspace: getVspace(image),
442
- border: getBorder(image),
443
- borderStyle: getStyle(image, 'borderStyle')
444
- };
445
- };
446
- var updateProp = function (image, oldData, newData, name$$1, set) {
447
- if (newData[name$$1] !== oldData[name$$1]) {
448
- set(image, name$$1, newData[name$$1]);
449
- }
450
- };
451
- var normalized = function (set, normalizeCss) {
452
- return function (image, name$$1, value) {
453
- set(image, value);
454
- normalizeStyle(image, normalizeCss);
455
- };
456
- };
457
- var write = function (normalizeCss, newData, image) {
458
- var oldData = read(normalizeCss, image);
459
- updateProp(image, oldData, newData, 'caption', function (image, _name, _value) {
460
- return toggleCaption(image);
461
- });
462
- updateProp(image, oldData, newData, 'src', setAttrib);
463
- updateProp(image, oldData, newData, 'alt', setAttrib);
464
- updateProp(image, oldData, newData, 'title', setAttrib);
465
- updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));
466
- updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));
467
- updateProp(image, oldData, newData, 'class', setAttrib);
468
- updateProp(image, oldData, newData, 'style', normalized(function (image, value) {
469
- return setAttrib(image, 'style', value);
470
- }, normalizeCss));
471
- updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));
472
- updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));
473
- updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));
474
- updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));
475
- };
476
-
477
- var normalizeCss = function (editor, cssText) {
478
- var css = editor.dom.styles.parse(cssText);
479
- var mergedCss = $_5pkwh7ctjm0ofykd.mergeMargins(css);
480
- var compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));
481
- return editor.dom.styles.serialize(compressed);
482
- };
483
- var getSelectedImage = function (editor) {
484
- var imgElm = editor.selection.getNode();
485
- var figureElm = editor.dom.getParent(imgElm, 'figure.image');
486
- if (figureElm) {
487
- return editor.dom.select('img', figureElm)[0];
488
- }
489
- if (imgElm && (imgElm.nodeName !== 'IMG' || imgElm.getAttribute('data-mce-object') || imgElm.getAttribute('data-mce-placeholder'))) {
490
- return null;
491
- }
492
- return imgElm;
493
- };
494
- var splitTextBlock = function (editor, figure) {
495
- var dom = editor.dom;
496
- var textBlock = dom.getParent(figure.parentNode, function (node) {
497
- return editor.schema.getTextBlockElements()[node.nodeName];
498
- });
499
- if (textBlock) {
500
- return dom.split(textBlock, figure);
501
- } else {
502
- return figure;
503
- }
504
- };
505
- var readImageDataFromSelection = function (editor) {
506
- var image = getSelectedImage(editor);
507
- return image ? read(function (css) {
508
- return normalizeCss(editor, css);
509
- }, image) : defaultData();
510
- };
511
- var insertImageAtCaret = function (editor, data) {
512
- var elm = create(function (css) {
513
- return normalizeCss(editor, css);
514
- }, data);
515
- editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');
516
- editor.focus();
517
- editor.selection.setContent(elm.outerHTML);
518
- var insertedElm = editor.dom.select('*[data-mce-id="__mcenew"]')[0];
519
- editor.dom.setAttrib(insertedElm, 'data-mce-id', null);
520
- if (isFigure(insertedElm)) {
521
- var figure = splitTextBlock(editor, insertedElm);
522
- editor.selection.select(figure);
523
- } else {
524
- editor.selection.select(insertedElm);
525
- }
526
- };
527
- var syncSrcAttr = function (editor, image) {
528
- editor.dom.setAttrib(image, 'src', image.getAttribute('src'));
529
- };
530
- var deleteImage = function (editor, image) {
531
- if (image) {
532
- var elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;
533
- editor.dom.remove(elm);
534
- editor.focus();
535
- editor.nodeChanged();
536
- if (editor.dom.isEmpty(editor.getBody())) {
537
- editor.setContent('');
538
- editor.selection.setCursorLocation();
539
- }
540
- }
541
- };
542
- var writeImageDataToSelection = function (editor, data) {
543
- var image = getSelectedImage(editor);
544
- write(function (css) {
545
- return normalizeCss(editor, css);
546
- }, data, image);
547
- syncSrcAttr(editor, image);
548
- if (isFigure(image.parentNode)) {
549
- var figure = image.parentNode;
550
- splitTextBlock(editor, figure);
551
- editor.selection.select(image.parentNode);
552
- } else {
553
- editor.selection.select(image);
554
- $_5pkwh7ctjm0ofykd.waitLoadImage(editor, data, image);
555
- }
556
- };
557
- var insertOrUpdateImage = function (editor, data) {
558
- var image = getSelectedImage(editor);
559
- if (image) {
560
- if (data.src) {
561
- writeImageDataToSelection(editor, data);
562
- } else {
563
- deleteImage(editor, image);
564
- }
565
- } else if (data.src) {
566
- insertImageAtCaret(editor, data);
567
- }
568
- };
569
-
570
- var updateVSpaceHSpaceBorder = function (editor) {
571
- return function (evt) {
572
- var dom = editor.dom;
573
- var rootControl = evt.control.rootControl;
574
- if (!$_95hfkhcsjm0ofyka.hasAdvTab(editor)) {
575
- return;
576
- }
577
- var data = rootControl.toJSON();
578
- var css = dom.parseStyle(data.style);
579
- rootControl.find('#vspace').value('');
580
- rootControl.find('#hspace').value('');
581
- css = $_5pkwh7ctjm0ofykd.mergeMargins(css);
582
- if (css['margin-top'] && css['margin-bottom'] || css['margin-right'] && css['margin-left']) {
583
- if (css['margin-top'] === css['margin-bottom']) {
584
- rootControl.find('#vspace').value($_5pkwh7ctjm0ofykd.removePixelSuffix(css['margin-top']));
585
- } else {
586
- rootControl.find('#vspace').value('');
587
- }
588
- if (css['margin-right'] === css['margin-left']) {
589
- rootControl.find('#hspace').value($_5pkwh7ctjm0ofykd.removePixelSuffix(css['margin-right']));
590
- } else {
591
- rootControl.find('#hspace').value('');
592
- }
593
- }
594
- if (css['border-width']) {
595
- rootControl.find('#border').value($_5pkwh7ctjm0ofykd.removePixelSuffix(css['border-width']));
596
- } else {
597
- rootControl.find('#border').value('');
598
- }
599
- if (css['border-style']) {
600
- rootControl.find('#borderStyle').value(css['border-style']);
601
- } else {
602
- rootControl.find('#borderStyle').value('');
603
- }
604
- rootControl.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));
605
- };
606
- };
607
- var updateStyle = function (editor, win) {
608
- win.find('#style').each(function (ctrl) {
609
- var value = getStyleValue(function (css) {
610
- return normalizeCss(editor, css);
611
- }, merge(defaultData(), win.toJSON()));
612
- ctrl.value(value);
613
- });
614
- };
615
- var makeTab = function (editor) {
616
- return {
617
- title: 'Advanced',
618
- type: 'form',
619
- pack: 'start',
620
- items: [
621
- {
622
- label: 'Style',
623
- name: 'style',
624
- type: 'textbox',
625
- onchange: updateVSpaceHSpaceBorder(editor)
626
- },
627
- {
628
- type: 'form',
629
- layout: 'grid',
630
- packV: 'start',
631
- columns: 2,
632
- padding: 0,
633
- defaults: {
634
- type: 'textbox',
635
- maxWidth: 50,
636
- onchange: function (evt) {
637
- updateStyle(editor, evt.control.rootControl);
638
- }
639
- },
640
- items: [
641
- {
642
- label: 'Vertical space',
643
- name: 'vspace'
644
- },
645
- {
646
- label: 'Border width',
647
- name: 'border'
648
- },
649
- {
650
- label: 'Horizontal space',
651
- name: 'hspace'
652
- },
653
- {
654
- label: 'Border style',
655
- type: 'listbox',
656
- name: 'borderStyle',
657
- width: 90,
658
- maxWidth: 90,
659
- onselect: function (evt) {
660
- updateStyle(editor, evt.control.rootControl);
661
- },
662
- values: [
663
- {
664
- text: 'Select...',
665
- value: ''
666
- },
667
- {
668
- text: 'Solid',
669
- value: 'solid'
670
- },
671
- {
672
- text: 'Dotted',
673
- value: 'dotted'
674
- },
675
- {
676
- text: 'Dashed',
677
- value: 'dashed'
678
- },
679
- {
680
- text: 'Double',
681
- value: 'double'
682
- },
683
- {
684
- text: 'Groove',
685
- value: 'groove'
686
- },
687
- {
688
- text: 'Ridge',
689
- value: 'ridge'
690
- },
691
- {
692
- text: 'Inset',
693
- value: 'inset'
694
- },
695
- {
696
- text: 'Outset',
697
- value: 'outset'
698
- },
699
- {
700
- text: 'None',
701
- value: 'none'
702
- },
703
- {
704
- text: 'Hidden',
705
- value: 'hidden'
706
- }
707
- ]
708
- }
709
- ]
710
- }
711
- ]
712
- };
713
- };
714
- var $_bc3dkmd2jm0ofylg = { makeTab: makeTab };
715
-
716
- var doSyncSize = function (widthCtrl, heightCtrl) {
717
- widthCtrl.state.set('oldVal', widthCtrl.value());
718
- heightCtrl.state.set('oldVal', heightCtrl.value());
719
- };
720
- var doSizeControls = function (win, f) {
721
- var widthCtrl = win.find('#width')[0];
722
- var heightCtrl = win.find('#height')[0];
723
- var constrained = win.find('#constrain')[0];
724
- if (widthCtrl && heightCtrl && constrained) {
725
- f(widthCtrl, heightCtrl, constrained.checked());
726
- }
727
- };
728
- var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) {
729
- var oldWidth = widthCtrl.state.get('oldVal');
730
- var oldHeight = heightCtrl.state.get('oldVal');
731
- var newWidth = widthCtrl.value();
732
- var newHeight = heightCtrl.value();
733
- if (isContrained && oldWidth && oldHeight && newWidth && newHeight) {
734
- if (newWidth !== oldWidth) {
735
- newHeight = Math.round(newWidth / oldWidth * newHeight);
736
- if (!isNaN(newHeight)) {
737
- heightCtrl.value(newHeight);
738
- }
739
- } else {
740
- newWidth = Math.round(newHeight / oldHeight * newWidth);
741
- if (!isNaN(newWidth)) {
742
- widthCtrl.value(newWidth);
743
- }
744
- }
745
- }
746
- doSyncSize(widthCtrl, heightCtrl);
747
- };
748
- var syncSize = function (win) {
749
- doSizeControls(win, doSyncSize);
750
- };
751
- var updateSize = function (win) {
752
- doSizeControls(win, doUpdateSize);
753
- };
754
- var createUi = function () {
755
- var recalcSize = function (evt) {
756
- updateSize(evt.control.rootControl);
757
- };
758
- return {
759
- type: 'container',
760
- label: 'Dimensions',
761
- layout: 'flex',
762
- align: 'center',
763
- spacing: 5,
764
- items: [
765
- {
766
- name: 'width',
767
- type: 'textbox',
768
- maxLength: 5,
769
- size: 5,
770
- onchange: recalcSize,
771
- ariaLabel: 'Width'
772
- },
773
- {
774
- type: 'label',
775
- text: 'x'
776
- },
777
- {
778
- name: 'height',
779
- type: 'textbox',
780
- maxLength: 5,
781
- size: 5,
782
- onchange: recalcSize,
783
- ariaLabel: 'Height'
784
- },
785
- {
786
- name: 'constrain',
787
- type: 'checkbox',
788
- checked: true,
789
- text: 'Constrain proportions'
790
- }
791
- ]
792
- };
793
- };
794
- var $_4gs98qd9jm0ofym5 = {
795
- createUi: createUi,
796
- syncSize: syncSize,
797
- updateSize: updateSize
798
- };
799
-
800
- var onSrcChange = function (evt, editor) {
801
- var srcURL, prependURL, absoluteURLPattern;
802
- var meta = evt.meta || {};
803
- var control = evt.control;
804
- var rootControl = control.rootControl;
805
- var imageListCtrl = rootControl.find('#image-list')[0];
806
- if (imageListCtrl) {
807
- imageListCtrl.value(editor.convertURL(control.value(), 'src'));
808
- }
809
- global$2.each(meta, function (value, key) {
810
- rootControl.find('#' + key).value(value);
811
- });
812
- if (!meta.width && !meta.height) {
813
- srcURL = editor.convertURL(control.value(), 'src');
814
- prependURL = $_95hfkhcsjm0ofyka.getPrependUrl(editor);
815
- absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i');
816
- if (prependURL && !absoluteURLPattern.test(srcURL) && srcURL.substring(0, prependURL.length) !== prependURL) {
817
- srcURL = prependURL + srcURL;
818
- }
819
- control.value(srcURL);
820
- $_5pkwh7ctjm0ofykd.getImageSize(editor.documentBaseURI.toAbsolute(control.value()), function (data) {
821
- if (data.width && data.height && $_95hfkhcsjm0ofyka.hasDimensions(editor)) {
822
- rootControl.find('#width').value(data.width);
823
- rootControl.find('#height').value(data.height);
824
- $_4gs98qd9jm0ofym5.syncSize(rootControl);
825
- }
826
- });
827
- }
828
- };
829
- var onBeforeCall = function (evt) {
830
- evt.meta = evt.control.rootControl.toJSON();
831
- };
832
- var getGeneralItems = function (editor, imageListCtrl) {
833
- var generalFormItems = [
834
- {
835
- name: 'src',
836
- type: 'filepicker',
837
- filetype: 'image',
838
- label: 'Source',
839
- autofocus: true,
840
- onchange: function (evt) {
841
- onSrcChange(evt, editor);
842
- },
843
- onbeforecall: onBeforeCall
844
- },
845
- imageListCtrl
846
- ];
847
- if ($_95hfkhcsjm0ofyka.hasDescription(editor)) {
848
- generalFormItems.push({
849
- name: 'alt',
850
- type: 'textbox',
851
- label: 'Image description'
852
- });
853
- }
854
- if ($_95hfkhcsjm0ofyka.hasImageTitle(editor)) {
855
- generalFormItems.push({
856
- name: 'title',
857
- type: 'textbox',
858
- label: 'Image Title'
859
- });
860
- }
861
- if ($_95hfkhcsjm0ofyka.hasDimensions(editor)) {
862
- generalFormItems.push($_4gs98qd9jm0ofym5.createUi());
863
- }
864
- if ($_95hfkhcsjm0ofyka.getClassList(editor)) {
865
- generalFormItems.push({
866
- name: 'class',
867
- type: 'listbox',
868
- label: 'Class',
869
- values: $_5pkwh7ctjm0ofykd.buildListItems($_95hfkhcsjm0ofyka.getClassList(editor), function (item) {
870
- if (item.value) {
871
- item.textStyle = function () {
872
- return editor.formatter.getCssText({
873
- inline: 'img',
874
- classes: [item.value]
875
- });
876
- };
877
- }
878
- })
879
- });
880
- }
881
- if ($_95hfkhcsjm0ofyka.hasImageCaption(editor)) {
882
- generalFormItems.push({
883
- name: 'caption',
884
- type: 'checkbox',
885
- label: 'Caption'
886
- });
887
- }
888
- return generalFormItems;
889
- };
890
- var makeTab$1 = function (editor, imageListCtrl) {
891
- return {
892
- title: 'General',
893
- type: 'form',
894
- items: getGeneralItems(editor, imageListCtrl)
895
- };
896
- };
897
- var $_g4z4xud8jm0ofym1 = {
898
- makeTab: makeTab$1,
899
- getGeneralItems: getGeneralItems
900
- };
901
-
902
- var url = function () {
903
- return $_6o5ihacvjm0ofykl.getOrDie('URL');
904
- };
905
- var createObjectURL = function (blob) {
906
- return url().createObjectURL(blob);
907
- };
908
- var revokeObjectURL = function (u) {
909
- url().revokeObjectURL(u);
910
- };
911
- var $_cuu6medbjm0ofymc = {
912
- createObjectURL: createObjectURL,
913
- revokeObjectURL: revokeObjectURL
914
- };
915
-
916
- var global$5 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
917
-
918
- function XMLHttpRequest () {
919
- var f = $_6o5ihacvjm0ofykl.getOrDie('XMLHttpRequest');
920
- return new f();
921
- }
922
-
923
- var noop = function () {
924
- };
925
- var pathJoin = function (path1, path2) {
926
- if (path1) {
927
- return path1.replace(/\/$/, '') + '/' + path2.replace(/^\//, '');
928
- }
929
- return path2;
930
- };
931
- function Uploader (settings) {
932
- var defaultHandler = function (blobInfo, success, failure, progress) {
933
- var xhr, formData;
934
- xhr = new XMLHttpRequest();
935
- xhr.open('POST', settings.url);
936
- xhr.withCredentials = settings.credentials;
937
- xhr.upload.onprogress = function (e) {
938
- progress(e.loaded / e.total * 100);
939
- };
940
- xhr.onerror = function () {
941
- failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);
942
- };
943
- xhr.onload = function () {
944
- var json;
945
- if (xhr.status < 200 || xhr.status >= 300) {
946
- failure('HTTP Error: ' + xhr.status);
947
- return;
948
- }
949
- json = JSON.parse(xhr.responseText);
950
- if (!json || typeof json.location !== 'string') {
951
- failure('Invalid JSON: ' + xhr.responseText);
952
- return;
953
- }
954
- success(pathJoin(settings.basePath, json.location));
955
- };
956
- formData = new FormData();
957
- formData.append('file', blobInfo.blob(), blobInfo.filename());
958
- xhr.send(formData);
959
- };
960
- var uploadBlob = function (blobInfo, handler) {
961
- return new global$1(function (resolve, reject) {
962
- try {
963
- handler(blobInfo, resolve, reject, noop);
964
- } catch (ex) {
965
- reject(ex.message);
966
- }
967
- });
968
- };
969
- var isDefaultHandler = function (handler) {
970
- return handler === defaultHandler;
971
- };
972
- var upload = function (blobInfo) {
973
- return !settings.url && isDefaultHandler(settings.handler) ? global$1.reject('Upload url missing from the settings.') : uploadBlob(blobInfo, settings.handler);
974
- };
975
- settings = global$2.extend({
976
- credentials: false,
977
- handler: defaultHandler
978
- }, settings);
979
- return { upload: upload };
980
- }
981
-
982
- var onFileInput = function (editor) {
983
- return function (evt) {
984
- var Throbber = global$5.get('Throbber');
985
- var rootControl = evt.control.rootControl;
986
- var throbber = new Throbber(rootControl.getEl());
987
- var file = evt.control.value();
988
- var blobUri = $_cuu6medbjm0ofymc.createObjectURL(file);
989
- var uploader = Uploader({
990
- url: $_95hfkhcsjm0ofyka.getUploadUrl(editor),
991
- basePath: $_95hfkhcsjm0ofyka.getUploadBasePath(editor),
992
- credentials: $_95hfkhcsjm0ofyka.getUploadCredentials(editor),
993
- handler: $_95hfkhcsjm0ofyka.getUploadHandler(editor)
994
- });
995
- var finalize = function () {
996
- throbber.hide();
997
- $_cuu6medbjm0ofymc.revokeObjectURL(blobUri);
998
- };
999
- throbber.show();
1000
- return $_5pkwh7ctjm0ofykd.blobToDataUri(file).then(function (dataUrl) {
1001
- var blobInfo = editor.editorUpload.blobCache.create({
1002
- blob: file,
1003
- blobUri: blobUri,
1004
- name: file.name ? file.name.replace(/\.[^\.]+$/, '') : null,
1005
- base64: dataUrl.split(',')[1]
1006
- });
1007
- return uploader.upload(blobInfo).then(function (url) {
1008
- var src = rootControl.find('#src');
1009
- src.value(url);
1010
- rootControl.find('tabpanel')[0].activateTab(0);
1011
- src.fire('change');
1012
- finalize();
1013
- return url;
1014
- });
1015
- }).catch(function (err) {
1016
- editor.windowManager.alert(err);
1017
- finalize();
1018
- });
1019
- };
1020
- };
1021
- var acceptExts = '.jpg,.jpeg,.png,.gif';
1022
- var makeTab$2 = function (editor) {
1023
- return {
1024
- title: 'Upload',
1025
- type: 'form',
1026
- layout: 'flex',
1027
- direction: 'column',
1028
- align: 'stretch',
1029
- padding: '20 20 20 20',
1030
- items: [
1031
- {
1032
- type: 'container',
1033
- layout: 'flex',
1034
- direction: 'column',
1035
- align: 'center',
1036
- spacing: 10,
1037
- items: [
1038
- {
1039
- text: 'Browse for an image',
1040
- type: 'browsebutton',
1041
- accept: acceptExts,
1042
- onchange: onFileInput(editor)
1043
- },
1044
- {
1045
- text: 'OR',
1046
- type: 'label'
1047
- }
1048
- ]
1049
- },
1050
- {
1051
- text: 'Drop an image here',
1052
- type: 'dropzone',
1053
- accept: acceptExts,
1054
- height: 100,
1055
- onchange: onFileInput(editor)
1056
- }
1057
- ]
1058
- };
1059
- };
1060
- var $_a17nn8dajm0ofym8 = { makeTab: makeTab$2 };
1061
-
1062
- var curry = function (f) {
1063
- var x = [];
1064
- for (var _i = 1; _i < arguments.length; _i++) {
1065
- x[_i - 1] = arguments[_i];
1066
- }
1067
- var args = new Array(arguments.length - 1);
1068
- for (var i = 1; i < arguments.length; i++)
1069
- args[i - 1] = arguments[i];
1070
- return function () {
1071
- var x = [];
1072
- for (var _i = 0; _i < arguments.length; _i++) {
1073
- x[_i] = arguments[_i];
1074
- }
1075
- var newArgs = new Array(arguments.length);
1076
- for (var j = 0; j < newArgs.length; j++)
1077
- newArgs[j] = arguments[j];
1078
- var all = args.concat(newArgs);
1079
- return f.apply(null, all);
1080
- };
1081
- };
1082
-
1083
- var submitForm = function (editor, evt) {
1084
- var win = evt.control.getRoot();
1085
- $_4gs98qd9jm0ofym5.updateSize(win);
1086
- editor.undoManager.transact(function () {
1087
- var data = merge(readImageDataFromSelection(editor), win.toJSON());
1088
- insertOrUpdateImage(editor, data);
1089
- });
1090
- editor.editorUpload.uploadImagesAuto();
1091
- };
1092
- function Dialog (editor) {
1093
- function showDialog(imageList) {
1094
- var data = readImageDataFromSelection(editor);
1095
- var win, imageListCtrl;
1096
- if (imageList) {
1097
- imageListCtrl = {
1098
- type: 'listbox',
1099
- label: 'Image list',
1100
- name: 'image-list',
1101
- values: $_5pkwh7ctjm0ofykd.buildListItems(imageList, function (item) {
1102
- item.value = editor.convertURL(item.value || item.url, 'src');
1103
- }, [{
1104
- text: 'None',
1105
- value: ''
1106
- }]),
1107
- value: data.src && editor.convertURL(data.src, 'src'),
1108
- onselect: function (e) {
1109
- var altCtrl = win.find('#alt');
1110
- if (!altCtrl.value() || e.lastControl && altCtrl.value() === e.lastControl.text()) {
1111
- altCtrl.value(e.control.text());
1112
- }
1113
- win.find('#src').value(e.control.value()).fire('change');
1114
- },
1115
- onPostRender: function () {
1116
- imageListCtrl = this;
1117
- }
1118
- };
1119
- }
1120
- if ($_95hfkhcsjm0ofyka.hasAdvTab(editor) || $_95hfkhcsjm0ofyka.hasUploadUrl(editor) || $_95hfkhcsjm0ofyka.hasUploadHandler(editor)) {
1121
- var body = [$_g4z4xud8jm0ofym1.makeTab(editor, imageListCtrl)];
1122
- if ($_95hfkhcsjm0ofyka.hasAdvTab(editor)) {
1123
- body.push($_bc3dkmd2jm0ofylg.makeTab(editor));
1124
- }
1125
- if ($_95hfkhcsjm0ofyka.hasUploadUrl(editor) || $_95hfkhcsjm0ofyka.hasUploadHandler(editor)) {
1126
- body.push($_a17nn8dajm0ofym8.makeTab(editor));
1127
- }
1128
- win = editor.windowManager.open({
1129
- title: 'Insert/edit image',
1130
- data: data,
1131
- bodyType: 'tabpanel',
1132
- body: body,
1133
- onSubmit: curry(submitForm, editor)
1134
- });
1135
- } else {
1136
- win = editor.windowManager.open({
1137
- title: 'Insert/edit image',
1138
- data: data,
1139
- body: $_g4z4xud8jm0ofym1.getGeneralItems(editor, imageListCtrl),
1140
- onSubmit: curry(submitForm, editor)
1141
- });
1142
- }
1143
- $_4gs98qd9jm0ofym5.syncSize(win);
1144
- }
1145
- function open() {
1146
- $_5pkwh7ctjm0ofykd.createImageList(editor, showDialog);
1147
- }
1148
- return { open: open };
1149
- }
1150
-
1151
- var register = function (editor) {
1152
- editor.addCommand('mceImage', Dialog(editor).open);
1153
- };
1154
- var $_fd1mcfcqjm0ofyk2 = { register: register };
1155
-
1156
- var hasImageClass = function (node) {
1157
- var className = node.attr('class');
1158
- return className && /\bimage\b/.test(className);
1159
- };
1160
- var toggleContentEditableState = function (state) {
1161
- return function (nodes) {
1162
- var i = nodes.length, node;
1163
- var toggleContentEditable = function (node) {
1164
- node.attr('contenteditable', state ? 'true' : null);
1165
- };
1166
- while (i--) {
1167
- node = nodes[i];
1168
- if (hasImageClass(node)) {
1169
- node.attr('contenteditable', state ? 'false' : null);
1170
- global$2.each(node.getAll('figcaption'), toggleContentEditable);
1171
- }
1172
- }
1173
- };
1174
- };
1175
- var setup = function (editor) {
1176
- editor.on('preInit', function () {
1177
- editor.parser.addNodeFilter('figure', toggleContentEditableState(true));
1178
- editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));
1179
- });
1180
- };
1181
- var $_9p5qtrdgjm0ofymo = { setup: setup };
1182
-
1183
- var register$1 = function (editor) {
1184
- editor.addButton('image', {
1185
- icon: 'image',
1186
- tooltip: 'Insert/edit image',
1187
- onclick: Dialog(editor).open,
1188
- stateSelector: 'img:not([data-mce-object],[data-mce-placeholder]),figure.image'
1189
- });
1190
- editor.addMenuItem('image', {
1191
- icon: 'image',
1192
- text: 'Image',
1193
- onclick: Dialog(editor).open,
1194
- context: 'insert',
1195
- prependToContext: true
1196
- });
1197
- };
1198
- var $_6f6xo7dhjm0ofymp = { register: register$1 };
1199
-
1200
- global.add('image', function (editor) {
1201
- $_9p5qtrdgjm0ofymo.setup(editor);
1202
- $_6f6xo7dhjm0ofymp.register(editor);
1203
- $_fd1mcfcqjm0ofyk2.register(editor);
1204
- });
1205
- function Plugin () {
1206
- }
1207
-
1208
- return Plugin;
1209
-
1210
- }());
1211
- })();