sproutcore 1.7.1.beta → 1.8.0
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/CHANGELOG +44 -0
- data/README.rdoc +20 -20
- data/VERSION.yml +3 -3
- data/lib/Buildfile +1 -1
- data/lib/buildtasks/build.rake +5 -0
- data/lib/buildtasks/manifest.rake +19 -1
- data/lib/frameworks/sproutcore/Buildfile +19 -17
- data/lib/frameworks/sproutcore/CHANGELOG.md +163 -29
- data/lib/frameworks/sproutcore/README.md +29 -8
- data/lib/frameworks/sproutcore/apps/statechart_routing/Buildfile +12 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/login_controller.js +11 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/main_controller.js +7 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/statechart_controller.js +17 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/core.js +25 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/main.js +15 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/_theme.css +18 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/bar_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/foo_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/loading.rhtml +9 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/login_page.js +61 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/main_page.js +46 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/statechart.js +76 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/theme.js +27 -0
- data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
- data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +14 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +8 -5
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +302 -70
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +19 -14
- data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +471 -149
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +42 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/action_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/body_overflow.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +37 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +66 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/builder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +58 -57
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js.orig +445 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +51 -31
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +5 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +53 -69
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +98 -72
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +37 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +7 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +21 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/content_destroyed.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +23 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/browser.js +66 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/event.js +22 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +8 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +17 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +50 -30
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/acceleration.js +46 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +1 -43
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +8 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +10 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +6 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +35 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +46 -19
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +23 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +2 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +294 -302
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js.orig +1531 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +14 -11
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/many_array.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +50 -10
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +114 -67
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +54 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +29 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +37 -45
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +127 -127
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushRelationships.js +42 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/debug/core.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +1 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +19 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +30 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +24 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +121 -28
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +39 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +14 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +1 -51
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +11 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-error-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/slider.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/content.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +107 -81
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +68 -60
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +57 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +21 -19
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +5 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +32 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +77 -132
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +5 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +16 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +52 -52
- data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +147 -147
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +11 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +22 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +462 -441
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +48 -62
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +150 -32
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +104 -45
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +42 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +148 -154
- data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +8 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/files.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/library.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/view_configs.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/mixins/drop_down.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/ready.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/plist_item.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/web.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_design.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +59 -53
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +14 -10
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu_item.js +17 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/popup_button.js +38 -14
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +5 -13
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js +19 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +20 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +35 -12
- data/lib/frameworks/sproutcore/frameworks/formatters/README +6 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/english.lproj/strings.js +174 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/formatters/date_formatter.js +351 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/tests/date_formatter.js +517 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +345 -138
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +176 -42
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +137 -105
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +16 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +47 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/benchmark.css +0 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/bootstrap.rhtml +34 -19
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/button_view.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +1 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +8 -9
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +179 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +34 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +26 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +12 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_metric_optimization.js +202 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_value_support/content.js +77 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/commitEditing.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/commitEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +163 -149
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/password.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +16 -43
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +67 -54
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +49 -38
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +285 -242
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +19 -22
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +231 -186
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +145 -143
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +156 -154
- data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js.orig +540 -0
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +15 -8
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +98 -32
- data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +7 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +14 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +98 -13
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +8 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +23 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +69 -18
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +57 -31
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +189 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +82 -22
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +20 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +125 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +37 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +75 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart_delegate.js +113 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/private/state_path_matcher.js +312 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/async.js +18 -22
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +508 -131
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state_route_handler_context.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +265 -44
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/responder_chain.js +11 -3
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/private/state_path_matcher.js +116 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/add_substate.js +108 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/with_concurrent.js +179 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/without_concurrent.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_state.js +141 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_substate.js +340 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/route_triggered.js +161 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/try_to_handle_event.js +288 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/context.js +5 -33
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/with_concurrent_states/basic.js +213 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/without_concurrent_states/basic.js +212 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/core.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{state/namespacing.js → statechart/methods/get_state.js} +3 -41
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/{invoke_state_method.js → methods/invoke_state_method.js} +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{event_handling/advanced → statechart}/respond_to_event.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/system/state_route_handler_context/methods/retry.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/table/core.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/controls/button.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars.js +29 -5
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/bind.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/collection.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/localization.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/view.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{handlebars → template_view}/handlebars.js +493 -357
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/text_field_support.js +13 -2
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/controls/button.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/text_field_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/collection.js +39 -14
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/handlebars.js +57 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/bindable_span.js +21 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template_collection.js +55 -26
- data/lib/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +122 -122
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/base.css +1 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/reset.css +0 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/view.css +4 -4
- data/lib/frameworks/sproutcore/lib/index.rhtml +55 -32
- data/lib/frameworks/sproutcore/license.js +2 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/body.css +5 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +21 -13
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +17 -10
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +4 -3
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +20 -12
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +16 -8
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/jumbo/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/small/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +5 -3
- data/lib/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/toolbar.css +1 -1
- data/lib/gen/app/USAGE +17 -4
- data/lib/gen/language/Buildfile +4 -4
- data/lib/gen/language/USAGE +4 -4
- data/lib/gen/page/templates/pages/@target_name@/Buildfile +7 -7
- data/lib/gen/{html_app → statechart_app}/Buildfile +0 -0
- data/lib/gen/{html_app → statechart_app}/README +0 -0
- data/lib/gen/statechart_app/USAGE +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/Buildfile +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/core.js +24 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/main.js +26 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/_theme.css +18 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/loading.rhtml +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/main_page.js +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/statechart.js +8 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/states/ready_state.js +12 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/theme.js +24 -0
- data/lib/sproutcore/builders.rb +1 -0
- data/lib/sproutcore/builders/base.rb +19 -1
- data/lib/sproutcore/builders/chance_file.rb +6 -1
- data/lib/sproutcore/builders/handlebars.rb +1 -9
- data/lib/sproutcore/builders/javascript.rb +1 -10
- data/lib/sproutcore/builders/json.rb +25 -0
- data/lib/sproutcore/builders/less.rb +1 -1
- data/lib/sproutcore/builders/sass.rb +1 -1
- data/lib/sproutcore/builders/stylesheet.rb +1 -9
- data/lib/sproutcore/helpers/html5_manifest.rb +1 -1
- data/lib/sproutcore/helpers/static_helper.rb +42 -0
- data/lib/sproutcore/rack/proxy.rb +21 -3
- data/lib/sproutcore/rack/service.rb +3 -2
- data/lib/sproutcore/tools.rb +18 -25
- data/lib/sproutcore/tools/gen.rb +10 -3
- data/lib/sproutcore/tools/init.rb +11 -10
- data/spec/buildtasks/manifest/prepare_build_tasks/json_spec.rb +62 -0
- data/spec/fixtures/builder_tests/apps/handlebars_test/Buildfile +1 -1
- data/spec/fixtures/builder_tests/apps/json_test/sc_static.json +2 -0
- data/spec/lib/builders/json_spec.rb +53 -0
- data/sproutcore.gemspec +2 -2
- data/vendor/chance/lib/chance/parser.rb +1 -1
- metadata +222 -177
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/datetime.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +0 -259
- data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +0 -69
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +0 -44
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +0 -64
- data/lib/frameworks/sproutcore/frameworks/mini/license.js +0 -30
- data/lib/gen/html_app/USAGE +0 -15
- data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +0 -11
- data/lib/gen/html_app/templates/apps/@target_name@/resources/images/.gitkeep +0 -0
- data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +0 -6
- data/lib/gen/html_app/templates/apps/@target_name@/resources/templates/@target_name@.handlebars +0 -1
- data/lib/gen/html_project/Buildfile +0 -45
- data/lib/gen/html_project/INIT +0 -3
- data/lib/gen/html_project/README +0 -1
- data/lib/gen/html_project/USAGE +0 -2
- data/lib/gen/html_project/templates/@filename@/Buildfile +0 -5
- data/lib/gen/html_project/templates/@filename@/README +0 -4
|
@@ -11,7 +11,7 @@ var context = null;
|
|
|
11
11
|
|
|
12
12
|
// ..........................................................
|
|
13
13
|
// styles
|
|
14
|
-
//
|
|
14
|
+
//
|
|
15
15
|
module("SC.RenderContext#styles", {
|
|
16
16
|
setup: function() {
|
|
17
17
|
context = SC.RenderContext() ;
|
|
@@ -37,11 +37,11 @@ test("returns styles if set", function() {
|
|
|
37
37
|
test("clone on next retrieval if styles(foo) set with cloneOnModify=YES", function() {
|
|
38
38
|
var styles = { foo: 'bar' };
|
|
39
39
|
context.styles(styles, YES);
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
var result = context.styles();
|
|
42
42
|
ok(result !== styles, "styles is NOT same instance");
|
|
43
43
|
same(result, styles, "but styles are equivalent");
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
equals(result, context.styles(), "2nd retrieval is same instance");
|
|
46
46
|
});
|
|
47
47
|
|
|
@@ -49,10 +49,10 @@ test("extracts styles from element on first retrieval", function() {
|
|
|
49
49
|
var elem = document.createElement('div');
|
|
50
50
|
SC.$(elem).attr('style', 'color: black; height: 20px; border-top: 1px solid hotpink; -webkit-column-count: 3');
|
|
51
51
|
context = SC.RenderContext(elem);
|
|
52
|
-
|
|
52
|
+
|
|
53
53
|
var result = context.styles();
|
|
54
|
-
|
|
55
|
-
if(SC.browser.
|
|
54
|
+
|
|
55
|
+
if(SC.browser.isIE){
|
|
56
56
|
same(result, { color: 'black', height: '20px', borderTop: 'hotpink 1px solid', WebkitColumnCount: '3' }, 'extracted style. This is failing in IE8 because it return styles like cOLOR.');
|
|
57
57
|
}else{
|
|
58
58
|
same(result, { color: 'black', height: '20px', borderTop: '1px solid hotpink', WebkitColumnCount: '3' }, 'extracted style. This is failing in IE8 because it return styles like cOLOR.');
|
|
@@ -62,7 +62,7 @@ test("extracts styles from element on first retrieval", function() {
|
|
|
62
62
|
|
|
63
63
|
// ..........................................................
|
|
64
64
|
// addStyle
|
|
65
|
-
//
|
|
65
|
+
//
|
|
66
66
|
module("SC.RenderContext#addStyle", {
|
|
67
67
|
setup: function() {
|
|
68
68
|
context = SC.RenderContext().styles({ foo: 'foo' }) ;
|
|
@@ -86,7 +86,7 @@ test("should return receiver", function() {
|
|
|
86
86
|
test("should create styles hash if needed", function() {
|
|
87
87
|
context = SC.RenderContext();
|
|
88
88
|
equals(context._styles, null, 'precondition - has no styles');
|
|
89
|
-
|
|
89
|
+
|
|
90
90
|
context.addStyle('foo', 'bar');
|
|
91
91
|
equals('bar', context.styles().foo, 'has styles');
|
|
92
92
|
});
|
data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js
CHANGED
|
@@ -14,7 +14,7 @@ module("SC.RenderContext#update", {
|
|
|
14
14
|
elem = document.createElement('div');
|
|
15
15
|
context = SC.RenderContext(elem) ;
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
teardown: function() {
|
|
19
19
|
elem = context = null; // avoid memory leaks
|
|
20
20
|
}
|
|
@@ -49,14 +49,14 @@ test("clears internal _elem to avoid memory leaks on update", function() {
|
|
|
49
49
|
|
|
50
50
|
// ..........................................................
|
|
51
51
|
// Attribute Editing
|
|
52
|
-
//
|
|
52
|
+
//
|
|
53
53
|
module("SC.RenderContext#update - attrs", {
|
|
54
54
|
setup: function() {
|
|
55
55
|
elem = document.createElement('div');
|
|
56
56
|
SC.$(elem).attr("foo", "initial");
|
|
57
57
|
context = SC.RenderContext(elem);
|
|
58
58
|
},
|
|
59
|
-
|
|
59
|
+
|
|
60
60
|
teardown: function() {
|
|
61
61
|
elem = context = null ;
|
|
62
62
|
}
|
|
@@ -87,14 +87,14 @@ test("removes attribute if value is null", function() {
|
|
|
87
87
|
|
|
88
88
|
// ..........................................................
|
|
89
89
|
// ID
|
|
90
|
-
//
|
|
90
|
+
//
|
|
91
91
|
module("SC.RenderContext#update - id", {
|
|
92
92
|
setup: function() {
|
|
93
93
|
elem = document.createElement('div');
|
|
94
94
|
SC.$(elem).attr("id", "foo");
|
|
95
95
|
context = SC.RenderContext(elem);
|
|
96
96
|
},
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
teardown: function() {
|
|
99
99
|
elem = context = null ;
|
|
100
100
|
}
|
|
@@ -121,14 +121,14 @@ test("set id overrides attr", function() {
|
|
|
121
121
|
|
|
122
122
|
// ..........................................................
|
|
123
123
|
// Class Name Editing
|
|
124
|
-
//
|
|
124
|
+
//
|
|
125
125
|
module("SC.RenderContext#update - className", {
|
|
126
126
|
setup: function() {
|
|
127
127
|
elem = document.createElement('div');
|
|
128
128
|
SC.$(elem).attr("class", "foo bar");
|
|
129
129
|
context = SC.RenderContext(elem);
|
|
130
130
|
},
|
|
131
|
-
|
|
131
|
+
|
|
132
132
|
teardown: function() {
|
|
133
133
|
elem = context = null ;
|
|
134
134
|
}
|
|
@@ -155,14 +155,14 @@ test("set class names override class attr", function() {
|
|
|
155
155
|
|
|
156
156
|
// ..........................................................
|
|
157
157
|
// Style Editing
|
|
158
|
-
//
|
|
158
|
+
//
|
|
159
159
|
module("SC.RenderContext#update - style", {
|
|
160
160
|
setup: function() {
|
|
161
161
|
elem = document.createElement('div');
|
|
162
162
|
SC.$(elem).attr("style", "color: red;");
|
|
163
163
|
context = SC.RenderContext(elem);
|
|
164
164
|
},
|
|
165
|
-
|
|
165
|
+
|
|
166
166
|
teardown: function() {
|
|
167
167
|
elem = context = null ;
|
|
168
168
|
}
|
|
@@ -173,19 +173,19 @@ test("does not change styles if retrieved but not edited", function() {
|
|
|
173
173
|
context.update();
|
|
174
174
|
var style = SC.$(elem).attr("style");
|
|
175
175
|
if (!style.match(/;$/)) style += ';' ;
|
|
176
|
-
|
|
176
|
+
|
|
177
177
|
equals(style.toLowerCase(), "color: red;", "style");
|
|
178
178
|
});
|
|
179
179
|
|
|
180
180
|
test("replaces style name if styles edited", function() {
|
|
181
181
|
context.styles({ color: "black" });
|
|
182
182
|
context.update();
|
|
183
|
-
|
|
183
|
+
|
|
184
184
|
// Browsers return single attribute styles differently, sometimes with a trailing ';'
|
|
185
185
|
// sometimes, without one. Normalize it here.
|
|
186
186
|
var style = SC.$(elem).attr("style");
|
|
187
187
|
if (!style.match(/;$/)) style += ';' ;
|
|
188
|
-
|
|
188
|
+
|
|
189
189
|
equals(style.toLowerCase(), "color: black;", "attribute");
|
|
190
190
|
});
|
|
191
191
|
|
|
@@ -194,12 +194,12 @@ test("set styles override style attr", function() {
|
|
|
194
194
|
context.attr("style", "color: green");
|
|
195
195
|
context.styles({ color: "black" });
|
|
196
196
|
context.update();
|
|
197
|
-
|
|
197
|
+
|
|
198
198
|
// Browsers return single attribute styles differently, sometimes with a trailing ';'
|
|
199
199
|
// sometimes, without one. Normalize it here.
|
|
200
200
|
var style = SC.$(elem).attr("style");
|
|
201
201
|
if (!style.match(/;$/)) style += ';' ;
|
|
202
|
-
|
|
202
|
+
|
|
203
203
|
equals(style.toLowerCase(), "color: black;", "attribute");
|
|
204
204
|
});
|
|
205
205
|
|
|
@@ -213,7 +213,8 @@ test("set styles handle custom browser attributes", function() {
|
|
|
213
213
|
if (!style.match(/;$/)) style += ';' ;
|
|
214
214
|
|
|
215
215
|
// Older Gecko completely ignores css attributes that it doesn't understand.
|
|
216
|
-
if(SC.browser.
|
|
217
|
-
|
|
216
|
+
if(SC.browser.isMozilla &&
|
|
217
|
+
SC.browser.compare(SC.browser.engineVersion, '2.0') < 0) equals(style, "-moz-column-count: 3;");
|
|
218
|
+
else if (SC.browser.isIE) equals(style, "-webkit-column-count: 3; -moz-column-count: 3; -o-column-count: 3; -ms-column-count: 3;");
|
|
218
219
|
else equals(style, "-moz-column-count: 3; -webkit-column-count: 3; -o-column-count: 3; -ms-column-count: 3;");
|
|
219
220
|
});
|
data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js
CHANGED
|
@@ -97,7 +97,7 @@ test("removing index set should also remove individually added objects", functio
|
|
|
97
97
|
|
|
98
98
|
ok(set.contains(objToRemove), 'set should contain objToRemove');
|
|
99
99
|
ok(set.contains(objToNotRemove), 'set should contain objToNotRemove');
|
|
100
|
-
equals(set.get('length'), 5, 'set.length
|
|
100
|
+
equals(set.get('length'), 5, 'set.length should == two objects + index.length');
|
|
101
101
|
|
|
102
102
|
// now remove from array set
|
|
103
103
|
set.remove(array, 2, 4);
|
data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js
CHANGED
|
@@ -57,7 +57,7 @@ test("Calling buildInChild adds child and builds it in.", function(){
|
|
|
57
57
|
// check right after build in is called
|
|
58
58
|
ok(v.called_buildIn, "child started build in.");
|
|
59
59
|
ok(v.isBuildingIn, "child is building in.");
|
|
60
|
-
ok(!p.
|
|
60
|
+
ok(!p.called_buildInDidFinishFor, "child has not finished building in, according to parent.");
|
|
61
61
|
|
|
62
62
|
// the parent view should be set already
|
|
63
63
|
equals(v.get("parentView"), p, "Parent view should be the parent");
|
|
@@ -45,3 +45,18 @@ test("should add, remove, or change class names if changed after element is crea
|
|
|
45
45
|
ok(!view.$().hasClass('is-urgent', "removes dasherized class when changed from true to false"));
|
|
46
46
|
ok(view.$().hasClass('can-ignore'), "adds dasherized class when changed from false to true");
|
|
47
47
|
});
|
|
48
|
+
|
|
49
|
+
test("should preserve class names applied via classNameBindings when view layer is updated",
|
|
50
|
+
function(){
|
|
51
|
+
var view = SC.View.create({
|
|
52
|
+
classNameBindings: ['isUrgent'],
|
|
53
|
+
isUrgent: false
|
|
54
|
+
});
|
|
55
|
+
view.createLayer();
|
|
56
|
+
ok(!view.$().hasClass('is-urgent', "removes dasherized class when changed from true to false"));
|
|
57
|
+
view.set('isUrgent', true);
|
|
58
|
+
ok(view.$().hasClass('is-urgent', "adds dasherized class when changed from true to false"));
|
|
59
|
+
view.set('layerNeedsUpdate', YES);
|
|
60
|
+
view.updateLayer();
|
|
61
|
+
ok(view.$().hasClass('is-urgent', "still has class when view display property is updated"));
|
|
62
|
+
});
|
data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js
CHANGED
|
@@ -20,7 +20,7 @@ test("calls createChildView() for each class or string in childViews array", fun
|
|
|
20
20
|
'customClassName' // string - should be called
|
|
21
21
|
],
|
|
22
22
|
|
|
23
|
-
// this
|
|
23
|
+
// this should be used for the 'customClassName' item above
|
|
24
24
|
customClassName: SC.View.extend({ key: 2 }),
|
|
25
25
|
|
|
26
26
|
// patch to record results...
|
|
@@ -49,10 +49,10 @@ test("should not error when there is a dud view name in childViews list.", funct
|
|
|
49
49
|
var called = [];
|
|
50
50
|
var v = SC.View.create({
|
|
51
51
|
childViews: [
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
'nonExistantClassName', // string - should NOT be called
|
|
53
|
+
'customClassName' // string - should be called
|
|
54
54
|
],
|
|
55
|
-
// this
|
|
55
|
+
// this should be used for the 'customClassName' item above
|
|
56
56
|
customClassName: SC.View.extend({ key: 2 }),
|
|
57
57
|
|
|
58
58
|
// patch to record results...
|
|
@@ -71,7 +71,7 @@ test("should not throw error when there is an extra space in the childViews list
|
|
|
71
71
|
var called = [];
|
|
72
72
|
var v = SC.View.create({
|
|
73
73
|
childViews: "customClassName customKlassName".w(),
|
|
74
|
-
// this
|
|
74
|
+
// this should be used for the 'customClassName' item above
|
|
75
75
|
customClassName: SC.View.extend({ key: 2 }),
|
|
76
76
|
customKlassName: SC.View.extend({ key: 3 })
|
|
77
77
|
});
|
|
@@ -44,6 +44,29 @@ SC.CoreView.reopen(
|
|
|
44
44
|
|
|
45
45
|
concatenatedProperties: ['outlets', 'displayProperties', 'classNames', 'renderMixin', 'didCreateLayerMixin', 'willDestroyLayerMixin', 'classNameBindings', 'attributeBindings'],
|
|
46
46
|
|
|
47
|
+
/**
|
|
48
|
+
The WAI-ARIA role of the control represented by this view. For example, a
|
|
49
|
+
button may have a role of type 'button', or a pane may have a role of
|
|
50
|
+
type 'alertdialog'. This property is used by assistive software to help
|
|
51
|
+
visually challenged users navigate rich web applications.
|
|
52
|
+
|
|
53
|
+
The full list of valid WAI-ARIA roles is available at:
|
|
54
|
+
http://www.w3.org/TR/wai-aria/roles#roles_categorization
|
|
55
|
+
|
|
56
|
+
@property {String}
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
ariaRole: null,
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
The full list of valid WAI-ARIA roles is available at:
|
|
63
|
+
http://www.w3.org/TR/wai-aria/roles#roles_categorization
|
|
64
|
+
|
|
65
|
+
@property {String}
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
ariaHidden: null,
|
|
69
|
+
|
|
47
70
|
/**
|
|
48
71
|
The current pane.
|
|
49
72
|
@property {SC.Pane}
|
|
@@ -296,7 +319,7 @@ SC.CoreView.reopen(
|
|
|
296
319
|
run at the end of the run loop, or you can call updateLayerIfNeeded()
|
|
297
320
|
to force the layer to update immediately.
|
|
298
321
|
|
|
299
|
-
Instead of overriding this method, consider
|
|
322
|
+
Instead of overriding this method, consider overriding the render() method
|
|
300
323
|
instead, which is called both when creating and updating a layer. If you
|
|
301
324
|
do not want your render() method called when updating a layer, then you
|
|
302
325
|
should override this method instead.
|
|
@@ -405,6 +428,8 @@ SC.CoreView.reopen(
|
|
|
405
428
|
_notifyDidCreateLayer: function() {
|
|
406
429
|
this.notifyPropertyChange('layer');
|
|
407
430
|
|
|
431
|
+
if (this.get('useStaticLayout')) this.viewDidResize();
|
|
432
|
+
|
|
408
433
|
if (this.didCreateLayer) { this.didCreateLayer() ; }
|
|
409
434
|
|
|
410
435
|
// and notify others
|
|
@@ -480,8 +505,8 @@ SC.CoreView.reopen(
|
|
|
480
505
|
*/
|
|
481
506
|
replaceLayer: function() {
|
|
482
507
|
this.destroyLayer();
|
|
483
|
-
|
|
484
|
-
this.invokeOnce(this.
|
|
508
|
+
this.set('layerLocationNeedsUpdate', YES) ;
|
|
509
|
+
this.invokeOnce(this.updateLayerLocationIfNeeded);
|
|
485
510
|
},
|
|
486
511
|
|
|
487
512
|
/**
|
|
@@ -566,7 +591,10 @@ SC.CoreView.reopen(
|
|
|
566
591
|
// before we add to parent node, make sure that the nextNode exists...
|
|
567
592
|
if (nextView && (!nextNode || nextNode.parentNode!==parentNode)) {
|
|
568
593
|
nextView.updateLayerLocationIfNeeded() ;
|
|
569
|
-
|
|
594
|
+
|
|
595
|
+
// just in case it still couldn't generate the layer, force to null, because
|
|
596
|
+
// IE doesn't support insertBefore(blah, undefined) in version IE9.
|
|
597
|
+
nextNode = nextView.get('layer') || null;
|
|
570
598
|
}
|
|
571
599
|
|
|
572
600
|
// add to parentNode if needed.
|
|
@@ -679,15 +707,16 @@ SC.CoreView.reopen(
|
|
|
679
707
|
|
|
680
708
|
if (this.get('isTextSelectable')) { context.addClass('allow-select'); }
|
|
681
709
|
if (!this.get('isVisible')) { context.addClass('sc-hidden'); }
|
|
682
|
-
if (this.get('isFirstResponder')) {
|
|
683
|
-
context.addClass('focus');
|
|
684
|
-
context.attr('tabindex', '0');
|
|
685
|
-
}else{
|
|
686
|
-
context.attr('tabindex', '-1');
|
|
687
|
-
}
|
|
710
|
+
if (this.get('isFirstResponder')) { context.addClass('focus'); }
|
|
688
711
|
|
|
689
712
|
context.id(this.get('layerId'));
|
|
690
713
|
context.attr('role', this.get('ariaRole'));
|
|
714
|
+
|
|
715
|
+
var _ariaHidden = this.get('ariaHidden');
|
|
716
|
+
if(_ariaHidden!==null){
|
|
717
|
+
if(_ariaHidden === NO) context.removeAttr('aria-hidden');
|
|
718
|
+
else context.attr('aria-hidden', _ariaHidden);
|
|
719
|
+
}
|
|
691
720
|
},
|
|
692
721
|
|
|
693
722
|
/**
|
|
@@ -717,7 +746,7 @@ SC.CoreView.reopen(
|
|
|
717
746
|
|
|
718
747
|
// Set up an observer on the context. If the property changes, toggle the
|
|
719
748
|
// class name.
|
|
720
|
-
observer = function() {
|
|
749
|
+
var observer = function() {
|
|
721
750
|
// Get the current value of the property
|
|
722
751
|
newClass = this._classStringForProperty(property);
|
|
723
752
|
elem = this.$();
|
|
@@ -725,12 +754,14 @@ SC.CoreView.reopen(
|
|
|
725
754
|
// If we had previously added a class to the element, remove it.
|
|
726
755
|
if (oldClass) {
|
|
727
756
|
elem.removeClass(oldClass);
|
|
757
|
+
classNames.removeObject(oldClass);
|
|
728
758
|
}
|
|
729
759
|
|
|
730
760
|
// If necessary, add a new class. Make sure we keep track of it so
|
|
731
761
|
// it can be removed in the future.
|
|
732
762
|
if (newClass) {
|
|
733
763
|
elem.addClass(newClass);
|
|
764
|
+
classNames.push(newClass);
|
|
734
765
|
oldClass = newClass;
|
|
735
766
|
} else {
|
|
736
767
|
oldClass = null;
|
|
@@ -936,18 +967,7 @@ SC.CoreView.reopen(
|
|
|
936
967
|
*/
|
|
937
968
|
tagName: 'div',
|
|
938
969
|
|
|
939
|
-
/**
|
|
940
|
-
The WAI-ARIA role of the control represented by this view. For example, a
|
|
941
|
-
button may have a role of type 'button', or a pane may have a role of
|
|
942
|
-
type 'alertdialog'. This property is used by assistive software to help
|
|
943
|
-
visually challenged users navigate rich web applications.
|
|
944
|
-
|
|
945
|
-
The full list of valid WAI-ARIA roles is available at:
|
|
946
|
-
http://www.w3.org/TR/wai-aria/roles#roles_categorization
|
|
947
970
|
|
|
948
|
-
@property {String}
|
|
949
|
-
*/
|
|
950
|
-
ariaRole: null,
|
|
951
971
|
|
|
952
972
|
/**
|
|
953
973
|
Standard CSS class names to apply to the view's outer element. This
|
|
@@ -1015,7 +1035,7 @@ SC.CoreView.reopen(
|
|
|
1015
1035
|
@property {Array}
|
|
1016
1036
|
@readOnly
|
|
1017
1037
|
*/
|
|
1018
|
-
displayProperties: [],
|
|
1038
|
+
displayProperties: ['ariaHidden'],
|
|
1019
1039
|
|
|
1020
1040
|
// .......................................................
|
|
1021
1041
|
// SC.RESPONDER SUPPORT
|
|
@@ -1031,7 +1051,7 @@ SC.CoreView.reopen(
|
|
|
1031
1051
|
|
|
1032
1052
|
/** @property
|
|
1033
1053
|
Set to YES if your view is willing to accept first responder status. This
|
|
1034
|
-
is used when
|
|
1054
|
+
is used when calculating key responder loop.
|
|
1035
1055
|
*/
|
|
1036
1056
|
acceptsFirstResponder: NO,
|
|
1037
1057
|
|
|
@@ -1342,7 +1362,7 @@ SC.CoreView.reopen(
|
|
|
1342
1362
|
} else {
|
|
1343
1363
|
// attrs should always exist...
|
|
1344
1364
|
if (!attrs) { attrs = {} ; }
|
|
1345
|
-
// clone the hash that was given so we
|
|
1365
|
+
// clone the hash that was given so we do not pollute it if it's being reused
|
|
1346
1366
|
else { attrs = SC.clone(attrs); }
|
|
1347
1367
|
}
|
|
1348
1368
|
|
|
@@ -1375,7 +1395,7 @@ SC.CoreView.reopen(
|
|
|
1375
1395
|
to override this function to always return YES , instead of setting
|
|
1376
1396
|
isTextSelectable to true.
|
|
1377
1397
|
|
|
1378
|
-
For example in textfield you
|
|
1398
|
+
For example in textfield you do not want to enable textSelection on the text
|
|
1379
1399
|
hint only on the actual text you are entering. You can achieve that by
|
|
1380
1400
|
only overriding this method.
|
|
1381
1401
|
|
|
@@ -1584,7 +1604,7 @@ SC.CoreView.mixin(/** @scope SC.CoreView.prototype */ {
|
|
|
1584
1604
|
},
|
|
1585
1605
|
|
|
1586
1606
|
/**
|
|
1587
|
-
Internal method actually updates the
|
|
1607
|
+
Internal method actually updates the localized attributes on the view
|
|
1588
1608
|
class. This is overloaded in design mode to also save the attributes.
|
|
1589
1609
|
*/
|
|
1590
1610
|
applyLocalizedAttributes: function(loc) {
|
|
@@ -1643,7 +1663,7 @@ SC.CoreView.unload = function() {
|
|
|
1643
1663
|
|
|
1644
1664
|
- `init` -- override this method for any general object setup (such as
|
|
1645
1665
|
observers, starting timers and animations, etc) that you need to happen
|
|
1646
|
-
|
|
1666
|
+
every time the view is created, regardless of whether or not its layer
|
|
1647
1667
|
exists yet.
|
|
1648
1668
|
- `render` -- override this method to generate or update your HTML to reflect
|
|
1649
1669
|
the current state of your view. This method is called both when your view
|
|
@@ -1674,11 +1694,11 @@ SC.CoreView.unload = function() {
|
|
|
1674
1694
|
*/
|
|
1675
1695
|
SC.View = SC.CoreView.extend(/** @scope SC.View.prototype */{
|
|
1676
1696
|
classNames: ['sc-view'],
|
|
1677
|
-
|
|
1697
|
+
|
|
1678
1698
|
displayProperties: ['isFirstResponder']
|
|
1679
1699
|
});
|
|
1680
1700
|
|
|
1681
1701
|
//unload views for IE, trying to collect memory.
|
|
1682
|
-
if(SC.browser.
|
|
1702
|
+
if(SC.browser.isIE) SC.Event.add(window, 'unload', SC.View, SC.View.unload) ;
|
|
1683
1703
|
|
|
1684
1704
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// ==========================================================================
|
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
|
3
|
+
// Copyright: ©2006-2011 Strobe Inc. and contributors.
|
|
4
|
+
// Portions ©2008-2011 Apple Inc. All rights reserved.
|
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
|
6
|
+
// ==========================================================================
|
|
7
|
+
|
|
8
|
+
sc_require("views/view");
|
|
9
|
+
sc_require("views/view/layout");
|
|
10
|
+
sc_require("views/view/layout_style");
|
|
11
|
+
|
|
12
|
+
SC.View.reopen({
|
|
13
|
+
/**
|
|
14
|
+
Setting wantsAcceleratedLayer to YES will use transforms to move the
|
|
15
|
+
layer when available. On some platforms transforms are hardware accelerated.
|
|
16
|
+
*/
|
|
17
|
+
wantsAcceleratedLayer: NO,
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
Specifies whether transforms can be used to move the layer.
|
|
21
|
+
*/
|
|
22
|
+
hasAcceleratedLayer: function(){
|
|
23
|
+
if (this.get('wantsAcceleratedLayer') && SC.platform.supportsAcceleratedLayers) {
|
|
24
|
+
var layout = this.get('layout'),
|
|
25
|
+
animations = layout.animate,
|
|
26
|
+
AUTO = SC.LAYOUT_AUTO,
|
|
27
|
+
key;
|
|
28
|
+
|
|
29
|
+
if (animations && (animations.top || animations.left)) {
|
|
30
|
+
for (key in animations) {
|
|
31
|
+
// If we're animating other transforms at different speeds, don't use acceleratedLayer
|
|
32
|
+
if (SC.CSS_TRANSFORM_MAP[key] &&
|
|
33
|
+
((animations.top &&
|
|
34
|
+
animations.top.duration !== animations[key].duration) ||
|
|
35
|
+
(animations.left &&
|
|
36
|
+
animations.left.duration !== animations[key].duration))) {
|
|
37
|
+
return NO;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return this.get('isFixedLayout');
|
|
43
|
+
}
|
|
44
|
+
return NO;
|
|
45
|
+
}.property('wantsAcceleratedLayer').cacheable()
|
|
46
|
+
});
|