esp-ckeditor 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (340) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +32 -0
  3. data/Rakefile +28 -0
  4. data/app/assets/javascripts/esp-ckeditor/_source/core/_bootstrap.js +87 -0
  5. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor.js +141 -0
  6. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor_base.js +227 -0
  7. data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor_basic.js +238 -0
  8. data/app/assets/javascripts/esp-ckeditor/_source/core/command.js +209 -0
  9. data/app/assets/javascripts/esp-ckeditor/_source/core/commanddefinition.js +129 -0
  10. data/app/assets/javascripts/esp-ckeditor/_source/core/config.js +423 -0
  11. data/app/assets/javascripts/esp-ckeditor/_source/core/dataprocessor.js +65 -0
  12. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/comment.js +32 -0
  13. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/document.js +251 -0
  14. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/documentfragment.js +49 -0
  15. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/domobject.js +258 -0
  16. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/element.js +1691 -0
  17. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/elementpath.js +119 -0
  18. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/event.js +145 -0
  19. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/node.js +696 -0
  20. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/nodelist.js +26 -0
  21. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/range.js +2054 -0
  22. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/rangelist.js +213 -0
  23. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/text.js +128 -0
  24. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/walker.js +462 -0
  25. data/app/assets/javascripts/esp-ckeditor/_source/core/dom/window.js +96 -0
  26. data/app/assets/javascripts/esp-ckeditor/_source/core/dom.js +20 -0
  27. data/app/assets/javascripts/esp-ckeditor/_source/core/dtd.js +266 -0
  28. data/app/assets/javascripts/esp-ckeditor/_source/core/editor.js +1060 -0
  29. data/app/assets/javascripts/esp-ckeditor/_source/core/editor_basic.js +186 -0
  30. data/app/assets/javascripts/esp-ckeditor/_source/core/env.js +305 -0
  31. data/app/assets/javascripts/esp-ckeditor/_source/core/event.js +342 -0
  32. data/app/assets/javascripts/esp-ckeditor/_source/core/eventInfo.js +120 -0
  33. data/app/assets/javascripts/esp-ckeditor/_source/core/focusmanager.js +152 -0
  34. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  35. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/cdata.js +43 -0
  36. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/comment.js +60 -0
  37. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/element.js +308 -0
  38. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/filter.js +288 -0
  39. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/fragment.js +518 -0
  40. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/text.js +53 -0
  41. data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser.js +224 -0
  42. data/app/assets/javascripts/esp-ckeditor/_source/core/lang.js +157 -0
  43. data/app/assets/javascripts/esp-ckeditor/_source/core/loader.js +240 -0
  44. data/app/assets/javascripts/esp-ckeditor/_source/core/plugindefinition.js +83 -0
  45. data/app/assets/javascripts/esp-ckeditor/_source/core/plugins.js +103 -0
  46. data/app/assets/javascripts/esp-ckeditor/_source/core/resourcemanager.js +238 -0
  47. data/app/assets/javascripts/esp-ckeditor/_source/core/scriptloader.js +180 -0
  48. data/app/assets/javascripts/esp-ckeditor/_source/core/skins.js +184 -0
  49. data/app/assets/javascripts/esp-ckeditor/_source/core/themes.js +19 -0
  50. data/app/assets/javascripts/esp-ckeditor/_source/core/tools.js +763 -0
  51. data/app/assets/javascripts/esp-ckeditor/_source/core/ui.js +128 -0
  52. data/app/assets/javascripts/esp-ckeditor/_source/lang/_languages.js +27 -0
  53. data/app/assets/javascripts/esp-ckeditor/_source/lang/en.js +815 -0
  54. data/app/assets/javascripts/esp-ckeditor/_source/lang/ru.js +815 -0
  55. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
  56. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  57. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  58. data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
  59. data/app/assets/javascripts/esp-ckeditor/_source/plugins/basicstyles/plugin.js +129 -0
  60. data/app/assets/javascripts/esp-ckeditor/_source/plugins/button/plugin.js +290 -0
  61. data/app/assets/javascripts/esp-ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
  62. data/app/assets/javascripts/esp-ckeditor/_source/plugins/clipboard/plugin.js +453 -0
  63. data/app/assets/javascripts/esp-ckeditor/_source/plugins/contextmenu/plugin.js +179 -0
  64. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -0
  65. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialog/plugin.js +3308 -0
  66. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -0
  67. data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialogui/plugin.js +1541 -0
  68. data/app/assets/javascripts/esp-ckeditor/_source/plugins/domiterator/plugin.js +361 -0
  69. data/app/assets/javascripts/esp-ckeditor/_source/plugins/editingblock/plugin.js +278 -0
  70. data/app/assets/javascripts/esp-ckeditor/_source/plugins/elementspath/plugin.js +218 -0
  71. data/app/assets/javascripts/esp-ckeditor/_source/plugins/enterkey/plugin.js +433 -0
  72. data/app/assets/javascripts/esp-ckeditor/_source/plugins/entities/plugin.js +250 -0
  73. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/dialogs/esp_attachment.js +234 -0
  74. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/images/esp_attachment.png +0 -0
  75. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/en.js +22 -0
  76. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/ru.js +22 -0
  77. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/uk.js +22 -0
  78. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/plugin.js +23 -0
  79. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/dialogs/esp_audio.js +207 -0
  80. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/images/esp_audio.png +0 -0
  81. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/images/placeholder.png +0 -0
  82. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/en.js +18 -0
  83. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/ru.js +18 -0
  84. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/uk.js +18 -0
  85. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/plugin.js +182 -0
  86. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_blockquote/dialogs/esp_blockquote.js +132 -0
  87. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_blockquote/plugin.js +235 -0
  88. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/dialogs/esp_image.js +1414 -0
  89. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/images/esp_image.png +0 -0
  90. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/en.js +9 -0
  91. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/ru.js +9 -0
  92. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/uk.js +9 -0
  93. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/plugin.js +80 -0
  94. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/dialogs/esp_anchor.js +145 -0
  95. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/dialogs/esp_link.js +1396 -0
  96. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/anchor.png +0 -0
  97. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_anchor.png +0 -0
  98. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_link.png +0 -0
  99. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_unlink.png +0 -0
  100. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/en.js +8 -0
  101. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/ru.js +8 -0
  102. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/uk.js +8 -0
  103. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/plugin.js +379 -0
  104. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_address.png +0 -0
  105. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_blockquote.png +0 -0
  106. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_div.png +0 -0
  107. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h1.png +0 -0
  108. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h2.png +0 -0
  109. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h3.png +0 -0
  110. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h4.png +0 -0
  111. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h5.png +0 -0
  112. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h6.png +0 -0
  113. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_p.png +0 -0
  114. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_pre.png +0 -0
  115. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/esp_showblocks.png +0 -0
  116. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/plugin.js +163 -0
  117. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/dialogs/esp_video.js +277 -0
  118. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/images/esp_video.png +0 -0
  119. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/images/placeholder.png +0 -0
  120. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/en.js +19 -0
  121. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/ru.js +19 -0
  122. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/uk.js +19 -0
  123. data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/plugin.js +182 -0
  124. data/app/assets/javascripts/esp-ckeditor/_source/plugins/fakeobjects/plugin.js +175 -0
  125. data/app/assets/javascripts/esp-ckeditor/_source/plugins/filebrowser/plugin.js +534 -0
  126. data/app/assets/javascripts/esp-ckeditor/_source/plugins/find/dialogs/find.js +915 -0
  127. data/app/assets/javascripts/esp-ckeditor/_source/plugins/find/plugin.js +47 -0
  128. data/app/assets/javascripts/esp-ckeditor/_source/plugins/floatpanel/plugin.js +428 -0
  129. data/app/assets/javascripts/esp-ckeditor/_source/plugins/format/plugin.js +197 -0
  130. data/app/assets/javascripts/esp-ckeditor/_source/plugins/htmldataprocessor/plugin.js +596 -0
  131. data/app/assets/javascripts/esp-ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  132. data/app/assets/javascripts/esp-ckeditor/_source/plugins/image/dialogs/image.js +1407 -0
  133. data/app/assets/javascripts/esp-ckeditor/_source/plugins/image/plugin.js +81 -0
  134. data/app/assets/javascripts/esp-ckeditor/_source/plugins/indent/plugin.js +461 -0
  135. data/app/assets/javascripts/esp-ckeditor/_source/plugins/justify/plugin.js +253 -0
  136. data/app/assets/javascripts/esp-ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  137. data/app/assets/javascripts/esp-ckeditor/_source/plugins/list/plugin.js +774 -0
  138. data/app/assets/javascripts/esp-ckeditor/_source/plugins/listblock/plugin.js +266 -0
  139. data/app/assets/javascripts/esp-ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -0
  140. data/app/assets/javascripts/esp-ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  141. data/app/assets/javascripts/esp-ckeditor/_source/plugins/maximize/plugin.js +353 -0
  142. data/app/assets/javascripts/esp-ckeditor/_source/plugins/menu/plugin.js +541 -0
  143. data/app/assets/javascripts/esp-ckeditor/_source/plugins/panel/plugin.js +400 -0
  144. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -0
  145. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
  146. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
  147. data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastetext/plugin.js +98 -0
  148. data/app/assets/javascripts/esp-ckeditor/_source/plugins/popup/plugin.js +64 -0
  149. data/app/assets/javascripts/esp-ckeditor/_source/plugins/removeformat/plugin.js +185 -0
  150. data/app/assets/javascripts/esp-ckeditor/_source/plugins/resize/plugin.js +168 -0
  151. data/app/assets/javascripts/esp-ckeditor/_source/plugins/richcombo/plugin.js +381 -0
  152. data/app/assets/javascripts/esp-ckeditor/_source/plugins/selection/plugin.js +1729 -0
  153. data/app/assets/javascripts/esp-ckeditor/_source/plugins/showborders/plugin.js +207 -0
  154. data/app/assets/javascripts/esp-ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
  155. data/app/assets/javascripts/esp-ckeditor/_source/plugins/styles/plugin.js +1700 -0
  156. data/app/assets/javascripts/esp-ckeditor/_source/plugins/styles/styles/default.js +88 -0
  157. data/app/assets/javascripts/esp-ckeditor/_source/plugins/stylescombo/plugin.js +218 -0
  158. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tab/plugin.js +367 -0
  159. data/app/assets/javascripts/esp-ckeditor/_source/plugins/table/dialogs/table.js +623 -0
  160. data/app/assets/javascripts/esp-ckeditor/_source/plugins/table/plugin.js +78 -0
  161. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  162. data/app/assets/javascripts/esp-ckeditor/_source/plugins/tabletools/plugin.js +1194 -0
  163. data/app/assets/javascripts/esp-ckeditor/_source/plugins/toolbar/plugin.js +545 -0
  164. data/app/assets/javascripts/esp-ckeditor/_source/plugins/undo/plugin.js +578 -0
  165. data/app/assets/javascripts/esp-ckeditor/_source/plugins/wysiwygarea/plugin.js +1347 -0
  166. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/dialog.css +988 -0
  167. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/editor.css +25 -0
  168. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/elementspath.css +73 -0
  169. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons.css +367 -0
  170. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons.png +0 -0
  171. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  172. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  173. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  174. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  175. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/mini.gif +0 -0
  176. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/noimage.png +0 -0
  177. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/sprites.png +0 -0
  178. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  179. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  180. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/mainui.css +209 -0
  181. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/menu.css +232 -0
  182. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/panel.css +227 -0
  183. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/presets.css +49 -0
  184. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/reset.css +85 -0
  185. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/richcombo.css +287 -0
  186. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/skin.js +236 -0
  187. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/templates.css +88 -0
  188. data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/toolbar.css +412 -0
  189. data/app/assets/javascripts/esp-ckeditor/_source/themes/default/theme.js +407 -0
  190. data/app/assets/javascripts/esp-ckeditor/application.js +8 -0
  191. data/app/assets/javascripts/esp-ckeditor/ckeditor.js +137 -0
  192. data/app/assets/javascripts/esp-ckeditor/ckeditor.pack +194 -0
  193. data/app/assets/javascripts/esp-ckeditor/ckeditor_source.js +35 -0
  194. data/app/assets/javascripts/esp-ckeditor/ckpackager.jar +0 -0
  195. data/app/assets/javascripts/esp-ckeditor/ckpackager.txt +2 -0
  196. data/app/assets/javascripts/esp-ckeditor/config.js +147 -0
  197. data/app/assets/javascripts/esp-ckeditor/contents.css +38 -0
  198. data/app/assets/javascripts/esp-ckeditor/images/spacer.gif +0 -0
  199. data/app/assets/javascripts/esp-ckeditor/init_ckeditor.js +1 -0
  200. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -0
  201. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/lang/en.js +1 -0
  202. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/lang/he.js +1 -0
  203. data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/plugin.js +1 -0
  204. data/app/assets/javascripts/esp-ckeditor/plugins/basicstyles/plugin.js +1 -0
  205. data/app/assets/javascripts/esp-ckeditor/plugins/button/plugin.js +1 -0
  206. data/app/assets/javascripts/esp-ckeditor/plugins/clipboard/dialogs/paste.js +1 -0
  207. data/app/assets/javascripts/esp-ckeditor/plugins/clipboard/plugin.js +1 -0
  208. data/app/assets/javascripts/esp-ckeditor/plugins/contextmenu/plugin.js +1 -0
  209. data/app/assets/javascripts/esp-ckeditor/plugins/dialog/dialogDefinition.js +0 -0
  210. data/app/assets/javascripts/esp-ckeditor/plugins/dialog/plugin.js +1 -0
  211. data/app/assets/javascripts/esp-ckeditor/plugins/dialogadvtab/plugin.js +1 -0
  212. data/app/assets/javascripts/esp-ckeditor/plugins/dialogui/plugin.js +1 -0
  213. data/app/assets/javascripts/esp-ckeditor/plugins/domiterator/plugin.js +1 -0
  214. data/app/assets/javascripts/esp-ckeditor/plugins/editingblock/plugin.js +1 -0
  215. data/app/assets/javascripts/esp-ckeditor/plugins/elementspath/plugin.js +1 -0
  216. data/app/assets/javascripts/esp-ckeditor/plugins/enterkey/plugin.js +1 -0
  217. data/app/assets/javascripts/esp-ckeditor/plugins/entities/plugin.js +1 -0
  218. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/dialogs/esp_attachment.js +1 -0
  219. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/images/esp_attachment.png +0 -0
  220. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/en.js +1 -0
  221. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/ru.js +1 -0
  222. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/uk.js +1 -0
  223. data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/plugin.js +1 -0
  224. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/dialogs/esp_audio.js +1 -0
  225. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/images/esp_audio.png +0 -0
  226. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/images/placeholder.png +0 -0
  227. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/en.js +1 -0
  228. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/ru.js +1 -0
  229. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/uk.js +1 -0
  230. data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/plugin.js +1 -0
  231. data/app/assets/javascripts/esp-ckeditor/plugins/esp_blockquote/dialogs/esp_blockquote.js +1 -0
  232. data/app/assets/javascripts/esp-ckeditor/plugins/esp_blockquote/plugin.js +1 -0
  233. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/dialogs/esp_image.js +1 -0
  234. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/images/esp_image.png +0 -0
  235. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/en.js +1 -0
  236. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/ru.js +1 -0
  237. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/uk.js +1 -0
  238. data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/plugin.js +1 -0
  239. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/dialogs/esp_anchor.js +1 -0
  240. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/dialogs/esp_link.js +1 -0
  241. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/anchor.png +0 -0
  242. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_anchor.png +0 -0
  243. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_link.png +0 -0
  244. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_unlink.png +0 -0
  245. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/en.js +1 -0
  246. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/ru.js +1 -0
  247. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/uk.js +1 -0
  248. data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/plugin.js +1 -0
  249. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_address.png +0 -0
  250. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_blockquote.png +0 -0
  251. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_div.png +0 -0
  252. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h1.png +0 -0
  253. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h2.png +0 -0
  254. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h3.png +0 -0
  255. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h4.png +0 -0
  256. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h5.png +0 -0
  257. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h6.png +0 -0
  258. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_p.png +0 -0
  259. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_pre.png +0 -0
  260. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/esp_showblocks.png +0 -0
  261. data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/plugin.js +1 -0
  262. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/dialogs/esp_video.js +1 -0
  263. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/images/esp_video.png +0 -0
  264. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/images/placeholder.png +0 -0
  265. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/en.js +1 -0
  266. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/ru.js +1 -0
  267. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/uk.js +1 -0
  268. data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/plugin.js +1 -0
  269. data/app/assets/javascripts/esp-ckeditor/plugins/fakeobjects/plugin.js +1 -0
  270. data/app/assets/javascripts/esp-ckeditor/plugins/filebrowser/plugin.js +1 -0
  271. data/app/assets/javascripts/esp-ckeditor/plugins/find/dialogs/find.js +1 -0
  272. data/app/assets/javascripts/esp-ckeditor/plugins/find/plugin.js +1 -0
  273. data/app/assets/javascripts/esp-ckeditor/plugins/floatpanel/plugin.js +1 -0
  274. data/app/assets/javascripts/esp-ckeditor/plugins/format/plugin.js +1 -0
  275. data/app/assets/javascripts/esp-ckeditor/plugins/htmldataprocessor/plugin.js +1 -0
  276. data/app/assets/javascripts/esp-ckeditor/plugins/htmlwriter/plugin.js +1 -0
  277. data/app/assets/javascripts/esp-ckeditor/plugins/image/dialogs/image.js +1 -0
  278. data/app/assets/javascripts/esp-ckeditor/plugins/image/plugin.js +1 -0
  279. data/app/assets/javascripts/esp-ckeditor/plugins/indent/plugin.js +1 -0
  280. data/app/assets/javascripts/esp-ckeditor/plugins/justify/plugin.js +1 -0
  281. data/app/assets/javascripts/esp-ckeditor/plugins/keystrokes/plugin.js +1 -0
  282. data/app/assets/javascripts/esp-ckeditor/plugins/list/plugin.js +1 -0
  283. data/app/assets/javascripts/esp-ckeditor/plugins/listblock/plugin.js +1 -0
  284. data/app/assets/javascripts/esp-ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -0
  285. data/app/assets/javascripts/esp-ckeditor/plugins/liststyle/plugin.js +1 -0
  286. data/app/assets/javascripts/esp-ckeditor/plugins/maximize/plugin.js +1 -0
  287. data/app/assets/javascripts/esp-ckeditor/plugins/menu/plugin.js +1 -0
  288. data/app/assets/javascripts/esp-ckeditor/plugins/panel/plugin.js +1 -0
  289. data/app/assets/javascripts/esp-ckeditor/plugins/pastefromword/filter/default.js +1 -0
  290. data/app/assets/javascripts/esp-ckeditor/plugins/pastefromword/plugin.js +1 -0
  291. data/app/assets/javascripts/esp-ckeditor/plugins/pastetext/dialogs/pastetext.js +1 -0
  292. data/app/assets/javascripts/esp-ckeditor/plugins/pastetext/plugin.js +1 -0
  293. data/app/assets/javascripts/esp-ckeditor/plugins/popup/plugin.js +1 -0
  294. data/app/assets/javascripts/esp-ckeditor/plugins/removeformat/plugin.js +1 -0
  295. data/app/assets/javascripts/esp-ckeditor/plugins/resize/plugin.js +1 -0
  296. data/app/assets/javascripts/esp-ckeditor/plugins/richcombo/plugin.js +1 -0
  297. data/app/assets/javascripts/esp-ckeditor/plugins/selection/plugin.js +1 -0
  298. data/app/assets/javascripts/esp-ckeditor/plugins/showborders/plugin.js +1 -0
  299. data/app/assets/javascripts/esp-ckeditor/plugins/sourcearea/plugin.js +1 -0
  300. data/app/assets/javascripts/esp-ckeditor/plugins/styles/plugin.js +1 -0
  301. data/app/assets/javascripts/esp-ckeditor/plugins/styles/styles/default.js +1 -0
  302. data/app/assets/javascripts/esp-ckeditor/plugins/stylescombo/plugin.js +1 -0
  303. data/app/assets/javascripts/esp-ckeditor/plugins/tab/plugin.js +1 -0
  304. data/app/assets/javascripts/esp-ckeditor/plugins/table/dialogs/table.js +1 -0
  305. data/app/assets/javascripts/esp-ckeditor/plugins/table/plugin.js +1 -0
  306. data/app/assets/javascripts/esp-ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -0
  307. data/app/assets/javascripts/esp-ckeditor/plugins/tabletools/plugin.js +1 -0
  308. data/app/assets/javascripts/esp-ckeditor/plugins/toolbar/plugin.js +1 -0
  309. data/app/assets/javascripts/esp-ckeditor/plugins/undo/plugin.js +1 -0
  310. data/app/assets/javascripts/esp-ckeditor/plugins/wysiwygarea/plugin.js +1 -0
  311. data/app/assets/javascripts/esp-ckeditor/skins/kama/dialog.css +988 -0
  312. data/app/assets/javascripts/esp-ckeditor/skins/kama/editor.css +25 -0
  313. data/app/assets/javascripts/esp-ckeditor/skins/kama/elementspath.css +73 -0
  314. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons.css +367 -0
  315. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons.png +0 -0
  316. data/app/assets/javascripts/esp-ckeditor/skins/kama/icons_rtl.png +0 -0
  317. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  318. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides.png +0 -0
  319. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  320. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/mini.gif +0 -0
  321. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/noimage.png +0 -0
  322. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/sprites.png +0 -0
  323. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  324. data/app/assets/javascripts/esp-ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  325. data/app/assets/javascripts/esp-ckeditor/skins/kama/mainui.css +209 -0
  326. data/app/assets/javascripts/esp-ckeditor/skins/kama/menu.css +232 -0
  327. data/app/assets/javascripts/esp-ckeditor/skins/kama/panel.css +227 -0
  328. data/app/assets/javascripts/esp-ckeditor/skins/kama/presets.css +49 -0
  329. data/app/assets/javascripts/esp-ckeditor/skins/kama/reset.css +85 -0
  330. data/app/assets/javascripts/esp-ckeditor/skins/kama/richcombo.css +287 -0
  331. data/app/assets/javascripts/esp-ckeditor/skins/kama/skin.js +236 -0
  332. data/app/assets/javascripts/esp-ckeditor/skins/kama/templates.css +88 -0
  333. data/app/assets/javascripts/esp-ckeditor/skins/kama/toolbar.css +412 -0
  334. data/app/inputs/ckeditor_input.rb +42 -0
  335. data/config/routes.rb +2 -0
  336. data/lib/esp-ckeditor/engine.rb +9 -0
  337. data/lib/esp-ckeditor/version.rb +3 -0
  338. data/lib/esp-ckeditor.rb +17 -0
  339. data/lib/tasks/esp-ckeditor_tasks.rake +4 -0
  340. metadata +434 -0
@@ -0,0 +1,179 @@
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
+ CKEDITOR.plugins.add( 'contextmenu',
7
+ {
8
+ requires : [ 'menu' ],
9
+
10
+ // Make sure the base class (CKEDITOR.menu) is loaded before it (#3318).
11
+ onLoad : function()
12
+ {
13
+ CKEDITOR.plugins.contextMenu = CKEDITOR.tools.createClass(
14
+ {
15
+ base : CKEDITOR.menu,
16
+
17
+ $ : function( editor )
18
+ {
19
+ this.base.call( this, editor,
20
+ {
21
+ panel:
22
+ {
23
+ className : editor.skinClass + ' cke_contextmenu',
24
+ attributes :
25
+ {
26
+ 'aria-label' : editor.lang.contextmenu.options
27
+ }
28
+ }
29
+ });
30
+ },
31
+
32
+ proto :
33
+ {
34
+ addTarget : function( element, nativeContextMenuOnCtrl )
35
+ {
36
+ // Opera doesn't support 'contextmenu' event, we have duo approaches employed here:
37
+ // 1. Inherit the 'button override' hack we introduced in v2 (#4530), while this require the Opera browser
38
+ // option 'Allow script to detect context menu/right click events' to be always turned on.
39
+ // 2. Considering the fact that ctrl/meta key is not been occupied
40
+ // for multiple range selecting (like Gecko), we use this key
41
+ // combination as a fallback for triggering context-menu. (#4530)
42
+ if ( CKEDITOR.env.opera && !( 'oncontextmenu' in document.body ))
43
+ {
44
+ var contextMenuOverrideButton;
45
+ element.on( 'mousedown', function( evt )
46
+ {
47
+ evt = evt.data;
48
+ if ( evt.$.button != 2 )
49
+ {
50
+ if ( evt.getKeystroke() == CKEDITOR.CTRL + 1 )
51
+ element.fire( 'contextmenu', evt );
52
+ return;
53
+ }
54
+
55
+ if ( nativeContextMenuOnCtrl
56
+ && ( CKEDITOR.env.mac ? evt.$.metaKey : evt.$.ctrlKey ) )
57
+ return;
58
+
59
+ var target = evt.getTarget();
60
+
61
+ if ( !contextMenuOverrideButton )
62
+ {
63
+ var ownerDoc = target.getDocument();
64
+ contextMenuOverrideButton = ownerDoc.createElement( 'input' ) ;
65
+ contextMenuOverrideButton.$.type = 'button' ;
66
+ ownerDoc.getBody().append( contextMenuOverrideButton ) ;
67
+ }
68
+
69
+ contextMenuOverrideButton.setAttribute( 'style', 'position:absolute;top:' + ( evt.$.clientY - 2 ) +
70
+ 'px;left:' + ( evt.$.clientX - 2 ) +
71
+ 'px;width:5px;height:5px;opacity:0.01' );
72
+
73
+ } );
74
+
75
+ element.on( 'mouseup', function ( evt )
76
+ {
77
+ if ( contextMenuOverrideButton )
78
+ {
79
+ contextMenuOverrideButton.remove();
80
+ contextMenuOverrideButton = undefined;
81
+ // Simulate 'contextmenu' event.
82
+ element.fire( 'contextmenu', evt.data );
83
+ }
84
+ } );
85
+ }
86
+
87
+ element.on( 'contextmenu', function( event )
88
+ {
89
+ var domEvent = event.data;
90
+
91
+ if ( nativeContextMenuOnCtrl &&
92
+ // Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event,
93
+ // which make this property unreliable. (#4826)
94
+ ( CKEDITOR.env.webkit ? holdCtrlKey : ( CKEDITOR.env.mac ? domEvent.$.metaKey : domEvent.$.ctrlKey ) ) )
95
+ return;
96
+
97
+
98
+ // Cancel the browser context menu.
99
+ domEvent.preventDefault();
100
+
101
+ var offsetParent = domEvent.getTarget().getDocument().getDocumentElement(),
102
+ offsetX = domEvent.$.clientX,
103
+ offsetY = domEvent.$.clientY;
104
+
105
+ CKEDITOR.tools.setTimeout( function()
106
+ {
107
+ this.open( offsetParent, null, offsetX, offsetY );
108
+
109
+ // IE needs a short while to allow selection change before opening menu. (#7908)
110
+ }, CKEDITOR.env.ie? 200 : 0, this );
111
+ },
112
+ this );
113
+
114
+ if ( CKEDITOR.env.opera )
115
+ {
116
+ // 'contextmenu' event triggered by Windows menu key is unpreventable,
117
+ // cancel the key event itself. (#6534)
118
+ element.on( 'keypress' , function ( evt )
119
+ {
120
+ var domEvent = evt.data;
121
+
122
+ if ( domEvent.$.keyCode === 0 )
123
+ domEvent.preventDefault();
124
+ });
125
+ }
126
+
127
+ if ( CKEDITOR.env.webkit )
128
+ {
129
+ var holdCtrlKey,
130
+ onKeyDown = function( event )
131
+ {
132
+ holdCtrlKey = CKEDITOR.env.mac ? event.data.$.metaKey : event.data.$.ctrlKey ;
133
+ },
134
+ resetOnKeyUp = function()
135
+ {
136
+ holdCtrlKey = 0;
137
+ };
138
+
139
+ element.on( 'keydown', onKeyDown );
140
+ element.on( 'keyup', resetOnKeyUp );
141
+ element.on( 'contextmenu', resetOnKeyUp );
142
+ }
143
+ },
144
+
145
+ open : function( offsetParent, corner, offsetX, offsetY )
146
+ {
147
+ this.editor.focus();
148
+ offsetParent = offsetParent || CKEDITOR.document.getDocumentElement();
149
+ this.show( offsetParent, corner, offsetX, offsetY );
150
+ }
151
+ }
152
+ });
153
+ },
154
+
155
+ beforeInit : function( editor )
156
+ {
157
+ editor.contextMenu = new CKEDITOR.plugins.contextMenu( editor );
158
+
159
+ editor.addCommand( 'contextMenu',
160
+ {
161
+ exec : function()
162
+ {
163
+ editor.contextMenu.open( editor.document.getBody() );
164
+ }
165
+ });
166
+ }
167
+ });
168
+
169
+ /**
170
+ * Whether to show the browser native context menu when the <em>Ctrl</em> or
171
+ * <em>Meta</em> (Mac) key is pressed on opening the context menu with the
172
+ * right mouse button click or the <em>Menu</em> key.
173
+ * @name CKEDITOR.config.browserContextMenuOnCtrl
174
+ * @since 3.0.2
175
+ * @type Boolean
176
+ * @default <code>true</code>
177
+ * @example
178
+ * config.browserContextMenuOnCtrl = false;
179
+ */
@@ -0,0 +1,1166 @@
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 Defines the "virtual" dialog, dialog content and dialog button
8
+ * definition classes.
9
+ */
10
+
11
+ /**
12
+ * The definition of a dialog window.
13
+ * <div class="notapi">
14
+ * This class is not really part of the API. It just illustrates the properties
15
+ * that developers can use to define and create dialogs.
16
+ * </div>
17
+ * @name CKEDITOR.dialog.definition
18
+ * @constructor
19
+ * @example
20
+ * // There is no constructor for this class, the user just has to define an
21
+ * // object with the appropriate properties.
22
+ *
23
+ * CKEDITOR.dialog.add( 'testOnly', function( editor )
24
+ * {
25
+ * return {
26
+ * title : 'Test Dialog',
27
+ * resizable : CKEDITOR.DIALOG_RESIZE_BOTH,
28
+ * minWidth : 500,
29
+ * minHeight : 400,
30
+ * contents : [
31
+ * {
32
+ * id : 'tab1',
33
+ * label : 'First Tab',
34
+ * title : 'First Tab Title',
35
+ * accessKey : 'Q',
36
+ * elements : [
37
+ * {
38
+ * type : 'text',
39
+ * label : 'Test Text 1',
40
+ * id : 'testText1',
41
+ * 'default' : 'hello world!'
42
+ * }
43
+ * ]
44
+ * }
45
+ * ]
46
+ * };
47
+ * });
48
+ */
49
+
50
+ /**
51
+ * The dialog title, displayed in the dialog's header. Required.
52
+ * @name CKEDITOR.dialog.definition.prototype.title
53
+ * @field
54
+ * @type String
55
+ * @example
56
+ */
57
+
58
+ /**
59
+ * How the dialog can be resized, must be one of the four contents defined below.
60
+ * <br /><br />
61
+ * <strong>CKEDITOR.DIALOG_RESIZE_NONE</strong><br />
62
+ * <strong>CKEDITOR.DIALOG_RESIZE_WIDTH</strong><br />
63
+ * <strong>CKEDITOR.DIALOG_RESIZE_HEIGHT</strong><br />
64
+ * <strong>CKEDITOR.DIALOG_RESIZE_BOTH</strong><br />
65
+ * @name CKEDITOR.dialog.definition.prototype.resizable
66
+ * @field
67
+ * @type Number
68
+ * @default CKEDITOR.DIALOG_RESIZE_NONE
69
+ * @example
70
+ */
71
+
72
+ /**
73
+ * The minimum width of the dialog, in pixels.
74
+ * @name CKEDITOR.dialog.definition.prototype.minWidth
75
+ * @field
76
+ * @type Number
77
+ * @default 600
78
+ * @example
79
+ */
80
+
81
+ /**
82
+ * The minimum height of the dialog, in pixels.
83
+ * @name CKEDITOR.dialog.definition.prototype.minHeight
84
+ * @field
85
+ * @type Number
86
+ * @default 400
87
+ * @example
88
+ */
89
+
90
+
91
+ /**
92
+ * The initial width of the dialog, in pixels.
93
+ * @name CKEDITOR.dialog.definition.prototype.width
94
+ * @field
95
+ * @type Number
96
+ * @default @CKEDITOR.dialog.definition.prototype.minWidth
97
+ * @since 3.5.3
98
+ * @example
99
+ */
100
+
101
+ /**
102
+ * The initial height of the dialog, in pixels.
103
+ * @name CKEDITOR.dialog.definition.prototype.height
104
+ * @field
105
+ * @type Number
106
+ * @default @CKEDITOR.dialog.definition.prototype.minHeight
107
+ * @since 3.5.3
108
+ * @example
109
+ */
110
+
111
+ /**
112
+ * The buttons in the dialog, defined as an array of
113
+ * {@link CKEDITOR.dialog.definition.button} objects.
114
+ * @name CKEDITOR.dialog.definition.prototype.buttons
115
+ * @field
116
+ * @type Array
117
+ * @default [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ]
118
+ * @example
119
+ */
120
+
121
+ /**
122
+ * The contents in the dialog, defined as an array of
123
+ * {@link CKEDITOR.dialog.definition.content} objects. Required.
124
+ * @name CKEDITOR.dialog.definition.prototype.contents
125
+ * @field
126
+ * @type Array
127
+ * @example
128
+ */
129
+
130
+ /**
131
+ * The function to execute when OK is pressed.
132
+ * @name CKEDITOR.dialog.definition.prototype.onOk
133
+ * @field
134
+ * @type Function
135
+ * @example
136
+ */
137
+
138
+ /**
139
+ * The function to execute when Cancel is pressed.
140
+ * @name CKEDITOR.dialog.definition.prototype.onCancel
141
+ * @field
142
+ * @type Function
143
+ * @example
144
+ */
145
+
146
+ /**
147
+ * The function to execute when the dialog is displayed for the first time.
148
+ * @name CKEDITOR.dialog.definition.prototype.onLoad
149
+ * @field
150
+ * @type Function
151
+ * @example
152
+ */
153
+
154
+ /**
155
+ * The function to execute when the dialog is loaded (executed every time the dialog is opened).
156
+ * @name CKEDITOR.dialog.definition.prototype.onShow
157
+ * @field
158
+ * @type Function
159
+ * @example
160
+ */
161
+
162
+ /**
163
+ * <div class="notapi">This class is not really part of the API. It just illustrates the properties
164
+ * that developers can use to define and create dialog content pages.</div>
165
+ * @name CKEDITOR.dialog.definition.content
166
+ * @constructor
167
+ * @example
168
+ * // There is no constructor for this class, the user just has to define an
169
+ * // object with the appropriate properties.
170
+ */
171
+
172
+ /**
173
+ * The id of the content page.
174
+ * @name CKEDITOR.dialog.definition.content.prototype.id
175
+ * @field
176
+ * @type String
177
+ * @example
178
+ */
179
+
180
+ /**
181
+ * The tab label of the content page.
182
+ * @name CKEDITOR.dialog.definition.content.prototype.label
183
+ * @field
184
+ * @type String
185
+ * @example
186
+ */
187
+
188
+ /**
189
+ * The popup message of the tab label.
190
+ * @name CKEDITOR.dialog.definition.content.prototype.title
191
+ * @field
192
+ * @type String
193
+ * @example
194
+ */
195
+
196
+ /**
197
+ * The CTRL hotkey for switching to the tab.
198
+ * @name CKEDITOR.dialog.definition.content.prototype.accessKey
199
+ * @field
200
+ * @type String
201
+ * @example
202
+ * contentDefinition.accessKey = 'Q'; // Switch to this page when CTRL-Q is pressed.
203
+ */
204
+
205
+ /**
206
+ * The UI elements contained in this content page, defined as an array of
207
+ * {@link CKEDITOR.dialog.definition.uiElement} objects.
208
+ * @name CKEDITOR.dialog.definition.content.prototype.elements
209
+ * @field
210
+ * @type Array
211
+ * @example
212
+ */
213
+
214
+ /**
215
+ * The definition of user interface element (textarea, radio etc).
216
+ * <div class="notapi">This class is not really part of the API. It just illustrates the properties
217
+ * that developers can use to define and create dialog UI elements.</div>
218
+ * @name CKEDITOR.dialog.definition.uiElement
219
+ * @constructor
220
+ * @see CKEDITOR.ui.dialog.uiElement
221
+ * @example
222
+ * // There is no constructor for this class, the user just has to define an
223
+ * // object with the appropriate properties.
224
+ */
225
+
226
+ /**
227
+ * The id of the UI element.
228
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.id
229
+ * @field
230
+ * @type String
231
+ * @example
232
+ */
233
+
234
+ /**
235
+ * The type of the UI element. Required.
236
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.type
237
+ * @field
238
+ * @type String
239
+ * @example
240
+ */
241
+
242
+ /**
243
+ * The popup label of the UI element.
244
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.title
245
+ * @field
246
+ * @type String
247
+ * @example
248
+ */
249
+
250
+ /**
251
+ * CSS class names to append to the UI element.
252
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.className
253
+ * @field
254
+ * @type String
255
+ * @example
256
+ */
257
+
258
+ /**
259
+ * Inline CSS classes to append to the UI element.
260
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.style
261
+ * @field
262
+ * @type String
263
+ * @example
264
+ */
265
+
266
+ /**
267
+ * Horizontal alignment (in container) of the UI element.
268
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.align
269
+ * @field
270
+ * @type String
271
+ * @example
272
+ */
273
+
274
+ /**
275
+ * Function to execute the first time the UI element is displayed.
276
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.onLoad
277
+ * @field
278
+ * @type Function
279
+ * @example
280
+ */
281
+
282
+ /**
283
+ * Function to execute whenever the UI element's parent dialog is displayed.
284
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.onShow
285
+ * @field
286
+ * @type Function
287
+ * @example
288
+ */
289
+
290
+ /**
291
+ * Function to execute whenever the UI element's parent dialog is closed.
292
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.onHide
293
+ * @field
294
+ * @type Function
295
+ * @example
296
+ */
297
+
298
+ /**
299
+ * Function to execute whenever the UI element's parent dialog's {@link CKEDITOR.dialog.definition.setupContent} method is executed.
300
+ * It usually takes care of the respective UI element as a standalone element.
301
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.setup
302
+ * @field
303
+ * @type Function
304
+ * @example
305
+ */
306
+
307
+ /**
308
+ * Function to execute whenever the UI element's parent dialog's {@link CKEDITOR.dialog.definition.commitContent} method is executed.
309
+ * It usually takes care of the respective UI element as a standalone element.
310
+ * @name CKEDITOR.dialog.definition.uiElement.prototype.commit
311
+ * @field
312
+ * @type Function
313
+ * @example
314
+ */
315
+
316
+ // ----- hbox -----
317
+
318
+ /**
319
+ * Horizontal layout box for dialog UI elements, auto-expends to available width of container.
320
+ * <div class="notapi">
321
+ * This class is not really part of the API. It just illustrates the properties
322
+ * that developers can use to define and create horizontal layouts.
323
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.hbox} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
324
+ * </div>
325
+ * @name CKEDITOR.dialog.definition.hbox
326
+ * @extends CKEDITOR.dialog.definition.uiElement
327
+ * @constructor
328
+ * @example
329
+ * // There is no constructor for this class, the user just has to define an
330
+ * // object with the appropriate properties.
331
+ *
332
+ * // Example:
333
+ * {
334
+ * <b>type : 'hbox',</b>
335
+ * widths : [ '25%', '25%', '50%' ],
336
+ * children :
337
+ * [
338
+ * {
339
+ * type : 'text',
340
+ * id : 'id1',
341
+ * width : '40px',
342
+ * },
343
+ * {
344
+ * type : 'text',
345
+ * id : 'id2',
346
+ * width : '40px',
347
+ * },
348
+ * {
349
+ * type : 'text',
350
+ * id : 'id3'
351
+ * }
352
+ * ]
353
+ * }
354
+ */
355
+
356
+ /**
357
+ * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container.
358
+ * @name CKEDITOR.dialog.definition.hbox.prototype.children
359
+ * @field
360
+ * @type Array
361
+ * @example
362
+ */
363
+
364
+ /**
365
+ * (Optional) The widths of child cells.
366
+ * @name CKEDITOR.dialog.definition.hbox.prototype.widths
367
+ * @field
368
+ * @type Array
369
+ * @example
370
+ */
371
+
372
+ /**
373
+ * (Optional) The height of the layout.
374
+ * @name CKEDITOR.dialog.definition.hbox.prototype.height
375
+ * @field
376
+ * @type Number
377
+ * @example
378
+ */
379
+
380
+ /**
381
+ * The CSS styles to apply to this element.
382
+ * @name CKEDITOR.dialog.definition.hbox.prototype.styles
383
+ * @field
384
+ * @type String
385
+ * @example
386
+ */
387
+
388
+ /**
389
+ * (Optional) The padding width inside child cells. Example: 0, 1.
390
+ * @name CKEDITOR.dialog.definition.hbox.prototype.padding
391
+ * @field
392
+ * @type Number
393
+ * @example
394
+ */
395
+
396
+ /**
397
+ * (Optional) The alignment of the whole layout. Example: center, top.
398
+ * @name CKEDITOR.dialog.definition.hbox.prototype.align
399
+ * @field
400
+ * @type String
401
+ * @example
402
+ */
403
+
404
+ // ----- vbox -----
405
+
406
+ /**
407
+ * Vertical layout box for dialog UI elements.
408
+ * <div class="notapi">
409
+ * This class is not really part of the API. It just illustrates the properties
410
+ * that developers can use to define and create vertical layouts.
411
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.vbox} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
412
+ * </div>
413
+ * <style type="text/css">.details .detailList {display:none;} </style>
414
+ * @name CKEDITOR.dialog.definition.vbox
415
+ * @extends CKEDITOR.dialog.definition.uiElement
416
+ * @constructor
417
+ * @example
418
+ * // There is no constructor for this class, the user just has to define an
419
+ * // object with the appropriate properties.
420
+ *
421
+ * // Example:
422
+ * {
423
+ * <b>type : 'vbox',</b>
424
+ * align : 'right',
425
+ * width : '200px',
426
+ * children :
427
+ * [
428
+ * {
429
+ * type : 'text',
430
+ * id : 'age',
431
+ * label : 'Age'
432
+ * },
433
+ * {
434
+ * type : 'text',
435
+ * id : 'sex',
436
+ * label : 'Sex'
437
+ * },
438
+ * {
439
+ * type : 'text',
440
+ * id : 'nationality',
441
+ * label : 'Nationality'
442
+ * }
443
+ * ]
444
+ * }
445
+ */
446
+
447
+ /**
448
+ * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container.
449
+ * @name CKEDITOR.dialog.definition.vbox.prototype.children
450
+ * @field
451
+ * @type Array
452
+ * @example
453
+ */
454
+
455
+ /**
456
+ * (Optional) The width of the layout.
457
+ * @name CKEDITOR.dialog.definition.vbox.prototype.width
458
+ * @field
459
+ * @type Array
460
+ * @example
461
+ */
462
+
463
+ /**
464
+ * (Optional) The heights of individual cells.
465
+ * @name CKEDITOR.dialog.definition.vbox.prototype.heights
466
+ * @field
467
+ * @type Number
468
+ * @example
469
+ */
470
+
471
+ /**
472
+ * The CSS styles to apply to this element.
473
+ * @name CKEDITOR.dialog.definition.vbox.prototype.styles
474
+ * @field
475
+ * @type String
476
+ * @example
477
+ */
478
+
479
+ /**
480
+ * (Optional) The padding width inside child cells. Example: 0, 1.
481
+ * @name CKEDITOR.dialog.definition.vbox.prototype.padding
482
+ * @field
483
+ * @type Number
484
+ * @example
485
+ */
486
+
487
+ /**
488
+ * (Optional) The alignment of the whole layout. Example: center, top.
489
+ * @name CKEDITOR.dialog.definition.vbox.prototype.align
490
+ * @field
491
+ * @type String
492
+ * @example
493
+ */
494
+
495
+ /**
496
+ * (Optional) Whether the layout should expand vertically to fill its container.
497
+ * @name CKEDITOR.dialog.definition.vbox.prototype.expand
498
+ * @field
499
+ * @type Boolean
500
+ * @example
501
+ */
502
+
503
+ // ----- labeled element ------
504
+
505
+ /**
506
+ * The definition of labeled user interface element (textarea, textInput etc).
507
+ * <div class="notapi">This class is not really part of the API. It just illustrates the properties
508
+ * that developers can use to define and create dialog UI elements.</div>
509
+ * @name CKEDITOR.dialog.definition.labeledElement
510
+ * @extends CKEDITOR.dialog.definition.uiElement
511
+ * @constructor
512
+ * @see CKEDITOR.ui.dialog.labeledElement
513
+ * @example
514
+ * // There is no constructor for this class, the user just has to define an
515
+ * // object with the appropriate properties.
516
+ */
517
+
518
+ /**
519
+ * The label of the UI element.
520
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.label
521
+ * @type String
522
+ * @field
523
+ * @example
524
+ * {
525
+ * type : 'text',
526
+ * label : 'My Label '
527
+ * }
528
+ */
529
+
530
+ /**
531
+ * (Optional) Specify the layout of the label. Set to 'horizontal' for horizontal layout.
532
+ * The default layout is vertical.
533
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.labelLayout
534
+ * @type String
535
+ * @field
536
+ * @example
537
+ * {
538
+ * type : 'text',
539
+ * label : 'My Label ',
540
+ * <strong> labelLayout : 'horizontal',</strong>
541
+ * }
542
+ */
543
+
544
+ /**
545
+ * (Optional) Applies only to horizontal layouts: a two elements array of lengths to specify the widths of the
546
+ * label and the content element. See also {@link CKEDITOR.dialog.definition.labeledElement#labelLayout}.
547
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.widths
548
+ * @type Array
549
+ * @field
550
+ * @example
551
+ * {
552
+ * type : 'text',
553
+ * label : 'My Label ',
554
+ * labelLayout : 'horizontal',
555
+ * <strong> widths : [100, 200],</strong>
556
+ * }
557
+ */
558
+
559
+ /**
560
+ * Specify the inline style of the uiElement label.
561
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.labelStyle
562
+ * @type String
563
+ * @field
564
+ * @example
565
+ * {
566
+ * type : 'text',
567
+ * label : 'My Label ',
568
+ * <strong> labelStyle : 'color: red',</strong>
569
+ * }
570
+ */
571
+
572
+
573
+ /**
574
+ * Specify the inline style of the input element.
575
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.inputStyle
576
+ * @type String
577
+ * @since 3.6.1
578
+ * @field
579
+ * @example
580
+ * {
581
+ * type : 'text',
582
+ * label : 'My Label ',
583
+ * <strong> inputStyle : 'text-align:center',</strong>
584
+ * }
585
+ */
586
+
587
+ /**
588
+ * Specify the inline style of the input element container .
589
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.controlStyle
590
+ * @type String
591
+ * @since 3.6.1
592
+ * @field
593
+ * @example
594
+ * {
595
+ * type : 'text',
596
+ * label : 'My Label ',
597
+ * <strong> controlStyle : 'width:3em',</strong>
598
+ * }
599
+ */
600
+
601
+
602
+ // ----- button ------
603
+
604
+ /**
605
+ * The definition of a button.
606
+ * <div class="notapi">
607
+ * This class is not really part of the API. It just illustrates the properties
608
+ * that developers can use to define and create buttons.
609
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.button} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
610
+ * </div>
611
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
612
+ * @name CKEDITOR.dialog.definition.button
613
+ * @extends CKEDITOR.dialog.definition.uiElement
614
+ * @constructor
615
+ * @example
616
+ * // There is no constructor for this class, the user just has to define an
617
+ * // object with the appropriate properties.
618
+ *
619
+ * // Example:
620
+ * {
621
+ * <b>type : 'button',</b>
622
+ * id : 'buttonId',
623
+ * label : 'Click me',
624
+ * title : 'My title',
625
+ * onClick : function() {
626
+ * // this = CKEDITOR.ui.dialog.button
627
+ * alert( 'Clicked: ' + this.id );
628
+ * }
629
+ * }
630
+ */
631
+
632
+ /**
633
+ * Whether the button is disabled.
634
+ * @name CKEDITOR.dialog.definition.button.prototype.disabled
635
+ * @type Boolean
636
+ * @field
637
+ * @example
638
+ */
639
+
640
+ /**
641
+ * The label of the UI element.
642
+ * @name CKEDITOR.dialog.definition.button.prototype.label
643
+ * @type String
644
+ * @field
645
+ * @example
646
+ */
647
+
648
+ // ----- checkbox ------
649
+
650
+ /**
651
+ * The definition of a checkbox element.
652
+ * <div class="notapi">
653
+ * This class is not really part of the API. It just illustrates the properties
654
+ * that developers can use to define and create groups of checkbox buttons.
655
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.checkbox} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
656
+ * </div>
657
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
658
+ * @name CKEDITOR.dialog.definition.checkbox
659
+ * @extends CKEDITOR.dialog.definition.uiElement
660
+ * @constructor
661
+ * @example
662
+ * // There is no constructor for this class, the user just has to define an
663
+ * // object with the appropriate properties.
664
+ *
665
+ * // Example:
666
+ * {
667
+ * <b>type : 'checkbox',</b>
668
+ * id : 'agree',
669
+ * label : 'I agree',
670
+ * 'default' : 'checked',
671
+ * onClick : function() {
672
+ * // this = CKEDITOR.ui.dialog.checkbox
673
+ * alert( 'Checked: ' + this.getValue() );
674
+ * }
675
+ * }
676
+ */
677
+
678
+ /**
679
+ * (Optional) The validation function.
680
+ * @name CKEDITOR.dialog.definition.checkbox.prototype.validate
681
+ * @field
682
+ * @type Function
683
+ * @example
684
+ */
685
+
686
+ /**
687
+ * The label of the UI element.
688
+ * @name CKEDITOR.dialog.definition.checkbox.prototype.label
689
+ * @type String
690
+ * @field
691
+ * @example
692
+ */
693
+
694
+ /**
695
+ * The default state.
696
+ * @name CKEDITOR.dialog.definition.checkbox.prototype.default
697
+ * @type String
698
+ * @field
699
+ * @default
700
+ * '' (unchecked)
701
+ * @example
702
+ */
703
+
704
+ // ----- file -----
705
+
706
+ /**
707
+ * The definition of a file upload input.
708
+ * <div class="notapi">
709
+ * This class is not really part of the API. It just illustrates the properties
710
+ * that developers can use to define and create file upload elements.
711
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.file} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
712
+ * </div>
713
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
714
+ * @name CKEDITOR.dialog.definition.file
715
+ * @extends CKEDITOR.dialog.definition.labeledElement
716
+ * @constructor
717
+ * @example
718
+ * // There is no constructor for this class, the user just has to define an
719
+ * // object with the appropriate properties.
720
+ *
721
+ * // Example:
722
+ * {
723
+ * <b>type : 'file'</b>,
724
+ * id : 'upload',
725
+ * label : 'Select file from your computer',
726
+ * size : 38
727
+ * },
728
+ * {
729
+ * type : 'fileButton',
730
+ * id : 'fileId',
731
+ * label : 'Upload file',
732
+ * 'for' : [ 'tab1', 'upload' ]
733
+ * filebrowser : {
734
+ * onSelect : function( fileUrl, data ) {
735
+ * alert( 'Successfully uploaded: ' + fileUrl );
736
+ * }
737
+ * }
738
+ * }
739
+ */
740
+
741
+ /**
742
+ * (Optional) The validation function.
743
+ * @name CKEDITOR.dialog.definition.file.prototype.validate
744
+ * @field
745
+ * @type Function
746
+ * @example
747
+ */
748
+
749
+ /**
750
+ * (Optional) The action attribute of the form element associated with this file upload input.
751
+ * If empty, CKEditor will use path to server connector for currently opened folder.
752
+ * @name CKEDITOR.dialog.definition.file.prototype.action
753
+ * @type String
754
+ * @field
755
+ * @example
756
+ */
757
+
758
+ /**
759
+ * The size of the UI element.
760
+ * @name CKEDITOR.dialog.definition.file.prototype.size
761
+ * @type Number
762
+ * @field
763
+ * @example
764
+ */
765
+
766
+ // ----- fileButton -----
767
+
768
+ /**
769
+ * The definition of a button for submitting the file in a file upload input.
770
+ * <div class="notapi">
771
+ * This class is not really part of the API. It just illustrates the properties
772
+ * that developers can use to define and create a button for submitting the file in a file upload input.
773
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.fileButton} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
774
+ * </div>
775
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
776
+ * @name CKEDITOR.dialog.definition.fileButton
777
+ * @extends CKEDITOR.dialog.definition.uiElement
778
+ * @constructor
779
+ * @example
780
+ * // There is no constructor for this class, the user just has to define an
781
+ * // object with the appropriate properties.
782
+ *
783
+ * // Example:
784
+ * {
785
+ * type : 'file',
786
+ * id : 'upload',
787
+ * label : 'Select file from your computer',
788
+ * size : 38
789
+ * },
790
+ * {
791
+ * <b>type : 'fileButton'</b>,
792
+ * id : 'fileId',
793
+ * label : 'Upload file',
794
+ * 'for' : [ 'tab1', 'upload' ]
795
+ * filebrowser : {
796
+ * onSelect : function( fileUrl, data ) {
797
+ * alert( 'Successfully uploaded: ' + fileUrl );
798
+ * }
799
+ * }
800
+ * }
801
+ */
802
+
803
+ /**
804
+ * (Optional) The validation function.
805
+ * @name CKEDITOR.dialog.definition.fileButton.prototype.validate
806
+ * @field
807
+ * @type Function
808
+ * @example
809
+ */
810
+
811
+ /**
812
+ * The label of the UI element.
813
+ * @name CKEDITOR.dialog.definition.fileButton.prototype.label
814
+ * @type String
815
+ * @field
816
+ * @example
817
+ */
818
+
819
+ /**
820
+ * The instruction for CKEditor how to deal with file upload.
821
+ * By default, the file and fileButton elements will not work "as expected" if this attribute is not set.
822
+ * @name CKEDITOR.dialog.definition.fileButton.prototype.filebrowser
823
+ * @type String|Object
824
+ * @field
825
+ * @example
826
+ * // Update field with id 'txtUrl' in the 'tab1' tab when file is uploaded.
827
+ * filebrowser : 'tab1:txtUrl'
828
+ *
829
+ * // Call custom onSelect function when file is successfully uploaded.
830
+ * filebrowser : {
831
+ * onSelect : function( fileUrl, data ) {
832
+ * alert( 'Successfully uploaded: ' + fileUrl );
833
+ * }
834
+ * }
835
+ */
836
+
837
+ /**
838
+ * An array that contains pageId and elementId of the file upload input element for which this button is created.
839
+ * @name CKEDITOR.dialog.definition.fileButton.prototype.for
840
+ * @type String
841
+ * @field
842
+ * @example
843
+ * [ pageId, elementId ]
844
+ */
845
+
846
+ // ----- html -----
847
+
848
+ /**
849
+ * The definition of a raw HTML element.
850
+ * <div class="notapi">
851
+ * This class is not really part of the API. It just illustrates the properties
852
+ * that developers can use to define and create elements made from raw HTML code.
853
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.html} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
854
+ * </div>
855
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.<br />
856
+ * To access HTML elements use {@link CKEDITOR.dom.document#getById}
857
+ * @name CKEDITOR.dialog.definition.html
858
+ * @extends CKEDITOR.dialog.definition.uiElement
859
+ * @constructor
860
+ * @example
861
+ * // There is no constructor for this class, the user just has to define an
862
+ * // object with the appropriate properties.
863
+ *
864
+ * // Example 1:
865
+ * {
866
+ * <b>type : 'html',</b>
867
+ * html : '&lt;h3>This is some sample HTML content.&lt;/h3>'
868
+ * }
869
+ * @example
870
+ * // Example 2:
871
+ * // Complete sample with document.getById() call when the "Ok" button is clicked.
872
+ * var dialogDefinition =
873
+ * {
874
+ * title : 'Sample dialog',
875
+ * minWidth : 300,
876
+ * minHeight : 200,
877
+ * onOk : function() {
878
+ * // "this" is now a CKEDITOR.dialog object.
879
+ * var document = this.getElement().getDocument();
880
+ * // document = CKEDITOR.dom.document
881
+ * var element = <b>document.getById( 'myDiv' );</b>
882
+ * if ( element )
883
+ * alert( element.getHtml() );
884
+ * },
885
+ * contents : [
886
+ * {
887
+ * id : 'tab1',
888
+ * label : '',
889
+ * title : '',
890
+ * elements :
891
+ * [
892
+ * {
893
+ * <b>type : 'html',</b>
894
+ * html : '<b>&lt;div id="myDiv">Sample &lt;b>text&lt;/b>.&lt;/div></b>&lt;div id="otherId">Another div.&lt;/div>'
895
+ * },
896
+ * ]
897
+ * }
898
+ * ],
899
+ * buttons : [ CKEDITOR.dialog.cancelButton, CKEDITOR.dialog.okButton ]
900
+ * };
901
+ */
902
+
903
+ /**
904
+ * (Required) HTML code of this element.
905
+ * @name CKEDITOR.dialog.definition.html.prototype.html
906
+ * @type String
907
+ * @field
908
+ * @example
909
+ */
910
+
911
+ // ----- radio ------
912
+
913
+ /**
914
+ * The definition of a radio group.
915
+ * <div class="notapi">
916
+ * This class is not really part of the API. It just illustrates the properties
917
+ * that developers can use to define and create groups of radio buttons.
918
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.radio} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
919
+ * </div>
920
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
921
+ * @name CKEDITOR.dialog.definition.radio
922
+ * @extends CKEDITOR.dialog.definition.labeledElement
923
+ * @constructor
924
+ * @example
925
+ * // There is no constructor for this class, the user just has to define an
926
+ * // object with the appropriate properties.
927
+ *
928
+ * // Example:
929
+ * {
930
+ * <b>type : 'radio',</b>
931
+ * id : 'country',
932
+ * label : 'Which country is bigger',
933
+ * items : [ [ 'France', 'FR' ], [ 'Germany', 'DE' ] ] ,
934
+ * style : 'color:green',
935
+ * 'default' : 'DE',
936
+ * onClick : function() {
937
+ * // this = CKEDITOR.ui.dialog.radio
938
+ * alert( 'Current value: ' + this.getValue() );
939
+ * }
940
+ * }
941
+ */
942
+
943
+ /**
944
+ * The default value.
945
+ * @name CKEDITOR.dialog.definition.radio.prototype.default
946
+ * @type String
947
+ * @field
948
+ * @example
949
+ */
950
+
951
+ /**
952
+ * (Optional) The validation function.
953
+ * @name CKEDITOR.dialog.definition.radio.prototype.validate
954
+ * @field
955
+ * @type Function
956
+ * @example
957
+ */
958
+
959
+ /**
960
+ * An array of options. Each option is a 1- or 2-item array of format [ 'Description', 'Value' ]. If 'Value' is missing, then the value would be assumed to be the same as the description.
961
+ * @name CKEDITOR.dialog.definition.radio.prototype.items
962
+ * @field
963
+ * @type Array
964
+ * @example
965
+ */
966
+
967
+ // ----- selectElement ------
968
+
969
+ /**
970
+ * The definition of a select element.
971
+ * <div class="notapi">
972
+ * This class is not really part of the API. It just illustrates the properties
973
+ * that developers can use to define and create select elements.
974
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.select} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
975
+ * </div>
976
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
977
+ * @name CKEDITOR.dialog.definition.select
978
+ * @extends CKEDITOR.dialog.definition.labeledElement
979
+ * @constructor
980
+ * @example
981
+ * // There is no constructor for this class, the user just has to define an
982
+ * // object with the appropriate properties.
983
+ *
984
+ * // Example:
985
+ * {
986
+ * <b>type : 'select',</b>
987
+ * id : 'sport',
988
+ * label : 'Select your favourite sport',
989
+ * items : [ [ 'Basketball' ], [ 'Baseball' ], [ 'Hockey' ], [ 'Football' ] ],
990
+ * 'default' : 'Football',
991
+ * onChange : function( api ) {
992
+ * // this = CKEDITOR.ui.dialog.select
993
+ * alert( 'Current value: ' + this.getValue() );
994
+ * }
995
+ * }
996
+ */
997
+
998
+ /**
999
+ * The default value.
1000
+ * @name CKEDITOR.dialog.definition.select.prototype.default
1001
+ * @type String
1002
+ * @field
1003
+ * @example
1004
+ */
1005
+
1006
+ /**
1007
+ * (Optional) The validation function.
1008
+ * @name CKEDITOR.dialog.definition.select.prototype.validate
1009
+ * @field
1010
+ * @type Function
1011
+ * @example
1012
+ */
1013
+
1014
+ /**
1015
+ * An array of options. Each option is a 1- or 2-item array of format [ 'Description', 'Value' ]. If 'Value' is missing, then the value would be assumed to be the same as the description.
1016
+ * @name CKEDITOR.dialog.definition.select.prototype.items
1017
+ * @field
1018
+ * @type Array
1019
+ * @example
1020
+ */
1021
+
1022
+ /**
1023
+ * (Optional) Set this to true if you'd like to have a multiple-choice select box.
1024
+ * @name CKEDITOR.dialog.definition.select.prototype.multiple
1025
+ * @type Boolean
1026
+ * @field
1027
+ * @example
1028
+ * @default false
1029
+ */
1030
+
1031
+ /**
1032
+ * (Optional) The number of items to display in the select box.
1033
+ * @name CKEDITOR.dialog.definition.select.prototype.size
1034
+ * @type Number
1035
+ * @field
1036
+ * @example
1037
+ */
1038
+
1039
+ // ----- textInput -----
1040
+
1041
+ /**
1042
+ * The definition of a text field (single line).
1043
+ * <div class="notapi">
1044
+ * This class is not really part of the API. It just illustrates the properties
1045
+ * that developers can use to define and create text fields.
1046
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.textInput} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
1047
+ * </div>
1048
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
1049
+ * @name CKEDITOR.dialog.definition.textInput
1050
+ * @extends CKEDITOR.dialog.definition.labeledElement
1051
+ * @constructor
1052
+ * @example
1053
+ * // There is no constructor for this class, the user just has to define an
1054
+ * // object with the appropriate properties.
1055
+ *
1056
+ * {
1057
+ * <b>type : 'text',</b>
1058
+ * id : 'name',
1059
+ * label : 'Your name',
1060
+ * 'default' : '',
1061
+ * validate : function() {
1062
+ * if ( !this.getValue() )
1063
+ * {
1064
+ * api.openMsgDialog( '', 'Name cannot be empty.' );
1065
+ * return false;
1066
+ * }
1067
+ * }
1068
+ * }
1069
+ */
1070
+
1071
+ /**
1072
+ * The default value.
1073
+ * @name CKEDITOR.dialog.definition.textInput.prototype.default
1074
+ * @type String
1075
+ * @field
1076
+ * @example
1077
+ */
1078
+
1079
+ /**
1080
+ * (Optional) The maximum length.
1081
+ * @name CKEDITOR.dialog.definition.textInput.prototype.maxLength
1082
+ * @type Number
1083
+ * @field
1084
+ * @example
1085
+ */
1086
+
1087
+ /**
1088
+ * (Optional) The size of the input field.
1089
+ * @name CKEDITOR.dialog.definition.textInput.prototype.size
1090
+ * @type Number
1091
+ * @field
1092
+ * @example
1093
+ */
1094
+
1095
+ /**
1096
+ * (Optional) The validation function.
1097
+ * @name CKEDITOR.dialog.definition.textInput.prototype.validate
1098
+ * @field
1099
+ * @type Function
1100
+ * @example
1101
+ */
1102
+
1103
+ // ----- textarea ------
1104
+
1105
+ /**
1106
+ * The definition of a text field (multiple lines).
1107
+ * <div class="notapi">
1108
+ * This class is not really part of the API. It just illustrates the properties
1109
+ * that developers can use to define and create textarea.
1110
+ * <br /><br />Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.textarea} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}.
1111
+ * </div>
1112
+ * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
1113
+ * @name CKEDITOR.dialog.definition.textarea
1114
+ * @extends CKEDITOR.dialog.definition.labeledElement
1115
+ * @constructor
1116
+ * @example
1117
+ * // There is no constructor for this class, the user just has to define an
1118
+ * // object with the appropriate properties.
1119
+ *
1120
+ * // Example:
1121
+ * {
1122
+ * <b>type : 'textarea',</b>
1123
+ * id : 'message',
1124
+ * label : 'Your comment',
1125
+ * 'default' : '',
1126
+ * validate : function() {
1127
+ * if ( this.getValue().length < 5 )
1128
+ * {
1129
+ * api.openMsgDialog( 'The comment is too short.' );
1130
+ * return false;
1131
+ * }
1132
+ * }
1133
+ * }
1134
+ */
1135
+
1136
+ /**
1137
+ * The number of rows.
1138
+ * @name CKEDITOR.dialog.definition.textarea.prototype.rows
1139
+ * @type Number
1140
+ * @field
1141
+ * @example
1142
+ */
1143
+
1144
+ /**
1145
+ * The number of columns.
1146
+ * @name CKEDITOR.dialog.definition.textarea.prototype.cols
1147
+ * @type Number
1148
+ * @field
1149
+ * @example
1150
+ */
1151
+
1152
+ /**
1153
+ * (Optional) The validation function.
1154
+ * @name CKEDITOR.dialog.definition.textarea.prototype.validate
1155
+ * @field
1156
+ * @type Function
1157
+ * @example
1158
+ */
1159
+
1160
+ /**
1161
+ * The default value.
1162
+ * @name CKEDITOR.dialog.definition.textarea.prototype.default
1163
+ * @type String
1164
+ * @field
1165
+ * @example
1166
+ */