sproutit-sproutcore 1.0.0.20090407205609 → 1.0.0.20090408130025
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/frameworks/sproutcore/Buildfile +63 -0
- data/frameworks/sproutcore/HISTORY +682 -0
- data/frameworks/sproutcore/README +22 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/controllers/docs.js +149 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/core.js +16 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/english.lproj/body.css +17 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/english.lproj/body.js +99 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/english.lproj/images/sproutcore-logo.png +0 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/english.lproj/strings.js +15 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/main.js +27 -0
- data/frameworks/sproutcore/apps/sc_jsdoc/models/doc.js +21 -0
- data/frameworks/sproutcore/apps/sc_qunit/controllers/runner.js +209 -0
- data/frameworks/sproutcore/apps/sc_qunit/core.js +16 -0
- data/frameworks/sproutcore/apps/sc_qunit/english.lproj/body.css +17 -0
- data/frameworks/sproutcore/apps/sc_qunit/english.lproj/body.js +107 -0
- data/frameworks/sproutcore/apps/sc_qunit/english.lproj/images/sproutcore-logo.png +0 -0
- data/frameworks/sproutcore/apps/sc_qunit/english.lproj/strings.js +15 -0
- data/frameworks/sproutcore/apps/sc_qunit/main.js +18 -0
- data/frameworks/sproutcore/apps/sc_qunit/models/test.js +24 -0
- data/frameworks/sproutcore/apps/sc_qunit/views/test_iframe.js +52 -0
- data/frameworks/sproutcore/apps/tests/controllers/targets.js +47 -0
- data/frameworks/sproutcore/apps/tests/controllers/test.js +20 -0
- data/frameworks/sproutcore/apps/tests/controllers/tests.js +38 -0
- data/frameworks/sproutcore/apps/tests/core.js +35 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/loading.rhtml +9 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/main_page.css +19 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +86 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/strings.js +17 -0
- data/frameworks/sproutcore/apps/tests/fixtures/target.js +43 -0
- data/frameworks/sproutcore/apps/tests/fixtures/test.js +43 -0
- data/frameworks/sproutcore/apps/tests/main.js +39 -0
- data/frameworks/sproutcore/apps/tests/models/target.js +49 -0
- data/frameworks/sproutcore/apps/tests/models/test.js +20 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/test.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/tests.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/models/target.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/models/test.js +15 -0
- data/frameworks/sproutcore/apps/welcome/core.js +23 -0
- data/frameworks/sproutcore/apps/welcome/english.lproj/loading.rhtml +8 -0
- data/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +43 -0
- data/frameworks/sproutcore/apps/welcome/english.lproj/strings.js +15 -0
- data/frameworks/sproutcore/apps/welcome/main.js +36 -0
- data/frameworks/sproutcore/design/Design Charts.graffle +15819 -0
- data/frameworks/sproutcore/design/Record State Table.numbers +0 -0
- data/frameworks/sproutcore/frameworks/datastore/core.js +14 -0
- data/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +113 -0
- data/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +256 -0
- data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +196 -0
- data/frameworks/sproutcore/frameworks/datastore/debug/json.js +71 -0
- data/frameworks/sproutcore/frameworks/datastore/debug/standard_setup.js +96 -0
- data/frameworks/sproutcore/frameworks/datastore/fixtures/author_fixtures.js +2503 -0
- data/frameworks/sproutcore/frameworks/datastore/fixtures/sample.js +17 -0
- data/frameworks/sproutcore/frameworks/datastore/models/fetched_attribute.js +92 -0
- data/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +38 -0
- data/frameworks/sproutcore/frameworks/datastore/models/record.js +430 -0
- data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +361 -0
- data/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +305 -0
- data/frameworks/sproutcore/frameworks/datastore/system/query.js +128 -0
- data/frameworks/sproutcore/frameworks/datastore/system/record_array.js +149 -0
- data/frameworks/sproutcore/frameworks/datastore/system/store.js +1689 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +86 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/integration/contact_model.js +114 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/integration/mail_model.js +91 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/integration/test_runner_model.js +56 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +73 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js +48 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +42 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/storeDidChangeProperties.js +138 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/unknownProperty.js +46 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +71 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +115 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +40 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +116 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +135 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/dataHashDidChange.js +110 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +99 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +180 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readEditableDataHash.js +126 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/removeDataHash.js +163 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/writeDataHash.js +166 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +175 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +54 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +126 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +127 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +57 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +78 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +247 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +106 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/init.js +21 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +61 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +74 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/readEditableDataHash.js +74 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +74 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/removeDataHash.js +144 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/retrieveRecord.js +137 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/writeDataHash.js +130 -0
- data/frameworks/sproutcore/frameworks/debug/core.js +1 -0
- data/frameworks/sproutcore/frameworks/deprecated/core.js +61 -0
- data/frameworks/sproutcore/frameworks/deprecated/lib/button_views.rb +330 -0
- data/frameworks/sproutcore/frameworks/deprecated/lib/collection_view.rb +83 -0
- data/frameworks/sproutcore/frameworks/deprecated/lib/core_views.rb +326 -0
- data/frameworks/sproutcore/frameworks/deprecated/lib/form_views.rb +253 -0
- data/frameworks/sproutcore/frameworks/deprecated/lib/index.rhtml +75 -0
- data/frameworks/sproutcore/frameworks/deprecated/lib/menu_views.rb +93 -0
- data/frameworks/sproutcore/frameworks/deprecated/server/rails_server.js +80 -0
- data/frameworks/sproutcore/frameworks/deprecated/server/rest_server.js +178 -0
- data/frameworks/sproutcore/frameworks/deprecated/server/server.js +674 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/animator.js +679 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/binding.js +36 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/browser.js +77 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/classic_responder.js +314 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/event.js +60 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/globals.js +20 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/misc.js +60 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/node_descriptor.js +72 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/object.js +124 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/path_module.js +433 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/string.js +109 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/application/application.rhtml +125 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/views/classic_view/clippingFrame.rhtml +401 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/views/classic_view/frame.rhtml +357 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/views/classic_view/isVisibleInWindow.rhtml +147 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/views/collection/base.rhtml +298 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/views/collection/incremental_rendering.rhtml +260 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/views/collection/source_list_rendering.rhtml +143 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/views/popup_button.rhtml +128 -0
- data/frameworks/sproutcore/frameworks/deprecated/tests/views/text_field.rhtml +37 -0
- data/frameworks/sproutcore/frameworks/deprecated/views/collection.js +24 -0
- data/frameworks/sproutcore/frameworks/designer/coders/design.js +30 -0
- data/frameworks/sproutcore/frameworks/designer/coders/localization.js +28 -0
- data/frameworks/sproutcore/frameworks/designer/coders/object.js +347 -0
- data/frameworks/sproutcore/frameworks/designer/controllers/page_design.js +102 -0
- data/frameworks/sproutcore/frameworks/designer/css/css_rule.js +22 -0
- data/frameworks/sproutcore/frameworks/designer/css/css_style.js +29 -0
- data/frameworks/sproutcore/frameworks/designer/css/css_style_sheet.js +201 -0
- data/frameworks/sproutcore/frameworks/designer/ext/page.js +88 -0
- data/frameworks/sproutcore/frameworks/designer/ext/view.js +40 -0
- data/frameworks/sproutcore/frameworks/designer/views/controls/button.js +18 -0
- data/frameworks/sproutcore/frameworks/designer/views/designer.js +553 -0
- data/frameworks/sproutcore/frameworks/designer/views/label.js +17 -0
- data/frameworks/sproutcore/frameworks/designer/views/mixins/button.js +13 -0
- data/frameworks/sproutcore/frameworks/designer/views/tab.js +17 -0
- data/frameworks/sproutcore/frameworks/desktop/core.js +6 -0
- data/frameworks/sproutcore/frameworks/desktop/debug/drag.js +41 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +56 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/a_sample_image.jpg +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/apple-logo1.jpeg +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/debug/iframe.html +23 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/disclosure.css +71 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/icons.css +943 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/blank.gif +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_222222.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_454545.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_888888.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/mini_ffffff.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/shared.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/indicator.gif +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/panels/sprite-x.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/panels/sprite-y.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/sc-theme-sprite.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/000000.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/ffffff.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/sticky-note.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +156 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu.css +83 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +99 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/palette.css +3 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +94 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/picker.css +39 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/progress.css +31 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/radio.css +10 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/scroller.css +26 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +141 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/separator.css +19 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +57 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/split.css +70 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/split_divider.css +8 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/strings.js +14 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/tab.css +12 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/text_field.css +29 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/toolbar.css +6 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/border.js +53 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_group.js +22 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_item.js +22 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +226 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +247 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +377 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/menu.js +504 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/modal.js +68 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/palette.js +63 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/panel.js +184 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/picker.js +402 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +46 -0
- data/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +39 -0
- data/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +81 -0
- data/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +175 -0
- data/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +280 -0
- data/frameworks/sproutcore/frameworks/desktop/system/drag.js +721 -0
- data/frameworks/sproutcore/frameworks/desktop/system/key_bindings.js +40 -0
- data/frameworks/sproutcore/frameworks/desktop/system/root_responder.js +641 -0
- data/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +187 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +43 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +152 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +57 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +36 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +40 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +80 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +38 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +45 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +140 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +145 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +99 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +39 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +64 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/grid/ui.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui.js +110 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +255 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/ui.js +44 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/methods.js +128 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +240 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +113 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +202 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +139 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +111 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/methods.js +63 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/ui.js +70 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +94 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +206 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +81 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +85 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +37 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/ui.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +50 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +52 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +54 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +88 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/text_field/methods.js +76 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/text_field/ui.js +198 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/web/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +110 -0
- data/frameworks/sproutcore/frameworks/desktop/views/button.js +320 -0
- data/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +98 -0
- data/frameworks/sproutcore/frameworks/desktop/views/collection.js +2141 -0
- data/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +44 -0
- data/frameworks/sproutcore/frameworks/desktop/views/form.js +595 -0
- data/frameworks/sproutcore/frameworks/desktop/views/grid.js +199 -0
- data/frameworks/sproutcore/frameworks/desktop/views/list.js +706 -0
- data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +523 -0
- data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +437 -0
- data/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +62 -0
- data/frameworks/sproutcore/frameworks/desktop/views/progress.js +207 -0
- data/frameworks/sproutcore/frameworks/desktop/views/radio.js +332 -0
- data/frameworks/sproutcore/frameworks/desktop/views/scene.js +56 -0
- data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +648 -0
- data/frameworks/sproutcore/frameworks/desktop/views/scroller.js +203 -0
- data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +509 -0
- data/frameworks/sproutcore/frameworks/desktop/views/select_field.js +292 -0
- data/frameworks/sproutcore/frameworks/desktop/views/separator.js +37 -0
- data/frameworks/sproutcore/frameworks/desktop/views/slider.js +178 -0
- data/frameworks/sproutcore/frameworks/desktop/views/source_list.js +1117 -0
- data/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +169 -0
- data/frameworks/sproutcore/frameworks/desktop/views/split.js +651 -0
- data/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +55 -0
- data/frameworks/sproutcore/frameworks/desktop/views/tab.js +190 -0
- data/frameworks/sproutcore/frameworks/desktop/views/text_field.js +233 -0
- data/frameworks/sproutcore/frameworks/desktop/views/thumb.js +49 -0
- data/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +49 -0
- data/frameworks/sproutcore/frameworks/desktop/views/web.js +86 -0
- data/frameworks/sproutcore/frameworks/foundation/TESTING +46 -0
- data/frameworks/sproutcore/frameworks/foundation/controllers/array.js +490 -0
- data/frameworks/sproutcore/frameworks/foundation/controllers/controller.js +317 -0
- data/frameworks/sproutcore/frameworks/foundation/controllers/object.js +421 -0
- data/frameworks/sproutcore/frameworks/foundation/core.js +111 -0
- data/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +172 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/blank.gif +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +53 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/button_view.css +55 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +5 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/debug/control-test-pane.css +8 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-logo.png +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/static_layout.css +5 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +40 -0
- data/frameworks/sproutcore/frameworks/foundation/ext/object.js +81 -0
- data/frameworks/sproutcore/frameworks/foundation/ext/run_loop.js +158 -0
- data/frameworks/sproutcore/frameworks/foundation/fixtures/file_exists.json +1 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +291 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +88 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/control.js +352 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +146 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/responder.js +156 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +154 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +101 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/string.js +237 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +176 -0
- data/frameworks/sproutcore/frameworks/foundation/panes/main.js +47 -0
- data/frameworks/sproutcore/frameworks/foundation/panes/pane.js +555 -0
- data/frameworks/sproutcore/frameworks/foundation/protocols/inline_editor_delegate.js +84 -0
- data/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +244 -0
- data/frameworks/sproutcore/frameworks/foundation/system/browser.js +64 -0
- data/frameworks/sproutcore/frameworks/foundation/system/builder.js +210 -0
- data/frameworks/sproutcore/frameworks/foundation/system/core_query.js +2015 -0
- data/frameworks/sproutcore/frameworks/foundation/system/cursor.js +129 -0
- data/frameworks/sproutcore/frameworks/foundation/system/error.js +93 -0
- data/frameworks/sproutcore/frameworks/foundation/system/event.js +817 -0
- data/frameworks/sproutcore/frameworks/foundation/system/image_cache.js +433 -0
- data/frameworks/sproutcore/frameworks/foundation/system/json.js +440 -0
- data/frameworks/sproutcore/frameworks/foundation/system/locale.js +288 -0
- data/frameworks/sproutcore/frameworks/foundation/system/page.js +106 -0
- data/frameworks/sproutcore/frameworks/foundation/system/ready.js +189 -0
- data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +865 -0
- data/frameworks/sproutcore/frameworks/foundation/system/request.js +255 -0
- data/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +368 -0
- data/frameworks/sproutcore/frameworks/foundation/system/routes.js +446 -0
- data/frameworks/sproutcore/frameworks/foundation/system/time.js +478 -0
- data/frameworks/sproutcore/frameworks/foundation/system/timer.js +549 -0
- data/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +158 -0
- data/frameworks/sproutcore/frameworks/foundation/system/utils.js +330 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array.js +118 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/controller.js +268 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object.js +433 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/ui.js +113 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +113 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/content.js +195 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/displayProperties.js +89 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/content.js +168 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +89 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/builder.js +42 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +1323 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_dimensions.js +387 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_selector.js +405 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/setClass.js +49 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/within.js +66 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/error.js +41 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/json.js +14 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/locale.js +128 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/begin.js +47 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/element.js +44 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/end.js +119 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/get.js +51 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_attr.js +50 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_basic.js +28 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_className.js +179 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +100 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/init.js +55 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/join.js +28 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/push_text.js +74 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/tag.js +45 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +205 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +89 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeKeyPane.js +124 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMainPane.js +68 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/root_responder.js +97 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/targetForAction.js +238 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/routes.js +33 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invalidate.js +38 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invokeLater.js +201 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/isPaused.js +71 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/performAction.js +67 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/timer/schedule.js +170 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js +27 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/utils/normalizeURL.js +18 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/utils/range.js +62 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/validators/credit_card.js +35 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/validators/date.js +21 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/validators/number.js +47 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/validators/password.js +13 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +83 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +39 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/main_pane.js +31 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +89 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/firstResponder.js +148 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/keyPane.js +133 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendEvent.js +165 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +132 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertFrames.js +246 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createChildViews.js +87 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createLayer.js +97 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/destroyLayer.js +85 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/findLayerInParentLayer.js +52 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/init.js +50 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/insertBefore.js +200 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisibleInWindow.js +102 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layer.js +150 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutChildViews.js +162 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutDidChange.js +127 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +248 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/parentViewDidChange.js +67 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +166 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/removeChild.js +189 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/render.js +83 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/replaceChild.js +29 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +142 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayerLocation.js +194 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/viewDidResize.js +185 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +125 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/date.js +52 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/email.js +45 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/not_empty.js +33 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/number.js +82 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/password.js +86 -0
- data/frameworks/sproutcore/frameworks/foundation/validators/validator.js +311 -0
- data/frameworks/sproutcore/frameworks/foundation/views/container.js +136 -0
- data/frameworks/sproutcore/frameworks/foundation/views/field.js +276 -0
- data/frameworks/sproutcore/frameworks/foundation/views/image.js +158 -0
- data/frameworks/sproutcore/frameworks/foundation/views/label.js +261 -0
- data/frameworks/sproutcore/frameworks/foundation/views/view.js +2160 -0
- data/frameworks/sproutcore/frameworks/mobile/english.lproj/core.css +12 -0
- data/frameworks/sproutcore/frameworks/mobile/lib/index.rhtml +126 -0
- data/frameworks/sproutcore/frameworks/mobile/system/root_responder.js +109 -0
- data/frameworks/sproutcore/frameworks/mobile/tests/views/button/ui.js +9 -0
- data/frameworks/sproutcore/frameworks/mobile/views/button.js +190 -0
- data/frameworks/sproutcore/frameworks/runtime/README +11 -0
- data/frameworks/sproutcore/frameworks/runtime/core.js +777 -0
- data/frameworks/sproutcore/frameworks/runtime/license.js +28 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/array.js +403 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/delegate_support.js +70 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +1193 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +1149 -0
- data/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +135 -0
- data/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +108 -0
- data/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +128 -0
- data/frameworks/sproutcore/frameworks/runtime/protocols/sparse_array_delegate.js +131 -0
- data/frameworks/sproutcore/frameworks/runtime/system/binding.js +891 -0
- data/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +107 -0
- data/frameworks/sproutcore/frameworks/runtime/system/object.js +783 -0
- data/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +99 -0
- data/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +214 -0
- data/frameworks/sproutcore/frameworks/runtime/system/set.js +246 -0
- data/frameworks/sproutcore/frameworks/runtime/system/sparse_array.js +286 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/IsEqual.js +56 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/beget.js +23 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/clone.js +66 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +147 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/inspect.js +27 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/isArray.js +25 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/itemType.js +38 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/keys.js +20 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/makeArray.js +30 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/objectForPropertyPath.js +19 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +37 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +592 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +467 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +123 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/registerDependentKeys.js +79 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/propertyChanges.js +80 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/array.js +263 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +190 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +135 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/object/bindings.js +339 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +120 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +313 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/sparse_array.js +84 -0
- data/frameworks/sproutcore/frameworks/testing/core.js +13 -0
- data/frameworks/sproutcore/frameworks/testing/english.lproj/additions.css +8 -0
- data/frameworks/sproutcore/frameworks/testing/english.lproj/testsuite.css +131 -0
- data/frameworks/sproutcore/frameworks/testing/extras.js +43 -0
- data/frameworks/sproutcore/frameworks/testing/jquery.js +3559 -0
- data/frameworks/sproutcore/frameworks/testing/qunit.js +819 -0
- data/frameworks/sproutcore/frameworks/testing/tests/debug/qunit.js +25 -0
- data/frameworks/sproutcore/frameworks/testing/utils.js +55 -0
- data/frameworks/sproutcore/lib/index.rhtml +118 -0
- data/frameworks/sproutcore/license.js +28 -0
- data/frameworks/sproutcore/themes/empty_theme/tests/mini_icons.rhtml +69 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/button.css +41 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +8 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/backButton.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/blueButton.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/cancel.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/grayButton.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/leftButton.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listArrow.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listArrowSel.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/listGroup.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/loading.gif +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/pinstripes.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/rightButton.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/selection.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/thumb.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toggle.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toggleOn.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toolButton.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/toolbar.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/images/whiteButton.png +0 -0
- data/frameworks/sproutcore/themes/iphone_theme/english.lproj/strings.js +15 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/Panel.drawit/Data +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/Panel.drawit/QuickLook/Preview.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/Panel.drawit/QuickLook/Thumbnail.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/Data +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Preview.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Thumbnail.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/Data +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/QuickLook/Preview.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-x.drawit/QuickLook/Thumbnail.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/Data +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/QuickLook/Preview.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/Source/panel-sprite-y.drawit/QuickLook/Thumbnail.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/button.css +333 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/checkbox.css +90 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/collection.css +53 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/core.css +47 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/disclosure.css +55 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-sprite.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-ysprite.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-toolbar-view.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/label.css +37 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/pane.css +8 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/background-fat.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/background-thin.jpg +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-edge.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-left-corner.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-right-corner.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/left-edge.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/overlay.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/right-edge.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-edge.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-left-corner.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-right-corner.png +0 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/progress.css +23 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/radio.css +113 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +141 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/slider.css +62 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/split_view.css +27 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/tab.css +12 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/text_field.css +13 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/toolbar.css +4 -0
- data/lib/thor/.autotest +7 -0
- data/lib/thor/CHANGELOG.rdoc +52 -0
- data/lib/thor/LICENSE +20 -0
- data/lib/thor/README.markdown +76 -0
- data/lib/thor/Rakefile +6 -0
- data/lib/thor/Thorfile +45 -0
- data/lib/thor/bin/rake2thor +83 -0
- data/lib/thor/bin/thor +7 -0
- data/lib/thor/lib/thor/error.rb +3 -0
- data/lib/thor/lib/thor/options.rb +267 -0
- data/lib/thor/lib/thor/ordered_hash.rb +64 -0
- data/lib/thor/lib/thor/runner.rb +305 -0
- data/lib/thor/lib/thor/task.rb +83 -0
- data/lib/thor/lib/thor/task_hash.rb +22 -0
- data/lib/thor/lib/thor/tasks/package.rb +18 -0
- data/lib/thor/lib/thor/tasks.rb +77 -0
- data/lib/thor/lib/thor/util.rb +75 -0
- data/lib/thor/lib/thor.rb +170 -0
- data/lib/thor/script/destroy +14 -0
- data/lib/thor/script/generate +14 -0
- data/lib/thor/spec/fixtures/task.thor +10 -0
- data/lib/thor/spec/options_spec.rb +271 -0
- data/lib/thor/spec/ordered_hash_spec.rb +84 -0
- data/lib/thor/spec/spec.opts +1 -0
- data/lib/thor/spec/spec_helper.rb +30 -0
- data/lib/thor/spec/task_spec.rb +11 -0
- data/lib/thor/spec/tasks_spec.rb +28 -0
- data/lib/thor/spec/thor_runner_spec.rb +194 -0
- data/lib/thor/spec/thor_spec.rb +206 -0
- data/lib/thor/spec/util_spec.rb +99 -0
- data/lib/thor/task.thor +15 -0
- data/lib/thor/thor.gemspec +29 -0
- metadata +3 -4
- data/sproutcore.gemspec +0 -47
@@ -0,0 +1,288 @@
|
|
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
|
+
The Locale defined information about a specific locale, including date and
|
10
|
+
number formatting conventions, and localization strings. You can define
|
11
|
+
various locales by adding them to the SC.locales hash, keyed by language
|
12
|
+
and/or country code.
|
13
|
+
|
14
|
+
On page load, the default locale will be chosen based on the current
|
15
|
+
languages and saved at SC.Locale.current. This locale is used for
|
16
|
+
localization, etc.
|
17
|
+
|
18
|
+
h2. Creating a new locale
|
19
|
+
|
20
|
+
You can create a locale by simply extending the SC.Locale class and adding
|
21
|
+
it to the locales hash:
|
22
|
+
|
23
|
+
{{{
|
24
|
+
SC.Locale.locales['en'] = SC.Locale.extend({ .. config .. }) ;
|
25
|
+
}}}
|
26
|
+
|
27
|
+
Alternatively, you could choose to base your locale on another locale by
|
28
|
+
extending that locale:
|
29
|
+
|
30
|
+
{{{
|
31
|
+
SC.Locale.locales['en-US'] = SC.Locale.locales['en'].extend({ ... }) ;
|
32
|
+
}}}
|
33
|
+
|
34
|
+
Note that if you do not define your own strings property, then your locale
|
35
|
+
will inherit any strings added to the parent locale. Otherwise you must
|
36
|
+
implement your own strings instead.
|
37
|
+
|
38
|
+
@extends SC.Object
|
39
|
+
@since SproutCore 1.0
|
40
|
+
*/
|
41
|
+
SC.Locale = SC.Object.extend({
|
42
|
+
|
43
|
+
init: function() {
|
44
|
+
// make sure we know the name of our own locale.
|
45
|
+
if (!this.language) SC.Locale._assignLocales();
|
46
|
+
|
47
|
+
// Make sure we have strings that were set using the new API. To do this
|
48
|
+
// we check to a bool that is set by one of the string helpers. This
|
49
|
+
// indicates that the new API was used. If the new API was not used, we
|
50
|
+
// check to see if the old API was used (which places strings on the
|
51
|
+
// String class).
|
52
|
+
if (!this.hasStrings) {
|
53
|
+
var langs = this._deprecatedLanguageCodes || [] ;
|
54
|
+
langs.push(this.language);
|
55
|
+
var idx = langs.length ;
|
56
|
+
var strings = null ;
|
57
|
+
while(!strings && --idx >= 0) {
|
58
|
+
strings = String[langs[idx]];
|
59
|
+
}
|
60
|
+
if (strings) {
|
61
|
+
this.hasStrings = YES;
|
62
|
+
this.strings = strings ;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
},
|
66
|
+
|
67
|
+
/** Set to YES when strings have been added to this locale. */
|
68
|
+
hasStrings: NO,
|
69
|
+
|
70
|
+
/** The strings hash for this locale. */
|
71
|
+
strings: {},
|
72
|
+
|
73
|
+
toString: function() {
|
74
|
+
if (!this.language) SC.Locale._assignLocales() ;
|
75
|
+
return "SC.Locale["+this.language+"]"+SC.guidFor(this) ;
|
76
|
+
},
|
77
|
+
|
78
|
+
/**
|
79
|
+
Returns the localized version of the string or the string if no match
|
80
|
+
was found.
|
81
|
+
|
82
|
+
@param {String} string
|
83
|
+
@param {String} optional default string to return instead
|
84
|
+
@returns {String}
|
85
|
+
*/
|
86
|
+
locWithDefault: function(string, def) {
|
87
|
+
return this.strings[string] || def || string ;
|
88
|
+
}
|
89
|
+
|
90
|
+
|
91
|
+
}) ;
|
92
|
+
|
93
|
+
SC.Locale.mixin(/** @scope SC.Locale */ {
|
94
|
+
|
95
|
+
/**
|
96
|
+
If YES, localization will favor the detected language instead of the
|
97
|
+
preferred one.
|
98
|
+
*/
|
99
|
+
useAutodetectedLanguage: NO,
|
100
|
+
|
101
|
+
/**
|
102
|
+
This property is set by the build tools to the current build language.
|
103
|
+
*/
|
104
|
+
preferredLanguage: null,
|
105
|
+
|
106
|
+
/**
|
107
|
+
Invoked at the start of SproutCore's document onready handler to setup
|
108
|
+
the currentLocale. This will use the language properties you have set on
|
109
|
+
the locale to make a decision.
|
110
|
+
*/
|
111
|
+
createCurrentLocale: function() {
|
112
|
+
|
113
|
+
// get values from String if defined for compatibility with < 1.0 build
|
114
|
+
// tools.
|
115
|
+
var autodetect = (String.useAutodetectedLanguage !== undefined) ? String.useAutodetectedLanguage : this.useAutodetectedLanguage;
|
116
|
+
var preferred = (String.preferredLanguage !== undefined) ? String.preferredLanguage : this.preferredLanguage ;
|
117
|
+
|
118
|
+
// determine the language
|
119
|
+
var lang = ((autodetect) ? SC.browser.language : null) || preferred || SC.browser.language || 'en';
|
120
|
+
lang = SC.Locale.normalizeLanguage(lang) ;
|
121
|
+
|
122
|
+
// get the locale class. If a class cannot be found, fall back to generic
|
123
|
+
// language then to english.
|
124
|
+
var klass = this.localeClassFor(lang) ;
|
125
|
+
|
126
|
+
// if the detected language does not match the current language (or there
|
127
|
+
// is none) then set it up.
|
128
|
+
if (lang != this.currentLanguage) {
|
129
|
+
this.currentLanguage = lang ; // save language
|
130
|
+
this.currentLocale = klass.create(); // setup locale
|
131
|
+
}
|
132
|
+
return this.currentLocale ;
|
133
|
+
},
|
134
|
+
|
135
|
+
/**
|
136
|
+
Finds the locale class for the names language code or creates on based on
|
137
|
+
its most likely parent.
|
138
|
+
*/
|
139
|
+
localeClassFor: function(lang) {
|
140
|
+
lang = SC.Locale.normalizeLanguage(lang) ;
|
141
|
+
var parent, klass = this.locales[lang];
|
142
|
+
|
143
|
+
// if locale class was not found and there is a broader-based locale
|
144
|
+
// present, create a new locale based on that.
|
145
|
+
if (!klass && ((parent = lang.split('-')[0]) !== lang) && (klass = this.locales[parent])) {
|
146
|
+
klass = this.locales[lang] = klass.extend() ;
|
147
|
+
}
|
148
|
+
|
149
|
+
// otherwise, try to create a new locale based on english.
|
150
|
+
if (!klass) klass = this.locales[lang] = this.locales.en.extend();
|
151
|
+
|
152
|
+
return klass;
|
153
|
+
},
|
154
|
+
|
155
|
+
/**
|
156
|
+
Shorthand method to define the settings for a particular locale.
|
157
|
+
The settings you pass here will be applied directly to the locale you
|
158
|
+
designate.
|
159
|
+
|
160
|
+
If you are already holding a reference to a locale definition, you can
|
161
|
+
also use this method to operate on the receiver.
|
162
|
+
|
163
|
+
If the locale you name does not exist yet, this method will create the
|
164
|
+
locale for you, based on the most closely related locale or english. For
|
165
|
+
example, if you name the locale 'fr-CA', you will be creating a locale for
|
166
|
+
French as it is used in Canada. This will be based on the general French
|
167
|
+
locale (fr), since that is more generic. On the other hand, if you create
|
168
|
+
a locale for manadarin (cn), it will be based on generic english (en)
|
169
|
+
since there is no broader language code to match against.
|
170
|
+
|
171
|
+
@param {String} localeName
|
172
|
+
@param {Hash} options
|
173
|
+
@returns {SC.Locale} the defined locale
|
174
|
+
*/
|
175
|
+
define: function(localeName, options) {
|
176
|
+
var locale ;
|
177
|
+
if (options===undefined && (SC.typeOf(localeName) !== SC.T_STRING)) {
|
178
|
+
locale = this; options = localeName ;
|
179
|
+
} else locale = SC.Locale.localeClassFor(localeName) ;
|
180
|
+
SC.mixin(locale.prototype, options) ;
|
181
|
+
return locale ;
|
182
|
+
},
|
183
|
+
|
184
|
+
/**
|
185
|
+
Gets the current options for the receiver locale. This is useful for
|
186
|
+
inspecting registered locales that have not been instantiated.
|
187
|
+
|
188
|
+
@returns {Hash} options + instance methods
|
189
|
+
*/
|
190
|
+
options: function() { return this.prototype; },
|
191
|
+
|
192
|
+
/**
|
193
|
+
Adds the passed hash of strings to the locale's strings table. Note that
|
194
|
+
if the receiver locale inherits its strings from its parent, then the
|
195
|
+
strings table will be cloned first.
|
196
|
+
|
197
|
+
@returns {Object} receiver
|
198
|
+
*/
|
199
|
+
addStrings: function(stringsHash) {
|
200
|
+
// make sure the target strings hash exists and belongs to the locale
|
201
|
+
var strings = this.prototype.strings ;
|
202
|
+
if (strings) {
|
203
|
+
if (!this.prototype.hasOwnProperty('strings')) {
|
204
|
+
this.prototype.strings = SC.clone(strings) ;
|
205
|
+
}
|
206
|
+
} else strings = this.prototype.strings = {} ;
|
207
|
+
|
208
|
+
// add strings hash
|
209
|
+
if (stringsHash) this.prototype.strings = SC.mixin(strings, stringsHash) ;
|
210
|
+
this.prototype.hasStrings = YES ;
|
211
|
+
return this;
|
212
|
+
},
|
213
|
+
|
214
|
+
_map: { english: 'en', french: 'fr', german: 'de', japanese: 'ja', jp: 'ja', spanish: 'es' },
|
215
|
+
|
216
|
+
/**
|
217
|
+
Normalizes the passed language into a two-character language code.
|
218
|
+
This method allows you to specify common languages in their full english
|
219
|
+
name (i.e. English, French, etc). and it will be treated like their two
|
220
|
+
letter code equivalent.
|
221
|
+
|
222
|
+
@param {String} languageCode
|
223
|
+
@returns {String} normalized code
|
224
|
+
*/
|
225
|
+
normalizeLanguage: function(languageCode) {
|
226
|
+
if (!languageCode) return 'en' ;
|
227
|
+
return SC.Locale._map[languageCode.toLowerCase()] || languageCode ;
|
228
|
+
},
|
229
|
+
|
230
|
+
// this method is called once during init to walk the installed locales
|
231
|
+
// and make sure they know their own names.
|
232
|
+
_assignLocales: function() {
|
233
|
+
for(var key in this.locales) this.locales[key].prototype.language = key;
|
234
|
+
},
|
235
|
+
|
236
|
+
toString: function() {
|
237
|
+
if (!this.prototype.language) SC.Locale._assignLocales() ;
|
238
|
+
return "SC.Locale["+this.prototype.language+"]" ;
|
239
|
+
},
|
240
|
+
|
241
|
+
// make sure important properties are copied to new class.
|
242
|
+
extend: function() {
|
243
|
+
var ret= SC.Object.extend.apply(this, arguments) ;
|
244
|
+
ret.addStrings= SC.Locale.addStrings;
|
245
|
+
ret.define = SC.Locale.define ;
|
246
|
+
ret.options = SC.Locale.options ;
|
247
|
+
ret.toString = SC.Locale.toString ;
|
248
|
+
return ret ;
|
249
|
+
}
|
250
|
+
|
251
|
+
}) ;
|
252
|
+
|
253
|
+
/**
|
254
|
+
This locales hash contains all of the locales defined by SproutCore and
|
255
|
+
by your own application. See the SC.Locale class definition for the
|
256
|
+
various properties you can set on your own locales.
|
257
|
+
|
258
|
+
@property {Hash}
|
259
|
+
*/
|
260
|
+
SC.Locale.locales = {
|
261
|
+
en: SC.Locale.extend({ _deprecatedLanguageCodes: ['English'] }),
|
262
|
+
fr: SC.Locale.extend({ _deprecatedLanguageCodes: ['French'] }),
|
263
|
+
de: SC.Locale.extend({ _deprecatedLanguageCodes: ['German'] }),
|
264
|
+
ja: SC.Locale.extend({ _deprecatedLanguageCodes: ['Japanese', 'jp'] }),
|
265
|
+
es: SC.Locale.extend({ _deprecatedLanguageCodes: ['Spanish'] })
|
266
|
+
} ;
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
/**
|
272
|
+
This special helper will store the strings you pass in the locale matching
|
273
|
+
the language code. If a locale is not defined from the language code you
|
274
|
+
specify, then one will be created for you with the english locale as the
|
275
|
+
parent.
|
276
|
+
|
277
|
+
@param {String} languageCode
|
278
|
+
@param {Hash} strings
|
279
|
+
@returns {Object} receiver
|
280
|
+
*/
|
281
|
+
SC.stringsFor = function(languageCode, strings) {
|
282
|
+
// get the locale, creating one if needed.
|
283
|
+
var locale = SC.Locale.localeClassFor(languageCode);
|
284
|
+
locale.addStrings(strings) ;
|
285
|
+
return this ;
|
286
|
+
} ;
|
287
|
+
|
288
|
+
|
@@ -0,0 +1,106 @@
|
|
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
|
+
@class SC.Page
|
10
|
+
|
11
|
+
A Page object is used to store a set of views that can be lazily configured
|
12
|
+
as needed. The page object works by overloading the get() method. The
|
13
|
+
first time you try to get the page
|
14
|
+
|
15
|
+
@extends SC.Object
|
16
|
+
*/
|
17
|
+
SC.Page = SC.Object.extend(
|
18
|
+
/** @scope SC.Page.prototype */ {
|
19
|
+
|
20
|
+
/**
|
21
|
+
When you create a page, you can set it's "owner" property to an
|
22
|
+
object outside the page definition. This allows views in the page
|
23
|
+
to use the owner object as a target, (as well as other objects
|
24
|
+
accessible through the owner object). E.g.
|
25
|
+
|
26
|
+
{{{
|
27
|
+
myButton: SC.ButtonView.design({
|
28
|
+
title: 'Click me',
|
29
|
+
target: SC.outlet('page.owner'),
|
30
|
+
action: 'buttonClicked'
|
31
|
+
})
|
32
|
+
}}}
|
33
|
+
|
34
|
+
Usually, you'll set 'owner' to the object defined in core.js.
|
35
|
+
*/
|
36
|
+
owner: null,
|
37
|
+
|
38
|
+
get: function(key) {
|
39
|
+
var value = this[key] ;
|
40
|
+
if (value && value.isClass) {
|
41
|
+
this[key] = value = value.create({ page: this }) ;
|
42
|
+
if (!this.get('inDesignMode')) value.awake() ;
|
43
|
+
return value ;
|
44
|
+
} else return sc_super() ;
|
45
|
+
},
|
46
|
+
|
47
|
+
/**
|
48
|
+
Finds all views defined on this page instances and builds them. This is
|
49
|
+
a quick, brute force way to wake up all of the views in a page object. It
|
50
|
+
is not generally recommended. Instead, you should use get() or getPath()
|
51
|
+
to retrieve views and rely on the lazy creation process to set them up.
|
52
|
+
|
53
|
+
@return {SC.Page} receiver
|
54
|
+
*/
|
55
|
+
awake: function() {
|
56
|
+
// step through all views and build them
|
57
|
+
for(var key in this) {
|
58
|
+
if (!this.hasOwnProperty(key)) continue ;
|
59
|
+
var value = this[key] ;
|
60
|
+
if (value && value.isViewClass) {
|
61
|
+
this[key] = value = value.create({ page: this }) ;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
return this;
|
65
|
+
},
|
66
|
+
|
67
|
+
/**
|
68
|
+
Returns the named property unless the property is a view that has not yet
|
69
|
+
been configured. In that case it will return undefined. You can use this
|
70
|
+
method to safely get a view without waking it up.
|
71
|
+
*/
|
72
|
+
getIfConfigured: function(key) {
|
73
|
+
var ret = this[key] ;
|
74
|
+
return (ret && ret.isViewClass) ? null : this.get(key);
|
75
|
+
},
|
76
|
+
|
77
|
+
/**
|
78
|
+
Applies a localization to every view builder defined on the page. You must call this before you construct a view to apply the localization.
|
79
|
+
*/
|
80
|
+
loc: function(locs) {
|
81
|
+
for(var key in locs) {
|
82
|
+
if (!locs.hasOwnProperty(key)) continue ;
|
83
|
+
var view = this[key] ;
|
84
|
+
if (!view || !view.isViewClass) continue ;
|
85
|
+
view.loc(locs[key]);
|
86
|
+
}
|
87
|
+
return this ;
|
88
|
+
}
|
89
|
+
|
90
|
+
//needsDesigner: YES,
|
91
|
+
|
92
|
+
//inDesignMode: YES
|
93
|
+
|
94
|
+
}) ;
|
95
|
+
|
96
|
+
// ..........................................................
|
97
|
+
// SUPPORT FOR LOADING PAGE DESIGNS
|
98
|
+
//
|
99
|
+
|
100
|
+
/** Calling design() on a page is the same as calling create() */
|
101
|
+
SC.Page.design = SC.Page.create ;
|
102
|
+
|
103
|
+
/** Calling localization returns passed attrs. */
|
104
|
+
SC.Page.localization = function(attrs) { return attrs; };
|
105
|
+
|
106
|
+
|
@@ -0,0 +1,189 @@
|
|
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
|
+
/*global main */
|
9
|
+
|
10
|
+
sc_require('system/event') ;
|
11
|
+
|
12
|
+
SC.mixin({
|
13
|
+
_isReadyBound: NO,
|
14
|
+
|
15
|
+
/** @private configures the ready event handler if needed */
|
16
|
+
_bindReady: function() {
|
17
|
+
if (this._isReadyBound) return;
|
18
|
+
this._isReadyBound = YES ;
|
19
|
+
|
20
|
+
// Mozilla, Opera (see further below for it) and webkit nightlies
|
21
|
+
// currently support this event. Use the handy event callback
|
22
|
+
if ( document.addEventListener && !SC.browser.opera) {
|
23
|
+
document.addEventListener( "DOMContentLoaded", SC._didBecomeReady, NO );
|
24
|
+
}
|
25
|
+
|
26
|
+
// If IE is used and is not in a frame
|
27
|
+
// Continually check to see if the document is ready
|
28
|
+
if (SC.browser.msie && (window === top)) {
|
29
|
+
(function() {
|
30
|
+
if (SC.isReady) return;
|
31
|
+
try {
|
32
|
+
// If IE is used, use the trick by Diego Perini
|
33
|
+
// http://javascript.nwbox.com/IEContentLoaded/
|
34
|
+
document.documentElement.doScroll("left");
|
35
|
+
} catch( error ) {
|
36
|
+
setTimeout( arguments.callee, 0 );
|
37
|
+
return;
|
38
|
+
}
|
39
|
+
// and execute any waiting functions
|
40
|
+
SC._didBecomeReady();
|
41
|
+
})();
|
42
|
+
}
|
43
|
+
|
44
|
+
if ( SC.browser.opera ) {
|
45
|
+
document.addEventListener( "DOMContentLoaded", function () {
|
46
|
+
if (SC.isReady) return;
|
47
|
+
for (var i = 0; i < document.styleSheets.length; i++) {
|
48
|
+
if (document.styleSheets[i].disabled) {
|
49
|
+
setTimeout( arguments.callee, 0 );
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
// and execute any waiting functions
|
54
|
+
SC._didBecomeReady();
|
55
|
+
}, NO);
|
56
|
+
}
|
57
|
+
|
58
|
+
if ( SC.browser.safari ) {
|
59
|
+
console.log("ready() is not yet supported on Safari <= 3.1") ;
|
60
|
+
// var numStyles;
|
61
|
+
// (function(){
|
62
|
+
// if (SC.isReady) return;
|
63
|
+
// if ( document.readyState != "loaded" && document.readyState != "complete" ) {
|
64
|
+
// setTimeout( arguments.callee, 0 );
|
65
|
+
// return;
|
66
|
+
// }
|
67
|
+
// if ( numStyles === undefined ) numStyles = 0 ;
|
68
|
+
// //numStyles = SC.$("style, link[rel=stylesheet]").length;
|
69
|
+
// if ( document.styleSheets.length != numStyles ) {
|
70
|
+
// setTimeout( arguments.callee, 0 );
|
71
|
+
// return;
|
72
|
+
// }
|
73
|
+
// // and execute any waiting functions
|
74
|
+
// SC._didBecomeReady();
|
75
|
+
// })();
|
76
|
+
}
|
77
|
+
|
78
|
+
// A fallback to window.onload, that will always work
|
79
|
+
SC.Event.add( window, "load", SC._didBecomeReady);
|
80
|
+
},
|
81
|
+
|
82
|
+
/** @private handlers scheduled to execute on ready. */
|
83
|
+
_readyQueue: [],
|
84
|
+
|
85
|
+
_afterReadyQueue: [],
|
86
|
+
|
87
|
+
isReady: NO,
|
88
|
+
|
89
|
+
/** @private invoked when the document becomes ready. */
|
90
|
+
_didBecomeReady: function() {
|
91
|
+
// Only call once
|
92
|
+
if (SC.isReady) return ;
|
93
|
+
|
94
|
+
// setup locale
|
95
|
+
SC.Locale.createCurrentLocale();
|
96
|
+
|
97
|
+
// if there is a body tag on the document, set the language
|
98
|
+
if (document && document.getElementsByTagName) {
|
99
|
+
var body = document.getElementsByTagName('body')[0];
|
100
|
+
if (body) {
|
101
|
+
var className = body.className ;
|
102
|
+
var language = SC.Locale.currentLanguage.toLowerCase() ;
|
103
|
+
body.className = (className && className.length>0) ? [className, language].join(' ') : language ;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
SC.Benchmark.start('ready') ;
|
108
|
+
|
109
|
+
// Begin runloop
|
110
|
+
SC.RunLoop.begin();
|
111
|
+
|
112
|
+
var handler, ary, idx, len ;
|
113
|
+
|
114
|
+
// correctly handle queueing new SC.ready() calls
|
115
|
+
do {
|
116
|
+
ary = SC._readyQueue ;
|
117
|
+
SC._readyQueue = [] ; // reset
|
118
|
+
for (idx=0, len=ary.length; idx<len; idx++) {
|
119
|
+
handler = ary[idx] ;
|
120
|
+
var target = handler[0] || document ;
|
121
|
+
var method = handler[1] ;
|
122
|
+
if (method) method.call(target) ;
|
123
|
+
}
|
124
|
+
} while (SC._readyQueue.length > 0) ;
|
125
|
+
|
126
|
+
// okay, now we're ready (any SC.ready() calls will now be called immediately)
|
127
|
+
SC.isReady = YES ;
|
128
|
+
|
129
|
+
// clear the queue
|
130
|
+
SC._readyQueue = null ;
|
131
|
+
|
132
|
+
// trigger any bound ready events
|
133
|
+
SC.Event.trigger("ready", null, document, NO) ;
|
134
|
+
|
135
|
+
// Remove any loading div
|
136
|
+
if (SC.removeLoading) SC.$('#loading').remove();
|
137
|
+
|
138
|
+
// Now execute main, if defined
|
139
|
+
if ((typeof main != "undefined") && (main instanceof Function) && !SC.suppressMain) main();
|
140
|
+
|
141
|
+
// handle routes, if modules is installed.
|
142
|
+
if (SC.Routes && SC.Routes.ping) SC.Routes.ping() ;
|
143
|
+
|
144
|
+
// end run loop. This is probably where a lot of bindings will trigger
|
145
|
+
SC.RunLoop.end() ;
|
146
|
+
|
147
|
+
SC.Benchmark.end('ready') ;
|
148
|
+
SC.Benchmark.log();
|
149
|
+
},
|
150
|
+
|
151
|
+
/**
|
152
|
+
Add the passed target and method to the queue of methods to invoke when
|
153
|
+
the document is ready. These methods will be called after the document
|
154
|
+
has loaded and parsed, but before the main() function is called.
|
155
|
+
|
156
|
+
Methods are called in the order they are added.
|
157
|
+
|
158
|
+
If you add a ready handler when the main document is already ready, then
|
159
|
+
your handler will be called immediately.
|
160
|
+
|
161
|
+
@param target {Object} optional target object
|
162
|
+
@param method {Function} method name or function to execute
|
163
|
+
@returns {SC}
|
164
|
+
*/
|
165
|
+
ready: function(target, method) {
|
166
|
+
var queue = this._readyQueue;
|
167
|
+
|
168
|
+
// normalize
|
169
|
+
if (method === undefined) {
|
170
|
+
method = target; target = null ;
|
171
|
+
} else if (SC.typeOf(method) === SC.T_STRING) {
|
172
|
+
method = target[method] ;
|
173
|
+
}
|
174
|
+
|
175
|
+
if (!method) return this; // nothing to do.
|
176
|
+
|
177
|
+
// if isReady, execute now.
|
178
|
+
if (this.isReady) return method.call(target || document) ;
|
179
|
+
|
180
|
+
// otherwise, add to queue.
|
181
|
+
queue.push([target, method]) ;
|
182
|
+
return this ;
|
183
|
+
}
|
184
|
+
|
185
|
+
}) ;
|
186
|
+
|
187
|
+
SC._bindReady() ;
|
188
|
+
SC.removeLoading = YES;
|
189
|
+
|