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
|
@@ -79,9 +79,7 @@ SC.CheckboxView = SC.ButtonView.extend(SC.StaticLayout,
|
|
|
79
79
|
if(!this.get('isEnabled')) return YES;
|
|
80
80
|
this.set('isActive', YES);
|
|
81
81
|
this._isMouseDown = YES;
|
|
82
|
-
|
|
83
|
-
// action, that way textfields loose focus as expected.
|
|
84
|
-
if (evt) evt.allowDefault();
|
|
82
|
+
if (evt && this.get('acceptsFirstResponder')) evt.allowDefault();
|
|
85
83
|
return YES;
|
|
86
84
|
},
|
|
87
85
|
|
|
@@ -92,11 +90,12 @@ SC.CheckboxView = SC.ButtonView.extend(SC.StaticLayout,
|
|
|
92
90
|
this.set('isActive', NO);
|
|
93
91
|
this._isMouseDown = NO;
|
|
94
92
|
|
|
95
|
-
this._toggleValue();
|
|
96
|
-
|
|
97
93
|
// fire action
|
|
98
94
|
if (this.get('buttonBehavior') !== SC.HOLD_BEHAVIOR) {
|
|
99
|
-
if (this.$().within(evt.target)) {
|
|
95
|
+
if (this.$().within(evt.target)) {
|
|
96
|
+
this._toggleValue();
|
|
97
|
+
this._action(evt);
|
|
98
|
+
}
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
return YES;
|
|
@@ -62,9 +62,9 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
64
|
@type Array
|
|
65
|
-
@default ['
|
|
65
|
+
@default ['hasFirstResponder', 'isEnabled', 'isActive']
|
|
66
66
|
*/
|
|
67
|
-
displayProperties: ['
|
|
67
|
+
displayProperties: ['hasFirstResponder', 'isEnabled', 'isActive'],
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
70
|
@type String
|
|
@@ -409,7 +409,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
409
409
|
|
|
410
410
|
For example, if you set `contentValueKey` to 'name' and set the
|
|
411
411
|
exampleView to an `SC.LabelView`, then the label views created by the
|
|
412
|
-
|
|
412
|
+
collection view will display the value of the content.name.
|
|
413
413
|
|
|
414
414
|
If you are writing your own custom item view for a collection, you can
|
|
415
415
|
get this behavior automatically by including the SC.Control mixin on your
|
|
@@ -443,7 +443,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
443
443
|
This property is used to store the calculated height to have
|
|
444
444
|
a consistent scrolling behavior due to the issues generated by using top
|
|
445
445
|
instead of `scrollTop`. We could look at the min-height set in the view, but
|
|
446
|
-
to avoid
|
|
446
|
+
to avoid performance hits we simply store it and the scrollView will use it if
|
|
447
447
|
different than 0.
|
|
448
448
|
|
|
449
449
|
@type Number
|
|
@@ -455,7 +455,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
455
455
|
This property is used to store the calculated width to have
|
|
456
456
|
a consistent scrolling behavior due to the issues generated by using left
|
|
457
457
|
instead of `scrollLeft`. We could look at the min-width set in the view, but
|
|
458
|
-
to avoid
|
|
458
|
+
to avoid performance hits we simply store it and the scrollView will use it if
|
|
459
459
|
different than 0.
|
|
460
460
|
|
|
461
461
|
@type Number
|
|
@@ -557,7 +557,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
557
557
|
passed value is `null`, then you should show the insertion point *AFTER* that
|
|
558
558
|
last item view returned by the itemViews property.
|
|
559
559
|
|
|
560
|
-
Once this method is called, you are guaranteed to also
|
|
560
|
+
Once this method is called, you are guaranteed to also receive a call to
|
|
561
561
|
`hideInsertionPoint()` at some point in the future.
|
|
562
562
|
|
|
563
563
|
The default implementation of this method does nothing.
|
|
@@ -701,9 +701,9 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
701
701
|
Note that if you do implement this method, you are expected to maintain
|
|
702
702
|
the range observer object yourself. If a range observer has not been
|
|
703
703
|
created yet, this method should create it. If an observer already exists
|
|
704
|
-
this method should
|
|
704
|
+
this method should update it.
|
|
705
705
|
|
|
706
|
-
When you create a new range observer, the
|
|
706
|
+
When you create a new range observer, the observer must eventually call
|
|
707
707
|
`contentRangeDidChange()` for the collection view to function properly.
|
|
708
708
|
|
|
709
709
|
If you override this method you probably also need to override
|
|
@@ -735,7 +735,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
735
735
|
provide your own range observer behavior.
|
|
736
736
|
|
|
737
737
|
Note that if you override this method you should probably also override
|
|
738
|
-
`updateRangeObserver()` to create or update a range
|
|
738
|
+
`updateRangeObserver()` to create or update a range observer as needed.
|
|
739
739
|
|
|
740
740
|
@returns {void}
|
|
741
741
|
*/
|
|
@@ -759,6 +759,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
759
759
|
contentLengthDidChange: function() {
|
|
760
760
|
var content = this.get('content');
|
|
761
761
|
this.set('length', content ? content.get('length') : 0);
|
|
762
|
+
this.computeLayout();
|
|
762
763
|
},
|
|
763
764
|
|
|
764
765
|
/** @private
|
|
@@ -852,7 +853,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
852
853
|
define them on your subclass:
|
|
853
854
|
|
|
854
855
|
- *willReload()* is called just before the items are reloaded
|
|
855
|
-
- *didReload()* is called
|
|
856
|
+
- *didReload()* is called just after items are reloaded
|
|
856
857
|
|
|
857
858
|
You can use these two methods to setup and teardown caching, which may
|
|
858
859
|
reduce overall cost of a reload. Each method will be passed an index set
|
|
@@ -1561,7 +1562,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
1561
1562
|
},
|
|
1562
1563
|
|
|
1563
1564
|
/**
|
|
1564
|
-
|
|
1565
|
+
Primitive to remove the indexes from the selection.
|
|
1565
1566
|
|
|
1566
1567
|
@param {Number|SC.IndexSet} indexes index or indexes to deselect
|
|
1567
1568
|
@returns {SC.CollectionView} receiver
|
|
@@ -2189,7 +2190,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
2189
2190
|
return YES;
|
|
2190
2191
|
}
|
|
2191
2192
|
|
|
2192
|
-
//
|
|
2193
|
+
// received a mouseDown on the collection element, but not on one of the
|
|
2193
2194
|
// childItems... unless we do not allow empty selections, set it to empty.
|
|
2194
2195
|
if (!itemView) {
|
|
2195
2196
|
if (this.get('allowDeselectAll')) this.select(null, false);
|
|
@@ -2782,7 +2783,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
2782
2783
|
_computeDropOperationState: function(drag, evt, dragOp) {
|
|
2783
2784
|
// get the insertion index for this location. This can be computed
|
|
2784
2785
|
// by a subclass using whatever method. This method is not expected to
|
|
2785
|
-
// do any data
|
|
2786
|
+
// do any data validation, just to map the location to an insertion
|
|
2786
2787
|
// index.
|
|
2787
2788
|
var loc = this.convertFrameFromView(drag.get('location'), null),
|
|
2788
2789
|
dropOp = SC.DROP_BEFORE,
|
|
@@ -2996,7 +2997,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
2996
2997
|
if (i < idx) idx--;
|
|
2997
2998
|
}, this);
|
|
2998
2999
|
|
|
2999
|
-
// now insert objects into new insertion
|
|
3000
|
+
// now insert objects into new insertion location
|
|
3000
3001
|
if (dropOp === SC.DROP_AFTER) idx++;
|
|
3001
3002
|
content.replace(idx, 0, objects, dropOp);
|
|
3002
3003
|
this.select(SC.IndexSet.create(idx, objects.length));
|
|
@@ -3044,7 +3045,7 @@ SC.CollectionView = SC.View.extend(SC.CollectionViewDelegate, SC.CollectionConte
|
|
|
3044
3045
|
possible. Otherwise, you should never return DROP_ON.
|
|
3045
3046
|
|
|
3046
3047
|
For compatibility, you can also return just the insertion index. If you
|
|
3047
|
-
do this, then the
|
|
3048
|
+
do this, then the collection view will assume the drop operation is
|
|
3048
3049
|
SC.DROP_BEFORE.
|
|
3049
3050
|
|
|
3050
3051
|
If an insertion is NOT allowed, you should return -1 as the insertion
|
|
@@ -8,40 +8,40 @@
|
|
|
8
8
|
|
|
9
9
|
/** @class
|
|
10
10
|
|
|
11
|
-
A Date field add behaviour to the Text Field to support date management,
|
|
11
|
+
A Date field add behaviour to the Text Field to support date management,
|
|
12
12
|
for example, disabling deletion, and special behaviour to tabs commands.
|
|
13
|
-
|
|
14
|
-
This field view is
|
|
15
|
-
|
|
13
|
+
|
|
14
|
+
This field view is tightly integrated with SC.DateTime
|
|
15
|
+
|
|
16
16
|
By default the Date Field View show Date only, but if you need to show the Time do:
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
dateAndTime: Shared.DateFieldView.design({
|
|
19
19
|
showTime: YES,
|
|
20
20
|
valueBinding: '...'
|
|
21
21
|
}),
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
and if you only need to show time:
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
timeOnly: Shared.DateFieldView.design({
|
|
26
26
|
showTime: YES,
|
|
27
27
|
showDate: NO,
|
|
28
28
|
valueBinding: '...'
|
|
29
29
|
})
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
Example usage with special format:
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
specialDate: Shared.DateFieldView.design({
|
|
34
34
|
formatDate: '%d %b of %Y',
|
|
35
35
|
valueBinding: '...'
|
|
36
36
|
}),
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
You can override these format as you like, but has some limitations,
|
|
39
39
|
actually only support these KEY from SC.DateTime:
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
%a %b %d %H %I %j %m %M %p %S %U %W %y %Y
|
|
42
|
-
|
|
42
|
+
|
|
43
43
|
These are keys that has FIXED length, so we can control the selection and tabing.
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
@extends SC.TextFieldView
|
|
46
46
|
@since SproutCore 1.0
|
|
47
47
|
@author Juan Pablo Goldfinger
|
|
@@ -54,49 +54,49 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
54
54
|
@default null
|
|
55
55
|
*/
|
|
56
56
|
value: null,
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
/**
|
|
59
59
|
@type Boolean
|
|
60
60
|
@default YES
|
|
61
61
|
*/
|
|
62
62
|
showDate: YES,
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
/**
|
|
65
65
|
@type Boolean
|
|
66
66
|
@default NO
|
|
67
67
|
*/
|
|
68
68
|
showTime: NO,
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
/**
|
|
71
71
|
@type String
|
|
72
72
|
@default '%I:%M %p'
|
|
73
73
|
*/
|
|
74
74
|
formatTime: '%I:%M %p',
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
/**
|
|
77
77
|
@type String
|
|
78
78
|
@default '%d/%m/%Y'
|
|
79
79
|
*/
|
|
80
80
|
formatDate: '%d/%m/%Y',
|
|
81
|
-
|
|
81
|
+
|
|
82
82
|
/**
|
|
83
83
|
@type String
|
|
84
84
|
@default '%d/%m/%Y %I:%M %p'
|
|
85
85
|
*/
|
|
86
86
|
formatDateTime: '%d/%m/%Y %I:%M %p',
|
|
87
|
-
|
|
87
|
+
|
|
88
88
|
// DateTime constants (with fixed width, like numbers or abbs with fixed length)
|
|
89
89
|
// original: '%a %A %b %B %c %d %h %H %i %I %j %m %M %p %S %U %W %x %X %y %Y %Z %%'.w(),
|
|
90
|
-
// NOTE: I think that %a and %b
|
|
91
|
-
// with 1..31 without zeros at start, but causes the
|
|
90
|
+
// NOTE: I think that %a and %b aren't useful because is more adequate to represent day
|
|
91
|
+
// with 1..31 without zeros at start, but causes the length not to be fixed)
|
|
92
92
|
|
|
93
93
|
/** @private*/
|
|
94
94
|
_dtConstants: ['%a', '%b', '%d', '%H', '%I', '%j', '%m', '%M', '%p', '%S', '%U', '%W', '%y', '%Y'],
|
|
95
95
|
// Width constants for each representation %@.
|
|
96
|
-
|
|
96
|
+
|
|
97
97
|
/** @private */
|
|
98
98
|
_wtConstants: [3,3,2,2,2,3,2,2,2,2,2,2,2,4],
|
|
99
|
-
|
|
99
|
+
|
|
100
100
|
/** @private */
|
|
101
101
|
activeSelection: 0,
|
|
102
102
|
|
|
@@ -104,7 +104,7 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
104
104
|
FUTURE: DatePickerSupport.
|
|
105
105
|
createChildViews: function() {
|
|
106
106
|
sc_super();
|
|
107
|
-
if (SC.browser.
|
|
107
|
+
if (SC.browser.isWebkit) {
|
|
108
108
|
// ON MOZILLA DON'T WORK
|
|
109
109
|
var view = Shared.DatePickerView.extend({
|
|
110
110
|
layout: { right: 0, centerY: 0, width: 18, height: 15 }
|
|
@@ -115,10 +115,10 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
117
|
*/
|
|
118
|
-
|
|
118
|
+
|
|
119
119
|
/**
|
|
120
120
|
The current format to apply for Validator and to show.
|
|
121
|
-
|
|
121
|
+
|
|
122
122
|
@field
|
|
123
123
|
@type String
|
|
124
124
|
@observes showTime
|
|
@@ -131,10 +131,10 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
131
131
|
if (st === YES) return this.get('formatTime');
|
|
132
132
|
return this.get('formatDate');
|
|
133
133
|
}.property('showTime', 'showDate').cacheable(),
|
|
134
|
-
|
|
134
|
+
|
|
135
135
|
/**
|
|
136
|
-
The current validator to format the Date to the input field and
|
|
137
|
-
|
|
136
|
+
The current validator to format the Date to the input field and vice versa.
|
|
137
|
+
|
|
138
138
|
@field
|
|
139
139
|
@type SC.Validator.DateTime
|
|
140
140
|
@observes format
|
|
@@ -142,34 +142,34 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
142
142
|
validator: function() {
|
|
143
143
|
return SC.Validator.DateTime.extend({ format: this.get('format') });
|
|
144
144
|
}.property('format').cacheable(),
|
|
145
|
-
|
|
145
|
+
|
|
146
146
|
/**
|
|
147
147
|
Array of Key/TextSelection found for the current format.
|
|
148
|
-
|
|
148
|
+
|
|
149
149
|
@field
|
|
150
150
|
@type SC.Array
|
|
151
|
-
*/
|
|
151
|
+
*/
|
|
152
152
|
tabsSelections: function() {
|
|
153
153
|
var arr = [];
|
|
154
154
|
var ft = this.get('format');
|
|
155
155
|
var _dt = this.get('_dtConstants');
|
|
156
156
|
var _wt = this.get('_wtConstants');
|
|
157
|
-
|
|
158
|
-
// Parse the string format to retrieve and build
|
|
157
|
+
|
|
158
|
+
// Parse the string format to retrieve and build
|
|
159
159
|
// a TextSelection array ordered to support tabs behaviour
|
|
160
160
|
if (SC.empty(ft)) {
|
|
161
161
|
throw 'The format string is empty, and must be a valid string.';
|
|
162
162
|
}
|
|
163
|
-
|
|
163
|
+
|
|
164
164
|
var pPos, key, keyPos, startAt = 0, nPos = 0, oPos = 0;
|
|
165
165
|
while(startAt < ft.length && ft.indexOf('%', startAt) !== -1) {
|
|
166
166
|
pPos = ft.indexOf('%', startAt);
|
|
167
167
|
key = ft.substring(pPos, pPos + 2);
|
|
168
168
|
startAt = pPos + 2;
|
|
169
|
-
|
|
169
|
+
|
|
170
170
|
keyPos = _dt.indexOf(key);
|
|
171
171
|
if (keyPos === -1) {
|
|
172
|
-
throw "SC.DateFieldView: The format's key '%@' is not supported.".fmt(key);
|
|
172
|
+
throw "SC.DateFieldView: The format's key '%@' is not supported.".fmt(key);
|
|
173
173
|
}
|
|
174
174
|
nPos = nPos + pPos - oPos;
|
|
175
175
|
arr.push(SC.Object.create({
|
|
@@ -177,13 +177,13 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
177
177
|
textSelection: SC.TextSelection.create({ start: nPos, end: nPos + _wt[keyPos] })
|
|
178
178
|
}));
|
|
179
179
|
nPos = nPos + _wt[keyPos];
|
|
180
|
-
oPos = startAt;
|
|
180
|
+
oPos = startAt;
|
|
181
181
|
}
|
|
182
182
|
pPos = key = keyPos = null;
|
|
183
|
-
|
|
183
|
+
|
|
184
184
|
return arr;
|
|
185
185
|
}.property('format').cacheable(),
|
|
186
|
-
|
|
186
|
+
|
|
187
187
|
/** @private
|
|
188
188
|
If the activeSelection changes or the value changes, update the "TextSelection" to show accordingly.
|
|
189
189
|
*/
|
|
@@ -194,7 +194,7 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
194
194
|
this.selection(null, ts[as].get('textSelection'));
|
|
195
195
|
}
|
|
196
196
|
}.observes('activeSelection', 'value'),
|
|
197
|
-
|
|
197
|
+
|
|
198
198
|
/** @private
|
|
199
199
|
Updates the value according the key.
|
|
200
200
|
*/
|
|
@@ -216,22 +216,22 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
216
216
|
case '%U': this.set('value', value.advance({ week1: newValue })); break;
|
|
217
217
|
case '%W': this.set('value', value.advance({ week0: newValue })); break;
|
|
218
218
|
case '%y': case '%Y': this.set('value', value.advance({ year: newValue })); break;
|
|
219
|
-
}
|
|
219
|
+
}
|
|
220
220
|
},
|
|
221
|
-
|
|
221
|
+
|
|
222
222
|
_selectRootElement: function() {
|
|
223
|
-
// TODO: This is a solution while I don't found how we
|
|
223
|
+
// TODO: This is a solution while I don't found how we
|
|
224
224
|
// receive the last key from the last input.
|
|
225
225
|
// (to see if is entering with Tab or backTab)
|
|
226
226
|
/*if (this.get('activeSelection') === -1) {
|
|
227
227
|
}*/
|
|
228
228
|
},
|
|
229
229
|
|
|
230
|
-
|
|
230
|
+
|
|
231
231
|
// ..........................................................
|
|
232
232
|
// Key Event Support
|
|
233
|
-
//
|
|
234
|
-
|
|
233
|
+
//
|
|
234
|
+
|
|
235
235
|
/** @private */
|
|
236
236
|
keyDown: function(evt) {
|
|
237
237
|
if (this.interpretKeyEvents(evt)) {
|
|
@@ -240,7 +240,7 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
240
240
|
}
|
|
241
241
|
return sc_super();
|
|
242
242
|
},
|
|
243
|
-
|
|
243
|
+
|
|
244
244
|
/** @private */
|
|
245
245
|
ctrl_a: function() {
|
|
246
246
|
return YES;
|
|
@@ -277,7 +277,7 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
277
277
|
this.set('activeSelection', ns);
|
|
278
278
|
return YES;
|
|
279
279
|
},
|
|
280
|
-
|
|
280
|
+
|
|
281
281
|
/** @private */
|
|
282
282
|
moveLeft: function(evt) {
|
|
283
283
|
var ts = this.get('tabsSelections');
|
|
@@ -293,9 +293,9 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
293
293
|
insertTab: function(evt) {
|
|
294
294
|
var ts = this.get('tabsSelections');
|
|
295
295
|
var ns = this.get('activeSelection') + 1;
|
|
296
|
-
if (ns < ts.length) {
|
|
296
|
+
if (ns < ts.length) {
|
|
297
297
|
this.set('activeSelection', ns);
|
|
298
|
-
return YES;
|
|
298
|
+
return YES;
|
|
299
299
|
}
|
|
300
300
|
return NO;
|
|
301
301
|
},
|
|
@@ -303,7 +303,7 @@ SC.DateFieldView = SC.TextFieldView.extend(
|
|
|
303
303
|
/** @private */
|
|
304
304
|
insertBacktab: function(evt) {
|
|
305
305
|
var ns = this.get('activeSelection') - 1;
|
|
306
|
-
if (ns !== -1) {
|
|
306
|
+
if (ns !== -1) {
|
|
307
307
|
this.set('activeSelection', ns);
|
|
308
308
|
return YES;
|
|
309
309
|
}
|
|
@@ -66,7 +66,7 @@ SC.DisclosureView = SC.ButtonView.extend(
|
|
|
66
66
|
/** @private
|
|
67
67
|
|
|
68
68
|
Allows toggling of the value with the right and left arrow keys.
|
|
69
|
-
Extends the behavior
|
|
69
|
+
Extends the behavior inherited from SC.ButtonView.
|
|
70
70
|
@param evt
|
|
71
71
|
*/
|
|
72
72
|
keyDown: function(evt) {
|
|
@@ -111,7 +111,7 @@ SC.GridView = SC.ListView.extend(
|
|
|
111
111
|
},
|
|
112
112
|
|
|
113
113
|
/** @private
|
|
114
|
-
Overrides default CollectionView method to compute the
|
|
114
|
+
Overrides default CollectionView method to compute the minimum height
|
|
115
115
|
of the list view.
|
|
116
116
|
*/
|
|
117
117
|
computeLayout: function() {
|