erp_app 3.0.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +3 -0
- data/app/controllers/erp_app/application_controller.rb +1 -0
- data/app/controllers/erp_app/desktop/base_controller.rb +1 -1
- data/app/controllers/erp_app/desktop/configuration_management/base_controller.rb +180 -0
- data/app/controllers/erp_app/desktop/configuration_management/options_controller.rb +55 -0
- data/app/controllers/erp_app/desktop/configuration_management/types_controller.rb +129 -0
- data/app/controllers/erp_app/desktop/control_panel/application_management_controller.rb +1 -1
- data/app/controllers/erp_app/desktop/control_panel/desktop_management_controller.rb +1 -1
- data/app/controllers/erp_app/desktop/control_panel/profile_management_controller.rb +14 -16
- data/app/controllers/erp_app/desktop/file_manager/base_controller.rb +5 -7
- data/app/controllers/erp_app/desktop/system_management/application_role_management_controller.rb +1 -1
- data/app/controllers/erp_app/desktop/user_management/application_management_controller.rb +9 -9
- data/app/controllers/erp_app/desktop/user_management/base_controller.rb +1 -1
- data/app/controllers/erp_app/desktop/user_management/role_management_controller.rb +13 -8
- data/app/controllers/erp_app/mobile/base_controller.rb +21 -0
- data/app/controllers/erp_app/mobile/login_controller.rb +11 -0
- data/app/controllers/erp_app/mobile/user_management/base_controller.rb +24 -0
- data/app/controllers/erp_app/organizer/base_controller.rb +6 -5
- data/app/controllers/erp_app/organizer/crm/base_controller.rb +117 -15
- data/app/controllers/erp_app/public_controller.rb +73 -6
- data/app/controllers/erp_app/shared/configuration_controller.rb +53 -0
- data/app/controllers/erp_app/widget_proxy_controller.rb +1 -1
- data/app/models/app_container.rb +8 -2
- data/app/models/application.rb +1 -1
- data/app/models/configuration.rb +129 -0
- data/app/models/configuration_item.rb +45 -0
- data/app/models/configuration_item_type.rb +96 -0
- data/app/models/configuration_item_type_configuration_option.rb +10 -0
- data/app/models/configuration_option.rb +20 -0
- data/app/models/desktop.rb +7 -10
- data/app/models/extensions/user.rb +41 -2
- data/app/models/mobile.rb +10 -0
- data/app/models/mobile_application.rb +6 -0
- data/app/models/organizer.rb +3 -6
- data/app/models/preference.rb +2 -2
- data/app/models/preference_type.rb +1 -1
- data/app/models/user_preference.rb +3 -3
- data/app/models/valid_configuration.rb +4 -0
- data/app/models/valid_preference_type.rb +2 -2
- data/app/observers/user_app_container_observer.rb +7 -2
- data/app/views/erp_app/desktop/base/index.erb +25 -32
- data/app/views/erp_app/login/index.erb +3 -3
- data/app/views/erp_app/mobile/base/index.erb +37 -0
- data/app/views/erp_app/mobile/login/index.erb +22 -0
- data/app/views/erp_app/mobile/user_management/base/index.html.erb +28 -0
- data/app/views/erp_app/organizer/base/get_party_details.erb +19 -0
- data/app/views/erp_app/organizer/base/index.erb +20 -23
- data/app/views/erp_app/widget_proxy/index.erb +1 -1
- data/config/routes.rb +22 -0
- data/db/data_migrations/20110728201729_erp_app_setup.rb +3 -1
- data/db/data_migrations/20120229160222_add_userinfo_widget.rb +30 -0
- data/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.rb +10 -0
- data/db/data_migrations/20120411180756_create_user_management_mobile_application.rb +18 -0
- data/db/data_migrations/20120413000515_create_mobile_containers.rb +13 -0
- data/db/data_migrations/20120418164215_create_configuration_management_desktop_application.rb +22 -0
- data/db/data_migrations/upgrade/20120213182651_add_true_north_background.rb +16 -0
- data/db/migrate/20080805000096_base_app_framework.rb +125 -33
- data/db/migrate/20120316152543_add_is_template_to_configurations.rb +5 -0
- data/db/migrate/20120320182253_update_app_container.rb +20 -0
- data/db/migrate/20120325123722_remove_file_system_loader_column.rb +9 -0
- data/db/migrate/20120411151848_add_base_url_to_application.rb +5 -0
- data/db/migrate/20120427000446_add_user_defined_to_config_option.rb +17 -0
- data/db/migrate/20120429130430_update_configuration_join_tables.rb +16 -0
- data/db/migrate/upgrade/20120208201934_add_configuration_models.rb +109 -0
- data/db/migrate/upgrade/20120209194251_add_user_defined_to_config_type.rb +5 -0
- data/db/migrate/upgrade/20120210172929_add_config_types_to_configs.rb +23 -0
- data/lib/erp_app/application_resource_loader/base_loader.rb +17 -0
- data/lib/erp_app/application_resource_loader/{file_system_loader.rb → desktop_organizer_loader.rb} +15 -29
- data/lib/erp_app/application_resource_loader/mobile_loader.rb +46 -0
- data/lib/erp_app/application_resource_loader/shared_loader.rb +26 -0
- data/lib/erp_app/application_resource_loader.rb +4 -0
- data/lib/erp_app/config.rb +2 -2
- data/lib/erp_app/engine.rb +7 -4
- data/lib/erp_app/extensions/railties/action_view/base.rb +12 -0
- data/lib/erp_app/extensions/railties/action_view/helpers/active_ext_helper.rb +17 -0
- data/lib/erp_app/extensions/railties/action_view/helpers/extjs_helper.rb +45 -0
- data/lib/erp_app/extensions/railties/action_view/helpers/include_helper.rb +134 -0
- data/lib/erp_app/extensions/railties/action_view/helpers/tag_helper.rb +27 -0
- data/lib/erp_app/extensions.rb +1 -2
- data/lib/erp_app/version.rb +8 -1
- data/lib/erp_app/widgets/base.rb +50 -43
- data/lib/erp_app/widgets/javascript_loader.rb +13 -20
- data/lib/erp_app/widgets/loader.rb +126 -0
- data/lib/erp_app/widgets/railties/action_view/base.rb +8 -0
- data/lib/erp_app/widgets/railties/action_view/helpers/widget_helper.rb +57 -0
- data/lib/erp_app/widgets.rb +2 -2
- data/lib/erp_app.rb +3 -1
- data/lib/generators/cms_widget/templates/engine/engine_template.rb +0 -4
- data/lib/generators/cms_widget/templates/javascript/base.js.erb +2 -1
- data/lib/generators/desktop_application/USAGE +1 -1
- data/lib/generators/desktop_application/templates/controllers/controller_template.rb +7 -5
- data/lib/generators/desktop_application/templates/migrate/migration_template.rb +0 -4
- data/lib/generators/mobile_application/USAGE +24 -0
- data/lib/generators/mobile_application/mobile_application_generator.rb +27 -0
- data/lib/generators/mobile_application/templates/INSTALL +25 -0
- data/lib/generators/mobile_application/templates/controllers/controller_template.rb +11 -0
- data/lib/generators/mobile_application/templates/migrate/migration_template.rb +14 -0
- data/lib/generators/mobile_application/templates/public/app.js.erb +35 -0
- data/lib/generators/mobile_application/templates/views/index.html.erb +28 -0
- data/lib/generators/organizer_application/templates/controllers/controller_template.rb +9 -11
- data/public/images/icons/apartment/apartment_16x16.png +0 -0
- data/public/images/icons/apartment/apartment_24x24.png +0 -0
- data/public/images/icons/apartment/apartment_32x32.png +0 -0
- data/public/images/icons/apartment/apartment_48x48.png +0 -0
- data/public/images/wallpaper/truenorth.png +0 -0
- data/public/javascripts/erp_app/authentication/widget_manager.js +23 -2
- data/public/javascripts/erp_app/ckeditor/ckeditor.js +113 -111
- data/public/javascripts/erp_app/ckeditor/contents.css +2 -2
- data/public/javascripts/erp_app/ckeditor/lang/_translationstatus.txt +59 -59
- data/public/javascripts/erp_app/ckeditor/lang/af.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/ar.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/bg.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/bn.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/bs.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/ca.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/cs.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/cy.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/da.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/de.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/el.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/en-au.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/en-ca.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/en-gb.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/en.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/eo.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/es.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/et.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/eu.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/fa.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/fi.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/fo.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/fr-ca.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/fr.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/gl.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/gu.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/he.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/hi.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/hr.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/hu.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/is.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/it.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/ja.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/ka.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/km.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/ko.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/lt.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/lv.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/mn.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/ms.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/nb.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/nl.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/no.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/pl.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/pt-br.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/pt.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/ro.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/ru.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/sk.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/sl.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/sr-latn.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/sr.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/sv.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/th.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/tr.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/uk.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/vi.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/zh-cn.js +1 -1
- data/public/javascripts/erp_app/ckeditor/lang/zh.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/autogrow/plugin.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/docprops/dialogs/docprops.js +2 -2
- data/public/javascripts/erp_app/ckeditor/plugins/find/dialogs/find.js +5 -5
- data/public/javascripts/erp_app/ckeditor/plugins/flash/dialogs/flash.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/image/dialogs/image.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/link/dialogs/link.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/codemirror_config.js +85 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/editor.css +96 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/buttonbg.gif +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/cancel.png +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/highlight.png +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/redo.png +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/reindent.png +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/save.png +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/search.png +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/images/undo.png +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/config/nocolors.css +24 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/LICENSE +23 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/bigtest.html +1296 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/compress.html +169 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/css/csharpcolors.css +60 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/index.html +61 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/js/parsecsharp.js +329 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/csharp/js/tokenizecsharp.js +196 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/LICENSE +24 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/css/freemarkercolors.css +63 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/index.html +75 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/freemarker/js/parsefreemarker.js +380 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/groovy/index.html +57 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/LICENSE +20 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/css/javacolors.css +64 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/index.html +66 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/js/parsejava.js +285 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/java/js/tokenizejava.js +222 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/LICENSE +32 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/css/luacolors.css +63 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/index.html +68 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/lua/js/parselua.js +254 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/LICENSE +23 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/css/ometacolors.css +63 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/index.html +77 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/js/parseometa.js +364 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/ometa/js/tokenizeometa.js +209 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/LICENSE +37 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/css/phpcolors.css +114 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/index.html +310 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/parsephp.js +419 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/parsephphtmlmixed.js +116 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/php/js/tokenizephp.js +1208 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/LICENSE +22 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/css/plsqlcolors.css +57 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/index.html +67 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/plsql/js/parseplsql.js +233 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/LICENSE +32 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/css/pythoncolors.css +58 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/index.html +141 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/python/js/parsepython.js +541 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/css/js-regexcolors.css +214 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/css/regexcolors.css +214 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/index.html +114 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parsejavascript_and_regex.js +91 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parseregex-unicode.js +284 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js/parseregex.js +847 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/regex/js-regex.html +118 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/LICENSE +23 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/css/schemecolors.css +45 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/index.html +82 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/js/parsescheme.js +428 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/scheme/js/tokenizescheme.js +241 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/LICENSE +22 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/css/sqlcolors.css +59 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/index.html +56 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/sql/js/parsesql.js +267 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/LICENSE +13 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors-dark.css +93 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors.css +99 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/css/xqcolors2.css +96 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/index.html +552 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/js/parsexquery.js +234 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/contrib/xquery/js/tokenizexquery.js +457 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/baboon.png +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/baboon_vector.ai +965 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/csscolors.css +55 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/docs.css +158 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/font.js +15 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/jscolors.css +59 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/people.jpg +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/sparqlcolors.css +43 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/css/xmlcolors.css +55 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/csstest.html +60 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/faq.html +86 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/favicon.ico +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/googleb196c451afc2ee11.html +1 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/googlehostedservice.html +1 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/highlight.html +82 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/htmltest.html +53 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/index.html +254 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/codemirror.js +582 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/editor.js +1670 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/highlight.js +68 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/mirrorframe.js +81 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsecss.js +161 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsedummy.js +32 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsehtmlmixed.js +93 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsejavascript.js +359 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsesparql.js +162 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/parsexml.js +291 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/select.js +697 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/stringstream.js +159 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/tokenize.js +57 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/tokenizejavascript.js +174 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/undo.js +413 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/unittests.js +44 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/js/util.js +133 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/jstest.html +56 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/manual.html +806 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/mixedtest.html +52 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/sparqltest.html +41 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/story.html +672 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/unittests.html +125 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/editor/xhtmltest.xhtml +50 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/lang/de.js +20 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/codemirror/lang/en.js +20 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/dialogs/sourcepopup.js +102 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/lang/de.js +9 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/lang/en.js +9 -0
- data/public/javascripts/erp_app/ckeditor/plugins/sourcepopup/plugin.js +27 -0
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/specialchar/lang/en.js +1 -1
- data/public/javascripts/erp_app/ckeditor/plugins/table/dialogs/table.js +4 -4
- data/public/javascripts/erp_app/ckeditor/plugins/wsc/dialogs/wsc.js +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/kama/dialog.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/kama/editor.css +3 -3
- data/public/javascripts/erp_app/ckeditor/skins/office2003/dialog.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/office2003/editor.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/v2/dialog.css +1 -1
- data/public/javascripts/erp_app/ckeditor/skins/v2/editor.css +1 -1
- data/public/javascripts/erp_app/ckeditor/themes/default/theme.js +2 -2
- data/public/javascripts/erp_app/ckeditor_example_config_override.js +44 -0
- data/public/javascripts/erp_app/desktop/applications/configuration_management/configuration_options_panel.js +229 -0
- data/public/javascripts/erp_app/desktop/applications/configuration_management/configuration_tree_panel.js +482 -0
- data/public/javascripts/erp_app/desktop/applications/configuration_management/configuration_types_panel.js +425 -0
- data/public/javascripts/erp_app/desktop/applications/configuration_management/module.js +95 -0
- data/public/javascripts/erp_app/desktop/applications/configuration_management/stores.0.js +68 -0
- data/public/javascripts/erp_app/desktop/applications/control_panel/application_management_panel.js +2 -1
- data/public/javascripts/erp_app/desktop/applications/control_panel/module.js +48 -47
- data/public/javascripts/erp_app/desktop/applications/control_panel/profile_management_panel.js +141 -84
- data/public/javascripts/erp_app/desktop/applications/file_manager/module.js +1 -2
- data/public/javascripts/erp_app/desktop/applications/scaffold/models_tree_panel.js +1 -2
- data/public/javascripts/erp_app/desktop/applications/system_management/application_role_management_panel.js +1 -2
- data/public/javascripts/erp_app/desktop/applications/user_management/module.js +10 -6
- data/public/javascripts/erp_app/desktop/applications/user_management/role_management_panel.js +3 -9
- data/public/javascripts/erp_app/desktop/applications/user_management/user_application_mgt_panel.js +4 -10
- data/public/javascripts/erp_app/ecommerce/credit_card_window.js +1 -1
- data/public/javascripts/erp_app/jquery_support.js +5 -5
- data/public/javascripts/erp_app/login/mobile.js +52 -0
- data/public/javascripts/erp_app/mobile/app.js +46 -0
- data/public/javascripts/erp_app/mobile/applications/user_management/app/model/user.js +14 -0
- data/public/javascripts/erp_app/mobile/applications/user_management/app/store/users.js +19 -0
- data/public/javascripts/erp_app/mobile/applications/user_management/app/view/templates.js +24 -0
- data/public/javascripts/erp_app/mobile/applications/user_management/app.js +168 -0
- data/public/javascripts/erp_app/mobile/mobile_base.js +10 -0
- data/public/javascripts/erp_app/organizer/applications/crm/base.js +415 -117
- data/public/javascripts/erp_app/organizer/applications/crm/contact_mechanism_grid.js +8 -1
- data/public/javascripts/erp_app/organizer/applications/crm/party_grid.js +33 -36
- data/public/javascripts/erp_app/organizer/applications/crm/userinfo.js +215 -0
- data/public/javascripts/erp_app/organizer/layout.js +9 -11
- data/public/javascripts/erp_app/shared/active_ext/active_ext_grid.js +1 -2
- data/public/javascripts/erp_app/shared/active_ext/active_ext_grid_panel.js +2 -3
- data/public/javascripts/erp_app/shared/compass_ckeditor.js +7 -6
- data/public/javascripts/erp_app/shared/compass_codemirror.js +161 -162
- data/public/javascripts/erp_app/shared/configuration/configuration_form.js +278 -0
- data/public/javascripts/erp_app/shared/configuration/configuration_panel.js +109 -0
- data/public/javascripts/erp_app/{coolclock → shared/coolclock}/coolclock.js +0 -0
- data/public/javascripts/erp_app/{coolclock → shared/coolclock}/moreskins.js +0 -0
- data/public/javascripts/erp_app/{coolclock → shared/coolclock}/tray_clock.js +0 -0
- data/public/javascripts/erp_app/shared/dynamic_editable_grid.js +29 -28
- data/public/javascripts/erp_app/shared/dynamic_editable_grid_loader_panel.js +3 -3
- data/public/javascripts/erp_app/shared/file_manager_tree.js +41 -25
- data/public/javascripts/erp_app/shared/file_upload/Ext.ux.AwesomeUploader.js +1 -1
- data/public/javascripts/erp_app/shared/file_upload/Ext.ux.XHRUpload.js +1 -1
- data/public/javascripts/erp_app/shared/file_upload/upload_window.js +245 -242
- data/public/javascripts/erp_app/shared/google_map_panel.js +82 -83
- data/public/javascripts/erp_app/shared/notes_grid.js +1 -2
- data/public/javascripts/erp_app/shared/preference_form.js +3 -5
- data/public/javascripts/erp_app/tinymce/Ext.ux.TinyMCE.js +689 -0
- data/public/javascripts/erp_app/tinymce/center_region.js +611 -0
- data/public/javascripts/erp_app/utility.js +284 -246
- data/public/javascripts/erp_app/widgets.js +39 -35
- data/public/javascripts/extjs/Ext.ux.form.MultiSelect.js +422 -0
- data/public/javascripts/extjs/ext-all-debug.js +15973 -12927
- data/public/javascripts/extjs/ext-all.js +1 -1
- data/public/javascripts/extjs/overrides.js +61 -0
- data/public/javascripts/sencha_touch/sencha-touch-all-debug.js +78370 -0
- data/public/javascripts/sencha_touch/sencha-touch-all.js +15 -0
- data/public/stylesheets/erp_app/mobile/applications/user_management/main.css +5 -0
- data/public/stylesheets/erp_app/mobile/mobile.css +336 -0
- data/public/stylesheets/erp_app/{compass-ext-all.css → shared/compass-ext-all.css} +37 -1
- data/public/stylesheets/extjs/resources/css/ext-all-access.css +1 -1
- data/public/stylesheets/extjs/resources/css/ext-all-gray.css +1 -1
- data/public/stylesheets/extjs/resources/css/ext-all-scoped.css +1 -1
- data/public/stylesheets/extjs/resources/css/ext-all.css +1 -1
- data/public/stylesheets/extjs/resources/css/ext-ie-scoped.css +1 -1
- data/public/stylesheets/extjs/resources/css/ext-ie.css +1 -1
- data/public/stylesheets/extjs/resources/css/ext-sandbox.css +1 -1
- data/public/stylesheets/extjs/resources/css/ext-standard-scoped.css +1 -1
- data/public/stylesheets/extjs/resources/css/ext-standard.css +1 -1
- data/public/stylesheets/extjs/resources/sass/ext-all-access.scss +7 -0
- data/public/stylesheets/extjs/resources/sass/ext-all-gray.scss +6 -0
- data/public/stylesheets/extjs/resources/themes/images/access/boundlist/trigger-arrow.png +0 -0
- data/public/stylesheets/extjs/resources/themes/images/access/grid/refresh-disabled.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/access/tab-bar/{tab-bar-bg.gif → tab-bar-default-bg.gif} +0 -0
- data/public/stylesheets/extjs/resources/themes/images/access/tree/drop-above.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/access/tree/drop-append.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/access/tree/drop-below.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-sides.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/tip/tip-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif +0 -0
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/_all.scss +3 -0
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/_mixins.scss +6 -3
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/core/_core.scss +17 -17
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/core/_reset.scss +17 -7
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/layout/_layout.scss +10 -6
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/mixins/_frame.scss +4 -4
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/mixins/_reset-extras.scss +144 -0
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/mixins/_theme-background-image.scss +8 -4
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_dragdrop.scss +3 -3
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_messagebox.scss +5 -5
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_resizable.scss +6 -6
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_splitter.scss +8 -8
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/util/_tool.scss +1 -1
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/variables/_core.scss +1 -1
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/variables/_menu.scss +1 -0
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_button.scss +38 -27
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_datepicker.scss +7 -7
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_drawcomponent.scss +1 -5
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_grid.scss +56 -57
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_loadmask.scss +1 -1
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_menu.scss +22 -16
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_panel.scss +10 -4
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_progress-bar.scss +2 -1
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_qtip.scss +1 -1
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_slider.scss +9 -11
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_tab.scss +68 -43
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_tabbar.scss +1 -1
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_toolbar.scss +3 -3
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/_tree.scss +48 -31
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_all.scss +4 -2
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_checkbox.scss +3 -2
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_checkboxgroup.scss +3 -2
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_field.scss +3 -3
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_fieldset.scss +1 -5
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_htmleditor.scss +16 -15
- data/public/stylesheets/extjs/resources/themes/stylesheets/ext4/default/widgets/form/_triggerfield.scss +10 -10
- data/public/stylesheets/extjs/resources/themes/templates/resources/sass/config.rb +2 -4
- data/public/stylesheets/extjs/resources/themes/templates/resources/sass/my-ext-theme.scss +1 -0
- data/public/stylesheets/sencha_touch/resources/css/android.css +1 -0
- data/public/stylesheets/sencha_touch/resources/css/apple.css +1 -0
- data/public/stylesheets/sencha_touch/resources/css/bb6.css +1 -0
- data/public/stylesheets/sencha_touch/resources/css/sencha-touch.css +1 -0
- data/public/stylesheets/sencha_touch/resources/css/touch-charts.css +1 -0
- data/public/stylesheets/sencha_touch/resources/css-debug/android.css +6757 -0
- data/public/stylesheets/sencha_touch/resources/css-debug/apple.css +6766 -0
- data/public/stylesheets/sencha_touch/resources/css-debug/bb6.css +6352 -0
- data/public/stylesheets/sencha_touch/resources/css-debug/sencha-touch.css +6755 -0
- data/public/stylesheets/sencha_touch/resources/images/icon1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/images/icon2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/images/icon3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/images/icon4.png +0 -0
- data/public/stylesheets/sencha_touch/resources/images/welcome.png +0 -0
- data/public/stylesheets/sencha_touch/resources/sass/android.scss +37 -0
- data/public/stylesheets/sencha_touch/resources/sass/apple.scss +39 -0
- data/public/stylesheets/sencha_touch/resources/sass/bb6.scss +66 -0
- data/public/stylesheets/sencha_touch/resources/sass/config-debug.rb +11 -0
- data/public/stylesheets/sencha_touch/resources/sass/config.rb +11 -0
- data/public/stylesheets/sencha_touch/resources/sass/sencha-touch.scss +18 -0
- data/public/stylesheets/sencha_touch/resources/themes/compass_init.rb +6 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/check.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/clear_icon.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/disclosure.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/disclosure2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/dotgrid.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/loading.gif +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/action.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/add.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/add1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/add_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/address_book.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/arrow_down.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/arrow_left.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/arrow_right.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/arrow_up.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/at.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/atom.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/attachment.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/attachment2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/attachment3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/attachment_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/backspace.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/battery_full.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/battery_low.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/battery_power.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/blank.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bolt.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bolt_side.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bookmark1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bookmark2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bookmark_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bookmarks.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/briefcase1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/briefcase2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/brightness1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/brightness2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/broadcast.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bug.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bulb.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bullseye1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/bullseye2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/calendar.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/calendar2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/calendar_add.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/card1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/card2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chart1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chart2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chart3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat4.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/chat_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/check_dotted.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/circle.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/circle2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/clash.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_black_upload1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_black_upload2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_bolt.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cloud_download.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/code1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/code2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/code3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compass1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compass2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compass3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/compose_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/contract.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/cube.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/data.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/delete.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/delete1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/delete_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/delete_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_black_landscape.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_compose1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_compose2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_delete.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_down.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_drawer.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_list.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_new.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_send.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/doc_up.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/docs1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/docs2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/docs_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/docs_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/download.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/download1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/download2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/download_screen.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/eject.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/empty1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/empty2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/equalizer1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/equalizer2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/event_complete.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/expand.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/favorites.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/favorites1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/favorites_circle.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/fforward.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/find.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/flag.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/flickr2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_add.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_black_open.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_delete.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_delete2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_lock.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/folder_open2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/font.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/forbidden.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/forward_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/globe1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/globe2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/globe_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/headphones.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/heart.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/heart_circle.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/help.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/help_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/home.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/home2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/hot.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/inbox1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/inbox2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/inbox3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/infinite.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/infinite2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/info.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/info2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/info_plain.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/info_plain2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/json.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/lab.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/layout.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/link1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/link2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/link_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/list.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/locate4.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/lock_closed.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/lock_open.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/look.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/loop.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/loop2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/loop_circle.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/magic.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail4.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mail5.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/maps.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mic.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/minus1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/minus2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/minus_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/minus_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/monitor1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/monitor2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/monitor3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/monitor4.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/more.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/mouse.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/move.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/music1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/music2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/nodes1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/nodes2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/note1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/note2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/note3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/note_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/nuclear.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/organize.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/outbox.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/pause.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone_ring1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/phone_ring2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photo_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photos1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photos2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/photos4.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/piechart.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/play1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/play2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/play_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/play_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/podcast.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/power socket.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/power_on.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/print.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/print2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/quote_black3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/refresh5.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/reply.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/replytoall.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/resize.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/resize_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rewind.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/right.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/right2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/rss_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/screens.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/search.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/search1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/search2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/search_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/server.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/servers.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings10.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings11.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings4.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings5.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings6.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings7.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings8.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings9.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/settings_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/share.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shield1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shield2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shop1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shop2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/shuffle.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_backforth.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_cross.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_leftright.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_leftright2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_split.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_switch.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sign_uturn.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/spaces1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/spaces2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/speedometer1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/speedometer2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/speedometer_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/speedometer_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/star.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/stop.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/stop1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/stop2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/sync.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tabbed_book.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tag.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tag_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tags.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/team.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/team1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/time.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/time_repeat.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/trash.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/trash2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/trash_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tree.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tv.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/tweak.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/twitter1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/twitter2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/up1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/up2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/up_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/upload2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_add.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_business.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_fave.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_list.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_list2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_remote1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_remove2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/user_send.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/video.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/video_black1.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/video_black2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume_down.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume_mute.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/volume_up.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/warming_dotted.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/warning_black.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/wifi.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/wifi2.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/wifi3.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/wifi4.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pictos/window.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/pullarrow.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/select_mask.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/tip.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/tip_horizontal.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/tip_right.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/togglebg.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/togglemask.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/togglethumb.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/togglethumbbg.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/togglethumbmask.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/images/default/trackmask_outer.png +0 -0
- data/public/stylesheets/sencha_touch/resources/themes/lib/theme_images.rb +18 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_all.scss +2 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_core.scss +3 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_global.scss +2 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_mixins.scss +196 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_variables.scss +116 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/_widgets.scss +16 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/core/_core.scss +189 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/core/_layout.scss +362 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/core/_reset.scss +62 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_buttons.scss +354 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_carousel.scss +113 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_form-sliders-basic.scss +102 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_form-sliders.scss +149 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_form.scss +608 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_img.scss +5 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_indexbar.scss +76 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_list.scss +401 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_loading-spinner.scss +121 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_map.scss +11 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_media.scss +21 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_msgbox.scss +94 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_panel.scss +79 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_picker.scss +154 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_sheets.scss +52 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_tabs.scss +269 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_toolbar-forms.scss +182 -0
- data/public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_toolbar.scss +156 -0
- data/public/stylesheets/sencha_touch/resources/themes/templates/project/manifest.rb +1 -0
- data/public/stylesheets/sencha_touch/resources/themes/templates/project/sencha-touch.scss +17 -0
- metadata +3251 -2688
- data/README.rdoc +0 -2
- data/config/initializers/erp_app.rb +0 -4
- data/lib/erp_app/extensions/active_record/acts_as_app_container.rb +0 -72
- data/lib/erp_app/extensions/railties/action_view.rb +0 -110
- data/lib/erp_app/widgets/railties/action_view.rb +0 -36
- data/lib/erp_app/widgets/railties/engine.rb +0 -55
- data/public/images/icons/add/Thumbs.db +0 -0
- data/public/images/icons/calendar/Thumbs.db +0 -0
- data/public/images/icons/copy/Thumbs.db +0 -0
- data/public/images/icons/cut/Thumbs.db +0 -0
- data/public/images/icons/delete/Thumbs.db +0 -0
- data/public/images/icons/edit/Thumbs.db +0 -0
- data/public/images/icons/folder/Thumbs.db +0 -0
- data/public/images/icons/gear/Thumbs.db +0 -0
- data/public/images/icons/globe/Thumbs.db +0 -0
- data/public/images/icons/grid/Thumbs.db +0 -0
- data/public/images/icons/help/Thumbs.db +0 -0
- data/public/images/icons/information/Thumbs.db +0 -0
- data/public/images/icons/key/Thumbs.db +0 -0
- data/public/images/icons/log_out/Thumbs.db +0 -0
- data/public/images/icons/mail/Thumbs.db +0 -0
- data/public/images/icons/new/Thumbs.db +0 -0
- data/public/images/icons/next/Thumbs.db +0 -0
- data/public/images/icons/open/Thumbs.db +0 -0
- data/public/images/icons/paste/Thumbs.db +0 -0
- data/public/images/icons/picture/Thumbs.db +0 -0
- data/public/images/icons/presentation/Thumbs.db +0 -0
- data/public/images/icons/preview/Thumbs.db +0 -0
- data/public/images/icons/previous/Thumbs.db +0 -0
- data/public/images/icons/print/Thumbs.db +0 -0
- data/public/images/icons/properties/Thumbs.db +0 -0
- data/public/images/icons/redo/Thumbs.db +0 -0
- data/public/images/icons/refresh/Thumbs.db +0 -0
- data/public/images/icons/remove/Thumbs.db +0 -0
- data/public/images/icons/rename/Thumbs.db +0 -0
- data/public/images/icons/save/Thumbs.db +0 -0
- data/public/images/icons/search/Thumbs.db +0 -0
- data/public/images/icons/send/Thumbs.db +0 -0
- data/public/images/icons/settings/Thumbs.db +0 -0
- data/public/images/icons/synchronize/Thumbs.db +0 -0
- data/public/images/icons/undo/Thumbs.db +0 -0
- data/public/images/icons/upload/Thumbs.db +0 -0
- data/public/images/icons/user/Thumbs.db +0 -0
- data/public/images/icons/zoom_in/Thumbs.db +0 -0
- data/public/images/icons/zoom_out/Thumbs.db +0 -0
- data/public/javascripts/erp_app/ckeditor/plugins/jwplayer/jwplayer/Thumbs.db +0 -0
- data/public/javascripts/erp_app/shared/ajax_pagination.js +0 -33
- data/public/stylesheets/extjs/resources/themes/images/access/tab-bar/tab-bar-bg.png +0 -0
- data/public/stylesheets/extjs/resources/themes/templates/resources/css/my-ext-theme.css +0 -59
- data/spec/dummy/db/schema.rb +0 -709
- data/spec/dummy/db/spec.sqlite3 +0 -0
- data/spec/dummy/log/RAILS_ENV=spec.log +0 -0
- data/spec/dummy/log/development.log +0 -0
- data/spec/dummy/log/spec.log +0 -52150
@@ -0,0 +1,806 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>CodeMirror: User Manual</title>
|
5
|
+
<link rel="stylesheet" type="text/css" href="css/docs.css"/>
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
|
10
|
+
<h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
|
11
|
+
|
12
|
+
<pre class="grey">
|
13
|
+
<img src="css/baboon.png" class="logo" alt="logo"/>/* User manual and
|
14
|
+
reference guide */
|
15
|
+
</pre>
|
16
|
+
|
17
|
+
<div class="clear"><div class="leftbig blk">
|
18
|
+
|
19
|
+
<h2 id="usage">Basic Usage</h2>
|
20
|
+
|
21
|
+
<p>Inside the editor, the tab key is used to re-indent the current
|
22
|
+
selection (or the current line when nothing is selected), and
|
23
|
+
pressing enter will, apart from inserting a line break,
|
24
|
+
automatically indent the new line. Pressing control-enter will
|
25
|
+
cause the whole buffer to be re-coloured, which can be helpful
|
26
|
+
when some colouring has become out-of-date without the editor
|
27
|
+
noticing it.</p>
|
28
|
+
|
29
|
+
<p>The editor sports an undo/redo system, accessible with
|
30
|
+
control-z (undo) and control-y (redo). Safari will not allow
|
31
|
+
client scripts to capture control-z presses, but you can use
|
32
|
+
control-backspace instead on that browser.</p>
|
33
|
+
|
34
|
+
<p>The key-combination control-[ triggers a paren-blink: If the
|
35
|
+
cursor is directly after a '(', ')', '[', ']', '{', or '}', the
|
36
|
+
editor looks for the matching character, and highlights these
|
37
|
+
characters for a moment. There is an option to enable this to
|
38
|
+
happen any time the user types something or moves the cursor.</p>
|
39
|
+
|
40
|
+
<p>To use CodeMirror in a document, you should add a script tag to
|
41
|
+
load <a href="js/codemirror.js"><code>codemirror.js</code></a>. This
|
42
|
+
adds two objects to your environment, <code>CodeMirror</code> and
|
43
|
+
<code>CodeMirrorConfig</code>. The first is the interface to the
|
44
|
+
editor, the second can be used to configure it. (Note that this is
|
45
|
+
the only name-space pollution you can expect from CodeMirror --
|
46
|
+
all other cruft is kept inside the IFRAMEs that it creates when
|
47
|
+
you open an editor.)</p>
|
48
|
+
|
49
|
+
<p>To add an editor to a document, you must choose a place, a
|
50
|
+
parser, and a style-sheet for it. For example, to append an
|
51
|
+
XML editor to the body of the document, you do:</p>
|
52
|
+
|
53
|
+
<pre class="code">var editor = new CodeMirror(document.body, {
|
54
|
+
parserfile: "parsexml.js",
|
55
|
+
stylesheet: "xmlcolors.css"
|
56
|
+
});</pre>
|
57
|
+
|
58
|
+
<p>The first argument to the <code>CodeMirror</code> constructor
|
59
|
+
can be a DOM node, in which case the editor gets appended to that
|
60
|
+
node, or a function, which will be called with the IFRAME node as
|
61
|
+
argument, and which is expected to place that node somewhere in
|
62
|
+
the document.</p>
|
63
|
+
|
64
|
+
<p>The second (optional) argument is an object that specifies
|
65
|
+
options. A set of default options (see below) is present in the
|
66
|
+
<code>CodeMirrorConfig</code> object, but each instance of the
|
67
|
+
editor can be given a set of specific options to override these
|
68
|
+
defaults. In this case, we specified that the parser should be
|
69
|
+
loaded from the <a
|
70
|
+
href="js/parsexml.js"><code>"parsexml.js"</code></a> file, and
|
71
|
+
that <a href="css/xmlcolors.css"><code>"xmlcolors.css"</code></a>
|
72
|
+
should be used to specify the colours of the code.</p>
|
73
|
+
|
74
|
+
<p>Another example:</p>
|
75
|
+
|
76
|
+
<pre class="code">var editor = new CodeMirror(CodeMirror.replace("inputfield"), {
|
77
|
+
parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
|
78
|
+
path: "lib/codemirror/js/",
|
79
|
+
stylesheet: "lib/codemirror/css/jscolors.css",
|
80
|
+
content: document.getElementById("inputfield").value
|
81
|
+
});</pre>
|
82
|
+
|
83
|
+
<p>Here we use the utility function
|
84
|
+
<code>CodeMirror.replace</code> to create a function that will
|
85
|
+
replace a node in the current document (given either directly or
|
86
|
+
by ID) with the editor. We also select the JavaScript parser this
|
87
|
+
time, and give a <code>path</code> option to tell the editor that
|
88
|
+
its files are not located in the same directory as the current
|
89
|
+
HTML page, but in <code>"lib/codemirror/"</code>.</p>
|
90
|
+
|
91
|
+
<p>There is a function
|
92
|
+
<code>CodeMirror.isProbablySupported()</code> that causes some
|
93
|
+
1998-style browser detection to happen, returning
|
94
|
+
<code>false</code> if CodeMirror is probably not supported on the
|
95
|
+
browser, <code>true</code> if it probably is, and
|
96
|
+
<code>null</code> if it has no idea. As the name suggests, this is
|
97
|
+
not something you can rely on, but it's usually better than
|
98
|
+
nothing.</p>
|
99
|
+
|
100
|
+
<p>Another utility function, <code>CodeMirror.fromTextArea</code>,
|
101
|
+
will, given a textarea node or the id of such a node, hide the
|
102
|
+
textarea and replace it with a CodeMirror frame. If the textarea
|
103
|
+
was part of a form, an <code>onsubmit</code> handler will be
|
104
|
+
registered with this form, which will load the content of the
|
105
|
+
editor into the textarea, so that it can be submitted as normal.
|
106
|
+
This function optionally takes a configuration object as second
|
107
|
+
argument.</p>
|
108
|
+
|
109
|
+
<pre class="code">var editor = CodeMirror.fromTextArea("inputfield", {
|
110
|
+
parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
|
111
|
+
path: "lib/codemirror/js/",
|
112
|
+
stylesheet: "lib/codemirror/css/jscolors.css"
|
113
|
+
});</pre>
|
114
|
+
|
115
|
+
<p>Instances created like this will have a
|
116
|
+
<code>toTextArea()</code> method which removes them and restores
|
117
|
+
the text area they were based on, and a <code>save()</code> method
|
118
|
+
which simply updates the textarea with the content of the
|
119
|
+
editor.</p>
|
120
|
+
|
121
|
+
<p>The reason that the script path has to be configured is that
|
122
|
+
CodeMirror will load in a bunch of extra files when an editor is
|
123
|
+
created (the parser script, among others). To be able to do this,
|
124
|
+
it has to know where to find them. These are all the JavaScript
|
125
|
+
files that are part of CodeMirror itself:</p>
|
126
|
+
|
127
|
+
<dl>
|
128
|
+
<dt><a href="js/codemirror.js"><code>codemirror.js</code></a></dt>
|
129
|
+
<dd>Main interface, takes care of default configuration and the
|
130
|
+
definition of editor frames. Include this in your HTML
|
131
|
+
document.</dd>
|
132
|
+
<dt><a href="js/editor.js"><code>editor.js</code></a></dt> <dd>The
|
133
|
+
code that takes care of reacting to user input, colouring text,
|
134
|
+
and indenting lines.</dd>
|
135
|
+
<dt><a href="js/util.js"><code>util.js</code></a></dt> <dd>A few
|
136
|
+
generic utility functions.</dd>
|
137
|
+
<dt><a
|
138
|
+
href="js/undo.js"><code>undo.js</code></a></dt>
|
139
|
+
<dd>Implements the undo history for the editor.</dd>
|
140
|
+
<dt><a
|
141
|
+
href="js/stringstream.js"><code>stringstream.js</code></a></dt>
|
142
|
+
<dd>Objects for wrapping the textual input to the parser.</dd>
|
143
|
+
<dt><a href="js/select.js"><code>select.js</code></a></dt> <dd>Some
|
144
|
+
helper utilities for working with selected text and cursor
|
145
|
+
positions.</dd>
|
146
|
+
<dt><a href="js/tokenize.js"><code>tokenize.js</code></a></dt>
|
147
|
+
<dd>Helper framework for writing tokenisers.</dd>
|
148
|
+
</dl>
|
149
|
+
|
150
|
+
<p>Most of these are rather full of comments, which can be useful
|
151
|
+
when you are trying to figure out how they work, but wastes a lot
|
152
|
+
of bandwidth in a production system. Take a look at the
|
153
|
+
description of the <code>basefiles</code> option below if you want
|
154
|
+
to concatenate and minimise the library (see the <a href="compress.html">compression API</a>).</p>
|
155
|
+
|
156
|
+
<p>Apart from these, there are files that implement the various
|
157
|
+
parsers. These all start with either <code>parse</code> or
|
158
|
+
<code>tokenize</code>.</p>
|
159
|
+
|
160
|
+
<h2 id="configuration">Configuration</h2>
|
161
|
+
|
162
|
+
<p>There are three ways to configure CodeMirror:</p>
|
163
|
+
|
164
|
+
<ul>
|
165
|
+
<li>If you define a global <code>CodeMirrorConfig</code> object
|
166
|
+
before loading <a
|
167
|
+
href="js/codemirror.js"><code>codemirror.js</code></a>, the
|
168
|
+
configuration options in that object will override the
|
169
|
+
defaults.</li>
|
170
|
+
<li>By assigning to the properties of the
|
171
|
+
<code>CodeMirrorConfig</code> object, configuration defaults can
|
172
|
+
be overridden after loading <a
|
173
|
+
href="js/codemirror.js"><code>codemirror.js</code></a>.</li>
|
174
|
+
<li>The <code>CodeMirror</code> constructor can be given a second
|
175
|
+
argument, an object, which will override some options for just
|
176
|
+
that editor. Options not mentioned in this object will default to
|
177
|
+
the values in the <code>CodeMirrorConfig</code> object.</li>
|
178
|
+
</ul>
|
179
|
+
|
180
|
+
<p>The options that can be specified are these (most have sensible
|
181
|
+
defaults specified in <a
|
182
|
+
href="js/codemirror.js"><code>codemirror.js</code></a>):</p>
|
183
|
+
|
184
|
+
<dl>
|
185
|
+
|
186
|
+
<dt><code>stylesheet</code></dt><dd>The file name of the
|
187
|
+
style-sheet, or style-sheets, that should be used to colour the
|
188
|
+
code in the editor frame. Can be a string or an array of
|
189
|
+
strings. See <a
|
190
|
+
href="css/jscolors.css"><code>jscolors.css</code></a> for an
|
191
|
+
example. The set of active stylesheets can be changed in a
|
192
|
+
running editor with the <code>setStylesheet</code> method, which
|
193
|
+
also takes a string or array of strings as argument.</dd>
|
194
|
+
|
195
|
+
<dt><code>path</code></dt><dd>The path that is prefixed to
|
196
|
+
script file names when they are loaded into an IFRAME. (Note that
|
197
|
+
this is not applied to the style-sheet file name.)</dd>
|
198
|
+
|
199
|
+
<dt><code>parserfile</code></dt><dd>A file name string, or an
|
200
|
+
array of strings that name the files containing the parser. See
|
201
|
+
below for the interface that such a parser should
|
202
|
+
implement.</dd>
|
203
|
+
|
204
|
+
<dt><code>basefiles</code></dt><dd>An array of strings naming
|
205
|
+
the files containing the base CodeMirror functionality. Defaults
|
206
|
+
to <code>["util.js", "stringstream.js", "select.js", "undo.js",
|
207
|
+
"editor.js", "tokenize.js"]</code>, but if you put them all into
|
208
|
+
a single file to reduce latency, or add some functionality, you
|
209
|
+
might have to adjust that.</dd>
|
210
|
+
|
211
|
+
<dt><code>iframeClass</code></dt><dd>Set this to a string to
|
212
|
+
give the IFRAME node created for the editor a custom CSS class.
|
213
|
+
Defaults to <code>null</code>.</dd>
|
214
|
+
|
215
|
+
<dt><code>passDelay</code></dt><dd>Gives the amount of
|
216
|
+
milliseconds between colouring passes. Defaults to 200.</dd>
|
217
|
+
|
218
|
+
<dt><code>passTime</code></dt><dd>Specifies the maximum amount
|
219
|
+
of time that the highlighter will spend in one shot. Setting
|
220
|
+
this too high will cause the editor to 'freeze' the browser for
|
221
|
+
noticeable intervals. Defaults to 50.</dd>
|
222
|
+
|
223
|
+
<dt><code>continuousScanning</code></dt><dd>Configure continuous
|
224
|
+
scanning of the document. When <code>false</code>, scanning is
|
225
|
+
disabled. When set to a number, say <code>N</code>, a
|
226
|
+
'background' process will scan the document for
|
227
|
+
<code>passTime</code> (see above) milliseconds every
|
228
|
+
<code>N</code> milliseconds, regardless of whether anything
|
229
|
+
changed. This makes sure non-local changes propagate through the
|
230
|
+
document, and will help keep everything consistent. It does add
|
231
|
+
extra processing cost, even for an idle editor. Default value is
|
232
|
+
<code>false</code>.</dd>
|
233
|
+
|
234
|
+
<dt><code>autoMatchParens</code></dt><dd>When <code>true</code>,
|
235
|
+
will cause parens to be matched every time a key is pressed or
|
236
|
+
the user clicks on the document. Defaults to <code>false</code>.
|
237
|
+
Might be expensive for big documents.</dd>
|
238
|
+
|
239
|
+
<dt><code>markParen</code>,<code>unmarkParen</code></dt>
|
240
|
+
<dd>Can be used to customise the way brackets are marked (and
|
241
|
+
unmarked) when matched. The simplest way to do this is to simply
|
242
|
+
set <code>markParen</code> to a string, the name of the CSS
|
243
|
+
class that should be added to the bracket elements when they are
|
244
|
+
matched. Alternatively, you can provide an array of two strings,
|
245
|
+
where the first will be used for successful matches, and the
|
246
|
+
second for failing matches. You'll have to include some CSS file
|
247
|
+
(using the <code>stylesheet</code> option) that defines these
|
248
|
+
classes. Alternatively, you can provide both
|
249
|
+
<code>markParen</code> and <code>unmarkParen</code>, and set
|
250
|
+
them to functions that will be called to style the bracket's
|
251
|
+
<code>SPAN</code> elements. Both will get this element as their
|
252
|
+
first argument, and <code>markParen</code> gets a second boolean
|
253
|
+
argument indicating whether a successful match was found. The
|
254
|
+
default behaviour, if these options are not supplied, is to make
|
255
|
+
the brackets bold and green (or red, if not matched).</dd>
|
256
|
+
|
257
|
+
<dt><code>saveFunction</code></dt><dd>If given a function
|
258
|
+
value, that function will be invoked when the user presses
|
259
|
+
control-s. You should advise your Opera users to use
|
260
|
+
control-shift-s instead, since plain control-s will bring up the
|
261
|
+
'save page' dialog. Defaults to <code>null</code>.</dd>
|
262
|
+
|
263
|
+
<dt><code>undoDepth</code></dt><dd>Maximum length of the undo
|
264
|
+
history. Default is 50. This setting is changeable with the
|
265
|
+
<code>setUndoDepth(depth)</code> method on CodeMirror
|
266
|
+
instances.</dd>
|
267
|
+
|
268
|
+
<dt><code>onChange</code></dt><dd>An optional function of zero
|
269
|
+
arguments that gets called whenever the document is changed.
|
270
|
+
Happens at undo-commit time, not instantaniously.</dd>
|
271
|
+
|
272
|
+
<dt><code>undoDelay</code></dt><dd>When nothing is done in the
|
273
|
+
editor for this amount of milliseconds, pending changes get
|
274
|
+
added to the undo history. Setting this lower will give the undo
|
275
|
+
functionality a finer granularity. Defaults to 800.</dd>
|
276
|
+
|
277
|
+
<dt><code>width</code>, <code>height</code></dt><dd>The size of
|
278
|
+
the editor frame, given as a style-sheet quantities (for example
|
279
|
+
<code>"600px"</code> or <code>"100%"</code>). When
|
280
|
+
<code>height</code> is set to <code>dynamic</code>, the editor
|
281
|
+
will automatically resize to fit its contents. In this case, the
|
282
|
+
<code>minHeight</code> option (an integer) is used to determine
|
283
|
+
the minimum height in pixels.</dd>
|
284
|
+
|
285
|
+
<dt><code>disableSpellcheck</code></dt><dd>Should the editor
|
286
|
+
disable spell-checking on browsers that support it (Firefox 2+).
|
287
|
+
Default is <code>true</code>, since for most code spell-checking
|
288
|
+
is useless. Can be changed with the
|
289
|
+
<code>setSpellCheck(on)</code> method.</dd>
|
290
|
+
|
291
|
+
<dt><code>textWrapping</code></dt><dd>Can be used to disable or
|
292
|
+
enable text-wrapping in the editor frame. Default is
|
293
|
+
<code>true</code>. Changeable with the
|
294
|
+
<code>setTextWrapping(on)</code> method.</dd>
|
295
|
+
|
296
|
+
<dt><code>lineNumbers</code></dt><dd>Show line numbers to the
|
297
|
+
left of the editor. This requires you to specify a style for the
|
298
|
+
<code>CodeMirror-line-numbers</code> CSS class (in the outer
|
299
|
+
document) to configure the width, font, colors, etcetera for the
|
300
|
+
line-number DIV. You have to make sure that lines in the
|
301
|
+
numbering element have the same height as lines in the editor.
|
302
|
+
This is most easily done by giving them both the same font and
|
303
|
+
an absolute ('pt' or 'px') font size. This option defaults to
|
304
|
+
<code>false</code>. Changeable with the
|
305
|
+
<code>setLineNumbers(on)</code> method.</dd>
|
306
|
+
|
307
|
+
<dt><code>firstLineNumber</code></dt><dd>When
|
308
|
+
<code>lineNumbers</code> is enabled, this determines the number
|
309
|
+
given to the first line. Default is <code>1</code>.</dd>
|
310
|
+
|
311
|
+
<dt><code>lineNumberDelay</code>,
|
312
|
+
<code>lineNumberTime</code></dt><dd>When both line numbers are
|
313
|
+
and text wrapping are turned on, updating line numbers can be
|
314
|
+
expensive. These settings can be used to control how fast the
|
315
|
+
updating happens ― they work in the same way as
|
316
|
+
<code>passDelay</code> and <code>passTime</code>.</dd>
|
317
|
+
|
318
|
+
<dt><code>onLineNumberClick</code></dt><dd>If given a function
|
319
|
+
value, this function will be called when the user clicks a line
|
320
|
+
number, with the number of the line and the DIV used to display
|
321
|
+
that number as its arguments.</dd>
|
322
|
+
|
323
|
+
<dt><code>styleNumbers</code></dt><dd>A (somewhat awkward) hook
|
324
|
+
that allows your code to change the style of the line numbers
|
325
|
+
for certain lines (to, for example, highlight them). Whenever
|
326
|
+
the line numbers are updated, the function value given through
|
327
|
+
this option is called with three arguments: <code>(numberDIV,
|
328
|
+
lineNode, lineNum)</code>. It can then update the style of the
|
329
|
+
<code>numberDIV</code> element based on either the BR node at
|
330
|
+
the start of the line (<code>lineNode</code>, which is
|
331
|
+
<code>null</code> for the first line), or the actual line number
|
332
|
+
(<code>lineNum</code>). Note that it might get passed DIVs that
|
333
|
+
were already styled before (the DIVs are reused), so it has to
|
334
|
+
'reset' the style to the default for lines that don't need to be
|
335
|
+
styled.</dd>
|
336
|
+
|
337
|
+
<dt><code>indentUnit</code></dt><dd>An integer that specifies
|
338
|
+
the amount of spaces one 'level' of indentation should add.
|
339
|
+
Default is <code>2</code>. Changeable in a running editor using
|
340
|
+
the <code>setIndentUnit(spaces)</code> method.</dd>
|
341
|
+
|
342
|
+
<dt><code>tabMode</code></dt><dd>Determines what the effect of
|
343
|
+
pressing tab is. Possibilities are:
|
344
|
+
<dl>
|
345
|
+
<dt><code>"indent"</code></dt><dd>The default. Causes tab to
|
346
|
+
adjust the indentation of the selection or current line using
|
347
|
+
the parser's rules.</dd>
|
348
|
+
<dt><code>"spaces"</code></dt><dd>Pressing tab simply inserts
|
349
|
+
four spaces.</dd>
|
350
|
+
<dt><code>"default"</code></dt><dd>CodeMirror does not
|
351
|
+
interfere with the tab key, but leaves it to the browser to
|
352
|
+
handle it. Binds shift-space to regular indentation
|
353
|
+
behaviour.</dd>
|
354
|
+
<dt><code>"shift"</code></dt><dd>Pressing tab indents the
|
355
|
+
current line (or selection) one <code>indentUnit</code>
|
356
|
+
deeper, pressing shift-tab, un-indents it.</dd>
|
357
|
+
</dl>
|
358
|
+
This option can be changed at run-time using the
|
359
|
+
<code>setTabMode(mode)</code> method.</dd>
|
360
|
+
|
361
|
+
<dt><code>enterMode</code></dt><dd>Determines how a new line
|
362
|
+
created by pressing enter is indented. Supported modes are:
|
363
|
+
<dl>
|
364
|
+
<dt><code>"indent"</code></dt><dd>The default. Causes the new
|
365
|
+
line to be intented by the rules of the parser.</dd>
|
366
|
+
<dt><code>"keep"</code></dt><dd>Keeps the indentation of the
|
367
|
+
previous line.</dd>
|
368
|
+
<dt><code>"flat"</code></dt><dd>Never indents new lines.</dd>
|
369
|
+
</dl>
|
370
|
+
The <code>setEnterMode</code> method can be used to change this
|
371
|
+
option in a running editor.</dd>
|
372
|
+
|
373
|
+
<dt><code>electricChars</code></dt><dd>A boolean that can be
|
374
|
+
used to turn "electric chars" (characters that cause the current
|
375
|
+
line to be reindented when typed, such as <code>{</code> and
|
376
|
+
<code>}</code> in C-like languages) on and off. Default is
|
377
|
+
on.</dd>
|
378
|
+
|
379
|
+
<dt><code>reindentOnLoad</code></dt><dd>When <code>true</code>,
|
380
|
+
this causes the content of the editor to be reindented
|
381
|
+
immediately when the editor loads. Defaults to
|
382
|
+
<code>false</code>.</dd>
|
383
|
+
|
384
|
+
<dt><code>readOnly</code></dt><dd>When set to <code>true</code>,
|
385
|
+
the document is not editable.</dd>
|
386
|
+
|
387
|
+
<dt><code>domain</code></dt><dd>Can be set to the value
|
388
|
+
<code>document.domain</code> should have inside of the iframe.
|
389
|
+
Used to prevent access issues in IE, where this value isn't
|
390
|
+
automatically inherited by iframes.</dd>
|
391
|
+
|
392
|
+
<dt><code>noScriptCaching</code></dt><dd>The scripts loaded
|
393
|
+
inside the editor frame are not affected by, for example,
|
394
|
+
ctrl-F5 on Firefox, and will often be cached even though you
|
395
|
+
don't want them to. During development, you can set this option
|
396
|
+
to <code>true</code> to cause CodeMirror to add a changing dummy
|
397
|
+
parameter to the script URLs, which will force browsers to
|
398
|
+
reload them every time.</dd>
|
399
|
+
|
400
|
+
<dt><code>onLoad</code></dt><dd>If set to a function, this
|
401
|
+
will be called (with the editor object as its argument) after
|
402
|
+
the editor has finished initialising.</dd>
|
403
|
+
|
404
|
+
<dt><code>onCursorActivity</code></dt><dd>A function that is
|
405
|
+
called every time the cursor moves, with the top-level node that
|
406
|
+
the cursor is inside or next to as an argument. Can be used to
|
407
|
+
have some controls react to the context of the cursor.</dd>
|
408
|
+
|
409
|
+
<dt><code>activeTokens</code></dt><dd>Can be set to a function
|
410
|
+
that will be called with <code>(spanNode, tokenObject,
|
411
|
+
editor)</code> arguments whenever a new token node is being
|
412
|
+
added to the document. Can be used to do things like add event
|
413
|
+
handlers to nodes. Should <em>not</em> change the DOM structure
|
414
|
+
of the node (so no turning the span into a link), since this
|
415
|
+
will greatly confuse the editor.</dd>
|
416
|
+
|
417
|
+
<dt id="parserConfig"><code>parserConfig</code></dt><dd>An
|
418
|
+
object value that is passed along to the parser to configure it.
|
419
|
+
What this object should look like depends on the parser
|
420
|
+
used.</dd>
|
421
|
+
|
422
|
+
<dt><code>content</code></dt><dd>The starting content of the
|
423
|
+
editor. You'll probably not want to provide a global default for
|
424
|
+
this, but add it to the <code>options</code> object passed to
|
425
|
+
individual editors as they are created.</dd>
|
426
|
+
|
427
|
+
</dl>
|
428
|
+
|
429
|
+
<h2 id="parsers">Parsers</h2>
|
430
|
+
|
431
|
+
<p>(If you want to use a CodeMirror parser to highlight a piece of
|
432
|
+
text, without creating an editor, see <a
|
433
|
+
href="highlight.html">this example</a>, and the <code><a
|
434
|
+
href="js/highlight.js">highlight.js</a></code> script.)</p>
|
435
|
+
|
436
|
+
<p>The following parsers come with the distribution of CodeMirror:</p>
|
437
|
+
|
438
|
+
<dl>
|
439
|
+
<dt><code><a href="js/parsexml.js">parsexml.js</a></code> (<a
|
440
|
+
href="htmltest.html">demo</a>)</dt><dd>A HTML/XML parser. Takes
|
441
|
+
a <code>useHTMLKludges</code> configuration option (see the
|
442
|
+
<code><a href="#parserConfig">parserConfig</a></code> option
|
443
|
+
above), which specifies whether the content of the editor is
|
444
|
+
HTML or XML, and things like self-closing tags (<code>br</code>,
|
445
|
+
<code>img</code>) exist. This defaults to <code>true</code>.
|
446
|
+
Example colours for the styles that this parser uses are defined
|
447
|
+
in <code><a
|
448
|
+
href="css/xmlcolors.css">css/xmlcolors.css</a></code>.</dd>
|
449
|
+
|
450
|
+
<dt><code><a
|
451
|
+
href="js/tokenizejavascript.js">tokenizejavascript.js</a></code>,
|
452
|
+
<code><a
|
453
|
+
href="js/parsejavascript.js">parseejavascript.js</a></code> (<a
|
454
|
+
href="jstest.html">demo</a>)</dt><dd>The JavaScript parser.
|
455
|
+
Example colours in <code><a
|
456
|
+
href="css/jscolors.css">css/jscolors.css</a></code>. Takes one
|
457
|
+
configuration option, <code>json</code>, that can be set when
|
458
|
+
the editor content is JSON data. It causes every opening brace
|
459
|
+
to be treated as the start of an object, rather than a
|
460
|
+
block.</dd>
|
461
|
+
|
462
|
+
<dt><code><a href="js/parsecss.js">parsecss.js</a></code> (<a
|
463
|
+
href="csstest.html">demo</a>)</dt><dd>A CSS parser. Styles in
|
464
|
+
<code><a
|
465
|
+
href="css/csscolors.css">css/csscolors.css</a></code></dd>
|
466
|
+
|
467
|
+
<dt><code><a
|
468
|
+
href="js/parsehtmlmixed.js">parsehtmlmixed.js</a></code> (<a
|
469
|
+
href="mixedtest.html">demo</a>)</dt><dd>A mixed-mode HTML
|
470
|
+
parser. By default, requires the XML, JavaScript, and CSS
|
471
|
+
parsers to also be loaded, so your <code>parserfile</code>
|
472
|
+
option looks something like <code>["parsexml.js", "parsecss.js",
|
473
|
+
"tokenizejavascript.js", "parsejavascript.js",
|
474
|
+
"parsehtmlmixed.js"]</code>. This parser accepts a configuration
|
475
|
+
object with a <code>triggers</code> property to configure which
|
476
|
+
parser should be invoked for which tag. The default looks like
|
477
|
+
this (property names are tags, values are parser names):
|
478
|
+
<code>{script: "JSParser", style: "CSSParser"}</code></dd>
|
479
|
+
|
480
|
+
<dt><code><a href="js/parsesparql.js">parsesparql.js</a></code>
|
481
|
+
(<a href="sparqltest.html">demo</a>)</dt><dd>Parses the <a
|
482
|
+
href="http://en.wikipedia.org/wiki/SPARQL">SPARQL</a> query
|
483
|
+
language. Example styles in <code><a
|
484
|
+
href="css/sparqlcolors.css">css/sparqlcolors.css</a></code></dd>
|
485
|
+
|
486
|
+
<dt><code><a
|
487
|
+
href="js/parsedummy.js">parsedummy.js</a></code></dt><dd>A
|
488
|
+
'dummy' parser to make it possible to edit plain text, or
|
489
|
+
documents for which no suitable parser exists.</dd>
|
490
|
+
|
491
|
+
<dt><code><a
|
492
|
+
href="contrib/php/js/parsephp.js">contrib/php/js/parsephp.js</a></code>
|
493
|
+
(<a href="contrib/php/index.html">demo</a>)</dt><dd>PHP parser.
|
494
|
+
There is also <code><a
|
495
|
+
href="contrib/php/js/parsephphtmlmixed.js">contrib/php/js/parsephphtmlmixed.js</a></code>,
|
496
|
+
which wraps this parser to allow mixed-mode HTML + PHP parsing.
|
497
|
+
This one takes a configuration parameter <code>opening</code>,
|
498
|
+
which should contain an array of XML processing instruction
|
499
|
+
openings (<code><?php</code>, <code><?</code> etc) which
|
500
|
+
can be used to open a PHP block. Default is
|
501
|
+
<code>["<?php"]</code>.</dd>
|
502
|
+
|
503
|
+
<dt><code><a
|
504
|
+
href="contrib/python/js/parsepython.js">contrib/python/js/parsepython.js</a></code>
|
505
|
+
(<a href="contrib/python/index.html">demo</a>)</dt><dd>Python
|
506
|
+
parser.</dd>
|
507
|
+
|
508
|
+
<dt><code><a href="contrib/lua/js/parselua.js">contrib/lua/js/parselua.js</a></code>
|
509
|
+
(<a href="contrib/lua/index.html">demo</a>)</dt><dd>Lua
|
510
|
+
parser.</dd>
|
511
|
+
|
512
|
+
</dl>
|
513
|
+
|
514
|
+
<h2 id="programming">Programming Interface</h2>
|
515
|
+
|
516
|
+
<p>To be as flexible as possible, CodeMirror implements a very
|
517
|
+
plain editable field, without any accompanying buttons, bells, and
|
518
|
+
whistles. <code>CodeMirror</code> objects do, however, provide a
|
519
|
+
number of methods and properties that make it possible to add
|
520
|
+
extra functionality around the editor. <a
|
521
|
+
href="js/mirrorframe.js"><code>mirrorframe.js</code></a> provides
|
522
|
+
a basic example of their usage.</p>
|
523
|
+
|
524
|
+
<h3 id="properties">Properties</h3>
|
525
|
+
|
526
|
+
<dl>
|
527
|
+
<dt><code>frame</code></dt><dd>The editable frame.</dd>
|
528
|
+
<dt><code>win</code></dt><dd>The window of the editable frame.
|
529
|
+
Mostly useful for attaching event handlers.</dd>
|
530
|
+
<dt><code>wrapping</code></dt><dd>The <code>DIV</code> element
|
531
|
+
wrapped around the frame. This always has a CSS class of
|
532
|
+
<code>CodeMirror-wrapping</code>.</dd>
|
533
|
+
</dl>
|
534
|
+
|
535
|
+
<h3 id="methods">Methods</h3>
|
536
|
+
|
537
|
+
<dl>
|
538
|
+
<dt><code>getCode()</code> →
|
539
|
+
<code>string</code></dt><dd>Returns the current content of the
|
540
|
+
editor, as a string.</dd>
|
541
|
+
|
542
|
+
<dt><code>setCode(string)</code></dt><dd>Replaces the current
|
543
|
+
content of the editor with the given value.</dd>
|
544
|
+
|
545
|
+
<dt><code>focus()</code></dt><dd>Gives focus to the editor
|
546
|
+
frame.</dd>
|
547
|
+
|
548
|
+
<dt><code>selection()</code> →
|
549
|
+
<code>string</code></dt><dd>Returns the text that is currently
|
550
|
+
selected in the editor.</dd>
|
551
|
+
|
552
|
+
<dt><code>replaceSelection(string)</code></dt><dd>Replaces the
|
553
|
+
currently selected text with the given string. Will also cause
|
554
|
+
the editor frame to gain focus.</dd>
|
555
|
+
|
556
|
+
<dt><code>reindent()</code></dt><dd>Automatically re-indent the
|
557
|
+
whole document.</dd>
|
558
|
+
|
559
|
+
<dt><code>reindentSelection()</code></dt><dd>Automatically
|
560
|
+
re-indent the selected lines.</dd>
|
561
|
+
|
562
|
+
<dt><code>getSearchCursor(pattern, startPos, caseFold)</code>
|
563
|
+
→ <code>cursor</code></dt><dd>The first argument provides
|
564
|
+
the pattern that should be searched for. It can be a string or a
|
565
|
+
regular expression (with the caveat that regexps won't match
|
566
|
+
across line boundaries, whereas strings will). The second
|
567
|
+
determines where to start searching. It can
|
568
|
+
be <code>false</code> (or left off) for the start of the
|
569
|
+
document, <code>true</code> for the current cursor position, or
|
570
|
+
a <code>{line, character}</code> object (as returned
|
571
|
+
by <code>cursorPosition</code>, or created yourself using a line
|
572
|
+
handle and a number) to set a random position. The third
|
573
|
+
argument, a boolean, determines whether the search will be
|
574
|
+
case-sensitive. If it is not provided, the search will only be
|
575
|
+
case-sensitive if the search string contains uppercase
|
576
|
+
characters. Returns an object that provides an interface for
|
577
|
+
searching. Call its <code>findNext()</code> and
|
578
|
+
<code>findPrevious()</code> methods to search for an occurrence.
|
579
|
+
This returns <code>true</code> if something is found, or
|
580
|
+
<code>false</code> if the end or start of the document was
|
581
|
+
reached. When an occurrence has been found, you can call
|
582
|
+
<code>select()</code> to select it, or
|
583
|
+
<code>replace(string)</code> to replace it with a given string
|
584
|
+
(you can use \1 placeholders in this string if you matched a
|
585
|
+
regular expression). To find out where the match was found, call
|
586
|
+
the <code>position()</code> method, which returns a <code>{line,
|
587
|
+
character}</code> object. Note that letting the user change the
|
588
|
+
document, or programmatically changing it in any way except for
|
589
|
+
calling <code>replace</code> on the cursor itself, might cause a
|
590
|
+
cursor object to skip back to the beginning of the
|
591
|
+
document.</dd>
|
592
|
+
|
593
|
+
<dt><code>undo()</code></dt><dd>Undo one changeset, if available.</dd>
|
594
|
+
<dt><code>redo()</code></dt><dd>Redo one changeset, if available.</dd>
|
595
|
+
<dt><code>historySize() → object</code></dt><dd>Get a
|
596
|
+
<code>{undo, redo}</code> object holding the sizes of the undo
|
597
|
+
and redo histories.</dd>
|
598
|
+
<dt><code>clearHistory()</code></dt><dd>Drop all history
|
599
|
+
information.</dd>
|
600
|
+
|
601
|
+
<dt><code>grabKeys(callback, filter)</code></dt><dd>Route
|
602
|
+
keyboard input in the editor to a callback function. This
|
603
|
+
function is given a slightly normalised (see
|
604
|
+
<code>normalizeEvent</code> in <a
|
605
|
+
href="js/util.js"><code>util.js</code></a>) <code>keydown</code>
|
606
|
+
event object. If a second argument is given, this will be used
|
607
|
+
to determine which events to apply the callback to. It should
|
608
|
+
take a key code (as in <code>event.keyCode</code>), and return a
|
609
|
+
boolean, where <code>true</code> means the event should be
|
610
|
+
routed to the callback, and <code>false</code> leaves the key to
|
611
|
+
perform its normal behaviour.</dd>
|
612
|
+
<dt><code>ungrabKeys()</code></dt><dd>Revert the effect of
|
613
|
+
<code>grabKeys</code>.</dd>
|
614
|
+
|
615
|
+
<dt><code>setParser(name, parserConfig)</code></dt><dd>Change
|
616
|
+
the active parser. To use this you'll have to load more than one
|
617
|
+
parser (put the one you want to use as default at the end of the
|
618
|
+
list). Then call this function with a string containing the name
|
619
|
+
of the parser you want to switch to (see the parser script file
|
620
|
+
to find the name, it'll be something like
|
621
|
+
<code>CSSParser</code>). The second argument is optional, and
|
622
|
+
can be used to pass a new parser configuration object.</dd>
|
623
|
+
|
624
|
+
<dt><code>cursorCoords(start)</code></dt><dd>Get the coordinates
|
625
|
+
of the cursor in the editor, relative to the top-left corner of
|
626
|
+
the outer document. Normally returns an object with
|
627
|
+
<code>x</code>, <code>y</code>, and <code>yBot</code> (the
|
628
|
+
bottom of the cursor) properties. May return <code>null</code>
|
629
|
+
if the cursor position could not be determined (for example, if
|
630
|
+
the editor is not focused).</dd>
|
631
|
+
</dl>
|
632
|
+
|
633
|
+
<h3 id="lines">Line Manipulation</h3>
|
634
|
+
|
635
|
+
<p>For detailed interaction with the content of the editor,
|
636
|
+
CodeMirror exposes a line-oriented interface, which allows you to
|
637
|
+
inspect and manipulate the document line by line. Line handles
|
638
|
+
should be considered opaque (they are in fact the <code>BR</code>
|
639
|
+
nodes at the start of the line), except that the value
|
640
|
+
<code>false</code> (but <em>not</em> <code>null</code>) always
|
641
|
+
denotes an invalid value. Since changing the document might cause
|
642
|
+
some line handles to become invalid, every function that takes
|
643
|
+
them as argument can throw
|
644
|
+
<code>CodeMirror.InvalidLineHandle</code>. These are the relevant
|
645
|
+
methods:</p>
|
646
|
+
|
647
|
+
<dl>
|
648
|
+
<dt><code>cursorPosition(start)</code> →
|
649
|
+
<code>object</code></dt><dd>Retrieve a <code>{line,
|
650
|
+
character}</code> object representing the cursor position.
|
651
|
+
<code>start</code> defaults to <code>true</code> and determines
|
652
|
+
if the startpoint or the endpoint of the selection is used.</dd>
|
653
|
+
<dt><code>cursorLine()</code> →
|
654
|
+
<code>handle</code></dt><dd>Returns the line on which the cursor
|
655
|
+
is currently sitting.</dd>
|
656
|
+
<dt><code>firstLine()</code> →
|
657
|
+
<code>handle</code></dt><dd>Get the first line of the
|
658
|
+
document.</dd>
|
659
|
+
<dt><code>lastLine()</code> →
|
660
|
+
<code>handle</code></dt><dd>The last line.</dd>
|
661
|
+
<dt><code>nextLine(handle)</code> →
|
662
|
+
<code>handle</code></dt><dd>Get the line after the given one, or
|
663
|
+
<code>false</code> if that was the last line.</dd>
|
664
|
+
<dt><code>prevLine(handle)</code> →
|
665
|
+
<code>handle</code></dt><dd>Find the line before the given one,
|
666
|
+
return <code>false</code> if that was the first line.</dd>
|
667
|
+
<dt><code>nthLine(number)</code> →
|
668
|
+
<code>handle</code></dt><dd>Find the Nth line of the document.
|
669
|
+
Note that the first line counts as one, not zero. Returns
|
670
|
+
<code>false</code> if there is no such line.</dd>
|
671
|
+
<dt><code>lineContent(handle)</code> →
|
672
|
+
<code>string</code></dt><dd>Retrieve the content of the
|
673
|
+
line.</dd>
|
674
|
+
<dt><code>setLineContent(handle, string)</code></dt><dd>Replace
|
675
|
+
the content of the line with the given string.</dd>
|
676
|
+
<dt><code>removeLine(handle)</code></dt><dd>Remove the given
|
677
|
+
line from the editor. The handle will stay valid after this
|
678
|
+
operation, and now refers to the next line.</dd>
|
679
|
+
<dt><code>lineNumber(handle)</code> →
|
680
|
+
<code>number</code></dt><dd>Ask which line of the document
|
681
|
+
(1-based) the given line is.</dd>
|
682
|
+
<dt><code>jumpToLine(handle)</code></dt><dd>Moves the cursor to
|
683
|
+
the start of the given line.</dd>
|
684
|
+
<dt><code>selectLines(startHandle, startOffset,
|
685
|
+
endHandle, endOffset)</code></dt><dd>Move the selection to a
|
686
|
+
specific point. <code>endHandle</code> and
|
687
|
+
<code>endOffset</code> can be omitted to just place the cursor
|
688
|
+
somewhere without selecting any text.</dd>
|
689
|
+
<dt><code>insertIntoLine(handle, position,
|
690
|
+
text)</code></dt><dd>Insert a piece of text into a line.
|
691
|
+
<code>position</code> can be an integer, specifying the position
|
692
|
+
in the line where the text should be inserted, or the string
|
693
|
+
<code>"end"</code>, for the end of the line.</dd>
|
694
|
+
</dl>
|
695
|
+
|
696
|
+
<h2 id="writeparser">Writing a Parser</h2>
|
697
|
+
|
698
|
+
<p>A parser is implemented by one or more files (see
|
699
|
+
<code>parserfile</code> above) which, when loaded, add a
|
700
|
+
<code>Parser</code> property to the <code>Editor</code> object
|
701
|
+
defined by <a href="js/editor.js"><code>editor.js</code></a>. This
|
702
|
+
object must support the following interface:</p>
|
703
|
+
|
704
|
+
<dl>
|
705
|
+
|
706
|
+
<dt><code>make(stream)</code></dt><dd>A function that, given a
|
707
|
+
string stream (see <a
|
708
|
+
href="js/stringstream.js"><code>stringstream.js</code></a>),
|
709
|
+
creates a parser. The behaviour of this parser is described
|
710
|
+
below.</dd>
|
711
|
+
|
712
|
+
<dt><code>electricChars</code></dt><dd>An optional string
|
713
|
+
containing the characters that, when typed, should cause the
|
714
|
+
indentation of the current line to be recomputed (for example
|
715
|
+
<code>"{}"</code> for c-like languages).</dd>
|
716
|
+
|
717
|
+
<dt><code>configure(object)</code></dt><dd>An optional function
|
718
|
+
that can be used to configure the parser. If it exists, and an
|
719
|
+
editor is given a <code>parserConfig</code> option, it will be
|
720
|
+
called with the value of that option.</dd>
|
721
|
+
|
722
|
+
<dt><code>firstIndentation(chars, current,
|
723
|
+
direction)</code></dt><dd>An optional function that is used to
|
724
|
+
determine the proper indentation of the first line of a
|
725
|
+
document. When not provided, <code>0</code> is used.</dd>
|
726
|
+
</dl>
|
727
|
+
|
728
|
+
<p>When the <code>make</code> method is called with a string
|
729
|
+
stream, it should return a MochiKit-style iterator: an object with
|
730
|
+
a <code>next</code> method, which will raise
|
731
|
+
<code>StopIteration</code> when it is at its end (see <a
|
732
|
+
href="http://bob.pythonmac.org/archives/2005/07/06/iteration-in-javascript/">this</a>
|
733
|
+
for details). This iterator, when called, will consume input from
|
734
|
+
the string stream, and produce a token object.</p>
|
735
|
+
|
736
|
+
<p>Token objects represent a single significant piece of the text
|
737
|
+
that is being edited. A token object must have a
|
738
|
+
<code>value</code> property holding the text it stands for, and a
|
739
|
+
<code>style</code> property with the CSS class that should be used
|
740
|
+
to colour this element. This can be anything, except that any
|
741
|
+
whitespace at the start of a line should <em>always</em> have
|
742
|
+
class <code>"whitespace"</code>: The editor must be able to
|
743
|
+
recognize these when it indents lines. Furthermore, each newline
|
744
|
+
character <em>must</em> have its own separate token, which has an
|
745
|
+
<code>indentation</code> property holding a function that can be
|
746
|
+
used to determine the proper indentation level for the next line.
|
747
|
+
This function optionally takes the text in the first token of the
|
748
|
+
next line, the current indentation of the line, and the
|
749
|
+
'direction' of the indentation as arguments, which it can use to
|
750
|
+
adjust the indentation level. The direction argument is only
|
751
|
+
useful for modes in which lines do not have a fixed indentation,
|
752
|
+
and can be modified by multiple tab presses. It is
|
753
|
+
<code>null</code> for 'default' indentations (like what happens
|
754
|
+
when the user presses enter), <code>true</code> for regular tab
|
755
|
+
presses, and <code>false</code> for control-tab or shift-tab.</p>
|
756
|
+
|
757
|
+
<p>So far this should be pretty easy. The hard part is that this
|
758
|
+
iterator must also have a <code>copy</code> method. This method,
|
759
|
+
called without arguments, returns a function representing the
|
760
|
+
current state of the parser. When this state function is later
|
761
|
+
called with a string stream as its argument, it returns a parser
|
762
|
+
object that resumes parsing using the old state and the new input
|
763
|
+
stream. It may assume that only one parser is active at a time,
|
764
|
+
and can clobber the state of the old parser if it wants.</p>
|
765
|
+
|
766
|
+
<p>For examples, see <a
|
767
|
+
href="js/parsejavascript.js"><code>parsejavascript.js</code></a>,
|
768
|
+
<a href="js/parsexml.js"><code>parsexml.js</code></a>, and <a
|
769
|
+
href="js/parsecss.js"><code>parsecss.js</code></a>.</p>
|
770
|
+
|
771
|
+
</div><div class="rightsmall blk">
|
772
|
+
|
773
|
+
<h2>Contents</h2>
|
774
|
+
|
775
|
+
<ul>
|
776
|
+
<li><a href="#usage">Basic Usage</a></li>
|
777
|
+
<li><a href="#configuration">Configuration</a></li>
|
778
|
+
<li><a href="#parsers">Parsers</a></li>
|
779
|
+
<li><a href="#programming">Programming Interface</a>
|
780
|
+
<ul>
|
781
|
+
<li><a href="#properties">Properties</a></li>
|
782
|
+
<li><a href="#methods">Methods</a></li>
|
783
|
+
<li><a href="#lines">Line Manipulation</a></li>
|
784
|
+
</ul>
|
785
|
+
</li>
|
786
|
+
<li><a href="#writeparser">Writing a Parser</a></li>
|
787
|
+
</ul>
|
788
|
+
|
789
|
+
<h2>Site</h2>
|
790
|
+
|
791
|
+
<ul>
|
792
|
+
<li><a href="index.html">Front Page</a></li>
|
793
|
+
<li><a href="faq.html">FAQ</a></li>
|
794
|
+
<li><a href="http://groups.google.com/group/codemirror">Google Group</a></li>
|
795
|
+
<li><a href="compress.html">Compression Helper</a></li>
|
796
|
+
<li><a href="story.html">War Story</a></li>
|
797
|
+
</ul>
|
798
|
+
|
799
|
+
</div></div>
|
800
|
+
|
801
|
+
<div style="height: 2em"> </div>
|
802
|
+
|
803
|
+
<script type="text/javascript" src="css/font.js"></script>
|
804
|
+
|
805
|
+
</body>
|
806
|
+
</html>
|