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
|
@@ -91,7 +91,7 @@ SC.Validator.CreditCard = SC.Validator.extend(
|
|
|
91
91
|
bResult = false;
|
|
92
92
|
} else{ // ccNumb is a number and the proper length - let's see if it is a valid card number
|
|
93
93
|
if(len >= 15){ // 15 or 16 for Amex or V/MC
|
|
94
|
-
for(var i=len;i>0;i--){ // LOOP
|
|
94
|
+
for(var i=len;i>0;i--){ // LOOP through the digits of the card
|
|
95
95
|
calc = parseInt(iCCN,0) % 10; // right most digit
|
|
96
96
|
calc = parseInt(calc,0); // assure it is an integer
|
|
97
97
|
iTotal += calc; // running total of the card number as we loop - Do Nothing to first digit
|
|
@@ -52,7 +52,7 @@ SC.Validator.Date = SC.Validator.extend(
|
|
|
52
52
|
},
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
Try to
|
|
55
|
+
Try to pass value as a date. convert into a number, or return null if
|
|
56
56
|
it could not be parsed.
|
|
57
57
|
*/
|
|
58
58
|
objectForFieldValue: function(value, form, field) {
|
|
@@ -35,7 +35,7 @@ SC.Validator.DateTime = SC.Validator.extend({
|
|
|
35
35
|
},
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
Try to
|
|
38
|
+
Try to pass value as a date. convert into a number, or return null if
|
|
39
39
|
it could not be parsed.
|
|
40
40
|
*/
|
|
41
41
|
objectForFieldValue: function(value, form, field) {
|
|
@@ -65,7 +65,7 @@ SC.Validator.Password = SC.Validator.extend(
|
|
|
65
65
|
},
|
|
66
66
|
|
|
67
67
|
// this method is called just before the form is submitted.
|
|
68
|
-
// field: the field
|
|
68
|
+
// field: the field to validate.
|
|
69
69
|
validateSubmit: function(form, field) {
|
|
70
70
|
return this.updateFields(form, this.validate(true)) ;
|
|
71
71
|
},
|
|
@@ -102,11 +102,11 @@ SC.Validator = SC.Object.extend(
|
|
|
102
102
|
/**
|
|
103
103
|
Returns an error object if the field is invalid.
|
|
104
104
|
|
|
105
|
-
This is the other standard validator method that can be used to
|
|
105
|
+
This is the other standard validator method that can be used to implement basic validation.
|
|
106
106
|
Return an error object explaining why the field is not valid. It will only be called if
|
|
107
107
|
validate() returned NO.
|
|
108
108
|
|
|
109
|
-
The default implementation of
|
|
109
|
+
The default implementation of this method returns a generic error message with the loc
|
|
110
110
|
string "Invalid.Generate({fieldValue})". You can simply define this loc string in
|
|
111
111
|
strings.js if you prefer or you can override this method to provide a more specific error message.
|
|
112
112
|
|
|
@@ -131,7 +131,7 @@ SC.Validator = SC.Object.extend(
|
|
|
131
131
|
methods (validate() and validateError()) if you prefer.
|
|
132
132
|
|
|
133
133
|
The default implementation calls your validate() method and then validateError()
|
|
134
|
-
if
|
|
134
|
+
if validate() returns NO. This method should return SC.VALIDATE_OK if validation
|
|
135
135
|
succeeded or an error object if it fails.
|
|
136
136
|
|
|
137
137
|
@param {SC.FormView} form the form for the field
|
|
@@ -27,19 +27,6 @@ SC.FieldView = SC.View.extend(SC.Control, SC.Validatable,
|
|
|
27
27
|
/** @scope SC.FieldView.prototype */ {
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
If YES then we use textarea instead of input.
|
|
31
|
-
WARNING: Use only with textField** Juan
|
|
32
|
-
*/
|
|
33
|
-
isTextArea: NO,
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
The WAI-ARIA role for field view. This property's value should not be
|
|
37
|
-
changed.
|
|
38
|
-
|
|
39
|
-
@property {String}
|
|
40
|
-
*/
|
|
41
|
-
ariaRole: 'textbox',
|
|
42
|
-
|
|
43
30
|
_field_isMouseDown: NO,
|
|
44
31
|
|
|
45
32
|
/**
|
|
@@ -66,11 +53,16 @@ SC.FieldView = SC.View.extend(SC.Control, SC.Validatable,
|
|
|
66
53
|
current isEnabled state among other things.
|
|
67
54
|
*/
|
|
68
55
|
$input: function() {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
56
|
+
var elementTagName = this._inputElementTagName(); // usually "input"
|
|
57
|
+
return this.$(elementTagName).andSelf().filter(elementTagName);
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
/** @private
|
|
61
|
+
Override to specify the HTML element type to use as the field. For
|
|
62
|
+
example, "input" or "textarea".
|
|
63
|
+
*/
|
|
64
|
+
_inputElementTagName: function() {
|
|
65
|
+
return 'input';
|
|
74
66
|
},
|
|
75
67
|
|
|
76
68
|
/**
|
|
@@ -181,20 +173,9 @@ SC.FieldView = SC.View.extend(SC.Control, SC.Validatable,
|
|
|
181
173
|
*/
|
|
182
174
|
didCreateLayer: function() {
|
|
183
175
|
this.setFieldValue(this.get('fieldValue'));
|
|
184
|
-
|
|
176
|
+
this._addChangeEvent();
|
|
185
177
|
},
|
|
186
178
|
|
|
187
|
-
/** @private
|
|
188
|
-
after the layer is append to the doc, set the field value and observe events
|
|
189
|
-
only for textarea.
|
|
190
|
-
*/
|
|
191
|
-
didAppendToDocument: function() {
|
|
192
|
-
if (this.get('isTextArea')) {
|
|
193
|
-
this.setFieldValue(this.get('fieldValue'));
|
|
194
|
-
SC.Event.add(this.$input(), 'change', this, this._field_fieldValueDidChange) ;
|
|
195
|
-
}
|
|
196
|
-
},
|
|
197
|
-
|
|
198
179
|
willDestroyLayer: function() {
|
|
199
180
|
SC.Event.remove(this.$input(), 'change', this, this._field_fieldValueDidChange);
|
|
200
181
|
},
|
|
@@ -288,6 +269,10 @@ SC.FieldView = SC.View.extend(SC.Control, SC.Validatable,
|
|
|
288
269
|
if (SC.FOCUS_ALL_CONTROLS) { return this.get('isEnabled'); }
|
|
289
270
|
return NO;
|
|
290
271
|
}.property('isEnabled'),
|
|
272
|
+
|
|
273
|
+
_addChangeEvent: function() {
|
|
274
|
+
SC.Event.add(this.$input(), 'change', this, this._field_fieldValueDidChange);
|
|
275
|
+
},
|
|
291
276
|
|
|
292
277
|
// these methods use the validator to convert the raw field value returned
|
|
293
278
|
// by your subclass into an object and visa versa.
|
|
@@ -305,18 +290,6 @@ SC.FieldView = SC.View.extend(SC.Control, SC.Validatable,
|
|
|
305
290
|
var ret = this.getFieldValue() ;
|
|
306
291
|
if (this.objectForFieldValue) ret = this.objectForFieldValue(ret);
|
|
307
292
|
return ret ;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
render: function(context, firstTime) {
|
|
311
|
-
sc_super();
|
|
312
|
-
|
|
313
|
-
//addressing accessibility
|
|
314
|
-
if(firstTime) {
|
|
315
|
-
context.attr('aria-multiline', this.get('isTextArea'));
|
|
316
|
-
context.attr('aria-disabled', !this.get('isEnabled'));
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
|
|
293
|
+
}
|
|
321
294
|
});
|
|
322
295
|
|
|
@@ -20,7 +20,7 @@ SC.IMAGE_TYPE_CSS_CLASS = 'CSS_CLASS';
|
|
|
20
20
|
*/
|
|
21
21
|
SC.BLANK_IMAGE_DATAURL = "data:image/gif;base64,R0lGODlhAQABAJAAAP///wAAACH5BAUQAAAALAAAAAABAAEAAAICBAEAOw==";
|
|
22
22
|
|
|
23
|
-
SC.BLANK_IMAGE_URL = SC.browser.
|
|
23
|
+
SC.BLANK_IMAGE_URL = SC.browser.isIE && SC.browser.compare(SC.browser.engineVersion, '8') < 0 ? sc_static('blank.gif') : SC.BLANK_IMAGE_DATAURL;
|
|
24
24
|
|
|
25
25
|
SC.BLANK_IMAGE = new Image();
|
|
26
26
|
SC.BLANK_IMAGE.src = SC.BLANK_IMAGE_URL;
|
|
@@ -49,7 +49,8 @@ SC.ImageView = SC.View.extend(SC.Control, SC.InnerFrame,
|
|
|
49
49
|
|
|
50
50
|
classNames: 'sc-image-view',
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
// Don't apply this role until each image view can assign a non-empty string value for @aria-label <rdar://problem/9941887>
|
|
53
|
+
// ariaRole: 'img',
|
|
53
54
|
|
|
54
55
|
displayProperties: ['frame', 'image', 'innerFrame', 'toolTip', 'imageValue', 'type'],
|
|
55
56
|
|
|
@@ -378,5 +379,5 @@ SC.ImageView = SC.View.extend(SC.Control, SC.InnerFrame,
|
|
|
378
379
|
name.
|
|
379
380
|
*/
|
|
380
381
|
SC.ImageView.valueIsUrl = function(value) {
|
|
381
|
-
return value ? value.indexOf('/') >= 0 : NO ;
|
|
382
|
+
return value && SC.typeOf(value)===SC.T_STRING ? value.indexOf('/') >= 0 : NO ;
|
|
382
383
|
} ;
|
|
@@ -12,15 +12,15 @@ sc_require('mixins/inline_editor');
|
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
@class
|
|
15
|
-
|
|
16
|
-
The inline text editor is used to display an editable area for controls
|
|
15
|
+
|
|
16
|
+
The inline text editor is used to display an editable area for controls
|
|
17
17
|
that are not always editable such as label views and source list views.
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
You generally will not use the inline editor directly but instead will
|
|
20
|
-
invoke beginEditing() and endEditing() on the views you are
|
|
21
|
-
editing. If you would like to use the inline editor for your own views,
|
|
20
|
+
invoke beginEditing() and endEditing() on the views you are
|
|
21
|
+
editing. If you would like to use the inline editor for your own views,
|
|
22
22
|
you can do that also by using the editing API described here.
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
## Using the Inline Editor in Your Own Views
|
|
25
25
|
|
|
26
26
|
To use the inlineEditor on a custom view you should mixin SC.InlineEditable on
|
|
@@ -30,16 +30,16 @@ sc_require('mixins/inline_editor');
|
|
|
30
30
|
|
|
31
31
|
MyProject.MyView = SC.View.extend(SC.InlineEditable, {
|
|
32
32
|
});
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
### Starting the Editor
|
|
35
|
-
|
|
36
|
-
The inline editor works by positioning itself over the top of your view
|
|
35
|
+
|
|
36
|
+
The inline editor works by positioning itself over the top of your view
|
|
37
37
|
with the same offset, width, and font information.
|
|
38
38
|
|
|
39
39
|
To start it simply call beginEditing on your view.
|
|
40
40
|
|
|
41
41
|
myView.beginEditing();
|
|
42
|
-
|
|
42
|
+
|
|
43
43
|
By default, if the inline editor is currently in use elsewhere, it will automatically
|
|
44
44
|
close itself over there and begin editing for your view instead. This behavior
|
|
45
45
|
is defined by the inlineEditorDelegate of your view, and can be changed by using
|
|
@@ -65,25 +65,25 @@ sc_require('mixins/inline_editor');
|
|
|
65
65
|
the editor.
|
|
66
66
|
|
|
67
67
|
## Committing or Discarding Changes
|
|
68
|
-
|
|
69
|
-
Normally the editor will automatically commit or discard its changes
|
|
68
|
+
|
|
69
|
+
Normally the editor will automatically commit or discard its changes
|
|
70
70
|
whenever the user exits the edit mode by pressing enter, escape, or clicking
|
|
71
71
|
elsewhere on the page. If you need to force the editor to end editing, you can
|
|
72
72
|
do so by calling commitEditing() or discardEditing():
|
|
73
|
-
|
|
73
|
+
|
|
74
74
|
myView.commitEditing();
|
|
75
75
|
myView.discardEditing();
|
|
76
|
-
|
|
77
|
-
Both methods will try to end the editing context and will call the
|
|
76
|
+
|
|
77
|
+
Both methods will try to end the editing context and will call the
|
|
78
78
|
relevant delegate methods on the inlineEditorDelegate set on your view.
|
|
79
|
-
|
|
80
|
-
Note that it is possible an editor may not be able to commit editing
|
|
79
|
+
|
|
80
|
+
Note that it is possible an editor may not be able to commit editing
|
|
81
81
|
changes because either the delegate disallowed it or because its validator
|
|
82
82
|
failed. In this case commitEditing() will return NO. If you want to
|
|
83
83
|
end editing anyway, you can discard the editing changes instead by calling
|
|
84
84
|
discardEditing(). This method will generally succeed unless your delegate
|
|
85
85
|
refuses it as well.
|
|
86
|
-
|
|
86
|
+
|
|
87
87
|
@extends SC.TextFieldView
|
|
88
88
|
@since SproutCore 1.0
|
|
89
89
|
*/
|
|
@@ -95,6 +95,15 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
95
95
|
*/
|
|
96
96
|
_topOffsetForFirefoxCursorFix: 0,
|
|
97
97
|
|
|
98
|
+
/**
|
|
99
|
+
Tells RootResponder to blur us when there is a mousedown anywhere else.
|
|
100
|
+
|
|
101
|
+
@type Boolean
|
|
102
|
+
@default YES
|
|
103
|
+
*/
|
|
104
|
+
// TODO: remove this when focus behavior is improved
|
|
105
|
+
blurOnMouseDown: YES,
|
|
106
|
+
|
|
98
107
|
/*
|
|
99
108
|
* @private
|
|
100
109
|
* @method
|
|
@@ -172,7 +181,7 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
172
181
|
* @method
|
|
173
182
|
*
|
|
174
183
|
* Scans the given element for styles and copies them into a style element in
|
|
175
|
-
* the head. This allows the styles to be
|
|
184
|
+
* the head. This allows the styles to be overridden by css matching classNames
|
|
176
185
|
* on the editor.
|
|
177
186
|
*
|
|
178
187
|
* @params {element} the dom element to copy
|
|
@@ -226,6 +235,8 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
226
235
|
* @param {Boolean} if the view is a member of a collection
|
|
227
236
|
*/
|
|
228
237
|
positionOverTargetView: function(target, isCollection, pane, frame, elem) {
|
|
238
|
+
var isIE7;
|
|
239
|
+
|
|
229
240
|
if(!pane) pane = target.get('pane');
|
|
230
241
|
|
|
231
242
|
if(!elem) elem = target.$()[0];
|
|
@@ -247,20 +258,22 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
247
258
|
layout.height = frame.height;
|
|
248
259
|
layout.width = frame.width;
|
|
249
260
|
|
|
261
|
+
isIE7 = SC.browser.isIE &&
|
|
262
|
+
SC.browser.compare(SC.browser.engineVersion, '7') === 0;
|
|
250
263
|
if (isCollection && tarLayout.left) {
|
|
251
264
|
layout.left=frame.x-tarLayout.left-paneElem.offsetLeft-1;
|
|
252
|
-
if(
|
|
265
|
+
if(isIE7) layout.left--;
|
|
253
266
|
} else {
|
|
254
267
|
layout.left=frame.x-paneElem.offsetLeft-1;
|
|
255
|
-
if(
|
|
268
|
+
if(isIE7) layout.left--;
|
|
256
269
|
}
|
|
257
270
|
|
|
258
271
|
if (isCollection && tarLayout.top) {
|
|
259
272
|
layout.top=frame.y-tarLayout.top-paneElem.offsetTop;
|
|
260
|
-
if(
|
|
273
|
+
if(isIE7) layout.top=layout.top-2;
|
|
261
274
|
} else {
|
|
262
275
|
layout.top=frame.y-paneElem.offsetTop;
|
|
263
|
-
if(
|
|
276
|
+
if(isIE7) layout.top=layout.top-2;
|
|
264
277
|
}
|
|
265
278
|
|
|
266
279
|
this.set('layout', layout);
|
|
@@ -321,9 +334,9 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
321
334
|
}.enhance(),
|
|
322
335
|
|
|
323
336
|
/**
|
|
324
|
-
Invoked whenever the editor loses (or should lose) first responder
|
|
337
|
+
Invoked whenever the editor loses (or should lose) first responder
|
|
325
338
|
status to commit or discard editing.
|
|
326
|
-
|
|
339
|
+
|
|
327
340
|
@returns {Boolean}
|
|
328
341
|
*/
|
|
329
342
|
// TODO: this seems to do almost the same thing as fieldDidBlur
|
|
@@ -331,18 +344,18 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
331
344
|
if (!this.get('isEditing')) return YES ;
|
|
332
345
|
return this.commitOnBlur ? this.commitEditing() : this.discardEditing();
|
|
333
346
|
},
|
|
334
|
-
|
|
335
|
-
/**
|
|
347
|
+
|
|
348
|
+
/**
|
|
336
349
|
@method
|
|
337
350
|
@private
|
|
338
351
|
|
|
339
352
|
Called by commitEditing and discardEditing to actually end editing.
|
|
340
|
-
|
|
353
|
+
|
|
341
354
|
*/
|
|
342
355
|
_endEditing: function(original) {
|
|
343
356
|
var ret = original();
|
|
344
357
|
|
|
345
|
-
// resign first responder if not done already. This may call us in a
|
|
358
|
+
// resign first responder if not done already. This may call us in a
|
|
346
359
|
// loop but since isEditing is already NO, nothing will happen.
|
|
347
360
|
if (this.get('isFirstResponder')) {
|
|
348
361
|
var pane = this.get('pane');
|
|
@@ -362,21 +375,21 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
362
375
|
arguments.callee.base.call(this, e) ;
|
|
363
376
|
return this.get('isEditing');
|
|
364
377
|
},
|
|
365
|
-
|
|
378
|
+
|
|
366
379
|
touchStart: function(e){
|
|
367
380
|
this.mouseDown(e);
|
|
368
381
|
},
|
|
369
|
-
|
|
382
|
+
|
|
370
383
|
/** @private */
|
|
371
384
|
keyDown: function(evt) {
|
|
372
385
|
var ret = this.interpretKeyEvents(evt) ;
|
|
373
386
|
this.fieldValueDidChange(true);
|
|
374
387
|
return !ret ? NO : ret ;
|
|
375
388
|
},
|
|
376
|
-
|
|
389
|
+
|
|
377
390
|
/** @private */
|
|
378
391
|
insertText: null,
|
|
379
|
-
|
|
392
|
+
|
|
380
393
|
//keyUp: function() { return true; },
|
|
381
394
|
|
|
382
395
|
_scitf_blurInput: function() {
|
|
@@ -385,43 +398,43 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
385
398
|
el = null;
|
|
386
399
|
},
|
|
387
400
|
|
|
388
|
-
// [Safari] if you don't take key focus away from an element before you
|
|
401
|
+
// [Safari] if you don't take key focus away from an element before you
|
|
389
402
|
// remove it from the DOM key events are no longer sent to the browser.
|
|
390
403
|
/** @private */
|
|
391
404
|
willRemoveFromParent: function() {
|
|
392
405
|
return this._scitf_blurInput();
|
|
393
406
|
},
|
|
394
|
-
|
|
407
|
+
|
|
395
408
|
// ask owner to end editing.
|
|
396
409
|
/** @private */
|
|
397
410
|
willLoseFirstResponder: function(responder, evt) {
|
|
398
411
|
if (responder !== this) return;
|
|
399
412
|
|
|
400
413
|
// if we're about to lose first responder for any reason other than
|
|
401
|
-
// ending editing, make sure we clear the previous first responder so
|
|
414
|
+
// ending editing, make sure we clear the previous first responder so
|
|
402
415
|
// isn't cached
|
|
403
416
|
this._previousFirstResponder = null;
|
|
404
|
-
|
|
417
|
+
|
|
405
418
|
// store the original event that caused this to loose focus so that
|
|
406
419
|
// it can be passed to the delegate
|
|
407
420
|
this._origEvent = evt;
|
|
408
|
-
|
|
409
|
-
// should have been covered by willRemoveFromParent, but this was needed
|
|
421
|
+
|
|
422
|
+
// should have been covered by willRemoveFromParent, but this was needed
|
|
410
423
|
// too.
|
|
411
424
|
this._scitf_blurInput();
|
|
412
425
|
return this.blurEditor(evt) ;
|
|
413
426
|
},
|
|
414
|
-
|
|
427
|
+
|
|
415
428
|
/**
|
|
416
429
|
invoked when the user presses escape. Returns true to ignore keystroke
|
|
417
|
-
|
|
430
|
+
|
|
418
431
|
@returns {Boolean}
|
|
419
432
|
*/
|
|
420
|
-
cancel: function() {
|
|
421
|
-
this.discardEditing();
|
|
433
|
+
cancel: function() {
|
|
434
|
+
this.discardEditing();
|
|
422
435
|
return YES;
|
|
423
436
|
},
|
|
424
|
-
|
|
437
|
+
|
|
425
438
|
// do it here instead of waiting on the binding to make sure the UI
|
|
426
439
|
// updates immediately.
|
|
427
440
|
/** @private */
|
|
@@ -429,30 +442,30 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
429
442
|
arguments.callee.base.call(this, partialChange) ;
|
|
430
443
|
//this.resizeToFit(this.getFieldValue()) ;
|
|
431
444
|
},
|
|
432
|
-
|
|
445
|
+
|
|
433
446
|
// invoked when the user presses return. If this is a multi-line field,
|
|
434
|
-
// then allow the newine to proceed. Otherwise, try to commit the
|
|
447
|
+
// then allow the newine to proceed. Otherwise, try to commit the
|
|
435
448
|
// edit.
|
|
436
449
|
/** @private */
|
|
437
|
-
insertNewline: function(evt) {
|
|
450
|
+
insertNewline: function(evt) {
|
|
438
451
|
if (this.get('isTextArea')) {
|
|
439
452
|
evt.allowDefault();
|
|
440
453
|
return arguments.callee.base.call(this, evt) ;
|
|
441
454
|
} else {
|
|
442
|
-
// TODO : this is a work around. There is a bug where the
|
|
443
|
-
// last character would get dropped
|
|
455
|
+
// TODO : this is a work around. There is a bug where the
|
|
456
|
+
// last character would get dropped
|
|
444
457
|
// if the editing was completed by pressing return
|
|
445
458
|
// needs to be fixed
|
|
446
459
|
if (this.get('value') != this.$input().val()) {
|
|
447
460
|
this.set('value', this.$input().val());
|
|
448
461
|
}
|
|
449
|
-
|
|
462
|
+
|
|
450
463
|
this.commitEditing() ;
|
|
451
464
|
return YES ;
|
|
452
465
|
}
|
|
453
466
|
},
|
|
454
|
-
|
|
455
|
-
// Tries to find the next key view when tabbing. If the next view is
|
|
467
|
+
|
|
468
|
+
// Tries to find the next key view when tabbing. If the next view is
|
|
456
469
|
// editable, begins editing.
|
|
457
470
|
/** @private */
|
|
458
471
|
insertTab: function(evt) {
|
|
@@ -477,13 +490,13 @@ SC.InlineTextFieldView = SC.TextFieldView.extend(SC.InlineEditor,
|
|
|
477
490
|
}
|
|
478
491
|
return YES ;
|
|
479
492
|
},
|
|
480
|
-
|
|
493
|
+
|
|
481
494
|
/** @private */
|
|
482
495
|
deleteForward: function(evt) {
|
|
483
496
|
evt.allowDefault();
|
|
484
497
|
return YES;
|
|
485
498
|
},
|
|
486
|
-
|
|
499
|
+
|
|
487
500
|
/** @private */
|
|
488
501
|
deleteBackward: function(evt) {
|
|
489
502
|
evt.allowDefault();
|