sproutcore 1.6.0.beta.3-java → 1.6.0-java
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
});
|