sproutcore 1.7.1.beta → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +44 -0
- data/README.rdoc +20 -20
- data/VERSION.yml +3 -3
- data/lib/Buildfile +1 -1
- data/lib/buildtasks/build.rake +5 -0
- data/lib/buildtasks/manifest.rake +19 -1
- data/lib/frameworks/sproutcore/Buildfile +19 -17
- data/lib/frameworks/sproutcore/CHANGELOG.md +163 -29
- data/lib/frameworks/sproutcore/README.md +29 -8
- data/lib/frameworks/sproutcore/apps/statechart_routing/Buildfile +12 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/login_controller.js +11 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/main_controller.js +7 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/statechart_controller.js +17 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/core.js +25 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/main.js +15 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/_theme.css +18 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/bar_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/foo_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/loading.rhtml +9 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/login_page.js +61 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/main_page.js +46 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/statechart.js +76 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/theme.js +27 -0
- data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
- data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +14 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +8 -5
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +302 -70
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +19 -14
- data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +471 -149
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +42 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/action_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/body_overflow.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +37 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +66 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/builder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +58 -57
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js.orig +445 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +51 -31
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +5 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +53 -69
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +98 -72
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +37 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +7 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +21 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/content_destroyed.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +23 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/browser.js +66 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/event.js +22 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +8 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +17 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +50 -30
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/acceleration.js +46 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +1 -43
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +8 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +10 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +6 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +35 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +46 -19
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +23 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +2 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +294 -302
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js.orig +1531 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +14 -11
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/many_array.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +50 -10
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +114 -67
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +54 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +29 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +37 -45
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +127 -127
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushRelationships.js +42 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/debug/core.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +1 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +19 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +30 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +24 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +121 -28
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +39 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +14 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +1 -51
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +11 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-error-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/slider.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/content.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +107 -81
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +68 -60
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +57 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +21 -19
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +5 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +32 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +77 -132
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +5 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +16 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +52 -52
- data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +147 -147
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +11 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +22 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +462 -441
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +48 -62
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +150 -32
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +104 -45
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +42 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +148 -154
- data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +8 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/files.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/library.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/view_configs.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/mixins/drop_down.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/ready.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/plist_item.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/web.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_design.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +59 -53
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +14 -10
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu_item.js +17 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/popup_button.js +38 -14
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +5 -13
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js +19 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +20 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +35 -12
- data/lib/frameworks/sproutcore/frameworks/formatters/README +6 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/english.lproj/strings.js +174 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/formatters/date_formatter.js +351 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/tests/date_formatter.js +517 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +345 -138
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +176 -42
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +137 -105
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +16 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +47 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/benchmark.css +0 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/bootstrap.rhtml +34 -19
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/button_view.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +1 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +8 -9
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +179 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +34 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +26 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +12 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_metric_optimization.js +202 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_value_support/content.js +77 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/commitEditing.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/commitEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +163 -149
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/password.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +16 -43
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +67 -54
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +49 -38
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +285 -242
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +19 -22
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +231 -186
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +145 -143
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +156 -154
- data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js.orig +540 -0
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +15 -8
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +98 -32
- data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +7 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +14 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +98 -13
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +8 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +23 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +69 -18
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +57 -31
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +189 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +82 -22
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +20 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +125 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +37 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +75 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart_delegate.js +113 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/private/state_path_matcher.js +312 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/async.js +18 -22
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +508 -131
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state_route_handler_context.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +265 -44
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/responder_chain.js +11 -3
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/private/state_path_matcher.js +116 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/add_substate.js +108 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/with_concurrent.js +179 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/without_concurrent.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_state.js +141 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_substate.js +340 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/route_triggered.js +161 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/try_to_handle_event.js +288 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/context.js +5 -33
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/with_concurrent_states/basic.js +213 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/without_concurrent_states/basic.js +212 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/core.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{state/namespacing.js → statechart/methods/get_state.js} +3 -41
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/{invoke_state_method.js → methods/invoke_state_method.js} +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{event_handling/advanced → statechart}/respond_to_event.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/system/state_route_handler_context/methods/retry.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/table/core.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/controls/button.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars.js +29 -5
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/bind.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/collection.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/localization.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/view.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{handlebars → template_view}/handlebars.js +493 -357
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/text_field_support.js +13 -2
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/controls/button.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/text_field_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/collection.js +39 -14
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/handlebars.js +57 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/bindable_span.js +21 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template_collection.js +55 -26
- data/lib/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +122 -122
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/base.css +1 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/reset.css +0 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/view.css +4 -4
- data/lib/frameworks/sproutcore/lib/index.rhtml +55 -32
- data/lib/frameworks/sproutcore/license.js +2 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/body.css +5 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +21 -13
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +17 -10
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +4 -3
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +20 -12
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +16 -8
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/jumbo/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/small/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +5 -3
- data/lib/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/toolbar.css +1 -1
- data/lib/gen/app/USAGE +17 -4
- data/lib/gen/language/Buildfile +4 -4
- data/lib/gen/language/USAGE +4 -4
- data/lib/gen/page/templates/pages/@target_name@/Buildfile +7 -7
- data/lib/gen/{html_app → statechart_app}/Buildfile +0 -0
- data/lib/gen/{html_app → statechart_app}/README +0 -0
- data/lib/gen/statechart_app/USAGE +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/Buildfile +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/core.js +24 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/main.js +26 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/_theme.css +18 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/loading.rhtml +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/main_page.js +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/statechart.js +8 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/states/ready_state.js +12 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/theme.js +24 -0
- data/lib/sproutcore/builders.rb +1 -0
- data/lib/sproutcore/builders/base.rb +19 -1
- data/lib/sproutcore/builders/chance_file.rb +6 -1
- data/lib/sproutcore/builders/handlebars.rb +1 -9
- data/lib/sproutcore/builders/javascript.rb +1 -10
- data/lib/sproutcore/builders/json.rb +25 -0
- data/lib/sproutcore/builders/less.rb +1 -1
- data/lib/sproutcore/builders/sass.rb +1 -1
- data/lib/sproutcore/builders/stylesheet.rb +1 -9
- data/lib/sproutcore/helpers/html5_manifest.rb +1 -1
- data/lib/sproutcore/helpers/static_helper.rb +42 -0
- data/lib/sproutcore/rack/proxy.rb +21 -3
- data/lib/sproutcore/rack/service.rb +3 -2
- data/lib/sproutcore/tools.rb +18 -25
- data/lib/sproutcore/tools/gen.rb +10 -3
- data/lib/sproutcore/tools/init.rb +11 -10
- data/spec/buildtasks/manifest/prepare_build_tasks/json_spec.rb +62 -0
- data/spec/fixtures/builder_tests/apps/handlebars_test/Buildfile +1 -1
- data/spec/fixtures/builder_tests/apps/json_test/sc_static.json +2 -0
- data/spec/lib/builders/json_spec.rb +53 -0
- data/sproutcore.gemspec +2 -2
- data/vendor/chance/lib/chance/parser.rb +1 -1
- metadata +222 -177
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/datetime.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +0 -259
- data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +0 -69
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +0 -44
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +0 -64
- data/lib/frameworks/sproutcore/frameworks/mini/license.js +0 -30
- data/lib/gen/html_app/USAGE +0 -15
- data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +0 -11
- data/lib/gen/html_app/templates/apps/@target_name@/resources/images/.gitkeep +0 -0
- data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +0 -6
- data/lib/gen/html_app/templates/apps/@target_name@/resources/templates/@target_name@.handlebars +0 -1
- data/lib/gen/html_project/Buildfile +0 -45
- data/lib/gen/html_project/INIT +0 -3
- data/lib/gen/html_project/README +0 -1
- data/lib/gen/html_project/USAGE +0 -2
- data/lib/gen/html_project/templates/@filename@/Buildfile +0 -5
- data/lib/gen/html_project/templates/@filename@/README +0 -4
|
@@ -72,7 +72,7 @@ SC.MenuScrollView = SC.ScrollView.extend(
|
|
|
72
72
|
autohidesHorizontalScroller: NO,
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
-
YES if the view
|
|
75
|
+
YES if the view should maintain a vertical scroller.
|
|
76
76
|
This property must be set when the view is created.
|
|
77
77
|
|
|
78
78
|
@type Boolean
|
|
@@ -317,7 +317,7 @@ SC.MenuScrollView = SC.ScrollView.extend(
|
|
|
317
317
|
|
|
318
318
|
/** @private
|
|
319
319
|
Invoked whenever the contentView's frame changes. This will update the
|
|
320
|
-
scroller
|
|
320
|
+
scroller maximum and optionally update the scroller visibility if the
|
|
321
321
|
size of the contentView changes. We don't care about the origin since
|
|
322
322
|
that is tracked separately from the offset values.
|
|
323
323
|
*/
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js
CHANGED
|
@@ -378,7 +378,7 @@ SC.CoreScrollView = SC.View.extend(
|
|
|
378
378
|
autohidesHorizontalScroller: YES,
|
|
379
379
|
|
|
380
380
|
/**
|
|
381
|
-
YES if the view
|
|
381
|
+
YES if the view should maintain a vertical scroller. This property must
|
|
382
382
|
be set when the view is created.
|
|
383
383
|
|
|
384
384
|
@type Boolean
|
|
@@ -443,7 +443,7 @@ SC.CoreScrollView = SC.View.extend(
|
|
|
443
443
|
/**
|
|
444
444
|
Use this to overlay the vertical scroller.
|
|
445
445
|
|
|
446
|
-
This ensures that the container frame will not resize to
|
|
446
|
+
This ensures that the container frame will not resize to accommodate the
|
|
447
447
|
vertical scroller, hence overlaying the scroller on top of
|
|
448
448
|
the container.
|
|
449
449
|
|
|
@@ -455,7 +455,7 @@ SC.CoreScrollView = SC.View.extend(
|
|
|
455
455
|
/**
|
|
456
456
|
Use this to overlay the horizontal scroller.
|
|
457
457
|
|
|
458
|
-
This ensures that the container frame will not resize to
|
|
458
|
+
This ensures that the container frame will not resize to accommodate the
|
|
459
459
|
horizontal scroller, hence overlaying the scroller on top of
|
|
460
460
|
the container
|
|
461
461
|
|
|
@@ -520,7 +520,7 @@ SC.CoreScrollView = SC.View.extend(
|
|
|
520
520
|
offset into the contentView you want to appear at the top-left corner of
|
|
521
521
|
the scroll view.
|
|
522
522
|
|
|
523
|
-
This method will
|
|
523
|
+
This method will contain the actual scroll based on whether the view
|
|
524
524
|
can scroll in the named direction and the maximum distance it can
|
|
525
525
|
scroll.
|
|
526
526
|
|
|
@@ -1003,7 +1003,7 @@ SC.CoreScrollView = SC.View.extend(
|
|
|
1003
1003
|
|
|
1004
1004
|
/** @private
|
|
1005
1005
|
Invoked whenever the contentView's frame changes. This will update the
|
|
1006
|
-
scroller
|
|
1006
|
+
scroller maximum and optionally update the scroller visibility if the
|
|
1007
1007
|
size of the contentView changes. We don't care about the origin since
|
|
1008
1008
|
that is tracked separately from the offset values.
|
|
1009
1009
|
|
|
@@ -1086,7 +1086,7 @@ SC.CoreScrollView = SC.View.extend(
|
|
|
1086
1086
|
},
|
|
1087
1087
|
|
|
1088
1088
|
/** @private
|
|
1089
|
-
If our frame changes, then we need to re-calculate the
|
|
1089
|
+
If our frame changes, then we need to re-calculate the visibility of our
|
|
1090
1090
|
scrollers, etc.
|
|
1091
1091
|
*/
|
|
1092
1092
|
frameDidChange: function () {
|
|
@@ -139,7 +139,7 @@ SC.DesktopScrollView = SC.CoreScrollView.extend(
|
|
|
139
139
|
|
|
140
140
|
wheelEvent: function () {
|
|
141
141
|
// Firefox emits different mousewheel events than other browsers
|
|
142
|
-
return SC.browser.
|
|
142
|
+
return SC.browser.isMozilla ? 'DOMMouseScroll' : 'mousewheel';
|
|
143
143
|
}.property().cacheable(),
|
|
144
144
|
|
|
145
145
|
/** @private
|
|
@@ -161,7 +161,7 @@ SC.DesktopScrollView = SC.CoreScrollView.extend(
|
|
|
161
161
|
|
|
162
162
|
_scdsv_scrollDebounce: function (evt) {
|
|
163
163
|
var self = this;
|
|
164
|
-
|
|
164
|
+
|
|
165
165
|
if (this._debounce != null) {
|
|
166
166
|
this._debounce.invalidate();
|
|
167
167
|
this._debounce = null;
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js
CHANGED
|
@@ -45,7 +45,7 @@ SC.TouchScrollView = SC.CoreScrollView.extend(
|
|
|
45
45
|
/**
|
|
46
46
|
Use this to overlay the vertical scroller.
|
|
47
47
|
|
|
48
|
-
This ensures that the container frame will not resize to
|
|
48
|
+
This ensures that the container frame will not resize to accommodate the
|
|
49
49
|
vertical scroller, hence overlaying the scroller on top of
|
|
50
50
|
the container.
|
|
51
51
|
|
|
@@ -57,7 +57,7 @@ SC.TouchScrollView = SC.CoreScrollView.extend(
|
|
|
57
57
|
/**
|
|
58
58
|
Use this to overlay the horizontal scroller.
|
|
59
59
|
|
|
60
|
-
This ensures that the container frame will not resize to
|
|
60
|
+
This ensures that the container frame will not resize to accommodate the
|
|
61
61
|
horizontal scroller, hence overlaying the scroller on top of
|
|
62
62
|
the container
|
|
63
63
|
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
// License: Licensed under MIT license (see license.js)
|
|
6
6
|
// ==========================================================================
|
|
7
7
|
|
|
8
|
+
sc_require('ext/menu_item');
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
@class
|
|
10
|
-
|
|
12
|
+
Extends SC.MenuPane to add support for automatic resizing.
|
|
11
13
|
*/
|
|
12
|
-
SC.MenuPane = SC.MenuPane; // for docs
|
|
13
14
|
|
|
14
|
-
SC.MenuPane.
|
|
15
|
-
/** @scope SC.
|
|
15
|
+
SC.AutoResizingMenuPane = SC.MenuPane.extend(
|
|
16
|
+
/** @scope SC.AutoResizingMenuPane.prototype */ {
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
If YES, the menu should automatically resize its width to fit its items.
|
|
@@ -55,13 +56,15 @@ SC.MenuPane.reopen(
|
|
|
55
56
|
@private
|
|
56
57
|
In addition to the normal init, we need to schedule an automatic resize.
|
|
57
58
|
*/
|
|
58
|
-
init: function(
|
|
59
|
-
|
|
59
|
+
init: function() {
|
|
60
|
+
sc_super();
|
|
61
|
+
|
|
62
|
+
this.set('exampleView', SC.AutoResizingMenuItemView);
|
|
60
63
|
|
|
61
64
|
if (this.get('shouldAutoResize')) {
|
|
62
65
|
this.invokeOnce('_updateMenuWidth');
|
|
63
66
|
}
|
|
64
|
-
}
|
|
67
|
+
},
|
|
65
68
|
|
|
66
69
|
/**
|
|
67
70
|
The array of child menu item views that compose the menu.
|
|
@@ -73,10 +76,10 @@ SC.MenuPane.reopen(
|
|
|
73
76
|
@readOnly
|
|
74
77
|
@private
|
|
75
78
|
*/
|
|
76
|
-
createMenuItemViews: function(
|
|
79
|
+
createMenuItemViews: function() {
|
|
77
80
|
// EXTENDED to set shouldMeasureSize to its initial value and to
|
|
78
81
|
// observe the measured size.
|
|
79
|
-
var views =
|
|
82
|
+
var views = sc_super();
|
|
80
83
|
|
|
81
84
|
var idx, len = views.length, view;
|
|
82
85
|
if (this.get('shouldAutoResize')) {
|
|
@@ -90,7 +93,7 @@ SC.MenuPane.reopen(
|
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
return views;
|
|
93
|
-
}
|
|
96
|
+
},
|
|
94
97
|
|
|
95
98
|
_menuItemViewsDidChange: function() {
|
|
96
99
|
if (this.get('shouldAutoResize')) this.invokeOnce('_updateMenuWidth');
|
|
@@ -117,5 +120,6 @@ SC.MenuPane.reopen(
|
|
|
117
120
|
}
|
|
118
121
|
|
|
119
122
|
this.adjust('width', width);
|
|
123
|
+
this.positionPane();
|
|
120
124
|
}
|
|
121
125
|
});
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu_item.js
CHANGED
|
@@ -7,13 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
@class
|
|
10
|
-
|
|
10
|
+
Extends SC.MenuItemView to support auto resize.
|
|
11
11
|
*/
|
|
12
|
-
SC.MenuItemView = SC.MenuItemView; // for docs
|
|
13
12
|
|
|
14
|
-
SC.MenuItemView.
|
|
15
|
-
SC.
|
|
16
|
-
/** @scope SC.MenuItemView.prototype */{
|
|
13
|
+
SC.AutoResizingMenuItemView = SC.MenuItemView.extend(SC.AutoResize,
|
|
14
|
+
/** @scope SC.AutoResizingMenuItemView.prototype */ {
|
|
17
15
|
|
|
18
16
|
//
|
|
19
17
|
// For automatic resizing, if enabled (to be enabled by parent menu)
|
|
@@ -60,6 +58,19 @@ SC.MenuItemView.reopen(
|
|
|
60
58
|
autoResizeLayer: function() {
|
|
61
59
|
return this.$('.value')[0];
|
|
62
60
|
}.property('layer').cacheable(),
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
@private
|
|
64
|
+
The batch resize id is computed to be "good enough." It is unlikely that
|
|
65
|
+
multiple menus of different size will need to resize at the same time, but
|
|
66
|
+
we guard against this a little bit by giving it a name based on the menu's guid.
|
|
67
|
+
|
|
68
|
+
This won't cover cases where the menu has items of multiple sizes, but that's
|
|
69
|
+
an edge case that can address the issue by overriding batchResizeId to null.
|
|
70
|
+
*/
|
|
71
|
+
batchResizeId: function() {
|
|
72
|
+
return 'menu-' + SC.guidFor(this.parentMenu);
|
|
73
|
+
}.property().cacheable(),
|
|
63
74
|
|
|
64
75
|
/**
|
|
65
76
|
* @private
|
|
@@ -83,7 +94,7 @@ SC.MenuItemView.reopen(
|
|
|
83
94
|
didUpdateLayer: function() {
|
|
84
95
|
this.notifyPropertyChange('autoResizeLayer');
|
|
85
96
|
this.scheduleMeasurement();
|
|
86
|
-
}
|
|
97
|
+
}
|
|
87
98
|
|
|
88
99
|
}) ;
|
|
89
100
|
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/popup_button.js
CHANGED
|
@@ -186,8 +186,25 @@ SC.PopupButtonView = SC.ButtonView.extend({
|
|
|
186
186
|
this.set('_mouseDown', YES);
|
|
187
187
|
|
|
188
188
|
this.showMenu();
|
|
189
|
-
|
|
190
|
-
this._mouseDownTimestamp =
|
|
189
|
+
|
|
190
|
+
this._mouseDownTimestamp = null;
|
|
191
|
+
|
|
192
|
+
// Some nutty stuff going on here. If the number of menu items is large, and
|
|
193
|
+
// it takes over 400 ms to create, then invokeLater will not return control
|
|
194
|
+
// to the browser, thereby causing the menu pane to dismiss itself
|
|
195
|
+
// instantly. Using setTimeout will guarantee that control goes back to the
|
|
196
|
+
// browser.
|
|
197
|
+
var self = this;
|
|
198
|
+
|
|
199
|
+
// there is a bit of a race condition: we could get mouse up immediately.
|
|
200
|
+
// In that case, we will take note that the timestamp is 0 and treat it
|
|
201
|
+
// as if it were Date.now() at the time of checking.
|
|
202
|
+
self._mouseDownTimestamp = 0;
|
|
203
|
+
|
|
204
|
+
setTimeout(function() {
|
|
205
|
+
self._mouseDownTimestamp = Date.now();
|
|
206
|
+
}, 1);
|
|
207
|
+
|
|
191
208
|
this.becomeFirstResponder();
|
|
192
209
|
|
|
193
210
|
return YES;
|
|
@@ -200,19 +217,26 @@ SC.PopupButtonView = SC.ButtonView.extend({
|
|
|
200
217
|
if (menu && this.get('_mouseDown')) {
|
|
201
218
|
targetMenuItem = menu.getPath('rootMenu.targetMenuItem');
|
|
202
219
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
220
|
+
// normalize the mouseDownTimestamp: it may not have been set yet.
|
|
221
|
+
if (this._mouseDownTimestamp === 0) {
|
|
222
|
+
this._mouseDownTimestamp = Date.now();
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// If the user waits more than 400ms between mouseDown and mouseUp,
|
|
226
|
+
// we can assume that they are clicking and dragging to the menu item,
|
|
227
|
+
// and we should close the menu if they mouseup anywhere not inside
|
|
228
|
+
// the menu.
|
|
229
|
+
if(evt.timeStamp - this._mouseDownTimestamp > 400) {
|
|
230
|
+
if (targetMenuItem && menu.get('mouseHasEntered') && this._mouseDownTimestamp) {
|
|
231
|
+
// Have the menu item perform its action.
|
|
232
|
+
// If the menu returns NO, it had no action to
|
|
233
|
+
// perform, so we should close the menu immediately.
|
|
234
|
+
if (!targetMenuItem.performAction()) {
|
|
235
|
+
menu.remove();
|
|
236
|
+
}
|
|
209
237
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
// we can assume that they are clicking and dragging to the menu item,
|
|
213
|
-
// and we should close the menu if they mouseup anywhere not inside
|
|
214
|
-
// the menu.
|
|
215
|
-
if (this._mouseDownTimestamp && evt.timeStamp - this._mouseDownTimestamp > 400) {
|
|
238
|
+
|
|
239
|
+
else {
|
|
216
240
|
menu.remove();
|
|
217
241
|
}
|
|
218
242
|
}
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
sc_require('views/popup_button');
|
|
7
7
|
sc_require('mixins/select_view_menu');
|
|
8
|
+
sc_require('ext/menu');
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* @class
|
|
@@ -112,9 +113,9 @@ SC.SelectView = SC.PopupButtonView.extend({
|
|
|
112
113
|
|
|
113
114
|
@property
|
|
114
115
|
@type {SC.MenuPane}
|
|
115
|
-
@default SC.
|
|
116
|
+
@default SC.AutoResizingMenuPane.extend(SC.SelectViewMenu)
|
|
116
117
|
*/
|
|
117
|
-
menu: SC.
|
|
118
|
+
menu: SC.AutoResizingMenuPane.extend(SC.SelectViewMenu),
|
|
118
119
|
|
|
119
120
|
/**
|
|
120
121
|
The currently selected item. If no item is selected, `null`.
|
|
@@ -339,7 +340,8 @@ SC.SelectView = SC.PopupButtonView.extend({
|
|
|
339
340
|
|
|
340
341
|
var idx = this.get('_selectedItemIndex'), itemViews = menu.get('menuItemViews');
|
|
341
342
|
if (idx > -1) {
|
|
342
|
-
|
|
343
|
+
var layout = itemViews[idx].get('layout');
|
|
344
|
+
return [leftPosition, topPosition - layout.top + (layout.height/2), 2];
|
|
343
345
|
}
|
|
344
346
|
|
|
345
347
|
return [leftPosition, topPosition, 2];
|
|
@@ -377,16 +379,6 @@ SC.SelectView = SC.PopupButtonView.extend({
|
|
|
377
379
|
return -1;
|
|
378
380
|
}.property('value', 'menu').cacheable(),
|
|
379
381
|
|
|
380
|
-
|
|
381
|
-
/*
|
|
382
|
-
Documented in base class; supplying documentation here will break the argument list.
|
|
383
|
-
*/
|
|
384
|
-
showMenu: function(orig) {
|
|
385
|
-
orig();
|
|
386
|
-
|
|
387
|
-
var menu = this.get('menu'), itemViews = menu.get('menuItemViews');
|
|
388
|
-
}.enhance(),
|
|
389
|
-
|
|
390
382
|
/**
|
|
391
383
|
The minimum width for the child menu. For instance, this property can make the
|
|
392
384
|
menu always cover the entire SelectView--or, alternatively, cover all but the
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js
CHANGED
|
@@ -229,7 +229,7 @@ SC.SplitChild =
|
|
|
229
229
|
// NOTE: While an edge case, this is implemented because it makes it _much_
|
|
230
230
|
// easier to write the sample in the Test Controls app.
|
|
231
231
|
splitViewLayoutDirection: null,
|
|
232
|
-
splitViewLayoutDirectionBinding: '*splitView.layoutDirection',
|
|
232
|
+
splitViewLayoutDirectionBinding: SC.Binding.oneWay('*splitView.layoutDirection'),
|
|
233
233
|
|
|
234
234
|
splitViewLayoutDirectionDidChange: function() {
|
|
235
235
|
this.invokeOnce('splitChildLayoutDidChange');
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js
CHANGED
|
@@ -131,7 +131,7 @@ SC.SplitThumb = {
|
|
|
131
131
|
// NOTE: While an edge case, this is implemented because it makes it _much_
|
|
132
132
|
// easier to write the sample in the Test Controls app.
|
|
133
133
|
splitViewLayoutDirection: null,
|
|
134
|
-
splitViewLayoutDirectionBinding: '*splitView.layoutDirection',
|
|
134
|
+
splitViewLayoutDirectionBinding: SC.Binding.oneWay('*splitView.layoutDirection'),
|
|
135
135
|
|
|
136
136
|
/**
|
|
137
137
|
* The name of the CSS cursor that should be used for splitting.
|
|
@@ -176,6 +176,8 @@ SC.SplitThumb = {
|
|
|
176
176
|
this._isDragging = YES;
|
|
177
177
|
|
|
178
178
|
var splitView = this.get('splitView');
|
|
179
|
+
splitView.beginLiveResize();
|
|
180
|
+
|
|
179
181
|
this._scst_mouseStartPosition = splitView.get('layoutDirection') === SC.LAYOUT_HORIZONTAL ?
|
|
180
182
|
touch.pageX : touch.pageY;
|
|
181
183
|
|
|
@@ -194,7 +196,7 @@ SC.SplitThumb = {
|
|
|
194
196
|
start = this._scst_childStartPosition;
|
|
195
197
|
|
|
196
198
|
splitView.adjustPositionForChild(this.get('movesChild'), start + diff);
|
|
197
|
-
|
|
199
|
+
|
|
198
200
|
return YES;
|
|
199
201
|
},
|
|
200
202
|
|
|
@@ -212,7 +214,7 @@ SC.SplitThumb = {
|
|
|
212
214
|
splitView.adjustPositionForChild(this.get('movesChild'), start + diff);
|
|
213
215
|
|
|
214
216
|
splitView.set('splitChildCursorStyle', null);
|
|
215
|
-
|
|
217
|
+
splitView.endLiveResize();
|
|
216
218
|
return YES;
|
|
217
219
|
},
|
|
218
220
|
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js
CHANGED
|
@@ -98,3 +98,22 @@ test("Works with dividers", function() {
|
|
|
98
98
|
|
|
99
99
|
validateChildren(splitView, 7);
|
|
100
100
|
});
|
|
101
|
+
|
|
102
|
+
test("Destroying the split view with dividers doesn't break things", function() {
|
|
103
|
+
var add = SC.View.create(SC.SplitChild, { name: 'add' });
|
|
104
|
+
|
|
105
|
+
splitView.splitDividerView = SC.SplitDividerView;
|
|
106
|
+
|
|
107
|
+
SC.RunLoop.begin();
|
|
108
|
+
splitView.appendChild(add); // trigger _scsv_setupChildViews
|
|
109
|
+
SC.RunLoop.end();
|
|
110
|
+
|
|
111
|
+
try {
|
|
112
|
+
SC.RunLoop.begin();
|
|
113
|
+
splitView.destroy();
|
|
114
|
+
SC.RunLoop.end();
|
|
115
|
+
ok(true, "No error was thrown");
|
|
116
|
+
} catch(e) {
|
|
117
|
+
ok(false, "An error was thrown - " + e);
|
|
118
|
+
}
|
|
119
|
+
});
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js
CHANGED
|
@@ -244,8 +244,26 @@ test("Resizing split view", function() {
|
|
|
244
244
|
splitView.adjust('height', 300);
|
|
245
245
|
SC.RunLoop.end();
|
|
246
246
|
|
|
247
|
-
// there should be
|
|
248
|
-
confirmPositions(0, 100, 200
|
|
247
|
+
// there should be change, because the left side collapses.
|
|
248
|
+
confirmPositions(0, 0, 100, 200);
|
|
249
|
+
|
|
250
|
+
// and if we shrink further still...
|
|
251
|
+
SC.RunLoop.begin();
|
|
252
|
+
splitView.adjust('width', 200);
|
|
253
|
+
splitView.adjust('height', 200);
|
|
254
|
+
SC.RunLoop.end();
|
|
255
|
+
|
|
256
|
+
// there should be no change
|
|
257
|
+
confirmPositions(0, 0, 100, 200);
|
|
258
|
+
|
|
259
|
+
// and if we shrink further still, way beyond the smallest it can get...
|
|
260
|
+
SC.RunLoop.begin();
|
|
261
|
+
splitView.adjust('width', 100);
|
|
262
|
+
splitView.adjust('height', 100);
|
|
263
|
+
SC.RunLoop.end();
|
|
264
|
+
|
|
265
|
+
// there should be no change
|
|
266
|
+
confirmPositions(0, 0, 100, 200);
|
|
249
267
|
});
|
|
250
268
|
|
|
251
269
|
test("Fitting to fill disabled", function() {
|
data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js
CHANGED
|
@@ -135,7 +135,7 @@ test("mouse events move the movesChild", function() {
|
|
|
135
135
|
mm(divider1, 10, 0);
|
|
136
136
|
equals(adjustedChild, divider2, "Attempts to move divider2.");
|
|
137
137
|
|
|
138
|
-
// note: it _attempts_ to move to 420; doesn't
|
|
138
|
+
// note: it _attempts_ to move to 420; doesn't necessarily succeed.
|
|
139
139
|
equals(adjustedPosition, 420, "Attempts to move divider2 to 420.");
|
|
140
140
|
});
|
|
141
141
|
|