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
|
@@ -31,22 +31,21 @@ test("invoked with key = * whenever content changes", function() {
|
|
|
31
31
|
view.set('content', content);
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
test("
|
|
35
|
-
var isTesting = NO,
|
|
34
|
+
test("should not be invoked when arbitrary keys are changed", function() {
|
|
35
|
+
var isTesting = NO, count = 0;
|
|
36
36
|
view.contentPropertyDidChange = function(target, key) {
|
|
37
37
|
if (!isTesting) return ; //wait until testing should begin...
|
|
38
|
-
|
|
39
|
-
equals(key, curKey, 'should pass * as key');
|
|
38
|
+
count++;
|
|
40
39
|
};
|
|
40
|
+
|
|
41
41
|
view.set('content', content);
|
|
42
42
|
|
|
43
43
|
isTesting = YES ;
|
|
44
44
|
|
|
45
|
-
curKey= 'foo';
|
|
46
45
|
content.set('foo', 'foo');
|
|
47
|
-
|
|
48
|
-
curKey = 'bar';
|
|
49
46
|
content.set('bar', 'bar');
|
|
47
|
+
|
|
48
|
+
equals(count, 0, "method was not invoked");
|
|
50
49
|
});
|
|
51
50
|
|
|
52
51
|
test("should no longer be invoked when a key is changed on a former content object", function() {
|
|
@@ -66,15 +65,16 @@ test("should no longer be invoked when a key is changed on a former content obje
|
|
|
66
65
|
|
|
67
66
|
test("should fire even on a content object set when the object is created", function() {
|
|
68
67
|
var callCount = 0;
|
|
69
|
-
var view = SC.
|
|
68
|
+
var view = SC.ButtonView.create({
|
|
70
69
|
contentPropertyDidChange: function() { callCount++; },
|
|
71
|
-
content: content
|
|
70
|
+
content: content,
|
|
71
|
+
contentTitleKey: 'title'
|
|
72
72
|
});
|
|
73
73
|
|
|
74
74
|
equals(callCount, 1, 'should call contentPropertyDidChange on init to do initial setup');
|
|
75
75
|
|
|
76
|
-
content.set('
|
|
77
|
-
equals(callCount, 2, 'should call contentPropertyDidChange when changing content.
|
|
76
|
+
content.set('title', 'title');
|
|
77
|
+
equals(callCount, 2, 'should call contentPropertyDidChange when changing content.title');
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
|
|
@@ -22,7 +22,7 @@ module("SC.CollectionView.reload", {
|
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
/*
|
|
25
|
-
|
|
25
|
+
Verifies that the item views for the passed collection view match exactly the
|
|
26
26
|
content array passed. If shouldShowAllContent is also YES then verifies
|
|
27
27
|
that the nowShowing range is showing the entire content range.
|
|
28
28
|
|
|
@@ -8,73 +8,87 @@
|
|
|
8
8
|
/*global module test htmlbody ok equals same stop start */
|
|
9
9
|
(function() {
|
|
10
10
|
var pane = SC.ControlTestPane.design()
|
|
11
|
-
.add("empty", SC.DateFieldView, {
|
|
12
|
-
hint: "dd/mm/yyyy",
|
|
11
|
+
.add("empty", SC.DateFieldView, {
|
|
12
|
+
hint: "dd/mm/yyyy",
|
|
13
13
|
value: ''
|
|
14
14
|
})
|
|
15
|
-
|
|
16
|
-
.add("with value", SC.DateFieldView, {
|
|
17
|
-
hint: "dd/mm/yyyy",
|
|
15
|
+
|
|
16
|
+
.add("with value", SC.DateFieldView, {
|
|
17
|
+
hint: "dd/mm/yyyy",
|
|
18
18
|
value: SC.DateTime.create({ day: 1, month: 1, year: 2010 })
|
|
19
19
|
})
|
|
20
|
-
|
|
21
|
-
.add("disabled - empty", SC.DateFieldView, {
|
|
22
|
-
hint: "dd/mm/yyyy",
|
|
20
|
+
|
|
21
|
+
.add("disabled - empty", SC.DateFieldView, {
|
|
22
|
+
hint: "dd/mm/yyyy",
|
|
23
23
|
value: null,
|
|
24
24
|
isEnabled: NO
|
|
25
25
|
})
|
|
26
|
-
|
|
27
|
-
.add("disabled - with value", SC.DateFieldView, {
|
|
28
|
-
hint: "dd/mm/yyyy",
|
|
26
|
+
|
|
27
|
+
.add("disabled - with value", SC.DateFieldView, {
|
|
28
|
+
hint: "dd/mm/yyyy",
|
|
29
29
|
value: SC.DateTime.create({ day: 1, month: 1, year: 2010 }),
|
|
30
30
|
isEnabled: NO
|
|
31
31
|
})
|
|
32
|
-
|
|
33
|
-
.add("date & time - empty", SC.DateFieldView, {
|
|
34
|
-
hint: "dd/mm/yyyy hh:mm AM/PM",
|
|
32
|
+
|
|
33
|
+
.add("date & time - empty", SC.DateFieldView, {
|
|
34
|
+
hint: "dd/mm/yyyy hh:mm AM/PM",
|
|
35
35
|
value: null,
|
|
36
36
|
showTime: YES
|
|
37
37
|
})
|
|
38
|
-
|
|
39
|
-
.add("date & time - with value", SC.DateFieldView, {
|
|
40
|
-
hint: "dd/mm/yyyy hh:mm AM/PM",
|
|
38
|
+
|
|
39
|
+
.add("date & time - with value", SC.DateFieldView, {
|
|
40
|
+
hint: "dd/mm/yyyy hh:mm AM/PM",
|
|
41
41
|
value: SC.DateTime.create({ day: 1, month: 1, year: 2010, hour: 10, minute: 20 }),
|
|
42
42
|
showTime: YES
|
|
43
43
|
})
|
|
44
|
-
|
|
45
|
-
.add("time - disabled - empty", SC.DateFieldView, {
|
|
46
|
-
hint: "hh:mm AM/PM",
|
|
44
|
+
|
|
45
|
+
.add("time - disabled - empty", SC.DateFieldView, {
|
|
46
|
+
hint: "hh:mm AM/PM",
|
|
47
47
|
value: null,
|
|
48
48
|
showTime: YES,
|
|
49
49
|
showDate: NO,
|
|
50
50
|
isEnabled: NO
|
|
51
51
|
})
|
|
52
|
-
|
|
53
|
-
.add("time - disabled - with value", SC.DateFieldView, {
|
|
54
|
-
hint: "hh:mm AM/PM",
|
|
52
|
+
|
|
53
|
+
.add("time - disabled - with value", SC.DateFieldView, {
|
|
54
|
+
hint: "hh:mm AM/PM",
|
|
55
55
|
value: SC.DateTime.create({ hour: 10, minute: 20 }),
|
|
56
56
|
showTime: YES,
|
|
57
57
|
showDate: NO,
|
|
58
58
|
isEnabled: NO
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
.add("empty - no hint on focus", SC.DateFieldView, {
|
|
62
|
+
hint: "dd/mm/yyyy",
|
|
63
|
+
value: '',
|
|
64
|
+
hintOnFocus: NO
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
.add("empty - disabled - no hint on focus", SC.DateFieldView, {
|
|
68
|
+
hint: "dd/mm/yyyy",
|
|
69
|
+
value: '',
|
|
70
|
+
isEnabled: NO,
|
|
71
|
+
hintOnFocus: NO
|
|
59
72
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
63
76
|
pane.show(); // add a test to show the test pane
|
|
64
77
|
|
|
65
78
|
// ..........................................................
|
|
66
79
|
// VERIFY STANDARD STATES
|
|
67
|
-
//
|
|
80
|
+
//
|
|
68
81
|
pane.verifyEmpty = function verifyEmpty(view, expectedHint) {
|
|
69
82
|
var input = view.$('input');
|
|
70
83
|
var layer = view.$();
|
|
71
|
-
|
|
84
|
+
|
|
72
85
|
ok(!layer.hasClass('not-empty'), 'layer should not have not-empty class');
|
|
73
|
-
if(SC.browser.
|
|
86
|
+
if(SC.browser.isWebkit || (SC.browser.isMozilla &&
|
|
87
|
+
SC.browser.compare(SC.browser.engineVersion, '2.0') >= 0) equals(input.val(), '', 'input should have empty value');
|
|
74
88
|
else equals(input.val(), expectedHint, 'input should have empty value');
|
|
75
|
-
|
|
89
|
+
|
|
76
90
|
if (expectedHint) {
|
|
77
|
-
var hint = view.$('.sc-hint');
|
|
91
|
+
var hint = (view.get('hintOnFocus') ? view.$('.hint') : view.$('.sc-hint'));
|
|
78
92
|
|
|
79
93
|
if (hint.length===1) {
|
|
80
94
|
hint = hint.text();
|
|
@@ -89,12 +103,12 @@ pane.verifyEmpty = function verifyEmpty(view, expectedHint) {
|
|
|
89
103
|
pane.verifyNotEmpty = function verifyNotEmpty(view, expectedValue, expectedHint) {
|
|
90
104
|
var input = view.$('input');
|
|
91
105
|
var layer = view.$();
|
|
92
|
-
|
|
106
|
+
|
|
93
107
|
ok(layer.hasClass('not-empty'), 'layer should have not-empty class');
|
|
94
108
|
equals(input.val(), expectedValue, 'input should have value');
|
|
95
|
-
|
|
109
|
+
|
|
96
110
|
if (expectedHint) {
|
|
97
|
-
var hint = view.$('.sc-hint');
|
|
111
|
+
var hint = (view.get('hintOnFocus') ? view.$('.hint') : view.$('.sc-hint'));
|
|
98
112
|
|
|
99
113
|
if (hint.length===1) {
|
|
100
114
|
hint = hint.text();
|
|
@@ -109,7 +123,7 @@ pane.verifyNotEmpty = function verifyNotEmpty(view, expectedValue, expectedHint)
|
|
|
109
123
|
pane.verifyDisabled = function verifyDisabled(view, isDisabled) {
|
|
110
124
|
var layer = view.$();
|
|
111
125
|
var input = view.$('input');
|
|
112
|
-
|
|
126
|
+
|
|
113
127
|
if (isDisabled) {
|
|
114
128
|
ok(layer.hasClass('disabled'), 'layer should have disabled class');
|
|
115
129
|
ok(input.attr('disabled'), 'input should have disabled attr');
|
|
@@ -122,7 +136,7 @@ pane.verifyDisabled = function verifyDisabled(view, isDisabled) {
|
|
|
122
136
|
|
|
123
137
|
// ..........................................................
|
|
124
138
|
// TEST INITIAL STATES
|
|
125
|
-
//
|
|
139
|
+
//
|
|
126
140
|
|
|
127
141
|
module('SC.DateFieldView ui', pane.standardSetup());
|
|
128
142
|
|
|
@@ -174,13 +188,25 @@ test("time - disabled - with value", function() {
|
|
|
174
188
|
pane.verifyDisabled(view, YES);
|
|
175
189
|
});
|
|
176
190
|
|
|
191
|
+
test("empty - no hint on focus", function() {
|
|
192
|
+
var view = pane.view('empty - no hint on focus');
|
|
193
|
+
pane.verifyEmpty(view, 'dd/mm/yyyy');
|
|
194
|
+
pane.verifyDisabled(view, NO);
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
test("empty - disabled - no hint on focus", function() {
|
|
198
|
+
var view = pane.view('empty - disabled - no hint on focus');
|
|
199
|
+
pane.verifyEmpty(view, 'dd/mm/yyyy');
|
|
200
|
+
pane.verifyDisabled(view, YES);
|
|
201
|
+
});
|
|
202
|
+
|
|
177
203
|
// ..........................................................
|
|
178
204
|
// TEST CHANGING VIEWS
|
|
179
|
-
//
|
|
205
|
+
//
|
|
180
206
|
|
|
181
207
|
test("changing value from empty -> value", function() {
|
|
182
208
|
var view = pane.view('empty');
|
|
183
|
-
|
|
209
|
+
|
|
184
210
|
// test changing value updates like it should
|
|
185
211
|
SC.RunLoop.begin();
|
|
186
212
|
view.set('value', SC.DateTime.create({ day: 1, month: 1, year: 2010 }));
|
|
@@ -188,9 +214,9 @@ test("changing value from empty -> value", function() {
|
|
|
188
214
|
pane.verifyNotEmpty(view, '01/01/2010', 'dd/mm/yyyy');
|
|
189
215
|
});
|
|
190
216
|
|
|
191
|
-
test("disabling view", function() {
|
|
217
|
+
test("disabling view", function() {
|
|
192
218
|
var view = pane.view('empty');
|
|
193
|
-
|
|
219
|
+
|
|
194
220
|
// test changing enabled state updates like it should
|
|
195
221
|
SC.RunLoop.begin();
|
|
196
222
|
view.set('isEnabled', NO);
|
|
@@ -221,13 +247,13 @@ test("enabling disabled view", function() {
|
|
|
221
247
|
|
|
222
248
|
// ..........................................................
|
|
223
249
|
// TEST SELECTION SUPPORT
|
|
224
|
-
//
|
|
250
|
+
//
|
|
225
251
|
|
|
226
|
-
test("Setting the selection to a null value should fail", function() {
|
|
252
|
+
test("Setting the selection to a null value should fail", function() {
|
|
227
253
|
var view = pane.view('with value');
|
|
228
254
|
var fieldElement = view.$input()[0];
|
|
229
255
|
fieldElement.size = 10; // Avoid Firefox 3.5 issue
|
|
230
|
-
|
|
256
|
+
|
|
231
257
|
var thrownException = null;
|
|
232
258
|
try {
|
|
233
259
|
view.set('selection', null);
|
|
@@ -241,11 +267,11 @@ test("Setting the selection to a null value should fail", function() {
|
|
|
241
267
|
}
|
|
242
268
|
});
|
|
243
269
|
|
|
244
|
-
test("Setting the selection to a non-SC.TextSelection value should fail", function() {
|
|
270
|
+
test("Setting the selection to a non-SC.TextSelection value should fail", function() {
|
|
245
271
|
var view = pane.view('with value');
|
|
246
272
|
var fieldElement = view.$input()[0];
|
|
247
273
|
fieldElement.size = 10; // Avoid Firefox 3.5 issue
|
|
248
|
-
|
|
274
|
+
|
|
249
275
|
var thrownException = null;
|
|
250
276
|
try {
|
|
251
277
|
view.set('selection', {start: 0, end: 0});
|
|
@@ -259,15 +285,15 @@ test("Setting the selection to a non-SC.TextSelection value should fail", functi
|
|
|
259
285
|
}
|
|
260
286
|
});
|
|
261
287
|
|
|
262
|
-
test("Setting and then getting back the selection", function() {
|
|
288
|
+
test("Setting and then getting back the selection", function() {
|
|
263
289
|
var view = pane.view('with value');
|
|
264
290
|
var fieldElement = view.$input()[0];
|
|
265
291
|
fieldElement.focus();
|
|
266
292
|
fieldElement.size = 10; // Avoid Firefox 3.5 issue
|
|
267
|
-
|
|
293
|
+
|
|
268
294
|
var newSelection = SC.TextSelection.create({start:2, end:5});
|
|
269
295
|
view.set('selection', newSelection);
|
|
270
|
-
|
|
296
|
+
|
|
271
297
|
var fetchedSelection = view.get('selection');
|
|
272
298
|
ok(fetchedSelection.get('start') === 2, 'the selection should start at index 2');
|
|
273
299
|
ok(fetchedSelection.get('end') === 5, 'the selection should end at index 4');
|
|
@@ -276,11 +302,11 @@ test("Setting and then getting back the selection", function() {
|
|
|
276
302
|
|
|
277
303
|
// ..........................................................
|
|
278
304
|
// TEST ACCESSORY VIEWS
|
|
279
|
-
//
|
|
305
|
+
//
|
|
280
306
|
|
|
281
|
-
test("Adding left accessory view", function() {
|
|
307
|
+
test("Adding left accessory view", function() {
|
|
282
308
|
var view = pane.view('with value');
|
|
283
|
-
|
|
309
|
+
|
|
284
310
|
// test adding accessory view adds the view like it should
|
|
285
311
|
SC.RunLoop.begin();
|
|
286
312
|
var accessoryView = SC.View.create({
|
|
@@ -292,14 +318,14 @@ test("Adding left accessory view", function() {
|
|
|
292
318
|
ok(view.get('leftAccessoryView') === accessoryView, 'left accessory view should be set to ' + accessoryView.toString());
|
|
293
319
|
ok(view.get('childViews').length === 1, 'there should only be one child view');
|
|
294
320
|
ok(view.get('childViews')[0] === accessoryView, 'first child view should be set to ' + accessoryView.toString());
|
|
295
|
-
|
|
296
|
-
|
|
321
|
+
|
|
322
|
+
|
|
297
323
|
// The hint and padding elements should automatically have their 'left'
|
|
298
324
|
// values set to the accessory view's offset + width
|
|
299
325
|
// (18 = 2 left offset + 16 width)
|
|
300
326
|
var paddingElement = view.$('.padding')[0];
|
|
301
327
|
ok(paddingElement.style.left === '18px', 'padding element should get 18px left');
|
|
302
|
-
|
|
328
|
+
|
|
303
329
|
// Test removing the accessory view.
|
|
304
330
|
SC.RunLoop.begin();
|
|
305
331
|
view.set('leftAccessoryView', null);
|
|
@@ -308,9 +334,9 @@ test("Adding left accessory view", function() {
|
|
|
308
334
|
ok(!paddingElement.style.left, 'after removing the left accessory view the padding element should have no left style');
|
|
309
335
|
});
|
|
310
336
|
|
|
311
|
-
test("Adding right accessory view", function() {
|
|
337
|
+
test("Adding right accessory view", function() {
|
|
312
338
|
var view = pane.view('with value');
|
|
313
|
-
|
|
339
|
+
|
|
314
340
|
// test adding accessory view adds the view like it should
|
|
315
341
|
SC.RunLoop.begin();
|
|
316
342
|
var accessoryView = SC.View.create({
|
|
@@ -322,15 +348,15 @@ test("Adding right accessory view", function() {
|
|
|
322
348
|
ok(view.get('rightAccessoryView') === accessoryView, 'right accessory view should be set to ' + accessoryView.toString());
|
|
323
349
|
ok(view.get('childViews').length === 1, 'there should only be one child view');
|
|
324
350
|
ok(view.get('childViews')[0] === accessoryView, 'first child view should be set to ' + accessoryView.toString());
|
|
325
|
-
|
|
326
|
-
|
|
351
|
+
|
|
352
|
+
|
|
327
353
|
// The hint and padding elements should automatically have their 'right'
|
|
328
354
|
// values set to the accessory view's offset + width
|
|
329
355
|
// (20 = 3 right offset + 17 width)
|
|
330
356
|
var paddingElement = view.$('.padding')[0];
|
|
331
357
|
ok(paddingElement.style.right === '20px', 'padding element should get 20px right');
|
|
332
|
-
|
|
333
|
-
|
|
358
|
+
|
|
359
|
+
|
|
334
360
|
// If a right accessory view is set with only 'left' (and not 'right')
|
|
335
361
|
// defined in its layout, 'left' should be cleared out and 'right' should
|
|
336
362
|
// be set to 0.
|
|
@@ -340,11 +366,11 @@ test("Adding right accessory view", function() {
|
|
|
340
366
|
});
|
|
341
367
|
view.set('rightAccessoryView', accessoryView);
|
|
342
368
|
SC.RunLoop.end();
|
|
343
|
-
|
|
369
|
+
|
|
344
370
|
ok(view.get('rightAccessoryView').get('layout').left === null, "right accessory view created with 'left' rather than 'right' in layout should have layout.left set to null");
|
|
345
371
|
ok(view.get('rightAccessoryView').get('layout').right === 0, "right accessory view created with 'left' rather than 'right' in layout should have layout.right set to 0");
|
|
346
|
-
|
|
347
|
-
|
|
372
|
+
|
|
373
|
+
|
|
348
374
|
// Test removing the accessory view.
|
|
349
375
|
SC.RunLoop.begin();
|
|
350
376
|
view.set('rightAccessoryView', null);
|
|
@@ -353,9 +379,9 @@ test("Adding right accessory view", function() {
|
|
|
353
379
|
ok(!paddingElement.style.right, 'after removing the right accessory view the padding element should have no right style');
|
|
354
380
|
});
|
|
355
381
|
|
|
356
|
-
test("Adding both left and right accessory views", function() {
|
|
382
|
+
test("Adding both left and right accessory views", function() {
|
|
357
383
|
var view = pane.view('with value');
|
|
358
|
-
|
|
384
|
+
|
|
359
385
|
// test adding accessory view adds the view like it should
|
|
360
386
|
SC.RunLoop.begin();
|
|
361
387
|
var leftAccessoryView = SC.View.create({
|
|
@@ -369,8 +395,8 @@ test("Adding both left and right accessory views", function() {
|
|
|
369
395
|
SC.RunLoop.end();
|
|
370
396
|
|
|
371
397
|
ok(view.get('childViews').length === 2, 'we should have two child views since we added both a left and a right accessory view');
|
|
372
|
-
|
|
373
|
-
|
|
398
|
+
|
|
399
|
+
|
|
374
400
|
// The hint and padding elements should automatically have their 'left' and
|
|
375
401
|
// 'right' values set to the accessory views' offset + width
|
|
376
402
|
// * left: 18 = 2 left offset + 16 width)
|
|
@@ -378,8 +404,8 @@ test("Adding both left and right accessory views", function() {
|
|
|
378
404
|
var paddingElement = view.$('.padding')[0];
|
|
379
405
|
ok(paddingElement.style.left === '18px', 'padding element should get 18px left');
|
|
380
406
|
ok(paddingElement.style.right === '20px', 'padding element should get 20px right');
|
|
381
|
-
|
|
382
|
-
|
|
407
|
+
|
|
408
|
+
|
|
383
409
|
// Test removing the accessory views.
|
|
384
410
|
SC.RunLoop.begin();
|
|
385
411
|
view.set('rightAccessoryView', null);
|
|
@@ -397,19 +423,19 @@ test("Adding both left and right accessory views", function() {
|
|
|
397
423
|
|
|
398
424
|
// ..........................................................
|
|
399
425
|
// TEST EVENTS
|
|
400
|
-
//
|
|
426
|
+
//
|
|
401
427
|
/*
|
|
402
428
|
test("focus and blurring text field", function() {
|
|
403
429
|
var view = pane.view('with value');
|
|
404
430
|
var input = view.$('input');
|
|
405
|
-
|
|
431
|
+
|
|
406
432
|
// attempt to focus...
|
|
407
433
|
SC.Event.trigger(input, 'focus');
|
|
408
|
-
|
|
434
|
+
|
|
409
435
|
// verify editing state changed...
|
|
410
436
|
ok(view.get('isEditing'), 'view.isEditing should be YES');
|
|
411
437
|
ok(view.$().hasClass('focus'), 'view layer should have focus class');
|
|
412
|
-
|
|
438
|
+
|
|
413
439
|
// simulate typing a letter
|
|
414
440
|
//SC.Event.trigger(input, 'keydown');
|
|
415
441
|
SC.Event.trigger(input, 'right');
|
|
@@ -417,27 +443,27 @@ test("focus and blurring text field", function() {
|
|
|
417
443
|
//SC.Event.trigger(input, 'keyup');
|
|
418
444
|
//input.val('f');
|
|
419
445
|
SC.Event.trigger(input, 'change');
|
|
420
|
-
|
|
446
|
+
|
|
421
447
|
var selection = view.get('selection');
|
|
422
448
|
console.log("Current selection: %@".fmt(selection));
|
|
423
|
-
|
|
424
|
-
// wait a little bit to let text field
|
|
449
|
+
|
|
450
|
+
// wait a little bit to let text field propagate changes
|
|
425
451
|
stop();
|
|
426
|
-
|
|
452
|
+
|
|
427
453
|
setTimeout(function() {
|
|
428
454
|
start();
|
|
429
|
-
|
|
455
|
+
|
|
430
456
|
equals(view.get('value'), '02/01/2010', 'view should have new value');
|
|
431
457
|
equals(view.get('fieldValue'), '02/01/2010', 'view should have new value');
|
|
432
|
-
|
|
458
|
+
|
|
433
459
|
// attempt to blur...
|
|
434
460
|
SC.Event.trigger(input, 'blur');
|
|
435
461
|
|
|
436
462
|
// verify editing state changed...
|
|
437
463
|
ok(!view.get('isEditing'), 'view.isEditing should be NO');
|
|
438
464
|
ok(!view.$().hasClass('focus'), 'view layer should NOT have focus class');
|
|
439
|
-
}, 100);
|
|
440
|
-
|
|
465
|
+
}, 100);
|
|
466
|
+
|
|
441
467
|
});
|
|
442
468
|
|
|
443
469
|
test("editing a field should not change the cursor position", function() {
|