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
@@ -7,653 +7,445 @@ sc_require('views/view/animation');
|
|
7
7
|
Map to CSS Transforms
|
8
8
|
*/
|
9
9
|
|
10
|
+
// The scale transform must be last in order to decompose the transformation matrix.
|
11
|
+
SC.CSS_TRANSFORM_NAMES = ['rotateX', 'rotateY', 'rotateZ', 'scale'];
|
12
|
+
|
10
13
|
SC.CSS_TRANSFORM_MAP = {
|
11
|
-
rotate: function(
|
14
|
+
rotate: function () {
|
12
15
|
return null;
|
13
16
|
},
|
14
17
|
|
15
|
-
rotateX: function(val){
|
16
|
-
if (SC.typeOf(val) === SC.T_NUMBER) val += 'deg';
|
17
|
-
return 'rotateX('+val+')';
|
18
|
+
rotateX: function (val) {
|
19
|
+
if (SC.typeOf(val) === SC.T_NUMBER) { val += 'deg'; }
|
20
|
+
return 'rotateX(' + val + ')';
|
18
21
|
},
|
19
22
|
|
20
|
-
rotateY: function(val){
|
21
|
-
if (SC.typeOf(val) === SC.T_NUMBER) val += 'deg';
|
22
|
-
return 'rotateY('+val+')';
|
23
|
+
rotateY: function (val) {
|
24
|
+
if (SC.typeOf(val) === SC.T_NUMBER) { val += 'deg'; }
|
25
|
+
return 'rotateY(' + val + ')';
|
23
26
|
},
|
24
27
|
|
25
|
-
rotateZ: function(val){
|
26
|
-
if (SC.typeOf(val) === SC.T_NUMBER) val += 'deg';
|
27
|
-
return 'rotateZ('+val+')';
|
28
|
+
rotateZ: function (val) {
|
29
|
+
if (SC.typeOf(val) === SC.T_NUMBER) { val += 'deg'; }
|
30
|
+
return 'rotateZ(' + val + ')';
|
28
31
|
},
|
29
32
|
|
30
|
-
scale: function(val){
|
31
|
-
if (SC.typeOf(val) === SC.T_ARRAY) val = val.join(', ');
|
32
|
-
return 'scale('+val+')';
|
33
|
+
scale: function (val) {
|
34
|
+
if (SC.typeOf(val) === SC.T_ARRAY) { val = val.join(', '); }
|
35
|
+
return 'scale(' + val + ')';
|
33
36
|
}
|
34
37
|
};
|
35
38
|
|
36
|
-
SC.View.reopen(
|
37
|
-
/** @scope SC.View.prototype */ {
|
38
39
|
|
39
|
-
|
40
|
+
/** @private */
|
41
|
+
SC.View.LayoutStyleCalculator = {
|
40
42
|
|
41
|
-
/**
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
Computes the layout style settings needed for the current anchor.
|
47
|
-
|
48
|
-
@property {Hash}
|
49
|
-
@readOnly
|
50
|
-
*/
|
51
|
-
layoutStyle: function() {
|
52
|
-
var props = {
|
53
|
-
layout: this.get('layout'),
|
54
|
-
turbo: this.get('hasAcceleratedLayer'),
|
55
|
-
staticLayout: this.get('useStaticLayout')
|
56
|
-
};
|
57
|
-
|
58
|
-
var calculator = this.get('layoutStyleCalculator');
|
59
|
-
calculator.set(props);
|
60
|
-
|
61
|
-
return calculator.calculate();
|
62
|
-
}.property().cacheable()
|
63
|
-
});
|
64
|
-
|
65
|
-
SC.View.LayoutStyleCalculator = SC.Object.extend({
|
66
|
-
|
67
|
-
_layoutDidUpdate: function(){
|
68
|
-
var layout = this.get('layout');
|
69
|
-
if (!layout) { return; }
|
70
|
-
|
71
|
-
this.dims = SC._VIEW_DEFAULT_DIMS;
|
72
|
-
this.loc = this.dims.length;
|
73
|
-
|
74
|
-
// loose comparison used instead of (value === null || value === undefined)
|
75
|
-
|
76
|
-
var right = (this.right = layout.right);
|
77
|
-
this.hasRight = (right != null);
|
78
|
-
|
79
|
-
var left = (this.left = layout.left);
|
80
|
-
this.hasLeft = (left != null);
|
81
|
-
|
82
|
-
var top = (this.top = layout.top);
|
83
|
-
this.hasTop = (top != null);
|
84
|
-
|
85
|
-
var bottom = (this.bottom = layout.bottom);
|
86
|
-
this.hasBottom = (bottom != null);
|
87
|
-
|
88
|
-
var width = (this.width = layout.width);
|
89
|
-
this.hasWidth = (width != null);
|
90
|
-
|
91
|
-
var height = (this.height = layout.height);
|
92
|
-
this.hasHeight = (height != null);
|
43
|
+
/** @private If the value is undefined, make it null. */
|
44
|
+
_valueOrNull: function (value) {
|
45
|
+
return value === undefined ? null : value;
|
46
|
+
},
|
93
47
|
|
94
|
-
|
48
|
+
/** @private */
|
49
|
+
_prepareStyle: function (layout) {
|
50
|
+
/*jshint eqnull:true */
|
51
|
+
// It's important to provide null defaults to reset any previous style when
|
52
|
+
// this is applied.
|
53
|
+
var commonBorder = this._valueOrNull(layout.border),
|
54
|
+
style = {
|
55
|
+
marginLeft: null,
|
56
|
+
marginTop: null
|
57
|
+
};
|
58
|
+
|
59
|
+
// Position and size.
|
60
|
+
style.bottom = layout.bottom;
|
61
|
+
style.right = layout.right;
|
62
|
+
style.left = layout.left;
|
63
|
+
style.top = layout.top;
|
64
|
+
style.centerX = layout.centerX;
|
65
|
+
style.centerY = layout.centerY;
|
66
|
+
style.height = layout.height;
|
67
|
+
style.width = layout.width;
|
68
|
+
|
69
|
+
// Borders.
|
70
|
+
style.borderTopWidth = layout.borderTop !== undefined ? layout.borderTop : commonBorder;
|
71
|
+
style.borderRightWidth = layout.borderRight !== undefined ? layout.borderRight : commonBorder;
|
72
|
+
style.borderBottomWidth = layout.borderBottom !== undefined ? layout.borderBottom : commonBorder;
|
73
|
+
style.borderLeftWidth = layout.borderLeft !== undefined ? layout.borderLeft : commonBorder;
|
74
|
+
|
75
|
+
// Minimum and maximum size.
|
76
|
+
style.maxHeight = this._valueOrNull(layout.maxHeight);
|
77
|
+
style.maxWidth = this._valueOrNull(layout.maxWidth);
|
78
|
+
style.minWidth = this._valueOrNull(layout.minWidth);
|
79
|
+
style.minHeight = this._valueOrNull(layout.minHeight);
|
95
80
|
|
96
|
-
|
97
|
-
|
81
|
+
// the toString here is to ensure that it doesn't get px added to it
|
82
|
+
style.zIndex = (layout.zIndex != null) ? layout.zIndex.toString() : null;
|
83
|
+
style.opacity = (layout.opacity != null) ? layout.opacity.toString() : null;
|
98
84
|
|
99
|
-
|
85
|
+
style.backgroundPosition = this._valueOrNull(layout.backgroundPosition);
|
100
86
|
|
101
|
-
|
102
|
-
|
87
|
+
// Handle transforms (including reset).
|
88
|
+
if (SC.platform.supportsCSSTransforms) {
|
89
|
+
var transformAttribute = SC.browser.experimentalStyleNameFor('transform'),
|
90
|
+
transforms = [],
|
91
|
+
transformMap = SC.CSS_TRANSFORM_MAP;
|
92
|
+
|
93
|
+
// The order of the transforms is important so that we can decompose them
|
94
|
+
// from the transformation matrix later if necessary.
|
95
|
+
for (var i = 0, len = SC.CSS_TRANSFORM_NAMES.length; i < len; i++) {
|
96
|
+
var transformName = SC.CSS_TRANSFORM_NAMES[i],
|
97
|
+
layoutTransform = layout[transformName];
|
98
|
+
|
99
|
+
if (layoutTransform != null) {
|
100
|
+
// normalizing transforms like rotateX: 5 to rotateX(5deg)
|
101
|
+
transforms.push(transformMap[transformName](layoutTransform));
|
102
|
+
}
|
103
|
+
}
|
103
104
|
|
104
|
-
|
105
|
-
|
105
|
+
style[transformAttribute] = transforms.length > 0 ? transforms.join(' ') : null;
|
106
|
+
}
|
106
107
|
|
107
|
-
|
108
|
-
|
108
|
+
// Reset any transitions.
|
109
|
+
if (SC.platform.supportsCSSTransitions) {
|
110
|
+
style[SC.browser.experimentalStyleNameFor('transition')] = null;
|
111
|
+
}
|
109
112
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
113
|
+
// for ie, we will NOT use alpha. It is just a source of pain.
|
114
|
+
// a) it will not affect absolutely positioned child elements, and is therefore
|
115
|
+
// useless for most SC purposes.
|
116
|
+
//
|
117
|
+
// b) It completely breaks semitransparent background images (PNGs with opacity)
|
118
|
+
//
|
119
|
+
// If users want to use alpha, they should do it on their own.
|
114
120
|
|
115
|
-
//
|
116
|
-
this.zIndex = (layout.zIndex != null) ? layout.zIndex.toString() : null;
|
117
|
-
this.opacity = (layout.opacity != null) ? layout.opacity.toString() : null;
|
121
|
+
// if(!SC.none(layout.opacity)) style.filter = "alpha(opacity=%@)".fmt(layout.opacity * 100);
|
118
122
|
|
119
|
-
|
123
|
+
return style;
|
124
|
+
},
|
120
125
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
};
|
126
|
+
/** @private */
|
127
|
+
_prepareState: function (style) {
|
128
|
+
/*jshint eqnull:true */
|
129
|
+
var state = {};
|
130
|
+
|
131
|
+
state.hasBottom = (style.bottom != null);
|
132
|
+
state.hasRight = (style.right != null);
|
133
|
+
state.hasLeft = (style.left != null);
|
134
|
+
state.hasTop = (style.top != null);
|
135
|
+
state.hasCenterX = (style.centerX != null);
|
136
|
+
state.hasCenterY = (style.centerY != null);
|
137
|
+
state.hasHeight = (style.height != null);
|
138
|
+
state.hasWidth = (style.width != null);
|
139
|
+
state.hasMaxWidth = (style.maxWidth != null);
|
140
|
+
state.hasMaxHeight = (style.maxHeight != null);
|
141
|
+
|
142
|
+
return state;
|
143
|
+
},
|
125
144
|
|
126
|
-
}.observes('layout'),
|
127
145
|
|
128
146
|
// handles the case where you do width:auto or height:auto and are not using "staticLayout"
|
129
|
-
_invalidAutoValue: function(property){
|
130
|
-
var error = SC.Error.desc("%@.layout() you cannot use %@:auto if staticLayout is disabled".fmt(
|
131
|
-
this.get('view'), property), "%@".fmt(this.get('view')),-1);
|
147
|
+
_invalidAutoValue: function (view, property) {
|
148
|
+
var error = SC.Error.desc("%@.layout() you cannot use %@:auto if staticLayout is disabled".fmt(view, property), "%@".fmt(view), -1);
|
132
149
|
SC.Logger.error(error.toString());
|
133
|
-
throw error
|
150
|
+
throw error;
|
134
151
|
},
|
135
152
|
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
if (this.height === SC.LAYOUT_AUTO) { this._invalidAutoValue("height"); }
|
143
|
-
}
|
144
|
-
|
145
|
-
if (SC.platform.supportsCSSTransforms) {
|
146
|
-
// Check to see if we're using transforms
|
147
|
-
var animations = layout.animate,
|
148
|
-
transformAnimationDuration,
|
149
|
-
key;
|
150
|
-
|
151
|
-
if (animations) {
|
152
|
-
for(key in animations){
|
153
|
-
if (SC.CSS_TRANSFORM_MAP[key]) {
|
154
|
-
// To prevent:
|
155
|
-
// this.animate('scale', ...);
|
156
|
-
// this.animate('rotate', ...);
|
157
|
-
// Use this instead
|
158
|
-
// this.animate({ scale: ..., rotate: ... }, ...);
|
159
|
-
if (this._pendingAnimations && this._pendingAnimations['-'+SC.platform.cssPrefix+'-transform']) {
|
160
|
-
throw "Animations of transforms must be executed simultaneously!";
|
161
|
-
}
|
153
|
+
/** @private */
|
154
|
+
_calculatePosition: function (style, state, direction) {
|
155
|
+
var start, finish, size,
|
156
|
+
hasStart, hasFinish, hasSize, hasMaxSize,
|
157
|
+
startBorder,
|
158
|
+
finishBorder;
|
162
159
|
|
163
|
-
|
164
|
-
// at different speeds. So, to handle that case, we just force them to all have the same length.
|
165
|
-
|
166
|
-
// First time around this will never be true, but we're concerned with subsequent runs.
|
167
|
-
if (transformAnimationDuration && animations[key].duration !== transformAnimationDuration) {
|
168
|
-
SC.Logger.warn("Can't animate transforms with different durations! Using first duration specified.");
|
169
|
-
animations[key].duration = transformAnimationDuration;
|
170
|
-
}
|
171
|
-
|
172
|
-
transformAnimationDuration = animations[key].duration;
|
173
|
-
}
|
174
|
-
}
|
175
|
-
}
|
176
|
-
}
|
177
|
-
},
|
178
|
-
|
179
|
-
_calculatePosition: function(direction) {
|
180
|
-
var translate = null, turbo = this.get('turbo'), ret = this.ret;
|
181
|
-
|
182
|
-
var start, finish, size, maxSize, margin,
|
183
|
-
hasStart, hasFinish, hasSize, hasMaxSize,
|
184
|
-
startBorder, startBorderVal,
|
185
|
-
finishBorder, finishBorderVal,
|
186
|
-
sizeNum;
|
187
|
-
|
188
|
-
if (direction === 'x') {
|
160
|
+
if (direction === 'X') {
|
189
161
|
start = 'left';
|
190
162
|
finish = 'right';
|
191
163
|
size = 'width';
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
hasSize = this.hasWidth;
|
199
|
-
hasMaxSize = this.hasMaxWidth;
|
164
|
+
startBorder = 'borderLeftWidth';
|
165
|
+
finishBorder = 'borderRightWidth';
|
166
|
+
hasStart = state.hasLeft;
|
167
|
+
hasFinish = state.hasRight;
|
168
|
+
hasSize = state.hasWidth;
|
169
|
+
hasMaxSize = state.hasMaxWidth;
|
200
170
|
} else {
|
201
171
|
start = 'top';
|
202
172
|
finish = 'bottom';
|
203
173
|
size = 'height';
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
hasSize = this.hasHeight;
|
211
|
-
hasMaxSize = this.hasMaxHeight;
|
174
|
+
startBorder = 'borderTopWidth';
|
175
|
+
finishBorder = 'borderBottomWidth';
|
176
|
+
hasStart = state.hasTop;
|
177
|
+
hasFinish = state.hasBottom;
|
178
|
+
hasSize = state.hasHeight;
|
179
|
+
hasMaxSize = state.hasMaxHeight;
|
212
180
|
}
|
213
181
|
|
214
|
-
|
215
|
-
|
182
|
+
style[start] = this._cssNumber(style[start]);
|
183
|
+
style[finish] = this._cssNumber(style[finish]);
|
216
184
|
|
217
|
-
startBorderVal = this._cssNumber(
|
218
|
-
|
219
|
-
|
220
|
-
|
185
|
+
var startBorderVal = this._cssNumber(style[startBorder]),
|
186
|
+
finishBorderVal = this._cssNumber(style[finishBorder]),
|
187
|
+
sizeNum = style[size];
|
188
|
+
|
189
|
+
style[startBorder] = startBorderVal;
|
190
|
+
style[finishBorder] = finishBorderVal;
|
221
191
|
|
222
|
-
sizeNum = this[size];
|
223
192
|
// This is a normal number
|
224
193
|
if (sizeNum >= 1) { sizeNum -= (startBorderVal + finishBorderVal); }
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
if(hasStart) {
|
229
|
-
if (turbo) {
|
230
|
-
translate = ret[start];
|
231
|
-
ret[start] = 0;
|
232
|
-
}
|
194
|
+
style[size] = this._cssNumber(sizeNum);
|
233
195
|
|
196
|
+
if (hasStart) {
|
234
197
|
// top, bottom, height -> top, bottom
|
235
|
-
if (hasFinish && hasSize) {
|
198
|
+
if (hasFinish && hasSize) { style[finish] = null; }
|
236
199
|
} else {
|
237
200
|
// bottom aligned
|
238
|
-
if(!hasFinish || (hasFinish && !hasSize && !hasMaxSize)) {
|
201
|
+
if (!hasFinish || (hasFinish && !hasSize && !hasMaxSize)) {
|
239
202
|
// no top, no bottom
|
240
|
-
|
203
|
+
style[start] = 0;
|
241
204
|
}
|
242
205
|
}
|
243
206
|
|
244
|
-
if (!hasSize && !hasFinish) {
|
245
|
-
|
246
|
-
return translate;
|
207
|
+
if (!hasSize && !hasFinish) { style[finish] = 0; }
|
247
208
|
},
|
248
209
|
|
249
|
-
_calculateCenter: function(direction) {
|
250
|
-
var ret = this.ret,
|
251
|
-
size, center, start, finish, margin,
|
252
|
-
startBorder, startBorderVal,
|
253
|
-
finishBorder, finishBorderVal;
|
254
|
-
|
255
|
-
if (direction === 'x') {
|
256
|
-
size = 'width';
|
257
|
-
center = 'centerX';
|
258
|
-
start = 'left';
|
259
|
-
finish = 'right';
|
260
|
-
margin = 'marginLeft';
|
261
|
-
startBorder = 'borderLeft';
|
262
|
-
finishBorder = 'borderRight';
|
263
|
-
} else {
|
264
|
-
size = 'height';
|
265
|
-
center = 'centerY';
|
266
|
-
start = 'top';
|
267
|
-
finish = 'bottom';
|
268
|
-
margin = 'marginTop';
|
269
|
-
startBorder = 'borderTop';
|
270
|
-
finishBorder = 'borderBottom';
|
271
|
-
}
|
272
|
-
|
273
|
-
ret[start] = "50%";
|
274
|
-
|
275
|
-
startBorderVal = this._cssNumber(this[startBorder]);
|
276
|
-
finishBorderVal = this._cssNumber(this[finishBorder]);
|
277
|
-
ret[startBorder+'Width'] = startBorderVal || null;
|
278
|
-
ret[finishBorder+'Width'] = finishBorderVal || null;
|
279
|
-
|
280
|
-
|
281
|
-
var sizeValue = this[size],
|
282
|
-
centerValue = this[center],
|
283
|
-
startValue = this[start];
|
284
|
-
|
285
|
-
var sizeIsPercent = SC.isPercentage(sizeValue), centerIsPercent = SC.isPercentage(centerValue, YES);
|
286
210
|
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
211
|
+
/** @private */
|
212
|
+
_calculateCenter: function (style, direction) {
|
213
|
+
var size, center, start, finish, margin,
|
214
|
+
startBorder,
|
215
|
+
finishBorder;
|
216
|
+
|
217
|
+
if (direction === 'X') {
|
218
|
+
size = 'width';
|
219
|
+
center = 'centerX';
|
220
|
+
start = 'left';
|
221
|
+
finish = 'right';
|
222
|
+
margin = 'marginLeft';
|
223
|
+
startBorder = 'borderLeftWidth';
|
224
|
+
finishBorder = 'borderRightWidth';
|
293
225
|
} else {
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
},
|
302
|
-
|
303
|
-
_calculateTransforms: function(translateLeft, translateTop){
|
304
|
-
if (SC.platform.supportsCSSTransforms) {
|
305
|
-
// Handle transforms
|
306
|
-
var layout = this.get('layout');
|
307
|
-
var transformAttribute = SC.platform.domCSSPrefix+'Transform';
|
308
|
-
var transforms = [];
|
309
|
-
|
310
|
-
if (this.turbo) {
|
311
|
-
// FIXME: Can we just set translateLeft / translateTop to 0 earlier?
|
312
|
-
transforms.push('translateX('+(translateLeft || 0)+'px)', 'translateY('+(translateTop || 0)+'px)');
|
313
|
-
|
314
|
-
// double check to make sure this is needed
|
315
|
-
if (SC.platform.supportsCSS3DTransforms) { transforms.push('translateZ(0px)'); }
|
316
|
-
}
|
317
|
-
|
318
|
-
// normalizing transforms like rotateX: 5 to rotateX(5deg)
|
319
|
-
var transformMap = SC.CSS_TRANSFORM_MAP;
|
320
|
-
for(var transformName in transformMap) {
|
321
|
-
var layoutTransform = layout[transformName];
|
322
|
-
|
323
|
-
if(layoutTransform != null) {
|
324
|
-
transforms.push(transformMap[transformName](layoutTransform));
|
325
|
-
}
|
326
|
-
}
|
327
|
-
|
328
|
-
this.ret[transformAttribute] = transforms.length > 0 ? transforms.join(' ') : null;
|
226
|
+
size = 'height';
|
227
|
+
center = 'centerY';
|
228
|
+
start = 'top';
|
229
|
+
finish = 'bottom';
|
230
|
+
margin = 'marginTop';
|
231
|
+
startBorder = 'borderTopWidth';
|
232
|
+
finishBorder = 'borderBottomWidth';
|
329
233
|
}
|
330
|
-
},
|
331
|
-
|
332
|
-
_calculateAnimations: function(translateLeft, translateTop){
|
333
|
-
var layout = this.layout,
|
334
|
-
animations = layout.animate,
|
335
|
-
key;
|
336
|
-
|
337
|
-
// we're checking to see if the layout update was triggered by a call to .animate
|
338
|
-
if (!animations) { return; }
|
339
|
-
|
340
|
-
// TODO: Deprecate SC.Animatable
|
341
|
-
if(this.getPath('view.isAnimatable')) { return; }
|
342
|
-
|
343
|
-
// Handle animations
|
344
|
-
var transitions = [], animation;
|
345
|
-
this._animatedTransforms = [];
|
346
|
-
|
347
|
-
if (!this._pendingAnimations) { this._pendingAnimations = {}; }
|
348
|
-
|
349
|
-
var platformTransform = "-" + SC.platform.cssPrefix + "-transform";
|
350
|
-
|
351
|
-
|
352
|
-
// animate({ scale: 2, rotateX: 90 })
|
353
|
-
// both scale and rotateX are transformProperties
|
354
|
-
// so they both actually are animating the same CSS key, i.e. -webkit-transform
|
355
|
-
|
356
|
-
if (SC.platform.supportsCSSTransitions) {
|
357
|
-
for(key in animations) {
|
358
|
-
// FIXME: If we want to allow it to be set as just a number for duration we need to add support here
|
359
|
-
animation = animations[key];
|
360
|
-
|
361
|
-
var isTransformProperty = SC.CSS_TRANSFORM_MAP[key];
|
362
|
-
var isTurboProperty = (key === 'top' && translateTop != null) || (key === 'left' && translateLeft != null);
|
363
|
-
|
364
|
-
if (SC.platform.supportsCSSTransforms && (isTurboProperty || isTransformProperty)) {
|
365
|
-
this._animatedTransforms.push(key);
|
366
|
-
key = platformTransform;
|
367
|
-
}
|
368
|
-
|
369
|
-
// We're actually storing the css for the animation on layout.animate[key].css
|
370
|
-
animation.css = key + " " + animation.duration + "s " + animation.timing;
|
371
|
-
|
372
|
-
// If there are multiple transform properties, we only need to set this key once.
|
373
|
-
// We already checked before to make sure they have the same duration.
|
374
|
-
if (!this._pendingAnimations[key]) {
|
375
|
-
this._pendingAnimations[key] = animation;
|
376
|
-
transitions.push(animation.css);
|
377
|
-
}
|
378
|
-
}
|
379
|
-
|
380
|
-
this.ret[SC.platform.domCSSPrefix+"Transition"] = transitions.join(", ");
|
381
234
|
|
235
|
+
style[start] = "50%";
|
236
|
+
|
237
|
+
var startBorderVal = this._cssNumber(style[startBorder]),
|
238
|
+
finishBorderVal = this._cssNumber(style[finishBorder]),
|
239
|
+
sizeValue = style[size],
|
240
|
+
centerValue = style[center],
|
241
|
+
sizeIsPercent = SC.isPercentage(sizeValue),
|
242
|
+
value;
|
243
|
+
|
244
|
+
style[startBorder] = startBorderVal;
|
245
|
+
style[finishBorder] = finishBorderVal;
|
246
|
+
|
247
|
+
// Calculate the margin offset used to center the value along this axis.
|
248
|
+
if (SC.none(sizeValue)) {
|
249
|
+
//@if(debug)
|
250
|
+
// This error message happens whenever width or height is not set.
|
251
|
+
SC.warn("Developer Warning: When setting '" + center + "' in the layout, you must also set '" + size + "'.");
|
252
|
+
//@endif
|
253
|
+
style[margin] = "50%";
|
382
254
|
} else {
|
383
|
-
|
384
|
-
|
385
|
-
// For now we're just sticking them in so the callbacks can be run
|
386
|
-
for(key in animations) {
|
387
|
-
this._pendingAnimations[key] = animations[key];
|
388
|
-
}
|
255
|
+
value = centerValue - sizeValue / 2;
|
256
|
+
style[margin] = (sizeIsPercent) ? Math.floor(value * 100) + "%" : Math.floor(value);
|
389
257
|
}
|
390
258
|
|
391
|
-
|
259
|
+
// If > 1 then it's a pixel value, in which case we shrink it to accommodate the borders.
|
260
|
+
if (sizeValue > 1) { sizeValue -= (startBorderVal + finishBorderVal); }
|
261
|
+
|
262
|
+
style[size] = this._cssNumber(sizeValue) || 0;
|
263
|
+
style[finish] = style[center] = null;
|
392
264
|
},
|
393
265
|
|
266
|
+
/** @private */
|
394
267
|
// return "auto" for "auto", null for null, converts 0.XY into "XY%".
|
395
268
|
// otherwise returns the original number, rounded down
|
396
|
-
_cssNumber: function(val){
|
269
|
+
_cssNumber: function (val) {
|
270
|
+
/*jshint eqnull:true*/
|
397
271
|
if (val == null) { return null; }
|
398
272
|
else if (val === SC.LAYOUT_AUTO) { return SC.LAYOUT_AUTO; }
|
399
|
-
else if (SC.isPercentage(val)) { return (val*100)+"%"; }
|
273
|
+
else if (SC.isPercentage(val)) { return (val * 100) + "%"; }
|
400
274
|
else { return Math.floor(val); }
|
401
275
|
},
|
402
276
|
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
translateTop = null,
|
407
|
-
translateLeft = null,
|
408
|
-
turbo = this.get('turbo'),
|
409
|
-
ret = this.ret,
|
410
|
-
dims = this.dims,
|
411
|
-
loc = this.loc,
|
412
|
-
view = this.get('view'),
|
413
|
-
key, value;
|
414
|
-
|
415
|
-
this._handleMistakes(layout);
|
277
|
+
/** @private
|
278
|
+
Calculate the layout style for the given view, making adjustments to allow
|
279
|
+
for flexible positioning, animation and accelerated transforms.
|
416
280
|
|
281
|
+
@return {Object} Layout style hash.
|
282
|
+
*/
|
283
|
+
calculate: function (view) {
|
284
|
+
var layout = view.get('layout'),
|
285
|
+
animations = view._activeAnimations,
|
286
|
+
state,
|
287
|
+
useStaticLayout = view.get('useStaticLayout'),
|
288
|
+
style;
|
289
|
+
|
290
|
+
// Fast path!
|
417
291
|
// If the developer sets useStaticLayout and doesn't provide a unique `layout` property, we
|
418
292
|
// should not insert the styles "left: 0px; right: 0px; top: 0px; bottom: 0px" as they could
|
419
293
|
// conflict with the developer's intention. However, if they do provide a unique `layout`,
|
420
294
|
// use it.
|
421
|
-
if (
|
295
|
+
if (useStaticLayout && layout === SC.View.prototype.layout) { return {}; }
|
422
296
|
|
423
|
-
|
297
|
+
style = this._prepareStyle(layout);
|
298
|
+
state = this._prepareState(style);
|
424
299
|
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
this.
|
300
|
+
// handle invalid use of auto in absolute layouts
|
301
|
+
if (!useStaticLayout) {
|
302
|
+
if (style.width === SC.LAYOUT_AUTO) { this._invalidAutoValue(view, "width"); }
|
303
|
+
if (style.height === SC.LAYOUT_AUTO) { this._invalidAutoValue(view, "height"); }
|
429
304
|
}
|
430
305
|
|
306
|
+
// X DIRECTION
|
307
|
+
if (state.hasLeft || state.hasRight || !state.hasCenterX) {
|
308
|
+
this._calculatePosition(style, state, "X");
|
309
|
+
} else {
|
310
|
+
this._calculateCenter(style, "X");
|
311
|
+
}
|
431
312
|
|
432
313
|
// Y DIRECTION
|
433
|
-
|
434
|
-
|
435
|
-
translateTop = this._calculatePosition("y");
|
314
|
+
if (state.hasTop || state.hasBottom || !state.hasCenterY) {
|
315
|
+
this._calculatePosition(style, state, "Y");
|
436
316
|
} else {
|
437
|
-
this._calculateCenter("
|
317
|
+
this._calculateCenter(style, "Y");
|
438
318
|
}
|
439
319
|
|
440
|
-
|
441
|
-
// these properties pass through unaltered (after prior normalization)
|
442
|
-
ret.minWidth = this.minWidth;
|
443
|
-
ret.maxWidth = this.maxWidth;
|
444
|
-
ret.minHeight = this.minHeight;
|
445
|
-
ret.maxHeight = this.maxHeight;
|
446
|
-
|
447
|
-
ret.zIndex = this.zIndex;
|
448
|
-
ret.opacity = this.opacity;
|
449
|
-
|
450
|
-
// for ie, we will NOT use alpha. It is just a source of pain.
|
451
|
-
// a) it will not affect absolutely positioned child elements, and is therefore
|
452
|
-
// useless for most SC purposes.
|
453
|
-
//
|
454
|
-
// b) It completely breaks semitransparent background images (PNGs with opacity)
|
455
|
-
//
|
456
|
-
// If users want to use alpha, they should do it on their own.
|
457
|
-
|
458
|
-
// if(!SC.none(this.opacity)) ret.filter = "alpha(opacity=%@)".fmt(this.opacity * 100);
|
459
|
-
|
460
|
-
ret.backgroundPosition = this.backgroundPosition;
|
461
|
-
|
462
|
-
this._calculateTransforms(translateLeft, translateTop);
|
463
|
-
this._calculateAnimations(translateLeft, translateTop);
|
464
|
-
|
320
|
+
this._calculateAnimations(style, animations, view.get('hasAcceleratedLayer'));
|
465
321
|
|
466
322
|
// convert any numbers into a number + "px".
|
467
|
-
for(key in
|
468
|
-
value =
|
469
|
-
if (typeof value === SC.T_NUMBER) {
|
323
|
+
for (var key in style) {
|
324
|
+
var value = style[key];
|
325
|
+
if (typeof value === SC.T_NUMBER) { style[key] = (value + "px"); }
|
470
326
|
}
|
471
327
|
|
472
|
-
return
|
328
|
+
return style;
|
473
329
|
},
|
474
330
|
|
475
|
-
/** @private
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
if (
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
if (!activeAnimations) activeAnimations = {};
|
495
|
-
|
496
|
-
for (key in pendingAnimations) {
|
497
|
-
if (!pendingAnimations.hasOwnProperty(key)) continue;
|
498
|
-
|
499
|
-
pendingAnimation = pendingAnimations[key];
|
500
|
-
activeAnimation = activeAnimations[key];
|
501
|
-
shouldCancel = NO;
|
502
|
-
|
503
|
-
if (newStyle[key] !== (currentStyle ? currentStyle[key] : null)) shouldCancel = YES;
|
504
|
-
|
505
|
-
// if we have a new animation (an animation property has changed), cancel current
|
506
|
-
if (activeAnimation && (activeAnimation.duration !== pendingAnimation.duration || activeAnimation.timing !== pendingAnimation.timing)) {
|
507
|
-
shouldCancel = YES;
|
331
|
+
/** @private Calculates animation styles. */
|
332
|
+
_calculateAnimations: function (style, animations, hasAcceleratedLayer) {
|
333
|
+
/*jshint eqnull:true*/
|
334
|
+
var key,
|
335
|
+
shouldTranslate;
|
336
|
+
|
337
|
+
// Handle transforms
|
338
|
+
if (hasAcceleratedLayer) {
|
339
|
+
shouldTranslate = YES;
|
340
|
+
|
341
|
+
// If we're animating other transforms at different speeds, don't use acceleratedLayer
|
342
|
+
if (animations && (animations.top || animations.left)) {
|
343
|
+
for (key in animations) {
|
344
|
+
if (SC.CSS_TRANSFORM_MAP[key] &&
|
345
|
+
((animations.top &&
|
346
|
+
animations.top.duration !== animations[key].duration) ||
|
347
|
+
(animations.left &&
|
348
|
+
animations.left.duration !== animations[key].duration))) {
|
349
|
+
shouldTranslate = NO;
|
508
350
|
}
|
351
|
+
}
|
352
|
+
}
|
509
353
|
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
this.runAnimationCallback(callback, null, YES);
|
514
|
-
this._animatedTransforms = null;
|
515
|
-
} else {
|
516
|
-
this.runAnimationCallback(callback, null, YES);
|
517
|
-
}
|
518
|
-
}
|
519
|
-
|
520
|
-
this.removeAnimationFromLayout(key, YES);
|
521
|
-
}
|
354
|
+
if (shouldTranslate) {
|
355
|
+
var transformAttribute = SC.browser.experimentalStyleNameFor('transform'),
|
356
|
+
curValue = style[transformAttribute];
|
522
357
|
|
523
|
-
|
524
|
-
|
358
|
+
// Don't overwrite previously transformed values.
|
359
|
+
if (curValue) {
|
360
|
+
curValue += ' ';
|
361
|
+
} else {
|
362
|
+
curValue = '';
|
525
363
|
}
|
526
364
|
|
527
|
-
|
528
|
-
|
365
|
+
style[transformAttribute] = curValue + 'translateX(' + style.left + 'px) translateY(' + style.top + 'px)';
|
366
|
+
style.left = 0;
|
367
|
+
style.top = 0;
|
529
368
|
|
530
|
-
this
|
531
|
-
|
532
|
-
}
|
533
|
-
}
|
534
|
-
},
|
535
|
-
|
536
|
-
/** @private
|
537
|
-
This method is called after the layout style is applied to the layer. If
|
538
|
-
the platform didn't support CSS transitions, the callbacks will be fired
|
539
|
-
immediately and the animations removed from the queue.
|
540
|
-
*/
|
541
|
-
didRenderAnimations: function(){
|
542
|
-
if (!SC.platform.supportsCSSTransitions) {
|
543
|
-
var key, callback;
|
544
|
-
|
545
|
-
// Transitions not supported
|
546
|
-
for (key in this._pendingAnimations) {
|
547
|
-
callback = this._pendingAnimations[key].callback;
|
548
|
-
if (callback) {
|
549
|
-
// We're using invokeOnce because we only want to call a callback
|
550
|
-
// once for each group of animations.
|
551
|
-
this.invokeOnceLater('runAnimationCallback', 1, callback, null, NO);
|
552
|
-
}
|
553
|
-
this.removeAnimationFromLayout(key, NO, YES);
|
369
|
+
// double check to make sure this is needed
|
370
|
+
if (SC.platform.supportsCSS3DTransforms) { style[transformAttribute] += ' translateZ(0px)'; }
|
554
371
|
}
|
555
|
-
|
556
|
-
// Reset the placeholder variables now that the layout style has been applied.
|
557
|
-
this._activeAnimations = this._pendingAnimations = null;
|
558
372
|
}
|
559
|
-
},
|
560
373
|
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
callback.source = view;
|
566
|
-
if (!callback.target) { callback.target = this; }
|
567
|
-
}
|
568
|
-
SC.View.runCallback(callback, { event: evt, view: view, isCancelled: cancelled });
|
569
|
-
},
|
374
|
+
// Handle animations
|
375
|
+
if (animations) {
|
376
|
+
if (SC.platform.supportsCSSTransitions) {
|
377
|
+
var transitions = [];
|
570
378
|
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
379
|
+
for (key in animations) {
|
380
|
+
var animation = animations[key],
|
381
|
+
isTransformProperty = !!SC.CSS_TRANSFORM_MAP[key],
|
382
|
+
isTurboProperty = shouldTranslate && (key === 'top' || key === 'left');
|
575
383
|
|
576
|
-
|
384
|
+
if (SC.platform.supportsCSSTransforms && (isTurboProperty || isTransformProperty)) {
|
385
|
+
// Untrack the un-transformed property name.
|
386
|
+
delete animations[key];
|
577
387
|
|
578
|
-
|
579
|
-
|
580
|
-
// We're using invokeOnceLater so we don't trigger any layout changes from
|
581
|
-
// the callbacks until the animations are done and we only want to call
|
582
|
-
// a callback once for each group of animations.
|
583
|
-
this.invokeOnceLater('runAnimationCallback', 1, animation.callback, evt, NO);
|
584
|
-
}
|
585
|
-
this.removeAnimationFromLayout(propertyName, YES);
|
586
|
-
|
587
|
-
var key;
|
588
|
-
propertyNames = this._groupedAnimations && this._groupedAnimations[propertyName];
|
589
|
-
if (propertyNames) {
|
590
|
-
for (var i = 0, len = propertyNames.length; i < len; i++) {
|
591
|
-
key = propertyNames[i];
|
592
|
-
delete this._activeAnimations[key];
|
593
|
-
}
|
388
|
+
// The key will be either 'transform' or one of '-webkit-transform', '-ms-transform', '-moz-transform', '-o-transform'
|
389
|
+
key = SC.browser.experimentalCSSNameFor('transform');
|
594
390
|
|
595
|
-
|
596
|
-
}
|
597
|
-
}
|
598
|
-
},
|
391
|
+
var curTransformAnimation = animations[key];
|
599
392
|
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
393
|
+
// Because multiple transforms actually share one CSS property, we can't animate multiple transforms
|
394
|
+
// at different speeds. So, to handle that case, we just force them to all have the same length.
|
395
|
+
if (curTransformAnimation) {
|
396
|
+
//@if(debug)
|
397
|
+
if (curTransformAnimation.duration !== animation.duration || curTransformAnimation.timing !== animation.timing || curTransformAnimation.delay !== animation.delay) {
|
398
|
+
SC.Logger.warn("Developer Warning: Can't animate transforms with different durations, timings or delays! Using the first options specified.");
|
399
|
+
}
|
400
|
+
//@endif
|
401
|
+
animation = curTransformAnimation;
|
402
|
+
} else {
|
403
|
+
// Track the transformed property name.
|
404
|
+
animations[key] = animation;
|
405
|
+
}
|
406
|
+
}
|
607
407
|
|
608
|
-
|
609
|
-
|
610
|
-
|
408
|
+
// Fix up the centerX & centerY properties.
|
409
|
+
if (key === 'centerX') { key = 'margin-left'; }
|
410
|
+
if (key === 'centerY') { key = 'margin-top'; }
|
611
411
|
|
412
|
+
// We're actually storing the css for the animation on layout.animate[key].css
|
413
|
+
animation.css = key + " " + animation.duration + "s " + animation.timing + " " + animation.delay + "s";
|
612
414
|
|
613
|
-
|
614
|
-
|
415
|
+
// If there are multiple transform properties, we only need to set this key once.
|
416
|
+
// We already checked before to make sure they have the same duration.
|
417
|
+
// if (!pendingAnimations[key]) {
|
418
|
+
if (transitions.indexOf(animation.css) < 0) {
|
419
|
+
transitions.push(animation.css);
|
420
|
+
}
|
421
|
+
}
|
615
422
|
|
616
|
-
|
617
|
-
|
618
|
-
|
423
|
+
style[SC.browser.experimentalStyleNameFor('transition')] = transitions.join(", ");
|
424
|
+
} else {
|
425
|
+
// TODO: Do it the JS way
|
619
426
|
}
|
620
|
-
this._animatedTransforms = null;
|
621
427
|
}
|
622
|
-
delete layout['animate' + SC.String.capitalize(propertyName)];
|
623
428
|
}
|
624
429
|
|
625
|
-
}
|
430
|
+
};
|
626
431
|
|
627
|
-
SC.CoreView.runCallback = function(callback)/** @scope SC.View.prototype */{
|
628
|
-
var additionalArgs = SC.$A(arguments).slice(1),
|
629
|
-
typeOfAction = SC.typeOf(callback.action);
|
630
|
-
|
631
|
-
// if the action is a function, just try to call it.
|
632
|
-
if (typeOfAction == SC.T_FUNCTION) {
|
633
|
-
callback.action.apply(callback.target, additionalArgs);
|
634
|
-
|
635
|
-
// otherwise, action should be a string. If it has a period, treat it
|
636
|
-
// like a property path.
|
637
|
-
} else if (typeOfAction === SC.T_STRING) {
|
638
|
-
if (callback.action.indexOf('.') >= 0) {
|
639
|
-
var path = callback.action.split('.') ;
|
640
|
-
var property = path.pop() ;
|
641
|
-
|
642
|
-
var target = SC.objectForPropertyPath(path, window) ;
|
643
|
-
var action = target.get ? target.get(property) : target[property];
|
644
|
-
if (action && SC.typeOf(action) == SC.T_FUNCTION) {
|
645
|
-
action.apply(target, additionalArgs);
|
646
|
-
} else {
|
647
|
-
throw 'SC.runCallback could not find a function at %@'.fmt(callback.action) ;
|
648
|
-
}
|
649
432
|
|
650
|
-
// otherwise, try to execute action direction on target or send down
|
651
|
-
// responder chain.
|
652
|
-
// FIXME: Add support for additionalArgs to this
|
653
|
-
// } else {
|
654
|
-
// SC.RootResponder.responder.sendAction(callback.action, callback.target, callback.source, callback.source.get("pane"), null, callback.source);
|
655
|
-
}
|
656
|
-
}
|
657
|
-
};
|
658
433
|
|
659
|
-
SC.View.
|
434
|
+
SC.View.reopen(
|
435
|
+
/** @scope SC.View.prototype */ {
|
436
|
+
|
437
|
+
/**
|
438
|
+
layoutStyle describes the current styles to be written to your element
|
439
|
+
based on the layout you defined. Both layoutStyle and frame reset when
|
440
|
+
you edit the layout property. Both are read only.
|
441
|
+
|
442
|
+
Computes the layout style settings needed for the current anchor.
|
443
|
+
|
444
|
+
@type Object
|
445
|
+
@readOnly
|
446
|
+
*/
|
447
|
+
layoutStyle: function () {
|
448
|
+
return SC.View.LayoutStyleCalculator.calculate(this);
|
449
|
+
// 'hasAcceleratedLayer' is dependent on 'layout' so we don't need 'layout' to be a dependency here
|
450
|
+
}.property('hasAcceleratedLayer', 'useStaticLayout').cacheable()
|
451
|
+
});
|