sproutcore 1.0.1046 → 1.0.1049.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- data/DISTRIBUTION.yml +7 -1
- data/Gemfile +3 -0
- data/Rakefile +179 -91
- data/VERSION.yml +4 -4
- data/bin/sc-server +1 -2
- data/frameworks/sproutcore/Buildfile +35 -12
- data/frameworks/sproutcore/Gemfile +8 -0
- data/frameworks/sproutcore/Gemfile.lock +33 -0
- data/frameworks/sproutcore/README.md +68 -0
- data/frameworks/sproutcore/apps/docs/english.lproj/loading.rhtml +1 -1
- data/frameworks/sproutcore/apps/greenhouse/README +25 -0
- data/frameworks/sproutcore/apps/greenhouse/TODO +72 -0
- data/frameworks/sproutcore/apps/greenhouse/beautify.js +1058 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/design.js +20 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/file.js +75 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/files.js +40 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/layout.js +53 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/library.js +243 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/page.js +18 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/property.js +19 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/property_editor.js +17 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/target.js +20 -0
- data/frameworks/sproutcore/apps/greenhouse/controllers/targets.js +43 -0
- data/frameworks/sproutcore/apps/greenhouse/core.js +67 -0
- data/frameworks/sproutcore/apps/greenhouse/core_file.js +124 -0
- data/frameworks/sproutcore/apps/greenhouse/data_source.js +250 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/app_page.js +377 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/app-selector.css +111 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/button.css +310 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/dock.css +85 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/general.css +52 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/main-page.css +120 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/menu.css +52 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/modal.css +40 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/picker.css +188 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/search.css +60 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/tabbed.css +68 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/css/text-field.css +67 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/dialogs.js +278 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500.eot +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500.otf +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500.woff +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500_italic.eot +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500_italic.otf +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/fonts/museosans_500_italic.woff +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/app-selector/choose-app.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/app-selector/list-item-sel.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/active-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/regular-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/regular-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule-xl/regular-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/disabled-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/disabled-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/regular-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/regular-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/capsule/sel-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/active-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-sel-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/cap-sel-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/disabled-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/disabled-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/disabled-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/regular-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/regular-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/regular-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-active-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-disabled-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-disabled-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-disabled-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/dark/sel-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/active-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/disabled-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/regular-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/sel-active-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/sel-disabled-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/shared/sel-m.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/disabled-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/disabled-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/regular-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/regular-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-active-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-active-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-disabled-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-disabled-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/buttons/square/sel-r.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/actions-active.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/actions.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/inspector-active.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/inspector.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/library-active.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/library.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/projects-active.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/projects.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/run-active.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/run.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/save-active.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/icons/save.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/logos/greenhouse-l.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/logos/greenhouse-s.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/logos/sproutcore.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/main-bg.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/bottom-left.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/bottom-right.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/bottom.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/close-active.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/close.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/left.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/pointer-bottom.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/pointer-left.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/pointer-right.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/pointer-top.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/right.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/search-active.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/search.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/top-left.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/top-right.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/picker/top.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/images/toolbar-bg.png +0 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/inspectors.js +365 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/loading.rhtml +9 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/main_page.js +95 -0
- data/frameworks/sproutcore/apps/greenhouse/english.lproj/strings.js +84 -0
- data/frameworks/sproutcore/apps/greenhouse/fixtures/file.js +35 -0
- data/frameworks/sproutcore/apps/greenhouse/main.js +28 -0
- data/frameworks/sproutcore/apps/greenhouse/mixins/drop_down.js +97 -0
- data/frameworks/sproutcore/apps/greenhouse/models/design.js +22 -0
- data/frameworks/sproutcore/apps/greenhouse/models/dir.js +92 -0
- data/frameworks/sproutcore/apps/greenhouse/models/file.js +51 -0
- data/frameworks/sproutcore/apps/greenhouse/models/target.js +82 -0
- data/frameworks/sproutcore/apps/greenhouse/models/view_config.js +49 -0
- data/frameworks/sproutcore/apps/greenhouse/resources/test_page.js +37 -0
- data/frameworks/sproutcore/apps/greenhouse/states/inspector.js +144 -0
- data/frameworks/sproutcore/apps/greenhouse/states/library.js +133 -0
- data/frameworks/sproutcore/apps/greenhouse/states/main.js +223 -0
- data/frameworks/sproutcore/apps/greenhouse/states/modals.js +281 -0
- data/frameworks/sproutcore/apps/greenhouse/states/ready.js +197 -0
- data/frameworks/sproutcore/apps/greenhouse/tests/controllers/design.js +15 -0
- data/frameworks/sproutcore/apps/greenhouse/tests/controllers/designs.js +15 -0
- data/frameworks/sproutcore/apps/greenhouse/tests/controllers/file.js +15 -0
- data/frameworks/sproutcore/apps/greenhouse/tests/controllers/files.js +15 -0
- data/frameworks/sproutcore/apps/greenhouse/tests/models/file.js +15 -0
- data/frameworks/sproutcore/apps/greenhouse/tests/models/view_config.js +15 -0
- data/frameworks/sproutcore/apps/greenhouse/tests/views/list_item.js +15 -0
- data/frameworks/sproutcore/apps/greenhouse/views/anchor.js +277 -0
- data/frameworks/sproutcore/apps/greenhouse/views/application_list_item.js +19 -0
- data/frameworks/sproutcore/apps/greenhouse/views/event_blocker.js +32 -0
- data/frameworks/sproutcore/apps/greenhouse/views/label_designer.js +16 -0
- data/frameworks/sproutcore/apps/greenhouse/views/list_item.js +42 -0
- data/frameworks/sproutcore/apps/greenhouse/views/plist_item.js +39 -0
- data/frameworks/sproutcore/apps/greenhouse/views/simple_button.js +157 -0
- data/frameworks/sproutcore/apps/greenhouse/views/tear_off_picker.js +56 -0
- data/frameworks/sproutcore/apps/greenhouse/views/web.js +44 -0
- data/frameworks/sproutcore/apps/test_controls/Buildfile +0 -0
- data/frameworks/sproutcore/apps/test_controls/controllers/categories.js +108 -0
- data/frameworks/sproutcore/apps/test_controls/controllers/category.js +31 -0
- data/frameworks/sproutcore/apps/test_controls/core.js +29 -0
- data/frameworks/sproutcore/apps/test_controls/main.js +14 -0
- data/frameworks/sproutcore/apps/test_controls/resources/buttons_page.js +124 -0
- data/frameworks/sproutcore/apps/test_controls/resources/checkboxes_page.js +45 -0
- data/frameworks/sproutcore/apps/test_controls/resources/flow_layout_page.js +77 -0
- data/frameworks/sproutcore/apps/test_controls/resources/list_page.js +40 -0
- data/frameworks/sproutcore/apps/test_controls/resources/loading.rhtml +9 -0
- data/frameworks/sproutcore/apps/test_controls/resources/main_page.css +54 -0
- data/frameworks/sproutcore/apps/test_controls/resources/main_page.js +136 -0
- data/frameworks/sproutcore/apps/test_controls/resources/progress_page.js +42 -0
- data/frameworks/sproutcore/apps/test_controls/resources/radio_page.js +41 -0
- data/frameworks/sproutcore/apps/test_controls/resources/scroll_page.js +76 -0
- data/frameworks/sproutcore/apps/test_controls/resources/segmented_page.js +75 -0
- data/frameworks/sproutcore/apps/test_controls/resources/select_page.js +60 -0
- data/frameworks/sproutcore/apps/test_controls/resources/sliders_page.js +53 -0
- data/frameworks/sproutcore/apps/test_controls/resources/strings.js +50 -0
- data/frameworks/sproutcore/apps/test_controls/resources/tab_page.js +15 -0
- data/frameworks/sproutcore/apps/test_controls/resources/text_field_page.js +40 -0
- data/frameworks/sproutcore/apps/tests/core.js +1 -1
- data/frameworks/sproutcore/apps/tests/english.lproj/loading.rhtml +1 -1
- data/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +2 -2
- data/frameworks/sproutcore/apps/tests/main.js +0 -1
- data/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
- data/frameworks/sproutcore/apps/tests/states/ready.js +1 -1
- data/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
- data/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
- data/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
- data/frameworks/sproutcore/apps/tests/states/ready_loading.js +1 -1
- data/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
- data/frameworks/sproutcore/apps/tests/states/start.js +1 -1
- data/frameworks/sproutcore/apps/welcome/controllers/targets.js +7 -0
- data/frameworks/sproutcore/apps/welcome/core.js +1 -1
- data/frameworks/sproutcore/apps/welcome/english.lproj/images/main-bg.png +0 -0
- data/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +24 -6
- data/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +36 -46
- data/frameworks/sproutcore/bin/edit_json.rb +14 -0
- data/frameworks/sproutcore/bin/erubis +14 -0
- data/frameworks/sproutcore/bin/prettify_json.rb +14 -0
- data/frameworks/sproutcore/bin/rackup +14 -0
- data/frameworks/sproutcore/bin/rake2thor +14 -0
- data/frameworks/sproutcore/bin/sc-build +14 -0
- data/frameworks/sproutcore/bin/sc-build-number +14 -0
- data/frameworks/sproutcore/bin/sc-docs +14 -0
- data/frameworks/sproutcore/bin/sc-gen +14 -0
- data/frameworks/sproutcore/bin/sc-init +14 -0
- data/frameworks/sproutcore/bin/sc-manifest +14 -0
- data/frameworks/sproutcore/bin/sc-server +14 -0
- data/frameworks/sproutcore/bin/sproutcore +14 -0
- data/frameworks/sproutcore/bin/thin +14 -0
- data/frameworks/sproutcore/bin/thor +14 -0
- data/frameworks/sproutcore/design/greenhouse-statechart.graffle +9025 -0
- data/frameworks/sproutcore/design/greenhouse-statechart.pdf +0 -0
- data/frameworks/sproutcore/design/iphone-webapp-loading.psd +0 -0
- data/frameworks/sproutcore/frameworks/animation/core.js +349 -116
- data/frameworks/sproutcore/frameworks/animation/tests/core.js +78 -16
- data/frameworks/sproutcore/frameworks/bootstrap/core.js +1 -1
- data/frameworks/sproutcore/frameworks/bootstrap/setup_body_class_names.js +3 -1
- data/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +5 -4
- data/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +5 -2
- data/frameworks/sproutcore/frameworks/core_tools/data_source.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/core.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/debug/json.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/debug/standard_setup.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +122 -0
- data/frameworks/sproutcore/frameworks/datastore/models/child_record.js +105 -0
- data/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +81 -0
- data/frameworks/sproutcore/frameworks/datastore/models/fetched_attribute.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/models/record.js +247 -82
- data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +27 -13
- data/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/system/child_array.js +242 -0
- data/frameworks/sproutcore/frameworks/datastore/system/many_array.js +3 -3
- data/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +34 -18
- data/frameworks/sproutcore/frameworks/datastore/system/query.js +124 -47
- data/frameworks/sproutcore/frameworks/datastore/system/record_array.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/system/store.js +106 -22
- data/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/integration/contact_model.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/integration/cyclical_relationship.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/integration/mail_model.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/integration/test_runner_model.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +12 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +235 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +337 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +421 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +304 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/parentless.js +134 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/error_methods.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +30 -2
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/storeDidChangeProperties.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/unknownProperty.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +35 -4
- data/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +49 -2
- data/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/core_methods.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/dataHashDidChange.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readEditableDataHash.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/removeDataHash.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/writeDataHash.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/builders.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +15 -2
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/contains.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/containsRecordTypes.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/copy.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation_of_records.js +2 -2
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/expandedRecordTypes.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +15 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/queryWithScope.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/error_methods.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +2 -2
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +15 -2
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/error_methods.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/init.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +6 -6
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/readEditableDataHash.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/removeDataHash.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/retrieveRecord.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/writeDataHash.js +1 -1
- data/frameworks/sproutcore/frameworks/datejs/core.js +1 -1
- data/frameworks/sproutcore/frameworks/datejs/extras.js +1 -1
- data/frameworks/sproutcore/frameworks/debug/core.js +13 -2
- data/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +40 -25
- data/frameworks/sproutcore/frameworks/designer/coders/design.js +1 -10
- data/frameworks/sproutcore/frameworks/designer/coders/localization.js +0 -8
- data/frameworks/sproutcore/frameworks/designer/controllers/controllers.js +16 -0
- data/frameworks/sproutcore/frameworks/designer/controllers/design.js +37 -0
- data/frameworks/sproutcore/frameworks/designer/controllers/designs.js +134 -0
- data/frameworks/sproutcore/frameworks/designer/controllers/page_design.js +44 -1
- data/frameworks/sproutcore/frameworks/designer/controllers/page_files.js +22 -0
- data/frameworks/sproutcore/frameworks/designer/core.js +16 -0
- data/frameworks/sproutcore/frameworks/designer/css/css_rule.js +1 -1
- data/frameworks/sproutcore/frameworks/designer/css/css_style.js +1 -1
- data/frameworks/sproutcore/frameworks/designer/css/css_style_sheet.js +1 -1
- data/frameworks/sproutcore/frameworks/designer/{views → designers}/button.js +2 -2
- data/frameworks/sproutcore/frameworks/designer/{views → designers}/label.js +1 -1
- data/frameworks/sproutcore/frameworks/designer/designers/object_designer.js +296 -0
- data/frameworks/sproutcore/frameworks/designer/{views → designers}/tab.js +3 -1
- data/frameworks/sproutcore/frameworks/designer/designers/text_field.js +15 -0
- data/frameworks/sproutcore/frameworks/designer/{views/designer.js → designers/view_designer.js} +282 -22
- data/frameworks/sproutcore/frameworks/designer/english.lproj/css/designer.css +96 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/design_page.js +55 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/high_light.css +10 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/controller.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/dock-bg.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/dock-item-bg.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/dock-item-divider.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/dock-item-sel-bg.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/dock-item-sel-divider.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/main-bg.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/page.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/pane.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/english.lproj/images/view.png +0 -0
- data/frameworks/sproutcore/frameworks/designer/ext/object.js +26 -0
- data/frameworks/sproutcore/frameworks/designer/ext/page.js +1 -1
- data/frameworks/sproutcore/frameworks/designer/ext/view.js +16 -0
- data/frameworks/sproutcore/frameworks/designer/mixins/snap_lines.js +221 -0
- data/frameworks/sproutcore/frameworks/designer/views/designer_drop_target.js +138 -0
- data/frameworks/sproutcore/frameworks/designer/views/drawing.js +219 -0
- data/frameworks/sproutcore/frameworks/designer/views/high_light.js +66 -0
- data/frameworks/sproutcore/frameworks/designer/views/page_item_view.js +130 -0
- data/frameworks/sproutcore/frameworks/designer/views/selection_handles.js +1 -0
- data/frameworks/sproutcore/frameworks/desktop/core.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +1 -1
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/disclosure.css +7 -11
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/cap.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/downbutton.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/thumb-bottom.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/thumb-center.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/thumb-top.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/track.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/upbutton.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +27 -3
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu.css +3 -5
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +18 -39
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/progress.css +2 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +30 -38
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +7 -5
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/split.css +0 -70
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/split_divider.css +0 -3
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/tab.css +0 -1
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/video.css +3 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/border.js +108 -23
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +681 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_group.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +130 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +6 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +8 -7
- data/frameworks/sproutcore/frameworks/desktop/panes/menu.js +944 -501
- data/frameworks/sproutcore/frameworks/desktop/panes/modal.js +4 -1
- data/frameworks/sproutcore/frameworks/desktop/panes/palette.js +10 -1
- data/frameworks/sproutcore/frameworks/desktop/panes/panel.js +5 -22
- data/frameworks/sproutcore/frameworks/desktop/panes/picker.js +268 -56
- data/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +249 -110
- data/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +93 -33
- data/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +9 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/button.js +147 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/checkbox.js +87 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/checkbox_control.js +103 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/disclosure.js +82 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/disclosure_control.js +103 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/image_button.js +33 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/list_item.js +334 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/masterDetail.js +23 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/panel.js +34 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/picker.js +50 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/segment.js +79 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/segmented.js +172 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/slider.js +86 -0
- data/frameworks/sproutcore/frameworks/desktop/renderers/workspace.js +22 -0
- data/frameworks/sproutcore/frameworks/desktop/system/drag.js +85 -51
- data/frameworks/sproutcore/frameworks/desktop/tests/datetime_recordattribute.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +96 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +4 -4
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +113 -35
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +215 -51
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/pane_page.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +3 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +2 -2
- data/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +28 -4
- data/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +32 -12
- data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +17 -24
- data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +14 -18
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/displayProperties.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +13 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +46 -5
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/nowShowing.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/select.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +76 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +455 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/grid/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/render.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_alternatingrows.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +45 -6
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +7 -7
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +129 -21
- data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/ui.js +40 -38
- data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +24 -17
- data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +68 -36
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +22 -63
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +90 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +8 -8
- data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +8 -4
- data/frameworks/sproutcore/frameworks/desktop/tests/views/select/methods.js +144 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +216 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/static_content.js +46 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/web/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/well/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/button.js +249 -79
- data/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +63 -89
- data/frameworks/sproutcore/frameworks/desktop/views/collection.js +358 -96
- data/frameworks/sproutcore/frameworks/desktop/views/date_field.js +319 -0
- data/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +31 -17
- data/frameworks/sproutcore/frameworks/desktop/views/file.js +112 -0
- data/frameworks/sproutcore/frameworks/desktop/views/grid.js +30 -34
- data/frameworks/sproutcore/frameworks/desktop/views/list.js +28 -14
- data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +480 -262
- data/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +249 -0
- data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +443 -381
- data/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +74 -66
- data/frameworks/sproutcore/frameworks/desktop/views/navigation.js +237 -0
- data/frameworks/sproutcore/frameworks/desktop/views/navigation_bar.js +181 -0
- data/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +175 -57
- data/frameworks/sproutcore/frameworks/desktop/views/progress.js +29 -21
- data/frameworks/sproutcore/frameworks/desktop/views/radio.js +196 -204
- data/frameworks/sproutcore/frameworks/desktop/views/scene.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +1128 -94
- data/frameworks/sproutcore/frameworks/desktop/views/scroller.js +569 -153
- data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +144 -129
- data/frameworks/sproutcore/frameworks/desktop/views/select.js +804 -0
- data/frameworks/sproutcore/frameworks/desktop/views/select_field.js +15 -13
- data/frameworks/sproutcore/frameworks/desktop/views/slider.js +77 -47
- data/frameworks/sproutcore/frameworks/desktop/views/source_list.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +4 -4
- data/frameworks/sproutcore/frameworks/desktop/views/split.js +426 -269
- data/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +5 -3
- data/frameworks/sproutcore/frameworks/desktop/views/stacked.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/static_content.js +123 -0
- data/frameworks/sproutcore/frameworks/desktop/views/tab.js +59 -63
- data/frameworks/sproutcore/frameworks/desktop/views/thumb.js +5 -1
- data/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/web.js +3 -3
- data/frameworks/sproutcore/frameworks/desktop/views/well.js +7 -2
- data/frameworks/sproutcore/frameworks/desktop/views/workspace.js +270 -0
- data/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
- data/frameworks/sproutcore/frameworks/forms/english.lproj/default_styles.css +5 -0
- data/frameworks/sproutcore/frameworks/forms/english.lproj/strings.js +15 -0
- data/frameworks/sproutcore/frameworks/forms/mixins/auto_hide.js +85 -0
- data/frameworks/sproutcore/frameworks/forms/mixins/edit_mode.js +43 -0
- data/frameworks/sproutcore/frameworks/forms/renderers/form.js +24 -0
- data/frameworks/sproutcore/frameworks/forms/renderers/form_row.js +24 -0
- data/frameworks/sproutcore/frameworks/forms/tests/views/form.js +15 -0
- data/frameworks/sproutcore/frameworks/forms/tests/views/form_checkbox_field.js +15 -0
- data/frameworks/sproutcore/frameworks/forms/tests/views/form_field.js +15 -0
- data/frameworks/sproutcore/frameworks/forms/tests/views/form_label.js +15 -0
- data/frameworks/sproutcore/frameworks/forms/tests/views/form_radio_field.js +15 -0
- data/frameworks/sproutcore/frameworks/forms/tests/views/form_row.js +15 -0
- data/frameworks/sproutcore/frameworks/forms/tests/views/form_text_field.js +15 -0
- data/frameworks/sproutcore/frameworks/forms/views/form.js +266 -0
- data/frameworks/sproutcore/frameworks/forms/views/form_row.js +188 -0
- data/frameworks/sproutcore/frameworks/foundation/TESTING +5 -5
- data/frameworks/sproutcore/frameworks/foundation/controllers/array.js +11 -2
- data/frameworks/sproutcore/frameworks/foundation/controllers/controller.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/controllers/object.js +23 -3
- data/frameworks/sproutcore/frameworks/foundation/core.js +34 -3
- data/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +2 -3
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +2 -1
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/button_view.css +4 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +109 -81
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-logo.png +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup-landscape.jpg +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup-landscape.png +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup-portrait.jpg +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup-portrait.png +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-startup.png +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore.png +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/strings.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +16 -14
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +5 -0
- data/frameworks/sproutcore/frameworks/foundation/ext/object.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/ext/run_loop.js +6 -5
- data/frameworks/sproutcore/frameworks/foundation/gestures/pinch.js +81 -0
- data/frameworks/sproutcore/frameworks/foundation/gestures/swipe.js +142 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/auto_mixin.js +33 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +74 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +4 -2
- data/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/mixins/control.js +88 -15
- data/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +3 -1
- data/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +415 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +106 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +95 -64
- data/frameworks/sproutcore/frameworks/foundation/{system → mixins}/responder_context.js +42 -16
- data/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +64 -83
- data/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +7 -53
- data/frameworks/sproutcore/frameworks/foundation/mixins/string.js +188 -5
- data/frameworks/sproutcore/frameworks/foundation/mixins/tree_item_content.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +4 -4
- data/frameworks/sproutcore/frameworks/foundation/panes/main.js +1 -2
- data/frameworks/sproutcore/frameworks/foundation/panes/pane.js +216 -53
- data/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/protocols/inline_editor_delegate.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/renderers/control.js +122 -0
- data/frameworks/sproutcore/frameworks/foundation/renderers/image.js +51 -0
- data/frameworks/sproutcore/frameworks/foundation/renderers/label.js +96 -0
- data/frameworks/sproutcore/frameworks/foundation/renderers/renderer.js +316 -0
- data/frameworks/sproutcore/frameworks/foundation/renderers/title.js +108 -0
- data/frameworks/sproutcore/frameworks/foundation/renderers/view.js +62 -0
- data/frameworks/sproutcore/frameworks/foundation/system/application.js +4 -3
- data/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +5 -2
- data/frameworks/sproutcore/frameworks/foundation/system/browser.js +32 -37
- data/frameworks/sproutcore/frameworks/foundation/system/builder.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/system/bundle.js +18 -15
- data/frameworks/sproutcore/frameworks/foundation/system/core_query.js +12 -13
- data/frameworks/sproutcore/frameworks/foundation/system/cursor.js +6 -5
- data/frameworks/sproutcore/frameworks/foundation/system/datetime.js +7 -8
- data/frameworks/sproutcore/frameworks/foundation/system/device.js +143 -0
- data/frameworks/sproutcore/frameworks/foundation/system/event.js +38 -13
- data/frameworks/sproutcore/frameworks/foundation/system/gesture.js +245 -0
- data/frameworks/sproutcore/frameworks/foundation/system/image_cache.js +13 -13
- data/frameworks/sproutcore/frameworks/foundation/system/json.js +11 -8
- data/frameworks/sproutcore/frameworks/foundation/system/locale.js +7 -2
- data/frameworks/sproutcore/frameworks/foundation/system/math.js +57 -0
- data/frameworks/sproutcore/frameworks/foundation/system/page.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/system/platform.js +189 -0
- data/frameworks/sproutcore/frameworks/foundation/system/ready.js +9 -7
- data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +155 -62
- data/frameworks/sproutcore/frameworks/foundation/system/request.js +21 -1
- data/frameworks/sproutcore/frameworks/foundation/system/responder.js +6 -3
- data/frameworks/sproutcore/frameworks/foundation/system/response.js +5 -3
- data/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +1704 -233
- data/frameworks/sproutcore/frameworks/foundation/system/routes.js +340 -445
- data/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +150 -0
- data/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/system/theme.js +108 -0
- data/frameworks/sproutcore/frameworks/foundation/system/time.js +0 -5
- data/frameworks/sproutcore/frameworks/foundation/system/timer.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +193 -29
- data/frameworks/sproutcore/frameworks/foundation/system/utils.js +133 -60
- data/frameworks/sproutcore/frameworks/foundation/tasks/preload_bundle.js +41 -0
- data/frameworks/sproutcore/frameworks/foundation/tasks/task.js +17 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/enum_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/null_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/selection_support.js +318 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/single_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/empty_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/multiple_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_enumerable_case.js +87 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/outline_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/selection_support.js +340 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/content.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/displayProperties.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/content.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/api.js +52 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +227 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/responder_context.js +75 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +17 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +58 -3
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/validatable/ui.js +74 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/flat_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/outline_case.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/renderers/renderer/base.js +170 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/renderers/renderer/inheritance.js +39 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/datetime.js +4 -9
- data/frameworks/sproutcore/frameworks/foundation/tests/system/locale.js +6 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/math.js +39 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/begin.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/element.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/end.js +6 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/get.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_attr.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_basic.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_className.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +12 -3
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/init.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/join.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/push_text.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/tag.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +12 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeKeyPane.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMainPane.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMenuPane.js +48 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/targetForAction.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/routes.js +333 -14
- data/frameworks/sproutcore/frameworks/foundation/tests/system/task_queue.js +43 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/theme.js +86 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invokeLater.js +7 -5
- data/frameworks/sproutcore/frameworks/foundation/tests/validators/date.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +34 -2
- data/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +7 -10
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/firstResponder.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/keyPane.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/layout.js +31 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendEvent.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendTouchEvent.js +267 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +99 -5
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/animation.js +321 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/build.js +85 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/build_children.js +89 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertFrames.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createChildViews.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createLayer.js +3 -3
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/destroyLayer.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/didAppendToDocument.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/findLayerInParentLayer.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/init.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/insertBefore.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layer.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutChildViews.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutDidChange.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +289 -22
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/nextValidKeyView.js +20 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/parentViewDidChange.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +28 -6
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/removeChild.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/render.js +50 -7
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/renderer.js +443 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/replaceChild.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/theme.js +41 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +4 -4
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayerLocation.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/viewDidResize.js +7 -6
- data/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/validators/date.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +46 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/email.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/validators/not_empty.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/validators/number.js +17 -5
- data/frameworks/sproutcore/frameworks/foundation/validators/password.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/validators/positive_integer.js +84 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/validator.js +16 -6
- data/frameworks/sproutcore/frameworks/foundation/views/container.js +25 -22
- data/frameworks/sproutcore/frameworks/foundation/views/field.js +16 -42
- data/frameworks/sproutcore/frameworks/foundation/views/image.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/views/label.js +58 -48
- data/frameworks/sproutcore/frameworks/foundation/views/text_field.js +321 -133
- data/frameworks/sproutcore/frameworks/foundation/views/view.js +1853 -353
- data/frameworks/sproutcore/frameworks/jquery/jquery.js +6240 -0
- data/frameworks/sproutcore/frameworks/media/resources/controls.png +0 -0
- data/frameworks/sproutcore/frameworks/media/resources/playeras3.fla +0 -0
- data/frameworks/sproutcore/frameworks/media/resources/video.css +120 -0
- data/frameworks/sproutcore/frameworks/media/resources/videoCanvas.swf +0 -0
- data/frameworks/sproutcore/frameworks/media/views/audio.js +729 -0
- data/frameworks/sproutcore/frameworks/media/views/controls.js +90 -0
- data/frameworks/sproutcore/frameworks/media/views/mediaSlider.js +243 -0
- data/frameworks/sproutcore/frameworks/media/views/miniControls.js +63 -0
- data/frameworks/sproutcore/frameworks/media/views/simpleControls.js +55 -0
- data/frameworks/sproutcore/frameworks/media/views/video.js +829 -0
- data/frameworks/sproutcore/frameworks/mobile/lib/index.rhtml +2 -3
- data/frameworks/sproutcore/frameworks/mobile/tests/views/button/ui.js +9 -2
- data/frameworks/sproutcore/frameworks/mobile/views/button.js +5 -4
- data/frameworks/sproutcore/frameworks/runtime/core.js +46 -34
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/indexOf.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/insertAt.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/objectAt.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/popObject.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/pushObject.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeAt.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeObject.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/mixins/array.js +36 -2
- data/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/mixins/delegate_support.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +63 -3
- data/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +25 -19
- data/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +12 -7
- data/frameworks/sproutcore/frameworks/runtime/protocols/observable_protocol.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/protocols/sparse_array_delegate.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/system/binding.js +60 -7
- data/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/system/error.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/system/index_set.js +2 -1
- data/frameworks/sproutcore/frameworks/runtime/system/object.js +37 -7
- data/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +39 -10
- data/frameworks/sproutcore/frameworks/runtime/system/selection_set.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/system/set.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/system/sparse_array.js +3 -3
- data/frameworks/sproutcore/frameworks/runtime/tests/core/clone.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/comparable.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +12 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +6 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +23 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/registerDependentKeys.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +126 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/addEach.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/clone.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/create.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexAfter.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexBefore.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/max.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/min.js +11 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/removeEach.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/without.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/object/bindings.js +30 -12
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/destroy.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/objectPropertyDidChange.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/rangeDidChange.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/update.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/add.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/copy.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/indexSetForSource.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/isEqual.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/remove.js +1 -1
- data/frameworks/sproutcore/frameworks/statechart/core.js +11 -0
- data/frameworks/sproutcore/frameworks/statechart/mixins/statechart.js +337 -0
- data/frameworks/sproutcore/frameworks/statechart/system/state.js +176 -0
- data/frameworks/sproutcore/frameworks/statechart/tests/basic.js +90 -0
- data/frameworks/sproutcore/frameworks/statechart/tests/history.js +71 -0
- data/frameworks/sproutcore/frameworks/statechart/tests/nested.js +59 -0
- data/frameworks/sproutcore/frameworks/statechart/tests/transient.js +148 -0
- data/frameworks/sproutcore/frameworks/table/mixins/table_delegate.js +41 -0
- data/frameworks/sproutcore/frameworks/table/system/table_column.js +125 -0
- data/frameworks/sproutcore/frameworks/table/views/table.js +438 -0
- data/frameworks/sproutcore/frameworks/table/views/table_cell.js +62 -0
- data/frameworks/sproutcore/frameworks/table/views/table_head.js +158 -0
- data/frameworks/sproutcore/frameworks/table/views/table_header.js +212 -0
- data/frameworks/sproutcore/frameworks/table/views/table_row.js +155 -0
- data/frameworks/sproutcore/frameworks/test +77 -0
- data/frameworks/sproutcore/frameworks/testing/core.js +1 -1
- data/frameworks/sproutcore/frameworks/testing/extras.js +1 -1
- data/frameworks/sproutcore/frameworks/testing/system/dump.js +1 -1
- data/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
- data/frameworks/sproutcore/frameworks/testing/system/plan.js +1 -1
- data/frameworks/sproutcore/frameworks/testing/system/runner.js +2 -2
- data/frameworks/sproutcore/frameworks/testing/system/suite.js +1 -1
- data/frameworks/sproutcore/frameworks/testing/utils.js +1 -1
- data/frameworks/sproutcore/lib/index.rhtml +15 -4
- data/frameworks/sproutcore/themes/ace/Buildfile +0 -0
- data/frameworks/sproutcore/themes/ace/README.md +161 -0
- data/frameworks/sproutcore/themes/ace/build +2 -0
- data/frameworks/sproutcore/themes/ace/build-d +2 -0
- data/frameworks/sproutcore/themes/ace/chance/README.md +113 -0
- data/frameworks/sproutcore/themes/ace/chance/chance.rb +203 -0
- data/frameworks/sproutcore/themes/ace/chance/lib/css.rb +202 -0
- data/frameworks/sproutcore/themes/ace/chance/lib/slicedice.rb +391 -0
- data/frameworks/sproutcore/themes/ace/chance/sc-theme.rb +0 -0
- data/frameworks/sproutcore/themes/ace/chance/scripts/setup.rb +126 -0
- data/frameworks/sproutcore/themes/ace/mockups/dark.png +0 -0
- data/frameworks/sproutcore/themes/ace/mockups/dark.psd +0 -0
- data/frameworks/sproutcore/themes/ace/mockups/light.png +0 -0
- data/frameworks/sproutcore/themes/ace/mockups/light.psd +0 -0
- data/frameworks/sproutcore/themes/ace/resources/images/1.png +0 -0
- data/frameworks/sproutcore/themes/ace/resources/images/2.png +0 -0
- data/frameworks/sproutcore/themes/ace/resources/images/3.png +0 -0
- data/frameworks/sproutcore/themes/ace/resources/theme.css +1832 -0
- data/frameworks/sproutcore/themes/ace/scroll_test/resources/images/1.png +0 -0
- data/frameworks/sproutcore/themes/ace/scroll_test/resources/images/2.png +0 -0
- data/frameworks/sproutcore/themes/ace/scroll_test/resources/images/3.png +0 -0
- data/frameworks/sproutcore/themes/ace/scroll_test/resources/theme.css +147 -0
- data/frameworks/sproutcore/themes/ace/scroll_test/scrollbars.html +326 -0
- data/frameworks/sproutcore/themes/ace/src/body.css +13 -0
- data/frameworks/sproutcore/themes/ace/src/collections/list.css +4 -0
- data/frameworks/sproutcore/themes/ace/src/collections/list_item.css +7 -0
- data/frameworks/sproutcore/themes/ace/src/collections/source_list/selection.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/collections/source_list/selection.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/collections/source_list/source_list_view.css +37 -0
- data/frameworks/sproutcore/themes/ace/src/containers/container.css +3 -0
- data/frameworks/sproutcore/themes/ace/src/containers/masterdetail/master-detail.css +26 -0
- data/frameworks/sproutcore/themes/ace/src/containers/split/split.css +4 -0
- data/frameworks/sproutcore/themes/ace/src/containers/tab/tab.css +9 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button.js +23 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/button_view.css +53 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/normal_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/normal_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_capsule.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_capsule.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/button_view.css +144 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_capsule.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_capsule.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_capsule.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_capsule.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_capsule.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_capsule.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/button_view_30.css +111 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/button_view.css +57 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/normal_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/normal_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/button_view.css +56 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_view.css +64 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox.css +25 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox.css +25 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/checkbox.css +4 -0
- data/frameworks/sproutcore/themes/ace/src/controls/checkboxes/checkbox_control.css +31 -0
- data/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view.css +70 -0
- data/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_content.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_content.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_indeterminate_content.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_track.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_track.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio.css +61 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_unselected.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/radio/radio_unselected.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/horizontal.css +77 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/thumb.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/thumb.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/thumb.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/thumb.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/vertical.css +74 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented.css +92 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_normal.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_normal.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented.css +87 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_normal.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_normal.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented.css +93 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_normal.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_normal.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented.css +101 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_normal.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_normal.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/segmented.css +73 -0
- data/frameworks/sproutcore/themes/ace/src/controls/segmented/segmented.js +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/select/active_select.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/select/active_select.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/select/menu.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/select/normal_select.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/select/normal_select.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/select/select.css +45 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/14px/slider.css +43 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/16px/slider.css +44 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/22px/slider.css +44 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/22px/track.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/22px/track.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/slider.css +3 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/slider.js +27 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/track.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/slider/track.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_handle.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_handle.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_off.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_off.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_on.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_on.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/core/loading.css +50 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_capsule.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_capsule.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/button_view.css +142 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_capsule.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_capsule.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_capsule.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_capsule.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_capsule.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_capsule.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/button_view_30.css +111 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button_pointer.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button_pointer.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/button.css +20 -0
- data/frameworks/sproutcore/themes/ace/src/dark/buttons/button.js +3 -0
- data/frameworks/sproutcore/themes/ace/src/form/iphone/form.js +21 -0
- data/frameworks/sproutcore/themes/ace/src/form/iphone/form_row.js +24 -0
- data/frameworks/sproutcore/themes/ace/src/form/iphone/iphone.css +51 -0
- data/frameworks/sproutcore/themes/ace/src/form/iphone/iphone.js +14 -0
- data/frameworks/sproutcore/themes/ace/src/form/iphone/label.js +32 -0
- data/frameworks/sproutcore/themes/ace/src/panels/pane.css +3 -0
- data/frameworks/sproutcore/themes/ace/src/panels/panel.css +70 -0
- data/frameworks/sproutcore/themes/ace/src/panels/panel.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/panel.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark_active.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark_active.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/down.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/down.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.css +154 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu_item.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu_item.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/up.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/menu/up.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/picker.css +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/picker.js +1 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/picker.js +14 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.css +271 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.js +5 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_empty.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_empty.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_notoolbar.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_notoolbar.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers_notoolbar.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers_notoolbar.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_sourcelist.css +5 -0
- data/frameworks/sproutcore/themes/ace/src/panels/picker/popover/workspace.js +51 -0
- data/frameworks/sproutcore/themes/ace/src/theme.js +12 -0
- data/frameworks/sproutcore/themes/ace/src/toolbars/normal/selection.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.css +8 -0
- data/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.psd +0 -0
- data/frameworks/sproutcore/themes/ace/src/toolbars/panel_header/panel_header.png +0 -0
- data/frameworks/sproutcore/themes/ace/src/toolbars/panel_header/panel_header.psd +0 -0
- data/frameworks/sproutcore/themes/empty_theme/theme.js +16 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x.psd +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/button.css +75 -2
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/checkbox.css +0 -16
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-scroller-repeat-x.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-scroller-repeat-y.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-scroller-sprite.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-repeat-x.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/menu_item_view.css +26 -2
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/radio.css +0 -29
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/scroller.css +155 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +64 -69
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/split_view.css +2 -18
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/tab.css +0 -1
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/table.css +14 -0
- data/gen/responder/Buildfile +18 -0
- data/gen/responder/README +1 -0
- data/gen/responder/USAGE +15 -0
- data/gen/responder/templates/states/@filename@.js +39 -0
- data/{Buildfile → lib/Buildfile} +37 -34
- data/lib/buildtasks/build.rake +103 -0
- data/{buildtasks → lib/buildtasks}/entry.rake +40 -34
- data/{buildtasks → lib/buildtasks}/manifest.rake +285 -239
- data/{buildtasks → lib/buildtasks}/render.rake +5 -5
- data/lib/buildtasks/target.rake +65 -0
- data/lib/sproutcore.rb +58 -53
- data/lib/sproutcore/builders.rb +12 -0
- data/lib/sproutcore/builders/base.rb +19 -20
- data/lib/sproutcore/builders/bundle.rb +17 -17
- data/lib/sproutcore/builders/combine.rb +14 -14
- data/lib/sproutcore/builders/html.rb +68 -62
- data/lib/sproutcore/builders/javascript.rb +40 -26
- data/lib/sproutcore/builders/less.rb +41 -0
- data/lib/sproutcore/builders/minify.rb +20 -25
- data/lib/sproutcore/builders/sass.rb +20 -10
- data/lib/sproutcore/builders/strings.rb +11 -10
- data/lib/sproutcore/builders/stylesheet.rb +28 -12
- data/lib/sproutcore/builders/test.rb +19 -19
- data/lib/sproutcore/builders/test_index.rb +6 -6
- data/lib/sproutcore/buildfile.rb +120 -114
- data/lib/sproutcore/buildfile/build_task.rb +5 -5
- data/lib/sproutcore/buildfile/buildfile_dsl.rb +22 -15
- data/lib/sproutcore/buildfile/cloneable.rb +3 -3
- data/lib/sproutcore/buildfile/early_time.rb +2 -2
- data/lib/sproutcore/buildfile/invocation_chain.rb +3 -3
- data/lib/sproutcore/buildfile/namespace.rb +3 -3
- data/lib/sproutcore/buildfile/string_ext.rb +5 -1
- data/lib/sproutcore/buildfile/task.rb +49 -48
- data/lib/sproutcore/buildfile/task_arguments.rb +28 -8
- data/lib/sproutcore/buildfile/task_manager.rb +19 -17
- data/lib/sproutcore/deprecated/view_helper.rb +2 -2
- data/lib/sproutcore/helpers.rb +11 -0
- data/lib/sproutcore/helpers/cssmin.rb +24 -24
- data/lib/sproutcore/helpers/dom_id_helper.rb +1 -1
- data/lib/sproutcore/helpers/entry_sorter.rb +51 -75
- data/lib/sproutcore/helpers/html5_manifest.rb +88 -0
- data/lib/sproutcore/helpers/packed_optimizer.rb +20 -20
- data/lib/sproutcore/helpers/static_helper.rb +79 -79
- data/lib/sproutcore/helpers/tag_helper.rb +10 -10
- data/lib/sproutcore/helpers/text_helper.rb +2 -2
- data/lib/sproutcore/models.rb +8 -0
- data/lib/sproutcore/models/generator.rb +92 -92
- data/lib/sproutcore/models/hash_struct.rb +42 -27
- data/lib/sproutcore/models/manifest.rb +123 -117
- data/lib/sproutcore/models/manifest_entry.rb +123 -105
- data/lib/sproutcore/models/project.rb +54 -54
- data/lib/sproutcore/models/target.rb +212 -200
- data/lib/sproutcore/rack.rb +7 -0
- data/lib/sproutcore/rack/builder.rb +89 -84
- data/lib/sproutcore/rack/dev.rb +55 -14
- data/lib/sproutcore/rack/docs.rb +4 -4
- data/lib/sproutcore/rack/filesystem.rb +118 -59
- data/lib/sproutcore/rack/proxy.rb +36 -34
- data/lib/sproutcore/rack/service.rb +36 -34
- data/lib/sproutcore/rack/test_runner.rb +4 -4
- data/lib/sproutcore/render_engines/erubis.rb +2 -2
- data/lib/sproutcore/render_engines/haml.rb +2 -2
- data/lib/sproutcore/tools.rb +102 -98
- data/lib/sproutcore/tools/build.rb +27 -22
- data/lib/sproutcore/tools/build_number.rb +3 -3
- data/lib/sproutcore/tools/docs.rb +4 -4
- data/lib/sproutcore/tools/gen.rb +24 -24
- data/lib/sproutcore/tools/init.rb +7 -7
- data/lib/sproutcore/tools/manifest.rb +13 -13
- data/lib/sproutcore/tools/server.rb +11 -11
- data/{vendor → lib/sproutcore/vendor}/github_gem_lint.rb +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/README.txt +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/Chain.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/Dumper.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/Hash.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/Link.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/Namespace.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/Opt.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/Reflection.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/String.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/frame/Testrun.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/handlers/FOODOC.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/handlers/XMLDOC.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/handlers/XMLDOC/DomReader.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/handlers/XMLDOC/XMLDoc.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/handlers/XMLDOC/XMLParse.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/DocComment.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/DocTag.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/JsDoc.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/JsPlate.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/Lang.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/Parser.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/PluginManager.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/Symbol.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/SymbolSet.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/TextStream.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/Token.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/TokenReader.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/TokenStream.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/Util.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/lib/JSDOC/Walker.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/main.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/plugins/commentSrcJson.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/plugins/frameworkPrototype.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/plugins/functionCall.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/plugins/publishSrcHilite.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/plugins/sproutcoreTags.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/plugins/symbolLink.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/plugins/tagParamConfig.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/plugins/tagSynonyms.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/run.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/t/TestDoc.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/t/runner.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/addon.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/anon_inner.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/augments.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/augments2.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/borrows.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/borrows2.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/config.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/constructs.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/encoding.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/encoding_other.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/functions_anon.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/functions_nested.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/global.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/globals.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/ignore.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/inner.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/jsdoc_test.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/lend.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/memberof.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/memberof_constructor.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/name.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/namespace_nested.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/nocode.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/oblit_anon.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/overview.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/param_inline.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/params_optional.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/prototype.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/prototype_nested.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/prototype_oblit.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/prototype_oblit_constructor.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/public.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/shared.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/shared2.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/shortcuts.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/static_this.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/synonyms.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/tosource.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/app/test/variable_redefine.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/changes.txt +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/conf/sample.conf +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/java/build.xml +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/java/build_1.4.xml +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/java/classes/js.jar +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/java/src/JsDebugRun.java +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/java/src/JsRun.java +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/jsdebug.jar +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/jsrun.jar +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/t/TestDoc.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/t/runner.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/addon.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/anon_inner.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/augments.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/augments2.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/borrows.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/borrows2.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/config.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/constructs.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/encoding.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/encoding_other.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/functions_anon.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/functions_nested.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/global.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/globals.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/ignore.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/inner.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/jsdoc_test.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/lend.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/memberof.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/memberof_constructor.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/name.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/namespace_nested.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/nocode.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/oblit_anon.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/overview.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/param_inline.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/params_optional.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/prototype.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/prototype_nested.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/prototype_oblit.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/prototype_oblit_constructor.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/public.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/shared.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/shared2.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/shortcuts.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/static_this.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/synonyms.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/tosource.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/jsdoc/test/variable_redefine.js +0 -0
- data/{vendor → lib/sproutcore/vendor}/yui-compressor/SCyuicompressor-2.4.2.jar +0 -0
- data/{vendor → lib/sproutcore/vendor}/yui-compressor/yuicompressor-2.4.2.jar +0 -0
- data/lib/sproutcore/version.rb +11 -0
- data/spec/buildtasks/build/copy_spec.rb +16 -16
- data/spec/buildtasks/build/spec_helper.rb +5 -5
- data/spec/buildtasks/manifest/catalog_spec.rb +9 -9
- data/spec/buildtasks/manifest/hide_buildfiles_spec.rb +15 -15
- data/spec/buildtasks/manifest/localize_spec.rb +14 -14
- data/spec/buildtasks/manifest/prepare_build_tasks/bundle_spec.rb +61 -61
- data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +52 -44
- data/spec/buildtasks/manifest/prepare_build_tasks/css_spec.rb +13 -13
- data/spec/buildtasks/manifest/prepare_build_tasks/html_spec.rb +29 -29
- data/spec/buildtasks/manifest/prepare_build_tasks/javascript_spec.rb +11 -11
- data/spec/buildtasks/manifest/prepare_build_tasks/minify_spec.rb +9 -9
- data/spec/buildtasks/manifest/prepare_build_tasks/packed_spec.rb +23 -23
- data/spec/buildtasks/manifest/prepare_build_tasks/sass_spec.rb +15 -15
- data/spec/buildtasks/manifest/prepare_build_tasks/strings_spec.rb +11 -11
- data/spec/buildtasks/manifest/prepare_build_tasks/tests_spec.rb +28 -28
- data/spec/buildtasks/manifest/prepare_spec.rb +7 -7
- data/spec/buildtasks/manifest/spec_helper.rb +6 -6
- data/spec/buildtasks/target_spec.rb +33 -33
- data/spec/fixtures/builder_tests/apps/less_test/sample.less +4 -0
- data/spec/fixtures/builder_tests/apps/sass_test/sample.sass +1 -0
- data/spec/fixtures/builder_tests/apps/sass_test/sample.scss +4 -0
- data/spec/fixtures/buildfiles/basic/Buildfile +0 -5
- data/spec/fixtures/buildfiles/installed/Buildfile +0 -2
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo3.scss +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo4.less +0 -0
- data/spec/fixtures/real_world/generators/sample_custom/templates/{filename}.js +1 -0
- data/spec/lib/builders/bundle_spec.rb +79 -78
- data/spec/lib/builders/combine_spec.rb +10 -10
- data/spec/lib/builders/html_spec.rb +134 -133
- data/spec/lib/builders/javascript_spec.rb +11 -10
- data/spec/lib/builders/less_spec.rb +51 -0
- data/spec/lib/builders/sass_spec.rb +38 -9
- data/spec/lib/builders/spec_helper.rb +8 -8
- data/spec/lib/builders/strings_spec.rb +14 -11
- data/spec/lib/builders/stylesheet_spec.rb +9 -8
- data/spec/lib/builders/test_index_spec.rb +10 -9
- data/spec/lib/builders/test_spec.rb +36 -35
- data/spec/lib/buildfile/config_for_spec.rb +15 -15
- data/spec/lib/buildfile/define_spec.rb +14 -14
- data/spec/lib/buildfile/dup_spec.rb +19 -19
- data/spec/lib/buildfile/invoke_spec.rb +38 -33
- data/spec/lib/buildfile/load_spec.rb +21 -19
- data/spec/lib/buildfile/task/dup_spec.rb +14 -14
- data/spec/lib/buildfile/task_defined_spec.rb +3 -3
- data/spec/lib/buildfile_commands/build_task_spec.rb +3 -3
- data/spec/lib/buildfile_commands/config_spec.rb +40 -40
- data/spec/lib/buildfile_commands/import_spec.rb +2 -2
- data/spec/lib/buildfile_commands/namespace_spec.rb +3 -3
- data/spec/lib/buildfile_commands/proxies_spec.rb +12 -12
- data/spec/lib/buildfile_commands/replace_task_spec.rb +7 -7
- data/spec/lib/buildfile_commands/task_spec.rb +6 -6
- data/spec/lib/helpers/packing_optimizer/optimize_spec.rb +5 -5
- data/spec/lib/models/hash_struct/deep_clone_spec.rb +8 -8
- data/spec/lib/models/hash_struct/has_options_spec.rb +10 -10
- data/spec/lib/models/hash_struct/hash_spec.rb +17 -19
- data/spec/lib/models/hash_struct/merge_spec.rb +4 -4
- data/spec/lib/models/hash_struct/method_missing.rb +9 -9
- data/spec/lib/models/manifest/add_entry_spec.rb +7 -7
- data/spec/lib/models/manifest/add_transform_spec.rb +17 -15
- data/spec/lib/models/manifest/build_spec.rb +19 -19
- data/spec/lib/models/manifest/entry_for_spec.rb +30 -30
- data/spec/lib/models/manifest/find_entry.rb +20 -20
- data/spec/lib/models/manifest/prepare_spec.rb +13 -13
- data/spec/lib/models/manifest_entry/cacheable_url_spec.rb +8 -8
- data/spec/lib/models/manifest_entry/hyperdomain_prefix.rb +9 -9
- data/spec/lib/models/manifest_entry/prepare_spec.rb +11 -11
- data/spec/lib/models/project/add_target_spec.rb +7 -7
- data/spec/lib/models/project/buildfile_spec.rb +4 -4
- data/spec/lib/models/project/find_targets_for_spec.rb +17 -17
- data/spec/lib/models/project/load_nearest_project_spec.rb +10 -10
- data/spec/lib/models/project/target_for_spec.rb +6 -6
- data/spec/lib/models/project/targets_spec.rb +13 -13
- data/spec/lib/models/target/compute_build_number_spec.rb +24 -23
- data/spec/lib/models/target/config_spec.rb +6 -6
- data/spec/lib/models/target/expand_required_targets_spec.rb +14 -14
- data/spec/lib/models/target/installed_languages_spec.rb +12 -12
- data/spec/lib/models/target/lproj_for_spec.rb +9 -9
- data/spec/lib/models/target/manifest_for_spec.rb +8 -8
- data/spec/lib/models/target/parent_target_spec.rb +3 -3
- data/spec/lib/models/target/prepare_spec.rb +11 -11
- data/spec/lib/models/target/required_targets_spec.rb +28 -28
- data/spec/lib/models/target/target_for_spec.rb +5 -5
- data/spec/lib/tools/build_number_spec.rb +9 -9
- data/spec/lib/tools/gen_spec.rb +34 -33
- data/spec/lib/tools/tools_spec.rb +20 -19
- data/spec/spec_helper.rb +28 -40
- data/sproutcore.gemspec +33 -0
- metadata +1741 -1056
- data/buildtasks/build.rake +0 -87
- data/buildtasks/target.rake +0 -61
- data/frameworks/sproutcore/README +0 -64
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/scroller.css +0 -26
- data/frameworks/sproutcore/frameworks/desktop/system/root_responder.js +0 -702
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/methods.js +0 -72
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/ui.js +0 -71
data/buildtasks/build.rake
DELETED
@@ -1,87 +0,0 @@
|
|
1
|
-
# ===========================================================================
|
2
|
-
# SC::Target Buildtasks
|
3
|
-
# copyright 2008, Sprout Systems, Inc. and Apple Inc. all rights reserved
|
4
|
-
# ===========================================================================
|
5
|
-
|
6
|
-
# Tasks invoked while building Target objects. You can override these methods
|
7
|
-
# in your buildfiles. You can also define new builders and assign them to
|
8
|
-
# manifest entries if you also override/extend manifest:build.
|
9
|
-
namespace :build do
|
10
|
-
|
11
|
-
desc "copies a single resource"
|
12
|
-
build_task :copy do
|
13
|
-
require 'fileutils'
|
14
|
-
FileUtils.mkdir_p(File.dirname(DST_PATH))
|
15
|
-
FileUtils.cp_r(SRC_PATH, DST_PATH)
|
16
|
-
end
|
17
|
-
|
18
|
-
desc "builds a single css files"
|
19
|
-
build_task :css do
|
20
|
-
SC::Builder::Stylesheet.build ENTRY, DST_PATH
|
21
|
-
end
|
22
|
-
|
23
|
-
desc "builds a single sass file"
|
24
|
-
build_task :sass do
|
25
|
-
SC::Builder::Sass.build ENTRY, DST_PATH
|
26
|
-
end
|
27
|
-
|
28
|
-
desc "builds a single javascript file"
|
29
|
-
build_task :javascript do
|
30
|
-
SC::Builder::JavaScript.build ENTRY, DST_PATH
|
31
|
-
end
|
32
|
-
|
33
|
-
desc "builds an html file, possibly executing render tasks"
|
34
|
-
build_task :html do
|
35
|
-
SC::Builder::Html.build ENTRY, DST_PATH
|
36
|
-
end
|
37
|
-
|
38
|
-
desc "builds a strings file for use by server-side processing"
|
39
|
-
build_task :strings do
|
40
|
-
SC::Builder::Strings.build ENTRY, DST_PATH
|
41
|
-
end
|
42
|
-
|
43
|
-
desc "combines several source files into a single target, using the ordered_entries property if it exists"
|
44
|
-
build_task :combine do
|
45
|
-
SC::Builder::Combine.build ENTRY, DST_PATH
|
46
|
-
end
|
47
|
-
|
48
|
-
namespace :minify do
|
49
|
-
|
50
|
-
desc "Minifies a CSS file by invoking CSSmin"
|
51
|
-
build_task :css do
|
52
|
-
SC::Builder::Minify.build ENTRY, DST_PATH, :css
|
53
|
-
end
|
54
|
-
|
55
|
-
desc "minifies a JavaScript file by invoking the YUI compressor"
|
56
|
-
build_task :javascript do
|
57
|
-
SC::Builder::Minify.build ENTRY, DST_PATH, :javascript
|
58
|
-
end
|
59
|
-
|
60
|
-
desc "minifies a Javascript file immediately by invoking the YUI compressor"
|
61
|
-
build_task :inline_javascript do
|
62
|
-
SC::Builder::Minify.build ENTRY, DST_PATH, :inline_javascript
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
66
|
-
|
67
|
-
desc "builds a unit test"
|
68
|
-
build_task :test do
|
69
|
-
SC::Builder::Test.build ENTRY, DST_PATH
|
70
|
-
end
|
71
|
-
|
72
|
-
desc "builds the unit test index, describing the installed unit tests"
|
73
|
-
build_task :test_index do
|
74
|
-
SC::Builder::TestIndex.build ENTRY, DST_PATH
|
75
|
-
end
|
76
|
-
|
77
|
-
desc "builds the bundle_loaded.js file for a framework"
|
78
|
-
build_task :bundle_loaded do
|
79
|
-
SC::Builder::BundleLoaded.build ENTRY, DST_PATH
|
80
|
-
end
|
81
|
-
|
82
|
-
desc "builds the bundle_info.js file for a required framework"
|
83
|
-
build_task :bundle_info do
|
84
|
-
SC::Builder::BundleInfo.build ENTRY, DST_PATH
|
85
|
-
end
|
86
|
-
|
87
|
-
end
|
data/buildtasks/target.rake
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
# ===========================================================================
|
2
|
-
# SC::Target Buildtasks
|
3
|
-
# copyright 2008, Sprout Systems, Inc. and Apple Inc. all rights reserved
|
4
|
-
# ===========================================================================
|
5
|
-
|
6
|
-
# Tasks invoked while building Target objects. You can override these methods
|
7
|
-
# in your buildfiles.
|
8
|
-
namespace :target do
|
9
|
-
|
10
|
-
# Invoked whenever a new target is created to prepare standard properties
|
11
|
-
# needed on the build system. Extend this task to add other standard
|
12
|
-
# properties
|
13
|
-
task :prepare do
|
14
|
-
|
15
|
-
# use url_root config or merge url_prefix + target_name
|
16
|
-
if (TARGET.url_root = CONFIG.url_root).nil?
|
17
|
-
url = [nil, CONFIG.url_prefix, TARGET.target_name].join('/')
|
18
|
-
url = url.gsub(/([^:])\/+/,'\1/').gsub(/^\/+/,'/') # remove extra //
|
19
|
-
url = url[1..-1] if url.match(/^\/[^\/]+:\/\//) # look for protocol
|
20
|
-
TARGET.url_root = url
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
# use index_root config or merge index_prefix + target_name
|
25
|
-
if (TARGET.index_root = CONFIG.index_root).nil?
|
26
|
-
url = [nil, CONFIG.index_prefix, TARGET.target_name].join('/')
|
27
|
-
url = url.gsub(/([^:])\/+/,'\1/').gsub(/^\/+/,'/') # remove extra //
|
28
|
-
url = url[1..-1] if url.match(/^\/[^\/]+:\/\//) # look for protocol
|
29
|
-
TARGET.index_root = url
|
30
|
-
end
|
31
|
-
|
32
|
-
url_prefix = CONFIG.url_prefix
|
33
|
-
url_prefix = url_prefix.gsub(/^[^\/]+:\/\/[^\/]+\//,'') if url_prefix
|
34
|
-
|
35
|
-
# Split all of these paths in case we are on windows...
|
36
|
-
TARGET.build_root = File.expand_path(CONFIG.build_root ||
|
37
|
-
File.join(PROJECT.project_root.to_s,
|
38
|
-
(CONFIG.build_prefix || '').to_s.split('/'),
|
39
|
-
(url_prefix || '').to_s.split('/'),
|
40
|
-
TARGET.target_name.to_s.split('/')))
|
41
|
-
|
42
|
-
TARGET.staging_root = File.expand_path(CONFIG.staging_root ||
|
43
|
-
File.join(PROJECT.project_root.to_s,
|
44
|
-
(CONFIG.staging_prefix || '').to_s.split('/'),
|
45
|
-
(url_prefix || '').to_s.split('/'),
|
46
|
-
TARGET.target_name.to_s))
|
47
|
-
|
48
|
-
# cache is used to store intermediate files
|
49
|
-
TARGET.cache_root = File.expand_path(CONFIG.cache_root ||
|
50
|
-
File.join(PROJECT.project_root.to_s,
|
51
|
-
(CONFIG.cache_prefix || '').to_s.split('/'),
|
52
|
-
(url_prefix || '').to_s.split('/'),
|
53
|
-
TARGET.target_name.to_s))
|
54
|
-
|
55
|
-
TARGET.build_number = TARGET.compute_build_number
|
56
|
-
|
57
|
-
# The target is loadable if it is an app
|
58
|
-
TARGET.loadable = TARGET.target_type == :app
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
SproutCore HTML5 Application Framework
|
2
|
-
|
3
|
-
SproutCore is a framework for building blazing-fast, desktop-like applications
|
4
|
-
in the web browser using only native HTML5 features. With SproutCore, you
|
5
|
-
build rich, interactive applications in the web in less code than most simple
|
6
|
-
web pages require today.
|
7
|
-
|
8
|
-
The easiest way to get started with SproutCore is using the BlueRibbon build
|
9
|
-
tools included with the SproutCore package when you install it from the Ruby
|
10
|
-
Gems. Please see the Getting Started documentation on the SproutCore website
|
11
|
-
for more information.
|
12
|
-
|
13
|
-
http://www.sproutcore.com
|
14
|
-
|
15
|
-
If you would like to contact the authors, you can reach the current maintainer
|
16
|
-
at charles@sproutit.com
|
17
|
-
|
18
|
-
CONTRIBUTORS
|
19
|
-
|
20
|
-
SproutCore has been built thanks to the tireless efforts of many talented developers. Special thanks to the following developers who contributed lots
|
21
|
-
of code and ideas:
|
22
|
-
|
23
|
-
Billy Kakes
|
24
|
-
Brian Cully
|
25
|
-
Charles Jolley
|
26
|
-
Chris Hyle
|
27
|
-
Colin Campbell
|
28
|
-
Cortlan Klein
|
29
|
-
Erich Ocean
|
30
|
-
Evin Grano
|
31
|
-
Geoffrey Donaldson
|
32
|
-
James Austin
|
33
|
-
Jason Ketterman
|
34
|
-
Jonathan Lewis
|
35
|
-
Joshua Dickens
|
36
|
-
Juan Pinzon
|
37
|
-
Majd Taby
|
38
|
-
Martin Ottenwaelter
|
39
|
-
Maurits Lamers
|
40
|
-
Mike Ball
|
41
|
-
Mike Subelsky
|
42
|
-
Mohammed Ashik
|
43
|
-
Onar Vikingstad
|
44
|
-
Peter Bergstrom
|
45
|
-
Peter Wagenet
|
46
|
-
Ray Bodenhorn
|
47
|
-
Santosh Shanboque
|
48
|
-
Sudarshan Bhat
|
49
|
-
Tanner Donovan
|
50
|
-
Teresa Tsui
|
51
|
-
Thomas Langemann
|
52
|
-
Tom Dale
|
53
|
-
Trek Glowacki
|
54
|
-
|
55
|
-
|
56
|
-
ACKNOWLEDGEMENTS
|
57
|
-
|
58
|
-
SproutCore includes code from a number of different open source projects
|
59
|
-
including:
|
60
|
-
|
61
|
-
jQuery 1.2.6 (http://www.jquery.com)
|
62
|
-
DateJS (http://www.datejs.com)
|
63
|
-
JSON (http://www.json.org)
|
64
|
-
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/* SC.ScrollerView */
|
2
|
-
|
3
|
-
.sc-scroller-view .sc-inner {
|
4
|
-
position: absolute;
|
5
|
-
left:0;
|
6
|
-
top: 0;
|
7
|
-
}
|
8
|
-
|
9
|
-
.sc-scroller-view.sc-horizontal {
|
10
|
-
overflow-x: scroll;
|
11
|
-
overflow-y: hidden;
|
12
|
-
}
|
13
|
-
|
14
|
-
.sc-scroller-view.sc-horizontal .sc-inner {
|
15
|
-
bottom: 0;
|
16
|
-
}
|
17
|
-
|
18
|
-
|
19
|
-
.sc-scroller-view.sc-vertical {
|
20
|
-
overflow-y: scroll;
|
21
|
-
overflow-x: hidden;
|
22
|
-
}
|
23
|
-
|
24
|
-
.sc-scroller-view.sc-vertical .sc-inner {
|
25
|
-
|
26
|
-
}
|
@@ -1,702 +0,0 @@
|
|
1
|
-
// ========================================================================
|
2
|
-
// SproutCore -- JavaScript Application Framework
|
3
|
-
// Copyright ©2006-2008, Sprout Systems, Inc. and contributors.
|
4
|
-
// Portions copyright ©2008 Apple Inc. All rights reserved.
|
5
|
-
// ========================================================================
|
6
|
-
|
7
|
-
/** Set to NO to leave the backspace key under the control of the browser.*/
|
8
|
-
SC.CAPTURE_BACKSPACE_KEY = NO ;
|
9
|
-
|
10
|
-
/**
|
11
|
-
Order layer for regular Panels. Panels appear in front of the main view,
|
12
|
-
but behind palettes, popups.
|
13
|
-
*/
|
14
|
-
SC.PANEL_ORDER_LAYER = 0x1000 ;
|
15
|
-
|
16
|
-
/**
|
17
|
-
Order layer for Palettes. Palettes appear in front of the main view and
|
18
|
-
panels, but behind popups.
|
19
|
-
*/
|
20
|
-
SC.PALETTE_ORDER_LAYER = 0x2000 ;
|
21
|
-
|
22
|
-
/**
|
23
|
-
Order layer for Popups. Popups appear in fron of hte main view and panels.
|
24
|
-
*/
|
25
|
-
SC.POPUP_ORDER_LAYER = 0x3000 ;
|
26
|
-
|
27
|
-
/*
|
28
|
-
This is the root responder subclass for desktop-style applications. It
|
29
|
-
supports mouse events and window resize events in addition to the built
|
30
|
-
in keyboard handling provided by the base class.
|
31
|
-
*/
|
32
|
-
SC.RootResponder = SC.RootResponder.extend(
|
33
|
-
/** @scope SC.RootResponder.prototype */ {
|
34
|
-
|
35
|
-
platform: 'desktop',
|
36
|
-
|
37
|
-
// ..........................................................
|
38
|
-
// ORDERED PANES
|
39
|
-
//
|
40
|
-
|
41
|
-
/** @property
|
42
|
-
The current front view. This view should have the highest z-index of all
|
43
|
-
the other views.
|
44
|
-
*/
|
45
|
-
focusedPane: function() {
|
46
|
-
var views = this.get('orderedPanes');
|
47
|
-
return views[views.length-1];
|
48
|
-
}.property('orderedPanes'),
|
49
|
-
|
50
|
-
|
51
|
-
/** @property
|
52
|
-
Array of panes currently displayed that can be reordered. This property
|
53
|
-
changes when you orderBack() or orderOut() a pane to determine the next
|
54
|
-
frontmost pane.
|
55
|
-
*/
|
56
|
-
orderedPanes: null,
|
57
|
-
|
58
|
-
/**
|
59
|
-
Inserts the passed panes into the orderedPanes array before the named pane
|
60
|
-
array. Pass null to order at the front. If this changes the frontmost
|
61
|
-
view, then focus will also be shifted. The pane you request must have the
|
62
|
-
same orderLayer property at the pane you are passing in. If it does not,
|
63
|
-
the pane will be placed nearest to the target as possible.
|
64
|
-
|
65
|
-
@param {SC.Pane} pane
|
66
|
-
@param {SC.Pane} beforePane
|
67
|
-
@returns {SC.RootResponder} receiver
|
68
|
-
*/
|
69
|
-
orderBefore: function(pane, beforePane) {
|
70
|
-
var currentFocus = this.get('focusedPane'),
|
71
|
-
panes = this.get('orderedPanes').without(pane),
|
72
|
-
len, idx, currentOrder, newFocus ;
|
73
|
-
|
74
|
-
// adjust the beforePane to match orderLayer
|
75
|
-
var orderLayer = pane.get('orderLayer');
|
76
|
-
if (beforePane) {
|
77
|
-
len = panes.length;
|
78
|
-
idx = panes.indexOf(beforePane);
|
79
|
-
currentOrder = beforePane.get('orderLayer');
|
80
|
-
|
81
|
-
if (currentOrder<orderLayer) {
|
82
|
-
while((beforePane.get('orderLayer')<orderLayer) && (++idx<len)) beforePane = panes[idx];
|
83
|
-
if (idx>=len) beforePane = null ; // insert at end if needed
|
84
|
-
} else if (currentOrder>orderLayer) {
|
85
|
-
while((beforePane.get('orderLayer')>orderLayer) && (--idx>=0)) beforePane = panes[idx];
|
86
|
-
beforePane = (idx<0) ? panes[0] : panes[idx+1]; // go to next pane
|
87
|
-
}
|
88
|
-
|
89
|
-
// otherwise, find the highest pane matching the order...
|
90
|
-
} else {
|
91
|
-
idx = panes.length ;
|
92
|
-
while((--idx >= 0) && !beforePane) {
|
93
|
-
beforePane = panes[idx] ;
|
94
|
-
if (beforePane.get('orderLayer') > orderLayer) beforePane = null; // try next one
|
95
|
-
}
|
96
|
-
if (idx<0) { // did not find a match, insert at beginning
|
97
|
-
beforePane = panes[0];
|
98
|
-
} else beforePane = panes[idx+1]; // go to next pane
|
99
|
-
}
|
100
|
-
|
101
|
-
// adjust array
|
102
|
-
if (beforePane) {
|
103
|
-
idx = panes.indexOf(beforePane);
|
104
|
-
panes.insertAt(idx, pane);
|
105
|
-
} else panes.push(pane);
|
106
|
-
this.set('orderedPanes', panes); // update
|
107
|
-
|
108
|
-
newFocus = this.get('focusedPane');
|
109
|
-
if (newFocus !== currentFocus) {
|
110
|
-
if (currentFocus) currentFocus.blurTo(newFocus);
|
111
|
-
if (newFocus) newFocus.focusFrom(currentFocus);
|
112
|
-
}
|
113
|
-
|
114
|
-
return this ;
|
115
|
-
},
|
116
|
-
|
117
|
-
/**
|
118
|
-
Removes the named pane from the orderedPanes array. If the pane was also
|
119
|
-
focused, it will also blur the pane and focus the next view. If the view
|
120
|
-
is key, it will also determine the next view to make key by going down the
|
121
|
-
list of ordered panes, finally ending with the mainPane.
|
122
|
-
|
123
|
-
@param {SC.Pane} pane
|
124
|
-
@param {SC.Pane} beforePane
|
125
|
-
@returns {SC.RootResponder} receiver
|
126
|
-
*/
|
127
|
-
orderOut: function(pane) {
|
128
|
-
var currentFocus = this.get('focusedPane'), currentKey = this.get('keyPane');
|
129
|
-
|
130
|
-
var panes = this.get('orderedPanes').without(pane) ;
|
131
|
-
this.set('orderedPanes', panes) ;
|
132
|
-
|
133
|
-
// focus only changes if we are removing the current focus view.
|
134
|
-
// in this case, blur the old view and focus the new. Also, if the view was
|
135
|
-
// key, try to make the new focus view key or make main key.
|
136
|
-
if (currentFocus === pane) {
|
137
|
-
var newFocus = this.get('focusedPane') ;
|
138
|
-
if (currentFocus) currentFocus.blurTo(newFocus) ;
|
139
|
-
if (newFocus) newFocus.focusFrom(currentFocus) ;
|
140
|
-
if (currentKey === pane) this.makeKeyPane(newFocus);
|
141
|
-
|
142
|
-
// if the front is not changing, just check for key view. Go back to main...
|
143
|
-
} else if (currentKey === pane) {
|
144
|
-
this.makeKeyPane(null);
|
145
|
-
}
|
146
|
-
|
147
|
-
return this ;
|
148
|
-
},
|
149
|
-
|
150
|
-
init: function() {
|
151
|
-
sc_super();
|
152
|
-
this.orderedPanes = []; // create new array
|
153
|
-
},
|
154
|
-
|
155
|
-
// .......................................................
|
156
|
-
// EVENT HANDLING
|
157
|
-
//
|
158
|
-
|
159
|
-
setup: function() {
|
160
|
-
// handle basic events
|
161
|
-
this.listenFor('keydown keyup mousedown mouseup click dblclick mouseout mouseover mousemove selectstart'.w(), document)
|
162
|
-
.listenFor('resize focus blur'.w(), window);
|
163
|
-
|
164
|
-
// handle special case for keypress- you can't use normal listener to block the backspace key on Mozilla
|
165
|
-
if (this.keypress) {
|
166
|
-
if (SC.CAPTURE_BACKSPACE_KEY && SC.browser.mozilla) {
|
167
|
-
var responder = this ;
|
168
|
-
document.onkeypress = function(e) {
|
169
|
-
e = SC.Event.normalizeEvent(e);
|
170
|
-
return responder.keypress.call(responder, e);
|
171
|
-
};
|
172
|
-
|
173
|
-
SC.Event.add(window, 'unload', this, function() { document.onkeypress = null; }); // be sure to cleanup memory leaks
|
174
|
-
|
175
|
-
// Otherwise, just add a normal event handler.
|
176
|
-
} else SC.Event.add(document, 'keypress', this, this.keypress);
|
177
|
-
}
|
178
|
-
|
179
|
-
// handle these two events specially in IE
|
180
|
-
'drag selectstart'.w().forEach(function(keyName) {
|
181
|
-
var method = this[keyName] ;
|
182
|
-
if (method) {
|
183
|
-
if (SC.browser.msie) {
|
184
|
-
var responder = this ;
|
185
|
-
document.body['on' + keyName] = function(e) {
|
186
|
-
// return method.call(responder, SC.Event.normalizeEvent(e));
|
187
|
-
return method.call(responder, SC.Event.normalizeEvent(event || window.event)); // this is IE :(
|
188
|
-
};
|
189
|
-
|
190
|
-
// be sure to cleanup memory leaks
|
191
|
-
SC.Event.add(window, 'unload', this, function() {
|
192
|
-
document.body['on' + keyName] = null;
|
193
|
-
});
|
194
|
-
|
195
|
-
} else {
|
196
|
-
SC.Event.add(document, keyName, this, method);
|
197
|
-
}
|
198
|
-
}
|
199
|
-
}, this);
|
200
|
-
|
201
|
-
// handle mousewheel specifically for FireFox
|
202
|
-
var mousewheel = SC.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel';
|
203
|
-
SC.Event.add(document, mousewheel, this, this.mousewheel);
|
204
|
-
|
205
|
-
// do some initial set
|
206
|
-
this.set('currentWindowSize', this.computeWindowSize()) ;
|
207
|
-
this.focus(); // assume the window is focused when you load.
|
208
|
-
},
|
209
|
-
|
210
|
-
/**
|
211
|
-
Invoked on a keyDown event that is not handled by any actual value. This
|
212
|
-
will get the key equivalent string and then walk down the keyPane, then
|
213
|
-
the focusedPane, then the mainPane, looking for someone to handle it.
|
214
|
-
Note that this will walk DOWN the view hierarchy, not up it like most.
|
215
|
-
|
216
|
-
@returns {Object} Object that handled evet or null
|
217
|
-
*/
|
218
|
-
attemptKeyEquivalent: function(evt) {
|
219
|
-
var ret = null ;
|
220
|
-
|
221
|
-
// keystring is a method name representing the keys pressed (i.e
|
222
|
-
// 'alt_shift_escape')
|
223
|
-
var keystring = evt.commandCodes()[0];
|
224
|
-
|
225
|
-
// couldn't build a keystring for this key event, nothing to do
|
226
|
-
if (!keystring) return NO;
|
227
|
-
|
228
|
-
var keyPane = this.get('keyPane'), mainPane = this.get('mainPane'),
|
229
|
-
mainMenu = this.get('mainMenu');
|
230
|
-
|
231
|
-
// Try the keyPane. If it's modal, then try the equivalent there but on
|
232
|
-
// nobody else.
|
233
|
-
if (keyPane) {
|
234
|
-
ret = keyPane.performKeyEquivalent(keystring, evt) ;
|
235
|
-
if (ret || keyPane.get('isModal')) return ret ;
|
236
|
-
}
|
237
|
-
|
238
|
-
// if not, then try the main pane
|
239
|
-
if (!ret && mainPane && (mainPane!==keyPane)) {
|
240
|
-
ret = mainPane.performKeyEquivalent(keystring, evt);
|
241
|
-
if (ret || mainPane.get('isModal')) return ret ;
|
242
|
-
}
|
243
|
-
|
244
|
-
// if not, then try the main menu
|
245
|
-
if (!ret && mainMenu) {
|
246
|
-
ret = mainMenu.performKeyEquivalent(keystring, evt);
|
247
|
-
}
|
248
|
-
|
249
|
-
return ret ;
|
250
|
-
},
|
251
|
-
|
252
|
-
/** @property The last known window size. */
|
253
|
-
currentWindowSize: null,
|
254
|
-
|
255
|
-
/** Computes the window size from the DOM. */
|
256
|
-
computeWindowSize: function() {
|
257
|
-
var size ;
|
258
|
-
if (window.innerHeight) {
|
259
|
-
size = {
|
260
|
-
width: window.innerWidth,
|
261
|
-
height: window.innerHeight
|
262
|
-
} ;
|
263
|
-
|
264
|
-
} else if (document.documentElement && document.documentElement.clientHeight) {
|
265
|
-
size = {
|
266
|
-
width: document.documentElement.clientWidth,
|
267
|
-
height: document.documentElement.clientHeight
|
268
|
-
} ;
|
269
|
-
|
270
|
-
} else if (document.body) {
|
271
|
-
size = {
|
272
|
-
width: document.body.clientWidth,
|
273
|
-
height: document.body.clientHeight
|
274
|
-
} ;
|
275
|
-
}
|
276
|
-
return size;
|
277
|
-
},
|
278
|
-
|
279
|
-
/**
|
280
|
-
On window resize, notifies panes of the change.
|
281
|
-
|
282
|
-
@returns {Boolean}
|
283
|
-
*/
|
284
|
-
resize: function() {
|
285
|
-
this._resize();
|
286
|
-
//this.invokeLater(this._resize, 10);
|
287
|
-
return YES; //always allow normal processing to continue.
|
288
|
-
},
|
289
|
-
|
290
|
-
_resize: function() {
|
291
|
-
// calculate new window size...
|
292
|
-
var newSize = this.computeWindowSize(), oldSize = this.get('currentWindowSize');
|
293
|
-
this.set('currentWindowSize', newSize); // update size
|
294
|
-
|
295
|
-
if (!SC.rectsEqual(newSize, oldSize)) {
|
296
|
-
// notify panes
|
297
|
-
if (this.panes) {
|
298
|
-
SC.RunLoop.begin() ;
|
299
|
-
this.panes.invoke('windowSizeDidChange', oldSize, newSize) ;
|
300
|
-
SC.RunLoop.end() ;
|
301
|
-
}
|
302
|
-
}
|
303
|
-
},
|
304
|
-
|
305
|
-
/**
|
306
|
-
Indicates whether or not the window currently has focus. If you need
|
307
|
-
to do something based on whether or not the window is in focus, you can
|
308
|
-
setup a binding or observer to this property. Note that the SproutCore
|
309
|
-
automatically adds an sc-focus or sc-blur CSS class to the body tag as
|
310
|
-
appropriate. If you only care about changing the appearance of your
|
311
|
-
controls, you should use those classes in your CSS rules instead.
|
312
|
-
*/
|
313
|
-
hasFocus: NO,
|
314
|
-
|
315
|
-
/**
|
316
|
-
Handle window focus. Change hasFocus and add sc-focus CSS class
|
317
|
-
(removing sc-blur). Also notify panes.
|
318
|
-
*/
|
319
|
-
focus: function() {
|
320
|
-
if (!this.get('hasFocus')) {
|
321
|
-
SC.$('body').addClass('sc-focus').removeClass('sc-blur');
|
322
|
-
|
323
|
-
SC.RunLoop.begin();
|
324
|
-
this.set('hasFocus', YES);
|
325
|
-
SC.RunLoop.end();
|
326
|
-
}
|
327
|
-
return YES ; // allow default
|
328
|
-
},
|
329
|
-
|
330
|
-
/**
|
331
|
-
Handle window focus. Change hasFocus and add sc-focus CSS class (removing
|
332
|
-
sc-blur). Also notify panes.
|
333
|
-
*/
|
334
|
-
blur: function() {
|
335
|
-
if (this.get('hasFocus')) {
|
336
|
-
SC.$('body').addClass('sc-blur').removeClass('sc-focus');
|
337
|
-
|
338
|
-
SC.RunLoop.begin();
|
339
|
-
this.set('hasFocus', NO);
|
340
|
-
SC.RunLoop.end();
|
341
|
-
}
|
342
|
-
return YES ; // allow default
|
343
|
-
},
|
344
|
-
|
345
|
-
dragDidStart: function(drag) {
|
346
|
-
this._mouseDownView = drag ;
|
347
|
-
this._drag = drag ;
|
348
|
-
},
|
349
|
-
|
350
|
-
// .......................................................
|
351
|
-
// KEYBOARD HANDLING
|
352
|
-
//
|
353
|
-
|
354
|
-
_lastModifiers: null,
|
355
|
-
|
356
|
-
/** @private
|
357
|
-
Modifier key changes are notified with a keydown event in most browsers.
|
358
|
-
We turn this into a flagsChanged keyboard event. Normally this does not
|
359
|
-
stop the normal browser behavior.
|
360
|
-
*/
|
361
|
-
_handleModifierChanges: function(evt) {
|
362
|
-
// if the modifier keys have changed, then notify the first responder.
|
363
|
-
var m;
|
364
|
-
m = this._lastModifiers = (this._lastModifiers || { alt: false, ctrl: false, shift: false });
|
365
|
-
|
366
|
-
var changed = false;
|
367
|
-
if (evt.altKey !== m.alt) { m.alt = evt.altKey; changed=true; }
|
368
|
-
if (evt.ctrlKey !== m.ctrl) { m.ctrl = evt.ctrlKey; changed=true; }
|
369
|
-
if (evt.shiftKey !== m.shift) { m.shift = evt.shiftKey; changed=true;}
|
370
|
-
evt.modifiers = m; // save on event
|
371
|
-
|
372
|
-
return (changed) ? (this.sendEvent('flagsChanged', evt) ? evt.hasCustomEventHandling : YES) : YES ;
|
373
|
-
},
|
374
|
-
|
375
|
-
/** @private
|
376
|
-
Determines if the keyDown event is a nonprintable or function key. These
|
377
|
-
kinds of events are processed as keyboard shortcuts. If no shortcut
|
378
|
-
handles the event, then it will be sent as a regular keyDown event.
|
379
|
-
*/
|
380
|
-
_isFunctionOrNonPrintableKey: function(evt) {
|
381
|
-
return !!(evt.altKey || evt.ctrlKey || evt.metaKey || ((evt.charCode !== evt.which) && SC.FUNCTION_KEYS[evt.which]));
|
382
|
-
},
|
383
|
-
|
384
|
-
/** @private
|
385
|
-
Determines if the event simply reflects a modifier key change. These
|
386
|
-
events may generate a flagsChanged event, but are otherwise ignored.
|
387
|
-
*/
|
388
|
-
_isModifierKey: function(evt) {
|
389
|
-
return !!SC.MODIFIER_KEYS[evt.charCode];
|
390
|
-
},
|
391
|
-
|
392
|
-
/** @private
|
393
|
-
The keydown event occurs whenever the physically depressed key changes.
|
394
|
-
This event is used to deliver the flagsChanged event and to with function
|
395
|
-
keys and keyboard shortcuts.
|
396
|
-
|
397
|
-
All actions that might cause an actual insertion of text are handled in
|
398
|
-
the keypress event.
|
399
|
-
*/
|
400
|
-
keydown: function(evt) {
|
401
|
-
if (SC.none(evt)) return YES;
|
402
|
-
|
403
|
-
// Firefox does NOT handle delete here...
|
404
|
-
if (SC.browser.mozilla && (evt.which === 8)) return true ;
|
405
|
-
|
406
|
-
// modifier keys are handled separately by the 'flagsChanged' event
|
407
|
-
// send event for modifier key changes, but only stop processing if this
|
408
|
-
// is only a modifier change
|
409
|
-
var ret = this._handleModifierChanges(evt),
|
410
|
-
target = evt.target || evt.srcElement,
|
411
|
-
forceBlock = (evt.which === 8) && !SC.allowsBackspaceToPreviousPage && (target === document.body);
|
412
|
-
|
413
|
-
if (this._isModifierKey(evt)) return (forceBlock ? NO : ret);
|
414
|
-
|
415
|
-
// if this is a function or non-printable key, try to use this as a key
|
416
|
-
// equivalent. Otherwise, send as a keyDown event so that the focused
|
417
|
-
// responder can do something useful with the event.
|
418
|
-
ret = YES ;
|
419
|
-
if (this._isFunctionOrNonPrintableKey(evt)) {
|
420
|
-
// otherwise, send as keyDown event. If no one was interested in this
|
421
|
-
// keyDown event (probably the case), just let the browser do its own
|
422
|
-
// processing.
|
423
|
-
|
424
|
-
// Arrow keys are handled in keypress for firefox
|
425
|
-
if (evt.keyCode>=37 && evt.keyCode<=40 && SC.browser.mozilla) return YES;
|
426
|
-
|
427
|
-
ret = this.sendEvent('keyDown', evt) ;
|
428
|
-
|
429
|
-
// attempt key equivalent if key not handled
|
430
|
-
if (!ret) {
|
431
|
-
ret = !this.attemptKeyEquivalent(evt) ;
|
432
|
-
} else {
|
433
|
-
ret = evt.hasCustomEventHandling ;
|
434
|
-
if (ret) forceBlock = NO ; // code asked explicitly to let delete go
|
435
|
-
}
|
436
|
-
}
|
437
|
-
|
438
|
-
return forceBlock ? NO : ret ;
|
439
|
-
},
|
440
|
-
|
441
|
-
/** @private
|
442
|
-
The keypress event occurs after the user has typed something useful that
|
443
|
-
the browser would like to insert. Unlike keydown, the input codes here
|
444
|
-
have been processed to reflect that actual text you might want to insert.
|
445
|
-
|
446
|
-
Normally ignore any function or non-printable key events. Otherwise, just
|
447
|
-
trigger a keyDown.
|
448
|
-
*/
|
449
|
-
keypress: function(evt) {
|
450
|
-
var ret ;
|
451
|
-
|
452
|
-
// delete is handled in keydown() for most browsers
|
453
|
-
if (SC.browser.mozilla && (evt.which === 8)) {
|
454
|
-
//get the keycode and set it for which.
|
455
|
-
evt.which=evt.keyCode;
|
456
|
-
ret = this.sendEvent('keyDown', evt);
|
457
|
-
return ret ? (SC.allowsBackspaceToPreviousPage || evt.hasCustomEventHandling) : YES ;
|
458
|
-
|
459
|
-
// normal processing. send keyDown for printable keys...
|
460
|
-
//there is a special case for arrow key repeating of events in FF.
|
461
|
-
} else {
|
462
|
-
var isFirefoxArrowKeys = (evt.keyCode>=37 && evt.keyCode<=40 && SC.browser.mozilla);
|
463
|
-
if ((evt.charCode !== undefined && evt.charCode === 0) && !isFirefoxArrowKeys) return YES;
|
464
|
-
if (isFirefoxArrowKeys) evt.which=evt.keyCode;
|
465
|
-
return this.sendEvent('keyDown', evt) ? evt.hasCustomEventHandling:YES;
|
466
|
-
}
|
467
|
-
},
|
468
|
-
|
469
|
-
keyup: function(evt) {
|
470
|
-
// to end the simulation of keypress in firefox set the _ffevt to null
|
471
|
-
if(this._ffevt) this._ffevt=null;
|
472
|
-
// modifier keys are handled separately by the 'flagsChanged' event
|
473
|
-
// send event for modifier key changes, but only stop processing if this is only a modifier change
|
474
|
-
var ret = this._handleModifierChanges(evt);
|
475
|
-
if (this._isModifierKey(evt)) return ret;
|
476
|
-
return this.sendEvent('keyUp', evt) ? evt.hasCustomEventHandling:YES;
|
477
|
-
},
|
478
|
-
|
479
|
-
mousedown: function(evt) {
|
480
|
-
try {
|
481
|
-
// make sure the window gets focus no matter what. FF is inconsistant
|
482
|
-
// about this. You have to regain focus on the window for the key events
|
483
|
-
// to get triggered. This happens when we don't let the browser trigger
|
484
|
-
// the default action and we have something in the app like an iframe.
|
485
|
-
window.focus();
|
486
|
-
this.focus();
|
487
|
-
if(SC.browser.msie) {
|
488
|
-
this._lastMouseDownX = evt.clientX;
|
489
|
-
this._lastMouseDownY = evt.clientY;
|
490
|
-
}
|
491
|
-
// first, save the click count. Click count resets if your down is
|
492
|
-
// more than 125msec after you last click up.
|
493
|
-
this._clickCount += 1 ;
|
494
|
-
if (!this._lastMouseUpAt || ((Date.now()-this._lastMouseUpAt) > 200)) {
|
495
|
-
this._clickCount = 1 ;
|
496
|
-
}
|
497
|
-
evt.clickCount = this._clickCount ;
|
498
|
-
|
499
|
-
var fr, view = this.targetViewForEvent(evt) ;
|
500
|
-
// InlineTextField needs to loose firstResponder whenever you click outside
|
501
|
-
// the view. This is a special case as textfields are not supposed to loose
|
502
|
-
// focus unless you click on a list, another textfield or an special
|
503
|
-
// view/control.
|
504
|
-
|
505
|
-
if(view) fr=view.get('pane').get('firstResponder');
|
506
|
-
|
507
|
-
if(fr && fr.kindOf(SC.InlineTextFieldView) && fr!==view){
|
508
|
-
fr.resignFirstResponder();
|
509
|
-
}
|
510
|
-
|
511
|
-
view = this._mouseDownView = this.sendEvent('mouseDown', evt, view) ;
|
512
|
-
if (view && view.respondsTo('mouseDragged')) this._mouseCanDrag = YES ;
|
513
|
-
} catch (e) {
|
514
|
-
|
515
|
-
console.warn('Exception during mousedown: %@'.fmt(e)) ;
|
516
|
-
this._mouseDownView = null ;
|
517
|
-
this._mouseCanDrag = NO ;
|
518
|
-
throw e;
|
519
|
-
}
|
520
|
-
|
521
|
-
return view ? evt.hasCustomEventHandling : YES;
|
522
|
-
},
|
523
|
-
|
524
|
-
/**
|
525
|
-
mouseUp only gets delivered to the view that handled the mouseDown evt.
|
526
|
-
we also handle click and double click notifications through here to
|
527
|
-
ensure consistant delivery. Note that if mouseDownView is not
|
528
|
-
implemented, then no mouseUp event will be sent, but a click will be
|
529
|
-
sent.
|
530
|
-
*/
|
531
|
-
mouseup: function(evt) {
|
532
|
-
|
533
|
-
try {
|
534
|
-
if (this._drag) {
|
535
|
-
this._drag.tryToPerform('mouseUp', evt) ;
|
536
|
-
this._drag = null ;
|
537
|
-
}
|
538
|
-
|
539
|
-
var handler = null, view = this._mouseDownView ;
|
540
|
-
this._lastMouseUpAt = Date.now() ;
|
541
|
-
|
542
|
-
// record click count.
|
543
|
-
evt.clickCount = this._clickCount ;
|
544
|
-
|
545
|
-
// attempt the mouseup call only if there's a target.
|
546
|
-
// don't want a mouseup going to anyone unless they handled the mousedown...
|
547
|
-
if (view) {
|
548
|
-
handler = this.sendEvent('mouseUp', evt, view) ;
|
549
|
-
|
550
|
-
// try doubleClick
|
551
|
-
if (!handler && (this._clickCount === 2)) {
|
552
|
-
handler = this.sendEvent('doubleClick', evt, view) ;
|
553
|
-
}
|
554
|
-
|
555
|
-
// try single click
|
556
|
-
if (!handler) {
|
557
|
-
handler = this.sendEvent('click', evt, view) ;
|
558
|
-
}
|
559
|
-
}
|
560
|
-
|
561
|
-
// try whoever's under the mouse if we haven't handle the mouse up yet
|
562
|
-
if (!handler) {
|
563
|
-
view = this.targetViewForEvent(evt) ;
|
564
|
-
|
565
|
-
// try doubleClick
|
566
|
-
if (this._clickCount === 2) {
|
567
|
-
handler = this.sendEvent('doubleClick', evt, view);
|
568
|
-
}
|
569
|
-
|
570
|
-
// try singleClick
|
571
|
-
if (!handler) {
|
572
|
-
handler = this.sendEvent('click', evt, view) ;
|
573
|
-
}
|
574
|
-
}
|
575
|
-
|
576
|
-
// cleanup
|
577
|
-
this._mouseCanDrag = NO; this._mouseDownView = null ;
|
578
|
-
} catch (e) {
|
579
|
-
this._drag = null; this._mouseCanDrag = NO; this._mouseDownView = null ;
|
580
|
-
throw e;
|
581
|
-
}
|
582
|
-
return (handler) ? evt.hasCustomEventHandling : YES ;
|
583
|
-
},
|
584
|
-
|
585
|
-
dblclick: function(evt){
|
586
|
-
if (SC.browser.isIE) {
|
587
|
-
this._clickCount = 2;
|
588
|
-
// this._onmouseup(evt);
|
589
|
-
this.mouseup(evt);
|
590
|
-
}
|
591
|
-
},
|
592
|
-
|
593
|
-
mousewheel: function(evt) {
|
594
|
-
try {
|
595
|
-
var view = this.targetViewForEvent(evt) ,
|
596
|
-
handler = this.sendEvent('mouseWheel', evt, view) ;
|
597
|
-
} catch (e) {
|
598
|
-
throw e;
|
599
|
-
}
|
600
|
-
return (handler) ? evt.hasCustomEventHandling : YES ;
|
601
|
-
},
|
602
|
-
|
603
|
-
_lastHovered: null,
|
604
|
-
|
605
|
-
/**
|
606
|
-
This will send mouseEntered, mouseExited, mousedDragged and mouseMoved
|
607
|
-
to the views you hover over. To receive these events, you must implement
|
608
|
-
the method. If any subviews implement them and return true, then you won't
|
609
|
-
receive any notices.
|
610
|
-
|
611
|
-
If there is a target mouseDown view, then mouse moved events will also
|
612
|
-
trigger calls to mouseDragged.
|
613
|
-
*/
|
614
|
-
mousemove: function(evt) {
|
615
|
-
if (SC.browser.msie) {
|
616
|
-
if (this._lastMoveX === evt.clientX && this._lastMoveY === evt.clientY) return;
|
617
|
-
}
|
618
|
-
|
619
|
-
// We'll record the last positions in all browsers, in case a special pane
|
620
|
-
// or some such UI absolutely needs this information.
|
621
|
-
this._lastMoveX = evt.clientX;
|
622
|
-
this._lastMoveY = evt.clientY;
|
623
|
-
|
624
|
-
SC.RunLoop.begin();
|
625
|
-
try {
|
626
|
-
// make sure the view gets focus no matter what. FF is inconsistant
|
627
|
-
// about this.
|
628
|
-
this.focus();
|
629
|
-
// only do mouse[Moved|Entered|Exited|Dragged] if not in a drag session
|
630
|
-
// drags send their own events, e.g. drag[Moved|Entered|Exited]
|
631
|
-
if (this._drag) {
|
632
|
-
//IE triggers mousemove at the same time as mousedown
|
633
|
-
if(SC.browser.msie){
|
634
|
-
if (this._lastMouseDownX !== evt.clientX && this._lastMouseDownY !== evt.clientY) {
|
635
|
-
this._drag.tryToPerform('mouseDragged', evt);
|
636
|
-
}
|
637
|
-
}
|
638
|
-
else {
|
639
|
-
this._drag.tryToPerform('mouseDragged', evt);
|
640
|
-
}
|
641
|
-
} else {
|
642
|
-
var lh = this._lastHovered || [] , nh = [] , exited, loc, len,
|
643
|
-
view = this.targetViewForEvent(evt) ;
|
644
|
-
|
645
|
-
// work up the view chain. Notify of mouse entered and
|
646
|
-
// mouseMoved if implemented.
|
647
|
-
while(view && (view !== this)) {
|
648
|
-
if (lh.indexOf(view) !== -1) {
|
649
|
-
view.tryToPerform('mouseMoved', evt);
|
650
|
-
nh.push(view) ;
|
651
|
-
} else {
|
652
|
-
view.tryToPerform('mouseEntered', evt);
|
653
|
-
nh.push(view) ;
|
654
|
-
}
|
655
|
-
|
656
|
-
view = view.get('nextResponder');
|
657
|
-
}
|
658
|
-
// now find those views last hovered over that were no longer found
|
659
|
-
// in this chain and notify of mouseExited.
|
660
|
-
for(loc=0, len=lh.length; loc < len; loc++) {
|
661
|
-
view = lh[loc] ;
|
662
|
-
exited = view.respondsTo('mouseExited') ;
|
663
|
-
if (exited && !(nh.indexOf(view) !== -1)) {
|
664
|
-
view.tryToPerform('mouseExited',evt);
|
665
|
-
}
|
666
|
-
}
|
667
|
-
this._lastHovered = nh;
|
668
|
-
|
669
|
-
// also, if a mouseDownView exists, call the mouseDragged action, if
|
670
|
-
// it exists.
|
671
|
-
if (this._mouseDownView) {
|
672
|
-
if(SC.browser.msie){
|
673
|
-
if (this._lastMouseDownX !== evt.clientX && this._lastMouseDownY !== evt.clientY) {
|
674
|
-
this._mouseDownView.tryToPerform('mouseDragged', evt);
|
675
|
-
}
|
676
|
-
}
|
677
|
-
else {
|
678
|
-
this._mouseDownView.tryToPerform('mouseDragged', evt);
|
679
|
-
}
|
680
|
-
}
|
681
|
-
}
|
682
|
-
} catch (e) {
|
683
|
-
throw e;
|
684
|
-
}
|
685
|
-
SC.RunLoop.end();
|
686
|
-
},
|
687
|
-
|
688
|
-
// these methods are used to prevent unnecessary text-selection in IE,
|
689
|
-
// there could be some more work to improve this behavior and make it
|
690
|
-
// a bit more useful; right now it's just to prevent bugs when dragging
|
691
|
-
// and dropping.
|
692
|
-
|
693
|
-
_mouseCanDrag: YES,
|
694
|
-
|
695
|
-
selectstart: function(evt) {
|
696
|
-
var result = this.sendEvent('selectStart', evt, this.targetViewForEvent(evt));
|
697
|
-
return (result !==null ? YES: NO) && (this._mouseCanDrag ? NO : YES);
|
698
|
-
},
|
699
|
-
|
700
|
-
drag: function() { return false; }
|
701
|
-
|
702
|
-
});
|