sproutcore 1.5.0 → 1.6.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.mailmap +32 -0
- data/CHANGELOG +8 -1
- data/Rakefile +16 -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 +13 -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/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/panes/pane.js +3 -3
- 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/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_collection.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +38 -41
- 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/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/lib/sproutcore.rb +2 -9
- 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/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/frame.js +0 -0
- data/{lib/sproutcore/vendor → vendor}/jsdoc/app/handlers/FOODOC.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/handlers/XMLDOC.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/lib/JSDOC.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/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/app/test.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/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/{lib/sproutcore/vendor → vendor}/jsdoc/test.js +0 -0
- data/vendor/sproutcore/{src/SCCompiler/lib/yuicompressor-2.4.4.jar → lib/yuicompressor-2.4.6.jar} +0 -0
- metadata +176 -202
- 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
@@ -1293,29 +1293,14 @@ SC.Query.mixin( /** @scope SC.Query */ {
|
|
1293
1293
|
orderStoreKeys: function(storeKeys, query, store) {
|
1294
1294
|
// apply the sort if there is one
|
1295
1295
|
if (storeKeys) {
|
1296
|
-
|
1297
|
-
|
1298
|
-
|
1299
|
-
// We'll use a stack-based approach in case our sort routine ends up
|
1300
|
-
// calling code that triggers a recursive invocation of orderStoreKeys.
|
1301
|
-
var K = SC.Query,
|
1302
|
-
tempStores = K._TMP_STORES,
|
1303
|
-
tempQueries = K._TMP_QUERIES;
|
1304
|
-
if (!tempStores) tempStores = K._TMP_STORES = [];
|
1305
|
-
if (!tempQueries) tempQueries = K._TMP_QUERIES = [];
|
1306
|
-
|
1307
|
-
tempStores.push(store);
|
1308
|
-
tempQueries.push(query);
|
1309
|
-
|
1310
|
-
var res = storeKeys.sort(SC.Query.compareStoreKeys);
|
1311
|
-
|
1312
|
-
K._TMP_STORES.pop();
|
1313
|
-
K._TMP_QUERIES.pop();
|
1296
|
+
var res = storeKeys.sort(function(a, b) {
|
1297
|
+
return SC.Query.compareStoreKeys(query, store, a, b);
|
1298
|
+
});
|
1314
1299
|
}
|
1315
1300
|
|
1316
1301
|
return storeKeys;
|
1317
1302
|
},
|
1318
|
-
|
1303
|
+
|
1319
1304
|
/**
|
1320
1305
|
Default sort method that is used when calling `containsStoreKeys()`
|
1321
1306
|
or `containsRecords()` on this query. Simply materializes two records
|
@@ -1325,71 +1310,11 @@ SC.Query.mixin( /** @scope SC.Query */ {
|
|
1325
1310
|
@param {Number} storeKey2 a store key
|
1326
1311
|
@returns {Number} -1 if record1 < record2, +1 if record1 > record2, 0 if equal
|
1327
1312
|
*/
|
1328
|
-
compareStoreKeys: function(storeKey1, storeKey2) {
|
1329
|
-
var
|
1330
|
-
tempStores = K._TMP_STORES,
|
1331
|
-
tempQueries = K._TMP_QUERIES,
|
1332
|
-
store = tempStores[tempStores.length - 1],
|
1333
|
-
query = tempQueries[tempQueries.length - 1],
|
1334
|
-
compareFunc = query.compare,
|
1335
|
-
record1 = store.materializeRecord(storeKey1),
|
1313
|
+
compareStoreKeys: function(query, store, storeKey1, storeKey2) {
|
1314
|
+
var record1 = store.materializeRecord(storeKey1),
|
1336
1315
|
record2 = store.materializeRecord(storeKey2);
|
1337
1316
|
|
1338
|
-
|
1339
|
-
// Otherwise, we have the logic from the standard version inlined here.
|
1340
|
-
if (compareFunc !== K.prototype.compare) {
|
1341
|
-
return compareFunc.call(query, record1, record2);
|
1342
|
-
}
|
1343
|
-
else {
|
1344
|
-
// THIS CODE IS THE SAME AS THE 'compare' METHOD, EXCEPT THAT 'this' HAS
|
1345
|
-
// BEEN CHANGED TO 'query'.
|
1346
|
-
//
|
1347
|
-
// It is inlined here to avoid the extra method invocation in the
|
1348
|
-
// typical case where the client does not supply a custom 'compare'
|
1349
|
-
// function.
|
1350
|
-
|
1351
|
-
var result = 0,
|
1352
|
-
propertyName, order, len, i;
|
1353
|
-
|
1354
|
-
// fast cases go here
|
1355
|
-
if (record1 === record2) return 0;
|
1356
|
-
|
1357
|
-
// if called for the first time we have to build the order array
|
1358
|
-
if (!query._isReady) query.parse();
|
1359
|
-
if (!query._isReady) { // can't parse. guid is wrong but consistent
|
1360
|
-
return SC.compare(record1.get('id'),record2.get('id'));
|
1361
|
-
}
|
1362
|
-
|
1363
|
-
// For every property specified in orderBy until non-eql result is found.
|
1364
|
-
// Or, if orderBy is a comparison function, simply invoke it with the
|
1365
|
-
// records.
|
1366
|
-
order = query._order;
|
1367
|
-
if (SC.typeOf(order) === SC.T_FUNCTION) {
|
1368
|
-
result = order.call(null, record1, record2);
|
1369
|
-
}
|
1370
|
-
else {
|
1371
|
-
len = order ? order.length : 0;
|
1372
|
-
for (i=0; result===0 && (i < len); i++) {
|
1373
|
-
propertyName = order[i].propertyName;
|
1374
|
-
// if query property has a registered comparison use that
|
1375
|
-
if (SC.Query.comparisons[propertyName]) {
|
1376
|
-
result = SC.Query.comparisons[propertyName](
|
1377
|
-
record1.get(propertyName),record2.get(propertyName));
|
1378
|
-
|
1379
|
-
// if not use default SC.compare()
|
1380
|
-
} else {
|
1381
|
-
result = SC.compare(
|
1382
|
-
record1.get(propertyName), record2.get(propertyName) );
|
1383
|
-
}
|
1384
|
-
|
1385
|
-
if ((result!==0) && order[i].descending) result = (-1) * result;
|
1386
|
-
}
|
1387
|
-
}
|
1388
|
-
|
1389
|
-
// return result or compare by guid
|
1390
|
-
if (result !== 0) return result ;
|
1391
|
-
else return SC.compare(record1.get('id'),record2.get('id'));
|
1392
|
-
}
|
1317
|
+
return query.compare(record1, record2);
|
1393
1318
|
},
|
1394
1319
|
|
1395
1320
|
/**
|
@@ -438,13 +438,10 @@ SC.RecordArray = SC.Object.extend(SC.Enumerable, SC.Array,
|
|
438
438
|
|
439
439
|
this.set('needsFlush', YES);
|
440
440
|
|
441
|
-
// if we have storeKeys already, then flush immediately because
|
442
|
-
// it will not be as expensive as if we are starting from scratch
|
443
441
|
if (this.get('storeKeys')) {
|
444
442
|
this.flush();
|
445
|
-
}
|
446
|
-
|
447
|
-
this.enumerableContentDidChange();
|
443
|
+
} else {
|
444
|
+
this.arrayContentDidChange();
|
448
445
|
}
|
449
446
|
|
450
447
|
return this;
|
@@ -712,6 +709,16 @@ SC.RecordArray = SC.Object.extend(SC.Enumerable, SC.Array,
|
|
712
709
|
|
713
710
|
}.observes('storeKeys'),
|
714
711
|
|
712
|
+
/** @private
|
713
|
+
If anyone adds an array observer on to the record array, make sure
|
714
|
+
we flush so that the observers don't fire the first time length is
|
715
|
+
calculated.
|
716
|
+
*/
|
717
|
+
addArrayObservers: function() {
|
718
|
+
this.flush();
|
719
|
+
return SC.Array.addArrayObservers.apply(this, arguments);
|
720
|
+
},
|
721
|
+
|
715
722
|
/** @private
|
716
723
|
Invoked whenever the content of the `storeKeys` array changes. This will
|
717
724
|
dump any cached record lookup and then notify that the enumerable content
|
@@ -1406,7 +1406,7 @@ SC.Store = SC.Object.extend( /** @scope SC.Store.prototype */ {
|
|
1406
1406
|
},
|
1407
1407
|
|
1408
1408
|
/**
|
1409
|
-
function that
|
1409
|
+
function that propagates a function call to all children
|
1410
1410
|
*/
|
1411
1411
|
_propagateToChildren: function(storeKey, func){
|
1412
1412
|
// Handle all the child Records
|
data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/array_observers.js
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
(function(root) {
|
2
|
+
var store;
|
3
|
+
var query;
|
4
|
+
var recordArray;
|
5
|
+
|
6
|
+
module("SC.RecordArray - implements array content observers", {
|
7
|
+
setup: function() {
|
8
|
+
},
|
9
|
+
|
10
|
+
teardown: function() {
|
11
|
+
root.MyRecord = undefined;
|
12
|
+
}
|
13
|
+
});
|
14
|
+
|
15
|
+
test("notifies when a record is added to the store that matches a query", function() {
|
16
|
+
var callCount = 0,
|
17
|
+
lastRemovedCount = 0,
|
18
|
+
lastAddedCount = 0;
|
19
|
+
|
20
|
+
SC.run(function() {
|
21
|
+
store = SC.Store.create();
|
22
|
+
root.MyRecord = SC.Record.extend();
|
23
|
+
query = SC.Query.local(MyRecord);
|
24
|
+
|
25
|
+
recordArray = store.find(query);
|
26
|
+
|
27
|
+
recordArray.addArrayObservers({
|
28
|
+
didChange: function(start, removedCount, addedCount) {
|
29
|
+
lastRemovedCount = removedCount;
|
30
|
+
lastAddedCount = addedCount;
|
31
|
+
},
|
32
|
+
|
33
|
+
willChange: function() {}
|
34
|
+
});
|
35
|
+
|
36
|
+
store.createRecord(MyRecord, {});
|
37
|
+
});
|
38
|
+
|
39
|
+
equals(lastAddedCount, 1);
|
40
|
+
equals(lastRemovedCount, 0);
|
41
|
+
equals(recordArray.get('length'), 1);
|
42
|
+
});
|
43
|
+
|
44
|
+
test("notifies when a record is removed from the store that matches a query", function() {
|
45
|
+
var lastRemovedCount = 0,
|
46
|
+
lastAddedCount = 0;
|
47
|
+
|
48
|
+
var record;
|
49
|
+
|
50
|
+
SC.run(function() {
|
51
|
+
store = SC.Store.create();
|
52
|
+
root.MyRecord = SC.Record.extend();
|
53
|
+
query = SC.Query.local(MyRecord);
|
54
|
+
|
55
|
+
recordArray = store.find(query);
|
56
|
+
|
57
|
+
recordArray.addArrayObservers({
|
58
|
+
didChange: function(start, removedCount, addedCount) {
|
59
|
+
lastRemovedCount = removedCount;
|
60
|
+
lastAddedCount = addedCount;
|
61
|
+
},
|
62
|
+
|
63
|
+
willChange: function() {}
|
64
|
+
});
|
65
|
+
|
66
|
+
record = store.createRecord(MyRecord, {
|
67
|
+
guid: 1
|
68
|
+
});
|
69
|
+
});
|
70
|
+
|
71
|
+
equals(lastAddedCount, 1);
|
72
|
+
equals(lastRemovedCount, 0);
|
73
|
+
|
74
|
+
SC.run(function() {
|
75
|
+
record.destroy();
|
76
|
+
});
|
77
|
+
|
78
|
+
equals(lastAddedCount, 0);
|
79
|
+
equals(lastRemovedCount, 1);
|
80
|
+
equals(recordArray.get('length'), 0);
|
81
|
+
});
|
82
|
+
})(this);
|
@@ -165,6 +165,23 @@ test("calling storeDidChangeStoreKeys() with a matching recordType should not un
|
|
165
165
|
equals(fooRecsController.get('bigCost'), NO, 'fooRecsController should not have spent big cost');
|
166
166
|
});
|
167
167
|
|
168
|
+
test("adding an array observer to a SC.RecordArray should cause the array to flush", function() {
|
169
|
+
var callCount = 0;
|
170
|
+
debugger;
|
171
|
+
|
172
|
+
recs.addArrayObservers({
|
173
|
+
didChange: function() {
|
174
|
+
callCount++;
|
175
|
+
},
|
176
|
+
|
177
|
+
willChange: function() { }
|
178
|
+
});
|
179
|
+
|
180
|
+
recs.get('length');
|
181
|
+
|
182
|
+
equals(callCount, 0, "does not cause array observers to be fired when getting length");
|
183
|
+
});
|
184
|
+
|
168
185
|
|
169
186
|
// ..........................................................
|
170
187
|
// SPECIAL CASES
|
@@ -19,7 +19,7 @@ SC.mapDisplayNames = function(obj, level, path, seenHash, seenArray) {
|
|
19
19
|
// Lazily instantiate the hash of types we'll use a hash for the "have we
|
20
20
|
// seen this before?" structure. (Some types are not safe to put in a hash
|
21
21
|
// in this manner, so we'll use the hash for its algorithmic advantage when
|
22
|
-
// possible, but fall back to an array using indexOf() when necessary.)
|
22
|
+
// possible, but fall back to an array using `indexOf()` when necessary.)
|
23
23
|
if (!SC._mapDisplayNamesUseHashForSeenTypesHash) {
|
24
24
|
var types = SC._mapDisplayNamesUseHashForSeenTypes ;
|
25
25
|
var typesHash = {} ;
|
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
// When in debug mode, it’s useful for our observer sets (which are used by
|
9
9
|
// invokeOnce and invokeLast) to record which code scheduled the
|
10
|
-
// invokeOnce
|
10
|
+
// `invokeOnce`/`invokeLast` targets/methods.
|
11
11
|
|
12
12
|
window.SC = window.SC || {};
|
13
13
|
|
@@ -7,10 +7,10 @@
|
|
7
7
|
|
8
8
|
|
9
9
|
/**
|
10
|
-
If set to NO
|
10
|
+
If set to `NO`, then pressing backspace will NOT navigate to the previous
|
11
11
|
page in the browser history, which is the default behavior in most browsers.
|
12
12
|
|
13
|
-
Usually it is best to leave this property set to NO in order to
|
13
|
+
Usually it is best to leave this property set to `NO` in order to prevent the
|
14
14
|
user from inadvertantly losing data by pressing the backspace key.
|
15
15
|
|
16
16
|
@static
|
@@ -1,9 +1,8 @@
|
|
1
1
|
/* @override http://localhost:4020/static/sproutcore/en/desktop/_cache/sc.theme/1228020574/slider.css */
|
2
2
|
|
3
3
|
/* @group SC.SliderView */
|
4
|
-
|
5
4
|
.sc-slider-view {
|
6
|
-
|
5
|
+
height: 21px;
|
7
6
|
}
|
8
7
|
|
9
8
|
.blur .sc-slider-view,
|
@@ -14,46 +13,50 @@
|
|
14
13
|
}
|
15
14
|
|
16
15
|
/* sc-inner is the slider bar */
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
16
|
+
.sc-slider-view .track {
|
17
|
+
position: absolute;
|
18
|
+
left: 8px;
|
19
|
+
right: 8px;
|
20
|
+
height: 5px;
|
21
|
+
top: 6px;
|
22
|
+
background: gray;
|
23
|
+
-webkit-border-radius: 3px;
|
24
|
+
-moz-border-radius: 3px;
|
25
|
+
border-radius: 3px;
|
26
|
+
}
|
27
|
+
.sc-slider-view .track .middle {
|
28
|
+
|
27
29
|
}
|
28
30
|
|
29
|
-
.sc-slider-view .
|
30
|
-
.sc-slider-view .
|
31
|
+
.sc-slider-view .track .left,
|
32
|
+
.sc-slider-view .track .right {
|
31
33
|
display: none;
|
32
34
|
}
|
33
35
|
|
34
|
-
.blur .sc-slider-view .
|
35
|
-
.focus .sc-slider-view.disabled .
|
36
|
-
|
36
|
+
.blur .sc-slider-view .track,
|
37
|
+
.focus .sc-slider-view.disabled .track {
|
38
|
+
border: 1px #ccc solid;
|
37
39
|
}
|
38
40
|
|
39
|
-
.focus .sc-slider-view .
|
40
|
-
|
41
|
+
.focus .sc-slider-view .track {
|
42
|
+
border: 1px #999 solid;
|
41
43
|
}
|
42
44
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
45
|
+
.sc-slider-view .sc-handle {
|
46
|
+
height: 12px;
|
47
|
+
width: 12px;
|
48
|
+
margin-left: -9px;
|
49
|
+
top: -4px;
|
50
|
+
position: absolute;
|
51
|
+
background: black;
|
52
|
+
border-radius: 6px;
|
53
|
+
-moz-border-radius: 6px;
|
54
|
+
-webkit-transform: translate3d(0, 0, 0);
|
55
|
+
-webkit-transition: left 0.01s ease-in-out;
|
54
56
|
}
|
55
57
|
|
56
58
|
.focus .sc-slider-view .sc-handle {
|
59
|
+
|
57
60
|
}
|
58
61
|
|
59
62
|
.blur .sc-slider-view .sc-handle,
|
@@ -17,8 +17,8 @@ SC.BORDER_NONE = null ;
|
|
17
17
|
@namespace
|
18
18
|
@deprecated
|
19
19
|
|
20
|
-
The SC.Border mixin has be deprecated in favour of applying border properties
|
21
|
-
to an SC.View's layout object. See {@link SC.View#layout}.
|
20
|
+
The `SC.Border` mixin has be deprecated in favour of applying border properties
|
21
|
+
to an `SC.View`'s layout object. See {@link SC.View#layout}.
|
22
22
|
|
23
23
|
The Border mixin can be applied to any view to give it a visual border.
|
24
24
|
In addition to specifying the mixin itself, you should specify the border
|
@@ -27,17 +27,18 @@ SC.BORDER_NONE = null ;
|
|
27
27
|
Border style can be any predefined CSS class name or a border color.
|
28
28
|
|
29
29
|
If you specify a CSS class name, it must end in "-border". Additionally,
|
30
|
-
you should set the borderTop
|
31
|
-
properties so SproutCore can accurately account for the size
|
30
|
+
you should set the `borderTop`, `borderRight`, `borderBottom`, and
|
31
|
+
`borderLeft` properties so SproutCore can accurately account for the size
|
32
|
+
of your view.
|
32
33
|
|
33
34
|
SproutCore pre-defines several useful border styles including:
|
34
35
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
- `SC.BORDER_BEZEL` -- displays an inlaid bezel
|
37
|
+
- `SC.BORDER_BLACK` -- displays a black border
|
38
|
+
- `SC.BORDER_GRAY` -- displays a gray border
|
39
|
+
- `SC.BORDER_TOP` -- displays a border on the top only
|
40
|
+
- `SC.BORDER_BOTTOM` -- displays a border on the bottom only
|
41
|
+
- `SC.BORDER_NONE` -- disables the border
|
41
42
|
|
42
43
|
@since SproutCore 1.0
|
43
44
|
*/
|
@@ -98,7 +99,7 @@ SC.Border = {
|
|
98
99
|
hasBorder: YES,
|
99
100
|
|
100
101
|
/**
|
101
|
-
Make sure we re-render if the borderStyle property changes.
|
102
|
+
Make sure we re-render if the `borderStyle` property changes.
|
102
103
|
@private
|
103
104
|
*/
|
104
105
|
displayProperties: ['borderStyle'],
|
@@ -8,7 +8,7 @@
|
|
8
8
|
/**
|
9
9
|
@namespace
|
10
10
|
|
11
|
-
An experimental CollectionView mixin that makes it extremely fast under
|
11
|
+
An experimental `CollectionView` mixin that makes it extremely fast under
|
12
12
|
certain circumstances, including for mobile devices.
|
13
13
|
*/
|
14
14
|
SC.CollectionFastPath = {
|
@@ -80,7 +80,7 @@ SC.CollectionFastPath = {
|
|
80
80
|
},
|
81
81
|
|
82
82
|
/**
|
83
|
-
Configures a pooled view, calling
|
83
|
+
Configures a pooled view, calling `.awakeFromPool` if it is defined.
|
84
84
|
|
85
85
|
@param {SC.View} itemView
|
86
86
|
@param {Hash} attrs
|
@@ -123,7 +123,7 @@ SC.CollectionFastPath = {
|
|
123
123
|
|
124
124
|
/**
|
125
125
|
Releases an item view. If the item view is pooled, it puts it into the pool;
|
126
|
-
otherwise, this calls
|
126
|
+
otherwise, this calls `.destroy()`.
|
127
127
|
|
128
128
|
This is called for one of two purposes: to release a view that is no longer displaying,
|
129
129
|
or to release an older cached version of a view that needed to be replaced because the
|
@@ -163,7 +163,7 @@ SC.CollectionFastPath = {
|
|
163
163
|
|
164
164
|
/** @private
|
165
165
|
Determines the example view for a content index. There are two optional parameters that will
|
166
|
-
speed things up: contentObject and isGroupView
|
166
|
+
speed things up: `contentObject` and `isGroupView`. If you don't supply them, they must be computed.
|
167
167
|
*/
|
168
168
|
exampleViewForItem: function(item, index) {
|
169
169
|
var del = this.get('contentDelegate'),
|
@@ -190,7 +190,7 @@ SC.CollectionFastPath = {
|
|
190
190
|
This may seem somewhat awkward, but it is for memory performance: this fills in a hash
|
191
191
|
YOU provide with the properties for the given content index.
|
192
192
|
|
193
|
-
Properties include both the attributes given to the view and some CollectionView tracking
|
193
|
+
Properties include both the attributes given to the view and some `CollectionView` tracking
|
194
194
|
properties, most importantly the exampleView.
|
195
195
|
*/
|
196
196
|
setAttributesForItem: function(item, index, attrs) {
|
@@ -563,7 +563,7 @@ SC.CollectionFastPath = {
|
|
563
563
|
|
564
564
|
/** @private
|
565
565
|
Tries to find an item for the given example view in a dom pool.
|
566
|
-
If one could not be found, returns null
|
566
|
+
If one could not be found, returns `null`.
|
567
567
|
*/
|
568
568
|
itemFromDOMPool: function(exampleView) {
|
569
569
|
var pool = this.domPoolForExampleView(exampleView);
|
@@ -663,7 +663,7 @@ SC.CollectionFastPath = {
|
|
663
663
|
|
664
664
|
|
665
665
|
/** @private
|
666
|
-
Tells ScrollView that this should receive live updates during touch scrolling.
|
666
|
+
Tells `ScrollView` that this should receive live updates during touch scrolling.
|
667
667
|
We are so fast, aren't we?
|
668
668
|
*/
|
669
669
|
_lastTopUpdate: 0,
|
@@ -9,7 +9,7 @@
|
|
9
9
|
/**
|
10
10
|
@namespace
|
11
11
|
|
12
|
-
|
12
|
+
`CollectionRowDelegate`s are consulted by `SC.ListView` and `SC.TableView` to
|
13
13
|
control the height of rows, including specifying custom heights for
|
14
14
|
specific rows.
|
15
15
|
|
@@ -45,7 +45,7 @@ SC.CollectionRowDelegate = {
|
|
45
45
|
|
46
46
|
/**
|
47
47
|
This is useful if you are using a custom item view that needs to be padded.
|
48
|
-
This value is added to the top and bottom of the itemHeight
|
48
|
+
This value is added to the top and bottom of the `itemHeight`.
|
49
49
|
|
50
50
|
@type Number
|
51
51
|
@default 0
|
@@ -53,7 +53,7 @@ SC.CollectionRowDelegate = {
|
|
53
53
|
rowPadding: 0,
|
54
54
|
|
55
55
|
/**
|
56
|
-
Total row height used for calculation. Equal to itemHeight +
|
56
|
+
Total row height used for calculation. Equal to `itemHeight + (2 * rowPadding)`.
|
57
57
|
|
58
58
|
@type Number
|
59
59
|
*/
|
@@ -79,7 +79,7 @@ SC.CollectionRowDelegate = {
|
|
79
79
|
customRowHeightIndexes: null,
|
80
80
|
|
81
81
|
/**
|
82
|
-
Called for each index in the customRowHeightIndexes set to get the
|
82
|
+
Called for each index in the `customRowHeightIndexes` set to get the
|
83
83
|
actual row height for the index. This method should return the default
|
84
84
|
rowHeight if you don't want the row to have a custom height.
|
85
85
|
|
@@ -8,10 +8,10 @@
|
|
8
8
|
/**
|
9
9
|
@namespace
|
10
10
|
|
11
|
-
A Collection View Delegate is consulted by a SC.CollectionView to make
|
11
|
+
A Collection View Delegate is consulted by a `SC.CollectionView` to make
|
12
12
|
policy decisions about certain behaviors such as selection control and
|
13
13
|
drag and drop. If you need to control other aspects of your data, you may
|
14
|
-
also want to add the SC.CollectionContent mixin.
|
14
|
+
also want to add the `SC.CollectionContent` mixin.
|
15
15
|
|
16
16
|
To act as a Collection Delegate, just apply this mixin to your class. You
|
17
17
|
must then set the "delegate" property on the CollectionView to your object.
|
@@ -74,7 +74,7 @@ SC.CollectionViewDelegate = {
|
|
74
74
|
|
75
75
|
/**
|
76
76
|
Called by the collection when attempting to deselect an item. Return the
|
77
|
-
actual indexes you want to allow to be deselected. Return null to
|
77
|
+
actual indexes you want to allow to be deselected. Return `null` to
|
78
78
|
disallow the change. The default allows all selection.
|
79
79
|
|
80
80
|
Note that you should not modify the passed in IndexSet. clone it instead.
|
@@ -93,11 +93,11 @@ SC.CollectionViewDelegate = {
|
|
93
93
|
//
|
94
94
|
|
95
95
|
/**
|
96
|
-
Called by the collection view whenever the deleteSelection() method is
|
96
|
+
Called by the collection view whenever the `deleteSelection()` method is
|
97
97
|
called. You can implement this method to get fine-grained control over
|
98
98
|
which items can be deleted. To prevent deletion, return null.
|
99
99
|
|
100
|
-
This method is only called if canDeleteContent is YES on the collection
|
100
|
+
This method is only called if canDeleteContent is `YES` on the collection
|
101
101
|
view.
|
102
102
|
|
103
103
|
@param {SC.CollectionView} view the collection view
|
@@ -116,8 +116,8 @@ SC.CollectionViewDelegate = {
|
|
116
116
|
deletion method.
|
117
117
|
|
118
118
|
If you simply want to control the items to be deleted, you should instead
|
119
|
-
implement collectionViewShouldDeleteItems()
|
120
|
-
called if canDeleteContent is YES and collectionViewShouldDeleteIndexes()
|
119
|
+
implement `collectionViewShouldDeleteItems()`. This method will only be
|
120
|
+
called if canDeleteContent is `YES` and `collectionViewShouldDeleteIndexes()`
|
121
121
|
returns a non-empty index set
|
122
122
|
|
123
123
|
@param {SC.CollectionView} view collection view
|
@@ -154,7 +154,7 @@ SC.CollectionViewDelegate = {
|
|
154
154
|
may enable content reordering but then implement this method to prevent
|
155
155
|
reordering of certain items in the view.
|
156
156
|
|
157
|
-
The default implementation always returns YES
|
157
|
+
The default implementation always returns `YES`.
|
158
158
|
|
159
159
|
@param {SC.CollectionView} view the collection view
|
160
160
|
@returns {Boolean} YES to alow, NO to prevent it
|
@@ -170,13 +170,13 @@ SC.CollectionViewDelegate = {
|
|
170
170
|
You can implement this method to return an array of the data types you
|
171
171
|
will provide for the drag data.
|
172
172
|
|
173
|
-
If you return null or an empty array, can you have set canReorderContent
|
174
|
-
to YES on the CollectionView, then the drag will go ahead but only
|
175
|
-
reordering will be allowed. If canReorderContent is NO
|
173
|
+
If you return `null` or an empty array, can you have set `canReorderContent`
|
174
|
+
to `YES` on the CollectionView, then the drag will go ahead but only
|
175
|
+
reordering will be allowed. If `canReorderContent` is `NO`, then the drag
|
176
176
|
will not be allowed to start.
|
177
177
|
|
178
178
|
If you simply want to control whether a drag is allowed or not, you
|
179
|
-
should instead implement collectionViewShouldBeginDrag()
|
179
|
+
should instead implement `collectionViewShouldBeginDrag()`.
|
180
180
|
|
181
181
|
The default returns an empty array.
|
182
182
|
|
@@ -192,7 +192,7 @@ SC.CollectionViewDelegate = {
|
|
192
192
|
to provide the drag data for the drop.
|
193
193
|
|
194
194
|
This method should be implemented essentially as you would implement the
|
195
|
-
dragDataForType() if you were a drag data source. You will never be asked
|
195
|
+
`dragDataForType()` if you were a drag data source. You will never be asked
|
196
196
|
to provide drag data for a reorder event, only for other types of data.
|
197
197
|
|
198
198
|
The default implementation returns null.
|
@@ -230,14 +230,14 @@ SC.CollectionViewDelegate = {
|
|
230
230
|
general which operations you might support and specifically the operations
|
231
231
|
you would support if the user dropped an item over a specific location.
|
232
232
|
|
233
|
-
If the proposedDropOperation parameter is SC.DROP_ON or SC.DROP_BEFORE
|
234
|
-
then the proposedInsertionPoint will be a non-negative value and you
|
233
|
+
If the `proposedDropOperation` parameter is `SC.DROP_ON` or `SC.DROP_BEFORE`,
|
234
|
+
then the `proposedInsertionPoint` will be a non-negative value and you
|
235
235
|
should determine the specific operations you will support if the user
|
236
236
|
dropped the drag item at that point.
|
237
237
|
|
238
238
|
If you do not like the proposed drop operation or insertion point, you
|
239
|
-
can override these properties as well by setting the proposedDropOperation
|
240
|
-
and proposedInsertionIndex properties on the collection view during this
|
239
|
+
can override these properties as well by setting the `proposedDropOperation`
|
240
|
+
and `proposedInsertionIndex` properties on the collection view during this
|
241
241
|
method. These properties are ignored all other times.
|
242
242
|
|
243
243
|
@param {SC.CollectionView} view the collection view
|
@@ -254,12 +254,12 @@ SC.CollectionViewDelegate = {
|
|
254
254
|
|
255
255
|
/**
|
256
256
|
Called by the collection view to actually accept a drop. This method will
|
257
|
-
only be invoked AFTER your validateDrop method has been called to
|
257
|
+
only be invoked AFTER your `validateDrop method has been called to
|
258
258
|
determine if you want to even allow the drag operation to go through.
|
259
259
|
|
260
260
|
You should actually make changes to the data model if needed here and
|
261
261
|
then return the actual drag operation that was performed. If you return
|
262
|
-
SC.DRAG_NONE and the dragOperation was SC.DRAG_REORDER
|
262
|
+
`SC.DRAG_NONE` and the dragOperation was `SC.DRAG_REORDER`, then the default
|
263
263
|
reorder behavior will be provided by the collection view.
|
264
264
|
|
265
265
|
@param {SC.CollectionView} view
|
@@ -288,7 +288,7 @@ SC.CollectionViewDelegate = {
|
|
288
288
|
},
|
289
289
|
|
290
290
|
/**
|
291
|
-
Allows the ghost view created in collectionViewDragViewFor to be displayed
|
291
|
+
Allows the ghost view created in `collectionViewDragViewFor` to be displayed
|
292
292
|
like a cursor instead of the default implementation. This sets the view
|
293
293
|
origin to be the location of the mouse cursor.
|
294
294
|
|