sproutit-sproutcore 1.0.20090721145236 → 1.0.20090721145251
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/Rakefile +189 -54
- data/VERSION.yml +5 -0
- data/frameworks/sproutcore/Buildfile +64 -0
- data/frameworks/sproutcore/HISTORY +682 -0
- data/frameworks/sproutcore/README +23 -0
- data/frameworks/sproutcore/apps/docs/core.js +27 -0
- data/frameworks/sproutcore/apps/docs/english.lproj/loading.rhtml +9 -0
- data/frameworks/sproutcore/apps/docs/english.lproj/main_page.js +22 -0
- data/frameworks/sproutcore/apps/docs/english.lproj/strings.js +15 -0
- data/frameworks/sproutcore/apps/docs/main.js +30 -0
- data/frameworks/sproutcore/apps/tests/controllers/detail.js +16 -0
- data/frameworks/sproutcore/apps/tests/controllers/source.js +29 -0
- data/frameworks/sproutcore/apps/tests/controllers/target.js +26 -0
- data/frameworks/sproutcore/apps/tests/controllers/targets.js +86 -0
- data/frameworks/sproutcore/apps/tests/controllers/tests.js +33 -0
- data/frameworks/sproutcore/apps/tests/core.js +133 -0
- data/frameworks/sproutcore/apps/tests/data_source.js +96 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/loading.rhtml +9 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/main_page.css +39 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +232 -0
- data/frameworks/sproutcore/apps/tests/english.lproj/strings.js +26 -0
- data/frameworks/sproutcore/apps/tests/fixtures/target.js +87 -0
- data/frameworks/sproutcore/apps/tests/fixtures/test.js +44 -0
- data/frameworks/sproutcore/apps/tests/main.js +28 -0
- data/frameworks/sproutcore/apps/tests/models/target.js +92 -0
- data/frameworks/sproutcore/apps/tests/models/test.js +48 -0
- data/frameworks/sproutcore/apps/tests/states/no_targets.js +26 -0
- data/frameworks/sproutcore/apps/tests/states/ready.js +56 -0
- data/frameworks/sproutcore/apps/tests/states/ready_detail.js +41 -0
- data/frameworks/sproutcore/apps/tests/states/ready_empty.js +48 -0
- data/frameworks/sproutcore/apps/tests/states/ready_list.js +41 -0
- data/frameworks/sproutcore/apps/tests/states/ready_loading.js +44 -0
- data/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +31 -0
- data/frameworks/sproutcore/apps/tests/states/start.js +39 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/detail.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/source.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/target.js +15 -0
- data/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +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/tests/tests/views/offset_checkbox.js +15 -0
- data/frameworks/sproutcore/apps/tests/views/offset_checkbox.js +26 -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/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 +273 -0
- data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +311 -0
- data/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures_with_queries.js +238 -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 +54 -0
- data/frameworks/sproutcore/frameworks/datastore/models/record.js +561 -0
- data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +423 -0
- data/frameworks/sproutcore/frameworks/datastore/system/many_array.js +158 -0
- data/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +488 -0
- data/frameworks/sproutcore/frameworks/datastore/system/query.js +979 -0
- data/frameworks/sproutcore/frameworks/datastore/system/record_array.js +287 -0
- data/frameworks/sproutcore/frameworks/datastore/system/store.js +2007 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +121 -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/many_attribute.js +94 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +30 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +73 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +238 -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 +204 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +178 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +40 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +117 -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/query/compare_records.js +126 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +165 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation_of_records.js +82 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/find_all.js +362 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/parsing.js +170 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +43 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +60 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +67 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +164 -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 +126 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +73 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +72 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +78 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +249 -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 +61 -0
- data/frameworks/sproutcore/frameworks/deprecated/core.js +59 -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 +673 -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 +75 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/classic_responder.js +312 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/event.js +58 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/globals.js +20 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/misc.js +58 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/node_descriptor.js +72 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/object.js +122 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/path_module.js +432 -0
- data/frameworks/sproutcore/frameworks/deprecated/system/string.js +107 -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 +29 -0
- data/frameworks/sproutcore/frameworks/designer/coders/localization.js +27 -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 +86 -0
- data/frameworks/sproutcore/frameworks/designer/ext/view.js +38 -0
- data/frameworks/sproutcore/frameworks/designer/views/controls/button.js +17 -0
- data/frameworks/sproutcore/frameworks/designer/views/designer.js +569 -0
- data/frameworks/sproutcore/frameworks/designer/views/label.js +16 -0
- data/frameworks/sproutcore/frameworks/designer/views/mixins/button.js +11 -0
- data/frameworks/sproutcore/frameworks/designer/views/tab.js +16 -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/drag.css +6 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/icons.css +943 -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 +209 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +100 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/modal.css +5 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +95 -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 +62 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/split.css +70 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/split_divider.css +9 -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/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_row_delegate.js +61 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +283 -0
- data/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +247 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +408 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/menu.js +651 -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 +400 -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 +827 -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 +55 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +59 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/methods.js +10 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +35 -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 +84 -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 +159 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +144 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +99 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +249 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +82 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +199 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +288 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +65 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +88 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +165 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/nowShowing.js +121 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +177 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/select.js +240 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +191 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +197 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +141 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +182 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/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/rowDelegate.js +183 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +133 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +132 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +56 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +167 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +127 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +284 -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 +102 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroller/ui.js +70 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +95 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +222 -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 +100 -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/stacked/ui_comments.js +231 -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/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 +331 -0
- data/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +105 -0
- data/frameworks/sproutcore/frameworks/desktop/views/collection.js +2757 -0
- data/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +44 -0
- data/frameworks/sproutcore/frameworks/desktop/views/form.js +594 -0
- data/frameworks/sproutcore/frameworks/desktop/views/grid.js +201 -0
- data/frameworks/sproutcore/frameworks/desktop/views/list.js +540 -0
- data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +660 -0
- data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +587 -0
- data/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +68 -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 +204 -0
- data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +690 -0
- data/frameworks/sproutcore/frameworks/desktop/views/scroller.js +226 -0
- data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +525 -0
- data/frameworks/sproutcore/frameworks/desktop/views/select_field.js +331 -0
- data/frameworks/sproutcore/frameworks/desktop/views/separator.js +37 -0
- data/frameworks/sproutcore/frameworks/desktop/views/slider.js +180 -0
- data/frameworks/sproutcore/frameworks/desktop/views/source_list.js +47 -0
- data/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +169 -0
- data/frameworks/sproutcore/frameworks/desktop/views/split.js +677 -0
- data/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +55 -0
- data/frameworks/sproutcore/frameworks/desktop/views/stacked.js +101 -0
- data/frameworks/sproutcore/frameworks/desktop/views/tab.js +191 -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 +509 -0
- data/frameworks/sproutcore/frameworks/foundation/controllers/controller.js +45 -0
- data/frameworks/sproutcore/frameworks/foundation/controllers/object.js +323 -0
- data/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +109 -0
- data/frameworks/sproutcore/frameworks/foundation/core.js +136 -0
- data/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +194 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/blank.gif +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +68 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/button_view.css +55 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +221 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/debug/control-test-pane.css +9 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore-logo.png +0 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +30 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/static_layout.css +5 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/strings.js +15 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +45 -0
- data/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +45 -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/license.js +19 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +299 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +171 -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/inline_text_field.js +462 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +232 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +132 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/string.js +251 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/tree_item_content.js +159 -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 +584 -0
- data/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +887 -0
- data/frameworks/sproutcore/frameworks/foundation/protocols/inline_editor_delegate.js +84 -0
- data/frameworks/sproutcore/frameworks/foundation/system/application.js +36 -0
- data/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +492 -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/datetime.js +729 -0
- data/frameworks/sproutcore/frameworks/foundation/system/error.js +93 -0
- data/frameworks/sproutcore/frameworks/foundation/system/event.js +853 -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 +195 -0
- data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +904 -0
- data/frameworks/sproutcore/frameworks/foundation/system/request.js +380 -0
- data/frameworks/sproutcore/frameworks/foundation/system/responder.js +120 -0
- data/frameworks/sproutcore/frameworks/foundation/system/responder_context.js +243 -0
- data/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +391 -0
- data/frameworks/sproutcore/frameworks/foundation/system/routes.js +487 -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 +165 -0
- data/frameworks/sproutcore/frameworks/foundation/system/utils.js +425 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +182 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/enum_case.js +193 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/null_case.js +64 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/single_case.js +136 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/empty_case.js +82 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/multiple_case.js +111 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_case.js +193 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_enumerable_case.js +179 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/outline_case.js +108 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/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/button/keyEquivalents.js +35 -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/mixins/staticLayout.js +128 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +17 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/flat_case.js +325 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +718 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/outline_case.js +484 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/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/datetime.js +151 -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 +127 -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 +101 -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 +23 -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/label/ui.js +148 -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/text_field/methods.js +76 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +250 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +133 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertFrames.js +246 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/createChildViews.js +122 -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/isVisible.js +51 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisibleInWindow.js +113 -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 +328 -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 +146 -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 +287 -0
- data/frameworks/sproutcore/frameworks/foundation/views/image.js +161 -0
- data/frameworks/sproutcore/frameworks/foundation/views/label.js +271 -0
- data/frameworks/sproutcore/frameworks/foundation/views/text_field.js +257 -0
- data/frameworks/sproutcore/frameworks/foundation/views/view.js +2405 -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 +12 -0
- data/frameworks/sproutcore/frameworks/runtime/core.js +856 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +238 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/indexOf.js +33 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/insertAt.js +121 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/objectAt.js +34 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/popObject.js +50 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/pushObject.js +46 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +371 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeAt.js +100 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeObject.js +49 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +94 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js +50 -0
- data/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js +47 -0
- data/frameworks/sproutcore/frameworks/runtime/license.js +28 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/array.js +613 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +64 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/delegate_support.js +108 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +1258 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +104 -0
- data/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +1305 -0
- data/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +141 -0
- data/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +148 -0
- data/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +152 -0
- data/frameworks/sproutcore/frameworks/runtime/protocols/observable_protocol.js +40 -0
- data/frameworks/sproutcore/frameworks/runtime/protocols/sparse_array_delegate.js +131 -0
- data/frameworks/sproutcore/frameworks/runtime/system/binding.js +915 -0
- data/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +107 -0
- data/frameworks/sproutcore/frameworks/runtime/system/index_set.js +1166 -0
- data/frameworks/sproutcore/frameworks/runtime/system/object.js +801 -0
- data/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +265 -0
- data/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +241 -0
- data/frameworks/sproutcore/frameworks/runtime/system/selection_set.js +649 -0
- data/frameworks/sproutcore/frameworks/runtime/system/set.js +375 -0
- data/frameworks/sproutcore/frameworks/runtime/system/sparse_array.js +295 -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/compare.js +44 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/console.js +16 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +147 -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/array.js +57 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +611 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +587 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +132 -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/private/observer_queue/isObservingSuspended.js +55 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +265 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +195 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/clone.js +43 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +74 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/create.js +42 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexAfter.js +38 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexBefore.js +38 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +74 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/max.js +40 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/min.js +40 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +36 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +189 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/without.js +89 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +135 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/object/bindings.js +339 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +59 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/destroy.js +75 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/objectPropertyDidChange.js +117 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/rangeDidChange.js +110 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/update.js +65 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +120 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/add.js +92 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/copy.js +17 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/indexSetForSource.js +85 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/isEqual.js +60 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/remove.js +87 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +292 -0
- data/frameworks/sproutcore/frameworks/runtime/tests/system/sparse_array.js +122 -0
- data/frameworks/sproutcore/frameworks/testing/core.js +196 -0
- data/frameworks/sproutcore/frameworks/testing/english.lproj/additions.css +8 -0
- data/frameworks/sproutcore/frameworks/testing/english.lproj/runner.css +126 -0
- data/frameworks/sproutcore/frameworks/testing/english.lproj/testsuite.css +131 -0
- data/frameworks/sproutcore/frameworks/testing/extras.js +17 -0
- data/frameworks/sproutcore/frameworks/testing/jquery.js +3559 -0
- data/frameworks/sproutcore/frameworks/testing/qunit.js +827 -0
- data/frameworks/sproutcore/frameworks/testing/system/dump.js +205 -0
- data/frameworks/sproutcore/frameworks/testing/system/equiv.js +201 -0
- data/frameworks/sproutcore/frameworks/testing/system/plan.js +691 -0
- data/frameworks/sproutcore/frameworks/testing/system/runner.js +209 -0
- data/frameworks/sproutcore/frameworks/testing/system/suite.js +228 -0
- data/frameworks/sproutcore/frameworks/testing/utils.js +62 -0
- data/frameworks/sproutcore/lib/index.rhtml +121 -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/english.lproj/button.css +331 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/checkbox.css +91 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/collection.css +134 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/core.css +60 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/disclosure.css +55 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-repeat-x.png +0 -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 +11 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/list_item.css +30 -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 +26 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/radio.css +122 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +279 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/slider.css +94 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/split_view.css +27 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/tab.css +18 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/text_field.css +10 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/toolbar.css +7 -0
- data/lib/sproutcore.rb +9 -1
- data/lib/sproutcore/tools/build.rb +1 -1
- 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.rb +170 -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.rb +77 -0
- data/lib/thor/lib/thor/tasks/package.rb +18 -0
- data/lib/thor/lib/thor/util.rb +75 -0
- data/lib/thor/script/destroy +14 -0
- data/lib/thor/script/generate +14 -0
- data/lib/thor/task.thor +15 -0
- metadata +664 -351
- data/VERSION +0 -1
- data/spec/buildtasks/build/copy_spec.rb +0 -60
- data/spec/buildtasks/build/spec_helper.rb +0 -36
- data/spec/buildtasks/manifest/catalog_spec.rb +0 -48
- data/spec/buildtasks/manifest/hide_buildfiles_spec.rb +0 -125
- data/spec/buildtasks/manifest/localize_spec.rb +0 -97
- data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +0 -246
- data/spec/buildtasks/manifest/prepare_build_tasks/css_spec.rb +0 -87
- data/spec/buildtasks/manifest/prepare_build_tasks/html_spec.rb +0 -175
- data/spec/buildtasks/manifest/prepare_build_tasks/javascript_spec.rb +0 -65
- data/spec/buildtasks/manifest/prepare_build_tasks/minify_spec.rb +0 -70
- data/spec/buildtasks/manifest/prepare_build_tasks/packed_spec.rb +0 -152
- data/spec/buildtasks/manifest/prepare_build_tasks/sass_spec.rb +0 -98
- data/spec/buildtasks/manifest/prepare_build_tasks/strings_spec.rb +0 -64
- data/spec/buildtasks/manifest/prepare_build_tasks/tests_spec.rb +0 -163
- data/spec/buildtasks/manifest/prepare_spec.rb +0 -43
- data/spec/buildtasks/manifest/spec_helper.rb +0 -35
- data/spec/buildtasks/target_spec.rb +0 -214
- data/spec/fixtures/builder_tests/Buildfile +0 -15
- data/spec/fixtures/builder_tests/apps/combine_test/a.js +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/b.js +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/c.js +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/a.css +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/b.css +0 -1
- data/spec/fixtures/builder_tests/apps/combine_test/english.lproj/c.css +0 -1
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/bar1_sample.rhtml +0 -2
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/erb_sample.html.erb +0 -1
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/icons/image.png +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/image.jpg +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/rhtml_sample.rhtml +0 -1
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/strings.js +0 -4
- data/spec/fixtures/builder_tests/apps/html_test/english.lproj/style.css +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/french.lproj/french-icons/fr.png +0 -0
- data/spec/fixtures/builder_tests/apps/html_test/french.lproj/strings.js +0 -4
- data/spec/fixtures/builder_tests/apps/html_test/lib/layout_template.rhtml +0 -1
- data/spec/fixtures/builder_tests/apps/html_test/scripts.js +0 -0
- data/spec/fixtures/builder_tests/apps/javascript_test/sc_static.js +0 -15
- data/spec/fixtures/builder_tests/apps/javascript_test/sc_super.js +0 -4
- data/spec/fixtures/builder_tests/apps/javascript_test/strings.js +0 -7
- data/spec/fixtures/builder_tests/apps/sass_test/sample.sass +0 -3
- data/spec/fixtures/builder_tests/apps/strings_test/lproj/strings.js +0 -8
- data/spec/fixtures/builder_tests/apps/stylesheet_test/build_directives.css +0 -9
- data/spec/fixtures/builder_tests/apps/stylesheet_test/sc_static.css +0 -12
- data/spec/fixtures/builder_tests/apps/test_test/lib/alt_layout.rhtml +0 -1
- data/spec/fixtures/builder_tests/apps/test_test/lib/test_layout.rhtml +0 -3
- data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test.js +0 -1
- data/spec/fixtures/builder_tests/apps/test_test/tests/qunit_test2.js +0 -1
- data/spec/fixtures/builder_tests/apps/test_test/tests/rhtml_test.rhtml +0 -4
- data/spec/fixtures/builder_tests/frameworks/debug/core.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/debug/english.lproj/dummy.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/qunit/core.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/qunit/english.lproj/dummy.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/req_style_1.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/strings.js +0 -4
- data/spec/fixtures/builder_tests/frameworks/req_target_1/english.lproj/test.rhtml +0 -1
- data/spec/fixtures/builder_tests/frameworks/req_target_1/req_js_1.js +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/req_style_2.css +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/english.lproj/test.rhtml +0 -1
- data/spec/fixtures/builder_tests/frameworks/req_target_2/javascript.js +0 -1
- data/spec/fixtures/builder_tests/frameworks/req_target_2/lib/alt_layout.rhtml +0 -0
- data/spec/fixtures/builder_tests/frameworks/req_target_2/req_js_2.js +0 -0
- data/spec/fixtures/builder_tests/themes/sample_theme/Buildfile +0 -1
- data/spec/fixtures/buildfiles/basic/Buildfile +0 -16
- data/spec/fixtures/buildfiles/basic/task_module.rake +0 -6
- data/spec/fixtures/buildfiles/installed/Buildfile +0 -7
- data/spec/fixtures/buildfiles/installed/Buildfile2 +0 -5
- data/spec/fixtures/buildfiles/project_test/Buildfile +0 -4
- data/spec/fixtures/buildfiles/project_test/not_project/Buildfile +0 -2
- data/spec/fixtures/buildfiles/project_test/not_project/child/PLACEHOLDER +0 -0
- data/spec/fixtures/entry_for_project/Buildfile +0 -1
- data/spec/fixtures/entry_for_project/apps/test_app/entry.txt +0 -0
- data/spec/fixtures/entry_for_project/apps/test_app/frameworks/nested/PLACEHOLDER +0 -0
- data/spec/fixtures/entry_for_project/frameworks/shared/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/Buildfile +0 -8
- data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/bars/bar2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/bars/bar1/foos/foo2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/Buildfile +0 -5
- data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/custom_foodir/foo2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/custom_foos/foos/not_foo1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/custom/foos/foo1/bars/bar2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/nested/Buildfile +0 -8
- data/spec/fixtures/find_targets/nested/apps/app1/Buildfile +0 -1
- data/spec/fixtures/find_targets/nested/apps/app1/apps/nested_app/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/Apps/app1/frameworks/framework2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/clients/client1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/frameworks/framework1/frameworks/framework1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/frameworks/framework2/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/themes/theme1/PLACEHOLDER +0 -0
- data/spec/fixtures/find_targets/standard/themes/theme2/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/English.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/FreNCH.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/caps_long_names/UnknOWN.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/english.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/french.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/german.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/italian.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/japanese.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/spanish.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/long_names/unknown.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/no_names/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/de.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-CA.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-GB.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en-US.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/en.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/es.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/foo.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/fr.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/it.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/languages/apps/short_names/ja.lproj/PLACEHOLDER +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/1.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/B.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/a.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/a/a.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/a/b.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/b/a.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/c.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/core.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/B.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/a/b.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/b/a.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/english.lproj/c.css +0 -0
- data/spec/fixtures/ordered_entries/apps/no_requires/lproj/strings.js +0 -1
- data/spec/fixtures/ordered_entries/apps/no_requires/utils.js +0 -1
- data/spec/fixtures/ordered_entries/apps/with_requires/a.js +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/b.js +0 -3
- data/spec/fixtures/ordered_entries/apps/with_requires/c.js +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/a.css +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/b.css +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/c.css +0 -2
- data/spec/fixtures/ordered_entries/apps/with_requires/english.lproj/d.js +0 -1
- data/spec/fixtures/real_world/Buildfile +0 -12
- data/spec/fixtures/real_world/apps/account/README +0 -1
- data/spec/fixtures/real_world/apps/calendar/README +0 -1
- data/spec/fixtures/real_world/apps/contacts/README_BEFORE_EDITING +0 -1
- data/spec/fixtures/real_world/apps/files/README +0 -1
- data/spec/fixtures/real_world/apps/mail/README +0 -1
- data/spec/fixtures/real_world/apps/mobile_photos/README +0 -1
- data/spec/fixtures/real_world/apps/photos/README +0 -1
- data/spec/fixtures/real_world/apps/uploader/README +0 -1
- data/spec/fixtures/real_world/frameworks/core_files/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/core_photos/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/shared/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/Buildfile +0 -26
- data/spec/fixtures/real_world/frameworks/sproutcore/README +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/apps/docs/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/apps/test_runner/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/core.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/debug/debug-resource.html +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/debug/sample_debug.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/demo2.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/debug/sample_debug-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.css +0 -4
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo.html +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/demo2.sass +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.haml +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.html.erb +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/file_extension_test.rhtml +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/fixtures/sample_fixtures-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/has_require.css +0 -4
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_require.css +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/no_sc_resource.rhtml +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/protocols/sample-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.css +0 -6
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/sc_resource.rhtml +0 -3
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/strings.js +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/tests/sample-loc.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample-json-fixture.json +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/fixtures/sample_fixtures.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/application/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/costello/core.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/data_store/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/debug/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/desktop/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/empty_theme/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/foundation/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/mobile/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/qunit/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/frameworks/uploader/PLACEHOLDER +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/french-resource.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/french.lproj/strings.js +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/german-resource.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/german.lproj/strings.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/has_require.js +0 -4
- data/spec/fixtures/real_world/frameworks/sproutcore/lib/index.html +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/no_require.js +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/protocols/sample.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/sc_resource.js +0 -6
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample1.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/nested/sample2.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.js +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/tests/sample.rhtml +0 -1
- data/spec/fixtures/real_world/frameworks/sproutcore/themes/standard_theme/README +0 -0
- data/spec/fixtures/real_world/frameworks/sproutcore/views/view.js +0 -1
- data/spec/fixtures/real_world/generators/sample_custom/Buildfile +0 -0
- data/spec/fixtures/recursive_project/Buildfile +0 -8
- data/spec/fixtures/recursive_project/frameworks/sproutcore/frameworks/costello/PLACEHOLDER +0 -0
- data/spec/lib/builders/combine_spec.rb +0 -67
- data/spec/lib/builders/html_spec.rb +0 -577
- data/spec/lib/builders/javascript_spec.rb +0 -81
- data/spec/lib/builders/sass_spec.rb +0 -43
- data/spec/lib/builders/spec_helper.rb +0 -30
- data/spec/lib/builders/strings_spec.rb +0 -52
- data/spec/lib/builders/stylesheet_spec.rb +0 -63
- data/spec/lib/builders/test_index_spec.rb +0 -44
- data/spec/lib/builders/test_spec.rb +0 -135
- data/spec/lib/buildfile/config_for_spec.rb +0 -81
- data/spec/lib/buildfile/define_spec.rb +0 -59
- data/spec/lib/buildfile/dup_spec.rb +0 -65
- data/spec/lib/buildfile/invoke_spec.rb +0 -130
- data/spec/lib/buildfile/load_spec.rb +0 -49
- data/spec/lib/buildfile/task/dup_spec.rb +0 -55
- data/spec/lib/buildfile/task_defined_spec.rb +0 -17
- data/spec/lib/buildfile_commands/build_task_spec.rb +0 -19
- data/spec/lib/buildfile_commands/config_spec.rb +0 -97
- data/spec/lib/buildfile_commands/import_spec.rb +0 -17
- data/spec/lib/buildfile_commands/namespace_spec.rb +0 -18
- data/spec/lib/buildfile_commands/proxies_spec.rb +0 -38
- data/spec/lib/buildfile_commands/replace_task_spec.rb +0 -29
- data/spec/lib/buildfile_commands/task_spec.rb +0 -36
- data/spec/lib/helpers/packing_optimizer/optimize_spec.rb +0 -26
- data/spec/lib/models/hash_struct/deep_clone_spec.rb +0 -27
- data/spec/lib/models/hash_struct/has_options_spec.rb +0 -32
- data/spec/lib/models/hash_struct/hash_spec.rb +0 -64
- data/spec/lib/models/hash_struct/merge_spec.rb +0 -26
- data/spec/lib/models/hash_struct/method_missing.rb +0 -41
- data/spec/lib/models/manifest/add_entry_spec.rb +0 -36
- data/spec/lib/models/manifest/add_transform_spec.rb +0 -90
- data/spec/lib/models/manifest/build_spec.rb +0 -78
- data/spec/lib/models/manifest/entry_for_spec.rb +0 -94
- data/spec/lib/models/manifest/find_entry.rb +0 -84
- data/spec/lib/models/manifest/prepare_spec.rb +0 -62
- data/spec/lib/models/manifest_entry/cacheable_url_spec.rb +0 -31
- data/spec/lib/models/manifest_entry/prepare_spec.rb +0 -54
- data/spec/lib/models/project/add_target_spec.rb +0 -44
- data/spec/lib/models/project/buildfile_spec.rb +0 -35
- data/spec/lib/models/project/find_targets_for_spec.rb +0 -77
- data/spec/lib/models/project/load_nearest_project_spec.rb +0 -23
- data/spec/lib/models/project/target_for_spec.rb +0 -33
- data/spec/lib/models/project/targets_spec.rb +0 -62
- data/spec/lib/models/target/compute_build_number_spec.rb +0 -125
- data/spec/lib/models/target/config_spec.rb +0 -30
- data/spec/lib/models/target/expand_required_targets_spec.rb +0 -48
- data/spec/lib/models/target/installed_languages_spec.rb +0 -47
- data/spec/lib/models/target/lproj_for_spec.rb +0 -38
- data/spec/lib/models/target/manifest_for_spec.rb +0 -42
- data/spec/lib/models/target/parent_target_spec.rb +0 -21
- data/spec/lib/models/target/prepare_spec.rb +0 -53
- data/spec/lib/models/target/required_targets_spec.rb +0 -119
- data/spec/lib/models/target/target_for_spec.rb +0 -56
- data/spec/lib/tools/build_number_spec.rb +0 -28
- data/spec/lib/tools/gen_spec.rb +0 -207
- data/spec/lib/tools/tools_spec.rb +0 -78
- data/spec/spec_helper.rb +0 -138
- data/sproutcore-abbot.gemspec +0 -640
- data/vendor/jsdoc/templates/jsdoc/allclasses.tmpl +0 -17
- data/vendor/jsdoc/templates/jsdoc/allfiles.tmpl +0 -56
- data/vendor/jsdoc/templates/jsdoc/class.tmpl +0 -487
- data/vendor/jsdoc/templates/jsdoc/index.tmpl +0 -38
- data/vendor/jsdoc/templates/jsdoc/symbol.tmpl +0 -35
- data/vendor/jsdoc/templates/sproutcore/allclasses.tmpl +0 -0
- data/vendor/jsdoc/templates/sproutcore/allfiles.tmpl +0 -56
- data/vendor/jsdoc/templates/sproutcore/class.tmpl +0 -674
- data/vendor/jsdoc/templates/sproutcore/index.tmpl +0 -55
- data/vendor/jsdoc/templates/sproutcore/symbol.tmpl +0 -35
@@ -0,0 +1,125 @@
|
|
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('validators/validator') ;
|
9
|
+
|
10
|
+
/** @class
|
11
|
+
Validate a field value as a credit card number.
|
12
|
+
|
13
|
+
This validator will perform a basic check to ensure the credit card number
|
14
|
+
is mathematically valid. It will also accept numbers with spaces, dashes
|
15
|
+
or other punctuation.
|
16
|
+
|
17
|
+
Converted credit card numbers are broken into units of 4.
|
18
|
+
|
19
|
+
Basic credit card validation courtesy David Leppek
|
20
|
+
(https://www.azcode.com/Mod10)
|
21
|
+
|
22
|
+
@extends SC.Validator
|
23
|
+
@since SproutCore 1.0
|
24
|
+
*/
|
25
|
+
SC.Validator.CreditCard = SC.Validator.extend(
|
26
|
+
/** @scope SC.Validator.CreditCard.prototype */ {
|
27
|
+
|
28
|
+
/**
|
29
|
+
Expects a string of 16 digits. Will split into groups of 4 for display.
|
30
|
+
*/
|
31
|
+
fieldValueForObject: function(object, form, field) {
|
32
|
+
if (typeof(object) == "string" && object.length == 16) {
|
33
|
+
object = [object.slice(0,4),object.slice(4,8),object.slice(8,12),object.slice(12,16)].join(' ') ;
|
34
|
+
}
|
35
|
+
return object ;
|
36
|
+
},
|
37
|
+
|
38
|
+
/**
|
39
|
+
Removes all whitespace or dashes to make a single string.
|
40
|
+
*/
|
41
|
+
objectForFieldValue: function(value, form, field) {
|
42
|
+
return value.replace(/[\s-\.\:]/g,'') ;
|
43
|
+
},
|
44
|
+
|
45
|
+
validate: function(form, field) {
|
46
|
+
return this.checkNumber(field.get('fieldValue')) ;
|
47
|
+
},
|
48
|
+
|
49
|
+
validateError: function(form, field) {
|
50
|
+
var label = field.get('errorLabel') || 'Field' ;
|
51
|
+
return SC.$error("Invalid.CreditCard(%@)".loc(label), label);
|
52
|
+
},
|
53
|
+
|
54
|
+
/**
|
55
|
+
Allow only numbers, dashes, and spaces
|
56
|
+
*/
|
57
|
+
validateKeyDown: function(form, field, charStr) {
|
58
|
+
return !!charStr.match(/[0-9\- ]/);
|
59
|
+
},
|
60
|
+
|
61
|
+
checkNumber: function(ccNumb) {
|
62
|
+
|
63
|
+
if (!ccNumb || ccNumb.length===0) return YES; // do not validate empty
|
64
|
+
|
65
|
+
// remove any spaces or dashes
|
66
|
+
ccNumb = ccNumb.replace(/[^0-9]/g,'');
|
67
|
+
|
68
|
+
var valid = "0123456789"; // Valid digits in a credit card number
|
69
|
+
var len = ccNumb.length; // The length of the submitted cc number
|
70
|
+
var iCCN = parseInt(ccNumb,0); // integer of ccNumb
|
71
|
+
var sCCN = ccNumb.toString(); // string of ccNumb
|
72
|
+
sCCN = sCCN.replace (/^\s+|\s+$/g,''); // strip spaces
|
73
|
+
var iTotal = 0; // integer total set at zero
|
74
|
+
var bNum = true; // by default assume it is a number
|
75
|
+
var bResult = false; // by default assume it is NOT a valid cc
|
76
|
+
var temp; // temp variable for parsing string
|
77
|
+
var calc; // used for calculation of each digit
|
78
|
+
|
79
|
+
// Determine if the ccNumb is in fact all numbers
|
80
|
+
for (var j=0; j<len; j++) {
|
81
|
+
temp = "" + sCCN.substring(j, j+1);
|
82
|
+
if (valid.indexOf(temp) == "-1"){bNum = false;}
|
83
|
+
}
|
84
|
+
|
85
|
+
// if it is NOT a number, you can either alert to the fact,
|
86
|
+
// or just pass a failure
|
87
|
+
if(!bNum) bResult = false;
|
88
|
+
|
89
|
+
// Determine if it is the proper length
|
90
|
+
if((len === 0)&&(bResult)){ // nothing, field is blank AND passed above # check
|
91
|
+
bResult = false;
|
92
|
+
} else{ // ccNumb is a number and the proper length - let's see if it is a valid card number
|
93
|
+
if(len >= 15){ // 15 or 16 for Amex or V/MC
|
94
|
+
for(var i=len;i>0;i--){ // LOOP throught the digits of the card
|
95
|
+
calc = parseInt(iCCN,0) % 10; // right most digit
|
96
|
+
calc = parseInt(calc,0); // assure it is an integer
|
97
|
+
iTotal += calc; // running total of the card number as we loop - Do Nothing to first digit
|
98
|
+
i--; // decrement the count - move to the next digit in the card
|
99
|
+
iCCN = iCCN / 10; // subtracts right most digit from ccNumb
|
100
|
+
calc = parseInt(iCCN,0) % 10 ; // NEXT right most digit
|
101
|
+
calc = calc *2; // multiply the digit by two
|
102
|
+
// Instead of some screwy method of converting 16 to a string and then parsing 1 and 6 and then adding them to make 7,
|
103
|
+
// I use a simple switch statement to change the value of calc2 to 7 if 16 is the multiple.
|
104
|
+
switch(calc){
|
105
|
+
case 10: calc = 1; break; //5*2=10 & 1+0 = 1
|
106
|
+
case 12: calc = 3; break; //6*2=12 & 1+2 = 3
|
107
|
+
case 14: calc = 5; break; //7*2=14 & 1+4 = 5
|
108
|
+
case 16: calc = 7; break; //8*2=16 & 1+6 = 7
|
109
|
+
case 18: calc = 9; break; //9*2=18 & 1+8 = 9
|
110
|
+
default: calc = calc; //4*2= 8 & 8 = 8 -same for all lower numbers
|
111
|
+
}
|
112
|
+
iCCN = iCCN / 10; // subtracts right most digit from ccNum
|
113
|
+
iTotal += calc; // running total of the card number as we loop
|
114
|
+
} // END OF LOOP
|
115
|
+
if ((iTotal%10)===0){ // check to see if the sum Mod 10 is zero
|
116
|
+
bResult = true; // This IS (or could be) a valid credit card number.
|
117
|
+
} else {
|
118
|
+
bResult = false; // This could NOT be a valid credit card number
|
119
|
+
}
|
120
|
+
}
|
121
|
+
}
|
122
|
+
return bResult; // Return the results
|
123
|
+
}
|
124
|
+
|
125
|
+
}) ;
|
@@ -0,0 +1,52 @@
|
|
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('validators/validator') ;
|
9
|
+
|
10
|
+
/**
|
11
|
+
Handle parsing and display of dates.
|
12
|
+
|
13
|
+
@class
|
14
|
+
@extends SC.Validator
|
15
|
+
@author Charles Jolley
|
16
|
+
@version 1.0
|
17
|
+
*/
|
18
|
+
SC.Validator.Date = SC.Validator.extend(
|
19
|
+
/** @scope SC.Validator.Date.prototype */ {
|
20
|
+
|
21
|
+
/**
|
22
|
+
The standard format you want the validator to convert dates to.
|
23
|
+
*/
|
24
|
+
format: 'NNN d, yyyy h:mm:ss a',
|
25
|
+
|
26
|
+
/**
|
27
|
+
if we have a number, then convert to a date object.
|
28
|
+
*/
|
29
|
+
fieldValueForObject: function(object, form, field) {
|
30
|
+
var date ;
|
31
|
+
if (typeof(object) == "number") {
|
32
|
+
date = new Date(object) ;
|
33
|
+
} else if (object instanceof Date) { date = object; }
|
34
|
+
|
35
|
+
if (date) object = date.format(this.get('format')) ;
|
36
|
+
|
37
|
+
return object ;
|
38
|
+
},
|
39
|
+
|
40
|
+
/**
|
41
|
+
Try to pase value as a date. convert into a number, or return null if
|
42
|
+
it could not be parsed.
|
43
|
+
*/
|
44
|
+
objectForFieldValue: function(value, form, field) {
|
45
|
+
if (value) {
|
46
|
+
var date = Date.parseDate(value) ;
|
47
|
+
value = (date) ? date.getTime() : null ;
|
48
|
+
}
|
49
|
+
return value ;
|
50
|
+
}
|
51
|
+
|
52
|
+
}) ;
|
@@ -0,0 +1,45 @@
|
|
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('validators/validator') ;
|
9
|
+
|
10
|
+
/**
|
11
|
+
Requires a valid email format.
|
12
|
+
|
13
|
+
@class
|
14
|
+
@extends SC.Validator
|
15
|
+
@version 1.0
|
16
|
+
*/
|
17
|
+
SC.Validator.Email = SC.Validator.extend(
|
18
|
+
/** @scope SC.Validator.Email.prototype */ {
|
19
|
+
|
20
|
+
validate: function(form, field) {
|
21
|
+
return (field.get('fieldValue') || '').match(/.+@.+\...+/) ;
|
22
|
+
},
|
23
|
+
|
24
|
+
validateError: function(form, field) {
|
25
|
+
var label = field.get('errorLabel') || 'Field' ;
|
26
|
+
return SC.$error("Invalid.Email(%@)".loc(label), label) ;
|
27
|
+
}
|
28
|
+
|
29
|
+
}) ;
|
30
|
+
|
31
|
+
/**
|
32
|
+
This variant allows an empty field as well as an email address.
|
33
|
+
|
34
|
+
@class
|
35
|
+
@extends SC.Validator.Email
|
36
|
+
@author Charles Jolley
|
37
|
+
@version 1.0
|
38
|
+
*/
|
39
|
+
SC.Validator.EmailOrEmpty = SC.Validator.Email.extend(
|
40
|
+
/** @scope SC.Validator.EmailOrEmpty.prototype */ {
|
41
|
+
validate: function(form, field) {
|
42
|
+
var value = field.get('fieldValue') ;
|
43
|
+
return (value && value.length > 0) ? value.match(/.+@.+\...+/) : true ;
|
44
|
+
}
|
45
|
+
}) ;
|
@@ -0,0 +1,33 @@
|
|
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('validators/validator') ;
|
9
|
+
|
10
|
+
/**
|
11
|
+
Requires some content in field, but does not check the specific content.
|
12
|
+
|
13
|
+
@class
|
14
|
+
@extends SC.Validator
|
15
|
+
@author Charles Jolley
|
16
|
+
@version 1.0
|
17
|
+
*/
|
18
|
+
SC.Validator.NotEmpty = SC.Validator.extend(
|
19
|
+
/** @scope SC.Validator.NotEmpty.prototype */ {
|
20
|
+
|
21
|
+
validate: function(form, field) {
|
22
|
+
var value = field.get('fieldValue');
|
23
|
+
var ret = !!value ;
|
24
|
+
if (ret && value.length) ret = value.length > 0 ;
|
25
|
+
return ret ;
|
26
|
+
},
|
27
|
+
|
28
|
+
validateError: function(form, field) {
|
29
|
+
var label = field.get('errorLabel') || 'Field' ;
|
30
|
+
return SC.$error("Invalid.NotEmpty(%@)".loc(label.capitalize()), field.get('errorLabel'));
|
31
|
+
}
|
32
|
+
|
33
|
+
}) ;
|
@@ -0,0 +1,82 @@
|
|
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('validators/validator') ;
|
9
|
+
|
10
|
+
/**
|
11
|
+
Handles parsing and validating of numbers.
|
12
|
+
|
13
|
+
@extends SC.Validator
|
14
|
+
@author Charles Jolley
|
15
|
+
@version 1.0
|
16
|
+
@class
|
17
|
+
*/
|
18
|
+
SC.Validator.Number = SC.Validator.extend(
|
19
|
+
/** @scope SC.Validator.Number.prototype */ {
|
20
|
+
|
21
|
+
/**
|
22
|
+
Number of decimal places to show.
|
23
|
+
|
24
|
+
If 0, then numbers will be treated as integers. Otherwise, numbers will
|
25
|
+
show with a fixed number of decimals.
|
26
|
+
*/
|
27
|
+
places: 0,
|
28
|
+
|
29
|
+
fieldValueForObject: function(object, form, field) {
|
30
|
+
switch(SC.typeOf(object)) {
|
31
|
+
case SC.T_NUMBER:
|
32
|
+
object = object.toFixed(this.get('places')) ;
|
33
|
+
break ;
|
34
|
+
case SC.T_NULL:
|
35
|
+
case SC.T_UNDEFINED:
|
36
|
+
object = '';
|
37
|
+
break ;
|
38
|
+
}
|
39
|
+
return object ;
|
40
|
+
},
|
41
|
+
|
42
|
+
objectForFieldValue: function(value, form, field) {
|
43
|
+
|
44
|
+
// strip out commas
|
45
|
+
value = value.replace(/,/g,'');
|
46
|
+
|
47
|
+
switch(SC.typeOf(value)) {
|
48
|
+
case SC.T_STRING:
|
49
|
+
if (value.length == '') {
|
50
|
+
value = null ;
|
51
|
+
} else if (this.get('places') > 0) {
|
52
|
+
value = parseFloat(value) ;
|
53
|
+
} else {
|
54
|
+
value = parseInt(value,0) ;
|
55
|
+
}
|
56
|
+
break ;
|
57
|
+
case SC.T_NULL:
|
58
|
+
case SC.T_UNDEFINED:
|
59
|
+
value = null ;
|
60
|
+
break ;
|
61
|
+
}
|
62
|
+
return value ;
|
63
|
+
},
|
64
|
+
|
65
|
+
validate: function(form, field) {
|
66
|
+
var value = field.get('fieldValue') ;
|
67
|
+
return (value == '') || !(isNaN(value) || isNaN(parseFloat(value))) ;
|
68
|
+
},
|
69
|
+
|
70
|
+
validateError: function(form, field) {
|
71
|
+
var label = field.get('errorLabel') || 'Field' ;
|
72
|
+
return SC.$error("Invalid.Number(%@)".loc(label), label) ;
|
73
|
+
},
|
74
|
+
|
75
|
+
/**
|
76
|
+
Allow only numbers, dashes, period, and commas
|
77
|
+
*/
|
78
|
+
validateKeyDown: function(form, field, charStr) {
|
79
|
+
return !!charStr.match(/[0-9\.,\-]/);
|
80
|
+
}
|
81
|
+
|
82
|
+
}) ;
|
@@ -0,0 +1,86 @@
|
|
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('validators/validator') ;
|
9
|
+
|
10
|
+
/**
|
11
|
+
Ensures all fields with the Password validator attached in the same form
|
12
|
+
contain the same value.
|
13
|
+
|
14
|
+
@class
|
15
|
+
@extends SC.Validator
|
16
|
+
@author Charles Jolley
|
17
|
+
@version 1.0
|
18
|
+
*/
|
19
|
+
SC.Validator.Password = SC.Validator.extend(
|
20
|
+
/** @scope SC.Validator.Password.prototype */ {
|
21
|
+
|
22
|
+
attachTo: function(form,field) {
|
23
|
+
sc_super();
|
24
|
+
if (!this.fields) this.fields = [] ;
|
25
|
+
this.fields.push(field) ;
|
26
|
+
},
|
27
|
+
|
28
|
+
validate: function(force) {
|
29
|
+
if (!this.fields || this.fields.length == 0) return true ;
|
30
|
+
|
31
|
+
var empty = false ;
|
32
|
+
var notEmpty = false ;
|
33
|
+
var ret = true ;
|
34
|
+
var value = this.fields[0].get('fieldValue') ;
|
35
|
+
this.fields.forEach(function(field) {
|
36
|
+
var curValue = field.get('fieldValue') ;
|
37
|
+
if (curValue != value) ret= false ;
|
38
|
+
if (!curValue || curValue.length == 0) empty = true ;
|
39
|
+
if (curValue && curValue.length > 0) notEmpty = true ;
|
40
|
+
}) ;
|
41
|
+
|
42
|
+
// if forces, valid OK if there was an empty. If not forced, valid OK
|
43
|
+
// only if all fields match AND they are not all empty.
|
44
|
+
if (force) {
|
45
|
+
return (notEmpty == false) ? false : ret ;
|
46
|
+
} else {
|
47
|
+
return (empty == true) ? true : ret ;
|
48
|
+
}
|
49
|
+
},
|
50
|
+
|
51
|
+
// update field states
|
52
|
+
updateFields: function(form,valid) {
|
53
|
+
if (!this.fields || this.fields.length == 0) return true ;
|
54
|
+
var err = "Invalid.Password".loc();
|
55
|
+
var topField = this._field ;
|
56
|
+
this.fields.forEach(function(f) {
|
57
|
+
var msg = (valid) ? null : ((f == topField) ? err : '') ;
|
58
|
+
form.setErrorFor(f,msg) ;
|
59
|
+
}) ;
|
60
|
+
return (valid) ? SC.VALIDATE_OK : err ;
|
61
|
+
},
|
62
|
+
|
63
|
+
validateChange: function(form, field, oldValue) {
|
64
|
+
return this.updateFields(form, this.validate(false)) ;
|
65
|
+
},
|
66
|
+
|
67
|
+
// this method is called just before the form is submitted.
|
68
|
+
// field: the field toe validate.
|
69
|
+
validateSubmit: function(form, field) {
|
70
|
+
return this.updateFields(form, this.validate(true)) ;
|
71
|
+
},
|
72
|
+
|
73
|
+
// this method gets called 1ms after the user types a key (if a change is
|
74
|
+
// allowed). You can use this validate the new partial string and return
|
75
|
+
// an error if needed.
|
76
|
+
//
|
77
|
+
// The default will validate a partial only if there was already an error.
|
78
|
+
// this allows the user to try to get it right before you bug them.
|
79
|
+
validatePartial: function(form, field) {
|
80
|
+
var isInvalid = !this._field.get('isValid') ;
|
81
|
+
if (isInvalid) {
|
82
|
+
return this.updateFields(form, this.validate(false)) ;
|
83
|
+
} else return SC.VALIDATE_NO_CHANGE ;
|
84
|
+
}
|
85
|
+
|
86
|
+
}) ;
|
@@ -0,0 +1,311 @@
|
|
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.VALIDATE_OK = YES;
|
9
|
+
SC.VALIDATE_NO_CHANGE = NO;
|
10
|
+
|
11
|
+
/**
|
12
|
+
@class
|
13
|
+
|
14
|
+
Validators provide a way for you to implement simple form field validation
|
15
|
+
and transformation. To use a validator, simply name the validator in the
|
16
|
+
"validate" attribute in your text field. For example, if you want to
|
17
|
+
validate a field using the PhoneNumberValidator use this:
|
18
|
+
|
19
|
+
<input value="1234567890" validate="phone-number" />
|
20
|
+
|
21
|
+
Validators get notified at three points. You can implement one or all
|
22
|
+
of these methods to support validation. All of the validate methods except
|
23
|
+
for validateKeypress behave the same way. You are passed a form, field,
|
24
|
+
and possibly the oldValue. You are expected to return Validator.OK or
|
25
|
+
an error string. Inside this method you typically do one of all of the
|
26
|
+
following:
|
27
|
+
|
28
|
+
1. You can simply validate the field value and return OK or an error str
|
29
|
+
|
30
|
+
2. You can modify the field value (for example, you could format the
|
31
|
+
string to match some predefined format).
|
32
|
+
|
33
|
+
3. If you need to roundtrip the server first to perform validation, you can
|
34
|
+
return Validator.OK, then save the form and field info until after the
|
35
|
+
roundtrip. On return, if there is a problem, first verify the field
|
36
|
+
value has not changed and then call form.errorFor(field,str) ;
|
37
|
+
|
38
|
+
@extends SC.Object
|
39
|
+
@since SproutCore 1.0
|
40
|
+
*/
|
41
|
+
SC.Validator = SC.Object.extend(
|
42
|
+
/** @scope SC.Validator.prototype */ {
|
43
|
+
|
44
|
+
// ..........................................
|
45
|
+
// OBJECT VALUE CONVERSION
|
46
|
+
//
|
47
|
+
// The following methods are used to convert the string value of a field
|
48
|
+
// to and from an object value. The default implementations return
|
49
|
+
// the string, but you can override this to provide specific behaviors.
|
50
|
+
// For example, you might add or remove a dollar sign or convert the
|
51
|
+
// value to a number.
|
52
|
+
|
53
|
+
/**
|
54
|
+
Returns the value to set in the field for the passed object value.
|
55
|
+
|
56
|
+
The form and view to be set MAY (but will not always) be passed also. You
|
57
|
+
should override this method to help convert an input object into a value
|
58
|
+
that can be displayed by the field. For example, you might convert a
|
59
|
+
date to a property formatted string or a number to a properly formatted
|
60
|
+
value.
|
61
|
+
|
62
|
+
@param {Object} object The object to transform
|
63
|
+
@param {SC.FormView} form The form this field belongs to. (optional)
|
64
|
+
@param {SC.View} view The view the value is required for.
|
65
|
+
@returns {Object} a value (usually a string) suitable for display
|
66
|
+
*/
|
67
|
+
fieldValueForObject: function(object, form, view) { return object; },
|
68
|
+
|
69
|
+
/**
|
70
|
+
Returns the object value for the passed string.
|
71
|
+
|
72
|
+
The form and view MAY (but wil not always) be passed also. You should
|
73
|
+
override this method to convert a field value, such as string, into an
|
74
|
+
object value suitable for consumption by the rest of the app. For example
|
75
|
+
you may convert a string into a date or a number.
|
76
|
+
|
77
|
+
@param {String} value the field value. (Usually a String).
|
78
|
+
@param {SC.FormView} form The form this field belongs to. (optional)
|
79
|
+
@param {SC.View} view The view this value was pulled from.
|
80
|
+
@returns {Object} an object suitable for consumption by the app.
|
81
|
+
*/
|
82
|
+
objectForFieldValue: function(value, form, view) { return value; },
|
83
|
+
|
84
|
+
// ..........................................
|
85
|
+
// VALIDATION PRIMITIVES
|
86
|
+
//
|
87
|
+
|
88
|
+
/**
|
89
|
+
Validate the field value.
|
90
|
+
|
91
|
+
You can implement standard behavior for your validator by using the validate() and validateError() methods. validate() should return NO if the field is not valid, YES otherwise. If you return NO from this method, then the validateError() method will be called so you can generate an error object describing the specific problem.
|
92
|
+
|
93
|
+
@param {SC.FormView} form the form this view belongs to
|
94
|
+
@param {SC.View} field the field to validate. Responds to fieldValue.
|
95
|
+
@returns {Boolean} YES if field is valid.
|
96
|
+
*/
|
97
|
+
validate: function(form, field) { return true; },
|
98
|
+
|
99
|
+
/**
|
100
|
+
Returns an error object if the field is invalid.
|
101
|
+
|
102
|
+
This is the other standard validator method that can be used to impement basic validation. Return an error object explaining why the field is not valid. It will only be called if validate() returned NO.
|
103
|
+
|
104
|
+
The default implementation of htis method returns a generic error message with the loc string "Invalid.Generate({fieldValue})". You can simply define this loc string in strings.js if you prefer or you can override this method to provide a more specific error message.
|
105
|
+
|
106
|
+
@param {SC.FormView} form the form this view belongs to
|
107
|
+
@param {SC.View} field the field to validate. Responds to fieldValue.
|
108
|
+
@returns {SC.Error} an error object
|
109
|
+
*/
|
110
|
+
validateError: function(form, field) {
|
111
|
+
return SC.$error(
|
112
|
+
"Invalid.General(%@)".loc(field.get('fieldValue')),
|
113
|
+
field.get('fieldKey')) ;
|
114
|
+
},
|
115
|
+
|
116
|
+
// ..........................................
|
117
|
+
// VALIDATION API
|
118
|
+
//
|
119
|
+
|
120
|
+
/**
|
121
|
+
Invoked just before the user ends editing of the field.
|
122
|
+
|
123
|
+
This is a primitive validation method. You can implement the two higher-level methods (validate() and validateError()) if you prefer.
|
124
|
+
|
125
|
+
The default implementation calls your validate() method and then validateError() if valiate() returns NO. This method should return SC.VALIDATE_OK if validation succeeded or an error object if it fails.
|
126
|
+
|
127
|
+
@param {SC.FormView} form the form for the field
|
128
|
+
@param {SC.View} field the field to validate
|
129
|
+
@param {Object} oldValue: the value of the field before the change
|
130
|
+
|
131
|
+
@returns SC.VALIDATE_OK or an error object.
|
132
|
+
|
133
|
+
*/
|
134
|
+
validateChange: function(form, field, oldValue) {
|
135
|
+
return this.validate(form,field) ? SC.VALIDATE_OK : this.validateError(form, field);
|
136
|
+
},
|
137
|
+
|
138
|
+
/**
|
139
|
+
Invoked just before the form is submitted.
|
140
|
+
|
141
|
+
This method gives your validators one last chance to perform validation
|
142
|
+
on the form as a whole. The default version does the same thing as the
|
143
|
+
validateChange() method.
|
144
|
+
|
145
|
+
@param {SC.FormView} form the form for the field
|
146
|
+
@param {SC.View} field the field to validate
|
147
|
+
|
148
|
+
@returns SC.VALIDATE_OK or an error object.
|
149
|
+
|
150
|
+
*/
|
151
|
+
validateSubmit: function(form, field) {
|
152
|
+
return this.validate(form,field) ? SC.VALIDATE_OK : this.validateError(form, field);
|
153
|
+
},
|
154
|
+
|
155
|
+
/**
|
156
|
+
Invoked 1ms after the user types a key (if a change is allowed).
|
157
|
+
|
158
|
+
You can use this validate the new partial string and return an error if
|
159
|
+
needed. The default will validate a partial only if there was already an
|
160
|
+
error. This allows the user to try to get it right before you bug them.
|
161
|
+
|
162
|
+
Unlike the other methods, you should return SC.VALIDATE_NO_CHANGE if you
|
163
|
+
did not actually validate the partial string. If you return
|
164
|
+
SC.VALIDATE_OK then any showing errors will be hidden.
|
165
|
+
|
166
|
+
@param {SC.FormView} form the form for the field
|
167
|
+
@param {SC.View} field the field to validate
|
168
|
+
|
169
|
+
@returns SC.VALIDATE_OK, SC.VALIDATE_NO_CHANGE or an error object.
|
170
|
+
*/
|
171
|
+
validatePartial: function(form, field) {
|
172
|
+
if (!field.get('isValid')) {
|
173
|
+
return this.validate(form,field) ? SC.VALIDATE_OK : this.validateError(form, field);
|
174
|
+
} else return SC.VALIDATE_NO_CHANGE ;
|
175
|
+
},
|
176
|
+
|
177
|
+
/**
|
178
|
+
Invoked when the user presses a key.
|
179
|
+
|
180
|
+
This method is used to restrict the letters and numbers the user is
|
181
|
+
allowed to enter. You should not use this method to perform full
|
182
|
+
validation on the field. Instead use validatePartial().
|
183
|
+
|
184
|
+
@param {SC.FormView} form the form for the field
|
185
|
+
@param {SC.View} field the field to validate
|
186
|
+
@param {String} char the characters being added
|
187
|
+
|
188
|
+
@returns {Boolean} YES if allowed, NO otherwise
|
189
|
+
*/
|
190
|
+
validateKeyDown: function(form, field,charStr) { return true; },
|
191
|
+
|
192
|
+
// .....................................
|
193
|
+
// OTHER METHODS
|
194
|
+
|
195
|
+
/**
|
196
|
+
Called on all validators when they are attached to a field.
|
197
|
+
|
198
|
+
You can use this to do any setup that you need. The default does nothing.
|
199
|
+
|
200
|
+
@param {SC.FormView} form the form for the field
|
201
|
+
@param {SC.View} field the field to validate
|
202
|
+
*/
|
203
|
+
attachTo: function(form,field) { },
|
204
|
+
|
205
|
+
/**
|
206
|
+
Called on a validator just before it is removed from a field. You can
|
207
|
+
tear down any setup you did for the attachTo() method.
|
208
|
+
|
209
|
+
@param {SC.FormView} form the form for the field
|
210
|
+
@param {SC.View} field the field to validate
|
211
|
+
*/
|
212
|
+
detachFrom: function(form, field) {}
|
213
|
+
|
214
|
+
}) ;
|
215
|
+
|
216
|
+
SC.Validator.mixin(/** @scope SC.Validator */ {
|
217
|
+
|
218
|
+
/**
|
219
|
+
Return value when validation was performed and value is OK.
|
220
|
+
*/
|
221
|
+
OK: true,
|
222
|
+
|
223
|
+
/**
|
224
|
+
Return value when validation was not performed.
|
225
|
+
*/
|
226
|
+
NO_CHANGE: false,
|
227
|
+
|
228
|
+
/**
|
229
|
+
Invoked by a field whenever a validator is attached to the field.
|
230
|
+
|
231
|
+
The passed validatorKey can be a validator instance, a validator class
|
232
|
+
or a string naming a validator. To make your validator
|
233
|
+
visible, you should name your validator under the SC.Validator base.
|
234
|
+
for example SC.Validator.Number would get used for the 'number'
|
235
|
+
validator key.
|
236
|
+
|
237
|
+
This understands validatorKey strings in the following format:
|
238
|
+
|
239
|
+
* 'key' or 'multiple_words' will find validators Key and MultipleWords
|
240
|
+
|
241
|
+
* if you want to share a single validator among multiple fields (for
|
242
|
+
example to validate that two passwords are the same) set a name inside
|
243
|
+
brackets. i.e. 'password[pwd]'.
|
244
|
+
|
245
|
+
@param {SC.FormView} form the form for the field
|
246
|
+
@param {SC.View} field the field to validate
|
247
|
+
@param {Object} validatorKey the key to validate
|
248
|
+
|
249
|
+
@returns {SC.Validator} validator instance or null
|
250
|
+
*/
|
251
|
+
findFor: function(form,field, validatorKey) {
|
252
|
+
|
253
|
+
// Convert the validator into a validator instance.
|
254
|
+
var validator ;
|
255
|
+
if (!validatorKey) return ; // nothing to do...
|
256
|
+
|
257
|
+
if (validatorKey instanceof SC.Validator) {
|
258
|
+
validator = validatorKey ;
|
259
|
+
} else if (validatorKey.isClass) {
|
260
|
+
validator = validatorKey.create() ;
|
261
|
+
|
262
|
+
} else if (SC.typeOf(validatorKey) === SC.T_STRING) {
|
263
|
+
|
264
|
+
// extract optional key name
|
265
|
+
var name = null ;
|
266
|
+
var m = validatorKey.match(/^(.+)\[(.*)\]/) ;
|
267
|
+
if (m) {
|
268
|
+
validatorKey = m[1] ; name = m[2];
|
269
|
+
}
|
270
|
+
|
271
|
+
// convert the validatorKey name into a class.
|
272
|
+
validatorKey = validatorKey.classify() ;
|
273
|
+
var validatorClass = SC.Validator[validatorKey] ;
|
274
|
+
if (SC.none(validatorClass)) {
|
275
|
+
throw "validator %@ not found for %@".fmt(validatorKey, field) ;
|
276
|
+
} else if (name) {
|
277
|
+
|
278
|
+
// if a key was also passed, then find the validator in the list of
|
279
|
+
// validators for the form. Otherwise, just create a new instance.
|
280
|
+
if (!form) {
|
281
|
+
throw "named validator (%@) could not be found for field %@ because the field does not belong to a form".fmt(name,field) ;
|
282
|
+
}
|
283
|
+
|
284
|
+
if (!form._validatorHash) form._validatorHash = {} ;
|
285
|
+
validator = (name) ? form._validatorHash[name] : null ;
|
286
|
+
if (!validator) validator = validatorClass.create() ;
|
287
|
+
if (name) form._validatorHash[name] = validator ;
|
288
|
+
} else validator = validatorClass.create() ;
|
289
|
+
}
|
290
|
+
|
291
|
+
return validator ;
|
292
|
+
},
|
293
|
+
|
294
|
+
/**
|
295
|
+
Convenience class method to call the fieldValueForObject() instance
|
296
|
+
method you define in your subclass.
|
297
|
+
*/
|
298
|
+
fieldValueForObject: function(object, form, field) {
|
299
|
+
return this.prototype.fieldValueForObject(object,form,field) ;
|
300
|
+
},
|
301
|
+
|
302
|
+
/**
|
303
|
+
Convenience class method to call the objectForFieldValue() instance
|
304
|
+
method you define in your subclass.
|
305
|
+
*/
|
306
|
+
objectForFieldValue: function(value, form, field) {
|
307
|
+
return this.prototype.objectForFieldValue(value,form,field) ;
|
308
|
+
}
|
309
|
+
|
310
|
+
}) ;
|
311
|
+
|