sproutcore 1.5.0-java → 1.6.0.beta.2-java
Sign up to get free protection for your applications and to get access to all the features.
- data/.mailmap +32 -0
- data/CHANGELOG +15 -0
- data/Rakefile +18 -0
- data/VERSION.yml +2 -2
- data/bin/sc-build +0 -5
- data/bin/sc-build-number +0 -5
- data/bin/sc-docs +0 -5
- data/bin/sc-gen +0 -5
- data/bin/sc-init +0 -5
- data/bin/sc-manifest +0 -5
- data/bin/sc-server +0 -5
- data/bin/sproutcore +0 -5
- data/lib/frameworks/sproutcore/Buildfile +3 -3
- data/lib/frameworks/sproutcore/CHANGELOG.md +21 -0
- data/lib/frameworks/sproutcore/README.md +77 -7
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +1 -17
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controls/button.js +49 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/collection.js +23 -21
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/checkbox_support.js +36 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/text_field_support.js +126 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/template.js +13 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +16 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +1 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +29 -23
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +8 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +20 -23
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controls/button.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/checkbox_support.js +26 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/text_field_support.js +115 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +55 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +49 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +19 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template_collection.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +38 -41
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/base.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +7 -82
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +12 -5
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/array_observers.js +82 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +17 -0
- data/lib/frameworks/sproutcore/frameworks/debug/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/core.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +33 -30
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +12 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +20 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +10 -10
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +24 -23
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +51 -54
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +29 -29
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/master_detail.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +7 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +31 -31
- data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +35 -29
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +61 -50
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +9 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +6 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/coders/object.js +12 -12
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/designs.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_files.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +7 -9
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +37 -37
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/object.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/page.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/view.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +7 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +49 -42
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/high_light.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/english.lproj/default_styles.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/english.lproj/strings.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/mixins/edit_mode.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/mixins/emptiness.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/render_delegates/form.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/render_delegates/form_row.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_checkbox_field.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_field.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_label.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_radio_field.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_row.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/tests/views/form_text_field.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/views/form.js +13 -14
- data/lib/frameworks/sproutcore/frameworks/{forms → experimental/frameworks/forms}/views/form_row.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +4 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +2 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/system/image_queue.js +8 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +28 -34
- data/lib/frameworks/sproutcore/frameworks/{foundation → routing}/system/routes.js +31 -47
- data/lib/frameworks/sproutcore/frameworks/{foundation → routing}/tests/system/routes.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +15 -21
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array_observers.js +23 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +66 -133
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +68 -139
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +23 -29
- data/lib/frameworks/sproutcore/lib/index.rhtml +5 -2
- data/lib/sproutcore.rb +2 -9
- data/lib/sproutcore/builders/minify.rb +5 -5
- data/lib/sproutcore/helpers/minifier.rb +6 -10
- data/lib/sproutcore/models/target.rb +2 -2
- data/lib/sproutcore/rack/proxy.rb +8 -7
- data/lib/sproutcore/tools.rb +16 -5
- data/spec/lib/builders/html_spec.rb +5 -5
- data/sproutcore.gemspec +11 -5
- data/vendor/chance/lib/chance.rb +4 -2
- data/{lib/sproutcore/vendor → vendor}/jsdoc/README.txt +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Chain.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Dumper.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Hash.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Link.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Namespace.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Opt.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Reflection.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/String.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/frame/Testrun.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/FOODOC.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/DomReader.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/XMLDoc.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/XMLDOC/XMLParse.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/DocComment.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/DocTag.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/JsDoc.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/JsPlate.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Lang.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Parser.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/PluginManager.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Symbol.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/SymbolSet.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TextStream.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Token.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TokenReader.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/TokenStream.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Util.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/lib/JSDOC/Walker.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/main.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/commentSrcJson.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/frameworkPrototype.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/functionCall.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/publishSrcHilite.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/sproutcoreTags.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/symbolLink.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/tagParamConfig.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/plugins/tagSynonyms.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/run.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/t/TestDoc.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/t/runner.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/addon.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/anon_inner.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/augments.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/augments2.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/borrows.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/borrows2.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/config.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/constructs.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/encoding.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/encoding_other.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/functions_anon.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/functions_nested.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/global.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/globals.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/ignore.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/inner.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/jsdoc_test.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/lend.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/memberof.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/memberof_constructor.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/name.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/namespace_nested.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/nocode.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/oblit_anon.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/overview.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/param_inline.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/params_optional.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_nested.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_oblit.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/prototype_oblit_constructor.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/public.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shared.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shared2.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/shortcuts.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/static_this.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/synonyms.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/tosource.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/test/variable_redefine.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/changes.txt +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/conf/sample.conf +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/java/build.xml +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/java/build_1.4.xml +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/java/classes/js.jar +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/java/src/JsDebugRun.java +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/java/src/JsRun.java +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/jsdebug.jar +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/jsrun.jar +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/t/TestDoc.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/t/runner.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/addon.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/anon_inner.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/augments.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/augments2.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/borrows.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/borrows2.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/config.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/constructs.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/encoding.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/encoding_other.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/functions_anon.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/functions_nested.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/global.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/globals.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/ignore.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/inner.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/jsdoc_test.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/lend.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/memberof.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/memberof_constructor.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/name.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/namespace_nested.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/nocode.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/oblit_anon.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/overview.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/param_inline.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/params_optional.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_nested.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_oblit.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/prototype_oblit_constructor.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/public.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shared.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shared2.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/shortcuts.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/static_this.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/synonyms.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/tosource.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/test/variable_redefine.js +0 -0
- data/vendor/sproutcore/{src/SCCompiler/lib/yuicompressor-2.4.4.jar → lib/yuicompressor-2.4.6.jar} +0 -0
- metadata +169 -178
- data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +0 -148
- data/lib/sproutcore/vendor/github_gem_lint.rb +0 -22
- data/vendor/sproutcore/SCCompiler.jar +0 -0
- data/vendor/sproutcore/lib/args4j-2.0.12.jar +0 -0
- data/vendor/sproutcore/lib/yuicompressor-2.4.2.jar +0 -0
- data/vendor/sproutcore/src/SCCompiler/build.xml +0 -74
- data/vendor/sproutcore/src/SCCompiler/lib/args4j-2.0.12.jar +0 -0
- data/vendor/sproutcore/src/SCCompiler/lib/htmlcompressor-0.9.3.jar +0 -0
- data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.2.jar +0 -0
- data/vendor/sproutcore/src/SCCompiler/manifest.mf +0 -3
- data/vendor/sproutcore/src/SCCompiler/nbproject/build-impl.xml +0 -894
- data/vendor/sproutcore/src/SCCompiler/nbproject/genfiles.properties +0 -8
- data/vendor/sproutcore/src/SCCompiler/nbproject/private/config.properties +0 -0
- data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.properties +0 -10
- data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.xml +0 -4
- data/vendor/sproutcore/src/SCCompiler/nbproject/project.properties +0 -90
- data/vendor/sproutcore/src/SCCompiler/nbproject/project.xml +0 -15
- data/vendor/sproutcore/src/SCCompiler/src/com/sproutcore/Main.java +0 -348
@@ -18,15 +18,15 @@ sc_require('controllers/controller') ;
|
|
18
18
|
object controller one time for all of your views and then swap out the
|
19
19
|
content as needed.
|
20
20
|
|
21
|
-
|
21
|
+
## Working with Arrays
|
22
22
|
|
23
23
|
An ObjectController can accept both arrays and single objects as content.
|
24
24
|
If the content is an array, the ObjectController will do its best to treat
|
25
25
|
the array as a single object. For example, if you set the content of an
|
26
26
|
ObjectController to an array of Contact records and then call:
|
27
27
|
|
28
|
-
|
29
|
-
|
28
|
+
contactController.get('name');
|
29
|
+
|
30
30
|
The controller will check the name property of each Contact in the array.
|
31
31
|
If the value of the property for each Contact is the same, that value will
|
32
32
|
be returned. If the any values are different, then an array will be
|
@@ -41,7 +41,7 @@ sc_require('controllers/controller') ;
|
|
41
41
|
setup your bindings so that they will convert the content to a single object
|
42
42
|
like so:
|
43
43
|
|
44
|
-
|
44
|
+
contentBinding: SC.Binding.single('MyApp.listController.selection') ;
|
45
45
|
|
46
46
|
This will ensure that your content property is always a single object
|
47
47
|
instead of an array.
|
@@ -0,0 +1,49 @@
|
|
1
|
+
sc_require('views/template');
|
2
|
+
|
3
|
+
SC.Button = SC.TemplateView.extend({
|
4
|
+
classNames: ['sc-button'],
|
5
|
+
|
6
|
+
// Setting isActive to true will trigger the classBinding and add
|
7
|
+
// 'is-active' to our layer's class names.
|
8
|
+
mouseDown: function() {
|
9
|
+
this.set('isActive', true);
|
10
|
+
this._isMouseDown = YES;
|
11
|
+
},
|
12
|
+
|
13
|
+
mouseExited: function() {
|
14
|
+
this.set('isActive', false);
|
15
|
+
},
|
16
|
+
|
17
|
+
mouseEntered: function() {
|
18
|
+
if (this._isMouseDown) {
|
19
|
+
this.set('isActive', true);
|
20
|
+
}
|
21
|
+
},
|
22
|
+
|
23
|
+
// Setting isActive to false will remove 'is-active' from our
|
24
|
+
// layer's class names.
|
25
|
+
mouseUp: function(event) {
|
26
|
+
if (this.get('isActive')) {
|
27
|
+
var action = this.get('action'),
|
28
|
+
target = this.get('target') || null,
|
29
|
+
rootResponder = this.getPath('pane.rootResponder');
|
30
|
+
|
31
|
+
if (action && rootResponder) {
|
32
|
+
rootResponder.sendAction(action, target, this, this.get('pane'), null, this);
|
33
|
+
}
|
34
|
+
|
35
|
+
this.set('isActive', false);
|
36
|
+
}
|
37
|
+
|
38
|
+
this._isMouseDown = NO;
|
39
|
+
},
|
40
|
+
|
41
|
+
touchStart: function(touch) {
|
42
|
+
this.mouseDown(touch);
|
43
|
+
},
|
44
|
+
|
45
|
+
touchEnd: function(touch) {
|
46
|
+
this.mouseUp(touch);
|
47
|
+
}
|
48
|
+
});
|
49
|
+
|
@@ -1,9 +1,12 @@
|
|
1
|
+
/*globals Handlebars */
|
2
|
+
|
1
3
|
sc_require('ext/handlebars');
|
2
4
|
|
3
5
|
Handlebars.registerHelper('collection', function(path, options) {
|
4
6
|
var fn = options.fn;
|
5
7
|
var data = options.data;
|
6
8
|
var inverse = options.inverse;
|
9
|
+
var hash = options.hash;
|
7
10
|
var collectionClass, collectionObject;
|
8
11
|
|
9
12
|
collectionClass = path ? SC.objectForPropertyPath(path) : SC.TemplateCollectionView;
|
@@ -13,34 +16,33 @@ Handlebars.registerHelper('collection', function(path, options) {
|
|
13
16
|
}
|
14
17
|
//@ endif
|
15
18
|
|
16
|
-
var
|
19
|
+
var extensions = {};
|
20
|
+
|
21
|
+
if (hash) {
|
22
|
+
var itemHash = {}, match;
|
17
23
|
|
18
|
-
|
19
|
-
|
20
|
-
|
24
|
+
for (var prop in hash) {
|
25
|
+
if (hash.hasOwnProperty(prop)) {
|
26
|
+
match = prop.match(/^item(.)(.*)$/);
|
21
27
|
|
22
|
-
|
23
|
-
|
24
|
-
|
28
|
+
if(match) {
|
29
|
+
itemHash[match[1].toLowerCase() + match[2]] = hash[prop];
|
30
|
+
delete hash[prop];
|
31
|
+
}
|
25
32
|
}
|
26
33
|
}
|
27
|
-
}
|
28
34
|
|
29
|
-
|
30
|
-
|
35
|
+
extensions = SC.clone(hash);
|
36
|
+
extensions.itemViewOptions = itemHash;
|
37
|
+
}
|
31
38
|
|
32
|
-
|
33
|
-
|
34
|
-
inverseTemplate: inverse,
|
35
|
-
itemViewOptions: itemHash
|
36
|
-
});
|
39
|
+
if (fn) { extensions.itemViewTemplate = fn; }
|
40
|
+
if (inverse) { extensions.inverseTemplate = inverse; }
|
37
41
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
collectionObject = collectionClass;
|
43
|
-
}
|
42
|
+
if(collectionClass.isClass) {
|
43
|
+
collectionObject = collectionClass.extend(extensions);
|
44
|
+
} else {
|
45
|
+
collectionObject = SC.mixin(collectionClass, extensions);
|
44
46
|
}
|
45
47
|
|
46
48
|
options.fn = function() { return ""; };
|
@@ -18,7 +18,7 @@
|
|
18
18
|
The methods provided by this mixin make it easier to implement this pattern
|
19
19
|
but they are not required to support delegates.
|
20
20
|
|
21
|
-
|
21
|
+
## The Pattern
|
22
22
|
|
23
23
|
The delegate design pattern typically means that you provide a property,
|
24
24
|
usually ending in "delegate", that can be set to another object in the
|
@@ -4,9 +4,44 @@
|
|
4
4
|
// ©2008-2011 Apple Inc. All rights reserved.
|
5
5
|
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
|
+
|
8
|
+
sc_require('views/template');
|
9
|
+
|
7
10
|
/** @class */
|
8
11
|
|
9
|
-
SC.
|
12
|
+
SC.Checkbox = SC.TemplateView.extend(
|
13
|
+
/** @scope SC.Checkbox.prototype */ {
|
14
|
+
|
15
|
+
title: null,
|
16
|
+
value: null,
|
17
|
+
|
18
|
+
classNames: ['sc-checkbox'],
|
19
|
+
template: SC.Handlebars.compile('<label><input type="checkbox">{{title}}</label>'),
|
20
|
+
|
21
|
+
didCreateLayer: function() {
|
22
|
+
var self = this;
|
23
|
+
|
24
|
+
this.$('input').bind('change', function() {
|
25
|
+
self.domValueDidChange(this);
|
26
|
+
});
|
27
|
+
},
|
28
|
+
|
29
|
+
domValueDidChange: function(node) {
|
30
|
+
this.set('value', !!$(node).attr('checked'));
|
31
|
+
},
|
32
|
+
|
33
|
+
value: function(key, value) {
|
34
|
+
if (value !== undefined) {
|
35
|
+
this.$('input').attr('checked', value);
|
36
|
+
} else {
|
37
|
+
value = this.$('input').attr('checked');
|
38
|
+
}
|
39
|
+
|
40
|
+
return value;
|
41
|
+
}.property()
|
42
|
+
});
|
43
|
+
|
44
|
+
SC.CheckboxSupport = /** @scope SC.CheckboxSupport */{
|
10
45
|
didCreateLayer: function() {
|
11
46
|
this.$('input').change(jQuery.proxy(function() {
|
12
47
|
SC.RunLoop.begin();
|
@@ -4,23 +4,142 @@
|
|
4
4
|
// ©2008-2011 Apple Inc. All rights reserved.
|
5
5
|
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
|
-
/** @class
|
8
7
|
|
9
|
-
|
10
|
-
|
8
|
+
sc_require('views/template');
|
9
|
+
|
10
|
+
/** @class */
|
11
|
+
|
12
|
+
SC.TextField = SC.TemplateView.extend(
|
13
|
+
/** @scope SC.TextField.prototype */ {
|
14
|
+
|
15
|
+
classNames: ['sc-text-field'],
|
16
|
+
|
17
|
+
// we can't use bindAttr because of a race condition:
|
18
|
+
//
|
19
|
+
// when `value` is set, the bindAttr observer immediately calls
|
20
|
+
// `get` in order to persist it to the DOM, but because we made
|
21
|
+
// the `value` property idempotent, when it gets called by
|
22
|
+
// bindAttr, it fetches the not-yet-updated value from the DOM
|
23
|
+
// and returns it.
|
24
|
+
//
|
25
|
+
// In short, because we need to be able to catch changes to the
|
26
|
+
// DOM made directly, we cannot also rely on bindAttr to update
|
27
|
+
// the property: a chicken-and-egg problem.
|
28
|
+
template: SC.Handlebars.compile('<input type="text">'),
|
29
|
+
|
30
|
+
didCreateLayer: function() {
|
31
|
+
var self = this;
|
32
|
+
|
33
|
+
var input = this.$('input');
|
34
|
+
input.val(this._value);
|
35
|
+
|
36
|
+
SC.Event.add(input, 'focus', this, this.focusIn);
|
37
|
+
SC.Event.add(input, 'blur', this, this.focusOut);
|
38
|
+
|
39
|
+
this.$('input').bind('change', function() {
|
40
|
+
self.domValueDidChange(SC.$(this));
|
41
|
+
});
|
42
|
+
},
|
43
|
+
|
44
|
+
/**
|
45
|
+
The problem this property is trying to solve is twofold:
|
46
|
+
|
47
|
+
1. Make it possible to set the value of a text field that has
|
48
|
+
not yet been inserted into the DOM
|
49
|
+
2. Make sure that `value` properly reflects changes made directly
|
50
|
+
to the element's `value` property.
|
51
|
+
|
52
|
+
In order to achieve (2), we need to make the property volatile,
|
53
|
+
so that SproutCore will call the getter no matter what if get()
|
54
|
+
is called.
|
55
|
+
|
56
|
+
In order to achieve (1), we need to store a local cache of the
|
57
|
+
value, so that SproutCore can set the proper value as soon as
|
58
|
+
the underlying DOM element is created.
|
59
|
+
*/
|
60
|
+
value: function(key, value) {
|
61
|
+
var input = this.$('input');
|
62
|
+
|
63
|
+
if (value !== undefined) {
|
64
|
+
this._value = value;
|
65
|
+
input.val(value);
|
66
|
+
} else if (input.length) {
|
67
|
+
if(window.billy) { debugger; }
|
68
|
+
this._value = value = input.val();
|
69
|
+
} else {
|
70
|
+
if(window.billy) { debugger; }
|
71
|
+
value = this._value;
|
72
|
+
}
|
73
|
+
|
74
|
+
return value;
|
75
|
+
}.property().idempotent(),
|
76
|
+
|
77
|
+
domValueDidChange: function(jquery) {
|
78
|
+
this.set('value', jquery.val());
|
79
|
+
},
|
80
|
+
|
81
|
+
focusIn: function(event) {
|
82
|
+
this.becomeFirstResponder();
|
83
|
+
this.tryToPerform('focus', event);
|
84
|
+
},
|
85
|
+
|
86
|
+
focusOut: function(event) {
|
87
|
+
this.resignFirstResponder();
|
88
|
+
this.tryToPerform('blur', event);
|
89
|
+
},
|
90
|
+
|
91
|
+
willLoseFirstResponder: function() {
|
92
|
+
this.notifyPropertyChange('value');
|
93
|
+
},
|
94
|
+
|
95
|
+
keyUp: function(evt) {
|
96
|
+
this.domValueDidChange(this.$('input'));
|
97
|
+
|
98
|
+
if (evt.keyCode === 13) {
|
99
|
+
return this.insertNewline(evt);
|
100
|
+
} else if (evt.keyCode === 27) {
|
101
|
+
return this.cancel(evt);
|
102
|
+
}
|
103
|
+
|
104
|
+
return true;
|
105
|
+
}
|
106
|
+
});
|
107
|
+
|
108
|
+
SC.TextFieldSupport = /** @scope SC.TextFieldSupport */{
|
109
|
+
|
110
|
+
/** @private
|
111
|
+
Used internally to store value because the layer may not exist
|
112
|
+
*/
|
113
|
+
_value: null,
|
114
|
+
|
115
|
+
/**
|
116
|
+
@type String
|
117
|
+
@default null
|
118
|
+
*/
|
11
119
|
value: function(key, value) {
|
120
|
+
var input = this.$('input');
|
121
|
+
|
12
122
|
if (value !== undefined) {
|
13
|
-
this
|
123
|
+
this._value = value;
|
124
|
+
input.val(value);
|
14
125
|
} else {
|
15
|
-
|
126
|
+
if (input.length > 0) {
|
127
|
+
value = this._value = input.val();
|
128
|
+
} else {
|
129
|
+
value = this._value;
|
130
|
+
}
|
16
131
|
}
|
17
132
|
|
18
133
|
return value;
|
19
134
|
}.property().idempotent(),
|
20
135
|
|
21
136
|
didCreateLayer: function() {
|
22
|
-
|
23
|
-
|
137
|
+
var input = this.$('input');
|
138
|
+
|
139
|
+
input.val(this._value);
|
140
|
+
|
141
|
+
SC.Event.add(input, 'focus', this, this.focusIn);
|
142
|
+
SC.Event.add(input, 'blur', this, this.focusOut);
|
24
143
|
},
|
25
144
|
|
26
145
|
focusIn: function(event) {
|
@@ -24,7 +24,7 @@ SC.MIXED_STATE = '__MIXED__' ;
|
|
24
24
|
Usually you will not work directly with the SC.Pane class, but with one of
|
25
25
|
its subclasses such as SC.MainPane, SC.Panel, or SC.PopupPane.
|
26
26
|
|
27
|
-
|
27
|
+
## Showing a Pane
|
28
28
|
|
29
29
|
To make a pane visible, you need to add it to your HTML document. The
|
30
30
|
simplest way to do this is to call the append() method:
|
@@ -47,7 +47,7 @@ SC.MIXED_STATE = '__MIXED__' ;
|
|
47
47
|
resize with the window if needed, relaying resize notifications to children
|
48
48
|
as well.
|
49
49
|
|
50
|
-
|
50
|
+
## Hiding a Pane
|
51
51
|
|
52
52
|
When you are finished with a pane, you can hide the pane by calling the
|
53
53
|
remove() method. This method will actually remove the Pane from the
|
@@ -61,7 +61,7 @@ SC.MIXED_STATE = '__MIXED__' ;
|
|
61
61
|
You can readd a pane to the document again any time in the future by using
|
62
62
|
any of the insertion methods defined in the previous section.
|
63
63
|
|
64
|
-
|
64
|
+
## Receiving Events
|
65
65
|
|
66
66
|
Your pane and its child views will automatically receive any mouse or touch
|
67
67
|
events as long as it is on the screen. To receive keyboard events, however,
|
@@ -16,7 +16,19 @@
|
|
16
16
|
})
|
17
17
|
}
|
18
18
|
*/
|
19
|
-
SC.TemplatePane = SC.Object.extend({
|
19
|
+
SC.TemplatePane = SC.Object.extend({
|
20
|
+
touchStart: function(touch) {
|
21
|
+
touch.allowDefault();
|
22
|
+
},
|
23
|
+
|
24
|
+
touchesDragged: function(evt, touches) {
|
25
|
+
evt.allowDefault();
|
26
|
+
},
|
27
|
+
|
28
|
+
touchEnd: function(touch) {
|
29
|
+
touch.allowDefault();
|
30
|
+
}
|
31
|
+
});
|
20
32
|
|
21
33
|
SC.mixin(SC.TemplatePane, {
|
22
34
|
append: function(attrs) {
|
@@ -19,11 +19,11 @@ SC.NO_ORIENTATION = 'desktop'; // value 'desktop' for backwards compatibility
|
|
19
19
|
orientation and if the device is offline, as well as observe when they change
|
20
20
|
state.
|
21
21
|
|
22
|
-
|
22
|
+
## Orientation
|
23
23
|
When a touch device changes orientation, the orientation property will be
|
24
24
|
set accordingly which you can observe
|
25
25
|
|
26
|
-
|
26
|
+
## Offline support
|
27
27
|
In order to build a good offline-capable web application, you need to know
|
28
28
|
when your app has gone offline so you can for instance queue your server
|
29
29
|
requests for a later time or provide a specific UI/message.
|
@@ -195,10 +195,10 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
|
|
195
195
|
relevant event occurs on the named element. This method supports a
|
196
196
|
variety of handler types, depending on the kind of support you need.
|
197
197
|
|
198
|
-
|
198
|
+
## Simple Function Handlers
|
199
|
+
|
200
|
+
SC.Event.add(anElement, "click", myClickHandler) ;
|
199
201
|
|
200
|
-
SC.Event.add(anElement, "click", myClickHandler) ;
|
201
|
-
|
202
202
|
The most basic type of handler you can pass is a function. This function
|
203
203
|
will be executed everytime an event of the type you specify occurs on the
|
204
204
|
named element. You can optionally pass an additional context object which
|
@@ -209,24 +209,24 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
|
|
209
209
|
|
210
210
|
The click handler for this method must have a method signature like:
|
211
211
|
|
212
|
-
|
213
|
-
|
214
|
-
h2. Method Invocations
|
212
|
+
function(event) { return YES|NO; }
|
215
213
|
|
216
|
-
|
217
|
-
|
214
|
+
## Method Invocations
|
215
|
+
|
216
|
+
SC.Event.add(anElement, "click", myObject, myObject.aMethod) ;
|
217
|
+
|
218
218
|
Optionally you can specify a target object and a method on the object to
|
219
219
|
be invoked when the event occurs. This will invoke the method function
|
220
220
|
with the target object you pass as "this". The method should have a
|
221
221
|
signature like:
|
222
222
|
|
223
|
-
|
224
|
-
|
223
|
+
function(event, targetElement) { return YES|NO; }
|
224
|
+
|
225
225
|
Like function handlers, you can pass an additional context data paramater
|
226
226
|
that will be included on the event in the event.data property.
|
227
|
-
|
228
|
-
h2. Handler Return Values
|
229
227
|
|
228
|
+
## Handler Return Values
|
229
|
+
|
230
230
|
Both handler functions should return YES if you want the event to
|
231
231
|
continue to propagate and NO if you want it to stop. Returning NO will
|
232
232
|
both stop bubbling of the event and will prevent any default action
|
@@ -234,7 +234,7 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
|
|
234
234
|
by calling the stopPropagation() or preventDefault() methods on the event
|
235
235
|
itself, returning YES from your method.
|
236
236
|
|
237
|
-
|
237
|
+
## Limitations
|
238
238
|
|
239
239
|
Although SproutCore's event implementation is based on jQuery, it is
|
240
240
|
much simpler in design. Notably, it does not support namespaced events
|
@@ -315,7 +315,7 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
|
|
315
315
|
and element, then all handlers for all events on that element will be
|
316
316
|
removed.
|
317
317
|
|
318
|
-
|
318
|
+
## Limitations
|
319
319
|
|
320
320
|
Although SproutCore's event implementation is based on jQuery, it is
|
321
321
|
much simpler in design. Notably, it does not support namespaced events
|
@@ -523,8 +523,8 @@ SC.mixin(SC.Event, /** @scope SC.Event */ {
|
|
523
523
|
be the element the event occurred on, so you should always call this
|
524
524
|
method like:
|
525
525
|
|
526
|
-
|
527
|
-
|
526
|
+
SC.Event.handle.call(element, event) ;
|
527
|
+
|
528
528
|
Note that like other parts of this library, the handle function does not
|
529
529
|
support namespaces.
|
530
530
|
|