erp_app 3.1.16 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1634) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -5
  3. data/app/controllers/erp_app/desktop/configuration_management/base_controller.rb +2 -2
  4. data/app/controllers/erp_app/desktop/configuration_management/options_controller.rb +14 -14
  5. data/app/controllers/erp_app/desktop/configuration_management/types_controller.rb +3 -3
  6. data/app/controllers/erp_app/desktop/control_panel/application_management_controller.rb +2 -2
  7. data/app/controllers/erp_app/desktop/file_manager/base_controller.rb +1 -1
  8. data/app/controllers/erp_app/desktop/job_tracker/base_controller.rb +5 -6
  9. data/app/controllers/erp_app/desktop/security_management/base_controller.rb +7 -7
  10. data/app/controllers/erp_app/desktop/security_management/capabilities_controller.rb +37 -42
  11. data/app/controllers/erp_app/desktop/security_management/groups_controller.rb +70 -75
  12. data/app/controllers/erp_app/desktop/security_management/roles_controller.rb +63 -68
  13. data/app/controllers/erp_app/desktop/security_management/users_controller.rb +45 -50
  14. data/app/controllers/erp_app/login_controller.rb +20 -11
  15. data/app/controllers/erp_app/mobile/user_management/base_controller.rb +4 -5
  16. data/app/controllers/erp_app/organizer/application_management_controller.rb +47 -0
  17. data/app/controllers/erp_app/organizer/crm/contact_mechanisms_controller.rb +150 -0
  18. data/app/controllers/erp_app/organizer/crm/parties_controller.rb +326 -0
  19. data/app/controllers/erp_app/organizer/crm/relationship_controller.rb +28 -30
  20. data/app/controllers/erp_app/organizer/crm/users_controller.rb +250 -0
  21. data/app/controllers/erp_app/public_controller.rb +9 -2
  22. data/app/controllers/erp_app/shared/audit_log_controller.rb +68 -0
  23. data/app/controllers/erp_app/shared/configuration_controller.rb +3 -3
  24. data/app/controllers/erp_app/shared/notes_controller.rb +50 -40
  25. data/app/controllers/erp_app/widget_proxy_controller.rb +6 -4
  26. data/app/models/application.rb +8 -2
  27. data/app/models/configuration.rb +46 -24
  28. data/app/models/configuration_item.rb +8 -0
  29. data/app/models/desktop.rb +0 -14
  30. data/app/models/organizer.rb +0 -14
  31. data/app/models/widget.rb +0 -3
  32. data/app/views/erp_app/desktop/base/index.erb +28 -35
  33. data/app/views/erp_app/login/index.erb +5 -2
  34. data/app/views/erp_app/organizer/base/index.erb +22 -17
  35. data/app/views/erp_app/organizer/crm/parties/details.erb +89 -0
  36. data/app/views/erp_app/pixlr/close.erb +5 -0
  37. data/config/routes.rb +74 -42
  38. data/db/data_migrations/20130703181549_create_tail_desktop_application.rb +4 -7
  39. data/db/data_migrations/20131102171801_add_customer_role_type.rb +11 -0
  40. data/db/data_migrations/20131108191057_add_customer_employee_reln.rb +26 -0
  41. data/db/data_migrations/20140122205941_remove_theme_preference.rb +21 -0
  42. data/db/migrate/20131112013049_add_erp_app_missing_indexes.rb +31 -0
  43. data/db/migrate/20131129205550_add_precedence_to_configuration_item_types.rb +7 -0
  44. data/lib/active_ext/active_ext.rb +1 -1
  45. data/lib/active_ext/ext_helpers/field_builder.rb +140 -140
  46. data/lib/erp_app/application_resource_loader/desktop_organizer_loader.rb +1 -2
  47. data/lib/erp_app/engine.rb +0 -5
  48. data/lib/erp_app/extensions/active_record/has_user_preferences.rb +70 -69
  49. data/lib/erp_app/extensions/railties/action_view/helpers/include_helper.rb +29 -27
  50. data/lib/erp_app/version.rb +7 -3
  51. data/lib/erp_app/widgets/base.rb +21 -4
  52. data/lib/erp_app/widgets/loader.rb +2 -2
  53. data/lib/erp_app.rb +1 -0
  54. data/lib/generators/cms_widget/USAGE +0 -6
  55. data/lib/generators/cms_widget/templates/javascript/base.js.erb +1 -1
  56. data/lib/generators/desktop_application/templates/migrate/migration_template.erb +4 -6
  57. data/lib/generators/organizer_application/templates/controllers/controller_template.erb +1 -2
  58. data/lib/generators/organizer_application/templates/public/base.js.erb +21 -25
  59. data/public/images/art/compass-ae-logo-reverse-1.png +0 -0
  60. data/public/images/btn/save/save_16x16.png +0 -0
  61. data/public/images/btn/save_all/save_all_16x16.png +0 -0
  62. data/public/images/btn_light/add/add_16x16.png +0 -0
  63. data/public/images/btn_light/left_panel/left_panel_16x16.png +0 -0
  64. data/public/images/btn_light/left_right_panel/left_right_panel_16x16.png +0 -0
  65. data/public/images/btn_light/right_panel/right_panel_16x16.png +0 -0
  66. data/public/images/btn_light/save/save_16x16.png +0 -0
  67. data/public/images/btn_light/save_all/save_all_16x16.png +0 -0
  68. data/public/images/erp_app/desktop/applications/security_management/manage_capabilities.png +0 -0
  69. data/public/images/erp_app/desktop/applications/security_management/manage_groups.png +0 -0
  70. data/public/images/erp_app/desktop/applications/security_management/manage_roles.png +0 -0
  71. data/public/images/erp_app/desktop/applications/security_management/manage_users.png +0 -0
  72. data/public/images/erp_app/desktop/compass_logo_start_icon.png +0 -0
  73. data/public/images/erp_app/organizer/applications/crm/business.png +0 -0
  74. data/public/images/erp_app/organizer/applications/crm/business_64x64.png +0 -0
  75. data/public/images/erp_app/organizer/applications/crm/customer-contact.png +0 -0
  76. data/public/images/erp_app/organizer/applications/crm/customer_360_64x64.png +0 -0
  77. data/public/images/erp_app/organizer/applications/crm/people.png +0 -0
  78. data/public/images/erp_app/organizer/applications/crm/person.png +0 -0
  79. data/public/images/erp_app/organizer/applications/crm/toolbar_find.png +0 -0
  80. data/public/images/erp_app/organizer/applications/crm/vcard.png +0 -0
  81. data/public/images/icons/add/add_16x16.png +0 -0
  82. data/public/images/icons/add/add_light_16x16.png +0 -0
  83. data/public/images/icons/arrow_left_blue/arrow_left_blue_16x16.png +0 -0
  84. data/public/images/icons/arrow_left_blue/arrow_left_blue_32x32.png +0 -0
  85. data/public/images/icons/arrow_left_blue/arrow_left_blue_48x48.png +0 -0
  86. data/public/images/icons/arrow_right_blue/arrow_right_blue_16x16.png +0 -0
  87. data/public/images/icons/arrow_right_blue/arrow_right_blue_32x32.png +0 -0
  88. data/public/images/icons/arrow_right_blue/arrow_right_blue_48x48.png +0 -0
  89. data/public/images/icons/article/article_16x16.png +0 -0
  90. data/public/images/icons/blog/blog_16x16.png +0 -0
  91. data/public/images/icons/blog/blog_24x24.png +0 -0
  92. data/public/images/icons/blog/blog_32x32.png +0 -0
  93. data/public/images/icons/blog/blog_48x48.png +0 -0
  94. data/public/images/icons/book/book_16x16.png +0 -0
  95. data/public/images/icons/calendar/calendar_16x16.png +0 -0
  96. data/public/images/icons/calendar/calendar_64x64.png +0 -0
  97. data/public/images/icons/calendar/calendar_light_16x16.png +0 -0
  98. data/public/images/icons/code/code_16x16.png +0 -0
  99. data/public/images/icons/console/console_16x16.png +0 -0
  100. data/public/images/icons/console/console_64x64.png +0 -0
  101. data/public/images/icons/contact-us/contact-us_48x48.png +0 -0
  102. data/public/images/icons/content/content_16x16.png +0 -0
  103. data/public/images/icons/control_panel/control_panel_16x16.png +0 -0
  104. data/public/images/icons/control_panel/control_panel_48x48.png +0 -0
  105. data/public/images/icons/control_panel/control_panel_64x64.png +0 -0
  106. data/public/images/icons/copy/copy_16x16.png +0 -0
  107. data/public/images/icons/creditcards/creditcards_16x16.png +0 -0
  108. data/public/images/icons/creditcards/creditcards_24x24.png +0 -0
  109. data/public/images/icons/creditcards/creditcards_32x32.png +0 -0
  110. data/public/images/icons/creditcards/creditcards_48x48.png +0 -0
  111. data/public/images/icons/creditcards/creditcards_64x64.png +0 -0
  112. data/public/images/icons/crm/crm_16x16.png +0 -0
  113. data/public/images/icons/crm/crm_light_16x16.png +0 -0
  114. data/public/images/icons/csr/csr_16x16.png +0 -0
  115. data/public/images/icons/csr/csr_256x256.png +0 -0
  116. data/public/images/icons/csr/csr_500x500.png +0 -0
  117. data/public/images/icons/data/data_16x16.png +0 -0
  118. data/public/images/icons/data/data_64x64.png +0 -0
  119. data/public/images/icons/database/database_16x16.png +0 -0
  120. data/public/images/icons/database_column/database_column_16x16.png +0 -0
  121. data/public/images/icons/db_edit_data/db_edit_data_16x16.png +0 -0
  122. data/public/images/icons/db_table/db_table_16x16.png +0 -0
  123. data/public/images/icons/delete/delete_16x16.png +0 -0
  124. data/public/images/icons/doc_settings/doc_settings_16x16.png +0 -0
  125. data/public/images/icons/document/document_16x16.png +0 -0
  126. data/public/images/icons/document_lock/document_lock_16x16.png +0 -0
  127. data/public/images/icons/document_pulse/document_pulse_64x64.png +0 -0
  128. data/public/images/icons/edit/edit_16x16.png +0 -0
  129. data/public/images/icons/exit/exit_16x16.png +0 -0
  130. data/public/images/icons/eye/eye_16x16.png +0 -0
  131. data/public/images/icons/eye/eye_24x24.png +0 -0
  132. data/public/images/icons/eye/eye_32x32.png +0 -0
  133. data/public/images/icons/eye/eye_48x48.png +0 -0
  134. data/public/images/icons/fieldtypes/business_party.png +0 -0
  135. data/public/images/icons/fieldtypes/check.png +0 -0
  136. data/public/images/icons/fieldtypes/date.png +0 -0
  137. data/public/images/icons/fieldtypes/display.png +0 -0
  138. data/public/images/icons/fieldtypes/email.png +0 -0
  139. data/public/images/icons/fieldtypes/file.png +0 -0
  140. data/public/images/icons/fieldtypes/file_assets.png +0 -0
  141. data/public/images/icons/fieldtypes/image.png +0 -0
  142. data/public/images/icons/fieldtypes/money.png +0 -0
  143. data/public/images/icons/fieldtypes/number.png +0 -0
  144. data/public/images/icons/fieldtypes/password.png +0 -0
  145. data/public/images/icons/fieldtypes/question.png +0 -0
  146. data/public/images/icons/fieldtypes/radio.png +0 -0
  147. data/public/images/icons/fieldtypes/select.png +0 -0
  148. data/public/images/icons/fieldtypes/text.png +0 -0
  149. data/public/images/icons/fieldtypes/text.psd +0 -0
  150. data/public/images/icons/fieldtypes/text_area.png +0 -0
  151. data/public/images/icons/fieldtypes/time.png +0 -0
  152. data/public/images/icons/fieldtypes/yes_no.png +0 -0
  153. data/public/images/icons/file_manager/file_manager_16x16.png +0 -0
  154. data/public/images/icons/file_manager/file_manager_light_16x16.png +0 -0
  155. data/public/images/icons/folders/folders_64x64.png +0 -0
  156. data/public/images/icons/footprints/footprints_16x16.png +0 -0
  157. data/public/images/icons/footprints/footprints_light_16x16.png +0 -0
  158. data/public/images/icons/form/form_16x16.png +0 -0
  159. data/public/images/icons/form/form_light_16x16.png +0 -0
  160. data/public/images/icons/gantt/gantt_24x24.png +0 -0
  161. data/public/images/icons/gear/gear_16x16.png +0 -0
  162. data/public/images/icons/gear/gear_light_16x16.png +0 -0
  163. data/public/images/icons/globe/globe_16x16.png +0 -0
  164. data/public/images/icons/globe/globe_64x64.png +0 -0
  165. data/public/images/icons/globe/globe_light_16x16.png +0 -0
  166. data/public/images/icons/google-map/google-map_48x48.png +0 -0
  167. data/public/images/icons/grid/grid_16x16.png +0 -0
  168. data/public/images/icons/grid/grid_64x64.png +0 -0
  169. data/public/images/icons/hierarchy/hierarchy_16x16.png +0 -0
  170. data/public/images/icons/history/history_16x16.png +0 -0
  171. data/public/images/icons/history/history_64x64.png +0 -0
  172. data/public/images/icons/history/history_light_16x16.png +0 -0
  173. data/public/images/icons/home/home_16x16.png +0 -0
  174. data/public/images/icons/home/home_48x48.png +0 -0
  175. data/public/images/icons/ia/ia_16x16.png +0 -0
  176. data/public/images/icons/information/information_16x16.png +0 -0
  177. data/public/images/icons/invoicing/invoicing_48x48.png +0 -0
  178. data/public/images/icons/invoicing/invoicing_64x64.png +0 -0
  179. data/public/images/icons/key/key_16x16.png +0 -0
  180. data/public/images/icons/key/key_64x64.png +0 -0
  181. data/public/images/icons/knitkit/knitkit_16x16.png +0 -0
  182. data/public/images/icons/knitkit/knitkit_48x48.png +0 -0
  183. data/public/images/icons/knitkit/knitkit_light_16x16.png +0 -0
  184. data/public/images/icons/login/login_48x48.png +0 -0
  185. data/public/images/icons/magnifying-glass/magnifying-glass_48x48.png +0 -0
  186. data/public/images/icons/mail/mail_16x16.png +0 -0
  187. data/public/images/icons/mail/mail_24x24.png +0 -0
  188. data/public/images/icons/mail/mail_32x32.png +0 -0
  189. data/public/images/icons/mail/mail_48x48.png +0 -0
  190. data/public/images/icons/manage-profile/manage-profile_48x48.png +0 -0
  191. data/public/images/icons/menu/menu_16x16.png +0 -0
  192. data/public/images/icons/ordered_list/ordered_list_16x16.png +0 -0
  193. data/public/images/icons/package/package_16x16.png +0 -0
  194. data/public/images/icons/package/package_64x64.png +0 -0
  195. data/public/images/icons/package/package_light_16x16.png +0 -0
  196. data/public/images/icons/palette/palette_64x64.png +0 -0
  197. data/public/images/icons/person/person_16x16.png +0 -0
  198. data/public/images/icons/phone/phone_16x16.png +0 -0
  199. data/public/images/icons/phone/phone_64x64.png +0 -0
  200. data/public/images/icons/picture/picture_16x16.png +0 -0
  201. data/public/images/icons/play/play_16x16.png +0 -0
  202. data/public/images/icons/product/product_16x16.png +0 -0
  203. data/public/images/icons/product/product_64x64.png +0 -0
  204. data/public/images/icons/product/product_light_16x16.png +0 -0
  205. data/public/images/icons/query/query_16x16.png +0 -0
  206. data/public/images/icons/redo/redo_16x16.png +0 -0
  207. data/public/images/icons/refresh/refresh_16x16.png +0 -0
  208. data/public/images/icons/report/report_16x16.png +0 -0
  209. data/public/images/icons/reset-password/reset-password_48x48.png +0 -0
  210. data/public/images/icons/rowselect/rowselect_16x16.png +0 -0
  211. data/public/images/icons/save/save_16x16.png +0 -0
  212. data/public/images/icons/save_as/save_as_16x16.png +0 -0
  213. data/public/images/icons/scaffold/scaffold_16x16.png +0 -0
  214. data/public/images/icons/scaffold/scaffold_light_16x16.png +0 -0
  215. data/public/images/icons/search/search_16x16.png +0 -0
  216. data/public/images/icons/search/search_24x24.png +0 -0
  217. data/public/images/icons/search/search_32x32.png +0 -0
  218. data/public/images/icons/search/search_48x48.png +0 -0
  219. data/public/images/icons/search/search_light_16x16.png +0 -0
  220. data/public/images/icons/section/section_16x16.png +0 -0
  221. data/public/images/icons/section/section_24x24.png +0 -0
  222. data/public/images/icons/section/section_32x32.png +0 -0
  223. data/public/images/icons/section/section_48x48.png +0 -0
  224. data/public/images/icons/section_lock/section_lock_16x16.png +0 -0
  225. data/public/images/icons/section_lock/section_lock_24x24.png +0 -0
  226. data/public/images/icons/section_lock/section_lock_32x32.png +0 -0
  227. data/public/images/icons/section_lock/section_lock_48x48.png +0 -0
  228. data/public/images/icons/secure/secure_16x16.png +0 -0
  229. data/public/images/icons/settings/settings_16x16.png +0 -0
  230. data/public/images/icons/settings/settings_light_16x16.png +0 -0
  231. data/public/images/icons/shopping_cart/shopping_card_64x64.png +0 -0
  232. data/public/images/icons/shopping_cart/shopping_cart_32x32.png +0 -0
  233. data/public/images/icons/shopping_cart/shopping_cart_48x48.png +0 -0
  234. data/public/images/icons/sign_up/sign_up_32x32.png +0 -0
  235. data/public/images/icons/sign_up/sign_up_48x48.png +0 -0
  236. data/public/images/icons/sign_up/sign_up_64x64.png +0 -0
  237. data/public/images/icons/signup/signup_48x48.png +0 -0
  238. data/public/images/icons/simple_arrow/simple_arrow_16x16.png +0 -0
  239. data/public/images/icons/small_gear/small_gear_16x16.png +0 -0
  240. data/public/images/icons/sql/sql_16x16.png +0 -0
  241. data/public/images/icons/tables/tables_16x16.png +0 -0
  242. data/public/images/icons/theme/theme_16x16.png +0 -0
  243. data/public/images/icons/theme_upload/theme_upload_16x16.png +0 -0
  244. data/public/images/icons/ticket/tag_16x16.png +0 -0
  245. data/public/images/icons/undo/undo_16x16.png +0 -0
  246. data/public/images/icons/user/user_128x128.png +0 -0
  247. data/public/images/icons/user/user_16x16.png +0 -0
  248. data/public/images/icons/user/user_64x64.png +0 -0
  249. data/public/images/icons/user/user_light_16x16.png +0 -0
  250. data/public/images/icons/user_mgt/user_mgt_16x16.png +0 -0
  251. data/public/images/icons/user_mgt/user_mgt_light_16x16.png +0 -0
  252. data/public/images/icons/vcard/vcard_16x16.png +0 -0
  253. data/public/images/icons/view/view_16x16.png +0 -0
  254. data/public/images/icons/view/view_24x24.png +0 -0
  255. data/public/images/icons/view/view_32x32.png +0 -0
  256. data/public/images/icons/view/view_48x48.png +0 -0
  257. data/public/images/icons/warning/waring_16x16.png +0 -0
  258. data/public/images/icons/website/website_16x16.png +0 -0
  259. data/public/images/icons/website_download/website_download_16x16.png +0 -0
  260. data/public/images/icons/website_publications/website_publications_16x16.png +0 -0
  261. data/public/images/icons/website_upload/website_upload_16x16.png +0 -0
  262. data/public/images/loading_icon.gif +0 -0
  263. data/public/images/splash_screen/browse_docs_icon.png +0 -0
  264. data/public/images/splash_screen/desktop_icon.png +0 -0
  265. data/public/images/tab/tab-default-close.png +0 -0
  266. data/public/javascripts/erp_app/authentication/compass_user.js +77 -69
  267. data/public/javascripts/erp_app/ckeditor/ckeditor.js +927 -152
  268. data/public/javascripts/erp_app/ckeditor/config.js +12 -11
  269. data/public/javascripts/erp_app/ckeditor/contents.css +84 -6
  270. data/public/javascripts/erp_app/ckeditor/lang/en.js +3 -4
  271. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -7
  272. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  273. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +9 -0
  274. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +9 -0
  275. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +10 -0
  276. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +10 -0
  277. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +9 -0
  278. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +9 -0
  279. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +10 -0
  280. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +10 -0
  281. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +9 -0
  282. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +10 -0
  283. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +10 -0
  284. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +9 -0
  285. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +9 -0
  286. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +10 -0
  287. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +10 -0
  288. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +11 -0
  289. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +10 -0
  290. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +9 -0
  291. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +9 -0
  292. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +9 -0
  293. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +9 -0
  294. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +10 -0
  295. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +9 -0
  296. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +10 -0
  297. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  298. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +9 -0
  299. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +10 -0
  300. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +9 -0
  301. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +11 -0
  302. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +9 -0
  303. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +9 -0
  304. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +9 -0
  305. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +10 -0
  306. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +9 -0
  307. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +10 -0
  308. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +9 -0
  309. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +10 -0
  310. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +9 -0
  311. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +9 -0
  312. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +8 -0
  313. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +10 -0
  314. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +10 -0
  315. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +9 -0
  316. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +9 -0
  317. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +9 -0
  318. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +10 -0
  319. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +9 -0
  320. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +10 -0
  321. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +9 -0
  322. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +10 -0
  323. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +9 -0
  324. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +7 -0
  325. data/public/javascripts/erp_app/ckeditor/plugins/about/dialogs/about.js +7 -6
  326. data/public/javascripts/erp_app/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  327. data/public/javascripts/erp_app/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  328. data/public/javascripts/erp_app/ckeditor/plugins/clipboard/dialogs/paste.js +11 -7
  329. data/public/javascripts/erp_app/ckeditor/plugins/codemirror/lang/en.js +12 -0
  330. data/public/javascripts/erp_app/ckeditor/plugins/codemirror/plugin.js +756 -59
  331. data/public/javascripts/erp_app/ckeditor/plugins/colordialog/dialogs/colordialog.js +13 -7
  332. data/public/javascripts/erp_app/ckeditor/plugins/dialog/dialogDefinition.js +4 -4
  333. data/public/javascripts/erp_app/ckeditor/plugins/div/dialogs/div.js +9 -8
  334. data/public/javascripts/erp_app/ckeditor/{images → plugins/fakeobjects/images}/spacer.gif +0 -0
  335. data/public/javascripts/erp_app/ckeditor/plugins/find/dialogs/find.js +24 -10
  336. data/public/javascripts/erp_app/ckeditor/plugins/flash/dialogs/flash.js +24 -9
  337. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/button.js +8 -6
  338. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/checkbox.js +8 -6
  339. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/form.js +8 -6
  340. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/hiddenfield.js +8 -6
  341. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/radio.js +8 -6
  342. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/select.js +20 -9
  343. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/textarea.js +8 -6
  344. data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/textfield.js +10 -6
  345. data/public/javascripts/erp_app/ckeditor/plugins/icons.png +0 -0
  346. data/public/javascripts/erp_app/ckeditor/plugins/icons_hidpi.png +0 -0
  347. data/public/javascripts/erp_app/ckeditor/plugins/iframe/dialogs/iframe.js +10 -7
  348. data/public/javascripts/erp_app/ckeditor/plugins/image/dialogs/image.js +43 -13
  349. data/public/javascripts/erp_app/ckeditor/{skins/kama → plugins/image}/images/noimage.png +0 -0
  350. data/public/javascripts/erp_app/ckeditor/plugins/inlineeditsave/plugin.js +3 -1
  351. data/public/javascripts/erp_app/ckeditor/plugins/knitkitthemes/plugin.js +2 -5
  352. data/public/javascripts/erp_app/ckeditor/plugins/link/dialogs/anchor.js +8 -6
  353. data/public/javascripts/erp_app/ckeditor/plugins/link/dialogs/link.js +36 -12
  354. data/public/javascripts/erp_app/ckeditor/plugins/link/images/anchor.png +0 -0
  355. data/public/javascripts/erp_app/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  356. data/public/javascripts/erp_app/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -7
  357. data/public/javascripts/erp_app/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  358. data/public/javascripts/erp_app/ckeditor/plugins/magicline/images/icon.png +0 -0
  359. data/public/javascripts/erp_app/ckeditor/plugins/pastefromword/filter/default.js +31 -11
  360. data/public/javascripts/erp_app/ckeditor/plugins/scayt/LICENSE.md +28 -0
  361. data/public/javascripts/erp_app/ckeditor/plugins/scayt/README.md +25 -0
  362. data/public/javascripts/erp_app/ckeditor/plugins/scayt/dialogs/options.js +20 -8
  363. data/public/javascripts/erp_app/ckeditor/plugins/scayt/dialogs/toolbar.css +70 -5
  364. data/public/javascripts/erp_app/ckeditor/plugins/smiley/dialogs/smiley.js +10 -7
  365. data/public/javascripts/erp_app/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  366. data/public/javascripts/erp_app/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  367. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  368. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  369. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  370. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  371. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  372. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  373. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  374. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  375. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  376. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  377. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  378. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  379. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  380. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  381. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  382. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
  383. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  384. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/he.js +13 -0
  385. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  386. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  387. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  388. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  389. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  390. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  391. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  392. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  393. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  394. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  395. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  396. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  397. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  398. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  399. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  400. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  401. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  402. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  403. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  404. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  405. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  406. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  407. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  408. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/vi.js +13 -0
  409. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  410. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -7
  411. data/public/javascripts/erp_app/ckeditor/plugins/syntaxhighlight/dialogs/syntaxhighlight.js +418 -0
  412. data/public/javascripts/erp_app/ckeditor/plugins/syntaxhighlight/icons/syntaxhighlight.png +0 -0
  413. data/public/javascripts/erp_app/ckeditor/plugins/syntaxhighlight/lang/de.js +22 -0
  414. data/public/javascripts/erp_app/ckeditor/plugins/syntaxhighlight/lang/en.js +22 -0
  415. data/public/javascripts/erp_app/ckeditor/plugins/syntaxhighlight/lang/fr.js +22 -0
  416. data/public/javascripts/erp_app/ckeditor/plugins/syntaxhighlight/lang/zh-cn.js +22 -0
  417. data/public/javascripts/erp_app/ckeditor/plugins/syntaxhighlight/plugin.js +144 -0
  418. data/public/javascripts/erp_app/ckeditor/plugins/table/dialogs/table.js +21 -9
  419. data/public/javascripts/erp_app/ckeditor/plugins/tabletools/dialogs/tableCell.js +16 -8
  420. data/public/javascripts/erp_app/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  421. data/public/javascripts/erp_app/ckeditor/plugins/templates/dialogs/templates.js +10 -7
  422. data/public/javascripts/erp_app/ckeditor/plugins/templates/templates/default.js +6 -6
  423. data/public/javascripts/erp_app/ckeditor/plugins/wsc/LICENSE.md +28 -0
  424. data/public/javascripts/erp_app/ckeditor/plugins/wsc/README.md +25 -0
  425. data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/ciframe.html +17 -0
  426. data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/tmp.html +131 -0
  427. data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/wsc.css +77 -1
  428. data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/wsc.js +67 -7
  429. data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  430. data/public/javascripts/erp_app/ckeditor/skins/moono/dialog.css +5 -0
  431. data/public/javascripts/erp_app/ckeditor/skins/moono/dialog_ie.css +5 -0
  432. data/public/javascripts/erp_app/ckeditor/skins/moono/dialog_ie7.css +5 -0
  433. data/public/javascripts/erp_app/ckeditor/skins/moono/dialog_ie8.css +5 -0
  434. data/public/javascripts/erp_app/ckeditor/skins/moono/dialog_iequirks.css +5 -0
  435. data/public/javascripts/erp_app/ckeditor/skins/moono/dialog_opera.css +5 -0
  436. data/public/javascripts/erp_app/ckeditor/skins/moono/editor.css +20 -0
  437. data/public/javascripts/erp_app/ckeditor/skins/moono/editor_gecko.css +5 -0
  438. data/public/javascripts/erp_app/ckeditor/skins/moono/editor_ie.css +5 -0
  439. data/public/javascripts/erp_app/ckeditor/skins/moono/editor_ie7.css +5 -0
  440. data/public/javascripts/erp_app/ckeditor/skins/moono/editor_ie8.css +5 -0
  441. data/public/javascripts/erp_app/ckeditor/skins/moono/editor_iequirks.css +5 -0
  442. data/public/javascripts/erp_app/ckeditor/skins/moono/icons.png +0 -0
  443. data/public/javascripts/erp_app/ckeditor/skins/moono/icons_hidpi.png +0 -0
  444. data/public/javascripts/erp_app/ckeditor/skins/moono/images/arrow.png +0 -0
  445. data/public/javascripts/erp_app/ckeditor/skins/moono/images/close.png +0 -0
  446. data/public/javascripts/erp_app/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  447. data/public/javascripts/erp_app/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  448. data/public/javascripts/erp_app/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  449. data/public/javascripts/erp_app/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  450. data/public/javascripts/erp_app/ckeditor/skins/moono/images/lock-open.png +0 -0
  451. data/public/javascripts/erp_app/ckeditor/skins/moono/images/lock.png +0 -0
  452. data/public/javascripts/erp_app/ckeditor/skins/moono/images/refresh.png +0 -0
  453. data/public/javascripts/erp_app/ckeditor/skins/moono/readme.md +51 -0
  454. data/public/javascripts/erp_app/ckeditor/styles.js +111 -0
  455. data/public/javascripts/erp_app/codemirror/lib/codemirror.css +204 -106
  456. data/public/javascripts/erp_app/codemirror/lib/codemirror.js +55 -3165
  457. data/public/javascripts/erp_app/codemirror/theme/3024-day.css +34 -0
  458. data/public/javascripts/erp_app/codemirror/theme/3024-night.css +34 -0
  459. data/public/javascripts/erp_app/codemirror/theme/ambiance-mobile.css +5 -0
  460. data/public/javascripts/erp_app/codemirror/theme/ambiance.css +10 -17
  461. data/public/javascripts/erp_app/codemirror/theme/base16-dark.css +34 -0
  462. data/public/javascripts/erp_app/codemirror/theme/base16-light.css +34 -0
  463. data/public/javascripts/erp_app/codemirror/theme/blackboard.css +7 -4
  464. data/public/javascripts/erp_app/codemirror/theme/cobalt.css +7 -4
  465. data/public/javascripts/erp_app/codemirror/theme/eclipse.css +3 -5
  466. data/public/javascripts/erp_app/codemirror/theme/elegant.css +4 -1
  467. data/public/javascripts/erp_app/codemirror/theme/erlang-dark.css +19 -10
  468. data/public/javascripts/erp_app/codemirror/theme/lesser-dark.css +9 -10
  469. data/public/javascripts/erp_app/codemirror/theme/mbo.css +37 -0
  470. data/public/javascripts/erp_app/codemirror/theme/mdn-like.css +44 -0
  471. data/public/javascripts/erp_app/codemirror/theme/midnight.css +43 -0
  472. data/public/javascripts/erp_app/codemirror/theme/monokai.css +5 -4
  473. data/public/javascripts/erp_app/codemirror/theme/neat.css +3 -0
  474. data/public/javascripts/erp_app/codemirror/theme/neo.css +40 -0
  475. data/public/javascripts/erp_app/codemirror/theme/night.css +7 -4
  476. data/public/javascripts/erp_app/codemirror/theme/paraiso-dark.css +34 -0
  477. data/public/javascripts/erp_app/codemirror/theme/paraiso-light.css +34 -0
  478. data/public/javascripts/erp_app/codemirror/theme/pastel-on-dark.css +48 -0
  479. data/public/javascripts/erp_app/codemirror/theme/rubyblue.css +6 -6
  480. data/public/javascripts/erp_app/codemirror/theme/solarized.css +167 -0
  481. data/public/javascripts/erp_app/codemirror/theme/the-matrix.css +26 -0
  482. data/public/javascripts/erp_app/codemirror/theme/tomorrow-night-eighties.css +34 -0
  483. data/public/javascripts/erp_app/codemirror/theme/twilight.css +28 -0
  484. data/public/javascripts/erp_app/codemirror/theme/vibrant-ink.css +9 -6
  485. data/public/javascripts/erp_app/codemirror/theme/xq-dark.css +8 -5
  486. data/public/javascripts/erp_app/codemirror/theme/xq-light.css +43 -0
  487. data/public/javascripts/erp_app/codemirror_highlight.js +2 -2
  488. data/public/javascripts/erp_app/desktop/applications/audit_log_viewer/module.js +22 -32
  489. data/public/javascripts/erp_app/desktop/applications/configuration_management/configuration_options_panel.js +1 -1
  490. data/public/javascripts/erp_app/desktop/applications/configuration_management/module.js +2 -2
  491. data/public/javascripts/erp_app/desktop/applications/control_panel/module.js +66 -49
  492. data/public/javascripts/erp_app/desktop/applications/file_manager/module.js +109 -110
  493. data/public/javascripts/erp_app/desktop/applications/job_tracker/jobs_grid.js +3 -3
  494. data/public/javascripts/erp_app/desktop/applications/job_tracker/module.js +1 -1
  495. data/public/javascripts/erp_app/desktop/applications/scaffold/module.js +2 -2
  496. data/public/javascripts/erp_app/desktop/applications/security_management/capabilities_panel.js +49 -65
  497. data/public/javascripts/erp_app/desktop/applications/security_management/capabilities_widget.js +206 -218
  498. data/public/javascripts/erp_app/desktop/applications/security_management/common_widget.js +33 -0
  499. data/public/javascripts/erp_app/desktop/applications/security_management/groups_effective_security.js +1 -1
  500. data/public/javascripts/erp_app/desktop/applications/security_management/groups_panel.js +272 -287
  501. data/public/javascripts/erp_app/desktop/applications/security_management/groups_widget.js +206 -218
  502. data/public/javascripts/erp_app/desktop/applications/security_management/module.js +150 -46
  503. data/public/javascripts/erp_app/desktop/applications/security_management/north_panel.js +31 -0
  504. data/public/javascripts/erp_app/desktop/applications/security_management/roles_panel.js +284 -287
  505. data/public/javascripts/erp_app/desktop/applications/security_management/roles_widget.js +206 -218
  506. data/public/javascripts/erp_app/desktop/applications/security_management/south_panel.js +126 -0
  507. data/public/javascripts/erp_app/desktop/applications/security_management/users_effective_security.js +112 -105
  508. data/public/javascripts/erp_app/desktop/applications/security_management/users_panel.js +53 -85
  509. data/public/javascripts/erp_app/desktop/applications/security_management/users_widget.js +210 -218
  510. data/public/javascripts/erp_app/desktop/applications/tail/module.js +2 -2
  511. data/public/javascripts/erp_app/desktop/applications/user_management/module.js +50 -40
  512. data/public/javascripts/erp_app/desktop/applications/user_management/personal_info_panel.js +113 -113
  513. data/public/javascripts/erp_app/desktop/applications/web_navigator/module.js +18 -8
  514. data/public/javascripts/erp_app/desktop/ext_ux_desktop_module.js +937 -881
  515. data/public/javascripts/erp_app/jquery_support.js +19 -30
  516. data/public/javascripts/erp_app/login/window.js +121 -110
  517. data/public/javascripts/erp_app/organizer/applications/crm/base.js +54 -342
  518. data/public/javascripts/erp_app/organizer/layout.js +184 -95
  519. data/public/javascripts/erp_app/organizer/preference_window.js +66 -55
  520. data/public/javascripts/erp_app/shared/MoneyField.js +119 -0
  521. data/public/javascripts/erp_app/shared/PartySearchField.js +73 -0
  522. data/public/javascripts/erp_app/shared/TransitionCardLayout.js +156 -0
  523. data/public/javascripts/erp_app/shared/audit_log/GridPanel.js +214 -0
  524. data/public/javascripts/erp_app/shared/audit_log/ItemGridPanel.js +103 -0
  525. data/public/javascripts/erp_app/shared/audit_log/TabPanel.js +103 -0
  526. data/public/javascripts/erp_app/shared/compass_ckeditor.js +181 -101
  527. data/public/javascripts/erp_app/shared/compass_codemirror.js +399 -126
  528. data/public/javascripts/erp_app/shared/configuration/configuration_form.js +32 -49
  529. data/public/javascripts/erp_app/shared/configuration/configuration_panel.js +26 -8
  530. data/public/javascripts/erp_app/shared/coolclock/tray_clock2.js +121 -0
  531. data/public/javascripts/erp_app/shared/crm/ContactMechanismGrid.js +812 -0
  532. data/public/javascripts/erp_app/shared/crm/PartyDetailsPanel.js +344 -0
  533. data/public/javascripts/erp_app/shared/crm/PartyForm.js +321 -0
  534. data/public/javascripts/erp_app/shared/crm/PartyFormPanel.js +316 -0
  535. data/public/javascripts/erp_app/shared/crm/PartyGrid.js +591 -0
  536. data/public/javascripts/erp_app/shared/crm/UserForm.js +307 -0
  537. data/public/javascripts/erp_app/shared/crm/UsersGrid.js +492 -0
  538. data/public/javascripts/erp_app/shared/dynamic_editable_grid.js +55 -52
  539. data/public/javascripts/erp_app/shared/dynamic_editable_grid_loader_panel.js +29 -36
  540. data/public/javascripts/erp_app/shared/dynamic_form_fields.js +99 -0
  541. data/public/javascripts/erp_app/shared/file_manager_tree.js +685 -658
  542. data/public/javascripts/erp_app/shared/google_map_panel.js +96 -68
  543. data/public/javascripts/erp_app/shared/notes_grid.js +317 -287
  544. data/public/javascripts/erp_app/shared/preferences/application_management_panel.js +137 -0
  545. data/public/javascripts/erp_app/shared/preferences/form.js +170 -0
  546. data/public/javascripts/erp_app/shared/profile_management_panel.js +62 -63
  547. data/public/javascripts/erp_app/utility.js +271 -65
  548. data/public/javascripts/erp_app/widgets.js +68 -70
  549. data/public/stylesheets/erp_app/desktop/applications/security_management/styles.css +12 -0
  550. data/public/stylesheets/erp_app/desktop/base.css +87 -11
  551. data/public/stylesheets/erp_app/organizer/base.css +6 -0
  552. data/public/stylesheets/erp_app/shared/compass-ext-all.css +335 -213
  553. data/public/stylesheets/erp_app/shared/crm.css +45 -0
  554. data/spec/controllers/organizer/crm/relationship_controller_spec.rb +1 -0
  555. metadata +545 -1272
  556. data/app/controllers/erp_app/desktop/audit_log_viewer/base_controller.rb +0 -55
  557. data/app/controllers/erp_app/organizer/crm/base_controller.rb +0 -333
  558. data/app/views/erp_app/organizer/base/get_party_details.erb +0 -19
  559. data/lib/erp_app/extensions/will_paginate_patch.rb +0 -26
  560. data/public/images/icons/about/about_16x16.png +0 -0
  561. data/public/images/icons/about/about_24x24.png +0 -0
  562. data/public/images/icons/about/about_32x32.png +0 -0
  563. data/public/images/icons/about/about_48x48.png +0 -0
  564. data/public/images/icons/add/add_24x24.png +0 -0
  565. data/public/images/icons/add/add_32x32.png +0 -0
  566. data/public/images/icons/add/add_48x48.png +0 -0
  567. data/public/images/icons/apartment/apartment_16x16.png +0 -0
  568. data/public/images/icons/apartment/apartment_24x24.png +0 -0
  569. data/public/images/icons/apartment/apartment_32x32.png +0 -0
  570. data/public/images/icons/apartment/apartment_48x48.png +0 -0
  571. data/public/images/icons/arrow_left_blue/arrow_left_blue_24x24.png +0 -0
  572. data/public/images/icons/arrow_right_blue/arrow_right_blue_24x24.png +0 -0
  573. data/public/images/icons/back/back_16x16.png +0 -0
  574. data/public/images/icons/back/back_24x24.png +0 -0
  575. data/public/images/icons/back/back_32x32.png +0 -0
  576. data/public/images/icons/back/back_48x48.png +0 -0
  577. data/public/images/icons/battery/battery_16x16.png +0 -0
  578. data/public/images/icons/battery/battery_24x24.png +0 -0
  579. data/public/images/icons/battery/battery_32x32.png +0 -0
  580. data/public/images/icons/battery/battery_48x48.png +0 -0
  581. data/public/images/icons/calendar/calendar_24x24.png +0 -0
  582. data/public/images/icons/calendar/calendar_32x32.png +0 -0
  583. data/public/images/icons/calendar/calendar_48x48.png +0 -0
  584. data/public/images/icons/clock/clock.png +0 -0
  585. data/public/images/icons/compass/compass_16x16.png +0 -0
  586. data/public/images/icons/compass/compass_24x24.png +0 -0
  587. data/public/images/icons/compass/compass_32x32.png +0 -0
  588. data/public/images/icons/compass/compass_48x48.png +0 -0
  589. data/public/images/icons/console/console_32x32.png +0 -0
  590. data/public/images/icons/console/console_48x48.png +0 -0
  591. data/public/images/icons/content/content_256x256.png +0 -0
  592. data/public/images/icons/content/content_32x32.png +0 -0
  593. data/public/images/icons/content/content_48x48.png +0 -0
  594. data/public/images/icons/control_panel/control_panel_24x24.png +0 -0
  595. data/public/images/icons/control_panel/control_panel_32x32.png +0 -0
  596. data/public/images/icons/copy/copy_24x24.png +0 -0
  597. data/public/images/icons/copy/copy_32x32.png +0 -0
  598. data/public/images/icons/copy/copy_48x48.png +0 -0
  599. data/public/images/icons/cut/cut_16x16.png +0 -0
  600. data/public/images/icons/cut/cut_24x24.png +0 -0
  601. data/public/images/icons/cut/cut_32x32.png +0 -0
  602. data/public/images/icons/cut/cut_48x48.png +0 -0
  603. data/public/images/icons/data/data_24x24.png +0 -0
  604. data/public/images/icons/data/data_48x48.png +0 -0
  605. data/public/images/icons/desktop/desktop_16x16.png +0 -0
  606. data/public/images/icons/desktop/desktop_24x24.png +0 -0
  607. data/public/images/icons/desktop/desktop_32x32.png +0 -0
  608. data/public/images/icons/desktop/desktop_48x48.png +0 -0
  609. data/public/images/icons/document_add/document_add_16x16.png +0 -0
  610. data/public/images/icons/document_add/document_add_24x24.png +0 -0
  611. data/public/images/icons/document_add/document_add_32x32.png +0 -0
  612. data/public/images/icons/document_add/document_add_48x48.png +0 -0
  613. data/public/images/icons/document_attachment/document_attachment_16x16.png +0 -0
  614. data/public/images/icons/document_attachment/document_attachment_24x24.png +0 -0
  615. data/public/images/icons/document_attachment/document_attachment_32x32.png +0 -0
  616. data/public/images/icons/document_attachment/document_attachment_48x48.png +0 -0
  617. data/public/images/icons/document_certificate/document_certificate_16x16.png +0 -0
  618. data/public/images/icons/document_certificate/document_certificate_24x24.png +0 -0
  619. data/public/images/icons/document_certificate/document_certificate_32x32.png +0 -0
  620. data/public/images/icons/document_certificate/document_certificate_48x48.png +0 -0
  621. data/public/images/icons/document_chart/document_chart_16x16.png +0 -0
  622. data/public/images/icons/document_chart/document_chart_24x24.png +0 -0
  623. data/public/images/icons/document_chart/document_chart_32x32.png +0 -0
  624. data/public/images/icons/document_chart/document_chart_48x48.png +0 -0
  625. data/public/images/icons/document_connection/document_connection_16x16.png +0 -0
  626. data/public/images/icons/document_connection/document_connection_24x24.png +0 -0
  627. data/public/images/icons/document_connection/document_connection_32x32.png +0 -0
  628. data/public/images/icons/document_connection/document_connection_48x48.png +0 -0
  629. data/public/images/icons/document_cup/document_cup_16x16.png +0 -0
  630. data/public/images/icons/document_cup/document_cup_24x24.png +0 -0
  631. data/public/images/icons/document_cup/document_cup_32x32.png +0 -0
  632. data/public/images/icons/document_cup/document_cup_48x48.png +0 -0
  633. data/public/images/icons/document_delete/document_delete_16x16.png +0 -0
  634. data/public/images/icons/document_delete/document_delete_24x24.png +0 -0
  635. data/public/images/icons/document_delete/document_delete_32x32.png +0 -0
  636. data/public/images/icons/document_delete/document_delete_48x48.png +0 -0
  637. data/public/images/icons/document_dirty/document_dirty_16x16.png +0 -0
  638. data/public/images/icons/document_dirty/document_dirty_24x24.png +0 -0
  639. data/public/images/icons/document_dirty/document_dirty_32x32.png +0 -0
  640. data/public/images/icons/document_dirty/document_dirty_48x48.png +0 -0
  641. data/public/images/icons/document_error/document_error_16x16.png +0 -0
  642. data/public/images/icons/document_error/document_error_24x24.png +0 -0
  643. data/public/images/icons/document_error/document_error_32x32.png +0 -0
  644. data/public/images/icons/document_error/document_error_48x48.png +0 -0
  645. data/public/images/icons/document_exchange/document_exchange_16x16.png +0 -0
  646. data/public/images/icons/document_exchange/document_exchange_24x24.png +0 -0
  647. data/public/images/icons/document_exchange/document_exchange_32x32.png +0 -0
  648. data/public/images/icons/document_exchange/document_exchange_48x48.png +0 -0
  649. data/public/images/icons/document_find/document_find_16x16.png +0 -0
  650. data/public/images/icons/document_find/document_find_24x24.png +0 -0
  651. data/public/images/icons/document_find/document_find_32x32.png +0 -0
  652. data/public/images/icons/document_find/document_find_48x48.png +0 -0
  653. data/public/images/icons/document_forbidden/document_forbidden_16x16.png +0 -0
  654. data/public/images/icons/document_forbidden/document_forbidden_24x24.png +0 -0
  655. data/public/images/icons/document_forbidden/document_forbidden_32x32.png +0 -0
  656. data/public/images/icons/document_forbidden/document_forbidden_48x48.png +0 -0
  657. data/public/images/icons/document_gear/document_gear_16x16.png +0 -0
  658. data/public/images/icons/document_gear/document_gear_24x24.png +0 -0
  659. data/public/images/icons/document_gear/document_gear_32x32.png +0 -0
  660. data/public/images/icons/document_gear/document_gear_48x48.png +0 -0
  661. data/public/images/icons/document_heart/document_heart_16x16.png +0 -0
  662. data/public/images/icons/document_heart/document_heart_24x24.png +0 -0
  663. data/public/images/icons/document_heart/document_heart_32x32.png +0 -0
  664. data/public/images/icons/document_heart/document_heart_48x48.png +0 -0
  665. data/public/images/icons/document_into/document_into_16x16.png +0 -0
  666. data/public/images/icons/document_into/document_into_24x24.png +0 -0
  667. data/public/images/icons/document_into/document_into_32x32.png +0 -0
  668. data/public/images/icons/document_into/document_into_48x48.png +0 -0
  669. data/public/images/icons/document_music/document_music_16x16.png +0 -0
  670. data/public/images/icons/document_music/document_music_24x24.png +0 -0
  671. data/public/images/icons/document_music/document_music_32x32.png +0 -0
  672. data/public/images/icons/document_music/document_music_48x48.png +0 -0
  673. data/public/images/icons/document_new/document_new_16x16.png +0 -0
  674. data/public/images/icons/document_new/document_new_24x24.png +0 -0
  675. data/public/images/icons/document_new/document_new_32x32.png +0 -0
  676. data/public/images/icons/document_new/document_new_48x48.png +0 -0
  677. data/public/images/icons/document_notebook/document_notebook_16x16.png +0 -0
  678. data/public/images/icons/document_notebook/document_notebook_24x24.png +0 -0
  679. data/public/images/icons/document_notebook/document_notebook_32x32.png +0 -0
  680. data/public/images/icons/document_notebook/document_notebook_48x48.png +0 -0
  681. data/public/images/icons/document_pinned/document_pinned_16x16.png +0 -0
  682. data/public/images/icons/document_pinned/document_pinned_24x24.png +0 -0
  683. data/public/images/icons/document_pinned/document_pinned_32x32.png +0 -0
  684. data/public/images/icons/document_pinned/document_pinned_48x48.png +0 -0
  685. data/public/images/icons/document_plain/document_plain_16x16.png +0 -0
  686. data/public/images/icons/document_plain/document_plain_24x24.png +0 -0
  687. data/public/images/icons/document_plain/document_plain_32x32.png +0 -0
  688. data/public/images/icons/document_plain/document_plain_48x48.png +0 -0
  689. data/public/images/icons/document_plain_new/document_plain_new_16x16.png +0 -0
  690. data/public/images/icons/document_plain_new/document_plain_new_24x24.png +0 -0
  691. data/public/images/icons/document_plain_new/document_plain_new_32x32.png +0 -0
  692. data/public/images/icons/document_plain_new/document_plain_new_48x48.png +0 -0
  693. data/public/images/icons/document_preferences/document_preferences_16x16.png +0 -0
  694. data/public/images/icons/document_preferences/document_preferences_24x24.png +0 -0
  695. data/public/images/icons/document_preferences/document_preferences_32x32.png +0 -0
  696. data/public/images/icons/document_preferences/document_preferences_48x48.png +0 -0
  697. data/public/images/icons/document_refresh/document_refresh_16x16.png +0 -0
  698. data/public/images/icons/document_refresh/document_refresh_24x24.png +0 -0
  699. data/public/images/icons/document_refresh/document_refresh_32x32.png +0 -0
  700. data/public/images/icons/document_refresh/document_refresh_48x48.png +0 -0
  701. data/public/images/icons/document_stop/document_stop_16x16.png +0 -0
  702. data/public/images/icons/document_stop/document_stop_24x24.png +0 -0
  703. data/public/images/icons/document_stop/document_stop_32x32.png +0 -0
  704. data/public/images/icons/document_stop/document_stop_48x48.png +0 -0
  705. data/public/images/icons/document_text/document_text_16x16.png +0 -0
  706. data/public/images/icons/document_text/document_text_24x24.png +0 -0
  707. data/public/images/icons/document_text/document_text_32x32.png +0 -0
  708. data/public/images/icons/document_text/document_text_48x48.png +0 -0
  709. data/public/images/icons/document_time/document_time_16x16.png +0 -0
  710. data/public/images/icons/document_time/document_time_24x24.png +0 -0
  711. data/public/images/icons/document_time/document_time_32x32.png +0 -0
  712. data/public/images/icons/document_time/document_time_48x48.png +0 -0
  713. data/public/images/icons/document_view/document_view_16x16.png +0 -0
  714. data/public/images/icons/document_view/document_view_24x24.png +0 -0
  715. data/public/images/icons/document_view/document_view_32x32.png +0 -0
  716. data/public/images/icons/document_view/document_view_48x48.png +0 -0
  717. data/public/images/icons/document_warning/document_warning_16x16.png +0 -0
  718. data/public/images/icons/document_warning/document_warning_24x24.png +0 -0
  719. data/public/images/icons/document_warning/document_warning_32x32.png +0 -0
  720. data/public/images/icons/document_warning/document_warning_48x48.png +0 -0
  721. data/public/images/icons/document_zoom_in/document_zoom_in_16x16.png +0 -0
  722. data/public/images/icons/document_zoom_in/document_zoom_in_24x24.png +0 -0
  723. data/public/images/icons/document_zoom_in/document_zoom_in_32x32.png +0 -0
  724. data/public/images/icons/document_zoom_in/document_zoom_in_48x48.png +0 -0
  725. data/public/images/icons/document_zoom_out/document_zoom_out_16x16.png +0 -0
  726. data/public/images/icons/document_zoom_out/document_zoom_out_24x24.png +0 -0
  727. data/public/images/icons/document_zoom_out/document_zoom_out_32x32.png +0 -0
  728. data/public/images/icons/document_zoom_out/document_zoom_out_48x48.png +0 -0
  729. data/public/images/icons/documents_gear/documents_gear_16x16.png +0 -0
  730. data/public/images/icons/documents_gear/documents_gear_24x24.png +0 -0
  731. data/public/images/icons/documents_gear/documents_gear_32x32.png +0 -0
  732. data/public/images/icons/documents_gear/documents_gear_48x48.png +0 -0
  733. data/public/images/icons/documents_new/documents_new_16x16.png +0 -0
  734. data/public/images/icons/documents_new/documents_new_24x24.png +0 -0
  735. data/public/images/icons/documents_new/documents_new_32x32.png +0 -0
  736. data/public/images/icons/documents_new/documents_new_48x48.png +0 -0
  737. data/public/images/icons/documents_preferences/documents_preferences_16x16.png +0 -0
  738. data/public/images/icons/documents_preferences/documents_preferences_24x24.png +0 -0
  739. data/public/images/icons/documents_preferences/documents_preferences_32x32.png +0 -0
  740. data/public/images/icons/documents_preferences/documents_preferences_48x48.png +0 -0
  741. data/public/images/icons/error/error_16x16.png +0 -0
  742. data/public/images/icons/error/error_24x24.png +0 -0
  743. data/public/images/icons/error/error_32x32.png +0 -0
  744. data/public/images/icons/error/error_48x48.png +0 -0
  745. data/public/images/icons/folder_gear/folder_gear_16x16.png +0 -0
  746. data/public/images/icons/folder_gear/folder_gear_24x24.png +0 -0
  747. data/public/images/icons/folder_gear/folder_gear_32x32.png +0 -0
  748. data/public/images/icons/folder_gear/folder_gear_48x48.png +0 -0
  749. data/public/images/icons/folders/folders_16x16.png +0 -0
  750. data/public/images/icons/folders/folders_24x24.png +0 -0
  751. data/public/images/icons/folders/folders_32x32.png +0 -0
  752. data/public/images/icons/folders/folders_48x48.png +0 -0
  753. data/public/images/icons/globe/globe_24x24.png +0 -0
  754. data/public/images/icons/globe/globe_32x32.png +0 -0
  755. data/public/images/icons/globe/globe_48x48.png +0 -0
  756. data/public/images/icons/grid/grid_32x32.gif +0 -0
  757. data/public/images/icons/grid/grid_48x48.gif +0 -0
  758. data/public/images/icons/grid/grid_48x48.png +0 -0
  759. data/public/images/icons/help/help_16x16.png +0 -0
  760. data/public/images/icons/help/help_24x24.png +0 -0
  761. data/public/images/icons/help/help_32x32.png +0 -0
  762. data/public/images/icons/help/help_48x48.png +0 -0
  763. data/public/images/icons/history/history_24x24.png +0 -0
  764. data/public/images/icons/history/history_32x32.png +0 -0
  765. data/public/images/icons/history/history_48x48.png +0 -0
  766. data/public/images/icons/house/house_16x16.png +0 -0
  767. data/public/images/icons/house/house_24x24.png +0 -0
  768. data/public/images/icons/house/house_32x32.png +0 -0
  769. data/public/images/icons/house/house_48x48.png +0 -0
  770. data/public/images/icons/information/information_24x24.png +0 -0
  771. data/public/images/icons/information/information_32x32.png +0 -0
  772. data/public/images/icons/information/information_48x48.png +0 -0
  773. data/public/images/icons/key/key_24x24.png +0 -0
  774. data/public/images/icons/key/key_32x32.png +0 -0
  775. data/public/images/icons/key/key_48x48.png +0 -0
  776. data/public/images/icons/keyboard/keyboard_16x16.png +0 -0
  777. data/public/images/icons/keyboard/keyboard_24x24.png +0 -0
  778. data/public/images/icons/keyboard/keyboard_32x32.png +0 -0
  779. data/public/images/icons/keyboard/keyboard_48x48.png +0 -0
  780. data/public/images/icons/knowledge/Knowledge_16x16.png +0 -0
  781. data/public/images/icons/knowledge/Knowledge_256x256.png +0 -0
  782. data/public/images/icons/knowledge/Knowledge_32x32.png +0 -0
  783. data/public/images/icons/knowledge/Knowledge_48x48.png +0 -0
  784. data/public/images/icons/laptop/laptop_16x16.png +0 -0
  785. data/public/images/icons/laptop/laptop_24x24.png +0 -0
  786. data/public/images/icons/laptop/laptop_32x32.png +0 -0
  787. data/public/images/icons/laptop/laptop_48x48.png +0 -0
  788. data/public/images/icons/log_out/log_out_16x16.png +0 -0
  789. data/public/images/icons/log_out/log_out_24x24.png +0 -0
  790. data/public/images/icons/log_out/log_out_32x32.png +0 -0
  791. data/public/images/icons/log_out/log_out_48x48.png +0 -0
  792. data/public/images/icons/message/message_16x16.png +0 -0
  793. data/public/images/icons/message/message_24x24.png +0 -0
  794. data/public/images/icons/message/message_32x32.png +0 -0
  795. data/public/images/icons/message/message_48x48.png +0 -0
  796. data/public/images/icons/monitor/monitor_16x16.png +0 -0
  797. data/public/images/icons/monitor/monitor_24x24.png +0 -0
  798. data/public/images/icons/monitor/monitor_32x32.png +0 -0
  799. data/public/images/icons/monitor/monitor_48x48.png +0 -0
  800. data/public/images/icons/mouse/mouse_16x16.png +0 -0
  801. data/public/images/icons/mouse/mouse_24x24.png +0 -0
  802. data/public/images/icons/mouse/mouse_32x32.png +0 -0
  803. data/public/images/icons/mouse/mouse_48x48.png +0 -0
  804. data/public/images/icons/music/music_16x16.png +0 -0
  805. data/public/images/icons/music/music_24x24.png +0 -0
  806. data/public/images/icons/music/music_32x32.png +0 -0
  807. data/public/images/icons/music/music_48x48.png +0 -0
  808. data/public/images/icons/nav_down_blue/nav_down_blue_16x16.png +0 -0
  809. data/public/images/icons/nav_down_blue/nav_down_blue_24x24.png +0 -0
  810. data/public/images/icons/nav_down_blue/nav_down_blue_32x32.png +0 -0
  811. data/public/images/icons/nav_down_blue/nav_down_blue_48x48.png +0 -0
  812. data/public/images/icons/nav_down_left_blue/nav_down_left_blue_16x16.png +0 -0
  813. data/public/images/icons/nav_down_left_blue/nav_down_left_blue_24x24.png +0 -0
  814. data/public/images/icons/nav_down_left_blue/nav_down_left_blue_32x32.png +0 -0
  815. data/public/images/icons/nav_down_left_blue/nav_down_left_blue_48x48.png +0 -0
  816. data/public/images/icons/nav_down_right_blue/nav_down_right_blue_16x16.png +0 -0
  817. data/public/images/icons/nav_down_right_blue/nav_down_right_blue_24x24.png +0 -0
  818. data/public/images/icons/nav_down_right_blue/nav_down_right_blue_32x32.png +0 -0
  819. data/public/images/icons/nav_down_right_blue/nav_down_right_blue_48x48.png +0 -0
  820. data/public/images/icons/nav_left_blue/nav_left_blue_16x16.png +0 -0
  821. data/public/images/icons/nav_left_blue/nav_left_blue_24x24.png +0 -0
  822. data/public/images/icons/nav_left_blue/nav_left_blue_32x32.png +0 -0
  823. data/public/images/icons/nav_left_blue/nav_left_blue_48x48.png +0 -0
  824. data/public/images/icons/nav_plain_blue/nav_plain_blue_16x16.png +0 -0
  825. data/public/images/icons/nav_plain_blue/nav_plain_blue_24x24.png +0 -0
  826. data/public/images/icons/nav_plain_blue/nav_plain_blue_32x32.png +0 -0
  827. data/public/images/icons/nav_plain_blue/nav_plain_blue_48x48.png +0 -0
  828. data/public/images/icons/nav_redo_blue/nav_redo_blue_16x16.png +0 -0
  829. data/public/images/icons/nav_redo_blue/nav_redo_blue_24x24.png +0 -0
  830. data/public/images/icons/nav_redo_blue/nav_redo_blue_32x32.png +0 -0
  831. data/public/images/icons/nav_redo_blue/nav_redo_blue_48x48.png +0 -0
  832. data/public/images/icons/nav_refresh_blue/nav_refresh_blue_16x16.png +0 -0
  833. data/public/images/icons/nav_refresh_blue/nav_refresh_blue_24x24.png +0 -0
  834. data/public/images/icons/nav_refresh_blue/nav_refresh_blue_32x32.png +0 -0
  835. data/public/images/icons/nav_refresh_blue/nav_refresh_blue_48x48.png +0 -0
  836. data/public/images/icons/nav_right_blue/nav_right_blue_16x16.png +0 -0
  837. data/public/images/icons/nav_right_blue/nav_right_blue_24x24.png +0 -0
  838. data/public/images/icons/nav_right_blue/nav_right_blue_32x32.png +0 -0
  839. data/public/images/icons/nav_right_blue/nav_right_blue_48x48.png +0 -0
  840. data/public/images/icons/nav_undo_blue/nav_undo_blue_16x16.png +0 -0
  841. data/public/images/icons/nav_undo_blue/nav_undo_blue_24x24.png +0 -0
  842. data/public/images/icons/nav_undo_blue/nav_undo_blue_32x32.png +0 -0
  843. data/public/images/icons/nav_undo_blue/nav_undo_blue_48x48.png +0 -0
  844. data/public/images/icons/nav_up_blue/nav_up_blue_16x16.png +0 -0
  845. data/public/images/icons/nav_up_blue/nav_up_blue_24x24.png +0 -0
  846. data/public/images/icons/nav_up_blue/nav_up_blue_32x32.png +0 -0
  847. data/public/images/icons/nav_up_blue/nav_up_blue_48x48.png +0 -0
  848. data/public/images/icons/nav_up_left_blue/nav_up_left_blue_16x16.png +0 -0
  849. data/public/images/icons/nav_up_left_blue/nav_up_left_blue_24x24.png +0 -0
  850. data/public/images/icons/nav_up_left_blue/nav_up_left_blue_32x32.png +0 -0
  851. data/public/images/icons/nav_up_left_blue/nav_up_left_blue_48x48.png +0 -0
  852. data/public/images/icons/nav_up_right_blue/nav_up_right_blue_16x16.png +0 -0
  853. data/public/images/icons/nav_up_right_blue/nav_up_right_blue_24x24.png +0 -0
  854. data/public/images/icons/nav_up_right_blue/nav_up_right_blue_32x32.png +0 -0
  855. data/public/images/icons/nav_up_right_blue/nav_up_right_blue_48x48.png +0 -0
  856. data/public/images/icons/new/new_16x16.png +0 -0
  857. data/public/images/icons/new/new_24x24.png +0 -0
  858. data/public/images/icons/new/new_32x32.png +0 -0
  859. data/public/images/icons/new/new_48x48.png +0 -0
  860. data/public/images/icons/note_add/note_add_16x16.png +0 -0
  861. data/public/images/icons/note_add/note_add_24x24.png +0 -0
  862. data/public/images/icons/note_add/note_add_32x32.png +0 -0
  863. data/public/images/icons/note_add/note_add_48x48.png +0 -0
  864. data/public/images/icons/note_delete/note_delete_16x16.png +0 -0
  865. data/public/images/icons/note_delete/note_delete_24x24.png +0 -0
  866. data/public/images/icons/note_delete/note_delete_32x32.png +0 -0
  867. data/public/images/icons/note_delete/note_delete_48x48.png +0 -0
  868. data/public/images/icons/note_edit/note_edit_16x16.png +0 -0
  869. data/public/images/icons/note_edit/note_edit_24x24.png +0 -0
  870. data/public/images/icons/note_edit/note_edit_32x32.png +0 -0
  871. data/public/images/icons/note_edit/note_edit_48x48.png +0 -0
  872. data/public/images/icons/note_error/note_error_16x16.png +0 -0
  873. data/public/images/icons/note_error/note_error_24x24.png +0 -0
  874. data/public/images/icons/note_error/note_error_32x32.png +0 -0
  875. data/public/images/icons/note_error/note_error_48x48.png +0 -0
  876. data/public/images/icons/note_find/note_find_16x16.png +0 -0
  877. data/public/images/icons/note_find/note_find_24x24.png +0 -0
  878. data/public/images/icons/note_find/note_find_32x32.png +0 -0
  879. data/public/images/icons/note_find/note_find_48x48.png +0 -0
  880. data/public/images/icons/note_information/note_information_16x16.png +0 -0
  881. data/public/images/icons/note_information/note_information_24x24.png +0 -0
  882. data/public/images/icons/note_information/note_information_32x32.png +0 -0
  883. data/public/images/icons/note_information/note_information_48x48.png +0 -0
  884. data/public/images/icons/note_new/note_new_16x16.png +0 -0
  885. data/public/images/icons/note_new/note_new_24x24.png +0 -0
  886. data/public/images/icons/note_new/note_new_32x32.png +0 -0
  887. data/public/images/icons/note_new/note_new_48x48.png +0 -0
  888. data/public/images/icons/note_ok/note_ok_16x16.png +0 -0
  889. data/public/images/icons/note_ok/note_ok_24x24.png +0 -0
  890. data/public/images/icons/note_ok/note_ok_32x32.png +0 -0
  891. data/public/images/icons/note_ok/note_ok_48x48.png +0 -0
  892. data/public/images/icons/note_pinned/note_pinned_16x16.png +0 -0
  893. data/public/images/icons/note_pinned/note_pinned_24x24.png +0 -0
  894. data/public/images/icons/note_pinned/note_pinned_32x32.png +0 -0
  895. data/public/images/icons/note_pinned/note_pinned_48x48.png +0 -0
  896. data/public/images/icons/note_plain/note_plain_16x16.png +0 -0
  897. data/public/images/icons/note_plain/note_plain_24x24.png +0 -0
  898. data/public/images/icons/note_plain/note_plain_32x32.png +0 -0
  899. data/public/images/icons/note_plain/note_plain_48x48.png +0 -0
  900. data/public/images/icons/note_view/note_view_16x16.png +0 -0
  901. data/public/images/icons/note_view/note_view_24x24.png +0 -0
  902. data/public/images/icons/note_view/note_view_32x32.png +0 -0
  903. data/public/images/icons/note_view/note_view_48x48.png +0 -0
  904. data/public/images/icons/note_warning/note_warning_16x16.png +0 -0
  905. data/public/images/icons/note_warning/note_warning_24x24.png +0 -0
  906. data/public/images/icons/note_warning/note_warning_32x32.png +0 -0
  907. data/public/images/icons/note_warning/note_warning_48x48.png +0 -0
  908. data/public/images/icons/open/open_16x16.png +0 -0
  909. data/public/images/icons/open/open_24x24.png +0 -0
  910. data/public/images/icons/open/open_32x32.png +0 -0
  911. data/public/images/icons/open/open_48x48.png +0 -0
  912. data/public/images/icons/palette/palette_16x16.png +0 -0
  913. data/public/images/icons/palette/palette_24x24.png +0 -0
  914. data/public/images/icons/palette/palette_32x32.png +0 -0
  915. data/public/images/icons/palette/palette_48x48.png +0 -0
  916. data/public/images/icons/paperclip/paperclip_16x16.png +0 -0
  917. data/public/images/icons/paperclip/paperclip_24x24.png +0 -0
  918. data/public/images/icons/paperclip/paperclip_32x32.png +0 -0
  919. data/public/images/icons/paperclip/paperclip_48x48.png +0 -0
  920. data/public/images/icons/paste/paste_16x16.png +0 -0
  921. data/public/images/icons/paste/paste_24x24.png +0 -0
  922. data/public/images/icons/paste/paste_32x32.png +0 -0
  923. data/public/images/icons/paste/paste_48x48.png +0 -0
  924. data/public/images/icons/picture/picture_24x24.png +0 -0
  925. data/public/images/icons/picture/picture_32x32.png +0 -0
  926. data/public/images/icons/picture/picture_48x48.png +0 -0
  927. data/public/images/icons/presentation/presentation_16x16.png +0 -0
  928. data/public/images/icons/presentation/presentation_24x24.png +0 -0
  929. data/public/images/icons/presentation/presentation_32x32.png +0 -0
  930. data/public/images/icons/presentation/presentation_48x48.png +0 -0
  931. data/public/images/icons/presentation_chart/presentation_chart_16x16.png +0 -0
  932. data/public/images/icons/presentation_chart/presentation_chart_24x24.png +0 -0
  933. data/public/images/icons/presentation_chart/presentation_chart_32x32.png +0 -0
  934. data/public/images/icons/presentation_chart/presentation_chart_48x48.png +0 -0
  935. data/public/images/icons/previous/previous_16x16.png +0 -0
  936. data/public/images/icons/previous/previous_24x24.png +0 -0
  937. data/public/images/icons/previous/previous_32x32.png +0 -0
  938. data/public/images/icons/previous/previous_48x48.png +0 -0
  939. data/public/images/icons/print/print_16x16.png +0 -0
  940. data/public/images/icons/print/print_24x24.png +0 -0
  941. data/public/images/icons/print/print_32x32.png +0 -0
  942. data/public/images/icons/print/print_48x48.png +0 -0
  943. data/public/images/icons/printer/printer_16x16.png +0 -0
  944. data/public/images/icons/printer/printer_24x24.png +0 -0
  945. data/public/images/icons/printer/printer_32x32.png +0 -0
  946. data/public/images/icons/printer/printer_48x48.png +0 -0
  947. data/public/images/icons/prodconfig/Prodconfig_16x16.png +0 -0
  948. data/public/images/icons/prodconfig/Prodconfig_256x256.png +0 -0
  949. data/public/images/icons/prodconfig/Prodconfig_32x32.png +0 -0
  950. data/public/images/icons/prodconfig/Prodconfig_48x48.png +0 -0
  951. data/public/images/icons/question_and_answer/question_and_answer_16x16.png +0 -0
  952. data/public/images/icons/question_and_answer/question_and_answer_24x24.png +0 -0
  953. data/public/images/icons/question_and_answer/question_and_answer_32x32.png +0 -0
  954. data/public/images/icons/question_and_answer/question_and_answer_48x48.png +0 -0
  955. data/public/images/icons/replace/replace_16x16.png +0 -0
  956. data/public/images/icons/replace/replace_24x24.png +0 -0
  957. data/public/images/icons/replace/replace_32x32.png +0 -0
  958. data/public/images/icons/replace/replace_48x48.png +0 -0
  959. data/public/images/icons/scroll/scroll_16x16.png +0 -0
  960. data/public/images/icons/scroll/scroll_24x24.png +0 -0
  961. data/public/images/icons/scroll/scroll_32x32.png +0 -0
  962. data/public/images/icons/scroll/scroll_48x48.png +0 -0
  963. data/public/images/icons/send/send_16x16.png +0 -0
  964. data/public/images/icons/send/send_24x24.png +0 -0
  965. data/public/images/icons/send/send_32x32.png +0 -0
  966. data/public/images/icons/send/send_48x48.png +0 -0
  967. data/public/images/icons/settings/settings_24x24.png +0 -0
  968. data/public/images/icons/settings/settings_32x32.png +0 -0
  969. data/public/images/icons/settings/settings_48x48.png +0 -0
  970. data/public/images/icons/shoppingbasket/shoppingbasket_16x16.png +0 -0
  971. data/public/images/icons/shoppingbasket/shoppingbasket_24x24.png +0 -0
  972. data/public/images/icons/shoppingbasket/shoppingbasket_32x32.png +0 -0
  973. data/public/images/icons/shoppingbasket/shoppingbasket_48x48.png +0 -0
  974. data/public/images/icons/shoppingbasket_add/shoppingbasket_add_16x16.png +0 -0
  975. data/public/images/icons/shoppingbasket_add/shoppingbasket_add_24x24.png +0 -0
  976. data/public/images/icons/shoppingbasket_add/shoppingbasket_add_32x32.png +0 -0
  977. data/public/images/icons/shoppingbasket_add/shoppingbasket_add_48x48.png +0 -0
  978. data/public/images/icons/shoppingbasket_delete/shoppingbasket_delete_16x16.png +0 -0
  979. data/public/images/icons/shoppingbasket_delete/shoppingbasket_delete_24x24.png +0 -0
  980. data/public/images/icons/shoppingbasket_delete/shoppingbasket_delete_32x32.png +0 -0
  981. data/public/images/icons/shoppingbasket_delete/shoppingbasket_delete_48x48.png +0 -0
  982. data/public/images/icons/shoppingbasket_edit/shoppingbasket_edit_16x16.png +0 -0
  983. data/public/images/icons/shoppingbasket_edit/shoppingbasket_edit_24x24.png +0 -0
  984. data/public/images/icons/shoppingbasket_edit/shoppingbasket_edit_32x32.png +0 -0
  985. data/public/images/icons/shoppingbasket_edit/shoppingbasket_edit_48x48.png +0 -0
  986. data/public/images/icons/shoppingbasket_full/shoppingbasket_full_16x16.png +0 -0
  987. data/public/images/icons/shoppingbasket_full/shoppingbasket_full_24x24.png +0 -0
  988. data/public/images/icons/shoppingbasket_full/shoppingbasket_full_32x32.png +0 -0
  989. data/public/images/icons/shoppingbasket_full/shoppingbasket_full_48x48.png +0 -0
  990. data/public/images/icons/shoppingcart/shoppingcart_16x16.png +0 -0
  991. data/public/images/icons/shoppingcart/shoppingcart_24x24.png +0 -0
  992. data/public/images/icons/shoppingcart/shoppingcart_32x32.png +0 -0
  993. data/public/images/icons/shoppingcart/shoppingcart_48x48.png +0 -0
  994. data/public/images/icons/shoppingcart_add/shoppingcart_add_16x16.png +0 -0
  995. data/public/images/icons/shoppingcart_add/shoppingcart_add_24x24.png +0 -0
  996. data/public/images/icons/shoppingcart_add/shoppingcart_add_32x32.png +0 -0
  997. data/public/images/icons/shoppingcart_add/shoppingcart_add_48x48.png +0 -0
  998. data/public/images/icons/shoppingcart_delete/shoppingcart_delete_16x16.png +0 -0
  999. data/public/images/icons/shoppingcart_delete/shoppingcart_delete_24x24.png +0 -0
  1000. data/public/images/icons/shoppingcart_delete/shoppingcart_delete_32x32.png +0 -0
  1001. data/public/images/icons/shoppingcart_delete/shoppingcart_delete_48x48.png +0 -0
  1002. data/public/images/icons/shoppingcart_edit/shoppingcart_edit_16x16.png +0 -0
  1003. data/public/images/icons/shoppingcart_edit/shoppingcart_edit_24x24.png +0 -0
  1004. data/public/images/icons/shoppingcart_edit/shoppingcart_edit_32x32.png +0 -0
  1005. data/public/images/icons/shoppingcart_edit/shoppingcart_edit_48x48.png +0 -0
  1006. data/public/images/icons/shoppingcart_full/shoppingcart_full_16x16.png +0 -0
  1007. data/public/images/icons/shoppingcart_full/shoppingcart_full_24x24.png +0 -0
  1008. data/public/images/icons/shoppingcart_full/shoppingcart_full_32x32.png +0 -0
  1009. data/public/images/icons/shoppingcart_full/shoppingcart_full_48x48.png +0 -0
  1010. data/public/images/icons/sort_ascending/sort_ascending_16x16.png +0 -0
  1011. data/public/images/icons/sort_ascending/sort_ascending_24x24.png +0 -0
  1012. data/public/images/icons/sort_ascending/sort_ascending_32x32.png +0 -0
  1013. data/public/images/icons/sort_ascending/sort_ascending_48x48.png +0 -0
  1014. data/public/images/icons/sort_az_ascending/sort_az_ascending_16x16.png +0 -0
  1015. data/public/images/icons/sort_az_ascending/sort_az_ascending_24x24.png +0 -0
  1016. data/public/images/icons/sort_az_ascending/sort_az_ascending_32x32.png +0 -0
  1017. data/public/images/icons/sort_az_ascending/sort_az_ascending_48x48.png +0 -0
  1018. data/public/images/icons/sort_az_descending/sort_az_descending_16x16.png +0 -0
  1019. data/public/images/icons/sort_az_descending/sort_az_descending_24x24.png +0 -0
  1020. data/public/images/icons/sort_az_descending/sort_az_descending_32x32.png +0 -0
  1021. data/public/images/icons/sort_az_descending/sort_az_descending_48x48.png +0 -0
  1022. data/public/images/icons/sort_descending/sort_descending_16x16.png +0 -0
  1023. data/public/images/icons/sort_descending/sort_descending_24x24.png +0 -0
  1024. data/public/images/icons/sort_descending/sort_descending_32x32.png +0 -0
  1025. data/public/images/icons/sort_descending/sort_descending_48x48.png +0 -0
  1026. data/public/images/icons/sort_down/sort_down_16x16.png +0 -0
  1027. data/public/images/icons/sort_down/sort_down_24x24.png +0 -0
  1028. data/public/images/icons/sort_down/sort_down_32x32.png +0 -0
  1029. data/public/images/icons/sort_down/sort_down_48x48.png +0 -0
  1030. data/public/images/icons/sort_up/sort_up_16x16.png +0 -0
  1031. data/public/images/icons/sort_up/sort_up_24x24.png +0 -0
  1032. data/public/images/icons/sort_up/sort_up_32x32.png +0 -0
  1033. data/public/images/icons/sort_up/sort_up_48x48.png +0 -0
  1034. data/public/images/icons/spellcheck/spellcheck_16x16.png +0 -0
  1035. data/public/images/icons/spellcheck/spellcheck_24x24.png +0 -0
  1036. data/public/images/icons/spellcheck/spellcheck_32x32.png +0 -0
  1037. data/public/images/icons/spellcheck/spellcheck_48x48.png +0 -0
  1038. data/public/images/icons/synchronize/synchronize_16x16.png +0 -0
  1039. data/public/images/icons/synchronize/synchronize_24x24.png +0 -0
  1040. data/public/images/icons/synchronize/synchronize_32x32.png +0 -0
  1041. data/public/images/icons/synchronize/synchronize_48x48.png +0 -0
  1042. data/public/images/icons/toolbar/class.png +0 -0
  1043. data/public/images/icons/toolbar/class_folder.png +0 -0
  1044. data/public/images/icons/toolbar/mixed_folder.png +0 -0
  1045. data/public/images/icons/toolbar/object_graph.png +0 -0
  1046. data/public/images/icons/toolbar/package_yellow.png +0 -0
  1047. data/public/images/icons/toolbar/table_go.png +0 -0
  1048. data/public/images/icons/undo/undo_24x24.png +0 -0
  1049. data/public/images/icons/undo/undo_32x32.png +0 -0
  1050. data/public/images/icons/undo/undo_48x48.png +0 -0
  1051. data/public/images/icons/upload/upload_16x16.png +0 -0
  1052. data/public/images/icons/upload/upload_24x24.png +0 -0
  1053. data/public/images/icons/upload/upload_32x32.png +0 -0
  1054. data/public/images/icons/upload/upload_48x48.png +0 -0
  1055. data/public/images/icons/user/user_24x24.png +0 -0
  1056. data/public/images/icons/user/user_32x32.png +0 -0
  1057. data/public/images/icons/user/user_48x48.png +0 -0
  1058. data/public/images/icons/warning/warning_16x16.png +0 -0
  1059. data/public/images/icons/warning/warning_24x24.png +0 -0
  1060. data/public/images/icons/warning/warning_32x32.png +0 -0
  1061. data/public/images/icons/warning/warning_48x48.png +0 -0
  1062. data/public/images/icons/zoom_in/zoom_in_16x16.png +0 -0
  1063. data/public/images/icons/zoom_in/zoom_in_24x24.png +0 -0
  1064. data/public/images/icons/zoom_in/zoom_in_32x32.png +0 -0
  1065. data/public/images/icons/zoom_in/zoom_in_48x48.png +0 -0
  1066. data/public/images/icons/zoom_out/zoom_out_16x16.png +0 -0
  1067. data/public/images/icons/zoom_out/zoom_out_24x24.png +0 -0
  1068. data/public/images/icons/zoom_out/zoom_out_32x32.png +0 -0
  1069. data/public/images/icons/zoom_out/zoom_out_48x48.png +0 -0
  1070. data/public/images/wallpaper/blue.gif +0 -0
  1071. data/public/javascripts/erp_app/authentication/widget_manager.js +0 -119
  1072. data/public/javascripts/erp_app/ckeditor/lang/_languages.js +0 -6
  1073. data/public/javascripts/erp_app/ckeditor/lang/_translationstatus.txt +0 -64
  1074. data/public/javascripts/erp_app/ckeditor/lang/af.js +0 -6
  1075. data/public/javascripts/erp_app/ckeditor/lang/ar.js +0 -6
  1076. data/public/javascripts/erp_app/ckeditor/lang/bg.js +0 -6
  1077. data/public/javascripts/erp_app/ckeditor/lang/bn.js +0 -6
  1078. data/public/javascripts/erp_app/ckeditor/lang/bs.js +0 -6
  1079. data/public/javascripts/erp_app/ckeditor/lang/ca.js +0 -6
  1080. data/public/javascripts/erp_app/ckeditor/lang/cs.js +0 -6
  1081. data/public/javascripts/erp_app/ckeditor/lang/cy.js +0 -6
  1082. data/public/javascripts/erp_app/ckeditor/lang/da.js +0 -6
  1083. data/public/javascripts/erp_app/ckeditor/lang/de.js +0 -6
  1084. data/public/javascripts/erp_app/ckeditor/lang/el.js +0 -6
  1085. data/public/javascripts/erp_app/ckeditor/lang/en-au.js +0 -6
  1086. data/public/javascripts/erp_app/ckeditor/lang/en-ca.js +0 -6
  1087. data/public/javascripts/erp_app/ckeditor/lang/en-gb.js +0 -6
  1088. data/public/javascripts/erp_app/ckeditor/lang/eo.js +0 -6
  1089. data/public/javascripts/erp_app/ckeditor/lang/es.js +0 -6
  1090. data/public/javascripts/erp_app/ckeditor/lang/et.js +0 -6
  1091. data/public/javascripts/erp_app/ckeditor/lang/eu.js +0 -6
  1092. data/public/javascripts/erp_app/ckeditor/lang/fa.js +0 -6
  1093. data/public/javascripts/erp_app/ckeditor/lang/fi.js +0 -6
  1094. data/public/javascripts/erp_app/ckeditor/lang/fo.js +0 -6
  1095. data/public/javascripts/erp_app/ckeditor/lang/fr-ca.js +0 -6
  1096. data/public/javascripts/erp_app/ckeditor/lang/fr.js +0 -6
  1097. data/public/javascripts/erp_app/ckeditor/lang/gl.js +0 -6
  1098. data/public/javascripts/erp_app/ckeditor/lang/gu.js +0 -6
  1099. data/public/javascripts/erp_app/ckeditor/lang/he.js +0 -6
  1100. data/public/javascripts/erp_app/ckeditor/lang/hi.js +0 -6
  1101. data/public/javascripts/erp_app/ckeditor/lang/hr.js +0 -6
  1102. data/public/javascripts/erp_app/ckeditor/lang/hu.js +0 -6
  1103. data/public/javascripts/erp_app/ckeditor/lang/id.js +0 -6
  1104. data/public/javascripts/erp_app/ckeditor/lang/is.js +0 -6
  1105. data/public/javascripts/erp_app/ckeditor/lang/it.js +0 -6
  1106. data/public/javascripts/erp_app/ckeditor/lang/ja.js +0 -6
  1107. data/public/javascripts/erp_app/ckeditor/lang/ka.js +0 -6
  1108. data/public/javascripts/erp_app/ckeditor/lang/km.js +0 -6
  1109. data/public/javascripts/erp_app/ckeditor/lang/ko.js +0 -6
  1110. data/public/javascripts/erp_app/ckeditor/lang/lt.js +0 -6
  1111. data/public/javascripts/erp_app/ckeditor/lang/lv.js +0 -6
  1112. data/public/javascripts/erp_app/ckeditor/lang/mk.js +0 -6
  1113. data/public/javascripts/erp_app/ckeditor/lang/mn.js +0 -6
  1114. data/public/javascripts/erp_app/ckeditor/lang/ms.js +0 -6
  1115. data/public/javascripts/erp_app/ckeditor/lang/nb.js +0 -6
  1116. data/public/javascripts/erp_app/ckeditor/lang/nl.js +0 -6
  1117. data/public/javascripts/erp_app/ckeditor/lang/no.js +0 -6
  1118. data/public/javascripts/erp_app/ckeditor/lang/pl.js +0 -6
  1119. data/public/javascripts/erp_app/ckeditor/lang/pt-br.js +0 -6
  1120. data/public/javascripts/erp_app/ckeditor/lang/pt.js +0 -6
  1121. data/public/javascripts/erp_app/ckeditor/lang/ro.js +0 -6
  1122. data/public/javascripts/erp_app/ckeditor/lang/ru.js +0 -6
  1123. data/public/javascripts/erp_app/ckeditor/lang/sk.js +0 -6
  1124. data/public/javascripts/erp_app/ckeditor/lang/sl.js +0 -6
  1125. data/public/javascripts/erp_app/ckeditor/lang/sr-latn.js +0 -6
  1126. data/public/javascripts/erp_app/ckeditor/lang/sr.js +0 -6
  1127. data/public/javascripts/erp_app/ckeditor/lang/sv.js +0 -6
  1128. data/public/javascripts/erp_app/ckeditor/lang/th.js +0 -6
  1129. data/public/javascripts/erp_app/ckeditor/lang/tr.js +0 -6
  1130. data/public/javascripts/erp_app/ckeditor/lang/ug.js +0 -6
  1131. data/public/javascripts/erp_app/ckeditor/lang/uk.js +0 -6
  1132. data/public/javascripts/erp_app/ckeditor/lang/vi.js +0 -6
  1133. data/public/javascripts/erp_app/ckeditor/lang/zh-cn.js +0 -6
  1134. data/public/javascripts/erp_app/ckeditor/lang/zh.js +0 -6
  1135. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt +0 -25
  1136. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/cs.js +0 -6
  1137. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/cy.js +0 -6
  1138. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/da.js +0 -6
  1139. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/de.js +0 -6
  1140. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/el.js +0 -6
  1141. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/en.js +0 -6
  1142. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/eo.js +0 -6
  1143. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/fa.js +0 -6
  1144. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/fi.js +0 -6
  1145. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/fr.js +0 -6
  1146. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/gu.js +0 -6
  1147. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/he.js +0 -6
  1148. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/it.js +0 -6
  1149. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/mk.js +0 -6
  1150. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/nb.js +0 -6
  1151. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/nl.js +0 -6
  1152. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/no.js +0 -6
  1153. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/pt-br.js +0 -6
  1154. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/ro.js +0 -6
  1155. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/tr.js +0 -6
  1156. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/ug.js +0 -6
  1157. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/vi.js +0 -6
  1158. data/public/javascripts/erp_app/ckeditor/plugins/a11yhelp/lang/zh-cn.js +0 -6
  1159. data/public/javascripts/erp_app/ckeditor/plugins/adobeair/plugin.js +0 -6
  1160. data/public/javascripts/erp_app/ckeditor/plugins/ajax/plugin.js +0 -6
  1161. data/public/javascripts/erp_app/ckeditor/plugins/autogrow/plugin.js +0 -6
  1162. data/public/javascripts/erp_app/ckeditor/plugins/bbcode/plugin.js +0 -9
  1163. data/public/javascripts/erp_app/ckeditor/plugins/compassupload/plugin.js +0 -21
  1164. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/_translationstatus.txt +0 -28
  1165. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/bg.js +0 -6
  1166. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/cs.js +0 -6
  1167. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/cy.js +0 -6
  1168. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/da.js +0 -6
  1169. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/de.js +0 -6
  1170. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/el.js +0 -6
  1171. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/en.js +0 -6
  1172. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/eo.js +0 -6
  1173. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/et.js +0 -6
  1174. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/fa.js +0 -6
  1175. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/fi.js +0 -6
  1176. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/fr.js +0 -6
  1177. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/gu.js +0 -6
  1178. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/he.js +0 -6
  1179. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/hr.js +0 -6
  1180. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/it.js +0 -6
  1181. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/nb.js +0 -6
  1182. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/nl.js +0 -6
  1183. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/no.js +0 -6
  1184. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/pl.js +0 -6
  1185. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/pt-br.js +0 -6
  1186. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/tr.js +0 -6
  1187. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/ug.js +0 -6
  1188. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/uk.js +0 -6
  1189. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/vi.js +0 -6
  1190. data/public/javascripts/erp_app/ckeditor/plugins/devtools/lang/zh-cn.js +0 -6
  1191. data/public/javascripts/erp_app/ckeditor/plugins/devtools/plugin.js +0 -6
  1192. data/public/javascripts/erp_app/ckeditor/plugins/docprops/dialogs/docprops.js +0 -10
  1193. data/public/javascripts/erp_app/ckeditor/plugins/docprops/plugin.js +0 -6
  1194. data/public/javascripts/erp_app/ckeditor/plugins/iframedialog/plugin.js +0 -6
  1195. data/public/javascripts/erp_app/ckeditor/plugins/link/images/anchor.gif +0 -0
  1196. data/public/javascripts/erp_app/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -6
  1197. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/dialogs/placeholder.js +0 -6
  1198. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/_translationstatus.txt +0 -27
  1199. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/bg.js +0 -6
  1200. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/cs.js +0 -6
  1201. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/cy.js +0 -6
  1202. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/da.js +0 -6
  1203. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/de.js +0 -6
  1204. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/el.js +0 -6
  1205. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/en.js +0 -6
  1206. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/eo.js +0 -6
  1207. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/et.js +0 -6
  1208. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/fa.js +0 -6
  1209. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/fi.js +0 -6
  1210. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/fr.js +0 -6
  1211. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/he.js +0 -6
  1212. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/hr.js +0 -6
  1213. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/it.js +0 -6
  1214. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/nb.js +0 -6
  1215. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/nl.js +0 -6
  1216. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/no.js +0 -6
  1217. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/pl.js +0 -6
  1218. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/pt-br.js +0 -6
  1219. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/tr.js +0 -6
  1220. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/ug.js +0 -6
  1221. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/uk.js +0 -6
  1222. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/vi.js +0 -6
  1223. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/lang/zh-cn.js +0 -6
  1224. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  1225. data/public/javascripts/erp_app/ckeditor/plugins/placeholder/plugin.js +0 -6
  1226. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/codemirror_config.js +0 -85
  1227. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/editor.css +0 -96
  1228. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/buttonbg.gif +0 -0
  1229. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/cancel.png +0 -0
  1230. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/highlight.png +0 -0
  1231. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/redo.png +0 -0
  1232. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/reindent.png +0 -0
  1233. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/save.png +0 -0
  1234. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/search.png +0 -0
  1235. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/undo.png +0 -0
  1236. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/nocolors.css +0 -24
  1237. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/LICENSE +0 -23
  1238. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/bigtest.html +0 -1296
  1239. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/compress.html +0 -169
  1240. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/css/csharpcolors.css +0 -60
  1241. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/index.html +0 -61
  1242. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/js/parsecsharp.js +0 -329
  1243. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/js/tokenizecsharp.js +0 -196
  1244. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/LICENSE +0 -24
  1245. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/css/freemarkercolors.css +0 -63
  1246. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/index.html +0 -75
  1247. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/js/parsefreemarker.js +0 -380
  1248. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/groovy/index.html +0 -57
  1249. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/LICENSE +0 -20
  1250. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/css/javacolors.css +0 -64
  1251. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/index.html +0 -66
  1252. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/js/parsejava.js +0 -285
  1253. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/js/tokenizejava.js +0 -222
  1254. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/LICENSE +0 -32
  1255. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/css/luacolors.css +0 -63
  1256. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/index.html +0 -68
  1257. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/js/parselua.js +0 -254
  1258. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/LICENSE +0 -23
  1259. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/css/ometacolors.css +0 -63
  1260. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/index.html +0 -77
  1261. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/js/parseometa.js +0 -364
  1262. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/js/tokenizeometa.js +0 -209
  1263. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/LICENSE +0 -37
  1264. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/css/phpcolors.css +0 -114
  1265. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/index.html +0 -310
  1266. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/parsephp.js +0 -419
  1267. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/parsephphtmlmixed.js +0 -116
  1268. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/tokenizephp.js +0 -1208
  1269. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/LICENSE +0 -22
  1270. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/css/plsqlcolors.css +0 -57
  1271. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/index.html +0 -67
  1272. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/js/parseplsql.js +0 -233
  1273. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/LICENSE +0 -32
  1274. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/css/pythoncolors.css +0 -58
  1275. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/index.html +0 -141
  1276. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/js/parsepython.js +0 -541
  1277. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/css/js-regexcolors.css +0 -214
  1278. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/css/regexcolors.css +0 -214
  1279. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/index.html +0 -114
  1280. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parsejavascript_and_regex.js +0 -91
  1281. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parseregex-unicode.js +0 -284
  1282. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parseregex.js +0 -847
  1283. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js-regex.html +0 -118
  1284. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/LICENSE +0 -23
  1285. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/css/schemecolors.css +0 -45
  1286. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/index.html +0 -82
  1287. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/js/parsescheme.js +0 -428
  1288. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/js/tokenizescheme.js +0 -241
  1289. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/LICENSE +0 -22
  1290. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/css/sqlcolors.css +0 -59
  1291. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/index.html +0 -56
  1292. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/js/parsesql.js +0 -267
  1293. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/LICENSE +0 -13
  1294. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors-dark.css +0 -93
  1295. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors.css +0 -99
  1296. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors2.css +0 -96
  1297. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/index.html +0 -552
  1298. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/js/parsexquery.js +0 -234
  1299. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/js/tokenizexquery.js +0 -457
  1300. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/baboon.png +0 -0
  1301. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/baboon_vector.ai +3 -962
  1302. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/csscolors.css +0 -55
  1303. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/docs.css +0 -158
  1304. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/font.js +0 -15
  1305. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/jscolors.css +0 -59
  1306. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/people.jpg +0 -0
  1307. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/sparqlcolors.css +0 -43
  1308. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/xmlcolors.css +0 -55
  1309. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/csstest.html +0 -60
  1310. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/faq.html +0 -86
  1311. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/favicon.ico +0 -0
  1312. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/googleb196c451afc2ee11.html +0 -1
  1313. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/googlehostedservice.html +0 -1
  1314. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/highlight.html +0 -82
  1315. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/htmltest.html +0 -53
  1316. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/index.html +0 -254
  1317. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/codemirror.js +0 -582
  1318. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/editor.js +0 -1670
  1319. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/highlight.js +0 -68
  1320. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/mirrorframe.js +0 -81
  1321. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsecss.js +0 -161
  1322. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsedummy.js +0 -32
  1323. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsehtmlmixed.js +0 -93
  1324. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsejavascript.js +0 -359
  1325. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsesparql.js +0 -162
  1326. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsexml.js +0 -291
  1327. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/select.js +0 -697
  1328. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/stringstream.js +0 -159
  1329. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/tokenize.js +0 -57
  1330. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/tokenizejavascript.js +0 -174
  1331. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/undo.js +0 -413
  1332. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/unittests.js +0 -44
  1333. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/util.js +0 -133
  1334. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/jstest.html +0 -56
  1335. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/manual.html +0 -806
  1336. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/mixedtest.html +0 -52
  1337. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/sparqltest.html +0 -41
  1338. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/story.html +0 -672
  1339. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/unittests.html +0 -125
  1340. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/xhtmltest.xhtml +0 -50
  1341. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/lang/de.js +0 -20
  1342. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/lang/en.js +0 -20
  1343. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/dialogs/sourcepopup.js +0 -102
  1344. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/lang/de.js +0 -9
  1345. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/lang/en.js +0 -9
  1346. data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/plugin.js +0 -27
  1347. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/_translationstatus.txt +0 -22
  1348. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/cs.js +0 -6
  1349. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/cy.js +0 -6
  1350. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/de.js +0 -6
  1351. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/el.js +0 -6
  1352. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/en.js +0 -6
  1353. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/eo.js +0 -6
  1354. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/et.js +0 -6
  1355. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/fa.js +0 -6
  1356. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/fi.js +0 -6
  1357. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/fr.js +0 -6
  1358. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/he.js +0 -6
  1359. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/hr.js +0 -6
  1360. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/it.js +0 -6
  1361. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/nb.js +0 -6
  1362. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/nl.js +0 -6
  1363. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/no.js +0 -6
  1364. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/pt-br.js +0 -6
  1365. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/tr.js +0 -6
  1366. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/ug.js +0 -6
  1367. data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/zh-cn.js +0 -6
  1368. data/public/javascripts/erp_app/ckeditor/plugins/styles/styles/default.js +0 -6
  1369. data/public/javascripts/erp_app/ckeditor/plugins/stylesheetparser/plugin.js +0 -6
  1370. data/public/javascripts/erp_app/ckeditor/plugins/tableresize/plugin.js +0 -7
  1371. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -7
  1372. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/_translationstatus.txt +0 -28
  1373. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/bg.js +0 -6
  1374. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/cs.js +0 -6
  1375. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/cy.js +0 -6
  1376. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/da.js +0 -6
  1377. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/de.js +0 -6
  1378. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/el.js +0 -6
  1379. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/en.js +0 -6
  1380. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/eo.js +0 -6
  1381. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/et.js +0 -6
  1382. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/fa.js +0 -6
  1383. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/fi.js +0 -6
  1384. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/fr.js +0 -6
  1385. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/he.js +0 -6
  1386. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/hr.js +0 -6
  1387. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/it.js +0 -6
  1388. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/mk.js +0 -6
  1389. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/nb.js +0 -6
  1390. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/nl.js +0 -6
  1391. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/no.js +0 -6
  1392. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/pl.js +0 -6
  1393. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/pt-br.js +0 -6
  1394. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/tr.js +0 -6
  1395. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/ug.js +0 -6
  1396. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/uk.js +0 -6
  1397. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/vi.js +0 -6
  1398. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/lang/zh-cn.js +0 -6
  1399. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/plugin.js +0 -6
  1400. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  1401. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  1402. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  1403. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  1404. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  1405. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -6
  1406. data/public/javascripts/erp_app/ckeditor/plugins/uicolor/yui/yui.js +0 -76
  1407. data/public/javascripts/erp_app/ckeditor/plugins/xml/plugin.js +0 -6
  1408. data/public/javascripts/erp_app/ckeditor/skins/kama/dialog.css +0 -10
  1409. data/public/javascripts/erp_app/ckeditor/skins/kama/editor.css +0 -13
  1410. data/public/javascripts/erp_app/ckeditor/skins/kama/icons.png +0 -0
  1411. data/public/javascripts/erp_app/ckeditor/skins/kama/icons_rtl.png +0 -0
  1412. data/public/javascripts/erp_app/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  1413. data/public/javascripts/erp_app/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  1414. data/public/javascripts/erp_app/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  1415. data/public/javascripts/erp_app/ckeditor/skins/kama/images/mini.gif +0 -0
  1416. data/public/javascripts/erp_app/ckeditor/skins/kama/images/sprites.png +0 -0
  1417. data/public/javascripts/erp_app/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  1418. data/public/javascripts/erp_app/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  1419. data/public/javascripts/erp_app/ckeditor/skins/kama/skin.js +0 -7
  1420. data/public/javascripts/erp_app/ckeditor/skins/kama/templates.css +0 -6
  1421. data/public/javascripts/erp_app/ckeditor/skins/office2003/dialog.css +0 -10
  1422. data/public/javascripts/erp_app/ckeditor/skins/office2003/editor.css +0 -14
  1423. data/public/javascripts/erp_app/ckeditor/skins/office2003/icons.png +0 -0
  1424. data/public/javascripts/erp_app/ckeditor/skins/office2003/icons_rtl.png +0 -0
  1425. data/public/javascripts/erp_app/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  1426. data/public/javascripts/erp_app/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  1427. data/public/javascripts/erp_app/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  1428. data/public/javascripts/erp_app/ckeditor/skins/office2003/images/mini.gif +0 -0
  1429. data/public/javascripts/erp_app/ckeditor/skins/office2003/images/noimage.png +0 -0
  1430. data/public/javascripts/erp_app/ckeditor/skins/office2003/images/sprites.png +0 -0
  1431. data/public/javascripts/erp_app/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  1432. data/public/javascripts/erp_app/ckeditor/skins/office2003/skin.js +0 -6
  1433. data/public/javascripts/erp_app/ckeditor/skins/office2003/templates.css +0 -6
  1434. data/public/javascripts/erp_app/ckeditor/skins/v2/dialog.css +0 -9
  1435. data/public/javascripts/erp_app/ckeditor/skins/v2/editor.css +0 -13
  1436. data/public/javascripts/erp_app/ckeditor/skins/v2/icons.png +0 -0
  1437. data/public/javascripts/erp_app/ckeditor/skins/v2/icons_rtl.png +0 -0
  1438. data/public/javascripts/erp_app/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  1439. data/public/javascripts/erp_app/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  1440. data/public/javascripts/erp_app/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  1441. data/public/javascripts/erp_app/ckeditor/skins/v2/images/mini.gif +0 -0
  1442. data/public/javascripts/erp_app/ckeditor/skins/v2/images/noimage.png +0 -0
  1443. data/public/javascripts/erp_app/ckeditor/skins/v2/images/sprites.png +0 -0
  1444. data/public/javascripts/erp_app/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  1445. data/public/javascripts/erp_app/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  1446. data/public/javascripts/erp_app/ckeditor/skins/v2/skin.js +0 -6
  1447. data/public/javascripts/erp_app/ckeditor/skins/v2/templates.css +0 -6
  1448. data/public/javascripts/erp_app/ckeditor/themes/default/theme.js +0 -8
  1449. data/public/javascripts/erp_app/codemirror/LICENSE +0 -23
  1450. data/public/javascripts/erp_app/codemirror/README.md +0 -8
  1451. data/public/javascripts/erp_app/codemirror/doc/baboon.png +0 -0
  1452. data/public/javascripts/erp_app/codemirror/doc/baboon_vector.svg +0 -153
  1453. data/public/javascripts/erp_app/codemirror/doc/compress.html +0 -165
  1454. data/public/javascripts/erp_app/codemirror/doc/docs.css +0 -165
  1455. data/public/javascripts/erp_app/codemirror/doc/internals.html +0 -497
  1456. data/public/javascripts/erp_app/codemirror/doc/manual.html +0 -1231
  1457. data/public/javascripts/erp_app/codemirror/doc/oldrelease.html +0 -356
  1458. data/public/javascripts/erp_app/codemirror/doc/realworld.html +0 -72
  1459. data/public/javascripts/erp_app/codemirror/doc/reporting.html +0 -60
  1460. data/public/javascripts/erp_app/codemirror/doc/upgrade_v2.2.html +0 -98
  1461. data/public/javascripts/erp_app/codemirror/keymap/emacs.js +0 -29
  1462. data/public/javascripts/erp_app/codemirror/keymap/vim.js +0 -788
  1463. data/public/javascripts/erp_app/codemirror/lib/util/closetag.js +0 -164
  1464. data/public/javascripts/erp_app/codemirror/lib/util/dialog.css +0 -27
  1465. data/public/javascripts/erp_app/codemirror/lib/util/dialog.js +0 -70
  1466. data/public/javascripts/erp_app/codemirror/lib/util/foldcode.js +0 -196
  1467. data/public/javascripts/erp_app/codemirror/lib/util/formatting.js +0 -193
  1468. data/public/javascripts/erp_app/codemirror/lib/util/javascript-hint.js +0 -134
  1469. data/public/javascripts/erp_app/codemirror/lib/util/loadmode.js +0 -51
  1470. data/public/javascripts/erp_app/codemirror/lib/util/match-highlighter.js +0 -44
  1471. data/public/javascripts/erp_app/codemirror/lib/util/multiplex.js +0 -77
  1472. data/public/javascripts/erp_app/codemirror/lib/util/overlay.js +0 -59
  1473. data/public/javascripts/erp_app/codemirror/lib/util/pig-hint.js +0 -123
  1474. data/public/javascripts/erp_app/codemirror/lib/util/runmode-standalone.js +0 -90
  1475. data/public/javascripts/erp_app/codemirror/lib/util/runmode.js +0 -53
  1476. data/public/javascripts/erp_app/codemirror/lib/util/search.js +0 -118
  1477. data/public/javascripts/erp_app/codemirror/lib/util/searchcursor.js +0 -119
  1478. data/public/javascripts/erp_app/codemirror/lib/util/simple-hint.css +0 -16
  1479. data/public/javascripts/erp_app/codemirror/lib/util/simple-hint.js +0 -102
  1480. data/public/javascripts/erp_app/codemirror/lib/util/xml-hint.js +0 -137
  1481. data/public/javascripts/erp_app/codemirror/mode/clike/clike.js +0 -285
  1482. data/public/javascripts/erp_app/codemirror/mode/clike/index.html +0 -102
  1483. data/public/javascripts/erp_app/codemirror/mode/clike/scala.html +0 -766
  1484. data/public/javascripts/erp_app/codemirror/mode/clojure/clojure.js +0 -206
  1485. data/public/javascripts/erp_app/codemirror/mode/clojure/index.html +0 -67
  1486. data/public/javascripts/erp_app/codemirror/mode/coffeescript/LICENSE +0 -22
  1487. data/public/javascripts/erp_app/codemirror/mode/coffeescript/coffeescript.js +0 -346
  1488. data/public/javascripts/erp_app/codemirror/mode/coffeescript/index.html +0 -728
  1489. data/public/javascripts/erp_app/codemirror/mode/commonlisp/commonlisp.js +0 -101
  1490. data/public/javascripts/erp_app/codemirror/mode/commonlisp/index.html +0 -165
  1491. data/public/javascripts/erp_app/codemirror/mode/css/css.js +0 -448
  1492. data/public/javascripts/erp_app/codemirror/mode/css/index.html +0 -58
  1493. data/public/javascripts/erp_app/codemirror/mode/css/test.js +0 -501
  1494. data/public/javascripts/erp_app/codemirror/mode/diff/diff.js +0 -32
  1495. data/public/javascripts/erp_app/codemirror/mode/diff/index.html +0 -105
  1496. data/public/javascripts/erp_app/codemirror/mode/ecl/ecl.js +0 -203
  1497. data/public/javascripts/erp_app/codemirror/mode/ecl/index.html +0 -42
  1498. data/public/javascripts/erp_app/codemirror/mode/erlang/erlang.js +0 -463
  1499. data/public/javascripts/erp_app/codemirror/mode/erlang/index.html +0 -63
  1500. data/public/javascripts/erp_app/codemirror/mode/gfm/gfm.js +0 -94
  1501. data/public/javascripts/erp_app/codemirror/mode/gfm/index.html +0 -71
  1502. data/public/javascripts/erp_app/codemirror/mode/gfm/test.js +0 -225
  1503. data/public/javascripts/erp_app/codemirror/mode/go/go.js +0 -170
  1504. data/public/javascripts/erp_app/codemirror/mode/go/index.html +0 -73
  1505. data/public/javascripts/erp_app/codemirror/mode/groovy/groovy.js +0 -210
  1506. data/public/javascripts/erp_app/codemirror/mode/groovy/index.html +0 -72
  1507. data/public/javascripts/erp_app/codemirror/mode/haskell/haskell.js +0 -242
  1508. data/public/javascripts/erp_app/codemirror/mode/haskell/index.html +0 -61
  1509. data/public/javascripts/erp_app/codemirror/mode/haxe/haxe.js +0 -429
  1510. data/public/javascripts/erp_app/codemirror/mode/haxe/index.html +0 -91
  1511. data/public/javascripts/erp_app/codemirror/mode/htmlembedded/htmlembedded.js +0 -73
  1512. data/public/javascripts/erp_app/codemirror/mode/htmlembedded/index.html +0 -50
  1513. data/public/javascripts/erp_app/codemirror/mode/htmlmixed/htmlmixed.js +0 -84
  1514. data/public/javascripts/erp_app/codemirror/mode/htmlmixed/index.html +0 -52
  1515. data/public/javascripts/erp_app/codemirror/mode/javascript/index.html +0 -85
  1516. data/public/javascripts/erp_app/codemirror/mode/javascript/javascript.js +0 -409
  1517. data/public/javascripts/erp_app/codemirror/mode/javascript/typescript.html +0 -48
  1518. data/public/javascripts/erp_app/codemirror/mode/jinja2/index.html +0 -38
  1519. data/public/javascripts/erp_app/codemirror/mode/jinja2/jinja2.js +0 -42
  1520. data/public/javascripts/erp_app/codemirror/mode/less/index.html +0 -740
  1521. data/public/javascripts/erp_app/codemirror/mode/less/less.js +0 -266
  1522. data/public/javascripts/erp_app/codemirror/mode/lua/index.html +0 -73
  1523. data/public/javascripts/erp_app/codemirror/mode/lua/lua.js +0 -140
  1524. data/public/javascripts/erp_app/codemirror/mode/markdown/index.html +0 -343
  1525. data/public/javascripts/erp_app/codemirror/mode/markdown/markdown.js +0 -481
  1526. data/public/javascripts/erp_app/codemirror/mode/markdown/test.js +0 -1266
  1527. data/public/javascripts/erp_app/codemirror/mode/mysql/index.html +0 -42
  1528. data/public/javascripts/erp_app/codemirror/mode/mysql/mysql.js +0 -186
  1529. data/public/javascripts/erp_app/codemirror/mode/ntriples/index.html +0 -33
  1530. data/public/javascripts/erp_app/codemirror/mode/ntriples/ntriples.js +0 -172
  1531. data/public/javascripts/erp_app/codemirror/mode/ocaml/index.html +0 -130
  1532. data/public/javascripts/erp_app/codemirror/mode/ocaml/ocaml.js +0 -114
  1533. data/public/javascripts/erp_app/codemirror/mode/pascal/LICENSE +0 -7
  1534. data/public/javascripts/erp_app/codemirror/mode/pascal/index.html +0 -49
  1535. data/public/javascripts/erp_app/codemirror/mode/pascal/pascal.js +0 -94
  1536. data/public/javascripts/erp_app/codemirror/mode/perl/LICENSE +0 -19
  1537. data/public/javascripts/erp_app/codemirror/mode/perl/index.html +0 -63
  1538. data/public/javascripts/erp_app/codemirror/mode/perl/perl.js +0 -816
  1539. data/public/javascripts/erp_app/codemirror/mode/php/index.html +0 -49
  1540. data/public/javascripts/erp_app/codemirror/mode/php/php.js +0 -148
  1541. data/public/javascripts/erp_app/codemirror/mode/pig/index.html +0 -43
  1542. data/public/javascripts/erp_app/codemirror/mode/pig/pig.js +0 -172
  1543. data/public/javascripts/erp_app/codemirror/mode/plsql/index.html +0 -63
  1544. data/public/javascripts/erp_app/codemirror/mode/plsql/plsql.js +0 -217
  1545. data/public/javascripts/erp_app/codemirror/mode/properties/index.html +0 -41
  1546. data/public/javascripts/erp_app/codemirror/mode/properties/properties.js +0 -63
  1547. data/public/javascripts/erp_app/codemirror/mode/python/LICENSE.txt +0 -21
  1548. data/public/javascripts/erp_app/codemirror/mode/python/index.html +0 -123
  1549. data/public/javascripts/erp_app/codemirror/mode/python/python.js +0 -338
  1550. data/public/javascripts/erp_app/codemirror/mode/r/LICENSE +0 -24
  1551. data/public/javascripts/erp_app/codemirror/mode/r/index.html +0 -74
  1552. data/public/javascripts/erp_app/codemirror/mode/r/r.js +0 -141
  1553. data/public/javascripts/erp_app/codemirror/mode/rpm/changes/changes.js +0 -19
  1554. data/public/javascripts/erp_app/codemirror/mode/rpm/changes/index.html +0 -54
  1555. data/public/javascripts/erp_app/codemirror/mode/rpm/spec/index.html +0 -100
  1556. data/public/javascripts/erp_app/codemirror/mode/rpm/spec/spec.css +0 -5
  1557. data/public/javascripts/erp_app/codemirror/mode/rpm/spec/spec.js +0 -66
  1558. data/public/javascripts/erp_app/codemirror/mode/rst/index.html +0 -526
  1559. data/public/javascripts/erp_app/codemirror/mode/rst/rst.js +0 -326
  1560. data/public/javascripts/erp_app/codemirror/mode/ruby/LICENSE +0 -24
  1561. data/public/javascripts/erp_app/codemirror/mode/ruby/index.html +0 -172
  1562. data/public/javascripts/erp_app/codemirror/mode/ruby/ruby.js +0 -195
  1563. data/public/javascripts/erp_app/codemirror/mode/rust/index.html +0 -49
  1564. data/public/javascripts/erp_app/codemirror/mode/rust/rust.js +0 -432
  1565. data/public/javascripts/erp_app/codemirror/mode/scheme/index.html +0 -65
  1566. data/public/javascripts/erp_app/codemirror/mode/scheme/scheme.js +0 -230
  1567. data/public/javascripts/erp_app/codemirror/mode/shell/index.html +0 -50
  1568. data/public/javascripts/erp_app/codemirror/mode/shell/shell.js +0 -118
  1569. data/public/javascripts/erp_app/codemirror/mode/sieve/LICENSE +0 -23
  1570. data/public/javascripts/erp_app/codemirror/mode/sieve/index.html +0 -81
  1571. data/public/javascripts/erp_app/codemirror/mode/sieve/sieve.js +0 -156
  1572. data/public/javascripts/erp_app/codemirror/mode/smalltalk/index.html +0 -56
  1573. data/public/javascripts/erp_app/codemirror/mode/smalltalk/smalltalk.js +0 -139
  1574. data/public/javascripts/erp_app/codemirror/mode/smarty/index.html +0 -83
  1575. data/public/javascripts/erp_app/codemirror/mode/smarty/smarty.js +0 -148
  1576. data/public/javascripts/erp_app/codemirror/mode/sparql/index.html +0 -41
  1577. data/public/javascripts/erp_app/codemirror/mode/sparql/sparql.js +0 -143
  1578. data/public/javascripts/erp_app/codemirror/mode/stex/index.html +0 -98
  1579. data/public/javascripts/erp_app/codemirror/mode/stex/stex.js +0 -182
  1580. data/public/javascripts/erp_app/codemirror/mode/stex/test.js +0 -343
  1581. data/public/javascripts/erp_app/codemirror/mode/tiddlywiki/index.html +0 -141
  1582. data/public/javascripts/erp_app/codemirror/mode/tiddlywiki/tiddlywiki.css +0 -14
  1583. data/public/javascripts/erp_app/codemirror/mode/tiddlywiki/tiddlywiki.js +0 -384
  1584. data/public/javascripts/erp_app/codemirror/mode/tiki/index.html +0 -83
  1585. data/public/javascripts/erp_app/codemirror/mode/tiki/tiki.css +0 -26
  1586. data/public/javascripts/erp_app/codemirror/mode/tiki/tiki.js +0 -309
  1587. data/public/javascripts/erp_app/codemirror/mode/vb/LICENSE.txt +0 -21
  1588. data/public/javascripts/erp_app/codemirror/mode/vb/index.html +0 -89
  1589. data/public/javascripts/erp_app/codemirror/mode/vb/vb.js +0 -260
  1590. data/public/javascripts/erp_app/codemirror/mode/vbscript/index.html +0 -43
  1591. data/public/javascripts/erp_app/codemirror/mode/vbscript/vbscript.js +0 -26
  1592. data/public/javascripts/erp_app/codemirror/mode/velocity/index.html +0 -104
  1593. data/public/javascripts/erp_app/codemirror/mode/velocity/velocity.js +0 -146
  1594. data/public/javascripts/erp_app/codemirror/mode/verilog/index.html +0 -211
  1595. data/public/javascripts/erp_app/codemirror/mode/verilog/verilog.js +0 -194
  1596. data/public/javascripts/erp_app/codemirror/mode/xml/index.html +0 -45
  1597. data/public/javascripts/erp_app/codemirror/mode/xml/xml.js +0 -318
  1598. data/public/javascripts/erp_app/codemirror/mode/xquery/LICENSE +0 -20
  1599. data/public/javascripts/erp_app/codemirror/mode/xquery/index.html +0 -223
  1600. data/public/javascripts/erp_app/codemirror/mode/xquery/test/index.html +0 -27
  1601. data/public/javascripts/erp_app/codemirror/mode/xquery/test/testBase.js +0 -42
  1602. data/public/javascripts/erp_app/codemirror/mode/xquery/test/testEmptySequenceKeyword.js +0 -16
  1603. data/public/javascripts/erp_app/codemirror/mode/xquery/test/testMultiAttr.js +0 -16
  1604. data/public/javascripts/erp_app/codemirror/mode/xquery/test/testNamespaces.js +0 -91
  1605. data/public/javascripts/erp_app/codemirror/mode/xquery/test/testProcessingInstructions.js +0 -16
  1606. data/public/javascripts/erp_app/codemirror/mode/xquery/test/testQuotes.js +0 -19
  1607. data/public/javascripts/erp_app/codemirror/mode/xquery/xquery.js +0 -451
  1608. data/public/javascripts/erp_app/codemirror/mode/yaml/index.html +0 -68
  1609. data/public/javascripts/erp_app/codemirror/mode/yaml/yaml.js +0 -95
  1610. data/public/javascripts/erp_app/codemirror/package.json +0 -21
  1611. data/public/javascripts/erp_app/codemirror/test/driver.js +0 -129
  1612. data/public/javascripts/erp_app/codemirror/test/index.html +0 -171
  1613. data/public/javascripts/erp_app/codemirror/test/lint/lint.js +0 -120
  1614. data/public/javascripts/erp_app/codemirror/test/lint/parse-js.js +0 -1372
  1615. data/public/javascripts/erp_app/codemirror/test/mode_test.css +0 -10
  1616. data/public/javascripts/erp_app/codemirror/test/mode_test.js +0 -203
  1617. data/public/javascripts/erp_app/codemirror/test/phantom_driver.js +0 -30
  1618. data/public/javascripts/erp_app/codemirror/test/run.js +0 -32
  1619. data/public/javascripts/erp_app/codemirror/test/test.js +0 -677
  1620. data/public/javascripts/erp_app/desktop/applications/control_panel/application_management_panel.js +0 -109
  1621. data/public/javascripts/erp_app/desktop/applications/control_panel/desktop_management_panel.js +0 -218
  1622. data/public/javascripts/erp_app/organizer/applications/crm/contact_mechanism_grid.js +0 -559
  1623. data/public/javascripts/erp_app/organizer/applications/crm/individual_windows.js +0 -237
  1624. data/public/javascripts/erp_app/organizer/applications/crm/organization_windows.js +0 -167
  1625. data/public/javascripts/erp_app/organizer/applications/crm/party_grid.js +0 -423
  1626. data/public/javascripts/erp_app/organizer/applications/crm/userinfo.js +0 -215
  1627. data/public/javascripts/erp_app/shared/audit_log/audit_log_grid_panel.js +0 -169
  1628. data/public/javascripts/erp_app/shared/audit_log/audit_log_item_grid_panel.js +0 -99
  1629. data/public/javascripts/erp_app/shared/audit_log/audit_log_tab_panel.js +0 -52
  1630. data/public/javascripts/erp_app/shared/coolclock/coolclock.js +0 -314
  1631. data/public/javascripts/erp_app/shared/coolclock/moreskins.js +0 -212
  1632. data/public/javascripts/erp_app/shared/coolclock/tray_clock.js +0 -145
  1633. data/public/javascripts/erp_app/shared/dynamic_forms/dynamic_form_fields.js +0 -99
  1634. data/public/javascripts/erp_app/shared/preference_form.js +0 -155
@@ -1,497 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8"/>
5
- <title>CodeMirror: Internals</title>
6
- <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans:bold"/>
7
- <link rel="stylesheet" type="text/css" href="docs.css"/>
8
- <style>dl dl {margin: 0;} .update {color: #d40 !important}</style>
9
- </head>
10
- <body>
11
-
12
- <h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
13
-
14
- <div class="grey">
15
- <img src="baboon.png" class="logo" alt="logo"/>
16
- <pre>
17
- /* (Re-) Implementing A Syntax-
18
- Highlighting Editor in JavaScript */
19
- </pre>
20
- </div>
21
-
22
- <div class="clear"><div class="leftbig blk">
23
-
24
- <p style="font-size: 85%" id="intro">
25
- <strong>Topic:</strong> JavaScript, code editor implementation<br>
26
- <strong>Author:</strong> Marijn Haverbeke<br>
27
- <strong>Date:</strong> March 2nd 2011 (updated November 13th 2011)
28
- </p>
29
-
30
- <p>This is a followup to
31
- my <a href="http://codemirror.net/story.html">Brutal Odyssey to the
32
- Dark Side of the DOM Tree</a> story. That one describes the
33
- mind-bending process of implementing (what would become) CodeMirror 1.
34
- This one describes the internals of CodeMirror 2, a complete rewrite
35
- and rethink of the old code base. I wanted to give this piece another
36
- Hunter Thompson copycat subtitle, but somehow that would be out of
37
- place—the process this time around was one of straightforward
38
- engineering, requiring no serious mind-bending whatsoever.</p>
39
-
40
- <p>So, what is wrong with CodeMirror 1? I'd estimate, by mailing list
41
- activity and general search-engine presence, that it has been
42
- integrated into about a thousand systems by now. The most prominent
43
- one, since a few weeks,
44
- being <a href="http://googlecode.blogspot.com/2011/01/make-quick-fixes-quicker-on-google.html">Google
45
- code's project hosting</a>. It works, and it's being used widely.</a>
46
-
47
- <p>Still, I did not start replacing it because I was bored. CodeMirror
48
- 1 was heavily reliant on <code>designMode</code>
49
- or <code>contentEditable</code> (depending on the browser). Neither of
50
- these are well specified (HTML5 tries
51
- to <a href="http://www.w3.org/TR/html5/editing.html#contenteditable">specify</a>
52
- their basics), and, more importantly, they tend to be one of the more
53
- obscure and buggy areas of browser functionality—CodeMirror, by using
54
- this functionality in a non-typical way, was constantly running up
55
- against browser bugs. WebKit wouldn't show an empty line at the end of
56
- the document, and in some releases would suddenly get unbearably slow.
57
- Firefox would show the cursor in the wrong place. Internet Explorer
58
- would insist on linkifying everything that looked like a URL or email
59
- address, a behaviour that can't be turned off. Some bugs I managed to
60
- work around (which was often a frustrating, painful process), others,
61
- such as the Firefox cursor placement, I gave up on, and had to tell
62
- user after user that they were known problems, but not something I
63
- could help.</p>
64
-
65
- <p>Also, there is the fact that <code>designMode</code> (which seemed
66
- to be less buggy than <code>contentEditable</code> in Webkit and
67
- Firefox, and was thus used by CodeMirror 1 in those browsers) requires
68
- a frame. Frames are another tricky area. It takes some effort to
69
- prevent getting tripped up by domain restrictions, they don't
70
- initialize synchronously, behave strangely in response to the back
71
- button, and, on several browsers, can't be moved around the DOM
72
- without having them re-initialize. They did provide a very nice way to
73
- namespace the library, though—CodeMirror 1 could freely pollute the
74
- namespace inside the frame.</p>
75
-
76
- <p>Finally, working with an editable document means working with
77
- selection in arbitrary DOM structures. Internet Explorer (8 and
78
- before) has an utterly different (and awkward) selection API than all
79
- of the other browsers, and even among the different implementations of
80
- <code>document.selection</code>, details about how exactly a selection
81
- is represented vary quite a bit. Add to that the fact that Opera's
82
- selection support tended to be very buggy until recently, and you can
83
- imagine why CodeMirror 1 contains 700 lines of selection-handling
84
- code.</p>
85
-
86
- <p>And that brings us to the main issue with the CodeMirror 1
87
- code base: The proportion of browser-bug-workarounds to real
88
- application code was getting dangerously high. By building on top of a
89
- few dodgy features, I put the system in a vulnerable position—any
90
- incompatibility and bugginess in these features, I had to paper over
91
- with my own code. Not only did I have to do some serious stunt-work to
92
- get it to work on older browsers (as detailed in the
93
- previous <a href="http://codemirror.net/story.html">story</a>), things
94
- also kept breaking in newly released versions, requiring me to come up
95
- with <em>new</em> scary hacks in order to keep up. This was starting
96
- to lose its appeal.</p>
97
-
98
- <h2 id="approach">General Approach</h2>
99
-
100
- <p>What CodeMirror 2 does is try to sidestep most of the hairy hacks
101
- that came up in version 1. I owe a lot to the
102
- <a href="http://ace.ajax.org">ACE</a> editor for inspiration on how to
103
- approach this.</p>
104
-
105
- <p>I absolutely did not want to be completely reliant on key events to
106
- generate my input. Every JavaScript programmer knows that key event
107
- information is horrible and incomplete. Some people (most awesomely
108
- Mihai Bazon with <a href="http://ymacs.org">Ymacs</a>) have been able
109
- to build more or less functioning editors by directly reading key
110
- events, but it takes a lot of work (the kind of never-ending, fragile
111
- work I described earlier), and will never be able to properly support
112
- things like multi-keystoke international character
113
- input. <a href="#keymap" class="update">[see below for caveat]</a></p>
114
-
115
- <p>So what I do is focus a hidden textarea, and let the browser
116
- believe that the user is typing into that. What we show to the user is
117
- a DOM structure we built to represent his document. If this is updated
118
- quickly enough, and shows some kind of believable cursor, it feels
119
- like a real text-input control.</p>
120
-
121
- <p>Another big win is that this DOM representation does not have to
122
- span the whole document. Some CodeMirror 1 users insisted that they
123
- needed to put a 30 thousand line XML document into CodeMirror. Putting
124
- all that into the DOM takes a while, especially since, for some
125
- reason, an editable DOM tree is slower than a normal one on most
126
- browsers. If we have full control over what we show, we must only
127
- ensure that the visible part of the document has been added, and can
128
- do the rest only when needed. (Fortunately, the <code>onscroll</code>
129
- event works almost the same on all browsers, and lends itself well to
130
- displaying things only as they are scrolled into view.)</p>
131
-
132
- <h2 id="input">Input</h2>
133
-
134
- <p>ACE uses its hidden textarea only as a text input shim, and does
135
- all cursor movement and things like text deletion itself by directly
136
- handling key events. CodeMirror's way is to let the browser do its
137
- thing as much as possible, and not, for example, define its own set of
138
- key bindings. One way to do this would have been to have the whole
139
- document inside the hidden textarea, and after each key event update
140
- the display DOM to reflect what's in that textarea.</p>
141
-
142
- <p>That'd be simple, but it is not realistic. For even medium-sized
143
- document the editor would be constantly munging huge strings, and get
144
- terribly slow. What CodeMirror 2 does is put the current selection,
145
- along with an extra line on the top and on the bottom, into the
146
- textarea.</p>
147
-
148
- <p>This means that the arrow keys (and their ctrl-variations), home,
149
- end, etcetera, do not have to be handled specially. We just read the
150
- cursor position in the textarea, and update our cursor to match it.
151
- Also, copy and paste work pretty much for free, and people get their
152
- native key bindings, without any special work on my part. For example,
153
- I have emacs key bindings configured for Chrome and Firefox. There is
154
- no way for a script to detect this. <a class="update"
155
- href="#keymap">[no longer the case]</a></p>
156
-
157
- <p>Of course, since only a small part of the document sits in the
158
- textarea, keys like page up and ctrl-end won't do the right thing.
159
- CodeMirror is catching those events and handling them itself.</p>
160
-
161
- <h2 id="selection">Selection</h2>
162
-
163
- <p>Getting and setting the selection range of a textarea in modern
164
- browsers is trivial—you just use the <code>selectionStart</code>
165
- and <code>selectionEnd</code> properties. On IE you have to do some
166
- insane stuff with temporary ranges and compensating for the fact that
167
- moving the selection by a 'character' will treat \r\n as a single
168
- character, but even there it is possible to build functions that
169
- reliably set and get the selection range.</p>
170
-
171
- <p>But consider this typical case: When I'm somewhere in my document,
172
- press shift, and press the up arrow, something gets selected. Then, if
173
- I, still holding shift, press the up arrow again, the top of my
174
- selection is adjusted. The selection remembers where its <em>head</em>
175
- and its <em>anchor</em> are, and moves the head when we shift-move.
176
- This is a generally accepted property of selections, and done right by
177
- every editing component built in the past twenty years.</p>
178
-
179
- <p>But not something that the browser selection APIs expose.</p>
180
-
181
- <p>Great. So when someone creates an 'upside-down' selection, the next
182
- time CodeMirror has to update the textarea, it'll re-create the
183
- selection as an 'upside-up' selection, with the anchor at the top, and
184
- the next cursor motion will behave in an unexpected way—our second
185
- up-arrow press in the example above will not do anything, since it is
186
- interpreted in exactly the same way as the first.</p>
187
-
188
- <p>No problem. We'll just, ehm, detect that the selection is
189
- upside-down (you can tell by the way it was created), and then, when
190
- an upside-down selection is present, and a cursor-moving key is
191
- pressed in combination with shift, we quickly collapse the selection
192
- in the textarea to its start, allow the key to take effect, and then
193
- combine its new head with its old anchor to get the <em>real</em>
194
- selection.</p>
195
-
196
- <p>In short, scary hacks could not be avoided entirely in CodeMirror
197
- 2.</p>
198
-
199
- <p>And, the observant reader might ask, how do you even know that a
200
- key combo is a cursor-moving combo, if you claim you support any
201
- native key bindings? Well, we don't, but we can learn. The editor
202
- keeps a set known cursor-movement combos (initialized to the
203
- predictable defaults), and updates this set when it observes that
204
- pressing a certain key had (only) the effect of moving the cursor.
205
- This, of course, doesn't work if the first time the key is used was
206
- for extending an inverted selection, but it works most of the
207
- time.</p>
208
-
209
- <h2 id="update">Intelligent Updating</h2>
210
-
211
- <p>One thing that always comes up when you have a complicated internal
212
- state that's reflected in some user-visible external representation
213
- (in this case, the displayed code and the textarea's content) is
214
- keeping the two in sync. The naive way is to just update the display
215
- every time you change your state, but this is not only error prone
216
- (you'll forget), it also easily leads to duplicate work on big,
217
- composite operations. Then you start passing around flags indicating
218
- whether the display should be updated in an attempt to be efficient
219
- again and, well, at that point you might as well give up completely.</p>
220
-
221
- <p>I did go down that road, but then switched to a much simpler model:
222
- simply keep track of all the things that have been changed during an
223
- action, and then, only at the end, use this information to update the
224
- user-visible display.</p>
225
-
226
- <p>CodeMirror uses a concept of <em>operations</em>, which start by
227
- calling a specific set-up function that clears the state and end by
228
- calling another function that reads this state and does the required
229
- updating. Most event handlers, and all the user-visible methods that
230
- change state are wrapped like this. There's a method
231
- called <code>operation</code> that accepts a function, and returns
232
- another function that wraps the given function as an operation.</p>
233
-
234
- <p>It's trivial to extend this (as CodeMirror does) to detect nesting,
235
- and, when an operation is started inside an operation, simply
236
- increment the nesting count, and only do the updating when this count
237
- reaches zero again.</p>
238
-
239
- <p>If we have a set of changed ranges and know the currently shown
240
- range, we can (with some awkward code to deal with the fact that
241
- changes can add and remove lines, so we're dealing with a changing
242
- coordinate system) construct a map of the ranges that were left
243
- intact. We can then compare this map with the part of the document
244
- that's currently visible (based on scroll offset and editor height) to
245
- determine whether something needs to be updated.</p>
246
-
247
- <p>CodeMirror uses two update algorithms—a full refresh, where it just
248
- discards the whole part of the DOM that contains the edited text and
249
- rebuilds it, and a patch algorithm, where it uses the information
250
- about changed and intact ranges to update only the out-of-date parts
251
- of the DOM. When more than 30 percent (which is the current heuristic,
252
- might change) of the lines need to be updated, the full refresh is
253
- chosen (since it's faster to do than painstakingly finding and
254
- updating all the changed lines), in the other case it does the
255
- patching (so that, if you scroll a line or select another character,
256
- the whole screen doesn't have to be
257
- re-rendered). <span class="update">[the full-refresh
258
- algorithm was dropped, it wasn't really faster than the patching
259
- one]</span></p>
260
-
261
- <p>All updating uses <code>innerHTML</code> rather than direct DOM
262
- manipulation, since that still seems to be by far the fastest way to
263
- build documents. There's a per-line function that combines the
264
- highlighting, <a href="manual.html#markText">marking</a>, and
265
- selection info for that line into a snippet of HTML. The patch updater
266
- uses this to reset individual lines, the refresh updater builds an
267
- HTML chunk for the whole visible document at once, and then uses a
268
- single <code>innerHTML</code> update to do the refresh.</p>
269
-
270
- <h2 id="parse">Parsers can be Simple</h2>
271
-
272
- <p>When I wrote CodeMirror 1, I
273
- thought <a href="http://codemirror.net/story.html#parser">interruptable
274
- parsers</a> were a hugely scary and complicated thing, and I used a
275
- bunch of heavyweight abstractions to keep this supposed complexity
276
- under control: parsers
277
- were <a href="http://bob.pythonmac.org/archives/2005/07/06/iteration-in-javascript/">iterators</a>
278
- that consumed input from another iterator, and used funny
279
- closure-resetting tricks to copy and resume themselves.</p>
280
-
281
- <p>This made for a rather nice system, in that parsers formed strictly
282
- separate modules, and could be composed in predictable ways.
283
- Unfortunately, it was quite slow (stacking three or four iterators on
284
- top of each other), and extremely intimidating to people not used to a
285
- functional programming style.</p>
286
-
287
- <p>With a few small changes, however, we can keep all those
288
- advantages, but simplify the API and make the whole thing less
289
- indirect and inefficient. CodeMirror
290
- 2's <a href="manual.html#modeapi">mode API</a> uses explicit state
291
- objects, and makes the parser/tokenizer a function that simply takes a
292
- state and a character stream abstraction, advances the stream one
293
- token, and returns the way the token should be styled. This state may
294
- be copied, optionally in a mode-defined way, in order to be able to
295
- continue a parse at a given point. Even someone who's never touched a
296
- lambda in his life can understand this approach. Additionally, far
297
- fewer objects are allocated in the course of parsing now.</p>
298
-
299
- <p>The biggest speedup comes from the fact that the parsing no longer
300
- has to touch the DOM though. In CodeMirror 1, on an older browser, you
301
- could <em>see</em> the parser work its way through the document,
302
- managing some twenty lines in each 50-millisecond time slice it got. It
303
- was reading its input from the DOM, and updating the DOM as it went
304
- along, which any experienced JavaScript programmer will immediately
305
- spot as a recipe for slowness. In CodeMirror 2, the parser usually
306
- finishes the whole document in a single 100-millisecond time slice—it
307
- manages some 1500 lines during that time on Chrome. All it has to do
308
- is munge strings, so there is no real reason for it to be slow
309
- anymore.</p>
310
-
311
- <h2 id="summary">What Gives?</h2>
312
-
313
- <p>Given all this, what can you expect from CodeMirror 2?</p>
314
-
315
- <ul>
316
-
317
- <li><strong>Small.</strong> the base library is
318
- some <span class="update">45k</span> when minified
319
- now, <span class="update">17k</span> when gzipped. It's smaller than
320
- its own logo.</li>
321
-
322
- <li><strong>Lightweight.</strong> CodeMirror 2 initializes very
323
- quickly, and does almost no work when it is not focused. This means
324
- you can treat it almost like a textarea, have multiple instances on a
325
- page without trouble.</li>
326
-
327
- <li><strong>Huge document support.</strong> Since highlighting is
328
- really fast, and no DOM structure is being built for non-visible
329
- content, you don't have to worry about locking up your browser when a
330
- user enters a megabyte-sized document.</li>
331
-
332
- <li><strong>Extended API.</strong> Some things kept coming up in the
333
- mailing list, such as marking pieces of text or lines, which were
334
- extremely hard to do with CodeMirror 1. The new version has proper
335
- support for these built in.</li>
336
-
337
- <li><strong>Tab support.</strong> Tabs inside editable documents were,
338
- for some reason, a no-go. At least six different people announced they
339
- were going to add tab support to CodeMirror 1, none survived (I mean,
340
- none delivered a working version). CodeMirror 2 no longer removes tabs
341
- from your document.</li>
342
-
343
- <li><strong>Sane styling.</strong> <code>iframe</code> nodes aren't
344
- really known for respecting document flow. Now that an editor instance
345
- is a plain <code>div</code> element, it is much easier to size it to
346
- fit the surrounding elements. You don't even have to make it scroll if
347
- you do not <a href="../demo/resize.html">want to</a>.</li>
348
-
349
- </ul>
350
-
351
- <p>On the downside, a CodeMirror 2 instance is <em>not</em> a native
352
- editable component. Though it does its best to emulate such a
353
- component as much as possible, there is functionality that browsers
354
- just do not allow us to hook into. Doing select-all from the context
355
- menu, for example, is not currently detected by CodeMirror.</p>
356
-
357
- <p id="changes" style="margin-top: 2em;"><span style="font-weight:
358
- bold">[Updates from November 13th 2011]</span> Recently, I've made
359
- some changes to the codebase that cause some of the text above to no
360
- longer be current. I've left the text intact, but added markers at the
361
- passages that are now inaccurate. The new situation is described
362
- below.</p>
363
-
364
- <h2 id="btree">Content Representation</h2>
365
-
366
- <p>The original implementation of CodeMirror 2 represented the
367
- document as a flat array of line objects. This worked well—splicing
368
- arrays will require the part of the array after the splice to be
369
- moved, but this is basically just a simple <code>memmove</code> of a
370
- bunch of pointers, so it is cheap even for huge documents.</p>
371
-
372
- <p>However, I recently added line wrapping and code folding (line
373
- collapsing, basically). Once lines start taking up a non-constant
374
- amount of vertical space, looking up a line by vertical position
375
- (which is needed when someone clicks the document, and to determine
376
- the visible part of the document during scrolling) can only be done
377
- with a linear scan through the whole array, summing up line heights as
378
- you go. Seeing how I've been going out of my way to make big documents
379
- fast, this is not acceptable.</p>
380
-
381
- <p>The new representation is based on a B-tree. The leaves of the tree
382
- contain arrays of line objects, with a fixed minimum and maximum size,
383
- and the non-leaf nodes simply hold arrays of child nodes. Each node
384
- stores both the amount of lines that live below them and the vertical
385
- space taken up by these lines. This allows the tree to be indexed both
386
- by line number and by vertical position, and all access has
387
- logarithmic complexity in relation to the document size.</p>
388
-
389
- <p>I gave line objects and tree nodes parent pointers, to the node
390
- above them. When a line has to update its height, it can simply walk
391
- these pointers to the top of the tree, adding or subtracting the
392
- difference in height from each node it encounters. The parent pointers
393
- also make it cheaper (in complexity terms, the difference is probably
394
- tiny in normal-sized documents) to find the current line number when
395
- given a line object. In the old approach, the whole document array had
396
- to be searched. Now, we can just walk up the tree and count the sizes
397
- of the nodes coming before us at each level.</p>
398
-
399
- <p>I chose B-trees, not regular binary trees, mostly because they
400
- allow for very fast bulk insertions and deletions. When there is a big
401
- change to a document, it typically involves adding, deleting, or
402
- replacing a chunk of subsequent lines. In a regular balanced tree, all
403
- these inserts or deletes would have to be done separately, which could
404
- be really expensive. In a B-tree, to insert a chunk, you just walk
405
- down the tree once to find where it should go, insert them all in one
406
- shot, and then break up the node if needed. This breaking up might
407
- involve breaking up nodes further up, but only requires a single pass
408
- back up the tree. For deletion, I'm somewhat lax in keeping things
409
- balanced—I just collapse nodes into a leaf when their child count goes
410
- below a given number. This means that there are some weird editing
411
- patterns that may result in a seriously unbalanced tree, but even such
412
- an unbalanced tree will perform well, unless you spend a day making
413
- strangely repeating edits to a really big document.</p>
414
-
415
- <h2 id="keymap">Keymaps</h2>
416
-
417
- <p><a href="#approach">Above</a>, I claimed that directly catching key
418
- events for things like cursor movement is impractical because it
419
- requires some browser-specific kludges. I then proceeded to explain
420
- some awful <a href="#selection">hacks</a> that were needed to make it
421
- possible for the selection changes to be detected through the
422
- textarea. In fact, the second hack is about as bad as the first.</p>
423
-
424
- <p>On top of that, in the presence of user-configurable tab sizes and
425
- collapsed and wrapped lines, lining up cursor movement in the textarea
426
- with what's visible on the screen becomes a nightmare. Thus, I've
427
- decided to move to a model where the textarea's selection is no longer
428
- depended on.</p>
429
-
430
- <p>So I moved to a model where all cursor movement is handled by my
431
- own code. This adds support for a goal column, proper interaction of
432
- cursor movement with collapsed lines, and makes it possible for
433
- vertical movement to move through wrapped lines properly, instead of
434
- just treating them like non-wrapped lines.</p>
435
-
436
- <p>The key event handlers now translate the key event into a string,
437
- something like <code>Ctrl-Home</code> or <code>Shift-Cmd-R</code>, and
438
- use that string to look up an action to perform. To make keybinding
439
- customizable, this lookup goes through
440
- a <a href="manual.html#option_keyMap">table</a>, using a scheme that
441
- allows such tables to be chained together (for example, the default
442
- Mac bindings fall through to a table named 'emacsy', which defines
443
- basic Emacs-style bindings like <code>Ctrl-F</code>, and which is also
444
- used by the custom Emacs bindings).</p>
445
-
446
- <p>A new
447
- option <a href="manual.html#option_extraKeys"><code>extraKeys</code></a>
448
- allows ad-hoc keybindings to be defined in a much nicer way than what
449
- was possible with the
450
- old <a href="manual.html#option_onKeyEvent"><code>onKeyEvent</code></a>
451
- callback. You simply provide an object mapping key identifiers to
452
- functions, instead of painstakingly looking at raw key events.</p>
453
-
454
- <p>Built-in commands map to strings, rather than functions, for
455
- example <code>"goLineUp"</code> is the default action bound to the up
456
- arrow key. This allows new keymaps to refer to them without
457
- duplicating any code. New commands can be defined by assigning to
458
- the <code>CodeMirror.commands</code> object, which maps such commands
459
- to functions.</p>
460
-
461
- <p>The hidden textarea now only holds the current selection, with no
462
- extra characters around it. This has a nice advantage: polling for
463
- input becomes much, much faster. If there's a big selection, this text
464
- does not have to be read from the textarea every time—when we poll,
465
- just noticing that something is still selected is enough to tell us
466
- that no new text was typed.</p>
467
-
468
- <p>The reason that cheap polling is important is that many browsers do
469
- not fire useful events on IME (input method engine) input, which is
470
- the thing where people inputting a language like Japanese or Chinese
471
- use multiple keystrokes to create a character or sequence of
472
- characters. Most modern browsers fire <code>input</code> when the
473
- composing is finished, but many don't fire anything when the character
474
- is updated <em>during</em> composition. So we poll, whenever the
475
- editor is focused, to provide immediate updates of the display.</p>
476
-
477
- </div><div class="rightsmall blk">
478
-
479
- <h2>Contents</h2>
480
-
481
- <ul>
482
- <li><a href="#intro">Introduction</a></li>
483
- <li><a href="#approach">General Approach</a></li>
484
- <li><a href="#input">Input</a></li>
485
- <li><a href="#selection">Selection</a></li>
486
- <li><a href="#update">Intelligent Updating</a></li>
487
- <li><a href="#parse">Parsing</a></li>
488
- <li><a href="#summary">What Gives?</a></li>
489
- <li><a href="#btree">Content Representation</a></li>
490
- <li><a href="#keymap">Key Maps</a></li>
491
- </ul>
492
-
493
- </div></div>
494
-
495
- <div style="height: 2em">&nbsp;</div>
496
-
497
- </body></html>