sproutit-sproutcore 1.0.0.20090416161445 → 1.0.0.20090720093355
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/Buildfile +4 -2
- data/frameworks/sproutcore/Buildfile +3 -2
- data/frameworks/sproutcore/README +2 -1
- data/frameworks/sproutcore/apps/docs/core.js +27 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Preview.pdf +0 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Thumbnail.tiff +0 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/data.plist +14378 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image10.png +0 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image11.png +0 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image13.png +0 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image14.png +0 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image8.png +0 -0
- data/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image9.tiff +0 -0
- data/frameworks/sproutcore/apps/docs/english.lproj/loading.rhtml +9 -0
- data/frameworks/sproutcore/apps/docs/english.lproj/main_page.js +22 -0
- data/frameworks/sproutcore/apps/{sc_jsdoc → docs}/english.lproj/strings.js +7 -7
- data/frameworks/sproutcore/apps/docs/main.js +30 -0
- data/frameworks/sproutcore/apps/tests/controllers/detail.js +16 -0
- data/frameworks/sproutcore/apps/tests/controllers/source.js +29 -0
- data/frameworks/sproutcore/apps/tests/controllers/target.js +26 -0
- data/frameworks/sproutcore/apps/tests/controllers/targets.js +65 -26
- data/frameworks/sproutcore/apps/tests/controllers/tests.js +14 -19
- data/frameworks/sproutcore/apps/tests/core.js +114 -16
- data/frameworks/sproutcore/apps/tests/data_source.js +96 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/main_page.css +22 -2
- data/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +168 -22
- data/frameworks/sproutcore/apps/tests/english.lproj/strings.js +14 -5
- data/frameworks/sproutcore/apps/tests/fixtures/target.js +81 -37
- data/frameworks/sproutcore/apps/tests/fixtures/test.js +38 -37
- data/frameworks/sproutcore/apps/tests/main.js +9 -20
- data/frameworks/sproutcore/apps/tests/models/target.js +74 -31
- data/frameworks/sproutcore/apps/tests/models/test.js +30 -2
- data/frameworks/sproutcore/{frameworks/desktop/mixins/collection_item.js → apps/tests/states/no_targets.js} +16 -12
- data/frameworks/sproutcore/apps/tests/states/ready.js +56 -0
- data/frameworks/sproutcore/apps/tests/states/ready_detail.js +41 -0
- data/frameworks/sproutcore/apps/tests/states/ready_empty.js +48 -0
- data/frameworks/sproutcore/apps/tests/states/ready_list.js +41 -0
- data/frameworks/sproutcore/apps/tests/states/ready_loading.js +44 -0
- data/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +31 -0
- data/frameworks/sproutcore/apps/tests/states/start.js +39 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/{test.js → detail.js} +3 -3
- data/frameworks/sproutcore/apps/tests/tests/controllers/source.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/target.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +3 -3
- data/frameworks/sproutcore/apps/tests/tests/views/offset_checkbox.js +15 -0
- data/frameworks/sproutcore/apps/tests/views/offset_checkbox.js +26 -0
- data/frameworks/sproutcore/design/CollectionView State Charts.graffle +4848 -0
- data/frameworks/sproutcore/design/Design Charts.graffle +8788 -6375
- data/frameworks/sproutcore/design/SproutCore Design Template.graffle/QuickLook/Preview.pdf +0 -0
- data/frameworks/sproutcore/design/SproutCore Design Template.graffle/QuickLook/Thumbnail.tiff +0 -0
- data/frameworks/sproutcore/design/SproutCore Design Template.graffle/data.plist +1452 -0
- data/frameworks/sproutcore/design/SproutCore Design Template.graffle/image8.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/QuickLook/Preview.pdf +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/QuickLook/Thumbnail.tiff +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/data.plist +24187 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image10.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image11.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image13.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image15.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image16.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image17.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image18.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image19.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image22.tiff +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image23.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image24.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image25.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image30.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image31.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image8.png +0 -0
- data/frameworks/sproutcore/design/TestRunner Design.graffle/image9.png +0 -0
- data/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +2 -2
- data/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +66 -49
- data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +146 -31
- data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures_with_queries.js +238 -0
- data/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +27 -11
- data/frameworks/sproutcore/frameworks/datastore/models/record.js +163 -32
- data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +67 -5
- data/frameworks/sproutcore/frameworks/datastore/system/many_array.js +157 -0
- data/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +202 -19
- data/frameworks/sproutcore/frameworks/datastore/system/query.js +929 -78
- data/frameworks/sproutcore/frameworks/datastore/system/record_array.js +143 -5
- data/frameworks/sproutcore/frameworks/datastore/system/store.js +443 -125
- data/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +38 -3
- data/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +94 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +30 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +238 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +105 -16
- data/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +178 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +9 -8
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +6 -6
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/dataHashDidChange.js +6 -6
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +3 -3
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +7 -7
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readEditableDataHash.js +4 -4
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/removeDataHash.js +7 -7
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/writeDataHash.js +7 -7
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare_records.js +126 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +165 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation_of_records.js +82 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/find_all.js +362 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/parsing.js +170 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +43 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +60 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +67 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +2 -13
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +3 -4
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +73 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +15 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +4 -2
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +2 -2
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +1 -1
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/retrieveRecord.js +2 -2
- data/frameworks/sproutcore/frameworks/debug/core.js +60 -0
- data/frameworks/sproutcore/frameworks/deprecated/core.js +0 -2
- data/frameworks/sproutcore/frameworks/deprecated/server/server.js +0 -1
- data/frameworks/sproutcore/frameworks/deprecated/system/browser.js +0 -2
- data/frameworks/sproutcore/frameworks/deprecated/system/classic_responder.js +0 -2
- data/frameworks/sproutcore/frameworks/deprecated/system/event.js +0 -2
- data/frameworks/sproutcore/frameworks/deprecated/system/misc.js +0 -2
- data/frameworks/sproutcore/frameworks/deprecated/system/object.js +0 -2
- data/frameworks/sproutcore/frameworks/deprecated/system/path_module.js +0 -1
- data/frameworks/sproutcore/frameworks/deprecated/system/string.js +0 -2
- data/frameworks/sproutcore/frameworks/designer/coders/design.js +1 -2
- data/frameworks/sproutcore/frameworks/designer/coders/localization.js +1 -2
- data/frameworks/sproutcore/frameworks/designer/coders/object.js +1 -1
- data/frameworks/sproutcore/frameworks/designer/controllers/page_design.js +1 -1
- data/frameworks/sproutcore/frameworks/designer/ext/page.js +0 -2
- data/frameworks/sproutcore/frameworks/designer/ext/view.js +0 -2
- data/frameworks/sproutcore/frameworks/designer/views/controls/button.js +2 -3
- data/frameworks/sproutcore/frameworks/designer/views/designer.js +24 -8
- data/frameworks/sproutcore/frameworks/designer/views/label.js +1 -2
- data/frameworks/sproutcore/frameworks/designer/views/mixins/button.js +0 -2
- data/frameworks/sproutcore/frameworks/designer/views/tab.js +1 -2
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +2 -2
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/drag.css +6 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +63 -10
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +5 -4
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/modal.css +5 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +1 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +5 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/split_divider.css +1 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/tab.css +1 -1
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +61 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +136 -79
- data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +55 -24
- data/frameworks/sproutcore/frameworks/desktop/panes/menu.js +295 -147
- data/frameworks/sproutcore/frameworks/desktop/panes/palette.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/panes/panel.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/panes/picker.js +18 -20
- data/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +2 -2
- data/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +4 -4
- data/frameworks/sproutcore/frameworks/desktop/system/drag.js +337 -231
- data/frameworks/sproutcore/frameworks/desktop/system/root_responder.js +3 -3
- data/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +2 -2
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +46 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +4 -2
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +5 -6
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +11 -11
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +11 -7
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +9 -9
- data/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +19 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +0 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +249 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +82 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +199 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +288 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +65 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +88 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +165 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/nowShowing.js +121 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +177 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/select.js +240 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +191 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +197 -39
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +141 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +182 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +183 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +133 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +132 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +56 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +167 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +127 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +30 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/ui.js +8 -8
- data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +9 -9
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/methods.js +45 -6
- data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +2 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +17 -1
- data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +44 -29
- data/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +231 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/button.js +15 -4
- data/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +8 -1
- data/frameworks/sproutcore/frameworks/desktop/views/collection.js +1739 -1123
- data/frameworks/sproutcore/frameworks/desktop/views/form.js +0 -1
- data/frameworks/sproutcore/frameworks/desktop/views/grid.js +13 -11
- data/frameworks/sproutcore/frameworks/desktop/views/list.js +405 -571
- data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +211 -74
- data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +319 -169
- data/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +57 -51
- data/frameworks/sproutcore/frameworks/desktop/views/progress.js +2 -2
- data/frameworks/sproutcore/frameworks/desktop/views/scene.js +150 -2
- data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +92 -50
- data/frameworks/sproutcore/frameworks/desktop/views/scroller.js +86 -63
- data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +38 -22
- data/frameworks/sproutcore/frameworks/desktop/views/select_field.js +51 -12
- data/frameworks/sproutcore/frameworks/desktop/views/slider.js +2 -0
- data/frameworks/sproutcore/frameworks/desktop/views/source_list.js +17 -1087
- data/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +3 -3
- data/frameworks/sproutcore/frameworks/desktop/views/split.js +35 -9
- data/frameworks/sproutcore/frameworks/desktop/views/stacked.js +101 -0
- data/frameworks/sproutcore/frameworks/desktop/views/tab.js +23 -22
- data/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/controllers/array.js +382 -363
- data/frameworks/sproutcore/frameworks/foundation/controllers/controller.js +7 -279
- data/frameworks/sproutcore/frameworks/foundation/controllers/object.js +212 -310
- data/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +109 -0
- data/frameworks/sproutcore/frameworks/foundation/core.js +25 -0
- data/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +30 -8
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +19 -4
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +219 -3
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/debug/control-test-pane.css +1 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +30 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/strings.js +15 -0
- data/frameworks/sproutcore/frameworks/{desktop → foundation}/english.lproj/text_field.css +19 -3
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +6 -1
- data/frameworks/sproutcore/frameworks/foundation/license.js +19 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +15 -7
- data/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +171 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/control.js +5 -5
- data/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +462 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +162 -84
- data/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +33 -2
- data/frameworks/sproutcore/frameworks/foundation/mixins/string.js +17 -3
- data/frameworks/sproutcore/frameworks/foundation/mixins/tree_item_content.js +159 -0
- data/frameworks/sproutcore/frameworks/foundation/panes/pane.js +49 -20
- data/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +887 -0
- data/frameworks/sproutcore/frameworks/foundation/system/application.js +36 -0
- data/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +310 -62
- data/frameworks/sproutcore/frameworks/foundation/system/datetime.js +729 -0
- data/frameworks/sproutcore/frameworks/foundation/system/event.js +57 -21
- data/frameworks/sproutcore/frameworks/foundation/system/ready.js +11 -5
- data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +55 -16
- data/frameworks/sproutcore/frameworks/foundation/system/request.js +152 -27
- data/frameworks/sproutcore/frameworks/foundation/system/responder.js +120 -0
- data/frameworks/sproutcore/frameworks/foundation/system/responder_context.js +243 -0
- data/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +29 -6
- data/frameworks/sproutcore/frameworks/foundation/system/routes.js +143 -102
- data/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +9 -2
- data/frameworks/sproutcore/frameworks/foundation/system/utils.js +104 -9
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +182 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/enum_case.js +193 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/null_case.js +64 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/single_case.js +136 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/empty_case.js +82 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/multiple_case.js +111 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_case.js +193 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_enumerable_case.js +179 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/outline_case.js +108 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +35 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +128 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +17 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/flat_case.js +325 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +718 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/outline_case.js +484 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +28 -28
- data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_selector.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/datetime.js +151 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/get.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_attr.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_basic.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_className.js +12 -12
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +52 -14
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/root_responder.js +27 -23
- data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/schedule.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/validators/date.js +12 -10
- data/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +148 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +1 -1
- data/frameworks/sproutcore/frameworks/{desktop → foundation}/tests/views/text_field/methods.js +0 -0
- data/frameworks/sproutcore/frameworks/{desktop → foundation}/tests/views/text_field/ui.js +53 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +1 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertFrames.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createChildViews.js +35 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/findLayerInParentLayer.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisible.js +51 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisibleInWindow.js +12 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +83 -3
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +4 -0
- data/frameworks/sproutcore/frameworks/foundation/views/container.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/views/field.js +27 -16
- data/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -1
- data/frameworks/sproutcore/frameworks/foundation/views/label.js +16 -6
- data/frameworks/sproutcore/frameworks/{desktop → foundation}/views/text_field.js +39 -15
- data/frameworks/sproutcore/frameworks/foundation/views/view.js +328 -83
- data/frameworks/sproutcore/frameworks/runtime/README +1 -0
- data/frameworks/sproutcore/frameworks/runtime/core.js +110 -31
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +238 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/indexOf.js +33 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/insertAt.js +121 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/objectAt.js +34 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/popObject.js +50 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/pushObject.js +46 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +371 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeAt.js +100 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeObject.js +49 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +94 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js +50 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js +47 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/array.js +320 -110
- data/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +64 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/delegate_support.js +44 -6
- data/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +142 -77
- data/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +104 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +298 -142
- data/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +17 -11
- data/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +55 -15
- data/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +29 -5
- data/frameworks/sproutcore/frameworks/runtime/protocols/observable_protocol.js +40 -0
- data/frameworks/sproutcore/frameworks/runtime/system/binding.js +39 -15
- data/frameworks/sproutcore/frameworks/runtime/system/index_set.js +1166 -0
- data/frameworks/sproutcore/frameworks/runtime/system/object.js +33 -15
- data/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +201 -35
- data/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +42 -15
- data/frameworks/sproutcore/frameworks/runtime/system/selection_set.js +649 -0
- data/frameworks/sproutcore/frameworks/runtime/system/set.js +183 -54
- data/frameworks/sproutcore/frameworks/runtime/system/sparse_array.js +20 -11
- data/frameworks/sproutcore/frameworks/runtime/tests/core/clone.js +2 -2
- data/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +44 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/console.js +16 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/keys.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/core/makeArray.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/core/objectForPropertyPath.js +5 -5
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +57 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +21 -2
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +249 -129
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +11 -2
- data/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js +55 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +81 -6
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +195 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/clone.js +43 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +74 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/create.js +42 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexAfter.js +38 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexBefore.js +38 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +74 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/max.js +40 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/min.js +40 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +36 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +189 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/without.js +89 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +59 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/destroy.js +75 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/objectPropertyDidChange.js +117 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/rangeDidChange.js +110 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/update.js +65 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +3 -3
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/add.js +92 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/copy.js +17 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/indexSetForSource.js +85 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/isEqual.js +60 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/remove.js +87 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +4 -25
- data/frameworks/sproutcore/frameworks/runtime/tests/system/sparse_array.js +39 -1
- data/frameworks/sproutcore/frameworks/testing/core.js +183 -0
- data/frameworks/sproutcore/frameworks/testing/english.lproj/runner.css +126 -0
- data/frameworks/sproutcore/frameworks/testing/extras.js +0 -26
- data/frameworks/sproutcore/frameworks/testing/qunit.js +33 -25
- data/frameworks/sproutcore/frameworks/testing/system/dump.js +205 -0
- data/frameworks/sproutcore/frameworks/testing/system/equiv.js +201 -0
- data/frameworks/sproutcore/frameworks/testing/system/plan.js +691 -0
- data/frameworks/sproutcore/frameworks/testing/system/runner.js +209 -0
- data/frameworks/sproutcore/frameworks/testing/system/suite.js +228 -0
- data/frameworks/sproutcore/frameworks/testing/utils.js +8 -1
- data/frameworks/sproutcore/lib/index.rhtml +4 -1
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/10.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/100.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/102.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/110.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/120.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/127.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/18.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/19.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/2.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/24.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/26.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/27.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/28.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/29.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/30.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/31.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/33.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/37.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/41.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/16/99.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/10.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/100.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/102.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/110.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/120.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/127.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/18.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/19.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/2.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/24.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/26.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/27.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/28.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/29.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/30.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/31.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/33.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/37.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/41.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/24/99.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/10.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/100.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/102.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/110.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/120.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/127.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/18.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/19.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/2.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/24.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/26.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/27.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/28.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/29.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/30.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/31.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/33.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/37.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/41.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/32/99.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/48/10.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/48/18.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/48/19.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/icons/48/2.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x-2.psd +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x.psd +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-sprite.psd +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-ysprite.psd +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/shared-icons.psd +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/sproutcore-logo.psd +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/sticky-note.psd +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/button.css +191 -193
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/checkbox.css +11 -10
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/collection.css +85 -4
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/core.css +15 -2
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-repeat-x.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/label.css +0 -26
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/list_item.css +30 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/progress.css +9 -6
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/radio.css +20 -11
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +192 -54
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/slider.css +56 -24
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/tab.css +13 -7
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/text_field.css +1 -4
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/toolbar.css +4 -1
- data/lib/sproutcore/builders/minify.rb +2 -2
- data/lib/sproutcore/builders/test.rb +1 -1
- data/lib/sproutcore/buildfile.rb +1 -0
- data/lib/sproutcore/rack/dev.rb +1 -1
- data/lib/sproutcore/rack/filesystem.rb +265 -0
- data/lib/sproutcore/rack/proxy.rb +11 -3
- data/lib/sproutcore/rack/service.rb +11 -1
- data/lib/sproutcore/tools.rb +11 -1
- data/lib/sproutcore/tools/server.rb +6 -4
- data/vendor/jsdoc/README.txt +151 -0
- data/vendor/jsdoc/changes.txt +47 -0
- metadata +263 -308
- data/frameworks/sproutcore/apps/sc_jsdoc/controllers/docs.js +0 -149
- data/frameworks/sproutcore/apps/sc_jsdoc/core.js +0 -16
- data/frameworks/sproutcore/apps/sc_jsdoc/english.lproj/body.css +0 -17
- data/frameworks/sproutcore/apps/sc_jsdoc/english.lproj/body.js +0 -99
- data/frameworks/sproutcore/apps/sc_jsdoc/english.lproj/images/sproutcore-logo.png +0 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/main.js +0 -27
- data/frameworks/sproutcore/apps/sc_jsdoc/models/doc.js +0 -21
- data/frameworks/sproutcore/apps/sc_qunit/controllers/runner.js +0 -209
- data/frameworks/sproutcore/apps/sc_qunit/core.js +0 -16
- data/frameworks/sproutcore/apps/sc_qunit/english.lproj/body.css +0 -17
- data/frameworks/sproutcore/apps/sc_qunit/english.lproj/body.js +0 -107
- data/frameworks/sproutcore/apps/sc_qunit/english.lproj/images/sproutcore-logo.png +0 -0
- data/frameworks/sproutcore/apps/sc_qunit/english.lproj/strings.js +0 -15
- data/frameworks/sproutcore/apps/sc_qunit/main.js +0 -18
- data/frameworks/sproutcore/apps/sc_qunit/models/test.js +0 -24
- data/frameworks/sproutcore/apps/sc_qunit/views/test_iframe.js +0 -52
- data/frameworks/sproutcore/apps/tests/controllers/test.js +0 -20
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/blank.gif +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu.css +0 -83
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/palette.css +0 -3
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/methods.js +0 -10
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/methods.js +0 -10
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui.js +0 -110
- data/frameworks/sproutcore/frameworks/foundation/mixins/responder.js +0 -156
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array.js +0 -118
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/controller.js +0 -268
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object.js +0 -433
- data/frameworks/sproutcore/frameworks/runtime/tests/system/array.js +0 -263
- data/frameworks/sproutcore/frameworks/testing/tests/debug/qunit.js +0 -25
- data/spec/buildtasks/manifest/spec_helper.rb +0 -35
- data/spec/buildtasks/target_spec.rb +0 -214
- data/spec/fixtures/builder_tests/Buildfile +0 -15
- data/spec/fixtures/builder_tests/apps/combine_test/a.js +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/b.js +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/c.js +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/a.css +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/b.css +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/c.css +0 -1
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/bar1_sample.rhtml +0 -2
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/erb_sample.html.erb +0 -1
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/icons/image.png +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/image.jpg +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/rhtml_sample.rhtml +0 -1
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/strings.js +0 -4
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/style.css +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/french.lproj/french-icons/fr.png +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/french.lproj/strings.js +0 -4
- data/spec/fixtures/builder_tests/apps/html_test/lib/layout_template.rhtml +0 -1
- data/spec/fixtures/builder_tests/apps/html_test/scripts.js +0 -0
- data/spec/fixtures/builder_tests/apps/javascript_test/sc_static.js +0 -15
- data/spec/fixtures/builder_tests/apps/javascript_test/sc_super.js +0 -4
- data/spec/fixtures/builder_tests/apps/javascript_test/strings.js +0 -7
- data/spec/fixtures/builder_tests/apps/sass_test/sample.sass +0 -3
- data/spec/fixtures/builder_tests/apps/strings_test/lproj/strings.js +0 -8
- data/spec/fixtures/builder_tests/apps/stylesheet_test/build_directives.css +0 -9
- data/spec/fixtures/builder_tests/apps/stylesheet_test/sc_static.css +0 -12
- data/spec/fixtures/builder_tests/apps/test_test/lib/alt_layout.rhtml +0 -1
- data/spec/fixtures/builder_tests/apps/test_test/lib/test_layout.rhtml +0 -3
- data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test.js +0 -1
- data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test2.js +0 -1
- data/spec/fixtures/builder_tests/apps/test_test/tests/rhtml_test.rhtml +0 -4
- data/spec/fixtures/builder_tests/frameworks/debug/core.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/debug/english.lproj/dummy.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/qunit/core.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/qunit/english.lproj/dummy.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/req_style_1.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/strings.js +0 -4
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/test.rhtml +0 -1
- data/spec/fixtures/builder_tests/frameworks/req_target_1/req_js_1.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/req_style_2.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/test.rhtml +0 -1
- data/spec/fixtures/builder_tests/frameworks/req_target_2/javascript.js +0 -1
- data/spec/fixtures/builder_tests/frameworks/req_target_2/lib/alt_layout.rhtml +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/req_js_2.js +0 -0
- data/spec/fixtures/builder_tests/themes/sample_theme/Buildfile +0 -1
- data/spec/fixtures/buildfiles/basic/Buildfile +0 -16
- data/spec/fixtures/buildfiles/basic/task_module.rake +0 -6
- data/spec/fixtures/buildfiles/installed/Buildfile +0 -7
- data/spec/fixtures/buildfiles/installed/Buildfile2 +0 -5
- data/spec/fixtures/buildfiles/project_test/Buildfile +0 -4
- data/spec/fixtures/buildfiles/project_test/not_project/Buildfile +0 -2
- data/spec/fixtures/buildfiles/project_test/not_project/child/PLACEHOLDER +0 -0
- data/spec/fixtures/entry_for_project/Buildfile +0 -1
- data/spec/fixtures/entry_for_project/apps/test_app/frameworks/nested/PLACEHOLDER +0 -0
- data/spec/fixtures/entry_for_project/frameworks/shared/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/Buildfile +0 -8
- data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/Buildfile +0 -5
- data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/foos/not_foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/nested/Buildfile +0 -8
- data/spec/fixtures/find_targets/nested/apps/app1/Buildfile +0 -1
- data/spec/fixtures/find_targets/nested/apps/app1/apps/nested_app/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/clients/client1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/frameworks/framework1/frameworks/framework1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/frameworks/framework2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/themes/theme1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/themes/theme2/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/English.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/FreNCH.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/UnknOWN.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/english.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/french.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/german.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/italian.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/japanese.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/spanish.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/unknown.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/no_names/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/de.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-CA.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-GB.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-US.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/es.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/foo.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/fr.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/it.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/ja.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/1.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/B.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/a.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/a/a.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/a/b.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/b/a.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/c.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/core.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/B.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/b.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/b/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/c.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/lproj/strings.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/utils.js +0 -1
- data/spec/fixtures/ordered_entries/apps/with_requires/a.js +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/b.js +0 -3
- data/spec/fixtures/ordered_entries/apps/with_requires/c.js +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/a.css +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/b.css +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/c.css +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/d.js +0 -1
- data/spec/fixtures/real_world/Buildfile +0 -12
- data/spec/fixtures/real_world/apps/account/README +0 -1
- data/spec/fixtures/real_world/apps/calendar/README +0 -1
- data/spec/fixtures/real_world/apps/contacts/README_BEFORE_EDITING +0 -1
- data/spec/fixtures/real_world/apps/files/README +0 -1
- data/spec/fixtures/real_world/apps/mail/README +0 -1
- data/spec/fixtures/real_world/apps/mobile_photos/README +0 -1
- data/spec/fixtures/real_world/apps/photos/README +0 -1
- data/spec/fixtures/real_world/apps/uploader/README +0 -1
- data/spec/fixtures/real_world/frameworks/core_files/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/core_photos/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/shared/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/Buildfile +0 -26
- data/spec/fixtures/real_world/frameworks/sproutcore/README +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/apps/docs/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/apps/test_runner/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/core.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/debug/debug-resource.html +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/debug/sample_debug.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/demo2.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/debug/sample_debug-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.css +0 -4
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.html +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo2.sass +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.haml +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.html.erb +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.rhtml +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/fixtures/sample_fixtures-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/has_require.css +0 -4
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_require.css +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_sc_resource.rhtml +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/protocols/sample-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.css +0 -6
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.rhtml +0 -3
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/strings.js +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/tests/sample-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample-json-fixture.json +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample_fixtures.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/application/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/costello/core.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/data_store/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/debug/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/desktop/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/empty_theme/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/foundation/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/mobile/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/qunit/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/uploader/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/french-resource.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/strings.js +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/german-resource.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/strings.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/has_require.js +0 -4
- data/spec/fixtures/real_world/frameworks/sproutcore/lib/index.html +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/no_require.js +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/protocols/sample.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/sc_resource.js +0 -6
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample1.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample2.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.rhtml +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/themes/standard_theme/README +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/views/view.js +0 -1
- data/spec/fixtures/real_world/generators/sample_custom/Buildfile +0 -0
- data/spec/fixtures/real_world/generators/sample_custom/templates/{filename}.js +0 -1
- data/spec/fixtures/recursive_project/Buildfile +0 -8
- data/spec/fixtures/recursive_project/frameworks/sproutcore/frameworks/costello/PLACEHOLDER +0 -0
- data/spec/lib/builders/combine_spec.rb +0 -67
- data/spec/lib/builders/html_spec.rb +0 -577
- data/spec/lib/builders/javascript_spec.rb +0 -81
- data/spec/lib/builders/sass_spec.rb +0 -43
- data/spec/lib/builders/spec_helper.rb +0 -30
- data/spec/lib/builders/strings_spec.rb +0 -52
- data/spec/lib/builders/stylesheet_spec.rb +0 -63
- data/spec/lib/builders/test_index_spec.rb +0 -44
- data/spec/lib/builders/test_spec.rb +0 -135
- data/spec/lib/buildfile/config_for_spec.rb +0 -81
- data/spec/lib/buildfile/define_spec.rb +0 -59
- data/spec/lib/buildfile/dup_spec.rb +0 -65
- data/spec/lib/buildfile/invoke_spec.rb +0 -130
- data/spec/lib/buildfile/load_spec.rb +0 -49
- data/spec/lib/buildfile/task/dup_spec.rb +0 -55
- data/spec/lib/buildfile/task_defined_spec.rb +0 -17
- data/spec/lib/buildfile_commands/build_task_spec.rb +0 -19
- data/spec/lib/buildfile_commands/config_spec.rb +0 -97
- data/spec/lib/buildfile_commands/import_spec.rb +0 -17
- data/spec/lib/buildfile_commands/namespace_spec.rb +0 -18
- data/spec/lib/buildfile_commands/proxies_spec.rb +0 -38
- data/spec/lib/buildfile_commands/replace_task_spec.rb +0 -29
- data/spec/lib/buildfile_commands/task_spec.rb +0 -36
- data/spec/lib/helpers/packing_optimizer/optimize_spec.rb +0 -26
- data/spec/lib/models/hash_struct/deep_clone_spec.rb +0 -27
- data/spec/lib/models/hash_struct/has_options_spec.rb +0 -32
- data/spec/lib/models/hash_struct/hash_spec.rb +0 -64
- data/spec/lib/models/hash_struct/merge_spec.rb +0 -26
- data/spec/lib/models/hash_struct/method_missing.rb +0 -41
- data/spec/lib/models/manifest/add_entry_spec.rb +0 -36
- data/spec/lib/models/manifest/add_transform_spec.rb +0 -90
- data/spec/lib/models/manifest/build_spec.rb +0 -78
- data/spec/lib/models/manifest/entry_for_spec.rb +0 -94
- data/spec/lib/models/manifest/find_entry.rb +0 -84
- data/spec/lib/models/manifest/prepare_spec.rb +0 -62
- data/spec/lib/models/manifest_entry/cacheable_url_spec.rb +0 -31
- data/spec/lib/models/manifest_entry/prepare_spec.rb +0 -54
- data/spec/lib/models/project/add_target_spec.rb +0 -44
- data/spec/lib/models/project/buildfile_spec.rb +0 -35
- data/spec/lib/models/project/find_targets_for_spec.rb +0 -77
- data/spec/lib/models/project/load_nearest_project_spec.rb +0 -23
- data/spec/lib/models/project/target_for_spec.rb +0 -33
- data/spec/lib/models/project/targets_spec.rb +0 -62
- data/spec/lib/models/target/compute_build_number_spec.rb +0 -125
- data/spec/lib/models/target/config_spec.rb +0 -30
- data/spec/lib/models/target/expand_required_targets_spec.rb +0 -48
- data/spec/lib/models/target/installed_languages_spec.rb +0 -47
- data/spec/lib/models/target/lproj_for_spec.rb +0 -38
- data/spec/lib/models/target/manifest_for_spec.rb +0 -42
- data/spec/lib/models/target/parent_target_spec.rb +0 -21
- data/spec/lib/models/target/prepare_spec.rb +0 -53
- data/spec/lib/models/target/required_targets_spec.rb +0 -119
- data/spec/lib/models/target/target_for_spec.rb +0 -56
- data/spec/lib/tools/build_number_spec.rb +0 -28
- data/spec/lib/tools/gen_spec.rb +0 -207
- data/spec/lib/tools/tools_spec.rb +0 -78
- data/spec/spec_helper.rb +0 -138
- data/vendor/github_gem_lint.rb +0 -22
- data/vendor/yui-compressor/yuicompressor-2.4.2.jar +0 -0
@@ -5,12 +5,12 @@
|
|
5
5
|
// License: Licened under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
sc_require('system/browser');
|
9
|
+
sc_require('system/event');
|
10
|
+
sc_require('system/cursor');
|
11
|
+
sc_require('system/responder') ;
|
11
12
|
|
12
|
-
|
13
|
-
require('mixins/string') ;
|
13
|
+
sc_require('mixins/string') ;
|
14
14
|
|
15
15
|
SC.viewKey = SC.guidKey + "_view" ;
|
16
16
|
|
@@ -69,6 +69,12 @@ SC.FULL_HEIGHT = { top: 0, bottom: 0 };
|
|
69
69
|
*/
|
70
70
|
SC.ANCHOR_CENTER = { centerX: 0, centerY: 0 };
|
71
71
|
|
72
|
+
/**
|
73
|
+
Layout property for width, height
|
74
|
+
*/
|
75
|
+
|
76
|
+
SC.LAYOUT_AUTO = 'auto';
|
77
|
+
|
72
78
|
/** @private - custom array used for child views */
|
73
79
|
SC.EMPTY_CHILD_VIEWS_ARRAY = [];
|
74
80
|
SC.EMPTY_CHILD_VIEWS_ARRAY.needsClone = YES;
|
@@ -113,12 +119,11 @@ SC.EMPTY_CHILD_VIEWS_ARRAY.needsClone = YES;
|
|
113
119
|
override this behavior with your own custom updating code, you can
|
114
120
|
replace updateLayer() with your own implementation instead.
|
115
121
|
|
116
|
-
@extends SC.Object
|
117
122
|
@extends SC.Responder
|
118
123
|
@extends SC.DelegateSupport
|
119
124
|
@since SproutCore 1.0
|
120
125
|
*/
|
121
|
-
SC.View = SC.
|
126
|
+
SC.View = SC.Responder.extend(SC.DelegateSupport,
|
122
127
|
/** @scope SC.View.prototype */ {
|
123
128
|
|
124
129
|
concatenatedProperties: 'outlets displayProperties layoutProperties classNames renderMixin didCreateLayerMixin willDestroyLayerMixin'.w(),
|
@@ -217,6 +222,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
217
222
|
@property {Boolean}
|
218
223
|
*/
|
219
224
|
isVisible: YES,
|
225
|
+
isVisibleBindingDefault: SC.Binding.bool(),
|
220
226
|
|
221
227
|
/**
|
222
228
|
YES only if the view and all of its parent views are currently visible
|
@@ -261,18 +267,31 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
261
267
|
for(idx=0;idx<len;idx++) {
|
262
268
|
childViews[idx].recomputeIsVisibleInWindow(cur);
|
263
269
|
}
|
264
|
-
|
270
|
+
|
265
271
|
// if we just became visible, update layer + layout if needed...
|
266
|
-
if (cur
|
272
|
+
if (cur) {
|
273
|
+
if (this.parentViewDidResize) this.parentViewDidResize();
|
274
|
+
this.set('layerNeedsUpdate', YES);
|
275
|
+
this.invokeOnce(this.updateLayerIfNeeded);
|
276
|
+
|
277
|
+
if (this.get('childViewsNeedLayout')) {
|
278
|
+
this.invokeOnce(this.layoutChildViewsIfNeeded);
|
279
|
+
}
|
280
|
+
|
281
|
+
// if we just became invisible, force an update to hide the layer
|
282
|
+
} else {
|
283
|
+
var that = this;
|
284
|
+
this.set('layerNeedsUpdate', YES);
|
285
|
+
this.invokeOnce(function() { that.updateLayerIfNeeded(YES); });
|
286
|
+
}
|
267
287
|
|
268
288
|
// if we were firstResponder, resign firstResponder also if no longer
|
269
289
|
// visible.
|
270
290
|
if (!cur && this.get('isFirstResponder')) this.resignFirstResponder();
|
271
291
|
|
272
292
|
}
|
273
|
-
|
274
293
|
return this ;
|
275
|
-
},
|
294
|
+
}.observes('isVisible'),
|
276
295
|
|
277
296
|
// ..........................................................
|
278
297
|
// CHILD VIEW SUPPORT
|
@@ -304,7 +323,6 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
304
323
|
@returns {SC.View} the receiver
|
305
324
|
*/
|
306
325
|
insertBefore: function(view, beforeView) {
|
307
|
-
|
308
326
|
view.beginPropertyChanges(); // limit notifications
|
309
327
|
|
310
328
|
// remove view from old parent if needed. Also notify views.
|
@@ -407,7 +425,6 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
407
425
|
@returns {SC.View} the receiver
|
408
426
|
*/
|
409
427
|
replaceChild: function(view, oldView) {
|
410
|
-
|
411
428
|
// suspend notifications
|
412
429
|
view.beginPropertyChanges();
|
413
430
|
oldView.beginPropertyChanges();
|
@@ -423,6 +440,25 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
423
440
|
return this;
|
424
441
|
},
|
425
442
|
|
443
|
+
/**
|
444
|
+
Replaces the current array of child views with the new array of child
|
445
|
+
views.
|
446
|
+
|
447
|
+
@param {Array} views views you want to add
|
448
|
+
@returns {SC.View} receiver
|
449
|
+
*/
|
450
|
+
replaceAllChildren: function(views) {
|
451
|
+
var len = views.get('length'), idx;
|
452
|
+
|
453
|
+
this.beginPropertyChanges();
|
454
|
+
this.destroyLayer().removeAllChildren();
|
455
|
+
for(idx=0;idx<len;idx++) this.appendChild(views.objectAt(idx));
|
456
|
+
this.replaceLayer();
|
457
|
+
this.endPropertyChanges();
|
458
|
+
|
459
|
+
return this ;
|
460
|
+
},
|
461
|
+
|
426
462
|
/**
|
427
463
|
Appends the specified view to the end of the receivers childViews array.
|
428
464
|
This is equivalent to calling insertBefore(view, null);
|
@@ -499,7 +535,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
499
535
|
$: function(sel) {
|
500
536
|
var ret, layer = this.get('layer') ;
|
501
537
|
// note: SC.$([]) returns an empty CoreQuery object. SC.$() would
|
502
|
-
// return an object selecting
|
538
|
+
// return an object selecting the document.
|
503
539
|
ret = !layer ? SC.$([]) : (sel === undefined) ? SC.$(layer) : SC.$(sel, layer) ;
|
504
540
|
layer = null ; // avoid memory leak
|
505
541
|
return ret ;
|
@@ -515,7 +551,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
515
551
|
*/
|
516
552
|
containerLayer: function() {
|
517
553
|
return this.get('layer') ;
|
518
|
-
}.property('layer').cacheable(),
|
554
|
+
}.property('layer').cacheable(),
|
519
555
|
|
520
556
|
/**
|
521
557
|
The ID to use when trying to locate the layer in the DOM. If you do not
|
@@ -541,9 +577,11 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
541
577
|
*/
|
542
578
|
findLayerInParentLayer: function(parentLayer) {
|
543
579
|
var layerId = this.get('layerId') ;
|
580
|
+
var node, i, ilen,found, elem;
|
544
581
|
|
545
582
|
// first, let's try the fast path...
|
546
|
-
|
583
|
+
if(parentLayer.getElementById) elem = parentLayer.getElementById(layerId) ;
|
584
|
+
else elem = document.getElementById(layerId) ;
|
547
585
|
|
548
586
|
// TODO: use code generation to only really do this check on IE
|
549
587
|
if (SC.browser.msie && elem && elem.id !== layerId) elem = null ;
|
@@ -557,21 +595,25 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
557
595
|
// if no element was found the fast way, search down the parentLayer for
|
558
596
|
// the element. This code should not be invoked very often. Usually a
|
559
597
|
// DOM element will be discovered by the first method above.
|
598
|
+
// This code uses a BFS algorithm as is expected to find the layer right
|
599
|
+
// below the parent.
|
560
600
|
if (!elem) {
|
561
601
|
elem = parentLayer.firstChild ;
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
602
|
+
var q=[];
|
603
|
+
q.push(parentLayer);
|
604
|
+
while(q.length!==0){
|
605
|
+
node=q[0];
|
606
|
+
q.shift();
|
607
|
+
if(node.id==layerId){
|
608
|
+
found=true;
|
609
|
+
elem=node;
|
610
|
+
break;
|
611
|
+
}
|
612
|
+
for(i=0, ilen=node.childNodes.length; i<ilen; i++){
|
613
|
+
q.push(node.childNodes[i]);
|
571
614
|
}
|
572
|
-
|
573
|
-
elem = next ;
|
574
615
|
}
|
616
|
+
if(!found) elem=null;
|
575
617
|
}
|
576
618
|
|
577
619
|
return elem;
|
@@ -579,10 +621,14 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
579
621
|
|
580
622
|
/**
|
581
623
|
This method is invoked whenever a display property changes. It will set
|
582
|
-
the layerNeedsUpdate method to YES.
|
624
|
+
the layerNeedsUpdate method to YES. If you need to perform additional
|
625
|
+
setup whenever the display changes, you can override this method as well.
|
626
|
+
|
627
|
+
@returns {SC.View} receiver
|
583
628
|
*/
|
584
629
|
displayDidChange: function() {
|
585
630
|
this.set('layerNeedsUpdate', YES) ;
|
631
|
+
return this;
|
586
632
|
},
|
587
633
|
|
588
634
|
/**
|
@@ -603,7 +649,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
603
649
|
_view_layerNeedsUpdateDidChange: function() {
|
604
650
|
if (this.get('layerNeedsUpdate')) {
|
605
651
|
this.invokeOnce(this.updateLayerIfNeeded) ;
|
606
|
-
}
|
652
|
+
}
|
607
653
|
}.observes('layerNeedsUpdate'),
|
608
654
|
|
609
655
|
/**
|
@@ -627,10 +673,15 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
627
673
|
updateLayerIfNeeded: function(isVisible) {
|
628
674
|
if (!isVisible) isVisible = this.get('isVisibleInWindow') ;
|
629
675
|
if (isVisible && this.get('layerNeedsUpdate')) {
|
630
|
-
|
631
|
-
this.
|
632
|
-
|
633
|
-
|
676
|
+
// only update a layer if it already exists
|
677
|
+
if (this.get('layer')) {
|
678
|
+
this.beginPropertyChanges() ;
|
679
|
+
this.set('layerNeedsUpdate', NO) ;
|
680
|
+
this.updateLayer() ;
|
681
|
+
this.endPropertyChanges() ;
|
682
|
+
|
683
|
+
// clear our layerNeedsUpdate flag so we can respond to changes later
|
684
|
+
} else this.set('layerNeedsUpdate', NO) ;
|
634
685
|
}
|
635
686
|
return this ;
|
636
687
|
},
|
@@ -687,7 +738,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
687
738
|
|
688
739
|
var context = this.renderContext(this.get('tagName')) ;
|
689
740
|
|
690
|
-
// now prepare the
|
741
|
+
// now prepare the content like normal.
|
691
742
|
this.prepareContext(context, YES) ;
|
692
743
|
this.set('layer', context.element()) ;
|
693
744
|
|
@@ -711,7 +762,10 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
711
762
|
|
712
763
|
var childViews = this.get('childViews') ;
|
713
764
|
len = childViews.length ;
|
714
|
-
for (idx=0; idx<len; ++idx)
|
765
|
+
for (idx=0; idx<len; ++idx) {
|
766
|
+
if (!childViews[idx]) continue;
|
767
|
+
childViews[idx]._notifyDidCreateLayer() ;
|
768
|
+
}
|
715
769
|
},
|
716
770
|
|
717
771
|
/**
|
@@ -746,6 +800,18 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
746
800
|
return this ;
|
747
801
|
},
|
748
802
|
|
803
|
+
/**
|
804
|
+
Destroys and recreates the current layer. This can be more efficient than
|
805
|
+
modifying individual child views.
|
806
|
+
|
807
|
+
@returns {SC.View} receiver
|
808
|
+
*/
|
809
|
+
replaceLayer: function() {
|
810
|
+
this.destroyLayer();
|
811
|
+
this.set('layerLocationNeedsUpdate', YES) ;
|
812
|
+
this.invokeOnce(this.updateLayerLocationIfNeeded) ;
|
813
|
+
},
|
814
|
+
|
749
815
|
/** @private -
|
750
816
|
Invokes willDestroyLayer() on view and child views. Then sets layer to
|
751
817
|
null for receiver.
|
@@ -783,15 +849,20 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
783
849
|
// do some initial setup only needed at create time.
|
784
850
|
if (firstTime) {
|
785
851
|
// TODO: seems like things will break later if SC.guidFor(this) is used
|
852
|
+
|
786
853
|
layerId = this.layerId ? this.get('layerId') : SC.guidFor(this) ;
|
787
854
|
context.id(layerId).classNames(this.get('classNames'), YES) ;
|
788
855
|
this.renderLayout(context, firstTime) ;
|
856
|
+
}else{
|
857
|
+
context.resetClassNames();
|
858
|
+
context.classNames(this.get('classNames'), YES);
|
789
859
|
}
|
790
860
|
|
791
861
|
// do some standard setup...
|
792
862
|
if (this.get('isTextSelectable')) context.addClass('allow-select') ;
|
793
863
|
if (!this.get('isEnabled')) context.addClass('disabled') ;
|
794
864
|
if (!this.get('isVisible')) context.addClass('hidden') ;
|
865
|
+
if (this.get('isFirstResponder')) context.addClass('focus');
|
795
866
|
|
796
867
|
bgcolor = this.get('backgroundColor');
|
797
868
|
if (bgcolor) context.addStyle('backgroundColor', bgcolor);
|
@@ -821,6 +892,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
821
892
|
var cv = this.get('childViews'), len = cv.length, idx, view ;
|
822
893
|
for (idx=0; idx<len; ++idx) {
|
823
894
|
view = cv[idx] ;
|
895
|
+
if (!view) continue;
|
824
896
|
context = context.begin(view.get('tagName')) ;
|
825
897
|
view.prepareContext(context, firstTime) ;
|
826
898
|
context = context.end() ;
|
@@ -874,6 +946,14 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
874
946
|
*/
|
875
947
|
classNames: ['sc-view'],
|
876
948
|
|
949
|
+
/**
|
950
|
+
Tool tip property that will be set to the title attribute on the HTML
|
951
|
+
rendered element.
|
952
|
+
|
953
|
+
@property {String}
|
954
|
+
*/
|
955
|
+
toolTip: null,
|
956
|
+
|
877
957
|
/**
|
878
958
|
Determines if the user can select text within the view. Normally this is
|
879
959
|
set to NO to disable text selection. You should set this to YES if you
|
@@ -894,7 +974,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
894
974
|
@property {Array}
|
895
975
|
@readOnly
|
896
976
|
*/
|
897
|
-
displayProperties: [],
|
977
|
+
displayProperties: ['isFirstResponder', 'isVisible'],
|
898
978
|
|
899
979
|
/**
|
900
980
|
You can set this to an SC.Cursor instance; it's className will
|
@@ -981,7 +1061,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
981
1061
|
var nextNode = (nextView) ? nextView.get('layer') : null ;
|
982
1062
|
|
983
1063
|
// before we add to parent node, make sure that the nextNode exists...
|
984
|
-
if (nextView && !nextNode) {
|
1064
|
+
if (nextView && (!nextNode || nextNode.parentNode!==parentNode)) {
|
985
1065
|
nextView.updateLayerLocationIfNeeded() ;
|
986
1066
|
nextNode = nextView.get('layer') ;
|
987
1067
|
}
|
@@ -1007,9 +1087,98 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1007
1087
|
The nextResponder is usually the parentView.
|
1008
1088
|
*/
|
1009
1089
|
nextResponder: function() {
|
1010
|
-
return this.get('parentView');
|
1090
|
+
return this.get('parentView') ;
|
1011
1091
|
}.property('parentView').cacheable(),
|
1092
|
+
|
1093
|
+
|
1094
|
+
/** @property
|
1095
|
+
Set to YES if your view is willing to accept first responder status. This
|
1096
|
+
is used when calculcating key responder loop.
|
1097
|
+
*/
|
1098
|
+
acceptsFirstResponder: NO,
|
1099
|
+
|
1100
|
+
// ..........................................................
|
1101
|
+
// KEY RESPONDER
|
1102
|
+
//
|
1103
|
+
|
1104
|
+
/** @property
|
1105
|
+
YES if the view is currently first responder and the pane the view belongs
|
1106
|
+
to is also key pane. While this property is set, you should expect to
|
1107
|
+
receive keyboard events.
|
1108
|
+
*/
|
1109
|
+
isKeyResponder: NO,
|
1110
|
+
|
1111
|
+
/**
|
1112
|
+
This method is invoked just before you lost the key responder status. The passed view is the view that is about to gain keyResponder status. This gives you a chance to do any early setup.
|
1113
|
+
|
1114
|
+
Remember that you can gain/lose key responder status either because another view in the same pane is becoming first responder or because another pane is about to become key.
|
1115
|
+
|
1116
|
+
@param {SC.Responder} responder
|
1117
|
+
*/
|
1118
|
+
willLoseKeyResponderTo: function(responder) {},
|
1012
1119
|
|
1120
|
+
/**
|
1121
|
+
This method is invoked just before you become the key responder. The passed view is the view that is about to lose keyResponder status. You can use this to do any setup before the view changes.
|
1122
|
+
|
1123
|
+
Remember that you can gain/lose key responder status either because another view in the same pane is becoming first responder or because another pane is about to become key.
|
1124
|
+
|
1125
|
+
@param {SC.Responder} responder
|
1126
|
+
*/
|
1127
|
+
willBecomeKeyResponderFrom: function(responder) {},
|
1128
|
+
|
1129
|
+
/**
|
1130
|
+
Invokved just after the responder loses key responder status.
|
1131
|
+
*/
|
1132
|
+
didLoseKeyResponderTo: function(responder) {},
|
1133
|
+
|
1134
|
+
/**
|
1135
|
+
Invoked just after the responder gains key responder status.
|
1136
|
+
*/
|
1137
|
+
didBecomeKeyResponderFrom: function(responder) {},
|
1138
|
+
|
1139
|
+
/**
|
1140
|
+
This method will process a key input event, attempting to convert it to an appropriate action method and sending it up the responder chain. The event is converted using the SC.KEY_BINDINGS hash, which maps key events into method names. If no key binding is found, then the key event will be passed along using an insertText() method.
|
1141
|
+
|
1142
|
+
@param {SC.Event} event
|
1143
|
+
@returns {Object} object that handled event, if any
|
1144
|
+
*/
|
1145
|
+
interpretKeyEvents: function(event) {
|
1146
|
+
var codes = event.commandCodes(), cmd = codes[0], chr = codes[1];
|
1147
|
+
|
1148
|
+
if (!cmd && !chr) return null ; //nothing to do.
|
1149
|
+
|
1150
|
+
// if this is a command key, try to do something about it.
|
1151
|
+
if (cmd) {
|
1152
|
+
var methodName = SC.MODIFIED_KEY_BINDINGS[cmd] || SC.BASE_KEY_BINDINGS[cmd.match(/[^_]+$/)[0]];
|
1153
|
+
if (methodName) {
|
1154
|
+
var target = this, pane = this.get('pane'), handler = null;
|
1155
|
+
while(target && !(handler = target.tryToPerform(methodName, event))){
|
1156
|
+
target = (target===pane)? null: target.get('nextResponder') ;
|
1157
|
+
}
|
1158
|
+
return handler ;
|
1159
|
+
}
|
1160
|
+
}
|
1161
|
+
|
1162
|
+
if (chr && this.respondsTo('insertText')) {
|
1163
|
+
// if we haven't returned yet and there is plain text, then do an insert
|
1164
|
+
// of the text. Since this is not an action, do not send it up the
|
1165
|
+
// responder chain.
|
1166
|
+
return this.insertText(chr);
|
1167
|
+
}
|
1168
|
+
|
1169
|
+
return null ; //nothing to do.
|
1170
|
+
},
|
1171
|
+
|
1172
|
+
/**
|
1173
|
+
This method is invoked by interpretKeyEvents() when you receive a key event matching some plain text. You can use this to actually insert the text into your application, if needed.
|
1174
|
+
|
1175
|
+
@param {SC.Event} event
|
1176
|
+
@returns {Object} receiver or object that handled event
|
1177
|
+
*/
|
1178
|
+
insertText: function(chr) {
|
1179
|
+
return this ;
|
1180
|
+
},
|
1181
|
+
|
1013
1182
|
/**
|
1014
1183
|
Recursively travels down the view hierarchy looking for a view that
|
1015
1184
|
implements the key equivalent (returning to YES to indicate it handled
|
@@ -1025,9 +1194,12 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1025
1194
|
@returns {Boolean}
|
1026
1195
|
*/
|
1027
1196
|
performKeyEquivalent: function(keystring, evt) {
|
1028
|
-
var ret =
|
1029
|
-
|
1030
|
-
|
1197
|
+
var ret = NO,
|
1198
|
+
childViews = this.get('childViews'),
|
1199
|
+
len = childViews.length,
|
1200
|
+
idx = -1 ;
|
1201
|
+
while (!ret && (++idx < len)) {
|
1202
|
+
ret = childViews[idx].performKeyEquivalent(keystring, evt) ;
|
1031
1203
|
}
|
1032
1204
|
return ret ;
|
1033
1205
|
},
|
@@ -1061,7 +1233,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1061
1233
|
// TODO: Optimize into class setup
|
1062
1234
|
dp = this.get('displayProperties') ;
|
1063
1235
|
idx = dp.length ;
|
1064
|
-
while(--idx >= 0) {
|
1236
|
+
while (--idx >= 0) {
|
1065
1237
|
this.addObserver(dp[idx], this, this.displayDidChange) ;
|
1066
1238
|
}
|
1067
1239
|
|
@@ -1087,7 +1259,10 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1087
1259
|
awake: function() {
|
1088
1260
|
sc_super();
|
1089
1261
|
var childViews = this.get('childViews'), len = childViews.length, idx ;
|
1090
|
-
for (idx=0; idx<len; ++idx)
|
1262
|
+
for (idx=0; idx<len; ++idx) {
|
1263
|
+
if (!childViews[idx]) continue ;
|
1264
|
+
childViews[idx].awake() ;
|
1265
|
+
}
|
1091
1266
|
},
|
1092
1267
|
|
1093
1268
|
/**
|
@@ -1173,6 +1348,12 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1173
1348
|
view = this[key];
|
1174
1349
|
} else key = null ;
|
1175
1350
|
|
1351
|
+
if (!view) {
|
1352
|
+
console.error ("No view with name "+key+" has been found in "+this.toString());
|
1353
|
+
// skip this one.
|
1354
|
+
continue;
|
1355
|
+
}
|
1356
|
+
|
1176
1357
|
if (view.isClass) {
|
1177
1358
|
view = this.createChildView(view) ; // instantiate if needed
|
1178
1359
|
if (key) this[key] = view ; // save on key name if passed
|
@@ -1201,6 +1382,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1201
1382
|
// attrs should always exist...
|
1202
1383
|
if (!attrs) attrs = {} ;
|
1203
1384
|
attrs.owner = attrs.parentView = this ;
|
1385
|
+
attrs.isVisibleInWindow = this.get('isVisibleInWindow');
|
1204
1386
|
if (!attrs.page) attrs.page = this.page ;
|
1205
1387
|
|
1206
1388
|
// Now add this to the attributes and create.
|
@@ -1261,11 +1443,6 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1261
1443
|
}
|
1262
1444
|
}
|
1263
1445
|
|
1264
|
-
// if (didChange) {
|
1265
|
-
// console.log('did change layout') ;
|
1266
|
-
// console.log(layout) ;
|
1267
|
-
// }
|
1268
|
-
|
1269
1446
|
// now set adjusted layout
|
1270
1447
|
if (didChange) this.set('layout', layout) ;
|
1271
1448
|
|
@@ -1329,7 +1506,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1329
1506
|
// walk up this side
|
1330
1507
|
while (view) {
|
1331
1508
|
f = view.get('frame'); myX += f.x; myY += f.y ;
|
1332
|
-
view = view.get('
|
1509
|
+
view = view.get('layoutView') ;
|
1333
1510
|
}
|
1334
1511
|
|
1335
1512
|
// walk up other size
|
@@ -1337,7 +1514,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1337
1514
|
view = targetView ;
|
1338
1515
|
while (view) {
|
1339
1516
|
f = view.get('frame'); targetX += f.x; targetY += f.y ;
|
1340
|
-
view = view.get('
|
1517
|
+
view = view.get('layoutView') ;
|
1341
1518
|
}
|
1342
1519
|
}
|
1343
1520
|
|
@@ -1417,13 +1594,31 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1417
1594
|
*/
|
1418
1595
|
computeFrameWithParentFrame: function(pdim) {
|
1419
1596
|
var layout = this.get('layout') ;
|
1420
|
-
var f = {} ;
|
1597
|
+
var f = {} , error, layer, AUTO = SC.LAYOUT_AUTO;
|
1598
|
+
var stLayout = this.get('useStaticLayout') ;
|
1599
|
+
|
1600
|
+
if (layout.width !== undefined &&
|
1601
|
+
layout.width === SC.LAYOUT_AUTO &&
|
1602
|
+
stLayout !== undefined && !stLayout) {
|
1603
|
+
error = SC.Error.desc("%@.layout() you cannot use width:auto if staticLayout is disabled".fmt(this),"%@".fmt(this), -1) ;
|
1604
|
+
console.error(error.toString()) ;
|
1605
|
+
throw error ;
|
1606
|
+
}
|
1607
|
+
|
1608
|
+
if (layout.height !== undefined &&
|
1609
|
+
layout.height === SC.LAYOUT_AUTO &&
|
1610
|
+
stLayout !== undefined && !stLayout) {
|
1611
|
+
error = SC.Error.desc("%@.layout() you cannot use height:auto if staticLayout is disabled".fmt(this),"%@".fmt(this), -1) ;
|
1612
|
+
console.error(error.toString()) ;
|
1613
|
+
throw error ;
|
1614
|
+
}
|
1421
1615
|
|
1422
1616
|
// handle left aligned and left/right
|
1423
1617
|
if (!SC.none(layout.left)) {
|
1424
1618
|
f.x = Math.floor(layout.left) ;
|
1425
1619
|
if (layout.width !== undefined) {
|
1426
|
-
|
1620
|
+
if(layout.width === AUTO) f.width = AUTO ;
|
1621
|
+
else f.width = Math.floor(layout.width) ;
|
1427
1622
|
} else { // better have layout.right!
|
1428
1623
|
if (!pdim) pdim = this.computeParentDimensions(layout) ;
|
1429
1624
|
f.width = Math.floor(pdim.width - f.x - (layout.right || 0)) ;
|
@@ -1436,28 +1631,34 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1436
1631
|
f.width = pdim.width - layout.right ;
|
1437
1632
|
f.x = 0 ;
|
1438
1633
|
} else {
|
1439
|
-
|
1634
|
+
if(layout.width === AUTO) f.width = AUTO ;
|
1635
|
+
else f.width = Math.floor(layout.width || 0) ;
|
1440
1636
|
f.x = Math.floor(pdim.width - layout.right - f.width) ;
|
1441
1637
|
}
|
1442
1638
|
|
1443
1639
|
// handle centered
|
1444
1640
|
} else if (!SC.none(layout.centerX)) {
|
1445
1641
|
if (!pdim) pdim = this.computeParentDimensions(layout) ;
|
1446
|
-
|
1642
|
+
if(layout.width === AUTO) f.width = AUTO ;
|
1643
|
+
else f.width = Math.floor(layout.width || 0) ;
|
1447
1644
|
f.x = Math.floor((pdim.width - f.width)/2 + layout.centerX) ;
|
1448
1645
|
} else {
|
1449
1646
|
f.x = 0 ; // fallback
|
1450
1647
|
if (SC.none(layout.width)) {
|
1451
1648
|
if (!pdim) pdim = this.computeParentDimensions(layout) ;
|
1452
1649
|
f.width = Math.floor(pdim.width) ;
|
1453
|
-
} else
|
1650
|
+
} else {
|
1651
|
+
if(layout.width === AUTO) f.width = AUTO ;
|
1652
|
+
else f.width = Math.floor(layout.width || 0) ;
|
1653
|
+
}
|
1454
1654
|
}
|
1455
1655
|
|
1456
1656
|
// handle top aligned and top/bottom
|
1457
1657
|
if (!SC.none(layout.top)) {
|
1458
1658
|
f.y = Math.floor(layout.top) ;
|
1459
1659
|
if (layout.height !== undefined) {
|
1460
|
-
|
1660
|
+
if(layout.height === AUTO) f.height = AUTO ;
|
1661
|
+
else f.height = Math.floor(layout.height) ;
|
1461
1662
|
} else { // better have layout.bottm!
|
1462
1663
|
if (!pdim) pdim = this.computeParentDimensions(layout) ;
|
1463
1664
|
f.height = Math.floor(pdim.height - f.y - (layout.bottom || 0)) ;
|
@@ -1470,14 +1671,16 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1470
1671
|
f.height = pdim.height - layout.bottom ;
|
1471
1672
|
f.y = 0 ;
|
1472
1673
|
} else {
|
1473
|
-
|
1674
|
+
if(layout.height === AUTO) f.height = AUTO ;
|
1675
|
+
else f.height = Math.floor(layout.height || 0) ;
|
1474
1676
|
f.y = Math.floor(pdim.height - layout.bottom - f.height) ;
|
1475
1677
|
}
|
1476
1678
|
|
1477
1679
|
// handle centered
|
1478
1680
|
} else if (!SC.none(layout.centerY)) {
|
1479
1681
|
if (!pdim) pdim = this.computeParentDimensions(layout) ;
|
1480
|
-
|
1682
|
+
if(layout.height === AUTO) f.height = AUTO ;
|
1683
|
+
else f.height = Math.floor(layout.height || 0) ;
|
1481
1684
|
f.y = Math.floor((pdim.height - f.height)/2 + layout.centerY) ;
|
1482
1685
|
|
1483
1686
|
// fallback
|
@@ -1486,7 +1689,17 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1486
1689
|
if (SC.none(layout.height)) {
|
1487
1690
|
if (!pdim) pdim = this.computeParentDimensions(layout) ;
|
1488
1691
|
f.height = Math.floor(pdim.height) ;
|
1489
|
-
} else
|
1692
|
+
} else {
|
1693
|
+
if(layout.height === AUTO) f.height = AUTO ;
|
1694
|
+
else f.height = Math.floor(layout.height || 0) ;
|
1695
|
+
}
|
1696
|
+
}
|
1697
|
+
|
1698
|
+
// if width or height were set to auto and we have a layer, try lookup
|
1699
|
+
if (f.height === AUTO || f.width === AUTO) {
|
1700
|
+
layer = this.get('layer');
|
1701
|
+
if (f.height === AUTO) f.height = layer ? layer.clientHeight : 0;
|
1702
|
+
if (f.width === AUTO) f.width = layer ? layer.clientWidth : 0;
|
1490
1703
|
}
|
1491
1704
|
|
1492
1705
|
// make sure the width/height fix min/max...
|
@@ -1667,7 +1880,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1667
1880
|
return this ;
|
1668
1881
|
},
|
1669
1882
|
|
1670
|
-
/**
|
1883
|
+
/**
|
1671
1884
|
layoutStyle describes the current styles to be written to your element
|
1672
1885
|
based on the layout you defined. Both layoutStyle and frame reset when
|
1673
1886
|
you edit the layout property. Both are read only.
|
@@ -1678,7 +1891,24 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1678
1891
|
@readOnly
|
1679
1892
|
*/
|
1680
1893
|
layoutStyle: function() {
|
1681
|
-
var layout = this.get('layout'), ret = {}, pdim = null;
|
1894
|
+
var layout = this.get('layout'), ret = {}, pdim = null, error, AUTO = SC.LAYOUT_AUTO;
|
1895
|
+
var stLayout = this.get('useStaticLayout');
|
1896
|
+
|
1897
|
+
if (layout.width !== undefined &&
|
1898
|
+
layout.width === SC.LAYOUT_AUTO &&
|
1899
|
+
!stLayout) {
|
1900
|
+
error= SC.Error.desc("%@.layout() you cannot use width:auto if staticLayout is disabled".fmt(this),"%@".fmt(this),-1);
|
1901
|
+
console.error(error.toString()) ;
|
1902
|
+
throw error ;
|
1903
|
+
}
|
1904
|
+
|
1905
|
+
if (layout.height !== undefined &&
|
1906
|
+
layout.height === SC.LAYOUT_AUTO &&
|
1907
|
+
!stLayout) {
|
1908
|
+
error = SC.Error.desc("%@.layout() you cannot use height:auto if staticLayout is disabled".fmt(this),"%@".fmt(this),-1);
|
1909
|
+
console.error(error.toString()) ;
|
1910
|
+
throw error ;
|
1911
|
+
}
|
1682
1912
|
|
1683
1913
|
// X DIRECTION
|
1684
1914
|
|
@@ -1686,7 +1916,8 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1686
1916
|
if (!SC.none(layout.left)) {
|
1687
1917
|
ret.left = Math.floor(layout.left);
|
1688
1918
|
if (layout.width !== undefined) {
|
1689
|
-
|
1919
|
+
if(layout.width === SC.LAYOUT_AUTO) ret.width = SC.LAYOUT_AUTO ;
|
1920
|
+
else ret.width = Math.floor(layout.width) ;
|
1690
1921
|
ret.right = null ;
|
1691
1922
|
} else {
|
1692
1923
|
ret.width = null ;
|
@@ -1704,7 +1935,8 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1704
1935
|
ret.width = null;
|
1705
1936
|
} else {
|
1706
1937
|
ret.left = null ;
|
1707
|
-
|
1938
|
+
if(layout.width === SC.LAYOUT_AUTO) ret.width = SC.LAYOUT_AUTO ;
|
1939
|
+
else ret.width = Math.floor(layout.width || 0) ;
|
1708
1940
|
}
|
1709
1941
|
|
1710
1942
|
// handle centered
|
@@ -1718,7 +1950,8 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1718
1950
|
} else if (!SC.none(layout.width)) {
|
1719
1951
|
ret.left = 0;
|
1720
1952
|
ret.right = null;
|
1721
|
-
ret.width =
|
1953
|
+
if(layout.width === SC.LAYOUT_AUTO) ret.width = SC.LAYOUT_AUTO ;
|
1954
|
+
else ret.width = Math.floor(layout.width);
|
1722
1955
|
ret.marginLeft = 0;
|
1723
1956
|
|
1724
1957
|
// fallback, full width.
|
@@ -1729,9 +1962,10 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1729
1962
|
ret.marginLeft= 0;
|
1730
1963
|
}
|
1731
1964
|
|
1965
|
+
|
1732
1966
|
// handle min/max
|
1733
|
-
ret.minWidth = (layout.minWidth === undefined) ? null : layout.minWidth;
|
1734
|
-
ret.maxWidth = (layout.maxWidth === undefined) ? null : layout.maxWidth;
|
1967
|
+
ret.minWidth = (layout.minWidth === undefined) ? null : layout.minWidth ;
|
1968
|
+
ret.maxWidth = (layout.maxWidth === undefined) ? null : layout.maxWidth ;
|
1735
1969
|
|
1736
1970
|
// Y DIRECTION
|
1737
1971
|
|
@@ -1739,7 +1973,8 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1739
1973
|
if (!SC.none(layout.top)) {
|
1740
1974
|
ret.top = Math.floor(layout.top);
|
1741
1975
|
if (layout.height !== undefined) {
|
1742
|
-
|
1976
|
+
if(layout.height === SC.LAYOUT_AUTO) ret.height = SC.LAYOUT_AUTO ;
|
1977
|
+
else ret.height = Math.floor(layout.height) ;
|
1743
1978
|
ret.bottom = null ;
|
1744
1979
|
} else {
|
1745
1980
|
ret.height = null ;
|
@@ -1756,7 +1991,8 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1756
1991
|
ret.height = null ;
|
1757
1992
|
} else {
|
1758
1993
|
ret.top = null ;
|
1759
|
-
|
1994
|
+
if(layout.height === SC.LAYOUT_AUTO) ret.height = SC.LAYOUT_AUTO ;
|
1995
|
+
else ret.height = Math.floor(layout.height || 0) ;
|
1760
1996
|
}
|
1761
1997
|
|
1762
1998
|
// handle centered
|
@@ -1769,7 +2005,8 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1769
2005
|
} else if (!SC.none(layout.height)) {
|
1770
2006
|
ret.top = 0;
|
1771
2007
|
ret.bottom = null;
|
1772
|
-
|
2008
|
+
if(layout.height === SC.LAYOUT_AUTO) ret.height = SC.LAYOUT_AUTO ;
|
2009
|
+
else ret.height = Math.floor(layout.height || 0) ;
|
1773
2010
|
ret.marginTop = 0;
|
1774
2011
|
|
1775
2012
|
// fallback, full width.
|
@@ -1781,14 +2018,21 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1781
2018
|
}
|
1782
2019
|
|
1783
2020
|
// handle min/max
|
1784
|
-
ret.minHeight = (layout.minHeight === undefined) ?
|
1785
|
-
|
2021
|
+
ret.minHeight = (layout.minHeight === undefined) ?
|
2022
|
+
null :
|
2023
|
+
layout.minHeight ;
|
2024
|
+
ret.maxHeight = (layout.maxHeight === undefined) ?
|
2025
|
+
null :
|
2026
|
+
layout.maxHeight ;
|
1786
2027
|
|
1787
2028
|
// if zIndex is set, use it. otherwise let default shine through
|
1788
2029
|
ret.zIndex = SC.none(layout.zIndex) ? null : layout.zIndex.toString();
|
1789
|
-
|
1790
|
-
// if backgroundPosition is set, use it.
|
1791
|
-
|
2030
|
+
|
2031
|
+
// if backgroundPosition is set, use it.
|
2032
|
+
// otherwise let default shine through
|
2033
|
+
ret.backgroundPosition = SC.none(layout.backgroundPosition) ?
|
2034
|
+
null :
|
2035
|
+
layout.backgroundPosition.toString() ;
|
1792
2036
|
|
1793
2037
|
// set default values to null to allow built-in CSS to shine through
|
1794
2038
|
// currently applies only to marginLeft & marginTop
|
@@ -1814,7 +2058,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1814
2058
|
return this.get('parentView') ;
|
1815
2059
|
}.property('parentView').cacheable(),
|
1816
2060
|
|
1817
|
-
/**
|
2061
|
+
/**
|
1818
2062
|
This method is called whenever a property changes that invalidates the
|
1819
2063
|
layout of the view. Changing the layout will do this automatically, but
|
1820
2064
|
you can add others if you want.
|
@@ -1822,7 +2066,6 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1822
2066
|
@returns {SC.View} receiver
|
1823
2067
|
*/
|
1824
2068
|
layoutDidChange: function() {
|
1825
|
-
// console.log('%@.layoutDidChange()'.fmt(this));
|
1826
2069
|
this.beginPropertyChanges() ;
|
1827
2070
|
if (this.frame) this.notifyPropertyChange('frame') ;
|
1828
2071
|
this.notifyPropertyChange('layoutStyle') ;
|
@@ -1849,7 +2092,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1849
2092
|
@property {Boolean}
|
1850
2093
|
*/
|
1851
2094
|
childViewsNeedLayout: NO,
|
1852
|
-
|
2095
|
+
|
1853
2096
|
/**
|
1854
2097
|
One of two methods that are invoked whenever one of your childViews
|
1855
2098
|
layout changes. This method is invoked everytime a child view's layout
|
@@ -1871,7 +2114,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1871
2114
|
*/
|
1872
2115
|
layoutDidChangeFor: function(childView) {
|
1873
2116
|
var set = this._needLayoutViews ;
|
1874
|
-
if (!set) set = this._needLayoutViews = SC.
|
2117
|
+
if (!set) set = this._needLayoutViews = SC.CoreSet.create();
|
1875
2118
|
set.add(childView);
|
1876
2119
|
},
|
1877
2120
|
|
@@ -1891,7 +2134,7 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1891
2134
|
}
|
1892
2135
|
return this ;
|
1893
2136
|
},
|
1894
|
-
|
2137
|
+
|
1895
2138
|
/**
|
1896
2139
|
Applies the current layout to the layer. This method is usually only
|
1897
2140
|
called once per runloop. You can override this method to provide your
|
@@ -1957,11 +2200,11 @@ SC.View = SC.Object.extend(SC.Responder, SC.DelegateSupport,
|
|
1957
2200
|
});
|
1958
2201
|
|
1959
2202
|
SC.View.mixin(/** @scope SC.View @static */ {
|
1960
|
-
|
2203
|
+
|
1961
2204
|
/** @private walk like a duck -- used by SC.Page */
|
1962
2205
|
isViewClass: YES,
|
1963
2206
|
|
1964
|
-
/**
|
2207
|
+
/**
|
1965
2208
|
This method works just like extend() except that it will also preserve
|
1966
2209
|
the passed attributes in case you want to use a view builder later, if
|
1967
2210
|
needed.
|
@@ -1979,7 +2222,7 @@ SC.View.mixin(/** @scope SC.View @static */ {
|
|
1979
2222
|
}
|
1980
2223
|
return ret ;
|
1981
2224
|
},
|
1982
|
-
|
2225
|
+
|
1983
2226
|
/**
|
1984
2227
|
Helper applies the layout to the prototype.
|
1985
2228
|
*/
|
@@ -2010,7 +2253,9 @@ SC.View.mixin(/** @scope SC.View @static */ {
|
|
2010
2253
|
*/
|
2011
2254
|
childView: function(cv) {
|
2012
2255
|
var childViews = this.prototype.childViews || [];
|
2013
|
-
if (childViews === this.superclass.prototype.childViews)
|
2256
|
+
if (childViews === this.superclass.prototype.childViews) {
|
2257
|
+
childViews = childViews.slice();
|
2258
|
+
}
|
2014
2259
|
childViews.push(cv) ;
|
2015
2260
|
this.prototype.childViews = childViews;
|
2016
2261
|
return this ;
|