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
@@ -99,13 +99,7 @@ SC.SelectFieldView = SC.FieldView.extend(
|
|
99
99
|
sortObjects: function(objects) {
|
100
100
|
if(!this.get('disableSort')){
|
101
101
|
var nameKey = this.get('sortKey') || this.get('nameKey') ;
|
102
|
-
objects = objects.
|
103
|
-
if (nameKey) {
|
104
|
-
a = a.get ? a.get(nameKey) : a[nameKey] ;
|
105
|
-
b = b.get ? b.get(nameKey) : b[nameKey] ;
|
106
|
-
}
|
107
|
-
return (a<b) ? -1 : ((a>b) ? 1 : 0) ;
|
108
|
-
}) ;
|
102
|
+
objects = objects.sortProperty(nameKey);
|
109
103
|
}
|
110
104
|
return objects ;
|
111
105
|
},
|
@@ -139,8 +133,8 @@ SC.SelectFieldView = SC.FieldView.extend(
|
|
139
133
|
if (emptyName) {
|
140
134
|
if (shouldLocalize) emptyName = emptyName.loc() ;
|
141
135
|
if(firstTime){
|
142
|
-
context.push('<option value="***"
|
143
|
-
|
136
|
+
context.push('<option value="***">'+emptyName+'</option>',
|
137
|
+
'<option disabled="disabled"></option>') ;
|
144
138
|
}else{
|
145
139
|
el=document.createElement('option');
|
146
140
|
el.value="***";
|
@@ -153,7 +147,7 @@ SC.SelectFieldView = SC.FieldView.extend(
|
|
153
147
|
}
|
154
148
|
|
155
149
|
// generate option elements.
|
156
|
-
objects.forEach(function(object) {
|
150
|
+
objects.forEach(function(object, index) {
|
157
151
|
if (object) {
|
158
152
|
// either get the name from the object or convert object to string.
|
159
153
|
var name = nameKey ? (object.get ? object.get(nameKey) : object[nameKey]) : object.toString() ;
|
@@ -167,12 +161,17 @@ SC.SelectFieldView = SC.FieldView.extend(
|
|
167
161
|
// get the value using the valueKey or the object if no valueKey.
|
168
162
|
// then convert to a string or use _guid if one of available.
|
169
163
|
var value = (valueKey) ? (object.get ? object.get(valueKey) : object[valueKey]) : object ;
|
164
|
+
// if there is no emptyName and no preselected value
|
165
|
+
// then the value should be the value of the first element in the list
|
166
|
+
if (!emptyName && index === 0 && fieldValue === '***') {
|
167
|
+
this.set('value', value);
|
168
|
+
}
|
170
169
|
if (value) value = (SC.guidFor(value)) ? SC.guidFor(value) : value.toString() ;
|
171
170
|
|
172
171
|
// render HTML
|
173
172
|
var disable = (this.validateMenuItem && this.validateMenuItem(value, name)) ? '' : 'disabled="disabled" ' ;
|
174
173
|
if(firstTime){
|
175
|
-
context.push('<option
|
174
|
+
context.push('<option '+disable+'value="'+value+'">'+name+'</option>') ;
|
176
175
|
} else{
|
177
176
|
el=document.createElement('option');
|
178
177
|
el.value=value;
|
@@ -253,6 +252,7 @@ SC.SelectFieldView = SC.FieldView.extend(
|
|
253
252
|
found = null ; // matching object goes here.
|
254
253
|
while(!found && (--loc >= 0)) {
|
255
254
|
object = objects.objectAt? objects.objectAt(loc) : objects[loc] ;
|
255
|
+
if (!object) continue; // null means placeholder; just skip
|
256
256
|
|
257
257
|
// get value using valueKey if there is one or use object
|
258
258
|
// map to _guid or toString.
|
@@ -268,8 +268,9 @@ SC.SelectFieldView = SC.FieldView.extend(
|
|
268
268
|
},
|
269
269
|
|
270
270
|
setFieldValue: function(newValue) {
|
271
|
-
if (SC.none(newValue)) {
|
272
|
-
|
271
|
+
if (SC.none(newValue)) {
|
272
|
+
newValue = '***' ;
|
273
|
+
} else {
|
273
274
|
newValue = ((newValue) ? (SC.guidFor(newValue) ? SC.guidFor(newValue) : newValue.toString()) : null );
|
274
275
|
}
|
275
276
|
this.$input().val(newValue);
|
@@ -298,6 +299,7 @@ SC.SelectFieldView = SC.FieldView.extend(
|
|
298
299
|
|
299
300
|
didCreateLayer: function() {
|
300
301
|
var input = this.$input();
|
302
|
+
if (this.get('isEnabled') === false) this.$()[0].disabled = true;
|
301
303
|
SC.Event.add(input, 'blur', this, this.fieldDidBlur);
|
302
304
|
SC.Event.add(input, 'focus',this, this.fieldDidFocus);
|
303
305
|
return sc_super();
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Project: SproutCore - JavaScript Application Framework
|
3
3
|
// Copyright: ©2006-2009 Sprout Systems, Inc. and contributors.
|
4
4
|
// Portions ©2008-2009 Apple Inc. All rights reserved.
|
5
|
-
// License:
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
7
|
|
8
8
|
/** @class
|
@@ -25,13 +25,6 @@ SC.SliderView = SC.View.extend(SC.Control,
|
|
25
25
|
|
26
26
|
classNames: 'sc-slider-view',
|
27
27
|
|
28
|
-
/**
|
29
|
-
The DOM element that displays the handle. This element will have its
|
30
|
-
top-left corner updated to reflect the current state of the slider. Use
|
31
|
-
margin-offsets to properly position your handle over this location.
|
32
|
-
*/
|
33
|
-
handleSelector: 'img.sc-handle',
|
34
|
-
|
35
28
|
/**
|
36
29
|
Bind this to the current value of the progress bar. Note that by default
|
37
30
|
an empty value will disable the progress bar and a multiple value too make
|
@@ -83,37 +76,31 @@ SC.SliderView = SC.View.extend(SC.Control,
|
|
83
76
|
|
84
77
|
displayProperties: 'value minimum maximum'.w(),
|
85
78
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
var
|
79
|
+
createRenderer: function(t) {
|
80
|
+
return t.slider();
|
81
|
+
},
|
82
|
+
|
83
|
+
updateRenderer: function(r) {
|
84
|
+
var min = this.get('minimum'),
|
85
|
+
max = this.get('maximum'),
|
86
|
+
value = this.get('value'),
|
87
|
+
step = this.get('step');
|
92
88
|
|
93
89
|
// determine the constrained value. Must fit within min & max
|
94
90
|
value = Math.min(Math.max(value, min), max);
|
95
91
|
|
96
92
|
// limit to step value
|
97
|
-
var step = this.get('step');
|
98
93
|
if (!SC.none(step) && step !== 0) {
|
99
94
|
value = Math.round(value / step) * step;
|
100
95
|
}
|
101
96
|
|
102
97
|
// determine the percent across
|
103
|
-
value = Math.floor((value - min) / (max - min) * 100);
|
104
|
-
|
105
|
-
if(firstTime) {
|
106
|
-
var blankImage = SC.BLANK_IMAGE_URL;
|
107
|
-
context.push('<span class="sc-inner">');
|
108
|
-
context.push('<span class="sc-leftcap"></span>');
|
109
|
-
context.push('<span class="sc-rightcap"></span>');
|
110
|
-
context.push('<img src="', blankImage, '" class="sc-handle" style="left: ', value, '%" />');
|
111
|
-
context.push('</span>');
|
112
|
-
}
|
113
|
-
else {
|
114
|
-
this.$(this.get('handleSelector')).css('left', value + "%");
|
115
|
-
}
|
98
|
+
if(value!==0) value = Math.floor((value - min) / (max - min) * 100);
|
116
99
|
|
100
|
+
// set atributes
|
101
|
+
r.attr({
|
102
|
+
"value": value
|
103
|
+
});
|
117
104
|
},
|
118
105
|
|
119
106
|
_isMouseDown: NO,
|
@@ -122,7 +109,7 @@ SC.SliderView = SC.View.extend(SC.Control,
|
|
122
109
|
if (!this.get('isEnabled')) return YES; // nothing to do...
|
123
110
|
this.set('isActive', YES);
|
124
111
|
this._isMouseDown = YES ;
|
125
|
-
return this._triggerHandle(evt);
|
112
|
+
return this._triggerHandle(evt, YES);
|
126
113
|
},
|
127
114
|
|
128
115
|
// mouseDragged uses same technique as mouseDown.
|
@@ -138,30 +125,73 @@ SC.SliderView = SC.View.extend(SC.Control,
|
|
138
125
|
return ret ;
|
139
126
|
},
|
140
127
|
|
128
|
+
mouseWheel: function(evt) {
|
129
|
+
if (!this.get('isEnabled')) return YES;
|
130
|
+
var min = this.get('minimum'),
|
131
|
+
max = this.get('maximum'),
|
132
|
+
newVal = this.get('value')+((evt.wheelDeltaX+evt.wheelDeltaY)*0.01),
|
133
|
+
step = this.get('step'),
|
134
|
+
value = Math.round(newVal / step) * step ;
|
135
|
+
if (newVal< min) this.setIfChanged('value', min);
|
136
|
+
else if (newVal> max) this.setIfChanged('value', max);
|
137
|
+
else this.setIfChanged('value', newVal);
|
138
|
+
return YES ;
|
139
|
+
},
|
140
|
+
|
141
|
+
touchStart: function(evt){
|
142
|
+
return this.mouseDown(evt);
|
143
|
+
},
|
144
|
+
|
145
|
+
touchEnd: function(evt){
|
146
|
+
return this.mouseUp(evt);
|
147
|
+
},
|
148
|
+
|
149
|
+
touchesDragged: function(evt){
|
150
|
+
return this.mouseDragged(evt);
|
151
|
+
},
|
152
|
+
|
141
153
|
/** @private
|
142
154
|
Updates the handle based on the mouse location of the handle in the
|
143
155
|
event.
|
144
156
|
*/
|
145
|
-
_triggerHandle: function(evt) {
|
146
|
-
var
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
157
|
+
_triggerHandle: function(evt, firstEvent) {
|
158
|
+
var width = this.get('frame').width,
|
159
|
+
min = this.get('minimum'), max=this.get('maximum'),
|
160
|
+
step = this.get('step'), v=this.get('value'), loc;
|
161
|
+
|
162
|
+
if(firstEvent){
|
163
|
+
loc = this.convertFrameFromView({ x: evt.pageX }).x;
|
164
|
+
this._evtDiff = evt.pageX - loc;
|
165
|
+
}else{
|
166
|
+
loc = evt.pageX-this._evtDiff;
|
167
|
+
}
|
152
168
|
|
153
169
|
// convert to percentage
|
154
|
-
loc = loc / width ;
|
170
|
+
loc = Math.max(0, Math.min(loc / width, 1));
|
171
|
+
|
172
|
+
// if the location is NOT in the general vicinity of the slider, we assume
|
173
|
+
// that the mouse pointer or touch is in the center of where the knob should be.
|
174
|
+
// otherwise, if we are starting, we need to do extra to add an offset
|
175
|
+
if (firstEvent) {
|
176
|
+
var value = this.get("value");
|
177
|
+
value = (value - min) / (max - min);
|
178
|
+
|
179
|
+
// if the value and the loc are within 16px
|
180
|
+
if (Math.abs(value * width - loc * width) < 16) this._offset = value - loc;
|
181
|
+
else this._offset = 0;
|
182
|
+
}
|
183
|
+
|
184
|
+
// add offset
|
185
|
+
loc = loc + this._offset;
|
155
186
|
|
156
|
-
var min = this.get('minimum'),max=this.get('maximum');
|
157
|
-
var step = this.get('step'), v=this.get('value');
|
158
|
-
|
159
187
|
// convert to value using minimum/maximum then constrain to steps
|
160
188
|
loc = min + ((max-min)*loc);
|
161
189
|
if (step !== 0) loc = Math.round(loc / step) * step ;
|
162
|
-
|
190
|
+
|
163
191
|
// if changes by more than a rounding amount, set v.
|
164
|
-
if (Math.abs(v-loc)>=0.01)
|
192
|
+
if (Math.abs(v-loc)>=0.01) {
|
193
|
+
this.set('value', loc); // adjust
|
194
|
+
}
|
165
195
|
return YES ;
|
166
196
|
},
|
167
197
|
|
@@ -177,7 +207,7 @@ SC.SliderView = SC.View.extend(SC.Control,
|
|
177
207
|
this._isFocused = YES ;
|
178
208
|
this.becomeFirstResponder();
|
179
209
|
if (this.get('isVisibleInWindow')) {
|
180
|
-
this
|
210
|
+
if (this.renderer) this.renderer.focus();
|
181
211
|
}
|
182
212
|
}
|
183
213
|
},
|
@@ -197,9 +227,9 @@ SC.SliderView = SC.View.extend(SC.Control,
|
|
197
227
|
}
|
198
228
|
|
199
229
|
if (evt.which === 37 || evt.which === 38 || evt.which === 39 || evt.which === 40){
|
200
|
-
var min = this.get('minimum'),max=this.get('maximum')
|
201
|
-
|
202
|
-
|
230
|
+
var min = this.get('minimum'),max=this.get('maximum'),
|
231
|
+
step = this.get('step'),
|
232
|
+
size = max-min, val=0, calculateStep;
|
203
233
|
|
204
234
|
if (evt.which === 37 || evt.which === 38 ){
|
205
235
|
if(step === 0){
|
@@ -252,4 +282,4 @@ SC.SliderView = SC.View.extend(SC.Control,
|
|
252
282
|
.endPropertyChanges();
|
253
283
|
}
|
254
284
|
|
255
|
-
});
|
285
|
+
});
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Project: SproutCore - JavaScript Application Framework
|
3
3
|
// Copyright: ©2006-2009 Sprout Systems, Inc. and contributors.
|
4
4
|
// Portions ©2008-2009 Apple Inc. All rights reserved.
|
5
|
-
// License:
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
7
|
|
8
8
|
sc_require('views/list') ;
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Project: SproutCore - JavaScript Application Framework
|
3
3
|
// Copyright: ©2006-2009 Sprout Systems, Inc. and contributors.
|
4
4
|
// Portions ©2008-2009 Apple Inc. All rights reserved.
|
5
|
-
// License:
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
7
|
|
8
8
|
sc_require('mixins/collection_group');
|
@@ -73,9 +73,9 @@ SC.SourceListGroupView = SC.View.extend(SC.Control, SC.CollectionGroup,
|
|
73
73
|
groupVisibleKey: null,
|
74
74
|
|
75
75
|
render: function(context, firstTime) {
|
76
|
-
context.push('<
|
77
|
-
|
78
|
-
|
76
|
+
context.push('<div role="button" class="sc-source-list-label sc-disclosure-view sc-button-view button disclosure no-disclosure">',
|
77
|
+
'<img src="'+SC.BLANK_IMAGE_URL+'" class="button" />',
|
78
|
+
'<span class="label"></span></div>') ;
|
79
79
|
},
|
80
80
|
|
81
81
|
/** @private */
|
@@ -2,14 +2,12 @@
|
|
2
2
|
// Project: SproutCore - JavaScript Application Framework
|
3
3
|
// Copyright: ©2006-2009 Sprout Systems, Inc. and contributors.
|
4
4
|
// Portions ©2008-2009 Apple Inc. All rights reserved.
|
5
|
-
// License:
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
SC.
|
11
|
-
SC.RESIZE_TOP_LEFT = 'resize-top-left' ;
|
12
|
-
SC.RESIZE_BOTTOM_RIGHT = 'resize-bottom-right' ;
|
8
|
+
SC.RESIZE_BOTH = 'resize-both';
|
9
|
+
SC.RESIZE_TOP_LEFT = 'resize-top-left';
|
10
|
+
SC.RESIZE_BOTTOM_RIGHT = 'resize-bottom-right';
|
13
11
|
|
14
12
|
/**
|
15
13
|
@class
|
@@ -50,9 +48,9 @@ SC.RESIZE_BOTTOM_RIGHT = 'resize-bottom-right' ;
|
|
50
48
|
clicking on a divider again will restore a collapsed view. A user can also
|
51
49
|
start to drag the divider to show the collapsed view.
|
52
50
|
|
53
|
-
You can programmatically control collapsing behavior using various
|
54
|
-
on either the split view or its child views, and/or by
|
55
|
-
method splitViewCanCollapse on a delegate object.
|
51
|
+
You can programmatically control collapsing behavior using various
|
52
|
+
properties on either the split view or its child views, and/or by
|
53
|
+
implementing the method splitViewCanCollapse on a delegate object.
|
56
54
|
|
57
55
|
Finally, SplitViews can layout their child views either horizontally or
|
58
56
|
vertically. To choose the direction of layout set the layoutDirection
|
@@ -60,13 +58,6 @@ SC.RESIZE_BOTTOM_RIGHT = 'resize-bottom-right' ;
|
|
60
58
|
This property should be set when the view is created. Changing it
|
61
59
|
dynamically will have an unknown effect.
|
62
60
|
|
63
|
-
@property {Boolean} layoutDirection Either SC.HORIZONTAL or SC.VERTICAL.
|
64
|
-
Defaults to SC.HORIZONTAL. Use the :direction option with the split_view
|
65
|
-
viewhelper.
|
66
|
-
|
67
|
-
@property {Boolean} canCollapseViews Set to NO when you don't want any of
|
68
|
-
the child views to collapse. Defaults to YES.
|
69
|
-
|
70
61
|
In addition, the top/left and bottom/right child views can have these
|
71
62
|
properties:
|
72
63
|
|
@@ -82,8 +73,6 @@ SC.SplitView = SC.View.extend(
|
|
82
73
|
|
83
74
|
classNames: ['sc-split-view'],
|
84
75
|
|
85
|
-
childLayoutProperties: 'layoutDirection dividerThickness autoresizeBehavior'.w(),
|
86
|
-
|
87
76
|
displayProperties: ['layoutDirection'],
|
88
77
|
|
89
78
|
/**
|
@@ -95,11 +84,15 @@ SC.SplitView = SC.View.extend(
|
|
95
84
|
Direction of layout. Must be SC.LAYOUT_HORIZONTAL or SC.LAYOUT_VERTICAL.
|
96
85
|
|
97
86
|
@property {String}
|
87
|
+
@default SC.LAYOUT_HORIZONTAL
|
98
88
|
*/
|
99
89
|
layoutDirection: SC.LAYOUT_HORIZONTAL,
|
100
90
|
|
101
91
|
/**
|
102
92
|
Set to NO to disable collapsing for all views.
|
93
|
+
|
94
|
+
@property {Boolean}
|
95
|
+
@default YES
|
103
96
|
*/
|
104
97
|
canCollapseViews: YES,
|
105
98
|
|
@@ -110,6 +103,8 @@ SC.SplitView = SC.View.extend(
|
|
110
103
|
| SC.RESIZE_BOTTOM_RIGHT | (default) resizes bottomRightView |
|
111
104
|
| SC.RESIZE_TOP_LEFT | resized topLeftView |
|
112
105
|
|
106
|
+
@property {String}
|
107
|
+
@default SC.RESIZE_BOTTOM_RIGHT
|
113
108
|
*/
|
114
109
|
autoresizeBehavior: SC.RESIZE_BOTTOM_RIGHT,
|
115
110
|
|
@@ -118,24 +113,91 @@ SC.SplitView = SC.View.extend(
|
|
118
113
|
A number less than one will be treated as a percentage, while a number
|
119
114
|
greater than one will be treated as a pixel width.
|
120
115
|
|
121
|
-
The thickness will be applied to the opposite view defined by
|
116
|
+
The thickness will be applied to the opposite view defined by
|
117
|
+
autoresizeBehavior.
|
122
118
|
|
123
119
|
@property {Number}
|
120
|
+
@default 0.5
|
124
121
|
*/
|
125
122
|
defaultThickness: 0.5,
|
126
|
-
|
123
|
+
|
124
|
+
/**
|
125
|
+
Sets minimum thickness of topLeft view.
|
126
|
+
|
127
|
+
@property {Number}
|
128
|
+
@default null
|
129
|
+
*/
|
130
|
+
topLeftMinThickness: null,
|
131
|
+
|
132
|
+
/**
|
133
|
+
Sets maximum thickness of topLeft view.
|
134
|
+
|
135
|
+
@property {Number}
|
136
|
+
@default null
|
137
|
+
*/
|
138
|
+
topLeftMaxThickness: null,
|
139
|
+
|
140
|
+
/**
|
141
|
+
Sets minimum thickness of bottomRight view.
|
142
|
+
|
143
|
+
@property {Number}
|
144
|
+
@default null
|
145
|
+
*/
|
146
|
+
bottomRightMinThickness: null,
|
147
|
+
|
148
|
+
/**
|
149
|
+
Sets maximum thickness of bottomRight view.
|
150
|
+
|
151
|
+
@property {Number}
|
152
|
+
@default null
|
153
|
+
*/
|
154
|
+
bottomRightMaxThickness: null,
|
155
|
+
|
156
|
+
/**
|
157
|
+
Sets thickness of divider.
|
158
|
+
|
159
|
+
@property {Number}
|
160
|
+
@default null
|
161
|
+
*/
|
162
|
+
dividerThickness: null,
|
163
|
+
|
127
164
|
/**
|
128
165
|
Yes, we're a split view.
|
166
|
+
|
167
|
+
@property {Boolean}
|
168
|
+
@default YES
|
129
169
|
*/
|
130
170
|
isSplitView: YES,
|
131
171
|
|
132
|
-
|
172
|
+
/**
|
173
|
+
The view to use for the top left
|
174
|
+
|
175
|
+
@property {SC.View}
|
176
|
+
@default SC.View
|
177
|
+
*/
|
133
178
|
topLeftView: SC.View,
|
179
|
+
|
180
|
+
/**
|
181
|
+
The view to use for the divider
|
182
|
+
|
183
|
+
@property {SC.View}
|
184
|
+
@default SC.SplitDividerView
|
185
|
+
*/
|
134
186
|
dividerView: SC.SplitDividerView,
|
187
|
+
|
188
|
+
/**
|
189
|
+
The view to use for the bottom right
|
190
|
+
|
191
|
+
@property {SC.View}
|
192
|
+
@default SC.View
|
193
|
+
*/
|
135
194
|
bottomRightView: SC.View,
|
136
195
|
|
137
196
|
/**
|
138
197
|
The current thickness for the topLeftView
|
198
|
+
|
199
|
+
@property {Number}
|
200
|
+
@isReadOnly
|
139
201
|
*/
|
140
202
|
topLeftThickness: function() {
|
141
203
|
var view = this.get('topLeftView');
|
@@ -144,6 +206,9 @@ SC.SplitView = SC.View.extend(
|
|
144
206
|
|
145
207
|
/**
|
146
208
|
The current thickness for the bottomRightView
|
209
|
+
|
210
|
+
@property {Number}
|
211
|
+
@isReadOnly
|
147
212
|
*/
|
148
213
|
bottomRightThickness: function() {
|
149
214
|
var view = this.get('bottomRightView');
|
@@ -151,16 +216,21 @@ SC.SplitView = SC.View.extend(
|
|
151
216
|
}.property('bottomRightView').cacheable(),
|
152
217
|
|
153
218
|
/**
|
154
|
-
|
219
|
+
The cursor thumb views should use for themselves
|
220
|
+
|
221
|
+
@property {SC.Cursor}
|
222
|
+
@default null
|
155
223
|
*/
|
156
224
|
thumbViewCursor: null,
|
157
225
|
|
158
226
|
/**
|
159
227
|
Used by split divider to decide if the view can be collapsed.
|
228
|
+
|
229
|
+
@property {Boolean}
|
230
|
+
@isReadOnly
|
160
231
|
*/
|
161
232
|
canCollapseView: function(view) {
|
162
|
-
|
163
|
-
return this.invokeDelegateMethod(this.delegate, 'splitViewCanCollapse', this, view) ;
|
233
|
+
return this.invokeDelegateMethod(this.delegate, 'splitViewCanCollapse', this, view);
|
164
234
|
},
|
165
235
|
|
166
236
|
/**
|
@@ -170,30 +240,35 @@ SC.SplitView = SC.View.extend(
|
|
170
240
|
@returns the view with the width.
|
171
241
|
*/
|
172
242
|
thicknessForView: function(view) {
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
return (direction === SC.LAYOUT_HORIZONTAL) ? ret.width : ret.height ;
|
243
|
+
var direction = this.get('layoutDirection'),
|
244
|
+
ret = view.get('frame');
|
245
|
+
return (direction === SC.LAYOUT_HORIZONTAL) ? ret.width : ret.height;
|
177
246
|
},
|
178
247
|
|
248
|
+
/**
|
249
|
+
Creates the topLeftView/dividerView/bottomRightView and adds them to the
|
250
|
+
childViews array
|
251
|
+
|
252
|
+
@returns SC.View the SplitDivider view (this)
|
253
|
+
*/
|
179
254
|
createChildViews: function() {
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
view,
|
184
|
-
|
185
|
-
for (
|
186
|
-
if (view = this.get(
|
187
|
-
view = this[
|
255
|
+
var childViews = [],
|
256
|
+
views = ['topLeftView', 'dividerView', 'bottomRightView'],
|
257
|
+
l = views.length,
|
258
|
+
view, i;
|
259
|
+
|
260
|
+
for (i=0; i<l; ++i) {
|
261
|
+
if (view = this.get(views[i])) {
|
262
|
+
view = this[views[i]] = this.createChildView(view, {
|
188
263
|
layoutView: this,
|
189
|
-
rootElementPath: [
|
190
|
-
})
|
191
|
-
childViews.push(view)
|
264
|
+
rootElementPath: [i]
|
265
|
+
});
|
266
|
+
childViews.push(view);
|
192
267
|
}
|
193
268
|
}
|
194
269
|
|
195
|
-
this.set('childViews', childViews)
|
196
|
-
return this
|
270
|
+
this.set('childViews', childViews);
|
271
|
+
return this;
|
197
272
|
},
|
198
273
|
|
199
274
|
/**
|
@@ -204,75 +279,74 @@ SC.SplitView = SC.View.extend(
|
|
204
279
|
that they can resize appropriately.
|
205
280
|
*/
|
206
281
|
updateChildLayout: function() {
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
direction = this.get('layoutDirection')
|
212
|
-
|
213
|
-
|
214
|
-
dividerThickness =
|
215
|
-
|
216
|
-
bottomRightThickness = splitViewThickness - dividerThickness - topLeftThickness
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
// console.log('topLeftThickness == %@'.fmt(topLeftThickness));
|
221
|
-
// console.log('dividerThickness == %@'.fmt(dividerThickness));
|
222
|
-
// console.log('splitViewThickness == %@'.fmt(splitViewThickness));
|
223
|
-
// console.log('bottomRightThickness == %@'.fmt(bottomRightThickness));
|
282
|
+
var topLeftView = this.get('topLeftView'),
|
283
|
+
bottomRightView = this.get('bottomRightView'),
|
284
|
+
dividerView = this.get('dividerView'),
|
285
|
+
autoresizeBehavior = this.get('autoresizeBehavior'),
|
286
|
+
direction = this.get('layoutDirection'),
|
287
|
+
frame = this.get('frame'),
|
288
|
+
topLeftThickness = this._desiredTopLeftThickness,
|
289
|
+
dividerThickness = this.get('dividerThickness'),
|
290
|
+
splitViewThickness = (direction === SC.LAYOUT_HORIZONTAL) ? frame.width : frame.height,
|
291
|
+
bottomRightThickness = splitViewThickness - dividerThickness - topLeftThickness,
|
292
|
+
layout, isCollapsed;
|
293
|
+
|
294
|
+
dividerThickness = (!SC.none(dividerThickness)) ? dividerThickness : 7;
|
224
295
|
|
225
296
|
// top/left view
|
226
|
-
isCollapsed = topLeftView.get('isCollapsed') || NO
|
227
|
-
topLeftView.setIfChanged('isVisible', !isCollapsed)
|
297
|
+
isCollapsed = topLeftView.get('isCollapsed') || NO;
|
298
|
+
topLeftView.setIfChanged('isVisible', !isCollapsed);
|
228
299
|
layout = SC.clone(topLeftView.get('layout'));
|
300
|
+
|
229
301
|
if (direction === SC.LAYOUT_HORIZONTAL) {
|
230
|
-
layout.top = 0
|
231
|
-
layout.left = 0
|
232
|
-
layout.bottom = 0
|
302
|
+
layout.top = 0;
|
303
|
+
layout.left = 0;
|
304
|
+
layout.bottom = 0;
|
305
|
+
|
233
306
|
switch (autoresizeBehavior) {
|
234
307
|
case SC.RESIZE_BOTH:
|
235
308
|
throw "SC.RESIZE_BOTH is currently unsupported.";
|
236
309
|
case SC.RESIZE_TOP_LEFT:
|
237
|
-
layout.right = bottomRightThickness + dividerThickness
|
238
|
-
delete layout.width
|
239
|
-
break
|
310
|
+
layout.right = bottomRightThickness + dividerThickness;
|
311
|
+
delete layout.width;
|
312
|
+
break;
|
240
313
|
case SC.RESIZE_BOTTOM_RIGHT:
|
241
|
-
delete layout.right
|
242
|
-
delete layout.height
|
243
|
-
layout.width = topLeftThickness
|
244
|
-
break
|
314
|
+
delete layout.right;
|
315
|
+
delete layout.height;
|
316
|
+
layout.width = topLeftThickness;
|
317
|
+
break;
|
245
318
|
}
|
246
319
|
} else {
|
247
320
|
layout.top = 0;
|
248
|
-
layout.left = 0
|
249
|
-
layout.right = 0
|
321
|
+
layout.left = 0;
|
322
|
+
layout.right = 0;
|
323
|
+
|
250
324
|
switch (autoresizeBehavior) {
|
251
325
|
case SC.RESIZE_BOTH:
|
252
326
|
throw "SC.RESIZE_BOTH is currently unsupported.";
|
253
327
|
case SC.RESIZE_TOP_LEFT:
|
254
|
-
layout.bottom = bottomRightThickness + dividerThickness
|
255
|
-
delete layout.height
|
256
|
-
break
|
328
|
+
layout.bottom = bottomRightThickness + dividerThickness;
|
329
|
+
delete layout.height;
|
330
|
+
break;
|
257
331
|
case SC.RESIZE_BOTTOM_RIGHT:
|
258
|
-
|
259
|
-
delete layout.
|
260
|
-
layout.
|
261
|
-
break
|
332
|
+
layout.height = topLeftThickness;
|
333
|
+
delete layout.bottom;
|
334
|
+
delete layout.width;
|
335
|
+
break;
|
262
336
|
}
|
263
337
|
}
|
264
|
-
// console.log('topLeftView layout %@'.fmt(SC.inspect(layout)));
|
265
|
-
// console.log(topLeftView);
|
266
338
|
topLeftView.set('layout', layout);
|
267
339
|
|
268
340
|
// split divider view
|
269
341
|
if (dividerView) {
|
270
342
|
layout = SC.clone(dividerView.get('layout'));
|
343
|
+
|
271
344
|
if (direction === SC.LAYOUT_HORIZONTAL) {
|
272
345
|
layout.width = dividerThickness;
|
273
|
-
|
274
|
-
layout.
|
275
|
-
layout.
|
346
|
+
layout.top = 0;
|
347
|
+
layout.bottom = 0;
|
348
|
+
delete layout.height;
|
349
|
+
|
276
350
|
switch (autoresizeBehavior) {
|
277
351
|
case SC.RESIZE_BOTH:
|
278
352
|
throw "SC.RESIZE_BOTH is currently unsupported.";
|
@@ -282,25 +356,24 @@ SC.SplitView = SC.View.extend(
|
|
282
356
|
// delete layout.centerY ;
|
283
357
|
//break ;
|
284
358
|
case SC.RESIZE_TOP_LEFT:
|
285
|
-
|
286
|
-
layout.
|
287
|
-
delete layout.centerX
|
288
|
-
delete layout.centerY
|
289
|
-
break
|
359
|
+
layout.right = bottomRightThickness;
|
360
|
+
delete layout.left;
|
361
|
+
delete layout.centerX;
|
362
|
+
delete layout.centerY;
|
363
|
+
break;
|
290
364
|
case SC.RESIZE_BOTTOM_RIGHT:
|
291
|
-
layout.left = topLeftThickness
|
292
|
-
delete layout.right
|
293
|
-
delete layout.centerX
|
294
|
-
delete layout.centerY
|
295
|
-
break
|
365
|
+
layout.left = topLeftThickness;
|
366
|
+
delete layout.right;
|
367
|
+
delete layout.centerX;
|
368
|
+
delete layout.centerY;
|
369
|
+
break;
|
296
370
|
}
|
297
371
|
} else {
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
layout.
|
302
|
-
|
303
|
-
layout.right = 0 ;
|
372
|
+
layout.height = dividerThickness;
|
373
|
+
layout.left = 0;
|
374
|
+
layout.right = 0;
|
375
|
+
delete layout.width;
|
376
|
+
|
304
377
|
switch (autoresizeBehavior) {
|
305
378
|
case SC.RESIZE_BOTH:
|
306
379
|
throw "SC.RESIZE_BOTH is currently unsupported.";
|
@@ -310,163 +383,145 @@ SC.SplitView = SC.View.extend(
|
|
310
383
|
// layout.centerY = topLeftThickness + (dividerThickness / 2) ;
|
311
384
|
//break ;
|
312
385
|
case SC.RESIZE_TOP_LEFT:
|
313
|
-
|
314
|
-
layout.
|
315
|
-
delete layout.centerX
|
316
|
-
delete layout.centerY
|
386
|
+
layout.bottom = bottomRightThickness;
|
387
|
+
delete layout.top;
|
388
|
+
delete layout.centerX;
|
389
|
+
delete layout.centerY;
|
317
390
|
break ;
|
318
391
|
case SC.RESIZE_BOTTOM_RIGHT:
|
319
|
-
layout.top = topLeftThickness
|
320
|
-
delete layout.bottom
|
321
|
-
delete layout.centerX
|
322
|
-
delete layout.centerY
|
392
|
+
layout.top = topLeftThickness;
|
393
|
+
delete layout.bottom;
|
394
|
+
delete layout.centerX;
|
395
|
+
delete layout.centerY;
|
323
396
|
break ;
|
324
397
|
}
|
325
398
|
}
|
326
|
-
// console.log('dividerView layout %@'.fmt(SC.inspect(layout)));
|
327
|
-
// console.log(dividerView);
|
328
399
|
dividerView.set('layout', layout);
|
329
400
|
}
|
330
401
|
|
331
402
|
// bottom/right view
|
332
|
-
isCollapsed = bottomRightView.get('isCollapsed') || NO
|
333
|
-
bottomRightView.setIfChanged('isVisible', !isCollapsed)
|
403
|
+
isCollapsed = bottomRightView.get('isCollapsed') || NO;
|
404
|
+
bottomRightView.setIfChanged('isVisible', !isCollapsed);
|
334
405
|
layout = SC.clone(bottomRightView.get('layout'));
|
406
|
+
|
335
407
|
if (direction === SC.LAYOUT_HORIZONTAL) {
|
336
|
-
layout.top = 0
|
337
|
-
layout.bottom = 0
|
338
|
-
layout.right = 0
|
408
|
+
layout.top = 0;
|
409
|
+
layout.bottom = 0;
|
410
|
+
layout.right = 0;
|
411
|
+
|
339
412
|
switch (autoresizeBehavior) {
|
340
413
|
case SC.RESIZE_BOTH:
|
341
414
|
throw "SC.RESIZE_BOTH is currently unsupported.";
|
342
|
-
//break ;
|
343
415
|
case SC.RESIZE_BOTTOM_RIGHT:
|
344
|
-
layout.left = topLeftThickness + dividerThickness
|
345
|
-
delete layout.width
|
346
|
-
break
|
416
|
+
layout.left = topLeftThickness + dividerThickness;
|
417
|
+
delete layout.width;
|
418
|
+
break;
|
347
419
|
case SC.RESIZE_TOP_LEFT:
|
348
|
-
|
349
|
-
layout.
|
350
|
-
break
|
420
|
+
layout.width = bottomRightThickness;
|
421
|
+
delete layout.left;
|
422
|
+
break;
|
351
423
|
}
|
352
424
|
} else {
|
353
|
-
layout.left = 0
|
354
|
-
layout.right = 0
|
355
|
-
layout.bottom = 0
|
425
|
+
layout.left = 0;
|
426
|
+
layout.right = 0;
|
427
|
+
layout.bottom = 0;
|
428
|
+
|
356
429
|
switch (autoresizeBehavior) {
|
357
430
|
case SC.RESIZE_BOTH:
|
358
431
|
throw "SC.RESIZE_BOTH is currently unsupported.";
|
359
|
-
//break ;
|
360
432
|
case SC.RESIZE_BOTTOM_RIGHT:
|
361
|
-
layout.top = topLeftThickness + dividerThickness
|
362
|
-
delete layout.height
|
363
|
-
break
|
433
|
+
layout.top = topLeftThickness + dividerThickness;
|
434
|
+
delete layout.height;
|
435
|
+
break;
|
364
436
|
case SC.RESIZE_TOP_LEFT:
|
365
|
-
delete layout.top
|
366
|
-
layout.height = bottomRightThickness
|
367
|
-
break
|
437
|
+
delete layout.top;
|
438
|
+
layout.height = bottomRightThickness;
|
439
|
+
break;
|
368
440
|
}
|
369
441
|
}
|
370
|
-
// console.log('bottomRightView layout %@'.fmt(SC.inspect(layout)));
|
371
|
-
// console.log(bottomRightView);
|
372
442
|
bottomRightView.set('layout', layout);
|
373
443
|
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
this.notifyPropertyChange('topLeftThickness')
|
378
|
-
.notifyPropertyChange('bottomRightThickness');
|
444
|
+
this
|
445
|
+
.notifyPropertyChange('topLeftThickness')
|
446
|
+
.notifyPropertyChange('bottomRightThickness');
|
379
447
|
},
|
380
448
|
|
381
449
|
/** @private */
|
382
450
|
renderLayout: function(context, firstTime) {
|
383
|
-
// console.log('%@.renderLayout(%@, %@)'.fmt(this, context, firstTime));
|
384
|
-
// console.log('%@.frame = %@'.fmt(this, SC.inspect(this.get('frame'))));
|
385
451
|
if (firstTime || this._recalculateDivider) {
|
452
|
+
|
453
|
+
var layoutDirection = this.get('layoutDirection'),
|
454
|
+
frame = this.get('frame'),
|
455
|
+
elem = this.$(),
|
456
|
+
desiredThickness = this.get('defaultThickness') ,
|
457
|
+
autoResizeBehavior = this.get('autoresizeBehavior'),
|
458
|
+
dividerThickness = this.get('dividerThickness'),
|
459
|
+
splitViewThickness;
|
460
|
+
|
386
461
|
if (!this.get('thumbViewCursor')) {
|
387
|
-
this.set('thumbViewCursor', SC.Cursor.create())
|
462
|
+
this.set('thumbViewCursor', SC.Cursor.create());
|
388
463
|
}
|
389
464
|
|
390
|
-
|
391
|
-
|
392
|
-
splitViewThickness, elemRendered = this.$(),
|
393
|
-
desiredThickness = this.get('defaultThickness') ,
|
394
|
-
autoResizeBehavior = this.get('autoresizeBehavior') ;
|
395
|
-
var dividerThickness = this.get('dividerThickness') ;
|
396
|
-
dividerThickness = (!SC.none(dividerThickness)) ? dividerThickness : 7 ;
|
465
|
+
dividerThickness = !SC.none(dividerThickness) ? dividerThickness : 7;
|
466
|
+
|
397
467
|
// Turn a flag on to recalculate the spliting if the desired thickness
|
398
468
|
// is a percentage
|
399
|
-
|
400
|
-
|
401
|
-
|
469
|
+
if (this._recalculateDivider === undefined && desiredThickness < 1) {
|
470
|
+
this._recalculateDivider = YES;
|
471
|
+
} else if (this._recalculateDivider) {
|
472
|
+
this._recalculateDivider = NO;
|
402
473
|
}
|
403
|
-
else if(this._recalculateDivider) this._recalculateDivider=NO;
|
404
|
-
|
405
474
|
|
406
|
-
if(
|
407
|
-
splitViewThickness = (layoutDirection === SC.LAYOUT_HORIZONTAL) ?
|
408
|
-
|
409
|
-
|
410
|
-
splitViewThickness = (layoutDirection === SC.LAYOUT_HORIZONTAL) ?
|
411
|
-
fr.width : fr.height ;
|
475
|
+
if (elem[0]) {
|
476
|
+
splitViewThickness = (layoutDirection === SC.LAYOUT_HORIZONTAL) ? elem[0].offsetWidth : elem[0].offsetHeight;
|
477
|
+
} else {
|
478
|
+
splitViewThickness = (layoutDirection === SC.LAYOUT_HORIZONTAL) ? frame.width : frame.height;
|
412
479
|
}
|
480
|
+
|
413
481
|
// if default thickness is < 1, convert from percentage to absolute
|
414
482
|
if (SC.none(desiredThickness) || (desiredThickness > 0 && desiredThickness < 1)) {
|
415
|
-
desiredThickness =
|
483
|
+
desiredThickness = Math.floor((splitViewThickness - (dividerThickness)) * (desiredThickness || 0.5));
|
416
484
|
}
|
485
|
+
|
417
486
|
if (autoResizeBehavior === SC.RESIZE_BOTTOM_RIGHT) {
|
418
|
-
this._desiredTopLeftThickness = desiredThickness
|
419
|
-
} else {
|
420
|
-
this._desiredTopLeftThickness =
|
487
|
+
this._desiredTopLeftThickness = desiredThickness;
|
488
|
+
} else {
|
489
|
+
this._desiredTopLeftThickness = splitViewThickness - dividerThickness - desiredThickness ;
|
421
490
|
}
|
422
491
|
|
423
492
|
// make sure we don't exceed our min and max values, and that collapse
|
424
493
|
// settings are respected
|
425
494
|
// cached values are required by _updateTopLeftThickness() below...
|
426
|
-
this._topLeftView = this.get('topLeftView')
|
427
|
-
this._bottomRightView = this.get('bottomRightView')
|
495
|
+
this._topLeftView = this.get('topLeftView');
|
496
|
+
this._bottomRightView = this.get('bottomRightView');
|
428
497
|
this._topLeftViewThickness = this.thicknessForView(this.get('topLeftView'));
|
429
498
|
this._bottomRightThickness = this.thicknessForView(this.get('bottomRightView'));
|
430
|
-
this._dividerThickness = this.get('dividerThickness')
|
431
|
-
this._layoutDirection = this.get('layoutDirection')
|
499
|
+
this._dividerThickness = this.get('dividerThickness');
|
500
|
+
this._layoutDirection = this.get('layoutDirection');
|
432
501
|
|
433
502
|
// this handles min-max settings and collapse parameters
|
434
|
-
this._updateTopLeftThickness(0)
|
503
|
+
this._updateTopLeftThickness(0);
|
435
504
|
|
436
505
|
// update the cursor used by thumb views
|
437
|
-
this._setCursorStyle()
|
506
|
+
this._setCursorStyle();
|
438
507
|
|
439
508
|
// actually set layout for our child views
|
440
|
-
this.updateChildLayout()
|
509
|
+
this.updateChildLayout();
|
441
510
|
}
|
442
|
-
|
511
|
+
|
512
|
+
sc_super();
|
443
513
|
},
|
444
514
|
|
445
515
|
/** @private */
|
446
516
|
render: function(context, firstTime) {
|
447
|
-
|
448
|
-
// console.log('%@.frame = %@'.fmt(this, SC.inspect(this.get('frame'))));
|
449
|
-
sc_super() ;
|
517
|
+
sc_super();
|
450
518
|
|
451
|
-
if (this._inLiveResize) this._setCursorStyle()
|
519
|
+
if (this._inLiveResize) this._setCursorStyle();
|
452
520
|
|
453
|
-
if (
|
454
|
-
|
455
|
-
if (dir===SC.LAYOUT_HORIZONTAL) context.addClass('sc-horizontal') ;
|
456
|
-
else context.addClass('sc-vertical') ;
|
457
|
-
}
|
521
|
+
if (this.get('layoutDirection') === SC.LAYOUT_HORIZONTAL) context.addClass('sc-horizontal');
|
522
|
+
else context.addClass('sc-vertical');
|
458
523
|
},
|
459
524
|
|
460
|
-
// layoutDidChangeFor: function(childView) {
|
461
|
-
// // console.log('%@.layoutChildViews(%@)'.fmt(this, childView));
|
462
|
-
// sc_super() ;
|
463
|
-
// },
|
464
|
-
//
|
465
|
-
// layoutChildViews: function() {
|
466
|
-
// // console.log('%@.layoutChildViews()'.fmt(this));
|
467
|
-
// sc_super() ;
|
468
|
-
// },
|
469
|
-
|
470
525
|
/**
|
471
526
|
Update the split view's layout based on mouse movement.
|
472
527
|
|
@@ -477,72 +532,73 @@ SC.SplitView = SC.View.extend(
|
|
477
532
|
@returns {Boolean}
|
478
533
|
*/
|
479
534
|
mouseDownInThumbView: function(evt, thumbView) {
|
480
|
-
|
481
|
-
|
482
|
-
var responder = this.getPath('pane.rootResponder') ;
|
483
|
-
if (!responder) return NO ; // nothing to do
|
535
|
+
var responder = this.getPath('pane.rootResponder');
|
536
|
+
if (!responder) return NO; // nothing to do
|
484
537
|
|
485
538
|
// we're not the source view of the mouseDown:, so we need to capture events manually to receive them
|
486
|
-
responder.dragDidStart(this)
|
539
|
+
responder.dragDidStart(this);
|
487
540
|
|
488
541
|
// cache for later
|
489
|
-
this._mouseDownX = evt.pageX
|
490
|
-
this._mouseDownY = evt.pageY
|
491
|
-
this._thumbView = thumbView
|
492
|
-
this._topLeftView = this.get('topLeftView')
|
493
|
-
this._bottomRightView = this.get('bottomRightView')
|
542
|
+
this._mouseDownX = evt.pageX;
|
543
|
+
this._mouseDownY = evt.pageY;
|
544
|
+
this._thumbView = thumbView;
|
545
|
+
this._topLeftView = this.get('topLeftView');
|
546
|
+
this._bottomRightView = this.get('bottomRightView');
|
494
547
|
this._topLeftViewThickness = this.thicknessForView(this.get('topLeftView'));
|
495
548
|
this._bottomRightThickness = this.thicknessForView(this.get('bottomRightView'));
|
496
|
-
this._dividerThickness = this.get('dividerThickness')
|
497
|
-
this._layoutDirection = this.get('layoutDirection')
|
549
|
+
this._dividerThickness = this.get('dividerThickness');
|
550
|
+
this._layoutDirection = this.get('layoutDirection');
|
498
551
|
|
499
|
-
this.beginLiveResize()
|
500
|
-
this._inLiveResize = YES
|
552
|
+
this.beginLiveResize();
|
553
|
+
this._inLiveResize = YES;
|
501
554
|
|
502
|
-
return YES
|
555
|
+
return YES;
|
503
556
|
},
|
504
557
|
|
505
558
|
mouseDragged: function(evt) {
|
506
|
-
// console.log('%@.mouseDragged(%@)'.fmt(this, evt));
|
507
|
-
// console.log(evt.originalEvent);
|
508
559
|
var offset = (this._layoutDirection === SC.LAYOUT_HORIZONTAL) ? evt.pageX - this._mouseDownX : evt.pageY - this._mouseDownY ;
|
509
|
-
this._updateTopLeftThickness(offset)
|
560
|
+
this._updateTopLeftThickness(offset);
|
510
561
|
return YES;
|
511
562
|
},
|
512
563
|
|
513
564
|
mouseUp: function(evt) {
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
this.
|
518
|
-
|
519
|
-
this.endLiveResize() ;
|
520
|
-
return YES ;
|
565
|
+
if (this._inLiveResize === YES) {
|
566
|
+
this._thumbView = null; // avoid memory leaks
|
567
|
+
this._inLiveResize = NO;
|
568
|
+
this.endLiveResize();
|
569
|
+
return YES;
|
521
570
|
}
|
522
571
|
|
523
|
-
return NO
|
572
|
+
return NO;
|
573
|
+
},
|
574
|
+
|
575
|
+
touchesDragged: function(evt){
|
576
|
+
return this.mouseDragged(evt);
|
577
|
+
},
|
578
|
+
|
579
|
+
touchEnd: function(evt){
|
580
|
+
return this.mouseUp(evt);
|
524
581
|
},
|
525
582
|
|
526
583
|
doubleClickInThumbView: function(evt, thumbView) {
|
527
|
-
// console.log('%@.mouseDragged(%@, %@)'.fmt(this, evt, thumbView));
|
528
|
-
// console.log(evt.originalEvent);
|
529
584
|
var view = this._topLeftView,
|
530
|
-
isCollapsed = view.get('isCollapsed') || NO
|
585
|
+
isCollapsed = view.get('isCollapsed') || NO;
|
586
|
+
|
531
587
|
if (!isCollapsed && !this.canCollapseView(view)) {
|
532
|
-
view = this._bottomRightView
|
533
|
-
isCollapsed = view.get('isCollapsed') || NO
|
588
|
+
view = this._bottomRightView;
|
589
|
+
isCollapsed = view.get('isCollapsed') || NO;
|
534
590
|
if (!isCollapsed && !this.canCollapseView(view)) return NO;
|
535
591
|
}
|
536
592
|
|
537
593
|
if (!isCollapsed) {
|
538
594
|
// remember thickness in it's uncollapsed state
|
539
|
-
this._uncollapsedThickness = this.
|
595
|
+
this._uncollapsedThickness = this.thicknessForView(view);
|
540
596
|
// and collapse
|
541
597
|
// this.setThicknessForView(view, 0) ;
|
542
598
|
if (view === this._topLeftView) {
|
543
|
-
this.
|
599
|
+
this._updateTopLeftThickness(this.topLeftThickness()*-1);
|
544
600
|
} else {
|
545
|
-
this.
|
601
|
+
this._updateBottomRightThickness(this.bottomRightThickness()*-1);
|
546
602
|
}
|
547
603
|
|
548
604
|
// if however the splitview decided not to collapse, clear:
|
@@ -552,25 +608,107 @@ SC.SplitView = SC.View.extend(
|
|
552
608
|
} else {
|
553
609
|
// uncollapse to the last thickness in it's uncollapsed state
|
554
610
|
if (view === this._topLeftView) {
|
555
|
-
this.
|
611
|
+
this._updateTopLeftThickness(this._uncollapsedThickness);
|
556
612
|
} else {
|
557
|
-
this.
|
613
|
+
this._updateBottomRightThickness(this._uncollapsedThickness);
|
558
614
|
}
|
559
|
-
view._uncollapsedThickness = null
|
615
|
+
view._uncollapsedThickness = null;
|
560
616
|
}
|
561
|
-
this._setCursorStyle()
|
562
|
-
return true
|
617
|
+
this._setCursorStyle();
|
618
|
+
return true;
|
563
619
|
},
|
564
620
|
|
565
621
|
/** @private */
|
566
622
|
_updateTopLeftThickness: function(offset) {
|
567
|
-
|
568
|
-
|
623
|
+
var topLeftView = this._topLeftView,
|
624
|
+
bottomRightView = this._bottomRightView,
|
625
|
+
// the current thickness, not the original thickness
|
626
|
+
topLeftViewThickness = this.thicknessForView(topLeftView),
|
627
|
+
bottomRightViewThickness = this.thicknessForView(bottomRightView),
|
628
|
+
minAvailable = this._dividerThickness,
|
629
|
+
maxAvailable = 0,
|
630
|
+
proposedThickness = this._topLeftViewThickness + offset,
|
631
|
+
direction = this._layoutDirection,
|
632
|
+
bottomRightCanCollapse = this.canCollapseView(bottomRightView),
|
633
|
+
thickness = proposedThickness,
|
634
|
+
// constrain to thickness set on top/left
|
635
|
+
max = this.get('topLeftMaxThickness'),
|
636
|
+
min = this.get('topLeftMinThickness'),
|
637
|
+
bottomRightThickness, tlCollapseAtThickness, brCollapseAtThickness;
|
638
|
+
|
639
|
+
if (!topLeftView.get("isCollapsed")) {
|
640
|
+
maxAvailable += topLeftViewThickness;
|
641
|
+
}
|
642
|
+
if (!bottomRightView.get("isCollapsed")) {
|
643
|
+
maxAvailable += bottomRightViewThickness;
|
644
|
+
}
|
645
|
+
|
646
|
+
if (!SC.none(max)) thickness = Math.min(max, thickness);
|
647
|
+
if (!SC.none(min)) thickness = Math.max(min, thickness);
|
648
|
+
|
649
|
+
// constrain to thickness set on bottom/right
|
650
|
+
max = this.get('bottomRightMaxThickness');
|
651
|
+
min = this.get('bottomRightMinThickness');
|
652
|
+
bottomRightThickness = maxAvailable - thickness;
|
653
|
+
if (!SC.none(max)) {
|
654
|
+
bottomRightThickness = Math.min(max, bottomRightThickness);
|
655
|
+
}
|
656
|
+
if (!SC.none(min)) {
|
657
|
+
bottomRightThickness = Math.max(min, bottomRightThickness);
|
658
|
+
}
|
659
|
+
thickness = maxAvailable - bottomRightThickness;
|
660
|
+
|
661
|
+
// constrain to thickness determined by delegate.
|
662
|
+
thickness = this.invokeDelegateMethod(this.delegate,
|
663
|
+
'splitViewConstrainThickness', this, topLeftView, thickness);
|
664
|
+
|
665
|
+
// cannot be more than what's available
|
666
|
+
thickness = Math.min(thickness, maxAvailable);
|
667
|
+
|
668
|
+
// cannot be less than zero
|
669
|
+
thickness = Math.max(0, thickness);
|
670
|
+
|
671
|
+
tlCollapseAtThickness = topLeftView.get('collapseAtThickness');
|
672
|
+
if (!tlCollapseAtThickness) tlCollapseAtThickness = 0;
|
673
|
+
brCollapseAtThickness = bottomRightView.get('collapseAtThickness');
|
674
|
+
brCollapseAtThickness = SC.none(brCollapseAtThickness) ? maxAvailable : (maxAvailable - brCollapseAtThickness);
|
675
|
+
|
676
|
+
if ((proposedThickness <= tlCollapseAtThickness) && this.canCollapseView(topLeftView)) {
|
677
|
+
// want to collapse top/left, check if this doesn't violate the max thickness of bottom/right
|
678
|
+
max = bottomRightView.get('maxThickness');
|
679
|
+
if (!max || (minAvailable + maxAvailable) <= max) {
|
680
|
+
// collapse top/left view, even if it has a minThickness
|
681
|
+
thickness = 0;
|
682
|
+
}
|
683
|
+
} else if (proposedThickness >= brCollapseAtThickness && this.canCollapseView(bottomRightView)) {
|
684
|
+
// want to collapse bottom/right, check if this doesn't violate the max thickness of top/left
|
685
|
+
max = topLeftView.get('maxThickness');
|
686
|
+
if (!max || (minAvailable + maxAvailable) <= max) {
|
687
|
+
// collapse bottom/right view, even if it has a minThickness
|
688
|
+
thickness = maxAvailable;
|
689
|
+
}
|
690
|
+
}
|
691
|
+
|
692
|
+
// now apply constrained value
|
693
|
+
if (thickness != this.thicknessForView(topLeftView)) {
|
694
|
+
this._desiredTopLeftThickness = thickness;
|
695
|
+
|
696
|
+
// un-collapse if needed.
|
697
|
+
topLeftView.set('isCollapsed', thickness === 0);
|
698
|
+
bottomRightView.set('isCollapsed', thickness >= maxAvailable);
|
699
|
+
|
700
|
+
this.updateChildLayout(); // updates child layouts
|
701
|
+
this.displayDidChange(); // updates cursor
|
702
|
+
}
|
703
|
+
},
|
704
|
+
|
705
|
+
|
706
|
+
_updateBottomRightThickness: function(offset) {
|
569
707
|
var topLeftView = this._topLeftView ,
|
570
708
|
bottomRightView = this._bottomRightView,
|
571
709
|
topLeftViewThickness = this.thicknessForView(topLeftView), // the current thickness, not the original thickness
|
572
710
|
bottomRightViewThickness = this.thicknessForView(bottomRightView),
|
573
|
-
minAvailable = this._dividerThickness
|
711
|
+
minAvailable = this._dividerThickness,
|
574
712
|
maxAvailable = 0,
|
575
713
|
proposedThickness = this._topLeftViewThickness + offset,
|
576
714
|
direction = this._layoutDirection,
|
@@ -581,32 +719,32 @@ SC.SplitView = SC.View.extend(
|
|
581
719
|
min = this.get('topLeftMinThickness'),
|
582
720
|
bottomRightThickness, tlCollapseAtThickness, brCollapseAtThickness;
|
583
721
|
|
584
|
-
if (!topLeftView.get("isCollapsed")) maxAvailable += topLeftViewThickness
|
585
|
-
if (!bottomRightView.get("isCollapsed")) maxAvailable += bottomRightViewThickness
|
722
|
+
if (!topLeftView.get("isCollapsed")) maxAvailable += topLeftViewThickness;
|
723
|
+
if (!bottomRightView.get("isCollapsed")) maxAvailable += bottomRightViewThickness;
|
586
724
|
|
587
|
-
if (!SC.none(max)) thickness = Math.min(max, thickness)
|
588
|
-
if (!SC.none(min)) thickness = Math.max(min, thickness)
|
725
|
+
if (!SC.none(max)) thickness = Math.min(max, thickness);
|
726
|
+
if (!SC.none(min)) thickness = Math.max(min, thickness);
|
589
727
|
|
590
728
|
// constrain to thickness set on bottom/right
|
591
|
-
max = this.get('bottomRightMaxThickness')
|
592
|
-
min = this.get('bottomRightMinThickness')
|
729
|
+
max = this.get('bottomRightMaxThickness');
|
730
|
+
min = this.get('bottomRightMinThickness');
|
593
731
|
bottomRightThickness = maxAvailable - thickness ;
|
594
|
-
if (!SC.none(max)) bottomRightThickness = Math.min(max, bottomRightThickness)
|
595
|
-
if (!SC.none(min)) bottomRightThickness = Math.max(min, bottomRightThickness)
|
596
|
-
thickness = maxAvailable - bottomRightThickness
|
732
|
+
if (!SC.none(max)) bottomRightThickness = Math.min(max, bottomRightThickness);
|
733
|
+
if (!SC.none(min)) bottomRightThickness = Math.max(min, bottomRightThickness);
|
734
|
+
thickness = maxAvailable - bottomRightThickness;
|
597
735
|
|
598
736
|
// constrain to thickness determined by delegate.
|
599
|
-
thickness = this.invokeDelegateMethod(this.delegate, 'splitViewConstrainThickness', this, topLeftView, thickness)
|
737
|
+
thickness = this.invokeDelegateMethod(this.delegate, 'splitViewConstrainThickness', this, topLeftView, thickness);
|
600
738
|
|
601
739
|
// cannot be more than what's available
|
602
|
-
thickness = Math.min(thickness, maxAvailable)
|
740
|
+
thickness = Math.min(thickness, maxAvailable);
|
603
741
|
|
604
742
|
// cannot be less than zero
|
605
|
-
thickness = Math.max(0, thickness)
|
743
|
+
thickness = Math.max(0, thickness);
|
606
744
|
|
607
|
-
tlCollapseAtThickness = topLeftView.get('collapseAtThickness')
|
608
|
-
if (!tlCollapseAtThickness) tlCollapseAtThickness = 0
|
609
|
-
brCollapseAtThickness = bottomRightView.get('collapseAtThickness')
|
745
|
+
tlCollapseAtThickness = topLeftView.get('collapseAtThickness');
|
746
|
+
if (!tlCollapseAtThickness) tlCollapseAtThickness = 0;
|
747
|
+
brCollapseAtThickness = bottomRightView.get('collapseAtThickness');
|
610
748
|
brCollapseAtThickness = SC.none(brCollapseAtThickness) ? maxAvailable : (maxAvailable - brCollapseAtThickness);
|
611
749
|
|
612
750
|
if ((proposedThickness <= tlCollapseAtThickness) && this.canCollapseView(topLeftView)) {
|
@@ -614,7 +752,7 @@ SC.SplitView = SC.View.extend(
|
|
614
752
|
max = bottomRightView.get('maxThickness');
|
615
753
|
if (!max || (minAvailable + maxAvailable) <= max) {
|
616
754
|
// collapse top/left view, even if it has a minThickness
|
617
|
-
thickness = 0
|
755
|
+
thickness = 0;
|
618
756
|
}
|
619
757
|
} else if (proposedThickness >= brCollapseAtThickness && this.canCollapseView(bottomRightView)) {
|
620
758
|
// want to collapse bottom/right, check if this doesn't violate the max thickness of top/left
|
@@ -627,14 +765,12 @@ SC.SplitView = SC.View.extend(
|
|
627
765
|
|
628
766
|
// now apply constrained value
|
629
767
|
if (thickness != this.thicknessForView(topLeftView)) {
|
630
|
-
this._desiredTopLeftThickness = thickness
|
768
|
+
this._desiredTopLeftThickness = thickness;
|
631
769
|
|
632
770
|
// un-collapse if needed.
|
633
|
-
topLeftView.set('isCollapsed', thickness === 0)
|
634
|
-
bottomRightView.set('isCollapsed', thickness >= maxAvailable)
|
771
|
+
topLeftView.set('isCollapsed', thickness === 0);
|
772
|
+
bottomRightView.set('isCollapsed', thickness >= maxAvailable);
|
635
773
|
|
636
|
-
// this.set('displayNeedsUpdate', YES);
|
637
|
-
// this.adjustLayout();
|
638
774
|
this.updateChildLayout(); // updates child layouts
|
639
775
|
this.displayDidChange(); // updates cursor
|
640
776
|
}
|
@@ -647,20 +783,29 @@ SC.SplitView = SC.View.extend(
|
|
647
783
|
@private
|
648
784
|
*/
|
649
785
|
_setCursorStyle: function() {
|
650
|
-
|
651
|
-
var topLeftView = this._topLeftView ;
|
786
|
+
var topLeftView = this._topLeftView,
|
652
787
|
bottomRightView = this._bottomRightView,
|
653
788
|
thumbViewCursor = this.get('thumbViewCursor'),
|
654
|
-
// updates the cursor of the thumb view that called
|
789
|
+
// updates the cursor of the thumb view that called
|
790
|
+
// mouseDownInThumbView() to reflect the status of the drag
|
655
791
|
tlThickness = this.thicknessForView(topLeftView),
|
656
792
|
brThickness = this.thicknessForView(bottomRightView);
|
657
|
-
this._layoutDirection = this.get('layoutDirection')
|
658
|
-
if (topLeftView.get('isCollapsed') ||
|
659
|
-
|
660
|
-
|
661
|
-
thumbViewCursor.set('cursorStyle', this._layoutDirection === SC.LAYOUT_HORIZONTAL ? "
|
793
|
+
this._layoutDirection = this.get('layoutDirection');
|
794
|
+
if (topLeftView.get('isCollapsed') ||
|
795
|
+
tlThickness === this.get("topLeftMinThickness") ||
|
796
|
+
brThickness == this.get("bottomRightMaxThickness")) {
|
797
|
+
thumbViewCursor.set('cursorStyle', this._layoutDirection === SC.LAYOUT_HORIZONTAL ? "e-resize" : "s-resize");
|
798
|
+
} else if (bottomRightView.get('isCollapsed') ||
|
799
|
+
tlThickness === this.get("topLeftMaxThickness") ||
|
800
|
+
brThickness == this.get("bottomRightMinThickness")) {
|
801
|
+
thumbViewCursor.set('cursorStyle', this._layoutDirection === SC.LAYOUT_HORIZONTAL ? "w-resize" : "n-resize");
|
662
802
|
} else {
|
663
|
-
|
803
|
+
if(SC.browser.msie) {
|
804
|
+
thumbViewCursor.set('cursorStyle', this._layoutDirection === SC.LAYOUT_HORIZONTAL ? "e-resize" : "n-resize");
|
805
|
+
}
|
806
|
+
else {
|
807
|
+
thumbViewCursor.set('cursorStyle', this._layoutDirection === SC.LAYOUT_HORIZONTAL ? "ew-resize" : "ns-resize");
|
808
|
+
}
|
664
809
|
}
|
665
810
|
}.observes('layoutDirection'),
|
666
811
|
|
@@ -676,10 +821,9 @@ SC.SplitView = SC.View.extend(
|
|
676
821
|
@returns {Boolean} YES to allow collapse.
|
677
822
|
*/
|
678
823
|
splitViewCanCollapse: function(splitView, view) {
|
679
|
-
|
680
|
-
if (
|
681
|
-
|
682
|
-
return YES ;
|
824
|
+
if (splitView.get('canCollapseViews') === NO) return NO;
|
825
|
+
if (view.get('canCollapse') === NO) return NO;
|
826
|
+
return YES;
|
683
827
|
},
|
684
828
|
|
685
829
|
/**
|
@@ -695,13 +839,26 @@ SC.SplitView = SC.View.extend(
|
|
695
839
|
@returns the allowed thickness
|
696
840
|
*/
|
697
841
|
splitViewConstrainThickness: function(splitView, view, proposedThickness) {
|
698
|
-
// console.log('%@.splitViewConstrainThickness(%@, %@, %@)'.fmt(this, splitView, view, proposedThickness));
|
699
842
|
return proposedThickness;
|
700
843
|
},
|
701
844
|
|
702
845
|
/* Force to rendering once the pane is attached */
|
703
846
|
_forceSplitCalculation: function(){
|
704
847
|
this.updateLayout();
|
705
|
-
}.observes('*pane.isPaneAttached')
|
848
|
+
}.observes('*pane.isPaneAttached'),
|
849
|
+
|
850
|
+
/**
|
851
|
+
This method is invoked on the split view when the view resizes due to a layout
|
852
|
+
change or due to the parent view resizing. It forces an update on topLeft and
|
853
|
+
bottomRight thickness.
|
854
|
+
|
855
|
+
@returns {void}
|
856
|
+
*/
|
857
|
+
viewDidResize: function() {
|
858
|
+
sc_super();
|
859
|
+
this
|
860
|
+
.notifyPropertyChange('topLeftThickness')
|
861
|
+
.notifyPropertyChange('bottomRightThickness');
|
862
|
+
}.observes('layout')
|
706
863
|
|
707
864
|
});
|