wax_theme 0.1.0.beta

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 (245) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +50 -0
  4. data/_includes/wax/collection/gallery.html +33 -0
  5. data/_includes/wax/collection/interactive_metadata.html +53 -0
  6. data/_includes/wax/footer.html +35 -0
  7. data/_includes/wax/head.html +16 -0
  8. data/_includes/wax/header.html +35 -0
  9. data/_includes/wax/image_viewer/leaflet.html +11 -0
  10. data/_includes/wax/image_viewer/mirador.html +8 -0
  11. data/_includes/wax/image_viewer/simple.html +5 -0
  12. data/_includes/wax/inline_image.html +12 -0
  13. data/_includes/wax/item/metadata.html +23 -0
  14. data/_includes/wax/item/pagination.html +23 -0
  15. data/_includes/wax/mirador_compare.html +11 -0
  16. data/_includes/wax/parallax.html +23 -0
  17. data/_includes/wax/search.html +12 -0
  18. data/_layouts/wax/collection_item.html +41 -0
  19. data/_layouts/wax/default.html +20 -0
  20. data/_layouts/wax/exhibit.html +15 -0
  21. data/_layouts/wax/page.html +13 -0
  22. data/_layouts/wax/reuse_page.html +7 -0
  23. data/_sass/_bootstrap.scss +9030 -0
  24. data/_sass/_syntax.scss +129 -0
  25. data/_sass/_wax.scss +482 -0
  26. data/assets/css/datatables.css +24 -0
  27. data/assets/css/leaflet.css +636 -0
  28. data/assets/js/bootstrap.min.js +7 -0
  29. data/assets/js/datatables.min.js +325 -0
  30. data/assets/js/elasticlunr.min.js +10 -0
  31. data/assets/js/jquery-3.2.1.min.js +4 -0
  32. data/assets/js/leaflet-iiif.min.js +8 -0
  33. data/assets/js/leaflet.js +5 -0
  34. data/assets/js/popper.min.js +5 -0
  35. data/assets/js/wax.js +91 -0
  36. data/assets/logo.png +0 -0
  37. data/assets/mirador/css/mirador-combined.css +4107 -0
  38. data/assets/mirador/fonts/FontAwesome.otf +0 -0
  39. data/assets/mirador/fonts/MaterialIcons-Regular.eot +0 -0
  40. data/assets/mirador/fonts/MaterialIcons-Regular.ijmap +1 -0
  41. data/assets/mirador/fonts/MaterialIcons-Regular.svg +2373 -0
  42. data/assets/mirador/fonts/MaterialIcons-Regular.ttf +0 -0
  43. data/assets/mirador/fonts/MaterialIcons-Regular.woff +0 -0
  44. data/assets/mirador/fonts/MaterialIcons-Regular.woff2 +0 -0
  45. data/assets/mirador/fonts/fontawesome-webfont.eot +0 -0
  46. data/assets/mirador/fonts/fontawesome-webfont.svg +2671 -0
  47. data/assets/mirador/fonts/fontawesome-webfont.ttf +0 -0
  48. data/assets/mirador/fonts/fontawesome-webfont.woff +0 -0
  49. data/assets/mirador/fonts/fontawesome-webfont.woff2 +0 -0
  50. data/assets/mirador/images/border_type_1.png +0 -0
  51. data/assets/mirador/images/border_type_2.png +0 -0
  52. data/assets/mirador/images/border_type_3.png +0 -0
  53. data/assets/mirador/images/border_type_4.png +0 -0
  54. data/assets/mirador/images/border_type_5.png +0 -0
  55. data/assets/mirador/images/debut_dark.png +0 -0
  56. data/assets/mirador/locales/ar/translation.json +42 -0
  57. data/assets/mirador/locales/de/translation.json +103 -0
  58. data/assets/mirador/locales/en/translation.json +106 -0
  59. data/assets/mirador/locales/es/translation.json +86 -0
  60. data/assets/mirador/locales/fr/translation.json +103 -0
  61. data/assets/mirador/locales/ga/translation.json +97 -0
  62. data/assets/mirador/locales/ja/translation.json +82 -0
  63. data/assets/mirador/locales/ko/translation.json +83 -0
  64. data/assets/mirador/locales/nl/translation.json +39 -0
  65. data/assets/mirador/locales/zh-CN/translation.json +76 -0
  66. data/assets/mirador/locales/zh-TW/translation.json +76 -0
  67. data/assets/mirador/locales/zh/translation.json +74 -0
  68. data/assets/mirador/mirador.js +49145 -0
  69. data/assets/mirador/plugins/advlist/index.js +7 -0
  70. data/assets/mirador/plugins/advlist/plugin.js +160 -0
  71. data/assets/mirador/plugins/advlist/plugin.min.js +1 -0
  72. data/assets/mirador/plugins/anchor/index.js +7 -0
  73. data/assets/mirador/plugins/anchor/plugin.js +118 -0
  74. data/assets/mirador/plugins/anchor/plugin.min.js +1 -0
  75. data/assets/mirador/plugins/autolink/index.js +7 -0
  76. data/assets/mirador/plugins/autolink/plugin.js +180 -0
  77. data/assets/mirador/plugins/autolink/plugin.min.js +1 -0
  78. data/assets/mirador/plugins/autoresize/index.js +7 -0
  79. data/assets/mirador/plugins/autoresize/plugin.js +169 -0
  80. data/assets/mirador/plugins/autoresize/plugin.min.js +1 -0
  81. data/assets/mirador/plugins/autosave/index.js +7 -0
  82. data/assets/mirador/plugins/autosave/plugin.js +226 -0
  83. data/assets/mirador/plugins/autosave/plugin.min.js +1 -0
  84. data/assets/mirador/plugins/bbcode/index.js +7 -0
  85. data/assets/mirador/plugins/bbcode/plugin.js +101 -0
  86. data/assets/mirador/plugins/bbcode/plugin.min.js +1 -0
  87. data/assets/mirador/plugins/charmap/index.js +7 -0
  88. data/assets/mirador/plugins/charmap/plugin.js +1275 -0
  89. data/assets/mirador/plugins/charmap/plugin.min.js +1 -0
  90. data/assets/mirador/plugins/code/index.js +7 -0
  91. data/assets/mirador/plugins/code/plugin.js +94 -0
  92. data/assets/mirador/plugins/code/plugin.min.js +1 -0
  93. data/assets/mirador/plugins/codesample/css/prism.css +138 -0
  94. data/assets/mirador/plugins/codesample/index.js +7 -0
  95. data/assets/mirador/plugins/codesample/plugin.js +967 -0
  96. data/assets/mirador/plugins/codesample/plugin.min.js +1 -0
  97. data/assets/mirador/plugins/colorpicker/index.js +7 -0
  98. data/assets/mirador/plugins/colorpicker/plugin.js +126 -0
  99. data/assets/mirador/plugins/colorpicker/plugin.min.js +1 -0
  100. data/assets/mirador/plugins/contextmenu/index.js +7 -0
  101. data/assets/mirador/plugins/contextmenu/plugin.js +168 -0
  102. data/assets/mirador/plugins/contextmenu/plugin.min.js +1 -0
  103. data/assets/mirador/plugins/directionality/index.js +7 -0
  104. data/assets/mirador/plugins/directionality/plugin.js +66 -0
  105. data/assets/mirador/plugins/directionality/plugin.min.js +1 -0
  106. data/assets/mirador/plugins/emoticons/img/smiley-cool.gif +0 -0
  107. data/assets/mirador/plugins/emoticons/img/smiley-cry.gif +0 -0
  108. data/assets/mirador/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  109. data/assets/mirador/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  110. data/assets/mirador/plugins/emoticons/img/smiley-frown.gif +0 -0
  111. data/assets/mirador/plugins/emoticons/img/smiley-innocent.gif +0 -0
  112. data/assets/mirador/plugins/emoticons/img/smiley-kiss.gif +0 -0
  113. data/assets/mirador/plugins/emoticons/img/smiley-laughing.gif +0 -0
  114. data/assets/mirador/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  115. data/assets/mirador/plugins/emoticons/img/smiley-sealed.gif +0 -0
  116. data/assets/mirador/plugins/emoticons/img/smiley-smile.gif +0 -0
  117. data/assets/mirador/plugins/emoticons/img/smiley-surprised.gif +0 -0
  118. data/assets/mirador/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  119. data/assets/mirador/plugins/emoticons/img/smiley-undecided.gif +0 -0
  120. data/assets/mirador/plugins/emoticons/img/smiley-wink.gif +0 -0
  121. data/assets/mirador/plugins/emoticons/img/smiley-yell.gif +0 -0
  122. data/assets/mirador/plugins/emoticons/index.js +7 -0
  123. data/assets/mirador/plugins/emoticons/plugin.js +87 -0
  124. data/assets/mirador/plugins/emoticons/plugin.min.js +1 -0
  125. data/assets/mirador/plugins/fullpage/index.js +7 -0
  126. data/assets/mirador/plugins/fullpage/plugin.js +519 -0
  127. data/assets/mirador/plugins/fullpage/plugin.min.js +1 -0
  128. data/assets/mirador/plugins/fullscreen/index.js +7 -0
  129. data/assets/mirador/plugins/fullscreen/plugin.js +177 -0
  130. data/assets/mirador/plugins/fullscreen/plugin.min.js +1 -0
  131. data/assets/mirador/plugins/help/img/logo.png +0 -0
  132. data/assets/mirador/plugins/help/index.js +7 -0
  133. data/assets/mirador/plugins/help/plugin.js +727 -0
  134. data/assets/mirador/plugins/help/plugin.min.js +1 -0
  135. data/assets/mirador/plugins/hr/index.js +7 -0
  136. data/assets/mirador/plugins/hr/plugin.js +39 -0
  137. data/assets/mirador/plugins/hr/plugin.min.js +1 -0
  138. data/assets/mirador/plugins/image/index.js +7 -0
  139. data/assets/mirador/plugins/image/plugin.js +1211 -0
  140. data/assets/mirador/plugins/image/plugin.min.js +1 -0
  141. data/assets/mirador/plugins/imagetools/index.js +7 -0
  142. data/assets/mirador/plugins/imagetools/plugin.js +3684 -0
  143. data/assets/mirador/plugins/imagetools/plugin.min.js +1 -0
  144. data/assets/mirador/plugins/importcss/index.js +7 -0
  145. data/assets/mirador/plugins/importcss/plugin.js +264 -0
  146. data/assets/mirador/plugins/importcss/plugin.min.js +1 -0
  147. data/assets/mirador/plugins/insertdatetime/index.js +7 -0
  148. data/assets/mirador/plugins/insertdatetime/plugin.js +173 -0
  149. data/assets/mirador/plugins/insertdatetime/plugin.min.js +1 -0
  150. data/assets/mirador/plugins/legacyoutput/index.js +7 -0
  151. data/assets/mirador/plugins/legacyoutput/plugin.js +220 -0
  152. data/assets/mirador/plugins/legacyoutput/plugin.min.js +1 -0
  153. data/assets/mirador/plugins/link/index.js +7 -0
  154. data/assets/mirador/plugins/link/plugin.js +713 -0
  155. data/assets/mirador/plugins/link/plugin.min.js +1 -0
  156. data/assets/mirador/plugins/lists/index.js +7 -0
  157. data/assets/mirador/plugins/lists/plugin.js +1115 -0
  158. data/assets/mirador/plugins/lists/plugin.min.js +1 -0
  159. data/assets/mirador/plugins/media/index.js +7 -0
  160. data/assets/mirador/plugins/media/plugin.js +1166 -0
  161. data/assets/mirador/plugins/media/plugin.min.js +1 -0
  162. data/assets/mirador/plugins/nonbreaking/index.js +7 -0
  163. data/assets/mirador/plugins/nonbreaking/plugin.js +85 -0
  164. data/assets/mirador/plugins/nonbreaking/plugin.min.js +1 -0
  165. data/assets/mirador/plugins/noneditable/index.js +7 -0
  166. data/assets/mirador/plugins/noneditable/plugin.js +118 -0
  167. data/assets/mirador/plugins/noneditable/plugin.min.js +1 -0
  168. data/assets/mirador/plugins/pagebreak/index.js +7 -0
  169. data/assets/mirador/plugins/pagebreak/plugin.js +109 -0
  170. data/assets/mirador/plugins/pagebreak/plugin.min.js +1 -0
  171. data/assets/mirador/plugins/paste/index.js +7 -0
  172. data/assets/mirador/plugins/paste/plugin.js +1497 -0
  173. data/assets/mirador/plugins/paste/plugin.min.js +1 -0
  174. data/assets/mirador/plugins/preview/index.js +7 -0
  175. data/assets/mirador/plugins/preview/plugin.js +123 -0
  176. data/assets/mirador/plugins/preview/plugin.min.js +1 -0
  177. data/assets/mirador/plugins/print/index.js +7 -0
  178. data/assets/mirador/plugins/print/plugin.js +38 -0
  179. data/assets/mirador/plugins/print/plugin.min.js +1 -0
  180. data/assets/mirador/plugins/save/index.js +7 -0
  181. data/assets/mirador/plugins/save/plugin.js +120 -0
  182. data/assets/mirador/plugins/save/plugin.min.js +1 -0
  183. data/assets/mirador/plugins/searchreplace/index.js +7 -0
  184. data/assets/mirador/plugins/searchreplace/plugin.js +603 -0
  185. data/assets/mirador/plugins/searchreplace/plugin.min.js +1 -0
  186. data/assets/mirador/plugins/spellchecker/index.js +7 -0
  187. data/assets/mirador/plugins/spellchecker/plugin.js +757 -0
  188. data/assets/mirador/plugins/spellchecker/plugin.min.js +1 -0
  189. data/assets/mirador/plugins/tabfocus/index.js +7 -0
  190. data/assets/mirador/plugins/tabfocus/plugin.js +124 -0
  191. data/assets/mirador/plugins/tabfocus/plugin.min.js +1 -0
  192. data/assets/mirador/plugins/table/index.js +7 -0
  193. data/assets/mirador/plugins/table/plugin.js +10144 -0
  194. data/assets/mirador/plugins/table/plugin.min.js +1 -0
  195. data/assets/mirador/plugins/template/index.js +7 -0
  196. data/assets/mirador/plugins/template/plugin.js +345 -0
  197. data/assets/mirador/plugins/template/plugin.min.js +1 -0
  198. data/assets/mirador/plugins/textcolor/index.js +7 -0
  199. data/assets/mirador/plugins/textcolor/plugin.js +346 -0
  200. data/assets/mirador/plugins/textcolor/plugin.min.js +1 -0
  201. data/assets/mirador/plugins/textpattern/index.js +7 -0
  202. data/assets/mirador/plugins/textpattern/plugin.js +370 -0
  203. data/assets/mirador/plugins/textpattern/plugin.min.js +1 -0
  204. data/assets/mirador/plugins/toc/index.js +7 -0
  205. data/assets/mirador/plugins/toc/plugin.js +228 -0
  206. data/assets/mirador/plugins/toc/plugin.min.js +1 -0
  207. data/assets/mirador/plugins/visualblocks/css/visualblocks.css +154 -0
  208. data/assets/mirador/plugins/visualblocks/index.js +7 -0
  209. data/assets/mirador/plugins/visualblocks/plugin.js +135 -0
  210. data/assets/mirador/plugins/visualblocks/plugin.min.js +1 -0
  211. data/assets/mirador/plugins/visualchars/index.js +7 -0
  212. data/assets/mirador/plugins/visualchars/plugin.js +505 -0
  213. data/assets/mirador/plugins/visualchars/plugin.min.js +1 -0
  214. data/assets/mirador/plugins/wordcount/index.js +7 -0
  215. data/assets/mirador/plugins/wordcount/plugin.js +343 -0
  216. data/assets/mirador/plugins/wordcount/plugin.min.js +1 -0
  217. data/assets/mirador/skins/lightgray/content.inline.min.css +1 -0
  218. data/assets/mirador/skins/lightgray/content.min.css +1 -0
  219. data/assets/mirador/skins/lightgray/content.mobile.min.css +1 -0
  220. data/assets/mirador/skins/lightgray/fonts/tinymce-mobile.woff +0 -0
  221. data/assets/mirador/skins/lightgray/fonts/tinymce-small.eot +0 -0
  222. data/assets/mirador/skins/lightgray/fonts/tinymce-small.svg +63 -0
  223. data/assets/mirador/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  224. data/assets/mirador/skins/lightgray/fonts/tinymce-small.woff +0 -0
  225. data/assets/mirador/skins/lightgray/fonts/tinymce.eot +0 -0
  226. data/assets/mirador/skins/lightgray/fonts/tinymce.svg +131 -0
  227. data/assets/mirador/skins/lightgray/fonts/tinymce.ttf +0 -0
  228. data/assets/mirador/skins/lightgray/fonts/tinymce.woff +0 -0
  229. data/assets/mirador/skins/lightgray/img/anchor.gif +0 -0
  230. data/assets/mirador/skins/lightgray/img/loader.gif +0 -0
  231. data/assets/mirador/skins/lightgray/img/object.gif +0 -0
  232. data/assets/mirador/skins/lightgray/img/trans.gif +0 -0
  233. data/assets/mirador/skins/lightgray/skin.min.css +1 -0
  234. data/assets/mirador/skins/lightgray/skin.mobile.min.css +2 -0
  235. data/assets/mirador/themes/inlite/index.js +7 -0
  236. data/assets/mirador/themes/inlite/theme.js +10235 -0
  237. data/assets/mirador/themes/inlite/theme.min.js +1 -0
  238. data/assets/mirador/themes/mobile/index.js +7 -0
  239. data/assets/mirador/themes/mobile/theme.js +13546 -0
  240. data/assets/mirador/themes/mobile/theme.min.js +1 -0
  241. data/assets/mirador/themes/modern/index.js +7 -0
  242. data/assets/mirador/themes/modern/theme.js +10041 -0
  243. data/assets/mirador/themes/modern/theme.min.js +1 -0
  244. data/assets/styles.scss +51 -0
  245. metadata +343 -0
@@ -0,0 +1 @@
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")})}();
@@ -0,0 +1,7 @@
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');
@@ -0,0 +1,39 @@
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
+ })();
@@ -0,0 +1 @@
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)})}();
@@ -0,0 +1,7 @@
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');
@@ -0,0 +1,1211 @@
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
+ })();