bedrock_sass 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (466) hide show
  1. checksums.yaml +4 -4
  2. data/assets/_vendor/ace/ace.js +255 -589
  3. data/assets/_vendor/ace/ext-beautify.js +1 -2
  4. data/assets/_vendor/ace/ext-elastic_tabstops_lite.js +2 -2
  5. data/assets/_vendor/ace/ext-emmet.js +4 -4
  6. data/assets/_vendor/ace/ext-error_marker.js +1 -2
  7. data/assets/_vendor/ace/ext-keybinding_menu.js +1 -2
  8. data/assets/_vendor/ace/ext-language_tools.js +5 -9
  9. data/assets/_vendor/ace/ext-linking.js +1 -2
  10. data/assets/_vendor/ace/ext-modelist.js +9 -5
  11. data/assets/_vendor/ace/ext-options.js +10 -7
  12. data/assets/_vendor/ace/ext-rtl.js +1 -2
  13. data/assets/_vendor/ace/ext-searchbox.js +8 -4
  14. data/assets/_vendor/ace/ext-settings_menu.js +10 -7
  15. data/assets/_vendor/ace/ext-spellcheck.js +1 -2
  16. data/assets/_vendor/ace/ext-split.js +1 -2
  17. data/assets/_vendor/ace/ext-static_highlight.js +11 -8
  18. data/assets/_vendor/ace/ext-statusbar.js +1 -2
  19. data/assets/_vendor/ace/ext-textarea.js +1 -5
  20. data/assets/_vendor/ace/ext-themelist.js +2 -4
  21. data/assets/_vendor/ace/ext-whitespace.js +1 -2
  22. data/assets/_vendor/ace/keybinding-emacs.js +6 -2
  23. data/assets/_vendor/ace/keybinding-vim.js +13 -25
  24. data/assets/_vendor/ace/mode-abap.js +2 -3
  25. data/assets/_vendor/ace/mode-abc.js +3 -2
  26. data/assets/_vendor/ace/mode-actionscript.js +2 -2
  27. data/assets/_vendor/ace/mode-ada.js +1 -2
  28. data/assets/_vendor/ace/mode-apache_conf.js +2 -2
  29. data/assets/_vendor/ace/mode-apex.js +457 -0
  30. data/assets/_vendor/ace/mode-applescript.js +1 -2
  31. data/assets/_vendor/ace/mode-asciidoc.js +2 -2
  32. data/assets/_vendor/ace/mode-asl.js +1 -2
  33. data/assets/_vendor/ace/mode-assembly_x86.js +2 -2
  34. data/assets/_vendor/ace/mode-autohotkey.js +1 -2
  35. data/assets/_vendor/ace/mode-batchfile.js +2 -2
  36. data/assets/_vendor/ace/mode-bro.js +2 -2
  37. data/assets/_vendor/ace/mode-c9search.js +1 -2
  38. data/assets/_vendor/ace/mode-c_cpp.js +2 -2
  39. data/assets/_vendor/ace/mode-cirru.js +1 -2
  40. data/assets/_vendor/ace/mode-clojure.js +2 -2
  41. data/assets/_vendor/ace/mode-cobol.js +1 -2
  42. data/assets/_vendor/ace/mode-coffee.js +1 -2
  43. data/assets/_vendor/ace/mode-coldfusion.js +3 -2
  44. data/assets/_vendor/ace/mode-csharp.js +3 -3
  45. data/assets/_vendor/ace/mode-csound_document.js +319 -80
  46. data/assets/_vendor/ace/mode-csound_orchestra.js +323 -86
  47. data/assets/_vendor/ace/mode-csound_score.js +1 -2
  48. data/assets/_vendor/ace/mode-csp.js +1 -2
  49. data/assets/_vendor/ace/mode-css.js +2 -2
  50. data/assets/_vendor/ace/mode-curly.js +3 -2
  51. data/assets/_vendor/ace/mode-d.js +2 -2
  52. data/assets/_vendor/ace/mode-dart.js +24 -14
  53. data/assets/_vendor/ace/mode-diff.js +4 -4
  54. data/assets/_vendor/ace/mode-django.js +3 -2
  55. data/assets/_vendor/ace/mode-dockerfile.js +3 -2
  56. data/assets/_vendor/ace/mode-dot.js +1 -2
  57. data/assets/_vendor/ace/mode-drools.js +3 -2
  58. data/assets/_vendor/ace/mode-edifact.js +2 -2
  59. data/assets/_vendor/ace/mode-eiffel.js +1 -2
  60. data/assets/_vendor/ace/mode-ejs.js +5 -2
  61. data/assets/_vendor/ace/mode-elixir.js +2 -2
  62. data/assets/_vendor/ace/mode-elm.js +1 -2
  63. data/assets/_vendor/ace/mode-erlang.js +2 -2
  64. data/assets/_vendor/ace/mode-forth.js +2 -2
  65. data/assets/_vendor/ace/mode-fortran.js +1 -2
  66. data/assets/_vendor/ace/mode-fsharp.js +1 -2
  67. data/assets/_vendor/ace/mode-fsl.js +258 -0
  68. data/assets/_vendor/ace/mode-ftl.js +3 -2
  69. data/assets/_vendor/ace/mode-gcode.js +1 -2
  70. data/assets/_vendor/ace/mode-gherkin.js +2 -4
  71. data/assets/_vendor/ace/mode-gitignore.js +1 -2
  72. data/assets/_vendor/ace/mode-glsl.js +2 -2
  73. data/assets/_vendor/ace/mode-gobstones.js +3 -2
  74. data/assets/_vendor/ace/mode-golang.js +1 -2
  75. data/assets/_vendor/ace/mode-graphqlschema.js +1 -2
  76. data/assets/_vendor/ace/mode-groovy.js +4 -2
  77. data/assets/_vendor/ace/mode-haml.js +5 -2
  78. data/assets/_vendor/ace/mode-handlebars.js +3 -2
  79. data/assets/_vendor/ace/mode-haskell.js +2 -2
  80. data/assets/_vendor/ace/mode-haskell_cabal.js +1 -2
  81. data/assets/_vendor/ace/mode-haxe.js +2 -2
  82. data/assets/_vendor/ace/mode-hjson.js +2 -2
  83. data/assets/_vendor/ace/mode-html.js +3 -2
  84. data/assets/_vendor/ace/mode-html_elixir.js +4 -2
  85. data/assets/_vendor/ace/mode-html_ruby.js +5 -2
  86. data/assets/_vendor/ace/mode-ini.js +1 -2
  87. data/assets/_vendor/ace/mode-io.js +2 -2
  88. data/assets/_vendor/ace/mode-jack.js +1 -2
  89. data/assets/_vendor/ace/mode-jade.js +14 -115
  90. data/assets/_vendor/ace/mode-java.js +64 -3
  91. data/assets/_vendor/ace/mode-javascript.js +2 -2
  92. data/assets/_vendor/ace/mode-json.js +1 -2
  93. data/assets/_vendor/ace/mode-jsoniq.js +8 -2317
  94. data/assets/_vendor/ace/mode-jsp.js +4 -2
  95. data/assets/_vendor/ace/mode-jssm.js +2 -2
  96. data/assets/_vendor/ace/mode-jsx.js +1 -2
  97. data/assets/_vendor/ace/mode-julia.js +2 -2
  98. data/assets/_vendor/ace/mode-kotlin.js +2 -2
  99. data/assets/_vendor/ace/mode-latex.js +1 -2
  100. data/assets/_vendor/ace/mode-less.js +4 -2
  101. data/assets/_vendor/ace/mode-liquid.js +2026 -477
  102. data/assets/_vendor/ace/mode-lisp.js +2 -2
  103. data/assets/_vendor/ace/mode-livescript.js +1 -2
  104. data/assets/_vendor/ace/mode-logiql.js +2 -2
  105. data/assets/_vendor/ace/mode-logtalk.js +352 -0
  106. data/assets/_vendor/ace/mode-lsl.js +1 -2
  107. data/assets/_vendor/ace/mode-lua.js +1 -2
  108. data/assets/_vendor/ace/mode-luapage.js +3 -2
  109. data/assets/_vendor/ace/mode-lucene.js +2 -3
  110. data/assets/_vendor/ace/mode-makefile.js +3 -2
  111. data/assets/_vendor/ace/mode-markdown.js +5 -2
  112. data/assets/_vendor/ace/mode-mask.js +3 -2
  113. data/assets/_vendor/ace/mode-matlab.js +1 -2
  114. data/assets/_vendor/ace/mode-maze.js +2 -2
  115. data/assets/_vendor/ace/mode-mel.js +2 -2
  116. data/assets/_vendor/ace/mode-mixal.js +1 -2
  117. data/assets/_vendor/ace/mode-mushcode.js +2 -2
  118. data/assets/_vendor/ace/mode-mysql.js +3 -4
  119. data/assets/_vendor/ace/mode-nix.js +2 -2
  120. data/assets/_vendor/ace/mode-nsis.js +2 -2
  121. data/assets/_vendor/ace/mode-objectivec.js +3 -2
  122. data/assets/_vendor/ace/mode-ocaml.js +1 -2
  123. data/assets/_vendor/ace/mode-pascal.js +2 -2
  124. data/assets/_vendor/ace/mode-perl.js +2 -2
  125. data/assets/_vendor/ace/mode-perl6.js +593 -0
  126. data/assets/_vendor/ace/mode-pgsql.js +304 -69
  127. data/assets/_vendor/ace/mode-php.js +844 -1029
  128. data/assets/_vendor/ace/mode-php_laravel_blade.js +844 -1029
  129. data/assets/_vendor/ace/mode-pig.js +2 -2
  130. data/assets/_vendor/ace/mode-plain_text.js +1 -2
  131. data/assets/_vendor/ace/mode-powershell.js +2 -2
  132. data/assets/_vendor/ace/mode-praat.js +2 -2
  133. data/assets/_vendor/ace/mode-prolog.js +2 -2
  134. data/assets/_vendor/ace/mode-properties.js +1 -2
  135. data/assets/_vendor/ace/mode-protobuf.js +2 -2
  136. data/assets/_vendor/ace/mode-puppet.js +1 -2
  137. data/assets/_vendor/ace/mode-python.js +297 -63
  138. data/assets/_vendor/ace/mode-r.js +3 -2
  139. data/assets/_vendor/ace/mode-razor.js +9 -3
  140. data/assets/_vendor/ace/mode-rdoc.js +2 -2
  141. data/assets/_vendor/ace/mode-red.js +2 -2
  142. data/assets/_vendor/ace/mode-redshift.js +1 -2
  143. data/assets/_vendor/ace/mode-rhtml.js +5 -2
  144. data/assets/_vendor/ace/mode-rst.js +1 -2
  145. data/assets/_vendor/ace/mode-ruby.js +3 -2
  146. data/assets/_vendor/ace/mode-rust.js +2 -2
  147. data/assets/_vendor/ace/mode-sass.js +205 -117
  148. data/assets/_vendor/ace/mode-scad.js +2 -2
  149. data/assets/_vendor/ace/mode-scala.js +3 -2
  150. data/assets/_vendor/ace/mode-scheme.js +2 -2
  151. data/assets/_vendor/ace/mode-scss.js +204 -115
  152. data/assets/_vendor/ace/mode-sh.js +3 -2
  153. data/assets/_vendor/ace/mode-sjs.js +2 -2
  154. data/assets/_vendor/ace/mode-slim.js +18 -117
  155. data/assets/_vendor/ace/mode-smarty.js +3 -2
  156. data/assets/_vendor/ace/mode-snippets.js +1 -2
  157. data/assets/_vendor/ace/mode-soy_template.js +4 -2
  158. data/assets/_vendor/ace/mode-space.js +1 -2
  159. data/assets/_vendor/ace/mode-sparql.js +2 -2
  160. data/assets/_vendor/ace/mode-sql.js +2 -3
  161. data/assets/_vendor/ace/mode-sqlserver.js +2 -2
  162. data/assets/_vendor/ace/mode-stylus.js +3 -2
  163. data/assets/_vendor/ace/mode-svg.js +2 -2
  164. data/assets/_vendor/ace/mode-swift.js +1 -2
  165. data/assets/_vendor/ace/mode-tcl.js +2 -2
  166. data/assets/_vendor/ace/mode-terraform.js +1 -2
  167. data/assets/_vendor/ace/mode-tex.js +2 -2
  168. data/assets/_vendor/ace/mode-text.js +1 -2
  169. data/assets/_vendor/ace/mode-textile.js +1 -2
  170. data/assets/_vendor/ace/mode-toml.js +1 -2
  171. data/assets/_vendor/ace/mode-tsx.js +2 -2
  172. data/assets/_vendor/ace/mode-turtle.js +2 -2
  173. data/assets/_vendor/ace/mode-twig.js +3 -2
  174. data/assets/_vendor/ace/mode-typescript.js +2 -2
  175. data/assets/_vendor/ace/mode-vala.js +2 -2
  176. data/assets/_vendor/ace/mode-vbscript.js +1 -2
  177. data/assets/_vendor/ace/mode-velocity.js +4 -2
  178. data/assets/_vendor/ace/mode-verilog.js +1 -2
  179. data/assets/_vendor/ace/mode-vhdl.js +1 -2
  180. data/assets/_vendor/ace/mode-visualforce.js +2641 -0
  181. data/assets/_vendor/ace/mode-wollok.js +3 -2
  182. data/assets/_vendor/ace/mode-xml.js +1 -2
  183. data/assets/_vendor/ace/mode-xquery.js +8 -2287
  184. data/assets/_vendor/ace/mode-yaml.js +1 -2
  185. data/assets/_vendor/ace/snippets/abap.js +2 -3
  186. data/assets/_vendor/ace/snippets/abc.js +1 -2
  187. data/assets/_vendor/ace/snippets/actionscript.js +1 -2
  188. data/assets/_vendor/ace/snippets/ada.js +2 -3
  189. data/assets/_vendor/ace/snippets/apache_conf.js +2 -3
  190. data/assets/_vendor/ace/snippets/apex.js +14 -0
  191. data/assets/_vendor/ace/snippets/applescript.js +2 -3
  192. data/assets/_vendor/ace/snippets/asciidoc.js +2 -3
  193. data/assets/_vendor/ace/snippets/asl.js +2 -3
  194. data/assets/_vendor/ace/snippets/assembly_x86.js +2 -3
  195. data/assets/_vendor/ace/snippets/autohotkey.js +2 -3
  196. data/assets/_vendor/ace/snippets/batchfile.js +2 -3
  197. data/assets/_vendor/ace/snippets/bro.js +1 -2
  198. data/assets/_vendor/ace/snippets/c9search.js +2 -3
  199. data/assets/_vendor/ace/snippets/c_cpp.js +1 -2
  200. data/assets/_vendor/ace/snippets/cirru.js +2 -3
  201. data/assets/_vendor/ace/snippets/clojure.js +1 -2
  202. data/assets/_vendor/ace/snippets/cobol.js +2 -3
  203. data/assets/_vendor/ace/snippets/coffee.js +1 -2
  204. data/assets/_vendor/ace/snippets/coldfusion.js +2 -3
  205. data/assets/_vendor/ace/snippets/csharp.js +2 -3
  206. data/assets/_vendor/ace/snippets/csound_document.js +1 -2
  207. data/assets/_vendor/ace/snippets/csound_orchestra.js +1 -2
  208. data/assets/_vendor/ace/snippets/csound_score.js +2 -3
  209. data/assets/_vendor/ace/snippets/csp.js +1 -2
  210. data/assets/_vendor/ace/snippets/css.js +1 -2
  211. data/assets/_vendor/ace/snippets/curly.js +2 -3
  212. data/assets/_vendor/ace/snippets/d.js +2 -3
  213. data/assets/_vendor/ace/snippets/dart.js +1 -2
  214. data/assets/_vendor/ace/snippets/diff.js +1 -2
  215. data/assets/_vendor/ace/snippets/django.js +1 -2
  216. data/assets/_vendor/ace/snippets/dockerfile.js +2 -3
  217. data/assets/_vendor/ace/snippets/dot.js +2 -3
  218. data/assets/_vendor/ace/snippets/drools.js +1 -2
  219. data/assets/_vendor/ace/snippets/edifact.js +1 -2
  220. data/assets/_vendor/ace/snippets/eiffel.js +2 -3
  221. data/assets/_vendor/ace/snippets/ejs.js +2 -3
  222. data/assets/_vendor/ace/snippets/elixir.js +1 -2
  223. data/assets/_vendor/ace/snippets/elm.js +2 -3
  224. data/assets/_vendor/ace/snippets/erlang.js +1 -2
  225. data/assets/_vendor/ace/snippets/forth.js +2 -3
  226. data/assets/_vendor/ace/snippets/fortran.js +2 -3
  227. data/assets/_vendor/ace/snippets/fsharp.js +2 -3
  228. data/assets/_vendor/ace/snippets/fsl.js +14 -0
  229. data/assets/_vendor/ace/snippets/ftl.js +2 -3
  230. data/assets/_vendor/ace/snippets/gcode.js +2 -3
  231. data/assets/_vendor/ace/snippets/gherkin.js +2 -3
  232. data/assets/_vendor/ace/snippets/gitignore.js +2 -3
  233. data/assets/_vendor/ace/snippets/glsl.js +2 -3
  234. data/assets/_vendor/ace/snippets/gobstones.js +1 -2
  235. data/assets/_vendor/ace/snippets/golang.js +2 -3
  236. data/assets/_vendor/ace/snippets/graphqlschema.js +1 -2
  237. data/assets/_vendor/ace/snippets/groovy.js +2 -3
  238. data/assets/_vendor/ace/snippets/haml.js +1 -2
  239. data/assets/_vendor/ace/snippets/handlebars.js +2 -3
  240. data/assets/_vendor/ace/snippets/haskell.js +1 -2
  241. data/assets/_vendor/ace/snippets/haskell_cabal.js +2 -3
  242. data/assets/_vendor/ace/snippets/haxe.js +2 -3
  243. data/assets/_vendor/ace/snippets/hjson.js +1 -2
  244. data/assets/_vendor/ace/snippets/html.js +1 -2
  245. data/assets/_vendor/ace/snippets/html_elixir.js +2 -3
  246. data/assets/_vendor/ace/snippets/html_ruby.js +2 -3
  247. data/assets/_vendor/ace/snippets/ini.js +2 -3
  248. data/assets/_vendor/ace/snippets/io.js +1 -2
  249. data/assets/_vendor/ace/snippets/jack.js +2 -3
  250. data/assets/_vendor/ace/snippets/jade.js +2 -3
  251. data/assets/_vendor/ace/snippets/java.js +1 -2
  252. data/assets/_vendor/ace/snippets/javascript.js +1 -2
  253. data/assets/_vendor/ace/snippets/json.js +2 -3
  254. data/assets/_vendor/ace/snippets/jsoniq.js +1 -2
  255. data/assets/_vendor/ace/snippets/jsp.js +1 -2
  256. data/assets/_vendor/ace/snippets/jssm.js +1 -2
  257. data/assets/_vendor/ace/snippets/jsx.js +2 -3
  258. data/assets/_vendor/ace/snippets/julia.js +2 -3
  259. data/assets/_vendor/ace/snippets/kotlin.js +1 -2
  260. data/assets/_vendor/ace/snippets/latex.js +2 -3
  261. data/assets/_vendor/ace/snippets/less.js +2 -3
  262. data/assets/_vendor/ace/snippets/liquid.js +883 -3
  263. data/assets/_vendor/ace/snippets/lisp.js +2 -3
  264. data/assets/_vendor/ace/snippets/livescript.js +2 -3
  265. data/assets/_vendor/ace/snippets/logiql.js +2 -3
  266. data/assets/_vendor/ace/snippets/logtalk.js +14 -0
  267. data/assets/_vendor/ace/snippets/lsl.js +1 -2
  268. data/assets/_vendor/ace/snippets/lua.js +1 -2
  269. data/assets/_vendor/ace/snippets/luapage.js +2 -3
  270. data/assets/_vendor/ace/snippets/lucene.js +2 -3
  271. data/assets/_vendor/ace/snippets/makefile.js +1 -2
  272. data/assets/_vendor/ace/snippets/markdown.js +1 -2
  273. data/assets/_vendor/ace/snippets/mask.js +2 -3
  274. data/assets/_vendor/ace/snippets/matlab.js +2 -3
  275. data/assets/_vendor/ace/snippets/maze.js +1 -2
  276. data/assets/_vendor/ace/snippets/mel.js +2 -3
  277. data/assets/_vendor/ace/snippets/mixal.js +2 -3
  278. data/assets/_vendor/ace/snippets/mushcode.js +2 -3
  279. data/assets/_vendor/ace/snippets/mysql.js +2 -3
  280. data/assets/_vendor/ace/snippets/nix.js +2 -3
  281. data/assets/_vendor/ace/snippets/nsis.js +1 -2
  282. data/assets/_vendor/ace/snippets/objectivec.js +2 -3
  283. data/assets/_vendor/ace/snippets/ocaml.js +2 -3
  284. data/assets/_vendor/ace/snippets/pascal.js +2 -3
  285. data/assets/_vendor/ace/snippets/perl.js +1 -2
  286. data/assets/_vendor/ace/snippets/perl6.js +14 -0
  287. data/assets/_vendor/ace/snippets/pgsql.js +2 -3
  288. data/assets/_vendor/ace/snippets/php.js +1 -2
  289. data/assets/_vendor/ace/snippets/php_laravel_blade.js +2 -3
  290. data/assets/_vendor/ace/snippets/pig.js +2 -3
  291. data/assets/_vendor/ace/snippets/plain_text.js +2 -3
  292. data/assets/_vendor/ace/snippets/powershell.js +2 -3
  293. data/assets/_vendor/ace/snippets/praat.js +2 -3
  294. data/assets/_vendor/ace/snippets/prolog.js +2 -3
  295. data/assets/_vendor/ace/snippets/properties.js +2 -3
  296. data/assets/_vendor/ace/snippets/protobuf.js +1 -2
  297. data/assets/_vendor/ace/snippets/puppet.js +2 -3
  298. data/assets/_vendor/ace/snippets/python.js +1 -2
  299. data/assets/_vendor/ace/snippets/r.js +1 -2
  300. data/assets/_vendor/ace/snippets/razor.js +1 -2
  301. data/assets/_vendor/ace/snippets/rdoc.js +2 -3
  302. data/assets/_vendor/ace/snippets/red.js +1 -2
  303. data/assets/_vendor/ace/snippets/redshift.js +2 -3
  304. data/assets/_vendor/ace/snippets/rhtml.js +2 -3
  305. data/assets/_vendor/ace/snippets/rst.js +1 -2
  306. data/assets/_vendor/ace/snippets/ruby.js +1 -2
  307. data/assets/_vendor/ace/snippets/rust.js +2 -3
  308. data/assets/_vendor/ace/snippets/sass.js +2 -3
  309. data/assets/_vendor/ace/snippets/scad.js +2 -3
  310. data/assets/_vendor/ace/snippets/scala.js +2 -3
  311. data/assets/_vendor/ace/snippets/scheme.js +2 -3
  312. data/assets/_vendor/ace/snippets/scss.js +2 -3
  313. data/assets/_vendor/ace/snippets/sh.js +1 -2
  314. data/assets/_vendor/ace/snippets/sjs.js +2 -3
  315. data/assets/_vendor/ace/snippets/slim.js +2 -3
  316. data/assets/_vendor/ace/snippets/smarty.js +2 -3
  317. data/assets/_vendor/ace/snippets/snippets.js +1 -2
  318. data/assets/_vendor/ace/snippets/soy_template.js +2 -3
  319. data/assets/_vendor/ace/snippets/space.js +2 -3
  320. data/assets/_vendor/ace/snippets/sparql.js +1 -2
  321. data/assets/_vendor/ace/snippets/sql.js +1 -2
  322. data/assets/_vendor/ace/snippets/sqlserver.js +1 -2
  323. data/assets/_vendor/ace/snippets/stylus.js +2 -3
  324. data/assets/_vendor/ace/snippets/svg.js +2 -3
  325. data/assets/_vendor/ace/snippets/swift.js +2 -3
  326. data/assets/_vendor/ace/snippets/tcl.js +1 -2
  327. data/assets/_vendor/ace/snippets/terraform.js +2 -3
  328. data/assets/_vendor/ace/snippets/tex.js +1 -2
  329. data/assets/_vendor/ace/snippets/text.js +2 -3
  330. data/assets/_vendor/ace/snippets/textile.js +1 -2
  331. data/assets/_vendor/ace/snippets/toml.js +2 -3
  332. data/assets/_vendor/ace/snippets/tsx.js +2 -3
  333. data/assets/_vendor/ace/snippets/turtle.js +1 -2
  334. data/assets/_vendor/ace/snippets/twig.js +2 -3
  335. data/assets/_vendor/ace/snippets/typescript.js +2 -3
  336. data/assets/_vendor/ace/snippets/vala.js +1 -2
  337. data/assets/_vendor/ace/snippets/vbscript.js +2 -3
  338. data/assets/_vendor/ace/snippets/velocity.js +1 -2
  339. data/assets/_vendor/ace/snippets/verilog.js +2 -3
  340. data/assets/_vendor/ace/snippets/vhdl.js +2 -3
  341. data/assets/_vendor/ace/snippets/visualforce.js +14 -0
  342. data/assets/_vendor/ace/snippets/wollok.js +1 -2
  343. data/assets/_vendor/ace/snippets/xml.js +2 -3
  344. data/assets/_vendor/ace/snippets/xquery.js +1 -2
  345. data/assets/_vendor/ace/snippets/yaml.js +2 -3
  346. data/assets/_vendor/ace/theme-ambiance.js +1 -2
  347. data/assets/_vendor/ace/theme-chaos.js +1 -2
  348. data/assets/_vendor/ace/theme-chrome.js +1 -2
  349. data/assets/_vendor/ace/theme-clouds.js +1 -2
  350. data/assets/_vendor/ace/theme-clouds_midnight.js +1 -2
  351. data/assets/_vendor/ace/theme-cobalt.js +1 -2
  352. data/assets/_vendor/ace/theme-crimson_editor.js +1 -2
  353. data/assets/_vendor/ace/theme-dawn.js +1 -2
  354. data/assets/_vendor/ace/theme-dracula.js +1 -2
  355. data/assets/_vendor/ace/theme-dreamweaver.js +1 -2
  356. data/assets/_vendor/ace/theme-eclipse.js +1 -2
  357. data/assets/_vendor/ace/theme-github.js +3 -3
  358. data/assets/_vendor/ace/theme-gob.js +1 -2
  359. data/assets/_vendor/ace/theme-gruvbox.js +1 -2
  360. data/assets/_vendor/ace/theme-idle_fingers.js +1 -2
  361. data/assets/_vendor/ace/theme-iplastic.js +1 -2
  362. data/assets/_vendor/ace/theme-katzenmilch.js +1 -2
  363. data/assets/_vendor/ace/theme-kr_theme.js +1 -2
  364. data/assets/_vendor/ace/theme-kuroir.js +1 -2
  365. data/assets/_vendor/ace/theme-merbivore.js +1 -2
  366. data/assets/_vendor/ace/theme-merbivore_soft.js +1 -2
  367. data/assets/_vendor/ace/theme-mono_industrial.js +1 -2
  368. data/assets/_vendor/ace/theme-monokai.js +1 -2
  369. data/assets/_vendor/ace/theme-pastel_on_dark.js +1 -2
  370. data/assets/_vendor/ace/theme-solarized_dark.js +1 -2
  371. data/assets/_vendor/ace/theme-solarized_light.js +1 -2
  372. data/assets/_vendor/ace/theme-sqlserver.js +1 -2
  373. data/assets/_vendor/ace/theme-terminal.js +1 -2
  374. data/assets/_vendor/ace/theme-textmate.js +1 -2
  375. data/assets/_vendor/ace/theme-tomorrow.js +1 -2
  376. data/assets/_vendor/ace/theme-tomorrow_night.js +1 -2
  377. data/assets/_vendor/ace/theme-tomorrow_night_blue.js +1 -2
  378. data/assets/_vendor/ace/theme-tomorrow_night_bright.js +1 -2
  379. data/assets/_vendor/ace/theme-tomorrow_night_eighties.js +1 -2
  380. data/assets/_vendor/ace/theme-twilight.js +1 -2
  381. data/assets/_vendor/ace/theme-vibrant_ink.js +1 -2
  382. data/assets/_vendor/ace/theme-xcode.js +1 -2
  383. data/assets/_vendor/ace/worker-coffee.js +11 -20
  384. data/assets/_vendor/ace/worker-css.js +23 -20
  385. data/assets/_vendor/ace/worker-html.js +25 -31
  386. data/assets/_vendor/ace/worker-javascript.js +76 -36
  387. data/assets/_vendor/ace/worker-json.js +25 -20
  388. data/assets/_vendor/ace/worker-lua.js +68 -69
  389. data/assets/_vendor/ace/worker-php.js +12 -20
  390. data/assets/_vendor/ace/worker-xml.js +12 -22
  391. data/assets/_vendor/ace/worker-xquery.js +44 -12378
  392. data/assets/_vendor/tinymce/plugins/advlist/plugin.js +137 -137
  393. data/assets/_vendor/tinymce/plugins/anchor/plugin.js +102 -102
  394. data/assets/_vendor/tinymce/plugins/autolink/plugin.js +154 -154
  395. data/assets/_vendor/tinymce/plugins/autoresize/plugin.js +145 -145
  396. data/assets/_vendor/tinymce/plugins/autosave/plugin.js +207 -217
  397. data/assets/_vendor/tinymce/plugins/autosave/plugin.min.js +1 -1
  398. data/assets/_vendor/tinymce/plugins/bbcode/plugin.js +89 -89
  399. data/assets/_vendor/tinymce/plugins/charmap/plugin.js +1246 -1246
  400. data/assets/_vendor/tinymce/plugins/code/plugin.js +80 -80
  401. data/assets/_vendor/tinymce/plugins/codesample/plugin.js +852 -852
  402. data/assets/_vendor/tinymce/plugins/colorpicker/plugin.js +109 -109
  403. data/assets/_vendor/tinymce/plugins/contextmenu/plugin.js +144 -144
  404. data/assets/_vendor/tinymce/plugins/directionality/plugin.js +53 -53
  405. data/assets/_vendor/tinymce/plugins/emoticons/plugin.js +74 -74
  406. data/assets/_vendor/tinymce/plugins/fullpage/plugin.js +464 -464
  407. data/assets/_vendor/tinymce/plugins/fullscreen/plugin.js +152 -152
  408. data/assets/_vendor/tinymce/plugins/help/plugin.js +639 -678
  409. data/assets/_vendor/tinymce/plugins/help/plugin.min.js +1 -1
  410. data/assets/_vendor/tinymce/plugins/hr/plugin.js +29 -29
  411. data/assets/_vendor/tinymce/plugins/image/plugin.js +1119 -1126
  412. data/assets/_vendor/tinymce/plugins/image/plugin.min.js +1 -1
  413. data/assets/_vendor/tinymce/plugins/imagetools/plugin.js +3414 -3445
  414. data/assets/_vendor/tinymce/plugins/imagetools/plugin.min.js +1 -1
  415. data/assets/_vendor/tinymce/plugins/importcss/plugin.js +230 -230
  416. data/assets/_vendor/tinymce/plugins/insertdatetime/plugin.js +152 -152
  417. data/assets/_vendor/tinymce/plugins/legacyoutput/plugin.js +193 -193
  418. data/assets/_vendor/tinymce/plugins/link/plugin.js +646 -646
  419. data/assets/_vendor/tinymce/plugins/lists/plugin.js +2103 -1037
  420. data/assets/_vendor/tinymce/plugins/lists/plugin.min.js +1 -1
  421. data/assets/_vendor/tinymce/plugins/media/plugin.js +1050 -1050
  422. data/assets/_vendor/tinymce/plugins/nonbreaking/plugin.js +69 -69
  423. data/assets/_vendor/tinymce/plugins/noneditable/plugin.js +98 -98
  424. data/assets/_vendor/tinymce/plugins/pagebreak/plugin.js +91 -91
  425. data/assets/_vendor/tinymce/plugins/paste/plugin.js +1725 -1364
  426. data/assets/_vendor/tinymce/plugins/paste/plugin.min.js +1 -1
  427. data/assets/_vendor/tinymce/plugins/preview/plugin.js +107 -107
  428. data/assets/_vendor/tinymce/plugins/print/plugin.js +28 -28
  429. data/assets/_vendor/tinymce/plugins/save/plugin.js +101 -101
  430. data/assets/_vendor/tinymce/plugins/searchreplace/plugin.js +535 -537
  431. data/assets/_vendor/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  432. data/assets/_vendor/tinymce/plugins/spellchecker/plugin.js +683 -681
  433. data/assets/_vendor/tinymce/plugins/spellchecker/plugin.min.js +1 -1
  434. data/assets/_vendor/tinymce/plugins/tabfocus/plugin.js +95 -95
  435. data/assets/_vendor/tinymce/plugins/table/plugin.js +8927 -9805
  436. data/assets/_vendor/tinymce/plugins/table/plugin.min.js +1 -1
  437. data/assets/_vendor/tinymce/plugins/template/plugin.js +305 -311
  438. data/assets/_vendor/tinymce/plugins/template/plugin.min.js +1 -1
  439. data/assets/_vendor/tinymce/plugins/textcolor/plugin.js +317 -317
  440. data/assets/_vendor/tinymce/plugins/textpattern/plugin.js +575 -329
  441. data/assets/_vendor/tinymce/plugins/textpattern/plugin.min.js +1 -1
  442. data/assets/_vendor/tinymce/plugins/toc/plugin.js +201 -201
  443. data/assets/_vendor/tinymce/plugins/visualblocks/plugin.js +113 -113
  444. data/assets/_vendor/tinymce/plugins/visualchars/plugin.js +419 -471
  445. data/assets/_vendor/tinymce/plugins/visualchars/plugin.min.js +1 -1
  446. data/assets/_vendor/tinymce/plugins/wordcount/plugin.js +371 -308
  447. data/assets/_vendor/tinymce/plugins/wordcount/plugin.min.js +1 -1
  448. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  449. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.svg +1 -0
  450. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  451. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  452. data/assets/_vendor/tinymce/skins/lightgray/skin.min.css +1 -1
  453. data/assets/_vendor/tinymce/themes/inlite/theme.js +9272 -9686
  454. data/assets/_vendor/tinymce/themes/inlite/theme.min.js +1 -1
  455. data/assets/_vendor/tinymce/themes/mobile/theme.js +12130 -13042
  456. data/assets/_vendor/tinymce/themes/mobile/theme.min.js +1 -1
  457. data/assets/_vendor/tinymce/themes/modern/theme.js +9090 -9504
  458. data/assets/_vendor/tinymce/themes/modern/theme.min.js +1 -1
  459. data/assets/_vendor/tinymce/tinymce.js +24914 -25218
  460. data/assets/bedrock/js/bedrock.js +1 -1
  461. data/assets/bedrock/scss/components/no-content.scss +5 -0
  462. data/assets/bedrock/scss/components/select-box.scss +1 -1
  463. data/lib/bedrock_sass.rb +51 -16
  464. data/lib/bedrock_sass/engine.rb +3 -2
  465. data/lib/bedrock_sass/version.rb +1 -1
  466. metadata +17 -7
@@ -1 +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")})}();
1
+ !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return function(){return e}};function c(r){for(var o=[],e=1;e<arguments.length;e++)o[e-1]=arguments[e];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=o.concat(e);return r.apply(null,n)}}var n,r,o,a,i,l,u=t(!1),s=t(!0),m=u,f=s,d=function(){return p},p=(a={fold:function(e,t){return e()},is:m,isSome:m,isNone:f,getOr:o=function(e){return e},getOrThunk:r=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:o,orThunk:r,map:d,ap:d,each:function(){},bind:d,flatten:d,exists:m,forall:f,filter:d,equals:n=function(e){return e.isNone()},equals_:n,toArray:function(){return[]},toString:t("none()")},Object.freeze&&Object.freeze(a),a),y=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:f,isNone:m,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return y(e(n))},ap:function(e){return e.fold(d,function(e){return y(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(m,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return o},h={some:y,none:d,from:function(e){return null===e||e===undefined?p:y(e)}},g=(i="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)===i}),k=(l=Array.prototype.indexOf)===undefined?function(e,t){return x(e,t)}:function(e,t){return l.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},C=(Array.prototype.slice,g(Array.from)&&Array.from,tinymce.util.Tools.resolve("tinymce.util.I18n")),w=tinymce.util.Tools.resolve("tinymce.Env"),A=w.mac?"\u2318":"Ctrl",S=w.mac?"Ctrl + Alt":"Shift + Alt",O={shortcuts:[{shortcut:A+" + B",action:"Bold"},{shortcut:A+" + I",action:"Italic"},{shortcut:A+" + U",action:"Underline"},{shortcut:A+" + A",action:"Select all"},{shortcut:A+" + Y or "+A+" + Shift + Z",action:"Redo"},{shortcut:A+" + 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 + F9",action:"Focus to contextual toolbar"},{shortcut:A+" + K",action:"Insert link (if link plugin activated)"},{shortcut:A+" + S",action:"Save (if save plugin activated)"},{shortcut:A+" + F",action:"Find (if searchreplace plugin activated)"}]},T=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>'+C.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>'+C.translate("Action")+"</th><th>"+C.translate("Shortcut")+"</th></thead>"+e+"</table></div>"}]}},P=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 h.some(o)}return h.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=P((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,e)}))),a=b(o,function(e){return"<li>"+F(t,e)+"</li>"}),i=a.length,l=a.join("");return"<p><b>"+C.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>'+C.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">'+C.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:C.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:[T(),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)})};e.add("help",function(e,t){N(e,t),B(e,t),e.shortcuts.add("Alt+0","Open help dialog","mceHelp")})}();
@@ -1,39 +1,39 @@
1
1
  (function () {
2
2
  var hr = (function () {
3
- 'use strict';
3
+ 'use strict';
4
4
 
5
- var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
5
+ var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
6
6
 
7
- var register = function (editor) {
8
- editor.addCommand('InsertHorizontalRule', function () {
9
- editor.execCommand('mceInsertContent', false, '<hr />');
10
- });
11
- };
12
- var $_7m2n29cmjm0ofyjv = { register: register };
7
+ var register = function (editor) {
8
+ editor.addCommand('InsertHorizontalRule', function () {
9
+ editor.execCommand('mceInsertContent', false, '<hr />');
10
+ });
11
+ };
12
+ var Commands = { register: register };
13
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 };
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 Buttons = { register: register$1 };
28
28
 
29
- global.add('hr', function (editor) {
30
- $_7m2n29cmjm0ofyjv.register(editor);
31
- $_ubzb3cnjm0ofyjw.register(editor);
32
- });
33
- function Plugin () {
34
- }
29
+ global.add('hr', function (editor) {
30
+ Commands.register(editor);
31
+ Buttons.register(editor);
32
+ });
33
+ function Plugin () {
34
+ }
35
35
 
36
- return Plugin;
36
+ return Plugin;
37
37
 
38
38
  }());
39
39
  })();
@@ -1,1211 +1,1204 @@
1
1
  (function () {
2
2
  var image = (function () {
3
- 'use strict';
3
+ 'use strict';
4
4
 
5
- var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
5
+ var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
6
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
- };
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 Settings = {
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
65
 
66
- var Global = typeof window !== 'undefined' ? window : Function('return this;')();
66
+ var Global = typeof window !== 'undefined' ? window : Function('return this;')();
67
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
- };
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
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 };
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 Global$1 = { getOrDie: getOrDie };
89
89
 
90
- function FileReader () {
91
- var f = $_6o5ihacvjm0ofykl.getOrDie('FileReader');
92
- return new f();
93
- }
90
+ function FileReader () {
91
+ var f = Global$1.getOrDie('FileReader');
92
+ return new f();
93
+ }
94
94
 
95
- var global$1 = tinymce.util.Tools.resolve('tinymce.util.Promise');
95
+ var global$1 = tinymce.util.Tools.resolve('tinymce.util.Promise');
96
96
 
97
- var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
97
+ var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
98
98
 
99
- var global$3 = tinymce.util.Tools.resolve('tinymce.util.XHR');
99
+ var global$3 = tinymce.util.Tools.resolve('tinymce.util.XHR');
100
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);
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);
141
109
  }
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];
110
+ callback({
111
+ width: width,
112
+ height: height
113
+ });
187
114
  }
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));
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];
199
187
  }
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();
188
+ delete css.margin;
213
189
  }
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
190
+ return css;
191
+ };
192
+ var createImageList = function (editor, callback) {
193
+ var imageList = Settings.getImageList(editor);
194
+ if (typeof imageList === 'string') {
195
+ global$3.send({
196
+ url: imageList,
197
+ success: function (text) {
198
+ callback(JSON.parse(text));
199
+ }
220
200
  });
201
+ } else if (typeof imageList === 'function') {
202
+ imageList(callback);
203
+ } else {
204
+ callback(imageList);
221
205
  }
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);
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 && Settings.hasDimensions(editor)) {
217
+ editor.dom.setAttribs(imgElm, {
218
+ width: imgElm.clientWidth,
219
+ height: imgElm.clientHeight
220
+ });
221
+ }
222
+ selectImage();
234
223
  };
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
- };
224
+ imgElm.onerror = selectImage;
225
+ };
226
+ var blobToDataUri = function (blob) {
227
+ return new global$1(function (resolve, reject) {
228
+ var reader = FileReader();
229
+ reader.onload = function () {
230
+ resolve(reader.result);
231
+ };
232
+ reader.onerror = function () {
233
+ reject(reader.error.message);
234
+ };
235
+ reader.readAsDataURL(blob);
236
+ });
237
+ };
238
+ var Utils = {
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
248
 
249
- var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
249
+ var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
250
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;
251
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
252
+ var shallow = function (old, nu) {
253
+ return nu;
271
254
  };
272
- };
273
-
274
- var merge = baseMerge(shallow);
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
+ var merge = baseMerge(shallow);
275
274
 
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);
275
+ var DOM = global$4.DOM;
276
+ var getHspace = function (image) {
277
+ if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {
278
+ return Utils.removePixelSuffix(image.style.marginLeft);
348
279
  } else {
349
- setAttrib(image, name$$1, value);
280
+ return '';
350
281
  }
351
282
  };
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();
283
+ var getVspace = function (image) {
284
+ if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {
285
+ return Utils.removePixelSuffix(image.style.marginTop);
286
+ } else {
287
+ return '';
539
288
  }
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);
289
+ };
290
+ var getBorder = function (image) {
291
+ if (image.style.borderWidth) {
292
+ return Utils.removePixelSuffix(image.style.borderWidth);
562
293
  } else {
563
- deleteImage(editor, image);
294
+ return '';
564
295
  }
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;
296
+ };
297
+ var getAttrib = function (image, name$$1) {
298
+ if (image.hasAttribute(name$$1)) {
299
+ return image.getAttribute(name$$1);
300
+ } else {
301
+ return '';
576
302
  }
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']));
303
+ };
304
+ var getStyle = function (image, name$$1) {
305
+ return image.style[name$$1] ? image.style[name$$1] : '';
306
+ };
307
+ var hasCaption = function (image) {
308
+ return image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';
309
+ };
310
+ var setAttrib = function (image, name$$1, value) {
311
+ image.setAttribute(name$$1, value);
312
+ };
313
+ var wrapInFigure = function (image) {
314
+ var figureElm = DOM.create('figure', { class: 'image' });
315
+ DOM.insertAfter(figureElm, image);
316
+ figureElm.appendChild(image);
317
+ figureElm.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption'));
318
+ figureElm.contentEditable = 'false';
319
+ };
320
+ var removeFigure = function (image) {
321
+ var figureElm = image.parentNode;
322
+ DOM.insertAfter(image, figureElm);
323
+ DOM.remove(figureElm);
324
+ };
325
+ var toggleCaption = function (image) {
326
+ if (hasCaption(image)) {
327
+ removeFigure(image);
328
+ } else {
329
+ wrapInFigure(image);
330
+ }
331
+ };
332
+ var normalizeStyle = function (image, normalizeCss) {
333
+ var attrValue = image.getAttribute('style');
334
+ var value = normalizeCss(attrValue !== null ? attrValue : '');
335
+ if (value.length > 0) {
336
+ image.setAttribute('style', value);
337
+ image.setAttribute('data-mce-style', value);
338
+ } else {
339
+ image.removeAttribute('style');
340
+ }
341
+ };
342
+ var setSize = function (name$$1, normalizeCss) {
343
+ return function (image, name$$1, value) {
344
+ if (image.style[name$$1]) {
345
+ image.style[name$$1] = Utils.addPixelSuffix(value);
346
+ normalizeStyle(image, normalizeCss);
590
347
  } else {
591
- rootControl.find('#hspace').value('');
348
+ setAttrib(image, name$$1, value);
592
349
  }
350
+ };
351
+ };
352
+ var getSize = function (image, name$$1) {
353
+ if (image.style[name$$1]) {
354
+ return Utils.removePixelSuffix(image.style[name$$1]);
355
+ } else {
356
+ return getAttrib(image, name$$1);
357
+ }
358
+ };
359
+ var setHspace = function (image, value) {
360
+ var pxValue = Utils.addPixelSuffix(value);
361
+ image.style.marginLeft = pxValue;
362
+ image.style.marginRight = pxValue;
363
+ };
364
+ var setVspace = function (image, value) {
365
+ var pxValue = Utils.addPixelSuffix(value);
366
+ image.style.marginTop = pxValue;
367
+ image.style.marginBottom = pxValue;
368
+ };
369
+ var setBorder = function (image, value) {
370
+ var pxValue = Utils.addPixelSuffix(value);
371
+ image.style.borderWidth = pxValue;
372
+ };
373
+ var setBorderStyle = function (image, value) {
374
+ image.style.borderStyle = value;
375
+ };
376
+ var getBorderStyle = function (image) {
377
+ return getStyle(image, 'borderStyle');
378
+ };
379
+ var isFigure = function (elm) {
380
+ return elm.nodeName === 'FIGURE';
381
+ };
382
+ var defaultData = function () {
383
+ return {
384
+ src: '',
385
+ alt: '',
386
+ title: '',
387
+ width: '',
388
+ height: '',
389
+ class: '',
390
+ style: '',
391
+ caption: false,
392
+ hspace: '',
393
+ vspace: '',
394
+ border: '',
395
+ borderStyle: ''
396
+ };
397
+ };
398
+ var getStyleValue = function (normalizeCss, data) {
399
+ var image = document.createElement('img');
400
+ setAttrib(image, 'style', data.style);
401
+ if (getHspace(image) || data.hspace !== '') {
402
+ setHspace(image, data.hspace);
403
+ }
404
+ if (getVspace(image) || data.vspace !== '') {
405
+ setVspace(image, data.vspace);
406
+ }
407
+ if (getBorder(image) || data.border !== '') {
408
+ setBorder(image, data.border);
409
+ }
410
+ if (getBorderStyle(image) || data.borderStyle !== '') {
411
+ setBorderStyle(image, data.borderStyle);
412
+ }
413
+ return normalizeCss(image.getAttribute('style'));
414
+ };
415
+ var create = function (normalizeCss, data) {
416
+ var image = document.createElement('img');
417
+ write(normalizeCss, merge(data, { caption: false }), image);
418
+ setAttrib(image, 'alt', data.alt);
419
+ if (data.caption) {
420
+ var figure = DOM.create('figure', { class: 'image' });
421
+ figure.appendChild(image);
422
+ figure.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption'));
423
+ figure.contentEditable = 'false';
424
+ return figure;
425
+ } else {
426
+ return image;
593
427
  }
594
- if (css['border-width']) {
595
- rootControl.find('#border').value($_5pkwh7ctjm0ofykd.removePixelSuffix(css['border-width']));
428
+ };
429
+ var read = function (normalizeCss, image) {
430
+ return {
431
+ src: getAttrib(image, 'src'),
432
+ alt: getAttrib(image, 'alt'),
433
+ title: getAttrib(image, 'title'),
434
+ width: getSize(image, 'width'),
435
+ height: getSize(image, 'height'),
436
+ class: getAttrib(image, 'class'),
437
+ style: normalizeCss(getAttrib(image, 'style')),
438
+ caption: hasCaption(image),
439
+ hspace: getHspace(image),
440
+ vspace: getVspace(image),
441
+ border: getBorder(image),
442
+ borderStyle: getStyle(image, 'borderStyle')
443
+ };
444
+ };
445
+ var updateProp = function (image, oldData, newData, name$$1, set) {
446
+ if (newData[name$$1] !== oldData[name$$1]) {
447
+ set(image, name$$1, newData[name$$1]);
448
+ }
449
+ };
450
+ var normalized = function (set, normalizeCss) {
451
+ return function (image, name$$1, value) {
452
+ set(image, value);
453
+ normalizeStyle(image, normalizeCss);
454
+ };
455
+ };
456
+ var write = function (normalizeCss, newData, image) {
457
+ var oldData = read(normalizeCss, image);
458
+ updateProp(image, oldData, newData, 'caption', function (image, _name, _value) {
459
+ return toggleCaption(image);
460
+ });
461
+ updateProp(image, oldData, newData, 'src', setAttrib);
462
+ updateProp(image, oldData, newData, 'alt', setAttrib);
463
+ updateProp(image, oldData, newData, 'title', setAttrib);
464
+ updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));
465
+ updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));
466
+ updateProp(image, oldData, newData, 'class', setAttrib);
467
+ updateProp(image, oldData, newData, 'style', normalized(function (image, value) {
468
+ return setAttrib(image, 'style', value);
469
+ }, normalizeCss));
470
+ updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));
471
+ updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));
472
+ updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));
473
+ updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));
474
+ };
475
+
476
+ var normalizeCss = function (editor, cssText) {
477
+ var css = editor.dom.styles.parse(cssText);
478
+ var mergedCss = Utils.mergeMargins(css);
479
+ var compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));
480
+ return editor.dom.styles.serialize(compressed);
481
+ };
482
+ var getSelectedImage = function (editor) {
483
+ var imgElm = editor.selection.getNode();
484
+ var figureElm = editor.dom.getParent(imgElm, 'figure.image');
485
+ if (figureElm) {
486
+ return editor.dom.select('img', figureElm)[0];
487
+ }
488
+ if (imgElm && (imgElm.nodeName !== 'IMG' || imgElm.getAttribute('data-mce-object') || imgElm.getAttribute('data-mce-placeholder'))) {
489
+ return null;
490
+ }
491
+ return imgElm;
492
+ };
493
+ var splitTextBlock = function (editor, figure) {
494
+ var dom = editor.dom;
495
+ var textBlock = dom.getParent(figure.parentNode, function (node) {
496
+ return editor.schema.getTextBlockElements()[node.nodeName];
497
+ }, editor.getBody());
498
+ if (textBlock) {
499
+ return dom.split(textBlock, figure);
596
500
  } else {
597
- rootControl.find('#border').value('');
501
+ return figure;
598
502
  }
599
- if (css['border-style']) {
600
- rootControl.find('#borderStyle').value(css['border-style']);
503
+ };
504
+ var readImageDataFromSelection = function (editor) {
505
+ var image = getSelectedImage(editor);
506
+ return image ? read(function (css) {
507
+ return normalizeCss(editor, css);
508
+ }, image) : defaultData();
509
+ };
510
+ var insertImageAtCaret = function (editor, data) {
511
+ var elm = create(function (css) {
512
+ return normalizeCss(editor, css);
513
+ }, data);
514
+ editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');
515
+ editor.focus();
516
+ editor.selection.setContent(elm.outerHTML);
517
+ var insertedElm = editor.dom.select('*[data-mce-id="__mcenew"]')[0];
518
+ editor.dom.setAttrib(insertedElm, 'data-mce-id', null);
519
+ if (isFigure(insertedElm)) {
520
+ var figure = splitTextBlock(editor, insertedElm);
521
+ editor.selection.select(figure);
601
522
  } else {
602
- rootControl.find('#borderStyle').value('');
523
+ editor.selection.select(insertedElm);
603
524
  }
604
- rootControl.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));
605
525
  };
606
- };
607
- var updateStyle = function (editor, win) {
608
- win.find('#style').each(function (ctrl) {
609
- var value = getStyleValue(function (css) {
526
+ var syncSrcAttr = function (editor, image) {
527
+ editor.dom.setAttrib(image, 'src', image.getAttribute('src'));
528
+ };
529
+ var deleteImage = function (editor, image) {
530
+ if (image) {
531
+ var elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;
532
+ editor.dom.remove(elm);
533
+ editor.focus();
534
+ editor.nodeChanged();
535
+ if (editor.dom.isEmpty(editor.getBody())) {
536
+ editor.setContent('');
537
+ editor.selection.setCursorLocation();
538
+ }
539
+ }
540
+ };
541
+ var writeImageDataToSelection = function (editor, data) {
542
+ var image = getSelectedImage(editor);
543
+ write(function (css) {
610
544
  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: {
545
+ }, data, image);
546
+ syncSrcAttr(editor, image);
547
+ if (isFigure(image.parentNode)) {
548
+ var figure = image.parentNode;
549
+ splitTextBlock(editor, figure);
550
+ editor.selection.select(image.parentNode);
551
+ } else {
552
+ editor.selection.select(image);
553
+ Utils.waitLoadImage(editor, data, image);
554
+ }
555
+ };
556
+ var insertOrUpdateImage = function (editor, data) {
557
+ var image = getSelectedImage(editor);
558
+ if (image) {
559
+ if (data.src) {
560
+ writeImageDataToSelection(editor, data);
561
+ } else {
562
+ deleteImage(editor, image);
563
+ }
564
+ } else if (data.src) {
565
+ insertImageAtCaret(editor, data);
566
+ }
567
+ };
568
+
569
+ var updateVSpaceHSpaceBorder = function (editor) {
570
+ return function (evt) {
571
+ var dom = editor.dom;
572
+ var rootControl = evt.control.rootControl;
573
+ if (!Settings.hasAdvTab(editor)) {
574
+ return;
575
+ }
576
+ var data = rootControl.toJSON();
577
+ var css = dom.parseStyle(data.style);
578
+ rootControl.find('#vspace').value('');
579
+ rootControl.find('#hspace').value('');
580
+ css = Utils.mergeMargins(css);
581
+ if (css['margin-top'] && css['margin-bottom'] || css['margin-right'] && css['margin-left']) {
582
+ if (css['margin-top'] === css['margin-bottom']) {
583
+ rootControl.find('#vspace').value(Utils.removePixelSuffix(css['margin-top']));
584
+ } else {
585
+ rootControl.find('#vspace').value('');
586
+ }
587
+ if (css['margin-right'] === css['margin-left']) {
588
+ rootControl.find('#hspace').value(Utils.removePixelSuffix(css['margin-right']));
589
+ } else {
590
+ rootControl.find('#hspace').value('');
591
+ }
592
+ }
593
+ if (css['border-width']) {
594
+ rootControl.find('#border').value(Utils.removePixelSuffix(css['border-width']));
595
+ } else {
596
+ rootControl.find('#border').value('');
597
+ }
598
+ if (css['border-style']) {
599
+ rootControl.find('#borderStyle').value(css['border-style']);
600
+ } else {
601
+ rootControl.find('#borderStyle').value('');
602
+ }
603
+ rootControl.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));
604
+ };
605
+ };
606
+ var updateStyle = function (editor, win) {
607
+ win.find('#style').each(function (ctrl) {
608
+ var value = getStyleValue(function (css) {
609
+ return normalizeCss(editor, css);
610
+ }, merge(defaultData(), win.toJSON()));
611
+ ctrl.value(value);
612
+ });
613
+ };
614
+ var makeTab = function (editor) {
615
+ return {
616
+ title: 'Advanced',
617
+ type: 'form',
618
+ pack: 'start',
619
+ items: [
620
+ {
621
+ label: 'Style',
622
+ name: 'style',
634
623
  type: 'textbox',
635
- maxWidth: 50,
636
- onchange: function (evt) {
637
- updateStyle(editor, evt.control.rootControl);
638
- }
624
+ onchange: updateVSpaceHSpaceBorder(editor)
639
625
  },
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) {
626
+ {
627
+ type: 'form',
628
+ layout: 'grid',
629
+ packV: 'start',
630
+ columns: 2,
631
+ padding: 0,
632
+ defaults: {
633
+ type: 'textbox',
634
+ maxWidth: 50,
635
+ onchange: function (evt) {
660
636
  updateStyle(editor, evt.control.rootControl);
637
+ }
638
+ },
639
+ items: [
640
+ {
641
+ label: 'Vertical space',
642
+ name: 'vspace'
661
643
  },
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'
644
+ {
645
+ label: 'Border width',
646
+ name: 'border'
647
+ },
648
+ {
649
+ label: 'Horizontal space',
650
+ name: 'hspace'
651
+ },
652
+ {
653
+ label: 'Border style',
654
+ type: 'listbox',
655
+ name: 'borderStyle',
656
+ width: 90,
657
+ maxWidth: 90,
658
+ onselect: function (evt) {
659
+ updateStyle(editor, evt.control.rootControl);
702
660
  },
703
- {
704
- text: 'Hidden',
705
- value: 'hidden'
706
- }
707
- ]
708
- }
709
- ]
710
- }
711
- ]
661
+ values: [
662
+ {
663
+ text: 'Select...',
664
+ value: ''
665
+ },
666
+ {
667
+ text: 'Solid',
668
+ value: 'solid'
669
+ },
670
+ {
671
+ text: 'Dotted',
672
+ value: 'dotted'
673
+ },
674
+ {
675
+ text: 'Dashed',
676
+ value: 'dashed'
677
+ },
678
+ {
679
+ text: 'Double',
680
+ value: 'double'
681
+ },
682
+ {
683
+ text: 'Groove',
684
+ value: 'groove'
685
+ },
686
+ {
687
+ text: 'Ridge',
688
+ value: 'ridge'
689
+ },
690
+ {
691
+ text: 'Inset',
692
+ value: 'inset'
693
+ },
694
+ {
695
+ text: 'Outset',
696
+ value: 'outset'
697
+ },
698
+ {
699
+ text: 'None',
700
+ value: 'none'
701
+ },
702
+ {
703
+ text: 'Hidden',
704
+ value: 'hidden'
705
+ }
706
+ ]
707
+ }
708
+ ]
709
+ }
710
+ ]
711
+ };
712
712
  };
713
- };
714
- var $_bc3dkmd2jm0ofylg = { makeTab: makeTab };
713
+ var AdvTab = { makeTab: makeTab };
715
714
 
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);
715
+ var doSyncSize = function (widthCtrl, heightCtrl) {
716
+ widthCtrl.state.set('oldVal', widthCtrl.value());
717
+ heightCtrl.state.set('oldVal', heightCtrl.value());
718
+ };
719
+ var doSizeControls = function (win, f) {
720
+ var widthCtrl = win.find('#width')[0];
721
+ var heightCtrl = win.find('#height')[0];
722
+ var constrained = win.find('#constrain')[0];
723
+ if (widthCtrl && heightCtrl && constrained) {
724
+ f(widthCtrl, heightCtrl, constrained.checked());
725
+ }
726
+ };
727
+ var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) {
728
+ var oldWidth = widthCtrl.state.get('oldVal');
729
+ var oldHeight = heightCtrl.state.get('oldVal');
730
+ var newWidth = widthCtrl.value();
731
+ var newHeight = heightCtrl.value();
732
+ if (isContrained && oldWidth && oldHeight && newWidth && newHeight) {
733
+ if (newWidth !== oldWidth) {
734
+ newHeight = Math.round(newWidth / oldWidth * newHeight);
735
+ if (!isNaN(newHeight)) {
736
+ heightCtrl.value(newHeight);
737
+ }
738
+ } else {
739
+ newWidth = Math.round(newHeight / oldHeight * newWidth);
740
+ if (!isNaN(newWidth)) {
741
+ widthCtrl.value(newWidth);
742
+ }
738
743
  }
739
- } else {
740
- newWidth = Math.round(newHeight / oldHeight * newWidth);
741
- if (!isNaN(newWidth)) {
742
- widthCtrl.value(newWidth);
744
+ }
745
+ doSyncSize(widthCtrl, heightCtrl);
746
+ };
747
+ var syncSize = function (win) {
748
+ doSizeControls(win, doSyncSize);
749
+ };
750
+ var updateSize = function (win) {
751
+ doSizeControls(win, doUpdateSize);
752
+ };
753
+ var createUi = function () {
754
+ var recalcSize = function (evt) {
755
+ updateSize(evt.control.rootControl);
756
+ };
757
+ return {
758
+ type: 'container',
759
+ label: 'Dimensions',
760
+ layout: 'flex',
761
+ align: 'center',
762
+ spacing: 5,
763
+ items: [
764
+ {
765
+ name: 'width',
766
+ type: 'textbox',
767
+ maxLength: 5,
768
+ size: 5,
769
+ onchange: recalcSize,
770
+ ariaLabel: 'Width'
771
+ },
772
+ {
773
+ type: 'label',
774
+ text: 'x'
775
+ },
776
+ {
777
+ name: 'height',
778
+ type: 'textbox',
779
+ maxLength: 5,
780
+ size: 5,
781
+ onchange: recalcSize,
782
+ ariaLabel: 'Height'
783
+ },
784
+ {
785
+ name: 'constrain',
786
+ type: 'checkbox',
787
+ checked: true,
788
+ text: 'Constrain proportions'
789
+ }
790
+ ]
791
+ };
792
+ };
793
+ var SizeManager = {
794
+ createUi: createUi,
795
+ syncSize: syncSize,
796
+ updateSize: updateSize
797
+ };
798
+
799
+ var onSrcChange = function (evt, editor) {
800
+ var srcURL, prependURL, absoluteURLPattern;
801
+ var meta = evt.meta || {};
802
+ var control = evt.control;
803
+ var rootControl = control.rootControl;
804
+ var imageListCtrl = rootControl.find('#image-list')[0];
805
+ if (imageListCtrl) {
806
+ imageListCtrl.value(editor.convertURL(control.value(), 'src'));
807
+ }
808
+ global$2.each(meta, function (value, key) {
809
+ rootControl.find('#' + key).value(value);
810
+ });
811
+ if (!meta.width && !meta.height) {
812
+ srcURL = editor.convertURL(control.value(), 'src');
813
+ prependURL = Settings.getPrependUrl(editor);
814
+ absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i');
815
+ if (prependURL && !absoluteURLPattern.test(srcURL) && srcURL.substring(0, prependURL.length) !== prependURL) {
816
+ srcURL = prependURL + srcURL;
743
817
  }
818
+ control.value(srcURL);
819
+ Utils.getImageSize(editor.documentBaseURI.toAbsolute(control.value()), function (data) {
820
+ if (data.width && data.height && Settings.hasDimensions(editor)) {
821
+ rootControl.find('#width').value(data.width);
822
+ rootControl.find('#height').value(data.height);
823
+ SizeManager.syncSize(rootControl);
824
+ }
825
+ });
744
826
  }
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
- },
827
+ };
828
+ var onBeforeCall = function (evt) {
829
+ evt.meta = evt.control.rootControl.toJSON();
830
+ };
831
+ var getGeneralItems = function (editor, imageListCtrl) {
832
+ var generalFormItems = [
773
833
  {
774
- type: 'label',
775
- text: 'x'
834
+ name: 'src',
835
+ type: 'filepicker',
836
+ filetype: 'image',
837
+ label: 'Source',
838
+ autofocus: true,
839
+ onchange: function (evt) {
840
+ onSrcChange(evt, editor);
841
+ },
842
+ onbeforecall: onBeforeCall
776
843
  },
777
- {
778
- name: 'height',
844
+ imageListCtrl
845
+ ];
846
+ if (Settings.hasDescription(editor)) {
847
+ generalFormItems.push({
848
+ name: 'alt',
779
849
  type: 'textbox',
780
- maxLength: 5,
781
- size: 5,
782
- onchange: recalcSize,
783
- ariaLabel: 'Height'
784
- },
785
- {
786
- name: 'constrain',
850
+ label: 'Image description'
851
+ });
852
+ }
853
+ if (Settings.hasImageTitle(editor)) {
854
+ generalFormItems.push({
855
+ name: 'title',
856
+ type: 'textbox',
857
+ label: 'Image Title'
858
+ });
859
+ }
860
+ if (Settings.hasDimensions(editor)) {
861
+ generalFormItems.push(SizeManager.createUi());
862
+ }
863
+ if (Settings.getClassList(editor)) {
864
+ generalFormItems.push({
865
+ name: 'class',
866
+ type: 'listbox',
867
+ label: 'Class',
868
+ values: Utils.buildListItems(Settings.getClassList(editor), function (item) {
869
+ if (item.value) {
870
+ item.textStyle = function () {
871
+ return editor.formatter.getCssText({
872
+ inline: 'img',
873
+ classes: [item.value]
874
+ });
875
+ };
876
+ }
877
+ })
878
+ });
879
+ }
880
+ if (Settings.hasImageCaption(editor)) {
881
+ generalFormItems.push({
882
+ name: 'caption',
787
883
  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;
884
+ label: 'Caption'
885
+ });
818
886
  }
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
- };
887
+ return generalFormItems;
888
+ };
889
+ var makeTab$1 = function (editor, imageListCtrl) {
890
+ return {
891
+ title: 'General',
892
+ type: 'form',
893
+ items: getGeneralItems(editor, imageListCtrl)
894
+ };
895
+ };
896
+ var MainTab = {
897
+ makeTab: makeTab$1,
898
+ getGeneralItems: getGeneralItems
899
+ };
915
900
 
916
- var global$5 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
901
+ var url = function () {
902
+ return Global$1.getOrDie('URL');
903
+ };
904
+ var createObjectURL = function (blob) {
905
+ return url().createObjectURL(blob);
906
+ };
907
+ var revokeObjectURL = function (u) {
908
+ url().revokeObjectURL(u);
909
+ };
910
+ var URL = {
911
+ createObjectURL: createObjectURL,
912
+ revokeObjectURL: revokeObjectURL
913
+ };
917
914
 
918
- function XMLHttpRequest () {
919
- var f = $_6o5ihacvjm0ofykl.getOrDie('XMLHttpRequest');
920
- return new f();
921
- }
915
+ var global$5 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
922
916
 
923
- var noop = function () {
924
- };
925
- var pathJoin = function (path1, path2) {
926
- if (path1) {
927
- return path1.replace(/\/$/, '') + '/' + path2.replace(/^\//, '');
917
+ function XMLHttpRequest () {
918
+ var f = Global$1.getOrDie('XMLHttpRequest');
919
+ return new f();
928
920
  }
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);
921
+
922
+ var noop = function () {
923
+ };
924
+ var pathJoin = function (path1, path2) {
925
+ if (path1) {
926
+ return path1.replace(/\/$/, '') + '/' + path2.replace(/^\//, '');
927
+ }
928
+ return path2;
929
+ };
930
+ function Uploader (settings) {
931
+ var defaultHandler = function (blobInfo, success, failure, progress) {
932
+ var xhr, formData;
933
+ xhr = XMLHttpRequest();
934
+ xhr.open('POST', settings.url);
935
+ xhr.withCredentials = settings.credentials;
936
+ xhr.upload.onprogress = function (e) {
937
+ progress(e.loaded / e.total * 100);
938
+ };
939
+ xhr.onerror = function () {
940
+ failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);
941
+ };
942
+ xhr.onload = function () {
943
+ var json;
944
+ if (xhr.status < 200 || xhr.status >= 300) {
945
+ failure('HTTP Error: ' + xhr.status);
946
+ return;
947
+ }
948
+ json = JSON.parse(xhr.responseText);
949
+ if (!json || typeof json.location !== 'string') {
950
+ failure('Invalid JSON: ' + xhr.responseText);
951
+ return;
952
+ }
953
+ success(pathJoin(settings.basePath, json.location));
954
+ };
955
+ formData = new FormData();
956
+ formData.append('file', blobInfo.blob(), blobInfo.filename());
957
+ xhr.send(formData);
939
958
  };
940
- xhr.onerror = function () {
941
- failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);
959
+ var uploadBlob = function (blobInfo, handler) {
960
+ return new global$1(function (resolve, reject) {
961
+ try {
962
+ handler(blobInfo, resolve, reject, noop);
963
+ } catch (ex) {
964
+ reject(ex.message);
965
+ }
966
+ });
942
967
  };
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));
968
+ var isDefaultHandler = function (handler) {
969
+ return handler === defaultHandler;
955
970
  };
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);
971
+ var upload = function (blobInfo) {
972
+ return !settings.url && isDefaultHandler(settings.handler) ? global$1.reject('Upload url missing from the settings.') : uploadBlob(blobInfo, settings.handler);
998
973
  };
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]
974
+ settings = global$2.extend({
975
+ credentials: false,
976
+ handler: defaultHandler
977
+ }, settings);
978
+ return { upload: upload };
979
+ }
980
+
981
+ var onFileInput = function (editor) {
982
+ return function (evt) {
983
+ var Throbber = global$5.get('Throbber');
984
+ var rootControl = evt.control.rootControl;
985
+ var throbber = new Throbber(rootControl.getEl());
986
+ var file = evt.control.value();
987
+ var blobUri = URL.createObjectURL(file);
988
+ var uploader = Uploader({
989
+ url: Settings.getUploadUrl(editor),
990
+ basePath: Settings.getUploadBasePath(editor),
991
+ credentials: Settings.getUploadCredentials(editor),
992
+ handler: Settings.getUploadHandler(editor)
1006
993
  });
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');
994
+ var finalize = function () {
995
+ throbber.hide();
996
+ URL.revokeObjectURL(blobUri);
997
+ };
998
+ throbber.show();
999
+ return Utils.blobToDataUri(file).then(function (dataUrl) {
1000
+ var blobInfo = editor.editorUpload.blobCache.create({
1001
+ blob: file,
1002
+ blobUri: blobUri,
1003
+ name: file.name ? file.name.replace(/\.[^\.]+$/, '') : null,
1004
+ base64: dataUrl.split(',')[1]
1005
+ });
1006
+ return uploader.upload(blobInfo).then(function (url) {
1007
+ var src = rootControl.find('#src');
1008
+ src.value(url);
1009
+ rootControl.find('tabpanel')[0].activateTab(0);
1010
+ src.fire('change');
1011
+ finalize();
1012
+ return url;
1013
+ });
1014
+ }).catch(function (err) {
1015
+ editor.windowManager.alert(err);
1012
1016
  finalize();
1013
- return url;
1014
1017
  });
1015
- }).catch(function (err) {
1016
- editor.windowManager.alert(err);
1017
- finalize();
1018
- });
1018
+ };
1019
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
- ]
1020
+ var acceptExts = '.jpg,.jpeg,.png,.gif';
1021
+ var makeTab$2 = function (editor) {
1022
+ return {
1023
+ title: 'Upload',
1024
+ type: 'form',
1025
+ layout: 'flex',
1026
+ direction: 'column',
1027
+ align: 'stretch',
1028
+ padding: '20 20 20 20',
1029
+ items: [
1030
+ {
1031
+ type: 'container',
1032
+ layout: 'flex',
1033
+ direction: 'column',
1034
+ align: 'center',
1035
+ spacing: 10,
1036
+ items: [
1037
+ {
1038
+ text: 'Browse for an image',
1039
+ type: 'browsebutton',
1040
+ accept: acceptExts,
1041
+ onchange: onFileInput(editor)
1042
+ },
1043
+ {
1044
+ text: 'OR',
1045
+ type: 'label'
1046
+ }
1047
+ ]
1048
+ },
1049
+ {
1050
+ text: 'Drop an image here',
1051
+ type: 'dropzone',
1052
+ accept: acceptExts,
1053
+ height: 100,
1054
+ onchange: onFileInput(editor)
1055
+ }
1056
+ ]
1057
+ };
1058
1058
  };
1059
- };
1060
- var $_a17nn8dajm0ofym8 = { makeTab: makeTab$2 };
1059
+ var UploadTab = { makeTab: makeTab$2 };
1061
1060
 
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];
1061
+ function curry(fn) {
1062
+ var initialArgs = [];
1063
+ for (var _i = 1; _i < arguments.length; _i++) {
1064
+ initialArgs[_i - 1] = arguments[_i];
1074
1065
  }
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
- };
1066
+ return function () {
1067
+ var restArgs = [];
1068
+ for (var _i = 0; _i < arguments.length; _i++) {
1069
+ restArgs[_i] = arguments[_i];
1070
+ }
1071
+ var all = initialArgs.concat(restArgs);
1072
+ return fn.apply(null, all);
1073
+ };
1074
+ }
1082
1075
 
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());
1076
+ var submitForm = function (editor, evt) {
1077
+ var win = evt.control.getRoot();
1078
+ SizeManager.updateSize(win);
1079
+ editor.undoManager.transact(function () {
1080
+ var data = merge(readImageDataFromSelection(editor), win.toJSON());
1081
+ insertOrUpdateImage(editor, data);
1082
+ });
1083
+ editor.editorUpload.uploadImagesAuto();
1084
+ };
1085
+ function Dialog (editor) {
1086
+ function showDialog(imageList) {
1087
+ var data = readImageDataFromSelection(editor);
1088
+ var win, imageListCtrl;
1089
+ if (imageList) {
1090
+ imageListCtrl = {
1091
+ type: 'listbox',
1092
+ label: 'Image list',
1093
+ name: 'image-list',
1094
+ values: Utils.buildListItems(imageList, function (item) {
1095
+ item.value = editor.convertURL(item.value || item.url, 'src');
1096
+ }, [{
1097
+ text: 'None',
1098
+ value: ''
1099
+ }]),
1100
+ value: data.src && editor.convertURL(data.src, 'src'),
1101
+ onselect: function (e) {
1102
+ var altCtrl = win.find('#alt');
1103
+ if (!altCtrl.value() || e.lastControl && altCtrl.value() === e.lastControl.text()) {
1104
+ altCtrl.value(e.control.text());
1105
+ }
1106
+ win.find('#src').value(e.control.value()).fire('change');
1107
+ },
1108
+ onPostRender: function () {
1109
+ imageListCtrl = this;
1112
1110
  }
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));
1111
+ };
1124
1112
  }
1125
- if ($_95hfkhcsjm0ofyka.hasUploadUrl(editor) || $_95hfkhcsjm0ofyka.hasUploadHandler(editor)) {
1126
- body.push($_a17nn8dajm0ofym8.makeTab(editor));
1113
+ if (Settings.hasAdvTab(editor) || Settings.hasUploadUrl(editor) || Settings.hasUploadHandler(editor)) {
1114
+ var body = [MainTab.makeTab(editor, imageListCtrl)];
1115
+ if (Settings.hasAdvTab(editor)) {
1116
+ body.push(AdvTab.makeTab(editor));
1117
+ }
1118
+ if (Settings.hasUploadUrl(editor) || Settings.hasUploadHandler(editor)) {
1119
+ body.push(UploadTab.makeTab(editor));
1120
+ }
1121
+ win = editor.windowManager.open({
1122
+ title: 'Insert/edit image',
1123
+ data: data,
1124
+ bodyType: 'tabpanel',
1125
+ body: body,
1126
+ onSubmit: curry(submitForm, editor)
1127
+ });
1128
+ } else {
1129
+ win = editor.windowManager.open({
1130
+ title: 'Insert/edit image',
1131
+ data: data,
1132
+ body: MainTab.getGeneralItems(editor, imageListCtrl),
1133
+ onSubmit: curry(submitForm, editor)
1134
+ });
1127
1135
  }
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
- });
1136
+ SizeManager.syncSize(win);
1142
1137
  }
1143
- $_4gs98qd9jm0ofym5.syncSize(win);
1144
- }
1145
- function open() {
1146
- $_5pkwh7ctjm0ofykd.createImageList(editor, showDialog);
1138
+ function open() {
1139
+ Utils.createImageList(editor, showDialog);
1140
+ }
1141
+ return { open: open };
1147
1142
  }
1148
- return { open: open };
1149
- }
1150
1143
 
1151
- var register = function (editor) {
1152
- editor.addCommand('mceImage', Dialog(editor).open);
1153
- };
1154
- var $_fd1mcfcqjm0ofyk2 = { register: register };
1144
+ var register = function (editor) {
1145
+ editor.addCommand('mceImage', Dialog(editor).open);
1146
+ };
1147
+ var Commands = { register: register };
1155
1148
 
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);
1149
+ var hasImageClass = function (node) {
1150
+ var className = node.attr('class');
1151
+ return className && /\bimage\b/.test(className);
1152
+ };
1153
+ var toggleContentEditableState = function (state) {
1154
+ return function (nodes) {
1155
+ var i = nodes.length, node;
1156
+ var toggleContentEditable = function (node) {
1157
+ node.attr('contenteditable', state ? 'true' : null);
1158
+ };
1159
+ while (i--) {
1160
+ node = nodes[i];
1161
+ if (hasImageClass(node)) {
1162
+ node.attr('contenteditable', state ? 'false' : null);
1163
+ global$2.each(node.getAll('figcaption'), toggleContentEditable);
1164
+ }
1171
1165
  }
1172
- }
1166
+ };
1173
1167
  };
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 };
1168
+ var setup = function (editor) {
1169
+ editor.on('preInit', function () {
1170
+ editor.parser.addNodeFilter('figure', toggleContentEditableState(true));
1171
+ editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));
1172
+ });
1173
+ };
1174
+ var FilterContent = { setup: setup };
1182
1175
 
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 };
1176
+ var register$1 = function (editor) {
1177
+ editor.addButton('image', {
1178
+ icon: 'image',
1179
+ tooltip: 'Insert/edit image',
1180
+ onclick: Dialog(editor).open,
1181
+ stateSelector: 'img:not([data-mce-object],[data-mce-placeholder]),figure.image'
1182
+ });
1183
+ editor.addMenuItem('image', {
1184
+ icon: 'image',
1185
+ text: 'Image',
1186
+ onclick: Dialog(editor).open,
1187
+ context: 'insert',
1188
+ prependToContext: true
1189
+ });
1190
+ };
1191
+ var Buttons = { register: register$1 };
1199
1192
 
1200
- global.add('image', function (editor) {
1201
- $_9p5qtrdgjm0ofymo.setup(editor);
1202
- $_6f6xo7dhjm0ofymp.register(editor);
1203
- $_fd1mcfcqjm0ofyk2.register(editor);
1204
- });
1205
- function Plugin () {
1206
- }
1193
+ global.add('image', function (editor) {
1194
+ FilterContent.setup(editor);
1195
+ Buttons.register(editor);
1196
+ Commands.register(editor);
1197
+ });
1198
+ function Plugin () {
1199
+ }
1207
1200
 
1208
- return Plugin;
1201
+ return Plugin;
1209
1202
 
1210
1203
  }());
1211
1204
  })();