alchemy_cms 2.0.7 → 2.1.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (256) hide show
  1. data/.gitignore +1 -4
  2. data/.travis.yml +1 -1
  3. data/Gemfile +7 -2
  4. data/README.md +6 -6
  5. data/Rakefile +26 -18
  6. data/alchemy_cms.gemspec +14 -14
  7. data/{assets/stylesheets → app/assets/images/alchemy}/Jcrop.gif +0 -0
  8. data/{assets/images → app/assets/images/alchemy}/ajax_loader.gif +0 -0
  9. data/{assets/images → app/assets/images/alchemy}/alchemy-logo.png +0 -0
  10. data/{assets/images → app/assets/images/alchemy}/flags.png +0 -0
  11. data/{assets/images → app/assets/images/alchemy}/gui/navi-tab.png +0 -0
  12. data/{assets/images → app/assets/images/alchemy}/gui/shading_90.png +0 -0
  13. data/{assets/images → app/assets/images/alchemy}/gui/toggle.png +0 -0
  14. data/{assets/images → app/assets/images/alchemy}/icons.png +0 -0
  15. data/{assets/images → app/assets/images/alchemy}/image_loader.gif +0 -0
  16. data/{assets/images → app/assets/images/alchemy}/jquery-sb/select_arrow.gif +0 -0
  17. data/{assets/images → app/assets/images/alchemy}/jquery-sb/select_arrow_bg.gif +0 -0
  18. data/{assets/images → app/assets/images/alchemy}/jquery-sb/select_arrow_bg_hover.gif +0 -0
  19. data/{assets/images → app/assets/images/alchemy}/placeholder.png +0 -0
  20. data/{assets/images/gui → app/assets/images/alchemy}/shading.png +0 -0
  21. data/{assets/images → app/assets/images/alchemy}/swfupload/browse_button.png +0 -0
  22. data/{assets/stylesheets/default/img → app/assets/images/alchemy}/tabs.gif +0 -0
  23. data/{assets/images/jquery-ui → app/assets/images/alchemy}/ui-icons_666666_256x240.png +0 -0
  24. data/app/assets/javascripts/alchemy/alchemy.base.js +212 -0
  25. data/app/assets/javascripts/alchemy/alchemy.buttons.js +36 -0
  26. data/app/assets/javascripts/alchemy/alchemy.dirty.js +91 -0
  27. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js +114 -0
  28. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.element_editor_selector.js +0 -0
  29. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.growler.js +0 -0
  30. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.image_cropper.js +0 -0
  31. data/app/assets/javascripts/alchemy/alchemy.js +26 -0
  32. data/app/assets/javascripts/alchemy/alchemy.js_extensions.js +17 -0
  33. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.link_overlay.js +1 -1
  34. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.page_sorter.js +0 -0
  35. data/{assets/javascripts → app/assets/javascripts/alchemy}/alchemy.preview.js +0 -0
  36. data/app/assets/javascripts/alchemy/alchemy.windows.js +438 -0
  37. data/app/assets/stylesheets/alchemy/_defaults.scss +160 -0
  38. data/app/assets/stylesheets/alchemy/alchemy.css +9 -0
  39. data/{assets/stylesheets/alchemy.css → app/assets/stylesheets/alchemy/base.css.scss} +216 -353
  40. data/{assets/stylesheets/elements.css → app/assets/stylesheets/alchemy/elements.css.scss} +41 -70
  41. data/{assets/stylesheets/flags.css → app/assets/stylesheets/alchemy/flags.css.scss} +1 -1
  42. data/{assets/stylesheets/jquery-ui-1.8.7.alchemy.css → app/assets/stylesheets/alchemy/jquery-ui.alchemy.css} +15 -15
  43. data/{assets/stylesheets/jquery.Jcrop.css → app/assets/stylesheets/alchemy/jquery.Jcrop.css.scss} +3 -3
  44. data/{assets/stylesheets/jquery.sb.css → app/assets/stylesheets/alchemy/jquery.sb.css.scss} +19 -29
  45. data/{assets/stylesheets → app/assets/stylesheets/alchemy}/print.css +6 -1
  46. data/{assets/stylesheets → app/assets/stylesheets/alchemy}/standard_set.css +0 -0
  47. data/{assets/stylesheets/alchemy_tinymce_content.css → app/assets/stylesheets/alchemy/tinymce_content.css} +0 -0
  48. data/{assets/stylesheets/alchemy_tinymce_dialog.css → app/assets/stylesheets/alchemy/tinymce_dialog.css} +2 -2
  49. data/app/controllers/admin/attachments_controller.rb +2 -8
  50. data/app/controllers/admin/clipboard_controller.rb +2 -2
  51. data/app/controllers/admin/contents_controller.rb +4 -16
  52. data/app/controllers/admin/elements_controller.rb +2 -2
  53. data/app/controllers/admin/essence_audios_controller.rb +0 -3
  54. data/app/controllers/admin/essence_files_controller.rb +0 -11
  55. data/app/controllers/admin/essence_flashes_controller.rb +0 -3
  56. data/app/controllers/admin/essence_pictures_controller.rb +2 -7
  57. data/app/controllers/admin/essence_videos_controller.rb +0 -3
  58. data/app/controllers/admin/languages_controller.rb +4 -10
  59. data/app/controllers/admin/pages_controller.rb +6 -4
  60. data/app/controllers/admin/pictures_controller.rb +13 -18
  61. data/app/controllers/admin/trash_controller.rb +0 -5
  62. data/app/controllers/admin/users_controller.rb +2 -3
  63. data/app/controllers/alchemy_controller.rb +18 -30
  64. data/app/controllers/pages_controller.rb +21 -24
  65. data/app/helpers/admin/elements_helper.rb +5 -0
  66. data/app/helpers/admin/pages_helper.rb +36 -1
  67. data/app/helpers/alchemy_helper.rb +39 -17
  68. data/app/models/attachment.rb +2 -2
  69. data/app/models/essence_file.rb +1 -1
  70. data/app/models/page.rb +1 -1
  71. data/app/sweepers/pages_sweeper.rb +10 -0
  72. data/app/views/admin/attachments/destroy.js.erb +4 -0
  73. data/app/views/admin/clipboard/insert.js.erb +12 -19
  74. data/app/views/admin/contents/create.js.erb +1 -1
  75. data/app/views/admin/contents/destroy.js.erb +7 -0
  76. data/app/views/admin/contents/order.js.erb +6 -0
  77. data/app/views/admin/elements/_element.html.erb +4 -2
  78. data/app/views/admin/elements/create.js.erb +19 -26
  79. data/app/views/admin/elements/fold.js.erb +1 -1
  80. data/app/views/admin/elements/index.html.erb +1 -1
  81. data/app/views/admin/essence_files/assign.js.erb +8 -0
  82. data/app/views/admin/essence_pictures/save_link.js.erb +3 -0
  83. data/app/views/admin/index.html.erb +37 -27
  84. data/app/views/admin/languages/destroy.js.erb +1 -0
  85. data/app/views/admin/pages/_page.html.erb +1 -1
  86. data/app/views/admin/pages/_sitemap.html.erb +1 -1
  87. data/app/views/admin/pages/edit.html.erb +2 -2
  88. data/app/views/admin/pages/update.js.erb +1 -1
  89. data/app/views/admin/partials/_upload_form.html.erb +11 -11
  90. data/app/views/admin/pictures/archive_overlay.js.erb +1 -0
  91. data/app/views/admin/pictures/flush.js.erb +2 -0
  92. data/app/views/admin/pictures/update.js.erb +1 -0
  93. data/app/views/admin/trash/clear.js.erb +3 -0
  94. data/app/views/alchemy/error_notice.js.erb +1 -0
  95. data/app/views/alchemy/permission_denied.js.erb +2 -0
  96. data/app/views/alchemy/redirect.js.erb +1 -0
  97. data/app/views/alchemy/remote_errors.js.erb +3 -0
  98. data/app/views/alchemy/update.js.erb +5 -0
  99. data/app/views/essences/_essence_file_editor.html.erb +0 -1
  100. data/app/views/essences/_essence_file_view.html.erb +1 -5
  101. data/app/views/essences/_essence_picture_tools.html.erb +1 -1
  102. data/app/views/layouts/alchemy.html.erb +22 -9
  103. data/app/views/pages/show.rss.builder +1 -1
  104. data/config/alchemy/elements.yml +0 -5
  105. data/config/alchemy/page_layouts.yml +1 -1
  106. data/config/asset_packages.yml +17 -19
  107. data/config/authorization_rules.rb +1 -0
  108. data/config/locales/de.yml +0 -1
  109. data/config/routes.rb +1 -1
  110. data/lib/alchemy/tinymce.rb +51 -0
  111. data/lib/alchemy/version.rb +3 -3
  112. data/lib/alchemy_cms.rb +4 -2
  113. data/script/rails +6 -0
  114. data/spec/controllers/admin/clipboard_controller_spec.rb +15 -13
  115. data/spec/controllers/admin/contents_controller_spec.rb +4 -4
  116. data/spec/controllers/admin/trash_controller_spec.rb +6 -9
  117. data/spec/controllers/pages_controller_spec.rb +9 -8
  118. data/spec/dummy/Rakefile +1 -1
  119. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  120. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  121. data/spec/dummy/app/mailers/.gitkeep +0 -0
  122. data/spec/dummy/app/models/.gitkeep +0 -0
  123. data/spec/dummy/app/views/layouts/application.html.erb +3 -3
  124. data/spec/dummy/config/application.rb +12 -6
  125. data/spec/dummy/config/database.yml +3 -0
  126. data/spec/dummy/config/environments/development.rb +7 -3
  127. data/spec/dummy/config/environments/production.rb +23 -12
  128. data/spec/dummy/config/environments/test.rb +5 -1
  129. data/spec/dummy/config/initializers/secret_token.rb +1 -1
  130. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  131. data/spec/dummy/config/locales/en.yml +1 -1
  132. data/spec/dummy/config/routes.rb +1 -1
  133. data/spec/dummy/lib/assets/.gitkeep +0 -0
  134. data/spec/factories.rb +8 -8
  135. data/spec/helpers/admin/elements_helper_spec.rb +2 -2
  136. data/spec/helpers/contents_helper_spec.rb +1 -1
  137. data/spec/helpers/elements_helper_spec.rb +6 -6
  138. data/spec/helpers/essences_helper_spec.rb +1 -1
  139. data/spec/helpers/pages_helper_spec.rb +37 -37
  140. data/spec/integration/pages_controller_spec.rb +29 -26
  141. data/spec/integration/security_spec.rb +2 -1
  142. data/spec/models/content_spec.rb +1 -1
  143. data/spec/models/element_spec.rb +11 -11
  144. data/spec/models/language_spec.rb +5 -5
  145. data/spec/models/page_spec.rb +54 -54
  146. data/spec/models/user_spec.rb +2 -1
  147. data/spec/routing_spec.rb +1 -1
  148. data/{assets/javascripts/jquery.js → vendor/assets/javascripts/jquery-1.6.2.min.js} +0 -0
  149. data/{assets/javascripts/jquery-ui.js → vendor/assets/javascripts/jquery-ui-custom-1.8.16.min.js} +0 -0
  150. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.Jcrop.min.js +0 -0
  151. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.dialogextend.min.js +7 -7
  152. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.in-place-edit.js +0 -0
  153. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.sb.min.js +0 -0
  154. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.scrollTo-1.4.2-min.js +10 -10
  155. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.ui.nestedSortable.js +0 -0
  156. data/{assets/javascripts → vendor/assets/javascripts/jquery_plugins}/jquery.ui.tabspaging.js +0 -0
  157. data/{assets → vendor/assets}/javascripts/swfupload/fileprogress.js +202 -202
  158. data/{assets → vendor/assets}/javascripts/swfupload/handlers.js +171 -171
  159. data/{assets → vendor/assets}/javascripts/swfupload/queue.js +97 -97
  160. data/{assets → vendor/assets}/javascripts/swfupload/swfupload.js +980 -980
  161. data/{assets → vendor/assets}/javascripts/swfupload/swfupload.swf +0 -0
  162. data/{assets → vendor/assets}/javascripts/tiny_mce/jquery.tinymce.js +0 -0
  163. data/{assets → vendor/assets}/javascripts/tiny_mce/langs/de.js +0 -0
  164. data/{assets → vendor/assets}/javascripts/tiny_mce/langs/en.js +0 -0
  165. data/{assets → vendor/assets}/javascripts/tiny_mce/license.txt +504 -504
  166. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js +0 -0
  167. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/alchemy_link/langs/de.js +0 -0
  168. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/alchemy_link/langs/en.js +0 -0
  169. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +0 -0
  170. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +0 -0
  171. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +110 -110
  172. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -0
  173. data/{assets/javascripts/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css → vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css.erb} +8 -8
  174. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -387
  175. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/editor_plugin.js +0 -0
  176. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -36
  177. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -51
  178. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/langs/de_dlg.js +0 -0
  179. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +0 -0
  180. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/pastetext.htm +26 -26
  181. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -21
  182. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/cell.htm +180 -180
  183. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/css/cell.css +16 -16
  184. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/css/row.css +25 -25
  185. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/css/table.css +13 -13
  186. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/editor_plugin.js +0 -0
  187. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/js/cell.js +319 -319
  188. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -27
  189. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/js/row.js +237 -237
  190. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/js/table.js +450 -450
  191. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/langs/de_dlg.js +0 -0
  192. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +0 -0
  193. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -32
  194. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/row.htm +158 -158
  195. data/{assets → vendor/assets}/javascripts/tiny_mce/plugins/table/table.htm +188 -188
  196. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/about.htm +52 -52
  197. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -26
  198. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/charmap.htm +51 -51
  199. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/color_picker.htm +74 -74
  200. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/editor_template.js +0 -0
  201. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/image.htm +80 -80
  202. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  203. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
  204. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  205. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  206. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  207. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  208. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  209. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  210. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/trans.gif +0 -0
  211. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/video.gif +0 -0
  212. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  213. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/about.js +73 -73
  214. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/anchor.js +43 -43
  215. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/charmap.js +355 -355
  216. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/color_picker.js +329 -329
  217. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/image.js +251 -251
  218. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/link.js +153 -153
  219. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/js/source_editor.js +56 -56
  220. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/langs/de.js +0 -0
  221. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +0 -0
  222. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/langs/en.js +0 -0
  223. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +0 -0
  224. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/link.htm +57 -57
  225. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/shortcuts.htm +47 -47
  226. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/content.css +50 -50
  227. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -117
  228. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  229. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  230. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  231. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  232. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  233. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  234. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +214 -214
  235. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +48 -48
  236. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +117 -117
  237. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  238. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  239. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  240. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +217 -217
  241. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +7 -7
  242. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -5
  243. data/{assets → vendor/assets}/javascripts/tiny_mce/themes/advanced/source_editor.htm +25 -25
  244. data/{assets → vendor/assets}/javascripts/tiny_mce/tiny_mce.js +0 -0
  245. data/{assets → vendor/assets}/javascripts/tiny_mce/tiny_mce_popup.js +0 -0
  246. data/{assets → vendor/assets}/javascripts/tiny_mce/utils/editable_selects.js +70 -70
  247. data/{assets → vendor/assets}/javascripts/tiny_mce/utils/form_utils.js +210 -210
  248. data/{assets → vendor/assets}/javascripts/tiny_mce/utils/mctabs.js +161 -161
  249. data/{assets → vendor/assets}/javascripts/tiny_mce/utils/validate.js +252 -252
  250. metadata +338 -369
  251. data/app/views/elements/_download_editor.html.erb +0 -1
  252. data/app/views/elements/_download_view.html.erb +0 -3
  253. data/assets/javascripts/alchemy.js +0 -903
  254. data/assets/javascripts/jquery.rails.js +0 -315
  255. data/assets/stylesheets/ie6.css +0 -18
  256. data/config/initializers/tinymce_hammer.rb +0 -31
@@ -1,27 +1,27 @@
1
- tinyMCEPopup.requireLangPack();
2
-
3
- var MergeCellsDialog = {
4
- init : function() {
5
- var f = document.forms[0];
6
-
7
- f.numcols.value = tinyMCEPopup.getWindowArg('cols', 1);
8
- f.numrows.value = tinyMCEPopup.getWindowArg('rows', 1);
9
- },
10
-
11
- merge : function() {
12
- var func, f = document.forms[0];
13
-
14
- tinyMCEPopup.restoreSelection();
15
-
16
- func = tinyMCEPopup.getWindowArg('onaction');
17
-
18
- func({
19
- cols : f.numcols.value,
20
- rows : f.numrows.value
21
- });
22
-
23
- tinyMCEPopup.close();
24
- }
25
- };
26
-
27
- tinyMCEPopup.onInit.add(MergeCellsDialog.init, MergeCellsDialog);
1
+ tinyMCEPopup.requireLangPack();
2
+
3
+ var MergeCellsDialog = {
4
+ init : function() {
5
+ var f = document.forms[0];
6
+
7
+ f.numcols.value = tinyMCEPopup.getWindowArg('cols', 1);
8
+ f.numrows.value = tinyMCEPopup.getWindowArg('rows', 1);
9
+ },
10
+
11
+ merge : function() {
12
+ var func, f = document.forms[0];
13
+
14
+ tinyMCEPopup.restoreSelection();
15
+
16
+ func = tinyMCEPopup.getWindowArg('onaction');
17
+
18
+ func({
19
+ cols : f.numcols.value,
20
+ rows : f.numrows.value
21
+ });
22
+
23
+ tinyMCEPopup.close();
24
+ }
25
+ };
26
+
27
+ tinyMCEPopup.onInit.add(MergeCellsDialog.init, MergeCellsDialog);
@@ -1,237 +1,237 @@
1
- tinyMCEPopup.requireLangPack();
2
-
3
- function init() {
4
- tinyMCEPopup.resizeToInnerSize();
5
-
6
- document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
7
- document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
8
-
9
- var inst = tinyMCEPopup.editor;
10
- var dom = inst.dom;
11
- var trElm = dom.getParent(inst.selection.getStart(), "tr");
12
- var formObj = document.forms[0];
13
- var st = dom.parseStyle(dom.getAttrib(trElm, "style"));
14
-
15
- // Get table row data
16
- var rowtype = trElm.parentNode.nodeName.toLowerCase();
17
- var align = dom.getAttrib(trElm, 'align');
18
- var valign = dom.getAttrib(trElm, 'valign');
19
- var height = trimSize(getStyle(trElm, 'height', 'height'));
20
- var className = dom.getAttrib(trElm, 'class');
21
- var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
22
- var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
23
- var id = dom.getAttrib(trElm, 'id');
24
- var lang = dom.getAttrib(trElm, 'lang');
25
- var dir = dom.getAttrib(trElm, 'dir');
26
-
27
- selectByValue(formObj, 'rowtype', rowtype);
28
-
29
- // Any cells selected
30
- if (dom.select('td.mceSelected,th.mceSelected', trElm).length == 0) {
31
- // Setup form
32
- addClassesToList('class', 'table_row_styles');
33
- TinyMCE_EditableSelects.init();
34
-
35
- formObj.bgcolor.value = bgcolor;
36
- formObj.backgroundimage.value = backgroundimage;
37
- formObj.height.value = height;
38
- formObj.id.value = id;
39
- formObj.lang.value = lang;
40
- formObj.style.value = dom.serializeStyle(st);
41
- selectByValue(formObj, 'align', align);
42
- selectByValue(formObj, 'valign', valign);
43
- selectByValue(formObj, 'class', className, true, true);
44
- selectByValue(formObj, 'dir', dir);
45
-
46
- // Resize some elements
47
- if (isVisible('backgroundimagebrowser'))
48
- document.getElementById('backgroundimage').style.width = '180px';
49
-
50
- updateColor('bgcolor_pick', 'bgcolor');
51
- } else
52
- tinyMCEPopup.dom.hide('action');
53
- }
54
-
55
- function updateAction() {
56
- var inst = tinyMCEPopup.editor, dom = inst.dom, trElm, tableElm, formObj = document.forms[0];
57
- var action = getSelectValue(formObj, 'action');
58
-
59
- if (!AutoValidator.validate(formObj)) {
60
- tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.');
61
- return false;
62
- }
63
-
64
- tinyMCEPopup.restoreSelection();
65
- trElm = dom.getParent(inst.selection.getStart(), "tr");
66
- tableElm = dom.getParent(inst.selection.getStart(), "table");
67
-
68
- // Update all selected rows
69
- if (dom.select('td.mceSelected,th.mceSelected', trElm).length > 0) {
70
- tinymce.each(tableElm.rows, function(tr) {
71
- var i;
72
-
73
- for (i = 0; i < tr.cells.length; i++) {
74
- if (dom.hasClass(tr.cells[i], 'mceSelected')) {
75
- updateRow(tr, true);
76
- return;
77
- }
78
- }
79
- });
80
-
81
- inst.addVisual();
82
- inst.nodeChanged();
83
- inst.execCommand('mceEndUndoLevel');
84
- tinyMCEPopup.close();
85
- return;
86
- }
87
-
88
- switch (action) {
89
- case "row":
90
- updateRow(trElm);
91
- break;
92
-
93
- case "all":
94
- var rows = tableElm.getElementsByTagName("tr");
95
-
96
- for (var i=0; i<rows.length; i++)
97
- updateRow(rows[i], true);
98
-
99
- break;
100
-
101
- case "odd":
102
- case "even":
103
- var rows = tableElm.getElementsByTagName("tr");
104
-
105
- for (var i=0; i<rows.length; i++) {
106
- if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
107
- updateRow(rows[i], true, true);
108
- }
109
-
110
- break;
111
- }
112
-
113
- inst.addVisual();
114
- inst.nodeChanged();
115
- inst.execCommand('mceEndUndoLevel');
116
- tinyMCEPopup.close();
117
- }
118
-
119
- function updateRow(tr_elm, skip_id, skip_parent) {
120
- var inst = tinyMCEPopup.editor;
121
- var formObj = document.forms[0];
122
- var dom = inst.dom;
123
- var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
124
- var rowtype = getSelectValue(formObj, 'rowtype');
125
- var doc = inst.getDoc();
126
-
127
- // Update row element
128
- if (!skip_id)
129
- dom.setAttrib(tr_elm, 'id', formObj.id.value);
130
-
131
- dom.setAttrib(tr_elm, 'align', getSelectValue(formObj, 'align'));
132
- dom.setAttrib(tr_elm, 'vAlign', getSelectValue(formObj, 'valign'));
133
- dom.setAttrib(tr_elm, 'lang', formObj.lang.value);
134
- dom.setAttrib(tr_elm, 'dir', getSelectValue(formObj, 'dir'));
135
- dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(formObj.style.value)));
136
- dom.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
137
-
138
- // Clear deprecated attributes
139
- dom.setAttrib(tr_elm, 'background', '');
140
- dom.setAttrib(tr_elm, 'bgColor', '');
141
- dom.setAttrib(tr_elm, 'height', '');
142
-
143
- // Set styles
144
- tr_elm.style.height = getCSSSize(formObj.height.value);
145
- tr_elm.style.backgroundColor = formObj.bgcolor.value;
146
-
147
- if (formObj.backgroundimage.value != "")
148
- tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
149
- else
150
- tr_elm.style.backgroundImage = '';
151
-
152
- // Setup new rowtype
153
- if (curRowType != rowtype && !skip_parent) {
154
- // first, clone the node we are working on
155
- var newRow = tr_elm.cloneNode(1);
156
-
157
- // next, find the parent of its new destination (creating it if necessary)
158
- var theTable = dom.getParent(tr_elm, "table");
159
- var dest = rowtype;
160
- var newParent = null;
161
- for (var i = 0; i < theTable.childNodes.length; i++) {
162
- if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
163
- newParent = theTable.childNodes[i];
164
- }
165
-
166
- if (newParent == null) {
167
- newParent = doc.createElement(dest);
168
-
169
- if (theTable.firstChild.nodeName == 'CAPTION')
170
- inst.dom.insertAfter(newParent, theTable.firstChild);
171
- else
172
- theTable.insertBefore(newParent, theTable.firstChild);
173
- }
174
-
175
- // append the row to the new parent
176
- newParent.appendChild(newRow);
177
-
178
- // remove the original
179
- tr_elm.parentNode.removeChild(tr_elm);
180
-
181
- // set tr_elm to the new node
182
- tr_elm = newRow;
183
- }
184
-
185
- dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(tr_elm.style.cssText)));
186
- }
187
-
188
- function changedBackgroundImage() {
189
- var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
190
- var st = dom.parseStyle(formObj.style.value);
191
-
192
- st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
193
-
194
- formObj.style.value = dom.serializeStyle(st);
195
- }
196
-
197
- function changedStyle() {
198
- var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
199
- var st = dom.parseStyle(formObj.style.value);
200
-
201
- if (st['background-image'])
202
- formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
203
- else
204
- formObj.backgroundimage.value = '';
205
-
206
- if (st['height'])
207
- formObj.height.value = trimSize(st['height']);
208
-
209
- if (st['background-color']) {
210
- formObj.bgcolor.value = st['background-color'];
211
- updateColor('bgcolor_pick','bgcolor');
212
- }
213
- }
214
-
215
- function changedSize() {
216
- var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
217
- var st = dom.parseStyle(formObj.style.value);
218
-
219
- var height = formObj.height.value;
220
- if (height != "")
221
- st['height'] = getCSSSize(height);
222
- else
223
- st['height'] = "";
224
-
225
- formObj.style.value = dom.serializeStyle(st);
226
- }
227
-
228
- function changedColor() {
229
- var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
230
- var st = dom.parseStyle(formObj.style.value);
231
-
232
- st['background-color'] = formObj.bgcolor.value;
233
-
234
- formObj.style.value = dom.serializeStyle(st);
235
- }
236
-
237
- tinyMCEPopup.onInit.add(init);
1
+ tinyMCEPopup.requireLangPack();
2
+
3
+ function init() {
4
+ tinyMCEPopup.resizeToInnerSize();
5
+
6
+ document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
7
+ document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
8
+
9
+ var inst = tinyMCEPopup.editor;
10
+ var dom = inst.dom;
11
+ var trElm = dom.getParent(inst.selection.getStart(), "tr");
12
+ var formObj = document.forms[0];
13
+ var st = dom.parseStyle(dom.getAttrib(trElm, "style"));
14
+
15
+ // Get table row data
16
+ var rowtype = trElm.parentNode.nodeName.toLowerCase();
17
+ var align = dom.getAttrib(trElm, 'align');
18
+ var valign = dom.getAttrib(trElm, 'valign');
19
+ var height = trimSize(getStyle(trElm, 'height', 'height'));
20
+ var className = dom.getAttrib(trElm, 'class');
21
+ var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
22
+ var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
23
+ var id = dom.getAttrib(trElm, 'id');
24
+ var lang = dom.getAttrib(trElm, 'lang');
25
+ var dir = dom.getAttrib(trElm, 'dir');
26
+
27
+ selectByValue(formObj, 'rowtype', rowtype);
28
+
29
+ // Any cells selected
30
+ if (dom.select('td.mceSelected,th.mceSelected', trElm).length == 0) {
31
+ // Setup form
32
+ addClassesToList('class', 'table_row_styles');
33
+ TinyMCE_EditableSelects.init();
34
+
35
+ formObj.bgcolor.value = bgcolor;
36
+ formObj.backgroundimage.value = backgroundimage;
37
+ formObj.height.value = height;
38
+ formObj.id.value = id;
39
+ formObj.lang.value = lang;
40
+ formObj.style.value = dom.serializeStyle(st);
41
+ selectByValue(formObj, 'align', align);
42
+ selectByValue(formObj, 'valign', valign);
43
+ selectByValue(formObj, 'class', className, true, true);
44
+ selectByValue(formObj, 'dir', dir);
45
+
46
+ // Resize some elements
47
+ if (isVisible('backgroundimagebrowser'))
48
+ document.getElementById('backgroundimage').style.width = '180px';
49
+
50
+ updateColor('bgcolor_pick', 'bgcolor');
51
+ } else
52
+ tinyMCEPopup.dom.hide('action');
53
+ }
54
+
55
+ function updateAction() {
56
+ var inst = tinyMCEPopup.editor, dom = inst.dom, trElm, tableElm, formObj = document.forms[0];
57
+ var action = getSelectValue(formObj, 'action');
58
+
59
+ if (!AutoValidator.validate(formObj)) {
60
+ tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.');
61
+ return false;
62
+ }
63
+
64
+ tinyMCEPopup.restoreSelection();
65
+ trElm = dom.getParent(inst.selection.getStart(), "tr");
66
+ tableElm = dom.getParent(inst.selection.getStart(), "table");
67
+
68
+ // Update all selected rows
69
+ if (dom.select('td.mceSelected,th.mceSelected', trElm).length > 0) {
70
+ tinymce.each(tableElm.rows, function(tr) {
71
+ var i;
72
+
73
+ for (i = 0; i < tr.cells.length; i++) {
74
+ if (dom.hasClass(tr.cells[i], 'mceSelected')) {
75
+ updateRow(tr, true);
76
+ return;
77
+ }
78
+ }
79
+ });
80
+
81
+ inst.addVisual();
82
+ inst.nodeChanged();
83
+ inst.execCommand('mceEndUndoLevel');
84
+ tinyMCEPopup.close();
85
+ return;
86
+ }
87
+
88
+ switch (action) {
89
+ case "row":
90
+ updateRow(trElm);
91
+ break;
92
+
93
+ case "all":
94
+ var rows = tableElm.getElementsByTagName("tr");
95
+
96
+ for (var i=0; i<rows.length; i++)
97
+ updateRow(rows[i], true);
98
+
99
+ break;
100
+
101
+ case "odd":
102
+ case "even":
103
+ var rows = tableElm.getElementsByTagName("tr");
104
+
105
+ for (var i=0; i<rows.length; i++) {
106
+ if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
107
+ updateRow(rows[i], true, true);
108
+ }
109
+
110
+ break;
111
+ }
112
+
113
+ inst.addVisual();
114
+ inst.nodeChanged();
115
+ inst.execCommand('mceEndUndoLevel');
116
+ tinyMCEPopup.close();
117
+ }
118
+
119
+ function updateRow(tr_elm, skip_id, skip_parent) {
120
+ var inst = tinyMCEPopup.editor;
121
+ var formObj = document.forms[0];
122
+ var dom = inst.dom;
123
+ var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
124
+ var rowtype = getSelectValue(formObj, 'rowtype');
125
+ var doc = inst.getDoc();
126
+
127
+ // Update row element
128
+ if (!skip_id)
129
+ dom.setAttrib(tr_elm, 'id', formObj.id.value);
130
+
131
+ dom.setAttrib(tr_elm, 'align', getSelectValue(formObj, 'align'));
132
+ dom.setAttrib(tr_elm, 'vAlign', getSelectValue(formObj, 'valign'));
133
+ dom.setAttrib(tr_elm, 'lang', formObj.lang.value);
134
+ dom.setAttrib(tr_elm, 'dir', getSelectValue(formObj, 'dir'));
135
+ dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(formObj.style.value)));
136
+ dom.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
137
+
138
+ // Clear deprecated attributes
139
+ dom.setAttrib(tr_elm, 'background', '');
140
+ dom.setAttrib(tr_elm, 'bgColor', '');
141
+ dom.setAttrib(tr_elm, 'height', '');
142
+
143
+ // Set styles
144
+ tr_elm.style.height = getCSSSize(formObj.height.value);
145
+ tr_elm.style.backgroundColor = formObj.bgcolor.value;
146
+
147
+ if (formObj.backgroundimage.value != "")
148
+ tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
149
+ else
150
+ tr_elm.style.backgroundImage = '';
151
+
152
+ // Setup new rowtype
153
+ if (curRowType != rowtype && !skip_parent) {
154
+ // first, clone the node we are working on
155
+ var newRow = tr_elm.cloneNode(1);
156
+
157
+ // next, find the parent of its new destination (creating it if necessary)
158
+ var theTable = dom.getParent(tr_elm, "table");
159
+ var dest = rowtype;
160
+ var newParent = null;
161
+ for (var i = 0; i < theTable.childNodes.length; i++) {
162
+ if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
163
+ newParent = theTable.childNodes[i];
164
+ }
165
+
166
+ if (newParent == null) {
167
+ newParent = doc.createElement(dest);
168
+
169
+ if (theTable.firstChild.nodeName == 'CAPTION')
170
+ inst.dom.insertAfter(newParent, theTable.firstChild);
171
+ else
172
+ theTable.insertBefore(newParent, theTable.firstChild);
173
+ }
174
+
175
+ // append the row to the new parent
176
+ newParent.appendChild(newRow);
177
+
178
+ // remove the original
179
+ tr_elm.parentNode.removeChild(tr_elm);
180
+
181
+ // set tr_elm to the new node
182
+ tr_elm = newRow;
183
+ }
184
+
185
+ dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(tr_elm.style.cssText)));
186
+ }
187
+
188
+ function changedBackgroundImage() {
189
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
190
+ var st = dom.parseStyle(formObj.style.value);
191
+
192
+ st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
193
+
194
+ formObj.style.value = dom.serializeStyle(st);
195
+ }
196
+
197
+ function changedStyle() {
198
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
199
+ var st = dom.parseStyle(formObj.style.value);
200
+
201
+ if (st['background-image'])
202
+ formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
203
+ else
204
+ formObj.backgroundimage.value = '';
205
+
206
+ if (st['height'])
207
+ formObj.height.value = trimSize(st['height']);
208
+
209
+ if (st['background-color']) {
210
+ formObj.bgcolor.value = st['background-color'];
211
+ updateColor('bgcolor_pick','bgcolor');
212
+ }
213
+ }
214
+
215
+ function changedSize() {
216
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
217
+ var st = dom.parseStyle(formObj.style.value);
218
+
219
+ var height = formObj.height.value;
220
+ if (height != "")
221
+ st['height'] = getCSSSize(height);
222
+ else
223
+ st['height'] = "";
224
+
225
+ formObj.style.value = dom.serializeStyle(st);
226
+ }
227
+
228
+ function changedColor() {
229
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
230
+ var st = dom.parseStyle(formObj.style.value);
231
+
232
+ st['background-color'] = formObj.bgcolor.value;
233
+
234
+ formObj.style.value = dom.serializeStyle(st);
235
+ }
236
+
237
+ tinyMCEPopup.onInit.add(init);