sproutcore 1.10.3.1 → 1.11.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CHANGELOG +4 -8
- data/VERSION.yml +2 -2
- data/lib/frameworks/sproutcore/Buildfile +5 -4
- data/lib/frameworks/sproutcore/CHANGELOG.md +274 -40
- data/lib/frameworks/sproutcore/CONTRIBUTORS.md +133 -0
- data/lib/frameworks/sproutcore/README.md +31 -144
- data/lib/frameworks/sproutcore/apps/showcase/controllers/source_tree_controller.js +9 -4
- data/lib/frameworks/sproutcore/apps/showcase/resources/stylesheet.css +5 -0
- data/lib/frameworks/sproutcore/apps/showcase/system/views_item_content.js +1 -1
- data/lib/frameworks/sproutcore/apps/showcase/views/split_views.js +15 -2
- data/lib/frameworks/sproutcore/apps/showcase/views/stacked_views.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +11 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/mixins/websocket_delegate.js +90 -0
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +81 -5
- data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +23 -4
- data/lib/frameworks/sproutcore/frameworks/ajax/system/websocket.js +475 -0
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +149 -26
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/websocket.js +197 -0
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/xhr_response_test.js +65 -0
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/child_view_layouts/horizontal_stack_layout.js +232 -52
- data/lib/frameworks/sproutcore/frameworks/core_foundation/child_view_layouts/vertical_stack_layout.js +235 -49
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +23 -13
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +3 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/core.js +81 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/english.lproj/ordinal.js +17 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/{desktop/tests/views/disclosure/methods.js → core_foundation/french.lproj/ordinal.js} +7 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +2 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +104 -69
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane_statechart.js +6 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/child_view_layout_protocol.js +59 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/view_transition_protocol.js +18 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/application.js +192 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/bezier_curves.js +52 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/color.js +384 -64
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/core_query.js +6 -14
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +21 -35
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +72 -36
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +90 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +55 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +20 -15
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/req_anim_frame.js +9 -10
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +763 -542
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/selection_set.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +1 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +14 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/touch.js +538 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils/rect.js +56 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +99 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/single_case.js +25 -19
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/core_tests.js +75 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/ext/number_test.js +81 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/action_support.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/responder_context.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +19 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/color.js +36 -20
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/design_modes_test.js +83 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeMainPane.js +7 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/mouse_events.js +338 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/root_responder.js +14 -89
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/touch.js +106 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/touch.js +136 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/rect.js +42 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +11 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/child_view.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/design_mode_test.js +457 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/sendEvent.js +36 -10
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/background_color.js +44 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/border_frame_test.js +51 -24
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/childViewLayout_test.js +176 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +46 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +69 -15
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/didAppendToDocument.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layout.js +7 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutDidChange.js +30 -10
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +376 -71
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/static_layout.js +0 -10
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/viewDidResize.js +117 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/view_states_test.js +52 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +656 -42
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +159 -38
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +0 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/design_mode.js +206 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +0 -28
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +21 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +372 -450
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +28 -13
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +22 -51
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/statechart.js +59 -30
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +0 -29
- data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +22 -10
- data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +42 -36
- data/lib/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +54 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +178 -59
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +206 -132
- data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +214 -118
- data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +96 -13
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +14 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +82 -42
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +272 -177
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/store_interaction_test.js +54 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/datetime_recordattribute.js +24 -16
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +6 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +267 -35
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +57 -46
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +150 -53
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +57 -17
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +13 -9
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/polymorphism → datastore}/tests/models/polymorphism/many.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/polymorphism → datastore}/tests/models/polymorphism/simple.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{experimental/frameworks/polymorphism → datastore}/tests/models/polymorphism/single.js +12 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +20 -15
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +9 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +80 -14
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/autonomous_dataSourceCallbacks.js +280 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/autonomous_pushChanges.js +232 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +31 -5
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +16 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +60 -40
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/materializeRecord.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +13 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +20 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/{resources → english.lproj}/strings.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/french.lproj/strings.js +45 -0
- data/lib/frameworks/sproutcore/frameworks/designer/designers/object_designer.js +7 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +125 -44
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +139 -48
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/draggable.js +202 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +59 -56
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +13 -49
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +466 -305
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +49 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +79 -21
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/split.js +12 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/menu_item_view.css +8 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/overlay-scroller.css +187 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +94 -30
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +163 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +97 -78
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +61 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +7 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +47 -22
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +66 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +21 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +12 -18
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +17 -14
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +9 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/collection_fast_path.js +54 -21
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +52 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +94 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/keyboard.js +177 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +13 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +18 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +104 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +48 -49
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/drag_and_drop.js +22 -18
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +17 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/link_view_test.js +136 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/contentIndexesInRect.js +77 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/drag_and_drop.js +53 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/layoutForContentIndex.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +25 -25
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +102 -27
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/{rowHeightForContentIndex.js → rowSizeForContentIndex.js} +7 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +70 -75
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +29 -30
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +57 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/menu_scroll_view/menu_scroll_view_test.js +206 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +15 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +16 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +164 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/scale.js +387 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/touch.js +549 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +214 -45
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +73 -22
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +88 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/methods.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/methods.js +16 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/slider/ui.js +54 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/dividers.js +21 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/static_content.js +31 -25
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +109 -29
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +10 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +3 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +779 -603
- data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +106 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/link_view.js +406 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +437 -245
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +13 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +124 -62
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +176 -597
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroller_view.js +206 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +3 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +5 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +3 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +56 -158
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll_view.js +2560 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +458 -242
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +117 -54
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +18 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +162 -34
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +30 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +33 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +47 -22
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +0 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form_row.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +14 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/mixins/select_view_menu.js +24 -10
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/ext/menu_resizing.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/mixins/select_view_menu/bindings.js +7 -4
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/mixins/select_view_menu/check_selected.js +7 -9
- data/lib/frameworks/sproutcore/frameworks/{desktop/tests/panes/select_button/methods.js → experimental/frameworks/select_view/tests/views/select/method.js} +54 -76
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/views/select/selected_item.js +35 -0
- data/lib/frameworks/sproutcore/frameworks/{desktop/tests/panes/select_button → experimental/frameworks/select_view/tests/views/select}/ui.js +107 -36
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +225 -66
- data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +39 -38
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +5 -18
- data/lib/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/inflections.js +84 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/french.lproj/inflections.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_mixin.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +3 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +6 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +408 -239
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +2 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/spanish.lproj/inflections.js +38 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +104 -76
- data/lib/frameworks/sproutcore/frameworks/foundation/system/string.js +20 -94
- data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +33 -22
- data/lib/frameworks/sproutcore/frameworks/foundation/system/undo_manager.js +475 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/auto_resize_test.js +163 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +2 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/methods.js +268 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/undo_manager.js +231 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +27 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +24 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +135 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/fade_transition.js +6 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/pop_transition.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/scale_transition.js +6 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/slide_transition.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/transitions/swap_dissolve_transition.js +3 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +65 -15
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +193 -213
- data/lib/frameworks/sproutcore/frameworks/jquery/{jquery-1.8.3-patched.js → jquery-1.11.1.js} +7507 -6684
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +28 -11
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +26 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +54 -25
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +0 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/number.js +36 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/window.js +25 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +156 -66
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +150 -65
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +57 -11
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +68 -49
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +14 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +23 -23
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/ext/number_test.js +44 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +0 -10
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable/enumerable.js +340 -285
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +104 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/observer_set.js +14 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +15 -2
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +21 -18
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +52 -19
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/pane.js +27 -24
- data/lib/frameworks/sproutcore/frameworks/template_view/controls/button.js +30 -0
- 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 -0
- data/lib/frameworks/sproutcore/frameworks/template_view/ext/handlebars/view.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/template_view/tests/mixins/template_helpers/checkbox_support.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/template_view/tests/views/template/handlebars.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/template_view/views/bindable_span.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/template_view/views/template_collection.js +16 -14
- data/lib/frameworks/sproutcore/frameworks/testing/core.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +13 -0
- data/lib/frameworks/sproutcore/lib/index.rhtml +2 -2
- data/lib/frameworks/sproutcore/phantomjs/test_runner.js +28 -7
- data/lib/frameworks/sproutcore/scripts/run_sc_server_master.sh +1 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/_variables.css +2 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +1 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +3 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal.css +15 -15
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal_overlay.css +74 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical.css +11 -13
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical_overlay.css +74 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/knob-active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/knob-active@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/knob@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/{22px → jumbo}/slider.css +9 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/jumbo/track@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/knob-active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/knob-active@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/knob@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/slider.css +32 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/regular/track@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/slider.css +13 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/knob-active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/knob-active@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/knob@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/slider.css +32 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/small/track@2x.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/split/split.css +2 -3
- data/lib/sproutcore/builders/chance_file.rb +3 -3
- data/lib/sproutcore/helpers/minifier.rb +1 -0
- data/vendor/chance/lib/chance/instance.rb +34 -34
- data/vendor/chance/lib/chance/instance/spriting.rb +21 -16
- metadata +81 -58
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/visibility.js +0 -17
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +0 -710
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +0 -267
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/touch-scroller.css +0 -196
- data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +0 -224
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +0 -163
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +0 -177
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +0 -2053
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +0 -1024
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +0 -404
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/render_delegates/menu_scroller.js +0 -28
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/tests/menu/scroll.js +0 -235
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +0 -363
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroller.js +0 -250
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md +0 -47
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +0 -134
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/desktop_scroller.js +0 -92
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/native_scroll.js +0 -25
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/scroll.js +0 -33
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/touch_scroller.js +0 -76
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/integration.js +0 -25
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/methods.js +0 -143
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/ui.js +0 -256
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +0 -1164
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroller.js +0 -332
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +0 -236
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroller.js +0 -347
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/scroll.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/scroller.js +0 -10
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +0 -804
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroller.js +0 -133
- data/lib/frameworks/sproutcore/frameworks/foundation/tasks/preload_bundle.js +0 -41
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal_touch.css +0 -91
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical_touch.css +0 -92
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/slider.css +0 -27
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/slider.css +0 -27
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/track.png +0 -0
@@ -1,155 +1,42 @@
|
|
1
|
-
[![Build Status](https://travis-ci.org/sproutcore/sproutcore.png)](https://travis-ci.org/sproutcore/sproutcore)
|
1
|
+
[![Build Status](https://travis-ci.org/sproutcore/sproutcore.png?branch=master)](https://travis-ci.org/sproutcore/sproutcore)
|
2
2
|
|
3
|
-
SproutCore
|
4
|
-
|
3
|
+
SproutCore: For Native-Caliber Web Apps
|
4
|
+
=======
|
5
5
|
|
6
|
-
SproutCore is a framework for building blazing-fast,
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
SproutCore is a JS-MVC framework for building blazing-fast, native-caliber web
|
7
|
+
applications. SproutCore's full-stack approach to single-page application
|
8
|
+
development gives you the tools you need to build rich, powerful applications...
|
9
|
+
which happen to run in the browser.
|
10
10
|
|
11
|
-
|
12
|
-
included with the SproutCore package when you install it from the Ruby gem.
|
13
|
-
Please see the Getting Started documentation on the
|
14
|
-
[SproutCore website](http://www.sproutcore.com/) for more information.
|
11
|
+
## Getting Started
|
15
12
|
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
The easiest way to get started with SproutCore is to install the Ruby gem.
|
14
|
+
You can find instructions [here](http://sproutcore.com/install/). Once you've
|
15
|
+
got SproutCore installed, checkout the
|
16
|
+
[Getting Started](http://guides.sproutcore.com/getting_started.html) tutorial.
|
19
17
|
|
18
|
+
## Next Steps
|
20
19
|
|
21
|
-
|
20
|
+
Once you're through the Getting Started tutorial:
|
22
21
|
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
- Check out the [Showcase](http://showcase.sproutcore.com/) for demos of a number
|
23
|
+
of views and concepts.
|
24
|
+
- Check out lead developer Tyler Keating's book,
|
25
|
+
[SproutCore Web Application Development](http://blog.sproutcore.com/sproutcore-book-available/).
|
26
|
+
- Check out Juniper, the [web app](http://juniper.dcporter.net/) +
|
27
|
+
[annotated source code](https://github.com/dcporter/juniper) combo, for a deep
|
28
|
+
dive into SproutCore features and best practices in action.
|
26
29
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
- Brian Moore
|
38
|
-
- Bruz Marzolf
|
39
|
-
- Charles Jolley
|
40
|
-
- Charlie Lai
|
41
|
-
- Cherif Yaya
|
42
|
-
- Chris Hyle
|
43
|
-
- Christopher M Pieper
|
44
|
-
- Christopher Swasey
|
45
|
-
- Chuck Edwall
|
46
|
-
- Colin Campbell
|
47
|
-
- Corey Burrows
|
48
|
-
- Cortland Klein
|
49
|
-
- Devin Torres
|
50
|
-
- Devon Govett
|
51
|
-
- Emrys Ingersoll
|
52
|
-
- Eric Kidd
|
53
|
-
- Erich Ocean
|
54
|
-
- Evin Grano
|
55
|
-
- Ganesh J
|
56
|
-
- Gareth Townsend
|
57
|
-
- Geoffrey Donaldson
|
58
|
-
- Gopal Sharma
|
59
|
-
- Gregory Moeck
|
60
|
-
- Hemanth Kumar
|
61
|
-
- James A. Rosen
|
62
|
-
- James Austin
|
63
|
-
- James Craig
|
64
|
-
- James F. Herdman
|
65
|
-
- James Ribar
|
66
|
-
- Jason Dooley
|
67
|
-
- Jason Ketterman
|
68
|
-
- Jeff Pittman
|
69
|
-
- Jim Benton
|
70
|
-
- Jiří Zajpt
|
71
|
-
- Joe Gaudet
|
72
|
-
- John Rogelstad
|
73
|
-
- Jonathan Lewis
|
74
|
-
- Joshua Dickens
|
75
|
-
- Joshua Holt
|
76
|
-
- Joubert Nel
|
77
|
-
- Juan Pinzon
|
78
|
-
- Julian Viereck
|
79
|
-
- Konstantin Bender
|
80
|
-
- Lauri Fjallstrom
|
81
|
-
- Lawrence Pit
|
82
|
-
- Levi McCallum
|
83
|
-
- Luke Burton
|
84
|
-
- Luke Melia
|
85
|
-
- Mahesh Mukundan
|
86
|
-
- Majd Taby
|
87
|
-
- Martin Häcker
|
88
|
-
- Martin Ottenwaelter
|
89
|
-
- Matt Smith
|
90
|
-
- Matthew Grantham
|
91
|
-
- Matthias Loitsch
|
92
|
-
- Maurits Lamers
|
93
|
-
- Michael Cohen
|
94
|
-
- Michael Gillogly
|
95
|
-
- Michael Harris
|
96
|
-
- Michael Krotscheck
|
97
|
-
- Michael Rykov
|
98
|
-
- Michal Kurgan
|
99
|
-
- Mike Ball
|
100
|
-
- Mike Subelsky
|
101
|
-
- Mitch Oliver
|
102
|
-
- Mitchell Rivera
|
103
|
-
- Mohammed Ashik
|
104
|
-
- Mohammed Taher
|
105
|
-
- Nathan Baxter
|
106
|
-
- Nicolas Badia
|
107
|
-
- Nirumal Thomas
|
108
|
-
- Nitin Gupta
|
109
|
-
- Onar Vikingstad
|
110
|
-
- Patrick Walton
|
111
|
-
- Paul Chavard
|
112
|
-
- Paul Lambert
|
113
|
-
- Peter Bergström
|
114
|
-
- Peter Wagenet
|
115
|
-
- Piotr Sarnacki
|
116
|
-
- Piotr Steininger
|
117
|
-
- Rajesh Segu
|
118
|
-
- Ray Bodenhorn
|
119
|
-
- Rich Harrison
|
120
|
-
- Richard Klancer
|
121
|
-
- Rick Russell
|
122
|
-
- Rob Linton
|
123
|
-
- Robert Buchholz
|
124
|
-
- Rodrigo Basa
|
125
|
-
- Ryan Mudryk
|
126
|
-
- Ryan Nielsen
|
127
|
-
- Santhakumar Murugaiyan
|
128
|
-
- Sean Eidemiller
|
129
|
-
- Sergey Ukustov
|
130
|
-
- Steven Tate
|
131
|
-
- Sudarshan Bhat
|
132
|
-
- Sunny Ripert
|
133
|
-
- Suvajit Gupta
|
134
|
-
- Tanner Donovan
|
135
|
-
- Teresa Tsui
|
136
|
-
- Thomas Balthazar
|
137
|
-
- Thomas Bartelmess
|
138
|
-
- Thomas Bradford
|
139
|
-
- Thomas Lang
|
140
|
-
- Tim Evans
|
141
|
-
- Tom Dale
|
142
|
-
- Tomasz Mazur
|
143
|
-
- Topher Fangio
|
144
|
-
- Trek Glowacki
|
145
|
-
- Tyler Keating
|
146
|
-
- Umberto Nicoletti
|
147
|
-
- Vibul Imtarnasa
|
148
|
-
- Vincent Fiano
|
149
|
-
- Wesley Workman
|
150
|
-
- William Kakes
|
151
|
-
- Yehuda Katz
|
152
|
-
- Yogesh Kumar
|
30
|
+
## Support
|
31
|
+
|
32
|
+
Resources for SproutCore developers include [the docs](http://docs.sproutcore.com/)
|
33
|
+
for API documentation, and [the Guides](http://guides.sproutcore.com/) for a
|
34
|
+
series of topical walk-throughs.
|
35
|
+
|
36
|
+
For additional SproutCore user support, join the
|
37
|
+
[mailing list](https://groups.google.com/group/sproutcore), or stop by the #sproutcore
|
38
|
+
[IRC channel](http://sproutcore.com/community/#tab=irc). For those interested in
|
39
|
+
contributing to the framework itself, please join sproutcore-dev@googlegroups.com.
|
153
40
|
|
154
41
|
## Acknowledgements
|
155
42
|
|
@@ -38,6 +38,11 @@ Showcase.sources = SC.Object.create(SC.CollectionContent, SC.TreeItemContent, {
|
|
38
38
|
name: "Displaying Big Data",
|
39
39
|
view: 'Showcase.mainPage.demoView'
|
40
40
|
}),
|
41
|
+
SC.Object.create({
|
42
|
+
appPath: 'http://demos.sproutcore.com/flot_demo',
|
43
|
+
name: "Flot (or other) Integration",
|
44
|
+
view: 'Showcase.mainPage.demoView'
|
45
|
+
}),
|
41
46
|
SC.Object.create({
|
42
47
|
appPath: 'http://demos.sproutcore.com/lively_view_demo',
|
43
48
|
name: "Transition Plugins",
|
@@ -129,10 +134,10 @@ Showcase.sources = SC.Object.create(SC.CollectionContent, SC.TreeItemContent, {
|
|
129
134
|
name: "SC.SourceListView",
|
130
135
|
view: 'Showcase.viewsPage.sourceListViews'
|
131
136
|
}),
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
137
|
+
SC.Object.create({
|
138
|
+
name: "SC.SplitView",
|
139
|
+
view: 'Showcase.viewsPage.splitViews'
|
140
|
+
}),
|
136
141
|
SC.Object.create({
|
137
142
|
name: "SC.StackedView",
|
138
143
|
view: 'Showcase.viewsPage.stackedViews'
|
@@ -23,7 +23,7 @@ Showcase.ViewsItemContent = SC.Object.extend({
|
|
23
23
|
|
24
24
|
parts = example.split(' ');
|
25
25
|
parts.forEach(function(part, index) {
|
26
|
-
if (part.indexOf('.extend(') >= 0 || part.indexOf('function(') >= 0 || part.indexOf('({') >= 0) {
|
26
|
+
if (part.indexOf('.extend(') >= 0 || part.indexOf('.design(') >= 0 || part.indexOf('function(') >= 0 || part.indexOf('({') >= 0) {
|
27
27
|
parts[index] = padding + part;
|
28
28
|
padding += ' ';
|
29
29
|
} else if (part.indexOf('}.property') >= 0 || part.indexOf('})') >= 0) {
|
@@ -13,10 +13,23 @@ sc_require('views/views_list_view.js');
|
|
13
13
|
*/
|
14
14
|
Showcase.splitViews = SC.ScrollView.design({
|
15
15
|
contentView: Showcase.ViewsListView.design({
|
16
|
+
exampleHeight: 200,
|
16
17
|
content: [
|
17
18
|
Showcase.ViewsItemContent.create({
|
18
|
-
title: '
|
19
|
-
example: "SC.SplitView.extend({ layout: { top: 20, bottom: 20, left: 20, right: 20 },
|
19
|
+
title: 'Horizontal (default)',
|
20
|
+
example: "SC.SplitView.extend({ layout: { top: 20, bottom: 20, left: 20, right: 20 }, childViews: ['leftView', 'rightView'], leftView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], value: 'Left View', minimumSize: 80 }), rightView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], value: 'Right View', minimumSize: 80 }) })"
|
21
|
+
}),
|
22
|
+
Showcase.ViewsItemContent.create({
|
23
|
+
title: 'Vertical',
|
24
|
+
example: "SC.SplitView.extend({ layoutDirection: SC.LAYOUT_VERTICAL, layout: { top: 20, bottom: 20, left: 20, right: 20 }, childViews: ['topView', 'bottomView'], topView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], value: 'Top View', minimumSize: 40 }), bottomView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], value: 'Bottom View', minimumSize: 40 }) })"
|
25
|
+
}),
|
26
|
+
Showcase.ViewsItemContent.create({
|
27
|
+
title: 'Custom Initial Size',
|
28
|
+
example: "SC.SplitView.extend({ layout: { top: 20, bottom: 20, left: 20, right: 20 }, childViews: ['leftView', 'rightView'], leftView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], size: 120, value: 'Left View', minimumSize: 80 }), rightView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], value: 'Right View', minimumSize: 80 }) })"
|
29
|
+
}),
|
30
|
+
Showcase.ViewsItemContent.create({
|
31
|
+
title: 'Three Children',
|
32
|
+
example: "SC.SplitView.extend({ layout: { top: 20, bottom: 20, left: 20, right: 20 }, childViews: ['leftView', 'middleView', 'rightView'], leftView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], value: 'Left View', minimumSize: 80 }), middleView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], value: 'Middle View', minimumSize: 80 }), rightView: SC.LabelView.design(SC.SplitChild, { classNames: ['demo-split-view-label'], value: 'Right View', minimumSize: 80 }) })"
|
20
33
|
})
|
21
34
|
]
|
22
35
|
})
|
@@ -16,7 +16,7 @@ Showcase.stackedViews = SC.ScrollView.design({
|
|
16
16
|
content: [
|
17
17
|
Showcase.ViewsItemContent.create({
|
18
18
|
title: 'Regular',
|
19
|
-
example: "SC.ScrollView.extend({ classNames: ['my-scroll-view'], layout: { left: 20, right: 20, top: 20, bottom: 20 }, contentView: SC.StackedView.extend({ classNames: ['my-stacked-view'], content: ['These rows have statically laid out content with random heights. Selecting a row causes the row to re-render
|
19
|
+
example: "SC.ScrollView.extend({ classNames: ['my-scroll-view'], layout: { left: 20, right: 20, top: 20, bottom: 20 }, contentView: SC.StackedView.extend({ classNames: ['my-stacked-view'], content: ['These rows have statically laid out content with random heights. Selecting a row causes the row to re-render with a new height.',1,2,3,4,5,6], exampleView: SC.View.extend({ displayProperties: ['isSelected'], useStaticLayout: true, render: function(context) { context.setClass('sel', this.get('isSelected')); context.push('<div style=\"height: ' + (20 + Math.round((Math.random() * 100))) + 'px;\">' + this.get('content') + '</div>'); } }), selectionDidChange: function() { this.updateHeight(false); }.observes('selection') }) })"
|
20
20
|
})
|
21
21
|
],
|
22
22
|
exampleHeight: 420
|
@@ -205,8 +205,18 @@ TestRunner.mainPage = SC.Page.design({
|
|
205
205
|
|
206
206
|
locationLabel: SC.LabelView.design({
|
207
207
|
classNames: ['location-label'],
|
208
|
+
escapeHTML: false,
|
208
209
|
layout: { right: 10, centerY: 0, height: 16, left: 100 },
|
209
|
-
|
210
|
+
contentBinding: SC.Binding.oneWay("TestRunner.testController.content"),
|
211
|
+
value: function () {
|
212
|
+
var content = this.get('content');
|
213
|
+
|
214
|
+
if (content) {
|
215
|
+
return '<a href="%@" target="_blank">%@</a>'.fmt(content.get('url'), content.get('displayName'));
|
216
|
+
} else {
|
217
|
+
return '';
|
218
|
+
}
|
219
|
+
}.property('content')
|
210
220
|
})
|
211
221
|
|
212
222
|
}),
|
@@ -0,0 +1,90 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// Project: SC.WebSocket
|
3
|
+
// Copyright: ©2013 Nicolas BADIA and contributors
|
4
|
+
// License: Licensed under MIT license (see license.js)
|
5
|
+
// ==========================================================================
|
6
|
+
|
7
|
+
/**
|
8
|
+
@namespace
|
9
|
+
|
10
|
+
A WebSocket Delegate is consulted by `SC.WebSocket` when events are received.
|
11
|
+
You may want to handle this events before propagate them to eventual listeners.
|
12
|
+
|
13
|
+
Example:
|
14
|
+
|
15
|
+
var ws = SC.WebSocket.create({
|
16
|
+
server: 'ws://server',
|
17
|
+
delegate: MyApp.WebSocketDelegate
|
18
|
+
});
|
19
|
+
|
20
|
+
@since SproutCore 1.11
|
21
|
+
@author Nicolas BADIA
|
22
|
+
*/
|
23
|
+
SC.WebSocketDelegate = {
|
24
|
+
|
25
|
+
/**
|
26
|
+
Walk like a duck
|
27
|
+
|
28
|
+
@type Boolean
|
29
|
+
*/
|
30
|
+
isWebSocketDelegate: true,
|
31
|
+
|
32
|
+
// ..........................................................
|
33
|
+
// CALLBACKS
|
34
|
+
//
|
35
|
+
|
36
|
+
/**
|
37
|
+
The passed webSocket connection is open.
|
38
|
+
|
39
|
+
@param webSocket {SC.WebSocket} The webSocket object
|
40
|
+
@param event {Event}
|
41
|
+
*/
|
42
|
+
webSocketDidOpen: function (webSocket, event) {},
|
43
|
+
|
44
|
+
/**
|
45
|
+
A message has been received. Before processing it, you have
|
46
|
+
a chance to check it.
|
47
|
+
|
48
|
+
For example, if `isJSON` is true, you will want to check if the message
|
49
|
+
is a correct JSON.
|
50
|
+
|
51
|
+
@param webSocket {SC.WebSocket} The webSocket object
|
52
|
+
@param data {String}
|
53
|
+
@returns {String|Boolean} Return true to prevent further handling
|
54
|
+
*/
|
55
|
+
webSocketDidReceiveMessage: function (webSocket, data) {
|
56
|
+
switch(data) {
|
57
|
+
case 'ping': return true; break;
|
58
|
+
}
|
59
|
+
|
60
|
+
if (this.get('isJSON')) {
|
61
|
+
try {
|
62
|
+
JSON.parse(data);
|
63
|
+
}
|
64
|
+
catch(e) {
|
65
|
+
return true;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
},
|
69
|
+
|
70
|
+
/**
|
71
|
+
The websocket connection is close. Return true to prevent a
|
72
|
+
reconnection or further handling.
|
73
|
+
|
74
|
+
@param webSocket {SC.WebSocket} The webSocket object
|
75
|
+
@param closeEvent {CloseEvent} The closeEvent
|
76
|
+
@returns {Boolean} Return true to prevent further handling
|
77
|
+
*/
|
78
|
+
webSocketDidClose: function (webSocket, closeEvent) {},
|
79
|
+
|
80
|
+
/**
|
81
|
+
Call when an error occur.
|
82
|
+
|
83
|
+
@param webSocket {SC.WebSocket} The webSocket object
|
84
|
+
@param event {Event}
|
85
|
+
@returns {Boolean} Return true to prevent further handling
|
86
|
+
*/
|
87
|
+
webSocketDidError: function (webSocket, event) {},
|
88
|
+
|
89
|
+
};
|
90
|
+
|
@@ -30,6 +30,18 @@ SC.Request = SC.Object.extend(SC.Copyable, SC.Freezable,
|
|
30
30
|
// PROPERTIES
|
31
31
|
//
|
32
32
|
|
33
|
+
/**
|
34
|
+
Whether to allow credentials, such as Cookies, in the request. While this has no effect on
|
35
|
+
requests to the same domain, cross-domain requests require that the transport be configured to
|
36
|
+
allow the inclusion of credentials such as Cookies.
|
37
|
+
|
38
|
+
You can change this property using the chainable `credentials()` helper method (or set it directly).
|
39
|
+
|
40
|
+
@type Boolean
|
41
|
+
@default YES
|
42
|
+
*/
|
43
|
+
allowCredentials: YES,
|
44
|
+
|
33
45
|
/**
|
34
46
|
Sends the request asynchronously instead of blocking the browser. You
|
35
47
|
should almost always make requests asynchronous. You can change this
|
@@ -88,6 +100,29 @@ SC.Request = SC.Object.extend(SC.Copyable, SC.Freezable,
|
|
88
100
|
return ret;
|
89
101
|
}.property().cacheable(),
|
90
102
|
|
103
|
+
/**
|
104
|
+
Whether the request is within the same domain or not. The response class may use this property
|
105
|
+
to determine specific cross domain configurations.
|
106
|
+
|
107
|
+
@field
|
108
|
+
@type Boolean
|
109
|
+
*/
|
110
|
+
isSameDomain: function () {
|
111
|
+
var address = this.get('address'),
|
112
|
+
urlRegex = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
|
113
|
+
location = window.location,
|
114
|
+
parts, originParts;
|
115
|
+
|
116
|
+
// This pattern matching strategy was taken from jQuery.
|
117
|
+
parts = urlRegex.exec( address.toLowerCase() );
|
118
|
+
originParts = urlRegex.exec( window.location.href.toLowerCase() );
|
119
|
+
|
120
|
+
return SC.none(parts) ||
|
121
|
+
(parts[1] === originParts[1] && // protocol
|
122
|
+
parts[2] === originParts[2] && // domain
|
123
|
+
(parts[3] || (parts[1] === "http:" ? 80 : 443 ) ) === (originParts[3] || (originParts[1] === "http:" ? 80 : 443))); // port
|
124
|
+
}.property('address').cacheable(),
|
125
|
+
|
91
126
|
/**
|
92
127
|
Underlying response class to actually handle this request. Currently the
|
93
128
|
only supported option is SC.XHRResponse which uses a traditional
|
@@ -222,7 +257,7 @@ SC.Request = SC.Object.extend(SC.Copyable, SC.Freezable,
|
|
222
257
|
concatenatedProperties: 'COPY_KEYS',
|
223
258
|
|
224
259
|
/** @private */
|
225
|
-
COPY_KEYS: ['attachIdentifyingHeaders', 'isAsynchronous', 'isJSON', 'isXML', 'address', 'type', 'timeout', 'body', 'responseClass', 'willSend', 'didSend', 'willReceive', 'didReceive'],
|
260
|
+
COPY_KEYS: ['attachIdentifyingHeaders', 'allowCredentials', 'isAsynchronous', 'isJSON', 'isXML', 'address', 'type', 'timeout', 'body', 'responseClass', 'willSend', 'didSend', 'willReceive', 'didReceive'],
|
226
261
|
|
227
262
|
/**
|
228
263
|
Returns a copy of the current request. This will only copy certain
|
@@ -318,6 +353,17 @@ SC.Request = SC.Object.extend(SC.Copyable, SC.Freezable,
|
|
318
353
|
return this.set('isAsynchronous', flag);
|
319
354
|
},
|
320
355
|
|
356
|
+
/**
|
357
|
+
Converts the current request to request allowing credentials or not.
|
358
|
+
|
359
|
+
@param {Boolean} flag YES to request allowing credentials, NO to disallow credentials. Default YES.
|
360
|
+
@returns {SC.Request} receiver
|
361
|
+
*/
|
362
|
+
credentials: function(flag) {
|
363
|
+
if (flag === undefined) { flag = YES; }
|
364
|
+
return this.set('allowCredentials', flag);
|
365
|
+
},
|
366
|
+
|
321
367
|
/**
|
322
368
|
Sets the maximum amount of time the request will wait for a response.
|
323
369
|
|
@@ -480,6 +526,12 @@ SC.Request = SC.Object.extend(SC.Copyable, SC.Freezable,
|
|
480
526
|
notify: function(statusOrEvent, target, action) {
|
481
527
|
var args;
|
482
528
|
|
529
|
+
//@if (debug)
|
530
|
+
if (statusOrEvent === 'loadend' && SC.Request.WARN_ON_LOADEND) {
|
531
|
+
SC.warn("Developer Warning: You have called SC.Request#notify for the 'loadend' event. Note that on certain platforms, like older iPads, loadend is not supported and this notification will fail silently. You can protect against this by checking SC.platform.get('supportsXHR2LoadEndEvent'), and attaching listeners for load, error and abort instead. (This is not done automatically because your code may need to handle event type and fire order considerations.) To suppress this warning, set SC.Request.WARN_ON_LOADEND to NO.");
|
532
|
+
}
|
533
|
+
//@endif
|
534
|
+
|
483
535
|
// Normalize arguments
|
484
536
|
if (SC.typeOf(statusOrEvent) !== SC.T_NUMBER && SC.typeOf(statusOrEvent) !== SC.T_STRING) {
|
485
537
|
// Accept multiple additional arguments (Do so before shifting the arguments!)
|
@@ -571,6 +623,9 @@ SC.Request.mixin(
|
|
571
623
|
|
572
624
|
});
|
573
625
|
|
626
|
+
/* @private Gates loadend warning. */
|
627
|
+
SC.Request.WARN_ON_LOADEND = YES;
|
628
|
+
|
574
629
|
/**
|
575
630
|
@class
|
576
631
|
|
@@ -639,7 +694,7 @@ SC.Request.manager = SC.Object.create(
|
|
639
694
|
Cancels a specific request. If the request is pending it will simply
|
640
695
|
be removed. Otherwise it will actually be cancelled.
|
641
696
|
|
642
|
-
@param {
|
697
|
+
@param {SC.Response} response a response object
|
643
698
|
@returns {Boolean} YES if cancelled
|
644
699
|
*/
|
645
700
|
cancel: function(response) {
|
@@ -682,13 +737,13 @@ SC.Request.manager = SC.Object.create(
|
|
682
737
|
var r = inflight.objectAt(i);
|
683
738
|
r.cancel();
|
684
739
|
}
|
685
|
-
|
740
|
+
|
686
741
|
// Manually scrub the arrays without screwing up memory pointers.
|
687
742
|
pending.replace(0, pendingLen);
|
688
743
|
inflight.replace(0, inflightLen);
|
689
|
-
|
744
|
+
|
690
745
|
return YES;
|
691
|
-
|
746
|
+
|
692
747
|
}
|
693
748
|
return NO;
|
694
749
|
},
|
@@ -717,8 +772,29 @@ SC.Request.manager = SC.Object.create(
|
|
717
772
|
the transport from the queue and kicks off the next one.
|
718
773
|
*/
|
719
774
|
transportDidClose: function(response) {
|
775
|
+
this.get('pending').removeObject(response);
|
720
776
|
this.get('inflight').removeObject(response);
|
721
777
|
this.fireRequestIfNeeded();
|
778
|
+
},
|
779
|
+
|
780
|
+
/**
|
781
|
+
Checks if the response is in the pending queue.
|
782
|
+
|
783
|
+
@param {SC.Response} response a response object
|
784
|
+
@return {Boolean} is response in pending queue
|
785
|
+
*/
|
786
|
+
isPending: function(response) {
|
787
|
+
return this.get('pending').contains(response);
|
788
|
+
},
|
789
|
+
|
790
|
+
/**
|
791
|
+
Checks if the response is in the inflight queue.
|
792
|
+
|
793
|
+
@param {SC.Response} response a response object
|
794
|
+
@return {Boolean} is response in inflight queue
|
795
|
+
*/
|
796
|
+
isInFlight: function(response) {
|
797
|
+
return this.get('inflight').contains(response);
|
722
798
|
}
|
723
799
|
|
724
800
|
});
|