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,148 +1,148 @@
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
- /**
7
- * @stylesheetParser plugin.
8
- */
9
-
10
- (function()
11
- {
12
- // We want to extract only the elements with classes defined in the stylesheets:
13
- function parseClasses( aRules, skipSelectors, validSelectors )
14
- {
15
- // aRules are just the different rules in the style sheets
16
- // We want to merge them and them split them by commas, so we end up with only
17
- // the selectors
18
- var s = aRules.join(' ');
19
- // Remove selectors splitting the elements, leave only the class selector (.)
20
- s = s.replace( /(,|>|\+|~)/g, ' ' );
21
- // Remove attribute selectors: table[border="0"]
22
- s = s.replace( /\[[^\]]*/g, '' );
23
- // Remove Ids: div#main
24
- s = s.replace( /#[^\s]*/g, '' );
25
- // Remove pseudo-selectors and pseudo-elements: :hover :nth-child(2n+1) ::before
26
- s = s.replace( /\:{1,2}[^\s]*/g, '' );
27
-
28
- s = s.replace( /\s+/g, ' ' );
29
-
30
- var aSelectors = s.split( ' ' ),
31
- aClasses = [];
32
-
33
- for ( var i = 0; i < aSelectors.length ; i++ )
34
- {
35
- var selector = aSelectors[ i ];
36
-
37
- if ( validSelectors.test( selector ) && !skipSelectors.test( selector ) )
38
- {
39
- // If we still don't know about this one, add it
40
- if ( CKEDITOR.tools.indexOf( aClasses, selector ) == -1 )
41
- aClasses.push( selector );
42
- }
43
- }
44
-
45
- return aClasses;
46
- }
47
-
48
- function LoadStylesCSS( theDoc, skipSelectors, validSelectors )
49
- {
50
- var styles = [],
51
- // It will hold all the rules of the applied stylesheets (except those internal to CKEditor)
52
- aRules = [],
53
- i;
54
-
55
- for ( i = 0; i < theDoc.styleSheets.length; i++ )
56
- {
57
- var sheet = theDoc.styleSheets[ i ],
58
- node = sheet.ownerNode || sheet.owningElement;
59
-
60
- // Skip the internal stylesheets
61
- if ( node.getAttribute( 'data-cke-temp' ) )
62
- continue;
63
-
64
- // Exclude stylesheets injected by extensions
65
- if ( sheet.href && sheet.href.substr(0, 9) == 'chrome://' )
66
- continue;
67
-
68
- var sheetRules = sheet.cssRules || sheet.rules;
69
- for ( var j = 0; j < sheetRules.length; j++ )
70
- aRules.push( sheetRules[ j ].selectorText );
71
- }
72
-
73
- var aClasses = parseClasses( aRules, skipSelectors, validSelectors );
74
-
75
- // Add each style to our "Styles" collection.
76
- for ( i = 0; i < aClasses.length; i++ )
77
- {
78
- var oElement = aClasses[ i ].split( '.' ),
79
- element = oElement[ 0 ].toLowerCase(),
80
- sClassName = oElement[ 1 ];
81
-
82
- styles.push( {
83
- name : element + '.' + sClassName,
84
- element : element,
85
- attributes : {'class' : sClassName}
86
- });
87
- }
88
-
89
- return styles;
90
- }
91
-
92
- // Register a plugin named "stylesheetparser".
93
- CKEDITOR.plugins.add( 'stylesheetparser',
94
- {
95
- requires: [ 'styles' ],
96
- onLoad : function()
97
- {
98
- var obj = CKEDITOR.editor.prototype;
99
- obj.getStylesSet = CKEDITOR.tools.override( obj.getStylesSet, function( org )
100
- {
101
- return function( callback )
102
- {
103
- var self = this;
104
- org.call( this, function( definitions )
105
- {
106
- // Rules that must be skipped
107
- var skipSelectors = self.config.stylesheetParser_skipSelectors || ( /(^body\.|^\.)/i ),
108
- // Rules that are valid
109
- validSelectors = self.config.stylesheetParser_validSelectors || ( /\w+\.\w+/ );
110
-
111
- callback( ( self._.stylesDefinitions = definitions.concat( LoadStylesCSS( self.document.$, skipSelectors, validSelectors ) ) ) );
112
- });
113
- };
114
- });
115
-
116
- }
117
- });
118
- })();
119
-
120
-
121
- /**
122
- * A regular expression that defines whether a CSS rule will be
123
- * skipped by the Stylesheet Parser plugin. A CSS rule matching
124
- * the regular expression will be ignored and will not be available
125
- * in the Styles drop-down list.
126
- * @name CKEDITOR.config.stylesheetParser_skipSelectors
127
- * @type RegExp
128
- * @default /(^body\.|^\.)/i
129
- * @since 3.6
130
- * @see CKEDITOR.config.stylesheetParser_validSelectors
131
- * @example
132
- * // Ignore rules for body and caption elements, classes starting with "high", and any class defined for no specific element.
133
- * config.stylesheetParser_skipSelectors = /(^body\.|^caption\.|\.high|^\.)/i;
134
- */
135
-
136
- /**
137
- * A regular expression that defines which CSS rules will be used
138
- * by the Stylesheet Parser plugin. A CSS rule matching the regular
139
- * expression will be available in the Styles drop-down list.
140
- * @name CKEDITOR.config.stylesheetParser_validSelectors
141
- * @type RegExp
142
- * @default /\w+\.\w+/
143
- * @since 3.6
144
- * @see CKEDITOR.config.stylesheetParser_skipSelectors
145
- * @example
146
- * // Only add rules for p and span elements.
147
- * config.stylesheetParser_validSelectors = /\^(p|span)\.\w+/;
148
- */
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
+ /**
7
+ * @stylesheetParser plugin.
8
+ */
9
+
10
+ (function()
11
+ {
12
+ // We want to extract only the elements with classes defined in the stylesheets:
13
+ function parseClasses( aRules, skipSelectors, validSelectors )
14
+ {
15
+ // aRules are just the different rules in the style sheets
16
+ // We want to merge them and them split them by commas, so we end up with only
17
+ // the selectors
18
+ var s = aRules.join(' ');
19
+ // Remove selectors splitting the elements, leave only the class selector (.)
20
+ s = s.replace( /(,|>|\+|~)/g, ' ' );
21
+ // Remove attribute selectors: table[border="0"]
22
+ s = s.replace( /\[[^\]]*/g, '' );
23
+ // Remove Ids: div#main
24
+ s = s.replace( /#[^\s]*/g, '' );
25
+ // Remove pseudo-selectors and pseudo-elements: :hover :nth-child(2n+1) ::before
26
+ s = s.replace( /\:{1,2}[^\s]*/g, '' );
27
+
28
+ s = s.replace( /\s+/g, ' ' );
29
+
30
+ var aSelectors = s.split( ' ' ),
31
+ aClasses = [];
32
+
33
+ for ( var i = 0; i < aSelectors.length ; i++ )
34
+ {
35
+ var selector = aSelectors[ i ];
36
+
37
+ if ( validSelectors.test( selector ) && !skipSelectors.test( selector ) )
38
+ {
39
+ // If we still don't know about this one, add it
40
+ if ( CKEDITOR.tools.indexOf( aClasses, selector ) == -1 )
41
+ aClasses.push( selector );
42
+ }
43
+ }
44
+
45
+ return aClasses;
46
+ }
47
+
48
+ function LoadStylesCSS( theDoc, skipSelectors, validSelectors )
49
+ {
50
+ var styles = [],
51
+ // It will hold all the rules of the applied stylesheets (except those internal to CKEditor)
52
+ aRules = [],
53
+ i;
54
+
55
+ for ( i = 0; i < theDoc.styleSheets.length; i++ )
56
+ {
57
+ var sheet = theDoc.styleSheets[ i ],
58
+ node = sheet.ownerNode || sheet.owningElement;
59
+
60
+ // Skip the internal stylesheets
61
+ if ( node.getAttribute( 'data-cke-temp' ) )
62
+ continue;
63
+
64
+ // Exclude stylesheets injected by extensions
65
+ if ( sheet.href && sheet.href.substr(0, 9) == 'chrome://' )
66
+ continue;
67
+
68
+ var sheetRules = sheet.cssRules || sheet.rules;
69
+ for ( var j = 0; j < sheetRules.length; j++ )
70
+ aRules.push( sheetRules[ j ].selectorText );
71
+ }
72
+
73
+ var aClasses = parseClasses( aRules, skipSelectors, validSelectors );
74
+
75
+ // Add each style to our "Styles" collection.
76
+ for ( i = 0; i < aClasses.length; i++ )
77
+ {
78
+ var oElement = aClasses[ i ].split( '.' ),
79
+ element = oElement[ 0 ].toLowerCase(),
80
+ sClassName = oElement[ 1 ];
81
+
82
+ styles.push( {
83
+ name : element + '.' + sClassName,
84
+ element : element,
85
+ attributes : {'class' : sClassName}
86
+ });
87
+ }
88
+
89
+ return styles;
90
+ }
91
+
92
+ // Register a plugin named "stylesheetparser".
93
+ CKEDITOR.plugins.add( 'stylesheetparser',
94
+ {
95
+ requires: [ 'styles' ],
96
+ onLoad : function()
97
+ {
98
+ var obj = CKEDITOR.editor.prototype;
99
+ obj.getStylesSet = CKEDITOR.tools.override( obj.getStylesSet, function( org )
100
+ {
101
+ return function( callback )
102
+ {
103
+ var self = this;
104
+ org.call( this, function( definitions )
105
+ {
106
+ // Rules that must be skipped
107
+ var skipSelectors = self.config.stylesheetParser_skipSelectors || ( /(^body\.|^\.)/i ),
108
+ // Rules that are valid
109
+ validSelectors = self.config.stylesheetParser_validSelectors || ( /\w+\.\w+/ );
110
+
111
+ callback( ( self._.stylesDefinitions = definitions.concat( LoadStylesCSS( self.document.$, skipSelectors, validSelectors ) ) ) );
112
+ });
113
+ };
114
+ });
115
+
116
+ }
117
+ });
118
+ })();
119
+
120
+
121
+ /**
122
+ * A regular expression that defines whether a CSS rule will be
123
+ * skipped by the Stylesheet Parser plugin. A CSS rule matching
124
+ * the regular expression will be ignored and will not be available
125
+ * in the Styles drop-down list.
126
+ * @name CKEDITOR.config.stylesheetParser_skipSelectors
127
+ * @type RegExp
128
+ * @default /(^body\.|^\.)/i
129
+ * @since 3.6
130
+ * @see CKEDITOR.config.stylesheetParser_validSelectors
131
+ * @example
132
+ * // Ignore rules for body and caption elements, classes starting with "high", and any class defined for no specific element.
133
+ * config.stylesheetParser_skipSelectors = /(^body\.|^caption\.|\.high|^\.)/i;
134
+ */
135
+
136
+ /**
137
+ * A regular expression that defines which CSS rules will be used
138
+ * by the Stylesheet Parser plugin. A CSS rule matching the regular
139
+ * expression will be available in the Styles drop-down list.
140
+ * @name CKEDITOR.config.stylesheetParser_validSelectors
141
+ * @type RegExp
142
+ * @default /\w+\.\w+/
143
+ * @since 3.6
144
+ * @see CKEDITOR.config.stylesheetParser_skipSelectors
145
+ * @example
146
+ * // Only add rules for p and span elements.
147
+ * config.stylesheetParser_validSelectors = /\^(p|span)\.\w+/;
148
+ */
@@ -1,367 +1,367 @@
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
- var meta =
9
- {
10
- editorFocus : false,
11
- modes : { wysiwyg:1, source:1 }
12
- };
13
-
14
- var blurCommand =
15
- {
16
- exec : function( editor )
17
- {
18
- editor.container.focusNext( true, editor.tabIndex );
19
- }
20
- };
21
-
22
- var blurBackCommand =
23
- {
24
- exec : function( editor )
25
- {
26
- editor.container.focusPrevious( true, editor.tabIndex );
27
- }
28
- };
29
-
30
- function selectNextCellCommand( backward )
31
- {
32
- return {
33
- editorFocus : false,
34
- canUndo : false,
35
- modes : { wysiwyg : 1 },
36
- exec : function( editor )
37
- {
38
- if ( editor.focusManager.hasFocus )
39
- {
40
- var sel = editor.getSelection(),
41
- ancestor = sel.getCommonAncestor(),
42
- cell;
43
-
44
- if ( ( cell = ( ancestor.getAscendant( 'td', true ) || ancestor.getAscendant( 'th', true ) ) ) )
45
- {
46
- var resultRange = new CKEDITOR.dom.range( editor.document ),
47
- next = CKEDITOR.tools.tryThese( function()
48
- {
49
- var row = cell.getParent(),
50
- next = row.$.cells[ cell.$.cellIndex + ( backward ? - 1 : 1 ) ];
51
-
52
- // Invalid any empty value.
53
- next.parentNode.parentNode;
54
- return next;
55
- },
56
- function()
57
- {
58
- var row = cell.getParent(),
59
- table = row.getAscendant( 'table' ),
60
- nextRow = table.$.rows[ row.$.rowIndex + ( backward ? - 1 : 1 ) ];
61
-
62
- return nextRow.cells[ backward? nextRow.cells.length -1 : 0 ];
63
- });
64
-
65
- // Clone one more row at the end of table and select the first newly established cell.
66
- if ( ! ( next || backward ) )
67
- {
68
- var table = cell.getAscendant( 'table' ).$,
69
- cells = cell.getParent().$.cells;
70
-
71
- var newRow = new CKEDITOR.dom.element( table.insertRow( -1 ), editor.document );
72
-
73
- for ( var i = 0, count = cells.length ; i < count; i++ )
74
- {
75
- var newCell = newRow.append( new CKEDITOR.dom.element(
76
- cells[ i ], editor.document ).clone( false, false ) );
77
- !CKEDITOR.env.ie && newCell.appendBogus();
78
- }
79
-
80
- resultRange.moveToElementEditStart( newRow );
81
- }
82
- else if ( next )
83
- {
84
- next = new CKEDITOR.dom.element( next );
85
- resultRange.moveToElementEditStart( next );
86
- // Avoid selecting empty block makes the cursor blind.
87
- if ( !( resultRange.checkStartOfBlock() && resultRange.checkEndOfBlock() ) )
88
- resultRange.selectNodeContents( next );
89
- }
90
- else
91
- return true;
92
-
93
- resultRange.select( true );
94
- return true;
95
- }
96
- }
97
- return false;
98
- }
99
- };
100
- }
101
-
102
- CKEDITOR.plugins.add( 'tab',
103
- {
104
- requires : [ 'keystrokes' ],
105
-
106
- init : function( editor )
107
- {
108
- var tabTools = editor.config.enableTabKeyTools !== false,
109
- tabSpaces = editor.config.tabSpaces || 0,
110
- tabText = '';
111
-
112
- while ( tabSpaces-- )
113
- tabText += '\xa0';
114
-
115
- if ( tabText )
116
- {
117
- editor.on( 'key', function( ev )
118
- {
119
- if ( ev.data.keyCode == 9 ) // TAB
120
- {
121
- editor.insertHtml( tabText );
122
- ev.cancel();
123
- }
124
- });
125
- }
126
-
127
- if ( tabTools )
128
- {
129
- editor.on( 'key', function( ev )
130
- {
131
- if ( ev.data.keyCode == 9 && editor.execCommand( 'selectNextCell' ) || // TAB
132
- ev.data.keyCode == ( CKEDITOR.SHIFT + 9 ) && editor.execCommand( 'selectPreviousCell' ) ) // SHIFT+TAB
133
- ev.cancel();
134
- });
135
- }
136
-
137
- if ( CKEDITOR.env.webkit || CKEDITOR.env.gecko )
138
- {
139
- editor.on( 'key', function( ev )
140
- {
141
- var keyCode = ev.data.keyCode;
142
-
143
- if ( keyCode == 9 && !tabText ) // TAB
144
- {
145
- ev.cancel();
146
- editor.execCommand( 'blur' );
147
- }
148
-
149
- if ( keyCode == ( CKEDITOR.SHIFT + 9 ) ) // SHIFT+TAB
150
- {
151
- editor.execCommand( 'blurBack' );
152
- ev.cancel();
153
- }
154
- });
155
- }
156
-
157
- editor.addCommand( 'blur', CKEDITOR.tools.extend( blurCommand, meta ) );
158
- editor.addCommand( 'blurBack', CKEDITOR.tools.extend( blurBackCommand, meta ) );
159
- editor.addCommand( 'selectNextCell', selectNextCellCommand() );
160
- editor.addCommand( 'selectPreviousCell', selectNextCellCommand( true ) );
161
- }
162
- });
163
- })();
164
-
165
- /**
166
- * Moves the UI focus to the element following this element in the tabindex
167
- * order.
168
- * @example
169
- * var element = CKEDITOR.document.getById( 'example' );
170
- * element.focusNext();
171
- */
172
- CKEDITOR.dom.element.prototype.focusNext = function( ignoreChildren, indexToUse )
173
- {
174
- var $ = this.$,
175
- curTabIndex = ( indexToUse === undefined ? this.getTabIndex() : indexToUse ),
176
- passedCurrent, enteredCurrent,
177
- elected, electedTabIndex,
178
- element, elementTabIndex;
179
-
180
- if ( curTabIndex <= 0 )
181
- {
182
- // If this element has tabindex <= 0 then we must simply look for any
183
- // element following it containing tabindex=0.
184
-
185
- element = this.getNextSourceNode( ignoreChildren, CKEDITOR.NODE_ELEMENT );
186
-
187
- while ( element )
188
- {
189
- if ( element.isVisible() && element.getTabIndex() === 0 )
190
- {
191
- elected = element;
192
- break;
193
- }
194
-
195
- element = element.getNextSourceNode( false, CKEDITOR.NODE_ELEMENT );
196
- }
197
- }
198
- else
199
- {
200
- // If this element has tabindex > 0 then we must look for:
201
- // 1. An element following this element with the same tabindex.
202
- // 2. The first element in source other with the lowest tabindex
203
- // that is higher than this element tabindex.
204
- // 3. The first element with tabindex=0.
205
-
206
- element = this.getDocument().getBody().getFirst();
207
-
208
- while ( ( element = element.getNextSourceNode( false, CKEDITOR.NODE_ELEMENT ) ) )
209
- {
210
- if ( !passedCurrent )
211
- {
212
- if ( !enteredCurrent && element.equals( this ) )
213
- {
214
- enteredCurrent = true;
215
-
216
- // Ignore this element, if required.
217
- if ( ignoreChildren )
218
- {
219
- if ( !( element = element.getNextSourceNode( true, CKEDITOR.NODE_ELEMENT ) ) )
220
- break;
221
- passedCurrent = 1;
222
- }
223
- }
224
- else if ( enteredCurrent && !this.contains( element ) )
225
- passedCurrent = 1;
226
- }
227
-
228
- if ( !element.isVisible() || ( elementTabIndex = element.getTabIndex() ) < 0 )
229
- continue;
230
-
231
- if ( passedCurrent && elementTabIndex == curTabIndex )
232
- {
233
- elected = element;
234
- break;
235
- }
236
-
237
- if ( elementTabIndex > curTabIndex && ( !elected || !electedTabIndex || elementTabIndex < electedTabIndex ) )
238
- {
239
- elected = element;
240
- electedTabIndex = elementTabIndex;
241
- }
242
- else if ( !elected && elementTabIndex === 0 )
243
- {
244
- elected = element;
245
- electedTabIndex = elementTabIndex;
246
- }
247
- }
248
- }
249
-
250
- if ( elected )
251
- elected.focus();
252
- };
253
-
254
- /**
255
- * Moves the UI focus to the element before this element in the tabindex order.
256
- * @example
257
- * var element = CKEDITOR.document.getById( 'example' );
258
- * element.focusPrevious();
259
- */
260
- CKEDITOR.dom.element.prototype.focusPrevious = function( ignoreChildren, indexToUse )
261
- {
262
- var $ = this.$,
263
- curTabIndex = ( indexToUse === undefined ? this.getTabIndex() : indexToUse ),
264
- passedCurrent, enteredCurrent,
265
- elected,
266
- electedTabIndex = 0,
267
- elementTabIndex;
268
-
269
- var element = this.getDocument().getBody().getLast();
270
-
271
- while ( ( element = element.getPreviousSourceNode( false, CKEDITOR.NODE_ELEMENT ) ) )
272
- {
273
- if ( !passedCurrent )
274
- {
275
- if ( !enteredCurrent && element.equals( this ) )
276
- {
277
- enteredCurrent = true;
278
-
279
- // Ignore this element, if required.
280
- if ( ignoreChildren )
281
- {
282
- if ( !( element = element.getPreviousSourceNode( true, CKEDITOR.NODE_ELEMENT ) ) )
283
- break;
284
- passedCurrent = 1;
285
- }
286
- }
287
- else if ( enteredCurrent && !this.contains( element ) )
288
- passedCurrent = 1;
289
- }
290
-
291
- if ( !element.isVisible() || ( elementTabIndex = element.getTabIndex() ) < 0 )
292
- continue;
293
-
294
- if ( curTabIndex <= 0 )
295
- {
296
- // If this element has tabindex <= 0 then we must look for:
297
- // 1. An element before this one containing tabindex=0.
298
- // 2. The last element with the highest tabindex.
299
-
300
- if ( passedCurrent && elementTabIndex === 0 )
301
- {
302
- elected = element;
303
- break;
304
- }
305
-
306
- if ( elementTabIndex > electedTabIndex )
307
- {
308
- elected = element;
309
- electedTabIndex = elementTabIndex;
310
- }
311
- }
312
- else
313
- {
314
- // If this element has tabindex > 0 we must look for:
315
- // 1. An element preceeding this one, with the same tabindex.
316
- // 2. The last element in source other with the highest tabindex
317
- // that is lower than this element tabindex.
318
-
319
- if ( passedCurrent && elementTabIndex == curTabIndex )
320
- {
321
- elected = element;
322
- break;
323
- }
324
-
325
- if ( elementTabIndex < curTabIndex && ( !elected || elementTabIndex > electedTabIndex ) )
326
- {
327
- elected = element;
328
- electedTabIndex = elementTabIndex;
329
- }
330
- }
331
- }
332
-
333
- if ( elected )
334
- elected.focus();
335
- };
336
-
337
- /**
338
- * Intructs the editor to add a number of spaces (&amp;nbsp;) to the text when
339
- * hitting the TAB key. If set to zero, the TAB key will be used to move the
340
- * cursor focus to the next element in the page, out of the editor focus.
341
- * @name CKEDITOR.config.tabSpaces
342
- * @type Number
343
- * @default 0
344
- * @example
345
- * config.tabSpaces = 4;
346
- */
347
-
348
- /**
349
- * Allow context-sensitive tab key behaviors, including the following scenarios:
350
- * <h5>When selection is anchored inside <b>table cells</b>:</h5>
351
- * <ul>
352
- * <li>If TAB is pressed, select the contents of the "next" cell. If in the last cell in the table, add a new row to it and focus its first cell.</li>
353
- * <li>If SHIFT+TAB is pressed, select the contents of the "previous" cell. Do nothing when it's in the first cell.</li>
354
- * </ul>
355
- * @name CKEDITOR.config.enableTabKeyTools
356
- * @type Boolean
357
- * @default true
358
- * @example
359
- * config.enableTabKeyTools = false;
360
- */
361
-
362
- // If the TAB key is not supposed to be enabled for navigation, the following
363
- // settings could be used alternatively:
364
- // config.keystrokes.push(
365
- // [ CKEDITOR.ALT + 38 /*Arrow Up*/, 'selectPreviousCell' ],
366
- // [ CKEDITOR.ALT + 40 /*Arrow Down*/, 'selectNextCell' ]
367
- // );
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
+ var meta =
9
+ {
10
+ editorFocus : false,
11
+ modes : { wysiwyg:1, source:1 }
12
+ };
13
+
14
+ var blurCommand =
15
+ {
16
+ exec : function( editor )
17
+ {
18
+ editor.container.focusNext( true, editor.tabIndex );
19
+ }
20
+ };
21
+
22
+ var blurBackCommand =
23
+ {
24
+ exec : function( editor )
25
+ {
26
+ editor.container.focusPrevious( true, editor.tabIndex );
27
+ }
28
+ };
29
+
30
+ function selectNextCellCommand( backward )
31
+ {
32
+ return {
33
+ editorFocus : false,
34
+ canUndo : false,
35
+ modes : { wysiwyg : 1 },
36
+ exec : function( editor )
37
+ {
38
+ if ( editor.focusManager.hasFocus )
39
+ {
40
+ var sel = editor.getSelection(),
41
+ ancestor = sel.getCommonAncestor(),
42
+ cell;
43
+
44
+ if ( ( cell = ( ancestor.getAscendant( 'td', true ) || ancestor.getAscendant( 'th', true ) ) ) )
45
+ {
46
+ var resultRange = new CKEDITOR.dom.range( editor.document ),
47
+ next = CKEDITOR.tools.tryThese( function()
48
+ {
49
+ var row = cell.getParent(),
50
+ next = row.$.cells[ cell.$.cellIndex + ( backward ? - 1 : 1 ) ];
51
+
52
+ // Invalid any empty value.
53
+ next.parentNode.parentNode;
54
+ return next;
55
+ },
56
+ function()
57
+ {
58
+ var row = cell.getParent(),
59
+ table = row.getAscendant( 'table' ),
60
+ nextRow = table.$.rows[ row.$.rowIndex + ( backward ? - 1 : 1 ) ];
61
+
62
+ return nextRow.cells[ backward? nextRow.cells.length -1 : 0 ];
63
+ });
64
+
65
+ // Clone one more row at the end of table and select the first newly established cell.
66
+ if ( ! ( next || backward ) )
67
+ {
68
+ var table = cell.getAscendant( 'table' ).$,
69
+ cells = cell.getParent().$.cells;
70
+
71
+ var newRow = new CKEDITOR.dom.element( table.insertRow( -1 ), editor.document );
72
+
73
+ for ( var i = 0, count = cells.length ; i < count; i++ )
74
+ {
75
+ var newCell = newRow.append( new CKEDITOR.dom.element(
76
+ cells[ i ], editor.document ).clone( false, false ) );
77
+ !CKEDITOR.env.ie && newCell.appendBogus();
78
+ }
79
+
80
+ resultRange.moveToElementEditStart( newRow );
81
+ }
82
+ else if ( next )
83
+ {
84
+ next = new CKEDITOR.dom.element( next );
85
+ resultRange.moveToElementEditStart( next );
86
+ // Avoid selecting empty block makes the cursor blind.
87
+ if ( !( resultRange.checkStartOfBlock() && resultRange.checkEndOfBlock() ) )
88
+ resultRange.selectNodeContents( next );
89
+ }
90
+ else
91
+ return true;
92
+
93
+ resultRange.select( true );
94
+ return true;
95
+ }
96
+ }
97
+ return false;
98
+ }
99
+ };
100
+ }
101
+
102
+ CKEDITOR.plugins.add( 'tab',
103
+ {
104
+ requires : [ 'keystrokes' ],
105
+
106
+ init : function( editor )
107
+ {
108
+ var tabTools = editor.config.enableTabKeyTools !== false,
109
+ tabSpaces = editor.config.tabSpaces || 0,
110
+ tabText = '';
111
+
112
+ while ( tabSpaces-- )
113
+ tabText += '\xa0';
114
+
115
+ if ( tabText )
116
+ {
117
+ editor.on( 'key', function( ev )
118
+ {
119
+ if ( ev.data.keyCode == 9 ) // TAB
120
+ {
121
+ editor.insertHtml( tabText );
122
+ ev.cancel();
123
+ }
124
+ });
125
+ }
126
+
127
+ if ( tabTools )
128
+ {
129
+ editor.on( 'key', function( ev )
130
+ {
131
+ if ( ev.data.keyCode == 9 && editor.execCommand( 'selectNextCell' ) || // TAB
132
+ ev.data.keyCode == ( CKEDITOR.SHIFT + 9 ) && editor.execCommand( 'selectPreviousCell' ) ) // SHIFT+TAB
133
+ ev.cancel();
134
+ });
135
+ }
136
+
137
+ if ( CKEDITOR.env.webkit || CKEDITOR.env.gecko )
138
+ {
139
+ editor.on( 'key', function( ev )
140
+ {
141
+ var keyCode = ev.data.keyCode;
142
+
143
+ if ( keyCode == 9 && !tabText ) // TAB
144
+ {
145
+ ev.cancel();
146
+ editor.execCommand( 'blur' );
147
+ }
148
+
149
+ if ( keyCode == ( CKEDITOR.SHIFT + 9 ) ) // SHIFT+TAB
150
+ {
151
+ editor.execCommand( 'blurBack' );
152
+ ev.cancel();
153
+ }
154
+ });
155
+ }
156
+
157
+ editor.addCommand( 'blur', CKEDITOR.tools.extend( blurCommand, meta ) );
158
+ editor.addCommand( 'blurBack', CKEDITOR.tools.extend( blurBackCommand, meta ) );
159
+ editor.addCommand( 'selectNextCell', selectNextCellCommand() );
160
+ editor.addCommand( 'selectPreviousCell', selectNextCellCommand( true ) );
161
+ }
162
+ });
163
+ })();
164
+
165
+ /**
166
+ * Moves the UI focus to the element following this element in the tabindex
167
+ * order.
168
+ * @example
169
+ * var element = CKEDITOR.document.getById( 'example' );
170
+ * element.focusNext();
171
+ */
172
+ CKEDITOR.dom.element.prototype.focusNext = function( ignoreChildren, indexToUse )
173
+ {
174
+ var $ = this.$,
175
+ curTabIndex = ( indexToUse === undefined ? this.getTabIndex() : indexToUse ),
176
+ passedCurrent, enteredCurrent,
177
+ elected, electedTabIndex,
178
+ element, elementTabIndex;
179
+
180
+ if ( curTabIndex <= 0 )
181
+ {
182
+ // If this element has tabindex <= 0 then we must simply look for any
183
+ // element following it containing tabindex=0.
184
+
185
+ element = this.getNextSourceNode( ignoreChildren, CKEDITOR.NODE_ELEMENT );
186
+
187
+ while ( element )
188
+ {
189
+ if ( element.isVisible() && element.getTabIndex() === 0 )
190
+ {
191
+ elected = element;
192
+ break;
193
+ }
194
+
195
+ element = element.getNextSourceNode( false, CKEDITOR.NODE_ELEMENT );
196
+ }
197
+ }
198
+ else
199
+ {
200
+ // If this element has tabindex > 0 then we must look for:
201
+ // 1. An element following this element with the same tabindex.
202
+ // 2. The first element in source other with the lowest tabindex
203
+ // that is higher than this element tabindex.
204
+ // 3. The first element with tabindex=0.
205
+
206
+ element = this.getDocument().getBody().getFirst();
207
+
208
+ while ( ( element = element.getNextSourceNode( false, CKEDITOR.NODE_ELEMENT ) ) )
209
+ {
210
+ if ( !passedCurrent )
211
+ {
212
+ if ( !enteredCurrent && element.equals( this ) )
213
+ {
214
+ enteredCurrent = true;
215
+
216
+ // Ignore this element, if required.
217
+ if ( ignoreChildren )
218
+ {
219
+ if ( !( element = element.getNextSourceNode( true, CKEDITOR.NODE_ELEMENT ) ) )
220
+ break;
221
+ passedCurrent = 1;
222
+ }
223
+ }
224
+ else if ( enteredCurrent && !this.contains( element ) )
225
+ passedCurrent = 1;
226
+ }
227
+
228
+ if ( !element.isVisible() || ( elementTabIndex = element.getTabIndex() ) < 0 )
229
+ continue;
230
+
231
+ if ( passedCurrent && elementTabIndex == curTabIndex )
232
+ {
233
+ elected = element;
234
+ break;
235
+ }
236
+
237
+ if ( elementTabIndex > curTabIndex && ( !elected || !electedTabIndex || elementTabIndex < electedTabIndex ) )
238
+ {
239
+ elected = element;
240
+ electedTabIndex = elementTabIndex;
241
+ }
242
+ else if ( !elected && elementTabIndex === 0 )
243
+ {
244
+ elected = element;
245
+ electedTabIndex = elementTabIndex;
246
+ }
247
+ }
248
+ }
249
+
250
+ if ( elected )
251
+ elected.focus();
252
+ };
253
+
254
+ /**
255
+ * Moves the UI focus to the element before this element in the tabindex order.
256
+ * @example
257
+ * var element = CKEDITOR.document.getById( 'example' );
258
+ * element.focusPrevious();
259
+ */
260
+ CKEDITOR.dom.element.prototype.focusPrevious = function( ignoreChildren, indexToUse )
261
+ {
262
+ var $ = this.$,
263
+ curTabIndex = ( indexToUse === undefined ? this.getTabIndex() : indexToUse ),
264
+ passedCurrent, enteredCurrent,
265
+ elected,
266
+ electedTabIndex = 0,
267
+ elementTabIndex;
268
+
269
+ var element = this.getDocument().getBody().getLast();
270
+
271
+ while ( ( element = element.getPreviousSourceNode( false, CKEDITOR.NODE_ELEMENT ) ) )
272
+ {
273
+ if ( !passedCurrent )
274
+ {
275
+ if ( !enteredCurrent && element.equals( this ) )
276
+ {
277
+ enteredCurrent = true;
278
+
279
+ // Ignore this element, if required.
280
+ if ( ignoreChildren )
281
+ {
282
+ if ( !( element = element.getPreviousSourceNode( true, CKEDITOR.NODE_ELEMENT ) ) )
283
+ break;
284
+ passedCurrent = 1;
285
+ }
286
+ }
287
+ else if ( enteredCurrent && !this.contains( element ) )
288
+ passedCurrent = 1;
289
+ }
290
+
291
+ if ( !element.isVisible() || ( elementTabIndex = element.getTabIndex() ) < 0 )
292
+ continue;
293
+
294
+ if ( curTabIndex <= 0 )
295
+ {
296
+ // If this element has tabindex <= 0 then we must look for:
297
+ // 1. An element before this one containing tabindex=0.
298
+ // 2. The last element with the highest tabindex.
299
+
300
+ if ( passedCurrent && elementTabIndex === 0 )
301
+ {
302
+ elected = element;
303
+ break;
304
+ }
305
+
306
+ if ( elementTabIndex > electedTabIndex )
307
+ {
308
+ elected = element;
309
+ electedTabIndex = elementTabIndex;
310
+ }
311
+ }
312
+ else
313
+ {
314
+ // If this element has tabindex > 0 we must look for:
315
+ // 1. An element preceeding this one, with the same tabindex.
316
+ // 2. The last element in source other with the highest tabindex
317
+ // that is lower than this element tabindex.
318
+
319
+ if ( passedCurrent && elementTabIndex == curTabIndex )
320
+ {
321
+ elected = element;
322
+ break;
323
+ }
324
+
325
+ if ( elementTabIndex < curTabIndex && ( !elected || elementTabIndex > electedTabIndex ) )
326
+ {
327
+ elected = element;
328
+ electedTabIndex = elementTabIndex;
329
+ }
330
+ }
331
+ }
332
+
333
+ if ( elected )
334
+ elected.focus();
335
+ };
336
+
337
+ /**
338
+ * Intructs the editor to add a number of spaces (&amp;nbsp;) to the text when
339
+ * hitting the TAB key. If set to zero, the TAB key will be used to move the
340
+ * cursor focus to the next element in the page, out of the editor focus.
341
+ * @name CKEDITOR.config.tabSpaces
342
+ * @type Number
343
+ * @default 0
344
+ * @example
345
+ * config.tabSpaces = 4;
346
+ */
347
+
348
+ /**
349
+ * Allow context-sensitive tab key behaviors, including the following scenarios:
350
+ * <h5>When selection is anchored inside <b>table cells</b>:</h5>
351
+ * <ul>
352
+ * <li>If TAB is pressed, select the contents of the "next" cell. If in the last cell in the table, add a new row to it and focus its first cell.</li>
353
+ * <li>If SHIFT+TAB is pressed, select the contents of the "previous" cell. Do nothing when it's in the first cell.</li>
354
+ * </ul>
355
+ * @name CKEDITOR.config.enableTabKeyTools
356
+ * @type Boolean
357
+ * @default true
358
+ * @example
359
+ * config.enableTabKeyTools = false;
360
+ */
361
+
362
+ // If the TAB key is not supposed to be enabled for navigation, the following
363
+ // settings could be used alternatively:
364
+ // config.keystrokes.push(
365
+ // [ CKEDITOR.ALT + 38 /*Arrow Up*/, 'selectPreviousCell' ],
366
+ // [ CKEDITOR.ALT + 40 /*Arrow Down*/, 'selectNextCell' ]
367
+ // );