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
@@ -158,7 +158,7 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
158
158
|
// Parse the string format to retrieve and build
|
159
159
|
// a TextSelection array ordered to support tabs behaviour
|
160
160
|
if (SC.empty(ft)) {
|
161
|
-
throw 'The format string is empty, and must be a valid string.';
|
161
|
+
throw new Error('The format string is empty, and must be a valid string.');
|
162
162
|
}
|
163
163
|
|
164
164
|
var pPos, key, keyPos, startAt = 0, nPos = 0, oPos = 0;
|
@@ -169,7 +169,7 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
169
169
|
|
170
170
|
keyPos = _dt.indexOf(key);
|
171
171
|
if (keyPos === -1) {
|
172
|
-
throw "SC.DateFieldView: The format's key '%@' is not supported.".fmt(key);
|
172
|
+
throw new Error("SC.DateFieldView: The format's key '%@' is not supported.".fmt(key));
|
173
173
|
}
|
174
174
|
nPos = nPos + pPos - oPos;
|
175
175
|
arr.push(SC.Object.create({
|
@@ -4,7 +4,7 @@
|
|
4
4
|
// Portions ©2008-2011 Apple Inc. All rights reserved.
|
5
5
|
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
|
-
sc_require('views/list')
|
7
|
+
sc_require('views/list');
|
8
8
|
|
9
9
|
|
10
10
|
/** @class
|
@@ -37,7 +37,7 @@ SC.GridView = SC.ListView.extend(
|
|
37
37
|
@default { left:0, right:0, top:0, bottom:0 }
|
38
38
|
@see SC.View#layout
|
39
39
|
*/
|
40
|
-
layout: { left:0, right:0, top:0, bottom:0 },
|
40
|
+
layout: { left: 0, right: 0, top: 0, bottom: 0 },
|
41
41
|
|
42
42
|
/**
|
43
43
|
The common row height for grid items.
|
@@ -81,34 +81,35 @@ SC.GridView = SC.ListView.extend(
|
|
81
81
|
insertionOrientation: SC.HORIZONTAL_ORIENTATION,
|
82
82
|
|
83
83
|
/** @private */
|
84
|
-
itemsPerRow: function() {
|
85
|
-
var
|
86
|
-
|
84
|
+
itemsPerRow: function () {
|
85
|
+
var frameWidth = this.get('frame').width,
|
86
|
+
columnWidth = this.get('columnWidth') || 0;
|
87
87
|
|
88
|
-
return (columnWidth
|
89
|
-
}.property('
|
88
|
+
return (columnWidth < 1) ? 1 : Math.floor(frameWidth / columnWidth);
|
89
|
+
}.property('columnWidth', '_frameWidth').cacheable(),
|
90
90
|
|
91
91
|
/** @private
|
92
92
|
Find the contentIndexes to display in the passed rect. Note that we
|
93
93
|
ignore the width of the rect passed since we need to have a single
|
94
94
|
contiguous range.
|
95
95
|
*/
|
96
|
-
contentIndexesInRect: function(rect) {
|
97
|
-
var rowHeight = this.get('rowHeight') || 48
|
96
|
+
contentIndexesInRect: function (rect) {
|
97
|
+
var rowHeight = this.get('rowHeight') || 48,
|
98
98
|
itemsPerRow = this.get('itemsPerRow'),
|
99
99
|
min = Math.floor(SC.minY(rect) / rowHeight) * itemsPerRow,
|
100
|
-
max = Math.ceil(SC.maxY(rect) / rowHeight) * itemsPerRow
|
101
|
-
return SC.IndexSet.create(min, max-min);
|
100
|
+
max = Math.ceil(SC.maxY(rect) / rowHeight) * itemsPerRow;
|
101
|
+
return SC.IndexSet.create(min, max - min);
|
102
102
|
},
|
103
103
|
|
104
104
|
/** @private */
|
105
|
-
layoutForContentIndex: function(contentIndex) {
|
105
|
+
layoutForContentIndex: function (contentIndex) {
|
106
106
|
var rowHeight = this.get('rowHeight') || 48,
|
107
107
|
frameWidth = this.get('frame').width,
|
108
108
|
itemsPerRow = this.get('itemsPerRow'),
|
109
|
-
columnWidth = Math.floor(frameWidth/itemsPerRow),
|
109
|
+
columnWidth = Math.floor(frameWidth / itemsPerRow),
|
110
110
|
row = Math.floor(contentIndex / itemsPerRow),
|
111
|
-
col = contentIndex - (itemsPerRow*row)
|
111
|
+
col = contentIndex - (itemsPerRow * row);
|
112
|
+
|
112
113
|
return {
|
113
114
|
left: col * columnWidth,
|
114
115
|
top: row * rowHeight,
|
@@ -121,20 +122,20 @@ SC.GridView = SC.ListView.extend(
|
|
121
122
|
Overrides default CollectionView method to compute the minimum height
|
122
123
|
of the list view.
|
123
124
|
*/
|
124
|
-
computeLayout: function() {
|
125
|
+
computeLayout: function () {
|
125
126
|
var content = this.get('content'),
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
127
|
+
count = (content) ? content.get('length') : 0,
|
128
|
+
rowHeight = this.get('rowHeight') || 48,
|
129
|
+
itemsPerRow = this.get('itemsPerRow'),
|
130
|
+
rows = Math.ceil(count / itemsPerRow);
|
130
131
|
|
131
132
|
// use this cached layout hash to avoid allocing memory...
|
132
|
-
var ret = this._cachedLayoutHash
|
133
|
+
var ret = this._cachedLayoutHash;
|
133
134
|
if (!ret) ret = this._cachedLayoutHash = {};
|
134
135
|
|
135
136
|
// set minHeight
|
136
|
-
ret.minHeight = rows * rowHeight
|
137
|
-
this.calculatedHeight
|
137
|
+
ret.minHeight = rows * rowHeight;
|
138
|
+
this.set('calculatedHeight', ret.minHeight);
|
138
139
|
return ret;
|
139
140
|
},
|
140
141
|
|
@@ -144,13 +145,13 @@ SC.GridView = SC.ListView.extend(
|
|
144
145
|
insertionPointClass: SC.View.extend({
|
145
146
|
classNames: ['grid-insertion-point'],
|
146
147
|
|
147
|
-
render: function(context, firstTime) {
|
148
|
-
if (firstTime) context.push('<span class="anchor"></span>')
|
148
|
+
render: function (context, firstTime) {
|
149
|
+
if (firstTime) context.push('<span class="anchor"></span>');
|
149
150
|
}
|
150
151
|
}),
|
151
152
|
|
152
153
|
/** @private */
|
153
|
-
showInsertionPoint: function(itemView, dropOperation) {
|
154
|
+
showInsertionPoint: function (itemView, dropOperation) {
|
154
155
|
if (!itemView) return;
|
155
156
|
|
156
157
|
// if drop on, then just add a class...
|
@@ -173,15 +174,15 @@ SC.GridView = SC.ListView.extend(
|
|
173
174
|
// If there was an item that was the target of the drop previously, be
|
174
175
|
// sure to clear it.
|
175
176
|
this._lastDropOnView.set('isDropTarget', NO);
|
176
|
-
this._lastDropOnView = null
|
177
|
+
this._lastDropOnView = null;
|
177
178
|
}
|
178
179
|
|
179
180
|
if (!this._insertionPointView) {
|
180
|
-
this._insertionPointView = this.insertionPointClass.create()
|
181
|
+
this._insertionPointView = this.insertionPointClass.create();
|
181
182
|
}
|
182
183
|
|
183
|
-
var insertionPoint = this._insertionPointView
|
184
|
-
var itemViewFrame = itemView.get('frame')
|
184
|
+
var insertionPoint = this._insertionPointView;
|
185
|
+
var itemViewFrame = itemView.get('frame');
|
185
186
|
var f = { height: itemViewFrame.height - 6,
|
186
187
|
x: itemViewFrame.x,
|
187
188
|
y: itemViewFrame.y + 6,
|
@@ -189,18 +190,18 @@ SC.GridView = SC.ListView.extend(
|
|
189
190
|
};
|
190
191
|
|
191
192
|
if (!SC.rectsEqual(insertionPoint.get('frame'), f)) {
|
192
|
-
insertionPoint.set('frame', f)
|
193
|
+
insertionPoint.set('frame', f);
|
193
194
|
}
|
194
195
|
|
195
196
|
if (insertionPoint.parentNode !== itemView.parentNode) {
|
196
|
-
itemView.parentNode.appendChild(insertionPoint)
|
197
|
+
itemView.parentNode.appendChild(insertionPoint);
|
197
198
|
}
|
198
199
|
}
|
199
200
|
|
200
201
|
},
|
201
202
|
|
202
203
|
/** @see SC.CollectionView#hideInsertionPoint */
|
203
|
-
hideInsertionPoint: function() {
|
204
|
+
hideInsertionPoint: function () {
|
204
205
|
// If there was an item that was the target of the drop previously, be
|
205
206
|
// sure to clear it.
|
206
207
|
if (this._lastDropOnView) {
|
@@ -208,38 +209,38 @@ SC.GridView = SC.ListView.extend(
|
|
208
209
|
this._lastDropOnView = null;
|
209
210
|
}
|
210
211
|
|
211
|
-
var view = this._insertionPointView
|
212
|
+
var view = this._insertionPointView;
|
212
213
|
if (view) view.removeFromParent().destroy();
|
213
214
|
this._insertionPointView = null;
|
214
215
|
},
|
215
216
|
|
216
217
|
/** @private */
|
217
|
-
insertionIndexForLocation: function(loc, dropOperation) {
|
218
|
+
insertionIndexForLocation: function (loc, dropOperation) {
|
218
219
|
var f = this.get('frame'),
|
219
220
|
sf = this.get('clippingFrame'),
|
220
221
|
itemsPerRow = this.get('itemsPerRow'),
|
221
222
|
columnWidth = Math.floor(f.width / itemsPerRow),
|
222
|
-
row = Math.floor((loc.y - f.y - sf.y) / this.get('rowHeight'))
|
223
|
+
row = Math.floor((loc.y - f.y - sf.y) / this.get('rowHeight'));
|
223
224
|
|
224
225
|
var retOp = SC.DROP_BEFORE,
|
225
226
|
offset = (loc.x - f.x - sf.x),
|
226
227
|
col = Math.floor(offset / columnWidth),
|
227
|
-
percentage = (offset / columnWidth) - col
|
228
|
+
percentage = (offset / columnWidth) - col;
|
228
229
|
|
229
230
|
// if the dropOperation is SC.DROP_ON and we are in the center 60%
|
230
231
|
// then return the current item.
|
231
232
|
if (dropOperation === SC.DROP_ON) {
|
232
|
-
if (percentage > 0.80) col
|
233
|
+
if (percentage > 0.80) col++;
|
233
234
|
if ((percentage >= 0.20) && (percentage <= 0.80)) {
|
234
235
|
retOp = SC.DROP_ON;
|
235
236
|
}
|
236
237
|
} else {
|
237
|
-
if (percentage > 0.45) col
|
238
|
+
if (percentage > 0.45) col++;
|
238
239
|
}
|
239
240
|
|
240
241
|
// convert to index
|
241
|
-
var ret= (row*itemsPerRow) + col
|
242
|
-
return [ret, retOp]
|
242
|
+
var ret = (row * itemsPerRow) + col;
|
243
|
+
return [ret, retOp];
|
243
244
|
},
|
244
245
|
|
245
246
|
/** @private
|
@@ -249,30 +250,42 @@ SC.GridView = SC.ListView.extend(
|
|
249
250
|
|
250
251
|
Update all of their layouts if necessary.
|
251
252
|
*/
|
252
|
-
_gv_frameDidChange: function() {
|
253
|
+
_gv_frameDidChange: function () {
|
253
254
|
var frame = this.get('frame'),
|
254
|
-
|
255
|
-
|
256
|
-
// Changes to the width of the frame is the only variable that
|
257
|
-
// alters the layout of item views.
|
258
|
-
width = frame.width;
|
259
|
-
if (this._lastFrameWidth && width !== this._lastFrameWidth) {
|
260
|
-
this.notifyPropertyChange('itemsPerRow');
|
255
|
+
lastFrameWidth = this._lastFrameWidth,
|
256
|
+
width = frame.width;
|
261
257
|
|
262
|
-
|
263
|
-
|
258
|
+
// A change to the width of the frame is the only variable that
|
259
|
+
// alters the layout of item views and our computed layout.
|
260
|
+
if (lastFrameWidth && width !== lastFrameWidth) {
|
261
|
+
var itemView,
|
264
262
|
nowShowing = this.get('nowShowing');
|
265
263
|
|
266
|
-
//
|
267
|
-
//
|
268
|
-
|
264
|
+
// Internal property used to indicate a possible itemsPerRow change. This
|
265
|
+
// is better than having itemsPerRow dependent on frame which changes frequently.
|
266
|
+
this.set('_frameWidth', width);
|
267
|
+
|
268
|
+
// Only loop through the now showing indexes, if the content was sparsely
|
269
|
+
// loaded we would inadvertently load all the content.
|
270
|
+
nowShowing.forEach(function (idx) {
|
269
271
|
itemView = this.itemViewForContentIndex(idx);
|
270
272
|
itemView.adjust(this.layoutForContentIndex(idx));
|
271
273
|
}, this);
|
272
274
|
}
|
273
275
|
|
274
|
-
// Cache the last width in order to check for differences.
|
275
276
|
this._lastFrameWidth = width;
|
276
|
-
}.observes('frame')
|
277
|
+
}.observes('frame'),
|
278
|
+
|
279
|
+
/** @private Recompute our layout if itemsPerRow actually changes. */
|
280
|
+
_gv_itemsPerRowDidChange: function () {
|
281
|
+
var itemsPerRow = this.get('itemsPerRow'),
|
282
|
+
lastItemsPerRow = this._lastItemsPerRow || 0;
|
283
|
+
|
284
|
+
if (itemsPerRow !== lastItemsPerRow) {
|
285
|
+
this.invokeOnce('adjustLayout');
|
286
|
+
}
|
287
|
+
|
288
|
+
this._lastItemsPerRow = itemsPerRow;
|
289
|
+
}.observes('itemsPerRow')
|
277
290
|
|
278
291
|
});
|
@@ -64,7 +64,7 @@ SC.ImageButtonView = SC.ButtonView.extend(
|
|
64
64
|
@default 'imageButtonRenderDelegate'
|
65
65
|
*/
|
66
66
|
renderDelegateName: 'imageButtonRenderDelegate',
|
67
|
-
|
67
|
+
|
68
68
|
/**
|
69
69
|
@type Array
|
70
70
|
@default ['image']
|
@@ -73,10 +73,10 @@ SC.ImageButtonView = SC.ButtonView.extend(
|
|
73
73
|
|
74
74
|
/**
|
75
75
|
A class name that will be applied to the img tag of the button.
|
76
|
-
|
76
|
+
|
77
77
|
@type String
|
78
78
|
@default null
|
79
79
|
*/
|
80
80
|
image: null
|
81
81
|
|
82
|
-
})
|
82
|
+
});
|
@@ -76,6 +76,9 @@ SC.ListView = SC.CollectionView.extend(SC.CollectionRowDelegate,
|
|
76
76
|
*/
|
77
77
|
acceptsFirstResponder: YES,
|
78
78
|
|
79
|
+
/** @private SC.CollectionView.prototype */
|
80
|
+
exampleView: SC.ListItemView,
|
81
|
+
|
79
82
|
/**
|
80
83
|
If set to YES, the default theme will show alternating rows
|
81
84
|
for the views this ListView created through exampleView property.
|
@@ -134,7 +137,7 @@ SC.ListView = SC.CollectionView.extend(SC.CollectionRowDelegate,
|
|
134
137
|
}
|
135
138
|
|
136
139
|
if (!del) {
|
137
|
-
throw "Internal Inconsistancy: ListView must always have CollectionRowDelegate";
|
140
|
+
throw new Error("Internal Inconsistancy: ListView must always have CollectionRowDelegate");
|
138
141
|
}
|
139
142
|
|
140
143
|
del.addObserver('rowHeight', this, func);
|
@@ -318,20 +321,12 @@ SC.ListView = SC.CollectionView.extend(SC.CollectionRowDelegate,
|
|
318
321
|
// find the smallest index changed; invalidate everything past it
|
319
322
|
if (indexes && indexes.isIndexSet) indexes = indexes.get('min');
|
320
323
|
this.reload(SC.IndexSet.create(indexes, len-indexes));
|
324
|
+
|
325
|
+
// If the row height changes, our entire layout needs to change.
|
326
|
+
this.invokeOnce('adjustLayout');
|
321
327
|
return this ;
|
322
328
|
},
|
323
329
|
|
324
|
-
/**
|
325
|
-
@private
|
326
|
-
When the length changes, so does the layout. CollectionView doesn't
|
327
|
-
know to do this, because it only asks for layout when it reloads--which
|
328
|
-
makes sense, as it is agnostic to any layout logic (for all it knows, the
|
329
|
-
items in the collection are not in a completely random order relative to layout)
|
330
|
-
*/
|
331
|
-
_sclv_lengthDidChange: function() {
|
332
|
-
this.adjust(this.computeLayout());
|
333
|
-
}.observes('length'),
|
334
|
-
|
335
330
|
// ..........................................................
|
336
331
|
// SUBCLASS IMPLEMENTATIONS
|
337
332
|
//
|
@@ -345,7 +340,7 @@ SC.ListView = SC.CollectionView.extend(SC.CollectionRowDelegate,
|
|
345
340
|
var ret = this._sclv_layout;
|
346
341
|
if (!ret) ret = this._sclv_layout = {};
|
347
342
|
ret.minHeight = this.rowOffsetForContentIndex(this.get('length'));
|
348
|
-
this.set('calculatedHeight',ret.minHeight);
|
343
|
+
this.set('calculatedHeight', ret.minHeight);
|
349
344
|
return ret ;
|
350
345
|
},
|
351
346
|
|
@@ -647,19 +642,6 @@ SC.ListView = SC.CollectionView.extend(SC.CollectionRowDelegate,
|
|
647
642
|
return [index, dropOperation];
|
648
643
|
},
|
649
644
|
|
650
|
-
/** @private */
|
651
|
-
mouseWheel: function(evt) {
|
652
|
-
// The following commits changes in a list item that is being edited,
|
653
|
-
// if the list is scrolled.
|
654
|
-
var inlineEditor = SC.InlineTextFieldView.editor;
|
655
|
-
if(inlineEditor && inlineEditor.get('isEditing')){
|
656
|
-
if(inlineEditor.get('delegate').get('displayDelegate')===this){
|
657
|
-
SC.InlineTextFieldView.commitEditing();
|
658
|
-
}
|
659
|
-
}
|
660
|
-
return NO ;
|
661
|
-
},
|
662
|
-
|
663
645
|
// ..........................................................
|
664
646
|
// INTERNAL SUPPORT
|
665
647
|
//
|
@@ -38,7 +38,6 @@ SC.LIST_ITEM_ACTION_EJECT = 'sc-list-item-cancel-eject';
|
|
38
38
|
@extends SC.View
|
39
39
|
@extends SC.Control
|
40
40
|
@extends SC.InlineEditable
|
41
|
-
@extends SC.StaticLayout
|
42
41
|
@since SproutCore 1.0
|
43
42
|
*/
|
44
43
|
SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
@@ -63,14 +62,6 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
63
62
|
// KEY PROPERTIES
|
64
63
|
//
|
65
64
|
|
66
|
-
/**
|
67
|
-
The content object the list item will display.
|
68
|
-
|
69
|
-
@type SC.Object
|
70
|
-
@default null
|
71
|
-
*/
|
72
|
-
content: null,
|
73
|
-
|
74
65
|
/**
|
75
66
|
The index of the content object in the ListView to which this
|
76
67
|
ListItemView belongs.
|
@@ -273,8 +264,8 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
273
264
|
},
|
274
265
|
|
275
266
|
/** @private */
|
276
|
-
contentPropertyDidChange: function() {
|
277
|
-
//if (this.get('isEditing')) this.discardEditing()
|
267
|
+
contentPropertyDidChange: function () {
|
268
|
+
//if (this.get('isEditing')) this.discardEditing();
|
278
269
|
if (this.get('contentIsEditable') !== this.contentIsEditable()) {
|
279
270
|
this.notifyPropertyChange('contentIsEditable');
|
280
271
|
}
|
@@ -290,9 +281,9 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
290
281
|
@type Boolean
|
291
282
|
@observes content
|
292
283
|
*/
|
293
|
-
contentIsEditable: function() {
|
284
|
+
contentIsEditable: function () {
|
294
285
|
var content = this.get('content');
|
295
|
-
return content && (content.get ? content.get('isEditable')!==NO : NO);
|
286
|
+
return content && (content.get ? content.get('isEditable') !== NO : NO);
|
296
287
|
}.property('content').cacheable(),
|
297
288
|
|
298
289
|
/**
|
@@ -309,7 +300,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
309
300
|
|
310
301
|
@returns {jQuery} jQuery object selecting label elements
|
311
302
|
*/
|
312
|
-
$label: function() {
|
303
|
+
$label: function () {
|
313
304
|
return this.$('label');
|
314
305
|
},
|
315
306
|
|
@@ -317,27 +308,27 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
317
308
|
Determines if the event occurred inside an element with the specified
|
318
309
|
classname or not.
|
319
310
|
*/
|
320
|
-
_isInsideElementWithClassName: function(className, evt) {
|
311
|
+
_isInsideElementWithClassName: function (className, evt) {
|
321
312
|
var layer = this.get('layer');
|
322
|
-
if (!layer) return NO
|
313
|
+
if (!layer) return NO; // no layer yet -- nothing to do
|
323
314
|
|
324
|
-
var el = SC.$(evt.target)
|
315
|
+
var el = SC.$(evt.target);
|
325
316
|
var ret = NO;
|
326
|
-
while(!ret && el.length>0 && (el[0] !== layer)) {
|
327
|
-
if (el.hasClass(className)) ret = YES
|
328
|
-
el = el.parent()
|
317
|
+
while (!ret && el.length > 0 && (el[0] !== layer)) {
|
318
|
+
if (el.hasClass(className)) ret = YES;
|
319
|
+
el = el.parent();
|
329
320
|
}
|
330
321
|
el = layer = null; //avoid memory leaks
|
331
|
-
return ret
|
322
|
+
return ret;
|
332
323
|
},
|
333
324
|
|
334
325
|
/** @private
|
335
326
|
Returns YES if the list item has a checkbox and the event occurred
|
336
327
|
inside of it.
|
337
328
|
*/
|
338
|
-
_isInsideCheckbox: function(evt) {
|
339
|
-
var del = this.displayDelegate
|
340
|
-
var checkboxKey = this.getDelegateProperty('contentCheckboxKey', del)
|
329
|
+
_isInsideCheckbox: function (evt) {
|
330
|
+
var del = this.displayDelegate;
|
331
|
+
var checkboxKey = this.getDelegateProperty('contentCheckboxKey', del);
|
341
332
|
return checkboxKey && this._isInsideElementWithClassName('sc-checkbox-view', evt);
|
342
333
|
},
|
343
334
|
|
@@ -345,8 +336,8 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
345
336
|
Returns YES if the list item has a disclosure triangle and the event
|
346
337
|
occurred inside of it.
|
347
338
|
*/
|
348
|
-
_isInsideDisclosure: function(evt) {
|
349
|
-
if (this.get('disclosureState')===SC.LEAF_NODE) return NO;
|
339
|
+
_isInsideDisclosure: function (evt) {
|
340
|
+
if (this.get('disclosureState') === SC.LEAF_NODE) return NO;
|
350
341
|
return this._isInsideElementWithClassName('sc-disclosure-view', evt);
|
351
342
|
},
|
352
343
|
|
@@ -354,8 +345,8 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
354
345
|
Returns YES if the list item has a right icon and the event
|
355
346
|
occurred inside of it.
|
356
347
|
*/
|
357
|
-
_isInsideRightIcon: function(evt) {
|
358
|
-
var del = this.displayDelegate
|
348
|
+
_isInsideRightIcon: function (evt) {
|
349
|
+
var del = this.displayDelegate;
|
359
350
|
var rightIconKey = this.getDelegateProperty('hasContentRightIcon', del) || !SC.none(this.rightIcon);
|
360
351
|
return rightIconKey && this._isInsideElementWithClassName('right-icon', evt);
|
361
352
|
},
|
@@ -364,36 +355,36 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
364
355
|
mouseDown is handled only for clicks on the checkbox view or or action
|
365
356
|
button.
|
366
357
|
*/
|
367
|
-
mouseDown: function(evt) {
|
358
|
+
mouseDown: function (evt) {
|
368
359
|
// if content is not editable, then always let collection view handle the
|
369
360
|
// event.
|
370
|
-
if (!this.get('contentIsEditable')) return NO
|
361
|
+
if (!this.get('contentIsEditable')) return NO;
|
371
362
|
|
372
363
|
// if occurred inside checkbox, item view should handle the event.
|
373
364
|
if (this._isInsideCheckbox(evt)) {
|
374
|
-
this._addCheckboxActiveState()
|
375
|
-
this._isMouseDownOnCheckbox = YES
|
376
|
-
this._isMouseInsideCheckbox = YES
|
377
|
-
return YES
|
365
|
+
this._addCheckboxActiveState();
|
366
|
+
this._isMouseDownOnCheckbox = YES;
|
367
|
+
this._isMouseInsideCheckbox = YES;
|
368
|
+
return YES; // listItem should handle this event
|
378
369
|
|
379
370
|
} else if (this._isInsideDisclosure(evt)) {
|
380
371
|
this._addDisclosureActiveState();
|
381
372
|
this._isMouseDownOnDisclosure = YES;
|
382
|
-
this._isMouseInsideDisclosure = YES
|
373
|
+
this._isMouseInsideDisclosure = YES;
|
383
374
|
return YES;
|
384
375
|
} else if (this._isInsideRightIcon(evt)) {
|
385
376
|
this._addRightIconActiveState();
|
386
377
|
this._isMouseDownOnRightIcon = YES;
|
387
|
-
this._isMouseInsideRightIcon = YES
|
378
|
+
this._isMouseInsideRightIcon = YES;
|
388
379
|
return YES;
|
389
380
|
}
|
390
381
|
|
391
|
-
return NO
|
382
|
+
return NO; // let the collection view handle this event
|
392
383
|
},
|
393
384
|
|
394
385
|
/** @private */
|
395
|
-
mouseUp: function(evt) {
|
396
|
-
var ret= NO, del, checkboxKey, content, state, idx, set;
|
386
|
+
mouseUp: function (evt) {
|
387
|
+
var ret = NO, del, checkboxKey, content, state, idx, set;
|
397
388
|
|
398
389
|
// if mouse was down in checkbox -- then handle mouse up, otherwise
|
399
390
|
// allow parent view to handle event.
|
@@ -401,19 +392,19 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
401
392
|
|
402
393
|
// update only if mouse inside on mouse up...
|
403
394
|
if (this._isInsideCheckbox(evt)) {
|
404
|
-
del = this.displayDelegate
|
395
|
+
del = this.displayDelegate;
|
405
396
|
checkboxKey = this.getDelegateProperty('contentCheckboxKey', del);
|
406
|
-
content = this.get('content')
|
397
|
+
content = this.get('content');
|
407
398
|
if (content && content.get) {
|
408
|
-
var value = content.get(checkboxKey)
|
409
|
-
value = (value === SC.MIXED_STATE) ? YES : !value
|
410
|
-
content.set(checkboxKey, value)
|
399
|
+
var value = content.get(checkboxKey);
|
400
|
+
value = (value === SC.MIXED_STATE) ? YES : !value;
|
401
|
+
content.set(checkboxKey, value); // update content
|
411
402
|
this.displayDidChange(); // repaint view...
|
412
403
|
}
|
413
404
|
}
|
414
405
|
|
415
|
-
this._removeCheckboxActiveState()
|
416
|
-
ret = YES
|
406
|
+
this._removeCheckboxActiveState();
|
407
|
+
ret = YES;
|
417
408
|
|
418
409
|
// if mouse as down on disclosure -- handle mouse up. otherwise pass on
|
419
410
|
// to parent.
|
@@ -437,68 +428,69 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
437
428
|
}
|
438
429
|
|
439
430
|
this._removeDisclosureActiveState();
|
440
|
-
ret = YES
|
431
|
+
ret = YES;
|
441
432
|
// if mouse was down in right icon -- then handle mouse up, otherwise
|
442
433
|
// allow parent view to handle event.
|
443
434
|
} else if (this._isMouseDownOnRightIcon) {
|
444
|
-
this._removeRightIconActiveState()
|
445
|
-
ret = YES
|
435
|
+
this._removeRightIconActiveState();
|
436
|
+
ret = YES;
|
446
437
|
}
|
447
438
|
|
448
439
|
// clear cached info
|
449
|
-
this._isMouseInsideCheckbox = this._isMouseDownOnCheckbox = NO
|
450
|
-
this._isMouseDownOnDisclosure = this._isMouseInsideDisclosure = NO
|
451
|
-
this._isMouseInsideRightIcon = this._isMouseDownOnRightIcon = NO
|
452
|
-
return ret
|
440
|
+
this._isMouseInsideCheckbox = this._isMouseDownOnCheckbox = NO;
|
441
|
+
this._isMouseDownOnDisclosure = this._isMouseInsideDisclosure = NO;
|
442
|
+
this._isMouseInsideRightIcon = this._isMouseDownOnRightIcon = NO;
|
443
|
+
return ret;
|
453
444
|
},
|
454
445
|
|
455
446
|
/** @private */
|
456
|
-
mouseMoved: function(evt) {
|
447
|
+
mouseMoved: function (evt) {
|
457
448
|
if (this._isMouseDownOnCheckbox && this._isInsideCheckbox(evt)) {
|
458
|
-
this._addCheckboxActiveState()
|
459
|
-
this._isMouseInsideCheckbox = YES
|
449
|
+
this._addCheckboxActiveState();
|
450
|
+
this._isMouseInsideCheckbox = YES;
|
460
451
|
} else if (this._isMouseDownOnCheckbox) {
|
461
|
-
|
462
|
-
|
452
|
+
this._removeCheckboxActiveState();
|
453
|
+
this._isMouseInsideCheckbox = NO;
|
463
454
|
} else if (this._isMouseDownOnDisclosure && this._isInsideDisclosure(evt)) {
|
464
455
|
this._addDisclosureActiveState();
|
465
456
|
this._isMouseInsideDisclosure = YES;
|
466
|
-
|
467
|
-
|
468
|
-
|
457
|
+
} else if (this._isMouseDownOnDisclosure) {
|
458
|
+
this._removeDisclosureActiveState();
|
459
|
+
this._isMouseInsideDisclosure = NO;
|
469
460
|
} else if (this._isMouseDownOnRightIcon && this._isInsideRightIcon(evt)) {
|
470
461
|
this._addRightIconActiveState();
|
471
462
|
this._isMouseInsideRightIcon = YES;
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
463
|
+
} else if (this._isMouseDownOnRightIcon) {
|
464
|
+
this._removeRightIconActiveState();
|
465
|
+
this._isMouseInsideRightIcon = NO;
|
466
|
+
}
|
467
|
+
|
468
|
+
return NO;
|
477
469
|
},
|
478
470
|
|
479
471
|
/** @private */
|
480
|
-
touchStart: function(evt){
|
472
|
+
touchStart: function (evt) {
|
481
473
|
return this.mouseDown(evt);
|
482
474
|
},
|
483
475
|
|
484
476
|
/** @private */
|
485
|
-
touchEnd: function(evt){
|
477
|
+
touchEnd: function (evt) {
|
486
478
|
return this.mouseUp(evt);
|
487
479
|
},
|
488
480
|
|
489
481
|
/** @private */
|
490
|
-
touchEntered: function(evt){
|
482
|
+
touchEntered: function (evt) {
|
491
483
|
return this.mouseEntered(evt);
|
492
484
|
},
|
493
485
|
|
494
486
|
/** @private */
|
495
|
-
touchExited: function(evt){
|
487
|
+
touchExited: function (evt) {
|
496
488
|
return this.mouseExited(evt);
|
497
489
|
},
|
498
490
|
|
499
491
|
|
500
492
|
/** @private */
|
501
|
-
_addCheckboxActiveState: function() {
|
493
|
+
_addCheckboxActiveState: function () {
|
502
494
|
if (this.get('isEnabled')) {
|
503
495
|
if (this._checkboxRenderDelegate) {
|
504
496
|
var source = this._checkboxRenderSource;
|
@@ -514,7 +506,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
514
506
|
},
|
515
507
|
|
516
508
|
/** @private */
|
517
|
-
_removeCheckboxActiveState: function() {
|
509
|
+
_removeCheckboxActiveState: function () {
|
518
510
|
if (this._checkboxRenderer) {
|
519
511
|
var source = this._checkboxRenderSource;
|
520
512
|
|
@@ -528,7 +520,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
528
520
|
},
|
529
521
|
|
530
522
|
/** @private */
|
531
|
-
_addDisclosureActiveState: function() {
|
523
|
+
_addDisclosureActiveState: function () {
|
532
524
|
if (this.get('isEnabled')) {
|
533
525
|
if (this._disclosureRenderDelegate) {
|
534
526
|
var source = this._disclosureRenderSource;
|
@@ -544,7 +536,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
544
536
|
},
|
545
537
|
|
546
538
|
/** @private */
|
547
|
-
_removeDisclosureActiveState: function() {
|
539
|
+
_removeDisclosureActiveState: function () {
|
548
540
|
if (this._disclosureRenderer) {
|
549
541
|
var source = this._disclosureRenderSource;
|
550
542
|
source.set('isActive', NO);
|
@@ -557,13 +549,13 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
557
549
|
},
|
558
550
|
|
559
551
|
/** @private */
|
560
|
-
_addRightIconActiveState: function() {
|
561
|
-
|
552
|
+
_addRightIconActiveState: function () {
|
553
|
+
this.$('img.right-icon').setClass('active', YES);
|
562
554
|
},
|
563
555
|
|
564
556
|
/** @private */
|
565
|
-
_removeRightIconActiveState: function() {
|
566
|
-
|
557
|
+
_removeRightIconActiveState: function () {
|
558
|
+
this.$('img.right-icon').removeClass('active');
|
567
559
|
},
|
568
560
|
|
569
561
|
/** @private
|
@@ -576,23 +568,23 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
576
568
|
@param evt {Event} the mouseUp event.
|
577
569
|
@returns {Boolean} YES if the mouse was on the content element itself.
|
578
570
|
*/
|
579
|
-
contentHitTest: function(evt) {
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
571
|
+
contentHitTest: function (evt) {
|
572
|
+
// if not content value is returned, not much to do.
|
573
|
+
var del = this.displayDelegate;
|
574
|
+
var labelKey = this.getDelegateProperty('contentValueKey', del);
|
575
|
+
if (!labelKey) return NO;
|
576
|
+
|
577
|
+
// get the element to check for.
|
578
|
+
var el = this.$label()[0];
|
579
|
+
if (!el) return NO; // no label to check for.
|
580
|
+
|
581
|
+
var cur = evt.target, layer = this.get('layer');
|
582
|
+
while (cur && (cur !== layer) && (cur !== window)) {
|
583
|
+
if (cur === el) return YES;
|
584
|
+
cur = cur.parentNode;
|
585
|
+
}
|
594
586
|
|
595
|
-
|
587
|
+
return NO;
|
596
588
|
},
|
597
589
|
|
598
590
|
/*
|
@@ -603,7 +595,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
603
595
|
before editing begins
|
604
596
|
@returns {Boolean} YES if successful
|
605
597
|
*/
|
606
|
-
beginEditing: function(original, scrollIfNeeded) {
|
598
|
+
beginEditing: function (original, scrollIfNeeded) {
|
607
599
|
var el = this.$label(),
|
608
600
|
parent = this.get('parentView');
|
609
601
|
|
@@ -612,15 +604,17 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
612
604
|
// and begin editing. Right now collection view will regenerate the item
|
613
605
|
// view too often.
|
614
606
|
if (scrollIfNeeded && this.scrollToVisible()) {
|
615
|
-
var collectionView = this.get('owner'),
|
616
|
-
|
607
|
+
var collectionView = this.get('owner'),
|
608
|
+
idx = this.get('contentIndex');
|
609
|
+
|
610
|
+
this.invokeLast(function () {
|
617
611
|
var item = collectionView.itemViewForContentIndex(idx);
|
618
612
|
if (item && item.beginEditing) item.beginEditing(NO);
|
619
613
|
});
|
620
614
|
return YES; // let the scroll happen then begin editing...
|
621
615
|
}
|
622
616
|
|
623
|
-
else if (!parent || !el || el.get('length')===0) return NO
|
617
|
+
else if (!parent || !el || el.get('length') === 0) return NO;
|
624
618
|
|
625
619
|
else return original();
|
626
620
|
}.enhance(),
|
@@ -628,15 +622,14 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
628
622
|
/*
|
629
623
|
Configures the editor to overlay the label properly.
|
630
624
|
*/
|
631
|
-
inlineEditorWillBeginEditing: function(editor, editable, value) {
|
625
|
+
inlineEditorWillBeginEditing: function (editor, editable, value) {
|
632
626
|
var content = this.get('content'),
|
633
627
|
del = this.get('displayDelegate'),
|
634
628
|
labelKey = this.getDelegateProperty('contentValueKey', del),
|
635
|
-
parent = this.get('parentView'),
|
636
629
|
el = this.$label(),
|
637
630
|
validator = this.get('validator'),
|
638
631
|
f, v, offset, fontSize, top, lineHeight, escapeHTML,
|
639
|
-
lineHeightShift, targetLineHeight
|
632
|
+
lineHeightShift, targetLineHeight;
|
640
633
|
|
641
634
|
v = (labelKey && content) ? (content.get ? content.get(labelKey) : content[labelKey]) : content;
|
642
635
|
|
@@ -648,26 +641,26 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
648
641
|
fontSize = el.css('fontSize');
|
649
642
|
top = this.$().css('top');
|
650
643
|
|
651
|
-
if (top) top = parseInt(top.substring(0,top.length-2),0);
|
652
|
-
else top =0;
|
644
|
+
if (top) top = parseInt(top.substring(0, top.length - 2), 0);
|
645
|
+
else top = 0;
|
653
646
|
|
654
647
|
lineHeightShift = 0;
|
655
648
|
|
656
649
|
if (fontSize && lineHeight) {
|
657
|
-
targetLineHeight = fontSize * 1.5
|
650
|
+
targetLineHeight = fontSize * 1.5;
|
658
651
|
if (targetLineHeight < lineHeight) {
|
659
652
|
el.css({ lineHeight: '1.5' });
|
660
653
|
lineHeightShift = (lineHeight - targetLineHeight) / 2;
|
661
|
-
} else
|
654
|
+
} else this._oldLineHeight = null;
|
662
655
|
}
|
663
656
|
|
664
657
|
el = el[0];
|
665
658
|
offset = SC.offset(el);
|
666
659
|
|
667
660
|
f.x = offset.x;
|
668
|
-
f.y = offset.y+top + lineHeightShift
|
669
|
-
f.height = el.offsetHeight
|
670
|
-
f.width = el.offsetWidth
|
661
|
+
f.y = offset.y + top + lineHeightShift;
|
662
|
+
f.height = el.offsetHeight;
|
663
|
+
f.width = el.offsetWidth;
|
671
664
|
|
672
665
|
escapeHTML = this.get('escapeHTML');
|
673
666
|
|
@@ -676,44 +669,43 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
676
669
|
exampleFrame: f,
|
677
670
|
exampleElement: el,
|
678
671
|
multiline: NO,
|
679
|
-
isCollection: YES,
|
680
672
|
validator: validator,
|
681
673
|
escapeHTML: escapeHTML
|
682
|
-
})
|
674
|
+
});
|
683
675
|
},
|
684
676
|
|
685
677
|
/** @private
|
686
678
|
Allow editing.
|
687
679
|
*/
|
688
|
-
inlineEditorShouldBeginEditing: function(inlineEditor) {
|
680
|
+
inlineEditorShouldBeginEditing: function (inlineEditor) {
|
689
681
|
return YES;
|
690
682
|
},
|
691
683
|
|
692
684
|
/** @private
|
693
685
|
Hide the label view while the inline editor covers it.
|
694
686
|
*/
|
695
|
-
inlineEditorDidBeginEditing: function(original, inlineEditor, value, editable) {
|
687
|
+
inlineEditorDidBeginEditing: function (original, inlineEditor, value, editable) {
|
696
688
|
original(inlineEditor, value, editable);
|
697
689
|
|
698
|
-
var el = this.$label()
|
690
|
+
var el = this.$label();
|
699
691
|
this._oldOpacity = el.css('opacity');
|
700
|
-
el.css('opacity', 0.0)
|
692
|
+
el.css('opacity', 0.0);
|
701
693
|
|
702
694
|
// restore old line height for original item if the old line height
|
703
695
|
// was saved.
|
704
|
-
if (this._oldLineHeight) el.css({ lineHeight: this._oldLineHeight })
|
696
|
+
if (this._oldLineHeight) el.css({ lineHeight: this._oldLineHeight });
|
705
697
|
}.enhance(),
|
706
698
|
|
707
699
|
/** @private
|
708
700
|
Update the field value and make it visible again.
|
709
701
|
*/
|
710
|
-
inlineEditorDidCommitEditing: function(editor, finalValue, editable) {
|
711
|
-
var content = this.get('content')
|
712
|
-
var del = this.displayDelegate
|
713
|
-
var labelKey = this.getDelegateProperty('contentValueKey', del)
|
702
|
+
inlineEditorDidCommitEditing: function (editor, finalValue, editable) {
|
703
|
+
var content = this.get('content');
|
704
|
+
var del = this.displayDelegate;
|
705
|
+
var labelKey = this.getDelegateProperty('contentValueKey', del);
|
714
706
|
|
715
|
-
if(labelKey && content) {
|
716
|
-
if(content.set) content.set(labelKey, finalValue);
|
707
|
+
if (labelKey && content) {
|
708
|
+
if (content.set) content.set(labelKey, finalValue);
|
717
709
|
else content[labelKey] = finalValue;
|
718
710
|
}
|
719
711
|
|
@@ -724,12 +716,16 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
724
716
|
this._endEditing();
|
725
717
|
},
|
726
718
|
|
727
|
-
_endEditing: function(original) {
|
719
|
+
_endEditing: function (original) {
|
728
720
|
this.$label().css('opacity', this._oldOpacity);
|
729
721
|
|
730
722
|
original();
|
731
723
|
}.enhance(),
|
732
724
|
|
725
|
+
/** SC.ListItemView is not able to update itself in place at this time. */
|
726
|
+
// TODO: add update: support.
|
727
|
+
isReusable: false,
|
728
|
+
|
733
729
|
/** @private
|
734
730
|
Fills the passed html-array with strings that can be joined to form the
|
735
731
|
innerHTML of the receiver element. Also populates an array of classNames
|
@@ -739,7 +735,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
739
735
|
@param {Boolean} firstTime
|
740
736
|
@returns {void}
|
741
737
|
*/
|
742
|
-
render: function(context, firstTime) {
|
738
|
+
render: function (context, firstTime) {
|
743
739
|
var content = this.get('content'),
|
744
740
|
del = this.displayDelegate,
|
745
741
|
level = this.get('outlineLevel'),
|
@@ -747,36 +743,47 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
747
743
|
key, value, working, classArray = [];
|
748
744
|
|
749
745
|
// add alternating row classes
|
750
|
-
classArray.push((this.get('contentIndex')%2 === 0) ? 'even' : 'odd');
|
746
|
+
classArray.push((this.get('contentIndex') % 2 === 0) ? 'even' : 'odd');
|
751
747
|
context.setClass('disabled', !this.get('isEnabled'));
|
752
748
|
context.setClass('drop-target', this.get('isDropTarget'));
|
753
749
|
|
754
750
|
// outline level wrapper
|
755
751
|
working = context.begin("div").addClass("sc-outline");
|
756
|
-
if (level>=0 && indent>0) working.addStyle("left", indent*(level+1));
|
752
|
+
if (level >= 0 && indent > 0) working.addStyle("left", indent * (level + 1));
|
757
753
|
|
758
754
|
// handle disclosure triangle
|
759
755
|
value = this.get('disclosureState');
|
760
756
|
if (value !== SC.LEAF_NODE) {
|
761
757
|
this.renderDisclosure(working, value);
|
762
758
|
classArray.push('has-disclosure');
|
763
|
-
}
|
759
|
+
} else if (this._disclosureRenderSource) {
|
760
|
+
// If previously rendered a disclosure, clean up.
|
761
|
+
context.removeClass('has-disclosure');
|
762
|
+
this._disclosureRenderSource.destroy();
|
764
763
|
|
764
|
+
this._disclosureRenderSource = this._disclosureRenderDelegate = null;
|
765
|
+
}
|
765
766
|
|
766
767
|
// handle checkbox
|
767
|
-
key = this.getDelegateProperty('contentCheckboxKey', del)
|
768
|
+
key = this.getDelegateProperty('contentCheckboxKey', del);
|
768
769
|
if (key) {
|
769
|
-
value = content ? (content.get ? content.get(key) : content[key]) : NO
|
770
|
+
value = content ? (content.get ? content.get(key) : content[key]) : NO;
|
770
771
|
if (value !== null) {
|
771
772
|
this.renderCheckbox(working, value);
|
772
773
|
classArray.push('has-checkbox');
|
774
|
+
} else if (this._checkboxRenderSource) {
|
775
|
+
// If previously rendered a checkbox, clean up.
|
776
|
+
context.removeClass('has-checkbox');
|
777
|
+
this._checkboxRenderSource.destroy();
|
778
|
+
|
779
|
+
this._checkboxRenderSource = this._checkboxRenderDelegate = null;
|
773
780
|
}
|
774
781
|
}
|
775
782
|
|
776
783
|
// handle icon
|
777
784
|
if (this.getDelegateProperty('hasContentIcon', del)) {
|
778
|
-
key = this.getDelegateProperty('contentIconKey', del)
|
779
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null
|
785
|
+
key = this.getDelegateProperty('contentIconKey', del);
|
786
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null;
|
780
787
|
|
781
788
|
if (value) {
|
782
789
|
this.renderIcon(working, value);
|
@@ -789,36 +796,45 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
789
796
|
}
|
790
797
|
|
791
798
|
// handle label -- always invoke
|
792
|
-
key = this.getDelegateProperty('contentValueKey', del)
|
793
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : content
|
799
|
+
key = this.getDelegateProperty('contentValueKey', del);
|
800
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : content;
|
794
801
|
if (value && SC.typeOf(value) !== SC.T_STRING) value = value.toString();
|
795
802
|
if (this.get('escapeHTML')) value = SC.RenderContext.escapeHTML(value);
|
796
803
|
this.renderLabel(working, value);
|
797
804
|
|
798
805
|
// handle right icon
|
799
806
|
if (this.getDelegateProperty('hasContentRightIcon', del)) {
|
800
|
-
key = this.getDelegateProperty('contentRightIconKey', del)
|
801
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null
|
807
|
+
key = this.getDelegateProperty('contentRightIconKey', del);
|
808
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null;
|
802
809
|
|
810
|
+
if (value) {
|
811
|
+
this.renderRightIcon(working, value);
|
812
|
+
classArray.push('has-right-icon');
|
813
|
+
}
|
814
|
+
} else if (this.get('rightIcon')) {
|
815
|
+
value = this.get('rightIcon');
|
803
816
|
this.renderRightIcon(working, value);
|
804
817
|
classArray.push('has-right-icon');
|
805
818
|
}
|
806
819
|
|
807
820
|
// handle unread count
|
808
|
-
key = this.getDelegateProperty('contentUnreadCountKey', del)
|
809
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null
|
821
|
+
key = this.getDelegateProperty('contentUnreadCountKey', del);
|
822
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null;
|
810
823
|
if (!SC.none(value) && (value !== 0)) {
|
811
|
-
this.renderCount(working, value)
|
824
|
+
this.renderCount(working, value);
|
812
825
|
var digits = ['zero', 'one', 'two', 'three', 'four', 'five'];
|
813
826
|
var valueLength = value.toString().length;
|
814
827
|
var digitsLength = digits.length;
|
815
|
-
var digit = (valueLength < digitsLength) ? digits[valueLength] : digits[digitsLength-1];
|
816
|
-
classArray.push('has-count
|
828
|
+
var digit = (valueLength < digitsLength) ? digits[valueLength] : digits[digitsLength - 1];
|
829
|
+
classArray.push('has-count', digit + '-digit');
|
830
|
+
} else {
|
831
|
+
// If previously rendered a count, clean up.
|
832
|
+
context.removeClass('has-count');
|
817
833
|
}
|
818
834
|
|
819
835
|
// handle action
|
820
|
-
key = this.getDelegateProperty('listItemActionProperty', del)
|
821
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null
|
836
|
+
key = this.getDelegateProperty('listItemActionProperty', del);
|
837
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null;
|
822
838
|
if (value) {
|
823
839
|
this.renderAction(working, value);
|
824
840
|
classArray.push('has-action');
|
@@ -827,7 +843,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
827
843
|
// handle branch
|
828
844
|
if (this.getDelegateProperty('hasContentBranch', del)) {
|
829
845
|
key = this.getDelegateProperty('contentIsBranchKey', del);
|
830
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : NO
|
846
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : NO;
|
831
847
|
this.renderBranch(working, value);
|
832
848
|
classArray.push('has-branch');
|
833
849
|
}
|
@@ -844,7 +860,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
844
860
|
@param {Boolean} state YES, NO or SC.MIXED_STATE
|
845
861
|
@returns {void}
|
846
862
|
*/
|
847
|
-
renderDisclosure: function(context, state) {
|
863
|
+
renderDisclosure: function (context, state) {
|
848
864
|
var renderer = this.get('theme').disclosureRenderDelegate;
|
849
865
|
|
850
866
|
context = context.begin('div')
|
@@ -868,7 +884,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
868
884
|
|
869
885
|
context = context.end();
|
870
886
|
this._disclosureRenderDelegate = renderer;
|
871
|
-
|
887
|
+
},
|
872
888
|
|
873
889
|
/** @private
|
874
890
|
Adds a checkbox with the appropriate state to the content. This method
|
@@ -879,7 +895,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
879
895
|
@param {Boolean} state YES, NO or SC.MIXED_STATE
|
880
896
|
@returns {void}
|
881
897
|
*/
|
882
|
-
renderCheckbox: function(context, state) {
|
898
|
+
renderCheckbox: function (context, state) {
|
883
899
|
var renderer = this.get('theme').checkboxRenderDelegate;
|
884
900
|
|
885
901
|
// note: checkbox-view is really not the best thing to do here; we should do
|
@@ -906,7 +922,7 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
906
922
|
context = context.end();
|
907
923
|
|
908
924
|
this._checkboxRenderDelegate = renderer;
|
909
|
-
|
925
|
+
},
|
910
926
|
|
911
927
|
/** @private
|
912
928
|
Generates an icon for the label based on the content. This method will
|
@@ -917,20 +933,22 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
917
933
|
@param {String} icon a URL or class name.
|
918
934
|
@returns {void}
|
919
935
|
*/
|
920
|
-
renderIcon: function(context, icon) {
|
936
|
+
renderIcon: function (context, icon) {
|
921
937
|
// get a class name and url to include if relevant
|
922
|
-
var url = null, className = null
|
938
|
+
var url = null, className = null, classArray = [];
|
923
939
|
if (icon && SC.ImageView.valueIsUrl(icon)) {
|
924
|
-
url = icon;
|
940
|
+
url = icon;
|
941
|
+
className = '';
|
925
942
|
} else {
|
926
|
-
className = icon;
|
943
|
+
className = icon;
|
944
|
+
url = SC.BLANK_IMAGE_URL;
|
927
945
|
}
|
928
946
|
|
929
947
|
// generate the img element...
|
930
|
-
classArray.push(className,'icon');
|
948
|
+
classArray.push(className, 'icon');
|
931
949
|
context.begin('img')
|
932
950
|
.addClass(classArray)
|
933
|
-
.
|
951
|
+
.setAttr('src', url)
|
934
952
|
.end();
|
935
953
|
},
|
936
954
|
|
@@ -942,8 +960,8 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
942
960
|
@param {String} label the label to display, already HTML escaped.
|
943
961
|
@returns {void}
|
944
962
|
*/
|
945
|
-
renderLabel: function(context, label) {
|
946
|
-
context.push('<label>', label || '', '</label>')
|
963
|
+
renderLabel: function (context, label) {
|
964
|
+
context.push('<label>', label || '', '</label>');
|
947
965
|
},
|
948
966
|
|
949
967
|
/** @private
|
@@ -955,20 +973,24 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
955
973
|
@param {String} icon a URL or class name.
|
956
974
|
@returns {void}
|
957
975
|
*/
|
958
|
-
renderRightIcon: function(context, icon) {
|
976
|
+
renderRightIcon: function (context, icon) {
|
959
977
|
// get a class name and url to include if relevant
|
960
|
-
var url = null,
|
978
|
+
var url = null,
|
979
|
+
className = null,
|
980
|
+
classArray = [];
|
961
981
|
if (icon && SC.ImageView.valueIsUrl(icon)) {
|
962
|
-
url = icon;
|
982
|
+
url = icon;
|
983
|
+
className = '';
|
963
984
|
} else {
|
964
|
-
className = icon;
|
985
|
+
className = icon;
|
986
|
+
url = SC.BLANK_IMAGE_URL;
|
965
987
|
}
|
966
988
|
|
967
989
|
// generate the img element...
|
968
|
-
classArray.push('right-icon',className);
|
990
|
+
classArray.push('right-icon', className);
|
969
991
|
context.begin('img')
|
970
992
|
.addClass(classArray)
|
971
|
-
.
|
993
|
+
.setAttr('src', url)
|
972
994
|
.end();
|
973
995
|
},
|
974
996
|
|
@@ -981,9 +1003,9 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
981
1003
|
@param {Number} count the count
|
982
1004
|
@returns {void}
|
983
1005
|
*/
|
984
|
-
renderCount: function(context, count) {
|
1006
|
+
renderCount: function (context, count) {
|
985
1007
|
context.push('<span class="count"><span class="inner">',
|
986
|
-
count.toString(),'</span></span>')
|
1008
|
+
count.toString(), '</span></span>');
|
987
1009
|
},
|
988
1010
|
|
989
1011
|
/** @private
|
@@ -994,8 +1016,8 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
994
1016
|
@param {String} actionClassName the name of the action item
|
995
1017
|
@returns {void}
|
996
1018
|
*/
|
997
|
-
renderAction: function(context, actionClassName) {
|
998
|
-
context.push('<img src="',SC.BLANK_IMAGE_URL,'" class="action" />');
|
1019
|
+
renderAction: function (context, actionClassName) {
|
1020
|
+
context.push('<img src="', SC.BLANK_IMAGE_URL, '" class="action" />');
|
999
1021
|
},
|
1000
1022
|
|
1001
1023
|
/** @private
|
@@ -1006,9 +1028,9 @@ SC.ListItemView = SC.View.extend(SC.InlineEditable, SC.Control,
|
|
1006
1028
|
@param {Boolean} hasBranch YES if the item has a branch
|
1007
1029
|
@returns {void}
|
1008
1030
|
*/
|
1009
|
-
renderBranch: function(context, hasBranch) {
|
1010
|
-
var classArray=[];
|
1011
|
-
classArray.push('branch',hasBranch ? 'branch-visible' : 'branch-hidden');
|
1031
|
+
renderBranch: function (context, hasBranch) {
|
1032
|
+
var classArray = [];
|
1033
|
+
classArray.push('branch', hasBranch ? 'branch-visible' : 'branch-hidden');
|
1012
1034
|
context.begin('span')
|
1013
1035
|
.addClass(classArray)
|
1014
1036
|
.push(' ')
|