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
@@ -0,0 +1,30 @@
|
|
1
|
+
/* SC.LabelView */
|
2
|
+
|
3
|
+
.sc-label-view.sc-large-size {
|
4
|
+
font-size: 18px;
|
5
|
+
line-height: 24px;
|
6
|
+
}
|
7
|
+
|
8
|
+
.sc-label-view.sc-regular-size {
|
9
|
+
font-size: 12px;
|
10
|
+
line-height: 19px;
|
11
|
+
}
|
12
|
+
|
13
|
+
.sc-label-view.sc-small-size {
|
14
|
+
font-size: 11px;
|
15
|
+
line-height: 14px;
|
16
|
+
}
|
17
|
+
|
18
|
+
.sc-label-view.sc-tiny-size {
|
19
|
+
font-size: 9px;
|
20
|
+
line-height: 12px;
|
21
|
+
}
|
22
|
+
|
23
|
+
.sc-label-view.disabled {
|
24
|
+
color: #999;
|
25
|
+
}
|
26
|
+
|
27
|
+
.sc-label-view img.icon {
|
28
|
+
position: relative;
|
29
|
+
vertical-align: middle;
|
30
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
3
|
+
// Copyright: ©2006-2009 Sprout Systems, Inc. and contributors.
|
4
|
+
// Portions ©2008-2009 Apple, Inc. All rights reserved.
|
5
|
+
// License: Licened under MIT license (see license.js)
|
6
|
+
// ==========================================================================
|
7
|
+
|
8
|
+
sc_require('system/locale');
|
9
|
+
|
10
|
+
SC.stringsFor('English', {
|
11
|
+
'_SC.DateTime.dayNames': 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday',
|
12
|
+
'_SC.DateTime.abbreviatedDayNames': 'Sun Mon Tue Wed Thu Fri Sat',
|
13
|
+
'_SC.DateTime.monthNames': 'January February March April May June July August September October November December',
|
14
|
+
'_SC.DateTime.abbreviatedMonthNames': 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'
|
15
|
+
}) ;
|
@@ -1,12 +1,28 @@
|
|
1
1
|
/* Common SC.TextFieldView styles - needed to work properly */
|
2
2
|
|
3
|
+
.sc-view .sc-text-field-view{
|
4
|
+
overflow: visible;
|
5
|
+
z-index:100;
|
6
|
+
}
|
7
|
+
|
3
8
|
.sc-text-field-view input {
|
4
9
|
position: absolute;
|
10
|
+
top: -2px;
|
11
|
+
left: -2px;
|
5
12
|
width: 100%;
|
6
13
|
height: 100%;
|
7
14
|
padding: 0px;
|
8
|
-
|
9
|
-
|
15
|
+
}
|
16
|
+
|
17
|
+
.sc-text-field-view textarea {
|
18
|
+
position: absolute;
|
19
|
+
top: -2px;
|
20
|
+
left: -2px;
|
21
|
+
width: 100%;
|
22
|
+
height: 100%;
|
23
|
+
padding: 0px;
|
24
|
+
overflow: auto;
|
25
|
+
font-family: "Lucida Grande","Lucida Sans",Verdana,Arial,sans-serif;
|
10
26
|
}
|
11
27
|
|
12
28
|
.sc-text-field-view .sc-hint {
|
@@ -18,7 +34,7 @@
|
|
18
34
|
bottom: 0;
|
19
35
|
padding: 3px;
|
20
36
|
color: #aaa ;
|
21
|
-
font-size:
|
37
|
+
font-size: 12px;
|
22
38
|
|
23
39
|
}
|
24
40
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/*! @license
|
2
|
+
|
3
|
+
Portions of this software are copyright Yahoo, Inc, used under the following license:
|
4
|
+
|
5
|
+
Software License Agreement (BSD License)
|
6
|
+
Copyright (c) 2009, Yahoo! Inc.
|
7
|
+
All rights reserved.
|
8
|
+
Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
9
|
+
|
10
|
+
Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
11
|
+
following disclaimer.
|
12
|
+
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
13
|
+
Neither the name of Yahoo! Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Yahoo! Inc.
|
14
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
15
|
+
|
16
|
+
Sources of Intellectual Property Included in the YUI Library
|
17
|
+
Where not otherwise indicated, all YUI content is authored by Yahoo! engineers and consists of Yahoo!-owned intellectual property. YUI is issued by Yahoo! under the BSD license above. In some specific instances, YUI will incorporate work done by developers outside of Yahoo! with their express permission.
|
18
|
+
|
19
|
+
*/
|
@@ -129,10 +129,10 @@ SC.Button = {
|
|
129
129
|
*/
|
130
130
|
renderTitle: function(context, firstTime) {
|
131
131
|
var icon = this.get('icon') ;
|
132
|
-
var image =
|
132
|
+
var image = '' ;
|
133
133
|
var title = this.get('displayTitle') ;
|
134
134
|
var needsTitle = (!SC.none(title) && title.length>0);
|
135
|
-
|
135
|
+
var elem;
|
136
136
|
// get the icon. If there is an icon, then get the image and update it.
|
137
137
|
// if there is no image element yet, create it and insert it just before
|
138
138
|
// title.
|
@@ -148,7 +148,15 @@ SC.Button = {
|
|
148
148
|
needsTitle = YES ;
|
149
149
|
}
|
150
150
|
|
151
|
-
|
151
|
+
elem = this.$('label');
|
152
|
+
if (!firstTime && elem[0]){
|
153
|
+
if(needsTitle) { elem[0].innerHTML = image + title; }
|
154
|
+
else { this.$()[0].innerHTML = ''; }
|
155
|
+
} else {
|
156
|
+
if(needsTitle) {
|
157
|
+
context.begin('label').addClass('sc-button-label').push(image, title).end();
|
158
|
+
}
|
159
|
+
}
|
152
160
|
return context ;
|
153
161
|
},
|
154
162
|
|
@@ -160,17 +168,17 @@ SC.Button = {
|
|
160
168
|
var del = this.get('displayDelegate');
|
161
169
|
var content = this.get('content'), value ;
|
162
170
|
|
163
|
-
var valueKey = this.getDelegateProperty(
|
171
|
+
var valueKey = this.getDelegateProperty('contentValueKey', del) ;
|
164
172
|
if (valueKey && (key === valueKey || key === '*')) {
|
165
173
|
this.set('value', content ? content.get(valueKey) : null) ;
|
166
174
|
}
|
167
175
|
|
168
|
-
var titleKey = this.getDelegateProperty(
|
176
|
+
var titleKey = this.getDelegateProperty('contentTitleKey', del) ;
|
169
177
|
if (titleKey && (key === titleKey || key === '*')) {
|
170
178
|
this.set('title', content ? content.get(titleKey) : null) ;
|
171
179
|
}
|
172
180
|
|
173
|
-
var iconKey = this.getDelegateProperty(
|
181
|
+
var iconKey = this.getDelegateProperty('contentIconKey', del);
|
174
182
|
if (iconKey && (key === iconKey || key === '*')) {
|
175
183
|
this.set('icon', content ? content.get(iconKey) : null) ;
|
176
184
|
}
|
@@ -204,7 +212,7 @@ SC.Button = {
|
|
204
212
|
// tree)
|
205
213
|
return this.triggerAction(evt);
|
206
214
|
}
|
207
|
-
return
|
215
|
+
return NO; // did not handle it; keep searching
|
208
216
|
},
|
209
217
|
|
210
218
|
/**
|
@@ -0,0 +1,171 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
3
|
+
// Copyright: ©2006-2009 Sprout Systems, Inc. and contributors.
|
4
|
+
// Portions ©2008-2009 Apple, Inc. All rights reserved.
|
5
|
+
// License: Licened under MIT license (see license.js)
|
6
|
+
// ==========================================================================
|
7
|
+
|
8
|
+
|
9
|
+
/**
|
10
|
+
Used for contentIndexDisclosureState(). Indicates open branch node.
|
11
|
+
*/
|
12
|
+
SC.BRANCH_OPEN = 0x0011;
|
13
|
+
|
14
|
+
/**
|
15
|
+
Used for contentIndexDisclosureState(). Indicates closed branch node.
|
16
|
+
*/
|
17
|
+
SC.BRANCH_CLOSED = 0x0012;
|
18
|
+
|
19
|
+
/**
|
20
|
+
Used for contentIndexDisclosureState(). Indicates leaf node.
|
21
|
+
*/
|
22
|
+
SC.LEAF_NODE = 0x0020;
|
23
|
+
|
24
|
+
/**
|
25
|
+
@namespace
|
26
|
+
|
27
|
+
This mixin provides standard methods used by a CollectionView to provide
|
28
|
+
additional meta-data about content in a collection view such as selection
|
29
|
+
or enabled state.
|
30
|
+
|
31
|
+
You can apply this mixin to a class that you set as a delegate or to the
|
32
|
+
object you set as content. SC.ArrayControllers automatically implement
|
33
|
+
this mixin.
|
34
|
+
|
35
|
+
@since SproutCore 1.0
|
36
|
+
*/
|
37
|
+
SC.CollectionContent = {
|
38
|
+
|
39
|
+
/**
|
40
|
+
Used to detect the mixin by SC.CollectionView
|
41
|
+
*/
|
42
|
+
isCollectionContent: YES,
|
43
|
+
|
44
|
+
/**
|
45
|
+
Return YES if the content index should be selected. Default behavior
|
46
|
+
looks at the selection property on the view.
|
47
|
+
|
48
|
+
@param {SC.CollectionView} view the collection view
|
49
|
+
@param {SC.Array} content the content object
|
50
|
+
@param {Number} idx the content index
|
51
|
+
@returns {Boolean} YES, NO, or SC.MIXED_STATE
|
52
|
+
*/
|
53
|
+
contentIndexIsSelected: function(view, content, idx) {
|
54
|
+
var sel = view.get('selection');
|
55
|
+
return sel ? sel.contains(content, idx) : NO ;
|
56
|
+
},
|
57
|
+
|
58
|
+
/**
|
59
|
+
Returns YES if the content index should be enabled. Default looks at the
|
60
|
+
isEnabled state of the collection view.
|
61
|
+
looks at the selection property on the view.
|
62
|
+
|
63
|
+
@param {SC.CollectionView} view the collection view
|
64
|
+
@param {SC.Array} content the content object
|
65
|
+
@param {Number} idx the content index
|
66
|
+
@returns {Boolean} YES, NO, or SC.MIXED_STATE
|
67
|
+
*/
|
68
|
+
contentIndexIsEnabled: function(view, content, idx) {
|
69
|
+
return view.get('isEnabled');
|
70
|
+
},
|
71
|
+
|
72
|
+
// ..........................................................
|
73
|
+
// GROUPING
|
74
|
+
//
|
75
|
+
|
76
|
+
/**
|
77
|
+
Optionally return an index set containing the indexes that may be group
|
78
|
+
views. For each group view, the delegate will actually be asked to
|
79
|
+
confirm the view is a group using the contentIndexIsGroup() method.
|
80
|
+
|
81
|
+
If grouping is not enabled, return null.
|
82
|
+
|
83
|
+
@param {SC.CollectionView} view the calling view
|
84
|
+
@param {SC.Array} content the content object
|
85
|
+
@return {SC.IndexSet}
|
86
|
+
*/
|
87
|
+
contentGroupIndexes: function(view, content) {
|
88
|
+
return null;
|
89
|
+
},
|
90
|
+
|
91
|
+
/**
|
92
|
+
Returns YES if the item at the specified content index should be rendered
|
93
|
+
using the groupExampleView instead of the regular exampleView. Note that
|
94
|
+
a group view is different from a branch/leaf view. Group views often
|
95
|
+
appear with different layout and a different look and feel.
|
96
|
+
|
97
|
+
Default always returns NO.
|
98
|
+
|
99
|
+
@param {SC.CollectionView} view the collection view
|
100
|
+
@param {SC.Array} content the content object
|
101
|
+
@param {Number} idx the content index
|
102
|
+
@returns {Boolean} YES, NO, or SC.MIXED_STATE
|
103
|
+
*/
|
104
|
+
contentIndexIsGroup: function(view, content, idx) {
|
105
|
+
return NO ;
|
106
|
+
},
|
107
|
+
|
108
|
+
// ..........................................................
|
109
|
+
// OUTLINE VIEWS
|
110
|
+
//
|
111
|
+
|
112
|
+
/**
|
113
|
+
Returns the outline level for the item at the specified index. Can be
|
114
|
+
used to display hierarchical lists.
|
115
|
+
|
116
|
+
Default always returns -1 (no outline).
|
117
|
+
|
118
|
+
@param {SC.CollectionView} view the collection view
|
119
|
+
@param {SC.Array} content the content object
|
120
|
+
@param {Number} idx the content index
|
121
|
+
@returns {Boolean} YES, NO, or SC.MIXED_STATE
|
122
|
+
*/
|
123
|
+
contentIndexOutlineLevel: function(view, content, idx) {
|
124
|
+
return -1;
|
125
|
+
},
|
126
|
+
|
127
|
+
/**
|
128
|
+
Returns a constant indicating the disclosure state of the item. Must be
|
129
|
+
one of SC.BRANCH_OPEN, SC.BRANCH_CLOSED, SC.LEAF_NODE. If you return one
|
130
|
+
of the BRANCH options then the item may be rendered with a disclosure
|
131
|
+
triangle open or closed. If you return SC.LEAF_NODe then the item will
|
132
|
+
be rendered as a leaf node.
|
133
|
+
|
134
|
+
Default returns SC.LEAF_NODE.
|
135
|
+
|
136
|
+
@param {SC.CollectionView} view the collection view
|
137
|
+
@param {SC.Array} content the content object
|
138
|
+
@param {Number} idx the content index
|
139
|
+
@returns {Boolean} YES, NO, or SC.MIXED_STATE
|
140
|
+
*/
|
141
|
+
contentIndexDisclosureState: function(view, content, idx) {
|
142
|
+
return SC.LEAF_NODE;
|
143
|
+
},
|
144
|
+
|
145
|
+
/**
|
146
|
+
Called to expand a content index item if it is currently in a closed
|
147
|
+
disclosure state. The default implementation does nothing.
|
148
|
+
|
149
|
+
@param {SC.CollectionView} view the collection view
|
150
|
+
@param {SC.Array} content the content object
|
151
|
+
@param {Number} idx the content index
|
152
|
+
@returns {void}
|
153
|
+
*/
|
154
|
+
contentIndexExpand: function(view, content, idx) {
|
155
|
+
console.log('contentIndexExpand(%@, %@, %@)'.fmt(view,content,idx));
|
156
|
+
},
|
157
|
+
|
158
|
+
/**
|
159
|
+
Called to collapse a content index item if it is currently in an open
|
160
|
+
disclosure state. The default implementation does nothing.
|
161
|
+
|
162
|
+
@param {SC.CollectionView} view the collection view
|
163
|
+
@param {SC.Array} content the content object
|
164
|
+
@param {Number} idx the content index
|
165
|
+
@returns {void}
|
166
|
+
*/
|
167
|
+
contentIndexCollapse: function(view, content, idx) {
|
168
|
+
console.log('contentIndexCollapse(%@, %@, %@)'.fmt(view,content,idx));
|
169
|
+
}
|
170
|
+
|
171
|
+
};
|
@@ -5,6 +5,8 @@
|
|
5
5
|
// License: Licened under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
7
|
|
8
|
+
sc_require('mixins/string');
|
9
|
+
|
8
10
|
/** Indicates a value has a mixed state of both on and off. */
|
9
11
|
SC.MIXED_STATE = '__MIXED__' ;
|
10
12
|
|
@@ -195,7 +197,7 @@ SC.Control = {
|
|
195
197
|
// get actual content key
|
196
198
|
contentKey = this[contentKey] ?
|
197
199
|
this.get(contentKey) :
|
198
|
-
this.getDelegateProperty(this.displayDelegate
|
200
|
+
this.getDelegateProperty(contentKey, this.displayDelegate) ;
|
199
201
|
|
200
202
|
if (contentKey && (all || key === contentKey)) {
|
201
203
|
var v = (content) ?
|
@@ -222,7 +224,7 @@ SC.Control = {
|
|
222
224
|
updateContentWithValueObserver: function() {
|
223
225
|
var key = this.contentValueKey ?
|
224
226
|
this.get('contentValueKey') :
|
225
|
-
this.getDelegateProperty(this.displayDelegate
|
227
|
+
this.getDelegateProperty('contentValueKey', this.displayDelegate) ;
|
226
228
|
|
227
229
|
var content = this.get('content') ;
|
228
230
|
if (!key || !content) return ; // do nothing if disabled
|
@@ -291,7 +293,7 @@ SC.Control = {
|
|
291
293
|
*/
|
292
294
|
controlSize: SC.REGULAR_CONTROL_SIZE,
|
293
295
|
|
294
|
-
displayProperties: 'isEnabled isSelected
|
296
|
+
displayProperties: 'isEnabled isSelected isActive controlSize'.w(),
|
295
297
|
|
296
298
|
/** @private */
|
297
299
|
_CONTROL_TMP_CLASSNAMES: {},
|
@@ -308,8 +310,6 @@ SC.Control = {
|
|
308
310
|
var names = this._CONTROL_TMP_CLASSNAMES ; // temporary object
|
309
311
|
names.mixed = sel === SC.MIXED_STATE;
|
310
312
|
names.sel = sel && (sel !== SC.MIXED_STATE) ;
|
311
|
-
names.disabled = disabled ;
|
312
|
-
names.focus = this.get('isFirstResponder') ;
|
313
313
|
names.active = this.get('isActive') ;
|
314
314
|
context.setClass(names).addClass(this.get('controlSize'));
|
315
315
|
|
@@ -0,0 +1,462 @@
|
|
1
|
+
// ========================================================================
|
2
|
+
// SproutCore
|
3
|
+
// copyright 2006-2008 Sprout Systems, Inc.
|
4
|
+
// ========================================================================
|
5
|
+
|
6
|
+
|
7
|
+
require('views/text_field') ;
|
8
|
+
|
9
|
+
/**
|
10
|
+
@class
|
11
|
+
|
12
|
+
The inline text editor is used to display an editable area for controls
|
13
|
+
that are not always editable such as label views and source list views.
|
14
|
+
|
15
|
+
You generally will not use the inline editor directly but instead will
|
16
|
+
invoke beginEditing() and endEditing() on the views yous are
|
17
|
+
editing. If you would like to use the inline editor for your own views,
|
18
|
+
you can do that also by using the editing API described here.
|
19
|
+
|
20
|
+
h2. Using the Inline Editor in Your Own Views
|
21
|
+
|
22
|
+
If you need to use the inline editor with custom views you have written,
|
23
|
+
you will need to work with the class methods to begin, commit, and discard
|
24
|
+
editing changes.
|
25
|
+
|
26
|
+
h3. Starting the Editor
|
27
|
+
|
28
|
+
The inline editor works by positioning itself over the top of your view
|
29
|
+
with the same offset, width, and font information. As the user types, the
|
30
|
+
field will automatically resize vertically to make room for the user's text.
|
31
|
+
|
32
|
+
To activate the inline editor you must call beginEdition() with at least
|
33
|
+
the target view you want the editor to position itself on top of:
|
34
|
+
|
35
|
+
{{{
|
36
|
+
SC.InlineTextFieldView.beginEditing({
|
37
|
+
target: view, validator: validator
|
38
|
+
}) ;
|
39
|
+
}}}
|
40
|
+
|
41
|
+
You can pass a variety of options to this method to configure the inline
|
42
|
+
editor behavior, including:
|
43
|
+
|
44
|
+
- *frame* The editors initial frame in viewport coordinates (REQ)
|
45
|
+
- *exampleElement* A DOM element to use when copying styles.
|
46
|
+
- *delegate* Optional delegate to receive update notices. If not passed, the target view will be treated as the delegate. (REQ)
|
47
|
+
- *value* The initial value of the edit field. If not passed, the value property of the target view will be used instead.
|
48
|
+
- *multiline* If YES then the hitting return will add to the value instead of exiting the inline editor.
|
49
|
+
- *selectedRange* The range of text that should be selected. If omitted, then the insertion point will be placed at the end of the value.
|
50
|
+
- *commitOnBlur* If YES then bluring will commit the value, otherwise it will discard the current value. Defaults to YES.
|
51
|
+
- *validator* Optional validator will be attached to the field.
|
52
|
+
|
53
|
+
If the inline editor is currently in use elsewhere, it will automatically
|
54
|
+
close itself over there and begin editing for your view instead. The
|
55
|
+
editor expects your source view to implement the InlineTextFieldViewDelegate
|
56
|
+
protocol.
|
57
|
+
|
58
|
+
h2. Commiting or Discarding Changes
|
59
|
+
|
60
|
+
Normally the editor will automatically commit or discard its changes
|
61
|
+
whenever the user exits the edit mode. If you need to force the editor to
|
62
|
+
end editing, you can do so by calling commitEditing() or discardEditing():
|
63
|
+
|
64
|
+
{{{
|
65
|
+
SC.InlineTextFieldView.commitEditing();
|
66
|
+
SC.InlineTextFieldView.discardEditing();
|
67
|
+
}}}
|
68
|
+
|
69
|
+
Both methods will try to end the editing context and will call the
|
70
|
+
relevent delegate methods on the delegate you passed to beginEditing().
|
71
|
+
|
72
|
+
Note that it is possible an editor may not be able to commit editing
|
73
|
+
changes because either the delegate disallowed it or because its validator
|
74
|
+
failed. In this case commitEditing() will return NO. If you want to
|
75
|
+
end editing anyway, you can discard the editing changes instead by calling
|
76
|
+
discardEditing(). This method will generally suceed unless your delegate
|
77
|
+
refuses it as well.
|
78
|
+
|
79
|
+
@extends SC.View
|
80
|
+
@extends SC.DelegateSupport
|
81
|
+
@extends SC.InlineEditorDelegate
|
82
|
+
@since SproutCore 1.0
|
83
|
+
*/
|
84
|
+
SC.InlineTextFieldView = SC.TextFieldView.extend(SC.DelegateSupport, SC.InlineEditorDelegate,
|
85
|
+
/** @scope SC.InlineTextFieldView.prototype */ {
|
86
|
+
|
87
|
+
/**
|
88
|
+
Invoked by the class method to begin editing on an inline editor.
|
89
|
+
|
90
|
+
You generally should call the class method beginEditing() instead of
|
91
|
+
this one since it will make sure to create and use the shared editor
|
92
|
+
instance.
|
93
|
+
|
94
|
+
@params options {Hash} hash of options for editing
|
95
|
+
@returns {Boolean} YES if editor began editing, NO if it failed.
|
96
|
+
*/
|
97
|
+
beginEditing: function(options) {
|
98
|
+
var layout={}, pane;
|
99
|
+
// end existing editing if necessary
|
100
|
+
this.beginPropertyChanges();
|
101
|
+
if (this.get('isEditing') && !this.blurEditor()) {
|
102
|
+
this.endPropertyChanges(); return NO ;
|
103
|
+
}
|
104
|
+
|
105
|
+
this._optframe = options.frame ;
|
106
|
+
this._optIsCollection = options.isCollection;
|
107
|
+
this._exampleElement = options.exampleElement ;
|
108
|
+
this._delegate = options.delegate ;
|
109
|
+
|
110
|
+
if (!this._optframe || !this._delegate) {
|
111
|
+
throw "At least frame and delegate options are required for inline editor";
|
112
|
+
}
|
113
|
+
|
114
|
+
this._originalValue = options.value || '' ;
|
115
|
+
this._multiline = (options.multiline !== undefined) ? options.multiline : NO ;
|
116
|
+
this._commitOnBlur = (options.commitOnBlur !== undefined) ? options.commitOnBlur : YES ;
|
117
|
+
|
118
|
+
// set field values
|
119
|
+
this.set('validator', options.validator) ;
|
120
|
+
this.set('value', this._originalValue) ;
|
121
|
+
//this.set('selectedRange', options.selectedRange || { start: this._originalValue.length, length: 0 }) ;
|
122
|
+
|
123
|
+
this.set('isEditing', YES) ;
|
124
|
+
|
125
|
+
// add to window.
|
126
|
+
|
127
|
+
pane = this._delegate.pane();
|
128
|
+
|
129
|
+
layout.height = this._optframe.height;
|
130
|
+
layout.width=this._optframe.width;
|
131
|
+
if(this._optIsCollection && this._delegate.get('layout').left){
|
132
|
+
layout.left=this._optframe.x-this._delegate.get('layout').left;
|
133
|
+
}else{
|
134
|
+
layout.left=this._optframe.x;
|
135
|
+
}
|
136
|
+
layout.left=this._optframe.x;
|
137
|
+
if(this._optIsCollection && this._delegate.get('layout').top){
|
138
|
+
layout.top=this._optframe.y-this._delegate.get('layout').top;
|
139
|
+
}else{
|
140
|
+
layout.top=this._optframe.y;
|
141
|
+
}
|
142
|
+
|
143
|
+
this.set('layout', layout);
|
144
|
+
|
145
|
+
this.set('parentNode', pane);
|
146
|
+
// get style for view.
|
147
|
+
|
148
|
+
pane.appendChild(this);
|
149
|
+
|
150
|
+
SC.RunLoop.begin().end();
|
151
|
+
|
152
|
+
|
153
|
+
var del = this._delegate ;
|
154
|
+
|
155
|
+
this._className = this.getDelegateProperty(del,"inlineEditorClassName");
|
156
|
+
if(this._className && !this.hasClassName(this._className)) {
|
157
|
+
this.setClassName(this._className,true);
|
158
|
+
}
|
159
|
+
|
160
|
+
this.invokeDelegateMethod(del, 'inlineEditorWillBeginEditing', this) ;
|
161
|
+
// this.resizeToFit(this.getFieldValue()) ;
|
162
|
+
|
163
|
+
// allow notifications to go
|
164
|
+
this.endPropertyChanges() ;
|
165
|
+
|
166
|
+
// and become first responder
|
167
|
+
this.becomeFirstResponder() ;
|
168
|
+
|
169
|
+
this.invokeDelegateMethod(del, 'inlineEditorDidBeginEditing', this) ;
|
170
|
+
},
|
171
|
+
|
172
|
+
|
173
|
+
/**
|
174
|
+
Tries to commit the current value of the field and end editing.
|
175
|
+
|
176
|
+
Do not use this method, use the class method instead.
|
177
|
+
*/
|
178
|
+
commitEditing: function() {
|
179
|
+
// try to validate field. If it fails, return false.
|
180
|
+
if (!SC.$ok(this.validateSubmit())) return NO ;
|
181
|
+
return this._endEditing(this.get('value')) ;
|
182
|
+
},
|
183
|
+
|
184
|
+
/**
|
185
|
+
Tries to discard the current value of the field and end editing.
|
186
|
+
|
187
|
+
Do not use this method, use the class method instead.
|
188
|
+
*/
|
189
|
+
discardEditing: function() {
|
190
|
+
return this._endEditing(this._originalValue) ;
|
191
|
+
},
|
192
|
+
|
193
|
+
/**
|
194
|
+
Invoked whenever the editor loses (or should lose) first responder
|
195
|
+
status to commit or discard editing.
|
196
|
+
*/
|
197
|
+
blurEditor: function() {
|
198
|
+
if (!this.get('isEditing')) return YES ;
|
199
|
+
return this._commitOnBlur ? this.commitEditing() : this.discardEditing();
|
200
|
+
},
|
201
|
+
|
202
|
+
/** @private
|
203
|
+
Called by commitEditing and discardEditing to actually end editing.
|
204
|
+
|
205
|
+
@returns {Boolean} NO if editing did not exit
|
206
|
+
*/
|
207
|
+
_endEditing: function(finalValue) {
|
208
|
+
if (!this.get('isEditing')) return YES ;
|
209
|
+
|
210
|
+
// get permission from the delegate.
|
211
|
+
var del = this._delegate ;
|
212
|
+
if (!this.invokeDelegateMethod(del, 'inlineEditorShouldEndEditing', this, finalValue)) return NO ;
|
213
|
+
|
214
|
+
// OK, we are allowed to end editing. Notify delegate of final value
|
215
|
+
// and clean up.
|
216
|
+
this.invokeDelegateMethod(del, 'inlineEditorDidEndEditing', this, finalValue) ;
|
217
|
+
|
218
|
+
// If the delegate set a class name, let's clean it up:
|
219
|
+
if(this._className) this.setClassName(this._className, false);
|
220
|
+
|
221
|
+
// cleanup cached values
|
222
|
+
this._originalValue = this._delegate = this._exampleElement = this._optframe = this._className = null ;
|
223
|
+
this.set('isEditing', NO) ;
|
224
|
+
|
225
|
+
// resign first responder if not done already. This may call us in a
|
226
|
+
// loop but since isEditing is already NO, nothing will happen.
|
227
|
+
if (this.get('isFirstResponder')) this.resignFirstResponder();
|
228
|
+
if (this.get('parentNode')) this.removeFromParent() ;
|
229
|
+
|
230
|
+
return YES ;
|
231
|
+
},
|
232
|
+
|
233
|
+
/**
|
234
|
+
YES if the editor is currently visible and editing.
|
235
|
+
|
236
|
+
@type {Boolean}
|
237
|
+
*/
|
238
|
+
isEditing: NO,
|
239
|
+
|
240
|
+
/**
|
241
|
+
Collects the appropriate style information from the targetView to
|
242
|
+
make the inline editor appear similar.
|
243
|
+
*/
|
244
|
+
|
245
|
+
|
246
|
+
/**
|
247
|
+
Resizes the visible textarea to fix the actual text in the text area.
|
248
|
+
|
249
|
+
This method works by keeping a div positioned immediately beneath the
|
250
|
+
text area with an opacity of 0 that contains the same text as the
|
251
|
+
input text field itself. This is then used to calculate the required
|
252
|
+
size for the text area.
|
253
|
+
*/
|
254
|
+
resizeToFit: function(newValue)
|
255
|
+
{
|
256
|
+
|
257
|
+
// TODO: make this function work for 1.0
|
258
|
+
|
259
|
+
|
260
|
+
// var sizer = this.outlet('sizer');
|
261
|
+
// var field = this.outlet('field');
|
262
|
+
//
|
263
|
+
// // XSS attack waiting to happen... escape the form input;
|
264
|
+
// var text = (newValue || '').escapeHTML();
|
265
|
+
//
|
266
|
+
// // convert the textarea's newlines into something comparable for the sizer
|
267
|
+
// // div appending a space to give a line with no text a visible height.
|
268
|
+
// text = text.replace((/ {2}/g), " ").replace(/\n/g, "<br /> ");
|
269
|
+
//
|
270
|
+
// // get the text size
|
271
|
+
// sizer.set('innerHTML', text || " ");
|
272
|
+
// sizer.recacheFrames() ;
|
273
|
+
// var h = sizer.get('frame').height;
|
274
|
+
// this.set('frame', { height: h }) ;
|
275
|
+
},
|
276
|
+
|
277
|
+
mouseDown: function(e) {
|
278
|
+
arguments.callee.base.call(this, e) ;
|
279
|
+
return this.get('isEditing');
|
280
|
+
},
|
281
|
+
|
282
|
+
|
283
|
+
keyDown: function(evt) {
|
284
|
+
var ret = this.interpretKeyEvents(evt) ;
|
285
|
+
if(!ret) this.fieldValueDidChange(true);
|
286
|
+
return !ret ? NO : ret ;
|
287
|
+
},
|
288
|
+
|
289
|
+
insertText: null,
|
290
|
+
|
291
|
+
//keyUp: function() { return true; },
|
292
|
+
|
293
|
+
// [Safari] if you don't take key focus away from an element before you
|
294
|
+
// remove it from the DOM key events are no longer sent to the browser.
|
295
|
+
willRemoveFromParent: function() {
|
296
|
+
this.$('input')[0].blur();
|
297
|
+
},
|
298
|
+
|
299
|
+
// ask owner to end editing.
|
300
|
+
willLoseFirstResponder: function(responder) {
|
301
|
+
if (responder !== this) return;
|
302
|
+
|
303
|
+
// should have been covered by willRemoveFromParent, but this was needed
|
304
|
+
// too.
|
305
|
+
this.$('input')[0].blur();
|
306
|
+
return this.blurEditor() ;
|
307
|
+
},
|
308
|
+
|
309
|
+
// invoked when the user presses escape. Returns true to ignore
|
310
|
+
// keystroke
|
311
|
+
cancel: function() {
|
312
|
+
this.discardEditing();
|
313
|
+
return YES;
|
314
|
+
},
|
315
|
+
|
316
|
+
// do it here instead of waiting on the binding to make sure the UI
|
317
|
+
// updates immediately.
|
318
|
+
fieldValueDidChange: function(partialChange) {
|
319
|
+
arguments.callee.base.call(this, partialChange) ;
|
320
|
+
//this.resizeToFit(this.getFieldValue()) ;
|
321
|
+
},
|
322
|
+
|
323
|
+
// invoked when the user presses return. If this is a multi-line field,
|
324
|
+
// then allow the newine to proceed. Otherwise, try to commit the
|
325
|
+
// edit.
|
326
|
+
insertNewline: function(evt) {
|
327
|
+
if (this._multiline) {
|
328
|
+
return arguments.callee.base.call(this, evt) ;
|
329
|
+
} else {
|
330
|
+
// TODO : this is a work around. There is a bug where the
|
331
|
+
// last character would get dropped
|
332
|
+
// if the editing was completed by pressing return
|
333
|
+
// needs to be fixed
|
334
|
+
if (this.get('value') != this.$input().val()) {
|
335
|
+
this.set('value', this.$input().val());
|
336
|
+
}
|
337
|
+
|
338
|
+
|
339
|
+
this.commitEditing() ;
|
340
|
+
return YES ;
|
341
|
+
}
|
342
|
+
},
|
343
|
+
|
344
|
+
// Tries to find the next key view when tabbing. If the next view is
|
345
|
+
// editable, begins editing.
|
346
|
+
|
347
|
+
insertTab: function(evt)
|
348
|
+
{
|
349
|
+
var next = this.get("owner")._delegate.nextValidKeyView();
|
350
|
+
this.commitEditing() ;
|
351
|
+
if(next) next.beginEditing();
|
352
|
+
return YES ;
|
353
|
+
},
|
354
|
+
|
355
|
+
insertBacktab: function(evt)
|
356
|
+
{
|
357
|
+
var prev = this.get("owner")._delegate.previousValidKeyView();
|
358
|
+
this.commitEditing() ;
|
359
|
+
if(prev) prev.beginEditing();
|
360
|
+
return YES ;
|
361
|
+
}
|
362
|
+
|
363
|
+
|
364
|
+
});
|
365
|
+
|
366
|
+
|
367
|
+
SC.InlineTextFieldView.mixin(
|
368
|
+
/** @static SC.InlineTextFieldView */ {
|
369
|
+
/** Call this method to make the inline editor begin editing for your view.
|
370
|
+
|
371
|
+
If the inline editor is already being used for another value it will
|
372
|
+
try to dismiss itself from the other editor and attach itself to the
|
373
|
+
new view instead. If this process fails for some reason (for example
|
374
|
+
if the other view did not allow the view to end editing) then this
|
375
|
+
method will return false.
|
376
|
+
|
377
|
+
You should pass a set of options that at least includes the target
|
378
|
+
view. See class definition for options.
|
379
|
+
|
380
|
+
@params options {Hash} hash of options for editing
|
381
|
+
@returns {Boolean} YES if editor began editing, NO if it failed.
|
382
|
+
*/
|
383
|
+
beginEditing: function(options) {
|
384
|
+
this._exampleElement = options.exampleElement ;
|
385
|
+
var layout = options.delegate.get('layout');
|
386
|
+
var s = this.updateViewStyle();
|
387
|
+
|
388
|
+
var str= ".inline-editor input{"+s+"} ";
|
389
|
+
str= str+".inline-editor textarea{"+s+"}";
|
390
|
+
var pa= document.getElementsByTagName('head')[0] ;
|
391
|
+
var el= document.createElement('style');
|
392
|
+
el.type= 'text/css';
|
393
|
+
el.media= 'screen';
|
394
|
+
if(el.styleSheet) el.styleSheet.cssText= str;// IE method
|
395
|
+
else el.appendChild(document.createTextNode(str));// others
|
396
|
+
pa.appendChild(el);
|
397
|
+
|
398
|
+
this.editor = this.create({ classNames: 'inline-editor', layout: layout}) ;
|
399
|
+
return this.editor.beginEditing(options) ;
|
400
|
+
|
401
|
+
},
|
402
|
+
|
403
|
+
/** Save the current value of the inline editor and exit edit mode.
|
404
|
+
|
405
|
+
If the inline editor is being used it will try to end the editing and
|
406
|
+
close. If the inline editor could not end for some reason (for example
|
407
|
+
if the delegate did not allow the editing to end) then this method will
|
408
|
+
return NO.
|
409
|
+
|
410
|
+
@returns {Boolean} YES if the inline editor ended or no edit was in
|
411
|
+
progress.
|
412
|
+
*/
|
413
|
+
commitEditing: function() {
|
414
|
+
return this.editor ? this.editor.commitEditing() : YES ;
|
415
|
+
},
|
416
|
+
|
417
|
+
/** Discard the current value of the inline editor and exit edit mode.
|
418
|
+
|
419
|
+
If the inline editor is in use, this method will try to end the editing,
|
420
|
+
restoring the original value of the target view. If the inline editor
|
421
|
+
could not end for some reason (for example if the delegate did not
|
422
|
+
allow editing to end) then this method will return NO.
|
423
|
+
|
424
|
+
@returns {Boolean} YES if the inline editor ended or no edit was in progress.
|
425
|
+
*/
|
426
|
+
discardEditing: function() {
|
427
|
+
return this.editor ? this.editor.discardEditing() : YES ;
|
428
|
+
},
|
429
|
+
|
430
|
+
updateViewStyle: function() {
|
431
|
+
var el = this._exampleElement[0] ;
|
432
|
+
var styles = '';
|
433
|
+
var s=SC.getStyle(el,'font-size');
|
434
|
+
if(s && s.length>0) styles = styles + "font-size: "+ s + "; ";
|
435
|
+
s=SC.getStyle(el,'font-family');
|
436
|
+
if(s && s.length>0) styles = styles + "font-family: " + s + "; ";
|
437
|
+
s=SC.getStyle(el,'font-weight');
|
438
|
+
if(s && s.length>0) styles = styles + "font-weight: " + s + "; ";
|
439
|
+
s=SC.getStyle(el,'z-index');
|
440
|
+
if(s && s.length>0) styles = styles + "z-index: " + s + "; ";
|
441
|
+
s=SC.getStyle(el,'padding-left');
|
442
|
+
if(s && s.length>0) styles = styles + "padding-left: " + s + "; ";
|
443
|
+
s=SC.getStyle(el,'padding-bottom');
|
444
|
+
if(s && s.length>0) styles = styles + "padding-bottom: " + s + "; ";
|
445
|
+
s=SC.getStyle(el,'line-height');
|
446
|
+
if(s && s.length>0) styles = styles + "line-height: " + s + "; ";
|
447
|
+
s=SC.getStyle(el,'text-align');
|
448
|
+
if(s && s.length>0) styles = styles + "text-align: " + s + "; ";
|
449
|
+
|
450
|
+
return styles;
|
451
|
+
},
|
452
|
+
|
453
|
+
|
454
|
+
/**
|
455
|
+
The current shared inline editor. This property will often remain NULL
|
456
|
+
until you actually begin editing for the first time.
|
457
|
+
|
458
|
+
@type {SC.InlineTextFieldView}
|
459
|
+
*/
|
460
|
+
editor: null
|
461
|
+
|
462
|
+
}) ;
|