bedrock_sass 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (534) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -5
  3. data/assets/_vendor/ace/ace.js +21635 -0
  4. data/assets/_vendor/ace/ext-beautify.js +318 -0
  5. data/assets/_vendor/ace/ext-elastic_tabstops_lite.js +277 -0
  6. data/assets/_vendor/ace/ext-emmet.js +1226 -0
  7. data/assets/_vendor/ace/ext-error_marker.js +10 -0
  8. data/assets/_vendor/ace/ext-keybinding_menu.js +189 -0
  9. data/assets/_vendor/ace/ext-language_tools.js +1997 -0
  10. data/assets/_vendor/ace/ext-linking.js +65 -0
  11. data/assets/_vendor/ace/ext-modelist.js +228 -0
  12. data/assets/_vendor/ace/ext-options.js +750 -0
  13. data/assets/_vendor/ace/ext-rtl.js +110 -0
  14. data/assets/_vendor/ace/ext-searchbox.js +512 -0
  15. data/assets/_vendor/ace/ext-settings_menu.js +771 -0
  16. data/assets/_vendor/ace/ext-spellcheck.js +75 -0
  17. data/assets/_vendor/ace/ext-split.js +208 -0
  18. data/assets/_vendor/ace/ext-static_highlight.js +226 -0
  19. data/assets/_vendor/ace/ext-statusbar.js +57 -0
  20. data/assets/_vendor/ace/ext-textarea.js +567 -0
  21. data/assets/_vendor/ace/ext-themelist.js +67 -0
  22. data/assets/_vendor/ace/ext-whitespace.js +210 -0
  23. data/assets/_vendor/ace/keybinding-emacs.js +1165 -0
  24. data/assets/_vendor/ace/keybinding-vim.js +5673 -0
  25. data/assets/_vendor/ace/mode-abap.js +222 -0
  26. data/assets/_vendor/ace/mode-abc.js +267 -0
  27. data/assets/_vendor/ace/mode-actionscript.js +274 -0
  28. data/assets/_vendor/ace/mode-ada.js +138 -0
  29. data/assets/_vendor/ace/mode-apache_conf.js +363 -0
  30. data/assets/_vendor/ace/mode-applescript.js +279 -0
  31. data/assets/_vendor/ace/mode-asciidoc.js +349 -0
  32. data/assets/_vendor/ace/mode-asl.js +422 -0
  33. data/assets/_vendor/ace/mode-assembly_x86.js +193 -0
  34. data/assets/_vendor/ace/mode-autohotkey.js +243 -0
  35. data/assets/_vendor/ace/mode-batchfile.js +230 -0
  36. data/assets/_vendor/ace/mode-bro.js +334 -0
  37. data/assets/_vendor/ace/mode-c9search.js +294 -0
  38. data/assets/_vendor/ace/mode-c_cpp.js +502 -0
  39. data/assets/_vendor/ace/mode-cirru.js +211 -0
  40. data/assets/_vendor/ace/mode-clojure.js +314 -0
  41. data/assets/_vendor/ace/mode-cobol.js +102 -0
  42. data/assets/_vendor/ace/mode-coffee.js +400 -0
  43. data/assets/_vendor/ace/mode-coldfusion.js +2596 -0
  44. data/assets/_vendor/ace/mode-csharp.js +502 -0
  45. data/assets/_vendor/ace/mode-csound_document.js +3749 -0
  46. data/assets/_vendor/ace/mode-csound_orchestra.js +2687 -0
  47. data/assets/_vendor/ace/mode-csound_score.js +454 -0
  48. data/assets/_vendor/ace/mode-csp.js +60 -0
  49. data/assets/_vendor/ace/mode-css.js +723 -0
  50. data/assets/_vendor/ace/mode-curly.js +2564 -0
  51. data/assets/_vendor/ace/mode-d.js +520 -0
  52. data/assets/_vendor/ace/mode-dart.js +703 -0
  53. data/assets/_vendor/ace/mode-diff.js +146 -0
  54. data/assets/_vendor/ace/mode-django.js +2594 -0
  55. data/assets/_vendor/ace/mode-dockerfile.js +498 -0
  56. data/assets/_vendor/ace/mode-dot.js +418 -0
  57. data/assets/_vendor/ace/mode-drools.js +496 -0
  58. data/assets/_vendor/ace/mode-edifact.js +165 -0
  59. data/assets/_vendor/ace/mode-eiffel.js +136 -0
  60. data/assets/_vendor/ace/mode-ejs.js +3026 -0
  61. data/assets/_vendor/ace/mode-elixir.js +501 -0
  62. data/assets/_vendor/ace/mode-elm.js +307 -0
  63. data/assets/_vendor/ace/mode-erlang.js +1009 -0
  64. data/assets/_vendor/ace/mode-forth.js +297 -0
  65. data/assets/_vendor/ace/mode-fortran.js +431 -0
  66. data/assets/_vendor/ace/mode-fsharp.js +314 -0
  67. data/assets/_vendor/ace/mode-ftl.js +1192 -0
  68. data/assets/_vendor/ace/mode-gcode.js +94 -0
  69. data/assets/_vendor/ace/mode-gherkin.js +172 -0
  70. data/assets/_vendor/ace/mode-gitignore.js +60 -0
  71. data/assets/_vendor/ace/mode-glsl.js +579 -0
  72. data/assets/_vendor/ace/mode-gobstones.js +929 -0
  73. data/assets/_vendor/ace/mode-golang.js +414 -0
  74. data/assets/_vendor/ace/mode-graphqlschema.js +214 -0
  75. data/assets/_vendor/ace/mode-groovy.js +986 -0
  76. data/assets/_vendor/ace/mode-haml.js +1555 -0
  77. data/assets/_vendor/ace/mode-handlebars.js +2622 -0
  78. data/assets/_vendor/ace/mode-haskell.js +379 -0
  79. data/assets/_vendor/ace/mode-haskell_cabal.js +142 -0
  80. data/assets/_vendor/ace/mode-haxe.js +386 -0
  81. data/assets/_vendor/ace/mode-hjson.js +353 -0
  82. data/assets/_vendor/ace/mode-html.js +2509 -0
  83. data/assets/_vendor/ace/mode-html_elixir.js +3087 -0
  84. data/assets/_vendor/ace/mode-html_ruby.js +3043 -0
  85. data/assets/_vendor/ace/mode-ini.js +163 -0
  86. data/assets/_vendor/ace/mode-io.js +253 -0
  87. data/assets/_vendor/ace/mode-jack.js +347 -0
  88. data/assets/_vendor/ace/mode-jade.js +2126 -0
  89. data/assets/_vendor/ace/mode-java.js +975 -0
  90. data/assets/_vendor/ace/mode-javascript.js +797 -0
  91. data/assets/_vendor/ace/mode-json.js +327 -0
  92. data/assets/_vendor/ace/mode-jsoniq.js +4940 -0
  93. data/assets/_vendor/ace/mode-jsp.js +1430 -0
  94. data/assets/_vendor/ace/mode-jssm.js +325 -0
  95. data/assets/_vendor/ace/mode-jsx.js +412 -0
  96. data/assets/_vendor/ace/mode-julia.js +303 -0
  97. data/assets/_vendor/ace/mode-kotlin.js +795 -0
  98. data/assets/_vendor/ace/mode-latex.js +297 -0
  99. data/assets/_vendor/ace/mode-less.js +841 -0
  100. data/assets/_vendor/ace/mode-liquid.js +1193 -0
  101. data/assets/_vendor/ace/mode-lisp.js +112 -0
  102. data/assets/_vendor/ace/mode-livescript.js +280 -0
  103. data/assets/_vendor/ace/mode-logiql.js +317 -0
  104. data/assets/_vendor/ace/mode-lsl.js +343 -0
  105. data/assets/_vendor/ace/mode-lua.js +432 -0
  106. data/assets/_vendor/ace/mode-luapage.js +3007 -0
  107. data/assets/_vendor/ace/mode-lucene.js +87 -0
  108. data/assets/_vendor/ace/mode-makefile.js +410 -0
  109. data/assets/_vendor/ace/mode-markdown.js +3189 -0
  110. data/assets/_vendor/ace/mode-mask.js +1802 -0
  111. data/assets/_vendor/ace/mode-matlab.js +264 -0
  112. data/assets/_vendor/ace/mode-maze.js +291 -0
  113. data/assets/_vendor/ace/mode-mel.js +263 -0
  114. data/assets/_vendor/ace/mode-mixal.js +123 -0
  115. data/assets/_vendor/ace/mode-mushcode.js +681 -0
  116. data/assets/_vendor/ace/mode-mysql.js +168 -0
  117. data/assets/_vendor/ace/mode-nix.js +646 -0
  118. data/assets/_vendor/ace/mode-nsis.js +312 -0
  119. data/assets/_vendor/ace/mode-objectivec.js +739 -0
  120. data/assets/_vendor/ace/mode-ocaml.js +422 -0
  121. data/assets/_vendor/ace/mode-pascal.js +205 -0
  122. data/assets/_vendor/ace/mode-perl.js +380 -0
  123. data/assets/_vendor/ace/mode-pgsql.js +1508 -0
  124. data/assets/_vendor/ace/mode-php.js +13088 -0
  125. data/assets/_vendor/ace/mode-php_laravel_blade.js +13289 -0
  126. data/assets/_vendor/ace/mode-pig.js +310 -0
  127. data/assets/_vendor/ace/mode-plain_text.js +33 -0
  128. data/assets/_vendor/ace/mode-powershell.js +418 -0
  129. data/assets/_vendor/ace/mode-praat.js +478 -0
  130. data/assets/_vendor/ace/mode-prolog.js +371 -0
  131. data/assets/_vendor/ace/mode-properties.js +81 -0
  132. data/assets/_vendor/ace/mode-protobuf.js +592 -0
  133. data/assets/_vendor/ace/mode-puppet.js +370 -0
  134. data/assets/_vendor/ace/mode-python.js +273 -0
  135. data/assets/_vendor/ace/mode-r.js +310 -0
  136. data/assets/_vendor/ace/mode-razor.js +2869 -0
  137. data/assets/_vendor/ace/mode-rdoc.js +243 -0
  138. data/assets/_vendor/ace/mode-red.js +450 -0
  139. data/assets/_vendor/ace/mode-redshift.js +361 -0
  140. data/assets/_vendor/ace/mode-rhtml.js +2806 -0
  141. data/assets/_vendor/ace/mode-rst.js +257 -0
  142. data/assets/_vendor/ace/mode-ruby.js +497 -0
  143. data/assets/_vendor/ace/mode-rust.js +279 -0
  144. data/assets/_vendor/ace/mode-sass.js +441 -0
  145. data/assets/_vendor/ace/mode-scad.js +414 -0
  146. data/assets/_vendor/ace/mode-scala.js +982 -0
  147. data/assets/_vendor/ace/mode-scheme.js +232 -0
  148. data/assets/_vendor/ace/mode-scss.js +606 -0
  149. data/assets/_vendor/ace/mode-sh.js +447 -0
  150. data/assets/_vendor/ace/mode-sjs.js +1014 -0
  151. data/assets/_vendor/ace/mode-slim.js +4736 -0
  152. data/assets/_vendor/ace/mode-smarty.js +2635 -0
  153. data/assets/_vendor/ace/mode-snippets.js +207 -0
  154. data/assets/_vendor/ace/mode-soy_template.js +2847 -0
  155. data/assets/_vendor/ace/mode-space.js +168 -0
  156. data/assets/_vendor/ace/mode-sparql.js +320 -0
  157. data/assets/_vendor/ace/mode-sql.js +111 -0
  158. data/assets/_vendor/ace/mode-sqlserver.js +444 -0
  159. data/assets/_vendor/ace/mode-stylus.js +471 -0
  160. data/assets/_vendor/ace/mode-svg.js +1581 -0
  161. data/assets/_vendor/ace/mode-swift.js +390 -0
  162. data/assets/_vendor/ace/mode-tcl.js +383 -0
  163. data/assets/_vendor/ace/mode-terraform.js +398 -0
  164. data/assets/_vendor/ace/mode-tex.js +159 -0
  165. data/assets/_vendor/ace/mode-text.js +10 -0
  166. data/assets/_vendor/ace/mode-textile.js +150 -0
  167. data/assets/_vendor/ace/mode-toml.js +154 -0
  168. data/assets/_vendor/ace/mode-tsx.js +887 -0
  169. data/assets/_vendor/ace/mode-turtle.js +296 -0
  170. data/assets/_vendor/ace/mode-twig.js +2693 -0
  171. data/assets/_vendor/ace/mode-typescript.js +868 -0
  172. data/assets/_vendor/ace/mode-vala.js +676 -0
  173. data/assets/_vendor/ace/mode-vbscript.js +207 -0
  174. data/assets/_vendor/ace/mode-velocity.js +2790 -0
  175. data/assets/_vendor/ace/mode-verilog.js +119 -0
  176. data/assets/_vendor/ace/mode-vhdl.js +118 -0
  177. data/assets/_vendor/ace/mode-wollok.js +911 -0
  178. data/assets/_vendor/ace/mode-xml.js +677 -0
  179. data/assets/_vendor/ace/mode-xquery.js +4922 -0
  180. data/assets/_vendor/ace/mode-yaml.js +300 -0
  181. data/assets/_vendor/ace/snippets/abap.js +15 -0
  182. data/assets/_vendor/ace/snippets/abc.js +46 -0
  183. data/assets/_vendor/ace/snippets/actionscript.js +172 -0
  184. data/assets/_vendor/ace/snippets/ada.js +15 -0
  185. data/assets/_vendor/ace/snippets/apache_conf.js +15 -0
  186. data/assets/_vendor/ace/snippets/applescript.js +15 -0
  187. data/assets/_vendor/ace/snippets/asciidoc.js +15 -0
  188. data/assets/_vendor/ace/snippets/asl.js +14 -0
  189. data/assets/_vendor/ace/snippets/assembly_x86.js +15 -0
  190. data/assets/_vendor/ace/snippets/autohotkey.js +15 -0
  191. data/assets/_vendor/ace/snippets/batchfile.js +15 -0
  192. data/assets/_vendor/ace/snippets/bro.js +15 -0
  193. data/assets/_vendor/ace/snippets/c9search.js +15 -0
  194. data/assets/_vendor/ace/snippets/c_cpp.js +146 -0
  195. data/assets/_vendor/ace/snippets/cirru.js +15 -0
  196. data/assets/_vendor/ace/snippets/clojure.js +105 -0
  197. data/assets/_vendor/ace/snippets/cobol.js +15 -0
  198. data/assets/_vendor/ace/snippets/coffee.js +110 -0
  199. data/assets/_vendor/ace/snippets/coldfusion.js +15 -0
  200. data/assets/_vendor/ace/snippets/csharp.js +15 -0
  201. data/assets/_vendor/ace/snippets/csound_document.js +25 -0
  202. data/assets/_vendor/ace/snippets/csound_orchestra.js +62 -0
  203. data/assets/_vendor/ace/snippets/csound_score.js +15 -0
  204. data/assets/_vendor/ace/snippets/csp.js +15 -0
  205. data/assets/_vendor/ace/snippets/css.js +982 -0
  206. data/assets/_vendor/ace/snippets/curly.js +15 -0
  207. data/assets/_vendor/ace/snippets/d.js +15 -0
  208. data/assets/_vendor/ace/snippets/dart.js +98 -0
  209. data/assets/_vendor/ace/snippets/diff.js +26 -0
  210. data/assets/_vendor/ace/snippets/django.js +123 -0
  211. data/assets/_vendor/ace/snippets/dockerfile.js +15 -0
  212. data/assets/_vendor/ace/snippets/dot.js +15 -0
  213. data/assets/_vendor/ace/snippets/drools.js +34 -0
  214. data/assets/_vendor/ace/snippets/edifact.js +255 -0
  215. data/assets/_vendor/ace/snippets/eiffel.js +15 -0
  216. data/assets/_vendor/ace/snippets/ejs.js +15 -0
  217. data/assets/_vendor/ace/snippets/elixir.js +15 -0
  218. data/assets/_vendor/ace/snippets/elm.js +15 -0
  219. data/assets/_vendor/ace/snippets/erlang.js +175 -0
  220. data/assets/_vendor/ace/snippets/forth.js +15 -0
  221. data/assets/_vendor/ace/snippets/fortran.js +15 -0
  222. data/assets/_vendor/ace/snippets/fsharp.js +15 -0
  223. data/assets/_vendor/ace/snippets/ftl.js +15 -0
  224. data/assets/_vendor/ace/snippets/gcode.js +15 -0
  225. data/assets/_vendor/ace/snippets/gherkin.js +15 -0
  226. data/assets/_vendor/ace/snippets/gitignore.js +15 -0
  227. data/assets/_vendor/ace/snippets/glsl.js +15 -0
  228. data/assets/_vendor/ace/snippets/gobstones.js +49 -0
  229. data/assets/_vendor/ace/snippets/golang.js +15 -0
  230. data/assets/_vendor/ace/snippets/graphqlschema.js +47 -0
  231. data/assets/_vendor/ace/snippets/groovy.js +15 -0
  232. data/assets/_vendor/ace/snippets/haml.js +35 -0
  233. data/assets/_vendor/ace/snippets/handlebars.js +15 -0
  234. data/assets/_vendor/ace/snippets/haskell.js +97 -0
  235. data/assets/_vendor/ace/snippets/haskell_cabal.js +15 -0
  236. data/assets/_vendor/ace/snippets/haxe.js +15 -0
  237. data/assets/_vendor/ace/snippets/hjson.js +15 -0
  238. data/assets/_vendor/ace/snippets/html.js +870 -0
  239. data/assets/_vendor/ace/snippets/html_elixir.js +15 -0
  240. data/assets/_vendor/ace/snippets/html_ruby.js +15 -0
  241. data/assets/_vendor/ace/snippets/ini.js +15 -0
  242. data/assets/_vendor/ace/snippets/io.js +77 -0
  243. data/assets/_vendor/ace/snippets/jack.js +15 -0
  244. data/assets/_vendor/ace/snippets/jade.js +15 -0
  245. data/assets/_vendor/ace/snippets/java.js +255 -0
  246. data/assets/_vendor/ace/snippets/javascript.js +210 -0
  247. data/assets/_vendor/ace/snippets/json.js +15 -0
  248. data/assets/_vendor/ace/snippets/jsoniq.js +76 -0
  249. data/assets/_vendor/ace/snippets/jsp.js +114 -0
  250. data/assets/_vendor/ace/snippets/jssm.js +15 -0
  251. data/assets/_vendor/ace/snippets/jsx.js +15 -0
  252. data/assets/_vendor/ace/snippets/julia.js +15 -0
  253. data/assets/_vendor/ace/snippets/kotlin.js +15 -0
  254. data/assets/_vendor/ace/snippets/latex.js +15 -0
  255. data/assets/_vendor/ace/snippets/less.js +15 -0
  256. data/assets/_vendor/ace/snippets/liquid.js +15 -0
  257. data/assets/_vendor/ace/snippets/lisp.js +15 -0
  258. data/assets/_vendor/ace/snippets/livescript.js +15 -0
  259. data/assets/_vendor/ace/snippets/logiql.js +15 -0
  260. data/assets/_vendor/ace/snippets/lsl.js +1247 -0
  261. data/assets/_vendor/ace/snippets/lua.js +36 -0
  262. data/assets/_vendor/ace/snippets/luapage.js +15 -0
  263. data/assets/_vendor/ace/snippets/lucene.js +15 -0
  264. data/assets/_vendor/ace/snippets/makefile.js +19 -0
  265. data/assets/_vendor/ace/snippets/markdown.js +103 -0
  266. data/assets/_vendor/ace/snippets/mask.js +15 -0
  267. data/assets/_vendor/ace/snippets/matlab.js +15 -0
  268. data/assets/_vendor/ace/snippets/maze.js +24 -0
  269. data/assets/_vendor/ace/snippets/mel.js +15 -0
  270. data/assets/_vendor/ace/snippets/mixal.js +15 -0
  271. data/assets/_vendor/ace/snippets/mushcode.js +15 -0
  272. data/assets/_vendor/ace/snippets/mysql.js +15 -0
  273. data/assets/_vendor/ace/snippets/nix.js +15 -0
  274. data/assets/_vendor/ace/snippets/nsis.js +15 -0
  275. data/assets/_vendor/ace/snippets/objectivec.js +15 -0
  276. data/assets/_vendor/ace/snippets/ocaml.js +15 -0
  277. data/assets/_vendor/ace/snippets/pascal.js +15 -0
  278. data/assets/_vendor/ace/snippets/perl.js +362 -0
  279. data/assets/_vendor/ace/snippets/pgsql.js +15 -0
  280. data/assets/_vendor/ace/snippets/php.js +398 -0
  281. data/assets/_vendor/ace/snippets/php_laravel_blade.js +15 -0
  282. data/assets/_vendor/ace/snippets/pig.js +15 -0
  283. data/assets/_vendor/ace/snippets/plain_text.js +15 -0
  284. data/assets/_vendor/ace/snippets/powershell.js +15 -0
  285. data/assets/_vendor/ace/snippets/praat.js +15 -0
  286. data/assets/_vendor/ace/snippets/prolog.js +15 -0
  287. data/assets/_vendor/ace/snippets/properties.js +15 -0
  288. data/assets/_vendor/ace/snippets/protobuf.js +15 -0
  289. data/assets/_vendor/ace/snippets/puppet.js +15 -0
  290. data/assets/_vendor/ace/snippets/python.js +173 -0
  291. data/assets/_vendor/ace/snippets/r.js +136 -0
  292. data/assets/_vendor/ace/snippets/razor.js +18 -0
  293. data/assets/_vendor/ace/snippets/rdoc.js +15 -0
  294. data/assets/_vendor/ace/snippets/red.js +15 -0
  295. data/assets/_vendor/ace/snippets/redshift.js +15 -0
  296. data/assets/_vendor/ace/snippets/rhtml.js +15 -0
  297. data/assets/_vendor/ace/snippets/rst.js +37 -0
  298. data/assets/_vendor/ace/snippets/ruby.js +943 -0
  299. data/assets/_vendor/ace/snippets/rust.js +15 -0
  300. data/assets/_vendor/ace/snippets/sass.js +15 -0
  301. data/assets/_vendor/ace/snippets/scad.js +15 -0
  302. data/assets/_vendor/ace/snippets/scala.js +15 -0
  303. data/assets/_vendor/ace/snippets/scheme.js +15 -0
  304. data/assets/_vendor/ace/snippets/scss.js +15 -0
  305. data/assets/_vendor/ace/snippets/sh.js +98 -0
  306. data/assets/_vendor/ace/snippets/sjs.js +15 -0
  307. data/assets/_vendor/ace/snippets/slim.js +15 -0
  308. data/assets/_vendor/ace/snippets/smarty.js +15 -0
  309. data/assets/_vendor/ace/snippets/snippets.js +24 -0
  310. data/assets/_vendor/ace/snippets/soy_template.js +15 -0
  311. data/assets/_vendor/ace/snippets/space.js +15 -0
  312. data/assets/_vendor/ace/snippets/sparql.js +15 -0
  313. data/assets/_vendor/ace/snippets/sql.js +41 -0
  314. data/assets/_vendor/ace/snippets/sqlserver.js +84 -0
  315. data/assets/_vendor/ace/snippets/stylus.js +15 -0
  316. data/assets/_vendor/ace/snippets/svg.js +15 -0
  317. data/assets/_vendor/ace/snippets/swift.js +15 -0
  318. data/assets/_vendor/ace/snippets/tcl.js +107 -0
  319. data/assets/_vendor/ace/snippets/terraform.js +15 -0
  320. data/assets/_vendor/ace/snippets/tex.js +205 -0
  321. data/assets/_vendor/ace/snippets/text.js +15 -0
  322. data/assets/_vendor/ace/snippets/textile.js +45 -0
  323. data/assets/_vendor/ace/snippets/toml.js +15 -0
  324. data/assets/_vendor/ace/snippets/tsx.js +15 -0
  325. data/assets/_vendor/ace/snippets/turtle.js +15 -0
  326. data/assets/_vendor/ace/snippets/twig.js +15 -0
  327. data/assets/_vendor/ace/snippets/typescript.js +15 -0
  328. data/assets/_vendor/ace/snippets/vala.js +201 -0
  329. data/assets/_vendor/ace/snippets/vbscript.js +15 -0
  330. data/assets/_vendor/ace/snippets/velocity.js +44 -0
  331. data/assets/_vendor/ace/snippets/verilog.js +15 -0
  332. data/assets/_vendor/ace/snippets/vhdl.js +15 -0
  333. data/assets/_vendor/ace/snippets/wollok.js +99 -0
  334. data/assets/_vendor/ace/snippets/xml.js +15 -0
  335. data/assets/_vendor/ace/snippets/xquery.js +76 -0
  336. data/assets/_vendor/ace/snippets/yaml.js +15 -0
  337. data/assets/_vendor/ace/theme-ambiance.js +185 -0
  338. data/assets/_vendor/ace/theme-chaos.js +164 -0
  339. data/assets/_vendor/ace/theme-chrome.js +136 -0
  340. data/assets/_vendor/ace/theme-clouds.js +103 -0
  341. data/assets/_vendor/ace/theme-clouds_midnight.js +104 -0
  342. data/assets/_vendor/ace/theme-cobalt.js +121 -0
  343. data/assets/_vendor/ace/theme-crimson_editor.js +126 -0
  344. data/assets/_vendor/ace/theme-dawn.js +116 -0
  345. data/assets/_vendor/ace/theme-dracula.js +136 -0
  346. data/assets/_vendor/ace/theme-dreamweaver.js +149 -0
  347. data/assets/_vendor/ace/theme-eclipse.js +106 -0
  348. data/assets/_vendor/ace/theme-github.js +110 -0
  349. data/assets/_vendor/ace/theme-gob.js +120 -0
  350. data/assets/_vendor/ace/theme-gruvbox.js +90 -0
  351. data/assets/_vendor/ace/theme-idle_fingers.js +104 -0
  352. data/assets/_vendor/ace/theme-iplastic.js +129 -0
  353. data/assets/_vendor/ace/theme-katzenmilch.js +129 -0
  354. data/assets/_vendor/ace/theme-kr_theme.js +112 -0
  355. data/assets/_vendor/ace/theme-kuroir.js +69 -0
  356. data/assets/_vendor/ace/theme-merbivore.js +103 -0
  357. data/assets/_vendor/ace/theme-merbivore_soft.js +104 -0
  358. data/assets/_vendor/ace/theme-mono_industrial.js +115 -0
  359. data/assets/_vendor/ace/theme-monokai.js +113 -0
  360. data/assets/_vendor/ace/theme-pastel_on_dark.js +116 -0
  361. data/assets/_vendor/ace/theme-solarized_dark.js +96 -0
  362. data/assets/_vendor/ace/theme-solarized_light.js +99 -0
  363. data/assets/_vendor/ace/theme-sqlserver.js +146 -0
  364. data/assets/_vendor/ace/theme-terminal.js +122 -0
  365. data/assets/_vendor/ace/theme-textmate.js +138 -0
  366. data/assets/_vendor/ace/theme-tomorrow.js +116 -0
  367. data/assets/_vendor/ace/theme-tomorrow_night.js +116 -0
  368. data/assets/_vendor/ace/theme-tomorrow_night_blue.js +114 -0
  369. data/assets/_vendor/ace/theme-tomorrow_night_bright.js +129 -0
  370. data/assets/_vendor/ace/theme-tomorrow_night_eighties.js +116 -0
  371. data/assets/_vendor/ace/theme-twilight.js +117 -0
  372. data/assets/_vendor/ace/theme-vibrant_ink.js +102 -0
  373. data/assets/_vendor/ace/theme-xcode.js +96 -0
  374. data/assets/_vendor/ace/worker-coffee.js +2165 -0
  375. data/assets/_vendor/ace/worker-css.js +8764 -0
  376. data/assets/_vendor/ace/worker-html.js +11614 -0
  377. data/assets/_vendor/ace/worker-javascript.js +12491 -0
  378. data/assets/_vendor/ace/worker-json.js +2396 -0
  379. data/assets/_vendor/ace/worker-lua.js +3637 -0
  380. data/assets/_vendor/ace/worker-php.js +4313 -0
  381. data/assets/_vendor/ace/worker-xml.js +3899 -0
  382. data/assets/_vendor/ace/worker-xquery.js +70688 -0
  383. data/assets/_vendor/motion-ui/_settings.scss +1 -0
  384. data/assets/_vendor/motion-ui/effects/_fade.scss +1 -4
  385. data/assets/_vendor/motion-ui/effects/_hinge.scss +4 -3
  386. data/assets/_vendor/motion-ui/effects/_shake.scss +1 -1
  387. data/assets/_vendor/motion-ui/effects/_slide.scss +4 -3
  388. data/assets/_vendor/motion-ui/effects/_spin.scss +4 -3
  389. data/assets/_vendor/motion-ui/effects/_wiggle.scss +1 -1
  390. data/assets/_vendor/motion-ui/effects/_zoom.scss +2 -2
  391. data/assets/_vendor/motion-ui/motion-ui.scss +2 -0
  392. data/assets/_vendor/motion-ui/transitions/_fade.scss +6 -4
  393. data/assets/_vendor/motion-ui/transitions/_hinge.scss +3 -2
  394. data/assets/_vendor/motion-ui/transitions/_slide.scss +3 -2
  395. data/assets/_vendor/motion-ui/transitions/_spin.scss +2 -1
  396. data/assets/_vendor/motion-ui/transitions/_zoom.scss +6 -4
  397. data/assets/_vendor/motion-ui/util/_animation.scss +1 -1
  398. data/assets/_vendor/motion-ui/util/_args.scss +2 -2
  399. data/assets/_vendor/motion-ui/util/_function.scss +94 -0
  400. data/assets/_vendor/motion-ui/util/_keyframe.scss +5 -5
  401. data/assets/_vendor/motion-ui/util/_series.scss +20 -17
  402. data/assets/_vendor/motion-ui/util/_string.scss +36 -0
  403. data/assets/_vendor/tinymce/plugins/advlist/plugin.js +136 -404
  404. data/assets/_vendor/tinymce/plugins/advlist/plugin.min.js +1 -1
  405. data/assets/_vendor/tinymce/plugins/anchor/plugin.js +103 -323
  406. data/assets/_vendor/tinymce/plugins/anchor/plugin.min.js +1 -1
  407. data/assets/_vendor/tinymce/plugins/autolink/plugin.js +153 -377
  408. data/assets/_vendor/tinymce/plugins/autolink/plugin.min.js +1 -1
  409. data/assets/_vendor/tinymce/plugins/autoresize/plugin.js +145 -427
  410. data/assets/_vendor/tinymce/plugins/autoresize/plugin.min.js +1 -1
  411. data/assets/_vendor/tinymce/plugins/autosave/plugin.js +197 -579
  412. data/assets/_vendor/tinymce/plugins/autosave/plugin.min.js +1 -1
  413. data/assets/_vendor/tinymce/plugins/bbcode/plugin.js +88 -251
  414. data/assets/_vendor/tinymce/plugins/bbcode/plugin.min.js +1 -1
  415. data/assets/_vendor/tinymce/plugins/charmap/plugin.js +1243 -818
  416. data/assets/_vendor/tinymce/plugins/charmap/plugin.min.js +1 -1
  417. data/assets/_vendor/tinymce/plugins/code/plugin.js +82 -326
  418. data/assets/_vendor/tinymce/plugins/code/plugin.min.js +1 -1
  419. data/assets/_vendor/tinymce/plugins/codesample/plugin.js +829 -1444
  420. data/assets/_vendor/tinymce/plugins/codesample/plugin.min.js +1 -1
  421. data/assets/_vendor/tinymce/plugins/colorpicker/plugin.js +111 -257
  422. data/assets/_vendor/tinymce/plugins/colorpicker/plugin.min.js +1 -1
  423. data/assets/_vendor/tinymce/plugins/contextmenu/plugin.js +141 -469
  424. data/assets/_vendor/tinymce/plugins/contextmenu/plugin.min.js +1 -1
  425. data/assets/_vendor/tinymce/plugins/directionality/plugin.js +57 -261
  426. data/assets/_vendor/tinymce/plugins/directionality/plugin.min.js +1 -1
  427. data/assets/_vendor/tinymce/plugins/emoticons/plugin.js +78 -247
  428. data/assets/_vendor/tinymce/plugins/emoticons/plugin.min.js +1 -1
  429. data/assets/_vendor/tinymce/plugins/fullpage/plugin.js +463 -906
  430. data/assets/_vendor/tinymce/plugins/fullpage/plugin.min.js +1 -1
  431. data/assets/_vendor/tinymce/plugins/fullscreen/plugin.js +149 -427
  432. data/assets/_vendor/tinymce/plugins/fullscreen/plugin.min.js +1 -1
  433. data/assets/_vendor/tinymce/plugins/help/plugin.js +634 -1434
  434. data/assets/_vendor/tinymce/plugins/help/plugin.min.js +1 -1
  435. data/assets/_vendor/tinymce/plugins/hr/plugin.js +29 -185
  436. data/assets/_vendor/tinymce/plugins/hr/plugin.min.js +1 -1
  437. data/assets/_vendor/tinymce/plugins/image/plugin.js +1147 -1508
  438. data/assets/_vendor/tinymce/plugins/image/plugin.min.js +1 -1
  439. data/assets/_vendor/tinymce/plugins/imagetools/plugin.js +3319 -4079
  440. data/assets/_vendor/tinymce/plugins/imagetools/plugin.min.js +1 -2
  441. data/assets/_vendor/tinymce/plugins/importcss/plugin.js +230 -543
  442. data/assets/_vendor/tinymce/plugins/importcss/plugin.min.js +1 -1
  443. data/assets/_vendor/tinymce/plugins/insertdatetime/plugin.js +151 -460
  444. data/assets/_vendor/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
  445. data/assets/_vendor/tinymce/plugins/legacyoutput/plugin.js +204 -379
  446. data/assets/_vendor/tinymce/plugins/legacyoutput/plugin.min.js +1 -1
  447. data/assets/_vendor/tinymce/plugins/link/plugin.js +644 -1162
  448. data/assets/_vendor/tinymce/plugins/link/plugin.min.js +1 -1
  449. data/assets/_vendor/tinymce/plugins/lists/plugin.js +1005 -1875
  450. data/assets/_vendor/tinymce/plugins/lists/plugin.min.js +1 -1
  451. data/assets/_vendor/tinymce/plugins/media/plugin.js +1066 -1926
  452. data/assets/_vendor/tinymce/plugins/media/plugin.min.js +1 -1
  453. data/assets/_vendor/tinymce/plugins/nonbreaking/plugin.js +70 -298
  454. data/assets/_vendor/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
  455. data/assets/_vendor/tinymce/plugins/noneditable/plugin.js +96 -294
  456. data/assets/_vendor/tinymce/plugins/noneditable/plugin.min.js +1 -1
  457. data/assets/_vendor/tinymce/plugins/pagebreak/plugin.js +92 -337
  458. data/assets/_vendor/tinymce/plugins/pagebreak/plugin.min.js +1 -1
  459. data/assets/_vendor/tinymce/plugins/paste/plugin.js +1363 -2801
  460. data/assets/_vendor/tinymce/plugins/paste/plugin.min.js +1 -1
  461. data/assets/_vendor/tinymce/plugins/preview/plugin.js +106 -393
  462. data/assets/_vendor/tinymce/plugins/preview/plugin.min.js +1 -1
  463. data/assets/_vendor/tinymce/plugins/print/plugin.js +29 -185
  464. data/assets/_vendor/tinymce/plugins/print/plugin.min.js +1 -1
  465. data/assets/_vendor/tinymce/plugins/save/plugin.js +100 -350
  466. data/assets/_vendor/tinymce/plugins/save/plugin.min.js +1 -1
  467. data/assets/_vendor/tinymce/plugins/searchreplace/plugin.js +491 -865
  468. data/assets/_vendor/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  469. data/assets/_vendor/tinymce/plugins/spellchecker/plugin.js +630 -1292
  470. data/assets/_vendor/tinymce/plugins/spellchecker/plugin.min.js +1 -1
  471. data/assets/_vendor/tinymce/plugins/tabfocus/plugin.js +96 -391
  472. data/assets/_vendor/tinymce/plugins/tabfocus/plugin.min.js +1 -1
  473. data/assets/_vendor/tinymce/plugins/table/plugin.js +9537 -14920
  474. data/assets/_vendor/tinymce/plugins/table/plugin.min.js +1 -5
  475. data/assets/_vendor/tinymce/plugins/template/plugin.js +309 -771
  476. data/assets/_vendor/tinymce/plugins/template/plugin.min.js +1 -1
  477. data/assets/_vendor/tinymce/plugins/textcolor/plugin.js +319 -592
  478. data/assets/_vendor/tinymce/plugins/textcolor/plugin.min.js +1 -1
  479. data/assets/_vendor/tinymce/plugins/textpattern/plugin.js +326 -674
  480. data/assets/_vendor/tinymce/plugins/textpattern/plugin.min.js +1 -1
  481. data/assets/_vendor/tinymce/plugins/toc/plugin.js +199 -530
  482. data/assets/_vendor/tinymce/plugins/toc/plugin.min.js +1 -1
  483. data/assets/_vendor/tinymce/plugins/visualblocks/plugin.js +112 -436
  484. data/assets/_vendor/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  485. data/assets/_vendor/tinymce/plugins/visualchars/plugin.js +428 -1248
  486. data/assets/_vendor/tinymce/plugins/visualchars/plugin.min.js +1 -1
  487. data/assets/_vendor/tinymce/plugins/wordcount/plugin.js +307 -699
  488. data/assets/_vendor/tinymce/plugins/wordcount/plugin.min.js +1 -1
  489. data/assets/_vendor/tinymce/skins/lightgray/content.inline.min.css +1 -1
  490. data/assets/_vendor/tinymce/skins/lightgray/content.min.css +1 -1
  491. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  492. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.svg +1 -1
  493. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  494. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  495. data/assets/_vendor/tinymce/skins/lightgray/skin.min.css +1 -1
  496. data/assets/_vendor/tinymce/skins/lightgray/skin.mobile.min.css +1 -1
  497. data/assets/_vendor/tinymce/themes/inlite/theme.js +9693 -18245
  498. data/assets/_vendor/tinymce/themes/inlite/theme.min.js +1 -5
  499. data/assets/_vendor/tinymce/themes/mobile/theme.js +12629 -22467
  500. data/assets/_vendor/tinymce/themes/mobile/theme.min.js +1 -8
  501. data/assets/_vendor/tinymce/themes/modern/theme.js +9510 -17780
  502. data/assets/_vendor/tinymce/themes/modern/theme.min.js +1 -5
  503. data/assets/_vendor/tinymce/tinymce.js +25087 -42606
  504. data/assets/_vendor/yoastseo/css/_icons.scss +7 -7
  505. data/assets/_vendor/yoastseo/css/_snippet-editor.scss +1 -1
  506. data/assets/bedrock/js/bedrock.js +1 -71697
  507. data/assets/bedrock/scss/_bedrock-components.scss +20 -0
  508. data/assets/bedrock/scss/_bedrock-settings.scss +12 -4
  509. data/assets/bedrock/scss/_foundation-settings.scss +4 -2
  510. data/assets/bedrock/scss/components/ace-editor.scss +21 -0
  511. data/assets/bedrock/scss/components/attachments-grid.scss +18 -15
  512. data/assets/bedrock/scss/components/date-picker.scss +146 -0
  513. data/assets/bedrock/scss/components/dropzone-upload.scss +7 -0
  514. data/assets/bedrock/scss/components/file-input.scss +7 -0
  515. data/assets/bedrock/scss/components/file-preview.scss +36 -0
  516. data/assets/bedrock/scss/components/frame-embed.scss +23 -0
  517. data/assets/bedrock/scss/components/global.scss +27 -0
  518. data/assets/bedrock/scss/components/helper-classes.scss +1 -0
  519. data/assets/bedrock/scss/components/icon-box.scss +38 -0
  520. data/assets/bedrock/scss/components/item-list.scss +66 -0
  521. data/assets/bedrock/scss/components/lists.scss +58 -0
  522. data/assets/bedrock/scss/components/off-canvas-menu.scss +27 -15
  523. data/assets/bedrock/scss/components/place-autocomplete.scss +90 -0
  524. data/assets/bedrock/scss/components/rrule-generator.scss +102 -0
  525. data/assets/bedrock/scss/components/rrule-reveal.scss +14 -0
  526. data/assets/bedrock/scss/components/select-box.scss +1 -0
  527. data/assets/bedrock/scss/components/seo-analysis.scss +5 -0
  528. data/assets/bedrock/scss/components/textarea.scss +14 -2
  529. data/assets/bedrock/scss/components/tiny-mce-editor.scss +5 -16
  530. data/lib/bedrock_sass.rb +5 -0
  531. data/lib/bedrock_sass/version.rb +1 -1
  532. data/lib/tasks/before_assets_precompile.rake +1 -0
  533. metadata +395 -4
  534. data/CODE_OF_CONDUCT.md +0 -74
@@ -1 +1 @@
1
- !function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e[f]=d(a[f]);b.apply(null,e)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("6",tinymce.util.Tools.resolve),g("1",["6"],function(a){return a("tinymce.PluginManager")}),g("g",["6"],function(a){return a("tinymce.dom.RangeUtils")}),g("h",["6"],function(a){return a("tinymce.dom.TreeWalker")}),g("b",["6"],function(a){return a("tinymce.util.VK")}),g("i",["6"],function(a){return a("tinymce.dom.BookmarkManager")}),g("d",["6"],function(a){return a("tinymce.util.Tools")}),g("j",["6"],function(a){return a("tinymce.dom.DOMUtils")}),g("e",[],function(){var a=function(a){return a&&3===a.nodeType},b=function(a){return a&&/^(OL|UL|DL)$/.test(a.nodeName)},c=function(a){return a&&/^(LI|DT|DD)$/.test(a.nodeName)},d=function(a){return a&&/^(TH|TD)$/.test(a.nodeName)},e=function(a){return a&&"BR"===a.nodeName},f=function(a){return a.parentNode.firstChild===a},g=function(a){return a.parentNode.lastChild===a},h=function(a,b){return b&&!!a.schema.getTextBlockElements()[b.nodeName]},i=function(a,b){return a&&a.nodeName in b},j=function(a,b){return!!e(b)&&!(!a.isBlock(b.nextSibling)||e(b.previousSibling))},k=function(a,b,c){var d=a.isEmpty(b);return!(c&&a.select("span[data-mce-type=bookmark]",b).length>0)&&d},l=function(a,b){return a.isChildOf(b,a.getRoot())};return{isTextNode:a,isListNode:b,isListItemNode:c,isTableCellNode:d,isBr:e,isFirstChild:f,isLastChild:g,isTextBlock:h,isBlock:i,isBogusBr:j,isEmpty:k,isChildOfBody:l}}),g("p",["g","e"],function(a,b){var c=function(c,d){var e=a.getNode(c,d);if(b.isListItemNode(c)&&b.isTextNode(e)){var f=d>=c.childNodes.length?e.data.length:0;return{container:e,offset:f}}return{container:c,offset:d}},d=function(a){var b=a.cloneRange(),d=c(a.startContainer,a.startOffset);b.setStart(d.container,d.offset);var e=c(a.endContainer,a.endOffset);return b.setEnd(e.container,e.offset),b};return{getNormalizedEndPoint:c,normalizeRange:d}}),g("k",["j","e","p"],function(a,b,c){var d=a.DOM,e=function(a){var b={},c=function(c){var e,f,g;f=a[c?"startContainer":"endContainer"],g=a[c?"startOffset":"endOffset"],1===f.nodeType&&(e=d.create("span",{"data-mce-type":"bookmark"}),f.hasChildNodes()?(g=Math.min(g,f.childNodes.length-1),c?f.insertBefore(e,f.childNodes[g]):d.insertAfter(e,f.childNodes[g])):f.appendChild(e),f=e,g=0),b[c?"startContainer":"endContainer"]=f,b[c?"startOffset":"endOffset"]=g};return c(!0),a.collapsed||c(),b},f=function(a){function b(b){var c,e,f,g=function(a){for(var b=a.parentNode.firstChild,c=0;b;){if(b===a)return c;1===b.nodeType&&"bookmark"===b.getAttribute("data-mce-type")||c++,b=b.nextSibling}return-1};c=f=a[b?"startContainer":"endContainer"],e=a[b?"startOffset":"endOffset"],c&&(1===c.nodeType&&(e=g(c),c=c.parentNode,d.remove(f),!c.hasChildNodes()&&d.isBlock(c)&&c.appendChild(d.create("br"))),a[b?"startContainer":"endContainer"]=c,a[b?"startOffset":"endOffset"]=e)}b(!0),b();var e=d.createRng();return e.setStart(a.startContainer,a.startOffset),a.endContainer&&e.setEnd(a.endContainer,a.endOffset),c.normalizeRange(e)};return{createBookmark:e,resolveBookmark:f}}),g("l",["j","d","e"],function(a,b,c){var d=a.DOM,e=function(a,b){var e,f=b.parentNode;"LI"===f.nodeName&&f.firstChild===b&&(e=f.previousSibling,e&&"LI"===e.nodeName?(e.appendChild(b),c.isEmpty(a,f)&&d.remove(f)):d.setStyle(f,"listStyleType","none")),c.isListNode(f)&&(e=f.previousSibling,e&&"LI"===e.nodeName&&e.appendChild(b))},f=function(a,c){b.each(b.grep(a.select("ol,ul",c)),function(b){e(a,b)})};return{normalizeList:e,normalizeLists:f}}),g("m",["6"],function(a){return a("tinymce.dom.DomQuery")}),g("f",["m","d","e"],function(a,b,c){var d=function(a){var b=a.selection.getStart(!0);return a.dom.getParent(b,"OL,UL,DL",j(a,b))},e=function(a,b){return a&&1===b.length&&b[0]===a},f=function(a){return b.grep(a.querySelectorAll("ol,ul,dl"),function(a){return c.isListNode(a)})},g=function(a){var g=d(a),h=a.selection.getSelectedBlocks();return e(g,h)?f(g):b.grep(h,function(a){return c.isListNode(a)&&g!==a})},h=function(c,d){var e=b.map(d,function(a){var b=c.dom.getParent(a,"li,dd,dt",j(c,a));return b?b:a});return a.unique(e)},i=function(a){var d=a.selection.getSelectedBlocks();return b.grep(h(a,d),function(a){return c.isListItemNode(a)})},j=function(a,b){var c=a.dom.getParents(b,"TD,TH"),d=c.length>0?c[0]:a.getBody();return d};return{getParentList:d,getSelectedSubLists:g,getSelectedListItems:i,getClosestListRootElm:j}}),g("q",["6"],function(a){return a("tinymce.Env")}),g("o",["j","q","e"],function(a,b,c){var d=a.DOM,e=function(a,e,f){var g,h,i,j=d.createFragment(),k=a.schema.getBlockElements();if(a.settings.forced_root_block&&(f=f||a.settings.forced_root_block),f&&(h=d.create(f),h.tagName===a.settings.forced_root_block&&d.setAttribs(h,a.settings.forced_root_block_attrs),c.isBlock(e.firstChild,k)||j.appendChild(h)),e)for(;g=e.firstChild;){var l=g.nodeName;i||"SPAN"===l&&"bookmark"===g.getAttribute("data-mce-type")||(i=!0),c.isBlock(g,k)?(j.appendChild(g),h=null):f?(h||(h=d.create(f),j.appendChild(h)),h.appendChild(g)):j.appendChild(g)}return a.settings.forced_root_block?i||b.ie&&!(b.ie>10)||h.appendChild(d.create("br",{"data-mce-bogus":"1"})):j.appendChild(d.create("br")),j};return{createNewTextBlock:e}}),g("n",["j","e","o","d"],function(a,b,c,d){var e=a.DOM,f=function(a,f,g,h){var i,j,k,l,m=function(a){d.each(k,function(b){a.parentNode.insertBefore(b,g.parentNode)}),e.remove(a)};for(k=e.select('span[data-mce-type="bookmark"]',f),h=h||c.createNewTextBlock(a,g),i=e.createRng(),i.setStartAfter(g),i.setEndAfter(f),j=i.extractContents(),l=j.firstChild;l;l=l.firstChild)if("LI"===l.nodeName&&a.dom.isEmpty(l)){e.remove(l);break}a.dom.isEmpty(j)||e.insertAfter(j,f),e.insertAfter(h,f),b.isEmpty(a.dom,g.parentNode)&&m(g.parentNode),e.remove(g),b.isEmpty(a.dom,f)&&e.remove(f)};return{splitList:f}}),g("9",["j","k","e","l","f","n","o"],function(a,b,c,d,e,f,g){var h=a.DOM,i=function(a,b){c.isEmpty(a,b)&&h.remove(b)},j=function(a,b){var e,j=b.parentNode,k=j.parentNode;return j===a.getBody()||("DD"===b.nodeName?(h.rename(b,"DT"),!0):c.isFirstChild(b)&&c.isLastChild(b)?("LI"===k.nodeName?(h.insertAfter(b,k),i(a.dom,k),h.remove(j)):c.isListNode(k)?h.remove(j,!0):(k.insertBefore(g.createNewTextBlock(a,b),j),h.remove(j)),!0):c.isFirstChild(b)?("LI"===k.nodeName?(h.insertAfter(b,k),b.appendChild(j),i(a.dom,k)):c.isListNode(k)?k.insertBefore(b,j):(k.insertBefore(g.createNewTextBlock(a,b),j),h.remove(b)),!0):c.isLastChild(b)?("LI"===k.nodeName?h.insertAfter(b,k):c.isListNode(k)?h.insertAfter(b,j):(h.insertAfter(g.createNewTextBlock(a,b),j),h.remove(b)),!0):("LI"===k.nodeName?(j=k,e=g.createNewTextBlock(a,b,"LI")):e=c.isListNode(k)?g.createNewTextBlock(a,b,"LI"):g.createNewTextBlock(a,b),f.splitList(a,j,b,e),d.normalizeLists(a.dom,j.parentNode),!0))},k=function(a){var c=e.getSelectedListItems(a);if(c.length){var d,f,g=b.createBookmark(a.selection.getRng(!0)),h=e.getClosestListRootElm(a,a.selection.getStart(!0));for(d=c.length;d--;)for(var i=c[d].parentNode;i&&i!==h;){for(f=c.length;f--;)if(c[f]===i){c.splice(d,1);break}i=i.parentNode}for(d=0;d<c.length&&(j(a,c[d])||0!==d);d++);return a.selection.setRng(b.resolveBookmark(g)),a.nodeChanged(),!0}};return{outdent:j,outdentSelection:k}}),g("a",["i","d","9","k","e","l","f","n"],function(a,b,c,d,e,f,g,h){var i=function(a,b,c){var d=c["list-style-type"]?c["list-style-type"]:null;a.setStyle(b,"list-style-type",d)},j=function(a,c){b.each(c,function(b,c){a.setAttribute(c,b)})},k=function(a,c,d){j(c,d["list-attributes"]),b.each(a.select("li",c),function(a){j(a,d["list-item-attributes"])})},l=function(a,b,c){i(a,b,c),k(a,b,c)},m=function(a,b,c,d){var f,g;for(f=b[c?"startContainer":"endContainer"],g=b[c?"startOffset":"endOffset"],1===f.nodeType&&(f=f.childNodes[Math.min(g,f.childNodes.length-1)]||f),!c&&e.isBr(f.nextSibling)&&(f=f.nextSibling);f.parentNode!==d;){if(e.isTextBlock(a,f))return f;if(/^(TD|TH)$/.test(f.parentNode.nodeName))return f;f=f.parentNode}return f},n=function(c,d,f){for(var g,h=[],i=c.dom,j=m(c,d,!0,f),k=m(c,d,!1,f),l=[],n=j;n&&(l.push(n),n!==k);n=n.nextSibling);return b.each(l,function(b){if(e.isTextBlock(c,b))return h.push(b),void(g=null);if(i.isBlock(b)||e.isBr(b))return e.isBr(b)&&i.remove(b),void(g=null);var d=b.nextSibling;return a.isBookmarkNode(b)&&(e.isTextBlock(c,d)||!d&&b.parentNode===f)?void(g=null):(g||(g=i.create("p"),b.parentNode.insertBefore(g,b),h.push(g)),void g.appendChild(b))}),h},o=function(a,b,c){var d=a.getStyle(b,"list-style-type"),e=c?c["list-style-type"]:"";return e=null===e?"":e,d===e},p=function(a,c,f){var h,i=a.selection.getRng(!0),j="LI",k=g.getClosestListRootElm(a,a.selection.getStart(!0)),m=a.dom;f=f?f:{},"false"!==m.getContentEditable(a.selection.getNode())&&(c=c.toUpperCase(),"DL"===c&&(j="DT"),h=d.createBookmark(i),b.each(n(a,i,k),function(b){var d,g;g=b.previousSibling,g&&e.isListNode(g)&&g.nodeName===c&&o(m,g,f)?(d=g,b=m.rename(b,j),g.appendChild(b)):(d=m.create(c),b.parentNode.insertBefore(d,b),d.appendChild(b),b=m.rename(b,j)),l(m,d,f),v(a.dom,d)}),a.selection.setRng(d.resolveBookmark(h)))},q=function(a){var i=d.createBookmark(a.selection.getRng(!0)),j=g.getClosestListRootElm(a,a.selection.getStart(!0)),k=g.getSelectedListItems(a),l=b.grep(k,function(b){return a.dom.isEmpty(b)});k=b.grep(k,function(b){return!a.dom.isEmpty(b)}),b.each(l,function(b){if(e.isEmpty(a.dom,b))return void c.outdent(a,b)}),b.each(k,function(b){var c,d;if(b.parentNode!==a.getBody()){for(c=b;c&&c!==j;c=c.parentNode)e.isListNode(c)&&(d=c);h.splitList(a,d,b),f.normalizeLists(a.dom,d.parentNode)}}),a.selection.setRng(d.resolveBookmark(i))},r=function(a,b){return a&&b&&e.isListNode(a)&&a.nodeName===b.nodeName},s=function(a,b,c){var d=a.getStyle(b,"list-style-type",!0),e=a.getStyle(c,"list-style-type",!0);return d===e},t=function(a,b){return a.className===b.className},u=function(a,b,c){return r(b,c)&&s(a,b,c)&&t(b,c)},v=function(a,b){var c,d;if(c=b.nextSibling,u(a,b,c)){for(;d=c.firstChild;)b.appendChild(d);a.remove(c)}if(c=b.previousSibling,u(a,b,c)){for(;d=c.lastChild;)b.insertBefore(d,b.firstChild);a.remove(c)}},w=function(a,b,c,d){if(b.nodeName!==c){var e=a.rename(b,c);l(a,e,d)}else l(a,b,d)},x=function(a,c,e,f,g){if(c.nodeName!==f||y(g)){var h=d.createBookmark(a.selection.getRng(!0));b.each([c].concat(e),function(b){w(a.dom,b,f,g)}),a.selection.setRng(d.resolveBookmark(h))}else q(a,f)},y=function(a){return"list-style-type"in a},z=function(a,b,c,e){if(b!==a.getBody())if(b)if(b.nodeName!==c||y(e)){var f=d.createBookmark(a.selection.getRng(!0));l(a.dom,b,e),v(a.dom,a.dom.rename(b,c)),a.selection.setRng(d.resolveBookmark(f))}else q(a,c);else p(a,c,e)},A=function(a,b,c){var d=g.getParentList(a),e=g.getSelectedSubLists(a);c=c?c:{},d&&e.length>0?x(a,d,e,b,c):z(a,d,b,c)};return{toggleList:A,removeList:q,mergeWithAdjacentLists:v}}),g("7",["g","h","b","a","k","e","l","p","f"],function(a,b,c,d,e,f,g,h,i){var j=function(c,d,e,g){var h,i,j=d.startContainer,k=d.startOffset;if(3===j.nodeType&&(e?k<j.data.length:k>0))return j;for(h=c.schema.getNonEmptyElements(),1===j.nodeType&&(j=a.getNode(j,k)),i=new b(j,g),e&&f.isBogusBr(c.dom,j)&&i.next();j=i[e?"next":"prev2"]();){if("LI"===j.nodeName&&!j.hasChildNodes())return j;if(h[j.nodeName])return j;if(3===j.nodeType&&j.data.length>0)return j}},k=function(a,b){var c=b.childNodes;return 1===c.length&&!f.isListNode(c[0])&&a.isBlock(c[0])},l=function(a,b){k(a,b)&&a.remove(b.firstChild,!0)},m=function(a,b,c){var d,e;if(e=k(a,c)?c.firstChild:c,l(a,b),!f.isEmpty(a,b,!0))for(;d=b.firstChild;)e.appendChild(d)},n=function(a,b,c){var d,e,g=b.parentNode;f.isChildOfBody(a,b)&&f.isChildOfBody(a,c)&&(f.isListNode(c.lastChild)&&(e=c.lastChild),g===c.lastChild&&f.isBr(g.previousSibling)&&a.remove(g.previousSibling),d=c.lastChild,d&&f.isBr(d)&&b.hasChildNodes()&&a.remove(d),f.isEmpty(a,c,!0)&&a.$(c).empty(),m(a,b,c),e&&c.appendChild(e),a.remove(b),f.isEmpty(a,g)&&g!==a.getRoot()&&a.remove(g))},o=function(a,b,c){a.dom.$(c).empty(),n(a.dom,b,c),a.selection.setCursorLocation(c)},p=function(a,b,c,d){var f=a.dom;if(f.isEmpty(d))o(a,c,d);else{var g=e.createBookmark(b);n(f,c,d),a.selection.setRng(e.resolveBookmark(g))}},q=function(a,b,c,d){var f=e.createBookmark(b);n(a.dom,c,d);var g=e.resolveBookmark(f);a.selection.setRng(g)},r=function(a,b){var c,e,g,k=a.dom,l=a.selection,m=l.getStart(),n=i.getClosestListRootElm(a,m),o=k.getParent(l.getStart(),"LI",n);if(o){if(c=o.parentNode,c===a.getBody()&&f.isEmpty(k,c))return!0;if(e=h.normalizeRange(l.getRng(!0)),g=k.getParent(j(a,e,b,n),"LI",n),g&&g!==o)return b?p(a,e,g,o):q(a,e,o,g),!0;if(!g&&!b&&d.removeList(a,c.nodeName))return!0}return!1},s=function(a,b,c){var d=a.getParent(b.parentNode,a.isBlock,c);a.remove(b),d&&a.isEmpty(d)&&a.remove(d)},t=function(a,b){var c=a.dom,e=a.selection.getStart(),f=i.getClosestListRootElm(a,e),g=c.getParent(e,c.isBlock,f);if(g&&c.isEmpty(g)){var k=h.normalizeRange(a.selection.getRng(!0)),l=c.getParent(j(a,k,b,f),"LI",f);if(l)return a.undoManager.transact(function(){s(c,g,f),d.mergeWithAdjacentLists(c,l.parentNode),a.selection.select(l,!0),a.selection.collapse(b)}),!0}return!1},u=function(a,b){return r(a,b)||t(a,b)},v=function(a){var b=a.selection.getStart(),c=i.getClosestListRootElm(a,b),d=a.dom.getParent(b,"LI,DT,DD",c);return!!(d||i.getSelectedListItems(a).length>0)&&(a.undoManager.transact(function(){a.execCommand("Delete"),g.normalizeLists(a.dom,a.getBody())}),!0)},w=function(a,b){return a.selection.isCollapsed()?u(a,b):v(a)},x=function(a){a.on("keydown",function(b){b.keyCode===c.BACKSPACE?w(a,!1)&&b.preventDefault():b.keyCode===c.DELETE&&w(a,!0)&&b.preventDefault()})};return{setup:x,backspaceDelete:w}}),g("2",["7"],function(a){var b=function(b){return{backspaceDelete:function(c){a.backspaceDelete(b,c)}}};return{get:b}}),g("8",["j","k","e","f"],function(a,b,c,d){var e=a.DOM,f=function(a,b){var d;if(c.isListNode(a)){for(;d=a.firstChild;)b.appendChild(d);e.remove(a)}},g=function(a){var b,d,g;return"DT"===a.nodeName?(e.rename(a,"DD"),!0):(b=a.previousSibling,b&&c.isListNode(b)?(b.appendChild(a),!0):b&&"LI"===b.nodeName&&c.isListNode(b.lastChild)?(b.lastChild.appendChild(a),f(a.lastChild,b.lastChild),!0):(b=a.nextSibling,b&&c.isListNode(b)?(b.insertBefore(a,b.firstChild),!0):(b=a.previousSibling,!(!b||"LI"!==b.nodeName)&&(d=e.create(a.parentNode.nodeName),g=e.getStyle(a.parentNode,"listStyleType"),g&&e.setStyle(d,"listStyleType",g),b.appendChild(d),d.appendChild(a),f(a.lastChild,d),!0))))},h=function(a){var c=d.getSelectedListItems(a);if(c.length){for(var e=b.createBookmark(a.selection.getRng(!0)),f=0;f<c.length&&(g(c[f])||0!==f);f++);return a.selection.setRng(b.resolveBookmark(e)),a.nodeChanged(),!0}};return{indentSelection:h}}),g("3",["8","9","a"],function(a,b,c){var d=function(a,b){return function(){var c=a.dom.getParent(a.selection.getStart(),"UL,OL,DL");return c&&c.nodeName===b}},e=function(e){e.on("BeforeExecCommand",function(c){var d,f=c.command.toLowerCase();if("indent"===f?a.indentSelection(e)&&(d=!0):"outdent"===f&&b.outdentSelection(e)&&(d=!0),d)return e.fire("ExecCommand",{command:c.command}),c.preventDefault(),!0}),e.addCommand("InsertUnorderedList",function(a,b){c.toggleList(e,"UL",b)}),e.addCommand("InsertOrderedList",function(a,b){c.toggleList(e,"OL",b)}),e.addCommand("InsertDefinitionList",function(a,b){c.toggleList(e,"DL",b)}),e.addQueryStateHandler("InsertUnorderedList",d(e,"UL")),e.addQueryStateHandler("InsertOrderedList",d(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",d(e,"DL"))};return{register:e}}),g("c",[],function(){var a=function(a){return a.getParam("lists_indent_on_tab",!0)};return{shouldIndentOnTab:a}}),g("4",["b","8","9","c","7"],function(a,b,c,d,e){var f=function(d){d.on("keydown",function(e){e.keyCode!==a.TAB||a.metaKeyPressed(e)||d.dom.getParent(d.selection.getStart(),"LI,DT,DD")&&(e.preventDefault(),e.shiftKey?c.outdentSelection(d):b.indentSelection(d))})},g=function(a){d.shouldIndentOnTab(a)&&f(a),e.setup(a)};return{setup:g}}),g("5",["d","e","f"],function(a,b,c){var d=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];if(b(d))return c}return-1},e=function(c,e){return function(f){var g=f.control;c.on("NodeChange",function(c){var f=d(c.parents,b.isTableCellNode),h=f!==-1?c.parents.slice(0,f):c.parents,i=a.grep(h,b.isListNode);g.active(i.length>0&&i[0].nodeName===e)})}},f=function(a){return function(d){var e=d.control;a.on("nodechange",function(){var d=c.getSelectedListItems(a),f=d.length>0&&b.isFirstChild(d[0]);e.disabled(f)})}},g=function(b){var c=function(b,c){var d=b.settings.plugins?b.settings.plugins:"";return a.inArray(d.split(/[ ,]/),c)!==-1};c(b,"advlist")||(b.addButton("numlist",{active:!1,title:"Numbered list",cmd:"InsertOrderedList",onPostRender:e(b,"OL")}),b.addButton("bullist",{active:!1,title:"Bullet list",cmd:"InsertUnorderedList",onPostRender:e(b,"UL")})),b.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:f(b)})};return{register:g}}),g("0",["1","2","3","4","5"],function(a,b,c,d,e){return a.add("lists",function(a){return d.setup(a),e.register(a),c.register(a),b.get(a)}),function(){}}),d("0")()}();
1
+ !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),l=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),n=tinymce.util.Tools.resolve("tinymce.util.VK"),p=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),o=function(e){return e&&"BR"===e.nodeName},r=function(e){return e&&3===e.nodeType},h=function(e){return e&&/^(OL|UL|DL)$/.test(e.nodeName)},i=function(e){return e&&/^(LI|DT|DD)$/.test(e.nodeName)},a=function(e){return e&&/^(TH|TD)$/.test(e.nodeName)},C=o,s=function(e){return e.parentNode.firstChild===e},c=function(e){return e.parentNode.lastChild===e},y=function(e,t){return t&&!!e.schema.getTextBlockElements()[t.nodeName]},f=function(e,t){return e&&e.nodeName in t},u=function(e,t){return!!o(t)&&!(!e.isBlock(t.nextSibling)||o(t.previousSibling))},m=function(e,t,n){var o=e.isEmpty(t);return!(n&&0<e.select("span[data-mce-type=bookmark]",t).length)&&o},g=function(e,t){return e.isChildOf(t,e.getRoot())},N=function(e,t){var n=d.getNode(e,t);return i(e)&&r(n)?{container:n,offset:t>=e.childNodes.length?n.data.length:0}:{container:e,offset:t}},L=function(e){var t=e.cloneRange(),n=N(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);var o=N(e.endContainer,e.endOffset);return t.setEnd(o.container,o.offset),t},S=t.DOM,b=function(r){var i={},e=function(e){var t,n,o;n=r[e?"startContainer":"endContainer"],o=r[e?"startOffset":"endOffset"],1===n.nodeType&&(t=S.create("span",{"data-mce-type":"bookmark"}),n.hasChildNodes()?(o=Math.min(o,n.childNodes.length-1),e?n.insertBefore(t,n.childNodes[o]):S.insertAfter(t,n.childNodes[o])):n.appendChild(t),n=t,o=0),i[e?"startContainer":"endContainer"]=n,i[e?"startOffset":"endOffset"]=o};return e(!0),r.collapsed||e(),i},D=function(r){function e(e){var t,n,o;t=o=r[e?"startContainer":"endContainer"],n=r[e?"startOffset":"endOffset"],t&&(1===t.nodeType&&(n=function(e){for(var t=e.parentNode.firstChild,n=0;t;){if(t===e)return n;1===t.nodeType&&"bookmark"===t.getAttribute("data-mce-type")||n++,t=t.nextSibling}return-1}(t),t=t.parentNode,S.remove(o),!t.hasChildNodes()&&S.isBlock(t)&&t.appendChild(S.create("br"))),r[e?"startContainer":"endContainer"]=t,r[e?"startOffset":"endOffset"]=n)}e(!0),e();var t=S.createRng();return t.setStart(r.startContainer,r.startOffset),r.endContainer&&t.setEnd(r.endContainer,r.endOffset),L(t)},k=t.DOM,T=function(e,t){var n,o=t.parentNode;"LI"===o.nodeName&&o.firstChild===t&&((n=o.previousSibling)&&"LI"===n.nodeName?(n.appendChild(t),m(e,o)&&k.remove(o)):k.setStyle(o,"listStyleType","none")),h(o)&&(n=o.previousSibling)&&"LI"===n.nodeName&&n.appendChild(t)},I=function(t,e){v.each(v.grep(t.select("ol,ul",e)),function(e){T(t,e)})},B=tinymce.util.Tools.resolve("tinymce.dom.DomQuery"),R=function(e){var t=e.selection.getStart(!0);return e.dom.getParent(t,"OL,UL,DL",O(e,t))},O=function(e,t){var n=e.dom.getParents(t,"TD,TH");return 0<n.length?n[0]:e.getBody()},E={getParentList:R,getSelectedSubLists:function(e){var t,n,o,r=R(e),i=e.selection.getSelectedBlocks();return o=i,(n=r)&&1===o.length&&o[0]===n?(t=r,v.grep(t.querySelectorAll("ol,ul,dl"),function(e){return h(e)})):v.grep(i,function(e){return h(e)&&r!==e})},getSelectedListItems:function(e){var n,t,o,r=e.selection.getSelectedBlocks();return v.grep((n=e,t=r,o=v.map(t,function(e){var t=n.dom.getParent(e,"li,dd,dt",O(n,e));return t||e}),B.unique(o)),function(e){return i(e)})},getClosestListRootElm:O},A=tinymce.util.Tools.resolve("tinymce.Env"),P=t.DOM,x=function(e,t,n){var o,r,i,a=P.createFragment(),s=e.schema.getBlockElements();if(e.settings.forced_root_block&&(n=n||e.settings.forced_root_block),n&&((r=P.create(n)).tagName===e.settings.forced_root_block&&P.setAttribs(r,e.settings.forced_root_block_attrs),f(t.firstChild,s)||a.appendChild(r)),t)for(;o=t.firstChild;){var d=o.nodeName;i||"SPAN"===d&&"bookmark"===o.getAttribute("data-mce-type")||(i=!0),f(o,s)?(a.appendChild(o),r=null):n?(r||(r=P.create(n),a.appendChild(r)),r.appendChild(o)):a.appendChild(o)}return e.settings.forced_root_block?i||A.ie&&!(10<A.ie)||r.appendChild(P.create("br",{"data-mce-bogus":"1"})):a.appendChild(P.create("br")),a},_=t.DOM,M=function(e,t,n,o){var r,i,a,s,d;for(a=_.select('span[data-mce-type="bookmark"]',t),o=o||x(e,n),(r=_.createRng()).setStartAfter(n),r.setEndAfter(t),s=(i=r.extractContents()).firstChild;s;s=s.firstChild)if("LI"===s.nodeName&&e.dom.isEmpty(s)){_.remove(s);break}e.dom.isEmpty(i)||_.insertAfter(i,t),_.insertAfter(o,t),m(e.dom,n.parentNode)&&(d=n.parentNode,v.each(a,function(e){d.parentNode.insertBefore(e,n.parentNode)}),_.remove(d)),_.remove(n),m(e.dom,t)&&_.remove(t)},U=t.DOM,H=function(e,t){m(e,t)&&U.remove(t)},$=function(e,t){var n,o,r=t.parentNode;return r?(n=r.parentNode,r===e.getBody()||("DD"===t.nodeName?U.rename(t,"DT"):s(t)&&c(t)?"LI"===n.nodeName?(U.insertAfter(t,n),H(e.dom,n),U.remove(r)):h(n)?U.remove(r,!0):(n.insertBefore(x(e,t),r),U.remove(r)):s(t)?"LI"===n.nodeName?(U.insertAfter(t,n),t.appendChild(r),H(e.dom,n)):h(n)?n.insertBefore(t,r):(n.insertBefore(x(e,t),r),U.remove(t)):c(t)?"LI"===n.nodeName?U.insertAfter(t,n):h(n)?U.insertAfter(t,r):(U.insertAfter(x(e,t),r),U.remove(t)):("LI"===n.nodeName?(r=n,o=x(e,t,"LI")):o=h(n)?x(e,t,"LI"):x(e,t),M(e,r,t,o),I(e.dom,r.parentNode)))):H(e.dom,t),!0},w=$,K=function(e){var t=E.getSelectedListItems(e);if(t.length){var n=b(e.selection.getRng()),o=void 0,r=void 0,i=E.getClosestListRootElm(e,e.selection.getStart(!0));for(o=t.length;o--;)for(var a=t[o].parentNode;a&&a!==i;){for(r=t.length;r--;)if(t[r]===a){t.splice(o,1);break}a=a.parentNode}for(o=0;o<t.length&&($(e,t[o])||0!==o);o++);return e.selection.setRng(D(n)),e.nodeChanged(),!0}},Q=function(n,e){v.each(e,function(e,t){n.setAttribute(t,e)})},W=function(e,t,n){var o,r,i,a,s,d,l;o=e,r=t,a=(i=n)["list-style-type"]?i["list-style-type"]:null,o.setStyle(r,"list-style-type",a),s=e,Q(d=t,(l=n)["list-attributes"]),v.each(s.select("li",d),function(e){Q(e,l["list-item-attributes"])})},j=function(e,t,n,o){var r,i;for(r=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],1===r.nodeType&&(r=r.childNodes[Math.min(i,r.childNodes.length-1)]||r),!n&&C(r.nextSibling)&&(r=r.nextSibling);r.parentNode!==o;){if(y(e,r))return r;if(/^(TD|TH)$/.test(r.parentNode.nodeName))return r;r=r.parentNode}return r},q=function(c,f,u){void 0===u&&(u={});var e,t=c.selection.getRng(!0),m="LI",n=E.getClosestListRootElm(c,c.selection.getStart(!0)),g=c.dom;"false"!==g.getContentEditable(c.selection.getNode())&&("DL"===(f=f.toUpperCase())&&(m="DT"),e=b(t),v.each(function(n,e,o){for(var r,i=[],a=n.dom,t=j(n,e,!0,o),s=j(n,e,!1,o),d=[],l=t;l&&(d.push(l),l!==s);l=l.nextSibling);return v.each(d,function(e){if(y(n,e))return i.push(e),void(r=null);if(a.isBlock(e)||C(e))return C(e)&&a.remove(e),void(r=null);var t=e.nextSibling;p.isBookmarkNode(e)&&(y(n,t)||!t&&e.parentNode===o)?r=null:(r||(r=a.create("p"),e.parentNode.insertBefore(r,e),i.push(r)),r.appendChild(e))}),i}(c,t,n),function(e){var t,n,o,r,i,a,s,d,l;(n=e.previousSibling)&&h(n)&&n.nodeName===f&&(o=n,r=u,i=g.getStyle(o,"list-style-type"),a=r?r["list-style-type"]:"",i===(a=null===a?"":a))?(t=n,e=g.rename(e,m),n.appendChild(e)):(t=g.create(f),e.parentNode.insertBefore(t,e),t.appendChild(e),e=g.rename(e,m)),s=g,d=e,l=["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],v.each(l,function(e){var t;return s.setStyle(d,((t={})[e]="",t))}),W(g,t,u),z(c.dom,t)}),c.selection.setRng(D(e)))},F=function(o){var e=b(o.selection.getRng(!0)),r=E.getClosestListRootElm(o,o.selection.getStart(!0)),t=E.getSelectedListItems(o),n=v.grep(t,function(e){return o.dom.isEmpty(e)});t=v.grep(t,function(e){return!o.dom.isEmpty(e)}),v.each(n,function(e){m(o.dom,e)&&w(o,e)}),v.each(t,function(e){var t,n;if(e.parentNode!==o.getBody()){for(t=e;t&&t!==r;t=t.parentNode)h(t)&&(n=t);M(o,n,e),I(o.dom,n.parentNode)}}),o.selection.setRng(D(e))},V=function(e,t,n){return d=n,(s=t)&&d&&h(s)&&s.nodeName===d.nodeName&&(i=t,a=n,(r=e).getStyle(i,"list-style-type",!0)===r.getStyle(a,"list-style-type",!0))&&(o=n,t.className===o.className);var o,r,i,a,s,d},z=function(e,t){var n,o;if(n=t.nextSibling,V(e,t,n)){for(;o=n.firstChild;)t.appendChild(o);e.remove(n)}if(n=t.previousSibling,V(e,t,n)){for(;o=n.lastChild;)t.insertBefore(o,t.firstChild);e.remove(n)}},G=function(t,e,n,o,r){if(e.nodeName!==o||J(r)){var i=b(t.selection.getRng(!0));v.each([e].concat(n),function(e){!function(e,t,n,o){if(t.nodeName!==n){var r=e.rename(t,n);W(e,r,o)}else W(e,t,o)}(t.dom,e,o,r)}),t.selection.setRng(D(i))}else F(t)},J=function(e){return"list-style-type"in e},X={toggleList:function(e,t,n){var o=E.getParentList(e),r=E.getSelectedSubLists(e);n=n||{},o&&0<r.length?G(e,o,r,t,n):function(e,t,n,o){if(t!==e.getBody())if(t)if(t.nodeName!==n||J(o)){var r=b(e.selection.getRng(!0));W(e.dom,t,o),z(e.dom,e.dom.rename(t,n)),e.selection.setRng(D(r))}else F(e);else q(e,n,o)}(e,o,t,n)},removeList:F,mergeWithAdjacentLists:z},Y=function(e,t,n,o){var r,i,a=t.startContainer,s=t.startOffset;if(3===a.nodeType&&(n?s<a.data.length:0<s))return a;for(r=e.schema.getNonEmptyElements(),1===a.nodeType&&(a=d.getNode(a,s)),i=new l(a,o),n&&u(e.dom,a)&&i.next();a=i[n?"next":"prev2"]();){if("LI"===a.nodeName&&!a.hasChildNodes())return a;if(r[a.nodeName])return a;if(3===a.nodeType&&0<a.data.length)return a}},Z=function(e,t){var n=t.childNodes;return 1===n.length&&!h(n[0])&&e.isBlock(n[0])},ee=function(e,t,n){var o,r,i,a;if(r=Z(e,n)?n.firstChild:n,Z(i=e,a=t)&&i.remove(a.firstChild,!0),!m(e,t,!0))for(;o=t.firstChild;)r.appendChild(o)},te=function(e,t,n){var o,r,i=t.parentNode;g(e,t)&&g(e,n)&&(h(n.lastChild)&&(r=n.lastChild),i===n.lastChild&&C(i.previousSibling)&&e.remove(i.previousSibling),(o=n.lastChild)&&C(o)&&t.hasChildNodes()&&e.remove(o),m(e,n,!0)&&e.$(n).empty(),ee(e,t,n),r&&n.appendChild(r),e.remove(t),m(e,i)&&i!==e.getRoot()&&e.remove(i))},ne=function(e,t,n,o){var r,i,a,s=e.dom;if(s.isEmpty(o))i=n,a=o,(r=e).dom.$(a).empty(),te(r.dom,i,a),r.selection.setCursorLocation(a);else{var d=b(t);te(s,n,o),e.selection.setRng(D(d))}},oe=function(e,t){var n,o,r,i=e.dom,a=e.selection,s=a.getStart(),d=E.getClosestListRootElm(e,s),l=i.getParent(a.getStart(),"LI",d);if(l){if((n=l.parentNode)===e.getBody()&&m(i,n))return!0;if(o=L(a.getRng(!0)),(r=i.getParent(Y(e,o,t,d),"LI",d))&&r!==l)return t?ne(e,o,r,l):function(e,t,n,o){var r=b(t);te(e.dom,n,o);var i=D(r);e.selection.setRng(i)}(e,o,l,r),!0;if(!r&&!t)return X.removeList(e),!0}return!1},re=function(e,t){return oe(e,t)||function(r,i){var a=r.dom,e=r.selection.getStart(),s=E.getClosestListRootElm(r,e),d=a.getParent(e,a.isBlock,s);if(d&&a.isEmpty(d)){var t=L(r.selection.getRng(!0)),l=a.getParent(Y(r,t,i,s),"LI",s);if(l)return r.undoManager.transact(function(){var e,t,n,o;t=d,n=s,o=(e=a).getParent(t.parentNode,e.isBlock,n),e.remove(t),o&&e.isEmpty(o)&&e.remove(o),X.mergeWithAdjacentLists(a,l.parentNode),r.selection.select(l,!0),r.selection.collapse(i)}),!0}return!1}(e,t)},ie=function(e,t){return e.selection.isCollapsed()?re(e,t):(o=(n=e).selection.getStart(),r=E.getClosestListRootElm(n,o),!!(n.dom.getParent(o,"LI,DT,DD",r)||0<E.getSelectedListItems(n).length)&&(n.undoManager.transact(function(){n.execCommand("Delete"),I(n.dom,n.getBody())}),!0));var n,o,r},ae=function(t){t.on("keydown",function(e){e.keyCode===n.BACKSPACE?ie(t,!1)&&e.preventDefault():e.keyCode===n.DELETE&&ie(t,!0)&&e.preventDefault()})},se=ie,de=function(t){return{backspaceDelete:function(e){se(t,e)}}},le=t.DOM,ce=function(e,t){var n;if(h(e)){for(;n=e.firstChild;)t.appendChild(n);le.remove(e)}},fe=function(e){var t,n,o,r,i=E.getSelectedListItems(e);if(i.length){for(var a=b(e.selection.getRng(!0)),s=0;s<i.length&&(t=i[s],r=o=n=void 0,("DT"===t.nodeName?(le.rename(t,"DD"),1):(n=t.previousSibling)&&h(n)?(n.appendChild(t),1):n&&"LI"===n.nodeName&&h(n.lastChild)?(n.lastChild.appendChild(t),ce(t.lastChild,n.lastChild),1):(n=t.nextSibling)&&h(n)?(n.insertBefore(t,n.firstChild),1):(n=t.previousSibling)&&"LI"===n.nodeName&&(o=le.create(t.parentNode.nodeName),(r=le.getStyle(t.parentNode,"listStyleType"))&&le.setStyle(o,"listStyleType",r),n.appendChild(o),o.appendChild(t),ce(t.lastChild,o),1))||0!==s);s++);return e.selection.setRng(D(a)),e.nodeChanged(),!0}},ue=function(t,n){return function(){var e=t.dom.getParent(t.selection.getStart(),"UL,OL,DL");return e&&e.nodeName===n}},me=function(o){o.on("BeforeExecCommand",function(e){var t,n=e.command.toLowerCase();if("indent"===n?fe(o)&&(t=!0):"outdent"===n&&K(o)&&(t=!0),t)return o.fire("ExecCommand",{command:e.command}),e.preventDefault(),!0}),o.addCommand("InsertUnorderedList",function(e,t){X.toggleList(o,"UL",t)}),o.addCommand("InsertOrderedList",function(e,t){X.toggleList(o,"OL",t)}),o.addCommand("InsertDefinitionList",function(e,t){X.toggleList(o,"DL",t)}),o.addQueryStateHandler("InsertUnorderedList",ue(o,"UL")),o.addQueryStateHandler("InsertOrderedList",ue(o,"OL")),o.addQueryStateHandler("InsertDefinitionList",ue(o,"DL"))},ge=function(e){return e.getParam("lists_indent_on_tab",!0)},pe=function(e){var t;ge(e)&&(t=e).on("keydown",function(e){e.keyCode!==n.TAB||n.metaKeyPressed(e)||t.dom.getParent(t.selection.getStart(),"LI,DT,DD")&&(e.preventDefault(),e.shiftKey?K(t):fe(t))}),ae(e)},ve=function(t,i){return function(e){var r=e.control;t.on("NodeChange",function(e){var t=function(e,t){for(var n=0;n<e.length;n++)if(t(e[n]))return n;return-1}(e.parents,a),n=-1!==t?e.parents.slice(0,t):e.parents,o=v.grep(n,h);r.active(0<o.length&&o[0].nodeName===i)})}},he=function(e){var t,n,o,r;n="advlist",o=(t=e).settings.plugins?t.settings.plugins:"",-1===v.inArray(o.split(/[ ,]/),n)&&(e.addButton("numlist",{active:!1,title:"Numbered list",cmd:"InsertOrderedList",onPostRender:ve(e,"OL")}),e.addButton("bullist",{active:!1,title:"Bullet list",cmd:"InsertUnorderedList",onPostRender:ve(e,"UL")})),e.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:(r=e,function(e){var n=e.control;r.on("nodechange",function(){var e=E.getSelectedListItems(r),t=0<e.length&&s(e[0]);n.disabled(t)})})})};e.add("lists",function(e){return pe(e),he(e),me(e),de(e)})}();
@@ -1,2026 +1,1166 @@
1
1
  (function () {
2
+ var media = (function () {
3
+ 'use strict';
2
4
 
3
- var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
5
+ var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
4
6
 
5
- // Used when there is no 'main' module.
6
- // The name is probably (hopefully) unique so minification removes for releases.
7
- var register_3795 = function (id) {
8
- var module = dem(id);
9
- var fragments = id.split('.');
10
- var target = Function('return this;')();
11
- for (var i = 0; i < fragments.length - 1; ++i) {
12
- if (target[fragments[i]] === undefined)
13
- target[fragments[i]] = {};
14
- target = target[fragments[i]];
15
- }
16
- target[fragments[fragments.length - 1]] = module;
17
- };
18
-
19
- var instantiate = function (id) {
20
- var actual = defs[id];
21
- var dependencies = actual.deps;
22
- var definition = actual.defn;
23
- var len = dependencies.length;
24
- var instances = new Array(len);
25
- for (var i = 0; i < len; ++i)
26
- instances[i] = dem(dependencies[i]);
27
- var defResult = definition.apply(null, instances);
28
- if (defResult === undefined)
29
- throw 'module [' + id + '] returned undefined';
30
- actual.instance = defResult;
31
- };
32
-
33
- var def = function (id, dependencies, definition) {
34
- if (typeof id !== 'string')
35
- throw 'module id must be a string';
36
- else if (dependencies === undefined)
37
- throw 'no dependencies for ' + id;
38
- else if (definition === undefined)
39
- throw 'no definition function for ' + id;
40
- defs[id] = {
41
- deps: dependencies,
42
- defn: definition,
43
- instance: undefined
44
- };
45
- };
46
-
47
- var dem = function (id) {
48
- var actual = defs[id];
49
- if (actual === undefined)
50
- throw 'module [' + id + '] was undefined';
51
- else if (actual.instance === undefined)
52
- instantiate(id);
53
- return actual.instance;
54
- };
55
-
56
- var req = function (ids, callback) {
57
- var len = ids.length;
58
- var instances = new Array(len);
59
- for (var i = 0; i < len; ++i)
60
- instances[i] = dem(ids[i]);
61
- callback.apply(null, instances);
62
- };
63
-
64
- var ephox = {};
65
-
66
- ephox.bolt = {
67
- module: {
68
- api: {
69
- define: def,
70
- require: req,
71
- demand: dem
72
- }
73
- }
74
- };
75
-
76
- var define = def;
77
- var require = req;
78
- var demand = dem;
79
- // this helps with minification when using a lot of global references
80
- var defineGlobal = function (id, ref) {
81
- define(id, [], function () { return ref; });
82
- };
83
- /*jsc
84
- ["tinymce.plugins.media.Plugin","tinymce.core.PluginManager","tinymce.plugins.media.api.Api","tinymce.plugins.media.api.Commands","tinymce.plugins.media.core.FilterContent","tinymce.plugins.media.core.ResolveName","tinymce.plugins.media.core.Selection","tinymce.plugins.media.ui.Buttons","global!tinymce.util.Tools.resolve","tinymce.plugins.media.ui.Dialog","tinymce.core.html.Node","tinymce.core.util.Tools","tinymce.plugins.media.core.Nodes","tinymce.plugins.media.core.Sanitize","tinymce.plugins.media.core.UpdateHtml","tinymce.core.Env","tinymce.plugins.media.api.Settings","tinymce.plugins.media.core.HtmlToData","tinymce.plugins.media.core.Service","tinymce.plugins.media.core.Size","tinymce.core.html.Writer","tinymce.core.html.SaxParser","tinymce.core.html.Schema","tinymce.core.dom.DOMUtils","tinymce.plugins.media.ui.SizeManager","tinymce.plugins.media.core.VideoScript","tinymce.core.util.Promise","tinymce.plugins.media.core.DataToHtml","tinymce.plugins.media.core.Mime","tinymce.plugins.media.core.UrlPatterns"]
85
- jsc*/
86
- defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
87
- /**
88
- * ResolveGlobal.js
89
- *
90
- * Released under LGPL License.
91
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
92
- *
93
- * License: http://www.tinymce.com/license
94
- * Contributing: http://www.tinymce.com/contributing
95
- */
96
-
97
- define(
98
- 'tinymce.core.PluginManager',
99
- [
100
- 'global!tinymce.util.Tools.resolve'
101
- ],
102
- function (resolve) {
103
- return resolve('tinymce.PluginManager');
104
- }
105
- );
106
-
107
- /**
108
- * ResolveGlobal.js
109
- *
110
- * Released under LGPL License.
111
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
112
- *
113
- * License: http://www.tinymce.com/license
114
- * Contributing: http://www.tinymce.com/contributing
115
- */
116
-
117
- define(
118
- 'tinymce.core.Env',
119
- [
120
- 'global!tinymce.util.Tools.resolve'
121
- ],
122
- function (resolve) {
123
- return resolve('tinymce.Env');
124
- }
125
- );
126
-
127
- /**
128
- * ResolveGlobal.js
129
- *
130
- * Released under LGPL License.
131
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
132
- *
133
- * License: http://www.tinymce.com/license
134
- * Contributing: http://www.tinymce.com/contributing
135
- */
136
-
137
- define(
138
- 'tinymce.core.util.Tools',
139
- [
140
- 'global!tinymce.util.Tools.resolve'
141
- ],
142
- function (resolve) {
143
- return resolve('tinymce.util.Tools');
144
- }
145
- );
146
-
147
- /**
148
- * Settings.js
149
- *
150
- * Released under LGPL License.
151
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
152
- *
153
- * License: http://www.tinymce.com/license
154
- * Contributing: http://www.tinymce.com/contributing
155
- */
156
-
157
- define(
158
- 'tinymce.plugins.media.api.Settings',
159
- [
160
- ],
161
- function () {
162
- var getScripts = function (editor) {
163
- return editor.getParam('media_scripts');
164
- };
165
-
166
- var getAudioTemplateCallback = function (editor) {
167
- return editor.getParam('audio_template_callback');
168
- };
169
-
170
- var getVideoTemplateCallback = function (editor) {
171
- return editor.getParam('video_template_callback');
172
- };
173
-
174
- var hasLiveEmbeds = function (editor) {
175
- return editor.getParam('media_live_embeds', true);
176
- };
177
-
178
- var shouldFilterHtml = function (editor) {
179
- return editor.getParam('media_filter_html', true);
180
- };
181
-
182
- var getUrlResolver = function (editor) {
183
- return editor.getParam('media_url_resolver');
184
- };
185
-
186
- var hasAltSource = function (editor) {
187
- return editor.getParam('media_alt_source', true);
188
- };
189
-
190
- var hasPoster = function (editor) {
191
- return editor.getParam('media_poster', true);
192
- };
193
-
194
- var hasDimensions = function (editor) {
195
- return editor.getParam('media_dimensions', true);
196
- };
197
-
198
- return {
199
- getScripts: getScripts,
200
- getAudioTemplateCallback: getAudioTemplateCallback,
201
- getVideoTemplateCallback: getVideoTemplateCallback,
202
- hasLiveEmbeds: hasLiveEmbeds,
203
- shouldFilterHtml: shouldFilterHtml,
204
- getUrlResolver: getUrlResolver,
205
- hasAltSource: hasAltSource,
206
- hasPoster: hasPoster,
207
- hasDimensions: hasDimensions
208
- };
209
- }
210
- );
211
-
212
- /**
213
- * ResolveGlobal.js
214
- *
215
- * Released under LGPL License.
216
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
217
- *
218
- * License: http://www.tinymce.com/license
219
- * Contributing: http://www.tinymce.com/contributing
220
- */
221
-
222
- define(
223
- 'tinymce.core.html.SaxParser',
224
- [
225
- 'global!tinymce.util.Tools.resolve'
226
- ],
227
- function (resolve) {
228
- return resolve('tinymce.html.SaxParser');
229
- }
230
- );
231
-
232
- /**
233
- * ResolveGlobal.js
234
- *
235
- * Released under LGPL License.
236
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
237
- *
238
- * License: http://www.tinymce.com/license
239
- * Contributing: http://www.tinymce.com/contributing
240
- */
7
+ var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
241
8
 
242
- define(
243
- 'tinymce.core.html.Schema',
244
- [
245
- 'global!tinymce.util.Tools.resolve'
246
- ],
247
- function (resolve) {
248
- return resolve('tinymce.html.Schema');
249
- }
250
- );
9
+ var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
251
10
 
252
- /**
253
- * ResolveGlobal.js
254
- *
255
- * Released under LGPL License.
256
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
257
- *
258
- * License: http://www.tinymce.com/license
259
- * Contributing: http://www.tinymce.com/contributing
260
- */
11
+ var getScripts = function (editor) {
12
+ return editor.getParam('media_scripts');
13
+ };
14
+ var getAudioTemplateCallback = function (editor) {
15
+ return editor.getParam('audio_template_callback');
16
+ };
17
+ var getVideoTemplateCallback = function (editor) {
18
+ return editor.getParam('video_template_callback');
19
+ };
20
+ var hasLiveEmbeds = function (editor) {
21
+ return editor.getParam('media_live_embeds', true);
22
+ };
23
+ var shouldFilterHtml = function (editor) {
24
+ return editor.getParam('media_filter_html', true);
25
+ };
26
+ var getUrlResolver = function (editor) {
27
+ return editor.getParam('media_url_resolver');
28
+ };
29
+ var hasAltSource = function (editor) {
30
+ return editor.getParam('media_alt_source', true);
31
+ };
32
+ var hasPoster = function (editor) {
33
+ return editor.getParam('media_poster', true);
34
+ };
35
+ var hasDimensions = function (editor) {
36
+ return editor.getParam('media_dimensions', true);
37
+ };
38
+ var $_5hjeirh2jm0ofzj6 = {
39
+ getScripts: getScripts,
40
+ getAudioTemplateCallback: getAudioTemplateCallback,
41
+ getVideoTemplateCallback: getVideoTemplateCallback,
42
+ hasLiveEmbeds: hasLiveEmbeds,
43
+ shouldFilterHtml: shouldFilterHtml,
44
+ getUrlResolver: getUrlResolver,
45
+ hasAltSource: hasAltSource,
46
+ hasPoster: hasPoster,
47
+ hasDimensions: hasDimensions
48
+ };
261
49
 
262
- define(
263
- 'tinymce.core.dom.DOMUtils',
264
- [
265
- 'global!tinymce.util.Tools.resolve'
266
- ],
267
- function (resolve) {
268
- return resolve('tinymce.dom.DOMUtils');
269
- }
270
- );
50
+ var global$3 = tinymce.util.Tools.resolve('tinymce.html.SaxParser');
271
51
 
272
- /**
273
- * VideoScript.js
274
- *
275
- * Released under LGPL License.
276
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
277
- *
278
- * License: http://www.tinymce.com/license
279
- * Contributing: http://www.tinymce.com/contributing
280
- */
52
+ var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
281
53
 
282
- define(
283
- 'tinymce.plugins.media.core.VideoScript',
284
- [
285
- ],
286
- function () {
287
- var getVideoScriptMatch = function (prefixes, src) {
288
- // var prefixes = Settings.getScripts(editor);
289
- if (prefixes) {
290
- for (var i = 0; i < prefixes.length; i++) {
291
- if (src.indexOf(prefixes[i].filter) !== -1) {
292
- return prefixes[i];
293
- }
54
+ var getVideoScriptMatch = function (prefixes, src) {
55
+ if (prefixes) {
56
+ for (var i = 0; i < prefixes.length; i++) {
57
+ if (src.indexOf(prefixes[i].filter) !== -1) {
58
+ return prefixes[i];
294
59
  }
295
60
  }
296
- };
297
-
298
- return {
299
- getVideoScriptMatch: getVideoScriptMatch
300
- };
301
- }
302
- );
303
- /**
304
- * Size.js
305
- *
306
- * Released under LGPL License.
307
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
308
- *
309
- * License: http://www.tinymce.com/license
310
- * Contributing: http://www.tinymce.com/contributing
311
- */
312
-
313
- define(
314
- 'tinymce.plugins.media.core.Size',
315
- [
316
- ],
317
- function () {
318
- var trimPx = function (value) {
319
- return value.replace(/px$/, '');
320
- };
61
+ }
62
+ };
63
+ var $_545y8yh6jm0ofzjb = { getVideoScriptMatch: getVideoScriptMatch };
321
64
 
322
- var addPx = function (value) {
323
- return /^[0-9.]+$/.test(value) ? (value + 'px') : value;
65
+ var trimPx = function (value) {
66
+ return value.replace(/px$/, '');
67
+ };
68
+ var addPx = function (value) {
69
+ return /^[0-9.]+$/.test(value) ? value + 'px' : value;
70
+ };
71
+ var getSize = function (name) {
72
+ return function (elm) {
73
+ return elm ? trimPx(elm.style[name]) : '';
324
74
  };
325
-
326
- var getSize = function (name) {
327
- return function (elm) {
328
- return elm ? trimPx(elm.style[name]) : '';
329
- };
75
+ };
76
+ var setSize = function (name) {
77
+ return function (elm, value) {
78
+ if (elm) {
79
+ elm.style[name] = addPx(value);
80
+ }
330
81
  };
82
+ };
83
+ var $_am85wh7jm0ofzjc = {
84
+ getMaxWidth: getSize('maxWidth'),
85
+ getMaxHeight: getSize('maxHeight'),
86
+ setMaxWidth: setSize('maxWidth'),
87
+ setMaxHeight: setSize('maxHeight')
88
+ };
331
89
 
332
- var setSize = function (name) {
333
- return function (elm, value) {
334
- if (elm) {
335
- elm.style[name] = addPx(value);
90
+ var DOM = global$4.DOM;
91
+ var getEphoxEmbedIri = function (elm) {
92
+ return DOM.getAttrib(elm, 'data-ephox-embed-iri');
93
+ };
94
+ var isEphoxEmbed = function (html) {
95
+ var fragment = DOM.createFragment(html);
96
+ return getEphoxEmbedIri(fragment.firstChild) !== '';
97
+ };
98
+ var htmlToDataSax = function (prefixes, html) {
99
+ var data = {};
100
+ global$3({
101
+ validate: false,
102
+ allow_conditional_comments: true,
103
+ special: 'script,noscript',
104
+ start: function (name, attrs) {
105
+ if (!data.source1 && name === 'param') {
106
+ data.source1 = attrs.map.movie;
336
107
  }
337
- };
338
- };
339
-
340
- return {
341
- getMaxWidth: getSize('maxWidth'),
342
- getMaxHeight: getSize('maxHeight'),
343
- setMaxWidth: setSize('maxWidth'),
344
- setMaxHeight: setSize('maxHeight')
345
- };
346
- }
347
- );
348
- /**
349
- * HtmlToData.js
350
- *
351
- * Released under LGPL License.
352
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
353
- *
354
- * License: http://www.tinymce.com/license
355
- * Contributing: http://www.tinymce.com/contributing
356
- */
357
-
358
- define(
359
- 'tinymce.plugins.media.core.HtmlToData',
360
- [
361
- 'tinymce.core.util.Tools',
362
- 'tinymce.core.html.SaxParser',
363
- 'tinymce.core.html.Schema',
364
- 'tinymce.core.dom.DOMUtils',
365
- 'tinymce.plugins.media.core.VideoScript',
366
- 'tinymce.plugins.media.core.Size'
367
- ],
368
- function (Tools, SaxParser, Schema, DOMUtils, VideoScript, Size) {
369
- var DOM = DOMUtils.DOM;
370
-
371
- var getEphoxEmbedIri = function (elm) {
372
- return DOM.getAttrib(elm, 'data-ephox-embed-iri');
373
- };
374
-
375
- var isEphoxEmbed = function (html) {
376
- var fragment = DOM.createFragment(html);
377
- return getEphoxEmbedIri(fragment.firstChild) !== '';
378
- };
379
-
380
- var htmlToDataSax = function (prefixes, html) {
381
- var data = {};
382
-
383
- new SaxParser({
384
- validate: false,
385
- allow_conditional_comments: true,
386
- special: 'script,noscript',
387
- start: function (name, attrs) {
388
- if (!data.source1 && name === "param") {
389
- data.source1 = attrs.map.movie;
108
+ if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') {
109
+ if (!data.type) {
110
+ data.type = name;
390
111
  }
391
-
392
- if (name === "iframe" || name === "object" || name === "embed" || name === "video" || name === "audio") {
393
- if (!data.type) {
394
- data.type = name;
395
- }
396
-
397
- data = Tools.extend(attrs.map, data);
398
- }
399
-
400
- if (name === "script") {
401
- var videoScript = VideoScript.getVideoScriptMatch(prefixes, attrs.map.src);
402
- if (!videoScript) {
403
- return;
404
- }
405
-
406
- data = {
407
- type: "script",
408
- source1: attrs.map.src,
409
- width: videoScript.width,
410
- height: videoScript.height
411
- };
412
- }
413
-
414
- if (name === "source") {
415
- if (!data.source1) {
416
- data.source1 = attrs.map.src;
417
- } else if (!data.source2) {
418
- data.source2 = attrs.map.src;
419
- }
112
+ data = global$2.extend(attrs.map, data);
113
+ }
114
+ if (name === 'script') {
115
+ var videoScript = $_545y8yh6jm0ofzjb.getVideoScriptMatch(prefixes, attrs.map.src);
116
+ if (!videoScript) {
117
+ return;
420
118
  }
421
-
422
- if (name === "img" && !data.poster) {
423
- data.poster = attrs.map.src;
119
+ data = {
120
+ type: 'script',
121
+ source1: attrs.map.src,
122
+ width: videoScript.width,
123
+ height: videoScript.height
124
+ };
125
+ }
126
+ if (name === 'source') {
127
+ if (!data.source1) {
128
+ data.source1 = attrs.map.src;
129
+ } else if (!data.source2) {
130
+ data.source2 = attrs.map.src;
424
131
  }
425
132
  }
426
- }).parse(html);
427
-
428
- data.source1 = data.source1 || data.src || data.data;
429
- data.source2 = data.source2 || '';
430
- data.poster = data.poster || '';
431
-
432
- return data;
433
- };
434
-
435
- var ephoxEmbedHtmlToData = function (html) {
436
- var fragment = DOM.createFragment(html);
437
- var div = fragment.firstChild;
438
-
439
- return {
440
- type: 'ephox-embed-iri',
441
- source1: getEphoxEmbedIri(div),
442
- source2: '',
443
- poster: '',
444
- width: Size.getMaxWidth(div),
445
- height: Size.getMaxHeight(div)
446
- };
447
- };
448
-
449
- var htmlToData = function (prefixes, html) {
450
- return isEphoxEmbed(html) ? ephoxEmbedHtmlToData(html) : htmlToDataSax(prefixes, html);
451
- };
452
-
453
- return {
454
- htmlToData: htmlToData
455
- };
456
- }
457
- );
458
- /**
459
- * ResolveGlobal.js
460
- *
461
- * Released under LGPL License.
462
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
463
- *
464
- * License: http://www.tinymce.com/license
465
- * Contributing: http://www.tinymce.com/contributing
466
- */
467
-
468
- define(
469
- 'tinymce.core.util.Promise',
470
- [
471
- 'global!tinymce.util.Tools.resolve'
472
- ],
473
- function (resolve) {
474
- return resolve('tinymce.util.Promise');
475
- }
476
- );
477
-
478
- /**
479
- * Mime.js
480
- *
481
- * Released under LGPL License.
482
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
483
- *
484
- * License: http://www.tinymce.com/license
485
- * Contributing: http://www.tinymce.com/contributing
486
- */
487
-
488
- define(
489
- 'tinymce.plugins.media.core.Mime',
490
- [
491
- ],
492
- function () {
493
- var guess = function (url) {
494
- var mimes = {
495
- 'mp3': 'audio/mpeg',
496
- 'wav': 'audio/wav',
497
- 'mp4': 'video/mp4',
498
- 'webm': 'video/webm',
499
- 'ogg': 'video/ogg',
500
- 'swf': 'application/x-shockwave-flash'
501
- };
502
- var fileEnd = url.toLowerCase().split('.').pop();
503
- var mime = mimes[fileEnd];
504
-
505
- return mime ? mime : '';
506
- };
507
-
133
+ if (name === 'img' && !data.poster) {
134
+ data.poster = attrs.map.src;
135
+ }
136
+ }
137
+ }).parse(html);
138
+ data.source1 = data.source1 || data.src || data.data;
139
+ data.source2 = data.source2 || '';
140
+ data.poster = data.poster || '';
141
+ return data;
142
+ };
143
+ var ephoxEmbedHtmlToData = function (html) {
144
+ var fragment = DOM.createFragment(html);
145
+ var div = fragment.firstChild;
508
146
  return {
509
- guess: guess
147
+ type: 'ephox-embed-iri',
148
+ source1: getEphoxEmbedIri(div),
149
+ source2: '',
150
+ poster: '',
151
+ width: $_am85wh7jm0ofzjc.getMaxWidth(div),
152
+ height: $_am85wh7jm0ofzjc.getMaxHeight(div)
510
153
  };
511
- }
512
- );
513
- /**
514
- * ResolveGlobal.js
515
- *
516
- * Released under LGPL License.
517
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
518
- *
519
- * License: http://www.tinymce.com/license
520
- * Contributing: http://www.tinymce.com/contributing
521
- */
522
-
523
- define(
524
- 'tinymce.core.html.Writer',
525
- [
526
- 'global!tinymce.util.Tools.resolve'
527
- ],
528
- function (resolve) {
529
- return resolve('tinymce.html.Writer');
530
- }
531
- );
532
-
533
- /**
534
- * UpdateHtml.js
535
- *
536
- * Released under LGPL License.
537
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
538
- *
539
- * License: http://www.tinymce.com/license
540
- * Contributing: http://www.tinymce.com/contributing
541
- */
542
-
543
- define(
544
- 'tinymce.plugins.media.core.UpdateHtml',
545
- [
546
- 'tinymce.core.html.Writer',
547
- 'tinymce.core.html.SaxParser',
548
- 'tinymce.core.html.Schema',
549
- 'tinymce.core.dom.DOMUtils',
550
- 'tinymce.plugins.media.core.Size'
551
- ],
552
- function (Writer, SaxParser, Schema, DOMUtils, Size) {
553
- var DOM = DOMUtils.DOM;
554
-
555
- var setAttributes = function (attrs, updatedAttrs) {
556
- var name;
557
- var i;
558
- var value;
559
- var attr;
560
-
561
- for (name in updatedAttrs) {
562
- value = "" + updatedAttrs[name];
563
-
564
- if (attrs.map[name]) {
565
- i = attrs.length;
566
- while (i--) {
567
- attr = attrs[i];
568
-
569
- if (attr.name === name) {
570
- if (value) {
571
- attrs.map[name] = value;
572
- attr.value = value;
573
- } else {
574
- delete attrs.map[name];
575
- attrs.splice(i, 1);
576
- }
154
+ };
155
+ var htmlToData = function (prefixes, html) {
156
+ return isEphoxEmbed(html) ? ephoxEmbedHtmlToData(html) : htmlToDataSax(prefixes, html);
157
+ };
158
+ var $_5d5iuvh3jm0ofzj8 = { htmlToData: htmlToData };
159
+
160
+ var global$5 = tinymce.util.Tools.resolve('tinymce.util.Promise');
161
+
162
+ var guess = function (url) {
163
+ var mimes = {
164
+ mp3: 'audio/mpeg',
165
+ wav: 'audio/wav',
166
+ mp4: 'video/mp4',
167
+ webm: 'video/webm',
168
+ ogg: 'video/ogg',
169
+ swf: 'application/x-shockwave-flash'
170
+ };
171
+ var fileEnd = url.toLowerCase().split('.').pop();
172
+ var mime = mimes[fileEnd];
173
+ return mime ? mime : '';
174
+ };
175
+ var $_1qa9r9hbjm0ofzjk = { guess: guess };
176
+
177
+ var global$6 = tinymce.util.Tools.resolve('tinymce.html.Writer');
178
+
179
+ var global$7 = tinymce.util.Tools.resolve('tinymce.html.Schema');
180
+
181
+ var DOM$1 = global$4.DOM;
182
+ var setAttributes = function (attrs, updatedAttrs) {
183
+ var name;
184
+ var i;
185
+ var value;
186
+ var attr;
187
+ for (name in updatedAttrs) {
188
+ value = '' + updatedAttrs[name];
189
+ if (attrs.map[name]) {
190
+ i = attrs.length;
191
+ while (i--) {
192
+ attr = attrs[i];
193
+ if (attr.name === name) {
194
+ if (value) {
195
+ attrs.map[name] = value;
196
+ attr.value = value;
197
+ } else {
198
+ delete attrs.map[name];
199
+ attrs.splice(i, 1);
577
200
  }
578
201
  }
579
- } else if (value) {
580
- attrs.push({
581
- name: name,
582
- value: value
583
- });
584
-
585
- attrs.map[name] = value;
586
202
  }
203
+ } else if (value) {
204
+ attrs.push({
205
+ name: name,
206
+ value: value
207
+ });
208
+ attrs.map[name] = value;
587
209
  }
588
- };
589
-
590
- var normalizeHtml = function (html) {
591
- var writer = new Writer();
592
- var parser = new SaxParser(writer);
593
- parser.parse(html);
594
- return writer.getContent();
595
- };
596
-
597
- var updateHtmlSax = function (html, data, updateAll) {
598
- var writer = new Writer();
599
- var sourceCount = 0;
600
- var hasImage;
601
-
602
- new SaxParser({
603
- validate: false,
604
- allow_conditional_comments: true,
605
- special: 'script,noscript',
606
-
607
- comment: function (text) {
608
- writer.comment(text);
609
- },
610
-
611
- cdata: function (text) {
612
- writer.cdata(text);
613
- },
614
-
615
- text: function (text, raw) {
616
- writer.text(text, raw);
617
- },
618
-
619
- start: function (name, attrs, empty) {
210
+ }
211
+ };
212
+ var normalizeHtml = function (html) {
213
+ var writer = global$6();
214
+ var parser = global$3(writer);
215
+ parser.parse(html);
216
+ return writer.getContent();
217
+ };
218
+ var updateHtmlSax = function (html, data, updateAll) {
219
+ var writer = global$6();
220
+ var sourceCount = 0;
221
+ var hasImage;
222
+ global$3({
223
+ validate: false,
224
+ allow_conditional_comments: true,
225
+ special: 'script,noscript',
226
+ comment: function (text) {
227
+ writer.comment(text);
228
+ },
229
+ cdata: function (text) {
230
+ writer.cdata(text);
231
+ },
232
+ text: function (text, raw) {
233
+ writer.text(text, raw);
234
+ },
235
+ start: function (name, attrs, empty) {
236
+ switch (name) {
237
+ case 'video':
238
+ case 'object':
239
+ case 'embed':
240
+ case 'img':
241
+ case 'iframe':
242
+ if (data.height !== undefined && data.width !== undefined) {
243
+ setAttributes(attrs, {
244
+ width: data.width,
245
+ height: data.height
246
+ });
247
+ }
248
+ break;
249
+ }
250
+ if (updateAll) {
620
251
  switch (name) {
621
- case "video":
622
- case "object":
623
- case "embed":
624
- case "img":
625
- case "iframe":
626
- if (data.height !== undefined && data.width !== undefined) {
627
- setAttributes(attrs, {
628
- width: data.width,
629
- height: data.height
630
- });
252
+ case 'video':
253
+ setAttributes(attrs, {
254
+ poster: data.poster,
255
+ src: ''
256
+ });
257
+ if (data.source2) {
258
+ setAttributes(attrs, { src: '' });
259
+ }
260
+ break;
261
+ case 'iframe':
262
+ setAttributes(attrs, { src: data.source1 });
263
+ break;
264
+ case 'source':
265
+ sourceCount++;
266
+ if (sourceCount <= 2) {
267
+ setAttributes(attrs, {
268
+ src: data['source' + sourceCount],
269
+ type: data['source' + sourceCount + 'mime']
270
+ });
271
+ if (!data['source' + sourceCount]) {
272
+ return;
631
273
  }
632
- break;
274
+ }
275
+ break;
276
+ case 'img':
277
+ if (!data.poster) {
278
+ return;
279
+ }
280
+ hasImage = true;
281
+ break;
633
282
  }
634
-
635
- if (updateAll) {
636
- switch (name) {
637
- case "video":
638
- setAttributes(attrs, {
639
- poster: data.poster,
640
- src: ""
641
- });
642
-
643
- if (data.source2) {
644
- setAttributes(attrs, {
645
- src: ""
646
- });
647
- }
648
- break;
649
-
650
- case "iframe":
283
+ }
284
+ writer.start(name, attrs, empty);
285
+ },
286
+ end: function (name) {
287
+ if (name === 'video' && updateAll) {
288
+ for (var index = 1; index <= 2; index++) {
289
+ if (data['source' + index]) {
290
+ var attrs = [];
291
+ attrs.map = {};
292
+ if (sourceCount < index) {
651
293
  setAttributes(attrs, {
652
- src: data.source1
294
+ src: data['source' + index],
295
+ type: data['source' + index + 'mime']
653
296
  });
654
- break;
655
-
656
- case "source":
657
- sourceCount++;
658
-
659
- if (sourceCount <= 2) {
660
- setAttributes(attrs, {
661
- src: data["source" + sourceCount],
662
- type: data["source" + sourceCount + "mime"]
663
- });
664
-
665
- if (!data["source" + sourceCount]) {
666
- return;
667
- }
668
- }
669
- break;
670
-
671
- case "img":
672
- if (!data.poster) {
673
- return;
674
- }
675
-
676
- hasImage = true;
677
- break;
678
- }
679
- }
680
-
681
- writer.start(name, attrs, empty);
682
- },
683
-
684
- end: function (name) {
685
- if (name === "video" && updateAll) {
686
- for (var index = 1; index <= 2; index++) {
687
- if (data["source" + index]) {
688
- var attrs = [];
689
- attrs.map = {};
690
-
691
- if (sourceCount < index) {
692
- setAttributes(attrs, {
693
- src: data["source" + index],
694
- type: data["source" + index + "mime"]
695
- });
696
-
697
- writer.start("source", attrs, true);
698
- }
297
+ writer.start('source', attrs, true);
699
298
  }
700
299
  }
701
300
  }
702
-
703
- if (data.poster && name === "object" && updateAll && !hasImage) {
704
- var imgAttrs = [];
705
- imgAttrs.map = {};
706
-
707
- setAttributes(imgAttrs, {
708
- src: data.poster,
709
- width: data.width,
710
- height: data.height
711
- });
712
-
713
- writer.start("img", imgAttrs, true);
714
- }
715
-
716
- writer.end(name);
717
301
  }
718
- }, new Schema({})).parse(html);
719
-
720
- return writer.getContent();
721
- };
722
-
723
- var isEphoxEmbed = function (html) {
724
- var fragment = DOM.createFragment(html);
725
- return DOM.getAttrib(fragment.firstChild, 'data-ephox-embed-iri') !== '';
726
- };
727
-
728
- var updateEphoxEmbed = function (html, data) {
729
- var fragment = DOM.createFragment(html);
730
- var div = fragment.firstChild;
731
-
732
- Size.setMaxWidth(div, data.width);
733
- Size.setMaxHeight(div, data.height);
734
-
735
- return normalizeHtml(div.outerHTML);
736
- };
737
-
738
- var updateHtml = function (html, data, updateAll) {
739
- return isEphoxEmbed(html) ? updateEphoxEmbed(html, data) : updateHtmlSax(html, data, updateAll);
740
- };
741
-
742
- return {
743
- updateHtml: updateHtml
744
- };
745
- }
746
- );
747
- /**
748
- * UrlPatterns.js
749
- *
750
- * Released under LGPL License.
751
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
752
- *
753
- * License: http://www.tinymce.com/license
754
- * Contributing: http://www.tinymce.com/contributing
755
- */
756
-
757
- define(
758
- 'tinymce.plugins.media.core.UrlPatterns',
759
- [
760
- ],
761
- function () {
762
- var urlPatterns = [
763
- {
764
- regex: /youtu\.be\/([\w\-.]+)/,
765
- type: 'iframe', w: 560, h: 314,
766
- url: '//www.youtube.com/embed/$1',
767
- allowFullscreen: true
768
- },
769
- {
770
- regex: /youtube\.com(.+)v=([^&]+)/,
771
- type: 'iframe', w: 560, h: 314,
772
- url: '//www.youtube.com/embed/$2',
773
- allowFullscreen: true
774
- },
775
- {
776
- regex: /youtube.com\/embed\/([a-z0-9\-_]+(?:\?.+)?)/i,
777
- type: 'iframe', w: 560, h: 314,
778
- url: '//www.youtube.com/embed/$1',
779
- allowFullscreen: true
780
- },
781
- {
782
- regex: /vimeo\.com\/([0-9]+)/,
783
- type: 'iframe', w: 425, h: 350,
784
- url: '//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',
785
- allowfullscreen: true
786
- },
787
- {
788
- regex: /vimeo\.com\/(.*)\/([0-9]+)/,
789
- type: "iframe", w: 425, h: 350,
790
- url: "//player.vimeo.com/video/$2?title=0&amp;byline=0",
791
- allowfullscreen: true
792
- },
793
- {
794
- regex: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,
795
- type: 'iframe', w: 425, h: 350,
796
- url: '//maps.google.com/maps/ms?msid=$2&output=embed"',
797
- allowFullscreen: false
798
- },
799
- {
800
- regex: /dailymotion\.com\/video\/([^_]+)/,
801
- type: 'iframe', w: 480, h: 270,
802
- url: '//www.dailymotion.com/embed/video/$1',
803
- allowFullscreen: true
804
- },
805
- {
806
- regex: /dai\.ly\/([^_]+)/,
807
- type: 'iframe', w: 480, h: 270,
808
- url: '//www.dailymotion.com/embed/video/$1',
809
- allowFullscreen: true
810
- }
811
- ];
812
-
813
- return {
814
- urlPatterns: urlPatterns
815
- };
816
- }
817
- );
818
- /**
819
- * DataToHtml.js
820
- *
821
- * Released under LGPL License.
822
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
823
- *
824
- * License: http://www.tinymce.com/license
825
- * Contributing: http://www.tinymce.com/contributing
826
- */
827
-
828
- define(
829
- 'tinymce.plugins.media.core.DataToHtml',
830
- [
831
- 'tinymce.core.util.Tools',
832
- 'tinymce.plugins.media.api.Settings',
833
- 'tinymce.plugins.media.core.HtmlToData',
834
- 'tinymce.plugins.media.core.Mime',
835
- 'tinymce.plugins.media.core.UpdateHtml',
836
- 'tinymce.plugins.media.core.UrlPatterns',
837
- 'tinymce.plugins.media.core.VideoScript'
838
- ],
839
- function (Tools, Settings, HtmlToData, Mime, UpdateHtml, UrlPatterns, VideoScript) {
840
- var getIframeHtml = function (data) {
841
- var allowFullscreen = data.allowFullscreen ? ' allowFullscreen="1"' : '';
842
- return '<iframe src="' + data.source1 + '" width="' + data.width + '" height="' + data.height + '"' + allowFullscreen + '></iframe>';
843
- };
844
-
845
- var getFlashHtml = function (data) {
846
- var html = '<object data="' + data.source1 + '" width="' + data.width + '" height="' + data.height + '" type="application/x-shockwave-flash">';
847
-
848
- if (data.poster) {
849
- html += '<img src="' + data.poster + '" width="' + data.width + '" height="' + data.height + '" />';
850
- }
851
-
852
- html += '</object>';
853
-
854
- return html;
855
- };
856
-
857
- var getAudioHtml = function (data, audioTemplateCallback) {
858
- if (audioTemplateCallback) {
859
- return audioTemplateCallback(data);
860
- } else {
861
- return (
862
- '<audio controls="controls" src="' + data.source1 + '">' +
863
- (
864
- data.source2 ?
865
- '\n<source src="' + data.source2 + '"' +
866
- (data.source2mime ? ' type="' + data.source2mime + '"' : '') +
867
- ' />\n' : '') +
868
- '</audio>'
869
- );
870
- }
871
- };
872
-
873
- var getVideoHtml = function (data, videoTemplateCallback) {
874
- if (videoTemplateCallback) {
875
- return videoTemplateCallback(data);
876
- } else {
877
- return (
878
- '<video width="' + data.width +
879
- '" height="' + data.height + '"' +
880
- (data.poster ? ' poster="' + data.poster + '"' : '') + ' controls="controls">\n' +
881
- '<source src="' + data.source1 + '"' +
882
- (data.source1mime ? ' type="' + data.source1mime + '"' : '') + ' />\n' +
883
- (data.source2 ? '<source src="' + data.source2 + '"' +
884
- (data.source2mime ? ' type="' + data.source2mime + '"' : '') + ' />\n' : '') +
885
- '</video>'
886
- );
302
+ if (data.poster && name === 'object' && updateAll && !hasImage) {
303
+ var imgAttrs = [];
304
+ imgAttrs.map = {};
305
+ setAttributes(imgAttrs, {
306
+ src: data.poster,
307
+ width: data.width,
308
+ height: data.height
309
+ });
310
+ writer.start('img', imgAttrs, true);
311
+ }
312
+ writer.end(name);
887
313
  }
314
+ }, global$7({})).parse(html);
315
+ return writer.getContent();
316
+ };
317
+ var isEphoxEmbed$1 = function (html) {
318
+ var fragment = DOM$1.createFragment(html);
319
+ return DOM$1.getAttrib(fragment.firstChild, 'data-ephox-embed-iri') !== '';
320
+ };
321
+ var updateEphoxEmbed = function (html, data) {
322
+ var fragment = DOM$1.createFragment(html);
323
+ var div = fragment.firstChild;
324
+ $_am85wh7jm0ofzjc.setMaxWidth(div, data.width);
325
+ $_am85wh7jm0ofzjc.setMaxHeight(div, data.height);
326
+ return normalizeHtml(div.outerHTML);
327
+ };
328
+ var updateHtml = function (html, data, updateAll) {
329
+ return isEphoxEmbed$1(html) ? updateEphoxEmbed(html, data) : updateHtmlSax(html, data, updateAll);
330
+ };
331
+ var $_cok7l6hcjm0ofzjm = { updateHtml: updateHtml };
332
+
333
+ var urlPatterns = [
334
+ {
335
+ regex: /youtu\.be\/([\w\-_\?&=.]+)/i,
336
+ type: 'iframe',
337
+ w: 560,
338
+ h: 314,
339
+ url: '//www.youtube.com/embed/$1',
340
+ allowFullscreen: true
341
+ },
342
+ {
343
+ regex: /youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,
344
+ type: 'iframe',
345
+ w: 560,
346
+ h: 314,
347
+ url: '//www.youtube.com/embed/$2?$4',
348
+ allowFullscreen: true
349
+ },
350
+ {
351
+ regex: /youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,
352
+ type: 'iframe',
353
+ w: 560,
354
+ h: 314,
355
+ url: '//www.youtube.com/embed/$1',
356
+ allowFullscreen: true
357
+ },
358
+ {
359
+ regex: /vimeo\.com\/([0-9]+)/,
360
+ type: 'iframe',
361
+ w: 425,
362
+ h: 350,
363
+ url: '//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',
364
+ allowFullscreen: true
365
+ },
366
+ {
367
+ regex: /vimeo\.com\/(.*)\/([0-9]+)/,
368
+ type: 'iframe',
369
+ w: 425,
370
+ h: 350,
371
+ url: '//player.vimeo.com/video/$2?title=0&amp;byline=0',
372
+ allowFullscreen: true
373
+ },
374
+ {
375
+ regex: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,
376
+ type: 'iframe',
377
+ w: 425,
378
+ h: 350,
379
+ url: '//maps.google.com/maps/ms?msid=$2&output=embed"',
380
+ allowFullscreen: false
381
+ },
382
+ {
383
+ regex: /dailymotion\.com\/video\/([^_]+)/,
384
+ type: 'iframe',
385
+ w: 480,
386
+ h: 270,
387
+ url: '//www.dailymotion.com/embed/video/$1',
388
+ allowFullscreen: true
389
+ },
390
+ {
391
+ regex: /dai\.ly\/([^_]+)/,
392
+ type: 'iframe',
393
+ w: 480,
394
+ h: 270,
395
+ url: '//www.dailymotion.com/embed/video/$1',
396
+ allowFullscreen: true
397
+ }
398
+ ];
399
+ var getUrl = function (pattern, url) {
400
+ var match = pattern.regex.exec(url);
401
+ var newUrl = pattern.url;
402
+ var _loop_1 = function (i) {
403
+ newUrl = newUrl.replace('$' + i, function () {
404
+ return match[i] ? match[i] : '';
405
+ });
888
406
  };
407
+ for (var i = 0; i < match.length; i++) {
408
+ _loop_1(i);
409
+ }
410
+ return newUrl.replace(/\?$/, '');
411
+ };
412
+ var matchPattern = function (url) {
413
+ var pattern = urlPatterns.filter(function (pattern) {
414
+ return pattern.regex.test(url);
415
+ });
416
+ if (pattern.length > 0) {
417
+ return global$2.extend({}, pattern[0], { url: getUrl(pattern[0], url) });
418
+ } else {
419
+ return null;
420
+ }
421
+ };
889
422
 
890
- var getScriptHtml = function (data) {
891
- return '<script src="' + data.source1 + '"></script>';
892
- };
893
-
894
- var dataToHtml = function (editor, dataIn) {
895
- var data = Tools.extend({}, dataIn);
896
-
423
+ var getIframeHtml = function (data) {
424
+ var allowFullscreen = data.allowFullscreen ? ' allowFullscreen="1"' : '';
425
+ return '<iframe src="' + data.source1 + '" width="' + data.width + '" height="' + data.height + '"' + allowFullscreen + '></iframe>';
426
+ };
427
+ var getFlashHtml = function (data) {
428
+ var html = '<object data="' + data.source1 + '" width="' + data.width + '" height="' + data.height + '" type="application/x-shockwave-flash">';
429
+ if (data.poster) {
430
+ html += '<img src="' + data.poster + '" width="' + data.width + '" height="' + data.height + '" />';
431
+ }
432
+ html += '</object>';
433
+ return html;
434
+ };
435
+ var getAudioHtml = function (data, audioTemplateCallback) {
436
+ if (audioTemplateCallback) {
437
+ return audioTemplateCallback(data);
438
+ } else {
439
+ return '<audio controls="controls" src="' + data.source1 + '">' + (data.source2 ? '\n<source src="' + data.source2 + '"' + (data.source2mime ? ' type="' + data.source2mime + '"' : '') + ' />\n' : '') + '</audio>';
440
+ }
441
+ };
442
+ var getVideoHtml = function (data, videoTemplateCallback) {
443
+ if (videoTemplateCallback) {
444
+ return videoTemplateCallback(data);
445
+ } else {
446
+ return '<video width="' + data.width + '" height="' + data.height + '"' + (data.poster ? ' poster="' + data.poster + '"' : '') + ' controls="controls">\n' + '<source src="' + data.source1 + '"' + (data.source1mime ? ' type="' + data.source1mime + '"' : '') + ' />\n' + (data.source2 ? '<source src="' + data.source2 + '"' + (data.source2mime ? ' type="' + data.source2mime + '"' : '') + ' />\n' : '') + '</video>';
447
+ }
448
+ };
449
+ var getScriptHtml = function (data) {
450
+ return '<script src="' + data.source1 + '"></script>';
451
+ };
452
+ var dataToHtml = function (editor, dataIn) {
453
+ var data = global$2.extend({}, dataIn);
454
+ if (!data.source1) {
455
+ global$2.extend(data, $_5d5iuvh3jm0ofzj8.htmlToData($_5hjeirh2jm0ofzj6.getScripts(editor), data.embed));
897
456
  if (!data.source1) {
898
- Tools.extend(data, HtmlToData.htmlToData(Settings.getScripts(editor), data.embed));
899
- if (!data.source1) {
900
- return '';
901
- }
902
- }
903
-
904
- if (!data.source2) {
905
- data.source2 = '';
457
+ return '';
906
458
  }
907
-
908
- if (!data.poster) {
909
- data.poster = '';
459
+ }
460
+ if (!data.source2) {
461
+ data.source2 = '';
462
+ }
463
+ if (!data.poster) {
464
+ data.poster = '';
465
+ }
466
+ data.source1 = editor.convertURL(data.source1, 'source');
467
+ data.source2 = editor.convertURL(data.source2, 'source');
468
+ data.source1mime = $_1qa9r9hbjm0ofzjk.guess(data.source1);
469
+ data.source2mime = $_1qa9r9hbjm0ofzjk.guess(data.source2);
470
+ data.poster = editor.convertURL(data.poster, 'poster');
471
+ var pattern = matchPattern(data.source1);
472
+ if (pattern) {
473
+ data.source1 = pattern.url;
474
+ data.type = pattern.type;
475
+ data.allowFullscreen = pattern.allowFullscreen;
476
+ data.width = data.width || pattern.w;
477
+ data.height = data.height || pattern.h;
478
+ }
479
+ if (data.embed) {
480
+ return $_cok7l6hcjm0ofzjm.updateHtml(data.embed, data, true);
481
+ } else {
482
+ var videoScript = $_545y8yh6jm0ofzjb.getVideoScriptMatch($_5hjeirh2jm0ofzj6.getScripts(editor), data.source1);
483
+ if (videoScript) {
484
+ data.type = 'script';
485
+ data.width = videoScript.width;
486
+ data.height = videoScript.height;
910
487
  }
911
-
912
- data.source1 = editor.convertURL(data.source1, "source");
913
- data.source2 = editor.convertURL(data.source2, "source");
914
- data.source1mime = Mime.guess(data.source1);
915
- data.source2mime = Mime.guess(data.source2);
916
- data.poster = editor.convertURL(data.poster, "poster");
917
-
918
- Tools.each(UrlPatterns.urlPatterns, function (pattern) {
919
- var i;
920
- var url;
921
-
922
- var match = pattern.regex.exec(data.source1);
923
-
924
- if (match) {
925
- url = pattern.url;
926
-
927
- for (i = 0; match[i]; i++) {
928
- /*jshint loopfunc:true*/
929
- /*eslint no-loop-func:0 */
930
- url = url.replace('$' + i, function () {
931
- return match[i];
932
- });
933
- }
934
-
935
- data.source1 = url;
936
- data.type = pattern.type;
937
- data.allowFullscreen = pattern.allowFullscreen;
938
- data.width = data.width || pattern.w;
939
- data.height = data.height || pattern.h;
940
- }
488
+ var audioTemplateCallback = $_5hjeirh2jm0ofzj6.getAudioTemplateCallback(editor);
489
+ var videoTemplateCallback = $_5hjeirh2jm0ofzj6.getVideoTemplateCallback(editor);
490
+ data.width = data.width || 300;
491
+ data.height = data.height || 150;
492
+ global$2.each(data, function (value, key) {
493
+ data[key] = editor.dom.encode(value);
941
494
  });
942
-
943
- if (data.embed) {
944
- return UpdateHtml.updateHtml(data.embed, data, true);
495
+ if (data.type === 'iframe') {
496
+ return getIframeHtml(data);
497
+ } else if (data.source1mime === 'application/x-shockwave-flash') {
498
+ return getFlashHtml(data);
499
+ } else if (data.source1mime.indexOf('audio') !== -1) {
500
+ return getAudioHtml(data, audioTemplateCallback);
501
+ } else if (data.type === 'script') {
502
+ return getScriptHtml(data);
945
503
  } else {
946
- var videoScript = VideoScript.getVideoScriptMatch(Settings.getScripts(editor), data.source1);
947
- if (videoScript) {
948
- data.type = 'script';
949
- data.width = videoScript.width;
950
- data.height = videoScript.height;
951
- }
952
-
953
- var audioTemplateCallback = Settings.getAudioTemplateCallback(editor);
954
- var videoTemplateCallback = Settings.getVideoTemplateCallback(editor);
955
-
956
- data.width = data.width || 300;
957
- data.height = data.height || 150;
958
-
959
- Tools.each(data, function (value, key) {
960
- data[key] = editor.dom.encode(value);
961
- });
962
-
963
- if (data.type === "iframe") {
964
- return getIframeHtml(data);
965
- } else if (data.source1mime === "application/x-shockwave-flash") {
966
- return getFlashHtml(data);
967
- } else if (data.source1mime.indexOf('audio') !== -1) {
968
- return getAudioHtml(data, audioTemplateCallback);
969
- } else if (data.type === "script") {
970
- return getScriptHtml(data);
971
- } else {
972
- return getVideoHtml(data, videoTemplateCallback);
973
- }
504
+ return getVideoHtml(data, videoTemplateCallback);
974
505
  }
975
- };
976
-
977
- return {
978
- dataToHtml: dataToHtml
979
- };
980
- }
981
- );
982
- /**
983
- * Service.js
984
- *
985
- * Released under LGPL License.
986
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
987
- *
988
- * License: http://www.tinymce.com/license
989
- * Contributing: http://www.tinymce.com/contributing
990
- */
991
-
992
- define(
993
- 'tinymce.plugins.media.core.Service',
994
- [
995
- 'tinymce.core.util.Promise',
996
- 'tinymce.plugins.media.api.Settings',
997
- 'tinymce.plugins.media.core.DataToHtml'
998
- ],
999
- function (Promise, Settings, DataToHtml) {
1000
- var cache = {};
1001
- var embedPromise = function (data, dataToHtml, handler) {
1002
- return new Promise(function (res, rej) {
1003
- var wrappedResolve = function (response) {
1004
- if (response.html) {
1005
- cache[data.source1] = response;
1006
- }
1007
- return res({
1008
- url: data.source1,
1009
- html: response.html ? response.html : dataToHtml(data)
1010
- });
1011
- };
1012
- if (cache[data.source1]) {
1013
- wrappedResolve(cache[data.source1]);
1014
- } else {
1015
- handler({ url: data.source1 }, wrappedResolve, rej);
1016
- }
1017
- });
1018
- };
1019
-
1020
- var defaultPromise = function (data, dataToHtml) {
1021
- return new Promise(function (res) {
1022
- res({ html: dataToHtml(data), url: data.source1 });
1023
- });
1024
- };
1025
-
1026
- var loadedData = function (editor) {
1027
- return function (data) {
1028
- return DataToHtml.dataToHtml(editor, data);
1029
- };
1030
- };
1031
-
1032
- var getEmbedHtml = function (editor, data) {
1033
- var embedHandler = Settings.getUrlResolver(editor);
1034
-
1035
- return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));
1036
- };
1037
-
1038
- var isCached = function (url) {
1039
- return cache.hasOwnProperty(url);
1040
- };
1041
-
1042
- return {
1043
- getEmbedHtml: getEmbedHtml,
1044
- isCached: isCached
1045
- };
1046
- }
1047
- );
1048
- /**
1049
- * SizeManager.js
1050
- *
1051
- * Released under LGPL License.
1052
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1053
- *
1054
- * License: http://www.tinymce.com/license
1055
- * Contributing: http://www.tinymce.com/contributing
1056
- */
1057
-
1058
- define(
1059
- 'tinymce.plugins.media.ui.SizeManager',
1060
- [
1061
- ],
1062
- function () {
1063
- var doSyncSize = function (widthCtrl, heightCtrl) {
1064
- widthCtrl.state.set('oldVal', widthCtrl.value());
1065
- heightCtrl.state.set('oldVal', heightCtrl.value());
1066
- };
1067
- var doSizeControls = function (win, f) {
1068
- var widthCtrl = win.find('#width')[0];
1069
- var heightCtrl = win.find('#height')[0];
1070
- var constrained = win.find('#constrain')[0];
1071
- if (widthCtrl && heightCtrl && constrained) {
1072
- f(widthCtrl, heightCtrl, constrained.checked());
1073
- }
1074
- };
1075
-
1076
- var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) {
1077
- var oldWidth = widthCtrl.state.get('oldVal');
1078
- var oldHeight = heightCtrl.state.get('oldVal');
1079
- var newWidth = widthCtrl.value();
1080
- var newHeight = heightCtrl.value();
1081
-
1082
- if (isContrained && oldWidth && oldHeight && newWidth && newHeight) {
1083
- if (newWidth !== oldWidth) {
1084
- newHeight = Math.round((newWidth / oldWidth) * newHeight);
1085
-
1086
- if (!isNaN(newHeight)) {
1087
- heightCtrl.value(newHeight);
1088
- }
1089
- } else {
1090
- newWidth = Math.round((newHeight / oldHeight) * newWidth);
1091
-
1092
- if (!isNaN(newWidth)) {
1093
- widthCtrl.value(newWidth);
1094
- }
506
+ }
507
+ };
508
+ var $_32etinhajm0ofzjg = { dataToHtml: dataToHtml };
509
+
510
+ var cache = {};
511
+ var embedPromise = function (data, dataToHtml, handler) {
512
+ return new global$5(function (res, rej) {
513
+ var wrappedResolve = function (response) {
514
+ if (response.html) {
515
+ cache[data.source1] = response;
1095
516
  }
1096
- }
1097
-
1098
- doSyncSize(widthCtrl, heightCtrl);
1099
- };
1100
-
1101
- var syncSize = function (win) {
1102
- doSizeControls(win, doSyncSize);
1103
- };
1104
-
1105
- var updateSize = function (win) {
1106
- doSizeControls(win, doUpdateSize);
1107
- };
1108
-
1109
- var createUi = function (onChange) {
1110
- var recalcSize = function () {
1111
- onChange(function (win) {
1112
- updateSize(win);
517
+ return res({
518
+ url: data.source1,
519
+ html: response.html ? response.html : dataToHtml(data)
1113
520
  });
1114
521
  };
1115
-
1116
- return {
1117
- type: 'container',
1118
- label: 'Dimensions',
1119
- layout: 'flex',
1120
- align: 'center',
1121
- spacing: 5,
1122
- items: [
1123
- {
1124
- name: 'width', type: 'textbox', maxLength: 5, size: 5,
1125
- onchange: recalcSize, ariaLabel: 'Width'
1126
- },
1127
- { type: 'label', text: 'x' },
1128
- {
1129
- name: 'height', type: 'textbox', maxLength: 5, size: 5,
1130
- onchange: recalcSize, ariaLabel: 'Height'
1131
- },
1132
- { name: 'constrain', type: 'checkbox', checked: true, text: 'Constrain proportions' }
1133
- ]
1134
- };
1135
- };
1136
-
1137
- return {
1138
- createUi: createUi,
1139
- syncSize: syncSize,
1140
- updateSize: updateSize
1141
- };
1142
- }
1143
- );
1144
- /**
1145
- * Dialog.js
1146
- *
1147
- * Released under LGPL License.
1148
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1149
- *
1150
- * License: http://www.tinymce.com/license
1151
- * Contributing: http://www.tinymce.com/contributing
1152
- */
1153
-
1154
- define(
1155
- 'tinymce.plugins.media.ui.Dialog',
1156
- [
1157
- 'tinymce.core.Env',
1158
- 'tinymce.core.util.Tools',
1159
- 'tinymce.plugins.media.api.Settings',
1160
- 'tinymce.plugins.media.core.HtmlToData',
1161
- 'tinymce.plugins.media.core.Service',
1162
- 'tinymce.plugins.media.core.Size',
1163
- 'tinymce.plugins.media.core.UpdateHtml',
1164
- 'tinymce.plugins.media.ui.SizeManager'
1165
- ],
1166
- function (Env, Tools, Settings, HtmlToData, Service, Size, UpdateHtml, SizeManager) {
1167
- var embedChange = (Env.ie && Env.ie <= 8) ? 'onChange' : 'onInput';
1168
-
1169
- var handleError = function (editor) {
1170
- return function (error) {
1171
- var errorMessage = error && error.msg ?
1172
- 'Media embed handler error: ' + error.msg :
1173
- 'Media embed handler threw unknown error.';
1174
- editor.notificationManager.open({ type: 'error', text: errorMessage });
1175
- };
1176
- };
1177
-
1178
- var getData = function (editor) {
1179
- var element = editor.selection.getNode();
1180
- var dataEmbed = element.getAttribute('data-ephox-embed-iri');
1181
-
1182
- if (dataEmbed) {
1183
- return {
1184
- source1: dataEmbed,
1185
- 'data-ephox-embed-iri': dataEmbed,
1186
- width: Size.getMaxWidth(element),
1187
- height: Size.getMaxHeight(element)
1188
- };
1189
- }
1190
-
1191
- return element.getAttribute('data-mce-object') ?
1192
- HtmlToData.htmlToData(Settings.getScripts(editor), editor.serializer.serialize(element, { selection: true })) :
1193
- {};
1194
- };
1195
-
1196
- var getSource = function (editor) {
1197
- var elm = editor.selection.getNode();
1198
-
1199
- if (elm.getAttribute('data-mce-object') || elm.getAttribute('data-ephox-embed-iri')) {
1200
- return editor.selection.getContent();
1201
- }
1202
- };
1203
-
1204
- var addEmbedHtml = function (win, editor) {
1205
- return function (response) {
1206
- var html = response.html;
1207
- var embed = win.find('#embed')[0];
1208
- var data = Tools.extend(HtmlToData.htmlToData(Settings.getScripts(editor), html), { source1: response.url });
1209
- win.fromJSON(data);
1210
-
1211
- if (embed) {
1212
- embed.value(html);
1213
- SizeManager.updateSize(win);
1214
- }
1215
- };
1216
- };
1217
-
1218
- var selectPlaceholder = function (editor, beforeObjects) {
1219
- var i;
1220
- var y;
1221
- var afterObjects = editor.dom.select('img[data-mce-object]');
1222
-
1223
- // Find new image placeholder so we can select it
1224
- for (i = 0; i < beforeObjects.length; i++) {
1225
- for (y = afterObjects.length - 1; y >= 0; y--) {
1226
- if (beforeObjects[i] === afterObjects[y]) {
1227
- afterObjects.splice(y, 1);
1228
- }
1229
- }
1230
- }
1231
-
1232
- editor.selection.select(afterObjects[0]);
1233
- };
1234
-
1235
- var handleInsert = function (editor, html) {
1236
- var beforeObjects = editor.dom.select('img[data-mce-object]');
1237
-
1238
- editor.insertContent(html);
1239
- selectPlaceholder(editor, beforeObjects);
1240
- editor.nodeChanged();
1241
- };
1242
-
1243
- var submitForm = function (win, editor) {
1244
- var data = win.toJSON();
1245
-
1246
- data.embed = UpdateHtml.updateHtml(data.embed, data);
1247
-
1248
- if (data.embed && Service.isCached(data.source1)) {
1249
- handleInsert(editor, data.embed);
522
+ if (cache[data.source1]) {
523
+ wrappedResolve(cache[data.source1]);
1250
524
  } else {
1251
- Service.getEmbedHtml(editor, data)
1252
- .then(function (response) {
1253
- handleInsert(editor, response.html);
1254
- })["catch"](handleError(editor));
525
+ handler({ url: data.source1 }, wrappedResolve, rej);
1255
526
  }
1256
- };
1257
-
1258
- var populateMeta = function (win, meta) {
1259
- Tools.each(meta, function (value, key) {
1260
- win.find('#' + key).value(value);
1261
- });
1262
- };
1263
-
1264
- var showDialog = function (editor) {
1265
- var win;
1266
- var data;
1267
-
1268
- var generalFormItems = [
1269
- {
1270
- name: 'source1',
1271
- type: 'filepicker',
1272
- filetype: 'media',
1273
- size: 40,
1274
- autofocus: true,
1275
- label: 'Source',
1276
- onpaste: function () {
1277
- setTimeout(function () {
1278
- Service.getEmbedHtml(editor, win.toJSON())
1279
- .then(
1280
- addEmbedHtml(win, editor)
1281
- )["catch"](handleError(editor));
1282
- }, 1);
1283
- },
1284
- onchange: function (e) {
1285
- Service.getEmbedHtml(editor, win.toJSON())
1286
- .then(
1287
- addEmbedHtml(win, editor)
1288
- )["catch"](handleError(editor));
1289
-
1290
- populateMeta(win, e.meta);
1291
- },
1292
- onbeforecall: function (e) {
1293
- e.meta = win.toJSON();
1294
- }
1295
- }
1296
- ];
1297
-
1298
- var advancedFormItems = [];
1299
-
1300
- var reserialise = function (update) {
1301
- update(win);
1302
- data = win.toJSON();
1303
- win.find('#embed').value(UpdateHtml.updateHtml(data.embed, data));
1304
- };
1305
-
1306
- if (Settings.hasAltSource(editor)) {
1307
- advancedFormItems.push({ name: 'source2', type: 'filepicker', filetype: 'media', size: 40, label: 'Alternative source' });
1308
- }
1309
-
1310
- if (Settings.hasPoster(editor)) {
1311
- advancedFormItems.push({ name: 'poster', type: 'filepicker', filetype: 'image', size: 40, label: 'Poster' });
1312
- }
1313
-
1314
- if (Settings.hasDimensions(editor)) {
1315
- var control = SizeManager.createUi(reserialise);
1316
- generalFormItems.push(control);
1317
- }
1318
-
1319
- data = getData(editor);
1320
-
1321
- var embedTextBox = {
1322
- id: 'mcemediasource',
1323
- type: 'textbox',
1324
- flex: 1,
1325
- name: 'embed',
1326
- value: getSource(editor),
1327
- multiline: true,
1328
- rows: 5,
1329
- label: 'Source'
1330
- };
1331
-
1332
- var updateValueOnChange = function () {
1333
- data = Tools.extend({}, HtmlToData.htmlToData(Settings.getScripts(editor), this.value()));
1334
- this.parent().parent().fromJSON(data);
1335
- };
1336
-
1337
- embedTextBox[embedChange] = updateValueOnChange;
1338
-
1339
- win = editor.windowManager.open({
1340
- title: 'Insert/edit media',
1341
- data: data,
1342
- bodyType: 'tabpanel',
1343
- body: [
1344
- {
1345
- title: 'General',
1346
- type: "form",
1347
- items: generalFormItems
1348
- },
1349
-
1350
- {
1351
- title: 'Embed',
1352
- type: "container",
1353
- layout: 'flex',
1354
- direction: 'column',
1355
- align: 'stretch',
1356
- padding: 10,
1357
- spacing: 10,
1358
- items: [
1359
- {
1360
- type: 'label',
1361
- text: 'Paste your embed code below:',
1362
- forId: 'mcemediasource'
1363
- },
1364
- embedTextBox
1365
- ]
1366
- },
1367
-
1368
- {
1369
- title: 'Advanced',
1370
- type: "form",
1371
- items: advancedFormItems
1372
- }
1373
- ],
1374
- onSubmit: function () {
1375
- SizeManager.updateSize(win);
1376
- submitForm(win, editor);
1377
- }
527
+ });
528
+ };
529
+ var defaultPromise = function (data, dataToHtml) {
530
+ return new global$5(function (res) {
531
+ res({
532
+ html: dataToHtml(data),
533
+ url: data.source1
1378
534
  });
1379
-
1380
- SizeManager.syncSize(win);
1381
- };
1382
-
1383
- return {
1384
- showDialog: showDialog
1385
- };
1386
- }
1387
- );
1388
- /**
1389
- * Api.js
1390
- *
1391
- * Released under LGPL License.
1392
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1393
- *
1394
- * License: http://www.tinymce.com/license
1395
- * Contributing: http://www.tinymce.com/contributing
1396
- */
1397
-
1398
- define(
1399
- 'tinymce.plugins.media.api.Api',
1400
- [
1401
- 'tinymce.plugins.media.ui.Dialog'
1402
- ],
1403
- function (Dialog) {
1404
- var get = function (editor) {
1405
- var showDialog = function () {
1406
- Dialog.showDialog(editor);
1407
- };
1408
-
1409
- return {
1410
- showDialog: showDialog
1411
- };
1412
- };
1413
-
1414
- return {
1415
- get: get
1416
- };
1417
- }
1418
- );
1419
-
1420
-
1421
- /**
1422
- * Commands.js
1423
- *
1424
- * Released under LGPL License.
1425
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1426
- *
1427
- * License: http://www.tinymce.com/license
1428
- * Contributing: http://www.tinymce.com/contributing
1429
- */
1430
-
1431
- define(
1432
- 'tinymce.plugins.media.api.Commands',
1433
- [
1434
- 'tinymce.plugins.media.ui.Dialog'
1435
- ],
1436
- function (Dialog) {
1437
- var register = function (editor) {
1438
- var showDialog = function () {
1439
- Dialog.showDialog(editor);
1440
- };
1441
-
1442
- editor.addCommand('mceMedia', showDialog);
1443
- };
1444
-
1445
- return {
1446
- register: register
535
+ });
536
+ };
537
+ var loadedData = function (editor) {
538
+ return function (data) {
539
+ return $_32etinhajm0ofzjg.dataToHtml(editor, data);
1447
540
  };
1448
- }
1449
- );
1450
-
1451
-
1452
- /**
1453
- * ResolveGlobal.js
1454
- *
1455
- * Released under LGPL License.
1456
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1457
- *
1458
- * License: http://www.tinymce.com/license
1459
- * Contributing: http://www.tinymce.com/contributing
1460
- */
1461
-
1462
- define(
1463
- 'tinymce.core.html.Node',
1464
- [
1465
- 'global!tinymce.util.Tools.resolve'
1466
- ],
1467
- function (resolve) {
1468
- return resolve('tinymce.html.Node');
1469
- }
1470
- );
1471
-
1472
- /**
1473
- * Sanitize.js
1474
- *
1475
- * Released under LGPL License.
1476
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1477
- *
1478
- * License: http://www.tinymce.com/license
1479
- * Contributing: http://www.tinymce.com/contributing
1480
- */
541
+ };
542
+ var getEmbedHtml = function (editor, data) {
543
+ var embedHandler = $_5hjeirh2jm0ofzj6.getUrlResolver(editor);
544
+ return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));
545
+ };
546
+ var isCached = function (url) {
547
+ return cache.hasOwnProperty(url);
548
+ };
549
+ var $_bs9hzwh8jm0ofzje = {
550
+ getEmbedHtml: getEmbedHtml,
551
+ isCached: isCached
552
+ };
1481
553
 
1482
- define(
1483
- 'tinymce.plugins.media.core.Sanitize',
1484
- [
1485
- 'tinymce.core.html.SaxParser',
1486
- 'tinymce.core.html.Schema',
1487
- 'tinymce.core.html.Writer',
1488
- 'tinymce.core.util.Tools',
1489
- 'tinymce.plugins.media.api.Settings'
1490
- ],
1491
- function (SaxParser, Schema, Writer, Tools, Settings) {
1492
- var sanitize = function (editor, html) {
1493
- if (Settings.shouldFilterHtml(editor) === false) {
1494
- return html;
554
+ var doSyncSize = function (widthCtrl, heightCtrl) {
555
+ widthCtrl.state.set('oldVal', widthCtrl.value());
556
+ heightCtrl.state.set('oldVal', heightCtrl.value());
557
+ };
558
+ var doSizeControls = function (win, f) {
559
+ var widthCtrl = win.find('#width')[0];
560
+ var heightCtrl = win.find('#height')[0];
561
+ var constrained = win.find('#constrain')[0];
562
+ if (widthCtrl && heightCtrl && constrained) {
563
+ f(widthCtrl, heightCtrl, constrained.checked());
564
+ }
565
+ };
566
+ var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) {
567
+ var oldWidth = widthCtrl.state.get('oldVal');
568
+ var oldHeight = heightCtrl.state.get('oldVal');
569
+ var newWidth = widthCtrl.value();
570
+ var newHeight = heightCtrl.value();
571
+ if (isContrained && oldWidth && oldHeight && newWidth && newHeight) {
572
+ if (newWidth !== oldWidth) {
573
+ newHeight = Math.round(newWidth / oldWidth * newHeight);
574
+ if (!isNaN(newHeight)) {
575
+ heightCtrl.value(newHeight);
576
+ }
577
+ } else {
578
+ newWidth = Math.round(newHeight / oldHeight * newWidth);
579
+ if (!isNaN(newWidth)) {
580
+ widthCtrl.value(newWidth);
581
+ }
1495
582
  }
1496
-
1497
- var writer = new Writer();
1498
- var blocked;
1499
-
1500
- new SaxParser({
1501
- validate: false,
1502
- allow_conditional_comments: false,
1503
- special: 'script,noscript',
1504
-
1505
- comment: function (text) {
1506
- writer.comment(text);
1507
- },
1508
-
1509
- cdata: function (text) {
1510
- writer.cdata(text);
583
+ }
584
+ doSyncSize(widthCtrl, heightCtrl);
585
+ };
586
+ var syncSize = function (win) {
587
+ doSizeControls(win, doSyncSize);
588
+ };
589
+ var updateSize = function (win) {
590
+ doSizeControls(win, doUpdateSize);
591
+ };
592
+ var createUi = function (onChange) {
593
+ var recalcSize = function () {
594
+ onChange(function (win) {
595
+ updateSize(win);
596
+ });
597
+ };
598
+ return {
599
+ type: 'container',
600
+ label: 'Dimensions',
601
+ layout: 'flex',
602
+ align: 'center',
603
+ spacing: 5,
604
+ items: [
605
+ {
606
+ name: 'width',
607
+ type: 'textbox',
608
+ maxLength: 5,
609
+ size: 5,
610
+ onchange: recalcSize,
611
+ ariaLabel: 'Width'
1511
612
  },
1512
-
1513
- text: function (text, raw) {
1514
- writer.text(text, raw);
613
+ {
614
+ type: 'label',
615
+ text: 'x'
1515
616
  },
1516
-
1517
- start: function (name, attrs, empty) {
1518
- blocked = true;
1519
-
1520
- if (name === 'script' || name === 'noscript') {
1521
- return;
1522
- }
1523
-
1524
- for (var i = 0; i < attrs.length; i++) {
1525
- if (attrs[i].name.indexOf('on') === 0) {
1526
- return;
1527
- }
1528
-
1529
- if (attrs[i].name === 'style') {
1530
- attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name);
1531
- }
1532
- }
1533
-
1534
- writer.start(name, attrs, empty);
1535
- blocked = false;
617
+ {
618
+ name: 'height',
619
+ type: 'textbox',
620
+ maxLength: 5,
621
+ size: 5,
622
+ onchange: recalcSize,
623
+ ariaLabel: 'Height'
1536
624
  },
1537
-
1538
- end: function (name) {
1539
- if (blocked) {
1540
- return;
1541
- }
1542
-
1543
- writer.end(name);
625
+ {
626
+ name: 'constrain',
627
+ type: 'checkbox',
628
+ checked: true,
629
+ text: 'Constrain proportions'
1544
630
  }
1545
- }, new Schema({})).parse(html);
1546
-
1547
- return writer.getContent();
631
+ ]
1548
632
  };
633
+ };
634
+ var $_3pmnovhgjm0ofzju = {
635
+ createUi: createUi,
636
+ syncSize: syncSize,
637
+ updateSize: updateSize
638
+ };
1549
639
 
1550
- return {
1551
- sanitize: sanitize
1552
- };
1553
- }
1554
- );
1555
- /**
1556
- * Nodes.js
1557
- *
1558
- * Released under LGPL License.
1559
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1560
- *
1561
- * License: http://www.tinymce.com/license
1562
- * Contributing: http://www.tinymce.com/contributing
1563
- */
1564
-
1565
- define(
1566
- 'tinymce.plugins.media.core.Nodes',
1567
- [
1568
- 'tinymce.core.Env',
1569
- 'tinymce.core.html.Node',
1570
- 'tinymce.plugins.media.api.Settings',
1571
- 'tinymce.plugins.media.core.Sanitize',
1572
- 'tinymce.plugins.media.core.VideoScript'
1573
- ],
1574
- function (Env, Node, Settings, Sanitize, VideoScript) {
1575
- var createPlaceholderNode = function (editor, node) {
1576
- var placeHolder;
1577
- var name = node.name;
1578
-
1579
- placeHolder = new Node('img', 1);
1580
- placeHolder.shortEnded = true;
1581
-
1582
- retainAttributesAndInnerHtml(editor, node, placeHolder);
1583
-
1584
- placeHolder.attr({
1585
- width: node.attr('width') || "300",
1586
- height: node.attr('height') || (name === "audio" ? "30" : "150"),
1587
- style: node.attr('style'),
1588
- src: Env.transparentSrc,
1589
- "data-mce-object": name,
1590
- "class": "mce-object mce-object-" + name
640
+ var embedChange = global$1.ie && global$1.ie <= 8 ? 'onChange' : 'onInput';
641
+ var handleError = function (editor) {
642
+ return function (error) {
643
+ var errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.';
644
+ editor.notificationManager.open({
645
+ type: 'error',
646
+ text: errorMessage
1591
647
  });
1592
-
1593
- return placeHolder;
1594
648
  };
1595
-
1596
- var createPreviewIframeNode = function (editor, node) {
1597
- var previewWrapper;
1598
- var previewNode;
1599
- var shimNode;
1600
- var name = node.name;
1601
-
1602
- previewWrapper = new Node('span', 1);
1603
- previewWrapper.attr({
1604
- contentEditable: 'false',
1605
- style: node.attr('style'),
1606
- "data-mce-object": name,
1607
- "class": "mce-preview-object mce-object-" + name
649
+ };
650
+ var getData = function (editor) {
651
+ var element = editor.selection.getNode();
652
+ var dataEmbed = element.getAttribute('data-ephox-embed-iri');
653
+ if (dataEmbed) {
654
+ return {
655
+ 'source1': dataEmbed,
656
+ 'data-ephox-embed-iri': dataEmbed,
657
+ 'width': $_am85wh7jm0ofzjc.getMaxWidth(element),
658
+ 'height': $_am85wh7jm0ofzjc.getMaxHeight(element)
659
+ };
660
+ }
661
+ return element.getAttribute('data-mce-object') ? $_5d5iuvh3jm0ofzj8.htmlToData($_5hjeirh2jm0ofzj6.getScripts(editor), editor.serializer.serialize(element, { selection: true })) : {};
662
+ };
663
+ var getSource = function (editor) {
664
+ var elm = editor.selection.getNode();
665
+ if (elm.getAttribute('data-mce-object') || elm.getAttribute('data-ephox-embed-iri')) {
666
+ return editor.selection.getContent();
667
+ }
668
+ };
669
+ var addEmbedHtml = function (win, editor) {
670
+ return function (response) {
671
+ var html = response.html;
672
+ var embed = win.find('#embed')[0];
673
+ var data = global$2.extend($_5d5iuvh3jm0ofzj8.htmlToData($_5hjeirh2jm0ofzj6.getScripts(editor), html), { source1: response.url });
674
+ win.fromJSON(data);
675
+ if (embed) {
676
+ embed.value(html);
677
+ $_3pmnovhgjm0ofzju.updateSize(win);
678
+ }
679
+ };
680
+ };
681
+ var selectPlaceholder = function (editor, beforeObjects) {
682
+ var i;
683
+ var y;
684
+ var afterObjects = editor.dom.select('img[data-mce-object]');
685
+ for (i = 0; i < beforeObjects.length; i++) {
686
+ for (y = afterObjects.length - 1; y >= 0; y--) {
687
+ if (beforeObjects[i] === afterObjects[y]) {
688
+ afterObjects.splice(y, 1);
689
+ }
690
+ }
691
+ }
692
+ editor.selection.select(afterObjects[0]);
693
+ };
694
+ var handleInsert = function (editor, html) {
695
+ var beforeObjects = editor.dom.select('img[data-mce-object]');
696
+ editor.insertContent(html);
697
+ selectPlaceholder(editor, beforeObjects);
698
+ editor.nodeChanged();
699
+ };
700
+ var submitForm = function (win, editor) {
701
+ var data = win.toJSON();
702
+ data.embed = $_cok7l6hcjm0ofzjm.updateHtml(data.embed, data);
703
+ if (data.embed && $_bs9hzwh8jm0ofzje.isCached(data.source1)) {
704
+ handleInsert(editor, data.embed);
705
+ } else {
706
+ $_bs9hzwh8jm0ofzje.getEmbedHtml(editor, data).then(function (response) {
707
+ handleInsert(editor, response.html);
708
+ }).catch(handleError(editor));
709
+ }
710
+ };
711
+ var populateMeta = function (win, meta) {
712
+ global$2.each(meta, function (value, key) {
713
+ win.find('#' + key).value(value);
714
+ });
715
+ };
716
+ var showDialog = function (editor) {
717
+ var win;
718
+ var data;
719
+ var generalFormItems = [{
720
+ name: 'source1',
721
+ type: 'filepicker',
722
+ filetype: 'media',
723
+ size: 40,
724
+ autofocus: true,
725
+ label: 'Source',
726
+ onpaste: function () {
727
+ setTimeout(function () {
728
+ $_bs9hzwh8jm0ofzje.getEmbedHtml(editor, win.toJSON()).then(addEmbedHtml(win, editor)).catch(handleError(editor));
729
+ }, 1);
730
+ },
731
+ onchange: function (e) {
732
+ $_bs9hzwh8jm0ofzje.getEmbedHtml(editor, win.toJSON()).then(addEmbedHtml(win, editor)).catch(handleError(editor));
733
+ populateMeta(win, e.meta);
734
+ },
735
+ onbeforecall: function (e) {
736
+ e.meta = win.toJSON();
737
+ }
738
+ }];
739
+ var advancedFormItems = [];
740
+ var reserialise = function (update) {
741
+ update(win);
742
+ data = win.toJSON();
743
+ win.find('#embed').value($_cok7l6hcjm0ofzjm.updateHtml(data.embed, data));
744
+ };
745
+ if ($_5hjeirh2jm0ofzj6.hasAltSource(editor)) {
746
+ advancedFormItems.push({
747
+ name: 'source2',
748
+ type: 'filepicker',
749
+ filetype: 'media',
750
+ size: 40,
751
+ label: 'Alternative source'
1608
752
  });
1609
-
1610
- retainAttributesAndInnerHtml(editor, node, previewWrapper);
1611
-
1612
- previewNode = new Node(name, 1);
1613
- previewNode.attr({
1614
- src: node.attr('src'),
1615
- allowfullscreen: node.attr('allowfullscreen'),
1616
- width: node.attr('width') || "300",
1617
- height: node.attr('height') || (name === "audio" ? "30" : "150"),
1618
- frameborder: '0'
753
+ }
754
+ if ($_5hjeirh2jm0ofzj6.hasPoster(editor)) {
755
+ advancedFormItems.push({
756
+ name: 'poster',
757
+ type: 'filepicker',
758
+ filetype: 'image',
759
+ size: 40,
760
+ label: 'Poster'
1619
761
  });
762
+ }
763
+ if ($_5hjeirh2jm0ofzj6.hasDimensions(editor)) {
764
+ var control = $_3pmnovhgjm0ofzju.createUi(reserialise);
765
+ generalFormItems.push(control);
766
+ }
767
+ data = getData(editor);
768
+ var embedTextBox = {
769
+ id: 'mcemediasource',
770
+ type: 'textbox',
771
+ flex: 1,
772
+ name: 'embed',
773
+ value: getSource(editor),
774
+ multiline: true,
775
+ rows: 5,
776
+ label: 'Source'
777
+ };
778
+ var updateValueOnChange = function () {
779
+ data = global$2.extend({}, $_5d5iuvh3jm0ofzj8.htmlToData($_5hjeirh2jm0ofzj6.getScripts(editor), this.value()));
780
+ this.parent().parent().fromJSON(data);
781
+ };
782
+ embedTextBox[embedChange] = updateValueOnChange;
783
+ var body = [
784
+ {
785
+ title: 'General',
786
+ type: 'form',
787
+ items: generalFormItems
788
+ },
789
+ {
790
+ title: 'Embed',
791
+ type: 'container',
792
+ layout: 'flex',
793
+ direction: 'column',
794
+ align: 'stretch',
795
+ padding: 10,
796
+ spacing: 10,
797
+ items: [
798
+ {
799
+ type: 'label',
800
+ text: 'Paste your embed code below:',
801
+ forId: 'mcemediasource'
802
+ },
803
+ embedTextBox
804
+ ]
805
+ }
806
+ ];
807
+ if (advancedFormItems.length > 0) {
808
+ body.push({
809
+ title: 'Advanced',
810
+ type: 'form',
811
+ items: advancedFormItems
812
+ });
813
+ }
814
+ win = editor.windowManager.open({
815
+ title: 'Insert/edit media',
816
+ data: data,
817
+ bodyType: 'tabpanel',
818
+ body: body,
819
+ onSubmit: function () {
820
+ $_3pmnovhgjm0ofzju.updateSize(win);
821
+ submitForm(win, editor);
822
+ }
823
+ });
824
+ $_3pmnovhgjm0ofzju.syncSize(win);
825
+ };
826
+ var $_7xmmdxgzjm0ofzj1 = { showDialog: showDialog };
1620
827
 
1621
- shimNode = new Node('span', 1);
1622
- shimNode.attr('class', 'mce-shim');
1623
-
1624
- previewWrapper.append(previewNode);
1625
- previewWrapper.append(shimNode);
1626
-
1627
- return previewWrapper;
828
+ var get = function (editor) {
829
+ var showDialog = function () {
830
+ $_7xmmdxgzjm0ofzj1.showDialog(editor);
1628
831
  };
832
+ return { showDialog: showDialog };
833
+ };
834
+ var $_75in9sgyjm0ofziz = { get: get };
1629
835
 
1630
- var retainAttributesAndInnerHtml = function (editor, sourceNode, targetNode) {
1631
- var attrName;
1632
- var attrValue;
1633
- var attribs;
1634
- var ai;
1635
- var innerHtml;
836
+ var register = function (editor) {
837
+ var showDialog = function () {
838
+ $_7xmmdxgzjm0ofzj1.showDialog(editor);
839
+ };
840
+ editor.addCommand('mceMedia', showDialog);
841
+ };
842
+ var $_dhpuelhhjm0ofzjw = { register: register };
1636
843
 
1637
- // Prefix all attributes except width, height and style since we
1638
- // will add these to the placeholder
1639
- attribs = sourceNode.attributes;
1640
- ai = attribs.length;
1641
- while (ai--) {
1642
- attrName = attribs[ai].name;
1643
- attrValue = attribs[ai].value;
844
+ var global$8 = tinymce.util.Tools.resolve('tinymce.html.Node');
1644
845
 
1645
- if (attrName !== "width" && attrName !== "height" && attrName !== "style") {
1646
- if (attrName === "data" || attrName === "src") {
1647
- attrValue = editor.convertURL(attrValue, attrName);
846
+ var sanitize = function (editor, html) {
847
+ if ($_5hjeirh2jm0ofzj6.shouldFilterHtml(editor) === false) {
848
+ return html;
849
+ }
850
+ var writer = global$6();
851
+ var blocked;
852
+ global$3({
853
+ validate: false,
854
+ allow_conditional_comments: false,
855
+ special: 'script,noscript',
856
+ comment: function (text) {
857
+ writer.comment(text);
858
+ },
859
+ cdata: function (text) {
860
+ writer.cdata(text);
861
+ },
862
+ text: function (text, raw) {
863
+ writer.text(text, raw);
864
+ },
865
+ start: function (name, attrs, empty) {
866
+ blocked = true;
867
+ if (name === 'script' || name === 'noscript') {
868
+ return;
869
+ }
870
+ for (var i = 0; i < attrs.length; i++) {
871
+ if (attrs[i].name.indexOf('on') === 0) {
872
+ return;
1648
873
  }
1649
-
1650
- targetNode.attr('data-mce-p-' + attrName, attrValue);
874
+ if (attrs[i].name === 'style') {
875
+ attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name);
876
+ }
877
+ }
878
+ writer.start(name, attrs, empty);
879
+ blocked = false;
880
+ },
881
+ end: function (name) {
882
+ if (blocked) {
883
+ return;
1651
884
  }
885
+ writer.end(name);
1652
886
  }
1653
-
1654
- // Place the inner HTML contents inside an escaped attribute
1655
- // This enables us to copy/paste the fake object
1656
- innerHtml = sourceNode.firstChild && sourceNode.firstChild.value;
1657
- if (innerHtml) {
1658
- targetNode.attr("data-mce-html", escape(Sanitize.sanitize(editor, innerHtml)));
1659
- targetNode.firstChild = null;
887
+ }, global$7({})).parse(html);
888
+ return writer.getContent();
889
+ };
890
+ var $_5ympa3hljm0ofzkb = { sanitize: sanitize };
891
+
892
+ var createPlaceholderNode = function (editor, node) {
893
+ var placeHolder;
894
+ var name = node.name;
895
+ placeHolder = new global$8('img', 1);
896
+ placeHolder.shortEnded = true;
897
+ retainAttributesAndInnerHtml(editor, node, placeHolder);
898
+ placeHolder.attr({
899
+ 'width': node.attr('width') || '300',
900
+ 'height': node.attr('height') || (name === 'audio' ? '30' : '150'),
901
+ 'style': node.attr('style'),
902
+ 'src': global$1.transparentSrc,
903
+ 'data-mce-object': name,
904
+ 'class': 'mce-object mce-object-' + name
905
+ });
906
+ return placeHolder;
907
+ };
908
+ var createPreviewIframeNode = function (editor, node) {
909
+ var previewWrapper;
910
+ var previewNode;
911
+ var shimNode;
912
+ var name = node.name;
913
+ previewWrapper = new global$8('span', 1);
914
+ previewWrapper.attr({
915
+ 'contentEditable': 'false',
916
+ 'style': node.attr('style'),
917
+ 'data-mce-object': name,
918
+ 'class': 'mce-preview-object mce-object-' + name
919
+ });
920
+ retainAttributesAndInnerHtml(editor, node, previewWrapper);
921
+ previewNode = new global$8(name, 1);
922
+ previewNode.attr({
923
+ src: node.attr('src'),
924
+ allowfullscreen: node.attr('allowfullscreen'),
925
+ style: node.attr('style'),
926
+ class: node.attr('class'),
927
+ width: node.attr('width'),
928
+ height: node.attr('height'),
929
+ frameborder: '0'
930
+ });
931
+ shimNode = new global$8('span', 1);
932
+ shimNode.attr('class', 'mce-shim');
933
+ previewWrapper.append(previewNode);
934
+ previewWrapper.append(shimNode);
935
+ return previewWrapper;
936
+ };
937
+ var retainAttributesAndInnerHtml = function (editor, sourceNode, targetNode) {
938
+ var attrName;
939
+ var attrValue;
940
+ var attribs;
941
+ var ai;
942
+ var innerHtml;
943
+ attribs = sourceNode.attributes;
944
+ ai = attribs.length;
945
+ while (ai--) {
946
+ attrName = attribs[ai].name;
947
+ attrValue = attribs[ai].value;
948
+ if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style') {
949
+ if (attrName === 'data' || attrName === 'src') {
950
+ attrValue = editor.convertURL(attrValue, attrName);
951
+ }
952
+ targetNode.attr('data-mce-p-' + attrName, attrValue);
1660
953
  }
1661
- };
1662
-
1663
- var isWithinEphoxEmbed = function (node) {
1664
- while ((node = node.parent)) {
1665
- if (node.attr('data-ephox-embed-iri')) {
1666
- return true;
954
+ }
955
+ innerHtml = sourceNode.firstChild && sourceNode.firstChild.value;
956
+ if (innerHtml) {
957
+ targetNode.attr('data-mce-html', escape($_5ympa3hljm0ofzkb.sanitize(editor, innerHtml)));
958
+ targetNode.firstChild = null;
959
+ }
960
+ };
961
+ var isWithinEphoxEmbed = function (node) {
962
+ while (node = node.parent) {
963
+ if (node.attr('data-ephox-embed-iri')) {
964
+ return true;
965
+ }
966
+ }
967
+ return false;
968
+ };
969
+ var placeHolderConverter = function (editor) {
970
+ return function (nodes) {
971
+ var i = nodes.length;
972
+ var node;
973
+ var videoScript;
974
+ while (i--) {
975
+ node = nodes[i];
976
+ if (!node.parent) {
977
+ continue;
978
+ }
979
+ if (node.parent.attr('data-mce-object')) {
980
+ continue;
981
+ }
982
+ if (node.name === 'script') {
983
+ videoScript = $_545y8yh6jm0ofzjb.getVideoScriptMatch($_5hjeirh2jm0ofzj6.getScripts(editor), node.attr('src'));
984
+ if (!videoScript) {
985
+ continue;
986
+ }
987
+ }
988
+ if (videoScript) {
989
+ if (videoScript.width) {
990
+ node.attr('width', videoScript.width.toString());
991
+ }
992
+ if (videoScript.height) {
993
+ node.attr('height', videoScript.height.toString());
994
+ }
995
+ }
996
+ if (node.name === 'iframe' && $_5hjeirh2jm0ofzj6.hasLiveEmbeds(editor) && global$1.ceFalse) {
997
+ if (!isWithinEphoxEmbed(node)) {
998
+ node.replace(createPreviewIframeNode(editor, node));
999
+ }
1000
+ } else {
1001
+ if (!isWithinEphoxEmbed(node)) {
1002
+ node.replace(createPlaceholderNode(editor, node));
1003
+ }
1667
1004
  }
1668
1005
  }
1669
-
1670
- return false;
1671
1006
  };
1007
+ };
1008
+ var $_11usglhkjm0ofzk7 = {
1009
+ createPreviewIframeNode: createPreviewIframeNode,
1010
+ createPlaceholderNode: createPlaceholderNode,
1011
+ placeHolderConverter: placeHolderConverter
1012
+ };
1672
1013
 
1673
- var placeHolderConverter = function (editor) {
1674
- return function (nodes) {
1014
+ var setup = function (editor) {
1015
+ editor.on('preInit', function () {
1016
+ var specialElements = editor.schema.getSpecialElements();
1017
+ global$2.each('video audio iframe object'.split(' '), function (name) {
1018
+ specialElements[name] = new RegExp('</' + name + '[^>]*>', 'gi');
1019
+ });
1020
+ var boolAttrs = editor.schema.getBoolAttrs();
1021
+ global$2.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function (name) {
1022
+ boolAttrs[name] = {};
1023
+ });
1024
+ editor.parser.addNodeFilter('iframe,video,audio,object,embed,script', $_11usglhkjm0ofzk7.placeHolderConverter(editor));
1025
+ editor.serializer.addAttributeFilter('data-mce-object', function (nodes, name) {
1675
1026
  var i = nodes.length;
1676
1027
  var node;
1677
- var videoScript;
1678
-
1028
+ var realElm;
1029
+ var ai;
1030
+ var attribs;
1031
+ var innerHtml;
1032
+ var innerNode;
1033
+ var realElmName;
1034
+ var className;
1679
1035
  while (i--) {
1680
1036
  node = nodes[i];
1681
1037
  if (!node.parent) {
1682
1038
  continue;
1683
1039
  }
1684
-
1685
- if (node.parent.attr('data-mce-object')) {
1686
- continue;
1687
- }
1688
-
1689
- if (node.name === 'script') {
1690
- videoScript = VideoScript.getVideoScriptMatch(Settings.getScripts(editor), node.attr('src'));
1691
- if (!videoScript) {
1692
- continue;
1693
- }
1694
- }
1695
-
1696
- if (videoScript) {
1697
- if (videoScript.width) {
1698
- node.attr('width', videoScript.width.toString());
1699
- }
1700
-
1701
- if (videoScript.height) {
1702
- node.attr('height', videoScript.height.toString());
1040
+ realElmName = node.attr(name);
1041
+ realElm = new global$8(realElmName, 1);
1042
+ if (realElmName !== 'audio' && realElmName !== 'script') {
1043
+ className = node.attr('class');
1044
+ if (className && className.indexOf('mce-preview-object') !== -1) {
1045
+ realElm.attr({
1046
+ width: node.firstChild.attr('width'),
1047
+ height: node.firstChild.attr('height')
1048
+ });
1049
+ } else {
1050
+ realElm.attr({
1051
+ width: node.attr('width'),
1052
+ height: node.attr('height')
1053
+ });
1703
1054
  }
1704
1055
  }
1705
-
1706
- if (node.name === 'iframe' && Settings.hasLiveEmbeds(editor) && Env.ceFalse) {
1707
- if (!isWithinEphoxEmbed(node)) {
1708
- node.replace(createPreviewIframeNode(editor, node));
1709
- }
1710
- } else {
1711
- if (!isWithinEphoxEmbed(node)) {
1712
- node.replace(createPlaceholderNode(editor, node));
1056
+ realElm.attr({ style: node.attr('style') });
1057
+ attribs = node.attributes;
1058
+ ai = attribs.length;
1059
+ while (ai--) {
1060
+ var attrName = attribs[ai].name;
1061
+ if (attrName.indexOf('data-mce-p-') === 0) {
1062
+ realElm.attr(attrName.substr(11), attribs[ai].value);
1713
1063
  }
1714
1064
  }
1715
- }
1716
- };
1717
- };
1718
-
1719
- return {
1720
- createPreviewIframeNode: createPreviewIframeNode,
1721
- createPlaceholderNode: createPlaceholderNode,
1722
- placeHolderConverter: placeHolderConverter
1723
- };
1724
- }
1725
- );
1726
- /**
1727
- * FilterContent.js
1728
- *
1729
- * Released under LGPL License.
1730
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1731
- *
1732
- * License: http://www.tinymce.com/license
1733
- * Contributing: http://www.tinymce.com/contributing
1734
- */
1735
-
1736
- define(
1737
- 'tinymce.plugins.media.core.FilterContent',
1738
- [
1739
- 'tinymce.core.html.Node',
1740
- 'tinymce.core.util.Tools',
1741
- 'tinymce.plugins.media.core.Nodes',
1742
- 'tinymce.plugins.media.core.Sanitize'
1743
- ],
1744
- function (Node, Tools, Nodes, Sanitize) {
1745
- var setup = function (editor) {
1746
- editor.on('preInit', function () {
1747
- // Make sure that any messy HTML is retained inside these
1748
- var specialElements = editor.schema.getSpecialElements();
1749
- Tools.each('video audio iframe object'.split(' '), function (name) {
1750
- specialElements[name] = new RegExp('<\/' + name + '[^>]*>', 'gi');
1751
- });
1752
-
1753
- // Allow elements
1754
- //editor.schema.addValidElements(
1755
- // 'object[id|style|width|height|classid|codebase|*],embed[id|style|width|height|type|src|*],video[*],audio[*]'
1756
- //);
1757
-
1758
- // Set allowFullscreen attribs as boolean
1759
- var boolAttrs = editor.schema.getBoolAttrs();
1760
- Tools.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function (name) {
1761
- boolAttrs[name] = {};
1762
- });
1763
-
1764
- // Converts iframe, video etc into placeholder images
1765
- editor.parser.addNodeFilter('iframe,video,audio,object,embed,script',
1766
- Nodes.placeHolderConverter(editor));
1767
-
1768
- // Replaces placeholder images with real elements for video, object, iframe etc
1769
- editor.serializer.addAttributeFilter('data-mce-object', function (nodes, name) {
1770
- var i = nodes.length;
1771
- var node;
1772
- var realElm;
1773
- var ai;
1774
- var attribs;
1775
- var innerHtml;
1776
- var innerNode;
1777
- var realElmName;
1778
- var className;
1779
-
1780
- while (i--) {
1781
- node = nodes[i];
1782
- if (!node.parent) {
1783
- continue;
1784
- }
1785
-
1786
- realElmName = node.attr(name);
1787
- realElm = new Node(realElmName, 1);
1788
-
1789
- // Add width/height to everything but audio
1790
- if (realElmName !== "audio" && realElmName !== "script") {
1791
- className = node.attr('class');
1792
- if (className && className.indexOf('mce-preview-object') !== -1) {
1793
- realElm.attr({
1794
- width: node.firstChild.attr('width'),
1795
- height: node.firstChild.attr('height')
1796
- });
1797
- } else {
1798
- realElm.attr({
1799
- width: node.attr('width'),
1800
- height: node.attr('height')
1801
- });
1802
- }
1803
- }
1804
-
1805
- realElm.attr({
1806
- style: node.attr('style')
1807
- });
1808
-
1809
- // Unprefix all placeholder attributes
1810
- attribs = node.attributes;
1811
- ai = attribs.length;
1812
- while (ai--) {
1813
- var attrName = attribs[ai].name;
1814
-
1815
- if (attrName.indexOf('data-mce-p-') === 0) {
1816
- realElm.attr(attrName.substr(11), attribs[ai].value);
1817
- }
1818
- }
1819
-
1820
- if (realElmName === "script") {
1821
- realElm.attr('type', 'text/javascript');
1822
- }
1823
-
1824
- // Inject innerhtml
1825
- innerHtml = node.attr('data-mce-html');
1826
- if (innerHtml) {
1827
- innerNode = new Node('#text', 3);
1828
- innerNode.raw = true;
1829
- innerNode.value = Sanitize.sanitize(editor, unescape(innerHtml));
1830
- realElm.append(innerNode);
1831
- }
1832
-
1833
- node.replace(realElm);
1065
+ if (realElmName === 'script') {
1066
+ realElm.attr('type', 'text/javascript');
1834
1067
  }
1835
- });
1836
- });
1837
-
1838
- editor.on('setContent', function () {
1839
- // TODO: This shouldn't be needed there should be a way to mark bogus
1840
- // elements so they are never removed except external save
1841
- editor.$('span.mce-preview-object').each(function (index, elm) {
1842
- var $elm = editor.$(elm);
1843
-
1844
- if ($elm.find('span.mce-shim', elm).length === 0) {
1845
- $elm.append('<span class="mce-shim"></span>');
1068
+ innerHtml = node.attr('data-mce-html');
1069
+ if (innerHtml) {
1070
+ innerNode = new global$8('#text', 3);
1071
+ innerNode.raw = true;
1072
+ innerNode.value = $_5ympa3hljm0ofzkb.sanitize(editor, unescape(innerHtml));
1073
+ realElm.append(innerNode);
1846
1074
  }
1847
- });
1848
- });
1849
- };
1850
-
1851
- return {
1852
- setup: setup
1853
- };
1854
- }
1855
- );
1856
-
1857
-
1858
- /**
1859
- * ResolveName.js
1860
- *
1861
- * Released under LGPL License.
1862
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1863
- *
1864
- * License: http://www.tinymce.com/license
1865
- * Contributing: http://www.tinymce.com/contributing
1866
- */
1867
-
1868
- define(
1869
- 'tinymce.plugins.media.core.ResolveName',
1870
- [
1871
- ],
1872
- function () {
1873
- var setup = function (editor) {
1874
- editor.on('ResolveName', function (e) {
1875
- var name;
1876
-
1877
- if (e.target.nodeType === 1 && (name = e.target.getAttribute("data-mce-object"))) {
1878
- e.name = name;
1075
+ node.replace(realElm);
1879
1076
  }
1880
1077
  });
1881
- };
1882
-
1883
- return {
1884
- setup: setup
1885
- };
1886
- }
1887
- );
1888
-
1889
-
1890
- /**
1891
- * Selection.js
1892
- *
1893
- * Released under LGPL License.
1894
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1895
- *
1896
- * License: http://www.tinymce.com/license
1897
- * Contributing: http://www.tinymce.com/contributing
1898
- */
1899
-
1900
- define(
1901
- 'tinymce.plugins.media.core.Selection',
1902
- [
1903
- 'tinymce.plugins.media.core.UpdateHtml'
1904
- ],
1905
- function (UpdateHtml) {
1906
- var setup = function (editor) {
1907
- editor.on('click keyup', function () {
1908
- var selectedNode = editor.selection.getNode();
1909
-
1910
- if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {
1911
- if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {
1912
- selectedNode.setAttribute('data-mce-selected', '2');
1913
- }
1078
+ });
1079
+ editor.on('setContent', function () {
1080
+ editor.$('span.mce-preview-object').each(function (index, elm) {
1081
+ var $elm = editor.$(elm);
1082
+ if ($elm.find('span.mce-shim', elm).length === 0) {
1083
+ $elm.append('<span class="mce-shim"></span>');
1914
1084
  }
1915
1085
  });
1086
+ });
1087
+ };
1088
+ var $_fbo9b6hijm0ofzjy = { setup: setup };
1916
1089
 
1917
- editor.on('ObjectSelected', function (e) {
1918
- var objectType = e.target.getAttribute('data-mce-object');
1919
-
1920
- if (objectType === "audio" || objectType === "script") {
1921
- e.preventDefault();
1090
+ var setup$1 = function (editor) {
1091
+ editor.on('ResolveName', function (e) {
1092
+ var name;
1093
+ if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) {
1094
+ e.name = name;
1095
+ }
1096
+ });
1097
+ };
1098
+ var $_cuj39fhmjm0ofzkd = { setup: setup$1 };
1099
+
1100
+ var setup$2 = function (editor) {
1101
+ editor.on('click keyup', function () {
1102
+ var selectedNode = editor.selection.getNode();
1103
+ if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {
1104
+ if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {
1105
+ selectedNode.setAttribute('data-mce-selected', '2');
1922
1106
  }
1923
- });
1924
-
1925
- editor.on('objectResized', function (e) {
1926
- var target = e.target;
1927
- var html;
1928
-
1929
- if (target.getAttribute('data-mce-object')) {
1930
- html = target.getAttribute('data-mce-html');
1931
- if (html) {
1932
- html = unescape(html);
1933
- target.setAttribute('data-mce-html', escape(
1934
- UpdateHtml.updateHtml(html, {
1935
- width: e.width,
1936
- height: e.height
1937
- })
1938
- ));
1939
- }
1107
+ }
1108
+ });
1109
+ editor.on('ObjectSelected', function (e) {
1110
+ var objectType = e.target.getAttribute('data-mce-object');
1111
+ if (objectType === 'audio' || objectType === 'script') {
1112
+ e.preventDefault();
1113
+ }
1114
+ });
1115
+ editor.on('objectResized', function (e) {
1116
+ var target = e.target;
1117
+ var html;
1118
+ if (target.getAttribute('data-mce-object')) {
1119
+ html = target.getAttribute('data-mce-html');
1120
+ if (html) {
1121
+ html = unescape(html);
1122
+ target.setAttribute('data-mce-html', escape($_cok7l6hcjm0ofzjm.updateHtml(html, {
1123
+ width: e.width,
1124
+ height: e.height
1125
+ })));
1940
1126
  }
1941
- });
1942
- };
1943
-
1944
- return {
1945
- setup: setup
1946
- };
1947
- }
1948
- );
1949
-
1950
-
1951
- /**
1952
- * Buttons.js
1953
- *
1954
- * Released under LGPL License.
1955
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1956
- *
1957
- * License: http://www.tinymce.com/license
1958
- * Contributing: http://www.tinymce.com/contributing
1959
- */
1960
-
1961
- define(
1962
- 'tinymce.plugins.media.ui.Buttons',
1963
- [
1964
- ],
1965
- function () {
1966
- var register = function (editor) {
1967
- editor.addButton('media', {
1968
- tooltip: 'Insert/edit media',
1969
- cmd: 'mceMedia',
1970
- stateSelector: ['img[data-mce-object]', 'span[data-mce-object]', 'div[data-ephox-embed-iri]']
1971
- });
1972
-
1973
- editor.addMenuItem('media', {
1974
- icon: 'media',
1975
- text: 'Media',
1976
- cmd: 'mceMedia',
1977
- context: 'insert',
1978
- prependToContext: true
1979
- });
1980
- };
1981
-
1982
- return {
1983
- register: register
1984
- };
1985
- }
1986
- );
1987
-
1988
-
1989
- /**
1990
- * Plugin.js
1991
- *
1992
- * Released under LGPL License.
1993
- * Copyright (c) 1999-2017 Ephox Corp. All rights reserved
1994
- *
1995
- * License: http://www.tinymce.com/license
1996
- * Contributing: http://www.tinymce.com/contributing
1997
- */
1998
-
1999
- define(
2000
- 'tinymce.plugins.media.Plugin',
2001
- [
2002
- 'tinymce.core.PluginManager',
2003
- 'tinymce.plugins.media.api.Api',
2004
- 'tinymce.plugins.media.api.Commands',
2005
- 'tinymce.plugins.media.core.FilterContent',
2006
- 'tinymce.plugins.media.core.ResolveName',
2007
- 'tinymce.plugins.media.core.Selection',
2008
- 'tinymce.plugins.media.ui.Buttons'
2009
- ],
2010
- function (PluginManager, Api, Commands, FilterContent, ResolveName, Selection, Buttons) {
2011
- PluginManager.add('media', function (editor) {
2012
- Commands.register(editor);
2013
- Buttons.register(editor);
2014
- ResolveName.setup(editor);
2015
- FilterContent.setup(editor);
2016
- Selection.setup(editor);
2017
- return Api.get(editor);
1127
+ }
2018
1128
  });
2019
-
2020
- return function () { };
1129
+ };
1130
+ var $_fg8hp3hnjm0ofzke = { setup: setup$2 };
1131
+
1132
+ var register$1 = function (editor) {
1133
+ editor.addButton('media', {
1134
+ tooltip: 'Insert/edit media',
1135
+ cmd: 'mceMedia',
1136
+ stateSelector: [
1137
+ 'img[data-mce-object]',
1138
+ 'span[data-mce-object]',
1139
+ 'div[data-ephox-embed-iri]'
1140
+ ]
1141
+ });
1142
+ editor.addMenuItem('media', {
1143
+ icon: 'media',
1144
+ text: 'Media',
1145
+ cmd: 'mceMedia',
1146
+ context: 'insert',
1147
+ prependToContext: true
1148
+ });
1149
+ };
1150
+ var $_am75nxhojm0ofzkh = { register: register$1 };
1151
+
1152
+ global.add('media', function (editor) {
1153
+ $_dhpuelhhjm0ofzjw.register(editor);
1154
+ $_am75nxhojm0ofzkh.register(editor);
1155
+ $_cuj39fhmjm0ofzkd.setup(editor);
1156
+ $_fbo9b6hijm0ofzjy.setup(editor);
1157
+ $_fg8hp3hnjm0ofzke.setup(editor);
1158
+ return $_75in9sgyjm0ofziz.get(editor);
1159
+ });
1160
+ function Plugin () {
2021
1161
  }
2022
- );
2023
1162
 
1163
+ return Plugin;
2024
1164
 
2025
- dem('tinymce.plugins.media.Plugin')();
1165
+ }());
2026
1166
  })();