erp_app 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (909) hide show
  1. data/README.md +3 -0
  2. data/app/controllers/erp_app/application_controller.rb +1 -0
  3. data/app/controllers/erp_app/desktop/base_controller.rb +1 -1
  4. data/app/controllers/erp_app/desktop/configuration_management/base_controller.rb +180 -0
  5. data/app/controllers/erp_app/desktop/configuration_management/options_controller.rb +55 -0
  6. data/app/controllers/erp_app/desktop/configuration_management/types_controller.rb +129 -0
  7. data/app/controllers/erp_app/desktop/control_panel/application_management_controller.rb +1 -1
  8. data/app/controllers/erp_app/desktop/control_panel/desktop_management_controller.rb +1 -1
  9. data/app/controllers/erp_app/desktop/control_panel/profile_management_controller.rb +14 -16
  10. data/app/controllers/erp_app/desktop/file_manager/base_controller.rb +5 -7
  11. data/app/controllers/erp_app/desktop/system_management/application_role_management_controller.rb +1 -1
  12. data/app/controllers/erp_app/desktop/user_management/application_management_controller.rb +9 -9
  13. data/app/controllers/erp_app/desktop/user_management/base_controller.rb +1 -1
  14. data/app/controllers/erp_app/desktop/user_management/role_management_controller.rb +13 -8
  15. data/app/controllers/erp_app/mobile/base_controller.rb +21 -0
  16. data/app/controllers/erp_app/mobile/login_controller.rb +11 -0
  17. data/app/controllers/erp_app/mobile/user_management/base_controller.rb +24 -0
  18. data/app/controllers/erp_app/organizer/base_controller.rb +6 -5
  19. data/app/controllers/erp_app/organizer/crm/base_controller.rb +117 -15
  20. data/app/controllers/erp_app/public_controller.rb +73 -6
  21. data/app/controllers/erp_app/shared/configuration_controller.rb +53 -0
  22. data/app/controllers/erp_app/widget_proxy_controller.rb +1 -1
  23. data/app/models/app_container.rb +8 -2
  24. data/app/models/application.rb +1 -1
  25. data/app/models/configuration.rb +129 -0
  26. data/app/models/configuration_item.rb +45 -0
  27. data/app/models/configuration_item_type.rb +96 -0
  28. data/app/models/configuration_item_type_configuration_option.rb +10 -0
  29. data/app/models/configuration_option.rb +20 -0
  30. data/app/models/desktop.rb +7 -10
  31. data/app/models/extensions/user.rb +41 -2
  32. data/app/models/mobile.rb +10 -0
  33. data/app/models/mobile_application.rb +6 -0
  34. data/app/models/organizer.rb +3 -6
  35. data/app/models/preference.rb +2 -2
  36. data/app/models/preference_type.rb +1 -1
  37. data/app/models/user_preference.rb +3 -3
  38. data/app/models/valid_configuration.rb +4 -0
  39. data/app/models/valid_preference_type.rb +2 -2
  40. data/app/observers/user_app_container_observer.rb +7 -2
  41. data/app/views/erp_app/desktop/base/index.erb +25 -32
  42. data/app/views/erp_app/login/index.erb +3 -3
  43. data/app/views/erp_app/mobile/base/index.erb +37 -0
  44. data/app/views/erp_app/mobile/login/index.erb +22 -0
  45. data/app/views/erp_app/mobile/user_management/base/index.html.erb +28 -0
  46. data/app/views/erp_app/organizer/base/get_party_details.erb +19 -0
  47. data/app/views/erp_app/organizer/base/index.erb +20 -23
  48. data/app/views/erp_app/widget_proxy/index.erb +1 -1
  49. data/config/routes.rb +22 -0
  50. data/db/data_migrations/20110728201729_erp_app_setup.rb +3 -1
  51. data/db/data_migrations/20120229160222_add_userinfo_widget.rb +30 -0
  52. data/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.rb +10 -0
  53. data/db/data_migrations/20120411180756_create_user_management_mobile_application.rb +18 -0
  54. data/db/data_migrations/20120413000515_create_mobile_containers.rb +13 -0
  55. data/db/data_migrations/20120418164215_create_configuration_management_desktop_application.rb +22 -0
  56. data/db/data_migrations/upgrade/20120213182651_add_true_north_background.rb +16 -0
  57. data/db/migrate/20080805000096_base_app_framework.rb +125 -33
  58. data/db/migrate/20120316152543_add_is_template_to_configurations.rb +5 -0
  59. data/db/migrate/20120320182253_update_app_container.rb +20 -0
  60. data/db/migrate/20120325123722_remove_file_system_loader_column.rb +9 -0
  61. data/db/migrate/20120411151848_add_base_url_to_application.rb +5 -0
  62. data/db/migrate/20120427000446_add_user_defined_to_config_option.rb +17 -0
  63. data/db/migrate/20120429130430_update_configuration_join_tables.rb +16 -0
  64. data/db/migrate/upgrade/20120208201934_add_configuration_models.rb +109 -0
  65. data/db/migrate/upgrade/20120209194251_add_user_defined_to_config_type.rb +5 -0
  66. data/db/migrate/upgrade/20120210172929_add_config_types_to_configs.rb +23 -0
  67. data/lib/erp_app/application_resource_loader/base_loader.rb +17 -0
  68. data/lib/erp_app/application_resource_loader/{file_system_loader.rb → desktop_organizer_loader.rb} +15 -29
  69. data/lib/erp_app/application_resource_loader/mobile_loader.rb +46 -0
  70. data/lib/erp_app/application_resource_loader/shared_loader.rb +26 -0
  71. data/lib/erp_app/application_resource_loader.rb +4 -0
  72. data/lib/erp_app/config.rb +2 -2
  73. data/lib/erp_app/engine.rb +7 -4
  74. data/lib/erp_app/extensions/railties/action_view/base.rb +12 -0
  75. data/lib/erp_app/extensions/railties/action_view/helpers/active_ext_helper.rb +17 -0
  76. data/lib/erp_app/extensions/railties/action_view/helpers/extjs_helper.rb +45 -0
  77. data/lib/erp_app/extensions/railties/action_view/helpers/include_helper.rb +134 -0
  78. data/lib/erp_app/extensions/railties/action_view/helpers/tag_helper.rb +27 -0
  79. data/lib/erp_app/extensions.rb +1 -2
  80. data/lib/erp_app/version.rb +8 -1
  81. data/lib/erp_app/widgets/base.rb +50 -43
  82. data/lib/erp_app/widgets/javascript_loader.rb +13 -20
  83. data/lib/erp_app/widgets/loader.rb +126 -0
  84. data/lib/erp_app/widgets/railties/action_view/base.rb +8 -0
  85. data/lib/erp_app/widgets/railties/action_view/helpers/widget_helper.rb +57 -0
  86. data/lib/erp_app/widgets.rb +2 -2
  87. data/lib/erp_app.rb +3 -1
  88. data/lib/generators/cms_widget/templates/engine/engine_template.rb +0 -4
  89. data/lib/generators/cms_widget/templates/javascript/base.js.erb +2 -1
  90. data/lib/generators/desktop_application/USAGE +1 -1
  91. data/lib/generators/desktop_application/templates/controllers/controller_template.rb +7 -5
  92. data/lib/generators/desktop_application/templates/migrate/migration_template.rb +0 -4
  93. data/lib/generators/mobile_application/USAGE +24 -0
  94. data/lib/generators/mobile_application/mobile_application_generator.rb +27 -0
  95. data/lib/generators/mobile_application/templates/INSTALL +25 -0
  96. data/lib/generators/mobile_application/templates/controllers/controller_template.rb +11 -0
  97. data/lib/generators/mobile_application/templates/migrate/migration_template.rb +14 -0
  98. data/lib/generators/mobile_application/templates/public/app.js.erb +35 -0
  99. data/lib/generators/mobile_application/templates/views/index.html.erb +28 -0
  100. data/lib/generators/organizer_application/templates/controllers/controller_template.rb +9 -11
  101. data/public/images/icons/apartment/apartment_16x16.png +0 -0
  102. data/public/images/icons/apartment/apartment_24x24.png +0 -0
  103. data/public/images/icons/apartment/apartment_32x32.png +0 -0
  104. data/public/images/icons/apartment/apartment_48x48.png +0 -0
  105. data/public/images/wallpaper/truenorth.png +0 -0
  106. data/public/javascripts/erp_app/authentication/widget_manager.js +23 -2
  107. data/public/javascripts/erp_app/ckeditor/ckeditor.js +113 -111
  108. data/public/javascripts/erp_app/ckeditor/contents.css +2 -2
  109. data/public/javascripts/erp_app/ckeditor/lang/_translationstatus.txt +59 -59
  110. data/public/javascripts/erp_app/ckeditor/lang/af.js +1 -1
  111. data/public/javascripts/erp_app/ckeditor/lang/ar.js +1 -1
  112. data/public/javascripts/erp_app/ckeditor/lang/bg.js +1 -1
  113. data/public/javascripts/erp_app/ckeditor/lang/bn.js +1 -1
  114. data/public/javascripts/erp_app/ckeditor/lang/bs.js +1 -1
  115. data/public/javascripts/erp_app/ckeditor/lang/ca.js +1 -1
  116. data/public/javascripts/erp_app/ckeditor/lang/cs.js +1 -1
  117. data/public/javascripts/erp_app/ckeditor/lang/cy.js +1 -1
  118. data/public/javascripts/erp_app/ckeditor/lang/da.js +1 -1
  119. data/public/javascripts/erp_app/ckeditor/lang/de.js +1 -1
  120. data/public/javascripts/erp_app/ckeditor/lang/el.js +1 -1
  121. data/public/javascripts/erp_app/ckeditor/lang/en-au.js +1 -1
  122. data/public/javascripts/erp_app/ckeditor/lang/en-ca.js +1 -1
  123. data/public/javascripts/erp_app/ckeditor/lang/en-gb.js +1 -1
  124. data/public/javascripts/erp_app/ckeditor/lang/en.js +1 -1
  125. data/public/javascripts/erp_app/ckeditor/lang/eo.js +1 -1
  126. data/public/javascripts/erp_app/ckeditor/lang/es.js +1 -1
  127. data/public/javascripts/erp_app/ckeditor/lang/et.js +1 -1
  128. data/public/javascripts/erp_app/ckeditor/lang/eu.js +1 -1
  129. data/public/javascripts/erp_app/ckeditor/lang/fa.js +1 -1
  130. data/public/javascripts/erp_app/ckeditor/lang/fi.js +1 -1
  131. data/public/javascripts/erp_app/ckeditor/lang/fo.js +1 -1
  132. data/public/javascripts/erp_app/ckeditor/lang/fr-ca.js +1 -1
  133. data/public/javascripts/erp_app/ckeditor/lang/fr.js +1 -1
  134. data/public/javascripts/erp_app/ckeditor/lang/gl.js +1 -1
  135. data/public/javascripts/erp_app/ckeditor/lang/gu.js +1 -1
  136. data/public/javascripts/erp_app/ckeditor/lang/he.js +1 -1
  137. data/public/javascripts/erp_app/ckeditor/lang/hi.js +1 -1
  138. data/public/javascripts/erp_app/ckeditor/lang/hr.js +1 -1
  139. data/public/javascripts/erp_app/ckeditor/lang/hu.js +1 -1
  140. data/public/javascripts/erp_app/ckeditor/lang/is.js +1 -1
  141. data/public/javascripts/erp_app/ckeditor/lang/it.js +1 -1
  142. data/public/javascripts/erp_app/ckeditor/lang/ja.js +1 -1
  143. data/public/javascripts/erp_app/ckeditor/lang/ka.js +1 -1
  144. data/public/javascripts/erp_app/ckeditor/lang/km.js +1 -1
  145. data/public/javascripts/erp_app/ckeditor/lang/ko.js +1 -1
  146. data/public/javascripts/erp_app/ckeditor/lang/lt.js +1 -1
  147. data/public/javascripts/erp_app/ckeditor/lang/lv.js +1 -1
  148. data/public/javascripts/erp_app/ckeditor/lang/mn.js +1 -1
  149. data/public/javascripts/erp_app/ckeditor/lang/ms.js +1 -1
  150. data/public/javascripts/erp_app/ckeditor/lang/nb.js +1 -1
  151. data/public/javascripts/erp_app/ckeditor/lang/nl.js +1 -1
  152. data/public/javascripts/erp_app/ckeditor/lang/no.js +1 -1
  153. data/public/javascripts/erp_app/ckeditor/lang/pl.js +1 -1
  154. data/public/javascripts/erp_app/ckeditor/lang/pt-br.js +1 -1
  155. data/public/javascripts/erp_app/ckeditor/lang/pt.js +1 -1
  156. data/public/javascripts/erp_app/ckeditor/lang/ro.js +1 -1
  157. data/public/javascripts/erp_app/ckeditor/lang/ru.js +1 -1
  158. data/public/javascripts/erp_app/ckeditor/lang/sk.js +1 -1
  159. data/public/javascripts/erp_app/ckeditor/lang/sl.js +1 -1
  160. data/public/javascripts/erp_app/ckeditor/lang/sr-latn.js +1 -1
  161. data/public/javascripts/erp_app/ckeditor/lang/sr.js +1 -1
  162. data/public/javascripts/erp_app/ckeditor/lang/sv.js +1 -1
  163. data/public/javascripts/erp_app/ckeditor/lang/th.js +1 -1
  164. data/public/javascripts/erp_app/ckeditor/lang/tr.js +1 -1
  165. data/public/javascripts/erp_app/ckeditor/lang/uk.js +1 -1
  166. data/public/javascripts/erp_app/ckeditor/lang/vi.js +1 -1
  167. data/public/javascripts/erp_app/ckeditor/lang/zh-cn.js +1 -1
  168. data/public/javascripts/erp_app/ckeditor/lang/zh.js +1 -1
  169. data/public/javascripts/erp_app/ckeditor/plugins/autogrow/plugin.js +1 -1
  170. data/public/javascripts/erp_app/ckeditor/plugins/docprops/dialogs/docprops.js +2 -2
  171. data/public/javascripts/erp_app/ckeditor/plugins/find/dialogs/find.js +5 -5
  172. data/public/javascripts/erp_app/ckeditor/plugins/flash/dialogs/flash.js +1 -1
  173. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
  174. data/public/javascripts/erp_app/ckeditor/plugins/image/dialogs/image.js +1 -1
  175. data/public/javascripts/erp_app/ckeditor/plugins/link/dialogs/link.js +1 -1
  176. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/codemirror_config.js +85 -0
  177. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/editor.css +96 -0
  178. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/buttonbg.gif +0 -0
  179. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/cancel.png +0 -0
  180. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/highlight.png +0 -0
  181. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/redo.png +0 -0
  182. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/reindent.png +0 -0
  183. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/save.png +0 -0
  184. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/search.png +0 -0
  185. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/undo.png +0 -0
  186. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/nocolors.css +24 -0
  187. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/LICENSE +23 -0
  188. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/bigtest.html +1296 -0
  189. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/compress.html +169 -0
  190. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/css/csharpcolors.css +60 -0
  191. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/index.html +61 -0
  192. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/js/parsecsharp.js +329 -0
  193. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/js/tokenizecsharp.js +196 -0
  194. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/LICENSE +24 -0
  195. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/css/freemarkercolors.css +63 -0
  196. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/index.html +75 -0
  197. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/js/parsefreemarker.js +380 -0
  198. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/groovy/index.html +57 -0
  199. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/LICENSE +20 -0
  200. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/css/javacolors.css +64 -0
  201. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/index.html +66 -0
  202. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/js/parsejava.js +285 -0
  203. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/js/tokenizejava.js +222 -0
  204. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/LICENSE +32 -0
  205. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/css/luacolors.css +63 -0
  206. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/index.html +68 -0
  207. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/js/parselua.js +254 -0
  208. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/LICENSE +23 -0
  209. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/css/ometacolors.css +63 -0
  210. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/index.html +77 -0
  211. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/js/parseometa.js +364 -0
  212. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/js/tokenizeometa.js +209 -0
  213. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/LICENSE +37 -0
  214. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/css/phpcolors.css +114 -0
  215. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/index.html +310 -0
  216. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/parsephp.js +419 -0
  217. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/parsephphtmlmixed.js +116 -0
  218. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/tokenizephp.js +1208 -0
  219. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/LICENSE +22 -0
  220. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/css/plsqlcolors.css +57 -0
  221. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/index.html +67 -0
  222. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/js/parseplsql.js +233 -0
  223. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/LICENSE +32 -0
  224. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/css/pythoncolors.css +58 -0
  225. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/index.html +141 -0
  226. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/js/parsepython.js +541 -0
  227. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/css/js-regexcolors.css +214 -0
  228. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/css/regexcolors.css +214 -0
  229. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/index.html +114 -0
  230. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parsejavascript_and_regex.js +91 -0
  231. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parseregex-unicode.js +284 -0
  232. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parseregex.js +847 -0
  233. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js-regex.html +118 -0
  234. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/LICENSE +23 -0
  235. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/css/schemecolors.css +45 -0
  236. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/index.html +82 -0
  237. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/js/parsescheme.js +428 -0
  238. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/js/tokenizescheme.js +241 -0
  239. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/LICENSE +22 -0
  240. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/css/sqlcolors.css +59 -0
  241. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/index.html +56 -0
  242. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/js/parsesql.js +267 -0
  243. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/LICENSE +13 -0
  244. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors-dark.css +93 -0
  245. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors.css +99 -0
  246. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors2.css +96 -0
  247. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/index.html +552 -0
  248. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/js/parsexquery.js +234 -0
  249. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/js/tokenizexquery.js +457 -0
  250. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/baboon.png +0 -0
  251. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/baboon_vector.ai +965 -0
  252. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/csscolors.css +55 -0
  253. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/docs.css +158 -0
  254. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/font.js +15 -0
  255. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/jscolors.css +59 -0
  256. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/people.jpg +0 -0
  257. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/sparqlcolors.css +43 -0
  258. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/xmlcolors.css +55 -0
  259. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/csstest.html +60 -0
  260. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/faq.html +86 -0
  261. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/favicon.ico +0 -0
  262. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/googleb196c451afc2ee11.html +1 -0
  263. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/googlehostedservice.html +1 -0
  264. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/highlight.html +82 -0
  265. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/htmltest.html +53 -0
  266. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/index.html +254 -0
  267. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/codemirror.js +582 -0
  268. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/editor.js +1670 -0
  269. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/highlight.js +68 -0
  270. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/mirrorframe.js +81 -0
  271. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsecss.js +161 -0
  272. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsedummy.js +32 -0
  273. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsehtmlmixed.js +93 -0
  274. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsejavascript.js +359 -0
  275. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsesparql.js +162 -0
  276. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsexml.js +291 -0
  277. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/select.js +697 -0
  278. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/stringstream.js +159 -0
  279. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/tokenize.js +57 -0
  280. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/tokenizejavascript.js +174 -0
  281. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/undo.js +413 -0
  282. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/unittests.js +44 -0
  283. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/util.js +133 -0
  284. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/jstest.html +56 -0
  285. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/manual.html +806 -0
  286. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/mixedtest.html +52 -0
  287. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/sparqltest.html +41 -0
  288. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/story.html +672 -0
  289. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/unittests.html +125 -0
  290. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/xhtmltest.xhtml +50 -0
  291. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/lang/de.js +20 -0
  292. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/lang/en.js +20 -0
  293. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/dialogs/sourcepopup.js +102 -0
  294. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/lang/de.js +9 -0
  295. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/lang/en.js +9 -0
  296. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/plugin.js +27 -0
  297. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  298. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/en.js +1 -1
  299. data/public/javascripts/erp_app/ckeditor/plugins/table/dialogs/table.js +4 -4
  300. data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/wsc.js +1 -1
  301. data/public/javascripts/erp_app/ckeditor/skins/kama/dialog.css +1 -1
  302. data/public/javascripts/erp_app/ckeditor/skins/kama/editor.css +3 -3
  303. data/public/javascripts/erp_app/ckeditor/skins/office2003/dialog.css +1 -1
  304. data/public/javascripts/erp_app/ckeditor/skins/office2003/editor.css +1 -1
  305. data/public/javascripts/erp_app/ckeditor/skins/v2/dialog.css +1 -1
  306. data/public/javascripts/erp_app/ckeditor/skins/v2/editor.css +1 -1
  307. data/public/javascripts/erp_app/ckeditor/themes/default/theme.js +2 -2
  308. data/public/javascripts/erp_app/ckeditor_example_config_override.js +44 -0
  309. data/public/javascripts/erp_app/desktop/applications/configuration_management/configuration_options_panel.js +229 -0
  310. data/public/javascripts/erp_app/desktop/applications/configuration_management/configuration_tree_panel.js +482 -0
  311. data/public/javascripts/erp_app/desktop/applications/configuration_management/configuration_types_panel.js +425 -0
  312. data/public/javascripts/erp_app/desktop/applications/configuration_management/module.js +95 -0
  313. data/public/javascripts/erp_app/desktop/applications/configuration_management/stores.0.js +68 -0
  314. data/public/javascripts/erp_app/desktop/applications/control_panel/application_management_panel.js +2 -1
  315. data/public/javascripts/erp_app/desktop/applications/control_panel/module.js +48 -47
  316. data/public/javascripts/erp_app/desktop/applications/control_panel/profile_management_panel.js +141 -84
  317. data/public/javascripts/erp_app/desktop/applications/file_manager/module.js +1 -2
  318. data/public/javascripts/erp_app/desktop/applications/scaffold/models_tree_panel.js +1 -2
  319. data/public/javascripts/erp_app/desktop/applications/system_management/application_role_management_panel.js +1 -2
  320. data/public/javascripts/erp_app/desktop/applications/user_management/module.js +10 -6
  321. data/public/javascripts/erp_app/desktop/applications/user_management/role_management_panel.js +3 -9
  322. data/public/javascripts/erp_app/desktop/applications/user_management/user_application_mgt_panel.js +4 -10
  323. data/public/javascripts/erp_app/ecommerce/credit_card_window.js +1 -1
  324. data/public/javascripts/erp_app/jquery_support.js +5 -5
  325. data/public/javascripts/erp_app/login/mobile.js +52 -0
  326. data/public/javascripts/erp_app/mobile/app.js +46 -0
  327. data/public/javascripts/erp_app/mobile/applications/user_management/app/model/user.js +14 -0
  328. data/public/javascripts/erp_app/mobile/applications/user_management/app/store/users.js +19 -0
  329. data/public/javascripts/erp_app/mobile/applications/user_management/app/view/templates.js +24 -0
  330. data/public/javascripts/erp_app/mobile/applications/user_management/app.js +168 -0
  331. data/public/javascripts/erp_app/mobile/mobile_base.js +10 -0
  332. data/public/javascripts/erp_app/organizer/applications/crm/base.js +415 -117
  333. data/public/javascripts/erp_app/organizer/applications/crm/contact_mechanism_grid.js +8 -1
  334. data/public/javascripts/erp_app/organizer/applications/crm/party_grid.js +33 -36
  335. data/public/javascripts/erp_app/organizer/applications/crm/userinfo.js +215 -0
  336. data/public/javascripts/erp_app/organizer/layout.js +9 -11
  337. data/public/javascripts/erp_app/shared/active_ext/active_ext_grid.js +1 -2
  338. data/public/javascripts/erp_app/shared/active_ext/active_ext_grid_panel.js +2 -3
  339. data/public/javascripts/erp_app/shared/compass_ckeditor.js +7 -6
  340. data/public/javascripts/erp_app/shared/compass_codemirror.js +161 -162
  341. data/public/javascripts/erp_app/shared/configuration/configuration_form.js +278 -0
  342. data/public/javascripts/erp_app/shared/configuration/configuration_panel.js +109 -0
  343. data/public/javascripts/erp_app/{coolclock → shared/coolclock}/coolclock.js +0 -0
  344. data/public/javascripts/erp_app/{coolclock → shared/coolclock}/moreskins.js +0 -0
  345. data/public/javascripts/erp_app/{coolclock → shared/coolclock}/tray_clock.js +0 -0
  346. data/public/javascripts/erp_app/shared/dynamic_editable_grid.js +29 -28
  347. data/public/javascripts/erp_app/shared/dynamic_editable_grid_loader_panel.js +3 -3
  348. data/public/javascripts/erp_app/shared/file_manager_tree.js +41 -25
  349. data/public/javascripts/erp_app/shared/file_upload/Ext.ux.AwesomeUploader.js +1 -1
  350. data/public/javascripts/erp_app/shared/file_upload/Ext.ux.XHRUpload.js +1 -1
  351. data/public/javascripts/erp_app/shared/file_upload/upload_window.js +245 -242
  352. data/public/javascripts/erp_app/shared/google_map_panel.js +82 -83
  353. data/public/javascripts/erp_app/shared/notes_grid.js +1 -2
  354. data/public/javascripts/erp_app/shared/preference_form.js +3 -5
  355. data/public/javascripts/erp_app/tinymce/Ext.ux.TinyMCE.js +689 -0
  356. data/public/javascripts/erp_app/tinymce/center_region.js +611 -0
  357. data/public/javascripts/erp_app/utility.js +284 -246
  358. data/public/javascripts/erp_app/widgets.js +39 -35
  359. data/public/javascripts/extjs/Ext.ux.form.MultiSelect.js +422 -0
  360. data/public/javascripts/extjs/ext-all-debug.js +15973 -12927
  361. data/public/javascripts/extjs/ext-all.js +1 -1
  362. data/public/javascripts/extjs/overrides.js +61 -0
  363. data/public/javascripts/sencha_touch/sencha-touch-all-debug.js +78370 -0
  364. data/public/javascripts/sencha_touch/sencha-touch-all.js +15 -0
  365. data/public/stylesheets/erp_app/mobile/applications/user_management/main.css +5 -0
  366. data/public/stylesheets/erp_app/mobile/mobile.css +336 -0
  367. data/public/stylesheets/erp_app/{compass-ext-all.css → shared/compass-ext-all.css} +37 -1
  368. data/public/stylesheets/extjs/resources/css/ext-all-access.css +1 -1
  369. data/public/stylesheets/extjs/resources/css/ext-all-gray.css +1 -1
  370. data/public/stylesheets/extjs/resources/css/ext-all-scoped.css +1 -1
  371. data/public/stylesheets/extjs/resources/css/ext-all.css +1 -1
  372. data/public/stylesheets/extjs/resources/css/ext-ie-scoped.css +1 -1
  373. data/public/stylesheets/extjs/resources/css/ext-ie.css +1 -1
  374. data/public/stylesheets/extjs/resources/css/ext-sandbox.css +1 -1
  375. data/public/stylesheets/extjs/resources/css/ext-standard-scoped.css +1 -1
  376. data/public/stylesheets/extjs/resources/css/ext-standard.css +1 -1
  377. data/public/stylesheets/extjs/resources/sass/ext-all-access.scss +7 -0
  378. data/public/stylesheets/extjs/resources/sass/ext-all-gray.scss +6 -0
  379. data/public/stylesheets/extjs/resources/themes/images/access/boundlist/trigger-arrow.png +0 -0
  380. data/public/stylesheets/extjs/resources/themes/images/access/grid/refresh-disabled.gif +0 -0
  381. data/public/stylesheets/extjs/resources/themes/images/access/tab-bar/{tab-bar-bg.gif → tab-bar-default-bg.gif} +0 -0
  382. data/public/stylesheets/extjs/resources/themes/images/access/tree/drop-above.gif +0 -0
  383. data/public/stylesheets/extjs/resources/themes/images/access/tree/drop-append.gif +0 -0
  384. data/public/stylesheets/extjs/resources/themes/images/access/tree/drop-below.gif +0 -0
  385. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif +0 -0
  386. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif +0 -0
  387. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif +0 -0
  388. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif +0 -0
  389. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif +0 -0
  390. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif +0 -0
  391. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif +0 -0
  392. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif +0 -0
  393. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif +0 -0
  394. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif +0 -0
  395. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif +0 -0
  396. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif +0 -0
  397. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif +0 -0
  398. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif +0 -0
  399. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif +0 -0
  400. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif +0 -0
  401. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif +0 -0
  402. data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif +0 -0
  403. data/public/stylesheets/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-corners.gif +0 -0
  404. data/public/stylesheets/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-sides.gif +0 -0
  405. data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif +0 -0
  406. data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif +0 -0
  407. data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif +0 -0
  408. data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif +0 -0
  409. data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif +0 -0
  410. data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif +0 -0
  411. data/public/stylesheets/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif +0 -0
  412. data/public/stylesheets/extjs/resources/themes/images/default/tip/tip-corners.gif +0 -0
  413. data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif +0 -0
  414. data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif +0 -0
  415. data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif +0 -0
  416. data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif +0 -0
  417. data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif +0 -0
  418. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/_all.scss +3 -0
  419. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/_mixins.scss +6 -3
  420. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/core/_core.scss +17 -17
  421. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/core/_reset.scss +17 -7
  422. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/layout/_layout.scss +10 -6
  423. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/mixins/_frame.scss +4 -4
  424. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/mixins/_reset-extras.scss +144 -0
  425. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/mixins/_theme-background-image.scss +8 -4
  426. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_dragdrop.scss +3 -3
  427. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_messagebox.scss +5 -5
  428. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_resizable.scss +6 -6
  429. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_splitter.scss +8 -8
  430. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_tool.scss +1 -1
  431. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/variables/_core.scss +1 -1
  432. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/variables/_menu.scss +1 -0
  433. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_button.scss +38 -27
  434. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_datepicker.scss +7 -7
  435. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_drawcomponent.scss +1 -5
  436. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_grid.scss +56 -57
  437. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_loadmask.scss +1 -1
  438. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_menu.scss +22 -16
  439. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_panel.scss +10 -4
  440. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_progress-bar.scss +2 -1
  441. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_qtip.scss +1 -1
  442. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_slider.scss +9 -11
  443. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_tab.scss +68 -43
  444. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_tabbar.scss +1 -1
  445. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_toolbar.scss +3 -3
  446. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_tree.scss +48 -31
  447. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_all.scss +4 -2
  448. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_checkbox.scss +3 -2
  449. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_checkboxgroup.scss +3 -2
  450. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_field.scss +3 -3
  451. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_fieldset.scss +1 -5
  452. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_htmleditor.scss +16 -15
  453. data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_triggerfield.scss +10 -10
  454. data/public/stylesheets/extjs/resources/themes/templates/resources/sass/config.rb +2 -4
  455. data/public/stylesheets/extjs/resources/themes/templates/resources/sass/my-ext-theme.scss +1 -0
  456. data/public/stylesheets/sencha_touch/resources/css/android.css +1 -0
  457. data/public/stylesheets/sencha_touch/resources/css/apple.css +1 -0
  458. data/public/stylesheets/sencha_touch/resources/css/bb6.css +1 -0
  459. data/public/stylesheets/sencha_touch/resources/css/sencha-touch.css +1 -0
  460. data/public/stylesheets/sencha_touch/resources/css/touch-charts.css +1 -0
  461. data/public/stylesheets/sencha_touch/resources/css-debug/android.css +6757 -0
  462. data/public/stylesheets/sencha_touch/resources/css-debug/apple.css +6766 -0
  463. data/public/stylesheets/sencha_touch/resources/css-debug/bb6.css +6352 -0
  464. data/public/stylesheets/sencha_touch/resources/css-debug/sencha-touch.css +6755 -0
  465. data/public/stylesheets/sencha_touch/resources/images/icon1.png +0 -0
  466. data/public/stylesheets/sencha_touch/resources/images/icon2.png +0 -0
  467. data/public/stylesheets/sencha_touch/resources/images/icon3.png +0 -0
  468. data/public/stylesheets/sencha_touch/resources/images/icon4.png +0 -0
  469. data/public/stylesheets/sencha_touch/resources/images/welcome.png +0 -0
  470. data/public/stylesheets/sencha_touch/resources/sass/android.scss +37 -0
  471. data/public/stylesheets/sencha_touch/resources/sass/apple.scss +39 -0
  472. data/public/stylesheets/sencha_touch/resources/sass/bb6.scss +66 -0
  473. data/public/stylesheets/sencha_touch/resources/sass/config-debug.rb +11 -0
  474. data/public/stylesheets/sencha_touch/resources/sass/config.rb +11 -0
  475. data/public/stylesheets/sencha_touch/resources/sass/sencha-touch.scss +18 -0
  476. data/public/stylesheets/sencha_touch/resources/themes/compass_init.rb +6 -0
  477. data/public/stylesheets/sencha_touch/resources/themes/images/default/check.png +0 -0
  478. data/public/stylesheets/sencha_touch/resources/themes/images/default/clear_icon.png +0 -0
  479. data/public/stylesheets/sencha_touch/resources/themes/images/default/disclosure.png +0 -0
  480. data/public/stylesheets/sencha_touch/resources/themes/images/default/disclosure2.png +0 -0
  481. data/public/stylesheets/sencha_touch/resources/themes/images/default/dotgrid.png +0 -0
  482. data/public/stylesheets/sencha_touch/resources/themes/images/default/loading.gif +0 -0
  483. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/action.png +0 -0
  484. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/add.png +0 -0
  485. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/add1.png +0 -0
  486. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/add_black.png +0 -0
  487. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/address_book.png +0 -0
  488. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/arrow_down.png +0 -0
  489. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/arrow_left.png +0 -0
  490. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/arrow_right.png +0 -0
  491. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/arrow_up.png +0 -0
  492. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/at.png +0 -0
  493. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/atom.png +0 -0
  494. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/attachment.png +0 -0
  495. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/attachment2.png +0 -0
  496. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/attachment3.png +0 -0
  497. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/attachment_black.png +0 -0
  498. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/backspace.png +0 -0
  499. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/battery_full.png +0 -0
  500. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/battery_low.png +0 -0
  501. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/battery_power.png +0 -0
  502. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/blank.png +0 -0
  503. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bolt.png +0 -0
  504. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bolt_side.png +0 -0
  505. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bookmark1.png +0 -0
  506. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bookmark2.png +0 -0
  507. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bookmark_black.png +0 -0
  508. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bookmarks.png +0 -0
  509. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/briefcase1.png +0 -0
  510. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/briefcase2.png +0 -0
  511. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/brightness1.png +0 -0
  512. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/brightness2.png +0 -0
  513. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/broadcast.png +0 -0
  514. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bug.png +0 -0
  515. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bulb.png +0 -0
  516. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bullseye1.png +0 -0
  517. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bullseye2.png +0 -0
  518. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/calendar.png +0 -0
  519. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/calendar2.png +0 -0
  520. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/calendar_add.png +0 -0
  521. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/card1.png +0 -0
  522. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/card2.png +0 -0
  523. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chart1.png +0 -0
  524. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chart2.png +0 -0
  525. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chart3.png +0 -0
  526. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat.png +0 -0
  527. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat1.png +0 -0
  528. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat2.png +0 -0
  529. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat3.png +0 -0
  530. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat4.png +0 -0
  531. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat_black1.png +0 -0
  532. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat_black2.png +0 -0
  533. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check1.png +0 -0
  534. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check2.png +0 -0
  535. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check_black1.png +0 -0
  536. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check_black2.png +0 -0
  537. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check_dotted.png +0 -0
  538. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/circle.png +0 -0
  539. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/circle2.png +0 -0
  540. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/clash.png +0 -0
  541. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud.png +0 -0
  542. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_black.png +0 -0
  543. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_black_upload1.png +0 -0
  544. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_black_upload2.png +0 -0
  545. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_bolt.png +0 -0
  546. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_download.png +0 -0
  547. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/code1.png +0 -0
  548. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/code2.png +0 -0
  549. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/code3.png +0 -0
  550. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compass1.png +0 -0
  551. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compass2.png +0 -0
  552. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compass3.png +0 -0
  553. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose.png +0 -0
  554. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose1.png +0 -0
  555. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose2.png +0 -0
  556. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose3.png +0 -0
  557. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose_black.png +0 -0
  558. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/contract.png +0 -0
  559. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cube.png +0 -0
  560. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/data.png +0 -0
  561. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/delete.png +0 -0
  562. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/delete1.png +0 -0
  563. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/delete_black1.png +0 -0
  564. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/delete_black2.png +0 -0
  565. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc.png +0 -0
  566. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc2.png +0 -0
  567. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_black.png +0 -0
  568. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_black_landscape.png +0 -0
  569. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_compose1.png +0 -0
  570. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_compose2.png +0 -0
  571. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_delete.png +0 -0
  572. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_down.png +0 -0
  573. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_drawer.png +0 -0
  574. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_list.png +0 -0
  575. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_new.png +0 -0
  576. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_send.png +0 -0
  577. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_up.png +0 -0
  578. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/docs1.png +0 -0
  579. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/docs2.png +0 -0
  580. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/docs_black1.png +0 -0
  581. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/docs_black2.png +0 -0
  582. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/download.png +0 -0
  583. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/download1.png +0 -0
  584. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/download2.png +0 -0
  585. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/download_screen.png +0 -0
  586. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/eject.png +0 -0
  587. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/empty1.png +0 -0
  588. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/empty2.png +0 -0
  589. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/equalizer1.png +0 -0
  590. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/equalizer2.png +0 -0
  591. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/event_complete.png +0 -0
  592. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/expand.png +0 -0
  593. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/favorites.png +0 -0
  594. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/favorites1.png +0 -0
  595. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/favorites_circle.png +0 -0
  596. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/fforward.png +0 -0
  597. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/find.png +0 -0
  598. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/flag.png +0 -0
  599. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/flickr2.png +0 -0
  600. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder.png +0 -0
  601. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_add.png +0 -0
  602. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_black.png +0 -0
  603. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_black_open.png +0 -0
  604. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_delete.png +0 -0
  605. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_delete2.png +0 -0
  606. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_lock.png +0 -0
  607. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_open2.png +0 -0
  608. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/font.png +0 -0
  609. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/forbidden.png +0 -0
  610. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/forward_black.png +0 -0
  611. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/globe1.png +0 -0
  612. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/globe2.png +0 -0
  613. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/globe_black.png +0 -0
  614. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/headphones.png +0 -0
  615. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/heart.png +0 -0
  616. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/heart_circle.png +0 -0
  617. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/help.png +0 -0
  618. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/help_black.png +0 -0
  619. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/home.png +0 -0
  620. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/home2.png +0 -0
  621. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/hot.png +0 -0
  622. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/inbox1.png +0 -0
  623. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/inbox2.png +0 -0
  624. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/inbox3.png +0 -0
  625. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/infinite.png +0 -0
  626. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/infinite2.png +0 -0
  627. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/info.png +0 -0
  628. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/info2.png +0 -0
  629. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/info_plain.png +0 -0
  630. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/info_plain2.png +0 -0
  631. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/json.png +0 -0
  632. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/lab.png +0 -0
  633. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/layout.png +0 -0
  634. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/link1.png +0 -0
  635. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/link2.png +0 -0
  636. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/link_black.png +0 -0
  637. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/list.png +0 -0
  638. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate.png +0 -0
  639. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate1.png +0 -0
  640. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate2.png +0 -0
  641. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate3.png +0 -0
  642. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate4.png +0 -0
  643. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/lock_closed.png +0 -0
  644. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/lock_open.png +0 -0
  645. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/look.png +0 -0
  646. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/loop.png +0 -0
  647. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/loop2.png +0 -0
  648. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/loop_circle.png +0 -0
  649. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/magic.png +0 -0
  650. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail.png +0 -0
  651. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail1.png +0 -0
  652. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail2.png +0 -0
  653. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail3.png +0 -0
  654. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail4.png +0 -0
  655. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail5.png +0 -0
  656. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/maps.png +0 -0
  657. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mic.png +0 -0
  658. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/minus1.png +0 -0
  659. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/minus2.png +0 -0
  660. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/minus_black1.png +0 -0
  661. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/minus_black2.png +0 -0
  662. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/monitor1.png +0 -0
  663. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/monitor2.png +0 -0
  664. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/monitor3.png +0 -0
  665. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/monitor4.png +0 -0
  666. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/more.png +0 -0
  667. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mouse.png +0 -0
  668. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/move.png +0 -0
  669. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/music1.png +0 -0
  670. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/music2.png +0 -0
  671. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/nodes1.png +0 -0
  672. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/nodes2.png +0 -0
  673. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/note1.png +0 -0
  674. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/note2.png +0 -0
  675. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/note3.png +0 -0
  676. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/note_black.png +0 -0
  677. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/nuclear.png +0 -0
  678. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/organize.png +0 -0
  679. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/outbox.png +0 -0
  680. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/pause.png +0 -0
  681. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone1.png +0 -0
  682. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone2.png +0 -0
  683. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone_black.png +0 -0
  684. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone_ring1.png +0 -0
  685. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone_ring2.png +0 -0
  686. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo1.png +0 -0
  687. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo2.png +0 -0
  688. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo3.png +0 -0
  689. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo_black1.png +0 -0
  690. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo_black2.png +0 -0
  691. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photos1.png +0 -0
  692. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photos2.png +0 -0
  693. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photos4.png +0 -0
  694. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/piechart.png +0 -0
  695. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/play1.png +0 -0
  696. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/play2.png +0 -0
  697. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/play_black1.png +0 -0
  698. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/play_black2.png +0 -0
  699. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/podcast.png +0 -0
  700. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/power socket.png +0 -0
  701. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/power_on.png +0 -0
  702. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/print.png +0 -0
  703. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/print2.png +0 -0
  704. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote1.png +0 -0
  705. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote2.png +0 -0
  706. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote_black1.png +0 -0
  707. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote_black2.png +0 -0
  708. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote_black3.png +0 -0
  709. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh.png +0 -0
  710. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh1.png +0 -0
  711. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh2.png +0 -0
  712. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh3.png +0 -0
  713. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh5.png +0 -0
  714. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/reply.png +0 -0
  715. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/replytoall.png +0 -0
  716. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/resize.png +0 -0
  717. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/resize_black.png +0 -0
  718. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rewind.png +0 -0
  719. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/right.png +0 -0
  720. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/right2.png +0 -0
  721. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss.png +0 -0
  722. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss2.png +0 -0
  723. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss_black.png +0 -0
  724. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss_black1.png +0 -0
  725. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss_black2.png +0 -0
  726. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/screens.png +0 -0
  727. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/search.png +0 -0
  728. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/search1.png +0 -0
  729. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/search2.png +0 -0
  730. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/search_black.png +0 -0
  731. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/server.png +0 -0
  732. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/servers.png +0 -0
  733. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings.png +0 -0
  734. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings1.png +0 -0
  735. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings10.png +0 -0
  736. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings11.png +0 -0
  737. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings3.png +0 -0
  738. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings4.png +0 -0
  739. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings5.png +0 -0
  740. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings6.png +0 -0
  741. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings7.png +0 -0
  742. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings8.png +0 -0
  743. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings9.png +0 -0
  744. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings_black.png +0 -0
  745. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/share.png +0 -0
  746. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shield1.png +0 -0
  747. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shield2.png +0 -0
  748. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shop1.png +0 -0
  749. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shop2.png +0 -0
  750. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shuffle.png +0 -0
  751. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_backforth.png +0 -0
  752. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_cross.png +0 -0
  753. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_leftright.png +0 -0
  754. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_leftright2.png +0 -0
  755. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_split.png +0 -0
  756. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_switch.png +0 -0
  757. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_uturn.png +0 -0
  758. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/spaces1.png +0 -0
  759. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/spaces2.png +0 -0
  760. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/speedometer1.png +0 -0
  761. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/speedometer2.png +0 -0
  762. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/speedometer_black1.png +0 -0
  763. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/speedometer_black2.png +0 -0
  764. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/star.png +0 -0
  765. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/stop.png +0 -0
  766. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/stop1.png +0 -0
  767. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/stop2.png +0 -0
  768. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sync.png +0 -0
  769. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tabbed_book.png +0 -0
  770. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tag.png +0 -0
  771. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tag_black.png +0 -0
  772. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tags.png +0 -0
  773. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/team.png +0 -0
  774. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/team1.png +0 -0
  775. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/time.png +0 -0
  776. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/time_repeat.png +0 -0
  777. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/trash.png +0 -0
  778. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/trash2.png +0 -0
  779. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/trash_black.png +0 -0
  780. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tree.png +0 -0
  781. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tv.png +0 -0
  782. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tweak.png +0 -0
  783. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/twitter1.png +0 -0
  784. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/twitter2.png +0 -0
  785. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/up1.png +0 -0
  786. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/up2.png +0 -0
  787. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/up_black.png +0 -0
  788. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/upload2.png +0 -0
  789. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user.png +0 -0
  790. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user3.png +0 -0
  791. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_add.png +0 -0
  792. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_business.png +0 -0
  793. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_fave.png +0 -0
  794. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_list.png +0 -0
  795. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_list2.png +0 -0
  796. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_remote1.png +0 -0
  797. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_remove2.png +0 -0
  798. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_send.png +0 -0
  799. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/video.png +0 -0
  800. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/video_black1.png +0 -0
  801. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/video_black2.png +0 -0
  802. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume.png +0 -0
  803. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume_black.png +0 -0
  804. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume_down.png +0 -0
  805. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume_mute.png +0 -0
  806. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume_up.png +0 -0
  807. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/warming_dotted.png +0 -0
  808. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/warning_black.png +0 -0
  809. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/wifi.png +0 -0
  810. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/wifi2.png +0 -0
  811. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/wifi3.png +0 -0
  812. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/wifi4.png +0 -0
  813. data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/window.png +0 -0
  814. data/public/stylesheets/sencha_touch/resources/themes/images/default/pullarrow.png +0 -0
  815. data/public/stylesheets/sencha_touch/resources/themes/images/default/select_mask.png +0 -0
  816. data/public/stylesheets/sencha_touch/resources/themes/images/default/tip.png +0 -0
  817. data/public/stylesheets/sencha_touch/resources/themes/images/default/tip_horizontal.png +0 -0
  818. data/public/stylesheets/sencha_touch/resources/themes/images/default/tip_right.png +0 -0
  819. data/public/stylesheets/sencha_touch/resources/themes/images/default/togglebg.png +0 -0
  820. data/public/stylesheets/sencha_touch/resources/themes/images/default/togglemask.png +0 -0
  821. data/public/stylesheets/sencha_touch/resources/themes/images/default/togglethumb.png +0 -0
  822. data/public/stylesheets/sencha_touch/resources/themes/images/default/togglethumbbg.png +0 -0
  823. data/public/stylesheets/sencha_touch/resources/themes/images/default/togglethumbmask.png +0 -0
  824. data/public/stylesheets/sencha_touch/resources/themes/images/default/trackmask_outer.png +0 -0
  825. data/public/stylesheets/sencha_touch/resources/themes/lib/theme_images.rb +18 -0
  826. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_all.scss +2 -0
  827. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_core.scss +3 -0
  828. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_global.scss +2 -0
  829. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_mixins.scss +196 -0
  830. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_variables.scss +116 -0
  831. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_widgets.scss +16 -0
  832. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/core/_core.scss +189 -0
  833. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/core/_layout.scss +362 -0
  834. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/core/_reset.scss +62 -0
  835. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_buttons.scss +354 -0
  836. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_carousel.scss +113 -0
  837. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_form-sliders-basic.scss +102 -0
  838. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_form-sliders.scss +149 -0
  839. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_form.scss +608 -0
  840. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_img.scss +5 -0
  841. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_indexbar.scss +76 -0
  842. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_list.scss +401 -0
  843. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_loading-spinner.scss +121 -0
  844. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_map.scss +11 -0
  845. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_media.scss +21 -0
  846. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_msgbox.scss +94 -0
  847. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_panel.scss +79 -0
  848. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_picker.scss +154 -0
  849. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_sheets.scss +52 -0
  850. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_tabs.scss +269 -0
  851. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_toolbar-forms.scss +182 -0
  852. data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_toolbar.scss +156 -0
  853. data/public/stylesheets/sencha_touch/resources/themes/templates/project/manifest.rb +1 -0
  854. data/public/stylesheets/sencha_touch/resources/themes/templates/project/sencha-touch.scss +17 -0
  855. metadata +3251 -2688
  856. data/README.rdoc +0 -2
  857. data/config/initializers/erp_app.rb +0 -4
  858. data/lib/erp_app/extensions/active_record/acts_as_app_container.rb +0 -72
  859. data/lib/erp_app/extensions/railties/action_view.rb +0 -110
  860. data/lib/erp_app/widgets/railties/action_view.rb +0 -36
  861. data/lib/erp_app/widgets/railties/engine.rb +0 -55
  862. data/public/images/icons/add/Thumbs.db +0 -0
  863. data/public/images/icons/calendar/Thumbs.db +0 -0
  864. data/public/images/icons/copy/Thumbs.db +0 -0
  865. data/public/images/icons/cut/Thumbs.db +0 -0
  866. data/public/images/icons/delete/Thumbs.db +0 -0
  867. data/public/images/icons/edit/Thumbs.db +0 -0
  868. data/public/images/icons/folder/Thumbs.db +0 -0
  869. data/public/images/icons/gear/Thumbs.db +0 -0
  870. data/public/images/icons/globe/Thumbs.db +0 -0
  871. data/public/images/icons/grid/Thumbs.db +0 -0
  872. data/public/images/icons/help/Thumbs.db +0 -0
  873. data/public/images/icons/information/Thumbs.db +0 -0
  874. data/public/images/icons/key/Thumbs.db +0 -0
  875. data/public/images/icons/log_out/Thumbs.db +0 -0
  876. data/public/images/icons/mail/Thumbs.db +0 -0
  877. data/public/images/icons/new/Thumbs.db +0 -0
  878. data/public/images/icons/next/Thumbs.db +0 -0
  879. data/public/images/icons/open/Thumbs.db +0 -0
  880. data/public/images/icons/paste/Thumbs.db +0 -0
  881. data/public/images/icons/picture/Thumbs.db +0 -0
  882. data/public/images/icons/presentation/Thumbs.db +0 -0
  883. data/public/images/icons/preview/Thumbs.db +0 -0
  884. data/public/images/icons/previous/Thumbs.db +0 -0
  885. data/public/images/icons/print/Thumbs.db +0 -0
  886. data/public/images/icons/properties/Thumbs.db +0 -0
  887. data/public/images/icons/redo/Thumbs.db +0 -0
  888. data/public/images/icons/refresh/Thumbs.db +0 -0
  889. data/public/images/icons/remove/Thumbs.db +0 -0
  890. data/public/images/icons/rename/Thumbs.db +0 -0
  891. data/public/images/icons/save/Thumbs.db +0 -0
  892. data/public/images/icons/search/Thumbs.db +0 -0
  893. data/public/images/icons/send/Thumbs.db +0 -0
  894. data/public/images/icons/settings/Thumbs.db +0 -0
  895. data/public/images/icons/synchronize/Thumbs.db +0 -0
  896. data/public/images/icons/undo/Thumbs.db +0 -0
  897. data/public/images/icons/upload/Thumbs.db +0 -0
  898. data/public/images/icons/user/Thumbs.db +0 -0
  899. data/public/images/icons/zoom_in/Thumbs.db +0 -0
  900. data/public/images/icons/zoom_out/Thumbs.db +0 -0
  901. data/public/javascripts/erp_app/ckeditor/plugins/jwplayer/jwplayer/Thumbs.db +0 -0
  902. data/public/javascripts/erp_app/shared/ajax_pagination.js +0 -33
  903. data/public/stylesheets/extjs/resources/themes/images/access/tab-bar/tab-bar-bg.png +0 -0
  904. data/public/stylesheets/extjs/resources/themes/templates/resources/css/my-ext-theme.css +0 -59
  905. data/spec/dummy/db/schema.rb +0 -709
  906. data/spec/dummy/db/spec.sqlite3 +0 -0
  907. data/spec/dummy/log/RAILS_ENV=spec.log +0 -0
  908. data/spec/dummy/log/development.log +0 -0
  909. data/spec/dummy/log/spec.log +0 -52150
@@ -0,0 +1,413 @@
1
+ /**
2
+ * Storage and control for undo information within a CodeMirror
3
+ * editor. 'Why on earth is such a complicated mess required for
4
+ * that?', I hear you ask. The goal, in implementing this, was to make
5
+ * the complexity of storing and reverting undo information depend
6
+ * only on the size of the edited or restored content, not on the size
7
+ * of the whole document. This makes it necessary to use a kind of
8
+ * 'diff' system, which, when applied to a DOM tree, causes some
9
+ * complexity and hackery.
10
+ *
11
+ * In short, the editor 'touches' BR elements as it parses them, and
12
+ * the UndoHistory stores these. When nothing is touched in commitDelay
13
+ * milliseconds, the changes are committed: It goes over all touched
14
+ * nodes, throws out the ones that did not change since last commit or
15
+ * are no longer in the document, and assembles the rest into zero or
16
+ * more 'chains' -- arrays of adjacent lines. Links back to these
17
+ * chains are added to the BR nodes, while the chain that previously
18
+ * spanned these nodes is added to the undo history. Undoing a change
19
+ * means taking such a chain off the undo history, restoring its
20
+ * content (text is saved per line) and linking it back into the
21
+ * document.
22
+ */
23
+
24
+ // A history object needs to know about the DOM container holding the
25
+ // document, the maximum amount of undo levels it should store, the
26
+ // delay (of no input) after which it commits a set of changes, and,
27
+ // unfortunately, the 'parent' window -- a window that is not in
28
+ // designMode, and on which setTimeout works in every browser.
29
+ function UndoHistory(container, maxDepth, commitDelay, editor) {
30
+ this.container = container;
31
+ this.maxDepth = maxDepth; this.commitDelay = commitDelay;
32
+ this.editor = editor;
33
+ // This line object represents the initial, empty editor.
34
+ var initial = {text: "", from: null, to: null};
35
+ // As the borders between lines are represented by BR elements, the
36
+ // start of the first line and the end of the last one are
37
+ // represented by null. Since you can not store any properties
38
+ // (links to line objects) in null, these properties are used in
39
+ // those cases.
40
+ this.first = initial; this.last = initial;
41
+ // Similarly, a 'historyTouched' property is added to the BR in
42
+ // front of lines that have already been touched, and 'firstTouched'
43
+ // is used for the first line.
44
+ this.firstTouched = false;
45
+ // History is the set of committed changes, touched is the set of
46
+ // nodes touched since the last commit.
47
+ this.history = []; this.redoHistory = []; this.touched = []; this.lostundo = 0;
48
+ }
49
+
50
+ UndoHistory.prototype = {
51
+ // Schedule a commit (if no other touches come in for commitDelay
52
+ // milliseconds).
53
+ scheduleCommit: function() {
54
+ var self = this;
55
+ parent.clearTimeout(this.commitTimeout);
56
+ this.commitTimeout = parent.setTimeout(function(){self.tryCommit();}, this.commitDelay);
57
+ },
58
+
59
+ // Mark a node as touched. Null is a valid argument.
60
+ touch: function(node) {
61
+ this.setTouched(node);
62
+ this.scheduleCommit();
63
+ },
64
+
65
+ // Undo the last change.
66
+ undo: function() {
67
+ // Make sure pending changes have been committed.
68
+ this.commit();
69
+
70
+ if (this.history.length) {
71
+ // Take the top diff from the history, apply it, and store its
72
+ // shadow in the redo history.
73
+ var item = this.history.pop();
74
+ this.redoHistory.push(this.updateTo(item, "applyChain"));
75
+ this.notifyEnvironment();
76
+ return this.chainNode(item);
77
+ }
78
+ },
79
+
80
+ // Redo the last undone change.
81
+ redo: function() {
82
+ this.commit();
83
+ if (this.redoHistory.length) {
84
+ // The inverse of undo, basically.
85
+ var item = this.redoHistory.pop();
86
+ this.addUndoLevel(this.updateTo(item, "applyChain"));
87
+ this.notifyEnvironment();
88
+ return this.chainNode(item);
89
+ }
90
+ },
91
+
92
+ clear: function() {
93
+ this.history = [];
94
+ this.redoHistory = [];
95
+ this.lostundo = 0;
96
+ },
97
+
98
+ // Ask for the size of the un/redo histories.
99
+ historySize: function() {
100
+ return {undo: this.history.length, redo: this.redoHistory.length, lostundo: this.lostundo};
101
+ },
102
+
103
+ // Push a changeset into the document.
104
+ push: function(from, to, lines) {
105
+ var chain = [];
106
+ for (var i = 0; i < lines.length; i++) {
107
+ var end = (i == lines.length - 1) ? to : document.createElement("br");
108
+ chain.push({from: from, to: end, text: cleanText(lines[i])});
109
+ from = end;
110
+ }
111
+ this.pushChains([chain], from == null && to == null);
112
+ this.notifyEnvironment();
113
+ },
114
+
115
+ pushChains: function(chains, doNotHighlight) {
116
+ this.commit(doNotHighlight);
117
+ this.addUndoLevel(this.updateTo(chains, "applyChain"));
118
+ this.redoHistory = [];
119
+ },
120
+
121
+ // Retrieve a DOM node from a chain (for scrolling to it after undo/redo).
122
+ chainNode: function(chains) {
123
+ for (var i = 0; i < chains.length; i++) {
124
+ var start = chains[i][0], node = start && (start.from || start.to);
125
+ if (node) return node;
126
+ }
127
+ },
128
+
129
+ // Clear the undo history, make the current document the start
130
+ // position.
131
+ reset: function() {
132
+ this.history = []; this.redoHistory = []; this.lostundo = 0;
133
+ },
134
+
135
+ textAfter: function(br) {
136
+ return this.after(br).text;
137
+ },
138
+
139
+ nodeAfter: function(br) {
140
+ return this.after(br).to;
141
+ },
142
+
143
+ nodeBefore: function(br) {
144
+ return this.before(br).from;
145
+ },
146
+
147
+ // Commit unless there are pending dirty nodes.
148
+ tryCommit: function() {
149
+ if (!window || !window.parent || !window.UndoHistory) return; // Stop when frame has been unloaded
150
+ if (this.editor.highlightDirty()) this.commit(true);
151
+ else this.scheduleCommit();
152
+ },
153
+
154
+ // Check whether the touched nodes hold any changes, if so, commit
155
+ // them.
156
+ commit: function(doNotHighlight) {
157
+ parent.clearTimeout(this.commitTimeout);
158
+ // Make sure there are no pending dirty nodes.
159
+ if (!doNotHighlight) this.editor.highlightDirty(true);
160
+ // Build set of chains.
161
+ var chains = this.touchedChains(), self = this;
162
+
163
+ if (chains.length) {
164
+ this.addUndoLevel(this.updateTo(chains, "linkChain"));
165
+ this.redoHistory = [];
166
+ this.notifyEnvironment();
167
+ }
168
+ },
169
+
170
+ // [ end of public interface ]
171
+
172
+ // Update the document with a given set of chains, return its
173
+ // shadow. updateFunc should be "applyChain" or "linkChain". In the
174
+ // second case, the chains are taken to correspond the the current
175
+ // document, and only the state of the line data is updated. In the
176
+ // first case, the content of the chains is also pushed iinto the
177
+ // document.
178
+ updateTo: function(chains, updateFunc) {
179
+ var shadows = [], dirty = [];
180
+ for (var i = 0; i < chains.length; i++) {
181
+ shadows.push(this.shadowChain(chains[i]));
182
+ dirty.push(this[updateFunc](chains[i]));
183
+ }
184
+ if (updateFunc == "applyChain")
185
+ this.notifyDirty(dirty);
186
+ return shadows;
187
+ },
188
+
189
+ // Notify the editor that some nodes have changed.
190
+ notifyDirty: function(nodes) {
191
+ forEach(nodes, method(this.editor, "addDirtyNode"))
192
+ this.editor.scheduleHighlight();
193
+ },
194
+
195
+ notifyEnvironment: function() {
196
+ if (this.onChange) this.onChange(this.editor);
197
+ // Used by the line-wrapping line-numbering code.
198
+ if (window.frameElement && window.frameElement.CodeMirror.updateNumbers)
199
+ window.frameElement.CodeMirror.updateNumbers();
200
+ },
201
+
202
+ // Link a chain into the DOM nodes (or the first/last links for null
203
+ // nodes).
204
+ linkChain: function(chain) {
205
+ for (var i = 0; i < chain.length; i++) {
206
+ var line = chain[i];
207
+ if (line.from) line.from.historyAfter = line;
208
+ else this.first = line;
209
+ if (line.to) line.to.historyBefore = line;
210
+ else this.last = line;
211
+ }
212
+ },
213
+
214
+ // Get the line object after/before a given node.
215
+ after: function(node) {
216
+ return node ? node.historyAfter : this.first;
217
+ },
218
+ before: function(node) {
219
+ return node ? node.historyBefore : this.last;
220
+ },
221
+
222
+ // Mark a node as touched if it has not already been marked.
223
+ setTouched: function(node) {
224
+ if (node) {
225
+ if (!node.historyTouched) {
226
+ this.touched.push(node);
227
+ node.historyTouched = true;
228
+ }
229
+ }
230
+ else {
231
+ this.firstTouched = true;
232
+ }
233
+ },
234
+
235
+ // Store a new set of undo info, throw away info if there is more of
236
+ // it than allowed.
237
+ addUndoLevel: function(diffs) {
238
+ this.history.push(diffs);
239
+ if (this.history.length > this.maxDepth) {
240
+ this.history.shift();
241
+ lostundo += 1;
242
+ }
243
+ },
244
+
245
+ // Build chains from a set of touched nodes.
246
+ touchedChains: function() {
247
+ var self = this;
248
+
249
+ // The temp system is a crummy hack to speed up determining
250
+ // whether a (currently touched) node has a line object associated
251
+ // with it. nullTemp is used to store the object for the first
252
+ // line, other nodes get it stored in their historyTemp property.
253
+ var nullTemp = null;
254
+ function temp(node) {return node ? node.historyTemp : nullTemp;}
255
+ function setTemp(node, line) {
256
+ if (node) node.historyTemp = line;
257
+ else nullTemp = line;
258
+ }
259
+
260
+ function buildLine(node) {
261
+ var text = [];
262
+ for (var cur = node ? node.nextSibling : self.container.firstChild;
263
+ cur && (!isBR(cur) || cur.hackBR); cur = cur.nextSibling)
264
+ if (!cur.hackBR && cur.currentText) text.push(cur.currentText);
265
+ return {from: node, to: cur, text: cleanText(text.join(""))};
266
+ }
267
+
268
+ // Filter out unchanged lines and nodes that are no longer in the
269
+ // document. Build up line objects for remaining nodes.
270
+ var lines = [];
271
+ if (self.firstTouched) self.touched.push(null);
272
+ forEach(self.touched, function(node) {
273
+ if (node && (node.parentNode != self.container || node.hackBR)) return;
274
+
275
+ if (node) node.historyTouched = false;
276
+ else self.firstTouched = false;
277
+
278
+ var line = buildLine(node), shadow = self.after(node);
279
+ if (!shadow || shadow.text != line.text || shadow.to != line.to) {
280
+ lines.push(line);
281
+ setTemp(node, line);
282
+ }
283
+ });
284
+
285
+ // Get the BR element after/before the given node.
286
+ function nextBR(node, dir) {
287
+ var link = dir + "Sibling", search = node[link];
288
+ while (search && !isBR(search))
289
+ search = search[link];
290
+ return search;
291
+ }
292
+
293
+ // Assemble line objects into chains by scanning the DOM tree
294
+ // around them.
295
+ var chains = []; self.touched = [];
296
+ forEach(lines, function(line) {
297
+ // Note that this makes the loop skip line objects that have
298
+ // been pulled into chains by lines before them.
299
+ if (!temp(line.from)) return;
300
+
301
+ var chain = [], curNode = line.from, safe = true;
302
+ // Put any line objects (referred to by temp info) before this
303
+ // one on the front of the array.
304
+ while (true) {
305
+ var curLine = temp(curNode);
306
+ if (!curLine) {
307
+ if (safe) break;
308
+ else curLine = buildLine(curNode);
309
+ }
310
+ chain.unshift(curLine);
311
+ setTemp(curNode, null);
312
+ if (!curNode) break;
313
+ safe = self.after(curNode);
314
+ curNode = nextBR(curNode, "previous");
315
+ }
316
+ curNode = line.to; safe = self.before(line.from);
317
+ // Add lines after this one at end of array.
318
+ while (true) {
319
+ if (!curNode) break;
320
+ var curLine = temp(curNode);
321
+ if (!curLine) {
322
+ if (safe) break;
323
+ else curLine = buildLine(curNode);
324
+ }
325
+ chain.push(curLine);
326
+ setTemp(curNode, null);
327
+ safe = self.before(curNode);
328
+ curNode = nextBR(curNode, "next");
329
+ }
330
+ chains.push(chain);
331
+ });
332
+
333
+ return chains;
334
+ },
335
+
336
+ // Find the 'shadow' of a given chain by following the links in the
337
+ // DOM nodes at its start and end.
338
+ shadowChain: function(chain) {
339
+ var shadows = [], next = this.after(chain[0].from), end = chain[chain.length - 1].to;
340
+ while (true) {
341
+ shadows.push(next);
342
+ var nextNode = next.to;
343
+ if (!nextNode || nextNode == end)
344
+ break;
345
+ else
346
+ next = nextNode.historyAfter || this.before(end);
347
+ // (The this.before(end) is a hack -- FF sometimes removes
348
+ // properties from BR nodes, in which case the best we can hope
349
+ // for is to not break.)
350
+ }
351
+ return shadows;
352
+ },
353
+
354
+ // Update the DOM tree to contain the lines specified in a given
355
+ // chain, link this chain into the DOM nodes.
356
+ applyChain: function(chain) {
357
+ // Some attempt is made to prevent the cursor from jumping
358
+ // randomly when an undo or redo happens. It still behaves a bit
359
+ // strange sometimes.
360
+ var cursor = select.cursorPos(this.container, false), self = this;
361
+
362
+ // Remove all nodes in the DOM tree between from and to (null for
363
+ // start/end of container).
364
+ function removeRange(from, to) {
365
+ var pos = from ? from.nextSibling : self.container.firstChild;
366
+ while (pos != to) {
367
+ var temp = pos.nextSibling;
368
+ removeElement(pos);
369
+ pos = temp;
370
+ }
371
+ }
372
+
373
+ var start = chain[0].from, end = chain[chain.length - 1].to;
374
+ // Clear the space where this change has to be made.
375
+ removeRange(start, end);
376
+
377
+ // Insert the content specified by the chain into the DOM tree.
378
+ for (var i = 0; i < chain.length; i++) {
379
+ var line = chain[i];
380
+ // The start and end of the space are already correct, but BR
381
+ // tags inside it have to be put back.
382
+ if (i > 0)
383
+ self.container.insertBefore(line.from, end);
384
+
385
+ // Add the text.
386
+ var node = makePartSpan(fixSpaces(line.text));
387
+ self.container.insertBefore(node, end);
388
+ // See if the cursor was on this line. Put it back, adjusting
389
+ // for changed line length, if it was.
390
+ if (cursor && cursor.node == line.from) {
391
+ var cursordiff = 0;
392
+ var prev = this.after(line.from);
393
+ if (prev && i == chain.length - 1) {
394
+ // Only adjust if the cursor is after the unchanged part of
395
+ // the line.
396
+ for (var match = 0; match < cursor.offset &&
397
+ line.text.charAt(match) == prev.text.charAt(match); match++){}
398
+ if (cursor.offset > match)
399
+ cursordiff = line.text.length - prev.text.length;
400
+ }
401
+ select.setCursorPos(this.container, {node: line.from, offset: Math.max(0, cursor.offset + cursordiff)});
402
+ }
403
+ // Cursor was in removed line, this is last new line.
404
+ else if (cursor && (i == chain.length - 1) && cursor.node && cursor.node.parentNode != this.container) {
405
+ select.setCursorPos(this.container, {node: line.from, offset: line.text.length});
406
+ }
407
+ }
408
+
409
+ // Anchor the chain in the DOM tree.
410
+ this.linkChain(chain);
411
+ return start;
412
+ }
413
+ };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Test Harness for CodeMirror
3
+ * JS-unit compatible tests here. The two available assertions are
4
+ * assertEquals (strict equality) and assertEquivalent (looser equivalency).
5
+ *
6
+ * 'editor' is a global object for the CodeMirror editor shared between all
7
+ * tests. After manipulating it in each test, try to restore it to
8
+ * approximately its original state.
9
+ */
10
+
11
+ function testSetGet() {
12
+ var code = 'It was the best of times.\nIt was the worst of times.';
13
+ editor.setCode(code);
14
+ assertEquals(code, editor.getCode());
15
+ editor.setCode('');
16
+ assertEquals('', editor.getCode());
17
+ }
18
+
19
+ function testSetStylesheet() {
20
+ function cssStatus() {
21
+ // Returns a list of tuples, for each CSS link return the filename and
22
+ // whether it is enabled.
23
+ links = editor.win.document.getElementsByTagName('link');
24
+ css = [];
25
+ for (var x = 0, link; link = links[x]; x++) {
26
+ if (link.rel.indexOf("stylesheet") !== -1) {
27
+ css.push([link.href.substring(link.href.lastIndexOf('/') + 1),
28
+ !link.disabled])
29
+ }
30
+ }
31
+ return css;
32
+ }
33
+ assertEquivalent([], cssStatus());
34
+ editor.setStylesheet('css/jscolors.css');
35
+ assertEquivalent([['jscolors.css', true]], cssStatus());
36
+ editor.setStylesheet(['css/csscolors.css', 'css/xmlcolors.css']);
37
+ assertEquivalent([['jscolors.css', false], ['csscolors.css', true], ['xmlcolors.css', true]], cssStatus());
38
+ editor.setStylesheet([]);
39
+ assertEquivalent([['jscolors.css', false], ['csscolors.css', false], ['xmlcolors.css', false]], cssStatus());
40
+ }
41
+
42
+ // Update this list of tests as new ones are added.
43
+ var tests = ['testSetGet', 'testSetStylesheet'];
44
+
@@ -0,0 +1,133 @@
1
+ /* A few useful utility functions. */
2
+
3
+ // Capture a method on an object.
4
+ function method(obj, name) {
5
+ return function() {obj[name].apply(obj, arguments);};
6
+ }
7
+
8
+ // The value used to signal the end of a sequence in iterators.
9
+ var StopIteration = {toString: function() {return "StopIteration"}};
10
+
11
+ // Apply a function to each element in a sequence.
12
+ function forEach(iter, f) {
13
+ if (iter.next) {
14
+ try {while (true) f(iter.next());}
15
+ catch (e) {if (e != StopIteration) throw e;}
16
+ }
17
+ else {
18
+ for (var i = 0; i < iter.length; i++)
19
+ f(iter[i]);
20
+ }
21
+ }
22
+
23
+ // Map a function over a sequence, producing an array of results.
24
+ function map(iter, f) {
25
+ var accum = [];
26
+ forEach(iter, function(val) {accum.push(f(val));});
27
+ return accum;
28
+ }
29
+
30
+ // Create a predicate function that tests a string againsts a given
31
+ // regular expression. No longer used but might be used by 3rd party
32
+ // parsers.
33
+ function matcher(regexp){
34
+ return function(value){return regexp.test(value);};
35
+ }
36
+
37
+ // Test whether a DOM node has a certain CSS class.
38
+ function hasClass(element, className) {
39
+ var classes = element.className;
40
+ return classes && new RegExp("(^| )" + className + "($| )").test(classes);
41
+ }
42
+ function removeClass(element, className) {
43
+ element.className = element.className.replace(new RegExp(" " + className + "\\b", "g"), "");
44
+ return element;
45
+ }
46
+
47
+ // Insert a DOM node after another node.
48
+ function insertAfter(newNode, oldNode) {
49
+ var parent = oldNode.parentNode;
50
+ parent.insertBefore(newNode, oldNode.nextSibling);
51
+ return newNode;
52
+ }
53
+
54
+ function removeElement(node) {
55
+ if (node.parentNode)
56
+ node.parentNode.removeChild(node);
57
+ }
58
+
59
+ function clearElement(node) {
60
+ while (node.firstChild)
61
+ node.removeChild(node.firstChild);
62
+ }
63
+
64
+ // Check whether a node is contained in another one.
65
+ function isAncestor(node, child) {
66
+ while (child = child.parentNode) {
67
+ if (node == child)
68
+ return true;
69
+ }
70
+ return false;
71
+ }
72
+
73
+ // The non-breaking space character.
74
+ var nbsp = "\u00a0";
75
+ var matching = {"{": "}", "[": "]", "(": ")",
76
+ "}": "{", "]": "[", ")": "("};
77
+
78
+ // Standardize a few unportable event properties.
79
+ function normalizeEvent(event) {
80
+ if (!event.stopPropagation) {
81
+ event.stopPropagation = function() {this.cancelBubble = true;};
82
+ event.preventDefault = function() {this.returnValue = false;};
83
+ }
84
+ if (!event.stop) {
85
+ event.stop = function() {
86
+ this.stopPropagation();
87
+ this.preventDefault();
88
+ };
89
+ }
90
+
91
+ if (event.type == "keypress") {
92
+ event.code = (event.charCode == null) ? event.keyCode : event.charCode;
93
+ event.character = String.fromCharCode(event.code);
94
+ }
95
+ return event;
96
+ }
97
+
98
+ // Portably register event handlers.
99
+ function addEventHandler(node, type, handler, removeFunc) {
100
+ function wrapHandler(event) {
101
+ handler(normalizeEvent(event || window.event));
102
+ }
103
+ if (typeof node.addEventListener == "function") {
104
+ node.addEventListener(type, wrapHandler, false);
105
+ if (removeFunc) return function() {node.removeEventListener(type, wrapHandler, false);};
106
+ }
107
+ else {
108
+ node.attachEvent("on" + type, wrapHandler);
109
+ if (removeFunc) return function() {node.detachEvent("on" + type, wrapHandler);};
110
+ }
111
+ }
112
+
113
+ function nodeText(node) {
114
+ return node.textContent || node.innerText || node.nodeValue || "";
115
+ }
116
+
117
+ function nodeTop(node) {
118
+ var top = 0;
119
+ while (node.offsetParent) {
120
+ top += node.offsetTop;
121
+ node = node.offsetParent;
122
+ }
123
+ return top;
124
+ }
125
+
126
+ function isBR(node) {
127
+ var nn = node.nodeName;
128
+ return nn == "BR" || nn == "br";
129
+ }
130
+ function isSpan(node) {
131
+ var nn = node.nodeName;
132
+ return nn == "SPAN" || nn == "span";
133
+ }
@@ -0,0 +1,56 @@
1
+ <html xmlns="http://www.w3.org/1999/xhtml">
2
+ <head>
3
+ <script src="js/codemirror.js" type="text/javascript"></script>
4
+ <script src="js/mirrorframe.js" type="text/javascript"></script>
5
+ <title>CodeMirror: JavaScript demonstration</title>
6
+ <link rel="stylesheet" type="text/css" href="css/docs.css"/>
7
+ </head>
8
+ <body style="padding: 20px;">
9
+
10
+ <p>This page demonstrates <a href="index.html">CodeMirror</a>'s
11
+ JavaScript parser. Note that the ugly buttons at the top are not are
12
+ not part of CodeMirror proper -- they demonstrate the way it can be
13
+ embedded in a web-application.</p>
14
+
15
+ <div>
16
+ <textarea id="code" cols="120" rows="30">
17
+ // Here you see some JavaScript code. Mess around with it to get
18
+ // acquainted with CodeMirror's features.
19
+
20
+ // Press enter inside the object and your new line will be suitably
21
+ // indented.
22
+ var keyBindings = {
23
+ enter: "newline-and-indent",
24
+ tab: "reindent-selection",
25
+ ctrl_z: "undo",
26
+ ctrl_y: "redo",
27
+ ctrl_backspace: "undo-for-safari (which blocks ctrl-z)",
28
+ ctrl_bracket: "highlight-brackets",
29
+ ctrl_shift_bracket: "jump-to-matching-bracket"
30
+ };
31
+
32
+ // Press tab on the next line and the wrong indentation will be fixed.
33
+ var regex = /foo|bar/i;
34
+
35
+ function example(x) {
36
+ // Local variables get a different colour than global ones.
37
+ var y = 44.4;
38
+ return x + y - z;
39
+ }
40
+ </textarea>
41
+ </div>
42
+
43
+ <script type="text/javascript">
44
+ var textarea = document.getElementById('code');
45
+ var editor = new MirrorFrame(CodeMirror.replace(textarea), {
46
+ height: "350px",
47
+ content: textarea.value,
48
+ parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
49
+ stylesheet: "css/jscolors.css",
50
+ path: "js/",
51
+ autoMatchParens: true
52
+ });
53
+ </script>
54
+
55
+ </body>
56
+ </html>