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,152 @@
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 {@link CKEDITOR.focusManager} class, which is used
8
+ * to handle the focus on editor instances..
9
+ */
10
+
11
+ /**
12
+ * Creates a focusManager class instance.
13
+ * @class Manages the focus activity in an editor instance. This class is to be
14
+ * used mainly by UI elements coders when adding interface elements that need
15
+ * to set the focus state of the editor.
16
+ * @param {CKEDITOR.editor} editor The editor instance.
17
+ * @example
18
+ * var focusManager = <b>new CKEDITOR.focusManager( editor )</b>;
19
+ * focusManager.focus();
20
+ */
21
+ CKEDITOR.focusManager = function( editor )
22
+ {
23
+ if ( editor.focusManager )
24
+ return editor.focusManager;
25
+
26
+ /**
27
+ * Indicates that the editor instance has focus.
28
+ * @type Boolean
29
+ * @example
30
+ * alert( CKEDITOR.instances.editor1.focusManager.hasFocus ); // e.g "true"
31
+ */
32
+ this.hasFocus = false;
33
+
34
+ /**
35
+ * Object used to hold private stuff.
36
+ * @private
37
+ */
38
+ this._ =
39
+ {
40
+ editor : editor
41
+ };
42
+
43
+ return this;
44
+ };
45
+
46
+ CKEDITOR.focusManager.prototype =
47
+ {
48
+ /**
49
+ * Used to indicate that the editor instance has the focus.<br />
50
+ * <br />
51
+ * Note that this function will not explicitelly set the focus in the
52
+ * editor (for example, making the caret blinking on it). Use
53
+ * {@link CKEDITOR.editor#focus} for it instead.
54
+ * @example
55
+ * var editor = CKEDITOR.instances.editor1;
56
+ * <b>editor.focusManager.focus()</b>;
57
+ */
58
+ focus : function()
59
+ {
60
+ if ( this._.timer )
61
+ clearTimeout( this._.timer );
62
+
63
+ if ( !this.hasFocus )
64
+ {
65
+ // If another editor has the current focus, we first "blur" it. In
66
+ // this way the events happen in a more logical sequence, like:
67
+ // "focus 1" > "blur 1" > "focus 2"
68
+ // ... instead of:
69
+ // "focus 1" > "focus 2" > "blur 1"
70
+ if ( CKEDITOR.currentInstance )
71
+ CKEDITOR.currentInstance.focusManager.forceBlur();
72
+
73
+ var editor = this._.editor;
74
+
75
+ editor.container.getChild( 1 ).addClass( 'cke_focus' );
76
+
77
+ this.hasFocus = true;
78
+ editor.fire( 'focus' );
79
+ }
80
+ },
81
+
82
+ /**
83
+ * Used to indicate that the editor instance has lost the focus.<br />
84
+ * <br />
85
+ * Note that this functions acts asynchronously with a delay of 100ms to
86
+ * avoid subsequent blur/focus effects. If you want the "blur" to happen
87
+ * immediately, use the {@link #forceBlur} function instead.
88
+ * @example
89
+ * var editor = CKEDITOR.instances.editor1;
90
+ * <b>editor.focusManager.blur()</b>;
91
+ */
92
+ blur : function()
93
+ {
94
+ var focusManager = this;
95
+
96
+ if ( focusManager._.timer )
97
+ clearTimeout( focusManager._.timer );
98
+
99
+ focusManager._.timer = setTimeout(
100
+ function()
101
+ {
102
+ delete focusManager._.timer;
103
+ focusManager.forceBlur();
104
+ }
105
+ , 100 );
106
+ },
107
+
108
+ /**
109
+ * Used to indicate that the editor instance has lost the focus. Unlike
110
+ * {@link #blur}, this function is synchronous, marking the instance as
111
+ * "blured" immediately.
112
+ * @example
113
+ * var editor = CKEDITOR.instances.editor1;
114
+ * <b>editor.focusManager.forceBlur()</b>;
115
+ */
116
+ forceBlur : function()
117
+ {
118
+ if ( this.hasFocus )
119
+ {
120
+ var editor = this._.editor;
121
+
122
+ editor.container.getChild( 1 ).removeClass( 'cke_focus' );
123
+
124
+ this.hasFocus = false;
125
+ editor.fire( 'blur' );
126
+ }
127
+ }
128
+ };
129
+
130
+ /**
131
+ * Fired when the editor instance receives the input focus.
132
+ * @name CKEDITOR.editor#focus
133
+ * @event
134
+ * @param {CKEDITOR.editor} editor The editor instance.
135
+ * @example
136
+ * editor.on( 'focus', function( e )
137
+ * {
138
+ * alert( 'The editor named ' + e.editor.name + ' is now focused' );
139
+ * });
140
+ */
141
+
142
+ /**
143
+ * Fired when the editor instance loses the input focus.
144
+ * @name CKEDITOR.editor#blur
145
+ * @event
146
+ * @param {CKEDITOR.editor} editor The editor instance.
147
+ * @example
148
+ * editor.on( 'blur', function( e )
149
+ * {
150
+ * alert( 'The editor named ' + e.editor.name + ' lost the focus' );
151
+ * });
152
+ */
@@ -0,0 +1,145 @@
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.htmlParser.basicWriter = CKEDITOR.tools.createClass(
7
+ {
8
+ $ : function()
9
+ {
10
+ this._ =
11
+ {
12
+ output : []
13
+ };
14
+ },
15
+
16
+ proto :
17
+ {
18
+ /**
19
+ * Writes the tag opening part for a opener tag.
20
+ * @param {String} tagName The element name for this tag.
21
+ * @param {Object} attributes The attributes defined for this tag. The
22
+ * attributes could be used to inspect the tag.
23
+ * @example
24
+ * // Writes "&lt;p".
25
+ * writer.openTag( 'p', { class : 'MyClass', id : 'MyId' } );
26
+ */
27
+ openTag : function( tagName, attributes )
28
+ {
29
+ this._.output.push( '<', tagName );
30
+ },
31
+
32
+ /**
33
+ * Writes the tag closing part for a opener tag.
34
+ * @param {String} tagName The element name for this tag.
35
+ * @param {Boolean} isSelfClose Indicates that this is a self-closing tag,
36
+ * like "br" or "img".
37
+ * @example
38
+ * // Writes "&gt;".
39
+ * writer.openTagClose( 'p', false );
40
+ * @example
41
+ * // Writes " /&gt;".
42
+ * writer.openTagClose( 'br', true );
43
+ */
44
+ openTagClose : function( tagName, isSelfClose )
45
+ {
46
+ if ( isSelfClose )
47
+ this._.output.push( ' />' );
48
+ else
49
+ this._.output.push( '>' );
50
+ },
51
+
52
+ /**
53
+ * Writes an attribute. This function should be called after opening the
54
+ * tag with {@link #openTagClose}.
55
+ * @param {String} attName The attribute name.
56
+ * @param {String} attValue The attribute value.
57
+ * @example
58
+ * // Writes ' class="MyClass"'.
59
+ * writer.attribute( 'class', 'MyClass' );
60
+ */
61
+ attribute : function( attName, attValue )
62
+ {
63
+ // Browsers don't always escape special character in attribute values. (#4683, #4719).
64
+ if ( typeof attValue == 'string' )
65
+ attValue = CKEDITOR.tools.htmlEncodeAttr( attValue );
66
+
67
+ this._.output.push( ' ', attName, '="', attValue, '"' );
68
+ },
69
+
70
+ /**
71
+ * Writes a closer tag.
72
+ * @param {String} tagName The element name for this tag.
73
+ * @example
74
+ * // Writes "&lt;/p&gt;".
75
+ * writer.closeTag( 'p' );
76
+ */
77
+ closeTag : function( tagName )
78
+ {
79
+ this._.output.push( '</', tagName, '>' );
80
+ },
81
+
82
+ /**
83
+ * Writes text.
84
+ * @param {String} text The text value
85
+ * @example
86
+ * // Writes "Hello Word".
87
+ * writer.text( 'Hello Word' );
88
+ */
89
+ text : function( text )
90
+ {
91
+ this._.output.push( text );
92
+ },
93
+
94
+ /**
95
+ * Writes a comment.
96
+ * @param {String} comment The comment text.
97
+ * @example
98
+ * // Writes "&lt;!-- My comment --&gt;".
99
+ * writer.comment( ' My comment ' );
100
+ */
101
+ comment : function( comment )
102
+ {
103
+ this._.output.push( '<!--', comment, '-->' );
104
+ },
105
+
106
+ /**
107
+ * Writes any kind of data to the ouput.
108
+ * @example
109
+ * writer.write( 'This is an &lt;b&gt;example&lt;/b&gt;.' );
110
+ */
111
+ write : function( data )
112
+ {
113
+ this._.output.push( data );
114
+ },
115
+
116
+ /**
117
+ * Empties the current output buffer.
118
+ * @example
119
+ * writer.reset();
120
+ */
121
+ reset : function()
122
+ {
123
+ this._.output = [];
124
+ this._.indent = false;
125
+ },
126
+
127
+ /**
128
+ * Empties the current output buffer.
129
+ * @param {Boolean} reset Indicates that the {@link reset} function is to
130
+ * be automatically called after retrieving the HTML.
131
+ * @returns {String} The HTML written to the writer so far.
132
+ * @example
133
+ * var html = writer.getHtml();
134
+ */
135
+ getHtml : function( reset )
136
+ {
137
+ var html = this._.output.join( '' );
138
+
139
+ if ( reset )
140
+ this.reset();
141
+
142
+ return html;
143
+ }
144
+ }
145
+ });
@@ -0,0 +1,43 @@
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
+
9
+ /**
10
+ * A lightweight representation of HTML text.
11
+ * @constructor
12
+ * @example
13
+ */
14
+ CKEDITOR.htmlParser.cdata = function( value )
15
+ {
16
+ /**
17
+ * The CDATA value.
18
+ * @type String
19
+ * @example
20
+ */
21
+ this.value = value;
22
+ };
23
+
24
+ CKEDITOR.htmlParser.cdata.prototype =
25
+ {
26
+ /**
27
+ * CDATA has the same type as {@link CKEDITOR.htmlParser.text} This is
28
+ * a constant value set to {@link CKEDITOR.NODE_TEXT}.
29
+ * @type Number
30
+ * @example
31
+ */
32
+ type : CKEDITOR.NODE_TEXT,
33
+
34
+ /**
35
+ * Writes write the CDATA with no special manipulations.
36
+ * @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
37
+ */
38
+ writeHtml : function( writer )
39
+ {
40
+ writer.write( this.value );
41
+ }
42
+ };
43
+ })();
@@ -0,0 +1,60 @@
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
+ * A lightweight representation of an HTML comment.
8
+ * @constructor
9
+ * @example
10
+ */
11
+ CKEDITOR.htmlParser.comment = function( value )
12
+ {
13
+ /**
14
+ * The comment text.
15
+ * @type String
16
+ * @example
17
+ */
18
+ this.value = value;
19
+
20
+ /** @private */
21
+ this._ =
22
+ {
23
+ isBlockLike : false
24
+ };
25
+ };
26
+
27
+ CKEDITOR.htmlParser.comment.prototype =
28
+ {
29
+ /**
30
+ * The node type. This is a constant value set to {@link CKEDITOR.NODE_COMMENT}.
31
+ * @type Number
32
+ * @example
33
+ */
34
+ type : CKEDITOR.NODE_COMMENT,
35
+
36
+ /**
37
+ * Writes the HTML representation of this comment to a CKEDITOR.htmlWriter.
38
+ * @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
39
+ * @example
40
+ */
41
+ writeHtml : function( writer, filter )
42
+ {
43
+ var comment = this.value;
44
+
45
+ if ( filter )
46
+ {
47
+ if ( !( comment = filter.onComment( comment, this ) ) )
48
+ return;
49
+
50
+ if ( typeof comment != 'string' )
51
+ {
52
+ comment.parent = this.parent;
53
+ comment.writeHtml( writer, filter );
54
+ return;
55
+ }
56
+ }
57
+
58
+ writer.comment( comment );
59
+ }
60
+ };
@@ -0,0 +1,308 @@
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
+ * A lightweight representation of an HTML element.
8
+ * @param {String} name The element name.
9
+ * @param {Object} attributes And object holding all attributes defined for
10
+ * this element.
11
+ * @constructor
12
+ * @example
13
+ */
14
+ CKEDITOR.htmlParser.element = function( name, attributes )
15
+ {
16
+ /**
17
+ * The element name.
18
+ * @type String
19
+ * @example
20
+ */
21
+ this.name = name;
22
+
23
+ /**
24
+ * Holds the attributes defined for this element.
25
+ * @type Object
26
+ * @example
27
+ */
28
+ this.attributes = attributes || ( attributes = {} );
29
+
30
+ /**
31
+ * The nodes that are direct children of this element.
32
+ * @type Array
33
+ * @example
34
+ */
35
+ this.children = [];
36
+
37
+ var tagName = attributes[ 'data-cke-real-element-type' ] || name || '';
38
+
39
+ // Reveal the real semantic of our internal custom tag name (#6639).
40
+ var internalTag = tagName.match( /^cke:(.*)/ );
41
+ internalTag && ( tagName = internalTag[ 1 ] );
42
+
43
+ var dtd = CKEDITOR.dtd,
44
+ isBlockLike = !!( dtd.$nonBodyContent[ tagName ]
45
+ || dtd.$block[ tagName ]
46
+ || dtd.$listItem[ tagName ]
47
+ || dtd.$tableContent[ tagName ]
48
+ || dtd.$nonEditable[ tagName ]
49
+ || tagName == 'br' ),
50
+ isEmpty = !!dtd.$empty[ name ];
51
+
52
+ this.isEmpty = isEmpty;
53
+ this.isUnknown = !dtd[ name ];
54
+
55
+ /** @private */
56
+ this._ =
57
+ {
58
+ isBlockLike : isBlockLike,
59
+ hasInlineStarted : isEmpty || !isBlockLike
60
+ };
61
+ };
62
+
63
+ /**
64
+ * Object presentation of CSS style declaration text.
65
+ * @param {CKEDITOR.htmlParser.element|String} elementOrStyleText A html parser element or the inline style text.
66
+ */
67
+ CKEDITOR.htmlParser.cssStyle = function()
68
+ {
69
+ var styleText,
70
+ arg = arguments[ 0 ],
71
+ rules = {};
72
+
73
+ styleText = arg instanceof CKEDITOR.htmlParser.element ? arg.attributes.style : arg;
74
+
75
+ // html-encoded quote might be introduced by 'font-family'
76
+ // from MS-Word which confused the following regexp. e.g.
77
+ //'font-family: &quot;Lucida, Console&quot;'
78
+ ( styleText || '' )
79
+ .replace( /&quot;/g, '"' )
80
+ .replace( /\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,
81
+ function( match, name, value )
82
+ {
83
+ name == 'font-family' && ( value = value.replace( /["']/g, '' ) );
84
+ rules[ name.toLowerCase() ] = value;
85
+ });
86
+
87
+ return {
88
+
89
+ rules : rules,
90
+
91
+ /**
92
+ * Apply the styles onto the specified element or object.
93
+ * @param {CKEDITOR.htmlParser.element|CKEDITOR.dom.element|Object} obj
94
+ */
95
+ populate : function( obj )
96
+ {
97
+ var style = this.toString();
98
+ if ( style )
99
+ {
100
+ obj instanceof CKEDITOR.dom.element ?
101
+ obj.setAttribute( 'style', style ) :
102
+ obj instanceof CKEDITOR.htmlParser.element ?
103
+ obj.attributes.style = style :
104
+ obj.style = style;
105
+ }
106
+ },
107
+
108
+ toString : function()
109
+ {
110
+ var output = [];
111
+ for ( var i in rules )
112
+ rules[ i ] && output.push( i, ':', rules[ i ], ';' );
113
+ return output.join( '' );
114
+ }
115
+ };
116
+ };
117
+
118
+ (function()
119
+ {
120
+ // Used to sort attribute entries in an array, where the first element of
121
+ // each object is the attribute name.
122
+ var sortAttribs = function( a, b )
123
+ {
124
+ a = a[0];
125
+ b = b[0];
126
+ return a < b ? -1 : a > b ? 1 : 0;
127
+ };
128
+
129
+ CKEDITOR.htmlParser.element.prototype =
130
+ {
131
+ /**
132
+ * The node type. This is a constant value set to {@link CKEDITOR.NODE_ELEMENT}.
133
+ * @type Number
134
+ * @example
135
+ */
136
+ type : CKEDITOR.NODE_ELEMENT,
137
+
138
+ /**
139
+ * Adds a node to the element children list.
140
+ * @param {Object} node The node to be added. It can be any of of the
141
+ * following types: {@link CKEDITOR.htmlParser.element},
142
+ * {@link CKEDITOR.htmlParser.text} and
143
+ * {@link CKEDITOR.htmlParser.comment}.
144
+ * @function
145
+ * @example
146
+ */
147
+ add : CKEDITOR.htmlParser.fragment.prototype.add,
148
+
149
+ /**
150
+ * Clone this element.
151
+ * @returns {CKEDITOR.htmlParser.element} The element clone.
152
+ * @example
153
+ */
154
+ clone : function()
155
+ {
156
+ return new CKEDITOR.htmlParser.element( this.name, this.attributes );
157
+ },
158
+
159
+ /**
160
+ * Writes the element HTML to a CKEDITOR.htmlWriter.
161
+ * @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
162
+ * @example
163
+ */
164
+ writeHtml : function( writer, filter )
165
+ {
166
+ var attributes = this.attributes;
167
+
168
+ // Ignore cke: prefixes when writing HTML.
169
+ var element = this,
170
+ writeName = element.name,
171
+ a, newAttrName, value;
172
+
173
+ var isChildrenFiltered;
174
+
175
+ /**
176
+ * Providing an option for bottom-up filtering order ( element
177
+ * children to be pre-filtered before the element itself ).
178
+ */
179
+ element.filterChildren = function()
180
+ {
181
+ if ( !isChildrenFiltered )
182
+ {
183
+ var writer = new CKEDITOR.htmlParser.basicWriter();
184
+ CKEDITOR.htmlParser.fragment.prototype.writeChildrenHtml.call( element, writer, filter );
185
+ element.children = new CKEDITOR.htmlParser.fragment.fromHtml( writer.getHtml(), 0, element.clone() ).children;
186
+ isChildrenFiltered = 1;
187
+ }
188
+ };
189
+
190
+ if ( filter )
191
+ {
192
+ while ( true )
193
+ {
194
+ if ( !( writeName = filter.onElementName( writeName ) ) )
195
+ return;
196
+
197
+ element.name = writeName;
198
+
199
+ if ( !( element = filter.onElement( element ) ) )
200
+ return;
201
+
202
+ element.parent = this.parent;
203
+
204
+ if ( element.name == writeName )
205
+ break;
206
+
207
+ // If the element has been replaced with something of a
208
+ // different type, then make the replacement write itself.
209
+ if ( element.type != CKEDITOR.NODE_ELEMENT )
210
+ {
211
+ element.writeHtml( writer, filter );
212
+ return;
213
+ }
214
+
215
+ writeName = element.name;
216
+
217
+ // This indicate that the element has been dropped by
218
+ // filter but not the children.
219
+ if ( !writeName )
220
+ {
221
+ // Fix broken parent refs.
222
+ for ( var c = 0, length = this.children.length ; c < length ; c++ )
223
+ this.children[ c ].parent = element.parent;
224
+
225
+ this.writeChildrenHtml.call( element, writer, isChildrenFiltered ? null : filter );
226
+ return;
227
+ }
228
+ }
229
+
230
+ // The element may have been changed, so update the local
231
+ // references.
232
+ attributes = element.attributes;
233
+ }
234
+
235
+ // Open element tag.
236
+ writer.openTag( writeName, attributes );
237
+
238
+ // Copy all attributes to an array.
239
+ var attribsArray = [];
240
+ // Iterate over the attributes twice since filters may alter
241
+ // other attributes.
242
+ for ( var i = 0 ; i < 2; i++ )
243
+ {
244
+ for ( a in attributes )
245
+ {
246
+ newAttrName = a;
247
+ value = attributes[ a ];
248
+ if ( i == 1 )
249
+ attribsArray.push( [ a, value ] );
250
+ else if ( filter )
251
+ {
252
+ while ( true )
253
+ {
254
+ if ( !( newAttrName = filter.onAttributeName( a ) ) )
255
+ {
256
+ delete attributes[ a ];
257
+ break;
258
+ }
259
+ else if ( newAttrName != a )
260
+ {
261
+ delete attributes[ a ];
262
+ a = newAttrName;
263
+ continue;
264
+ }
265
+ else
266
+ break;
267
+ }
268
+ if ( newAttrName )
269
+ {
270
+ if ( ( value = filter.onAttribute( element, newAttrName, value ) ) === false )
271
+ delete attributes[ newAttrName ];
272
+ else
273
+ attributes [ newAttrName ] = value;
274
+ }
275
+ }
276
+ }
277
+ }
278
+ // Sort the attributes by name.
279
+ if ( writer.sortAttributes )
280
+ attribsArray.sort( sortAttribs );
281
+
282
+ // Send the attributes.
283
+ var len = attribsArray.length;
284
+ for ( i = 0 ; i < len ; i++ )
285
+ {
286
+ var attrib = attribsArray[ i ];
287
+ writer.attribute( attrib[0], attrib[1] );
288
+ }
289
+
290
+ // Close the tag.
291
+ writer.openTagClose( writeName, element.isEmpty );
292
+
293
+ if ( !element.isEmpty )
294
+ {
295
+ this.writeChildrenHtml.call( element, writer, isChildrenFiltered ? null : filter );
296
+ // Close the element.
297
+ writer.closeTag( writeName );
298
+ }
299
+ },
300
+
301
+ writeChildrenHtml : function( writer, filter )
302
+ {
303
+ // Send children.
304
+ CKEDITOR.htmlParser.fragment.prototype.writeChildrenHtml.apply( this, arguments );
305
+
306
+ }
307
+ };
308
+ })();