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,247 @@
|
|
1
|
+
// ========================================================================
|
2
|
+
// SproutCore -- JavaScript Application Framework
|
3
|
+
// Copyright ©2006-2008, Sprout Systems, Inc. and contributors.
|
4
|
+
// Portions copyright ©2008 Apple, Inc. All rights reserved.
|
5
|
+
// ========================================================================
|
6
|
+
|
7
|
+
/**
|
8
|
+
@namespace
|
9
|
+
|
10
|
+
Any views you implement that are scrollable should include this mixin to
|
11
|
+
provide basic support for scrolling actions. You can also override any
|
12
|
+
of these methods as needed for your own specific behaviors.
|
13
|
+
|
14
|
+
Often times instead of adding SC.Scrollable to your view, you should
|
15
|
+
place your view inside of an SC.ScrollView. See that class for more
|
16
|
+
info.
|
17
|
+
|
18
|
+
Note that isScrollable must always be true.
|
19
|
+
|
20
|
+
*/
|
21
|
+
SC.Scrollable = {
|
22
|
+
|
23
|
+
/** Informs the view system that the receiver is scrollable.
|
24
|
+
|
25
|
+
Must always be true.
|
26
|
+
*/
|
27
|
+
isScrollable: true,
|
28
|
+
|
29
|
+
/**
|
30
|
+
Amount to scroll one vertical line.
|
31
|
+
|
32
|
+
Used by the default implementation of scrollDownLine() and scrollUpLine(). Defaults
|
33
|
+
to 20px.
|
34
|
+
*/
|
35
|
+
verticalLineScroll: 20,
|
36
|
+
|
37
|
+
/**
|
38
|
+
Amount to scroll one horizontal line.
|
39
|
+
|
40
|
+
Used by the default implementation of scrollLeftLine() and scrollRightLine(). Defaults
|
41
|
+
to 20px.
|
42
|
+
*/
|
43
|
+
horizontalLineScroll: 20,
|
44
|
+
|
45
|
+
/**
|
46
|
+
Amount to scroll one vertical page.
|
47
|
+
|
48
|
+
Used by the default implementation of scrollUpPage() and scrollDownPage(). Defaults to
|
49
|
+
current innerFrame height.
|
50
|
+
*/
|
51
|
+
verticalPageScroll: function() {
|
52
|
+
return this.get('innerFrame').height ;
|
53
|
+
}.property('innerFrame'),
|
54
|
+
|
55
|
+
/**
|
56
|
+
Amount to scroll one horizontal page.
|
57
|
+
|
58
|
+
Used by the default implementation of scrollLeftPage() and scrollRightPage(). Defaults
|
59
|
+
to current innerFrame width.
|
60
|
+
*/
|
61
|
+
horizontalPageScroll: function() {
|
62
|
+
return this.get('innerFrame').width ;
|
63
|
+
}.property('innerFrame'),
|
64
|
+
|
65
|
+
/**
|
66
|
+
Returns true if the receiver has enough vertical content to require
|
67
|
+
scrolling.
|
68
|
+
|
69
|
+
If you do not want to allow vertical scrolling, override this to be false
|
70
|
+
and set the appropriate CSS.
|
71
|
+
|
72
|
+
*/
|
73
|
+
hasVerticalScroller: function() {
|
74
|
+
return this.get('scrollFrame').height > this.get('innerFrame').height ;
|
75
|
+
}.property('scrollFrame'),
|
76
|
+
|
77
|
+
/**
|
78
|
+
Returns true if the receiver has enough horizontal content to require
|
79
|
+
scrolling.
|
80
|
+
|
81
|
+
If you do not want to allow horizontal scrolling, override this to be
|
82
|
+
false and set the appropriate CSS.
|
83
|
+
|
84
|
+
*/
|
85
|
+
hasHorizontalScroller: function() {
|
86
|
+
return this.get('scrollFrame').width > this.get('innerFrame').width ;
|
87
|
+
}.property('scrollFrame'),
|
88
|
+
|
89
|
+
/**
|
90
|
+
Scrolls the receiver in the horizontal and vertical directions by the
|
91
|
+
amount specified, if allowed.
|
92
|
+
|
93
|
+
@param {Point} amount the amount to scroll. Must include x, y or both
|
94
|
+
@returns {Point} the actual amount scrolled.
|
95
|
+
*/
|
96
|
+
scrollBy: function(amount) {
|
97
|
+
var sf = this.get('scrollFrame') ;
|
98
|
+
var f = this.get('innerFrame') ;
|
99
|
+
|
100
|
+
if (!this.get('hasVerticalScroller')) amount.y = 0 ;
|
101
|
+
if (sf.height <= f.height) amount.y = 0 ;
|
102
|
+
|
103
|
+
if (!this.get('hasHorizontalScroller')) amount.x = 0 ;
|
104
|
+
if (sf.width <= f.width) amount.x = 0 ;
|
105
|
+
|
106
|
+
// compute new sf
|
107
|
+
var newSf = { x: sf.x - (amount.x || 0), y: sf.y - (amount.y || 0) } ;
|
108
|
+
this.set('scrollFrame', newSf) ;
|
109
|
+
newSf = this.get('scrollFrame') ;
|
110
|
+
|
111
|
+
return { x: newSf.x - sf.x, y: newSf.y - sf.y };
|
112
|
+
},
|
113
|
+
|
114
|
+
/**
|
115
|
+
Scrolls the receiver to the specified x,y coordinate
|
116
|
+
*/
|
117
|
+
scrollTo: function(x,y) {
|
118
|
+
this.set('scrollFrame', { x: 0-x, y: 0-y }) ;
|
119
|
+
},
|
120
|
+
|
121
|
+
/**
|
122
|
+
Scroll the view to make the passed frame visible.
|
123
|
+
|
124
|
+
Frame must be relative to the receiver's offsetParent.
|
125
|
+
|
126
|
+
@param {SC.ClassicView} view the view you want to make visible
|
127
|
+
*/
|
128
|
+
scrollToVisible: function(view) {
|
129
|
+
|
130
|
+
// get frames and convert them to proper offsets
|
131
|
+
var f = this.get('innerFrame') ;
|
132
|
+
var sf = this.get('scrollFrame') ;
|
133
|
+
|
134
|
+
// frame of the view, relative to the top of the scroll frame
|
135
|
+
var vf = this.convertFrameFromView(view.get('frame'), view) ;
|
136
|
+
vf.x -= (f.x + sf.x); vf.y -= (f.y + sf.y);
|
137
|
+
|
138
|
+
// first visible origin
|
139
|
+
var vo = {
|
140
|
+
x: 0-sf.x,
|
141
|
+
y: 0-sf.y,
|
142
|
+
width: f.width,
|
143
|
+
height: f.height
|
144
|
+
};
|
145
|
+
|
146
|
+
// if top edge is not visible, shift origin
|
147
|
+
vo.y -= Math.max(0, SC.minY(vo) - SC.minY(vf)) ;
|
148
|
+
vo.x -= Math.max(0, SC.minX(vo) - SC.minX(vf)) ;
|
149
|
+
|
150
|
+
// if bottom edge is not visible, shift origin
|
151
|
+
vo.y += Math.max(0, SC.maxY(vf) - SC.maxY(vo)) ;
|
152
|
+
vo.x += Math.max(0, SC.maxX(vf) - SC.maxX(vo)) ;
|
153
|
+
|
154
|
+
// scroll to that origin.
|
155
|
+
this.scrollTo(vo.x, vo.y) ;
|
156
|
+
},
|
157
|
+
|
158
|
+
/**
|
159
|
+
Scrolls the receiver down one line if allowed.
|
160
|
+
|
161
|
+
@param {Number} lines number of lines to scroll
|
162
|
+
@returns {Number} the amount actually scrolled.
|
163
|
+
*/
|
164
|
+
scrollDownLine: function(lines) {
|
165
|
+
if (lines === undefined) lines = 1 ;
|
166
|
+
return this.scrollBy({ y: this.get('verticalLineScroll')*lines }).y ;
|
167
|
+
},
|
168
|
+
|
169
|
+
/**
|
170
|
+
Scrolls the receiver down up line if allowed.
|
171
|
+
|
172
|
+
@param {Number} lines number of lines to scroll
|
173
|
+
@returns {Number} the amount actually scrolled.
|
174
|
+
*/
|
175
|
+
scrollUpLine: function(lines) {
|
176
|
+
if (lines === undefined) lines = 1 ;
|
177
|
+
return 0-this.scrollBy({ y: 0-this.get('verticalLineScroll')*lines }).y ;
|
178
|
+
},
|
179
|
+
|
180
|
+
/**
|
181
|
+
Scrolls the receiver right one line if allowed.
|
182
|
+
|
183
|
+
@param {Number} lines number of lines to scroll
|
184
|
+
@returns {Number} the amount actually scrolled.
|
185
|
+
*/
|
186
|
+
scrollRightLine: function(lines) {
|
187
|
+
if (lines === undefined) lines = 1 ;
|
188
|
+
return this.scrollTo({ y: this.get('horizontalLineScroll')*lines }).x ;
|
189
|
+
},
|
190
|
+
|
191
|
+
/**
|
192
|
+
Scrolls the receiver left one line if allowed.
|
193
|
+
|
194
|
+
@param {Number} lines number of lines to scroll
|
195
|
+
@returns {Number} the amount actually scrolled.
|
196
|
+
*/
|
197
|
+
scrollLeftLine: function(lines) {
|
198
|
+
if (lines === undefined) lines = 1 ;
|
199
|
+
return 0-this.scrollTo({ y: 0-this.get('horizontalLineScroll')*lines }).x ;
|
200
|
+
},
|
201
|
+
|
202
|
+
/**
|
203
|
+
Scrolls the receiver down one page if allowed.
|
204
|
+
|
205
|
+
@param {Number} pages number of pages to scroll
|
206
|
+
@returns {Number} the amount actually scrolled.
|
207
|
+
*/
|
208
|
+
scrollDownPage: function(pages) {
|
209
|
+
if (pages === undefined) pages = 1 ;
|
210
|
+
return this.scrollBy({ y: this.get('verticalPageScroll')*pages }).y ;
|
211
|
+
},
|
212
|
+
|
213
|
+
/**
|
214
|
+
Scrolls the receiver down up page if allowed.
|
215
|
+
|
216
|
+
@param {Number} pages number of pages to scroll
|
217
|
+
@returns {Number} the amount actually scrolled.
|
218
|
+
*/
|
219
|
+
scrollUpPage: function(pages) {
|
220
|
+
if (pages === undefined) pages = 1 ;
|
221
|
+
return 0-this.scrollBy({ y: 0-this.get('verticalPageScroll')*pages }).y ;
|
222
|
+
},
|
223
|
+
|
224
|
+
/**
|
225
|
+
Scrolls the receiver right one page if allowed.
|
226
|
+
|
227
|
+
@param {Number} pages number of pages to scroll
|
228
|
+
@returns {Number} the amount actually scrolled.
|
229
|
+
*/
|
230
|
+
scrollRightPage: function(pages) {
|
231
|
+
if (pages === undefined) pages = 1 ;
|
232
|
+
return this.scrollTo({ y: this.get('horizontalPageScroll')*pages }).x ;
|
233
|
+
},
|
234
|
+
|
235
|
+
/**
|
236
|
+
Scrolls the receiver left one page if allowed.
|
237
|
+
|
238
|
+
@param {Number} pages number of pages to scroll
|
239
|
+
@returns {Number} the amount actually scrolled.
|
240
|
+
*/
|
241
|
+
scrollLeftPage: function(pages) {
|
242
|
+
if (pages === undefined) pages = 1 ;
|
243
|
+
return 0-this.scrollTo({ y: 0-this.get('horizontalPageScroll')*pages }).x ;
|
244
|
+
}
|
245
|
+
|
246
|
+
} ;
|
247
|
+
|
@@ -0,0 +1,377 @@
|
|
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('panes/panel');
|
9
|
+
sc_require('views/button');
|
10
|
+
/**
|
11
|
+
button1 : 1st button from the right. default:OK
|
12
|
+
button2 : 2nd button from the right. Optional. Could be Cancel or 2nd action.
|
13
|
+
button3 : 1st button from the left. Optional. Could be Cancel or alternative option.
|
14
|
+
*/
|
15
|
+
/**
|
16
|
+
Passed to delegate when alert pane is dismissed by pressing button 1
|
17
|
+
*/
|
18
|
+
SC.BUTTON1_STATUS = 'button1';
|
19
|
+
|
20
|
+
/**
|
21
|
+
Passed to delegate when alert pane is dismissed by pressing button 2
|
22
|
+
*/
|
23
|
+
SC.BUTTON2_STATUS = 'button2';
|
24
|
+
|
25
|
+
/**
|
26
|
+
Passed to delegate when alert pane is dismissed by pressing button 3
|
27
|
+
*/
|
28
|
+
SC.BUTTON3_STATUS = 'button3';
|
29
|
+
|
30
|
+
/**
|
31
|
+
Displays a preformatted modal alert pane.
|
32
|
+
|
33
|
+
Alert panes are a simple way to provide modal messaging that otherwise
|
34
|
+
blocks the user's interaction with your application. Alert panes are
|
35
|
+
useful for showing important error messages and confirmation dialogs. They
|
36
|
+
provide a better user experience than using the OS-level alert dialogs.
|
37
|
+
|
38
|
+
h1. Displaying an Alert Pane
|
39
|
+
|
40
|
+
The easiest way to display an alert pane is to use one of the various
|
41
|
+
class methods defined on SC.AlertPane, passing the message and an optional
|
42
|
+
detailed description and caption.
|
43
|
+
|
44
|
+
There are four variations of this method can you can invoke:
|
45
|
+
|
46
|
+
- *warn()* - displays an alert pane with a warning icon to the left.
|
47
|
+
- *error()* - displays an alert with an error icon to the left
|
48
|
+
- *info()* - displays an alert with an info icon to the left
|
49
|
+
- *plain()* - displays an alert w/o any icon
|
50
|
+
- *show()* - displays an alert with a customizable icon to the left
|
51
|
+
|
52
|
+
In addition to passing a message, description and caption, you can also customize
|
53
|
+
the title of the button 1 (OK) and add an optional button 2 and 3 (Cancel or Extra). Just
|
54
|
+
pass these titles of these buttons to enable them or null to disable then.
|
55
|
+
|
56
|
+
Additionally, you can pass a delegate object as the last parameter. This
|
57
|
+
delegate's 'alertPaneDidDismiss()' method will be called when the pane
|
58
|
+
is dismissed, passing the pane instance and a key indicating which
|
59
|
+
button was pressed.
|
60
|
+
|
61
|
+
h1. Examples
|
62
|
+
|
63
|
+
Show a simple AlertPane with an OK button:
|
64
|
+
|
65
|
+
{{{
|
66
|
+
SC.AlertPane.warn("Could not load calendar", "Your internet connection may be unavailable or our servers may be down. Try again in a few minutes.");
|
67
|
+
}}}
|
68
|
+
|
69
|
+
Show an AlertPane with a customized OK title (title will be 'Try Again'):
|
70
|
+
|
71
|
+
{{{
|
72
|
+
SC.AlertPane.warn("Could not load calendar", "Your internet connection may be unavailable or our servers may be down. Try again in a few minutes.", "Try Again");
|
73
|
+
}}}
|
74
|
+
|
75
|
+
Show an AlertPane with a custom OK, a Cancel button and an Extra button,
|
76
|
+
each with custom titles. Also, pass a delegate that will be invoked when
|
77
|
+
the user's dismisses the dialog.
|
78
|
+
|
79
|
+
{{{
|
80
|
+
|
81
|
+
MyApp.calendarController = SC.Object.create({
|
82
|
+
alertPaneDidDismiss: function(pane, status) {
|
83
|
+
switch(status) {
|
84
|
+
case SC.BUTTON1_STATUS:
|
85
|
+
this.tryAgain();
|
86
|
+
break;
|
87
|
+
|
88
|
+
case SC.BUTTON2_STATUS:
|
89
|
+
// do nothing
|
90
|
+
break;
|
91
|
+
|
92
|
+
case SC.BUTTON3_STATUS:
|
93
|
+
this.showMoreInfo();
|
94
|
+
break;
|
95
|
+
}
|
96
|
+
},
|
97
|
+
|
98
|
+
...
|
99
|
+
});
|
100
|
+
|
101
|
+
SC.AlertPane.warn("Could not load calendar", "Your internet connection may be unavailable or our servers may be down. Try again in a few minutes.", "Try Again", "Cancel", "More Info...", MyApp.calendarController);
|
102
|
+
}}}
|
103
|
+
|
104
|
+
@extends SC.PanelPane
|
105
|
+
@since SproutCore 1.0
|
106
|
+
*/
|
107
|
+
SC.AlertPane = SC.PanelPane.extend({
|
108
|
+
|
109
|
+
classNames: 'sc-alert',
|
110
|
+
|
111
|
+
/**
|
112
|
+
The delegate to notify when the pane is dismissed. If you set a
|
113
|
+
delegate, it should respond to the method:
|
114
|
+
|
115
|
+
{{{
|
116
|
+
alertPaneDidDismiss: function(pane, status)
|
117
|
+
}}}
|
118
|
+
|
119
|
+
The status will be on of SC.BUTTON1_STATUS, SC.BUTTON2_STATUS or SC.BUTTON3_STATUS
|
120
|
+
depending on which button was clicked.
|
121
|
+
|
122
|
+
@property {Object}
|
123
|
+
*/
|
124
|
+
delegate: null,
|
125
|
+
|
126
|
+
/**
|
127
|
+
The icon URL or class name. If you do not set this, an alert icon will
|
128
|
+
be shown instead.
|
129
|
+
|
130
|
+
@property {String}
|
131
|
+
*/
|
132
|
+
icon: 'sc-icon-alert-48',
|
133
|
+
|
134
|
+
/**
|
135
|
+
The primary message to display. This message will appear in large bold
|
136
|
+
type at the top of the alert.
|
137
|
+
|
138
|
+
@property {String}
|
139
|
+
*/
|
140
|
+
message: "",
|
141
|
+
|
142
|
+
/**
|
143
|
+
An optional detailed decription. Use this string to provide further
|
144
|
+
explanation of the condition and, optionally, ways the user can resolve
|
145
|
+
the problem.
|
146
|
+
|
147
|
+
@property {String}
|
148
|
+
*/
|
149
|
+
description: "",
|
150
|
+
|
151
|
+
displayDescription: function() {
|
152
|
+
var desc = this.get('description');
|
153
|
+
if (!desc || desc.length === 0) return desc ;
|
154
|
+
|
155
|
+
desc = SC.RenderContext.escapeHTML(desc); // remove HTML
|
156
|
+
return '<p class="description">' + desc.split('\n').join('</p><p class="description">') + '</p>';
|
157
|
+
}.property('description').cacheable(),
|
158
|
+
|
159
|
+
/**
|
160
|
+
An optional detailed caption. Use this string to provide further
|
161
|
+
fine print explanation of the condition and, optionally, ways the user can resolve
|
162
|
+
the problem.
|
163
|
+
|
164
|
+
@property {String}
|
165
|
+
*/
|
166
|
+
caption: "",
|
167
|
+
|
168
|
+
displayCaption: function() {
|
169
|
+
var caption = this.get('caption');
|
170
|
+
if (!caption || caption.length === 0) return caption ;
|
171
|
+
|
172
|
+
caption = SC.RenderContext.escapeHTML(caption); // remove HTML
|
173
|
+
return '<p class="caption">' + caption.split('\n').join('</p><p class="caption">') + '</p>';
|
174
|
+
}.property('caption').cacheable(),
|
175
|
+
|
176
|
+
/**
|
177
|
+
The button view for the button 1 (OK).
|
178
|
+
|
179
|
+
@property {SC.ButtonView}
|
180
|
+
*/
|
181
|
+
buttonOne: SC.outlet('contentView.childViews.1.childViews.1'),
|
182
|
+
|
183
|
+
/**
|
184
|
+
The button view for the button 2 (Cancel).
|
185
|
+
|
186
|
+
@property {SC.ButtonView}
|
187
|
+
*/
|
188
|
+
buttonTwo: SC.outlet('contentView.childViews.1.childViews.0'),
|
189
|
+
|
190
|
+
/**
|
191
|
+
The button view for the button 3 (Extra).
|
192
|
+
|
193
|
+
@property {SC.ButtonView}
|
194
|
+
*/
|
195
|
+
buttonThree: SC.outlet('contentView.childViews.2'),
|
196
|
+
|
197
|
+
/** @private - internal view that is actually displayed */
|
198
|
+
contentView: SC.View.extend({
|
199
|
+
layout: { centerX: 0, width: 460, top: 100, height: 'auto' },
|
200
|
+
|
201
|
+
childViews: [
|
202
|
+
SC.View.extend(SC.StaticLayout, {
|
203
|
+
classNames: ['info'],
|
204
|
+
|
205
|
+
render: function(context, firstTime) {
|
206
|
+
var pane = this.get('pane');
|
207
|
+
var blank = sc_static('blank') ;
|
208
|
+
if(pane.get('icon') == 'blank') context.addClass('plain');
|
209
|
+
context.push('<img src="%@" class="icon %@" />'.fmt(blank, pane.get('icon')));
|
210
|
+
context.begin('h1').text(pane.get('message') || '').end();
|
211
|
+
context.push(pane.get('displayDescription') || '');
|
212
|
+
context.push(pane.get('displayCaption') || '');
|
213
|
+
context.push('<div class="seperator" />');
|
214
|
+
}
|
215
|
+
}),
|
216
|
+
|
217
|
+
SC.View.extend({
|
218
|
+
layout: { bottom: 14, height: 'auto', right: 18, width: 'auto' },
|
219
|
+
childViews: [
|
220
|
+
SC.ButtonView.extend({
|
221
|
+
useStaticLayout: YES,
|
222
|
+
actionKey: SC.BUTTON2_STATUS,
|
223
|
+
localize: YES,
|
224
|
+
titleMinWidth: 64,
|
225
|
+
layout: { right: 0, height: 'auto', width: 'auto', bottom: 0 },
|
226
|
+
title: "Cancel",
|
227
|
+
action: "dismiss",
|
228
|
+
isVisible: NO
|
229
|
+
}),
|
230
|
+
|
231
|
+
SC.ButtonView.extend({
|
232
|
+
useStaticLayout: YES,
|
233
|
+
actionKey: SC.BUTTON1_STATUS,
|
234
|
+
localize: YES,
|
235
|
+
titleMinWidth: 64,
|
236
|
+
layout: { right: 0, height: 'auto', width: 'auto', bottom: 0 },
|
237
|
+
title: "OK",
|
238
|
+
action: "dismiss"
|
239
|
+
})]
|
240
|
+
}),
|
241
|
+
|
242
|
+
SC.ButtonView.extend({
|
243
|
+
actionKey: SC.BUTTON3_STATUS,
|
244
|
+
localize: YES,
|
245
|
+
titleMinWidth: 64,
|
246
|
+
layout: { bottom: 14, height: 'auto', left: 18, width: 'auto' },
|
247
|
+
title: "Extra",
|
248
|
+
action: "dismiss",
|
249
|
+
isVisible: NO
|
250
|
+
})]
|
251
|
+
}),
|
252
|
+
|
253
|
+
/**
|
254
|
+
Action triggered whenever any button is pressed. Notifies any delegate
|
255
|
+
and then hides the alert pane.
|
256
|
+
*/
|
257
|
+
dismiss: function(sender) {
|
258
|
+
var del = this.delegate;
|
259
|
+
if (del && del.alertPaneDidDismiss) {
|
260
|
+
del.alertPaneDidDismiss(this, sender.get('actionKey'));
|
261
|
+
}
|
262
|
+
this.remove(); // hide alert
|
263
|
+
},
|
264
|
+
|
265
|
+
/** @private
|
266
|
+
Executes whenever one of the icon, message, description or caption is changed.
|
267
|
+
This simply causes the UI to refresh.
|
268
|
+
*/
|
269
|
+
alertInfoDidChange: function() {
|
270
|
+
var v = this.getPath('contentView.childViews.0');
|
271
|
+
if (v) v.displayDidChange(); // re-render message
|
272
|
+
}.observes('icon', 'message', 'displayDescription', 'displayCaption')
|
273
|
+
});
|
274
|
+
|
275
|
+
/** @private
|
276
|
+
internal method normalizes arguments for processing by helper methods.
|
277
|
+
*/
|
278
|
+
SC.AlertPane._normalizeArguments = function(args) {
|
279
|
+
args = SC.A(args); // convert to real array
|
280
|
+
var len = args.length, delegate = args[len-1];
|
281
|
+
if (SC.typeOf(delegate) !== SC.T_STRING) {
|
282
|
+
args[len-1] = null;
|
283
|
+
} else delegate = null ;
|
284
|
+
args[7] = delegate ;
|
285
|
+
return args ;
|
286
|
+
};
|
287
|
+
|
288
|
+
/**
|
289
|
+
Displays a new alert pane according to the passed parameters. Every
|
290
|
+
parameter except for the message is optional. You can always pass the
|
291
|
+
delegate as the last parameter and it will be used, even if you omit items
|
292
|
+
in between.
|
293
|
+
|
294
|
+
If you need to pass other parameters but you want to omit some others
|
295
|
+
in between, pass null and the related UI item will be hidden
|
296
|
+
|
297
|
+
Note that if you pass an icon, it should be 48 x 48 in size.
|
298
|
+
|
299
|
+
@param {String} message the primary message
|
300
|
+
@param {String} description an optional detailed description
|
301
|
+
@param {String} caption an optional detailed fine print caption
|
302
|
+
@param {String} button1Title optional unlocalized title for button 1 (OK)
|
303
|
+
@param {String} button2Title optional unlocalized title for button 2 (Cancel)
|
304
|
+
@param {String} button3Title optional unlocalized title for button 3 (extra)
|
305
|
+
@param {String} iconUrl optional URL or class name for icon.
|
306
|
+
@param {Object} delegate optional delegate to notify when pane is dismissed
|
307
|
+
@returns {SC.AlertPane} new alert pane
|
308
|
+
*/
|
309
|
+
SC.AlertPane.show = function(message, description, caption, button1Title, button2Title, button3Title, iconUrl, delegate) {
|
310
|
+
|
311
|
+
// get the delegate and normalize the rest of the params
|
312
|
+
var args = this._normalizeArguments(arguments);
|
313
|
+
|
314
|
+
// create basic AlertPane
|
315
|
+
var ret = this.create({
|
316
|
+
message: args[0] || '',
|
317
|
+
description: args[1] || null,
|
318
|
+
caption: args[2] || null,
|
319
|
+
icon: args[6] || 'sc-icon-alert-48',
|
320
|
+
delegate: args[7]
|
321
|
+
});
|
322
|
+
|
323
|
+
// customize buttons as needed
|
324
|
+
var buttonKeys = 'buttonOne buttonTwo buttonThree'.w(), button, title;
|
325
|
+
for(var idx=0;idx<3;idx++) {
|
326
|
+
button = ret.get(buttonKeys[idx]);
|
327
|
+
title = args[idx + 3];
|
328
|
+
if (title) button.set('title', title).set('isVisible', YES);
|
329
|
+
}
|
330
|
+
|
331
|
+
return ret.append(); // make visible.
|
332
|
+
};
|
333
|
+
|
334
|
+
/**
|
335
|
+
Displays a warning alert pane. See SC.AlertPane.show() for complete details.
|
336
|
+
|
337
|
+
@returns {SC.AlertPane} the pane
|
338
|
+
*/
|
339
|
+
SC.AlertPane.warn = function(message, description, caption, button1Title, button2Title, button3Title, delegate) {
|
340
|
+
var args = this._normalizeArguments(arguments);
|
341
|
+
args[6] = 'sc-icon-alert-48';
|
342
|
+
return this.show.apply(this, args);
|
343
|
+
};
|
344
|
+
|
345
|
+
|
346
|
+
/**
|
347
|
+
Displays a info alert pane. See SC.AlertPane.show() for complete details.
|
348
|
+
|
349
|
+
@returns {SC.AlertPane} the pane
|
350
|
+
*/
|
351
|
+
SC.AlertPane.info = function(message, description, caption, button1Title, button2Title, button3Title, delegate) {
|
352
|
+
var args = this._normalizeArguments(arguments);
|
353
|
+
args[6] = 'sc-icon-info-48';
|
354
|
+
return this.show.apply(this, args);
|
355
|
+
};
|
356
|
+
|
357
|
+
/**
|
358
|
+
Displays a error allert pane. See SC.AlertPane.show() for complete details.
|
359
|
+
|
360
|
+
@returns {SC.AlertPane} the pane
|
361
|
+
*/
|
362
|
+
SC.AlertPane.error = function(message, description, caption, button1Title, button2Title, button3Title, delegate) {
|
363
|
+
var args = this._normalizeArguments(arguments);
|
364
|
+
args[6] = 'sc-icon-error-48';
|
365
|
+
return this.show.apply(this, args);
|
366
|
+
};
|
367
|
+
|
368
|
+
/**
|
369
|
+
Displays a plain all-text allert pane w/o icon. See SC.AlertPane.show() for complete details.
|
370
|
+
|
371
|
+
@returns {SC.AlertPane} the pane
|
372
|
+
*/
|
373
|
+
SC.AlertPane.plain = function(message, description, caption, button1Title, button2Title, button3Title, delegate) {
|
374
|
+
var args = this._normalizeArguments(arguments);
|
375
|
+
args[6] = 'blank';
|
376
|
+
return this.show.apply(this, args);
|
377
|
+
};
|