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
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
SproutCore views have built-in touch events. However, sometimes you may want
|
|
15
15
|
to recognize gestures like tap, pinch, swipe, etc. This becomes tedious if you
|
|
16
|
-
need to do this often, and
|
|
16
|
+
need to do this often, and more so if you need to check for multiple possible
|
|
17
17
|
gestures on the same view.
|
|
18
18
|
|
|
19
19
|
SC.Gesturable allows you to define a collection of gestures (SC.Gesture objects)
|
|
@@ -130,7 +130,7 @@ SC.Gesturable = {
|
|
|
130
130
|
|
|
131
131
|
If you override touchStart, you will need to call gestureTouchStart to
|
|
132
132
|
give the gesture system control of the touch. You will continue to get
|
|
133
|
-
events until if and when a gesture decides to take "
|
|
133
|
+
events until if and when a gesture decides to take "possession" of a touch—
|
|
134
134
|
at this point, you will get a [gestureName]Start event.
|
|
135
135
|
|
|
136
136
|
You do not have to call gestureTouchStart immediately; you can call it
|
|
@@ -107,7 +107,7 @@ SC.InlineEditable = {
|
|
|
107
107
|
|
|
108
108
|
Will fail if the delegate returns NO to inlineEditorShouldBeginEditing.
|
|
109
109
|
|
|
110
|
-
@returns {Boolean} whether the view
|
|
110
|
+
@returns {Boolean} whether the view successfully entered edit mode
|
|
111
111
|
*/
|
|
112
112
|
beginEditing: function() {
|
|
113
113
|
var del;
|
|
@@ -158,7 +158,7 @@ SC.InlineEditable = {
|
|
|
158
158
|
@returns {Boolean} if the view is allowed to begin editing
|
|
159
159
|
*/
|
|
160
160
|
inlineEditorShouldBeginEditing: function() {
|
|
161
|
-
return !this.isEditing && this.isEditable;
|
|
161
|
+
return !this.get('isEditing') && this.get('isEditable');
|
|
162
162
|
},
|
|
163
163
|
|
|
164
164
|
// TODO: implement validator
|
|
@@ -83,7 +83,7 @@ SC.InlineEditor = {
|
|
|
83
83
|
@returns {Boolean} whether the editor was able to successfully begin editing
|
|
84
84
|
*/
|
|
85
85
|
beginEditing:function(editable) {
|
|
86
|
-
if(this.get('isEditing') || !editable) return NO;
|
|
86
|
+
if(this.get('isEditing') || !editable || !editable.isInlineEditable) return NO;
|
|
87
87
|
|
|
88
88
|
var del, target;
|
|
89
89
|
|
|
@@ -98,6 +98,10 @@ SC.InlineEditor = {
|
|
|
98
98
|
// first responder
|
|
99
99
|
this.invokeLast(this._callDidBegin);
|
|
100
100
|
|
|
101
|
+
// remember that we invoked in case commit gets called before the invoke
|
|
102
|
+
// goes off
|
|
103
|
+
this._didBeginInvoked = YES;
|
|
104
|
+
|
|
101
105
|
return YES;
|
|
102
106
|
},
|
|
103
107
|
|
|
@@ -108,6 +112,11 @@ SC.InlineEditor = {
|
|
|
108
112
|
and didBegin is supposed to occur after the editor becomes first responder.
|
|
109
113
|
*/
|
|
110
114
|
_callDidBegin: function() {
|
|
115
|
+
// don't notify if we already ended editing
|
|
116
|
+
if(!this.get('isEditing')) return NO;
|
|
117
|
+
|
|
118
|
+
this._didBeginInvoked = NO;
|
|
119
|
+
|
|
111
120
|
var target = this._target, del;
|
|
112
121
|
|
|
113
122
|
del = this.delegateFor('inlineEditorDidBeginEditing', this.inlineEditorDelegate, target);
|
|
@@ -129,6 +138,9 @@ SC.InlineEditor = {
|
|
|
129
138
|
commitEditing:function() {
|
|
130
139
|
if(!this.get('isEditing')) return NO;
|
|
131
140
|
|
|
141
|
+
// if the handler was invoked but never went off, call it now
|
|
142
|
+
if(this._didBeginInvoked) this._callDidBegin();
|
|
143
|
+
|
|
132
144
|
var del, target = this._target;
|
|
133
145
|
|
|
134
146
|
del = this.delegateFor('inlineEditorShouldCommitEditing', this.inlineEditorDelegate, target);
|
|
@@ -159,6 +171,9 @@ SC.InlineEditor = {
|
|
|
159
171
|
discardEditing:function() {
|
|
160
172
|
if(!this.get('isEditing')) return NO;
|
|
161
173
|
|
|
174
|
+
// if the handler was invoked but never went off, call it now
|
|
175
|
+
if(this._didBeginInvoked) this._callDidBegin();
|
|
176
|
+
|
|
162
177
|
var del, target = this._target;
|
|
163
178
|
|
|
164
179
|
del = this.delegateFor('inlineEditorShouldDiscardEditing', this.inlineEditorDelegate, target);
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
when you use static and relative positioning.
|
|
21
21
|
|
|
22
22
|
This mixin can be added to a view class to enable the use of any kind of
|
|
23
|
-
static and relative browser
|
|
23
|
+
static and relative browser positioning. In exchange for using static
|
|
24
24
|
layout, you will lose a few features that are normally available on a view
|
|
25
25
|
class such as the 'frame' and 'clippingFrame' properties as well as
|
|
26
26
|
notifications when your view or parentView are resized.
|
|
@@ -8,37 +8,37 @@
|
|
|
8
8
|
/**
|
|
9
9
|
@namespace
|
|
10
10
|
|
|
11
|
-
Views that include the Validatable mixin can be used with validators to
|
|
12
|
-
ensure their values are valid.
|
|
13
|
-
|
|
11
|
+
Views that include the Validatable mixin can be used with validators to
|
|
12
|
+
ensure their values are valid.
|
|
13
|
+
|
|
14
14
|
*/
|
|
15
15
|
SC.Validatable = {
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
/** @private */
|
|
18
18
|
initMixin: function() {
|
|
19
19
|
this._validatable_validatorDidChange() ;
|
|
20
20
|
},
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
/**
|
|
23
|
-
The validator for this field.
|
|
24
|
-
|
|
25
|
-
Set to a validator class or instance. If this points to a class, it will
|
|
23
|
+
The validator for this field.
|
|
24
|
+
|
|
25
|
+
Set to a validator class or instance. If this points to a class, it will
|
|
26
26
|
be instantiated when the validator is first used.
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
@type SC.Validator
|
|
29
29
|
@default null
|
|
30
30
|
*/
|
|
31
31
|
validator: null,
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
|
-
This property must return the human readable name you want used when
|
|
34
|
+
This property must return the human readable name you want used when
|
|
35
35
|
describing an error condition. For example, if set this property to
|
|
36
36
|
"Your Email", then the returned error string might be something like
|
|
37
37
|
"Your Email is not valid".
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
You can return a loc string here if you like. It will be localized when
|
|
40
40
|
it is placed into the error string.
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
@type String
|
|
43
43
|
@default null
|
|
44
44
|
*/
|
|
@@ -46,32 +46,32 @@ SC.Validatable = {
|
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
YES if the receiver is currently valid.
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
This property watches the value property by default. You can override
|
|
51
51
|
this property if you want to use some other method to calculate the
|
|
52
52
|
current valid state.
|
|
53
|
-
|
|
53
|
+
|
|
54
54
|
@field
|
|
55
55
|
@type Boolean
|
|
56
56
|
@default YES
|
|
57
57
|
*/
|
|
58
|
-
isValid: function() {
|
|
59
|
-
return SC.typeOf(this.get('value')) !== SC.T_ERROR;
|
|
58
|
+
isValid: function() {
|
|
59
|
+
return SC.typeOf(this.get('value')) !== SC.T_ERROR;
|
|
60
60
|
}.property('value'),
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
/**
|
|
63
|
-
The form that the view belongs to. May be null if the view does not
|
|
64
|
-
belong to a form. This property is usually set automatically by an
|
|
63
|
+
The form that the view belongs to. May be null if the view does not
|
|
64
|
+
belong to a form. This property is usually set automatically by an
|
|
65
65
|
owner form view.
|
|
66
|
-
|
|
66
|
+
|
|
67
67
|
@type SC.View
|
|
68
68
|
@default null
|
|
69
69
|
*/
|
|
70
70
|
ownerForm: null,
|
|
71
|
-
|
|
71
|
+
|
|
72
72
|
/**
|
|
73
|
-
Attempts to validate the receiver.
|
|
74
|
-
|
|
73
|
+
Attempts to validate the receiver.
|
|
74
|
+
|
|
75
75
|
Runs the validator and returns SC.VALIDATE_OK, SC.VALIDATE_NO_CHANGE,
|
|
76
76
|
or an error object. If no validator is installed, this method will
|
|
77
77
|
always return SC.VALIDATE_OK.
|
|
@@ -87,12 +87,12 @@ SC.Validatable = {
|
|
|
87
87
|
if (partialChange) {
|
|
88
88
|
ret = this._validator.validatePartial(form,this) ;
|
|
89
89
|
|
|
90
|
-
// if the partial returned NO_CHANGE, then check to see if the
|
|
90
|
+
// if the partial returned NO_CHANGE, then check to see if the
|
|
91
91
|
// field is valid anyway. If it is not valid, then don't update the
|
|
92
|
-
// value. This way the user can have partially constructed values
|
|
92
|
+
// value. This way the user can have partially constructed values
|
|
93
93
|
// without the validator trying to convert it to an object.
|
|
94
94
|
if ((ret == SC.VALIDATE_NO_CHANGE) && (this._validator.validateChange(form, this) == SC.VALIDATE_OK)) {
|
|
95
|
-
ret = SC.VALIDATE_OK;
|
|
95
|
+
ret = SC.VALIDATE_OK;
|
|
96
96
|
}
|
|
97
97
|
} else ret = this._validator.validateChange(form, this) ;
|
|
98
98
|
}
|
|
@@ -100,20 +100,20 @@ SC.Validatable = {
|
|
|
100
100
|
},
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
|
-
Runs validateSubmit. You should use this in your implementation of
|
|
103
|
+
Runs validateSubmit. You should use this in your implementation of
|
|
104
104
|
validateSubmit. If no validator is installed, this always returns
|
|
105
105
|
SC.VALIDATE_OK
|
|
106
|
-
|
|
106
|
+
|
|
107
107
|
@returns {String}
|
|
108
108
|
*/
|
|
109
109
|
performValidateSubmit: function() {
|
|
110
110
|
return this._validator ? this._validator.validateSubmit(this.get('ownerForm'), this) : SC.VALIDATE_OK;
|
|
111
111
|
},
|
|
112
|
-
|
|
112
|
+
|
|
113
113
|
/**
|
|
114
|
-
Runs a
|
|
114
|
+
Runs a keydown validation. Returns YES if the keydown should be
|
|
115
115
|
allowed, NO otherwise. If no validator is defined, always returns YES.
|
|
116
|
-
|
|
116
|
+
|
|
117
117
|
@param {String} charStr the key string
|
|
118
118
|
@returns {Boolean}
|
|
119
119
|
*/
|
|
@@ -123,33 +123,33 @@ SC.Validatable = {
|
|
|
123
123
|
if (!charStr) return YES ;
|
|
124
124
|
return this._validator ? this._validator.validateKeyDown(this.get('ownerForm'), this, charStr) : YES;
|
|
125
125
|
},
|
|
126
|
-
|
|
126
|
+
|
|
127
127
|
/**
|
|
128
128
|
Returns the validator object, if one has been created.
|
|
129
|
-
|
|
129
|
+
|
|
130
130
|
@field
|
|
131
131
|
@type SC.Validator
|
|
132
132
|
*/
|
|
133
133
|
validatorObject: function() {
|
|
134
134
|
return this._validator;
|
|
135
135
|
}.property(),
|
|
136
|
-
|
|
136
|
+
|
|
137
137
|
/**
|
|
138
|
-
Invoked by the owner form just before submission. Override with your
|
|
139
|
-
own method to commit any final changes after you perform validation.
|
|
140
|
-
|
|
141
|
-
The default implementation simply calls performValidateSubmit() and
|
|
138
|
+
Invoked by the owner form just before submission. Override with your
|
|
139
|
+
own method to commit any final changes after you perform validation.
|
|
140
|
+
|
|
141
|
+
The default implementation simply calls performValidateSubmit() and
|
|
142
142
|
returns that value.
|
|
143
|
-
|
|
143
|
+
|
|
144
144
|
@type Boolean
|
|
145
145
|
*/
|
|
146
146
|
validateSubmit: function() { return this.performValidateSubmit(); },
|
|
147
|
-
|
|
147
|
+
|
|
148
148
|
/**
|
|
149
149
|
Convert the field value string into an object.
|
|
150
|
-
|
|
150
|
+
|
|
151
151
|
This method will call the validators objectForFieldValue if it exists.
|
|
152
|
-
|
|
152
|
+
|
|
153
153
|
@param {Object} fieldValue the raw value from the field.
|
|
154
154
|
@param {Boolean} partialChange
|
|
155
155
|
@returns {Object}
|
|
@@ -157,19 +157,19 @@ SC.Validatable = {
|
|
|
157
157
|
objectForFieldValue: function(fieldValue, partialChange) {
|
|
158
158
|
return this._validator ? this._validator.objectForFieldValue(fieldValue, this.get('ownerForm'), this) : fieldValue ;
|
|
159
159
|
},
|
|
160
|
-
|
|
160
|
+
|
|
161
161
|
/**
|
|
162
162
|
Convert the object into a field value.
|
|
163
|
-
|
|
163
|
+
|
|
164
164
|
This method will call the validator's fieldValueForObject if it exists.
|
|
165
|
-
|
|
165
|
+
|
|
166
166
|
@param object {Object} the objec to convert
|
|
167
167
|
@returns {Object}
|
|
168
168
|
*/
|
|
169
169
|
fieldValueForObject: function(object) {
|
|
170
170
|
return this._validator ? this._validator.fieldValueForObject(object, this.get('ownerForm'), this) : object ;
|
|
171
171
|
},
|
|
172
|
-
|
|
172
|
+
|
|
173
173
|
/** @private */
|
|
174
174
|
_validatable_displayObserver: function() {
|
|
175
175
|
this.displayDidChange();
|
|
@@ -192,7 +192,7 @@ SC.Validatable = {
|
|
|
192
192
|
this._validator = val;
|
|
193
193
|
if (this._validator) this._validator.attachTo(form, this) ;
|
|
194
194
|
this.propertyDidChange('validatorObject');
|
|
195
|
-
}
|
|
195
|
+
}
|
|
196
196
|
}.observes('validator', 'ownerForm')
|
|
197
197
|
|
|
198
198
|
};
|
|
@@ -260,7 +260,7 @@ SC.TreeItemObserver = SC.Object.extend(SC.Array, SC.CollectionContent, {
|
|
|
260
260
|
|
|
261
261
|
// if this branch range is before the start loc, just remove it and
|
|
262
262
|
// go on. If cur is somewhere inside of the range, then save to pass
|
|
263
|
-
// on. Note use of operation to determine the
|
|
263
|
+
// on. Note use of operation to determine the ambiguous end op.
|
|
264
264
|
if ((i+len === cur) && operation === SC.DROP_AFTER) cur -= i;
|
|
265
265
|
else if (i+len > cur) cur -= i; // put inside of nested range
|
|
266
266
|
else {
|
|
@@ -697,7 +697,7 @@ SC.TreeItemObserver = SC.Object.extend(SC.Array, SC.CollectionContent, {
|
|
|
697
697
|
|
|
698
698
|
/**
|
|
699
699
|
Called just before a branch observer is removed. Should stop any
|
|
700
|
-
|
|
700
|
+
observing and invalidate any child observers.
|
|
701
701
|
*/
|
|
702
702
|
destroy: function() {
|
|
703
703
|
this.invalidateBranchObserversAt(0);
|
|
@@ -779,7 +779,7 @@ SC.TreeItemObserver = SC.Object.extend(SC.Array, SC.CollectionContent, {
|
|
|
779
779
|
|
|
780
780
|
/**
|
|
781
781
|
Computes the current disclosure state of the item by asking the item or
|
|
782
|
-
the delegate. If no pitem or index is passed, the parentItem and
|
|
782
|
+
the delegate. If no pitem or index is passed, the parentItem and index
|
|
783
783
|
will be used.
|
|
784
784
|
*/
|
|
785
785
|
_computeDisclosureState: function(item, pitem, index) {
|
|
@@ -150,7 +150,7 @@ SC.RenderDelegate.reopen({
|
|
|
150
150
|
Retrieves the given property for the specified data source. This property
|
|
151
151
|
may be static, or may be computed specifically for this data source. This
|
|
152
152
|
version fo `getPropertyFor` will check in your size hashes to see if any
|
|
153
|
-
properties have been
|
|
153
|
+
properties have been overridden.
|
|
154
154
|
|
|
155
155
|
@param {DataSource} dataSource The data source to get the property
|
|
156
156
|
for. Some properties may differ based on the data source; for instance,
|
|
@@ -39,6 +39,11 @@ SC.BaseTheme.labelRenderDelegate = SC.RenderDelegate.create({
|
|
|
39
39
|
|
|
40
40
|
render: function(dataSource, context) {
|
|
41
41
|
this.addSizeClassName(dataSource, context);
|
|
42
|
+
|
|
43
|
+
var toolTip = dataSource.get('toolTip');
|
|
44
|
+
if (toolTip) {
|
|
45
|
+
context.attr('title', toolTip);
|
|
46
|
+
}
|
|
42
47
|
|
|
43
48
|
/*
|
|
44
49
|
TODO [CC @ 1.5] These properties have been deprecated. We should remove them
|
|
@@ -52,7 +57,7 @@ SC.BaseTheme.labelRenderDelegate = SC.RenderDelegate.create({
|
|
|
52
57
|
context.setClass('ellipsis', dataSource.get('needsEllipsis') || NO);
|
|
53
58
|
context.setClass('icon', dataSource.get('icon') || NO);
|
|
54
59
|
|
|
55
|
-
var html = this.
|
|
60
|
+
var html = this.htmlForTitleAndIcon(dataSource);
|
|
56
61
|
context.push(html);
|
|
57
62
|
|
|
58
63
|
// we could use didChangeFor, but in this case, checking the generated
|
|
@@ -73,18 +78,35 @@ SC.BaseTheme.labelRenderDelegate = SC.RenderDelegate.create({
|
|
|
73
78
|
textAlign: dataSource.get('textAlign') || null
|
|
74
79
|
});
|
|
75
80
|
|
|
81
|
+
var toolTip = dataSource.get('toolTip');
|
|
82
|
+
if (toolTip) {
|
|
83
|
+
jquery.attr('title', toolTip);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
jquery.removeAttr('title');
|
|
87
|
+
}
|
|
88
|
+
|
|
76
89
|
jquery.setClass('ellipsis', dataSource.get('needsEllipsis') || NO);
|
|
77
90
|
|
|
78
|
-
var html = this.
|
|
91
|
+
var html = this.htmlForTitleAndIcon(dataSource);
|
|
79
92
|
if (dataSource.get('renderState')._lastHTMLForTitleAndIcon !== html) {
|
|
80
93
|
jquery.html(html);
|
|
81
94
|
dataSource.get('renderState')._lastHTMLForTitleAndIcon = html;
|
|
82
95
|
}
|
|
83
96
|
},
|
|
84
97
|
|
|
85
|
-
|
|
98
|
+
/**
|
|
99
|
+
Generates the HTML for the title and icon of the label. Render delegates can
|
|
100
|
+
override this to change how that HTML renders without affecting the rest of the
|
|
101
|
+
rendering of the label.
|
|
102
|
+
|
|
103
|
+
@param dataSource The data source that provides the title and icon properties.
|
|
104
|
+
@return the html to use
|
|
105
|
+
*/
|
|
106
|
+
htmlForTitleAndIcon: function(dataSource) {
|
|
86
107
|
var title = dataSource.get('title'),
|
|
87
108
|
hint = dataSource.get('hint'),
|
|
109
|
+
hintEnabled = dataSource.get('hintEnabled'),
|
|
88
110
|
escapeHTML = dataSource.get('escapeHTML'),
|
|
89
111
|
icon = dataSource.get('icon') || '';
|
|
90
112
|
|
|
@@ -94,7 +116,7 @@ SC.BaseTheme.labelRenderDelegate = SC.RenderDelegate.create({
|
|
|
94
116
|
title = SC.RenderContext.escapeHTML(title) ;
|
|
95
117
|
}
|
|
96
118
|
|
|
97
|
-
if (hint && !title) {
|
|
119
|
+
if (hintEnabled && hint && !title) {
|
|
98
120
|
if (escapeHTML) hint = SC.RenderContext.escapeHTML(hint);
|
|
99
121
|
title = "<span class='sc-hint'>" + hint + "</span>";
|
|
100
122
|
}
|
|
@@ -112,8 +134,8 @@ SC.BaseTheme.labelRenderDelegate = SC.RenderDelegate.create({
|
|
|
112
134
|
icon = '<img src="'+SC.BLANK_IMAGE_URL+'" alt="" class="icon '+icon+'" />';
|
|
113
135
|
}
|
|
114
136
|
}
|
|
115
|
-
|
|
137
|
+
|
|
116
138
|
return icon + title;
|
|
117
139
|
}
|
|
118
|
-
|
|
140
|
+
|
|
119
141
|
});
|
|
@@ -331,7 +331,7 @@ SC.RenderDelegate = /** @scope SC.RenderDelegate.prototype */{
|
|
|
331
331
|
be looked up on the render delegate.
|
|
332
332
|
|
|
333
333
|
NOTE: this implementation is a reference implementation. It
|
|
334
|
-
is
|
|
334
|
+
is overridden in the sizing code (helpers/sizing.js) to be
|
|
335
335
|
size-sensitive.
|
|
336
336
|
*/
|
|
337
337
|
getPropertyFor: function(dataSource, propertyName) {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
var SC = SC || { MODULE_INFO: {}, LAZY_INSTANTIATION: {} };
|
|
15
15
|
SC.browser = (function() {
|
|
16
16
|
// THIS CODE IS DEPRECATED AND IS NO LONGER MAINTAINED
|
|
17
|
-
var userAgent = navigator.userAgent.toLowerCase()
|
|
18
|
-
|
|
17
|
+
var userAgent = navigator.userAgent.toLowerCase(),
|
|
18
|
+
version = (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1] ;
|
|
19
19
|
|
|
20
20
|
var browser = {
|
|
21
21
|
version: version,
|
|
@@ -34,33 +34,48 @@ SC.browser = (function() {
|
|
|
34
34
|
})();
|
|
35
35
|
|
|
36
36
|
SC.setupBodyClassNames = function() {
|
|
37
|
-
var el = document.body
|
|
38
|
-
|
|
37
|
+
var el = document.body,
|
|
38
|
+
browser, platform, shadows, borderRad, classNames, style, ieVersion;
|
|
39
39
|
if (!el) return ;
|
|
40
|
-
browser = SC.browser.current ;
|
|
41
|
-
platform = (SC.browser.windows) ? 'windows' : (SC.browser.mac) ? 'mac' : 'other-platform' ;
|
|
42
|
-
|
|
43
|
-
shadows = (document.documentElement.style.MozBoxShadow !== undefined) ||
|
|
44
|
-
(document.documentElement.style.webkitBoxShadow !== undefined) ||
|
|
45
|
-
(document.documentElement.style.oBoxShadow !== undefined) ||
|
|
46
|
-
(document.documentElement.style.boxShadow !== undefined);
|
|
47
40
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
41
|
+
browser = SC.browser.current ;
|
|
42
|
+
platform = SC.browser.windows ? 'windows' : SC.browser.mac ? 'mac' : 'other-platform' ;
|
|
43
|
+
style = document.documentElement.style;
|
|
44
|
+
shadows = (style.MozBoxShadow !== undefined) ||
|
|
45
|
+
(style.webkitBoxShadow !== undefined) ||
|
|
46
|
+
(style.oBoxShadow !== undefined) ||
|
|
47
|
+
(style.boxShadow !== undefined);
|
|
52
48
|
|
|
49
|
+
borderRad = (style.MozBorderRadius !== undefined) ||
|
|
50
|
+
(style.webkitBorderRadius !== undefined) ||
|
|
51
|
+
(style.oBorderRadius !== undefined) ||
|
|
52
|
+
(style.borderRadius !== undefined);
|
|
53
53
|
|
|
54
|
-
classNames =
|
|
54
|
+
classNames = el.className ? el.className.split(' ') : [] ;
|
|
55
55
|
if(shadows) classNames.push('box-shadow');
|
|
56
56
|
if(borderRad) classNames.push('border-rad');
|
|
57
|
-
classNames.push(browser) ;
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
classNames.push(browser, platform) ;
|
|
58
|
+
|
|
59
|
+
ieVersion = parseInt(SC.browser.msie,10);
|
|
60
|
+
if (ieVersion) {
|
|
61
|
+
if (ieVersion === 7) {
|
|
62
|
+
classNames.push('ie7');
|
|
63
|
+
}
|
|
64
|
+
else if (ieVersion === 8) {
|
|
65
|
+
classNames.push('ie8');
|
|
66
|
+
}
|
|
67
|
+
else if (ieVersion === 9) {
|
|
68
|
+
classNames.push('ie9');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if(browser==="safari" || browser==="chrome") classNames.push('webkit');
|
|
60
73
|
if (SC.browser.mobileSafari) classNames.push('mobile-safari') ;
|
|
74
|
+
if ('createTouch' in document) classNames.push('touch');
|
|
61
75
|
el.className = classNames.join(' ') ;
|
|
62
76
|
} ;
|
|
63
77
|
|
|
78
|
+
|
|
64
79
|
<% end %>
|
|
65
80
|
<% content_for('setup_body_class_names') do %>
|
|
66
81
|
if (SC.setupBodyClassNames) SC.setupBodyClassNames() ;
|