locomotive-aloha-rails 0.20.1.5 → 0.23.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1280) hide show
  1. data/README.md +4 -4
  2. data/Rakefile +15 -6
  3. data/app/assets/javascripts/aloha.js +1 -0
  4. data/lib/aloha/rails/engine.rb +1 -1
  5. data/lib/aloha/rails/version.rb +2 -2
  6. data/vendor/assets/javascripts/aloha/css/aloha-common-extra.css +24 -0
  7. data/vendor/assets/javascripts/aloha/css/aloha-core.css +4 -29
  8. data/vendor/assets/javascripts/aloha/css/aloha-reset.css +24 -0
  9. data/vendor/assets/javascripts/aloha/css/aloha-sidebar.css +77 -89
  10. data/vendor/assets/javascripts/aloha/css/aloha.css +31 -7777
  11. data/vendor/assets/javascripts/aloha/img/arrow-down.png +0 -0
  12. data/vendor/assets/javascripts/aloha/img/arrow-left.png +0 -0
  13. data/vendor/assets/javascripts/aloha/img/arrow.png +0 -0
  14. data/vendor/assets/javascripts/aloha/img/base-multi.png +0 -0
  15. data/vendor/assets/javascripts/aloha/img/base.png +0 -0
  16. data/vendor/assets/javascripts/aloha/img/bg.png +0 -0
  17. data/vendor/assets/javascripts/aloha/img/breadcrumb-divider.png +0 -0
  18. data/vendor/assets/javascripts/aloha/img/gentics-logo.png +0 -0
  19. data/vendor/assets/javascripts/aloha/img/grabhandle.png +0 -0
  20. data/vendor/assets/javascripts/aloha/img/maximize.png +0 -0
  21. data/vendor/assets/javascripts/aloha/img/multisplit-base.jpg +0 -0
  22. data/vendor/assets/javascripts/aloha/img/multisplit-close.gif +0 -0
  23. data/vendor/assets/javascripts/aloha/img/multisplit-open.gif +0 -0
  24. data/vendor/assets/javascripts/aloha/img/pin.png +0 -0
  25. data/vendor/assets/javascripts/aloha/img/removeformat.png +0 -0
  26. data/vendor/assets/javascripts/aloha/img/text_indent.png +0 -0
  27. data/vendor/assets/javascripts/aloha/img/text_indent_remove.png +0 -0
  28. data/vendor/assets/javascripts/aloha/lib/aloha-jquery-noconflict.js +12 -0
  29. data/vendor/assets/javascripts/aloha/lib/aloha.js +532 -89342
  30. data/vendor/assets/javascripts/aloha/lib/aloha/block-jump.js +153 -0
  31. data/vendor/assets/javascripts/aloha/lib/aloha/command.js +161 -123
  32. data/vendor/assets/javascripts/aloha/lib/aloha/console.js +312 -295
  33. data/vendor/assets/javascripts/aloha/lib/aloha/contenthandlermanager.js +82 -44
  34. data/vendor/assets/javascripts/aloha/lib/aloha/copypaste.js +108 -0
  35. data/vendor/assets/javascripts/aloha/lib/aloha/core.js +453 -410
  36. data/vendor/assets/javascripts/aloha/lib/aloha/ecma5shims.js +307 -277
  37. data/vendor/assets/javascripts/aloha/lib/aloha/editable.js +548 -408
  38. data/vendor/assets/javascripts/aloha/lib/aloha/engine.js +7359 -7182
  39. data/vendor/assets/javascripts/aloha/lib/aloha/ephemera.js +485 -0
  40. data/vendor/assets/javascripts/aloha/lib/aloha/ierange-m2.js +28 -545
  41. data/vendor/assets/javascripts/aloha/lib/aloha/jquery.aloha.js +364 -146
  42. data/vendor/assets/javascripts/aloha/lib/aloha/markup.js +1272 -1255
  43. data/vendor/assets/javascripts/aloha/lib/aloha/nls/ca/i18n.js +11 -0
  44. data/vendor/assets/javascripts/aloha/lib/aloha/nls/de/i18n.js +11 -10
  45. data/vendor/assets/javascripts/aloha/lib/aloha/nls/i18n.js +19 -19
  46. data/vendor/assets/javascripts/aloha/lib/aloha/nls/mk/i18n.js +11 -0
  47. data/vendor/assets/javascripts/aloha/lib/aloha/nls/pt-br/i18n.js +11 -0
  48. data/vendor/assets/javascripts/aloha/lib/aloha/nls/ru/i18n.js +11 -0
  49. data/vendor/assets/javascripts/aloha/lib/aloha/nls/uk/i18n.js +11 -0
  50. data/vendor/assets/javascripts/aloha/lib/aloha/nls/zh-hans/i18n.js +11 -0
  51. data/vendor/assets/javascripts/aloha/lib/aloha/observable.js +43 -36
  52. data/vendor/assets/javascripts/aloha/lib/aloha/plugin.js +80 -75
  53. data/vendor/assets/javascripts/aloha/lib/aloha/pluginmanager.js +146 -97
  54. data/vendor/assets/javascripts/aloha/lib/aloha/rangy-core.js +30 -3242
  55. data/vendor/assets/javascripts/aloha/lib/aloha/registry.js +102 -24
  56. data/vendor/assets/javascripts/aloha/lib/aloha/repository.js +137 -123
  57. data/vendor/assets/javascripts/aloha/lib/aloha/repositorymanager.js +742 -571
  58. data/vendor/assets/javascripts/aloha/lib/aloha/repositoryobjects.js +77 -61
  59. data/vendor/assets/javascripts/aloha/lib/aloha/selection.js +2402 -2102
  60. data/vendor/assets/javascripts/aloha/lib/aloha/sidebar.js +566 -664
  61. data/vendor/assets/javascripts/aloha/lib/aloha/state-override.js +125 -0
  62. data/vendor/assets/javascripts/aloha/lib/css.js +329 -187
  63. data/vendor/assets/javascripts/aloha/lib/i18n.js +118 -79
  64. data/vendor/assets/javascripts/aloha/lib/require.js +1424 -1384
  65. data/vendor/assets/javascripts/aloha/lib/text.js +39 -13
  66. data/vendor/assets/javascripts/aloha/lib/util/arrays.js +240 -0
  67. data/vendor/assets/javascripts/aloha/lib/util/browser.js +32 -0
  68. data/vendor/assets/javascripts/aloha/lib/util/class.js +67 -69
  69. data/vendor/assets/javascripts/aloha/lib/util/dom.js +1525 -1504
  70. data/vendor/assets/javascripts/aloha/lib/util/dom2.js +748 -0
  71. data/vendor/assets/javascripts/aloha/lib/util/functions.js +62 -0
  72. data/vendor/assets/javascripts/aloha/lib/util/html.js +121 -0
  73. data/vendor/assets/javascripts/aloha/lib/util/json2.js +240 -257
  74. data/vendor/assets/javascripts/aloha/lib/util/keys.js +65 -0
  75. data/vendor/assets/javascripts/aloha/lib/util/lang.js +89 -66
  76. data/vendor/assets/javascripts/aloha/lib/util/maps.js +108 -0
  77. data/vendor/assets/javascripts/aloha/lib/util/misc.js +51 -0
  78. data/vendor/assets/javascripts/aloha/lib/util/position.js +176 -158
  79. data/vendor/assets/javascripts/aloha/lib/util/range-context.js +528 -0
  80. data/vendor/assets/javascripts/aloha/lib/util/range.js +799 -805
  81. data/vendor/assets/javascripts/aloha/lib/util/strings.js +114 -0
  82. data/vendor/assets/javascripts/aloha/lib/util/trees.js +336 -0
  83. data/vendor/assets/javascripts/aloha/lib/vendor/3rdparty.txt +70 -0
  84. data/vendor/assets/javascripts/aloha/lib/vendor/amplify.store.js +298 -0
  85. data/vendor/assets/javascripts/aloha/lib/vendor/class.js +76 -0
  86. data/vendor/assets/javascripts/aloha/{plugins/extra/browser → lib}/vendor/grid.locale.de.js +138 -139
  87. data/vendor/assets/javascripts/aloha/{plugins/extra/browser → lib}/vendor/grid.locale.en.js +43 -44
  88. data/vendor/assets/javascripts/aloha/lib/vendor/ierange-m2.js +508 -0
  89. data/vendor/assets/javascripts/aloha/lib/vendor/{jquery-1.6.1.js → jquery-1.7.2.js} +2553 -2068
  90. data/vendor/assets/javascripts/aloha/lib/vendor/jquery-ui-1.9.0.custom-aloha.js +14711 -0
  91. data/vendor/assets/javascripts/aloha/{plugins/extra/browser/vendor/jquery.jqGrid.js → lib/vendor/jquery.jqgrid.js} +5 -3
  92. data/vendor/assets/javascripts/aloha/{plugins/extra/browser → lib}/vendor/jquery.jstree.js +4 -4
  93. data/vendor/assets/javascripts/aloha/lib/vendor/jquery.layout-1.3.0-rc30.7.js +5924 -0
  94. data/vendor/assets/javascripts/aloha/lib/vendor/pubsub/js/pubsub-unminified.js +187 -0
  95. data/vendor/assets/javascripts/aloha/lib/vendor/pubsub/js/pubsub.js +2 -0
  96. data/vendor/assets/javascripts/aloha/lib/vendor/rangy-core.js +3295 -0
  97. data/vendor/assets/javascripts/aloha/{plugins/extra/browser → lib/vendor/repository-browser}/css/jstree.css +0 -0
  98. data/vendor/assets/javascripts/aloha/{plugins/extra/browser/css/browsercombined.css → lib/vendor/repository-browser/css/repository-browser.css} +64 -60
  99. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/arrow-000-medium.png +0 -0
  100. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/arrow-180.png +0 -0
  101. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/arrow-315-medium.png +0 -0
  102. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/arrow-stop-180.png +0 -0
  103. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/arrow-stop.png +0 -0
  104. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/arrow.png +0 -0
  105. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/control-stop-square-small.png +0 -0
  106. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/folder-horizontal-open.png +0 -0
  107. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/folder-open.png +0 -0
  108. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/magnifier-left.png +0 -0
  109. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/page.png +0 -0
  110. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/picture.png +0 -0
  111. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/sort-alphabet-descending.png +0 -0
  112. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/sort-alphabet.png +0 -0
  113. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/img/throbber.gif +0 -0
  114. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/js/repository-browser-unminified.js +1450 -0
  115. data/vendor/assets/javascripts/aloha/lib/vendor/repository-browser/js/repository-browser.js +32 -0
  116. data/vendor/assets/javascripts/aloha/lib/vendor/sanitize.js +18 -7
  117. data/vendor/assets/javascripts/aloha/plugins/common/abbr/css/abbr.css +1 -0
  118. data/vendor/assets/javascripts/aloha/plugins/common/abbr/img/remabbr.png +0 -0
  119. data/vendor/assets/javascripts/aloha/plugins/common/abbr/lib/abbr-plugin.js +119 -109
  120. data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/ca/i18n.js +6 -0
  121. data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/de/i18n.js +6 -1
  122. data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/i18n.js +14 -3
  123. data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/mk/i18n.js +6 -0
  124. data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/pt-br/i18n.js +6 -0
  125. data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/ru/i18n.js +6 -0
  126. data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/uk/i18n.js +6 -0
  127. data/vendor/assets/javascripts/aloha/plugins/common/abbr/nls/zh-hans/i18n.js +6 -0
  128. data/vendor/assets/javascripts/aloha/plugins/common/abbr/package.json +0 -0
  129. data/vendor/assets/javascripts/aloha/plugins/common/align/css/align.css +17 -5
  130. data/vendor/assets/javascripts/aloha/plugins/common/align/img/align.png +0 -0
  131. data/vendor/assets/javascripts/aloha/plugins/common/align/lib/align-plugin.js +463 -353
  132. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/ca/i18n.js +6 -0
  133. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/de/i18n.js +6 -0
  134. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/i18n.js +16 -4
  135. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/mk/i18n.js +6 -0
  136. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/pt-br/i18n.js +6 -0
  137. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/ru/i18n.js +6 -0
  138. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/uk/i18n.js +6 -0
  139. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/zh-hans/i18n.js +6 -0
  140. data/vendor/assets/javascripts/aloha/plugins/common/block/css/block.css +13 -7
  141. data/vendor/assets/javascripts/aloha/plugins/common/block/lib/block-plugin.js +270 -24
  142. data/vendor/assets/javascripts/aloha/plugins/common/block/lib/block.js +268 -49
  143. data/vendor/assets/javascripts/aloha/plugins/common/block/lib/blockcontenthandler.js +27 -8
  144. data/vendor/assets/javascripts/aloha/plugins/common/block/lib/blockmanager.js +624 -479
  145. data/vendor/assets/javascripts/aloha/plugins/common/block/lib/editor.js +30 -11
  146. data/vendor/assets/javascripts/aloha/plugins/common/block/lib/editormanager.js +26 -7
  147. data/vendor/assets/javascripts/aloha/plugins/common/block/lib/sidebarattributeeditor.js +33 -13
  148. data/vendor/assets/javascripts/aloha/plugins/common/block/nls/ca/i18n.js +3 -0
  149. data/vendor/assets/javascripts/aloha/plugins/common/block/nls/de/i18n.js +3 -0
  150. data/vendor/assets/javascripts/aloha/plugins/common/block/nls/i18n.js +12 -0
  151. data/vendor/assets/javascripts/aloha/plugins/common/block/nls/mk/i18n.js +3 -0
  152. data/vendor/assets/javascripts/aloha/plugins/common/block/nls/pt-br/i18n.js +3 -0
  153. data/vendor/assets/javascripts/aloha/plugins/common/block/nls/ru/i18n.js +3 -0
  154. data/vendor/assets/javascripts/aloha/plugins/common/block/nls/uk/i18n.js +3 -0
  155. data/vendor/assets/javascripts/aloha/plugins/common/block/nls/zh-hans/i18n.js +3 -0
  156. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/css/characterpicker.css +29 -26
  157. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/img/icon.png +0 -0
  158. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/lib/characterpicker-plugin.js +445 -215
  159. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/ca/i18n.js +3 -0
  160. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/de/i18n.js +3 -1
  161. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/i18n.js +11 -3
  162. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/mk/i18n.js +3 -0
  163. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/pt-br/i18n.js +3 -0
  164. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/ru/i18n.js +3 -0
  165. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/uk/i18n.js +3 -0
  166. data/vendor/assets/javascripts/aloha/plugins/common/characterpicker/nls/zh-hans/i18n.js +3 -0
  167. data/vendor/assets/javascripts/aloha/plugins/common/commands/css/abbr.css +0 -0
  168. data/vendor/assets/javascripts/aloha/plugins/common/commands/lib/commands-plugin.js +27 -9
  169. data/vendor/assets/javascripts/aloha/plugins/common/commands/lib/inserthtml.js +28 -9
  170. data/vendor/assets/javascripts/aloha/plugins/common/commands/package.json +0 -0
  171. data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/blockelementcontenthandler.js +173 -0
  172. data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/contenthandler-plugin.js +45 -34
  173. data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/contenthandler-utils.js +58 -0
  174. data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/genericcontenthandler.js +320 -255
  175. data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/oembedcontenthandler.js +420 -235
  176. data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/sanitizecontenthandler.js +82 -33
  177. data/vendor/assets/javascripts/aloha/plugins/common/contenthandler/lib/wordcontenthandler.js +204 -128
  178. data/vendor/assets/javascripts/aloha/plugins/common/dom-to-xhtml/lib/dom-to-xhtml-plugin.js +57 -12
  179. data/vendor/assets/javascripts/aloha/plugins/common/dom-to-xhtml/lib/dom-to-xhtml.js +186 -77
  180. data/vendor/assets/javascripts/aloha/plugins/common/format/img/em.png +0 -0
  181. data/vendor/assets/javascripts/aloha/plugins/common/format/img/strong.png +0 -0
  182. data/vendor/assets/javascripts/aloha/plugins/common/format/lib/format-plugin.js +480 -255
  183. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/ca/i18n.js +52 -0
  184. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/de/i18n.js +52 -1
  185. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/i18n.js +60 -9
  186. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/mk/i18n.js +52 -0
  187. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/pt-br/i18n.js +52 -0
  188. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/ru/i18n.js +52 -1
  189. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/uk/i18n.js +52 -0
  190. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/zh-hans/i18n.js +52 -0
  191. data/vendor/assets/javascripts/aloha/plugins/common/highlighteditables/css/highlighteditables.css +0 -0
  192. data/vendor/assets/javascripts/aloha/plugins/common/highlighteditables/lib/highlighteditables-plugin.js +43 -15
  193. data/vendor/assets/javascripts/aloha/plugins/common/highlighteditables/package.json +0 -0
  194. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/css/horizontalruler.css +2 -3
  195. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/img/icon.png +0 -0
  196. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/lib/horizontalruler-plugin.js +53 -28
  197. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/ca/i18n.js +3 -0
  198. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/de/i18n.js +3 -1
  199. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/i18n.js +11 -3
  200. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/mk/i18n.js +3 -0
  201. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/pt-br/i18n.js +3 -0
  202. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/ru/i18n.js +3 -0
  203. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/uk/i18n.js +3 -0
  204. data/vendor/assets/javascripts/aloha/plugins/common/horizontalruler/nls/zh-hans/i18n.js +3 -0
  205. data/vendor/assets/javascripts/aloha/plugins/common/image/README.md +5 -22
  206. data/vendor/assets/javascripts/aloha/plugins/common/image/css/image.css +24 -15
  207. data/vendor/assets/javascripts/aloha/plugins/common/image/img/blank.jpg +0 -0
  208. data/vendor/assets/javascripts/aloha/plugins/common/image/img/cropnresize.png +0 -0
  209. data/vendor/assets/javascripts/aloha/plugins/common/image/img/handle-sw.png +0 -0
  210. data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-align-left.png +0 -0
  211. data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-align-none.png +0 -0
  212. data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-align-right.png +0 -0
  213. data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-border.png +0 -0
  214. data/vendor/assets/javascripts/aloha/plugins/common/image/img/image-title.png +0 -0
  215. data/vendor/assets/javascripts/aloha/plugins/common/image/img/image.gif +0 -0
  216. data/vendor/assets/javascripts/aloha/plugins/common/image/img/padding-decrease.gif +0 -0
  217. data/vendor/assets/javascripts/aloha/plugins/common/image/img/padding-increase.gif +0 -0
  218. data/vendor/assets/javascripts/aloha/plugins/common/image/img/page.png +0 -0
  219. data/vendor/assets/javascripts/aloha/plugins/common/image/img/size-decrease.gif +0 -0
  220. data/vendor/assets/javascripts/aloha/plugins/common/image/img/size-increase.gif +0 -0
  221. data/vendor/assets/javascripts/aloha/plugins/common/image/lib/image-floatingMenu.js +308 -0
  222. data/vendor/assets/javascripts/aloha/plugins/{extra/browser/README → common/image/lib/image-plugin-actions.js} +0 -0
  223. data/vendor/assets/javascripts/aloha/plugins/common/image/lib/image-plugin.js +1330 -1632
  224. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/ca/i18n.js +32 -0
  225. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/de/i18n.js +32 -1
  226. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/i18n.js +39 -5
  227. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/mk/i18n.js +32 -0
  228. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/pt-br/i18n.js +32 -0
  229. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/ru/i18n.js +32 -16
  230. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/uk/i18n.js +32 -0
  231. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/zh-hans/i18n.js +32 -0
  232. data/vendor/assets/javascripts/aloha/plugins/common/image/package.json +0 -0
  233. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/jcrop/jcrop.gif +0 -0
  234. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/jcrop/jquery.jcrop.css +0 -0
  235. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/jcrop/jquery.jcrop.min.js +3 -1
  236. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/mousewheel/mousewheel.js +42 -17
  237. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  238. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  239. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  240. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  241. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  242. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  243. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  244. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  245. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  246. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  247. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  248. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  249. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  250. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  251. data/vendor/assets/javascripts/aloha/plugins/common/link/css/link.css +58 -55
  252. data/vendor/assets/javascripts/aloha/plugins/common/link/extra/delicious.js +26 -8
  253. data/vendor/assets/javascripts/aloha/plugins/common/link/extra/linklist.js +91 -73
  254. data/vendor/assets/javascripts/aloha/plugins/common/link/extra/slowlinklist.js +29 -10
  255. data/vendor/assets/javascripts/aloha/plugins/common/link/lib/link-plugin.js +429 -297
  256. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/ca/i18n.js +14 -0
  257. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/de/i18n.js +14 -13
  258. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/i18n.js +23 -9
  259. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/mk/i18n.js +14 -0
  260. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/pt-br/i18n.js +14 -0
  261. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/ru/i18n.js +14 -6
  262. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/uk/i18n.js +14 -0
  263. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/zh-hans/i18n.js +14 -0
  264. data/vendor/assets/javascripts/aloha/plugins/common/list/lib/list-plugin.js +150 -121
  265. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/ca/i18n.js +7 -0
  266. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/de/i18n.js +7 -5
  267. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/i18n.js +15 -8
  268. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/mk/i18n.js +7 -0
  269. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/pt-br/i18n.js +7 -0
  270. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/ru/i18n.js +7 -1
  271. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/uk/i18n.js +7 -0
  272. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/zh-hans/i18n.js +7 -0
  273. data/vendor/assets/javascripts/aloha/plugins/common/list/package.json +0 -0
  274. data/vendor/assets/javascripts/aloha/plugins/common/paste/lib/paste-plugin.js +338 -192
  275. data/vendor/assets/javascripts/aloha/plugins/common/table/css/table.css +5 -40
  276. data/vendor/assets/javascripts/aloha/plugins/common/table/img/down.cur +0 -0
  277. data/vendor/assets/javascripts/aloha/plugins/common/table/img/left.cur +0 -0
  278. data/vendor/assets/javascripts/aloha/plugins/common/table/img/table_layout.png +0 -0
  279. data/vendor/assets/javascripts/aloha/plugins/common/table/img/wai-green.png +0 -0
  280. data/vendor/assets/javascripts/aloha/plugins/common/table/img/wai-red.png +0 -0
  281. data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-cell.js +177 -106
  282. data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-create-layer.js +5 -2
  283. data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-plugin-utils.js +147 -8
  284. data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-plugin.js +925 -892
  285. data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table-selection.js +10 -6
  286. data/vendor/assets/javascripts/aloha/plugins/common/table/lib/table.js +577 -193
  287. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/ca/i18n.js +28 -0
  288. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/de/i18n.js +28 -27
  289. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/i18n.js +37 -36
  290. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/mk/i18n.js +28 -0
  291. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/pt-br/i18n.js +28 -0
  292. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/ru/i18n.js +28 -1
  293. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/uk/i18n.js +28 -0
  294. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/zh-hans/i18n.js +28 -0
  295. data/vendor/assets/javascripts/aloha/plugins/common/table/package.json +0 -0
  296. data/vendor/assets/javascripts/aloha/plugins/common/ui/css/jquery-ui-1.9m6.css +430 -0
  297. data/vendor/assets/javascripts/aloha/plugins/common/ui/css/ui.css +689 -0
  298. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/blockquote.png +0 -0
  299. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/character-picker.png +0 -0
  300. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/em.png +0 -0
  301. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/format-block.png +0 -0
  302. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/format-inline.png +0 -0
  303. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/indent.png +0 -0
  304. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/jqueryui/ui-icons_222222_256x240.png +0 -0
  305. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/justify.png +0 -0
  306. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/language-annotation.png +0 -0
  307. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview.png +0 -0
  308. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/anchor.png +0 -0
  309. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/blockquote.png +0 -0
  310. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/caption.png +0 -0
  311. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/cite.png +0 -0
  312. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/dd.png +0 -0
  313. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/div.png +0 -0
  314. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/dl.png +0 -0
  315. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/dt.png +0 -0
  316. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/h1.png +0 -0
  317. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/h2.png +0 -0
  318. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/h3.png +0 -0
  319. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/h4.png +0 -0
  320. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/h5.png +0 -0
  321. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/h6.png +0 -0
  322. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/p.png +0 -0
  323. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/pre.png +0 -0
  324. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/q.png +0 -0
  325. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/table.png +0 -0
  326. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/td.png +0 -0
  327. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/metaview/th.png +0 -0
  328. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/multisplit-close.gif +0 -0
  329. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/multisplit-open.gif +0 -0
  330. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/outdent.png +0 -0
  331. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/quote.png +0 -0
  332. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/removeformat.png +0 -0
  333. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/strong.png +0 -0
  334. data/vendor/assets/javascripts/aloha/plugins/common/ui/img/tree.png +0 -0
  335. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/arena.js +11 -0
  336. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/autocomplete.js +70 -0
  337. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/button.js +114 -0
  338. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/component.js +121 -0
  339. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/container.js +210 -0
  340. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/context.js +53 -0
  341. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/dialog.js +215 -0
  342. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/floating.js +405 -0
  343. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/menuButton.js +169 -0
  344. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/multiSplit.js +237 -0
  345. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/port-helper-attribute-field.js +444 -0
  346. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/port-helper-multi-split.js +71 -0
  347. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/scopes.js +187 -0
  348. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/settings.js +202 -0
  349. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/subguarded.js +183 -0
  350. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/surface.js +106 -0
  351. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/tab.js +281 -0
  352. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/text.js +33 -0
  353. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/toggleButton.js +57 -0
  354. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/toolbar.js +251 -0
  355. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/ui-plugin.js +169 -0
  356. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/ui.js +181 -0
  357. data/vendor/assets/javascripts/aloha/plugins/common/ui/lib/utils.js +104 -0
  358. data/vendor/assets/javascripts/aloha/plugins/common/ui/nls/ca/i18n.js +46 -0
  359. data/vendor/assets/javascripts/aloha/plugins/common/ui/nls/de/i18n.js +47 -0
  360. data/vendor/assets/javascripts/aloha/plugins/common/ui/nls/i18n.js +75 -0
  361. data/vendor/assets/javascripts/aloha/plugins/common/ui/nls/mk/i18n.js +46 -0
  362. data/vendor/assets/javascripts/aloha/plugins/common/ui/nls/pt-br/i18n.js +46 -0
  363. data/vendor/assets/javascripts/aloha/plugins/common/ui/nls/ru/i18n.js +46 -0
  364. data/vendor/assets/javascripts/aloha/plugins/common/ui/nls/uk/i18n.js +46 -0
  365. data/vendor/assets/javascripts/aloha/plugins/common/ui/nls/zh-hans/i18n.js +46 -0
  366. data/vendor/assets/javascripts/aloha/plugins/common/ui/vendor/jquery-ui-autocomplete-html.js +42 -0
  367. data/vendor/assets/javascripts/aloha/plugins/common/undo/lib/undo-plugin.js +165 -134
  368. data/vendor/assets/javascripts/aloha/plugins/common/undo/package.json +0 -0
  369. data/vendor/assets/javascripts/aloha/plugins/common/undo/vendor/undo.js +2 -0
  370. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/lib/attributes-plugin.js +27 -7
  371. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/ca/i18n.js +5 -0
  372. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/de/i18n.js +5 -1
  373. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/i18n.js +13 -4
  374. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/mk/i18n.js +5 -0
  375. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/pt-br/i18n.js +5 -0
  376. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/ru/i18n.js +5 -0
  377. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/uk/i18n.js +5 -0
  378. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/zh-hans/i18n.js +5 -0
  379. data/vendor/assets/javascripts/aloha/plugins/extra/captioned-image/css/captioned-image.css +15 -0
  380. data/vendor/assets/javascripts/aloha/plugins/extra/captioned-image/lib/captioned-image-plugin.js +555 -0
  381. data/vendor/assets/javascripts/aloha/plugins/extra/cite/img/blockquote.png +0 -0
  382. data/vendor/assets/javascripts/aloha/plugins/extra/cite/img/icon_cite.png +0 -0
  383. data/vendor/assets/javascripts/aloha/plugins/extra/cite/lib/cite-plugin.js +369 -308
  384. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/ca/i18n.js +4 -0
  385. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/de/i18n.js +4 -1
  386. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/i18n.js +12 -3
  387. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/mk/i18n.js +4 -0
  388. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/pt-br/i18n.js +4 -0
  389. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/ru/i18n.js +4 -0
  390. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/uk/i18n.js +4 -0
  391. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/zh-hans/i18n.js +4 -0
  392. data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/add-icon.png +0 -0
  393. data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/add.png +0 -0
  394. data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/comments.png +0 -0
  395. data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/hr.png +0 -0
  396. data/vendor/assets/javascripts/aloha/plugins/extra/comments/img/textbox.png +0 -0
  397. data/vendor/assets/javascripts/aloha/plugins/extra/comments/{src/comments.js → lib/comments-plugin.js} +38 -15
  398. data/vendor/assets/javascripts/aloha/plugins/extra/comments/{src → lib}/comments.css +0 -0
  399. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/README.md +1 -1
  400. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/TODO.md +0 -0
  401. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/cross.png +0 -0
  402. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/hourglass.png +0 -0
  403. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/loading.gif +0 -0
  404. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/page.png +0 -0
  405. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/img/tick.png +0 -0
  406. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/lib/draganddropfiles-plugin.js +1 -1
  407. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/lib/dragndropfiles.css +0 -0
  408. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/lib/dragndropfiles.js +27 -13
  409. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/lib/dropfilesrepository.js +2 -2
  410. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/nls/ca/i18n.js +3 -0
  411. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/nls/de/i18n.js +3 -0
  412. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/nls/i18n.js +12 -0
  413. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/nls/mk/i18n.js +3 -0
  414. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/nls/pt-br/i18n.js +3 -0
  415. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/nls/ru/i18n.js +3 -0
  416. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/nls/uk/i18n.js +3 -0
  417. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/nls/zh-hans/i18n.js +3 -0
  418. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/package.json +0 -0
  419. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/README.md +1 -3
  420. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/css/formatless.css +1 -1
  421. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/img/button.png +0 -0
  422. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/lib/formatlesshandler.js +76 -46
  423. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/lib/formatlesspaste-plugin.js +217 -90
  424. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/ca/i18n.js +3 -0
  425. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/de/i18n.js +3 -1
  426. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/i18n.js +10 -5
  427. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/mk/i18n.js +3 -0
  428. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/pt-br/i18n.js +3 -0
  429. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/ru/i18n.js +3 -0
  430. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/uk/i18n.js +3 -0
  431. data/vendor/assets/javascripts/aloha/plugins/extra/formatlesspaste/nls/zh-hans/i18n.js +3 -0
  432. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/lib/headerids-plugin.js +69 -30
  433. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/ca/i18n.js +6 -0
  434. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/de/i18n.js +6 -1
  435. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/i18n.js +14 -4
  436. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/mk/i18n.js +6 -0
  437. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/pt-br/i18n.js +6 -0
  438. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/ru/i18n.js +6 -0
  439. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/uk/i18n.js +6 -0
  440. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/zh-hans/i18n.js +6 -0
  441. data/vendor/assets/javascripts/aloha/plugins/extra/hints/README.md +12 -0
  442. data/vendor/assets/javascripts/aloha/plugins/extra/hints/css/hints.css +29 -0
  443. data/vendor/assets/javascripts/aloha/plugins/extra/hints/lib/hints-plugin.js +97 -0
  444. data/vendor/assets/javascripts/aloha/plugins/extra/hints/package.json +3 -3
  445. data/vendor/assets/javascripts/aloha/plugins/extra/hints/vendor/tipsy.js +242 -0
  446. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/README +0 -0
  447. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/lib/imagebrowser-plugin.js +160 -0
  448. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/nls/ca/i18n.js +6 -0
  449. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/nls/de/i18n.js +6 -0
  450. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/nls/i18n.js +15 -0
  451. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/nls/mk/i18n.js +6 -0
  452. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/nls/pt-br/i18n.js +6 -0
  453. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/nls/ru/i18n.js +6 -0
  454. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/nls/uk/i18n.js +6 -0
  455. data/vendor/assets/javascripts/aloha/plugins/extra/imagebrowser/nls/zh-hans/i18n.js +6 -0
  456. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ad.png +0 -0
  457. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ae.png +0 -0
  458. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/af.png +0 -0
  459. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ag.png +0 -0
  460. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ai.png +0 -0
  461. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/al.png +0 -0
  462. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/am.png +0 -0
  463. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/an.png +0 -0
  464. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ao.png +0 -0
  465. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ar.png +0 -0
  466. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/as.png +0 -0
  467. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/at.png +0 -0
  468. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/au.png +0 -0
  469. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/aw.png +0 -0
  470. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ax.png +0 -0
  471. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/az.png +0 -0
  472. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ba.png +0 -0
  473. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bb.png +0 -0
  474. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bd.png +0 -0
  475. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/be.png +0 -0
  476. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bf.png +0 -0
  477. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bg.png +0 -0
  478. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bh.png +0 -0
  479. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bi.png +0 -0
  480. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bj.png +0 -0
  481. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bm.png +0 -0
  482. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bn.png +0 -0
  483. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bo.png +0 -0
  484. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/br.png +0 -0
  485. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bs.png +0 -0
  486. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bt.png +0 -0
  487. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bv.png +0 -0
  488. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bw.png +0 -0
  489. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/by.png +0 -0
  490. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/bz.png +0 -0
  491. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ca.png +0 -0
  492. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/catalonia.png +0 -0
  493. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cc.png +0 -0
  494. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cd.png +0 -0
  495. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cf.png +0 -0
  496. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cg.png +0 -0
  497. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ch.png +0 -0
  498. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ci.png +0 -0
  499. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ck.png +0 -0
  500. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cl.png +0 -0
  501. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cm.png +0 -0
  502. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cn.png +0 -0
  503. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/co.png +0 -0
  504. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cr.png +0 -0
  505. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cs.png +0 -0
  506. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cu.png +0 -0
  507. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cv.png +0 -0
  508. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cx.png +0 -0
  509. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cy.png +0 -0
  510. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/cz.png +0 -0
  511. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/de.png +0 -0
  512. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/dj.png +0 -0
  513. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/dk.png +0 -0
  514. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/dm.png +0 -0
  515. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/do.png +0 -0
  516. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/dz.png +0 -0
  517. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ec.png +0 -0
  518. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ee.png +0 -0
  519. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/eg.png +0 -0
  520. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/eh.png +0 -0
  521. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/en.png +0 -0
  522. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/er.png +0 -0
  523. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/es.png +0 -0
  524. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/et.png +0 -0
  525. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/europeanunion.png +0 -0
  526. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fam.png +0 -0
  527. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fi.png +0 -0
  528. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fj.png +0 -0
  529. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fk.png +0 -0
  530. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fm.png +0 -0
  531. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fo.png +0 -0
  532. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/fr.png +0 -0
  533. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ga.png +0 -0
  534. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gb.png +0 -0
  535. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gd.png +0 -0
  536. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ge.png +0 -0
  537. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gf.png +0 -0
  538. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gh.png +0 -0
  539. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gi.png +0 -0
  540. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gl.png +0 -0
  541. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gm.png +0 -0
  542. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gn.png +0 -0
  543. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gp.png +0 -0
  544. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gq.png +0 -0
  545. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gr.png +0 -0
  546. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gs.png +0 -0
  547. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gt.png +0 -0
  548. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gu.png +0 -0
  549. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gw.png +0 -0
  550. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/gy.png +0 -0
  551. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hk.png +0 -0
  552. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hm.png +0 -0
  553. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hn.png +0 -0
  554. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hr.png +0 -0
  555. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ht.png +0 -0
  556. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/hu.png +0 -0
  557. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/id.png +0 -0
  558. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ie.png +0 -0
  559. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/il.png +0 -0
  560. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/in.png +0 -0
  561. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/io.png +0 -0
  562. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/iq.png +0 -0
  563. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ir.png +0 -0
  564. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/is.png +0 -0
  565. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/it.png +0 -0
  566. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/jm.png +0 -0
  567. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/jo.png +0 -0
  568. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/jp.png +0 -0
  569. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ke.png +0 -0
  570. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kg.png +0 -0
  571. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kh.png +0 -0
  572. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ki.png +0 -0
  573. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/km.png +0 -0
  574. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kn.png +0 -0
  575. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kp.png +0 -0
  576. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kr.png +0 -0
  577. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kw.png +0 -0
  578. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ky.png +0 -0
  579. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/kz.png +0 -0
  580. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/la.png +0 -0
  581. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lb.png +0 -0
  582. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lc.png +0 -0
  583. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/li.png +0 -0
  584. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lk.png +0 -0
  585. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lr.png +0 -0
  586. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ls.png +0 -0
  587. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lt.png +0 -0
  588. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lu.png +0 -0
  589. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/lv.png +0 -0
  590. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ly.png +0 -0
  591. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ma.png +0 -0
  592. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mc.png +0 -0
  593. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/md.png +0 -0
  594. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/me.png +0 -0
  595. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mg.png +0 -0
  596. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mh.png +0 -0
  597. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mk.png +0 -0
  598. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ml.png +0 -0
  599. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mm.png +0 -0
  600. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mn.png +0 -0
  601. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mo.png +0 -0
  602. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mp.png +0 -0
  603. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mq.png +0 -0
  604. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mr.png +0 -0
  605. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ms.png +0 -0
  606. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mt.png +0 -0
  607. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mu.png +0 -0
  608. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mv.png +0 -0
  609. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mw.png +0 -0
  610. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mx.png +0 -0
  611. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/my.png +0 -0
  612. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/mz.png +0 -0
  613. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/na.png +0 -0
  614. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nc.png +0 -0
  615. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ne.png +0 -0
  616. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nf.png +0 -0
  617. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ng.png +0 -0
  618. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ni.png +0 -0
  619. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nl.png +0 -0
  620. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/no.png +0 -0
  621. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/np.png +0 -0
  622. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nr.png +0 -0
  623. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nu.png +0 -0
  624. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/nz.png +0 -0
  625. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/om.png +0 -0
  626. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pa.png +0 -0
  627. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pe.png +0 -0
  628. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pf.png +0 -0
  629. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pg.png +0 -0
  630. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ph.png +0 -0
  631. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pk.png +0 -0
  632. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pl.png +0 -0
  633. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pm.png +0 -0
  634. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pn.png +0 -0
  635. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pr.png +0 -0
  636. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ps.png +0 -0
  637. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pt.png +0 -0
  638. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/pw.png +0 -0
  639. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/py.png +0 -0
  640. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/qa.png +0 -0
  641. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/re.png +0 -0
  642. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ro.png +0 -0
  643. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/rs.png +0 -0
  644. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ru.png +0 -0
  645. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/rw.png +0 -0
  646. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sa.png +0 -0
  647. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sb.png +0 -0
  648. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sc.png +0 -0
  649. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/scotland.png +0 -0
  650. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sd.png +0 -0
  651. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/se.png +0 -0
  652. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sg.png +0 -0
  653. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sh.png +0 -0
  654. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/si.png +0 -0
  655. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sj.png +0 -0
  656. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sk.png +0 -0
  657. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sl.png +0 -0
  658. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sm.png +0 -0
  659. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sn.png +0 -0
  660. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/so.png +0 -0
  661. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sr.png +0 -0
  662. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/st.png +0 -0
  663. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sv.png +0 -0
  664. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sy.png +0 -0
  665. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/sz.png +0 -0
  666. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tc.png +0 -0
  667. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/td.png +0 -0
  668. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tf.png +0 -0
  669. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tg.png +0 -0
  670. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/th.png +0 -0
  671. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tj.png +0 -0
  672. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tk.png +0 -0
  673. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tl.png +0 -0
  674. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tm.png +0 -0
  675. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tn.png +0 -0
  676. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/to.png +0 -0
  677. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tr.png +0 -0
  678. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tt.png +0 -0
  679. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tv.png +0 -0
  680. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tw.png +0 -0
  681. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/tz.png +0 -0
  682. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ua.png +0 -0
  683. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ug.png +0 -0
  684. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/um.png +0 -0
  685. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/us.png +0 -0
  686. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/uy.png +0 -0
  687. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/uz.png +0 -0
  688. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/va.png +0 -0
  689. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vc.png +0 -0
  690. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ve.png +0 -0
  691. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vg.png +0 -0
  692. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vi.png +0 -0
  693. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vn.png +0 -0
  694. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/vu.png +0 -0
  695. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/wales.png +0 -0
  696. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/wf.png +0 -0
  697. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ws.png +0 -0
  698. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/ye.png +0 -0
  699. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/yt.png +0 -0
  700. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/za.png +0 -0
  701. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/zm.png +0 -0
  702. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/img/flags/zw.png +0 -0
  703. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/lib/linkbrowser-plugin.js +96 -100
  704. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/ca/i18n.js +6 -0
  705. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/de/i18n.js +6 -1
  706. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/i18n.js +14 -6
  707. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/mk/i18n.js +6 -0
  708. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/pt-br/i18n.js +6 -0
  709. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/ru/i18n.js +6 -1
  710. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/uk/i18n.js +6 -0
  711. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/zh-hans/i18n.js +6 -0
  712. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/nls/ca/i18n.js +28 -0
  713. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/nls/de/i18n.js +28 -0
  714. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/nls/i18n.js +37 -0
  715. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/nls/mk/i18n.js +28 -0
  716. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/nls/pt-br/i18n.js +28 -0
  717. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/nls/ru/i18n.js +28 -0
  718. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/nls/uk/i18n.js +28 -0
  719. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/nls/zh-hans/i18n.js +28 -0
  720. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/package.json +0 -0
  721. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/{proxy.php → proxy.php.example} +0 -0
  722. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/src/linkchecker.css +0 -0
  723. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/src/linkchecker.js +28 -15
  724. data/vendor/assets/javascripts/aloha/plugins/extra/listenforcer/lib/listenforcer-plugin.js +56 -31
  725. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/css/metaview.css +6 -14
  726. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/anchor.png +0 -0
  727. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/blockquote.png +0 -0
  728. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/button.png +0 -0
  729. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/caption.png +0 -0
  730. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/cite.png +0 -0
  731. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/dd.png +0 -0
  732. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/div.png +0 -0
  733. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/dl.png +0 -0
  734. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/dt.png +0 -0
  735. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h1.png +0 -0
  736. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h2.png +0 -0
  737. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h3.png +0 -0
  738. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h4.png +0 -0
  739. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h5.png +0 -0
  740. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/h6.png +0 -0
  741. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/hr.png +0 -0
  742. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/icon_cite.png +0 -0
  743. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/p.png +0 -0
  744. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/pre.png +0 -0
  745. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/table.png +0 -0
  746. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/td.png +0 -0
  747. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/img/th.png +0 -0
  748. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/lib/metaview-plugin.js +178 -74
  749. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/ca/i18n.js +3 -0
  750. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/de/i18n.js +3 -1
  751. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/i18n.js +11 -4
  752. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/mk/i18n.js +3 -0
  753. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/pt-br/i18n.js +3 -0
  754. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/ru/i18n.js +3 -0
  755. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/uk/i18n.js +3 -0
  756. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/zh-hans/i18n.js +3 -0
  757. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/css/numerated-headers.css +1 -1
  758. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/img/headers.png +0 -0
  759. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/lib/numerated-headers-plugin.js +405 -217
  760. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/ca/i18n.js +5 -0
  761. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/de/i18n.js +5 -1
  762. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/i18n.js +13 -4
  763. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/mk/i18n.js +5 -0
  764. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/pt-br/i18n.js +5 -0
  765. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/ru/i18n.js +5 -0
  766. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/uk/i18n.js +5 -0
  767. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/zh-hans/i18n.js +5 -0
  768. data/vendor/assets/javascripts/aloha/plugins/extra/profiler/lib/profiler-plugin.js +29 -10
  769. data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/README.md +0 -0
  770. data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/css/ribbon.css +49 -5
  771. data/vendor/assets/javascripts/aloha/{img → plugins/extra/ribbon/img}/fade-in.png +0 -0
  772. data/vendor/assets/javascripts/aloha/{img → plugins/extra/ribbon/img}/fade-out.png +0 -0
  773. data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/lib/ribbon-plugin.js +108 -150
  774. data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/package.json +0 -0
  775. data/vendor/assets/javascripts/aloha/plugins/extra/sourceview/css/sourceview.css +18 -0
  776. data/vendor/assets/javascripts/aloha/plugins/extra/sourceview/lib/sourceview-plugin.js +252 -0
  777. data/vendor/assets/javascripts/aloha/plugins/extra/sourceview/vendor/htmlbeautifier.js +468 -0
  778. data/vendor/assets/javascripts/aloha/plugins/extra/textcolor/css/textcolor.css +50 -0
  779. data/vendor/assets/javascripts/aloha/{lib/vendor/ext-3.2.1/resources/images/gray/window/left-right.png → plugins/extra/textcolor/img/icon.png} +0 -0
  780. data/vendor/assets/javascripts/aloha/plugins/extra/textcolor/lib/textcolor-plugin.js +420 -0
  781. data/vendor/assets/javascripts/aloha/plugins/extra/textcolor/nls/de/i18n.js +3 -0
  782. data/vendor/assets/javascripts/aloha/plugins/extra/textcolor/nls/i18n.js +6 -0
  783. data/vendor/assets/javascripts/aloha/plugins/extra/toc/lib/toc-plugin.js +56 -39
  784. data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/ca/i18n.js +3 -0
  785. data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/de/i18n.js +3 -3
  786. data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/i18n.js +11 -3
  787. data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/mk/i18n.js +3 -0
  788. data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/pt-br/i18n.js +3 -0
  789. data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/ru/i18n.js +3 -0
  790. data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/uk/i18n.js +3 -0
  791. data/vendor/assets/javascripts/aloha/plugins/extra/toc/nls/zh-hans/i18n.js +3 -0
  792. data/vendor/assets/javascripts/aloha/plugins/extra/toc/package.json +0 -0
  793. data/vendor/assets/javascripts/aloha/plugins/extra/validation/lib/validation-plugin.js +277 -0
  794. metadata +293 -508
  795. data/vendor/assets/javascripts/aloha/css/ext-aloha-reset.css +0 -33
  796. data/vendor/assets/javascripts/aloha/css/ext-aloha.css +0 -360
  797. data/vendor/assets/javascripts/aloha/img/base-big.png +0 -0
  798. data/vendor/assets/javascripts/aloha/lib/aloha-bootstrap.js +0 -28276
  799. data/vendor/assets/javascripts/aloha/lib/aloha/ecma5.js +0 -194
  800. data/vendor/assets/javascripts/aloha/lib/aloha/ext-alohaproxy.js +0 -86
  801. data/vendor/assets/javascripts/aloha/lib/aloha/ext-alohareader.js +0 -50
  802. data/vendor/assets/javascripts/aloha/lib/aloha/ext-alohatreeloader.js +0 -77
  803. data/vendor/assets/javascripts/aloha/lib/aloha/ext.js +0 -32
  804. data/vendor/assets/javascripts/aloha/lib/aloha/floatingmenu.js +0 -1496
  805. data/vendor/assets/javascripts/aloha/lib/aloha/jquery.js +0 -34
  806. data/vendor/assets/javascripts/aloha/lib/aloha/jquery.patch.js +0 -115
  807. data/vendor/assets/javascripts/aloha/lib/aloha/message.js +0 -115
  808. data/vendor/assets/javascripts/aloha/lib/aloha/ui-attributefield.js +0 -530
  809. data/vendor/assets/javascripts/aloha/lib/aloha/ui-browser.js +0 -214
  810. data/vendor/assets/javascripts/aloha/lib/aloha/ui.js +0 -889
  811. data/vendor/assets/javascripts/aloha/lib/jquery-plugin.js +0 -49
  812. data/vendor/assets/javascripts/aloha/lib/order.js +0 -140
  813. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/adapter/jquery/ext-jquery-adapter-debug.js +0 -2470
  814. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/adapter/jquery/ext-jquery-adapter.js +0 -7
  815. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/ext-all-debug.js +0 -47708
  816. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/ext-all.js +0 -13
  817. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/gpl-3.0.txt +0 -674
  818. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/license.txt +0 -42
  819. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/charts.swf +0 -0
  820. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/css/ext-all.css +0 -5903
  821. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/css/ext-all.less +0 -6795
  822. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/css/xtheme-gray.css +0 -1692
  823. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/expressinstall.swf +0 -0
  824. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/corners-blue.gif +0 -0
  825. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/corners.gif +0 -0
  826. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/l-blue.gif +0 -0
  827. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/l.gif +0 -0
  828. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/r-blue.gif +0 -0
  829. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/r.gif +0 -0
  830. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/tb-blue.gif +0 -0
  831. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/box/tb.gif +0 -0
  832. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/arrow.gif +0 -0
  833. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/btn.gif +0 -0
  834. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/group-cs.gif +0 -0
  835. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/group-lr.gif +0 -0
  836. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/group-tb.gif +0 -0
  837. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-b-noline.gif +0 -0
  838. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-b.gif +0 -0
  839. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-bo.gif +0 -0
  840. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-noline.gif +0 -0
  841. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow-o.gif +0 -0
  842. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/button/s-arrow.gif +0 -0
  843. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/dd/drop-add.gif +0 -0
  844. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/dd/drop-no.gif +0 -0
  845. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/dd/drop-yes.gif +0 -0
  846. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/editor/tb-sprite.gif +0 -0
  847. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/checkbox.gif +0 -0
  848. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/clear-trigger.gif +0 -0
  849. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/clear-trigger.psd +0 -0
  850. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/date-trigger.gif +0 -0
  851. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/date-trigger.psd +0 -0
  852. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/error-tip-corners.gif +0 -0
  853. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/exclamation.gif +0 -0
  854. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/radio.gif +0 -0
  855. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/search-trigger.gif +0 -0
  856. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/search-trigger.psd +0 -0
  857. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/text-bg.gif +0 -0
  858. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger-square.gif +0 -0
  859. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger-square.psd +0 -0
  860. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger-tpl.gif +0 -0
  861. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger.gif +0 -0
  862. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/form/trigger.psd +0 -0
  863. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/gradient-bg.gif +0 -0
  864. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/arrow-left-white.gif +0 -0
  865. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/arrow-right-white.gif +0 -0
  866. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/col-move-bottom.gif +0 -0
  867. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/col-move-top.gif +0 -0
  868. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/columns.gif +0 -0
  869. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/dirty.gif +0 -0
  870. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/done.gif +0 -0
  871. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/drop-no.gif +0 -0
  872. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/drop-yes.gif +0 -0
  873. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/footer-bg.gif +0 -0
  874. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-blue-hd.gif +0 -0
  875. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-blue-split.gif +0 -0
  876. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-hrow.gif +0 -0
  877. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-loading.gif +0 -0
  878. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-split.gif +0 -0
  879. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid-vista-hd.gif +0 -0
  880. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-hd-btn.gif +0 -0
  881. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-hrow-over.gif +0 -0
  882. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-hrow.gif +0 -0
  883. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-special-col-bg.gif +0 -0
  884. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/grid3-special-col-sel-bg.gif +0 -0
  885. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/group-by.gif +0 -0
  886. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/group-collapse.gif +0 -0
  887. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/group-expand-sprite.gif +0 -0
  888. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/group-expand.gif +0 -0
  889. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hd-pop.gif +0 -0
  890. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-asc.gif +0 -0
  891. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-desc.gif +0 -0
  892. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-lock.gif +0 -0
  893. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-lock.png +0 -0
  894. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-unlock.gif +0 -0
  895. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/hmenu-unlock.png +0 -0
  896. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/invalid_line.gif +0 -0
  897. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/loading.gif +0 -0
  898. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/mso-hd.gif +0 -0
  899. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/nowait.gif +0 -0
  900. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-first-disabled.gif +0 -0
  901. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-first.gif +0 -0
  902. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-last-disabled.gif +0 -0
  903. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-last.gif +0 -0
  904. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-next-disabled.gif +0 -0
  905. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-next.gif +0 -0
  906. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-prev-disabled.gif +0 -0
  907. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/page-prev.gif +0 -0
  908. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/pick-button.gif +0 -0
  909. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/refresh.gif +0 -0
  910. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/row-check-sprite.gif +0 -0
  911. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/row-expand-sprite.gif +0 -0
  912. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/row-over.gif +0 -0
  913. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/row-sel.gif +0 -0
  914. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/sort-hd.gif +0 -0
  915. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/sort_asc.gif +0 -0
  916. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/sort_desc.gif +0 -0
  917. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/grid/wait.gif +0 -0
  918. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/collapse.gif +0 -0
  919. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/expand.gif +0 -0
  920. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/gradient-bg.gif +0 -0
  921. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/mini-bottom.gif +0 -0
  922. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/mini-left.gif +0 -0
  923. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/mini-right.gif +0 -0
  924. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/mini-top.gif +0 -0
  925. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/ns-collapse.gif +0 -0
  926. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/ns-expand.gif +0 -0
  927. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/panel-close.gif +0 -0
  928. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/panel-title-bg.gif +0 -0
  929. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/panel-title-light-bg.gif +0 -0
  930. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/stick.gif +0 -0
  931. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/stuck.gif +0 -0
  932. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/tab-close-on.gif +0 -0
  933. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/layout/tab-close.gif +0 -0
  934. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/checked.gif +0 -0
  935. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/group-checked.gif +0 -0
  936. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/item-over.gif +0 -0
  937. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/menu-parent.gif +0 -0
  938. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/menu.gif +0 -0
  939. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/menu/unchecked.gif +0 -0
  940. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/corners-sprite.gif +0 -0
  941. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/left-right.gif +0 -0
  942. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/light-hd.gif +0 -0
  943. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/tool-sprite-tpl.gif +0 -0
  944. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/tool-sprites.gif +0 -0
  945. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/tools-sprites-trans.gif +0 -0
  946. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/top-bottom.gif +0 -0
  947. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/top-bottom.png +0 -0
  948. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/white-corners-sprite.gif +0 -0
  949. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/white-left-right.gif +0 -0
  950. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/panel/white-top-bottom.gif +0 -0
  951. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/progress/progress-bg.gif +0 -0
  952. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/qtip/bg.gif +0 -0
  953. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/qtip/close.gif +0 -0
  954. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/qtip/tip-anchor-sprite.gif +0 -0
  955. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/qtip/tip-sprite.gif +0 -0
  956. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/s.gif +0 -0
  957. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shadow-c.png +0 -0
  958. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shadow-lr.png +0 -0
  959. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shadow.png +0 -0
  960. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/blue-loading.gif +0 -0
  961. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/calendar.gif +0 -0
  962. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/glass-bg.gif +0 -0
  963. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/hd-sprite.gif +0 -0
  964. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/large-loading.gif +0 -0
  965. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/left-btn.gif +0 -0
  966. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/loading-balls.gif +0 -0
  967. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/right-btn.gif +0 -0
  968. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/shared/warning.gif +0 -0
  969. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/e-handle-dark.gif +0 -0
  970. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/e-handle.gif +0 -0
  971. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/ne-handle-dark.gif +0 -0
  972. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/ne-handle.gif +0 -0
  973. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/nw-handle-dark.gif +0 -0
  974. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/nw-handle.gif +0 -0
  975. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/s-handle-dark.gif +0 -0
  976. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/s-handle.gif +0 -0
  977. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/se-handle-dark.gif +0 -0
  978. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/se-handle.gif +0 -0
  979. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/square.gif +0 -0
  980. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/sw-handle-dark.gif +0 -0
  981. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/sizer/sw-handle.gif +0 -0
  982. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/slider/slider-bg.png +0 -0
  983. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/slider/slider-thumb.png +0 -0
  984. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/slider/slider-v-bg.png +0 -0
  985. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/slider/slider-v-thumb.png +0 -0
  986. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/scroll-left.gif +0 -0
  987. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/scroll-right.gif +0 -0
  988. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/scroller-bg.gif +0 -0
  989. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
  990. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
  991. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-left-bg.gif +0 -0
  992. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-over-left-bg.gif +0 -0
  993. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-over-right-bg.gif +0 -0
  994. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-btm-right-bg.gif +0 -0
  995. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-close.gif +0 -0
  996. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-strip-bg.gif +0 -0
  997. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-strip-bg.png +0 -0
  998. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tab-strip-btm-bg.gif +0 -0
  999. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tabs/tabs-sprite.gif +0 -0
  1000. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/bg.gif +0 -0
  1001. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/btn-arrow-light.gif +0 -0
  1002. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/btn-arrow.gif +0 -0
  1003. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/btn-over-bg.gif +0 -0
  1004. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/gray-bg.gif +0 -0
  1005. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/more.gif +0 -0
  1006. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/tb-bg.gif +0 -0
  1007. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/tb-btn-sprite.gif +0 -0
  1008. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/tb-xl-btn-sprite.gif +0 -0
  1009. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/toolbar/tb-xl-sep.gif +0 -0
  1010. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/arrows.gif +0 -0
  1011. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-add.gif +0 -0
  1012. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-between.gif +0 -0
  1013. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-no.gif +0 -0
  1014. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-over.gif +0 -0
  1015. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-under.gif +0 -0
  1016. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/drop-yes.gif +0 -0
  1017. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end-minus-nl.gif +0 -0
  1018. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end-minus.gif +0 -0
  1019. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end-plus-nl.gif +0 -0
  1020. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end-plus.gif +0 -0
  1021. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-end.gif +0 -0
  1022. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-line.gif +0 -0
  1023. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-minus-nl.gif +0 -0
  1024. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-minus.gif +0 -0
  1025. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-plus-nl.gif +0 -0
  1026. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow-plus.gif +0 -0
  1027. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/elbow.gif +0 -0
  1028. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/folder-open.gif +0 -0
  1029. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/folder.gif +0 -0
  1030. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/leaf.gif +0 -0
  1031. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/loading.gif +0 -0
  1032. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/tree/s.gif +0 -0
  1033. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/icon-error.gif +0 -0
  1034. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/icon-info.gif +0 -0
  1035. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/icon-question.gif +0 -0
  1036. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/icon-warning.gif +0 -0
  1037. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/left-corners.png +0 -0
  1038. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/left-corners.psd +0 -0
  1039. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/left-right.png +0 -0
  1040. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/left-right.psd +0 -0
  1041. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/right-corners.png +0 -0
  1042. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/right-corners.psd +0 -0
  1043. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/top-bottom.png +0 -0
  1044. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/default/window/top-bottom.psd +0 -0
  1045. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/btn-arrow.gif +0 -0
  1046. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/btn-sprite.gif +0 -0
  1047. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/btn.gif +0 -0
  1048. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/group-cs.gif +0 -0
  1049. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/group-lr.gif +0 -0
  1050. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/group-tb.gif +0 -0
  1051. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/s-arrow-bo.gif +0 -0
  1052. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/button/s-arrow-o.gif +0 -0
  1053. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/clear-trigger.gif +0 -0
  1054. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/date-trigger.gif +0 -0
  1055. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/search-trigger.gif +0 -0
  1056. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/trigger-square.gif +0 -0
  1057. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/form/trigger.gif +0 -0
  1058. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/gradient-bg.gif +0 -0
  1059. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/col-move-bottom.gif +0 -0
  1060. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/col-move-top.gif +0 -0
  1061. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hd-btn.gif +0 -0
  1062. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hrow-over.gif +0 -0
  1063. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hrow-over2.gif +0 -0
  1064. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hrow.gif +0 -0
  1065. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-hrow2.gif +0 -0
  1066. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-special-col-bg.gif +0 -0
  1067. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-special-col-bg2.gif +0 -0
  1068. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/grid3-special-col-sel-bg.gif +0 -0
  1069. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/group-collapse.gif +0 -0
  1070. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/group-expand-sprite.gif +0 -0
  1071. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/group-expand.gif +0 -0
  1072. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/page-first.gif +0 -0
  1073. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/page-last.gif +0 -0
  1074. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/page-next.gif +0 -0
  1075. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/page-prev.gif +0 -0
  1076. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/refresh.gif +0 -0
  1077. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/row-expand-sprite.gif +0 -0
  1078. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/sort_asc.gif +0 -0
  1079. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/grid/sort_desc.gif +0 -0
  1080. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/menu/group-checked.gif +0 -0
  1081. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/menu/item-over-disabled.gif +0 -0
  1082. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/menu/item-over.gif +0 -0
  1083. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/menu/menu-parent.gif +0 -0
  1084. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/corners-sprite.gif +0 -0
  1085. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/left-right.gif +0 -0
  1086. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/light-hd.gif +0 -0
  1087. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/tool-sprite-tpl.gif +0 -0
  1088. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/tool-sprites.gif +0 -0
  1089. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/tools-sprites-trans.gif +0 -0
  1090. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/top-bottom.gif +0 -0
  1091. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/top-bottom.png +0 -0
  1092. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/white-corners-sprite.gif +0 -0
  1093. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/white-left-right.gif +0 -0
  1094. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/panel/white-top-bottom.gif +0 -0
  1095. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/progress/progress-bg.gif +0 -0
  1096. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/qtip/bg.gif +0 -0
  1097. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/qtip/close.gif +0 -0
  1098. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/qtip/tip-anchor-sprite.gif +0 -0
  1099. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/qtip/tip-sprite.gif +0 -0
  1100. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/s.gif +0 -0
  1101. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/shared/hd-sprite.gif +0 -0
  1102. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/shared/left-btn.gif +0 -0
  1103. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/shared/right-btn.gif +0 -0
  1104. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/e-handle.gif +0 -0
  1105. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/ne-handle.gif +0 -0
  1106. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/nw-handle.gif +0 -0
  1107. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/s-handle.gif +0 -0
  1108. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/se-handle.gif +0 -0
  1109. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/square.gif +0 -0
  1110. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/sizer/sw-handle.gif +0 -0
  1111. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/slider/slider-thumb.png +0 -0
  1112. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/slider/slider-v-thumb.png +0 -0
  1113. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/scroll-left.gif +0 -0
  1114. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/scroll-right.gif +0 -0
  1115. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/scroller-bg.gif +0 -0
  1116. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif +0 -0
  1117. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif +0 -0
  1118. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-left-bg.gif +0 -0
  1119. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-over-left-bg.gif +0 -0
  1120. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-over-right-bg.gif +0 -0
  1121. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-btm-right-bg.gif +0 -0
  1122. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-close.gif +0 -0
  1123. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-strip-bg.gif +0 -0
  1124. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-strip-bg.png +0 -0
  1125. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tab-strip-btm-bg.gif +0 -0
  1126. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tabs/tabs-sprite.gif +0 -0
  1127. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/bg.gif +0 -0
  1128. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/btn-arrow-light.gif +0 -0
  1129. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/btn-arrow.gif +0 -0
  1130. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/btn-over-bg.gif +0 -0
  1131. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/gray-bg.gif +0 -0
  1132. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/more.gif +0 -0
  1133. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/tb-bg.gif +0 -0
  1134. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/toolbar/tb-btn-sprite.gif +0 -0
  1135. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/arrows.gif +0 -0
  1136. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/elbow-end-minus-nl.gif +0 -0
  1137. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/elbow-end-minus.gif +0 -0
  1138. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/elbow-end-plus-nl.gif +0 -0
  1139. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/tree/elbow-end-plus.gif +0 -0
  1140. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/icon-error.gif +0 -0
  1141. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/icon-info.gif +0 -0
  1142. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/icon-question.gif +0 -0
  1143. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/icon-warning.gif +0 -0
  1144. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/left-corners.png +0 -0
  1145. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/left-corners.pspimage +0 -0
  1146. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/right-corners.png +0 -0
  1147. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/images/gray/window/top-bottom.png +0 -0
  1148. data/vendor/assets/javascripts/aloha/lib/vendor/ext-3.2.1/resources/resources.jsb +0 -507
  1149. data/vendor/assets/javascripts/aloha/lib/vendor/jquery.json-2.2.min.js +0 -33
  1150. data/vendor/assets/javascripts/aloha/lib/vendor/jquery.store.js +0 -470
  1151. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/en/i18n.js +0 -1
  1152. data/vendor/assets/javascripts/aloha/plugins/common/align/nls/fr/i18n.js +0 -1
  1153. data/vendor/assets/javascripts/aloha/plugins/common/block/lib/jquery-ui-1.8.16.custom.min.js +0 -198
  1154. data/vendor/assets/javascripts/aloha/plugins/common/format/css/format.css +0 -8
  1155. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/eo/i18n.js +0 -1
  1156. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/fi/i18n.js +0 -1
  1157. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/fr/i18n.js +0 -1
  1158. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/it/i18n.js +0 -1
  1159. data/vendor/assets/javascripts/aloha/plugins/common/format/nls/pl/i18n.js +0 -1
  1160. data/vendor/assets/javascripts/aloha/plugins/common/image/AGPL3 +0 -661
  1161. data/vendor/assets/javascripts/aloha/plugins/common/image/LICENSE +0 -25
  1162. data/vendor/assets/javascripts/aloha/plugins/common/image/demo/crop.html +0 -76
  1163. data/vendor/assets/javascripts/aloha/plugins/common/image/demo/crop.php +0 -21
  1164. data/vendor/assets/javascripts/aloha/plugins/common/image/demo/cropnresize.jpg +0 -0
  1165. data/vendor/assets/javascripts/aloha/plugins/common/image/demo/index.html +0 -120
  1166. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/cz/i18n.js +0 -16
  1167. data/vendor/assets/javascripts/aloha/plugins/common/image/nls/fr/i18n.js +0 -1
  1168. data/vendor/assets/javascripts/aloha/plugins/common/image/test/test.css +0 -12
  1169. data/vendor/assets/javascripts/aloha/plugins/common/image/test/test.html +0 -40
  1170. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/jquery-ui-1.8.10.custom.min.js +0 -97
  1171. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/jquery-ui-1.8.10.cropnresize.css +0 -33
  1172. data/vendor/assets/javascripts/aloha/plugins/common/image/vendor/ui/ui-lightness/jquery-ui-1.8.10.custom.css +0 -314
  1173. data/vendor/assets/javascripts/aloha/plugins/common/link/demo/background.png +0 -0
  1174. data/vendor/assets/javascripts/aloha/plugins/common/link/demo/external-link-ltr-icon.png +0 -0
  1175. data/vendor/assets/javascripts/aloha/plugins/common/link/demo/index.css +0 -91
  1176. data/vendor/assets/javascripts/aloha/plugins/common/link/demo/index.html +0 -91
  1177. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/fr/i18n.js +0 -6
  1178. data/vendor/assets/javascripts/aloha/plugins/common/link/nls/pl/i18n.js +0 -6
  1179. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/eo/i18n.js +0 -1
  1180. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/fi/i18n.js +0 -1
  1181. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/fr/i18n.js +0 -1
  1182. data/vendor/assets/javascripts/aloha/plugins/common/list/nls/it/i18n.js +0 -1
  1183. data/vendor/assets/javascripts/aloha/plugins/common/paste/README.md +0 -3
  1184. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/eo/i18n.js +0 -1
  1185. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/fi/i18n.js +0 -1
  1186. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/fr/i18n.js +0 -1
  1187. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/it/i18n.js +0 -1
  1188. data/vendor/assets/javascripts/aloha/plugins/common/table/nls/pl/i18n.js +0 -1
  1189. data/vendor/assets/javascripts/aloha/plugins/common/undo/demo/index.css +0 -49
  1190. data/vendor/assets/javascripts/aloha/plugins/common/undo/demo/index.html +0 -85
  1191. data/vendor/assets/javascripts/aloha/plugins/extra/attributes/nls/en/i18n.js +0 -1
  1192. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/browser.css +0 -360
  1193. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/browser.jqgrid.css +0 -374
  1194. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1195. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1196. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1197. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1198. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1199. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1200. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1201. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1202. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_222222_256x240.png +0 -0
  1203. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_2e83ff_256x240.png +0 -0
  1204. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_454545_256x240.png +0 -0
  1205. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_888888_256x240.png +0 -0
  1206. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/images/ui-icons_cd0a0a_256x240.png +0 -0
  1207. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/jquery-ui-1.8.13.custom.css +0 -319
  1208. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/throbber.gif +0 -0
  1209. data/vendor/assets/javascripts/aloha/plugins/extra/browser/css/ui.jqgrid.css +0 -148
  1210. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-000-medium.png +0 -0
  1211. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-180.png +0 -0
  1212. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-315-medium.png +0 -0
  1213. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-stop-180.png +0 -0
  1214. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow-stop.png +0 -0
  1215. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/arrow.png +0 -0
  1216. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/control-stop-square-small.png +0 -0
  1217. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/folder-horizontal-open.png +0 -0
  1218. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/folder-open.png +0 -0
  1219. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/gcn-icons/gcn-icon-file.gif +0 -0
  1220. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/gcn-icons/gcn-icon-image.gif +0 -0
  1221. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/gcn-icons/gcn-icon-page.gif +0 -0
  1222. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/magnifier-left.png +0 -0
  1223. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/page.png +0 -0
  1224. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/picture.png +0 -0
  1225. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/sort-alphabet-descending.png +0 -0
  1226. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/sort-alphabet.png +0 -0
  1227. data/vendor/assets/javascripts/aloha/plugins/extra/browser/img/throbber.gif +0 -0
  1228. data/vendor/assets/javascripts/aloha/plugins/extra/browser/lib/browser-plugin.js +0 -10
  1229. data/vendor/assets/javascripts/aloha/plugins/extra/browser/lib/browser.js +0 -1126
  1230. data/vendor/assets/javascripts/aloha/plugins/extra/browser/lib/locale.js +0 -26
  1231. data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/de.json +0 -1
  1232. data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/de/i18n.js +0 -18
  1233. data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/en.json +0 -1
  1234. data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/en/i18n.js +0 -18
  1235. data/vendor/assets/javascripts/aloha/plugins/extra/browser/nls/i18n.js +0 -4
  1236. data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/jquery.ui.js +0 -761
  1237. data/vendor/assets/javascripts/aloha/plugins/extra/browser/vendor/ui-layout.js +0 -113
  1238. data/vendor/assets/javascripts/aloha/plugins/extra/cite/nls/en/i18n.js +0 -1
  1239. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/AGPL3 +0 -661
  1240. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/LICENSE +0 -25
  1241. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/index.css +0 -47
  1242. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/index.html +0 -101
  1243. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/migration/index.css +0 -189
  1244. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/migration/index.html +0 -321
  1245. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/specs/DragnDropnImage.graphml +0 -677
  1246. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/style.css +0 -47
  1247. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/demo/upload.php +0 -26
  1248. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/i18n/en.json +0 -1
  1249. data/vendor/assets/javascripts/aloha/plugins/extra/draganddropfiles/i18n/fr.json +0 -1
  1250. data/vendor/assets/javascripts/aloha/plugins/extra/headerids/nls/en/i18n.js +0 -1
  1251. data/vendor/assets/javascripts/aloha/plugins/extra/hints/dep/jquery.poshytip.js +0 -470
  1252. data/vendor/assets/javascripts/aloha/plugins/extra/hints/i18n/de.json +0 -1
  1253. data/vendor/assets/javascripts/aloha/plugins/extra/hints/i18n/en.json +0 -1
  1254. data/vendor/assets/javascripts/aloha/plugins/extra/hints/img/tip-twitter_arrows.gif +0 -0
  1255. data/vendor/assets/javascripts/aloha/plugins/extra/hints/src/hints.css +0 -61
  1256. data/vendor/assets/javascripts/aloha/plugins/extra/hints/src/hints.js +0 -49
  1257. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/fr/i18n.js +0 -1
  1258. data/vendor/assets/javascripts/aloha/plugins/extra/linkbrowser/nls/pl/i18n.js +0 -1
  1259. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/demo/index.css +0 -49
  1260. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/demo/index.html +0 -82
  1261. data/vendor/assets/javascripts/aloha/plugins/extra/linkchecker/i18n/en.json +0 -1
  1262. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/de.json +0 -1
  1263. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/en.json +0 -1
  1264. data/vendor/assets/javascripts/aloha/plugins/extra/metaview/nls/en/i18n.js +0 -1
  1265. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/demo/index.css +0 -189
  1266. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/demo/index.html +0 -139
  1267. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/demo/js/aloha-config.js +0 -115
  1268. data/vendor/assets/javascripts/aloha/plugins/extra/numerated-headers/nls/en/i18n.js +0 -1
  1269. data/vendor/assets/javascripts/aloha/plugins/extra/ribbon/LICENSE.md +0 -662
  1270. data/vendor/assets/javascripts/aloha/plugins/extra/vie/LICENSE +0 -22
  1271. data/vendor/assets/javascripts/aloha/plugins/extra/vie/README.markdown +0 -65
  1272. data/vendor/assets/javascripts/aloha/plugins/extra/vie/demo/index.html +0 -93
  1273. data/vendor/assets/javascripts/aloha/plugins/extra/vie/img/cms-decoupled-communications.png +0 -0
  1274. data/vendor/assets/javascripts/aloha/plugins/extra/vie/package.json +0 -1
  1275. data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/backbone-min.js +0 -27
  1276. data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/underscore-min.js +0 -25
  1277. data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/vie-aloha.js +0 -74
  1278. data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/vie-collectionmanager.js +0 -70
  1279. data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/vie-containermanager.js +0 -263
  1280. data/vendor/assets/javascripts/aloha/plugins/extra/vie/src/vie.js +0 -20
@@ -1,1643 +1,1341 @@
1
+ /*global documents: true define: true*/
1
2
  /*
2
3
  * Aloha Image Plugin - Allow image manipulation in Aloha Editor
3
4
  *
4
- * Author & Copyright (c) 2011 Gentics Software GmbH
5
+ * Author & Copyright (c) 2013 Gentics Software GmbH
5
6
  * aloha-sales@gentics.com
6
7
  * Contributors
7
- * Johannes Schüth - http://jotschi.de
8
- * Nicolas karageuzian - http://nka.me/
9
- * Benjamin Athur Lupton - http://www.balupton.com/
10
- * Thomas Lete
11
- * Nils Dehl
12
- * Christopher Hlubek
13
- * Edward Tsech
14
- * Haymo Meran
8
+ * Johannes Schüth - http://jotschi.de
9
+ * Nicolas karageuzian - http://nka.me/
10
+ * Benjamin Athur Lupton - http://www.balupton.com/
11
+ * Thomas Lete
12
+ * Nils Dehl
13
+ * Christopher Hlubek
14
+ * Edward Tsech
15
+ * Haymo Meran
16
+ * Martin Schönberger
15
17
  *
16
- * Licensed under the terms of http://www.aloha-editor.com/license.html
18
+ * Licensed under the terms of http://www.aloha-editor.org/license.php
17
19
  */
18
20
 
19
21
  define([
20
- // js
21
- 'aloha/jquery',
22
- 'aloha/plugin',
23
- 'aloha/floatingmenu',
24
- 'i18n!aloha/nls/i18n',
25
- 'i18n!image/nls/i18n',
26
- 'jquery-plugin!image/vendor/ui/jquery-ui-1.8.10.custom.min',
27
- 'jquery-plugin!image/vendor/jcrop/jquery.jcrop.min',
28
- 'jquery-plugin!image/vendor/mousewheel/mousewheel',
29
- // css
30
- 'css!image/css/image.css',
31
- 'css!image/vendor/ui/ui-lightness/jquery-ui-1.8.10.cropnresize.css',
32
- 'css!image/vendor/jcrop/jquery.jcrop.css'
33
- ],
34
- function AlohaImagePlugin ( aQuery, Plugin, FloatingMenu, i18nCore, i18n ) {
35
-
36
-
37
-
38
- var jQuery = aQuery;
39
- var $ = aQuery;
40
- var GENTICS = window.GENTICS;
41
- var Aloha = window.Aloha;
42
-
43
- // Attributes manipulation utilities
44
- // Aloha team may want to factorize, it could be useful for other plugins
45
- // Prototypes
46
- String.prototype.toInteger = String.prototype.toInteger || function() {
47
- return parseInt(String(this).replace(/px$/,'')||0,10);
48
- };
49
- String.prototype.toFloat = String.prototype.toInteger || function() {
50
- return parseFloat(String(this).replace(/px$/,'')||0,10);
51
- };
52
- Number.prototype.toInteger = Number.prototype.toInteger || String.prototype.toInteger;
53
- Number.prototype.toFloat = Number.prototype.toFloat || String.prototype.toFloat;
54
-
55
- // Insert jQuery Prototypes
56
- jQuery.extend(true, jQuery.fn, {
57
- increase: jQuery.fn.increase || function(attr) {
58
- var obj = jQuery(this), value, newValue;
59
- // Check
60
- if ( !obj.length ) {
61
- return obj;
62
- }
63
- // Calculate
64
- value = obj.css(attr).toFloat();
65
- newValue = Math.round((value||1)*1.2);
66
- // Apply
67
- if (value == newValue) { // when value is 2, won't increase
68
- newValue++;
69
- }
70
- // Apply
71
- obj.css(attr,newValue);
72
- // Chain
73
- return obj;
74
- },
75
- decrease: jQuery.fn.decrease || function(attr) {
76
- var obj = jQuery(this), value, newValue;
77
- // Check
78
- if ( !obj.length ) {
79
- return obj;
80
- }
81
- // Calculate
82
- value = obj.css(attr).toFloat();
83
- newValue = Math.round((value||0)*0.8);
84
- // Apply
85
- if (value == newValue && newValue >0) { // when value is 2, won't increase
86
- newValue--;
87
- }
88
- obj.css(attr,newValue);
89
- // Chain
90
- return obj;
91
- }
92
- });
93
-
94
- // Create and register Image Plugin
95
- return Plugin.create('image', {
96
-
97
- languages: ['en', 'fr', 'de', 'ru', 'cz'],
98
-
99
- defaultSettings: {
100
- 'maxWidth': 1600,
101
- 'minWidth': 3,
102
- 'maxHeight': 1200,
103
- 'minHeight': 3,
104
- // This setting will correct manually values that are out of bounds
105
- 'autoCorrectManualInput': true,
106
- // This setting will define a fixed aspect ratio for all resize actions
107
- 'fixedAspectRatio' : false,
108
- // When enabled this setting will order the plugin to automatically resize images to given bounds
109
- 'autoResize': false,
110
- //Image manipulation options - ONLY in default config section
111
- ui: {
112
- oneTab : false, //Place all ui components within one tab
113
- insert : true,
114
- reset : true,
115
- aspectRatioToggle: true, // Toggle button for the aspect ratio
116
- align : true, // Menu elements to show/hide in menu
117
- resize : true, // Resize buttons
118
- meta : true,
119
- margin : true,
120
- crop : true,
121
- resizable : true, // Resizable ui-drag image
122
- handles : 'ne, se, sw, nw'
123
- },
124
-
125
- /**
126
- * Crop callback is triggered after the user clicked accept to accept his crop
127
- * @param image jquery image object reference
128
- * @param props cropping properties
129
- */
130
- onCropped: function ($image, props) {
131
- Aloha.Log.info('Default onCropped invoked', $image, props);
132
- },
133
-
134
- /**
135
- * Reset callback is triggered before the internal reset procedure is applied
136
- * if this function returns true, then the reset has been handled by the callback
137
- * which means that no other reset will be applied
138
- * if false is returned the internal reset procedure will be applied
139
- * @param image jquery image object reference
140
- * @return true if a reset has been applied, false otherwise
141
- */
142
- onReset: function ($image) {
143
- Aloha.Log.info('Default onReset invoked', $image);
144
- return false;
145
- },
146
-
147
- /**
148
- * Example callback method which gets called while the resize process is beeing executed.
149
- */
150
- onResize: function ($image) {
151
- Aloha.Log.info('Default onResize invoked', $image);
152
- },
153
-
154
- /**
155
- * Resize callback is triggered after the internal resize procedure is applied.
156
- */
157
- onResized: function ($image) {
158
- Aloha.Log.info('Default onResized invoked', $image);
159
- }
160
- },
161
-
162
- /**
163
- * Internal callback hook which gets invoked when cropping has been finished
164
- */
165
- _onCropped: function ($image, props) {
166
- $('#' + this.imgResizeHeightField.id).val($image.height());
167
- $('#' + this.imgResizeWidthField.id).val($image.width());
168
-
169
-
170
- $('body').trigger('aloha-image-cropped', [$image, props]);
171
-
172
- // Call the custom onCropped function
173
- this.onCropped($image, props);
174
- },
175
-
176
- /**
177
- * Internal callback hook which gets invoked when resetting images
178
- */
179
- _onReset: function ($image) {
180
-
181
- $('#' + this.imgResizeHeightField.id).val($image.height());
182
- $('#' + this.imgResizeWidthField.id).val($image.width());
183
-
184
- // No default behaviour defined besides event triggering
185
- $('body').trigger('aloha-image-reset', $image);
186
-
187
- // Call the custom resize function
188
- return this.onReset($image);
189
- },
190
-
191
- /**
192
- * Internal callback hook which gets invoked while the image is beeing resized
193
- */
194
- _onResize: function ($image) {
195
-
196
- $('#' + this.imgResizeHeightField.id).val($image.height());
197
- $('#' + this.imgResizeWidthField.id).val($image.width());
198
-
199
- // No default behaviour defined besides event triggering
200
- $('body').trigger('aloha-image-resize', $image);
201
-
202
- // Call the custom resize function
203
- this.onResize($image);
204
- },
205
-
206
- /**
207
- * Internal callback hook which gets invoked when the current resizing action has stopped
208
- */
209
- _onResized: function ($image) {
210
-
211
- $('#' + this.imgResizeHeightField.id).val($image.height());
212
- $('#' + this.imgResizeWidthField.id).val($image.width());
213
-
214
- $('body').trigger('aloha-image-resized', $image);
215
-
216
- // Call the custom resize function
217
- this.onResized($image);
218
- },
219
-
220
- /**
221
- * The image that is currently edited
222
- */
223
- imageObj: null,
224
-
225
- /**
226
- * The Jcrop API reference
227
- * this is needed to be able to destroy the cropping frame later on
228
- * the variable is linked to the api object whilst cropping, or set to null otherwise
229
- * strange, but done as documented http://deepliquid.com/content/Jcrop_API.html
230
- */
231
- jcAPI: null,
232
-
233
-
234
- /**
235
- * State variable for the aspect ratio toggle feature
236
- */
237
- keepAspectRatio: false,
238
-
239
- /**
240
- * Variable that will hold the start aspect ratio. This ratio will be used once starResize will be called.
241
- */
242
- startAspectRatio: false,
243
-
244
- /**
245
- * This will contain an image's original properties to be able to undo previous settings
246
- *
247
- * when an image is clicked for the first time, a new object will be added to the array
248
- * {
249
- * obj : [the image object reference],
250
- * src : [the original src url],
251
- * width : [initial width],
252
- * height : [initial height]
253
- * }
254
- *
255
- * when an image is clicked the second time, the array will be checked for the image object
256
- * referenct, to prevent for double entries
257
- */
258
- restoreProps: [],
259
-
260
- objectTypeFilter: [],
261
-
262
- /**
263
- * Plugin initialization method
264
- */
265
- init: function() {
266
-
267
- var that = this;
268
-
269
- var imagePluginUrl = Aloha.getPluginUrl('image');
270
-
271
- // Extend the default settings with the custom ones (done by default)
272
- this.startAspectRatio = this.settings.fixedAspectRatio;
273
- this.config = this.defaultSettings;
274
- this.settings = jQuery.extend(true, this.defaultSettings, this.settings);
275
-
276
- that.initializeButtons();
277
- that.bindInteractions();
278
- that.subscribeEvents();
279
-
280
- },
281
-
282
- /**
283
- * Create buttons
284
- */
285
- initializeButtons: function() {
286
-
287
- var that = this,
288
- tabInsert = i18nCore.t('floatingmenu.tab.insert'),
289
- tabImage = i18n.t('floatingmenu.tab.img'),
290
- tabFormatting = i18n.t('floatingmenu.tab.formatting'),
291
- tabCrop = i18n.t('floatingmenu.tab.crop'),
292
- tabResize = i18n.t('floatingmenu.tab.resize');
293
-
294
- FloatingMenu.createScope(this.name, 'Aloha.empty');
295
-
296
- if (this.settings.ui.insert) {
297
- var tabId = this.settings.ui.oneTab ? tabImage : tabInsert;
298
- that._addUIInsertButton(tabId);
299
- }
300
-
301
- if (this.settings.ui.meta) {
302
- var tabId = this.settings.ui.oneTab ? tabImage : tabImage;
303
- that._addUIMetaButtons(tabId);
304
- }
305
-
306
- if (this.settings.ui.reset) {
307
- var tabId = this.settings.ui.reset ? tabImage : tabImage;
308
- that._addUIResetButton(tabId);
309
- }
310
-
311
- if (this.settings.ui.align) {
312
- var tabId = this.settings.ui.oneTab ? tabImage : tabFormatting;
313
- that._addUIAlignButtons(tabId);
314
- }
315
-
316
- if (this.settings.ui.margin) {
317
- var tabId = this.settings.ui.oneTab ? tabImage : tabFormatting;
318
- that._addUIMarginButtons(tabId);
319
- }
320
-
321
- if (this.settings.ui.crop) {
322
- var tabId = this.settings.ui.oneTab ? tabImage : tabCrop;
323
- that._addUICropButtons(tabId);
324
- }
325
-
326
- if (this.settings.ui.resize) {
327
- var tabId = this.settings.ui.oneTab ? tabImage : tabResize;
328
- that._addUIResizeButtons(tabId);
329
- }
330
-
331
- if (this.settings.ui.aspectRatioToggle) {
332
- var tabId = this.settings.ui.oneTab ? tabImage : tabResize;
333
- that.__addUIAspectRatioToggleButton(tabId);
334
- }
335
-
336
- // TODO fix the function and reenable this button
337
- //that._addNaturalSizeButton();
338
- },
339
-
340
-
341
- /**
342
- * Adds the aspect ratio toggle button to the floating menu
343
- */
344
- __addUIAspectRatioToggleButton: function(tabId) {
345
- var that = this;
346
- var toggleButton = new Aloha.ui.Button({
347
- 'size' : 'small',
348
- 'tooltip' : i18n.t('button.toggle.tooltip'),
349
- 'toggle' : true,
350
- 'iconClass' : 'cnr-ratio',
351
- 'onclick' : function (btn, event) {
352
- that.toggleKeepAspectRatio();
353
- }
354
- });
355
-
356
-
357
- // If the setting has been set to a number or false we need to activate the
358
- // toggle button to indicate that the aspect ratio will be preserved.
359
- if (this.settings.fixedAspectRatio != false) {
360
- toggleButton.pressed = true;
361
- this.keepAspectRatio = true;
362
- }
363
-
364
- FloatingMenu.addButton(
365
- that.name,
366
- toggleButton,
367
- tabId,
368
- 20
369
- );
370
-
371
-
372
- },
373
-
374
-
375
- /**
376
- * Adds the reset button to the floating menu for the given tab
377
- */
378
- _addUIResetButton: function(tabId) {
379
- var that = this;
380
- // Reset button
381
- var resetButton = new Aloha.ui.Button({
382
- 'size' : 'small',
383
- 'tooltip' : i18n.t('Reset'),
384
- 'toggle' : false,
385
- 'iconClass' : 'cnr-reset',
386
- 'onclick' : function (btn, event) {
387
- that.reset();
388
- }
389
- });
390
-
391
- FloatingMenu.addButton(
392
- that.name,
393
- resetButton,
394
- tabId,
395
- 2
396
- );
397
- },
398
-
399
- /**
400
- * Adds the insert button to the floating menu
401
- */
402
- _addUIInsertButton: function(tabId) {
403
- var that = this;
404
- this.insertImgButton = new Aloha.ui.Button({
405
- 'name' : 'insertimage',
406
- 'iconClass': 'aloha-button aloha-image-insert',
407
- 'size' : 'small',
408
- 'onclick' : function () { that.insertImg(); },
409
- 'tooltip' : i18n.t('button.addimg.tooltip'),
410
- 'toggle' : false
411
- });
412
-
413
- FloatingMenu.addButton(
414
- 'Aloha.continuoustext',
415
- this.insertImgButton,
416
- tabId,
417
- 1
418
- );
419
- },
420
-
421
- /**
422
- * Adds the ui meta fields (search, title) to the floating menu.
423
- */
424
- _addUIMetaButtons: function(tabId) {
425
- var that = this;
426
- var imgSrcLabel = new Aloha.ui.Button({
427
- 'label': i18n.t('field.img.src.label'),
428
- 'tooltip': i18n.t('field.img.src.tooltip'),
429
- 'size': 'small'
430
- });
431
- this.imgSrcField = new Aloha.ui.AttributeField({'name' : 'imgsrc'});
432
- this.imgSrcField.setObjectTypeFilter( this.objectTypeFilter );
433
-
434
- // add the title field for images
435
- var imgTitleLabel = new Aloha.ui.Button({
436
- 'label': i18n.t('field.img.title.label'),
437
- 'tooltip': i18n.t('field.img.title.tooltip'),
438
- 'size': 'small'
439
- });
440
-
441
- this.imgTitleField = new Aloha.ui.AttributeField();
442
- this.imgTitleField.setObjectTypeFilter();
443
- FloatingMenu.addButton(
444
- this.name,
445
- this.imgSrcField,
446
- tabId,
447
- 1
448
- );
449
-
450
- },
451
-
452
- /**
453
- * Adds the ui align buttons to the floating menu
454
- */
455
- _addUIAlignButtons: function(tabId) {
456
- var that = this;
457
-
458
- var alignLeftButton = new Aloha.ui.Button({
459
- 'iconClass': 'aloha-img aloha-image-align-left',
460
- 'size': 'small',
461
- 'onclick' : function() {
462
- var el = jQuery(that.findImgMarkup());
463
- el.add(el.parent()).css('float', 'left');
464
- },
465
- 'tooltip': i18n.t('button.img.align.left.tooltip')
466
- });
467
-
468
- FloatingMenu.addButton(
469
- that.name,
470
- alignLeftButton,
471
- tabId,
472
- 1
473
- );
474
-
475
- var alignRightButton = new Aloha.ui.Button({
476
- 'iconClass': 'aloha-img aloha-image-align-right',
477
- 'size': 'small',
478
- 'onclick' : function() {
479
- var el = jQuery(that.findImgMarkup());
480
- el.add(el.parent()).css('float', 'right');
481
- },
482
- 'tooltip': i18n.t('button.img.align.right.tooltip')
483
- });
484
-
485
- FloatingMenu.addButton(
486
- that.name,
487
- alignRightButton,
488
- tabId,
489
- 1
490
- );
491
-
492
- var alignNoneButton = new Aloha.ui.Button({
493
- 'iconClass': 'aloha-img aloha-image-align-none',
494
- 'size': 'small',
495
- 'onclick' : function() {
496
- var el = jQuery(that.findImgMarkup());
497
- el.add(el.parent()).css({
498
- 'float': 'none',
499
- display: 'inline-block'
500
- });
501
- },
502
- 'tooltip': i18n.t('button.img.align.none.tooltip')
503
- });
504
-
505
- FloatingMenu.addButton(
506
- that.name,
507
- alignNoneButton,
508
- tabId,
509
- 1
510
- );
511
-
512
- },
513
-
514
- /**
515
- * Adds the ui margin buttons to the floating menu
516
- */
517
- _addUIMarginButtons: function(tabId) {
518
- var that = this;
519
- var incPadding = new Aloha.ui.Button({
520
- iconClass: 'aloha-img aloha-image-padding-increase',
521
- toggle: false,
522
- size: 'small',
523
- onclick: function() {
524
- jQuery(that.findImgMarkup()).increase('padding');
525
- },
526
- tooltip: i18n.t('padding.increase')
527
- });
528
- FloatingMenu.addButton(
529
- that.name,
530
- incPadding,
531
- tabId,
532
- 2
533
- );
534
-
535
- var decPadding = new Aloha.ui.Button({
536
- iconClass: 'aloha-img aloha-image-padding-decrease',
537
- toggle: false,
538
- size: 'small',
539
- onclick: function() {
540
- jQuery(that.findImgMarkup()).decrease('padding');
541
- },
542
- tooltip: i18n.t('padding.decrease')
543
- });
544
- FloatingMenu.addButton(
545
- that.name,
546
- decPadding,
547
- tabId,
548
- 2
549
- );
550
- },
551
-
552
- /**
553
- * Adds the crop buttons to the floating menu
554
- */
555
- _addUICropButtons: function (tabId) {
556
- var that = this;
557
-
558
- FloatingMenu.createScope('Aloha.img', ['Aloha.global']);
559
-
560
- this.cropButton = new Aloha.ui.Button({
561
- 'size' : 'small',
562
- 'tooltip' : i18n.t('Crop'),
563
- 'toggle' : true,
564
- 'iconClass' : 'cnr-crop',
565
- 'onclick' : function (btn, event) {
566
- if (btn.pressed) {
567
- that.crop();
568
- } else {
569
- that.endCrop();
570
- }
571
- }
572
- });
573
-
574
- FloatingMenu.addButton(
575
- this.name,
576
- this.cropButton,
577
- tabId,
578
- 3
579
- );
580
-
581
- },
582
-
583
- /**
584
- * Adds the resize buttons to the floating menu
585
- */
586
- _addUIResizeButtons: function (tabId) {
587
- var that = this;
588
-
589
- // Manual resize fields
590
- this.imgResizeHeightField = new Aloha.ui.AttributeField();
591
- this.imgResizeHeightField.maxValue = that.settings.maxHeight;
592
- this.imgResizeHeightField.minValue = that.settings.minHeight;
593
-
594
- this.imgResizeWidthField = new Aloha.ui.AttributeField();
595
- this.imgResizeWidthField.maxValue = that.settings.maxWidth;
596
- this.imgResizeWidthField.minValue = that.settings.minWidth;
597
-
598
- this.imgResizeWidthField.width = 50;
599
- this.imgResizeHeightField.width = 50;
600
-
601
- var widthLabel = new Aloha.ui.Button({
602
- 'label': i18n.t('width'),
603
- 'tooltip': i18n.t('width'),
604
- 'size': 'small'
605
- });
606
-
607
- FloatingMenu.addButton(
608
- this.name,
609
- widthLabel,
610
- tabId,
611
- 30
612
- );
613
-
614
- FloatingMenu.addButton(
615
- this.name,
616
- this.imgResizeWidthField,
617
- tabId,
618
- 40
619
- );
620
-
621
-
622
- var heightLabel = new Aloha.ui.Button({
623
- 'label': i18n.t('height'),
624
- 'tooltip': i18n.t('height'),
625
- 'size': 'small'
626
- });
627
-
628
- FloatingMenu.addButton(
629
- this.name,
630
- heightLabel,
631
- tabId,
632
- 50
633
- );
634
-
635
- FloatingMenu.addButton(
636
- this.name,
637
- this.imgResizeHeightField,
638
- tabId,
639
- 60
640
- );
641
-
642
-
643
- },
644
-
645
- /**
646
- * Adds the natural size button to the floating menu
647
- */
648
- _addNaturalSizeButton: function () {
649
- var that = this;
650
- var naturalSize = new Aloha.ui.Button({
651
- iconClass: 'aloha-img aloha-image-size-natural',
652
- size: 'small',
653
- toggle: false,
654
- onclick: function() {
655
- var img = new Image();
656
- img.onload = function() {
657
- var myimage = that.findImgMarkup();
658
- if (that.settings.ui.resizable) {
659
- that.endResize();
660
- }
661
- jQuery(myimage).css({
662
- 'width': img.width + 'px',
663
- 'height': img.height + 'px',
664
- 'max-width': '',
665
- 'max-height': ''
666
- });
667
- if (that.settings.ui.resizable) {
668
- that.resize();
669
- }
670
- };
671
- img.src = that.findImgMarkup().src;
672
-
673
- },
674
- tooltip: i18n.t('size.natural')
675
- });
676
- FloatingMenu.addButton(
677
- this.name,
678
- naturalSize,
679
- tabResize,
680
- 2
681
- );
682
- },
683
-
684
- /**
685
- * Bind plugin interactions
686
- */
687
- bindInteractions: function () {
688
- var that = this;
689
-
690
- if (this.settings.ui.resizable) {
691
- try {
692
- // this will disable mozillas image resizing facilities
693
- document.execCommand( 'enableObjectResizing', false, false );
694
- } catch (e) {
695
- Aloha.Log.error( e, 'Could not disable enableObjectResizing' );
696
- // this is just for internet explorer, who will not support disabling enableObjectResizing
697
- }
698
- }
699
-
700
- if (this.settings.ui.meta) {
701
- // update image object when src changes
702
- this.imgSrcField.addListener('keyup', function(obj, event) {
703
- that.srcChange();
704
- });
705
-
706
- this.imgSrcField.addListener('blur', function(obj, event) {
707
- // TODO remove image or do something usefull if the user leaves the
708
- // image without defining a valid image src.
709
- var img = jQuery(obj.getTargetObject());
710
- if ( img.attr('src') === '' ) {
711
- img.remove();
712
- } // image removal when src field is blank
713
- });
714
- }
715
-
716
- // Override the default method by using the given one
717
- if (this.settings.onCropped && typeof this.settings.onCropped === "function") {
718
- this.onCropped = this.settings.onCropped;
719
- }
720
-
721
- // Override the default method by using the given one
722
- if (this.settings.onReset && typeof this.settings.onReset === "function") {
723
- this.onReset = this.settings.onReset;
724
- }
725
-
726
- // Override the default method by using the given one
727
- if (this.settings.onResized && typeof this.settings.onResized === "function") {
728
- this.onResized = this.settings.onResized;
729
- }
730
-
731
- // Override the default method by using the given one
732
- if (this.settings.onResize && typeof this.settings.onResize === "function") {
733
- this.onResize = this.settings.onResize;
734
- }
735
-
736
- },
737
-
738
- /**
739
- * Subscribe to Aloha events and DragAndDropPlugin Event
740
- */
741
- subscribeEvents: function() {
742
- var that = this;
743
- var config = this.settings;
744
-
745
- jQuery('img').filter(config.globalselector).unbind();
746
- jQuery('img').filter(config.globalselector).click(function(event) {
747
- that.clickImage(event);
748
- });
749
-
750
- Aloha.bind('aloha-drop-files-in-editable', function(event, data) {
751
- var img, len = data.filesObjs.length, fileObj, config;
752
-
753
- while (--len >= 0) {
754
- fileObj = data.filesObjs[len];
755
- if (fileObj.file.type.match(/image\//)) {
756
- config = that.getEditableConfig(data.editable);
757
- // Prepare
758
- img = jQuery('<img/>');
759
- img.css({
760
- "max-width": that.maxWidth,
761
- "max-height": that.maxHeight
762
- });
763
- img.attr('id',fileObj.id);
764
- if (typeof fileObj.src === 'undefined') {
765
- img.attr('src', fileObj.data );
766
- //fileObj.src = fileObj.data ;
767
- } else {
768
- img.attr('src',fileObj.src );
769
- }
770
- GENTICS.Utils.Dom.insertIntoDOM(img, data.range, jQuery(Aloha.activeEditable.obj));
771
- }
772
- }
773
-
774
- });
775
-
776
- /*
777
- * Add the event handler for selection change
778
- */
779
- Aloha.bind('aloha-selection-changed', function(event, rangeObject, originalEvent) {
780
- var config, foundMarkup;
781
- if (originalEvent && originalEvent.target) {
782
- // Check if the element is currently beeing resized
783
- if (that.settings.ui.resizable && !jQuery(originalEvent.target).hasClass('ui-resizable-handle')) {
784
- that.endResize();
785
- }
786
- }
787
-
788
- if (Aloha.activeEditable !== null) {
789
- foundMarkup = that.findImgMarkup( rangeObject );
790
- //var config = that.getEditableConfig(Aloha.activeEditable.obj);
791
- config = that.getEditableConfig(Aloha.activeEditable.obj);
792
-
793
- // FIXME (Did)
794
- if (that.settings.ui.insert)
795
- if (typeof config !== 'undefined' ) {
796
- that.insertImgButton.show();
797
- } else {
798
- that.insertImgButton.hide();
799
- return;
800
- }
801
-
802
- // Enable image specific ui components if the element is an image
803
- if (foundMarkup) {
804
- that.insertImgButton.hide();
805
- FloatingMenu.setScope(that.name);
806
- if (that.settings.ui.meta) {
807
- that.imgSrcField.setTargetObject(foundMarkup, 'src');
808
- that.imgTitleField.setTargetObject(foundMarkup, 'title');
809
- }
810
- that.imgSrcField.focus();
811
- FloatingMenu.activateTabOfButton('imgsrc');
812
- } else {
813
- if (that.settings.ui.meta) {
814
- that.imgSrcField.setTargetObject(null);
815
- }
816
- }
817
- // TODO this should not be necessary here!
818
- FloatingMenu.doLayout();
819
- }
820
-
821
- });
822
-
823
- Aloha.bind('aloha-editable-created', function( event, editable) {
824
-
825
- try {
826
- // this will disable mozillas image resizing facilities
827
- document.execCommand( 'enableObjectResizing', false, false);
828
- } catch (e) {
829
- Aloha.Log.error( e, 'Could not disable enableObjectResizing');
830
- // this is just for others, who will not support disabling enableObjectResizing
831
- }
832
-
833
- // Inital click on images will be handled here
834
- // editable.obj.find('img').attr('_moz_resizing', false);
835
- // editable.obj.find('img').contentEditable(false);
836
- editable.obj.delegate( 'img', 'mouseup', function (event) {
837
- that.clickImage(event);
838
- event.stopPropagation();
839
- });
840
- });
841
-
842
- that._subscribeToResizeFieldEvents();
843
-
844
- },
845
-
846
- /**
847
- * Automatically resize the image to fit into defined bounds.
848
- */
849
- autoResize: function() {
850
- var that = this;
851
-
852
- var width = that.imageObj.width();
853
- var height = that.imageObj.height();
854
-
855
- // Only normalize the field values when the image exeeds the definded bounds
856
- if (width < that.settings.minWidth || width > that.settings.maxWidth || height < that.settings.minHeight || height > that.settings.maxHeight) {
857
- that._setNormalizedFieldValues('width');
858
- that.setSizeByFieldValue();
859
- return true;
860
- } else {
861
- return false;
862
- }
863
- },
864
-
865
- /**
866
- * Toggle the keep aspect ratio functionallity
867
- */
868
- toggleKeepAspectRatio: function() {
869
-
870
- this.keepAspectRatio = !this.keepAspectRatio;
871
-
872
- this.endResize();
873
- if (!this.keepAspectRatio) {
874
- this.startAspectRatio = false;
875
- } else {
876
- // If no fixed aspect ratio was given we will calculate a new start
877
- // aspect ratio that will be used for the next starResize action.
878
- if ( typeof this.settings.fixedAspectRatio !== 'number' ) {
879
- var currentRatio = this.imageObj.width() / this.imageObj.height();
880
- this.startAspectRatio = currentRatio;
881
- } else {
882
- this.startAspectRatio = this.settings.fixedAspectRatio;
883
- }
884
- }
885
- this.startResize();
886
- },
887
-
888
- /**
889
- * Bind interaction events that are invoked on the resize fields
890
- */
891
- _subscribeToResizeFieldEvents: function() {
892
- var that = this;
893
-
894
- /**
895
- * Helper function that will update the fields
896
- */
897
- function updateField( $field, delta, maxValue, minValue ) {
898
-
899
- if ( typeof minValue === 'undefined' ) {
900
- minValue = 0;
901
- }
902
-
903
- if ( typeof maxValue === 'undefined' ) {
904
- maxValue = 8000;
905
- }
906
-
907
- // If the current value of the field can't be parsed we don't update it
908
- var oldValue = parseInt( $field.val() );
909
- if ( isNaN(oldValue) ) {
910
- $field.css( 'background-color', 'red' );
911
- return false;
912
- }
913
-
914
- var newValue = oldValue + delta;
915
- // Exit if the newValue is above the maxValue limit (only if the user tries to increment)
916
- if (delta>=0 && newValue > maxValue) {
917
-
918
- // Auto correct out of bounds values
919
- if (that.settings.autoCorrectManualInput) {
920
- $field.val(maxValue);
921
- return true;
922
- } else {
923
- $field.css('background-color','red');
924
- return false;
925
- }
926
- // Exit if the newValue is below the minValue (only if the user tries to decrement)
927
- } else if (delta<=0 && newValue<minValue) {
928
-
929
- // Auto correct out of bounds values
930
- if (that.settings.autoCorrectManualInput) {
931
- $field.val(minValue);
932
- return true;
933
- } else {
934
- $field.css('background-color','red');
935
- return false;
936
- }
937
- } else {
938
- $field.css('background-color','');
939
- }
940
- $field.val(oldValue + delta);
941
- return true;
942
- };
943
-
944
- /**
945
- * Handle the keyup event on the field
946
- */
947
- function handleKeyUpEventOnField(e) {
948
-
949
- // Load the max/min from the data properties of this event
950
- var minValue = e.data.minValue;
951
- var maxValue = e.data.maxValue;
952
- var fieldName = e.data.fieldName;
953
-
954
- // Allow backspace and delete
955
- if (e.keyCode == 8 || e.keyCode == 46) {
956
- if($(this).val() >= minValue) {
957
-
958
- // Check if we are currently in cropping mode
959
- if(typeof that.jcAPI !== 'undefined' && that.jcAPI != null) {
960
- that.setCropAreaByFieldValue();
961
- } else {
962
- // 1. Normalize the size
963
- that._setNormalizedFieldValues(fieldName);
964
- // 2. Set the final size to the image
965
- that.setSizeByFieldValue();
966
- }
967
- }
968
- // 0-9 keys
969
- } else if (e.keyCode <= 57 && e.keyCode >= 48 || e.keyCode <= 105 && e.keyCode >= 96 ) {
970
- if($(this).val() >= minValue) {
971
-
972
- // Check if we are currently in cropping mode
973
- if(typeof that.jcAPI !== 'undefined' && that.jcAPI != null) {
974
- that.setCropAreaByFieldValue();
975
- } else {
976
- // 1. Normalize the size
977
- that._setNormalizedFieldValues(fieldName);
978
- // 2. Set the final size to the image
979
- that.setSizeByFieldValue();
980
- }
981
- }
982
- } else {
983
- var delta = 0;
984
- if (e.keyCode == 38 || e.keyCode == 107) {
985
- delta = +1;
986
- } else if (e.keyCode == 40 || e.keyCode == 109) {
987
- delta = -1;
988
- }
989
- // Handle key combinations
990
- if ( e.shiftKey || e.metaKey || e.ctrlKey ) {
991
- delta = delta * 10;
992
- }
993
-
994
- // Only resize when field values are ok
995
- if(updateField($(this), delta, maxValue, minValue)) {
996
- // Check if we are currently in cropping mode
997
- if(typeof that.jcAPI !== 'undefined' && that.jcAPI != null) {
998
- that.setCropAreaByFieldValue();
999
- } else {
1000
- // 1. Normalize the size
1001
- that._setNormalizedFieldValues(fieldName);
1002
- // 2. Set the final size to the image
1003
- that.setSizeByFieldValue();
1004
- }
1005
- }
1006
- }
1007
-
1008
- e.preventDefault();
1009
- return false;
1010
- };
1011
-
1012
- /**
1013
- * Handle the mouse wheel event on the field
1014
- */
1015
- function handleMouseWheelEventOnField(e, delta) {
1016
- var minValue = e.data.minValue;
1017
- var maxValue = e.data.maxValue;
1018
- var fieldName = e.data.fieldName;
1019
-
1020
- // Handle key combinations
1021
- if ( e.shiftKey || e.metaKey || e.ctrlKey ) {
1022
- delta = delta * 10;
1023
- }
1024
-
1025
- // Only resize when field values are ok
1026
- if(updateField($(this), delta, maxValue, minValue)) {
1027
-
1028
- // Check if we are currently in cropping mode
1029
- if(typeof that.jcAPI !== 'undefined' && that.jcAPI != null) {
1030
- that.setCropAreaByFieldValue();
1031
- } else {
1032
- // 1. Normalize the size
1033
- that._setNormalizedFieldValues(fieldName);
1034
- // 2. Set the final size to the image
1035
- that.setSizeByFieldValue();
1036
- }
1037
- }
1038
- return false;
1039
- };
1040
-
1041
- /**
1042
- * Handle mousewheel,keyup actions on both fields
1043
- */
1044
- var $heightField = $('#' + that.imgResizeHeightField.id );
1045
- var heightEventData = {fieldName: 'height', maxValue: that.imgResizeHeightField.maxValue, minValue: that.imgResizeHeightField.minValue };
1046
- $heightField.live('keyup', heightEventData, handleKeyUpEventOnField);
1047
- $heightField.live('mousewheel', heightEventData, handleMouseWheelEventOnField);
1048
-
1049
- var $widthField = $('#' + that.imgResizeWidthField.id );
1050
- var widthEventData = {fieldName: 'width', maxValue: that.imgResizeWidthField.maxValue , minValue: that.imgResizeWidthField.minValue };
1051
- $widthField.live('keyup',widthEventData , handleKeyUpEventOnField);
1052
- $widthField.live('mousewheel', widthEventData, handleMouseWheelEventOnField);
1053
-
1054
- },
1055
-
1056
-
1057
- /**
1058
- * This helper function will keep the aspect ratio for the field with the given name.
1059
- */
1060
- _setNormalizedFieldValues: function(primaryFieldName) {
1061
-
1062
- var that = this;
1063
- var widthField = jQuery("#" + that.imgResizeWidthField.id);
1064
- var heightField = jQuery("#" + that.imgResizeHeightField.id);
1065
- var width = widthField.val();
1066
- var height = heightField.val();
1067
-
1068
- var size = that._normalizeSize(width, height, primaryFieldName);
1069
-
1070
- widthField.val(size.width);
1071
- heightField.val(size.height);
1072
-
1073
- },
1074
-
1075
- /**
1076
- * Manually set the given size for the current image
1077
- */
1078
- setSize: function(width, height) {
1079
-
1080
- var that = this;
1081
- this.imageObj.width(width);
1082
- this.imageObj.height(height);
1083
- var $wrapper = this.imageObj.closest('.Aloha_Image_Resize');
1084
- $wrapper.height(height);
1085
- $wrapper.width(width);
1086
-
1087
- this._onResize(this.imageObj);
1088
- this._onResized(this.imageObj);
1089
- },
1090
-
1091
- /**
1092
- * This method will handle the mouseUp event on images (eg. within editables).
1093
- * It will if enabled activate the resizing action.
1094
- */
1095
- clickImage: function( e ) {
1096
-
1097
- var that = this;
1098
- that.imageObj = jQuery(e.target);
1099
- var currentImage = that.imageObj;
1100
-
1101
- FloatingMenu.setScope(that.name);
1102
-
1103
- var editable = currentImage.closest('.aloha-editable');
1104
-
1105
- // Disabling the content editable. This will disable the resizeHandles in internet explorer
1106
- jQuery(editable).contentEditable(false);
1107
-
1108
- //Store the current props of the image
1109
- this.restoreProps.push({
1110
- obj : e.srcElement,
1111
- src : that.imageObj.attr('src'),
1112
- width : that.imageObj.width(),
1113
- height : that.imageObj.height()
1114
- });
1115
-
1116
- // Update the resize input fields with the new width and height
1117
- $('#' + that.imgResizeHeightField.id).val(that.imageObj.height());
1118
- $('#' + that.imgResizeWidthField.id).val(that.imageObj.width());
1119
-
1120
-
1121
- if (this.settings.ui.resizable) {
1122
- this.startResize();
1123
- }
1124
-
1125
-
1126
- if (this.settings.autoResize) {
1127
- this.autoResize();
1128
- }
1129
-
1130
- },
1131
-
1132
- /**
1133
- * This method extracts determins if the range selection contains an image
1134
- */
1135
- findImgMarkup: function ( range ) {
1136
-
1137
- var that = this;
1138
- var config = this.config;
1139
- var result, targetObj;
1140
-
1141
- if ( typeof range === 'undefined' ) {
1142
- range = Aloha.Selection.getRangeObject();
1143
- }
1144
-
1145
- targetObj = jQuery(range.startContainer);
1146
-
1147
- try {
1148
- if ( Aloha.activeEditable ) {
1149
- if (( typeof range.startContainer !== 'undefined'
1150
- && typeof range.startContainer.childNodes !== 'undefined'
1151
- && typeof range.startOffset !== 'undefined'
1152
- && typeof range.startContainer.childNodes[range.startOffset] !== 'undefined'
1153
- && range.startContainer.childNodes[range.startOffset].nodeName.toLowerCase() === 'img'
1154
- && range.startOffset+1 === range.endOffset) ||
1155
- (targetObj.hasClass('Aloha_Image_Resize')))
1156
- {
1157
- result = targetObj.find('img')[0];
1158
- if (! result.css) {
1159
- result.css = '';
1160
- }
1161
-
1162
- if (! result.title) {
1163
- result.title = '';
1164
- }
1165
-
1166
- if (! result.src) {
1167
- result.src = '';
1168
- }
1169
- return result;
1170
- }
1171
- else {
1172
- return null;
1173
- }
1174
- }
1175
- } catch (e) {
1176
- Aloha.Log.debug(e, "Error finding img markup.");
1177
- }
1178
- return null;
1179
-
1180
- },
1181
-
1182
-
1183
- /**
1184
- * This helper function will calculate the new width and height while keeping
1185
- * the aspect ratio when the keepAspectRatio flat is set to true. The primarySize
1186
- * can be 'width' or 'height'. The function will first try to normalize the oposite size.
1187
- */
1188
- _normalizeSize: function(width, height, primarySize) {
1189
-
1190
- var that = this;
1191
- // Convert string values to numbers
1192
- width = parseInt(width);
1193
- height = parseInt(height);
1194
-
1195
- /**
1196
- * Inner function that calculates the new height by examining the width
1197
- */
1198
- function handleHeight(callHandleWidth) {
1199
-
1200
- // Check whether the value is within bounds
1201
- if (height > that.settings.maxHeight) {
1202
-
1203
- // Throw a notification event
1204
- var eventProps = { 'org': height, 'new': that.settings.maxHeight};
1205
- $('body').trigger('aloha-image-resize-outofbounds', ["height", "max", eventProps]);
1206
- height = that.settings.maxHeight;
1207
-
1208
- } else if (height < that.settings.minHeight) {
1209
-
1210
- // Throw a notification event
1211
- var eventProps = { 'org': height, 'new': that.settings.minHeight};
1212
- $('body').trigger('aloha-image-resize-outofbounds', ["height", "min", eventProps]);
1213
- height = that.settings.minHeight;
1214
- }
1215
-
1216
- if (that.keepAspectRatio) {
1217
- width = height * aspectRatio;
1218
-
1219
- // We don't want to invoke handleWidth again. This would mess up our previously calculated width
1220
- if (callHandleWidth) {
1221
- handleWidth(false);
1222
- }
1223
- }
1224
-
1225
-
1226
- }
1227
-
1228
- /**
1229
- * Inner function that calculates the new width by examining the width
1230
- */
1231
- function handleWidth(callHandleHeight) {
1232
-
1233
- // Check whether the value is within bounds
1234
- if (width > that.settings.maxWidth) {
1235
-
1236
- // Throw a notification event
1237
- var eventProps = { 'org': width, 'new': that.settings.maxWidth};
1238
- $('body').trigger('aloha-image-resize-outofbounds', ["width", "max", eventProps]);
1239
-
1240
- width = that.settings.maxWidth;
1241
- } else if (width < that.settings.minWidth) {
1242
-
1243
- // Throw a notification event
1244
- var eventProps = { 'org': width, 'new': that.settings.minWidth};
1245
- $('body').trigger('aloha-image-resize-outofbounds', ["width", "min", eventProps]);
1246
-
1247
- width = that.settings.minWidth;
1248
- }
1249
-
1250
- // Calculate the new height
1251
- if (that.keepAspectRatio) {
1252
- height = width / aspectRatio;
1253
-
1254
- // We don't want to invoke handleHeight again. This would mess up our previously calculated height
1255
- if (callHandleHeight) {
1256
- handleHeight(false);
1257
- }
1258
-
1259
- }
1260
-
1261
- }
1262
-
1263
- // Load the aspect ratio and use the 4:3 ratio as default value.
1264
- var aspectRatio = 1.33333;
1265
- if (typeof that.startAspectRatio === 'number') {
1266
- aspectRatio = that.startAspectRatio;
1267
- }
1268
-
1269
- // Determin which size should be handled
1270
- if (primarySize == 'width') {
1271
- handleWidth(true);
1272
- }
1273
-
1274
- if (primarySize == 'height') {
1275
- handleHeight(true);
1276
- }
1277
-
1278
- // Floor the values return them
1279
- return {'width': Math.floor(width), 'height': Math.floor(height)};
1280
- },
1281
-
1282
-
1283
- /**
1284
- * Helper function that will set the new image size using the field values
1285
- */
1286
- setSizeByFieldValue: function() {
1287
- var that = this;
1288
- var width = $('#' + that.imgResizeWidthField.id ).val();
1289
- var height = $('#' + that.imgResizeHeightField.id ).val();
1290
- that.setSize(width, height);
1291
- },
1292
-
1293
- /**
1294
- * Helper function that will set the new crop area width and height using the field values
1295
- */
1296
- setCropAreaByFieldValue: function() {
1297
- var that = this;
1298
- var currentCropArea = that.jcAPI.tellSelect();
1299
-
1300
- var width = $('#' + that.imgResizeWidthField.id ).val();
1301
- width = parseInt(width);
1302
- var height = $('#' + that.imgResizeHeightField.id ).val();
1303
- height = parseInt(height);
1304
-
1305
- var selection = [currentCropArea['x'], currentCropArea['y'], currentCropArea['x'] + width,currentCropArea['y'] + height];
1306
- that.jcAPI.setSelect(selection);
1307
- },
1308
-
1309
- /**
1310
- * This method will insert a new image dom element into the dom tree
1311
- */
1312
- insertImg: function() {
1313
- var range = Aloha.Selection.getRangeObject(),
1314
- config = this.getEditableConfig(Aloha.activeEditable.obj),
1315
- imagePluginUrl = Aloha.getPluginUrl('image'),
1316
- imagestyle, imagetag, newImg;
1317
-
1318
- if ( range.isCollapsed() ) {
1319
- // TODO I would suggest to call the srcChange method. So all image src
1320
- // changes are on one single point.
1321
- imagestyle = "max-width: " + config.maxWidth + "; max-height: " + config.maxHeight;
1322
- imagetag = '<img style="'+ imagestyle + '" src="' + imagePluginUrl + '/img/blank.jpg" title="" />';
1323
- newImg = jQuery(imagetag);
1324
- // add the click selection handler
1325
- //newImg.click( Aloha.Image.clickImage ); - Using delegate now
1326
- GENTICS.Utils.Dom.insertIntoDOM(newImg, range, jQuery(Aloha.activeEditable.obj));
1327
-
1328
- } else {
1329
- Aloha.Log.error('img cannot markup a selection');
1330
- // TODO the desired behavior could be me the selected content is
1331
- // replaced by an image.
1332
- // TODO it should be editor's choice, with an NON-Ext Dialog instead of alert
1333
-
1334
- }
1335
- },
1336
-
1337
- srcChange: function () {
1338
- // TODO the src changed. I suggest :
1339
- // 1. set an loading image (I suggest set src base64 enc) to show the user
1340
- // we are trying to load an image
1341
- // 2. start a request to get the image
1342
- // 3a. the image is ok change the src
1343
- // 3b. the image is not availbable show an error.
1344
- this.imageObj.attr('src', this.imgSrcField.getQueryValue() ); // (the img tag)
1345
- // jQuery(img).attr('src', this.imgSrcField.getQueryValue() ); // (the query value in the inputfield)
1346
- // this.imgSrcField.getItem(); // (optinal a selected resource item)
1347
- // TODO additionally implement an srcChange Handler to let implementer
1348
- // customize
1349
- },
1350
-
1351
- /**
1352
- * Reposition the crop buttons below the crop area
1353
- */
1354
- positionCropButtons: function() {
1355
-
1356
- var jt = jQuery('.jcrop-tracker:first'),
1357
- off = jt.offset(),
1358
- jtt = off.top,
1359
- jtl = off.left,
1360
- jth = jt.height(),
1361
- jtw = jt.width();
1362
-
1363
- var oldLeft = 0,
1364
- oldTop = 0;
1365
-
1366
- var btns = jQuery('#aloha-CropNResize-btns');
1367
-
1368
- // Hack to hide the buttons when the user just clicked into the image
1369
- if ( jtt == 0 && jtl == 0 ) {
1370
- btns.hide();
1371
- }
1372
-
1373
- // move the icons to the bottom right side
1374
- jtt = parseInt(jtt + jth + 3, 10);
1375
- jtl = parseInt(jtl + (jtw/2)-(btns.width()/2)+10, 10);
1376
-
1377
- // comparison to old values hinders flickering bug in FF
1378
- if (oldLeft != jtl || oldTop != jtt) {
1379
- btns.offset({top: jtt, left: jtl});
1380
- }
1381
-
1382
- oldLeft = jtl;
1383
- oldTop = jtt;
1384
- },
1385
-
1386
- /**
1387
- * Code imported from CropnResize Plugin
1388
- *
1389
- */
1390
- initCropButtons: function() {
1391
- var that = this,
1392
- btns;
1393
-
1394
- jQuery('body').append(
1395
- '<div id="aloha-CropNResize-btns" display="none">' +
1396
- '<button class="cnr-crop-apply" title="' + i18n.t('Accept') + '"></button>' +
1397
- '<button class="cnr-crop-cancel" title="' + i18n.t('Cancel') + '"></button>' +
1398
- '</div>'
1399
- );
1400
-
1401
- btns = jQuery('#aloha-CropNResize-btns');
1402
-
1403
- btns.find('.cnr-crop-apply').click(function () {
1404
- that.acceptCrop();
1405
- });
1406
-
1407
- btns.find('.cnr-crop-cancel').click(function () {
1408
- that.endCrop();
1409
- });
1410
-
1411
- this.interval = setInterval(function () {
1412
- that.positionCropButtons();
1413
- }, 10);
1414
- },
1415
-
1416
- /**
1417
- * Destroy crop confirm and cancel buttons
1418
- */
1419
- destroyCropButtons: function () {
1420
- jQuery('#aloha-CropNResize-btns').remove();
1421
- clearInterval(this.interval);
1422
- },
1423
-
1424
- /**
1425
- * Helper function that will disable selectability of elements
1426
- */
1427
- _disableSelection: function (el) {
1428
- el.find('*').attr('unselectable', 'on')
1429
- .css({
1430
- '-moz-user-select':'none',
1431
- '-webkit-user-select':'none',
1432
- 'user-select':'none'
1433
- });
1434
- /*
1435
- .each(function() {
1436
- this.onselectstart = function () { return false; };
1437
- });
1438
- */
1439
-
1440
- },
1441
-
1442
- /**
1443
- * Initiate a crop action
1444
- */
1445
- crop: function () {
1446
- var that = this;
1447
- var config = this.config;
1448
-
1449
- this.initCropButtons();
1450
- if (this.settings.ui.resizable) {
1451
- this.endResize();
1452
- }
1453
-
1454
- this.jcAPI = jQuery.Jcrop(this.imageObj, {
1455
- onSelect : function () {
1456
- that._onCropSelect();
1457
- // ugly hack to keep scope :(
1458
- setTimeout(function () {
1459
- FloatingMenu.setScope(that.name);
1460
- }, 10);
1461
- }
1462
- });
1463
-
1464
- that._disableSelection($('.jcrop-holder'));
1465
- that._disableSelection($('#imageContainer'));
1466
- that._disableSelection($('#aloha-CropNResize-btns'));
1467
- $('body').trigger('aloha-image-crop-start', [this.imageObj]);
1468
- },
1469
-
1470
- /**
1471
- * Internal on crop select method
1472
- */
1473
- _onCropSelect: function() {
1474
- var that = this;
1475
-
1476
- jQuery('#aloha-CropNResize-btns').fadeIn('slow');
1477
-
1478
- // Hide the crop buttons when the one of the handles is clicked
1479
- jQuery('.jcrop-handle').mousedown(function() {
1480
- jQuery('#aloha-CropNResize-btns').hide();
1481
- });
1482
-
1483
- jQuery('.jcrop-tracker').mousedown(function() {
1484
- jQuery('#aloha-CropNResize-btns').hide();
1485
- });
1486
-
1487
- // Update the width and height field using the intiial active crop area values
1488
- if(typeof that.jcAPI !== 'undefined' && that.jcAPI != null) {
1489
-
1490
- that.positionCropButtons();
1491
- var currentCropArea = that.jcAPI.tellSelect();
1492
-
1493
- var widthField = jQuery("#" + that.imgResizeWidthField.id).val(currentCropArea['w']);
1494
- var heightField = jQuery("#" + that.imgResizeHeightField.id).val(currentCropArea['h']);
1495
- }
1496
-
1497
- },
1498
-
1499
-
1500
- /**
1501
- * Terminates a crop
1502
- */
1503
- endCrop: function () {
1504
- if ( this.jcAPI ) {
1505
- this.jcAPI.destroy();
1506
- this.jcAPI = null;
1507
- }
1508
-
1509
- this.destroyCropButtons();
1510
- this.cropButton.extButton.toggle(false);
1511
-
1512
- if ( this.settings.ui.resizable ) {
1513
- this.startResize();
1514
- }
1515
-
1516
- if ( this.keepAspectRatio ) {
1517
- var currentRatio = this.imageObj.width() / this.imageObj.height();
1518
- this.startAspectRatio = currentRatio;
1519
- }
1520
-
1521
- $('body').trigger('aloha-image-crop-stop', [this.imageObj]);
1522
- },
1523
-
1524
- /**
1525
- * Accept the current cropping area and apply the crop
1526
- */
1527
- acceptCrop: function () {
1528
- this._onCropped ( this.imageObj, this.jcAPI.tellSelect() );
1529
- this.endCrop ();
1530
- },
1531
-
1532
- /**
1533
- * This method will activate the jquery-ui resize functionality for the current image
1534
- */
1535
- startResize: function () {
1536
- var that = this;
1537
- var currentImageObj = this.imageObj;
1538
-
1539
- currentImageObj = this.imageObj.css({
1540
- height : this.imageObj.height(),
1541
- width : this.imageObj.width(),
1542
- position : 'relative',
1543
- 'max-height': '',
1544
- 'max-width' : ''
1545
- });
1546
-
1547
- currentImageObj.resizable({
1548
-
1549
- maxHeight : that.settings.maxHeight,
1550
- minHeight : that.settings.minHeight,
1551
- maxWidth : that.settings.maxWidth,
1552
- minWidth : that.settings.minWidth,
1553
- aspectRatio : that.startAspectRatio,
1554
- handles: that.settings.handles,
1555
- grid : that.settings.grid,
1556
- resize: function(event, ui) {
1557
- that._onResize(that.imageObj);
1558
- },
1559
- stop : function (event, ui) {
1560
- that._onResized(that.imageObj);
1561
-
1562
- // Workaround to finish cropping
1563
- if (this.enableCrop) {
1564
- setTimeout(function () {
1565
- FloatingMenu.setScope(that.name);
1566
- that.done(event);
1567
- }, 10);
1568
- }
1569
- }
1570
-
1571
- });
1572
-
1573
- currentImageObj.css('display', 'inline-block');
1574
-
1575
- // this will prevent the user from resizing an image
1576
- // using IE's resize handles
1577
- // however I could not manage to hide them completely
1578
- jQuery('.ui-wrapper')
1579
- .attr('contentEditable', false)
1580
- .addClass('aloha-image-box-active Aloha_Image_Resize aloha')
1581
- .css({
1582
- position: 'relative',
1583
- display: 'inline-block',
1584
- 'float': that.imageObj.css('float')
1585
- })
1586
- .bind('resizestart', function (e) {
1587
- e.preventDefault();
1588
- })
1589
- .bind('mouseup', function (e) {
1590
- e.originalEvent.stopSelectionUpdate = true;
1591
- });
1592
- },
1593
-
1594
- /**
1595
- * This method will end resizing and toggle buttons accordingly and remove all markup that has been added for cropping
1596
- */
1597
- endResize: function () {
1598
- // Find the nearest contenteditable and reenable it since resizing is finished
1599
- if (this.imageObj) {
1600
- var editable = this.imageObj.closest('.aloha-editable');
1601
- jQuery(editable).contentEditable(true);
1602
- }
1603
-
1604
- if (this.imageObj) {
1605
- this.imageObj
1606
- .resizable('destroy')
1607
- .css({
1608
- top : 0,
1609
- left : 0
1610
- });
1611
- }
1612
- },
1613
-
1614
- /**
1615
- * Reset the image to it's original properties
1616
- */
1617
- reset: function() {
1618
- if (this.settings.ui.crop) {
1619
- this.endCrop();
1620
- }
1621
-
1622
- if (this.settings.ui.resizable) {
1623
- this.endResize();
1624
- }
1625
-
1626
- if (this._onReset(this.imageObj)) {
1627
- // the external reset procedure has already performed a reset, so there is no need to apply an internal reset
1628
- return;
1629
- }
1630
-
1631
- for (var i=0;i<this.restoreProps.length;i++) {
1632
- // restore from restoreProps if there is a match
1633
- if (this.imageObj.get(0) === this.restoreProps[i].obj) {
1634
- this.imageObj.attr('src', this.restoreProps[i].src);
1635
- this.imageObj.width(this.restoreProps[i].width);
1636
- this.imageObj.height(this.restoreProps[i].height);
1637
- return;
1638
- }
1639
- }
1640
- }
1641
- });
22
+ // js
23
+ 'jquery',
24
+ 'aloha/plugin',
25
+ 'image/image-floatingMenu',
26
+ 'i18n!aloha/nls/i18n',
27
+ 'i18n!image/nls/i18n',
28
+ 'jqueryui',
29
+ 'image/vendor/jcrop/jquery.jcrop.min',
30
+ 'image/vendor/mousewheel/mousewheel'
31
+ ], function AlohaImagePlugin(
32
+ aQuery,
33
+ Plugin,
34
+ ImageFloatingMenu,
35
+ i18nCore,
36
+ i18n
37
+ ){
38
+
39
+ 'use strict';
40
+
41
+ var jQuery = aQuery;
42
+ var $ = aQuery;
43
+ var GENTICS = window.GENTICS;
44
+ var Aloha = window.Aloha;
45
+ var resizing = false;
46
+
47
+ // Attributes manipulation utilities
48
+ // Aloha team may want to factorize, it could be useful for other plugins
49
+ // Prototypes
50
+ String.prototype.toInteger = String.prototype.toInteger || function () {
51
+ return parseInt(String(this).replace(/px$/, '') || 0, 10);
52
+ };
53
+ String.prototype.toFloat = String.prototype.toInteger || function () {
54
+ return parseFloat(String(this).replace(/px$/, '') || 0, 10);
55
+ };
56
+ Number.prototype.toInteger = Number.prototype.toInteger || String.prototype.toInteger;
57
+ Number.prototype.toFloat = Number.prototype.toFloat || String.prototype.toFloat;
58
+
59
+ // Insert jQuery Prototypes
60
+ jQuery.extend(true, jQuery.fn, {
61
+ increase: jQuery.fn.increase || function (attr) {
62
+ var obj = jQuery(this), value, newValue;
63
+ if (!obj.length) {
64
+ return obj;
65
+ }
66
+ value = obj.css(attr).toFloat();
67
+ newValue = Math.round((value || 1) * 1.2);
68
+ // when value is 2, won't increase
69
+ if (value === newValue) {
70
+ newValue++;
71
+ }
72
+ obj.css(attr, newValue);
73
+ return obj;
74
+ },
75
+ decrease: jQuery.fn.decrease || function (attr) {
76
+ var obj = jQuery(this), value, newValue;
77
+ // Check
78
+ if (!obj.length) {
79
+ return obj;
80
+ }
81
+ // Calculate
82
+ value = obj.css(attr).toFloat();
83
+ newValue = Math.round((value || 0) * 0.8);
84
+ // Apply
85
+ if (value === newValue && newValue > 0) {
86
+ // when value is 2, won't increase
87
+ newValue--;
88
+ }
89
+ obj.css(attr, newValue);
90
+ // Chain
91
+ return obj;
92
+ }
93
+ });
94
+
95
+ // Create and register Image Plugin
96
+ return Plugin.create('image', {
97
+ defaultSettings: {
98
+ 'maxWidth': 1600,
99
+ 'minWidth': 3,
100
+ 'maxHeight': 1200,
101
+ 'minHeight': 3,
102
+ // This setting will manually correct values that are out of bounds
103
+ 'autoCorrectManualInput': true,
104
+ // This setting will define a fixed aspect ratio for all resize actions
105
+ 'fixedAspectRatio' : false,
106
+ // When enabled this setting will order the plugin to automatically resize images to given bounds
107
+ 'autoResize': false,
108
+ //Image manipulation options - ONLY in default config section
109
+ ui: {
110
+ meta : true, // If imageResizeWidth and imageResizeHeight are displayed, then you will want to set this to true, so that the width and height text fields are updated automatically.
111
+ crop : true, // If imageCropButton is displayed, then you have to enable this.
112
+ resizable : true // Resizable ui-drag image
113
+ },
114
+ handles : 'ne, se, sw, nw', // set handles for resize
115
+
116
+ /**
117
+ * Crop callback is triggered after the user clicked accept to accept his crop
118
+ * @param image jquery image object reference
119
+ * @param props cropping properties
120
+ */
121
+ onCropped: function ($image, props) {
122
+ Aloha.Log.info('Default onCropped invoked', $image, props);
123
+ },
124
+
125
+ /**
126
+ * Reset callback is triggered before the internal reset procedure is applied
127
+ * if this function returns true, then the reset has been handled by the callback
128
+ * which means that no other reset will be applied
129
+ * if false is returned the internal reset procedure will be applied
130
+ * @param image jquery image object reference
131
+ * @return true if a reset has been applied, false otherwise
132
+ */
133
+ onReset: function ($image) {
134
+ Aloha.Log.info('Default onReset invoked', $image);
135
+ return false;
136
+ },
137
+
138
+ /**
139
+ * Example callback method which gets called while the resize process is being executed.
140
+ */
141
+ onResize: function ($image) {
142
+ Aloha.Log.info('Default onResize invoked', $image);
143
+ },
144
+
145
+ /**
146
+ * Resize callback is triggered after the internal resize procedure is applied.
147
+ */
148
+ onResized: function ($image) {
149
+ Aloha.Log.info('Default onResized invoked', $image);
150
+ }
151
+ },
152
+
153
+ /**
154
+ * Internal callback hook which gets invoked when cropping has been finished
155
+ */
156
+ _onCropped: function ($image, props) {
157
+
158
+ $('body').trigger('aloha-image-cropped', [$image, props]);
159
+
160
+ // After successful cropping, the aspect ratio value has to recalculated
161
+ if (this.keepAspectRatio) {
162
+ this.aspectRatioValue = this.imageObj.width() / this.imageObj.height();
163
+ }
164
+
165
+ // Call the custom onCropped function
166
+ this.onCropped($image, props);
167
+ },
168
+
169
+ /**
170
+ * Internal callback hook which gets invoked when resetting images
171
+ */
172
+ _onReset: function ($image) {
173
+
174
+ // No default behaviour defined besides event triggering
175
+ $('body').trigger('aloha-image-reset', $image);
176
+
177
+ $('#' + this.ui.imgResizeHeightField.getInputId()).val($image.height());
178
+ $('#' + this.ui.imgResizeWidthField.getInputId()).val($image.width());
179
+
180
+ // Call the custom resize function
181
+ return this.onReset($image);
182
+ },
183
+
184
+ /**
185
+ * Internal callback hook which gets invoked while the image is being resized
186
+ */
187
+ _onResize: function ($image) {
188
+
189
+ // No default behaviour defined besides event triggering
190
+ $('body').trigger('aloha-image-resize', $image);
191
+
192
+ $('#' + this.ui.imgResizeHeightField.getInputId()).val($image.height());
193
+ $('#' + this.ui.imgResizeWidthField.getInputId()).val($image.width());
194
+
195
+ // Call the custom resize function
196
+ this.onResize($image);
197
+ },
198
+
199
+ /**
200
+ * Internal callback hook which gets invoked when the current resizing action has stopped
201
+ */
202
+ _onResized: function ($image) {
203
+
204
+ $('body').trigger('aloha-image-resized', $image);
205
+
206
+ $('#' + this.ui.imgResizeHeightField.getInputId()).val($image.height());
207
+ $('#' + this.ui.imgResizeWidthField.getInputId()).val($image.width());
208
+
209
+ // Call the custom resize function
210
+ this.onResized($image);
211
+ },
212
+
213
+ /**
214
+ * The image that is currently edited
215
+ */
216
+ imageObj: null,
217
+
218
+
219
+ /**
220
+ * The Jcrop API reference
221
+ * this is needed to be able to destroy the cropping frame later on
222
+ * the variable is linked to the api object whilst cropping, or set to null otherwise
223
+ * strange, but done as documented http://deepliquid.com/content/Jcrop_API.html
224
+ */
225
+ jcAPI: null,
226
+
227
+
228
+ /**
229
+ * State variable for the aspect ratio toggle feature
230
+ */
231
+ keepAspectRatio: false,
232
+
233
+ /**
234
+ * Variable that will hold the value of the aspect ratio. This ratio will be used once startResize has been called
235
+ */
236
+ aspectRatioValue: false,
237
+
238
+ /**
239
+ * This will contain an image's original properties to be able to undo previous settings
240
+ *
241
+ * when an image is clicked for the first time, a new object will be added to the array
242
+ * {
243
+ * obj : [the image object reference],
244
+ * src : [the original src url],
245
+ * width : [initial width],
246
+ * height : [initial height]
247
+ * }
248
+ *
249
+ * when an image is clicked the second time, the array will be checked for the image object
250
+ * reference, to prevent double entries
251
+ */
252
+ restoreProps: [],
253
+
254
+ /**
255
+ * the defined object types to be used for this instance
256
+ */
257
+ objectTypeFilter: [],
258
+
259
+ /**
260
+ * Plugin initialization method
261
+ */
262
+ init: function () {
263
+
264
+ var plugin = this;
265
+
266
+ var imagePluginUrl = Aloha.getPluginUrl('image');
267
+
268
+ if ( typeof this.settings.objectTypeFilter != 'undefined' ) {
269
+ this.objectTypeFilter = this.settings.objectTypeFilter;
270
+ }
271
+
272
+ // Extend the default settings with the custom ones (done by default)
273
+ plugin.config = plugin.defaultSettings;
274
+ plugin.settings = jQuery.extend(true, plugin.defaultSettings, plugin.settings);
275
+
276
+ // Determine the flag and the value of the aspect ratio depending on settings
277
+ if ( typeof this.settings.fixedAspectRatio === 'number' ) {
278
+ this.aspectRatioValue = this.settings.fixedAspectRatio;
279
+ plugin.keepAspectRatio = true;
280
+ } else {
281
+ if ((plugin.settings.fixedAspectRatio) === true) {
282
+ plugin.keepAspectRatio = true;
283
+ } else {
284
+ plugin.keepAspectRatio = false;
285
+ }
286
+ }
287
+
288
+ plugin.initializeUI();
289
+ plugin.bindInteractions();
290
+ plugin.subscribeEvents();
291
+
292
+ },
293
+
294
+ /**
295
+ * Create buttons
296
+ */
297
+ initializeUI: function () {
298
+
299
+ var that = this;
300
+
301
+ this.ui = new ImageFloatingMenu();
302
+ this.ui.init(this);
303
+ },
304
+ /**
305
+ * Bind plugin interactions
306
+ */
307
+ bindInteractions: function () {
308
+ var plugin = this;
309
+
310
+ if (plugin.settings.ui.resizable) {
311
+ try {
312
+ // this will disable mozillas image resizing facilities
313
+ document.execCommand('enableObjectResizing', false, false);
314
+ } catch (e) {
315
+ Aloha.Log.info(e, 'Could not disable enableObjectResizing');
316
+ // this is just for internet explorer, which will not support disabling enableObjectResizing
317
+ }
318
+ }
319
+
320
+ if (plugin.settings.ui.meta) {
321
+ // update image object when src changes
322
+ plugin.ui.imgSrcField.addListener('keyup', function (event) {
323
+ plugin.srcChange();
324
+ });
325
+
326
+ plugin.ui.imgSrcField.addListener('blur', function (event) {
327
+ // TODO remove image or do something useful if the user leaves the
328
+ // image without defining a valid image src
329
+ var img = jQuery(plugin.ui.imgSrcField.getTargetObject());
330
+ if (img.attr('src') === '') {
331
+ img.remove();
332
+ } // image removal when src field is blank
333
+ });
334
+ }
335
+
336
+ // Override the default method by using the given one
337
+ if (plugin.settings.onCropped && typeof plugin.settings.onCropped === "function") {
338
+ plugin.onCropped = plugin.settings.onCropped;
339
+ }
340
+
341
+ // Override the default method by using the given one
342
+ if (plugin.settings.onReset && typeof plugin.settings.onReset === "function") {
343
+ plugin.onReset = plugin.settings.onReset;
344
+ }
345
+
346
+ // Override the default method by using the given one
347
+ if (plugin.settings.onResized && typeof plugin.settings.onResized === "function") {
348
+ plugin.onResized = plugin.settings.onResized;
349
+ }
350
+
351
+ // Override the default method by using the given one
352
+ if (plugin.settings.onResize && typeof plugin.settings.onResize === "function") {
353
+ plugin.onResize = this.settings.onResize;
354
+ }
355
+
356
+ },
357
+
358
+ /**
359
+ * Subscribe to Aloha events and DragAndDropPlugin Event
360
+ */
361
+ subscribeEvents: function () {
362
+ var plugin = this;
363
+ var config = this.settings;
364
+
365
+ jQuery('img').filter(config.globalselector).unbind();
366
+ jQuery('img').filter(config.globalselector).click(function (event) {
367
+ plugin.clickImage(event);
368
+ });
369
+
370
+ Aloha.bind('aloha-drop-files-in-editable', function (event, data) {
371
+ var img, len = data.filesObjs.length, fileObj, config;
372
+
373
+ while (--len >= 0) {
374
+ fileObj = data.filesObjs[len];
375
+ if (fileObj.file.type.match(/image\//)) {
376
+ config = plugin.getEditableConfig(data.editable);
377
+ // Prepare
378
+ img = jQuery('<img/>');
379
+ img.css({
380
+ "max-width": that.maxWidth,
381
+ "max-height": that.maxHeight
382
+ });
383
+ img.attr('id', fileObj.id);
384
+ if (typeof fileObj.src === 'undefined') {
385
+ img.attr('src', fileObj.data);
386
+ //fileObj.src = fileObj.data ;
387
+ } else {
388
+ img.attr('src', fileObj.src);
389
+ }
390
+ GENTICS.Utils.Dom.insertIntoDOM(img, data.range, jQuery(Aloha.activeEditable.obj));
391
+ }
392
+ }
393
+
394
+ });
395
+ /*
396
+ * Add the event handler for selection change
397
+ */
398
+ Aloha.bind('aloha-selection-changed', function (event, rangeObject, originalEvent) {
399
+ var config, foundMarkup;
400
+
401
+ if (originalEvent && originalEvent.target) {
402
+ // Check if the element is currently being resized
403
+ if (plugin.settings.ui.resizable && !jQuery(originalEvent.target).hasClass('ui-resizable-handle')) {
404
+ plugin.endResize();
405
+ plugin.imageObj = null;
406
+ Aloha.trigger('aloha-image-unselected');
407
+ }
408
+ }
409
+
410
+ if (Aloha.activeEditable !== null) {
411
+ foundMarkup = plugin.findImgMarkup(rangeObject);
412
+ config = plugin.getEditableConfig(Aloha.activeEditable.obj);
413
+
414
+ if (typeof config !== 'undefined') {
415
+ plugin.ui._insertImageButton.show();
416
+ } else {
417
+ plugin.ui._insertImageButton.hide();
418
+ return;
419
+ }
420
+
421
+ // Enable image specific ui components if the element is an image
422
+ if (foundMarkup) { // TODO : this is always null (below is dead code, moving it to clickImage)
423
+ plugin.ui._insertImageButton.show();
424
+ plugin.ui.setScope();
425
+ if (plugin.settings.ui.meta) {
426
+ plugin.ui.imgSrcField.setTargetObject(foundMarkup, 'src');
427
+ plugin.ui.imgTitleField.setTargetObject(foundMarkup, 'title');
428
+ }
429
+ plugin.ui.imgSrcField.foreground();
430
+ plugin.ui.imgSrcField.focus();
431
+ } else {
432
+ if (plugin.settings.ui.meta) {
433
+ plugin.ui.imgSrcField.setTargetObject(null);
434
+ }
435
+ }
436
+ // TODO this should not be necessary here!
437
+ plugin.ui.doLayout();
438
+ }
439
+
440
+ });
441
+
442
+ Aloha.bind('aloha-editable-created', function (event, editable) {
443
+ try {
444
+ // this disables mozillas image resizing facilities
445
+ document.execCommand('enableObjectResizing', false, false);
446
+ } catch (e) {
447
+ Aloha.Log.info(e, 'Could not disable enableObjectResizing');
448
+ // this is just for other browsers, which do not support disabling enableObjectResizing
449
+ }
450
+
451
+ // Inital click on images will be handled here
452
+ // editable.obj.find('img').attr('_moz_resizing', false);
453
+ // editable.obj.find('img').contentEditable(false);
454
+
455
+ editable.obj.delegate('img', 'mouseup', function (event) {
456
+ if (!resizing) {
457
+ plugin.clickImage(event);
458
+ event.stopPropagation();
459
+ }
460
+ });
461
+ });
462
+
463
+ plugin._subscribeToResizeFieldEvents();
464
+
465
+ },
466
+
467
+
468
+ /**
469
+ * Automatically resize the image to fit into defined bounds.
470
+ * @param doScaleUp if true, small images are scaled up to fit minimum size
471
+ */
472
+ autoResize: function(doScaleUp) {
473
+ // @todo handle ratio mismatches (eg 4:3 is set but image is 16:9 --> image needs to be cut)
474
+
475
+ var that = this;
476
+
477
+ var widthField = jQuery("#" + that.ui.imgResizeWidthField.getInputId());
478
+ var heightField = jQuery("#" + that.ui.imgResizeHeightField.getInputId());
479
+
480
+ var width = that.imageObj.width();
481
+ var height = that.imageObj.height();
482
+ var resize = false;
483
+
484
+ // Only normalize the field values if the image exceeds the defined bounds
485
+ if (width < that.settings.minWidth ||
486
+ width > that.settings.maxWidth ||
487
+ height < that.settings.minHeight ||
488
+ height > that.settings.maxHeight) {
489
+ resize = true;
490
+ }
491
+
492
+ var aspectRatio = width / height;
493
+
494
+ if (resize) {
495
+ if (width > that.settings.maxWidth) {
496
+ width = that.settings.maxWidth;
497
+ height = width / aspectRatio;
498
+ }
499
+
500
+ if (height > that.settings.maxHeight) {
501
+ height = that.settings.maxHeight;
502
+ width = height * aspectRatio;
503
+ }
504
+
505
+ if ((width < that.settings.minWidth) && doScaleUp) {
506
+ width = that.settings.minWidth;
507
+ height = width / aspectRatio;
508
+ }
509
+
510
+ if ((height < that.settings.minHeight) && doScaleUp) {
511
+ height = that.settings.minHeight;
512
+ width = width * aspectRatio;
513
+ }
514
+
515
+ widthField.val(width);
516
+ heightField.val(height);
517
+
518
+ that.setSizeByFieldValue();
519
+ return true;
520
+ }
521
+ return false;
522
+ },
523
+
524
+ /**
525
+ * Toggle the keep aspect ratio functionality
526
+ */
527
+ toggleKeepAspectRatio: function() {
528
+
529
+ this.keepAspectRatio = !this.keepAspectRatio;
530
+
531
+ if (typeof this.jcAPI !== 'undefined' && this.jcAPI !== null) {
532
+ //toggling keepaspectratio during crop is deactivated until implemented
533
+ //this.ui._imageCnrRatioButton.setState(false);
534
+
535
+ } else {
536
+
537
+
538
+ this.endResize();
539
+ if (!this.keepAspectRatio) {
540
+ this.aspectRatioValue = false;
541
+ } else {
542
+ // If no fixed aspect ratio was given a new start aspect ratio is calculated
543
+ // that will be used for the next startResize action
544
+
545
+ if ( typeof this.settings.fixedAspectRatio !== 'number' ) {
546
+ this.aspectRatioValue = this.imageObj.width() / this.imageObj.height();
547
+ } else {
548
+ this.aspectRatioValue = this.settings.fixedAspectRatio;
549
+ }
550
+ }
551
+ this.startResize();
552
+ }
553
+ },
554
+
555
+ /**
556
+ * Bind interaction events that are invoked on the resize fields
557
+ */
558
+ _subscribeToResizeFieldEvents: function () {
559
+ var plugin = this;
560
+
561
+ /**
562
+ * Handle the keyup event on the field
563
+ */
564
+ function handleKeyUpEventOnField(e) {
565
+
566
+ // Load the max/min from the data properties of this event
567
+ var minValue = e.data.minValue;
568
+ var maxValue = e.data.maxValue;
569
+ var fieldName = e.data.fieldName;
570
+
571
+ // Allow backspace and delete
572
+ if (e.keyCode === 8 || e.keyCode === 46) {
573
+
574
+ // Only resize if field values are ok
575
+ if (plugin._updateFields(fieldName, $(this).val(), false)) {
576
+ // Check if we are currently in cropping mode
577
+ if (typeof plugin.jcAPI !== 'undefined' && plugin.jcAPI !== null) {
578
+ plugin.setCropAreaByFieldValue();
579
+ } else {
580
+ plugin.setSizeByFieldValue();
581
+ }
582
+ }
583
+ // 0-9 keys
584
+ } else if (e.keyCode <= 57 && e.keyCode >= 48 || e.keyCode <= 105 && e.keyCode >= 96 ) {
585
+
586
+ // Only resize if field values are ok
587
+ if (plugin._updateFields(fieldName, $(this).val(), false)) {
588
+ // Check if we are currently in cropping mode
589
+ if (typeof plugin.jcAPI !== 'undefined' && plugin.jcAPI !== null) {
590
+ plugin.setCropAreaByFieldValue();
591
+ } else {
592
+ plugin.setSizeByFieldValue();
593
+ }
594
+ }
595
+ } else {
596
+ var delta = 0;
597
+ if (e.keyCode === 38 || e.keyCode === 107) {
598
+ delta = +1;
599
+ } else if (e.keyCode === 40 || e.keyCode === 109) {
600
+ delta = -1;
601
+ }
602
+ // Handle key combinations
603
+ if (e.shiftKey || e.metaKey || e.ctrlKey) {
604
+ delta = delta * 10;
605
+ }
606
+
607
+ var isDecrement = false;
608
+ if (delta < 0) {
609
+ isDecrement = true;
610
+ }
611
+ var newValue = parseInt($(this).val(), 10) + delta;
612
+
613
+ // Only resize if field values are ok
614
+ if (plugin._updateFields(fieldName, newValue, isDecrement)) {
615
+ // Check if we are currently in cropping mode
616
+ if (typeof plugin.jcAPI !== 'undefined' && plugin.jcAPI !== null) {
617
+ plugin.setCropAreaByFieldValue();
618
+ } else {
619
+ plugin.setSizeByFieldValue();
620
+ }
621
+ }
622
+ }
623
+
624
+ e.preventDefault();
625
+ return false;
626
+ }
627
+
628
+ /**
629
+ * Handle the mouse wheel event on the field
630
+ */
631
+ function handleMouseWheelEventOnField(e, delta) {
632
+ var minValue = e.data.minValue;
633
+ var maxValue = e.data.maxValue;
634
+ var fieldName = e.data.fieldName;
635
+
636
+ // Handle key combinations
637
+ if (e.shiftKey || e.metaKey || e.ctrlKey) {
638
+ delta = delta * 10;
639
+ }
640
+
641
+ var newValue = parseInt($(this).val(), 10) + delta;
642
+ var decrement = false;
643
+ if (delta < 0) {
644
+ decrement = true;
645
+ }
646
+
647
+ // Only resize if field values are ok
648
+ if (plugin._updateFields(fieldName, newValue, decrement)) {
649
+ // Check if we are currently in cropping mode
650
+ if (typeof plugin.jcAPI !== 'undefined' && plugin.jcAPI !== null) {
651
+ plugin.setCropAreaByFieldValue();
652
+ } else {
653
+ plugin.setSizeByFieldValue();
654
+ }
655
+ }
656
+ return false;
657
+ }
658
+
659
+ /**
660
+ * Handle mousewheel,keyup actions on both fields
661
+ */
662
+ var $heightField = $('#' + plugin.ui.imgResizeHeightField.getInputId());
663
+ var heightEventData = {fieldName: 'height', maxValue: plugin.ui.imgResizeHeightField.maxValue, minValue: plugin.ui.imgResizeHeightField.minValue };
664
+ $heightField.live('keyup', heightEventData, handleKeyUpEventOnField);
665
+ $heightField.live('mousewheel', heightEventData, handleMouseWheelEventOnField);
666
+
667
+ var $widthField = $('#' + plugin.ui.imgResizeWidthField.getInputId());
668
+ var widthEventData = {fieldName: 'width', maxValue: plugin.ui.imgResizeWidthField.maxValue, minValue: plugin.ui.imgResizeWidthField.minValue};
669
+ $widthField.live('keyup', widthEventData, handleKeyUpEventOnField);
670
+ $widthField.live('mousewheel', widthEventData, handleMouseWheelEventOnField);
671
+
672
+ },
673
+
674
+ /**
675
+ * Manually set the given size for the current image
676
+ */
677
+ setSize: function (width, height) {
678
+
679
+ var plugin = this;
680
+ plugin.imageObj.width(width);
681
+ plugin.imageObj.height(height);
682
+ var $wrapper = plugin.imageObj.closest('.Aloha_Image_Resize');
683
+ $wrapper.height(height);
684
+ $wrapper.width(width);
685
+
686
+ plugin._onResize(plugin.imageObj);
687
+ plugin._onResized(plugin.imageObj);
688
+ },
689
+
690
+ /**
691
+ * This method will handle the mouseUp event on images (eg. within editables).
692
+ * It will if enabled activate the resizing action.
693
+ */
694
+ clickImage: function (e) {
695
+
696
+ var plugin = this;
697
+ plugin.endResize(); // removes previous resize handler
698
+ plugin.imageObj = jQuery(e.target);
699
+ var currentImage = plugin.imageObj;
700
+
701
+ // Ignore any images that are part of the ui (e.g. block edit and delete icons)
702
+ if (currentImage.hasClass('aloha-ui')) {
703
+ return;
704
+ }
705
+
706
+ plugin.ui.setScope();
707
+
708
+ var editable = currentImage.closest('.aloha-editable');
709
+
710
+ this.ui._imageCnrRatioButton.setState(this.keepAspectRatio);
711
+
712
+ // Disabling the content editable. This will disable the resizeHandles in internet explorer
713
+ // already done in resize on a smaller scope, this block next aloha-selection-change event
714
+ // to be thrown
715
+ // editable.contentEditable(false);
716
+
717
+ //Store the current props of the image
718
+ this.restoreProps.push({
719
+ obj : e.srcElement,
720
+ src : plugin.imageObj.attr('src'),
721
+ width : plugin.imageObj.width(),
722
+ height : plugin.imageObj.height()
723
+ });
724
+
725
+ // Update the resize input fields with the new width and height
726
+ var heightField = $('#' + plugin.ui.imgResizeHeightField.getInputId());
727
+ heightField.val(plugin.imageObj.height());
728
+ heightField.css('background-color', '');
729
+
730
+ var widthField = $('#' + plugin.ui.imgResizeWidthField.getInputId());
731
+ widthField.val(plugin.imageObj.width());
732
+ widthField.css('background-color', '');
733
+
734
+ if (plugin.settings.ui.meta) {
735
+ plugin.ui.imgSrcField.setTargetObject(plugin.imageObj, 'src');
736
+ plugin.ui.imgTitleField.setTargetObject(plugin.imageObj, 'title');
737
+ }
738
+ Aloha.Selection.preventSelectionChanged();
739
+ try {
740
+ plugin.ui.imgSrcField.focus();
741
+ } catch(e) {
742
+ // FIXME for some reason execution breaks at this point
743
+ }
744
+
745
+ //to handle switching between images, aspect ratio is recalculated on click
746
+ plugin.aspectRatioValue = plugin.imageObj.width() / plugin.imageObj.height();
747
+
748
+ if (plugin.settings.ui.resizable) {
749
+ plugin.startResize();
750
+ }
751
+
752
+ if (plugin.settings.autoResize) {
753
+ plugin.autoResize(true);
754
+ }
755
+ Aloha.Selection.preventSelectionChangedFlag = false;
756
+ Aloha.trigger('aloha-image-selected');
757
+ },
758
+
759
+ /**
760
+ * This method extracts determins if the range selection contains an image
761
+ *
762
+ * UNUSED as long as clickImage don't change the selection
763
+ * @see getPluginFocus instead
764
+ */
765
+ findImgMarkup: function (range) {
766
+
767
+ var plugin = this;
768
+ var config = this.config;
769
+ var result, targetObj;
770
+
771
+ if (typeof range === 'undefined') {
772
+ range = Aloha.Selection.getRangeObject();
773
+ }
774
+
775
+ targetObj = jQuery(range.startContainer);
776
+
777
+ try {
778
+ if (Aloha.activeEditable) {
779
+ if ((typeof range.startContainer !== 'undefined' &&
780
+ typeof range.startContainer.childNodes !== 'undefined' &&
781
+ typeof range.startOffset !== 'undefined' &&
782
+ typeof range.startContainer.childNodes[range.startOffset] !== 'undefined' &&
783
+ range.startContainer.childNodes[range.startOffset].nodeName.toLowerCase() === 'img' &&
784
+ range.startOffset + 1 === range.endOffset) ||
785
+ (targetObj.hasClass('Aloha_Image_Resize')))
786
+ {
787
+ result = targetObj.find('img')[0];
788
+ if (! result.css) {
789
+ result.css = '';
790
+ }
791
+
792
+ if (! result.title) {
793
+ result.title = '';
794
+ }
795
+
796
+ if (! result.src) {
797
+ result.src = '';
798
+ }
799
+ return result;
800
+ }
801
+ else {
802
+ return null;
803
+ }
804
+ }
805
+ } catch (e) {
806
+ Aloha.Log.debug(e, "Error finding img markup.");
807
+ }
808
+ return null;
809
+ },
810
+ /**
811
+ * Gets the plugin focus target
812
+ */
813
+ getPluginFocus: function () {
814
+ return this.imageObj;
815
+ },
816
+
817
+ /**
818
+ * Helper function that checks a field-input (of height or width), adjusts
819
+ * its value to conform to minimum/maximum values, and corrects the other field
820
+ * if the aspect ratio is to be kept
821
+ * @param primaryFieldName the field which is currently edited ('height' or 'width')
822
+ * @param newValue the value as it was entered into the primary field
823
+ * @param isDecrement true if value is being decreased (by key or mousewheel); prevents decreasing below minimum
824
+ * @return true if values are correct or have been corrected, and image can be resized
825
+ */
826
+ _updateFields: function (primaryFieldName, newValue, isDecrement) {
827
+ var plugin = this;
828
+
829
+ var primaryField = null;
830
+ var secondaryField = null;
831
+
832
+ var adjustedAspectRatio = null;
833
+ var primaryMin = null;
834
+ var primaryMax = null;
835
+ var secondaryMin = null;
836
+ var secondaryMax = null;
837
+
838
+ //depending on the field that is edited, primary and secondary values are set
839
+ if (primaryFieldName == 'width') {
840
+ primaryField = jQuery("#" + plugin.ui.imgResizeWidthField.getInputId());
841
+ secondaryField = jQuery("#" + plugin.ui.imgResizeHeightField.getInputId());
842
+ adjustedAspectRatio = ( 1 / plugin.aspectRatioValue );
843
+
844
+ primaryMin = plugin.settings.minWidth;
845
+ primaryMax = plugin.settings.maxWidth;
846
+ secondaryMin = plugin.settings.minHeight;
847
+ secondaryMax = plugin.settings.maxHeight;
848
+
849
+ } else if (primaryFieldName == 'height') {
850
+ primaryField = jQuery("#" + plugin.ui.imgResizeHeightField.getInputId());
851
+ secondaryField = jQuery("#" + plugin.ui.imgResizeWidthField.getInputId());
852
+ adjustedAspectRatio = plugin.aspectRatioValue;
853
+
854
+ primaryMin = plugin.settings.minHeight;
855
+ primaryMax = plugin.settings.maxHeight;
856
+ secondaryMin = plugin.settings.minWidth;
857
+ secondaryMax = plugin.settings.maxWidth;
858
+ } else {
859
+ //if primaryFieldName is neither width nor height, don't update the fields
860
+ return false;
861
+ }
862
+
863
+ if (isNaN(newValue)) {
864
+ primaryField.css('background-color', 'red');
865
+ // If the current value of the field can't be parsed it is not updated
866
+ return false;
867
+ }
868
+ else {
869
+ primaryField.val(newValue);
870
+ }
871
+
872
+ var correctPrimary = true;
873
+
874
+ if (newValue > primaryMax) {
875
+ // Auto correct out of bounds values
876
+ if (plugin.settings.autoCorrectManualInput) {
877
+ primaryField.val(primaryMax);
878
+ newValue = primaryField.val();
879
+ primaryField.css('background-color', '');
880
+ correctPrimary = true;
881
+ // Just notify the user, do nothing
882
+ } else {
883
+ primaryField.css('background-color', 'red');
884
+ correctPrimary = false;
885
+ }
886
+ } else if (newValue < primaryMin) {
887
+ // Don't let the user decrement values below minimum
888
+ if (isDecrement) {
889
+ primaryField.val(primaryMin);
890
+ newValue = primaryField.val();
891
+ correctPrimary = true;
892
+ // Auto correct out of bounds values
893
+ } else if (plugin.settings.autoCorrectManualInput) {
894
+ primaryField.css('background-color', 'wheat');
895
+ correctPrimary = false;
896
+ // Just notify the user, do nothing
897
+ } else {
898
+ primaryField.css('background-color', 'red');
899
+ correctPrimary = false;
900
+ }
901
+ } else {
902
+ primaryField.css('background-color', '');
903
+ correctPrimary = true;
904
+ }
905
+
906
+ var correctSecondary = true;
907
+
908
+ // if keep aspect ratio is enabled, the field that is not edited is updated as well
909
+ if ( plugin.keepAspectRatio ) {
910
+ var secondary = Math.round(newValue * adjustedAspectRatio);
911
+
912
+ if (secondary > secondaryMax) {
913
+ // Auto correct out of bounds values
914
+ if (plugin.settings.autoCorrectManualInput) {
915
+ secondaryField.val(secondaryMax);
916
+ primaryField.val(secondaryField.val() / adjustedAspectRatio);
917
+ newValue = primaryField.val();
918
+ primaryField.css('background-color', '');
919
+ secondaryField.css('background-color', '');
920
+ correctSecondary = true;
921
+ // Just notify the user, do nothing
922
+ } else {
923
+ secondary.css('background-color', 'red');
924
+ correctSecondary = false;
925
+ }
926
+ } else if (secondary < secondaryMin) {
927
+ // Don't let the user decrement values below minimum
928
+ if (isDecrement) {
929
+ secondaryField.val(secondaryMin);
930
+ primaryField.val(secondaryField.val() / adjustedAspectRatio);
931
+ newValue = primaryField.val();
932
+ correctPrimary = true;
933
+ // Auto correct out of bounds values
934
+ } else if (plugin.settings.autoCorrectManualInput) {
935
+ secondaryField.val(secondary);
936
+ secondaryField.css('background-color', 'wheat');
937
+ correctSecondary = false;
938
+ // Just notify the user, do nothing
939
+ } else {
940
+ secondaryField.css('background-color', 'red');
941
+ correctSecondary = false;
942
+ }
943
+ } else {
944
+ secondaryField.val(secondary);
945
+ secondaryField.css('background-color', '');
946
+ correctSecondary = true;
947
+ }
948
+ }
949
+
950
+ //Success if values are correct or have been adjusted accordingly
951
+ if (correctPrimary && correctSecondary) {
952
+ return true;
953
+ }
954
+ return false;
955
+ },
956
+
957
+ /**
958
+ * Helper function that will set the new image size using the field values
959
+ */
960
+ setSizeByFieldValue: function () {
961
+ var plugin = this;
962
+ var width = $('#' + plugin.ui.imgResizeWidthField.getInputId()).val();
963
+ var height = $('#' + plugin.ui.imgResizeHeightField.getInputId()).val();
964
+ plugin.setSize(width, height);
965
+ },
966
+
967
+ /**
968
+ * Helper function that will set the new crop area width and height using the field values
969
+ */
970
+ setCropAreaByFieldValue: function () {
971
+ var plugin = this;
972
+ var currentCropArea = plugin.jcAPI.tellSelect();
973
+
974
+ var width = $('#' + plugin.ui.imgResizeWidthField.getInputId()).val();
975
+ width = parseInt(width, 10);
976
+ var height = $('#' + plugin.ui.imgResizeHeightField.getInputId()).val();
977
+ height = parseInt(height, 10);
978
+
979
+ var selection = [currentCropArea['x'], currentCropArea['y'], currentCropArea['x'] + width,currentCropArea['y'] + height];
980
+ plugin.jcAPI.setSelect(selection);
981
+ },
982
+
983
+ /**
984
+ * This method will insert a new image dom element into the dom tree
985
+ */
986
+ insertImg: function () {
987
+ var range = Aloha.Selection.getRangeObject(),
988
+ config = this.getEditableConfig(Aloha.activeEditable.obj),
989
+ imagePluginUrl = Aloha.getPluginUrl('image'),
990
+ imagestyle, imagetag, newImg;
991
+
992
+ if (range.isCollapsed()) {
993
+ // TODO I would suggest to call the srcChange method. So all image src
994
+ // changes are on one single point.
995
+ imagestyle = "max-width: " + config.maxWidth + "; max-height: " + config.maxHeight;
996
+ imagetag = '<img style="' + imagestyle + '" src="' + imagePluginUrl + '/img/blank.jpg" title="" />';
997
+ newImg = jQuery(imagetag);
998
+ // add the click selection handler
999
+ //newImg.click( Aloha.Image.clickImage ); - Using delegate now
1000
+ GENTICS.Utils.Dom.insertIntoDOM(newImg, range, jQuery(Aloha.activeEditable.obj));
1001
+
1002
+ } else {
1003
+ Aloha.Log.error('img cannot markup a selection');
1004
+ // TODO the desired behavior could be me the selected content is
1005
+ // replaced by an image.
1006
+ // TODO it should be editor's choice, with an NON-Ext Dialog instead of alert
1007
+
1008
+ }
1009
+ },
1010
+
1011
+ srcChange: function () {
1012
+ // TODO the src changed. I suggest :
1013
+ // 1. set an loading image (I suggest set src base64 enc) to show the user
1014
+ // we are trying to load an image
1015
+ // 2. start a request to get the image
1016
+ // 3a. the image is ok change the src
1017
+ // 3b. the image is not availbable show an error.
1018
+ this.imageObj.attr('src', this.ui.imgSrcField.getValue()); // (the img tag)
1019
+ // jQuery(img).attr('src', this.imgSrcField.getQueryValue()); // (the query value in the inputfield)
1020
+ // this.imgSrcField.getItem(); // (optinal a selected resource item)
1021
+ // TODO additionally implement an srcChange Handler to let implementer
1022
+ // customize
1023
+ },
1024
+
1025
+ /**
1026
+ * Reposition the crop buttons below the crop area
1027
+ */
1028
+ positionCropButtons: function() {
1029
+
1030
+ var jt = jQuery('.jcrop-tracker:first'),
1031
+ off = jt.offset(),
1032
+ jtt = off.top,
1033
+ jtl = off.left,
1034
+ jth = jt.height(),
1035
+ jtw = jt.width();
1036
+
1037
+ var oldLeft = 0,
1038
+ oldTop = 0;
1039
+
1040
+ var btns = jQuery('#aloha-CropNResize-btns');
1041
+
1042
+ // Hack to hide the buttons when the user just clicked into the image
1043
+ if (jtt === 0 && jtl === 0) {
1044
+ btns.hide();
1045
+ }
1046
+
1047
+ // move the icons to the bottom right side
1048
+ jtt = parseInt(jtt + jth + 3, 10);
1049
+ jtl = parseInt(jtl + (jtw / 2) - (btns.width() / 2) + 10, 10);
1050
+
1051
+ // comparison to old values hinders flickering bug in FF
1052
+ if (oldLeft != jtl || oldTop != jtt) {
1053
+ btns.offset({top: jtt, left: jtl});
1054
+ }
1055
+
1056
+ oldLeft = jtl;
1057
+ oldTop = jtt;
1058
+ },
1059
+
1060
+ /**
1061
+ * Code imported from CropnResize Plugin
1062
+ *
1063
+ */
1064
+ initCropButtons: function() {
1065
+ var that = this,
1066
+ btns;
1067
+
1068
+ jQuery('body').append(
1069
+ '<div id="aloha-CropNResize-btns" display="none">' +
1070
+ '<button class="cnr-crop-apply" title="' + i18n.t('Accept') + '"></button>' +
1071
+ '<button class="cnr-crop-cancel" title="' + i18n.t('Cancel') + '"></button>' +
1072
+ '</div>'
1073
+ );
1074
+
1075
+ btns = jQuery('#aloha-CropNResize-btns');
1076
+
1077
+ btns.find('.cnr-crop-apply').click(function () {
1078
+ that.acceptCrop();
1079
+ });
1080
+
1081
+ btns.find('.cnr-crop-cancel').click(function () {
1082
+ that.endCrop();
1083
+ });
1084
+
1085
+ this.interval = setInterval(function () {
1086
+ that.positionCropButtons();
1087
+ }, 10);
1088
+ },
1089
+
1090
+ /**
1091
+ * Destroy crop confirm and cancel buttons
1092
+ */
1093
+ destroyCropButtons: function () {
1094
+ jQuery('#aloha-CropNResize-btns').remove();
1095
+ clearInterval(this.interval);
1096
+ },
1097
+
1098
+ /**
1099
+ * Helper function that will disable selectability of elements
1100
+ */
1101
+ _disableSelection: function (el) {
1102
+ el.find('*').attr('unselectable', 'on')
1103
+ .css({
1104
+ '-moz-user-select':'none',
1105
+ '-webkit-user-select':'none',
1106
+ 'user-select':'none'
1107
+ });
1108
+ /*
1109
+ .each(function() {
1110
+ this.onselectstart = function () { return false; };
1111
+ });
1112
+ */
1113
+
1114
+ },
1115
+
1116
+ /**
1117
+ * Initiate a crop action
1118
+ */
1119
+ crop: function () {
1120
+ var plugin = this;
1121
+ var config = this.config;
1122
+
1123
+ plugin.initCropButtons();
1124
+ if (plugin.settings.ui.resizable) {
1125
+ plugin.endResize();
1126
+ }
1127
+
1128
+ plugin.jcAPI = jQuery.Jcrop(plugin.imageObj, {
1129
+ onSelect : function () {
1130
+ plugin._onCropSelect();
1131
+ // ugly hack to keep scope :(
1132
+ window.setTimeout(function () {
1133
+ plugin.ui.setScope();
1134
+ }, 10);
1135
+ }
1136
+ });
1137
+
1138
+ plugin._disableSelection($('.jcrop-holder'));
1139
+ plugin._disableSelection($('#imageContainer'));
1140
+ plugin._disableSelection($('#aloha-CropNResize-btns'));
1141
+ $('body').trigger('aloha-image-crop-start', [plugin.imageObj]);
1142
+ },
1143
+
1144
+ /**
1145
+ * Internal on crop select method
1146
+ */
1147
+ _onCropSelect: function () {
1148
+ var plugin = this;
1149
+
1150
+ jQuery('#aloha-CropNResize-btns').fadeIn('slow');
1151
+
1152
+ // Hide the crop buttons when the one of the handles is clicked
1153
+ jQuery('.jcrop-handle').mousedown(function () {
1154
+ jQuery('#aloha-CropNResize-btns').hide();
1155
+ });
1156
+
1157
+ jQuery('.jcrop-tracker').mousedown(function () {
1158
+ jQuery('#aloha-CropNResize-btns').hide();
1159
+ });
1160
+
1161
+ // Update the width and height field using the initial active crop area values
1162
+ if (typeof plugin.jcAPI !== 'undefined' && plugin.jcAPI !== null) {
1163
+
1164
+ plugin.positionCropButtons();
1165
+ var currentCropArea = plugin.jcAPI.tellSelect();
1166
+
1167
+ var widthField = jQuery("#" + plugin.ui.imgResizeWidthField.getInputId()).val(currentCropArea['w']);
1168
+ var heightField = jQuery("#" + plugin.ui.imgResizeHeightField.getInputId()).val(currentCropArea['h']);
1169
+
1170
+ }
1171
+
1172
+ },
1173
+
1174
+
1175
+ /**
1176
+ * Terminates a crop
1177
+ */
1178
+ endCrop: function () {
1179
+ if (this.jcAPI) {
1180
+ this.jcAPI.destroy();
1181
+ this.jcAPI = null;
1182
+ }
1183
+
1184
+ this.destroyCropButtons();
1185
+ this.ui._imageCropButton.setState(false);
1186
+
1187
+ if (this.settings.ui.resizable) {
1188
+ this.startResize();
1189
+ }
1190
+
1191
+ $('body').trigger('aloha-image-crop-stop', [this.imageObj]);
1192
+
1193
+ //after cropping, field values are set to (once again) contain image width/height
1194
+ $('#' + this.ui.imgResizeHeightField.getInputId()).val(this.imageObj.height());
1195
+ $('#' + this.ui.imgResizeWidthField.getInputId()).val(this.imageObj.width());
1196
+
1197
+ },
1198
+
1199
+ /**
1200
+ * Accept the current cropping area and apply the crop
1201
+ */
1202
+ acceptCrop: function () {
1203
+ this._onCropped(this.imageObj, this.jcAPI.tellSelect());
1204
+ this.endCrop();
1205
+ },
1206
+
1207
+ /**
1208
+ * This method will activate the jquery-ui resize functionality for the current image
1209
+ */
1210
+ startResize: function () {
1211
+ var plugin = this;
1212
+ var currentImageObj = this.imageObj;
1213
+ var ratio = plugin.keepAspectRatio ? plugin.aspectRatioValue : false;
1214
+
1215
+ currentImageObj = this.imageObj.css({
1216
+ height : this.imageObj.height(),
1217
+ width : this.imageObj.width(),
1218
+ position : 'relative',
1219
+ 'max-height': '',
1220
+ 'max-width' : ''
1221
+ });
1222
+
1223
+ currentImageObj.resizable({
1224
+ maxHeight : plugin.settings.maxHeight,
1225
+ minHeight : plugin.settings.minHeight,
1226
+ maxWidth : plugin.settings.maxWidth,
1227
+ minWidth : plugin.settings.minWidth,
1228
+ aspectRatio : ratio,
1229
+ handles: plugin.settings.handles,
1230
+ grid : plugin.settings.grid,
1231
+ resize: function (event, ui) {
1232
+ resizing = true;
1233
+ plugin._onResize(plugin.imageObj);
1234
+ },
1235
+ stop : function (event, ui) {
1236
+ resizing = false;
1237
+
1238
+ plugin._onResized(plugin.imageObj);
1239
+
1240
+ // Workaround to finish cropping
1241
+ if (this.enableCrop) {
1242
+ window.setTimeout(function () {
1243
+ plugin.ui.setScope();
1244
+ that.done(event);
1245
+ }, 10);
1246
+ }
1247
+ }
1248
+
1249
+ });
1250
+
1251
+ currentImageObj.css('display', 'inline-block');
1252
+
1253
+ // this will prevent the user from resizing an image
1254
+ // using IE's resize handles
1255
+ // however I could not manage to hide them completely
1256
+ jQuery('.ui-wrapper')
1257
+ .attr('contentEditable', false)
1258
+ .addClass('aloha-image-box-active Aloha_Image_Resize aloha')
1259
+ .css({
1260
+ position: 'relative',
1261
+ display: 'inline-block',
1262
+ 'float': plugin.imageObj.css('float')
1263
+ })
1264
+ .bind('resizestart', function (e) {
1265
+ e.preventDefault();
1266
+ })
1267
+ .bind('mouseup', function (e) {
1268
+ e.originalEvent.stopSelectionUpdate = true;
1269
+ });
1270
+ },
1271
+
1272
+ /**
1273
+ * This method will end resizing and toggle buttons accordingly and remove all markup that has been added for cropping
1274
+ */
1275
+ endResize: function () {
1276
+ // Find the nearest contenteditable and reenable it since resizing is finished
1277
+ if (this.imageObj) {
1278
+ var editable = this.imageObj.closest('.aloha-editable');
1279
+ //this.imageObj.contentEditable(true);
1280
+ }
1281
+
1282
+ if (this.imageObj && this.imageObj.is(":ui-resizable")) {
1283
+ this.imageObj
1284
+ .resizable('destroy')
1285
+ .css({
1286
+ top : 0,
1287
+ left : 0
1288
+ });
1289
+ }
1290
+ },
1291
+
1292
+ resetSize: function () {
1293
+ var plugin = this,
1294
+ img = new Image();
1295
+ img.onload = function () {
1296
+ var myimage = plugin.getPluginFocus();
1297
+ if (plugin.settings.ui.resizable) {
1298
+ plugin.endResize();
1299
+ }
1300
+ jQuery(myimage).add(myimage.parent()).css({
1301
+ 'width': img.width + 'px',
1302
+ 'height': img.height + 'px',
1303
+ 'max-width': '',
1304
+ 'max-height': ''
1305
+ });
1306
+ if (plugin.settings.ui.resizable) {
1307
+ plugin.resize();
1308
+ }
1309
+ };
1310
+ img.src = plugin.getPluginFocus().attr('src');
1311
+ },
1312
+ /**
1313
+ * Reset the image to its original properties
1314
+ */
1315
+ reset: function () {
1316
+ if (this.settings.ui.crop) {
1317
+ this.endCrop();
1318
+ }
1319
+
1320
+ if (this.settings.ui.resizable) {
1321
+ this.endResize();
1322
+ }
1323
+
1324
+ if (this._onReset(this.imageObj)) {
1325
+ // the external reset procedure has already performed a reset, so there is no need to apply an internal reset
1326
+ return;
1327
+ }
1328
+
1329
+ for (var i = 0;i < this.restoreProps.length;i++) {
1330
+ // restore from restoreProps if there is a match
1331
+ if (this.imageObj.get(0) === this.restoreProps[i].obj) {
1332
+ this.imageObj.attr('src', this.restoreProps[i].src);
1333
+ this.imageObj.width(this.restoreProps[i].width);
1334
+ this.imageObj.height(this.restoreProps[i].height);
1335
+ return;
1336
+ }
1337
+ }
1338
+ }
1339
+ });
1642
1340
 
1643
1341
  });