ckeditor-rails 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (347) hide show
  1. data/README.md +10 -4
  2. data/ckeditor-rails.gemspec +1 -1
  3. data/lib/ckeditor-rails/version.rb +1 -1
  4. data/vendor/assets/ckeditor/ckeditor/INSTALL.html +92 -92
  5. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/application.xml +32 -32
  6. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/run.bat +9 -9
  7. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/sample.html +45 -45
  8. data/vendor/assets/ckeditor/ckeditor/_samples/ajax.html +98 -98
  9. data/vendor/assets/ckeditor/ckeditor/_samples/api.html +192 -192
  10. data/vendor/assets/ckeditor/ckeditor/_samples/api_dialog.html +198 -198
  11. data/vendor/assets/ckeditor/ckeditor/_samples/api_dialog/my_dialog.js +28 -28
  12. data/vendor/assets/ckeditor/ckeditor/_samples/asp/advanced.asp +105 -105
  13. data/vendor/assets/ckeditor/ckeditor/_samples/asp/events.asp +136 -136
  14. data/vendor/assets/ckeditor/ckeditor/_samples/asp/index.html +103 -103
  15. data/vendor/assets/ckeditor/ckeditor/_samples/asp/replace.asp +72 -72
  16. data/vendor/assets/ckeditor/ckeditor/_samples/asp/replaceall.asp +77 -77
  17. data/vendor/assets/ckeditor/ckeditor/_samples/asp/sample_posteddata.asp +46 -46
  18. data/vendor/assets/ckeditor/ckeditor/_samples/asp/standalone.asp +72 -72
  19. data/vendor/assets/ckeditor/ckeditor/_samples/assets/_posteddata.php +59 -59
  20. data/vendor/assets/ckeditor/ckeditor/_samples/assets/output_xhtml.css +204 -204
  21. data/vendor/assets/ckeditor/ckeditor/_samples/assets/parsesample.css +70 -70
  22. data/vendor/assets/ckeditor/ckeditor/_samples/assets/swfobject.js +18 -18
  23. data/vendor/assets/ckeditor/ckeditor/_samples/autogrow.html +107 -107
  24. data/vendor/assets/ckeditor/ckeditor/_samples/bbcode.html +125 -125
  25. data/vendor/assets/ckeditor/ckeditor/_samples/devtools.html +94 -94
  26. data/vendor/assets/ckeditor/ckeditor/_samples/divreplace.html +154 -154
  27. data/vendor/assets/ckeditor/ckeditor/_samples/enterkey.html +115 -115
  28. data/vendor/assets/ckeditor/ckeditor/_samples/fullpage.html +82 -82
  29. data/vendor/assets/ckeditor/ckeditor/_samples/index.html +116 -116
  30. data/vendor/assets/ckeditor/ckeditor/_samples/jqueryadapter.html +99 -99
  31. data/vendor/assets/ckeditor/ckeditor/_samples/output_for_flash.html +275 -275
  32. data/vendor/assets/ckeditor/ckeditor/_samples/output_html.html +285 -285
  33. data/vendor/assets/ckeditor/ckeditor/_samples/output_xhtml.html +177 -177
  34. data/vendor/assets/ckeditor/ckeditor/_samples/php/advanced.php +120 -120
  35. data/vendor/assets/ckeditor/ckeditor/_samples/php/events.php +153 -153
  36. data/vendor/assets/ckeditor/ckeditor/_samples/php/index.html +47 -47
  37. data/vendor/assets/ckeditor/ckeditor/_samples/php/replace.php +87 -87
  38. data/vendor/assets/ckeditor/ckeditor/_samples/php/replaceall.php +88 -88
  39. data/vendor/assets/ckeditor/ckeditor/_samples/php/standalone.php +83 -83
  40. data/vendor/assets/ckeditor/ckeditor/_samples/placeholder.html +81 -81
  41. data/vendor/assets/ckeditor/ckeditor/_samples/readonly.html +91 -91
  42. data/vendor/assets/ckeditor/ckeditor/_samples/replacebyclass.html +64 -64
  43. data/vendor/assets/ckeditor/ckeditor/_samples/replacebycode.html +97 -97
  44. data/vendor/assets/ckeditor/ckeditor/_samples/sample.css +163 -163
  45. data/vendor/assets/ckeditor/ckeditor/_samples/sample.js +65 -65
  46. data/vendor/assets/ckeditor/ckeditor/_samples/sample_posteddata.php +21 -21
  47. data/vendor/assets/ckeditor/ckeditor/_samples/sharedspaces.html +153 -153
  48. data/vendor/assets/ckeditor/ckeditor/_samples/skins.html +110 -110
  49. data/vendor/assets/ckeditor/ckeditor/_samples/stylesheetparser.html +93 -93
  50. data/vendor/assets/ckeditor/ckeditor/_samples/tableresize.html +115 -115
  51. data/vendor/assets/ckeditor/ckeditor/_samples/ui_color.html +129 -129
  52. data/vendor/assets/ckeditor/ckeditor/_samples/ui_languages.html +134 -134
  53. data/vendor/assets/ckeditor/ckeditor/_source/adapters/jquery.js +306 -306
  54. data/vendor/assets/ckeditor/ckeditor/_source/core/_bootstrap.js +87 -87
  55. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor.js +141 -141
  56. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor_base.js +227 -227
  57. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor_basic.js +238 -238
  58. data/vendor/assets/ckeditor/ckeditor/_source/core/command.js +209 -209
  59. data/vendor/assets/ckeditor/ckeditor/_source/core/commanddefinition.js +129 -129
  60. data/vendor/assets/ckeditor/ckeditor/_source/core/config.js +431 -431
  61. data/vendor/assets/ckeditor/ckeditor/_source/core/dataprocessor.js +65 -65
  62. data/vendor/assets/ckeditor/ckeditor/_source/core/dom.js +20 -20
  63. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/comment.js +32 -32
  64. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/document.js +251 -251
  65. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/documentfragment.js +49 -49
  66. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/domobject.js +258 -258
  67. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/element.js +1681 -1681
  68. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/elementpath.js +119 -119
  69. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/event.js +145 -145
  70. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/node.js +695 -695
  71. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/nodelist.js +26 -26
  72. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/range.js +2032 -2032
  73. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/rangelist.js +213 -213
  74. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/text.js +128 -128
  75. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/walker.js +462 -462
  76. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/window.js +96 -96
  77. data/vendor/assets/ckeditor/ckeditor/_source/core/dtd.js +266 -266
  78. data/vendor/assets/ckeditor/ckeditor/_source/core/editor.js +1059 -1059
  79. data/vendor/assets/ckeditor/ckeditor/_source/core/editor_basic.js +186 -186
  80. data/vendor/assets/ckeditor/ckeditor/_source/core/env.js +291 -291
  81. data/vendor/assets/ckeditor/ckeditor/_source/core/event.js +342 -342
  82. data/vendor/assets/ckeditor/ckeditor/_source/core/eventInfo.js +120 -120
  83. data/vendor/assets/ckeditor/ckeditor/_source/core/focusmanager.js +152 -152
  84. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser.js +224 -224
  85. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/basicwriter.js +145 -145
  86. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/cdata.js +43 -43
  87. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/comment.js +60 -60
  88. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/element.js +308 -308
  89. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/filter.js +288 -288
  90. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/fragment.js +497 -497
  91. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/text.js +55 -55
  92. data/vendor/assets/ckeditor/ckeditor/_source/core/lang.js +157 -157
  93. data/vendor/assets/ckeditor/ckeditor/_source/core/loader.js +240 -240
  94. data/vendor/assets/ckeditor/ckeditor/_source/core/plugindefinition.js +83 -83
  95. data/vendor/assets/ckeditor/ckeditor/_source/core/plugins.js +103 -103
  96. data/vendor/assets/ckeditor/ckeditor/_source/core/resourcemanager.js +238 -238
  97. data/vendor/assets/ckeditor/ckeditor/_source/core/scriptloader.js +180 -180
  98. data/vendor/assets/ckeditor/ckeditor/_source/core/skins.js +184 -184
  99. data/vendor/assets/ckeditor/ckeditor/_source/core/themes.js +19 -19
  100. data/vendor/assets/ckeditor/ckeditor/_source/core/tools.js +763 -763
  101. data/vendor/assets/ckeditor/ckeditor/_source/core/ui.js +128 -128
  102. data/vendor/assets/ckeditor/ckeditor/_source/lang/_languages.js +84 -84
  103. data/vendor/assets/ckeditor/ckeditor/_source/lang/_translationstatus.txt +61 -61
  104. data/vendor/assets/ckeditor/ckeditor/_source/lang/af.js +812 -812
  105. data/vendor/assets/ckeditor/ckeditor/_source/lang/ar.js +812 -812
  106. data/vendor/assets/ckeditor/ckeditor/_source/lang/bg.js +812 -812
  107. data/vendor/assets/ckeditor/ckeditor/_source/lang/bn.js +812 -812
  108. data/vendor/assets/ckeditor/ckeditor/_source/lang/bs.js +812 -812
  109. data/vendor/assets/ckeditor/ckeditor/_source/lang/ca.js +812 -812
  110. data/vendor/assets/ckeditor/ckeditor/_source/lang/cs.js +812 -812
  111. data/vendor/assets/ckeditor/ckeditor/_source/lang/cy.js +812 -812
  112. data/vendor/assets/ckeditor/ckeditor/_source/lang/da.js +812 -812
  113. data/vendor/assets/ckeditor/ckeditor/_source/lang/de.js +812 -812
  114. data/vendor/assets/ckeditor/ckeditor/_source/lang/el.js +812 -812
  115. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-au.js +812 -812
  116. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-ca.js +812 -812
  117. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-gb.js +812 -812
  118. data/vendor/assets/ckeditor/ckeditor/_source/lang/en.js +812 -812
  119. data/vendor/assets/ckeditor/ckeditor/_source/lang/eo.js +812 -812
  120. data/vendor/assets/ckeditor/ckeditor/_source/lang/es.js +812 -812
  121. data/vendor/assets/ckeditor/ckeditor/_source/lang/et.js +812 -812
  122. data/vendor/assets/ckeditor/ckeditor/_source/lang/eu.js +812 -812
  123. data/vendor/assets/ckeditor/ckeditor/_source/lang/fa.js +812 -812
  124. data/vendor/assets/ckeditor/ckeditor/_source/lang/fi.js +812 -812
  125. data/vendor/assets/ckeditor/ckeditor/_source/lang/fo.js +812 -812
  126. data/vendor/assets/ckeditor/ckeditor/_source/lang/fr-ca.js +812 -812
  127. data/vendor/assets/ckeditor/ckeditor/_source/lang/fr.js +812 -812
  128. data/vendor/assets/ckeditor/ckeditor/_source/lang/gl.js +812 -812
  129. data/vendor/assets/ckeditor/ckeditor/_source/lang/gu.js +812 -812
  130. data/vendor/assets/ckeditor/ckeditor/_source/lang/he.js +812 -812
  131. data/vendor/assets/ckeditor/ckeditor/_source/lang/hi.js +812 -812
  132. data/vendor/assets/ckeditor/ckeditor/_source/lang/hr.js +812 -812
  133. data/vendor/assets/ckeditor/ckeditor/_source/lang/hu.js +812 -812
  134. data/vendor/assets/ckeditor/ckeditor/_source/lang/is.js +812 -812
  135. data/vendor/assets/ckeditor/ckeditor/_source/lang/it.js +812 -812
  136. data/vendor/assets/ckeditor/ckeditor/_source/lang/ja.js +812 -812
  137. data/vendor/assets/ckeditor/ckeditor/_source/lang/ka.js +812 -812
  138. data/vendor/assets/ckeditor/ckeditor/_source/lang/km.js +812 -812
  139. data/vendor/assets/ckeditor/ckeditor/_source/lang/ko.js +812 -812
  140. data/vendor/assets/ckeditor/ckeditor/_source/lang/lt.js +812 -812
  141. data/vendor/assets/ckeditor/ckeditor/_source/lang/lv.js +812 -812
  142. data/vendor/assets/ckeditor/ckeditor/_source/lang/mn.js +812 -812
  143. data/vendor/assets/ckeditor/ckeditor/_source/lang/ms.js +812 -812
  144. data/vendor/assets/ckeditor/ckeditor/_source/lang/nb.js +812 -812
  145. data/vendor/assets/ckeditor/ckeditor/_source/lang/nl.js +812 -812
  146. data/vendor/assets/ckeditor/ckeditor/_source/lang/no.js +812 -812
  147. data/vendor/assets/ckeditor/ckeditor/_source/lang/pl.js +812 -812
  148. data/vendor/assets/ckeditor/ckeditor/_source/lang/pt-br.js +811 -811
  149. data/vendor/assets/ckeditor/ckeditor/_source/lang/pt.js +812 -812
  150. data/vendor/assets/ckeditor/ckeditor/_source/lang/ro.js +812 -812
  151. data/vendor/assets/ckeditor/ckeditor/_source/lang/ru.js +812 -812
  152. data/vendor/assets/ckeditor/ckeditor/_source/lang/sk.js +812 -812
  153. data/vendor/assets/ckeditor/ckeditor/_source/lang/sl.js +812 -812
  154. data/vendor/assets/ckeditor/ckeditor/_source/lang/sr-latn.js +812 -812
  155. data/vendor/assets/ckeditor/ckeditor/_source/lang/sr.js +812 -812
  156. data/vendor/assets/ckeditor/ckeditor/_source/lang/sv.js +811 -811
  157. data/vendor/assets/ckeditor/ckeditor/_source/lang/th.js +812 -812
  158. data/vendor/assets/ckeditor/ckeditor/_source/lang/tr.js +811 -811
  159. data/vendor/assets/ckeditor/ckeditor/_source/lang/uk.js +812 -812
  160. data/vendor/assets/ckeditor/ckeditor/_source/lang/vi.js +812 -812
  161. data/vendor/assets/ckeditor/ckeditor/_source/lang/zh-cn.js +812 -812
  162. data/vendor/assets/ckeditor/ckeditor/_source/lang/zh.js +812 -812
  163. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -222
  164. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -108
  165. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -216
  166. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -47
  167. data/vendor/assets/ckeditor/ckeditor/_source/plugins/about/dialogs/about.js +76 -76
  168. data/vendor/assets/ckeditor/ckeditor/_source/plugins/about/plugin.js +24 -24
  169. data/vendor/assets/ckeditor/ckeditor/_source/plugins/adobeair/plugin.js +228 -228
  170. data/vendor/assets/ckeditor/ckeditor/_source/plugins/ajax/plugin.js +152 -152
  171. data/vendor/assets/ckeditor/ckeditor/_source/plugins/autogrow/plugin.js +88 -88
  172. data/vendor/assets/ckeditor/ckeditor/_source/plugins/basicstyles/plugin.js +101 -101
  173. data/vendor/assets/ckeditor/ckeditor/_source/plugins/bbcode/plugin.js +931 -931
  174. data/vendor/assets/ckeditor/ckeditor/_source/plugins/bidi/plugin.js +334 -334
  175. data/vendor/assets/ckeditor/ckeditor/_source/plugins/blockquote/plugin.js +305 -305
  176. data/vendor/assets/ckeditor/ckeditor/_source/plugins/button/plugin.js +290 -290
  177. data/vendor/assets/ckeditor/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -223
  178. data/vendor/assets/ckeditor/ckeditor/_source/plugins/clipboard/plugin.js +453 -453
  179. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colorbutton/plugin.js +294 -294
  180. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -340
  181. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colordialog/plugin.js +15 -15
  182. data/vendor/assets/ckeditor/ckeditor/_source/plugins/contextmenu/plugin.js +177 -177
  183. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/en.js +16 -16
  184. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/plugin.js +173 -173
  185. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -1166
  186. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialog/plugin.js +3289 -3289
  187. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialogadvtab/plugin.js +207 -207
  188. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialogui/plugin.js +1541 -1541
  189. data/vendor/assets/ckeditor/ckeditor/_source/plugins/div/dialogs/div.js +535 -535
  190. data/vendor/assets/ckeditor/ckeditor/_source/plugins/div/plugin.js +121 -121
  191. data/vendor/assets/ckeditor/ckeditor/_source/plugins/docprops/dialogs/docprops.js +686 -686
  192. data/vendor/assets/ckeditor/ckeditor/_source/plugins/docprops/plugin.js +22 -22
  193. data/vendor/assets/ckeditor/ckeditor/_source/plugins/domiterator/plugin.js +361 -361
  194. data/vendor/assets/ckeditor/ckeditor/_source/plugins/editingblock/plugin.js +275 -275
  195. data/vendor/assets/ckeditor/ckeditor/_source/plugins/elementspath/plugin.js +218 -218
  196. data/vendor/assets/ckeditor/ckeditor/_source/plugins/enterkey/plugin.js +413 -413
  197. data/vendor/assets/ckeditor/ckeditor/_source/plugins/entities/plugin.js +250 -250
  198. data/vendor/assets/ckeditor/ckeditor/_source/plugins/fakeobjects/plugin.js +175 -175
  199. data/vendor/assets/ckeditor/ckeditor/_source/plugins/filebrowser/plugin.js +524 -524
  200. data/vendor/assets/ckeditor/ckeditor/_source/plugins/find/dialogs/find.js +903 -903
  201. data/vendor/assets/ckeditor/ckeditor/_source/plugins/find/plugin.js +47 -47
  202. data/vendor/assets/ckeditor/ckeditor/_source/plugins/flash/dialogs/flash.js +673 -673
  203. data/vendor/assets/ckeditor/ckeditor/_source/plugins/flash/plugin.js +154 -154
  204. data/vendor/assets/ckeditor/ckeditor/_source/plugins/floatpanel/plugin.js +428 -428
  205. data/vendor/assets/ckeditor/ckeditor/_source/plugins/font/plugin.js +234 -234
  206. data/vendor/assets/ckeditor/ckeditor/_source/plugins/format/plugin.js +197 -197
  207. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/button.js +118 -118
  208. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -153
  209. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/form.js +177 -177
  210. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -100
  211. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -135
  212. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/select.js +558 -558
  213. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -114
  214. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -199
  215. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/plugin.js +288 -288
  216. data/vendor/assets/ckeditor/ckeditor/_source/plugins/horizontalrule/plugin.js +48 -48
  217. data/vendor/assets/ckeditor/ckeditor/_source/plugins/htmldataprocessor/plugin.js +595 -595
  218. data/vendor/assets/ckeditor/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -319
  219. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframe/dialogs/iframe.js +229 -229
  220. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframe/plugin.js +87 -87
  221. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframedialog/plugin.js +188 -188
  222. data/vendor/assets/ckeditor/ckeditor/_source/plugins/image/dialogs/image.js +1406 -1406
  223. data/vendor/assets/ckeditor/ckeditor/_source/plugins/image/plugin.js +81 -81
  224. data/vendor/assets/ckeditor/ckeditor/_source/plugins/indent/plugin.js +461 -461
  225. data/vendor/assets/ckeditor/ckeditor/_source/plugins/justify/plugin.js +253 -253
  226. data/vendor/assets/ckeditor/ckeditor/_source/plugins/keystrokes/plugin.js +225 -225
  227. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -144
  228. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/dialogs/link.js +1424 -1424
  229. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/plugin.js +374 -374
  230. data/vendor/assets/ckeditor/ckeditor/_source/plugins/list/plugin.js +734 -734
  231. data/vendor/assets/ckeditor/ckeditor/_source/plugins/listblock/plugin.js +268 -268
  232. data/vendor/assets/ckeditor/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -225
  233. data/vendor/assets/ckeditor/ckeditor/_source/plugins/liststyle/plugin.js +66 -66
  234. data/vendor/assets/ckeditor/ckeditor/_source/plugins/maximize/plugin.js +352 -352
  235. data/vendor/assets/ckeditor/ckeditor/_source/plugins/menu/plugin.js +541 -541
  236. data/vendor/assets/ckeditor/ckeditor/_source/plugins/menubutton/plugin.js +98 -98
  237. data/vendor/assets/ckeditor/ckeditor/_source/plugins/newpage/plugin.js +54 -54
  238. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pagebreak/plugin.js +164 -164
  239. data/vendor/assets/ckeditor/ckeditor/_source/plugins/panel/plugin.js +403 -403
  240. data/vendor/assets/ckeditor/ckeditor/_source/plugins/panelbutton/plugin.js +144 -144
  241. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -1367
  242. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastefromword/plugin.js +141 -141
  243. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -67
  244. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastetext/plugin.js +98 -98
  245. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -71
  246. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/en.js +16 -16
  247. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/he.js +16 -16
  248. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/plugin.js +171 -171
  249. data/vendor/assets/ckeditor/ckeditor/_source/plugins/popup/plugin.js +64 -64
  250. data/vendor/assets/ckeditor/ckeditor/_source/plugins/preview/plugin.js +109 -109
  251. data/vendor/assets/ckeditor/ckeditor/_source/plugins/print/plugin.js +42 -42
  252. data/vendor/assets/ckeditor/ckeditor/_source/plugins/removeformat/plugin.js +185 -185
  253. data/vendor/assets/ckeditor/ckeditor/_source/plugins/resize/plugin.js +168 -168
  254. data/vendor/assets/ckeditor/ckeditor/_source/plugins/richcombo/plugin.js +381 -381
  255. data/vendor/assets/ckeditor/ckeditor/_source/plugins/save/plugin.js +56 -56
  256. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -537
  257. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -71
  258. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/plugin.js +964 -964
  259. data/vendor/assets/ckeditor/ckeditor/_source/plugins/selection/plugin.js +1601 -1601
  260. data/vendor/assets/ckeditor/ckeditor/_source/plugins/showblocks/plugin.js +160 -160
  261. data/vendor/assets/ckeditor/ckeditor/_source/plugins/showborders/plugin.js +207 -207
  262. data/vendor/assets/ckeditor/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -224
  263. data/vendor/assets/ckeditor/ckeditor/_source/plugins/smiley/plugin.js +94 -94
  264. data/vendor/assets/ckeditor/ckeditor/_source/plugins/sourcearea/plugin.js +209 -209
  265. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -350
  266. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/en.js +89 -89
  267. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/plugin.js +70 -70
  268. data/vendor/assets/ckeditor/ckeditor/_source/plugins/styles/plugin.js +1696 -1696
  269. data/vendor/assets/ckeditor/ckeditor/_source/plugins/styles/styles/default.js +88 -88
  270. data/vendor/assets/ckeditor/ckeditor/_source/plugins/stylescombo/plugin.js +218 -218
  271. data/vendor/assets/ckeditor/ckeditor/_source/plugins/stylesheetparser/plugin.js +148 -148
  272. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tab/plugin.js +367 -367
  273. data/vendor/assets/ckeditor/ckeditor/_source/plugins/table/dialogs/table.js +602 -602
  274. data/vendor/assets/ckeditor/ckeditor/_source/plugins/table/plugin.js +78 -78
  275. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tableresize/plugin.js +443 -443
  276. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -525
  277. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tabletools/plugin.js +1194 -1194
  278. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -234
  279. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/plugin.js +99 -99
  280. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/templates/default.js +94 -94
  281. data/vendor/assets/ckeditor/ckeditor/_source/plugins/toolbar/plugin.js +545 -545
  282. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -205
  283. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/en.js +15 -15
  284. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/he.js +15 -15
  285. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/plugin.js +37 -37
  286. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -15
  287. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -71
  288. data/vendor/assets/ckeditor/ckeditor/_source/plugins/undo/plugin.js +580 -580
  289. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -49
  290. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -52
  291. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -82
  292. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -192
  293. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/plugin.js +33 -33
  294. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wysiwygarea/plugin.js +1351 -1351
  295. data/vendor/assets/ckeditor/ckeditor/_source/plugins/xml/plugin.js +170 -170
  296. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/dialog.css +943 -943
  297. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/editor.css +25 -25
  298. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/elementspath.css +73 -73
  299. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/icons.css +366 -366
  300. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/mainui.css +203 -203
  301. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/menu.css +232 -232
  302. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/panel.css +217 -217
  303. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/presets.css +49 -49
  304. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/reset.css +84 -84
  305. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/richcombo.css +287 -287
  306. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/skin.js +236 -236
  307. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/templates.css +88 -88
  308. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/toolbar.css +407 -407
  309. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/dialog.css +844 -844
  310. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/editor.css +25 -25
  311. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/elementspath.css +74 -74
  312. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/icons.css +363 -363
  313. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/mainui.css +153 -153
  314. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/menu.css +229 -229
  315. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/panel.css +212 -212
  316. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/presets.css +49 -49
  317. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/reset.css +84 -84
  318. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/richcombo.css +309 -309
  319. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/skin.js +74 -74
  320. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/templates.css +87 -87
  321. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/toolbar.css +522 -522
  322. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/dialog.css +861 -861
  323. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/editor.css +25 -25
  324. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/elementspath.css +74 -74
  325. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/icons.css +363 -363
  326. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/mainui.css +162 -162
  327. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/menu.css +232 -232
  328. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/panel.css +212 -212
  329. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/presets.css +50 -50
  330. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/reset.css +84 -84
  331. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/richcombo.css +302 -302
  332. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/skin.js +70 -70
  333. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/templates.css +87 -87
  334. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/toolbar.css +465 -465
  335. data/vendor/assets/ckeditor/ckeditor/_source/themes/default/theme.js +395 -395
  336. data/vendor/assets/ckeditor/ckeditor/adapters/jquery.js +6 -6
  337. data/vendor/assets/ckeditor/ckeditor/ckeditor.asp +955 -955
  338. data/vendor/assets/ckeditor/ckeditor/ckeditor.pack +211 -211
  339. data/vendor/assets/ckeditor/ckeditor/ckeditor.php +29 -29
  340. data/vendor/assets/ckeditor/ckeditor/ckeditor_basic.js +8 -8
  341. data/vendor/assets/ckeditor/ckeditor/ckeditor_basic_source.js +20 -20
  342. data/vendor/assets/ckeditor/ckeditor/ckeditor_php4.php +566 -566
  343. data/vendor/assets/ckeditor/ckeditor/ckeditor_php5.php +556 -556
  344. data/vendor/assets/ckeditor/ckeditor/config.js +11 -11
  345. data/vendor/assets/ckeditor/ckeditor/contents.css +25 -25
  346. data/vendor/assets/ckeditor/ckeditor/themes/default/theme.js +8 -8
  347. metadata +7 -9
@@ -1,462 +1,462 @@
1
- /*
2
- Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- (function()
7
- {
8
- // This function is to be called under a "walker" instance scope.
9
- function iterate( rtl, breakOnFalse )
10
- {
11
- // Return null if we have reached the end.
12
- if ( this._.end )
13
- return null;
14
-
15
- var node,
16
- range = this.range,
17
- guard,
18
- userGuard = this.guard,
19
- type = this.type,
20
- getSourceNodeFn = ( rtl ? 'getPreviousSourceNode' : 'getNextSourceNode' );
21
-
22
- // This is the first call. Initialize it.
23
- if ( !this._.start )
24
- {
25
- this._.start = 1;
26
-
27
- // Trim text nodes and optmize the range boundaries. DOM changes
28
- // may happen at this point.
29
- range.trim();
30
-
31
- // A collapsed range must return null at first call.
32
- if ( range.collapsed )
33
- {
34
- this.end();
35
- return null;
36
- }
37
- }
38
-
39
- // Create the LTR guard function, if necessary.
40
- if ( !rtl && !this._.guardLTR )
41
- {
42
- // Gets the node that stops the walker when going LTR.
43
- var limitLTR = range.endContainer,
44
- blockerLTR = limitLTR.getChild( range.endOffset );
45
-
46
- this._.guardLTR = function( node, movingOut )
47
- {
48
- return ( ( !movingOut || !limitLTR.equals( node ) )
49
- && ( !blockerLTR || !node.equals( blockerLTR ) )
50
- && ( node.type != CKEDITOR.NODE_ELEMENT || !movingOut || node.getName() != 'body' ) );
51
- };
52
- }
53
-
54
- // Create the RTL guard function, if necessary.
55
- if ( rtl && !this._.guardRTL )
56
- {
57
- // Gets the node that stops the walker when going LTR.
58
- var limitRTL = range.startContainer,
59
- blockerRTL = ( range.startOffset > 0 ) && limitRTL.getChild( range.startOffset - 1 );
60
-
61
- this._.guardRTL = function( node, movingOut )
62
- {
63
- return ( ( !movingOut || !limitRTL.equals( node ) )
64
- && ( !blockerRTL || !node.equals( blockerRTL ) )
65
- && ( node.type != CKEDITOR.NODE_ELEMENT || !movingOut || node.getName() != 'body' ) );
66
- };
67
- }
68
-
69
- // Define which guard function to use.
70
- var stopGuard = rtl ? this._.guardRTL : this._.guardLTR;
71
-
72
- // Make the user defined guard function participate in the process,
73
- // otherwise simply use the boundary guard.
74
- if ( userGuard )
75
- {
76
- guard = function( node, movingOut )
77
- {
78
- if ( stopGuard( node, movingOut ) === false )
79
- return false;
80
-
81
- return userGuard( node, movingOut );
82
- };
83
- }
84
- else
85
- guard = stopGuard;
86
-
87
- if ( this.current )
88
- node = this.current[ getSourceNodeFn ]( false, type, guard );
89
- else
90
- {
91
- // Get the first node to be returned.
92
-
93
- if ( rtl )
94
- {
95
- node = range.endContainer;
96
-
97
- if ( range.endOffset > 0 )
98
- {
99
- node = node.getChild( range.endOffset - 1 );
100
- if ( guard( node ) === false )
101
- node = null;
102
- }
103
- else
104
- node = ( guard ( node, true ) === false ) ?
105
- null : node.getPreviousSourceNode( true, type, guard );
106
- }
107
- else
108
- {
109
- node = range.startContainer;
110
- node = node.getChild( range.startOffset );
111
-
112
- if ( node )
113
- {
114
- if ( guard( node ) === false )
115
- node = null;
116
- }
117
- else
118
- node = ( guard ( range.startContainer, true ) === false ) ?
119
- null : range.startContainer.getNextSourceNode( true, type, guard ) ;
120
- }
121
- }
122
-
123
- while ( node && !this._.end )
124
- {
125
- this.current = node;
126
-
127
- if ( !this.evaluator || this.evaluator( node ) !== false )
128
- {
129
- if ( !breakOnFalse )
130
- return node;
131
- }
132
- else if ( breakOnFalse && this.evaluator )
133
- return false;
134
-
135
- node = node[ getSourceNodeFn ]( false, type, guard );
136
- }
137
-
138
- this.end();
139
- return this.current = null;
140
- }
141
-
142
- function iterateToLast( rtl )
143
- {
144
- var node, last = null;
145
-
146
- while ( ( node = iterate.call( this, rtl ) ) )
147
- last = node;
148
-
149
- return last;
150
- }
151
-
152
- CKEDITOR.dom.walker = CKEDITOR.tools.createClass(
153
- {
154
- /**
155
- * Utility class to "walk" the DOM inside a range boundaries. If
156
- * necessary, partially included nodes (text nodes) are broken to
157
- * reflect the boundaries limits, so DOM and range changes may happen.
158
- * Outside changes to the range may break the walker.
159
- *
160
- * The walker may return nodes that are not totaly included into the
161
- * range boundaires. Let's take the following range representation,
162
- * where the square brackets indicate the boundaries:
163
- *
164
- * [<p>Some <b>sample] text</b>
165
- *
166
- * While walking forward into the above range, the following nodes are
167
- * returned: <p>, "Some ", <b> and "sample". Going
168
- * backwards instead we have: "sample" and "Some ". So note that the
169
- * walker always returns nodes when "entering" them, but not when
170
- * "leaving" them. The guard function is instead called both when
171
- * entering and leaving nodes.
172
- *
173
- * @constructor
174
- * @param {CKEDITOR.dom.range} range The range within which walk.
175
- */
176
- $ : function( range )
177
- {
178
- this.range = range;
179
-
180
- /**
181
- * A function executed for every matched node, to check whether
182
- * it's to be considered into the walk or not. If not provided, all
183
- * matched nodes are considered good.
184
- * If the function returns "false" the node is ignored.
185
- * @name CKEDITOR.dom.walker.prototype.evaluator
186
- * @property
187
- * @type Function
188
- */
189
- // this.evaluator = null;
190
-
191
- /**
192
- * A function executed for every node the walk pass by to check
193
- * whether the walk is to be finished. It's called when both
194
- * entering and exiting nodes, as well as for the matched nodes.
195
- * If this function returns "false", the walking ends and no more
196
- * nodes are evaluated.
197
- * @name CKEDITOR.dom.walker.prototype.guard
198
- * @property
199
- * @type Function
200
- */
201
- // this.guard = null;
202
-
203
- /** @private */
204
- this._ = {};
205
- },
206
-
207
- // statics :
208
- // {
209
- // /* Creates a CKEDITOR.dom.walker instance to walk inside DOM boundaries set by nodes.
210
- // * @param {CKEDITOR.dom.node} startNode The node from wich the walk
211
- // * will start.
212
- // * @param {CKEDITOR.dom.node} [endNode] The last node to be considered
213
- // * in the walk. No more nodes are retrieved after touching or
214
- // * passing it. If not provided, the walker stops at the
215
- // * <body> closing boundary.
216
- // * @returns {CKEDITOR.dom.walker} A DOM walker for the nodes between the
217
- // * provided nodes.
218
- // */
219
- // createOnNodes : function( startNode, endNode, startInclusive, endInclusive )
220
- // {
221
- // var range = new CKEDITOR.dom.range();
222
- // if ( startNode )
223
- // range.setStartAt( startNode, startInclusive ? CKEDITOR.POSITION_BEFORE_START : CKEDITOR.POSITION_AFTER_END ) ;
224
- // else
225
- // range.setStartAt( startNode.getDocument().getBody(), CKEDITOR.POSITION_AFTER_START ) ;
226
- //
227
- // if ( endNode )
228
- // range.setEndAt( endNode, endInclusive ? CKEDITOR.POSITION_AFTER_END : CKEDITOR.POSITION_BEFORE_START ) ;
229
- // else
230
- // range.setEndAt( startNode.getDocument().getBody(), CKEDITOR.POSITION_BEFORE_END ) ;
231
- //
232
- // return new CKEDITOR.dom.walker( range );
233
- // }
234
- // },
235
- //
236
- proto :
237
- {
238
- /**
239
- * Stop walking. No more nodes are retrieved if this function gets
240
- * called.
241
- */
242
- end : function()
243
- {
244
- this._.end = 1;
245
- },
246
-
247
- /**
248
- * Retrieves the next node (at right).
249
- * @returns {CKEDITOR.dom.node} The next node or null if no more
250
- * nodes are available.
251
- */
252
- next : function()
253
- {
254
- return iterate.call( this );
255
- },
256
-
257
- /**
258
- * Retrieves the previous node (at left).
259
- * @returns {CKEDITOR.dom.node} The previous node or null if no more
260
- * nodes are available.
261
- */
262
- previous : function()
263
- {
264
- return iterate.call( this, 1 );
265
- },
266
-
267
- /**
268
- * Check all nodes at right, executing the evaluation fuction.
269
- * @returns {Boolean} "false" if the evaluator function returned
270
- * "false" for any of the matched nodes. Otherwise "true".
271
- */
272
- checkForward : function()
273
- {
274
- return iterate.call( this, 0, 1 ) !== false;
275
- },
276
-
277
- /**
278
- * Check all nodes at left, executing the evaluation fuction.
279
- * @returns {Boolean} "false" if the evaluator function returned
280
- * "false" for any of the matched nodes. Otherwise "true".
281
- */
282
- checkBackward : function()
283
- {
284
- return iterate.call( this, 1, 1 ) !== false;
285
- },
286
-
287
- /**
288
- * Executes a full walk forward (to the right), until no more nodes
289
- * are available, returning the last valid node.
290
- * @returns {CKEDITOR.dom.node} The last node at the right or null
291
- * if no valid nodes are available.
292
- */
293
- lastForward : function()
294
- {
295
- return iterateToLast.call( this );
296
- },
297
-
298
- /**
299
- * Executes a full walk backwards (to the left), until no more nodes
300
- * are available, returning the last valid node.
301
- * @returns {CKEDITOR.dom.node} The last node at the left or null
302
- * if no valid nodes are available.
303
- */
304
- lastBackward : function()
305
- {
306
- return iterateToLast.call( this, 1 );
307
- },
308
-
309
- reset : function()
310
- {
311
- delete this.current;
312
- this._ = {};
313
- }
314
-
315
- }
316
- });
317
-
318
- /*
319
- * Anything whose display computed style is block, list-item, table,
320
- * table-row-group, table-header-group, table-footer-group, table-row,
321
- * table-column-group, table-column, table-cell, table-caption, or whose node
322
- * name is hr, br (when enterMode is br only) is a block boundary.
323
- */
324
- var blockBoundaryDisplayMatch =
325
- {
326
- block : 1,
327
- 'list-item' : 1,
328
- table : 1,
329
- 'table-row-group' : 1,
330
- 'table-header-group' : 1,
331
- 'table-footer-group' : 1,
332
- 'table-row' : 1,
333
- 'table-column-group' : 1,
334
- 'table-column' : 1,
335
- 'table-cell' : 1,
336
- 'table-caption' : 1
337
- };
338
-
339
- CKEDITOR.dom.element.prototype.isBlockBoundary = function( customNodeNames )
340
- {
341
- var nodeNameMatches = customNodeNames ?
342
- CKEDITOR.tools.extend( {}, CKEDITOR.dtd.$block, customNodeNames || {} ) :
343
- CKEDITOR.dtd.$block;
344
-
345
- // Don't consider floated formatting as block boundary, fall back to dtd check in that case. (#6297)
346
- return this.getComputedStyle( 'float' ) == 'none' && blockBoundaryDisplayMatch[ this.getComputedStyle( 'display' ) ]
347
- || nodeNameMatches[ this.getName() ];
348
- };
349
-
350
- CKEDITOR.dom.walker.blockBoundary = function( customNodeNames )
351
- {
352
- return function( node , type )
353
- {
354
- return ! ( node.type == CKEDITOR.NODE_ELEMENT
355
- && node.isBlockBoundary( customNodeNames ) );
356
- };
357
- };
358
-
359
- CKEDITOR.dom.walker.listItemBoundary = function()
360
- {
361
- return this.blockBoundary( { br : 1 } );
362
- };
363
-
364
- /**
365
- * Whether the to-be-evaluated node is a bookmark node OR bookmark node
366
- * inner contents.
367
- * @param {Boolean} contentOnly Whether only test againt the text content of
368
- * bookmark node instead of the element itself(default).
369
- * @param {Boolean} isReject Whether should return 'false' for the bookmark
370
- * node instead of 'true'(default).
371
- */
372
- CKEDITOR.dom.walker.bookmark = function( contentOnly, isReject )
373
- {
374
- function isBookmarkNode( node )
375
- {
376
- return ( node && node.getName
377
- && node.getName() == 'span'
378
- && node.data( 'cke-bookmark' ) );
379
- }
380
-
381
- return function( node )
382
- {
383
- var isBookmark, parent;
384
- // Is bookmark inner text node?
385
- isBookmark = ( node && !node.getName && ( parent = node.getParent() )
386
- && isBookmarkNode( parent ) );
387
- // Is bookmark node?
388
- isBookmark = contentOnly ? isBookmark : isBookmark || isBookmarkNode( node );
389
- return !! ( isReject ^ isBookmark );
390
- };
391
- };
392
-
393
- /**
394
- * Whether the node is a text node containing only whitespaces characters.
395
- * @param isReject
396
- */
397
- CKEDITOR.dom.walker.whitespaces = function( isReject )
398
- {
399
- return function( node )
400
- {
401
- var isWhitespace = node && ( node.type == CKEDITOR.NODE_TEXT )
402
- && !CKEDITOR.tools.trim( node.getText() );
403
- return !! ( isReject ^ isWhitespace );
404
- };
405
- };
406
-
407
- /**
408
- * Whether the node is invisible in wysiwyg mode.
409
- * @param isReject
410
- */
411
- CKEDITOR.dom.walker.invisible = function( isReject )
412
- {
413
- var whitespace = CKEDITOR.dom.walker.whitespaces();
414
- return function( node )
415
- {
416
- // Nodes that take no spaces in wysiwyg:
417
- // 1. White-spaces but not including NBSP;
418
- // 2. Empty inline elements, e.g. <b></b> we're checking here
419
- // 'offsetHeight' instead of 'offsetWidth' for properly excluding
420
- // all sorts of empty paragraph, e.g. <br />.
421
- var isInvisible = whitespace( node ) || node.is && !node.$.offsetHeight;
422
- return !! ( isReject ^ isInvisible );
423
- };
424
- };
425
-
426
- CKEDITOR.dom.walker.nodeType = function( type, isReject )
427
- {
428
- return function( node )
429
- {
430
- return !! ( isReject ^ ( node.type == type ) );
431
- };
432
- };
433
-
434
- var tailNbspRegex = /^[\t\r\n ]*(?:&nbsp;|\xa0)$/,
435
- isWhitespaces = CKEDITOR.dom.walker.whitespaces(),
436
- isBookmark = CKEDITOR.dom.walker.bookmark(),
437
- toSkip = function( node )
438
- {
439
- return isBookmark( node )
440
- || isWhitespaces( node )
441
- || node.type == CKEDITOR.NODE_ELEMENT
442
- && node.getName() in CKEDITOR.dtd.$inline
443
- && !( node.getName() in CKEDITOR.dtd.$empty );
444
- };
445
-
446
- // Check if there's a filler node at the end of an element, and return it.
447
- CKEDITOR.dom.element.prototype.getBogus = function()
448
- {
449
- // Bogus are not always at the end, e.g. <p><a>text<br /></a></p> (#7070).
450
- var tail = this;
451
- do { tail = tail.getPreviousSourceNode(); }
452
- while ( toSkip( tail ) )
453
-
454
- if ( tail && ( !CKEDITOR.env.ie ? tail.is && tail.is( 'br' )
455
- : tail.getText && tailNbspRegex.test( tail.getText() ) ) )
456
- {
457
- return tail;
458
- }
459
- return false;
460
- };
461
-
462
- })();
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ (function()
7
+ {
8
+ // This function is to be called under a "walker" instance scope.
9
+ function iterate( rtl, breakOnFalse )
10
+ {
11
+ // Return null if we have reached the end.
12
+ if ( this._.end )
13
+ return null;
14
+
15
+ var node,
16
+ range = this.range,
17
+ guard,
18
+ userGuard = this.guard,
19
+ type = this.type,
20
+ getSourceNodeFn = ( rtl ? 'getPreviousSourceNode' : 'getNextSourceNode' );
21
+
22
+ // This is the first call. Initialize it.
23
+ if ( !this._.start )
24
+ {
25
+ this._.start = 1;
26
+
27
+ // Trim text nodes and optmize the range boundaries. DOM changes
28
+ // may happen at this point.
29
+ range.trim();
30
+
31
+ // A collapsed range must return null at first call.
32
+ if ( range.collapsed )
33
+ {
34
+ this.end();
35
+ return null;
36
+ }
37
+ }
38
+
39
+ // Create the LTR guard function, if necessary.
40
+ if ( !rtl && !this._.guardLTR )
41
+ {
42
+ // Gets the node that stops the walker when going LTR.
43
+ var limitLTR = range.endContainer,
44
+ blockerLTR = limitLTR.getChild( range.endOffset );
45
+
46
+ this._.guardLTR = function( node, movingOut )
47
+ {
48
+ return ( ( !movingOut || !limitLTR.equals( node ) )
49
+ && ( !blockerLTR || !node.equals( blockerLTR ) )
50
+ && ( node.type != CKEDITOR.NODE_ELEMENT || !movingOut || node.getName() != 'body' ) );
51
+ };
52
+ }
53
+
54
+ // Create the RTL guard function, if necessary.
55
+ if ( rtl && !this._.guardRTL )
56
+ {
57
+ // Gets the node that stops the walker when going LTR.
58
+ var limitRTL = range.startContainer,
59
+ blockerRTL = ( range.startOffset > 0 ) && limitRTL.getChild( range.startOffset - 1 );
60
+
61
+ this._.guardRTL = function( node, movingOut )
62
+ {
63
+ return ( ( !movingOut || !limitRTL.equals( node ) )
64
+ && ( !blockerRTL || !node.equals( blockerRTL ) )
65
+ && ( node.type != CKEDITOR.NODE_ELEMENT || !movingOut || node.getName() != 'body' ) );
66
+ };
67
+ }
68
+
69
+ // Define which guard function to use.
70
+ var stopGuard = rtl ? this._.guardRTL : this._.guardLTR;
71
+
72
+ // Make the user defined guard function participate in the process,
73
+ // otherwise simply use the boundary guard.
74
+ if ( userGuard )
75
+ {
76
+ guard = function( node, movingOut )
77
+ {
78
+ if ( stopGuard( node, movingOut ) === false )
79
+ return false;
80
+
81
+ return userGuard( node, movingOut );
82
+ };
83
+ }
84
+ else
85
+ guard = stopGuard;
86
+
87
+ if ( this.current )
88
+ node = this.current[ getSourceNodeFn ]( false, type, guard );
89
+ else
90
+ {
91
+ // Get the first node to be returned.
92
+
93
+ if ( rtl )
94
+ {
95
+ node = range.endContainer;
96
+
97
+ if ( range.endOffset > 0 )
98
+ {
99
+ node = node.getChild( range.endOffset - 1 );
100
+ if ( guard( node ) === false )
101
+ node = null;
102
+ }
103
+ else
104
+ node = ( guard ( node, true ) === false ) ?
105
+ null : node.getPreviousSourceNode( true, type, guard );
106
+ }
107
+ else
108
+ {
109
+ node = range.startContainer;
110
+ node = node.getChild( range.startOffset );
111
+
112
+ if ( node )
113
+ {
114
+ if ( guard( node ) === false )
115
+ node = null;
116
+ }
117
+ else
118
+ node = ( guard ( range.startContainer, true ) === false ) ?
119
+ null : range.startContainer.getNextSourceNode( true, type, guard ) ;
120
+ }
121
+ }
122
+
123
+ while ( node && !this._.end )
124
+ {
125
+ this.current = node;
126
+
127
+ if ( !this.evaluator || this.evaluator( node ) !== false )
128
+ {
129
+ if ( !breakOnFalse )
130
+ return node;
131
+ }
132
+ else if ( breakOnFalse && this.evaluator )
133
+ return false;
134
+
135
+ node = node[ getSourceNodeFn ]( false, type, guard );
136
+ }
137
+
138
+ this.end();
139
+ return this.current = null;
140
+ }
141
+
142
+ function iterateToLast( rtl )
143
+ {
144
+ var node, last = null;
145
+
146
+ while ( ( node = iterate.call( this, rtl ) ) )
147
+ last = node;
148
+
149
+ return last;
150
+ }
151
+
152
+ CKEDITOR.dom.walker = CKEDITOR.tools.createClass(
153
+ {
154
+ /**
155
+ * Utility class to "walk" the DOM inside a range boundaries. If
156
+ * necessary, partially included nodes (text nodes) are broken to
157
+ * reflect the boundaries limits, so DOM and range changes may happen.
158
+ * Outside changes to the range may break the walker.
159
+ *
160
+ * The walker may return nodes that are not totaly included into the
161
+ * range boundaires. Let's take the following range representation,
162
+ * where the square brackets indicate the boundaries:
163
+ *
164
+ * [&lt;p&gt;Some &lt;b&gt;sample] text&lt;/b&gt;
165
+ *
166
+ * While walking forward into the above range, the following nodes are
167
+ * returned: &lt;p&gt;, "Some ", &lt;b&gt; and "sample". Going
168
+ * backwards instead we have: "sample" and "Some ". So note that the
169
+ * walker always returns nodes when "entering" them, but not when
170
+ * "leaving" them. The guard function is instead called both when
171
+ * entering and leaving nodes.
172
+ *
173
+ * @constructor
174
+ * @param {CKEDITOR.dom.range} range The range within which walk.
175
+ */
176
+ $ : function( range )
177
+ {
178
+ this.range = range;
179
+
180
+ /**
181
+ * A function executed for every matched node, to check whether
182
+ * it's to be considered into the walk or not. If not provided, all
183
+ * matched nodes are considered good.
184
+ * If the function returns "false" the node is ignored.
185
+ * @name CKEDITOR.dom.walker.prototype.evaluator
186
+ * @property
187
+ * @type Function
188
+ */
189
+ // this.evaluator = null;
190
+
191
+ /**
192
+ * A function executed for every node the walk pass by to check
193
+ * whether the walk is to be finished. It's called when both
194
+ * entering and exiting nodes, as well as for the matched nodes.
195
+ * If this function returns "false", the walking ends and no more
196
+ * nodes are evaluated.
197
+ * @name CKEDITOR.dom.walker.prototype.guard
198
+ * @property
199
+ * @type Function
200
+ */
201
+ // this.guard = null;
202
+
203
+ /** @private */
204
+ this._ = {};
205
+ },
206
+
207
+ // statics :
208
+ // {
209
+ // /* Creates a CKEDITOR.dom.walker instance to walk inside DOM boundaries set by nodes.
210
+ // * @param {CKEDITOR.dom.node} startNode The node from wich the walk
211
+ // * will start.
212
+ // * @param {CKEDITOR.dom.node} [endNode] The last node to be considered
213
+ // * in the walk. No more nodes are retrieved after touching or
214
+ // * passing it. If not provided, the walker stops at the
215
+ // * &lt;body&gt; closing boundary.
216
+ // * @returns {CKEDITOR.dom.walker} A DOM walker for the nodes between the
217
+ // * provided nodes.
218
+ // */
219
+ // createOnNodes : function( startNode, endNode, startInclusive, endInclusive )
220
+ // {
221
+ // var range = new CKEDITOR.dom.range();
222
+ // if ( startNode )
223
+ // range.setStartAt( startNode, startInclusive ? CKEDITOR.POSITION_BEFORE_START : CKEDITOR.POSITION_AFTER_END ) ;
224
+ // else
225
+ // range.setStartAt( startNode.getDocument().getBody(), CKEDITOR.POSITION_AFTER_START ) ;
226
+ //
227
+ // if ( endNode )
228
+ // range.setEndAt( endNode, endInclusive ? CKEDITOR.POSITION_AFTER_END : CKEDITOR.POSITION_BEFORE_START ) ;
229
+ // else
230
+ // range.setEndAt( startNode.getDocument().getBody(), CKEDITOR.POSITION_BEFORE_END ) ;
231
+ //
232
+ // return new CKEDITOR.dom.walker( range );
233
+ // }
234
+ // },
235
+ //
236
+ proto :
237
+ {
238
+ /**
239
+ * Stop walking. No more nodes are retrieved if this function gets
240
+ * called.
241
+ */
242
+ end : function()
243
+ {
244
+ this._.end = 1;
245
+ },
246
+
247
+ /**
248
+ * Retrieves the next node (at right).
249
+ * @returns {CKEDITOR.dom.node} The next node or null if no more
250
+ * nodes are available.
251
+ */
252
+ next : function()
253
+ {
254
+ return iterate.call( this );
255
+ },
256
+
257
+ /**
258
+ * Retrieves the previous node (at left).
259
+ * @returns {CKEDITOR.dom.node} The previous node or null if no more
260
+ * nodes are available.
261
+ */
262
+ previous : function()
263
+ {
264
+ return iterate.call( this, 1 );
265
+ },
266
+
267
+ /**
268
+ * Check all nodes at right, executing the evaluation fuction.
269
+ * @returns {Boolean} "false" if the evaluator function returned
270
+ * "false" for any of the matched nodes. Otherwise "true".
271
+ */
272
+ checkForward : function()
273
+ {
274
+ return iterate.call( this, 0, 1 ) !== false;
275
+ },
276
+
277
+ /**
278
+ * Check all nodes at left, executing the evaluation fuction.
279
+ * @returns {Boolean} "false" if the evaluator function returned
280
+ * "false" for any of the matched nodes. Otherwise "true".
281
+ */
282
+ checkBackward : function()
283
+ {
284
+ return iterate.call( this, 1, 1 ) !== false;
285
+ },
286
+
287
+ /**
288
+ * Executes a full walk forward (to the right), until no more nodes
289
+ * are available, returning the last valid node.
290
+ * @returns {CKEDITOR.dom.node} The last node at the right or null
291
+ * if no valid nodes are available.
292
+ */
293
+ lastForward : function()
294
+ {
295
+ return iterateToLast.call( this );
296
+ },
297
+
298
+ /**
299
+ * Executes a full walk backwards (to the left), until no more nodes
300
+ * are available, returning the last valid node.
301
+ * @returns {CKEDITOR.dom.node} The last node at the left or null
302
+ * if no valid nodes are available.
303
+ */
304
+ lastBackward : function()
305
+ {
306
+ return iterateToLast.call( this, 1 );
307
+ },
308
+
309
+ reset : function()
310
+ {
311
+ delete this.current;
312
+ this._ = {};
313
+ }
314
+
315
+ }
316
+ });
317
+
318
+ /*
319
+ * Anything whose display computed style is block, list-item, table,
320
+ * table-row-group, table-header-group, table-footer-group, table-row,
321
+ * table-column-group, table-column, table-cell, table-caption, or whose node
322
+ * name is hr, br (when enterMode is br only) is a block boundary.
323
+ */
324
+ var blockBoundaryDisplayMatch =
325
+ {
326
+ block : 1,
327
+ 'list-item' : 1,
328
+ table : 1,
329
+ 'table-row-group' : 1,
330
+ 'table-header-group' : 1,
331
+ 'table-footer-group' : 1,
332
+ 'table-row' : 1,
333
+ 'table-column-group' : 1,
334
+ 'table-column' : 1,
335
+ 'table-cell' : 1,
336
+ 'table-caption' : 1
337
+ };
338
+
339
+ CKEDITOR.dom.element.prototype.isBlockBoundary = function( customNodeNames )
340
+ {
341
+ var nodeNameMatches = customNodeNames ?
342
+ CKEDITOR.tools.extend( {}, CKEDITOR.dtd.$block, customNodeNames || {} ) :
343
+ CKEDITOR.dtd.$block;
344
+
345
+ // Don't consider floated formatting as block boundary, fall back to dtd check in that case. (#6297)
346
+ return this.getComputedStyle( 'float' ) == 'none' && blockBoundaryDisplayMatch[ this.getComputedStyle( 'display' ) ]
347
+ || nodeNameMatches[ this.getName() ];
348
+ };
349
+
350
+ CKEDITOR.dom.walker.blockBoundary = function( customNodeNames )
351
+ {
352
+ return function( node , type )
353
+ {
354
+ return ! ( node.type == CKEDITOR.NODE_ELEMENT
355
+ && node.isBlockBoundary( customNodeNames ) );
356
+ };
357
+ };
358
+
359
+ CKEDITOR.dom.walker.listItemBoundary = function()
360
+ {
361
+ return this.blockBoundary( { br : 1 } );
362
+ };
363
+
364
+ /**
365
+ * Whether the to-be-evaluated node is a bookmark node OR bookmark node
366
+ * inner contents.
367
+ * @param {Boolean} contentOnly Whether only test againt the text content of
368
+ * bookmark node instead of the element itself(default).
369
+ * @param {Boolean} isReject Whether should return 'false' for the bookmark
370
+ * node instead of 'true'(default).
371
+ */
372
+ CKEDITOR.dom.walker.bookmark = function( contentOnly, isReject )
373
+ {
374
+ function isBookmarkNode( node )
375
+ {
376
+ return ( node && node.getName
377
+ && node.getName() == 'span'
378
+ && node.data( 'cke-bookmark' ) );
379
+ }
380
+
381
+ return function( node )
382
+ {
383
+ var isBookmark, parent;
384
+ // Is bookmark inner text node?
385
+ isBookmark = ( node && !node.getName && ( parent = node.getParent() )
386
+ && isBookmarkNode( parent ) );
387
+ // Is bookmark node?
388
+ isBookmark = contentOnly ? isBookmark : isBookmark || isBookmarkNode( node );
389
+ return !! ( isReject ^ isBookmark );
390
+ };
391
+ };
392
+
393
+ /**
394
+ * Whether the node is a text node containing only whitespaces characters.
395
+ * @param isReject
396
+ */
397
+ CKEDITOR.dom.walker.whitespaces = function( isReject )
398
+ {
399
+ return function( node )
400
+ {
401
+ var isWhitespace = node && ( node.type == CKEDITOR.NODE_TEXT )
402
+ && !CKEDITOR.tools.trim( node.getText() );
403
+ return !! ( isReject ^ isWhitespace );
404
+ };
405
+ };
406
+
407
+ /**
408
+ * Whether the node is invisible in wysiwyg mode.
409
+ * @param isReject
410
+ */
411
+ CKEDITOR.dom.walker.invisible = function( isReject )
412
+ {
413
+ var whitespace = CKEDITOR.dom.walker.whitespaces();
414
+ return function( node )
415
+ {
416
+ // Nodes that take no spaces in wysiwyg:
417
+ // 1. White-spaces but not including NBSP;
418
+ // 2. Empty inline elements, e.g. <b></b> we're checking here
419
+ // 'offsetHeight' instead of 'offsetWidth' for properly excluding
420
+ // all sorts of empty paragraph, e.g. <br />.
421
+ var isInvisible = whitespace( node ) || node.is && !node.$.offsetHeight;
422
+ return !! ( isReject ^ isInvisible );
423
+ };
424
+ };
425
+
426
+ CKEDITOR.dom.walker.nodeType = function( type, isReject )
427
+ {
428
+ return function( node )
429
+ {
430
+ return !! ( isReject ^ ( node.type == type ) );
431
+ };
432
+ };
433
+
434
+ var tailNbspRegex = /^[\t\r\n ]*(?:&nbsp;|\xa0)$/,
435
+ isWhitespaces = CKEDITOR.dom.walker.whitespaces(),
436
+ isBookmark = CKEDITOR.dom.walker.bookmark(),
437
+ toSkip = function( node )
438
+ {
439
+ return isBookmark( node )
440
+ || isWhitespaces( node )
441
+ || node.type == CKEDITOR.NODE_ELEMENT
442
+ && node.getName() in CKEDITOR.dtd.$inline
443
+ && !( node.getName() in CKEDITOR.dtd.$empty );
444
+ };
445
+
446
+ // Check if there's a filler node at the end of an element, and return it.
447
+ CKEDITOR.dom.element.prototype.getBogus = function()
448
+ {
449
+ // Bogus are not always at the end, e.g. <p><a>text<br /></a></p> (#7070).
450
+ var tail = this;
451
+ do { tail = tail.getPreviousSourceNode(); }
452
+ while ( toSkip( tail ) )
453
+
454
+ if ( tail && ( !CKEDITOR.env.ie ? tail.is && tail.is( 'br' )
455
+ : tail.getText && tailNbspRegex.test( tail.getText() ) ) )
456
+ {
457
+ return tail;
458
+ }
459
+ return false;
460
+ };
461
+
462
+ })();