esp-ckeditor 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ })();