sproutcore 1.6.0.beta.3-java → 1.6.0-java
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 +70 -0
- data/{History.txt → History.rdoc} +0 -0
- data/{README.txt → README.rdoc} +3 -2
- data/Rakefile +213 -10
- data/{Todo.txt → Todo.rdoc} +0 -0
- data/VERSION.yml +1 -1
- data/bin/sc-docs +6 -1
- data/lib/Buildfile +5 -1
- data/lib/buildtasks/manifest.rake +14 -1
- data/lib/buildtasks/target.rake +20 -23
- data/lib/frameworks/sproutcore/Buildfile +8 -3
- data/lib/frameworks/sproutcore/CHANGELOG.md +364 -1
- data/lib/frameworks/sproutcore/README.md +1 -1
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/select.js +12 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/select_page.js +19 -5
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +9 -0
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +243 -199
- data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +250 -172
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +29 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +5 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +21 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controls/button.js +6 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/core.js +2 -42
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/bind.js +38 -15
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/collection.js +6 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/checkbox_support.js +11 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/text_field_support.js +55 -20
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +26 -20
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/template.js +37 -21
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/application.js +2 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +157 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +7 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +29 -15
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +8 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +162 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/theme.js +3 -56
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils.js +24 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +42 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/content_destroyed.js +59 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controls/button.js +39 -57
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +41 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/text_field_support.js +19 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/panes/template.js +16 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +32 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +135 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +29 -18
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +11 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/didAppendToDocument.js +18 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +10 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/keyboard.js +414 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/view.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/{system → views}/bindable_span.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template_collection.js +112 -40
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +245 -67
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +17 -9
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +8 -18
- data/lib/frameworks/sproutcore/frameworks/core_tools/core.js +8 -2
- data/lib/frameworks/sproutcore/frameworks/core_tools/data_source.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_tools/models/target.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +15 -8
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +12 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +296 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_record.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +330 -326
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +23 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +26 -5
- data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +69 -58
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +614 -614
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/data_source.js +203 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +3 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +44 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +20 -13
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +76 -47
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +30 -30
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +74 -53
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/connectDataSource.js +31 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushRelationships.js +1177 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +212 -182
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +6 -67
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +13 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +41 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +9 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +6 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/master_detail.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/menu.js +12 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/picker.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/toolbar.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/well.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/workspace.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/alert.css +49 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/debug/a_sample_image.jpg +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/debug/apple-logo1.jpeg +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/debug/iframe.html +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/disclosure.css +20 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/drag.css +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/icons.css +214 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/cap.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/downbutton.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-alert-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-alert-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-alert-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-bookmark-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-bookmark-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-cancel-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-document-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-document-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-down-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-error-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-favorite-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-favorite-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-folder-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-folder-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-group-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-group-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-help-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-help-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-info-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-info-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-info-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-left-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-options-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-options-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-redo-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-right-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-tools-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-trash-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-trash-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-undo-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-up-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-user-16.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-user-24.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/thumb-bottom.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/thumb-center.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/thumb-top.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/track.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/upbutton.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/list_item.css +145 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/menu.css +10 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/menu_item_view.css +88 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/modal.css +3 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/panel.css +91 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/picker.css +37 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/progress.css +29 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/radio.css +11 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/segmented.css +122 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/separator.css +20 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/slider.css +34 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/split.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/split_divider.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/tab.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/toolbar.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/touch-scroller.css +13 -13
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/well.css +65 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +58 -23
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +20 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +121 -103
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +34 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/static_content.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +1 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +20 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +14 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +43 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +717 -700
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +11 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +16 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +4 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +49 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +9 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/{panes → views}/select_button.js +52 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +7 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +4 -26
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +46 -49
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +20 -19
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +249 -249
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/edit_mode.js +13 -5
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/mixins/emptiness.js +53 -37
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/render_delegates/form.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/render_delegates/form_row.js +3 -11
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/mixins/edit_mode.js +53 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/mixins/emptiness.js +114 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/views/form.js +174 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/views/form_row.js +86 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +98 -126
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form_row.js +96 -97
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md +2 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +20 -36
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +121 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu_item.js +90 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/mixins/select_view_menu.js +139 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/render_delegates/select_button.js +14 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/ext/menu_resizing.js +25 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/mixins/select_view_menu/bindings.js +43 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/mixins/select_view_menu/check_selected.js +32 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/views/popup_button/menu_setup.js +40 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/views/popup_button/show_menu.js +45 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/views/select/menu_width.js +49 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/tests/views/select/selected_item.js +191 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/popup_button.js +264 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +450 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +14 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/render_delegates/split.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/render_delegates/split_divider.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +9 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/thumb.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +16 -19
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +4 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +85 -16
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inner_frame.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/image.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/benchmark.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/blank.gif +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/bootstrap.rhtml +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/button_view.css +36 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/checkbox_view.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/debug/control-test-pane.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/images/favicon.ico +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-logo.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup-landscape.jpg +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup-landscape.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup-portrait.jpg +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup-portrait.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/inline_editor.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +47 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/radio_view.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/static_layout.css +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +125 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +5 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/exception_handler.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/system/math.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +13 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/string.js +0 -43
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +912 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +23 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +36 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +58 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +1 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +17 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +30 -19
- data/lib/frameworks/sproutcore/frameworks/handlebars/handlebars.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +2 -76
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +3348 -1591
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +6 -3
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +11 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +38 -12
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/flatten.js +24 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +21 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/private/property_chain.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +14 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +4 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +0 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/system/set.js +15 -16
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/itemType.js +6 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/objectForPropertyPath.js +10 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/requiredObjectForPropertyPath.js +29 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue.js +98 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/enhance.js +30 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +17 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/debug/monitor.js +4 -73
- data/lib/frameworks/sproutcore/frameworks/statechart/debug/sequence_matcher.js +189 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/ext/function.js +122 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/async.js +88 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/empty_state.js +34 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/history_state.js +97 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +16 -191
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +17 -79
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/debug/sequence_matcher.js +464 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +31 -11
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/async/with_concurrent_states.js +6 -4
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/advanced.js +40 -6
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/basic.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/intermediate.js +44 -3
- data/lib/frameworks/sproutcore/frameworks/testing/core.js +61 -9
- data/lib/frameworks/sproutcore/frameworks/testing/{english.lproj → resources}/additions.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/testing/{english.lproj → resources}/runner.css +10 -2
- data/lib/frameworks/sproutcore/frameworks/testing/{english.lproj → resources}/testsuite.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +66 -27
- data/lib/frameworks/sproutcore/frameworks/testing/tests/spy_on.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/testing/tests/stub_method.js +9 -0
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/base.css +80 -0
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/core.css +20 -0
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/fonts.css +39 -0
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/reset.css +126 -0
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/view.css +57 -0
- data/lib/frameworks/sproutcore/lib/index.rhtml +8 -4
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/menu_item.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +13 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list_item.css +16 -14
- data/lib/frameworks/sproutcore/themes/ace/resources/form/form.css +9 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu.css +3 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu_item.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/picker.js +1 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/workspace.js +1 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/split/split.css +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/button.js +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/panel.js +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/progress.js +2 -0
- data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/slider.js +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/well.js +1 -1
- data/lib/gen/app/templates/apps/@target_name@/Buildfile +1 -4
- data/lib/gen/app/templates/apps/@target_name@/core.js +1 -4
- data/lib/gen/app/templates/apps/@target_name@/main.js +1 -4
- data/lib/gen/app/templates/apps/@target_name@/resources/main_page.js +1 -4
- data/lib/gen/app/templates/apps/@target_name@/theme.js +1 -4
- data/lib/gen/controller/templates/controllers/{@filename@.js → @filename@_controller.js} +1 -4
- data/lib/gen/controller/templates/tests/controllers/{@filename@.js → @filename@_test.js} +1 -4
- data/lib/gen/data-source/templates/data_sources/{@filename@.js → @filename@_data_source.js} +1 -4
- data/lib/gen/design/templates/resources/@filename@.js +1 -4
- data/lib/gen/framework/templates/frameworks/@target_name@/core.js +1 -4
- data/lib/gen/framework/templates/frameworks/@target_name@/english.lproj/strings.js +1 -4
- data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +1 -4
- data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +2 -0
- data/lib/gen/html_project/templates/@filename@/Buildfile +1 -4
- data/lib/gen/html_project/templates/@filename@/README +1 -4
- data/lib/gen/language/Buildfile +1 -1
- data/lib/gen/language/templates/@filename@/strings.js +1 -4
- data/lib/gen/model/templates/fixtures/{@filename@.js → @filename@_fixtures.js} +2 -5
- data/lib/gen/model/templates/models/{@filename@.js → @filename@_model.js} +1 -4
- data/lib/gen/model/templates/tests/models/{@filename@.js → @filename@_test.js} +1 -4
- data/lib/gen/page/templates/pages/@target_name@/Buildfile +1 -4
- data/lib/gen/page/templates/pages/@target_name@/core.js +1 -4
- data/lib/gen/page/templates/pages/@target_name@/en.lproj/strings.js +1 -4
- data/lib/gen/page/templates/pages/@target_name@/resources/body.css +3 -1
- data/lib/gen/project/templates/@filename@/Buildfile +1 -4
- data/lib/gen/project/templates/@filename@/README +1 -5
- data/lib/gen/responder/templates/states/{@filename@.js → @filename@_state.js} +1 -4
- data/lib/gen/test/templates/tests/{@filename@.js → @filename@_test.js} +1 -4
- data/lib/gen/theme/templates/themes/@target_name@/resources/theme_styles.css +1 -5
- data/lib/gen/theme/templates/themes/@target_name@/theme.js +1 -4
- data/lib/gen/view/templates/tests/views/{@filename@.js → @filename@_test.js} +1 -4
- data/lib/gen/view/templates/views/{@filename@.js → @filename@_view.js} +1 -4
- data/lib/sproutcore.rb +5 -15
- data/lib/sproutcore/builders/base.rb +5 -1
- data/lib/sproutcore/builders/handlebars.rb +12 -1
- data/lib/sproutcore/builders/module.rb +2 -2
- data/lib/sproutcore/buildfile/string_ext.rb +0 -4
- data/lib/sproutcore/helpers/cssmin.rb +44 -59
- data/lib/sproutcore/helpers/static_helper.rb +4 -2
- data/lib/sproutcore/helpers/text_helper.rb +11 -13
- data/lib/sproutcore/models/generator.rb +22 -0
- data/lib/sproutcore/models/manifest.rb +4 -4
- data/lib/sproutcore/models/manifest_entry.rb +1 -0
- data/lib/sproutcore/models/target.rb +3 -107
- data/lib/sproutcore/rack.rb +0 -1
- data/lib/sproutcore/rack/builder.rb +3 -0
- data/lib/sproutcore/rack/dev.rb +0 -1
- data/lib/sproutcore/rack/proxy.rb +240 -93
- data/lib/sproutcore/rack/service.rb +1 -1
- data/lib/sproutcore/render_engines/haml.rb +2 -5
- data/lib/sproutcore/tools.rb +11 -11
- data/lib/sproutcore/tools/build.rb +2 -0
- data/lib/sproutcore/tools/docs.rb +2 -37
- data/lib/sproutcore/tools/init.rb +10 -22
- data/lib/sproutcore/tools/manifest.rb +21 -22
- data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +21 -1
- data/spec/buildtasks/target_spec.rb +9 -0
- data/spec/fixtures/builder_tests/apps/handlebars_test/Buildfile +1 -0
- data/spec/fixtures/builder_tests/apps/handlebars_test/{template.handlebars → templates/template.handlebars} +2 -0
- data/{lib/doc_templates/sproutcore/allclasses.tmpl → spec/fixtures/ordered_entries/apps/template_style/a.js} +0 -0
- data/spec/fixtures/{real_world/frameworks/sproutcore/apps/docs/PLACEHOLDER → ordered_entries/apps/template_style/template_style.js} +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/Buildfile +1 -1
- data/spec/lib/builders/handlebars_spec.rb +10 -4
- data/spec/lib/buildfile_commands/build_task_spec.rb +1 -1
- data/spec/lib/tools/manifest_spec.rb +11 -0
- data/sproutcore.gemspec +8 -7
- data/vendor/chance/lib/chance/instance.rb +8 -9
- metadata +167 -266
- data/lib/doc_templates/jsdoc/allclasses.tmpl +0 -17
- data/lib/doc_templates/jsdoc/allfiles.tmpl +0 -56
- data/lib/doc_templates/jsdoc/class.tmpl +0 -487
- data/lib/doc_templates/jsdoc/index.tmpl +0 -38
- data/lib/doc_templates/jsdoc/publish.js +0 -170
- data/lib/doc_templates/jsdoc/static/default.css +0 -162
- data/lib/doc_templates/jsdoc/static/header.html +0 -2
- data/lib/doc_templates/jsdoc/static/index.html +0 -19
- data/lib/doc_templates/jsdoc/symbol.tmpl +0 -35
- data/lib/doc_templates/sproutcore/allfiles.tmpl +0 -56
- data/lib/doc_templates/sproutcore/class.tmpl +0 -674
- data/lib/doc_templates/sproutcore/classes-json.tmpl +0 -55
- data/lib/doc_templates/sproutcore/index.tmpl +0 -62
- data/lib/doc_templates/sproutcore/publish.js +0 -346
- data/lib/doc_templates/sproutcore/static/default.css +0 -258
- data/lib/doc_templates/sproutcore/static/header.html +0 -2
- data/lib/doc_templates/sproutcore/static/index.html +0 -19
- data/lib/doc_templates/sproutcore/symbol.tmpl +0 -35
- data/lib/frameworks/sproutcore/frameworks/core_foundation/resources/core.css +0 -378
- data/lib/frameworks/sproutcore/frameworks/core_foundation/resources/view.css +0 -57
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +0 -56
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/disclosure.css +0 -73
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/icons.css +0 -916
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/shared.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +0 -185
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/menu.css +0 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +0 -101
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +0 -91
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/picker.css +0 -35
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/progress.css +0 -33
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/radio.css +0 -10
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +0 -132
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/separator.css +0 -19
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +0 -69
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/strings.js +0 -14
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/well.css +0 -71
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/english.lproj/default_styles.css +0 -5
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/english.lproj/strings.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/views/form_checkbox_field.js +0 -17
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/views/form_field.js +0 -17
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/views/form_label.js +0 -17
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/views/form_radio_field.js +0 -17
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/tests/views/form_text_field.js +0 -17
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/button_view.css +0 -40
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/favicon.ico +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +0 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +0 -146
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js +0 -55
- data/lib/frameworks/sproutcore/themes/empty_theme/tests/mini_icons.rhtml +0 -69
- data/lib/sproutcore/rack/docs.rb +0 -24
- data/vendor/jsdoc/README.txt +0 -151
- data/vendor/jsdoc/app/frame.js +0 -33
- data/vendor/jsdoc/app/frame/Chain.js +0 -102
- data/vendor/jsdoc/app/frame/Dumper.js +0 -144
- data/vendor/jsdoc/app/frame/Hash.js +0 -47
- data/vendor/jsdoc/app/frame/Link.js +0 -142
- data/vendor/jsdoc/app/frame/Namespace.js +0 -10
- data/vendor/jsdoc/app/frame/Opt.js +0 -134
- data/vendor/jsdoc/app/frame/Reflection.js +0 -26
- data/vendor/jsdoc/app/frame/String.js +0 -93
- data/vendor/jsdoc/app/frame/Testrun.js +0 -129
- data/vendor/jsdoc/app/handlers/FOODOC.js +0 -26
- data/vendor/jsdoc/app/handlers/XMLDOC.js +0 -26
- data/vendor/jsdoc/app/handlers/XMLDOC/DomReader.js +0 -159
- data/vendor/jsdoc/app/handlers/XMLDOC/XMLDoc.js +0 -16
- data/vendor/jsdoc/app/handlers/XMLDOC/XMLParse.js +0 -292
- data/vendor/jsdoc/app/lib/JSDOC.js +0 -98
- data/vendor/jsdoc/app/lib/JSDOC/DocComment.js +0 -200
- data/vendor/jsdoc/app/lib/JSDOC/DocTag.js +0 -294
- data/vendor/jsdoc/app/lib/JSDOC/JsDoc.js +0 -162
- data/vendor/jsdoc/app/lib/JSDOC/JsPlate.js +0 -100
- data/vendor/jsdoc/app/lib/JSDOC/Lang.js +0 -144
- data/vendor/jsdoc/app/lib/JSDOC/Parser.js +0 -109
- data/vendor/jsdoc/app/lib/JSDOC/PluginManager.js +0 -33
- data/vendor/jsdoc/app/lib/JSDOC/Symbol.js +0 -681
- data/vendor/jsdoc/app/lib/JSDOC/SymbolSet.js +0 -226
- data/vendor/jsdoc/app/lib/JSDOC/TextStream.js +0 -41
- data/vendor/jsdoc/app/lib/JSDOC/Token.js +0 -18
- data/vendor/jsdoc/app/lib/JSDOC/TokenReader.js +0 -332
- data/vendor/jsdoc/app/lib/JSDOC/TokenStream.js +0 -133
- data/vendor/jsdoc/app/lib/JSDOC/Util.js +0 -32
- data/vendor/jsdoc/app/lib/JSDOC/Walker.js +0 -453
- data/vendor/jsdoc/app/main.js +0 -74
- data/vendor/jsdoc/app/plugins/commentSrcJson.js +0 -19
- data/vendor/jsdoc/app/plugins/frameworkPrototype.js +0 -16
- data/vendor/jsdoc/app/plugins/functionCall.js +0 -10
- data/vendor/jsdoc/app/plugins/publishSrcHilite.js +0 -62
- data/vendor/jsdoc/app/plugins/sproutcoreTags.js +0 -26
- data/vendor/jsdoc/app/plugins/symbolLink.js +0 -9
- data/vendor/jsdoc/app/plugins/tagParamConfig.js +0 -31
- data/vendor/jsdoc/app/plugins/tagSynonyms.js +0 -43
- data/vendor/jsdoc/app/run.js +0 -346
- data/vendor/jsdoc/app/t/TestDoc.js +0 -144
- data/vendor/jsdoc/app/t/runner.js +0 -13
- data/vendor/jsdoc/app/test.js +0 -304
- data/vendor/jsdoc/app/test/addon.js +0 -24
- data/vendor/jsdoc/app/test/anon_inner.js +0 -14
- data/vendor/jsdoc/app/test/augments.js +0 -31
- data/vendor/jsdoc/app/test/augments2.js +0 -26
- data/vendor/jsdoc/app/test/borrows.js +0 -41
- data/vendor/jsdoc/app/test/borrows2.js +0 -23
- data/vendor/jsdoc/app/test/config.js +0 -22
- data/vendor/jsdoc/app/test/constructs.js +0 -18
- data/vendor/jsdoc/app/test/encoding.js +0 -10
- data/vendor/jsdoc/app/test/encoding_other.js +0 -12
- data/vendor/jsdoc/app/test/functions_anon.js +0 -39
- data/vendor/jsdoc/app/test/functions_nested.js +0 -33
- data/vendor/jsdoc/app/test/global.js +0 -13
- data/vendor/jsdoc/app/test/globals.js +0 -25
- data/vendor/jsdoc/app/test/ignore.js +0 -10
- data/vendor/jsdoc/app/test/inner.js +0 -16
- data/vendor/jsdoc/app/test/jsdoc_test.js +0 -477
- data/vendor/jsdoc/app/test/lend.js +0 -33
- data/vendor/jsdoc/app/test/memberof.js +0 -20
- data/vendor/jsdoc/app/test/memberof_constructor.js +0 -15
- data/vendor/jsdoc/app/test/name.js +0 -19
- data/vendor/jsdoc/app/test/namespace_nested.js +0 -23
- data/vendor/jsdoc/app/test/nocode.js +0 -13
- data/vendor/jsdoc/app/test/oblit_anon.js +0 -20
- data/vendor/jsdoc/app/test/overview.js +0 -20
- data/vendor/jsdoc/app/test/param_inline.js +0 -37
- data/vendor/jsdoc/app/test/params_optional.js +0 -8
- data/vendor/jsdoc/app/test/prototype.js +0 -17
- data/vendor/jsdoc/app/test/prototype_nested.js +0 -9
- data/vendor/jsdoc/app/test/prototype_oblit.js +0 -13
- data/vendor/jsdoc/app/test/prototype_oblit_constructor.js +0 -24
- data/vendor/jsdoc/app/test/public.js +0 -10
- data/vendor/jsdoc/app/test/shared.js +0 -42
- data/vendor/jsdoc/app/test/shared2.js +0 -2
- data/vendor/jsdoc/app/test/shortcuts.js +0 -22
- data/vendor/jsdoc/app/test/static_this.js +0 -13
- data/vendor/jsdoc/app/test/synonyms.js +0 -23
- data/vendor/jsdoc/app/test/tosource.js +0 -23
- data/vendor/jsdoc/app/test/variable_redefine.js +0 -14
- data/vendor/jsdoc/changes.txt +0 -47
- data/vendor/jsdoc/conf/sample.conf +0 -31
- data/vendor/jsdoc/java/build.xml +0 -36
- data/vendor/jsdoc/java/build_1.4.xml +0 -36
- data/vendor/jsdoc/java/classes/js.jar +0 -0
- data/vendor/jsdoc/java/src/JsDebugRun.java +0 -21
- data/vendor/jsdoc/java/src/JsRun.java +0 -21
- data/vendor/jsdoc/jsdebug.jar +0 -0
- data/vendor/jsdoc/jsrun.jar +0 -0
- data/vendor/jsdoc/t/TestDoc.js +0 -144
- data/vendor/jsdoc/t/runner.js +0 -13
- data/vendor/jsdoc/test.js +0 -304
- data/vendor/jsdoc/test/addon.js +0 -24
- data/vendor/jsdoc/test/anon_inner.js +0 -14
- data/vendor/jsdoc/test/augments.js +0 -31
- data/vendor/jsdoc/test/augments2.js +0 -26
- data/vendor/jsdoc/test/borrows.js +0 -41
- data/vendor/jsdoc/test/borrows2.js +0 -23
- data/vendor/jsdoc/test/config.js +0 -22
- data/vendor/jsdoc/test/constructs.js +0 -18
- data/vendor/jsdoc/test/encoding.js +0 -10
- data/vendor/jsdoc/test/encoding_other.js +0 -12
- data/vendor/jsdoc/test/functions_anon.js +0 -39
- data/vendor/jsdoc/test/functions_nested.js +0 -33
- data/vendor/jsdoc/test/global.js +0 -13
- data/vendor/jsdoc/test/globals.js +0 -25
- data/vendor/jsdoc/test/ignore.js +0 -10
- data/vendor/jsdoc/test/inner.js +0 -16
- data/vendor/jsdoc/test/jsdoc_test.js +0 -477
- data/vendor/jsdoc/test/lend.js +0 -33
- data/vendor/jsdoc/test/memberof.js +0 -20
- data/vendor/jsdoc/test/memberof_constructor.js +0 -15
- data/vendor/jsdoc/test/name.js +0 -19
- data/vendor/jsdoc/test/namespace_nested.js +0 -23
- data/vendor/jsdoc/test/nocode.js +0 -13
- data/vendor/jsdoc/test/oblit_anon.js +0 -20
- data/vendor/jsdoc/test/overview.js +0 -20
- data/vendor/jsdoc/test/param_inline.js +0 -37
- data/vendor/jsdoc/test/params_optional.js +0 -8
- data/vendor/jsdoc/test/prototype.js +0 -17
- data/vendor/jsdoc/test/prototype_nested.js +0 -9
- data/vendor/jsdoc/test/prototype_oblit.js +0 -13
- data/vendor/jsdoc/test/prototype_oblit_constructor.js +0 -24
- data/vendor/jsdoc/test/public.js +0 -10
- data/vendor/jsdoc/test/shared.js +0 -42
- data/vendor/jsdoc/test/shared2.js +0 -2
- data/vendor/jsdoc/test/shortcuts.js +0 -22
- data/vendor/jsdoc/test/static_this.js +0 -13
- data/vendor/jsdoc/test/synonyms.js +0 -23
- data/vendor/jsdoc/test/tosource.js +0 -23
- data/vendor/jsdoc/test/variable_redefine.js +0 -14
|
@@ -6,49 +6,65 @@
|
|
|
6
6
|
// ==========================================================================
|
|
7
7
|
/*global ActiveXObject */
|
|
8
8
|
|
|
9
|
+
/*
|
|
10
|
+
TODO Document SC.Response and SC.XHRResponse
|
|
11
|
+
*/
|
|
12
|
+
|
|
9
13
|
/**
|
|
14
|
+
@class
|
|
15
|
+
|
|
10
16
|
A response represents a single response from a server request. An instance
|
|
11
17
|
of this class is returned whenever you call SC.Request.send().
|
|
12
|
-
|
|
13
|
-
TODO: Add more info
|
|
14
|
-
|
|
18
|
+
|
|
15
19
|
@extend SC.Object
|
|
16
20
|
@since SproutCore 1.0
|
|
17
21
|
*/
|
|
18
22
|
SC.Response = SC.Object.extend(
|
|
19
23
|
/** @scope SC.Response.prototype */ {
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
Walk like a duck
|
|
27
|
+
|
|
28
|
+
@type Boolean
|
|
29
|
+
*/
|
|
30
|
+
isResponse: YES,
|
|
20
31
|
|
|
21
32
|
/**
|
|
22
33
|
Becomes true if there was a failure. Makes this into an error object.
|
|
23
34
|
|
|
24
|
-
@
|
|
35
|
+
@type Boolean
|
|
36
|
+
@default NO
|
|
25
37
|
*/
|
|
26
38
|
isError: NO,
|
|
27
|
-
|
|
39
|
+
|
|
28
40
|
/**
|
|
29
41
|
Always the current response
|
|
30
|
-
|
|
31
|
-
@
|
|
42
|
+
|
|
43
|
+
@field
|
|
44
|
+
@type SC.Response
|
|
45
|
+
@default `this`
|
|
32
46
|
*/
|
|
33
47
|
errorValue: function() {
|
|
34
48
|
return this;
|
|
35
49
|
}.property().cacheable(),
|
|
36
|
-
|
|
50
|
+
|
|
37
51
|
/**
|
|
38
52
|
The error object generated when this becomes an error
|
|
39
|
-
|
|
40
|
-
@
|
|
53
|
+
|
|
54
|
+
@type SC.Error
|
|
55
|
+
@default null
|
|
41
56
|
*/
|
|
42
57
|
errorObject: null,
|
|
43
|
-
|
|
44
|
-
/**
|
|
58
|
+
|
|
59
|
+
/**
|
|
45
60
|
Request used to generate this response. This is a copy of the original
|
|
46
61
|
request object as you may have modified the original request object since
|
|
47
62
|
then.
|
|
48
|
-
|
|
63
|
+
|
|
49
64
|
To retrieve the original request object use originalRequest.
|
|
50
|
-
|
|
51
|
-
@
|
|
65
|
+
|
|
66
|
+
@type SC.Request
|
|
67
|
+
@default null
|
|
52
68
|
*/
|
|
53
69
|
request: null,
|
|
54
70
|
|
|
@@ -56,38 +72,47 @@ SC.Response = SC.Object.extend(
|
|
|
56
72
|
The request object that originated this request series. Mostly this is
|
|
57
73
|
useful if you are looking for a reference to the original request. To
|
|
58
74
|
inspect actual properties you should use request instead.
|
|
59
|
-
|
|
60
|
-
@
|
|
75
|
+
|
|
76
|
+
@field
|
|
77
|
+
@type SC.Request
|
|
78
|
+
@observes request
|
|
61
79
|
*/
|
|
62
80
|
originalRequest: function() {
|
|
63
81
|
var ret = this.get('request');
|
|
64
|
-
while (ret.get('source')) ret = ret.get('source');
|
|
82
|
+
while (ret.get('source')) { ret = ret.get('source'); }
|
|
65
83
|
return ret ;
|
|
66
84
|
}.property('request').cacheable(),
|
|
67
85
|
|
|
68
86
|
/**
|
|
69
|
-
Type of request.
|
|
70
|
-
|
|
71
|
-
@
|
|
87
|
+
Type of request. Must be an HTTP method. Based on the request.
|
|
88
|
+
|
|
89
|
+
@field
|
|
90
|
+
@type String
|
|
91
|
+
@observes request
|
|
72
92
|
*/
|
|
73
93
|
type: function() {
|
|
74
94
|
return this.getPath('request.type');
|
|
75
95
|
}.property('request').cacheable(),
|
|
76
|
-
|
|
96
|
+
|
|
77
97
|
/**
|
|
78
|
-
URL of request.
|
|
79
|
-
|
|
80
|
-
@
|
|
98
|
+
URL of request.
|
|
99
|
+
|
|
100
|
+
@field
|
|
101
|
+
@type String
|
|
102
|
+
@observes request
|
|
81
103
|
*/
|
|
82
104
|
address: function() {
|
|
83
105
|
return this.getPath('request.address');
|
|
84
106
|
}.property('request').cacheable(),
|
|
85
|
-
|
|
107
|
+
|
|
86
108
|
/**
|
|
87
109
|
If set then will attempt to automatically parse response as JSON
|
|
88
110
|
regardless of headers.
|
|
89
|
-
|
|
90
|
-
@
|
|
111
|
+
|
|
112
|
+
@field
|
|
113
|
+
@type Boolean
|
|
114
|
+
@default NO
|
|
115
|
+
@observes request
|
|
91
116
|
*/
|
|
92
117
|
isJSON: function() {
|
|
93
118
|
return this.getPath('request.isJSON') || NO;
|
|
@@ -96,41 +121,50 @@ SC.Response = SC.Object.extend(
|
|
|
96
121
|
/**
|
|
97
122
|
If set, then will attempt to automatically parse response as XML
|
|
98
123
|
regarldess of headers.
|
|
99
|
-
|
|
100
|
-
@
|
|
124
|
+
|
|
125
|
+
@field
|
|
126
|
+
@type Boolean
|
|
127
|
+
@default NO
|
|
128
|
+
@observes request
|
|
101
129
|
*/
|
|
102
130
|
isXML: function() {
|
|
103
131
|
return this.getPath('request.isXML') || NO ;
|
|
104
132
|
}.property('request').cacheable(),
|
|
105
|
-
|
|
106
|
-
/**
|
|
133
|
+
|
|
134
|
+
/**
|
|
107
135
|
Returns the hash of listeners set on the request.
|
|
108
|
-
|
|
109
|
-
@
|
|
136
|
+
|
|
137
|
+
@field
|
|
138
|
+
@type Hash
|
|
139
|
+
@observes request
|
|
110
140
|
*/
|
|
111
141
|
listeners: function() {
|
|
112
142
|
return this.getPath('request.listeners');
|
|
113
143
|
}.property('request').cacheable(),
|
|
114
|
-
|
|
144
|
+
|
|
115
145
|
/**
|
|
116
146
|
The response status code.
|
|
117
|
-
|
|
118
|
-
@
|
|
147
|
+
|
|
148
|
+
@type Number
|
|
149
|
+
@default -100
|
|
119
150
|
*/
|
|
120
151
|
status: -100, // READY
|
|
121
152
|
|
|
122
153
|
/**
|
|
123
|
-
Headers from the response.
|
|
124
|
-
|
|
125
|
-
@
|
|
154
|
+
Headers from the response. Computed on-demand
|
|
155
|
+
|
|
156
|
+
@type Hash
|
|
157
|
+
@default null
|
|
126
158
|
*/
|
|
127
159
|
headers: null,
|
|
128
|
-
|
|
160
|
+
|
|
129
161
|
/**
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
162
|
+
The response body or the parsed JSON. Returns a SC.Error instance
|
|
163
|
+
if there is a JSON parsing error. If isJSON was set, will be parsed
|
|
164
|
+
automatically.
|
|
165
|
+
|
|
166
|
+
@field
|
|
167
|
+
@type {Hash|String|SC.Error}
|
|
134
168
|
*/
|
|
135
169
|
body: function() {
|
|
136
170
|
// TODO: support XML
|
|
@@ -147,74 +181,82 @@ SC.Response = SC.Object.extend(
|
|
|
147
181
|
}
|
|
148
182
|
return ret;
|
|
149
183
|
}.property('encodedBody').cacheable(),
|
|
150
|
-
|
|
151
|
-
/**
|
|
184
|
+
|
|
185
|
+
/**
|
|
152
186
|
@private
|
|
153
|
-
@deprecated
|
|
154
|
-
|
|
155
|
-
Alias for body.
|
|
156
|
-
|
|
157
|
-
@
|
|
187
|
+
@deprecated Use body instead.
|
|
188
|
+
|
|
189
|
+
Alias for body.
|
|
190
|
+
|
|
191
|
+
@type Hash|String
|
|
192
|
+
@see #body
|
|
158
193
|
*/
|
|
159
194
|
response: function() {
|
|
160
195
|
return this.get('body');
|
|
161
196
|
}.property('body').cacheable(),
|
|
162
|
-
|
|
197
|
+
|
|
163
198
|
/**
|
|
164
199
|
Set to YES if response is cancelled
|
|
200
|
+
|
|
201
|
+
@type Boolean
|
|
202
|
+
@default NO
|
|
165
203
|
*/
|
|
166
204
|
isCancelled: NO,
|
|
167
|
-
|
|
205
|
+
|
|
168
206
|
/**
|
|
169
|
-
Set to YES if the request timed out.
|
|
170
|
-
completed before the timeout value.
|
|
207
|
+
Set to YES if the request timed out. Set to NO if the request has
|
|
208
|
+
completed before the timeout value. Set to null if the timeout timer is
|
|
171
209
|
still ticking.
|
|
210
|
+
|
|
211
|
+
@type Boolean
|
|
212
|
+
@default null
|
|
172
213
|
*/
|
|
173
214
|
timedOut: null,
|
|
174
215
|
|
|
175
216
|
/**
|
|
176
217
|
The timer tracking the timeout
|
|
218
|
+
|
|
219
|
+
@type Number
|
|
220
|
+
@default null
|
|
177
221
|
*/
|
|
178
222
|
timeoutTimer: null,
|
|
179
|
-
|
|
223
|
+
|
|
224
|
+
|
|
180
225
|
// ..........................................................
|
|
181
226
|
// METHODS
|
|
182
227
|
//
|
|
183
228
|
|
|
184
229
|
/**
|
|
185
|
-
Called by the request manager when its time to actually run.
|
|
186
|
-
invoke any callbacks on the source request then invoke transport() to
|
|
230
|
+
Called by the request manager when its time to actually run. This will
|
|
231
|
+
invoke any callbacks on the source request then invoke transport() to
|
|
187
232
|
begin the actual request.
|
|
188
233
|
*/
|
|
189
234
|
fire: function() {
|
|
190
235
|
var req = this.get('request'),
|
|
191
236
|
source = req ? req.get('source') : null;
|
|
192
|
-
|
|
193
|
-
|
|
237
|
+
|
|
194
238
|
// first give the source a chance to fixup the request and response
|
|
195
239
|
// then freeze req so no more changes can happen.
|
|
196
|
-
if (source && source.willSend) source.willSend(req, this);
|
|
240
|
+
if (source && source.willSend) { source.willSend(req, this); }
|
|
197
241
|
req.freeze();
|
|
198
242
|
|
|
199
243
|
// if the source did not cancel the request, then invoke the transport
|
|
200
244
|
// to actually trigger the request. This might receive a response
|
|
201
245
|
// immediately if it is synchronous.
|
|
202
|
-
if (!this.get('isCancelled')) this.invokeTransport();
|
|
203
|
-
|
|
246
|
+
if (!this.get('isCancelled')) { this.invokeTransport(); }
|
|
204
247
|
|
|
205
248
|
// If the request specified a timeout value, then set a timer for it now.
|
|
206
249
|
var timeout = req.get('timeout');
|
|
207
250
|
if (timeout) {
|
|
208
251
|
var timer = SC.Timer.schedule({
|
|
209
|
-
target:
|
|
210
|
-
action:
|
|
252
|
+
target: this,
|
|
253
|
+
action: 'timeoutReached',
|
|
211
254
|
interval: timeout,
|
|
212
|
-
repeats:
|
|
255
|
+
repeats: NO
|
|
213
256
|
});
|
|
214
257
|
this.set('timeoutTimer', timer);
|
|
215
258
|
}
|
|
216
259
|
|
|
217
|
-
|
|
218
260
|
// if the transport did not cancel the request for some reason, let the
|
|
219
261
|
// source know that the request was sent
|
|
220
262
|
if (!this.get('isCancelled') && source && source.didSend) {
|
|
@@ -222,17 +264,21 @@ SC.Response = SC.Object.extend(
|
|
|
222
264
|
}
|
|
223
265
|
},
|
|
224
266
|
|
|
267
|
+
/**
|
|
268
|
+
Called by `SC.Response#fire()`. Starts the transport by invoking the
|
|
269
|
+
`SC.Response#receive()` function.
|
|
270
|
+
*/
|
|
225
271
|
invokeTransport: function() {
|
|
226
272
|
this.receive(function(proceed) { this.set('status', 200); }, this);
|
|
227
273
|
},
|
|
228
|
-
|
|
274
|
+
|
|
229
275
|
/**
|
|
230
|
-
Invoked by the transport when it receives a response.
|
|
231
|
-
callback will be invoked to actually process the response.
|
|
232
|
-
we will pass NO.
|
|
233
|
-
|
|
276
|
+
Invoked by the transport when it receives a response. The passed-in
|
|
277
|
+
callback will be invoked to actually process the response. If cancelled
|
|
278
|
+
we will pass NO. You should clean up instead.
|
|
279
|
+
|
|
234
280
|
Invokes callbacks on the source request also.
|
|
235
|
-
|
|
281
|
+
|
|
236
282
|
@param {Function} callback the function to receive
|
|
237
283
|
@param {Object} context context to execute the callback in
|
|
238
284
|
@returns {SC.Response} receiver
|
|
@@ -241,7 +287,7 @@ SC.Response = SC.Object.extend(
|
|
|
241
287
|
if (!this.get('timedOut')) {
|
|
242
288
|
// If we had a timeout timer scheduled, invalidate it now.
|
|
243
289
|
var timer = this.get('timeoutTimer');
|
|
244
|
-
if (timer) timer.invalidate();
|
|
290
|
+
if (timer) { timer.invalidate(); }
|
|
245
291
|
this.set('timedOut', NO);
|
|
246
292
|
}
|
|
247
293
|
|
|
@@ -251,7 +297,7 @@ SC.Response = SC.Object.extend(
|
|
|
251
297
|
SC.run(function() {
|
|
252
298
|
// invoke the source, giving a chance to fixup the response or (more
|
|
253
299
|
// likely) cancel the request.
|
|
254
|
-
if (source && source.willReceive) source.willReceive(req, this);
|
|
300
|
+
if (source && source.willReceive) { source.willReceive(req, this); }
|
|
255
301
|
|
|
256
302
|
// invoke the callback. note if the response was cancelled or not
|
|
257
303
|
callback.call(context, !this.get('isCancelled'));
|
|
@@ -264,16 +310,16 @@ SC.Response = SC.Object.extend(
|
|
|
264
310
|
}
|
|
265
311
|
|
|
266
312
|
// notify listeners if we weren't cancelled.
|
|
267
|
-
if (!this.get('isCancelled')) this.notify();
|
|
313
|
+
if (!this.get('isCancelled')) { this.notify(); }
|
|
268
314
|
}, this);
|
|
269
315
|
|
|
270
316
|
// no matter what, remove from inflight queue
|
|
271
|
-
SC.Request.manager.transportDidClose(this)
|
|
317
|
+
SC.Request.manager.transportDidClose(this);
|
|
272
318
|
return this;
|
|
273
319
|
},
|
|
274
|
-
|
|
320
|
+
|
|
275
321
|
/**
|
|
276
|
-
Default method just closes the connection.
|
|
322
|
+
Default method just closes the connection. It will also mark the request
|
|
277
323
|
as cancelled, which will not call any listeners.
|
|
278
324
|
*/
|
|
279
325
|
cancel: function() {
|
|
@@ -283,9 +329,11 @@ SC.Response = SC.Object.extend(
|
|
|
283
329
|
SC.Request.manager.transportDidClose(this) ;
|
|
284
330
|
}
|
|
285
331
|
},
|
|
286
|
-
|
|
332
|
+
|
|
287
333
|
/**
|
|
288
334
|
Default method just closes the connection.
|
|
335
|
+
|
|
336
|
+
@returns {Boolean} YES if this response has not timed out yet, NO otherwise
|
|
289
337
|
*/
|
|
290
338
|
timeoutReached: function() {
|
|
291
339
|
// If we already received a response yet the timer still fired for some
|
|
@@ -298,7 +346,7 @@ SC.Response = SC.Object.extend(
|
|
|
298
346
|
// any. In the event of a timeout, we set the status to 0 since we
|
|
299
347
|
// didn't actually get a response from the server.
|
|
300
348
|
this.receive(function(proceed) {
|
|
301
|
-
if (!proceed) return;
|
|
349
|
+
if (!proceed) { return; }
|
|
302
350
|
|
|
303
351
|
// Set our value to an error.
|
|
304
352
|
var error = SC.$error("HTTP Request timed out", "Request", 0) ;
|
|
@@ -313,67 +361,82 @@ SC.Response = SC.Object.extend(
|
|
|
313
361
|
|
|
314
362
|
return NO;
|
|
315
363
|
},
|
|
316
|
-
|
|
364
|
+
|
|
317
365
|
/**
|
|
318
366
|
Override with concrete implementation to actually cancel the transport.
|
|
319
367
|
*/
|
|
320
368
|
cancelTransport: function() {},
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
@private
|
|
372
|
+
|
|
373
|
+
Will notify each listener. Returns true if any of the listeners handle.
|
|
324
374
|
*/
|
|
325
|
-
|
|
326
|
-
var
|
|
327
|
-
if (!
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
375
|
+
_notifyListeners: function(listeners, status) {
|
|
376
|
+
var notifiers = listeners[status], params, target, action;
|
|
377
|
+
if (!notifiers) { return NO; }
|
|
378
|
+
|
|
379
|
+
var handled = NO;
|
|
380
|
+
var len = notifiers.length;
|
|
381
|
+
|
|
382
|
+
for (var i = 0; i < len; i++) {
|
|
383
|
+
var notifier = notifiers[i];
|
|
384
|
+
params = (notifier.params || []).copy();
|
|
385
|
+
params.unshift(this);
|
|
386
|
+
|
|
387
|
+
target = notifier.target;
|
|
388
|
+
action = notifier.action;
|
|
389
|
+
if (SC.typeOf(action) === SC.T_STRING) { action = target[action]; }
|
|
390
|
+
|
|
391
|
+
handled = action.apply(target, params);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
return handled;
|
|
337
395
|
},
|
|
338
|
-
|
|
396
|
+
|
|
339
397
|
/**
|
|
340
|
-
Notifies any saved target/action.
|
|
341
|
-
|
|
398
|
+
Notifies any saved target/action. Call whenever you cancel, or end.
|
|
399
|
+
|
|
342
400
|
@returns {SC.Response} receiver
|
|
343
401
|
*/
|
|
344
402
|
notify: function() {
|
|
345
|
-
var listeners = this.get('listeners'),
|
|
346
|
-
status
|
|
347
|
-
baseStat
|
|
348
|
-
handled
|
|
349
|
-
|
|
350
|
-
if (!listeners) return this
|
|
351
|
-
|
|
352
|
-
handled = this.
|
|
353
|
-
if (!handled) handled = this.
|
|
354
|
-
if (!handled) handled = this.
|
|
403
|
+
var listeners = this.get('listeners'),
|
|
404
|
+
status = this.get('status'),
|
|
405
|
+
baseStat = Math.floor(status / 100) * 100,
|
|
406
|
+
handled = NO;
|
|
407
|
+
|
|
408
|
+
if (!listeners) { return this; }
|
|
409
|
+
|
|
410
|
+
handled = this._notifyListeners(listeners, status);
|
|
411
|
+
if (!handled && baseStat !== status) { handled = this._notifyListeners(listeners, baseStat); }
|
|
412
|
+
if (!handled && status !== 0) { handled = this._notifyListeners(listeners, 0); }
|
|
355
413
|
|
|
356
414
|
return this ;
|
|
357
415
|
},
|
|
358
416
|
|
|
359
417
|
/**
|
|
360
418
|
String representation of the response object
|
|
419
|
+
|
|
420
|
+
@returns {String}
|
|
361
421
|
*/
|
|
362
422
|
toString: function() {
|
|
363
423
|
var ret = sc_super();
|
|
364
424
|
return "%@<%@ %@, status=%@".fmt(ret, this.get('type'), this.get('address'), this.get('status'));
|
|
365
425
|
}
|
|
366
|
-
|
|
426
|
+
|
|
367
427
|
});
|
|
368
428
|
|
|
369
429
|
/**
|
|
370
|
-
|
|
430
|
+
@class
|
|
431
|
+
|
|
432
|
+
Concrete implementation of SC.Response that implements support for using
|
|
371
433
|
XHR requests.
|
|
372
|
-
|
|
434
|
+
|
|
373
435
|
@extends SC.Response
|
|
374
436
|
@since SproutCore 1.0
|
|
375
437
|
*/
|
|
376
|
-
SC.XHRResponse = SC.Response.extend(
|
|
438
|
+
SC.XHRResponse = SC.Response.extend(
|
|
439
|
+
/** @scope SC.XHRResponse.prototype */{
|
|
377
440
|
|
|
378
441
|
/**
|
|
379
442
|
Implement transport-specific support for fetching all headers
|
|
@@ -382,77 +445,94 @@ SC.XHRResponse = SC.Response.extend({
|
|
|
382
445
|
var xhr = this.get('rawRequest'),
|
|
383
446
|
str = xhr ? xhr.getAllResponseHeaders() : null,
|
|
384
447
|
ret = {};
|
|
385
|
-
|
|
386
|
-
if (!str) return ret;
|
|
387
|
-
|
|
448
|
+
|
|
449
|
+
if (!str) { return ret; }
|
|
450
|
+
|
|
388
451
|
str.split("\n").forEach(function(header) {
|
|
389
452
|
var idx = header.indexOf(':'),
|
|
390
453
|
key, value;
|
|
391
|
-
|
|
454
|
+
|
|
455
|
+
if (idx >= 0) {
|
|
392
456
|
key = header.slice(0,idx);
|
|
393
|
-
value = header.slice(idx+1).trim();
|
|
394
|
-
ret[key] = value
|
|
457
|
+
value = header.slice(idx + 1).trim();
|
|
458
|
+
ret[key] = value;
|
|
395
459
|
}
|
|
396
460
|
}, this);
|
|
397
|
-
|
|
398
|
-
return ret
|
|
461
|
+
|
|
462
|
+
return ret;
|
|
399
463
|
}.property('status').cacheable(),
|
|
400
|
-
|
|
401
|
-
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
Returns a header value if found.
|
|
467
|
+
|
|
468
|
+
@param {String} key The header key
|
|
469
|
+
@returns {String}
|
|
470
|
+
*/
|
|
402
471
|
header: function(key) {
|
|
403
472
|
var xhr = this.get('rawRequest');
|
|
404
|
-
return xhr ? xhr.getResponseHeader(key) : null;
|
|
473
|
+
return xhr ? xhr.getResponseHeader(key) : null;
|
|
405
474
|
},
|
|
406
|
-
|
|
475
|
+
|
|
407
476
|
/**
|
|
408
477
|
Implement transport-specific support for fetching tasks
|
|
478
|
+
|
|
479
|
+
@field
|
|
480
|
+
@type String
|
|
481
|
+
@default #rawRequest
|
|
409
482
|
*/
|
|
410
483
|
encodedBody: function() {
|
|
411
|
-
var xhr = this.get('rawRequest')
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
484
|
+
var xhr = this.get('rawRequest');
|
|
485
|
+
|
|
486
|
+
if (!xhr) { return null; }
|
|
487
|
+
if (this.get('isXML')) { return xhr.responseXML; }
|
|
488
|
+
|
|
489
|
+
return xhr.responseText;
|
|
416
490
|
}.property('status').cacheable(),
|
|
417
|
-
|
|
418
491
|
|
|
492
|
+
/**
|
|
493
|
+
Cancels the request.
|
|
494
|
+
*/
|
|
419
495
|
cancelTransport: function() {
|
|
420
496
|
var rawRequest = this.get('rawRequest');
|
|
421
|
-
if (rawRequest) rawRequest.abort();
|
|
497
|
+
if (rawRequest) { rawRequest.abort(); }
|
|
422
498
|
this.set('rawRequest', null);
|
|
423
499
|
},
|
|
424
500
|
|
|
501
|
+
/**
|
|
502
|
+
Starts the transport of the request
|
|
503
|
+
|
|
504
|
+
@returns {XMLHttpRequest|ActiveXObject}
|
|
505
|
+
*/
|
|
425
506
|
invokeTransport: function() {
|
|
426
507
|
var rawRequest, transport, handleReadyStateChange, async, headers;
|
|
427
|
-
|
|
428
|
-
rawRequest = this.createRequest();
|
|
429
508
|
|
|
430
|
-
|
|
509
|
+
rawRequest = this.createRequest();
|
|
431
510
|
this.set('rawRequest', rawRequest);
|
|
432
|
-
|
|
511
|
+
|
|
433
512
|
// configure async callback - differs per browser...
|
|
434
|
-
async = !!this.getPath('request.isAsynchronous')
|
|
513
|
+
async = !!this.getPath('request.isAsynchronous');
|
|
514
|
+
|
|
435
515
|
if (async) {
|
|
436
|
-
if (!SC.browser.msie && !SC.browser.opera
|
|
437
|
-
SC.Event.add(rawRequest, 'readystatechange', this,
|
|
438
|
-
this.finishRequest, rawRequest)
|
|
516
|
+
if (!SC.browser.msie && !SC.browser.opera) {
|
|
517
|
+
SC.Event.add(rawRequest, 'readystatechange', this,
|
|
518
|
+
this.finishRequest, rawRequest);
|
|
439
519
|
} else {
|
|
440
|
-
transport=this;
|
|
520
|
+
transport = this;
|
|
441
521
|
handleReadyStateChange = function() {
|
|
442
|
-
if (!transport) return null
|
|
522
|
+
if (!transport) { return null; }
|
|
443
523
|
var ret = transport.finishRequest();
|
|
444
|
-
if (ret) transport = null
|
|
445
|
-
return ret
|
|
524
|
+
if (ret) { transport = null; }
|
|
525
|
+
return ret;
|
|
446
526
|
};
|
|
447
527
|
rawRequest.onreadystatechange = handleReadyStateChange;
|
|
448
528
|
}
|
|
449
529
|
}
|
|
450
|
-
|
|
451
|
-
// initiate request.
|
|
452
|
-
rawRequest.open(this.get('type'), this.get('address'), async
|
|
453
|
-
|
|
530
|
+
|
|
531
|
+
// initiate request.
|
|
532
|
+
rawRequest.open(this.get('type'), this.get('address'), async);
|
|
533
|
+
|
|
454
534
|
// headers need to be set *after* the open call.
|
|
455
|
-
headers = this.getPath('request.headers')
|
|
535
|
+
headers = this.getPath('request.headers');
|
|
456
536
|
for (var headerKey in headers) {
|
|
457
537
|
rawRequest.setRequestHeader(headerKey, headers[headerKey]) ;
|
|
458
538
|
}
|
|
@@ -460,11 +540,11 @@ SC.XHRResponse = SC.Response.extend({
|
|
|
460
540
|
// now send the actual request body - for sync requests browser will
|
|
461
541
|
// block here
|
|
462
542
|
rawRequest.send(this.getPath('request.encodedBody')) ;
|
|
463
|
-
if (!async) this.finishRequest()
|
|
464
|
-
|
|
465
|
-
return rawRequest
|
|
543
|
+
if (!async) { this.finishRequest(); }
|
|
544
|
+
|
|
545
|
+
return rawRequest;
|
|
466
546
|
},
|
|
467
|
-
|
|
547
|
+
|
|
468
548
|
/**
|
|
469
549
|
Creates the correct XMLHttpRequest object for this browser.
|
|
470
550
|
|
|
@@ -474,12 +554,11 @@ SC.XHRResponse = SC.Response.extend({
|
|
|
474
554
|
@returns {XMLHttpRequest|ActiveXObject}
|
|
475
555
|
*/
|
|
476
556
|
createRequest: function() {
|
|
477
|
-
// Get an XHR object
|
|
478
557
|
function tryThese() {
|
|
479
558
|
for (var i=0; i < arguments.length; i++) {
|
|
480
559
|
try {
|
|
481
|
-
var item = arguments[i]()
|
|
482
|
-
return item
|
|
560
|
+
var item = arguments[i]();
|
|
561
|
+
return item;
|
|
483
562
|
} catch (e) {}
|
|
484
563
|
}
|
|
485
564
|
return NO;
|
|
@@ -492,12 +571,13 @@ SC.XHRResponse = SC.Response.extend({
|
|
|
492
571
|
);
|
|
493
572
|
},
|
|
494
573
|
|
|
495
|
-
/**
|
|
496
|
-
|
|
574
|
+
/**
|
|
575
|
+
@private
|
|
576
|
+
|
|
497
577
|
Called by the XHR when it responds with some final results.
|
|
498
|
-
|
|
578
|
+
|
|
499
579
|
@param {XMLHttpRequest} rawRequest the actual request
|
|
500
|
-
@returns {
|
|
580
|
+
@returns {Boolean} YES if completed, NO otherwise
|
|
501
581
|
*/
|
|
502
582
|
finishRequest: function(evt) {
|
|
503
583
|
var rawRequest = this.get('rawRequest'),
|
|
@@ -506,24 +586,24 @@ SC.XHRResponse = SC.Response.extend({
|
|
|
506
586
|
|
|
507
587
|
if (readyState === 4 && !this.get('timedOut')) {
|
|
508
588
|
this.receive(function(proceed) {
|
|
509
|
-
if (!proceed) return
|
|
510
|
-
|
|
589
|
+
if (!proceed) { return; }
|
|
590
|
+
|
|
511
591
|
// collect the status and decide if we're in an error state or not
|
|
512
|
-
status = -1
|
|
592
|
+
status = -1;
|
|
513
593
|
try {
|
|
514
594
|
status = rawRequest.status || 0;
|
|
515
595
|
} catch (e) {}
|
|
516
596
|
|
|
517
597
|
// if there was an error - setup error and save it
|
|
518
598
|
if ((status < 200) || (status >= 300)) {
|
|
519
|
-
|
|
599
|
+
|
|
520
600
|
try {
|
|
521
601
|
msg = rawRequest.statusText || '';
|
|
522
602
|
} catch(e2) {
|
|
523
603
|
msg = '';
|
|
524
604
|
}
|
|
525
|
-
|
|
526
|
-
error = SC.$error(msg || "HTTP Request failed", "Request", status)
|
|
605
|
+
|
|
606
|
+
error = SC.$error(msg || "HTTP Request failed", "Request", status);
|
|
527
607
|
error.set("errorValue", this) ;
|
|
528
608
|
this.set('isError', YES);
|
|
529
609
|
this.set('errorObject', error);
|
|
@@ -531,20 +611,18 @@ SC.XHRResponse = SC.Response.extend({
|
|
|
531
611
|
|
|
532
612
|
// set the status - this will trigger changes on relatedp properties
|
|
533
613
|
this.set('status', status);
|
|
534
|
-
|
|
535
614
|
}, this);
|
|
536
615
|
|
|
537
616
|
// Avoid memory leaks
|
|
538
617
|
if (!SC.browser.msie && !SC.browser.opera) {
|
|
539
|
-
SC.Event.remove(rawRequest, 'readystatechange', this, this.finishRequest);
|
|
618
|
+
SC.Event.remove(rawRequest, 'readystatechange', this, this.finishRequest);
|
|
540
619
|
} else {
|
|
541
620
|
rawRequest.onreadystatechange = null;
|
|
542
621
|
}
|
|
543
622
|
|
|
544
623
|
return YES;
|
|
545
624
|
}
|
|
546
|
-
return NO;
|
|
625
|
+
return NO;
|
|
547
626
|
}
|
|
548
627
|
|
|
549
|
-
|
|
550
628
|
});
|