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
@@ -9,57 +9,57 @@ sc_require('mixins/content_value_support');
|
|
9
9
|
sc_require('system/string');
|
10
10
|
|
11
11
|
/**
|
12
|
-
Option for controls to automatically calculate their size (should be default
|
12
|
+
Option for controls to automatically calculate their size (should be default
|
13
13
|
on controls that use renderers).
|
14
|
-
|
14
|
+
|
15
15
|
@type String
|
16
16
|
@constant
|
17
17
|
*/
|
18
18
|
SC.AUTO_CONTROL_SIZE = '__AUTO__';
|
19
19
|
|
20
|
-
/**
|
20
|
+
/**
|
21
21
|
Option for HUGE control size.
|
22
|
-
|
22
|
+
|
23
23
|
@type String
|
24
24
|
@constant
|
25
25
|
*/
|
26
26
|
SC.JUMBO_CONTROL_SIZE = 'sc-jumbo-size' ;
|
27
27
|
|
28
|
-
/**
|
28
|
+
/**
|
29
29
|
Option for HUGE control size.
|
30
|
-
|
30
|
+
|
31
31
|
@type String
|
32
32
|
@constant
|
33
33
|
*/
|
34
34
|
SC.HUGE_CONTROL_SIZE = 'sc-huge-size' ;
|
35
35
|
|
36
|
-
/**
|
36
|
+
/**
|
37
37
|
Option for large control size.
|
38
|
-
|
38
|
+
|
39
39
|
@type String
|
40
40
|
@constant
|
41
41
|
*/
|
42
42
|
SC.LARGE_CONTROL_SIZE = 'sc-large-size' ;
|
43
43
|
|
44
|
-
/**
|
44
|
+
/**
|
45
45
|
Option for standard control size.
|
46
|
-
|
46
|
+
|
47
47
|
@type String
|
48
48
|
@constant
|
49
49
|
*/
|
50
50
|
SC.REGULAR_CONTROL_SIZE = 'sc-regular-size' ;
|
51
51
|
|
52
|
-
/**
|
52
|
+
/**
|
53
53
|
Option for small control size.
|
54
|
-
|
54
|
+
|
55
55
|
@type String
|
56
56
|
@constant
|
57
57
|
*/
|
58
58
|
SC.SMALL_CONTROL_SIZE = 'sc-small-size' ;
|
59
59
|
|
60
|
-
/**
|
60
|
+
/**
|
61
61
|
Option for tiny control size
|
62
|
-
|
62
|
+
|
63
63
|
@type String
|
64
64
|
@constant
|
65
65
|
*/
|
@@ -67,137 +67,137 @@ SC.TINY_CONTROL_SIZE = 'sc-tiny-size' ;
|
|
67
67
|
|
68
68
|
/**
|
69
69
|
@namespace
|
70
|
-
|
70
|
+
|
71
71
|
A Control is a view that also implements some basic state functionality.
|
72
72
|
Apply this mixin to any view that you want to have standard control
|
73
73
|
functionality including showing a selected state, enabled state, focus
|
74
74
|
state, etc.
|
75
|
-
|
75
|
+
|
76
76
|
## About Values and Content
|
77
|
-
|
77
|
+
|
78
78
|
Controls typically are used to represent a single value, such as a number,
|
79
79
|
boolean or string. The value a control is managing is typically stored in
|
80
80
|
a "value" property. You will typically use the value property when working
|
81
81
|
with controls such as buttons and text fields in a form.
|
82
|
-
|
82
|
+
|
83
83
|
An alternative way of working with a control is to use it to manage some
|
84
84
|
specific aspect of a content object. For example, you might use a label
|
85
|
-
view control to display the "name" property of a Contact record. This
|
85
|
+
view control to display the "name" property of a Contact record. This
|
86
86
|
approach is often necessary when using the control as part of a collection
|
87
87
|
view.
|
88
|
-
|
89
|
-
You can use the content-approach to work with a control by setting the
|
90
|
-
"content" and "contentValueKey" properties of the control. The
|
91
|
-
"content" property is the content object you want to manage, while the
|
92
|
-
"contentValueKey" is the name of the property on the content object
|
88
|
+
|
89
|
+
You can use the content-approach to work with a control by setting the
|
90
|
+
"content" and "contentValueKey" properties of the control. The
|
91
|
+
"content" property is the content object you want to manage, while the
|
92
|
+
"contentValueKey" is the name of the property on the content object
|
93
93
|
you want the control to display.
|
94
|
-
|
94
|
+
|
95
95
|
The default implementation of the Control mixin will essentially map the
|
96
|
-
contentValueKey of a content object to the value property of the
|
96
|
+
contentValueKey of a content object to the value property of the
|
97
97
|
control. Thus if you are writing a custom control yourself, you can simply
|
98
98
|
work with the value property and the content object support will come for
|
99
|
-
free. Just write an observer for the value property and update your
|
99
|
+
free. Just write an observer for the value property and update your
|
100
100
|
view accordingly.
|
101
|
-
|
101
|
+
|
102
102
|
If you are working with a control that needs to display multiple aspects
|
103
103
|
of a single content object (for example showing an icon and label), then
|
104
104
|
you can override the contentValueDidChange() method instead of observing
|
105
|
-
the value property. This method will be called anytime _any_ property
|
105
|
+
the value property. This method will be called anytime _any_ property
|
106
106
|
on the content object changes. You should use this method to check the
|
107
|
-
properties you care about on the content object and update your view if
|
107
|
+
properties you care about on the content object and update your view if
|
108
108
|
anything you care about has changed.
|
109
|
-
|
109
|
+
|
110
110
|
## Delegate Support
|
111
|
-
|
112
|
-
Controls can optionally get the contentDisplayProperty from a
|
113
|
-
displayDelegate, if it is set. The displayDelegate is often used to
|
111
|
+
|
112
|
+
Controls can optionally get the contentDisplayProperty from a
|
113
|
+
displayDelegate, if it is set. The displayDelegate is often used to
|
114
114
|
delegate common display-related configurations such as which content value
|
115
115
|
to show. Anytime your control is shown as part of a collection view, the
|
116
116
|
collection view will be automatically set as its displayDelegate.
|
117
|
-
|
117
|
+
|
118
118
|
@since SproutCore 1.0
|
119
119
|
@extends SC.ContentValueSupport
|
120
120
|
*/
|
121
121
|
SC.Control = SC.mixin(SC.clone(SC.ContentValueSupport),
|
122
122
|
/** @scope SC.Control.prototype */{
|
123
|
-
|
123
|
+
|
124
124
|
/**
|
125
125
|
Walk like a duck
|
126
|
-
|
126
|
+
|
127
127
|
@type Boolean
|
128
128
|
@default YES
|
129
129
|
@readOnly
|
130
130
|
*/
|
131
131
|
isControl: YES,
|
132
|
-
|
133
|
-
/**
|
132
|
+
|
133
|
+
/**
|
134
134
|
The selected state of this control. Possible values:
|
135
|
-
|
135
|
+
|
136
136
|
- `YES`
|
137
137
|
- `NO`
|
138
138
|
- SC.MIXED_STATE.
|
139
|
-
|
139
|
+
|
140
140
|
@type Boolean
|
141
141
|
@default NO
|
142
142
|
*/
|
143
143
|
isSelected: NO,
|
144
|
-
|
144
|
+
|
145
145
|
/** @private */
|
146
146
|
isSelectedBindingDefault: SC.Binding.oneWay().bool(),
|
147
|
-
|
147
|
+
|
148
148
|
/**
|
149
|
-
Set to YES when the item is currently active. Usually this means the
|
150
|
-
mouse is current pressed and hovering over the control, however the
|
149
|
+
Set to YES when the item is currently active. Usually this means the
|
150
|
+
mouse is current pressed and hovering over the control, however the
|
151
151
|
specific implementation my vary depending on the control.
|
152
|
-
|
152
|
+
|
153
153
|
Changing this property value by default will cause the Control mixin to
|
154
154
|
add/remove an 'active' class name to the root element.
|
155
|
-
|
155
|
+
|
156
156
|
@type Boolean
|
157
157
|
@default NO
|
158
158
|
*/
|
159
159
|
isActive: NO,
|
160
|
-
|
160
|
+
|
161
161
|
/** @private */
|
162
162
|
isActiveBindingDefault: SC.Binding.oneWay().bool(),
|
163
|
-
|
163
|
+
|
164
164
|
/**
|
165
165
|
The name of the property this control should display if it is part of an
|
166
166
|
SC.FormView.
|
167
|
-
|
168
|
-
If you add a control as part of an SC.FormView, then the form view will
|
169
|
-
automatically bind the value to the property key you name here on the
|
167
|
+
|
168
|
+
If you add a control as part of an SC.FormView, then the form view will
|
169
|
+
automatically bind the value to the property key you name here on the
|
170
170
|
content object.
|
171
|
-
|
171
|
+
|
172
172
|
@type String
|
173
173
|
@default null
|
174
174
|
*/
|
175
175
|
fieldKey: null,
|
176
|
-
|
176
|
+
|
177
177
|
/**
|
178
178
|
The human readable label you want shown for errors. May be a loc string.
|
179
|
-
|
179
|
+
|
180
180
|
If your field fails validation, then this is the name that will be shown
|
181
|
-
in the error explanation. If you do not set this property, then the
|
181
|
+
in the error explanation. If you do not set this property, then the
|
182
182
|
fieldKey or the class name will be used to generate a human readable name.
|
183
|
-
|
183
|
+
|
184
184
|
@type String
|
185
185
|
@default null
|
186
186
|
*/
|
187
187
|
fieldLabel: null,
|
188
|
-
|
188
|
+
|
189
189
|
/**
|
190
190
|
The human readable label for this control for use in error strings. This
|
191
191
|
property is computed dynamically using the following rules:
|
192
|
-
|
192
|
+
|
193
193
|
If the fieldLabel is defined, that property is localized and returned.
|
194
|
-
Otherwise, if the keyField is defined, try to localize using the string
|
194
|
+
Otherwise, if the keyField is defined, try to localize using the string
|
195
195
|
"ErrorLabel.{fieldKeyName}". If a localized name cannot be found, use a
|
196
196
|
humanized form of the fieldKey.
|
197
|
-
|
198
|
-
Try to localize using the string "ErrorLabel.{ClassName}". Return a
|
197
|
+
|
198
|
+
Try to localize using the string "ErrorLabel.{ClassName}". Return a
|
199
199
|
humanized form of the class name.
|
200
|
-
|
200
|
+
|
201
201
|
@field
|
202
202
|
@type String
|
203
203
|
@observes 'fieldLabel'
|
@@ -206,7 +206,7 @@ SC.Control = SC.mixin(SC.clone(SC.ContentValueSupport),
|
|
206
206
|
errorLabel: function() {
|
207
207
|
var ret, fk, def, locFK;
|
208
208
|
if (ret = this.get('fieldLabel')) return ret;
|
209
|
-
|
209
|
+
|
210
210
|
// if field label is not provided, compute something...
|
211
211
|
fk = this.get('fieldKey') || this.constructor.toString();
|
212
212
|
def = fk ? SC.String.capitalize(SC.String.humanize(fk)) : '';
|
@@ -215,28 +215,28 @@ SC.Control = SC.mixin(SC.clone(SC.ContentValueSupport),
|
|
215
215
|
}.property('fieldLabel','fieldKey').cacheable(),
|
216
216
|
|
217
217
|
/**
|
218
|
-
The control size. This will set a CSS style on the element that can be
|
218
|
+
The control size. This will set a CSS style on the element that can be
|
219
219
|
used by the current theme to vary the appearance of the control.
|
220
|
-
|
220
|
+
|
221
221
|
Some controls will default to SC.AUTO_CONTROL_SIZE, which will allow you
|
222
222
|
to simply size the control, and the most appropriate control size will
|
223
223
|
automatically be picked; be warned, though, that if you don't specify
|
224
224
|
a height, performance will be impacted as it must be calculated; if you do
|
225
225
|
this, a warning will be issued. If you don't care, use SC.CALCULATED_CONTROL_SIZE.
|
226
|
-
|
226
|
+
|
227
227
|
@type String
|
228
228
|
@default SC.REGULAR_CONTROL_SIZE
|
229
229
|
*/
|
230
230
|
controlSize: SC.REGULAR_CONTROL_SIZE,
|
231
|
-
|
231
|
+
|
232
232
|
/** @private */
|
233
|
-
displayProperties: ['
|
234
|
-
|
233
|
+
displayProperties: ['isSelected', 'isActive', 'controlSize'],
|
234
|
+
|
235
235
|
/** @private */
|
236
236
|
_CONTROL_TMP_CLASSNAMES: {},
|
237
|
-
|
237
|
+
|
238
238
|
/** @private
|
239
|
-
Invoke this method in your updateDisplay() method to update any basic
|
239
|
+
Invoke this method in your updateDisplay() method to update any basic
|
240
240
|
control CSS classes.
|
241
241
|
*/
|
242
242
|
renderMixin: function(context, firstTime) {
|
@@ -12,42 +12,42 @@
|
|
12
12
|
SC.ALIGN_JUSTIFY = "justify";
|
13
13
|
|
14
14
|
/**
|
15
|
-
@namespace
|
15
|
+
@namespace
|
16
16
|
|
17
17
|
Normal SproutCore views are absolutely positioned--parent views have relatively
|
18
18
|
little input on where their child views are placed.
|
19
|
-
|
19
|
+
|
20
20
|
This mixin makes a view layout its child views itself, flowing left-to-right
|
21
21
|
or up-to-down, and, optionally, wrapping.
|
22
|
-
|
22
|
+
|
23
23
|
Child views with useAbsoluteLayout===YES will be ignored in the layout process.
|
24
24
|
This mixin detects when child views have changed their size, and will adjust accordingly.
|
25
25
|
It also observes child views' isVisible and calculatedWidth/Height properties, and, as a
|
26
26
|
flowedlayout-specific extension, isHidden.
|
27
|
-
|
27
|
+
|
28
28
|
These properties are observed through `#js:observeChildLayout` and `#js:unobserveChildLayout`;
|
29
29
|
you can override the method to add your own properties. To customize isVisible behavior,
|
30
30
|
you will also want to override shouldIncludeChildInFlow.
|
31
|
-
|
31
|
+
|
32
32
|
This relies on the children's frames or, if specified, calculatedWidth and calculatedHeight
|
33
33
|
properties.
|
34
|
-
|
34
|
+
|
35
35
|
This view mixes very well with animation. Further, it is able to automatically mix
|
36
36
|
in to child views it manages, created or not yet created, allowing you to specify
|
37
37
|
settings such as animation once only, and have everything "just work".
|
38
|
-
|
38
|
+
|
39
39
|
Like normal views, you simply specify child views--everything will "just work."
|
40
|
-
|
40
|
+
|
41
41
|
@since SproutCore 1.0
|
42
42
|
*/
|
43
43
|
SC.FlowedLayout = {
|
44
44
|
isFlowedLayout: YES,
|
45
45
|
/**
|
46
46
|
The direction of flow. Possible values:
|
47
|
-
|
47
|
+
|
48
48
|
- SC.LAYOUT_HORIZONTAL
|
49
49
|
- SC.LAYOUT_VERTICAL
|
50
|
-
|
50
|
+
|
51
51
|
@type String
|
52
52
|
@default SC.LAYOUT_HORIZONTAL
|
53
53
|
*/
|
@@ -55,64 +55,64 @@ SC.FlowedLayout = {
|
|
55
55
|
|
56
56
|
/**
|
57
57
|
Whether the view should automatically resize (to allow scrolling, for instance)
|
58
|
-
|
58
|
+
|
59
59
|
@type Boolean
|
60
60
|
@default YES
|
61
61
|
*/
|
62
62
|
autoResize: YES,
|
63
|
-
|
63
|
+
|
64
64
|
/**
|
65
65
|
@type Boolean
|
66
66
|
@default YES
|
67
67
|
*/
|
68
68
|
shouldResizeWidth: YES,
|
69
|
-
|
69
|
+
|
70
70
|
/**
|
71
71
|
@type Boolean
|
72
72
|
@default YES
|
73
73
|
*/
|
74
74
|
shouldResizeHeight: YES,
|
75
|
-
|
75
|
+
|
76
76
|
/**
|
77
77
|
The alignment of items within rows or columns. Possible values:
|
78
|
-
|
78
|
+
|
79
79
|
- SC.ALIGN_LEFT
|
80
80
|
- SC.ALIGN_CENTER
|
81
81
|
- SC.ALIGN_RIGHT
|
82
82
|
- SC.ALIGN_JUSTIFY
|
83
|
-
|
83
|
+
|
84
84
|
@type String
|
85
85
|
@default SC.ALIGN_LEFT
|
86
86
|
*/
|
87
87
|
align: SC.ALIGN_LEFT,
|
88
|
-
|
88
|
+
|
89
89
|
/**
|
90
90
|
If YES, flowing child views are allowed to wrap to new rows or columns.
|
91
|
-
|
91
|
+
|
92
92
|
@type Boolean
|
93
93
|
@default YES
|
94
94
|
*/
|
95
95
|
canWrap: YES,
|
96
|
-
|
96
|
+
|
97
97
|
/**
|
98
98
|
A set of spacings (left, top, right, bottom) for subviews. Defaults to 0s all around.
|
99
99
|
This is the amount of space that will be before, after, above, and below the view. These
|
100
100
|
spacings do not collapse into each other.
|
101
|
-
|
101
|
+
|
102
102
|
You can also set flowSpacing on any child view, or implement flowSpacingForView.
|
103
|
-
|
103
|
+
|
104
104
|
@type Hash
|
105
105
|
@default `{ left: 0, bottom: 0, top: 0, right: 0 }`
|
106
106
|
*/
|
107
107
|
defaultFlowSpacing: { left: 0, bottom: 0, top: 0, right: 0 },
|
108
|
-
|
108
|
+
|
109
109
|
/**
|
110
|
-
@
|
111
|
-
|
110
|
+
@type Hash
|
111
|
+
|
112
112
|
Padding around the edges of this flow layout view. This is useful for
|
113
113
|
situations where you don't control the layout of the FlowedLayout view;
|
114
114
|
for instance, when the view is the contentView for a SC.ScrollView.
|
115
|
-
|
115
|
+
|
116
116
|
@type Hash
|
117
117
|
@default `{ left: 0, bottom: 0, top: 0, right: 0 }`
|
118
118
|
*/
|
@@ -120,7 +120,7 @@ SC.FlowedLayout = {
|
|
120
120
|
|
121
121
|
/**
|
122
122
|
@private
|
123
|
-
|
123
|
+
|
124
124
|
If the flowPadding somehow misses a property (one of the sides),
|
125
125
|
we need to make sure a default value of 0 is still there.
|
126
126
|
*/
|
@@ -132,26 +132,26 @@ SC.FlowedLayout = {
|
|
132
132
|
ret.right = padding.right || 0;
|
133
133
|
return ret;
|
134
134
|
}.property('flowPadding').cacheable(),
|
135
|
-
|
135
|
+
|
136
136
|
concatenatedProperties: ['childMixins'],
|
137
|
-
|
137
|
+
|
138
138
|
/** @private */
|
139
139
|
initMixin: function() {
|
140
140
|
this._scfl_tileOnce();
|
141
141
|
},
|
142
|
-
|
142
|
+
|
143
143
|
/** @private
|
144
144
|
Detects when the child views change.
|
145
145
|
*/
|
146
146
|
_scfl_childViewsDidChange: function(c) {
|
147
147
|
this._scfl_tileOnce();
|
148
148
|
}.observes('childViews'),
|
149
|
-
|
149
|
+
|
150
150
|
/** @private */
|
151
151
|
_scfl_layoutPropertyDidChange: function(childView) {
|
152
152
|
this._scfl_tileOnce();
|
153
153
|
}.observes('layoutDirection', 'align', 'flowPadding', 'canWrap', 'defaultFlowSpacing', 'isVisibleInWindow'),
|
154
|
-
|
154
|
+
|
155
155
|
/** @private
|
156
156
|
Overridden to only update if it is a view we do not manage, or the width or height has changed
|
157
157
|
since our last record of it.
|
@@ -160,9 +160,9 @@ SC.FlowedLayout = {
|
|
160
160
|
// now, check if anything has changed
|
161
161
|
var l = c._scfl_lastLayout, cl = c.get('layout'), f = c.get('frame');
|
162
162
|
if (!l) return sc_super();
|
163
|
-
|
163
|
+
|
164
164
|
var same = YES;
|
165
|
-
|
165
|
+
|
166
166
|
// in short, if anything interfered with the layout, we need to
|
167
167
|
// do something about it.
|
168
168
|
if (l.left && l.left !== cl.left) same = NO;
|
@@ -171,22 +171,22 @@ SC.FlowedLayout = {
|
|
171
171
|
else if (!l.width && !c.get('fillWidth') && f.width !== c._scfl_lastFrame.width) same = NO;
|
172
172
|
else if (!c.get('fillHeight') && l.height && l.height !== cl.height) same = NO;
|
173
173
|
else if (!l.height && !c.get('fillHeight') && f.height !== c._scfl_lastFrame.height) same = NO;
|
174
|
-
|
174
|
+
|
175
175
|
if (same) {
|
176
176
|
return sc_super();
|
177
177
|
}
|
178
|
-
|
178
|
+
|
179
179
|
// nothing has changed. This is where we do something
|
180
180
|
this._scfl_tileOnce();
|
181
181
|
sc_super();
|
182
182
|
},
|
183
|
-
|
183
|
+
|
184
184
|
/** @private
|
185
185
|
Sets up layout observers on child view. We observe three things:
|
186
186
|
- isVisible
|
187
187
|
- calculatedWidth
|
188
188
|
- calculatedHeight
|
189
|
-
|
189
|
+
|
190
190
|
Actual layout changes are detected through layoutDidChangeFor.
|
191
191
|
*/
|
192
192
|
observeChildLayout: function(c) {
|
@@ -203,7 +203,7 @@ SC.FlowedLayout = {
|
|
203
203
|
c.addObserver('fillWidth', this, '_scfl_tileOnce');
|
204
204
|
c.addObserver('fillHeight', this, '_scfl_tileOnce');
|
205
205
|
},
|
206
|
-
|
206
|
+
|
207
207
|
/** @private
|
208
208
|
Removes observers on child view.
|
209
209
|
*/
|
@@ -220,11 +220,11 @@ SC.FlowedLayout = {
|
|
220
220
|
c.removeObserver('fillWidth', this, '_scfl_tileOnce');
|
221
221
|
c.removeObserver('fillHeight', this, '_scfl_tileOnce');
|
222
222
|
},
|
223
|
-
|
223
|
+
|
224
224
|
/**
|
225
225
|
Determines whether the specified child view should be included in the flow layout.
|
226
226
|
By default, if it has isVisible: NO or useAbsoluteLayout: YES, it will not be included.
|
227
|
-
|
227
|
+
|
228
228
|
@field
|
229
229
|
@type Boolean
|
230
230
|
@default NO
|
@@ -232,11 +232,11 @@ SC.FlowedLayout = {
|
|
232
232
|
shouldIncludeChildInFlow: function(idx, c) {
|
233
233
|
return c.get('isVisible') && !c.get('useAbsoluteLayout');
|
234
234
|
},
|
235
|
-
|
235
|
+
|
236
236
|
/**
|
237
237
|
Returns the flow spacings for a given view. By default, returns the view's flowSpacing,
|
238
238
|
and if they don't exist, the defaultFlowSpacing for this view.
|
239
|
-
|
239
|
+
|
240
240
|
@field
|
241
241
|
@type Hash
|
242
242
|
*/
|
@@ -244,7 +244,7 @@ SC.FlowedLayout = {
|
|
244
244
|
var spacing = view.get('flowSpacing');
|
245
245
|
if (SC.none(spacing)) spacing = this.get('defaultFlowSpacing');
|
246
246
|
if (SC.none(spacing)) spacing = 0;
|
247
|
-
|
247
|
+
|
248
248
|
if (SC.typeOf(spacing) === SC.T_NUMBER) {
|
249
249
|
spacing = { left: spacing, right: spacing, bottom: spacing, top: spacing };
|
250
250
|
} else {
|
@@ -253,16 +253,16 @@ SC.FlowedLayout = {
|
|
253
253
|
spacing['top'] = spacing['top'] || 0;
|
254
254
|
spacing['bottom'] = spacing['bottom'] || 0;
|
255
255
|
}
|
256
|
-
|
256
|
+
|
257
257
|
return spacing;
|
258
258
|
},
|
259
|
-
|
259
|
+
|
260
260
|
/**
|
261
|
-
Returns the flow size for a given view, excluding spacing. The default version
|
261
|
+
Returns the flow size for a given view, excluding spacing. The default version
|
262
262
|
checks the view's calculatedWidth/Height, then its frame.
|
263
|
-
|
263
|
+
|
264
264
|
For spacers, this returns an empty size.
|
265
|
-
|
265
|
+
|
266
266
|
@field
|
267
267
|
@type Hash
|
268
268
|
@default {width: 0, height: 0}
|
@@ -272,7 +272,7 @@ SC.FlowedLayout = {
|
|
272
272
|
layoutDirection = this.get('layoutDirection'),
|
273
273
|
calc = {}, f = view.get('frame'), l = view.get('layout');
|
274
274
|
view._scfl_lastFrame = f;
|
275
|
-
|
275
|
+
|
276
276
|
// if there is a calculated width, use that. NOTE: if calculatedWidth === 0,
|
277
277
|
// it is invalid. This is the practice in other views.
|
278
278
|
if (cw) {
|
@@ -282,7 +282,7 @@ SC.FlowedLayout = {
|
|
282
282
|
// that have borders
|
283
283
|
calc.width = l.width || f.width;
|
284
284
|
}
|
285
|
-
|
285
|
+
|
286
286
|
// same for calculated height
|
287
287
|
if (ch) {
|
288
288
|
calc.height = ch;
|
@@ -303,7 +303,7 @@ SC.FlowedLayout = {
|
|
303
303
|
calc.height = l.minHeight || 0;
|
304
304
|
}
|
305
305
|
}
|
306
|
-
|
306
|
+
|
307
307
|
// if it has a fillWidth/Height, clear it for later
|
308
308
|
if (layoutDirection === SC.LAYOUT_HORIZONTAL && view.get('fillHeight')) {
|
309
309
|
calc.height = l.minHeight || 0;
|
@@ -313,12 +313,12 @@ SC.FlowedLayout = {
|
|
313
313
|
|
314
314
|
return calc;
|
315
315
|
},
|
316
|
-
|
316
|
+
|
317
317
|
/** @private */
|
318
318
|
clippingFrame: function() {
|
319
319
|
return { left: 0, top: 0, width: this.get('calculatedWidth'), height: this.get('calculatedHeight') };
|
320
320
|
}.property('calculatedWidth', 'calculatedHeight'),
|
321
|
-
|
321
|
+
|
322
322
|
/** @private */
|
323
323
|
|
324
324
|
// the maximum row length when all flexible items are collapsed.
|
@@ -348,35 +348,35 @@ SC.FlowedLayout = {
|
|
348
348
|
}
|
349
349
|
}
|
350
350
|
}.observes('autoResize', 'shouldResizeWidth', '_scfl_maximumCollapsedRowLength', '_scfl_totalCollapsedRowSize', 'shouldResizeHeight'),
|
351
|
-
|
351
|
+
|
352
352
|
/**
|
353
353
|
@private
|
354
354
|
Creates a plan, initializing all of the basic properties in it, but not
|
355
355
|
doing anything further.
|
356
|
-
|
356
|
+
|
357
357
|
Other methods should be called to do this:
|
358
|
-
|
358
|
+
|
359
359
|
- _scfl_distributeChildrenIntoRows distributes children into rows.
|
360
360
|
- _scfl_positionChildrenInRows positions the children within the rows.
|
361
361
|
- this calls _scfl_positionChildrenInRow
|
362
362
|
- _scfl_positionRows positions and sizes rows within the plan.
|
363
|
-
|
363
|
+
|
364
364
|
The plan's structure is defined inside the method.
|
365
|
-
|
365
|
+
|
366
366
|
Some of these methods may eventually be made public and/or delegate methods.
|
367
367
|
*/
|
368
368
|
_scfl_createPlan: function() {
|
369
369
|
var layoutDirection = this.get('layoutDirection'),
|
370
370
|
flowPadding = this.get('_scfl_validFlowPadding'),
|
371
371
|
frame = this.get('frame');
|
372
|
-
|
372
|
+
|
373
373
|
var isVertical = (layoutDirection === SC.LAYOUT_VERTICAL);
|
374
|
-
|
374
|
+
|
375
375
|
// A plan hash contains general information about the layout, and also,
|
376
376
|
// the collection of rows.
|
377
377
|
//
|
378
378
|
// This method only fills out a subset of the properties in a plan.
|
379
|
-
//
|
379
|
+
//
|
380
380
|
var plan = {
|
381
381
|
// The rows array starts empty. It will get filled out by the method
|
382
382
|
// _scfl_distributeChildrenIntoRows.
|
@@ -389,29 +389,29 @@ SC.FlowedLayout = {
|
|
389
389
|
// the total sizes of all rows when collapsed (With flex-height rows
|
390
390
|
// at minimum size)
|
391
391
|
totalCollapsedRowSize: 0,
|
392
|
-
|
392
|
+
|
393
393
|
// These properties are calculated once here, but later used by
|
394
394
|
// the various methods.
|
395
395
|
isVertical: layoutDirection === SC.LAYOUT_VERTICAL,
|
396
396
|
isHorizontal: layoutDirection === SC.LAYOUT_HORIZONTAL,
|
397
|
-
|
397
|
+
|
398
398
|
flowPadding: flowPadding,
|
399
|
-
|
399
|
+
|
400
400
|
planStartPadding: flowPadding[isVertical ? 'left' : 'top'],
|
401
401
|
planEndPadding: flowPadding[isVertical ? 'right' : 'bottom'],
|
402
|
-
|
402
|
+
|
403
403
|
rowStartPadding: flowPadding[isVertical ? 'top' : 'left'],
|
404
404
|
rowEndPadding: flowPadding[isVertical ? 'bottom' : 'right'],
|
405
|
-
|
405
|
+
|
406
406
|
maximumRowLength: undefined, // to be calculated below
|
407
|
-
|
407
|
+
|
408
408
|
// if any rows need to fit to fill, this is the size to fill
|
409
409
|
fitToPlanSize: undefined,
|
410
|
-
|
411
|
-
|
410
|
+
|
411
|
+
|
412
412
|
align: this.get('align')
|
413
413
|
};
|
414
|
-
|
414
|
+
|
415
415
|
if (isVertical) {
|
416
416
|
plan.maximumRowLength = frame.height - plan.rowStartPadding - plan.rowEndPadding;
|
417
417
|
plan.fitToPlanSize = frame.width - plan.planStartPadding - plan.planEndPadding;
|
@@ -419,51 +419,51 @@ SC.FlowedLayout = {
|
|
419
419
|
plan.maximumRowLength = frame.width - plan.rowStartPadding - plan.rowEndPadding;
|
420
420
|
plan.fitToPlanSize = frame.height - plan.planStartPadding - plan.planEndPadding;
|
421
421
|
}
|
422
|
-
|
422
|
+
|
423
423
|
return plan;
|
424
424
|
},
|
425
|
-
|
425
|
+
|
426
426
|
/** @private */
|
427
427
|
_scfl_distributeChildrenIntoRows: function(plan) {
|
428
428
|
var children = this.get('childViews'), child, idx, len = children.length,
|
429
429
|
isVertical = plan.isVertical, rows = [], lastIdx;
|
430
|
-
|
430
|
+
|
431
431
|
lastIdx = -1; idx = 0;
|
432
432
|
while (idx < len && idx !== lastIdx) {
|
433
433
|
lastIdx = idx;
|
434
|
-
|
434
|
+
|
435
435
|
var row = {
|
436
436
|
// always a reference to the plan
|
437
437
|
plan: plan,
|
438
|
-
|
438
|
+
|
439
439
|
// the combined size of the items in the row. This is used, for instance,
|
440
440
|
// in justification or right-alignment.
|
441
441
|
rowLength: undefined,
|
442
|
-
|
442
|
+
|
443
443
|
// the size of the row. When flowing horizontally, this is the height;
|
444
444
|
// it is the opposite dimension of rowLength. It is calculated
|
445
445
|
// both while positioning items in the row and while positioning the rows
|
446
446
|
// themselves.
|
447
447
|
rowSize: undefined,
|
448
|
-
|
448
|
+
|
449
449
|
// whether this row should expand to fit any available space. In this case,
|
450
450
|
// the size is the row's minimum size.
|
451
451
|
shouldExpand: undefined,
|
452
|
-
|
452
|
+
|
453
453
|
// to be decided by _scfl_distributeItemsIntoRows
|
454
454
|
items: undefined,
|
455
|
-
|
455
|
+
|
456
456
|
// to be decided by _scfl_positionRows
|
457
457
|
position: undefined
|
458
458
|
};
|
459
|
-
|
459
|
+
|
460
460
|
idx = this._scfl_distributeChildrenIntoRow(children, idx, row);
|
461
461
|
rows.push(row);
|
462
462
|
}
|
463
|
-
|
463
|
+
|
464
464
|
plan.rows = rows;
|
465
465
|
},
|
466
|
-
|
466
|
+
|
467
467
|
/**
|
468
468
|
@private
|
469
469
|
Distributes as many children as possible into a single row, stating
|
@@ -477,7 +477,7 @@ SC.FlowedLayout = {
|
|
477
477
|
newRowPending = NO,
|
478
478
|
maxItemLength = 0,
|
479
479
|
max = row.plan.maximumRowLength;
|
480
|
-
|
480
|
+
|
481
481
|
for (idx = startingAt; idx < len; idx++) {
|
482
482
|
child = children[idx];
|
483
483
|
|
@@ -487,7 +487,7 @@ SC.FlowedLayout = {
|
|
487
487
|
newRowPending = newRowPending || (items.length > 0 && child.get('startsNewRow'));
|
488
488
|
|
489
489
|
if (!this.shouldIncludeChildInFlow(idx, child)) continue;
|
490
|
-
|
490
|
+
|
491
491
|
childSize = this.flowSizeForChild(idx, child);
|
492
492
|
spacing = this.flowSpacingForChild(idx, child);
|
493
493
|
|
@@ -505,66 +505,66 @@ SC.FlowedLayout = {
|
|
505
505
|
if ((newRowPending || (canWrap && itemOffset + itemLength > max)) && items.length > 0) {
|
506
506
|
break;
|
507
507
|
}
|
508
|
-
|
508
|
+
|
509
509
|
var item = {
|
510
510
|
child: child,
|
511
|
-
|
511
|
+
|
512
512
|
itemLength: itemLength,
|
513
513
|
maxSpacerLength: maxSpacerLength,
|
514
514
|
itemSize: itemSize,
|
515
|
-
|
515
|
+
|
516
516
|
spacing: spacing,
|
517
|
-
|
517
|
+
|
518
518
|
// The position in the row.
|
519
519
|
//
|
520
520
|
// note: in one process or another, this becomes left or top.
|
521
521
|
// but before that, it is calculated.
|
522
522
|
position: undefined,
|
523
|
-
|
523
|
+
|
524
524
|
// whether this item should attempt to fill to the row's size
|
525
525
|
fillRow: isVertical ? child.get('fillWidth') : child.get('fillHeight'),
|
526
|
-
|
526
|
+
|
527
527
|
// whether this item is a spacer, and thus should be resized to its itemLength
|
528
528
|
isSpacer: child.get('isSpacer'),
|
529
|
-
|
529
|
+
|
530
530
|
// these will get set if necessary during the positioning code
|
531
531
|
left: undefined, top: undefined,
|
532
532
|
width: undefined, height: undefined
|
533
533
|
};
|
534
534
|
|
535
|
-
|
535
|
+
|
536
536
|
items.push(item);
|
537
537
|
itemOffset += itemLength;
|
538
538
|
maxItemLength = Math.max(itemLength, maxItemLength);
|
539
539
|
}
|
540
|
-
|
540
|
+
|
541
541
|
row.rowLength = itemOffset;
|
542
542
|
|
543
543
|
// if the row cannot wrap, then the minimum size for the row (and therefore collapsed size)
|
544
544
|
// is the same as the current row length: it consists of the minimum size of all items.
|
545
545
|
//
|
546
|
-
// If the row can wrap, then the longest item will determine the size of a fully
|
546
|
+
// If the row can wrap, then the longest item will determine the size of a fully
|
547
547
|
// collapsed (one item per row) layout.
|
548
548
|
var minRowLength = canWrap ? maxItemLength : row.rowLength;
|
549
549
|
row.plan.maximumCollapsedRowLength = Math.max(minRowLength, row.plan.maximumCollapsedRowLength);
|
550
550
|
row.items = items;
|
551
551
|
return idx;
|
552
552
|
},
|
553
|
-
|
553
|
+
|
554
554
|
/** @private */
|
555
555
|
_scfl_positionChildrenInRows: function(plan) {
|
556
556
|
var rows = plan.rows, len = rows.length, idx;
|
557
|
-
|
557
|
+
|
558
558
|
for (idx = 0; idx < len; idx++) {
|
559
559
|
this._scfl_positionChildrenInRow(rows[idx]);
|
560
560
|
}
|
561
561
|
},
|
562
|
-
|
562
|
+
|
563
563
|
/**
|
564
564
|
@private
|
565
565
|
Positions items within a row. The items are already in the row, this just
|
566
566
|
modifies the 'position' property.
|
567
|
-
|
567
|
+
|
568
568
|
This also marks a tentative size of the row, and whether it should be expanded
|
569
569
|
to fit in any available extra space. Note the term 'size' rather than 'length'...
|
570
570
|
*/
|
@@ -573,20 +573,20 @@ SC.FlowedLayout = {
|
|
573
573
|
spacerCount = 0, spacerSize, align = row.plan.align, shouldExpand = YES,
|
574
574
|
leftOver = 0, noMaxWidth = NO;
|
575
575
|
|
576
|
-
//
|
576
|
+
//
|
577
577
|
// STEP ONE: DETERMINE SPACER SIZE + COUNT
|
578
|
-
//
|
578
|
+
//
|
579
579
|
for (idx = 0; idx < len; idx++) {
|
580
580
|
item = items[idx];
|
581
581
|
if (item.isSpacer) {
|
582
582
|
spacerCount += item.child.get('spaceUnits') || 1;
|
583
583
|
}
|
584
584
|
}
|
585
|
-
|
585
|
+
|
586
586
|
// justification is like adding a spacer between every item. We'll actually account for
|
587
587
|
// that later, but for now...
|
588
588
|
if (align === SC.ALIGN_JUSTIFY) spacerCount += len - 1;
|
589
|
-
|
589
|
+
|
590
590
|
// calculate spacer size
|
591
591
|
spacerSize = Math.max(0, row.plan.maximumRowLength - row.rowLength) / spacerCount;
|
592
592
|
|
@@ -614,7 +614,7 @@ SC.FlowedLayout = {
|
|
614
614
|
spacerSize = Math.round(leftOver / spacerCount);
|
615
615
|
leftOver = 0;
|
616
616
|
}
|
617
|
-
|
617
|
+
|
618
618
|
//
|
619
619
|
// STEP TWO: ADJUST FOR ALIGNMENT
|
620
620
|
// Note: if there are spacers, this has no effect, because they fill all available
|
@@ -626,11 +626,11 @@ SC.FlowedLayout = {
|
|
626
626
|
} else if (spacerCount === 0 && (align === SC.ALIGN_CENTER || align === SC.ALIGN_MIDDLE)) {
|
627
627
|
position = (row.plan.maximumRowLength / 2) - (row.rowLength / 2);
|
628
628
|
}
|
629
|
-
|
629
|
+
|
630
630
|
position += row.plan.rowStartPadding;
|
631
|
-
//
|
631
|
+
//
|
632
632
|
// STEP TWO: LOOP + POSITION
|
633
|
-
//
|
633
|
+
//
|
634
634
|
for (idx = 0; idx < len; idx++) {
|
635
635
|
item = items[idx];
|
636
636
|
|
@@ -641,53 +641,53 @@ SC.FlowedLayout = {
|
|
641
641
|
// if the item is not a fill-row item, this row has a size that all fill-row
|
642
642
|
// items should expand to
|
643
643
|
rowSize = Math.max(item.itemSize, rowSize);
|
644
|
-
|
644
|
+
|
645
645
|
item.position = position;
|
646
646
|
|
647
647
|
position += item.itemLength;
|
648
|
-
|
648
|
+
|
649
649
|
// if justification is on, we have one more spacer
|
650
650
|
// note that we check idx because position is used to determine the new rowLength.
|
651
651
|
if (align === SC.ALIGN_JUSTIFY && idx < len - 1) position += spacerSize;
|
652
652
|
}
|
653
|
-
|
653
|
+
|
654
654
|
row.shouldExpand = len > 0 ? shouldExpand : NO;
|
655
655
|
row.rowLength = position - row.plan.rowStartPadding; // row length does not include padding
|
656
656
|
row.rowSize = rowSize;
|
657
657
|
|
658
658
|
row.plan.totalCollapsedRowSize += row.rowSize;
|
659
|
-
|
659
|
+
|
660
660
|
},
|
661
661
|
|
662
662
|
/** @private */
|
663
663
|
_scfl_positionRows: function(plan) {
|
664
664
|
var rows = plan.rows, len = rows.length, idx, row, position,
|
665
665
|
fillRowCount = 0, planSize = 0, fillSpace;
|
666
|
-
|
666
|
+
|
667
667
|
// first, we need a count of rows that need to fill, and the size they
|
668
668
|
// are filling to (the combined size of all _other_ rows).
|
669
669
|
for (idx = 0; idx < len; idx++) {
|
670
670
|
if (rows[idx].shouldExpand) fillRowCount++;
|
671
671
|
planSize += rows[idx].rowSize;
|
672
672
|
}
|
673
|
-
|
673
|
+
|
674
674
|
fillSpace = plan.fitToPlanSize - planSize;
|
675
|
-
|
675
|
+
|
676
676
|
// now, position+size the rows
|
677
677
|
position = plan.planStartPadding;
|
678
678
|
for (idx = 0; idx < len; idx++) {
|
679
679
|
row = rows[idx];
|
680
|
-
|
680
|
+
|
681
681
|
if (row.shouldExpand && fillSpace > 0) {
|
682
682
|
row.rowSize += fillSpace / fillRowCount;
|
683
683
|
fillRowCount--;
|
684
684
|
}
|
685
|
-
|
685
|
+
|
686
686
|
row.position = position;
|
687
687
|
position += row.rowSize;
|
688
688
|
}
|
689
689
|
},
|
690
|
-
|
690
|
+
|
691
691
|
/**
|
692
692
|
@private
|
693
693
|
Positions all of the child views according to the plan.
|
@@ -695,17 +695,17 @@ SC.FlowedLayout = {
|
|
695
695
|
_scfl_applyPlan: function(plan) {
|
696
696
|
var rows = plan.rows, rowIdx, rowsLen, row, longestRow = 0, totalSize = 0,
|
697
697
|
items, itemIdx, itemsLen, item, layout, itemSize,
|
698
|
-
|
698
|
+
|
699
699
|
isVertical = plan.isVertical;
|
700
|
-
|
700
|
+
|
701
701
|
rowsLen = rows.length;
|
702
702
|
for (rowIdx = 0; rowIdx < rowsLen; rowIdx++) {
|
703
703
|
row = rows[rowIdx];
|
704
704
|
longestRow = Math.max(longestRow, row.rowLength);
|
705
705
|
totalSize += row.rowSize;
|
706
|
-
|
706
|
+
|
707
707
|
items = row.items; itemsLen = items.length;
|
708
|
-
|
708
|
+
|
709
709
|
for (itemIdx = 0; itemIdx < itemsLen; itemIdx++) {
|
710
710
|
item = items[itemIdx];
|
711
711
|
item.child.beginPropertyChanges();
|
@@ -718,20 +718,20 @@ SC.FlowedLayout = {
|
|
718
718
|
width: isVertical ? itemSize : item.itemLength,
|
719
719
|
height: isVertical ? item.itemLength : itemSize
|
720
720
|
};
|
721
|
-
|
721
|
+
|
722
722
|
layout.width -= item.spacing.left + item.spacing.right;
|
723
723
|
layout.height -= item.spacing.top + item.spacing.bottom;
|
724
|
-
|
724
|
+
|
725
725
|
this.applyPlanToView(item.child, layout);
|
726
726
|
item.child._scfl_lastLayout = layout;
|
727
|
-
|
727
|
+
|
728
728
|
item.child.endPropertyChanges();
|
729
729
|
}
|
730
730
|
}
|
731
|
-
|
731
|
+
|
732
732
|
totalSize += plan.planStartPadding + plan.planEndPadding;
|
733
733
|
longestRow += plan.rowStartPadding + plan.rowEndPadding;
|
734
|
-
|
734
|
+
|
735
735
|
this.beginPropertyChanges();
|
736
736
|
|
737
737
|
this.set('calculatedHeight', isVertical ? longestRow : totalSize);
|
@@ -749,7 +749,7 @@ SC.FlowedLayout = {
|
|
749
749
|
applyPlanToView: function(view, layout) {
|
750
750
|
view.adjust(layout);
|
751
751
|
},
|
752
|
-
|
752
|
+
|
753
753
|
/** @private */
|
754
754
|
_scfl_tileOnce: function() {
|
755
755
|
this.invokeLast(this._scfl_tile);
|
@@ -768,31 +768,31 @@ SC.FlowedLayout = {
|
|
768
768
|
|
769
769
|
// save so it can be observed
|
770
770
|
this.setIfChanged('numberOfRows', plan.rows.length);
|
771
|
-
|
771
|
+
|
772
772
|
// second, observe all children, and stop observing any children we no longer
|
773
773
|
// should be observing.
|
774
774
|
var previouslyObserving = this._scfl_isObserving || SC.CoreSet.create(),
|
775
775
|
nowObserving = SC.CoreSet.create();
|
776
|
-
|
776
|
+
|
777
777
|
var children = this.get('childViews'), len = children.length, idx, child;
|
778
778
|
for (idx = 0; idx < len; idx++) {
|
779
779
|
child = children[idx];
|
780
|
-
|
780
|
+
|
781
781
|
if (!previouslyObserving.contains(child)) {
|
782
782
|
this.observeChildLayout(child);
|
783
783
|
} else {
|
784
784
|
previouslyObserving.remove(child);
|
785
785
|
}
|
786
|
-
|
786
|
+
|
787
787
|
nowObserving.add(child);
|
788
788
|
}
|
789
|
-
|
789
|
+
|
790
790
|
len = previouslyObserving.length;
|
791
791
|
for (idx = 0; idx < len; idx++) {
|
792
792
|
this.unobserveChildLayout(previouslyObserving[idx]);
|
793
793
|
}
|
794
794
|
},
|
795
|
-
|
795
|
+
|
796
796
|
/** @private */
|
797
797
|
_scfl_frameDidChange: function() {
|
798
798
|
var frame = this.get("frame"), lf = this._scfl_lastFrameSize || {};
|
@@ -804,42 +804,42 @@ SC.FlowedLayout = {
|
|
804
804
|
|
805
805
|
this._scfl_tileOnce();
|
806
806
|
}.observes('frame'),
|
807
|
-
|
807
|
+
|
808
808
|
/** @private */
|
809
809
|
destroyMixin: function() {
|
810
810
|
var isObserving = this._scfl_isObserving;
|
811
811
|
if (!isObserving) return;
|
812
|
-
|
812
|
+
|
813
813
|
var len = isObserving.length, idx;
|
814
814
|
for (idx = 0; idx < len; idx++) {
|
815
815
|
this.unobserveChildLayout(isObserving[idx]);
|
816
816
|
}
|
817
817
|
},
|
818
|
-
|
818
|
+
|
819
819
|
/** @private
|
820
820
|
Reorders childViews so that the passed views are at the beginning in the order they are passed. Needed because childViews are laid out in the order they appear in childViews.
|
821
821
|
*/
|
822
822
|
reorder: function(views) {
|
823
823
|
if(!SC.typeOf(views) === SC.T_ARRAY) views = arguments;
|
824
|
-
|
824
|
+
|
825
825
|
var i = views.length, childViews = this.childViews, view;
|
826
|
-
|
826
|
+
|
827
827
|
// childViews.[] should be observed
|
828
828
|
this.beginPropertyChanges();
|
829
|
-
|
829
|
+
|
830
830
|
while(i-- > 0) {
|
831
831
|
view = views[i];
|
832
832
|
|
833
833
|
if(SC.typeOf(view) === SC.T_STRING) view = this.get(view);
|
834
|
-
|
834
|
+
|
835
835
|
childViews.removeObject(view);
|
836
836
|
childViews.unshiftObject(view);
|
837
837
|
}
|
838
|
-
|
838
|
+
|
839
839
|
this.endPropertyChanges();
|
840
|
-
|
840
|
+
|
841
841
|
this._scfl_childViewsDidChange();
|
842
|
-
|
842
|
+
|
843
843
|
return this;
|
844
844
|
}
|
845
845
|
};
|