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,99 +1,99 @@
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
- CKEDITOR.plugins.add( 'templates',
9
- {
10
- requires : [ 'dialog' ],
11
-
12
- init : function( editor )
13
- {
14
- CKEDITOR.dialog.add( 'templates', CKEDITOR.getUrl( this.path + 'dialogs/templates.js' ) );
15
-
16
- editor.addCommand( 'templates', new CKEDITOR.dialogCommand( 'templates' ) );
17
-
18
- editor.ui.addButton( 'Templates',
19
- {
20
- label : editor.lang.templates.button,
21
- command : 'templates'
22
- });
23
- }
24
- });
25
-
26
- var templates = {},
27
- loadedTemplatesFiles = {};
28
-
29
- CKEDITOR.addTemplates = function( name, definition )
30
- {
31
- templates[ name ] = definition;
32
- };
33
-
34
- CKEDITOR.getTemplates = function( name )
35
- {
36
- return templates[ name ];
37
- };
38
-
39
- CKEDITOR.loadTemplates = function( templateFiles, callback )
40
- {
41
- // Holds the templates files to be loaded.
42
- var toLoad = [];
43
-
44
- // Look for pending template files to get loaded.
45
- for ( var i = 0, count = templateFiles.length ; i < count ; i++ )
46
- {
47
- if ( !loadedTemplatesFiles[ templateFiles[ i ] ] )
48
- {
49
- toLoad.push( templateFiles[ i ] );
50
- loadedTemplatesFiles[ templateFiles[ i ] ] = 1;
51
- }
52
- }
53
-
54
- if ( toLoad.length )
55
- CKEDITOR.scriptLoader.load( toLoad, callback );
56
- else
57
- setTimeout( callback, 0 );
58
- };
59
- })();
60
-
61
-
62
-
63
- /**
64
- * The templates definition set to use. It accepts a list of names separated by
65
- * comma. It must match definitions loaded with the templates_files setting.
66
- * @type String
67
- * @default 'default'
68
- * @example
69
- * config.templates = 'my_templates';
70
- */
71
-
72
- /**
73
- * The list of templates definition files to load.
74
- * @type (String) Array
75
- * @default [ 'plugins/templates/templates/default.js' ]
76
- * @example
77
- * config.templates_files =
78
- * [
79
- * '/editor_templates/site_default.js',
80
- * 'http://www.example.com/user_templates.js
81
- * ];
82
- *
83
- */
84
- CKEDITOR.config.templates_files =
85
- [
86
- CKEDITOR.getUrl(
87
- '_source/' + // @Packager.RemoveLine
88
- 'plugins/templates/templates/default.js' )
89
- ];
90
-
91
- /**
92
- * Whether the "Replace actual contents" checkbox is checked by default in the
93
- * Templates dialog.
94
- * @type Boolean
95
- * @default true
96
- * @example
97
- * config.templates_replaceContent = false;
98
- */
99
- CKEDITOR.config.templates_replaceContent = true;
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
+ CKEDITOR.plugins.add( 'templates',
9
+ {
10
+ requires : [ 'dialog' ],
11
+
12
+ init : function( editor )
13
+ {
14
+ CKEDITOR.dialog.add( 'templates', CKEDITOR.getUrl( this.path + 'dialogs/templates.js' ) );
15
+
16
+ editor.addCommand( 'templates', new CKEDITOR.dialogCommand( 'templates' ) );
17
+
18
+ editor.ui.addButton( 'Templates',
19
+ {
20
+ label : editor.lang.templates.button,
21
+ command : 'templates'
22
+ });
23
+ }
24
+ });
25
+
26
+ var templates = {},
27
+ loadedTemplatesFiles = {};
28
+
29
+ CKEDITOR.addTemplates = function( name, definition )
30
+ {
31
+ templates[ name ] = definition;
32
+ };
33
+
34
+ CKEDITOR.getTemplates = function( name )
35
+ {
36
+ return templates[ name ];
37
+ };
38
+
39
+ CKEDITOR.loadTemplates = function( templateFiles, callback )
40
+ {
41
+ // Holds the templates files to be loaded.
42
+ var toLoad = [];
43
+
44
+ // Look for pending template files to get loaded.
45
+ for ( var i = 0, count = templateFiles.length ; i < count ; i++ )
46
+ {
47
+ if ( !loadedTemplatesFiles[ templateFiles[ i ] ] )
48
+ {
49
+ toLoad.push( templateFiles[ i ] );
50
+ loadedTemplatesFiles[ templateFiles[ i ] ] = 1;
51
+ }
52
+ }
53
+
54
+ if ( toLoad.length )
55
+ CKEDITOR.scriptLoader.load( toLoad, callback );
56
+ else
57
+ setTimeout( callback, 0 );
58
+ };
59
+ })();
60
+
61
+
62
+
63
+ /**
64
+ * The templates definition set to use. It accepts a list of names separated by
65
+ * comma. It must match definitions loaded with the templates_files setting.
66
+ * @type String
67
+ * @default 'default'
68
+ * @example
69
+ * config.templates = 'my_templates';
70
+ */
71
+
72
+ /**
73
+ * The list of templates definition files to load.
74
+ * @type (String) Array
75
+ * @default [ 'plugins/templates/templates/default.js' ]
76
+ * @example
77
+ * config.templates_files =
78
+ * [
79
+ * '/editor_templates/site_default.js',
80
+ * 'http://www.example.com/user_templates.js
81
+ * ];
82
+ *
83
+ */
84
+ CKEDITOR.config.templates_files =
85
+ [
86
+ CKEDITOR.getUrl(
87
+ '_source/' + // @Packager.RemoveLine
88
+ 'plugins/templates/templates/default.js' )
89
+ ];
90
+
91
+ /**
92
+ * Whether the "Replace actual contents" checkbox is checked by default in the
93
+ * Templates dialog.
94
+ * @type Boolean
95
+ * @default true
96
+ * @example
97
+ * config.templates_replaceContent = false;
98
+ */
99
+ CKEDITOR.config.templates_replaceContent = true;
@@ -1,94 +1,94 @@
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
- // Register a templates definition set named "default".
7
- CKEDITOR.addTemplates( 'default',
8
- {
9
- // The name of sub folder which hold the shortcut preview images of the
10
- // templates.
11
- imagesPath : CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'templates' ) + 'templates/images/' ),
12
-
13
- // The templates definitions.
14
- templates :
15
- [
16
- {
17
- title: 'Image and Title',
18
- image: 'template1.gif',
19
- description: 'One main image with a title and text that surround the image.',
20
- html:
21
- '<h3>' +
22
- '<img style="margin-right: 10px" height="100" width="100" align="left"/>' +
23
- 'Type the title here'+
24
- '</h3>' +
25
- '<p>' +
26
- 'Type the text here' +
27
- '</p>'
28
- },
29
- {
30
- title: 'Strange Template',
31
- image: 'template2.gif',
32
- description: 'A template that defines two colums, each one with a title, and some text.',
33
- html:
34
- '<table cellspacing="0" cellpadding="0" style="width:100%" border="0">' +
35
- '<tr>' +
36
- '<td style="width:50%">' +
37
- '<h3>Title 1</h3>' +
38
- '</td>' +
39
- '<td></td>' +
40
- '<td style="width:50%">' +
41
- '<h3>Title 2</h3>' +
42
- '</td>' +
43
- '</tr>' +
44
- '<tr>' +
45
- '<td>' +
46
- 'Text 1' +
47
- '</td>' +
48
- '<td></td>' +
49
- '<td>' +
50
- 'Text 2' +
51
- '</td>' +
52
- '</tr>' +
53
- '</table>' +
54
- '<p>' +
55
- 'More text goes here.' +
56
- '</p>'
57
- },
58
- {
59
- title: 'Text and Table',
60
- image: 'template3.gif',
61
- description: 'A title with some text and a table.',
62
- html:
63
- '<div style="width: 80%">' +
64
- '<h3>' +
65
- 'Title goes here' +
66
- '</h3>' +
67
- '<table style="width:150px;float: right" cellspacing="0" cellpadding="0" border="1">' +
68
- '<caption style="border:solid 1px black">' +
69
- '<strong>Table title</strong>' +
70
- '</caption>' +
71
- '</tr>' +
72
- '<tr>' +
73
- '<td>&nbsp;</td>' +
74
- '<td>&nbsp;</td>' +
75
- '<td>&nbsp;</td>' +
76
- '</tr>' +
77
- '<tr>' +
78
- '<td>&nbsp;</td>' +
79
- '<td>&nbsp;</td>' +
80
- '<td>&nbsp;</td>' +
81
- '</tr>' +
82
- '<tr>' +
83
- '<td>&nbsp;</td>' +
84
- '<td>&nbsp;</td>' +
85
- '<td>&nbsp;</td>' +
86
- '</tr>' +
87
- '</table>' +
88
- '<p>' +
89
- 'Type the text here' +
90
- '</p>' +
91
- '</div>'
92
- }
93
- ]
94
- });
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
+ // Register a templates definition set named "default".
7
+ CKEDITOR.addTemplates( 'default',
8
+ {
9
+ // The name of sub folder which hold the shortcut preview images of the
10
+ // templates.
11
+ imagesPath : CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'templates' ) + 'templates/images/' ),
12
+
13
+ // The templates definitions.
14
+ templates :
15
+ [
16
+ {
17
+ title: 'Image and Title',
18
+ image: 'template1.gif',
19
+ description: 'One main image with a title and text that surround the image.',
20
+ html:
21
+ '<h3>' +
22
+ '<img style="margin-right: 10px" height="100" width="100" align="left"/>' +
23
+ 'Type the title here'+
24
+ '</h3>' +
25
+ '<p>' +
26
+ 'Type the text here' +
27
+ '</p>'
28
+ },
29
+ {
30
+ title: 'Strange Template',
31
+ image: 'template2.gif',
32
+ description: 'A template that defines two colums, each one with a title, and some text.',
33
+ html:
34
+ '<table cellspacing="0" cellpadding="0" style="width:100%" border="0">' +
35
+ '<tr>' +
36
+ '<td style="width:50%">' +
37
+ '<h3>Title 1</h3>' +
38
+ '</td>' +
39
+ '<td></td>' +
40
+ '<td style="width:50%">' +
41
+ '<h3>Title 2</h3>' +
42
+ '</td>' +
43
+ '</tr>' +
44
+ '<tr>' +
45
+ '<td>' +
46
+ 'Text 1' +
47
+ '</td>' +
48
+ '<td></td>' +
49
+ '<td>' +
50
+ 'Text 2' +
51
+ '</td>' +
52
+ '</tr>' +
53
+ '</table>' +
54
+ '<p>' +
55
+ 'More text goes here.' +
56
+ '</p>'
57
+ },
58
+ {
59
+ title: 'Text and Table',
60
+ image: 'template3.gif',
61
+ description: 'A title with some text and a table.',
62
+ html:
63
+ '<div style="width: 80%">' +
64
+ '<h3>' +
65
+ 'Title goes here' +
66
+ '</h3>' +
67
+ '<table style="width:150px;float: right" cellspacing="0" cellpadding="0" border="1">' +
68
+ '<caption style="border:solid 1px black">' +
69
+ '<strong>Table title</strong>' +
70
+ '</caption>' +
71
+ '</tr>' +
72
+ '<tr>' +
73
+ '<td>&nbsp;</td>' +
74
+ '<td>&nbsp;</td>' +
75
+ '<td>&nbsp;</td>' +
76
+ '</tr>' +
77
+ '<tr>' +
78
+ '<td>&nbsp;</td>' +
79
+ '<td>&nbsp;</td>' +
80
+ '<td>&nbsp;</td>' +
81
+ '</tr>' +
82
+ '<tr>' +
83
+ '<td>&nbsp;</td>' +
84
+ '<td>&nbsp;</td>' +
85
+ '<td>&nbsp;</td>' +
86
+ '</tr>' +
87
+ '</table>' +
88
+ '<p>' +
89
+ 'Type the text here' +
90
+ '</p>' +
91
+ '</div>'
92
+ }
93
+ ]
94
+ });
@@ -1,545 +1,545 @@
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
- * @fileOverview The "toolbar" plugin. Renders the default toolbar interface in
8
- * the editor.
9
- */
10
-
11
- (function()
12
- {
13
- var toolbox = function()
14
- {
15
- this.toolbars = [];
16
- this.focusCommandExecuted = false;
17
- };
18
-
19
- toolbox.prototype.focus = function()
20
- {
21
- for ( var t = 0, toolbar ; toolbar = this.toolbars[ t++ ] ; )
22
- {
23
- for ( var i = 0, item ; item = toolbar.items[ i++ ] ; )
24
- {
25
- if ( item.focus )
26
- {
27
- item.focus();
28
- return;
29
- }
30
- }
31
- }
32
- };
33
-
34
- var commands =
35
- {
36
- toolbarFocus :
37
- {
38
- modes : { wysiwyg : 1, source : 1 },
39
- readOnly : 1,
40
-
41
- exec : function( editor )
42
- {
43
- if ( editor.toolbox )
44
- {
45
- editor.toolbox.focusCommandExecuted = true;
46
-
47
- // Make the first button focus accessible for IE. (#3417)
48
- // Adobe AIR instead need while of delay.
49
- if ( CKEDITOR.env.ie || CKEDITOR.env.air )
50
- setTimeout( function(){ editor.toolbox.focus(); }, 100 );
51
- else
52
- editor.toolbox.focus();
53
- }
54
- }
55
- }
56
- };
57
-
58
- CKEDITOR.plugins.add( 'toolbar',
59
- {
60
- init : function( editor )
61
- {
62
- var endFlag;
63
-
64
- var itemKeystroke = function( item, keystroke )
65
- {
66
- var next, toolbar;
67
- var rtl = editor.lang.dir == 'rtl',
68
- toolbarGroupCycling = editor.config.toolbarGroupCycling;
69
-
70
- toolbarGroupCycling = toolbarGroupCycling === undefined || toolbarGroupCycling;
71
-
72
- switch ( keystroke )
73
- {
74
- case 9 : // TAB
75
- case CKEDITOR.SHIFT + 9 : // SHIFT + TAB
76
- // Cycle through the toolbars, starting from the one
77
- // closest to the current item.
78
- while ( !toolbar || !toolbar.items.length )
79
- {
80
- toolbar = keystroke == 9 ?
81
- ( ( toolbar ? toolbar.next : item.toolbar.next ) || editor.toolbox.toolbars[ 0 ] ) :
82
- ( ( toolbar ? toolbar.previous : item.toolbar.previous ) || editor.toolbox.toolbars[ editor.toolbox.toolbars.length - 1 ] );
83
-
84
- // Look for the first item that accepts focus.
85
- if ( toolbar.items.length )
86
- {
87
- item = toolbar.items[ endFlag ? ( toolbar.items.length - 1 ) : 0 ];
88
- while ( item && !item.focus )
89
- {
90
- item = endFlag ? item.previous : item.next;
91
-
92
- if ( !item )
93
- toolbar = 0;
94
- }
95
- }
96
- }
97
-
98
- if ( item )
99
- item.focus();
100
-
101
- return false;
102
-
103
- case rtl ? 37 : 39 : // RIGHT-ARROW
104
- case 40 : // DOWN-ARROW
105
- next = item;
106
- do
107
- {
108
- // Look for the next item in the toolbar.
109
- next = next.next;
110
-
111
- // If it's the last item, cycle to the first one.
112
- if ( !next && toolbarGroupCycling )
113
- next = item.toolbar.items[ 0 ];
114
- }
115
- while ( next && !next.focus )
116
-
117
- // If available, just focus it, otherwise focus the
118
- // first one.
119
- if ( next )
120
- next.focus();
121
- else
122
- // Send a TAB.
123
- itemKeystroke( item, 9 );
124
-
125
- return false;
126
-
127
- case rtl ? 39 : 37 : // LEFT-ARROW
128
- case 38 : // UP-ARROW
129
- next = item;
130
- do
131
- {
132
- // Look for the previous item in the toolbar.
133
- next = next.previous;
134
-
135
- // If it's the first item, cycle to the last one.
136
- if ( !next && toolbarGroupCycling )
137
- next = item.toolbar.items[ item.toolbar.items.length - 1 ];
138
- }
139
- while ( next && !next.focus )
140
-
141
- // If available, just focus it, otherwise focus the
142
- // last one.
143
- if ( next )
144
- next.focus();
145
- else
146
- {
147
- endFlag = 1;
148
- // Send a SHIFT + TAB.
149
- itemKeystroke( item, CKEDITOR.SHIFT + 9 );
150
- endFlag = 0;
151
- }
152
-
153
- return false;
154
-
155
- case 27 : // ESC
156
- editor.focus();
157
- return false;
158
-
159
- case 13 : // ENTER
160
- case 32 : // SPACE
161
- item.execute();
162
- return false;
163
- }
164
- return true;
165
- };
166
-
167
- editor.on( 'themeSpace', function( event )
168
- {
169
- if ( event.data.space == editor.config.toolbarLocation )
170
- {
171
- editor.toolbox = new toolbox();
172
-
173
- var labelId = CKEDITOR.tools.getNextId();
174
-
175
- var output = [ '<div class="cke_toolbox" role="group" aria-labelledby="', labelId, '" onmousedown="return false;"' ],
176
- expanded = editor.config.toolbarStartupExpanded !== false,
177
- groupStarted;
178
-
179
- output.push( expanded ? '>' : ' style="display:none">' );
180
-
181
- // Sends the ARIA label.
182
- output.push( '<span id="', labelId, '" class="cke_voice_label">', editor.lang.toolbars, '</span>' );
183
-
184
- var toolbars = editor.toolbox.toolbars,
185
- toolbar =
186
- ( editor.config.toolbar instanceof Array ) ?
187
- editor.config.toolbar
188
- :
189
- editor.config[ 'toolbar_' + editor.config.toolbar ];
190
-
191
- for ( var r = 0 ; r < toolbar.length ; r++ )
192
- {
193
- var toolbarId,
194
- toolbarObj = 0,
195
- toolbarName,
196
- row = toolbar[ r ],
197
- items;
198
-
199
- // It's better to check if the row object is really
200
- // available because it's a common mistake to leave
201
- // an extra comma in the toolbar definition
202
- // settings, which leads on the editor not loading
203
- // at all in IE. (#3983)
204
- if ( !row )
205
- continue;
206
-
207
- if ( groupStarted )
208
- {
209
- output.push( '</div>' );
210
- groupStarted = 0;
211
- }
212
-
213
- if ( row === '/' )
214
- {
215
- output.push( '<div class="cke_break"></div>' );
216
- continue;
217
- }
218
-
219
- items = row.items || row;
220
-
221
- // Create all items defined for this toolbar.
222
- for ( var i = 0 ; i < items.length ; i++ )
223
- {
224
- var item,
225
- itemName = items[ i ],
226
- canGroup;
227
-
228
- item = editor.ui.create( itemName );
229
-
230
- if ( item )
231
- {
232
- canGroup = item.canGroup !== false;
233
-
234
- // Initialize the toolbar first, if needed.
235
- if ( !toolbarObj )
236
- {
237
- // Create the basic toolbar object.
238
- toolbarId = CKEDITOR.tools.getNextId();
239
- toolbarObj = { id : toolbarId, items : [] };
240
- toolbarName = row.name && ( editor.lang.toolbarGroups[ row.name ] || row.name );
241
-
242
- // Output the toolbar opener.
243
- output.push( '<span id="', toolbarId, '" class="cke_toolbar"',
244
- ( toolbarName ? ' aria-labelledby="'+ toolbarId + '_label"' : '' ),
245
- ' role="toolbar">' );
246
-
247
- // If a toolbar name is available, send the voice label.
248
- toolbarName && output.push( '<span id="', toolbarId, '_label" class="cke_voice_label">', toolbarName, '</span>' );
249
-
250
- output.push( '<span class="cke_toolbar_start"></span>' );
251
-
252
- // Add the toolbar to the "editor.toolbox.toolbars"
253
- // array.
254
- var index = toolbars.push( toolbarObj ) - 1;
255
-
256
- // Create the next/previous reference.
257
- if ( index > 0 )
258
- {
259
- toolbarObj.previous = toolbars[ index - 1 ];
260
- toolbarObj.previous.next = toolbarObj;
261
- }
262
- }
263
-
264
- if ( canGroup )
265
- {
266
- if ( !groupStarted )
267
- {
268
- output.push( '<span class="cke_toolgroup" role="presentation">' );
269
- groupStarted = 1;
270
- }
271
- }
272
- else if ( groupStarted )
273
- {
274
- output.push( '</span>' );
275
- groupStarted = 0;
276
- }
277
-
278
- var itemObj = item.render( editor, output );
279
- index = toolbarObj.items.push( itemObj ) - 1;
280
-
281
- if ( index > 0 )
282
- {
283
- itemObj.previous = toolbarObj.items[ index - 1 ];
284
- itemObj.previous.next = itemObj;
285
- }
286
-
287
- itemObj.toolbar = toolbarObj;
288
- itemObj.onkey = itemKeystroke;
289
-
290
- /*
291
- * Fix for #3052:
292
- * Prevent JAWS from focusing the toolbar after document load.
293
- */
294
- itemObj.onfocus = function()
295
- {
296
- if ( !editor.toolbox.focusCommandExecuted )
297
- editor.focus();
298
- };
299
- }
300
- }
301
-
302
- if ( groupStarted )
303
- {
304
- output.push( '</span>' );
305
- groupStarted = 0;
306
- }
307
-
308
- if ( toolbarObj )
309
- output.push( '<span class="cke_toolbar_end"></span></span>' );
310
- }
311
-
312
- output.push( '</div>' );
313
-
314
- if ( editor.config.toolbarCanCollapse )
315
- {
316
- var collapserFn = CKEDITOR.tools.addFunction(
317
- function()
318
- {
319
- editor.execCommand( 'toolbarCollapse' );
320
- });
321
-
322
- editor.on( 'destroy', function () {
323
- CKEDITOR.tools.removeFunction( collapserFn );
324
- });
325
-
326
- var collapserId = CKEDITOR.tools.getNextId();
327
-
328
- editor.addCommand( 'toolbarCollapse',
329
- {
330
- readOnly : 1,
331
- exec : function( editor )
332
- {
333
- var collapser = CKEDITOR.document.getById( collapserId ),
334
- toolbox = collapser.getPrevious(),
335
- contents = editor.getThemeSpace( 'contents' ),
336
- toolboxContainer = toolbox.getParent(),
337
- contentHeight = parseInt( contents.$.style.height, 10 ),
338
- previousHeight = toolboxContainer.$.offsetHeight,
339
- collapsed = !toolbox.isVisible();
340
-
341
- if ( !collapsed )
342
- {
343
- toolbox.hide();
344
- collapser.addClass( 'cke_toolbox_collapser_min' );
345
- collapser.setAttribute( 'title', editor.lang.toolbarExpand );
346
- }
347
- else
348
- {
349
- toolbox.show();
350
- collapser.removeClass( 'cke_toolbox_collapser_min' );
351
- collapser.setAttribute( 'title', editor.lang.toolbarCollapse );
352
- }
353
-
354
- // Update collapser symbol.
355
- collapser.getFirst().setText( collapsed ?
356
- '\u25B2' : // BLACK UP-POINTING TRIANGLE
357
- '\u25C0' ); // BLACK LEFT-POINTING TRIANGLE
358
-
359
- var dy = toolboxContainer.$.offsetHeight - previousHeight;
360
- contents.setStyle( 'height', ( contentHeight - dy ) + 'px' );
361
-
362
- editor.fire( 'resize' );
363
- },
364
-
365
- modes : { wysiwyg : 1, source : 1 }
366
- } );
367
-
368
- output.push( '<a title="' + ( expanded ? editor.lang.toolbarCollapse : editor.lang.toolbarExpand )
369
- + '" id="' + collapserId + '" tabIndex="-1" class="cke_toolbox_collapser' );
370
-
371
- if ( !expanded )
372
- output.push( ' cke_toolbox_collapser_min' );
373
-
374
- output.push( '" onclick="CKEDITOR.tools.callFunction(' + collapserFn + ')">',
375
- '<span>&#9650;</span>', // BLACK UP-POINTING TRIANGLE
376
- '</a>' );
377
- }
378
-
379
- event.data.html += output.join( '' );
380
- }
381
- });
382
-
383
- editor.on( 'destroy', function()
384
- {
385
- var toolbars, index = 0, i,
386
- items, instance;
387
- toolbars = this.toolbox.toolbars;
388
- for ( ; index < toolbars.length; index++ )
389
- {
390
- items = toolbars[ index ].items;
391
- for ( i = 0; i < items.length; i++ )
392
- {
393
- instance = items[ i ];
394
- if ( instance.clickFn ) CKEDITOR.tools.removeFunction( instance.clickFn );
395
- if ( instance.keyDownFn ) CKEDITOR.tools.removeFunction( instance.keyDownFn );
396
- }
397
- }
398
- });
399
-
400
- editor.addCommand( 'toolbarFocus', commands.toolbarFocus );
401
-
402
- editor.ui.add( '-', CKEDITOR.UI_SEPARATOR, {} );
403
- editor.ui.addHandler( CKEDITOR.UI_SEPARATOR,
404
- {
405
- create: function()
406
- {
407
- return {
408
- render : function( editor, output )
409
- {
410
- output.push( '<span class="cke_separator" role="separator"></span>' );
411
- return {};
412
- }
413
- };
414
- }
415
- });
416
- }
417
- });
418
- })();
419
-
420
- CKEDITOR.UI_SEPARATOR = 'separator';
421
-
422
- /**
423
- * The "theme space" to which rendering the toolbar. For the default theme,
424
- * the recommended options are "top" and "bottom".
425
- * @type String
426
- * @default 'top'
427
- * @see CKEDITOR.config.theme
428
- * @example
429
- * config.toolbarLocation = 'bottom';
430
- */
431
- CKEDITOR.config.toolbarLocation = 'top';
432
-
433
- /**
434
- * The toolbar definition. It is an array of toolbars (strips),
435
- * each one being also an array, containing a list of UI items.
436
- * Note that this setting is composed by "toolbar_" added by the toolbar name,
437
- * which in this case is called "Basic". This second part of the setting name
438
- * can be anything. You must use this name in the
439
- * {@link CKEDITOR.config.toolbar} setting, so you instruct the editor which
440
- * toolbar_(name) setting to you.
441
- * @type Array
442
- * @example
443
- * // Defines a toolbar with only one strip containing the "Source" button, a
444
- * // separator and the "Bold" and "Italic" buttons.
445
- * <b>config.toolbar_Basic =
446
- * [
447
- * [ 'Source', '-', 'Bold', 'Italic' ]
448
- * ]</b>;
449
- * config.toolbar = 'Basic';
450
- */
451
- CKEDITOR.config.toolbar_Basic =
452
- [
453
- ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink','-','About']
454
- ];
455
-
456
- /**
457
- * This is the default toolbar definition used by the editor. It contains all
458
- * editor features.
459
- * @type Array
460
- * @default (see example)
461
- * @example
462
- * // This is actually the default value.
463
- * config.toolbar_Full =
464
- * [
465
- * { name: 'document', items : [ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ] },
466
- * { name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
467
- * { name: 'editing', items : [ 'Find','Replace','-','SelectAll','-','SpellChecker', 'Scayt' ] },
468
- * { name: 'forms', items : [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ] },
469
- * '/',
470
- * { name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
471
- * { name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ] },
472
- * { name: 'links', items : [ 'Link','Unlink','Anchor' ] },
473
- * { name: 'insert', items : [ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak' ] },
474
- * '/',
475
- * { name: 'styles', items : [ 'Styles','Format','Font','FontSize' ] },
476
- * { name: 'colors', items : [ 'TextColor','BGColor' ] },
477
- * { name: 'tools', items : [ 'Maximize', 'ShowBlocks','-','About' ] }
478
- * ];
479
- */
480
- CKEDITOR.config.toolbar_Full =
481
- [
482
- { name: 'document', items : [ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ] },
483
- { name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
484
- { name: 'editing', items : [ 'Find','Replace','-','SelectAll','-','SpellChecker', 'Scayt' ] },
485
- { name: 'forms', items : [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ] },
486
- '/',
487
- { name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
488
- { name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ] },
489
- { name: 'links', items : [ 'Link','Unlink','Anchor' ] },
490
- { name: 'insert', items : [ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ] },
491
- '/',
492
- { name: 'styles', items : [ 'Styles','Format','Font','FontSize' ] },
493
- { name: 'colors', items : [ 'TextColor','BGColor' ] },
494
- { name: 'tools', items : [ 'Maximize', 'ShowBlocks','-','About' ] }
495
- ];
496
-
497
- /**
498
- * The toolbox (alias toolbar) definition. It is a toolbar name or an array of
499
- * toolbars (strips), each one being also an array, containing a list of UI items.
500
- * @type Array|String
501
- * @default 'Full'
502
- * @example
503
- * // Defines a toolbar with only one strip containing the "Source" button, a
504
- * // separator and the "Bold" and "Italic" buttons.
505
- * config.toolbar =
506
- * [
507
- * [ 'Source', '-', 'Bold', 'Italic' ]
508
- * ];
509
- * @example
510
- * // Load toolbar_Name where Name = Basic.
511
- * config.toolbar = 'Basic';
512
- */
513
- CKEDITOR.config.toolbar = 'Full';
514
-
515
- /**
516
- * Whether the toolbar can be collapsed by the user. If disabled, the collapser
517
- * button will not be displayed.
518
- * @type Boolean
519
- * @default true
520
- * @example
521
- * config.toolbarCanCollapse = false;
522
- */
523
- CKEDITOR.config.toolbarCanCollapse = true;
524
-
525
- /**
526
- * Whether the toolbar must start expanded when the editor is loaded.
527
- * @name CKEDITOR.config.toolbarStartupExpanded
528
- * @type Boolean
529
- * @default true
530
- * @example
531
- * config.toolbarStartupExpanded = false;
532
- */
533
-
534
- /**
535
- * When enabled, makes the arrow keys navigation cycle within the current
536
- * toolbar group. Otherwise the arrows will move trought all items available in
537
- * the toolbar. The TAB key will still be used to quickly jump among the
538
- * toolbar groups.
539
- * @name CKEDITOR.config.toolbarGroupCycling
540
- * @since 3.6
541
- * @type Boolean
542
- * @default true
543
- * @example
544
- * config.toolbarGroupCycling = false;
545
- */
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
+ * @fileOverview The "toolbar" plugin. Renders the default toolbar interface in
8
+ * the editor.
9
+ */
10
+
11
+ (function()
12
+ {
13
+ var toolbox = function()
14
+ {
15
+ this.toolbars = [];
16
+ this.focusCommandExecuted = false;
17
+ };
18
+
19
+ toolbox.prototype.focus = function()
20
+ {
21
+ for ( var t = 0, toolbar ; toolbar = this.toolbars[ t++ ] ; )
22
+ {
23
+ for ( var i = 0, item ; item = toolbar.items[ i++ ] ; )
24
+ {
25
+ if ( item.focus )
26
+ {
27
+ item.focus();
28
+ return;
29
+ }
30
+ }
31
+ }
32
+ };
33
+
34
+ var commands =
35
+ {
36
+ toolbarFocus :
37
+ {
38
+ modes : { wysiwyg : 1, source : 1 },
39
+ readOnly : 1,
40
+
41
+ exec : function( editor )
42
+ {
43
+ if ( editor.toolbox )
44
+ {
45
+ editor.toolbox.focusCommandExecuted = true;
46
+
47
+ // Make the first button focus accessible for IE. (#3417)
48
+ // Adobe AIR instead need while of delay.
49
+ if ( CKEDITOR.env.ie || CKEDITOR.env.air )
50
+ setTimeout( function(){ editor.toolbox.focus(); }, 100 );
51
+ else
52
+ editor.toolbox.focus();
53
+ }
54
+ }
55
+ }
56
+ };
57
+
58
+ CKEDITOR.plugins.add( 'toolbar',
59
+ {
60
+ init : function( editor )
61
+ {
62
+ var endFlag;
63
+
64
+ var itemKeystroke = function( item, keystroke )
65
+ {
66
+ var next, toolbar;
67
+ var rtl = editor.lang.dir == 'rtl',
68
+ toolbarGroupCycling = editor.config.toolbarGroupCycling;
69
+
70
+ toolbarGroupCycling = toolbarGroupCycling === undefined || toolbarGroupCycling;
71
+
72
+ switch ( keystroke )
73
+ {
74
+ case 9 : // TAB
75
+ case CKEDITOR.SHIFT + 9 : // SHIFT + TAB
76
+ // Cycle through the toolbars, starting from the one
77
+ // closest to the current item.
78
+ while ( !toolbar || !toolbar.items.length )
79
+ {
80
+ toolbar = keystroke == 9 ?
81
+ ( ( toolbar ? toolbar.next : item.toolbar.next ) || editor.toolbox.toolbars[ 0 ] ) :
82
+ ( ( toolbar ? toolbar.previous : item.toolbar.previous ) || editor.toolbox.toolbars[ editor.toolbox.toolbars.length - 1 ] );
83
+
84
+ // Look for the first item that accepts focus.
85
+ if ( toolbar.items.length )
86
+ {
87
+ item = toolbar.items[ endFlag ? ( toolbar.items.length - 1 ) : 0 ];
88
+ while ( item && !item.focus )
89
+ {
90
+ item = endFlag ? item.previous : item.next;
91
+
92
+ if ( !item )
93
+ toolbar = 0;
94
+ }
95
+ }
96
+ }
97
+
98
+ if ( item )
99
+ item.focus();
100
+
101
+ return false;
102
+
103
+ case rtl ? 37 : 39 : // RIGHT-ARROW
104
+ case 40 : // DOWN-ARROW
105
+ next = item;
106
+ do
107
+ {
108
+ // Look for the next item in the toolbar.
109
+ next = next.next;
110
+
111
+ // If it's the last item, cycle to the first one.
112
+ if ( !next && toolbarGroupCycling )
113
+ next = item.toolbar.items[ 0 ];
114
+ }
115
+ while ( next && !next.focus )
116
+
117
+ // If available, just focus it, otherwise focus the
118
+ // first one.
119
+ if ( next )
120
+ next.focus();
121
+ else
122
+ // Send a TAB.
123
+ itemKeystroke( item, 9 );
124
+
125
+ return false;
126
+
127
+ case rtl ? 39 : 37 : // LEFT-ARROW
128
+ case 38 : // UP-ARROW
129
+ next = item;
130
+ do
131
+ {
132
+ // Look for the previous item in the toolbar.
133
+ next = next.previous;
134
+
135
+ // If it's the first item, cycle to the last one.
136
+ if ( !next && toolbarGroupCycling )
137
+ next = item.toolbar.items[ item.toolbar.items.length - 1 ];
138
+ }
139
+ while ( next && !next.focus )
140
+
141
+ // If available, just focus it, otherwise focus the
142
+ // last one.
143
+ if ( next )
144
+ next.focus();
145
+ else
146
+ {
147
+ endFlag = 1;
148
+ // Send a SHIFT + TAB.
149
+ itemKeystroke( item, CKEDITOR.SHIFT + 9 );
150
+ endFlag = 0;
151
+ }
152
+
153
+ return false;
154
+
155
+ case 27 : // ESC
156
+ editor.focus();
157
+ return false;
158
+
159
+ case 13 : // ENTER
160
+ case 32 : // SPACE
161
+ item.execute();
162
+ return false;
163
+ }
164
+ return true;
165
+ };
166
+
167
+ editor.on( 'themeSpace', function( event )
168
+ {
169
+ if ( event.data.space == editor.config.toolbarLocation )
170
+ {
171
+ editor.toolbox = new toolbox();
172
+
173
+ var labelId = CKEDITOR.tools.getNextId();
174
+
175
+ var output = [ '<div class="cke_toolbox" role="group" aria-labelledby="', labelId, '" onmousedown="return false;"' ],
176
+ expanded = editor.config.toolbarStartupExpanded !== false,
177
+ groupStarted;
178
+
179
+ output.push( expanded ? '>' : ' style="display:none">' );
180
+
181
+ // Sends the ARIA label.
182
+ output.push( '<span id="', labelId, '" class="cke_voice_label">', editor.lang.toolbars, '</span>' );
183
+
184
+ var toolbars = editor.toolbox.toolbars,
185
+ toolbar =
186
+ ( editor.config.toolbar instanceof Array ) ?
187
+ editor.config.toolbar
188
+ :
189
+ editor.config[ 'toolbar_' + editor.config.toolbar ];
190
+
191
+ for ( var r = 0 ; r < toolbar.length ; r++ )
192
+ {
193
+ var toolbarId,
194
+ toolbarObj = 0,
195
+ toolbarName,
196
+ row = toolbar[ r ],
197
+ items;
198
+
199
+ // It's better to check if the row object is really
200
+ // available because it's a common mistake to leave
201
+ // an extra comma in the toolbar definition
202
+ // settings, which leads on the editor not loading
203
+ // at all in IE. (#3983)
204
+ if ( !row )
205
+ continue;
206
+
207
+ if ( groupStarted )
208
+ {
209
+ output.push( '</div>' );
210
+ groupStarted = 0;
211
+ }
212
+
213
+ if ( row === '/' )
214
+ {
215
+ output.push( '<div class="cke_break"></div>' );
216
+ continue;
217
+ }
218
+
219
+ items = row.items || row;
220
+
221
+ // Create all items defined for this toolbar.
222
+ for ( var i = 0 ; i < items.length ; i++ )
223
+ {
224
+ var item,
225
+ itemName = items[ i ],
226
+ canGroup;
227
+
228
+ item = editor.ui.create( itemName );
229
+
230
+ if ( item )
231
+ {
232
+ canGroup = item.canGroup !== false;
233
+
234
+ // Initialize the toolbar first, if needed.
235
+ if ( !toolbarObj )
236
+ {
237
+ // Create the basic toolbar object.
238
+ toolbarId = CKEDITOR.tools.getNextId();
239
+ toolbarObj = { id : toolbarId, items : [] };
240
+ toolbarName = row.name && ( editor.lang.toolbarGroups[ row.name ] || row.name );
241
+
242
+ // Output the toolbar opener.
243
+ output.push( '<span id="', toolbarId, '" class="cke_toolbar"',
244
+ ( toolbarName ? ' aria-labelledby="'+ toolbarId + '_label"' : '' ),
245
+ ' role="toolbar">' );
246
+
247
+ // If a toolbar name is available, send the voice label.
248
+ toolbarName && output.push( '<span id="', toolbarId, '_label" class="cke_voice_label">', toolbarName, '</span>' );
249
+
250
+ output.push( '<span class="cke_toolbar_start"></span>' );
251
+
252
+ // Add the toolbar to the "editor.toolbox.toolbars"
253
+ // array.
254
+ var index = toolbars.push( toolbarObj ) - 1;
255
+
256
+ // Create the next/previous reference.
257
+ if ( index > 0 )
258
+ {
259
+ toolbarObj.previous = toolbars[ index - 1 ];
260
+ toolbarObj.previous.next = toolbarObj;
261
+ }
262
+ }
263
+
264
+ if ( canGroup )
265
+ {
266
+ if ( !groupStarted )
267
+ {
268
+ output.push( '<span class="cke_toolgroup" role="presentation">' );
269
+ groupStarted = 1;
270
+ }
271
+ }
272
+ else if ( groupStarted )
273
+ {
274
+ output.push( '</span>' );
275
+ groupStarted = 0;
276
+ }
277
+
278
+ var itemObj = item.render( editor, output );
279
+ index = toolbarObj.items.push( itemObj ) - 1;
280
+
281
+ if ( index > 0 )
282
+ {
283
+ itemObj.previous = toolbarObj.items[ index - 1 ];
284
+ itemObj.previous.next = itemObj;
285
+ }
286
+
287
+ itemObj.toolbar = toolbarObj;
288
+ itemObj.onkey = itemKeystroke;
289
+
290
+ /*
291
+ * Fix for #3052:
292
+ * Prevent JAWS from focusing the toolbar after document load.
293
+ */
294
+ itemObj.onfocus = function()
295
+ {
296
+ if ( !editor.toolbox.focusCommandExecuted )
297
+ editor.focus();
298
+ };
299
+ }
300
+ }
301
+
302
+ if ( groupStarted )
303
+ {
304
+ output.push( '</span>' );
305
+ groupStarted = 0;
306
+ }
307
+
308
+ if ( toolbarObj )
309
+ output.push( '<span class="cke_toolbar_end"></span></span>' );
310
+ }
311
+
312
+ output.push( '</div>' );
313
+
314
+ if ( editor.config.toolbarCanCollapse )
315
+ {
316
+ var collapserFn = CKEDITOR.tools.addFunction(
317
+ function()
318
+ {
319
+ editor.execCommand( 'toolbarCollapse' );
320
+ });
321
+
322
+ editor.on( 'destroy', function () {
323
+ CKEDITOR.tools.removeFunction( collapserFn );
324
+ });
325
+
326
+ var collapserId = CKEDITOR.tools.getNextId();
327
+
328
+ editor.addCommand( 'toolbarCollapse',
329
+ {
330
+ readOnly : 1,
331
+ exec : function( editor )
332
+ {
333
+ var collapser = CKEDITOR.document.getById( collapserId ),
334
+ toolbox = collapser.getPrevious(),
335
+ contents = editor.getThemeSpace( 'contents' ),
336
+ toolboxContainer = toolbox.getParent(),
337
+ contentHeight = parseInt( contents.$.style.height, 10 ),
338
+ previousHeight = toolboxContainer.$.offsetHeight,
339
+ collapsed = !toolbox.isVisible();
340
+
341
+ if ( !collapsed )
342
+ {
343
+ toolbox.hide();
344
+ collapser.addClass( 'cke_toolbox_collapser_min' );
345
+ collapser.setAttribute( 'title', editor.lang.toolbarExpand );
346
+ }
347
+ else
348
+ {
349
+ toolbox.show();
350
+ collapser.removeClass( 'cke_toolbox_collapser_min' );
351
+ collapser.setAttribute( 'title', editor.lang.toolbarCollapse );
352
+ }
353
+
354
+ // Update collapser symbol.
355
+ collapser.getFirst().setText( collapsed ?
356
+ '\u25B2' : // BLACK UP-POINTING TRIANGLE
357
+ '\u25C0' ); // BLACK LEFT-POINTING TRIANGLE
358
+
359
+ var dy = toolboxContainer.$.offsetHeight - previousHeight;
360
+ contents.setStyle( 'height', ( contentHeight - dy ) + 'px' );
361
+
362
+ editor.fire( 'resize' );
363
+ },
364
+
365
+ modes : { wysiwyg : 1, source : 1 }
366
+ } );
367
+
368
+ output.push( '<a title="' + ( expanded ? editor.lang.toolbarCollapse : editor.lang.toolbarExpand )
369
+ + '" id="' + collapserId + '" tabIndex="-1" class="cke_toolbox_collapser' );
370
+
371
+ if ( !expanded )
372
+ output.push( ' cke_toolbox_collapser_min' );
373
+
374
+ output.push( '" onclick="CKEDITOR.tools.callFunction(' + collapserFn + ')">',
375
+ '<span>&#9650;</span>', // BLACK UP-POINTING TRIANGLE
376
+ '</a>' );
377
+ }
378
+
379
+ event.data.html += output.join( '' );
380
+ }
381
+ });
382
+
383
+ editor.on( 'destroy', function()
384
+ {
385
+ var toolbars, index = 0, i,
386
+ items, instance;
387
+ toolbars = this.toolbox.toolbars;
388
+ for ( ; index < toolbars.length; index++ )
389
+ {
390
+ items = toolbars[ index ].items;
391
+ for ( i = 0; i < items.length; i++ )
392
+ {
393
+ instance = items[ i ];
394
+ if ( instance.clickFn ) CKEDITOR.tools.removeFunction( instance.clickFn );
395
+ if ( instance.keyDownFn ) CKEDITOR.tools.removeFunction( instance.keyDownFn );
396
+ }
397
+ }
398
+ });
399
+
400
+ editor.addCommand( 'toolbarFocus', commands.toolbarFocus );
401
+
402
+ editor.ui.add( '-', CKEDITOR.UI_SEPARATOR, {} );
403
+ editor.ui.addHandler( CKEDITOR.UI_SEPARATOR,
404
+ {
405
+ create: function()
406
+ {
407
+ return {
408
+ render : function( editor, output )
409
+ {
410
+ output.push( '<span class="cke_separator" role="separator"></span>' );
411
+ return {};
412
+ }
413
+ };
414
+ }
415
+ });
416
+ }
417
+ });
418
+ })();
419
+
420
+ CKEDITOR.UI_SEPARATOR = 'separator';
421
+
422
+ /**
423
+ * The "theme space" to which rendering the toolbar. For the default theme,
424
+ * the recommended options are "top" and "bottom".
425
+ * @type String
426
+ * @default 'top'
427
+ * @see CKEDITOR.config.theme
428
+ * @example
429
+ * config.toolbarLocation = 'bottom';
430
+ */
431
+ CKEDITOR.config.toolbarLocation = 'top';
432
+
433
+ /**
434
+ * The toolbar definition. It is an array of toolbars (strips),
435
+ * each one being also an array, containing a list of UI items.
436
+ * Note that this setting is composed by "toolbar_" added by the toolbar name,
437
+ * which in this case is called "Basic". This second part of the setting name
438
+ * can be anything. You must use this name in the
439
+ * {@link CKEDITOR.config.toolbar} setting, so you instruct the editor which
440
+ * toolbar_(name) setting to you.
441
+ * @type Array
442
+ * @example
443
+ * // Defines a toolbar with only one strip containing the "Source" button, a
444
+ * // separator and the "Bold" and "Italic" buttons.
445
+ * <b>config.toolbar_Basic =
446
+ * [
447
+ * [ 'Source', '-', 'Bold', 'Italic' ]
448
+ * ]</b>;
449
+ * config.toolbar = 'Basic';
450
+ */
451
+ CKEDITOR.config.toolbar_Basic =
452
+ [
453
+ ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink','-','About']
454
+ ];
455
+
456
+ /**
457
+ * This is the default toolbar definition used by the editor. It contains all
458
+ * editor features.
459
+ * @type Array
460
+ * @default (see example)
461
+ * @example
462
+ * // This is actually the default value.
463
+ * config.toolbar_Full =
464
+ * [
465
+ * { name: 'document', items : [ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ] },
466
+ * { name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
467
+ * { name: 'editing', items : [ 'Find','Replace','-','SelectAll','-','SpellChecker', 'Scayt' ] },
468
+ * { name: 'forms', items : [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ] },
469
+ * '/',
470
+ * { name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
471
+ * { name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ] },
472
+ * { name: 'links', items : [ 'Link','Unlink','Anchor' ] },
473
+ * { name: 'insert', items : [ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak' ] },
474
+ * '/',
475
+ * { name: 'styles', items : [ 'Styles','Format','Font','FontSize' ] },
476
+ * { name: 'colors', items : [ 'TextColor','BGColor' ] },
477
+ * { name: 'tools', items : [ 'Maximize', 'ShowBlocks','-','About' ] }
478
+ * ];
479
+ */
480
+ CKEDITOR.config.toolbar_Full =
481
+ [
482
+ { name: 'document', items : [ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ] },
483
+ { name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
484
+ { name: 'editing', items : [ 'Find','Replace','-','SelectAll','-','SpellChecker', 'Scayt' ] },
485
+ { name: 'forms', items : [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ] },
486
+ '/',
487
+ { name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
488
+ { name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ] },
489
+ { name: 'links', items : [ 'Link','Unlink','Anchor' ] },
490
+ { name: 'insert', items : [ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ] },
491
+ '/',
492
+ { name: 'styles', items : [ 'Styles','Format','Font','FontSize' ] },
493
+ { name: 'colors', items : [ 'TextColor','BGColor' ] },
494
+ { name: 'tools', items : [ 'Maximize', 'ShowBlocks','-','About' ] }
495
+ ];
496
+
497
+ /**
498
+ * The toolbox (alias toolbar) definition. It is a toolbar name or an array of
499
+ * toolbars (strips), each one being also an array, containing a list of UI items.
500
+ * @type Array|String
501
+ * @default 'Full'
502
+ * @example
503
+ * // Defines a toolbar with only one strip containing the "Source" button, a
504
+ * // separator and the "Bold" and "Italic" buttons.
505
+ * config.toolbar =
506
+ * [
507
+ * [ 'Source', '-', 'Bold', 'Italic' ]
508
+ * ];
509
+ * @example
510
+ * // Load toolbar_Name where Name = Basic.
511
+ * config.toolbar = 'Basic';
512
+ */
513
+ CKEDITOR.config.toolbar = 'Full';
514
+
515
+ /**
516
+ * Whether the toolbar can be collapsed by the user. If disabled, the collapser
517
+ * button will not be displayed.
518
+ * @type Boolean
519
+ * @default true
520
+ * @example
521
+ * config.toolbarCanCollapse = false;
522
+ */
523
+ CKEDITOR.config.toolbarCanCollapse = true;
524
+
525
+ /**
526
+ * Whether the toolbar must start expanded when the editor is loaded.
527
+ * @name CKEDITOR.config.toolbarStartupExpanded
528
+ * @type Boolean
529
+ * @default true
530
+ * @example
531
+ * config.toolbarStartupExpanded = false;
532
+ */
533
+
534
+ /**
535
+ * When enabled, makes the arrow keys navigation cycle within the current
536
+ * toolbar group. Otherwise the arrows will move trought all items available in
537
+ * the toolbar. The TAB key will still be used to quickly jump among the
538
+ * toolbar groups.
539
+ * @name CKEDITOR.config.toolbarGroupCycling
540
+ * @since 3.6
541
+ * @type Boolean
542
+ * @default true
543
+ * @example
544
+ * config.toolbarGroupCycling = false;
545
+ */