sproutcore 1.9.2 → 1.10.0.rc.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/VERSION.yml +2 -2
- data/bin/sc-build +12 -9
- data/bin/sc-build-number +12 -9
- data/bin/sc-docs +12 -15
- data/bin/sc-gen +12 -9
- data/bin/sc-init +12 -9
- data/bin/sc-manifest +12 -9
- data/bin/sc-server +12 -9
- data/bin/sproutcore +12 -9
- data/lib/frameworks/sproutcore/Buildfile +14 -17
- data/lib/frameworks/sproutcore/CHANGELOG.md +214 -3
- data/lib/frameworks/sproutcore/README.md +4 -1
- data/lib/frameworks/sproutcore/apps/greenhouse/Buildfile +13 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps/greenhouse/README → apps/greenhouse/README.md} +1 -1
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/TODO +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/beautify.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/design.js +3 -3
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/file.js +3 -3
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/files.js +3 -3
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/layout.js +9 -9
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/library.js +23 -23
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/page.js +1 -1
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/property.js +1 -1
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/property_editor.js +2 -2
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/target.js +1 -1
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/targets.js +12 -12
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/controllers/view_configs.js +15 -15
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/core.js +14 -14
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/core_file.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/data_source.js +42 -42
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/app_page.js +45 -45
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/app-selector.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/button.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/dock.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/general.css +0 -0
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/icons.css +5 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/main-page.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/menu.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/modal.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/picker.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/search.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/css/text-field.css +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/dialogs.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500.eot +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500.otf +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500.woff +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500_italic.eot +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500_italic.otf +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/fonts/museosans_500_italic.woff +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/app-selector/choose-app.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/app-selector/list-item-sel.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/disabled-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/disabled-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/regular-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/regular-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/capsule/sel-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/active-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/disabled-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/disabled-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/disabled-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/regular-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/regular-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/regular-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/dark/sel-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/active-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/disabled-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/regular-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/sel-active-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/sel-disabled-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/shared/sel-m.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/disabled-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/disabled-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/regular-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/regular-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-active-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-active-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-disabled-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-disabled-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/buttons/square/sel-r.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/actions-active.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/actions.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/inspector-active.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/inspector.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/library-active.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/library.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/projects-active.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/projects.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/run-active.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/run.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/save-active.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/icons/save.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/logos/greenhouse-l.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/logos/greenhouse-s.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/logos/sproutcore.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/main-bg.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/bottom-left.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/bottom-right.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/bottom.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/close-active.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/close.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/left.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/pointer-bottom.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/pointer-left.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/pointer-right.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/pointer-top.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/right.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/search-active.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/search.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/top-left.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/top-right.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/picker/top.png +0 -0
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/images/sc-icon-sproutcore-16.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/images/toolbar-bg.png +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/inspectors.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/loading.rhtml +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/main_page.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/english.lproj/strings.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/fixtures/file.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/main.js +5 -5
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/mixins/drop_down.js +14 -14
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/design.js +4 -4
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/dir.js +12 -12
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/file.js +7 -9
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/target.js +12 -12
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/models/view_config.js +10 -10
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/resources/test_page.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/inspector.js +11 -11
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/library.js +10 -10
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/main.js +26 -25
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/modals.js +10 -10
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/states/ready.js +15 -15
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/controllers/design.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/controllers/designs.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/controllers/file.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/controllers/files.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/models/file.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/models/view_config.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/views/list_item.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/tests/views/plist_item.js +1 -5
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/theme.js +6 -6
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/anchor.js +43 -43
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/application_list_item.js +2 -2
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/event_blocker.js +7 -7
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/label_designer.js +0 -0
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/list_item.js +8 -8
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/plist_item.js +23 -23
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/simple_button.js +31 -31
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/tear_off_picker.js +12 -12
- data/lib/frameworks/sproutcore/{frameworks/experimental/apps → apps}/greenhouse/views/web.js +5 -5
- data/lib/frameworks/sproutcore/apps/media_examples/core.js +5 -6
- data/lib/frameworks/sproutcore/apps/media_examples/views/audio_view.js +16 -17
- data/lib/frameworks/sproutcore/apps/media_examples/views/camera_view.js +4 -5
- data/lib/frameworks/sproutcore/apps/media_examples/views/capabilities_view.js +17 -18
- data/lib/frameworks/sproutcore/apps/media_examples/views/microphone_view.js +4 -5
- data/lib/frameworks/sproutcore/apps/media_examples/views/video_view.js +18 -19
- data/lib/frameworks/sproutcore/apps/showcase/Buildfile +2 -2
- data/lib/frameworks/sproutcore/apps/showcase/README +1 -1
- data/lib/frameworks/sproutcore/apps/showcase/controllers/source_tree_controller.js +27 -7
- data/lib/frameworks/sproutcore/apps/showcase/core.js +6 -4
- data/lib/frameworks/sproutcore/apps/showcase/main.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/patch.diff +529 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/sproutcore-128.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/resources/main_page.js +3 -2
- data/lib/frameworks/sproutcore/apps/showcase/resources/stylesheet.css +35 -16
- data/lib/frameworks/sproutcore/apps/showcase/resources/views_page.js +195 -10
- data/lib/frameworks/sproutcore/apps/showcase/system/views_item_content.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/theme.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/checkbox_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/date_field_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/disclosure_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/label_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/list_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/popup_button_views.js +3 -2
- data/lib/frameworks/sproutcore/apps/showcase/views/progress_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/radio_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/scroll_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/segmented_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/select_views.js +10 -9
- data/lib/frameworks/sproutcore/apps/showcase/views/slider_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/source_list_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/split_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/stacked_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/static_content_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/tab_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/text_field_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/toolbar_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/views_item_view.js +15 -6
- data/lib/frameworks/sproutcore/apps/showcase/views/views_list_view.js +5 -4
- data/lib/frameworks/sproutcore/apps/showcase/views/web_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/well_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/workspace_views.js +2 -1
- data/lib/frameworks/sproutcore/apps/statechart_routing/core.js +5 -5
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/login_page.js +15 -15
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/styles.css +3 -0
- data/lib/frameworks/sproutcore/apps/tests/controllers/source.js +11 -11
- data/lib/frameworks/sproutcore/apps/tests/controllers/target.js +6 -12
- data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +28 -33
- data/lib/frameworks/sproutcore/apps/tests/controllers/{detail.js → test.js} +14 -12
- data/lib/frameworks/sproutcore/apps/tests/controllers/tests.js +11 -15
- data/lib/frameworks/sproutcore/apps/tests/core.js +8 -113
- data/lib/frameworks/sproutcore/apps/tests/english.lproj/main_page.css +9 -19
- data/lib/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +81 -92
- data/lib/frameworks/sproutcore/apps/tests/english.lproj/strings.js +3 -1
- data/lib/frameworks/sproutcore/apps/tests/main.js +8 -13
- data/lib/frameworks/sproutcore/apps/tests/statechart.js +268 -0
- data/lib/frameworks/sproutcore/apps/tests/views/offset_checkbox.js +4 -4
- data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +16 -16
- data/lib/frameworks/sproutcore/apps/welcome/core.js +9 -9
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/images/sproutcore.png +0 -0
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +22 -25
- data/lib/frameworks/sproutcore/apps/welcome/main.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup-landscape.jpg b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup-landscape.jpg +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup-landscape.png b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup-landscape.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup-portrait.jpg b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup-portrait.jpg +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup-portrait.png b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup-portrait.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-startup.png b/data/lib/frameworks/sproutcore/design/Assorted → Images/sproutcore-startup.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +21 -7
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +35 -2
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +142 -75
- data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +20 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/child_view_layouts/horizontal_stack_layout.js +283 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/child_view_layouts/vertical_stack_layout.js +284 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +64 -65
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +14 -14
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +8 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/core.js +19 -19
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +10 -25
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +12 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/body_overflow.js +53 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +30 -24
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +44 -40
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/manipulation.js +5 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +105 -176
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane_statechart.js +50 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/visibility.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/view_transition_protocol.js +48 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +225 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/core_query.js +54 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +86 -71
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +35 -35
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +283 -120
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +36 -37
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +653 -435
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +49 -42
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +422 -396
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/selection_set.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +10 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/theme.js +37 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils/rect.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/selection_support.js +21 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/cursor.js +28 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/platform.js +18 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +17 -17
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_attr.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +43 -43
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +4 -14
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +18 -30
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +78 -43
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/theme.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/main_pane.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +31 -15
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/child_view.js +47 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/firstResponder.js +32 -31
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/keyPane.js +23 -22
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/layout.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/sendEvent.js +17 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +626 -211
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/border_frame_test.js +174 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build.js +22 -20
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/childViewLayout_test.js +27 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +11 -10
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +5 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +10 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createLayer.js +17 -12
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/destroy.js +60 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/destroyLayer.js +19 -26
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/didAppendToDocument.js +14 -13
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/enabled_states_test.js +341 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/findLayerInParentLayer.js +9 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/init.js +26 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +28 -68
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/isVisible.js +35 -23
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/isVisibleInWindow.js +93 -78
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/keyboard.js +62 -64
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layer.js +69 -18
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutChildViews.js +26 -21
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutDidChange.js +129 -57
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +436 -238
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/removeChild.js +38 -44
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/render.js +14 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/render_delegate_support.js +29 -20
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/replaceAllChildren_test.js +229 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayer.js +33 -95
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/viewDidResize.js +87 -39
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/view_states_test.js +684 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +767 -625
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/acceleration.js +4 -23
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +645 -77
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +218 -19
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +648 -321
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +326 -534
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +120 -126
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/statechart.js +1526 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +18 -23
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/visibility.js +12 -94
- data/lib/frameworks/sproutcore/frameworks/core_tools/core.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_tools/data_source.js +19 -19
- data/lib/frameworks/sproutcore/frameworks/core_tools/models/target.js +43 -27
- data/lib/frameworks/sproutcore/frameworks/core_tools/models/test.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_tools/resources/icons.css +5 -0
- data/lib/frameworks/sproutcore/frameworks/core_tools/resources/sc-icon-sproutcore-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +41 -41
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +90 -90
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/fetched_attribute.js +31 -31
- data/lib/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +2 -8
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +74 -48
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +11 -16
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +187 -253
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/cascade.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +14 -14
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +49 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/builders.js +236 -127
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/instance_management.js +107 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +17 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +12 -11
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js +42 -17
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +20 -15
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +205 -92
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +61 -25
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +39 -9
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +45 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/tests/system/datetime.js +88 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/coders/design.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/coders/object.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/controllers.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/design.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/designs.js +19 -19
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/page_design.js +44 -44
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/controllers/page_files.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/css/css_rule.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/css/css_style.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/css/css_style_sheet.js +37 -37
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/button.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/label.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/object_designer.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/tab.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/text_field.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/designers/view_designer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/css/designer.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/design_page.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/high_light.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/controller.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-bg.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-item-bg.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-item-divider.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-item-sel-bg.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/dock-item-sel-divider.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/main-bg.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/page.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/pane.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/images/view.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/english.lproj/selection_handles.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/ext/binding.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/ext/object.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/ext/page.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/ext/view.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/mixins/button.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/mixins/snap_lines.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/tests/coders/page.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/tests/designers/view_designer.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/designer_drop_target.js +36 -37
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/drawing.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/high_light.js +17 -17
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/page_item_view.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/designer → designer}/views/selection_handles.js +14 -14
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +1 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +51 -51
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view → desktop}/mixins/split_child.js +63 -52
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view → desktop}/mixins/split_thumb.js +64 -59
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +113 -112
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +182 -203
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +51 -29
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +513 -307
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +69 -217
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +31 -26
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +15 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +2 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +25 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/picker.js +29 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +19 -23
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +14 -17
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view → desktop}/render_delegates/split.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view → desktop}/render_delegates/split_divider.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/modal.css +2 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/panel.css +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/segmented.css +24 -98
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +446 -442
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +42 -21
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +19 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +26 -28
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/pane_page.js +11 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +5 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +32 -26
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +27 -22
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/methods.js +5 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +11 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/displayProperties.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/keyEquivalents.js +9 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +23 -23
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +15 -17
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/{mixins → views/collection}/collection_fast_path.js +18 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +46 -53
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +101 -47
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +26 -26
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +89 -69
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +27 -25
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +32 -35
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +6 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +3 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/drag_and_drop.js +103 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +76 -38
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/image_button/ui.js +3 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/drag_and_drop.js +91 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/render.js +2 -17
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +70 -38
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_alternatingrows.js +17 -19
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +10 -13
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +37 -30
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +18 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +115 -28
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +37 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +194 -182
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +2 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +18 -21
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +5 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/methods.js +5 -4
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view/tests → desktop/tests/views/split}/children.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view/tests → desktop/tests/views/split}/dividers.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +341 -45
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view/tests → desktop/tests/views/split}/split_child.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/split_view/tests → desktop/tests/views/split}/split_thumb.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +6 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +49 -52
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +23 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/toolbar/ui.js +2 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +4 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +47 -38
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +887 -740
- data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +68 -55
- data/lib/frameworks/sproutcore/frameworks/desktop/views/image_button.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +8 -26
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +189 -167
- data/lib/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +55 -54
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +8 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +145 -146
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +66 -66
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +40 -44
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +203 -200
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +11 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +6 -13
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +87 -112
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +192 -179
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +23 -23
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +64 -64
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +56 -56
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +784 -714
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +21 -39
- data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +45 -41
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +4 -10
- data/lib/frameworks/sproutcore/frameworks/desktop/views/thumb.js +9 -47
- data/lib/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +40 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/workspace.js +62 -50
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +0 -9
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +45 -45
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/platform.js +16 -16
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +46 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +16 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/desktop_scroller.js +12 -12
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/ui.js +38 -40
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +8 -8
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +20 -20
- data/lib/frameworks/sproutcore/frameworks/formatters/formatters/date_formatter.js +16 -16
- data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +26 -14
- data/lib/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +43 -43
- data/lib/frameworks/sproutcore/frameworks/foundation/debug/test-image.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/delegates/inline_text_field.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +63 -41
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +60 -61
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/control.js +72 -72
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +142 -142
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gesturable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inner_frame.js +10 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +36 -29
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/protocols/swap_transition_protocol.js +150 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +54 -29
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/image.js +23 -18
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +12 -11
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/benchmark.css +21 -20
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-128.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-256.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-32.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-512.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-64.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +5 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/app_cache.js +412 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +2 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +11 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +8 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/selection_support.js +33 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/delegates/inline_text_field/inline_text_field.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_display.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +5 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +49 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +29 -21
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +3 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/validatable/ui.js +8 -10
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/app_cache_test.js +81 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/image_queue.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +0 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +40 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/transition_test.js +143 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +5 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +187 -84
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +6 -41
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +51 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +11 -16
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/adjust_bounce_transition.js +80 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/adjust_smooth_transition.js +39 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/adjust_spring_transition.js +77 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/bounce_transition.js +211 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/fade_transition.js +57 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/pop_transition.js +82 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/scale_transition.js +54 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/slide_transition.js +140 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/spring_transition.js +203 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_dissolve_transition.js +67 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_fade_color_transition.js +81 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_move_in_transition.js +104 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_push_transition.js +181 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_reveal_transition.js +90 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +483 -95
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +65 -65
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +111 -100
- data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +30 -222
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +38 -24
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +74 -62
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-1.8.3-patched.js +9485 -0
- data/lib/frameworks/sproutcore/frameworks/media/media_capabilities.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/media/render_delegates/media_slider.js +20 -20
- data/lib/frameworks/sproutcore/frameworks/media/resources/video.css +18 -17
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +19 -19
- data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +10 -11
- data/lib/frameworks/sproutcore/frameworks/media/views/mini_controls.js +7 -8
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/qunit/test/test.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +32 -21
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +72 -53
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +164 -156
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +20 -20
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +145 -140
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +393 -370
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +1045 -999
- data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +41 -36
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +10 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +11 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/private/property_chain.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +275 -205
- data/lib/frameworks/sproutcore/frameworks/runtime/system/function.js +27 -27
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +229 -193
- data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +186 -188
- data/lib/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +138 -65
- data/lib/frameworks/sproutcore/frameworks/runtime/system/set.js +11 -10
- data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +8 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +112 -23
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +71 -18
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +97 -57
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +22 -22
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/infinite.js +184 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/observer_set.js +63 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +73 -36
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +100 -25
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/debug/sequence_matcher.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/private/state_path_matcher.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/statechart/system/history_state.js +32 -32
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +449 -422
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state_route_handler_context.js +19 -19
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +612 -562
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/with_concurrent_states/basic.js +115 -62
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/without_concurrent_states/basic.js +145 -64
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/respond_to_event.js +17 -1
- data/lib/frameworks/sproutcore/frameworks/table/views/table_head.js +30 -30
- data/lib/frameworks/sproutcore/frameworks/table/views/table_row.js +34 -34
- data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/bind.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/collection.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/view.js +3 -5
- data/lib/frameworks/sproutcore/frameworks/template_view/tests/panes/template.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/template_view/tests/views/template/core.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/template_view/views/bindable_span.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/template_view/views/template.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/template_view/views/template_collection.js +15 -21
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +35 -35
- data/lib/frameworks/sproutcore/scripts/run_sc_server_master.sh +34 -0
- data/lib/frameworks/sproutcore/tests/phantomjs_runner.phantomjs +606 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/PanelPane.opacity +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/Pointers.opacity +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/active_button@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/normal_button@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_active_button@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_button@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/select.css +3 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +18 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.css +34 -14
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented.css +5 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented.css +7 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented.css +5 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented.css +6 -3
- data/lib/frameworks/sproutcore/themes/ace/resources/toolbar/toolbar.css +7 -5
- data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/button.js +7 -7
- data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/progress.js +37 -37
- data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/slider.js +12 -12
- data/lib/sproutcore/helpers/static_helper.rb +35 -27
- data/sproutcore.gemspec +1 -0
- metadata +529 -451
- data/lib/frameworks/sproutcore/apps/showcase/resources/images/sproutcore-logo.png +0 -0
- data/lib/frameworks/sproutcore/apps/showcase/views/button_views.js +0 -55
- data/lib/frameworks/sproutcore/apps/showcase/views/container_views.js +0 -29
- data/lib/frameworks/sproutcore/apps/showcase/views/grid_views.js +0 -28
- data/lib/frameworks/sproutcore/apps/showcase/views/image_button_views.js +0 -22
- data/lib/frameworks/sproutcore/apps/showcase/views/image_views.js +0 -51
- data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +0 -26
- data/lib/frameworks/sproutcore/apps/tests/states/ready.js +0 -56
- data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +0 -41
- data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +0 -48
- data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +0 -41
- data/lib/frameworks/sproutcore/apps/tests/states/ready_loading.js +0 -44
- data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +0 -31
- data/lib/frameworks/sproutcore/apps/tests/states/start.js +0 -39
- data/lib/frameworks/sproutcore/apps/welcome/tests/controllers/targets.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/animation/Buildfile +0 -3
- data/lib/frameworks/sproutcore/frameworks/animation/LICENSE +0 -25
- data/lib/frameworks/sproutcore/frameworks/animation/README.md +0 -79
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +0 -1208
- data/lib/frameworks/sproutcore/frameworks/animation/tests/core.js +0 -152
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/parentViewDidChange.js +0 -67
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/prepareContext.js +0 -203
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayerLocation.js +0 -213
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +0 -163
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +0 -97
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +0 -312
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +0 -961
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split_divider.js +0 -40
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/thumb.js +0 -27
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore-logo.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/sproutcore.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +0 -394
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +0 -133
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +0 -18
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +0 -8981
- data/lib/frameworks/sproutcore/frameworks/jquery/tests/set_class.js +0 -40
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.js +0 -0
@@ -15,13 +15,14 @@ module("SC.Pane#layout", {
|
|
15
15
|
});
|
16
16
|
pane.append();
|
17
17
|
},
|
18
|
-
|
18
|
+
|
19
19
|
teardown: function() {
|
20
20
|
pane.remove();
|
21
|
+
pane.destroy();
|
21
22
|
}
|
22
23
|
});
|
23
24
|
|
24
|
-
test("make sure that a call to adjust actually adjusts the view's size", function() {
|
25
|
+
test("make sure that a call to adjust actually adjusts the view's size", function() {
|
25
26
|
SC.RunLoop.begin();
|
26
27
|
pane.adjust({ width: 100, height: 50 });
|
27
28
|
SC.RunLoop.end();
|
@@ -14,7 +14,7 @@ module("SC.Pane#sendEvent", {
|
|
14
14
|
callCount++ ;
|
15
15
|
equals(theEvent, evt, 'should pass event');
|
16
16
|
};
|
17
|
-
|
17
|
+
|
18
18
|
defaultResponder = SC.Object.create({ defaultEvent: handler });
|
19
19
|
pane = SC.Pane.create({
|
20
20
|
defaultResponder: defaultResponder,
|
@@ -33,9 +33,10 @@ module("SC.Pane#sendEvent", {
|
|
33
33
|
ok(barView.barEvent, 'has barEvent handler');
|
34
34
|
|
35
35
|
evt = SC.Object.create(); // mock
|
36
|
-
},
|
37
|
-
|
36
|
+
},
|
37
|
+
|
38
38
|
teardown: function() {
|
39
|
+
pane.destroy();
|
39
40
|
pane = fooView = barView = defaultResponder = evt = null ;
|
40
41
|
}
|
41
42
|
});
|
@@ -66,7 +67,7 @@ test("when invoked with target = nested view", function() {
|
|
66
67
|
handler = pane.sendEvent('imaginary', evt, barView);
|
67
68
|
equals(callCount, 0, 'should not invoke handler');
|
68
69
|
equals(handler, null, 'should return no responder');
|
69
|
-
|
70
|
+
|
70
71
|
});
|
71
72
|
|
72
73
|
|
@@ -80,7 +81,7 @@ test("when invoked with target = middle view", function() {
|
|
80
81
|
equals(callCount, 0, 'should not invoke handler');
|
81
82
|
equals(handler, null, 'should return no responder');
|
82
83
|
|
83
|
-
// test event handler on target
|
84
|
+
// test event handler on target
|
84
85
|
callCount = 0;
|
85
86
|
handler = pane.sendEvent('fooEvent', evt, fooView);
|
86
87
|
equals(callCount, 1, 'should invoke handler');
|
@@ -97,7 +98,7 @@ test("when invoked with target = middle view", function() {
|
|
97
98
|
handler = pane.sendEvent('imaginary', evt, fooView);
|
98
99
|
equals(callCount, 0, 'should not invoke handler');
|
99
100
|
equals(handler, null, 'should return no responder');
|
100
|
-
|
101
|
+
|
101
102
|
});
|
102
103
|
|
103
104
|
|
@@ -111,7 +112,7 @@ test("when invoked with target = pane", function() {
|
|
111
112
|
equals(callCount, 0, 'should not invoke handler');
|
112
113
|
equals(handler, null, 'should return no responder');
|
113
114
|
|
114
|
-
// test event handler on target
|
115
|
+
// test event handler on target
|
115
116
|
callCount = 0;
|
116
117
|
handler = pane.sendEvent('fooEvent', evt, pane);
|
117
118
|
equals(callCount, 0, 'should not invoke handler');
|
@@ -128,7 +129,7 @@ test("when invoked with target = pane", function() {
|
|
128
129
|
handler = pane.sendEvent('imaginary', evt, pane);
|
129
130
|
equals(callCount, 0, 'should not invoke handler');
|
130
131
|
equals(handler, null, 'should return no responder');
|
131
|
-
|
132
|
+
|
132
133
|
});
|
133
134
|
|
134
135
|
|
@@ -138,14 +139,14 @@ test("when invoked with target = null", function() {
|
|
138
139
|
|
139
140
|
// should start @ first responder
|
140
141
|
pane.firstResponder = fooView;
|
141
|
-
|
142
|
+
|
142
143
|
// test event handler on child view of target
|
143
144
|
callCount = 0;
|
144
145
|
handler = pane.sendEvent('barEvent', evt);
|
145
146
|
equals(callCount, 0, 'should not invoke handler');
|
146
147
|
equals(handler, null, 'should return no responder');
|
147
148
|
|
148
|
-
// test event handler on target
|
149
|
+
// test event handler on target
|
149
150
|
callCount = 0;
|
150
151
|
handler = pane.sendEvent('fooEvent', evt);
|
151
152
|
equals(callCount, 1, 'should invoke handler');
|
@@ -162,12 +163,12 @@ test("when invoked with target = null", function() {
|
|
162
163
|
handler = pane.sendEvent('imaginary', evt);
|
163
164
|
equals(callCount, 0, 'should not invoke handler');
|
164
165
|
equals(handler, null, 'should return no responder');
|
165
|
-
|
166
|
+
|
166
167
|
// test event handler on pane itself
|
167
168
|
callCount = 0;
|
168
169
|
handler = pane.sendEvent('paneEvent', evt);
|
169
170
|
equals(callCount, 1, 'should invoke handler on pane');
|
170
|
-
equals(handler, pane, 'should return pane as responder that handled event');
|
171
|
+
equals(handler, pane, 'should return pane as responder that handled event');
|
171
172
|
|
172
173
|
});
|
173
174
|
|
@@ -177,14 +178,14 @@ test("when invoked with target = null, no default or first responder", function(
|
|
177
178
|
// no first or default responder
|
178
179
|
pane.set('firstResponder', null);
|
179
180
|
pane.set('defaultResponder', null);
|
180
|
-
|
181
|
+
|
181
182
|
// test event handler on child view of target
|
182
183
|
callCount = 0;
|
183
184
|
handler = pane.sendEvent('barEvent', evt);
|
184
185
|
equals(callCount, 0, 'should not invoke handler');
|
185
186
|
equals(handler, null, 'should return no responder');
|
186
187
|
|
187
|
-
// test event handler on target
|
188
|
+
// test event handler on target
|
188
189
|
callCount = 0;
|
189
190
|
handler = pane.sendEvent('fooEvent', evt);
|
190
191
|
equals(callCount, 0, 'should not invoke handler');
|
@@ -195,12 +196,12 @@ test("when invoked with target = null, no default or first responder", function(
|
|
195
196
|
handler = pane.sendEvent('imaginary', evt);
|
196
197
|
equals(callCount, 0, 'should not invoke handler');
|
197
198
|
equals(handler, null, 'should return no responder');
|
198
|
-
|
199
|
+
|
199
200
|
// test event handler on pane itself
|
200
201
|
callCount = 0;
|
201
202
|
handler = pane.sendEvent('paneEvent', evt);
|
202
203
|
equals(callCount, 1, 'should invoke handler on pane');
|
203
|
-
equals(handler, pane, 'should return pane as responder that handled event');
|
204
|
+
equals(handler, pane, 'should return pane as responder that handled event');
|
204
205
|
|
205
206
|
});
|
206
207
|
|
@@ -7,43 +7,42 @@
|
|
7
7
|
// ========================================================================
|
8
8
|
// View Animation Unit Tests
|
9
9
|
// ========================================================================
|
10
|
+
/*global module, test, ok, equals, stop, start, expect*/
|
10
11
|
|
11
|
-
/*globals module test ok same equals */
|
12
12
|
|
13
13
|
/* These unit tests verify: animate(). */
|
14
|
-
|
15
14
|
var view, pane, originalSupportsTransitions = SC.platform.supportsCSSTransitions;
|
16
15
|
|
17
16
|
function styleFor(view) {
|
18
17
|
return view.get('layer').style;
|
19
18
|
}
|
20
19
|
|
21
|
-
function transitionFor(view){
|
22
|
-
return styleFor(view)[SC.
|
20
|
+
function transitionFor(view) {
|
21
|
+
return styleFor(view)[SC.browser.experimentalStyleNameFor('transition')];
|
23
22
|
}
|
24
23
|
|
25
24
|
var commonSetup = {
|
26
|
-
setup: function() {
|
27
|
-
|
28
|
-
SC.RunLoop.begin();
|
25
|
+
setup: function (wantsAcceleratedLayer) {
|
29
26
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
27
|
+
SC.run(function () {
|
28
|
+
pane = SC.Pane.create({
|
29
|
+
backgroundColor: '#ccc',
|
30
|
+
layout: { top: 0, right: 0, width: 200, height: 200, zIndex: 100 }
|
31
|
+
});
|
32
|
+
pane.append();
|
35
33
|
|
36
|
-
|
37
|
-
|
38
|
-
|
34
|
+
view = SC.View.create({
|
35
|
+
backgroundColor: '#888',
|
36
|
+
layout: { left: 0, top: 0, height: 100, width: 100 },
|
37
|
+
wantsAcceleratedLayer: wantsAcceleratedLayer || NO
|
38
|
+
});
|
39
|
+
pane.appendChild(view);
|
39
40
|
});
|
40
|
-
pane.appendChild(view);
|
41
|
-
|
42
|
-
SC.RunLoop.end();
|
43
41
|
},
|
44
42
|
|
45
|
-
teardown: function(){
|
43
|
+
teardown: function () {
|
46
44
|
pane.remove();
|
45
|
+
pane.destroy();
|
47
46
|
}
|
48
47
|
};
|
49
48
|
|
@@ -51,201 +50,319 @@ if (SC.platform.supportsCSSTransitions) {
|
|
51
50
|
|
52
51
|
module("ANIMATION", commonSetup);
|
53
52
|
|
54
|
-
test("should work", function(){
|
53
|
+
test("should work", function () {
|
54
|
+
stop(2000);
|
55
55
|
SC.RunLoop.begin();
|
56
56
|
view.animate('left', 100, { duration: 1 });
|
57
57
|
SC.RunLoop.end();
|
58
|
-
|
59
|
-
|
58
|
+
|
59
|
+
setTimeout(function () {
|
60
|
+
equals(transitionFor(view), 'left 1s ease 0s', 'add transition');
|
61
|
+
equals(100, view.get('layout').left, 'left is 100');
|
62
|
+
|
63
|
+
start();
|
64
|
+
}, 5);
|
60
65
|
});
|
61
66
|
|
62
|
-
test("
|
63
|
-
|
64
|
-
|
65
|
-
SC.
|
66
|
-
|
67
|
+
test("callbacks work in general", function () {
|
68
|
+
stop(2000);
|
69
|
+
|
70
|
+
SC.run(function () {
|
71
|
+
view.animate('left', 100, { duration: 0.5 }, function () {
|
72
|
+
ok(true, "Callback was called.");
|
73
|
+
equals(view, this, "`this` should be the view");
|
74
|
+
|
75
|
+
start();
|
76
|
+
});
|
77
|
+
});
|
67
78
|
});
|
68
79
|
|
69
|
-
test("callbacks work in general", function(){
|
80
|
+
test("callbacks work in general with target method", function () {
|
70
81
|
stop(2000);
|
71
82
|
|
72
|
-
SC.
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
83
|
+
var ob = SC.Object.create({
|
84
|
+
callback: function () {
|
85
|
+
ok(true, "Callback was called.");
|
86
|
+
equals(ob, this, "`this` should be the target object");
|
87
|
+
|
88
|
+
start();
|
89
|
+
}
|
90
|
+
});
|
91
|
+
|
92
|
+
SC.run(function () {
|
93
|
+
view.animate('left', 100, { duration: 0.5 }, ob, 'callback');
|
77
94
|
});
|
78
|
-
SC.RunLoop.end();
|
79
95
|
});
|
80
96
|
|
81
|
-
test("callbacks should have appropriate data", function(){
|
97
|
+
test("callbacks should have appropriate data", function () {
|
82
98
|
stop(2000);
|
83
99
|
|
84
100
|
SC.RunLoop.begin();
|
85
|
-
|
86
|
-
view.invokeLater('animate', 1, 'left', 100, 0.500, function(data) {
|
87
|
-
start();
|
88
|
-
|
101
|
+
view.animate('left', 100, { duration: 0.5 }, function (data) {
|
89
102
|
// TODO: Test this better
|
90
103
|
ok(data.event, "has event");
|
91
104
|
equals(data.view, view, "view is correct");
|
92
105
|
equals(data.isCancelled, false, "animation is not cancelled");
|
106
|
+
|
107
|
+
start();
|
93
108
|
});
|
94
109
|
SC.RunLoop.end();
|
95
110
|
});
|
96
111
|
|
97
|
-
test("handles
|
112
|
+
test("handles delay function string", function () {
|
113
|
+
stop(2000);
|
114
|
+
|
115
|
+
SC.RunLoop.begin();
|
116
|
+
view.animate('left', 100, { duration: 1, delay: 1 });
|
117
|
+
SC.RunLoop.end();
|
118
|
+
|
119
|
+
setTimeout(function () {
|
120
|
+
equals(transitionFor(view), 'left 1s ease 1s', 'uses delay');
|
121
|
+
|
122
|
+
start();
|
123
|
+
}, 5);
|
124
|
+
});
|
125
|
+
|
126
|
+
test("handles timing function string", function () {
|
127
|
+
stop(2000);
|
128
|
+
|
98
129
|
SC.RunLoop.begin();
|
99
130
|
view.animate('left', 100, { duration: 1, timing: 'ease-in' });
|
100
131
|
SC.RunLoop.end();
|
101
|
-
|
132
|
+
|
133
|
+
setTimeout(function () {
|
134
|
+
equals(transitionFor(view), 'left 1s ease-in 0s', 'uses ease-in timing');
|
135
|
+
|
136
|
+
start();
|
137
|
+
}, 5);
|
102
138
|
});
|
103
139
|
|
104
|
-
test("handles timing function array", function(){
|
140
|
+
test("handles timing function array", function () {
|
141
|
+
stop(2000);
|
142
|
+
|
105
143
|
SC.RunLoop.begin();
|
106
144
|
view.animate('left', 100, { duration: 1, timing: [0.1, 0.2, 0.3, 0.4] });
|
107
145
|
SC.RunLoop.end();
|
108
|
-
|
146
|
+
|
147
|
+
setTimeout(function () {
|
148
|
+
equals(transitionFor(view), 'left 1s cubic-bezier(0.1, 0.2, 0.3, 0.4) 0s', 'uses cubic-bezier timing');
|
149
|
+
|
150
|
+
start();
|
151
|
+
}, 5);
|
152
|
+
});
|
153
|
+
|
154
|
+
test("should allow multiple keys to be set at once", function () {
|
155
|
+
stop(2000);
|
156
|
+
|
157
|
+
SC.RunLoop.begin();
|
158
|
+
view.animate({ top: 100, left: 100 }, { duration: 1 });
|
159
|
+
SC.RunLoop.end();
|
160
|
+
|
161
|
+
setTimeout(function () {
|
162
|
+
equals(transitionFor(view), 'top 1s ease 0s, left 1s ease 0s', 'should add transition');
|
163
|
+
equals(100, view.get('layout').top, 'top is 100');
|
164
|
+
equals(100, view.get('layout').left, 'left is 100');
|
165
|
+
|
166
|
+
start();
|
167
|
+
}, 5);
|
109
168
|
});
|
110
169
|
|
111
|
-
test("should
|
170
|
+
test("should not animate any keys that don't change", function () {
|
171
|
+
stop(2000);
|
172
|
+
|
112
173
|
SC.RunLoop.begin();
|
113
|
-
view.animate({ top:
|
174
|
+
view.animate({ top: 0, left: 100 }, { duration: 1 });
|
114
175
|
SC.RunLoop.end();
|
115
|
-
|
116
|
-
|
117
|
-
|
176
|
+
|
177
|
+
setTimeout(function () {
|
178
|
+
equals(transitionFor(view), 'left 1s ease 0s', 'should only add left transition');
|
179
|
+
equals(0, view.get('layout').top, 'top is 0');
|
180
|
+
equals(100, view.get('layout').left, 'left is 100');
|
181
|
+
|
182
|
+
start();
|
183
|
+
}, 5);
|
184
|
+
});
|
185
|
+
|
186
|
+
test("animating height with a centerY layout should also animate margin-top", function () {
|
187
|
+
stop(2000);
|
188
|
+
|
189
|
+
SC.RunLoop.begin();
|
190
|
+
view.adjust({ top: null, centerY: 0 });
|
191
|
+
view.animate({ height: 10 }, { duration: 1 });
|
192
|
+
SC.RunLoop.end();
|
193
|
+
|
194
|
+
setTimeout(function () {
|
195
|
+
equals(transitionFor(view), 'height 1s ease 0s, margin-top 1s ease 0s', 'should add height and margin-top transitions');
|
196
|
+
equals(view.get('layout').height, 10, 'height');
|
197
|
+
equals(view.get('layout').centerY, 0, 'centerY');
|
198
|
+
|
199
|
+
start();
|
200
|
+
}, 5);
|
201
|
+
});
|
202
|
+
|
203
|
+
test("animating width with a centerX layout should also animate margin-left", function () {
|
204
|
+
stop(2000);
|
205
|
+
|
206
|
+
SC.RunLoop.begin();
|
207
|
+
view.adjust({ left: null, centerX: 0 });
|
208
|
+
view.animate({ width: 10 }, { duration: 1 });
|
209
|
+
SC.RunLoop.end();
|
210
|
+
|
211
|
+
setTimeout(function () {
|
212
|
+
equals(transitionFor(view), 'width 1s ease 0s, margin-left 1s ease 0s', 'should add width and margin-left transitions');
|
213
|
+
equals(view.get('layout').width, 10, 'width');
|
214
|
+
equals(view.get('layout').centerX, 0, 'centerX');
|
215
|
+
|
216
|
+
start();
|
217
|
+
}, 5);
|
118
218
|
});
|
119
219
|
|
120
220
|
// Pretty sure this does the job
|
121
|
-
test("callbacks should be called only once for a grouped animation", function(){
|
221
|
+
test("callbacks should be called only once for a grouped animation", function () {
|
122
222
|
stop(2000);
|
123
223
|
var stopped = true;
|
124
224
|
|
125
225
|
expect(1);
|
126
226
|
|
127
|
-
SC.
|
128
|
-
|
129
|
-
|
130
|
-
stopped
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
227
|
+
SC.run(function () {
|
228
|
+
view.animate({ top: 100, left: 100, width: 400 }, { duration: 0.5 }, function () {
|
229
|
+
ok(stopped, 'callback called back');
|
230
|
+
if (stopped) {
|
231
|
+
stopped = false;
|
232
|
+
// Continue on in a short moment. Before the test times out, but after
|
233
|
+
// enough time for a second callback to possibly come in.
|
234
|
+
setTimeout(function () {
|
235
|
+
start();
|
236
|
+
}, 200);
|
237
|
+
}
|
238
|
+
});
|
139
239
|
});
|
140
|
-
SC.RunLoop.end();
|
141
240
|
});
|
142
241
|
|
143
242
|
// This behavior should be up for debate. Does the callback call immediately, or does it wait until the end of
|
144
243
|
// the specified animation period? Currently we're calling it immediately.
|
145
|
-
test("callback should be called immediately when a property is animated to its current value.", function() {
|
146
|
-
|
244
|
+
test("callback should be called immediately when a property is animated to its current value.", function () {
|
147
245
|
stop(2000);
|
148
246
|
|
149
247
|
expect(1);
|
150
248
|
|
151
|
-
SC.
|
152
|
-
|
153
|
-
|
154
|
-
|
249
|
+
SC.run(function () {
|
250
|
+
view.animate('top', view.getPath('layout.top'), { duration: 0.5 }, function () {
|
251
|
+
ok(true, 'callback called back');
|
252
|
+
|
253
|
+
start();
|
254
|
+
});
|
155
255
|
});
|
156
|
-
SC.RunLoop.end();
|
157
256
|
});
|
158
257
|
|
159
|
-
test("callback should be called when a property is animated with a duration of zero.", function() {
|
258
|
+
test("callback should be called when a property is animated with a duration of zero.", function () {
|
160
259
|
stop(2000);
|
161
260
|
|
162
261
|
expect(1);
|
163
262
|
|
164
263
|
SC.RunLoop.begin();
|
165
|
-
view.
|
264
|
+
view.animate('top', 20, { duration: 0 }, function () {
|
166
265
|
ok(true, 'callback called back');
|
167
266
|
start();
|
168
267
|
});
|
169
268
|
SC.RunLoop.end();
|
170
269
|
});
|
171
270
|
|
172
|
-
test("multiple animations should be able to run simultaneously", function() {
|
271
|
+
test("multiple animations should be able to run simultaneously", function () {
|
173
272
|
stop(2000);
|
174
273
|
|
175
274
|
expect(2);
|
176
275
|
|
177
|
-
SC.
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
276
|
+
SC.run(function () {
|
277
|
+
view.animate('top', 100, { duration: 0.25 }, function () {
|
278
|
+
ok(true, 'top finished');
|
279
|
+
});
|
280
|
+
|
281
|
+
view.animate('left', 100, { duration: 0.5 }, function () {
|
282
|
+
ok(true, 'left finished');
|
283
|
+
start();
|
284
|
+
});
|
184
285
|
});
|
185
|
-
SC.RunLoop.end();
|
186
286
|
});
|
187
287
|
|
188
|
-
test("altering existing animation should call callback as cancelled", function(){
|
288
|
+
test("altering existing animation should call callback as cancelled", function () {
|
189
289
|
stop(2000);
|
190
290
|
|
191
|
-
|
291
|
+
var order = 0;
|
292
|
+
expect(6);
|
192
293
|
|
193
|
-
SC.
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
294
|
+
SC.run(function () {
|
295
|
+
view.animate('top', 100, { duration: 0.5 }, function (data) {
|
296
|
+
// Test the order to ensure that this is the proper callback that is used.
|
297
|
+
equals(order, 0, 'should be called first');
|
298
|
+
order = 1;
|
299
|
+
equals(data.isCancelled, true, 'first cancelled');
|
300
|
+
});
|
301
|
+
|
302
|
+
// Test calling animate twice in the same run loop.
|
303
|
+
view.animate('top', 100, { duration: 0.75 }, function (data) {
|
304
|
+
// Test the order to ensure that this is the proper callback that is used.
|
305
|
+
equals(order, 1, 'should be called second');
|
306
|
+
order = 2;
|
307
|
+
equals(data.isCancelled, true, 'second cancelled');
|
308
|
+
});
|
200
309
|
});
|
201
|
-
|
310
|
+
|
311
|
+
setTimeout(function () {
|
312
|
+
SC.run(function () {
|
313
|
+
view.animate('top', 0, { duration: 0.75 }, function (data) {
|
314
|
+
// Test the order to ensure that this is the proper callback that is used.
|
315
|
+
equals(order, 2, 'should be called third');
|
316
|
+
equals(data.isCancelled, false, 'third not cancelled');
|
317
|
+
start();
|
318
|
+
});
|
319
|
+
});
|
320
|
+
}, 100);
|
202
321
|
});
|
203
322
|
|
204
|
-
test("should not cancel callback when value hasn't changed", function() {
|
323
|
+
test("should not cancel callback when value hasn't changed", function () {
|
205
324
|
var callbacks = 0, wasCancelled = NO, check = 0;
|
206
325
|
stop(2000);
|
207
326
|
|
208
|
-
SC.
|
209
|
-
view.invokeLater(function() {
|
327
|
+
SC.run(function () {
|
210
328
|
// this triggers the initial layoutStyle code
|
211
|
-
view.animate('left', 79, 0.
|
329
|
+
view.animate('left', 79, { duration: 0.5 }, function (data) {
|
212
330
|
callbacks++;
|
213
331
|
wasCancelled = data.isCancelled;
|
214
332
|
});
|
333
|
+
|
215
334
|
// this triggers a re-render, re-running the layoutStyle code
|
216
335
|
view.displayDidChange();
|
217
|
-
}
|
218
|
-
SC.RunLoop.end();
|
336
|
+
});
|
219
337
|
|
220
|
-
setTimeout(function() {
|
338
|
+
setTimeout(function () {
|
221
339
|
// capture the callbacks value
|
222
340
|
check = callbacks;
|
223
341
|
}, 250);
|
224
342
|
|
225
|
-
setTimeout(function() {
|
226
|
-
start();
|
343
|
+
setTimeout(function () {
|
227
344
|
equals(check, 0, "the callback should not have been cancelled initially");
|
228
345
|
equals(callbacks, 1, "the callback should have been fired");
|
229
346
|
equals(wasCancelled, NO, "the callback should not have been cancelled");
|
347
|
+
|
348
|
+
start();
|
230
349
|
}, 1000);
|
231
350
|
});
|
232
351
|
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
*/
|
239
|
-
test("animating different attributes at different times should not throw an error" , function(){
|
352
|
+
// There was a bug in animation that once one property was animated, a null
|
353
|
+
// version of it existed in _activeAnimations, such that when another property
|
354
|
+
// was animated it would throw an exception iterating through _activeAnimations
|
355
|
+
// and not expecting a null value.
|
356
|
+
test("animating different attributes at different times should not throw an error", function () {
|
240
357
|
// Run test.
|
241
358
|
stop(2000);
|
242
359
|
|
243
360
|
expect(0);
|
244
361
|
|
245
362
|
// Override and wrap the problematic method to capture the error.
|
246
|
-
view.
|
363
|
+
view.transitionDidEnd = function () {
|
247
364
|
try {
|
248
|
-
SC.View.
|
365
|
+
SC.View.prototype.transitionDidEnd.apply(this, arguments);
|
249
366
|
ok(true);
|
250
367
|
} catch (ex) {
|
251
368
|
ok(false);
|
@@ -253,190 +370,488 @@ if (SC.platform.supportsCSSTransitions) {
|
|
253
370
|
};
|
254
371
|
|
255
372
|
SC.RunLoop.begin();
|
256
|
-
|
257
|
-
view.invokeLater(function() {
|
258
|
-
view.animate('left', 75, 0.2);
|
259
|
-
}, 1);
|
373
|
+
view.animate('left', 75, { duration: 0.2 });
|
260
374
|
SC.RunLoop.end();
|
261
375
|
|
262
|
-
setTimeout(function() {
|
376
|
+
setTimeout(function () {
|
263
377
|
SC.RunLoop.begin();
|
264
|
-
view.animate('top', 50, 0.2);
|
378
|
+
view.animate('top', 50, { duration: 0.2 });
|
265
379
|
SC.RunLoop.end();
|
266
380
|
}, 400);
|
267
381
|
|
268
|
-
setTimeout(function() {
|
382
|
+
setTimeout(function () {
|
269
383
|
start();
|
270
384
|
}, 1000);
|
271
385
|
});
|
272
386
|
|
273
|
-
test("should handle transform attributes", function(){
|
274
|
-
|
275
|
-
|
276
|
-
SC.
|
277
|
-
|
278
|
-
|
279
|
-
|
387
|
+
test("should handle transform attributes", function () {
|
388
|
+
stop(2000);
|
389
|
+
|
390
|
+
SC.run(function () {
|
391
|
+
view.animate('rotateX', 45, { duration: 1 });
|
392
|
+
});
|
393
|
+
|
394
|
+
setTimeout(function () {
|
395
|
+
equals(transitionFor(view), SC.browser.experimentalCSSNameFor('transform') + ' 1s ease 0s', 'add transition');
|
396
|
+
equals(styleFor(view)[SC.browser.experimentalStyleNameFor('transform')], 'rotateX(45deg)', 'has both transforms');
|
397
|
+
equals(45, view.get('layout').rotateX, 'rotateX is 45deg');
|
398
|
+
|
399
|
+
start();
|
400
|
+
}, 50);
|
280
401
|
});
|
281
402
|
|
282
|
-
test("should handle conflicting transform animations", function(){
|
283
|
-
|
403
|
+
test("should handle conflicting transform animations", function () {
|
404
|
+
/*global console*/
|
405
|
+
stop(2000);
|
284
406
|
|
285
407
|
var originalConsoleWarn = console.warn;
|
286
|
-
console.warn = function(warning){
|
287
|
-
equals(warning, "Can't animate transforms with different durations! Using first
|
408
|
+
console.warn = function (warning) {
|
409
|
+
equals(warning, "Developer Warning: Can't animate transforms with different durations, timings or delays! Using the first options specified.", "proper warning");
|
288
410
|
};
|
289
411
|
|
290
|
-
SC.
|
291
|
-
|
292
|
-
|
412
|
+
SC.run(function () {
|
413
|
+
view.animate('rotateX', 45, { duration: 1 }).animate('scale', 2, { duration: 2 });
|
414
|
+
});
|
293
415
|
|
294
|
-
|
295
|
-
|
296
|
-
equals(45, view.get('layout').rotateX, 'rotateX is 45deg');
|
297
|
-
equals(2, view.get('layout').scale, 'scale is 2');
|
416
|
+
setTimeout(function () {
|
417
|
+
expect(5);
|
298
418
|
|
299
|
-
|
300
|
-
|
419
|
+
equals(transitionFor(view), SC.browser.experimentalCSSNameFor('transform') + ' 1s ease 0s', 'use duration of first');
|
420
|
+
equals(styleFor(view)[SC.browser.experimentalStyleNameFor('transform')], 'rotateX(45deg) scale(2)');
|
421
|
+
equals(45, view.get('layout').rotateX, 'rotateX is 45deg');
|
422
|
+
equals(2, view.get('layout').scale, 'scale is 2');
|
301
423
|
|
302
|
-
|
424
|
+
console.warn = originalConsoleWarn;
|
303
425
|
|
304
|
-
|
426
|
+
start();
|
427
|
+
}, 25);
|
428
|
+
});
|
429
|
+
|
430
|
+
test("removes animation property when done", function () {
|
305
431
|
stop(2000);
|
306
432
|
|
307
433
|
SC.RunLoop.begin();
|
308
|
-
view.
|
434
|
+
view.animate({ top: 100, scale: 2 }, { duration: 0.5 });
|
309
435
|
SC.RunLoop.end();
|
310
436
|
|
311
|
-
setTimeout(function(){
|
312
|
-
start();
|
437
|
+
setTimeout(function () {
|
313
438
|
equals(view.get('layout').animateTop, undefined, "animateTop is undefined");
|
314
439
|
equals(view.get('layout').animateScale, undefined, "animateScale is undefined");
|
440
|
+
|
441
|
+
start();
|
315
442
|
}, 1000);
|
316
443
|
});
|
317
444
|
|
318
|
-
|
319
|
-
|
320
|
-
commonSetup.setup();
|
321
|
-
view.wantsAcceleratedLayer = YES;
|
322
|
-
},
|
445
|
+
test("Test that cancelAnimation() removes the animation style and fires the callback with isCancelled set.", function () {
|
446
|
+
stop(2000);
|
323
447
|
|
324
|
-
|
325
|
-
});
|
448
|
+
expect(7);
|
326
449
|
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
});
|
450
|
+
SC.run(function () {
|
451
|
+
view.animate({ left: 100 }, { duration: 0.5 }, function (data) {
|
452
|
+
ok(data.isCancelled, "The isCancelled property of the data should be true.");
|
453
|
+
});
|
454
|
+
});
|
333
455
|
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
view.animate('top', 100, 1);
|
338
|
-
SC.RunLoop.end();
|
339
|
-
equals(transitionFor(view), 'top 1s linear', 'transition is not on transform');
|
340
|
-
});
|
456
|
+
setTimeout(function () {
|
457
|
+
SC.run(function () {
|
458
|
+
var style = styleFor(view);
|
341
459
|
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
460
|
+
equals(style.left, '100px', 'Tests the left style after animate');
|
461
|
+
equals(style.top, '0px', 'Tests the top style after animate');
|
462
|
+
equals(transitionFor(view), 'left 0.5s ease 0s', 'Tests the CSS transition property');
|
463
|
+
view.cancelAnimation();
|
464
|
+
});
|
465
|
+
}, 5);
|
346
466
|
|
347
|
-
|
467
|
+
setTimeout(function () {
|
468
|
+
var style = styleFor(view);
|
348
469
|
|
349
|
-
|
350
|
-
|
351
|
-
|
470
|
+
equals(style.left, '100px', 'Tests the left style after cancel');
|
471
|
+
equals(style.top, '0px', 'Tests the top style after cancel');
|
472
|
+
equals(transitionFor(view), '', 'Tests the CSS transition property');
|
473
|
+
start();
|
474
|
+
}, 50);
|
352
475
|
});
|
353
476
|
|
354
|
-
test("
|
355
|
-
|
356
|
-
|
357
|
-
|
477
|
+
test("Test that cancelAnimation(SC.LayoutState.CURRENT) removes the animation style, stops at the current position and fires the callback with isCancelled set.", function () {
|
478
|
+
stop(2000);
|
479
|
+
|
480
|
+
expect(9);
|
481
|
+
|
482
|
+
SC.run(function () {
|
483
|
+
view.animate({ left: 100, top: 100, width: 400 }, { duration: 0.5 }, function (data) {
|
484
|
+
ok(data.isCancelled, "The isCancelled property of the data should be true.");
|
485
|
+
});
|
486
|
+
});
|
487
|
+
|
488
|
+
setTimeout(function () {
|
489
|
+
SC.run(function () {
|
490
|
+
var style = styleFor(view);
|
358
491
|
|
359
|
-
|
492
|
+
equals(style.left, '100px', 'Tests the left style after animate');
|
493
|
+
equals(style.top, '100px', 'Tests the top style after animate');
|
494
|
+
equals(style.width, '400px', 'Tests the width style after animate');
|
495
|
+
equals(transitionFor(view), 'left 0.5s ease 0s, top 0.5s ease 0s, width 0.5s ease 0s', 'Tests the CSS transition property');
|
496
|
+
view.cancelAnimation(SC.LayoutState.CURRENT);
|
497
|
+
});
|
498
|
+
}, 100);
|
360
499
|
|
361
|
-
|
362
|
-
|
500
|
+
setTimeout(function () {
|
501
|
+
var style = styleFor(view);
|
502
|
+
|
503
|
+
ok((parseInt(style.left, 10) > 0) && (parseInt(style.left, 10) < 100), 'Tests the left style after cancel');
|
504
|
+
ok((parseInt(style.top, 10) > 0) && (parseInt(style.top, 10) < 100), 'Tests the top style after cancel');
|
505
|
+
ok((parseInt(style.width, 10) > 100) && (parseInt(style.width, 10) < 400), 'Tests the width style after cancel');
|
506
|
+
equals(transitionFor(view), '', 'Tests the CSS transition property');
|
507
|
+
start();
|
508
|
+
}, 200);
|
363
509
|
});
|
364
510
|
|
365
|
-
test("
|
511
|
+
test("Test that cancelAnimation(SC.LayoutState.START) removes the animation style, returns to the start position and fires the callback with isCancelled set.", function () {
|
366
512
|
stop(2000);
|
367
|
-
var stopped = true;
|
368
513
|
|
369
|
-
expect(
|
514
|
+
expect(9);
|
515
|
+
|
516
|
+
SC.run(function () {
|
517
|
+
view.animate({ left: 100, top: 100, width: 400 }, { duration: 0.5 }, function (data) {
|
518
|
+
ok(data.isCancelled, "The isCancelled property of the data should be true.");
|
519
|
+
});
|
520
|
+
});
|
521
|
+
|
522
|
+
setTimeout(function () {
|
523
|
+
SC.run(function () {
|
524
|
+
var style = styleFor(view);
|
525
|
+
|
526
|
+
equals(style.left, '100px', 'Tests the left style after animate');
|
527
|
+
equals(style.top, '100px', 'Tests the top style after animate');
|
528
|
+
equals(style.width, '400px', 'Tests the width style after animate');
|
529
|
+
equals(transitionFor(view), 'left 0.5s ease 0s, top 0.5s ease 0s, width 0.5s ease 0s', 'Tests the CSS transition property');
|
530
|
+
view.cancelAnimation(SC.LayoutState.START);
|
531
|
+
});
|
532
|
+
}, 100);
|
533
|
+
|
534
|
+
setTimeout(function () {
|
535
|
+
var style = styleFor(view);
|
536
|
+
|
537
|
+
equals(style.left, '0px', 'Tests the left style after cancel');
|
538
|
+
equals(style.top, '0px', 'Tests the top style after cancel');
|
539
|
+
equals(style.width, '100px', 'Tests the width style after animate');
|
540
|
+
equals(transitionFor(view), '', 'Tests the CSS transition property');
|
541
|
+
start();
|
542
|
+
}, 200);
|
543
|
+
});
|
544
|
+
|
545
|
+
if (SC.platform.supportsCSS3DTransforms) {
|
546
|
+
module("ANIMATION WITH ACCELERATED LAYER", {
|
547
|
+
setup: function () {
|
548
|
+
commonSetup.setup(YES);
|
549
|
+
},
|
550
|
+
|
551
|
+
teardown: commonSetup.teardown
|
552
|
+
});
|
553
|
+
|
554
|
+
test("handles acceleration when appropriate", function () {
|
555
|
+
stop(2000);
|
556
|
+
|
557
|
+
SC.RunLoop.begin();
|
558
|
+
view.animate('top', 100, { duration: 1 });
|
559
|
+
SC.RunLoop.end();
|
560
|
+
|
561
|
+
setTimeout(function () {
|
562
|
+
equals(transitionFor(view), SC.browser.experimentalCSSNameFor('transform') + ' 1s ease 0s', 'transition is on transform');
|
370
563
|
|
371
|
-
SC.RunLoop.begin();
|
372
|
-
// We shouldn't have to use invokeLater, but it's the only way to get this to work!
|
373
|
-
view.invokeLater('animate', 1, { top: 100, left: 100, scale: 2 }, 0.500, function(data) {
|
374
|
-
if (stopped) {
|
375
564
|
start();
|
376
|
-
|
377
|
-
|
565
|
+
}, 5);
|
566
|
+
});
|
567
|
+
|
568
|
+
test("doesn't use acceleration when not appropriate", function () {
|
569
|
+
stop(1000);
|
570
|
+
|
571
|
+
SC.RunLoop.begin();
|
572
|
+
view.adjust({ height: null, bottom: 0 });
|
573
|
+
view.animate('top', 100, { duration: 1 });
|
574
|
+
SC.RunLoop.end();
|
378
575
|
|
379
|
-
|
576
|
+
setTimeout(function () {
|
577
|
+
equals(transitionFor(view), 'top 1s ease 0s', 'transition is not on transform');
|
578
|
+
|
579
|
+
start();
|
580
|
+
}, 5);
|
380
581
|
});
|
381
|
-
SC.RunLoop.end();
|
382
|
-
});
|
383
582
|
|
384
|
-
|
385
|
-
|
583
|
+
test("combines accelerated layer animation with compatible transform animations", function () {
|
584
|
+
stop(1000);
|
386
585
|
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
SC.RunLoop.end();
|
586
|
+
SC.RunLoop.begin();
|
587
|
+
view.animate('top', 100, { duration: 1 }).animate('rotateX', 45, { duration: 1 });
|
588
|
+
SC.RunLoop.end();
|
391
589
|
|
392
|
-
|
590
|
+
setTimeout(function () {
|
591
|
+
var transform = styleFor(view)[SC.browser.experimentalStyleNameFor('transform')];
|
393
592
|
|
394
|
-
|
593
|
+
// We need to check these separately because in some cases we'll also have translateZ, this way we don't have to worry about it
|
594
|
+
ok(transform.match(/translateX\(0px\) translateY\(100px\)/), 'has translate');
|
595
|
+
ok(transform.match(/rotateX\(45deg\)/), 'has rotateX');
|
395
596
|
|
396
|
-
|
397
|
-
|
398
|
-
|
597
|
+
start();
|
598
|
+
}, 5);
|
599
|
+
});
|
399
600
|
|
400
|
-
|
601
|
+
test("should not use accelerated layer if other transforms are being animated at different speeds", function () {
|
602
|
+
stop(1000);
|
401
603
|
|
402
604
|
SC.RunLoop.begin();
|
403
|
-
view.animate('
|
605
|
+
view.animate('rotateX', 45, { duration: 2 }).animate('top', 100, { duration: 1 });
|
404
606
|
SC.RunLoop.end();
|
405
607
|
|
406
|
-
|
407
|
-
|
408
|
-
|
608
|
+
setTimeout(function () {
|
609
|
+
var style = styleFor(view);
|
610
|
+
|
611
|
+
equals(style[SC.browser.experimentalStyleNameFor('transform')], 'rotateX(45deg)', 'transform should only have rotateX');
|
612
|
+
equals(style.top, '100px', 'should not accelerate top');
|
613
|
+
|
614
|
+
start();
|
615
|
+
}, 5);
|
616
|
+
});
|
617
|
+
|
618
|
+
test("callbacks should work properly with acceleration", function () {
|
619
|
+
stop(1000);
|
620
|
+
|
621
|
+
SC.run(function () {
|
622
|
+
view.animate({ top: 100, left: 100, scale: 2 }, { duration: 0.25 }, function () {
|
623
|
+
ok(true);
|
624
|
+
|
625
|
+
start();
|
626
|
+
});
|
627
|
+
});
|
628
|
+
});
|
629
|
+
|
630
|
+
test("should not add animation for properties that have the same value as existing layout", function () {
|
631
|
+
var callbacks = 0;
|
632
|
+
|
633
|
+
SC.RunLoop.begin();
|
634
|
+
// we set width to the same value, but we change height
|
635
|
+
view.animate({width: 100, height: 50}, { duration: 0.5 }, function () { callbacks++; });
|
636
|
+
SC.RunLoop.end();
|
637
|
+
|
638
|
+
ok(callbacks === 0, "precond - callback should not have been run yet");
|
639
|
+
|
640
|
+
stop(2000);
|
641
|
+
|
642
|
+
// we need to test changing the width at a later time
|
643
|
+
setTimeout(function () {
|
644
|
+
start();
|
645
|
+
|
646
|
+
equals(callbacks, 1, "callback should have been run once, for height change");
|
647
|
+
|
648
|
+
SC.RunLoop.begin();
|
649
|
+
view.animate('width', 50, { duration: 0.5 });
|
650
|
+
SC.RunLoop.end();
|
651
|
+
|
652
|
+
equals(callbacks, 1, "callback should still have only been called once, even though width has now been animated");
|
653
|
+
}, 1000);
|
654
|
+
});
|
655
|
+
|
656
|
+
test("Test that cancelAnimation() removes the animation style and fires the callback with isCancelled set.", function () {
|
657
|
+
stop(2000);
|
658
|
+
|
659
|
+
SC.run(function () {
|
660
|
+
view.animate({ left: 100, top: 100, width: 400 }, { duration: 0.5 }, function (data) {
|
661
|
+
ok(data.isCancelled, "The isCancelled property of the data should be true.");
|
662
|
+
});
|
663
|
+
});
|
664
|
+
|
665
|
+
setTimeout(function () {
|
666
|
+
SC.run(function () {
|
667
|
+
var style = styleFor(view),
|
668
|
+
transform = style[SC.browser.experimentalStyleNameFor('transform')];
|
669
|
+
transform = transform.match(/\d+/g);
|
670
|
+
|
671
|
+
// We need to check these separately because in some cases we'll also have translateZ, this way we don't have to worry about it
|
672
|
+
equals(transform[0], '100', "Test translateX after animate.");
|
673
|
+
equals(transform[1], '100', "Test translateY after animate.");
|
674
|
+
|
675
|
+
equals(transitionFor(view), SC.browser.experimentalCSSNameFor('transform') + ' 0.5s ease 0s, width 0.5s ease 0s', 'Tests the CSS transition property');
|
676
|
+
|
677
|
+
equals(style.left, '0px', 'Tests the left style after animate');
|
678
|
+
equals(style.top, '0px', 'Tests the top style after animate');
|
679
|
+
equals(style.width, '400px', 'Tests the width style after animate');
|
680
|
+
|
681
|
+
view.cancelAnimation();
|
682
|
+
});
|
683
|
+
}, 250);
|
684
|
+
|
685
|
+
setTimeout(function () {
|
686
|
+
var style = styleFor(view);
|
687
|
+
equals(style.width, '400px', 'Tests the width style after cancel');
|
688
|
+
|
689
|
+
var transform = style[SC.browser.experimentalStyleNameFor('transform')];
|
690
|
+
transform = transform.match(/\d+/g);
|
691
|
+
|
692
|
+
equals(transform[0], '100', "Test translateX after cancel.");
|
693
|
+
equals(transform[1], '100', "Test translateY after cancel.");
|
694
|
+
|
695
|
+
equals(transitionFor(view), '', 'Tests that there is no CSS transition property after cancel');
|
696
|
+
|
697
|
+
start();
|
698
|
+
}, 350);
|
699
|
+
});
|
700
|
+
|
701
|
+
test("Test that cancelAnimation(SC.LayoutState.CURRENT) removes the animation style, stops at the current position and fires the callback with isCancelled set.", function () {
|
702
|
+
stop(2000);
|
703
|
+
|
704
|
+
|
705
|
+
SC.run(function () {
|
706
|
+
view.animate({ left: 200, top: 200, width: 400 }, { duration: 1 }, function (data) {
|
707
|
+
ok(data.isCancelled, "The isCancelled property of the data should be true.");
|
708
|
+
});
|
709
|
+
});
|
710
|
+
|
711
|
+
setTimeout(function () {
|
712
|
+
SC.run(function () {
|
713
|
+
var style = styleFor(view),
|
714
|
+
transform = style[SC.browser.experimentalStyleNameFor('transform')];
|
715
|
+
transform = transform.match(/\d+/g);
|
716
|
+
|
717
|
+
// We need to check these separately because in some cases we'll also have translateZ, this way we don't have to worry about it
|
718
|
+
equals(transform[0], '200', "Test translateX after animate.");
|
719
|
+
equals(transform[1], '200', "Test translateY after animate.");
|
720
|
+
equals(transitionFor(view), SC.browser.experimentalCSSNameFor('transform') + ' 1s ease 0s, width 1s ease 0s', 'Tests the CSS transition property');
|
721
|
+
|
722
|
+
equals(style.left, '0px', 'Tests the left style after animate');
|
723
|
+
equals(style.top, '0px', 'Tests the top style after animate');
|
724
|
+
equals(style.width, '400px', 'Tests the width style after animate');
|
409
725
|
|
410
|
-
|
726
|
+
view.cancelAnimation(SC.LayoutState.CURRENT);
|
727
|
+
});
|
728
|
+
}, 250);
|
411
729
|
|
730
|
+
setTimeout(function () {
|
731
|
+
var style = styleFor(view),
|
732
|
+
layout = view.get('layout');
|
733
|
+
|
734
|
+
equals(transitionFor(view), '', 'Tests that there is no CSS transition property after cancel');
|
735
|
+
|
736
|
+
// We need to check these separately because in some cases we'll also have translateZ, this way we don't have to worry about it
|
737
|
+
ok((layout.left > 0) && (layout.left < 200), 'Tests the left style, %@, after cancel is greater than 0 and less than 200'.fmt(style.left));
|
738
|
+
ok((layout.top > 0) && (layout.top < 200), 'Tests the top style, %@, after cancel is greater than 0 and less than 200'.fmt(style.top));
|
739
|
+
ok((parseInt(style.width, 10) > 100) && (parseInt(style.width, 10) < 400), 'Tests the width style, %@, after cancel is greater than 100 and less than 400'.fmt(style.width));
|
740
|
+
start();
|
741
|
+
}, 750);
|
742
|
+
});
|
743
|
+
|
744
|
+
test("Test that cancelAnimation(SC.LayoutState.START) removes the animation style, goes back to the start position and fires the callback with isCancelled set.", function () {
|
745
|
+
stop(2000);
|
746
|
+
|
747
|
+
// expect(12);
|
748
|
+
|
749
|
+
SC.run(function () {
|
750
|
+
view.animate({ left: 100, top: 100, width: 400 }, { duration: 0.5 }, function (data) {
|
751
|
+
ok(data.isCancelled, "The isCancelled property of the data should be true.");
|
752
|
+
});
|
753
|
+
});
|
754
|
+
|
755
|
+
setTimeout(function () {
|
756
|
+
SC.run(function () {
|
757
|
+
var style = styleFor(view),
|
758
|
+
transform = style[SC.browser.experimentalStyleNameFor('transform')];
|
759
|
+
equals(style.left, '0px', 'Tests the left style after animate');
|
760
|
+
equals(style.top, '0px', 'Tests the top style after animate');
|
761
|
+
equals(style.width, '400px', 'Tests the width style after animate');
|
762
|
+
|
763
|
+
transform = transform.match(/\d+/g);
|
764
|
+
|
765
|
+
// We need to check these separately because in some cases we'll also have translateZ, this way we don't have to worry about it
|
766
|
+
equals(transform[0], '100', "Test translateX after animate.");
|
767
|
+
equals(transform[1], '100', "Test translateY after animate.");
|
768
|
+
|
769
|
+
equals(transitionFor(view), SC.browser.experimentalCSSNameFor('transform') + ' 0.5s ease 0s, width 0.5s ease 0s', 'Tests the CSS transition property');
|
770
|
+
view.cancelAnimation(SC.LayoutState.START);
|
771
|
+
});
|
772
|
+
}, 250);
|
773
|
+
|
774
|
+
setTimeout(function () {
|
775
|
+
var style = styleFor(view);
|
776
|
+
|
777
|
+
var transform = style[SC.browser.experimentalStyleNameFor('transform')];
|
778
|
+
transform = transform.match(/\d+/g);
|
779
|
+
|
780
|
+
equals(transitionFor(view), '', 'Tests that there is no CSS transition property after cancel');
|
781
|
+
|
782
|
+
// We need to check these separately because in some cases we'll also have translateZ, this way we don't have to worry about it
|
783
|
+
equals(transform[0], '0', "Test translateX after cancel.");
|
784
|
+
equals(transform[1], '0', "Test translateY after cancel.");
|
785
|
+
equals(style.width, '100px', 'Tests the width style after cancel');
|
786
|
+
start();
|
787
|
+
}, 350);
|
788
|
+
});
|
789
|
+
} else {
|
790
|
+
test("This platform appears to not support CSS 3D transforms.");
|
791
|
+
}
|
792
|
+
} else {
|
793
|
+
test("This platform appears to not support CSS transitions.");
|
412
794
|
}
|
413
795
|
|
414
796
|
module("ANIMATION WITHOUT TRANSITIONS", {
|
415
|
-
setup: function(){
|
797
|
+
setup: function () {
|
416
798
|
commonSetup.setup();
|
417
799
|
SC.platform.supportsCSSTransitions = NO;
|
418
800
|
},
|
419
801
|
|
420
|
-
teardown: function(){
|
802
|
+
teardown: function () {
|
421
803
|
commonSetup.teardown();
|
422
804
|
SC.platform.supportsCSSTransitions = originalSupportsTransitions;
|
423
805
|
}
|
424
806
|
});
|
425
807
|
|
426
|
-
test("should update layout", function(){
|
427
|
-
|
428
|
-
|
808
|
+
test("should update layout", function () {
|
809
|
+
stop(2000);
|
810
|
+
SC.RunLoop.begin();
|
811
|
+
view.animate('left', 100, { duration: 1 });
|
812
|
+
SC.RunLoop.end();
|
813
|
+
|
814
|
+
setTimeout(function () {
|
815
|
+
equals(view.get('layout').left, 100, 'left is 100');
|
816
|
+
start();
|
817
|
+
}, 5);
|
429
818
|
});
|
430
819
|
|
431
|
-
test("should still run callback", function(){
|
820
|
+
test("should still run callback", function () {
|
432
821
|
stop(2000);
|
433
822
|
|
434
823
|
expect(1);
|
435
824
|
|
436
825
|
SC.RunLoop.begin();
|
437
|
-
view.animate({ top: 200, left: 100 }, 1, function() {
|
826
|
+
view.animate({ top: 200, left: 100 }, { duration: 1 }, function () {
|
438
827
|
ok(true, "callback called");
|
439
828
|
start();
|
440
829
|
});
|
441
830
|
SC.RunLoop.end();
|
442
831
|
});
|
832
|
+
|
833
|
+
module("Animating in the next run loop", commonSetup);
|
834
|
+
|
835
|
+
test("Calling animate while flusing the invokeNext queue should not throw an exception", function () {
|
836
|
+
try {
|
837
|
+
SC.run(function () {
|
838
|
+
view.invokeNext(function () {
|
839
|
+
this.animate({ top: 250 }, { duration: 1 });
|
840
|
+
});
|
841
|
+
|
842
|
+
view.animate({ top: 200 }, { duration: 1 });
|
843
|
+
});
|
844
|
+
|
845
|
+
SC.run(function () {
|
846
|
+
// The first call to _animate and the function with animate in it run.
|
847
|
+
});
|
848
|
+
|
849
|
+
SC.run(function () {
|
850
|
+
// The second call to _animate from the function with animate in it.
|
851
|
+
});
|
852
|
+
} catch (ex) {
|
853
|
+
ok(false, "failure");
|
854
|
+
}
|
855
|
+
|
856
|
+
ok(true, "success");
|
857
|
+
});
|