sproutcore 1.4.5 → 1.5.0.pre.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +35 -0
- data/VERSION.yml +2 -2
- data/lib/Buildfile +13 -4
- data/lib/buildtasks/build.rake +20 -17
- data/lib/buildtasks/manifest.rake +143 -78
- data/lib/buildtasks/target.rake +1 -0
- data/lib/doc_templates/sproutcore/index.tmpl +18 -4
- data/lib/doc_templates/sproutcore/publish.js +1 -1
- data/lib/frameworks/sproutcore/Buildfile +24 -13
- data/lib/frameworks/sproutcore/{CHANGELOG-1.4.md → CHANGELOG.md} +0 -0
- data/lib/frameworks/sproutcore/apps/greenhouse/controllers/file.js +8 -48
- data/lib/frameworks/sproutcore/apps/greenhouse/core.js +3 -5
- data/lib/frameworks/sproutcore/apps/greenhouse/data_source.js +1 -1
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/app_page.js +26 -4
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/strings.js +7 -1
- data/lib/frameworks/sproutcore/apps/greenhouse/main.js +1 -1
- data/lib/frameworks/sproutcore/apps/greenhouse/models/design.js +6 -2
- data/lib/frameworks/sproutcore/apps/greenhouse/models/dir.js +8 -7
- data/lib/frameworks/sproutcore/apps/greenhouse/models/file.js +2 -2
- data/lib/frameworks/sproutcore/apps/greenhouse/states/inspector.js +133 -125
- data/lib/frameworks/sproutcore/apps/greenhouse/states/library.js +121 -112
- data/lib/frameworks/sproutcore/apps/greenhouse/states/main.js +233 -191
- data/lib/frameworks/sproutcore/apps/greenhouse/states/modals.js +265 -258
- data/lib/frameworks/sproutcore/apps/greenhouse/states/ready.js +153 -141
- data/lib/frameworks/sproutcore/apps/test_controls/Buildfile +0 -0
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/buttons.js +21 -0
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/categories.js +108 -0
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/category.js +36 -0
- data/lib/frameworks/sproutcore/apps/test_controls/core.js +29 -0
- data/lib/frameworks/sproutcore/apps/test_controls/main.js +14 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/buttons_page.js +142 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/checkboxes_page.js +45 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/flow_layout_page.js +84 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/list_page.js +40 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/loading.rhtml +9 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.css +60 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.js +144 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/progress_page.js +42 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/radio_page.js +48 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/scroll_page.js +76 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/segmented_page.js +98 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/select_page.js +60 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/sliders_page.js +53 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/strings.js +50 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/tab_page.js +44 -0
- data/lib/frameworks/sproutcore/apps/test_controls/resources/text_field_page.js +41 -0
- data/lib/frameworks/sproutcore/apps/test_controls/theme.js +34 -0
- data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +7 -0
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/images/main-bg.png +0 -0
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +24 -6
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +36 -46
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/controllers/array.js +175 -195
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/controllers/controller.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/controllers/object.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/amber/core.js +201 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/ext/object.js +23 -23
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/ext/run_loop.js +47 -47
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/mixins/delegate_support.js +36 -36
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/mixins/responder_context.js +55 -55
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/mixins/selection_support.js +45 -45
- data/lib/frameworks/sproutcore/frameworks/amber/mixins/string.js +163 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/panes/main.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/panes/pane.js +123 -9
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/protocols/observable_protocol.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/protocols/sparse_array_delegate.js +40 -40
- data/lib/frameworks/sproutcore/frameworks/{foundation/english.lproj → amber/resources}/core.css +0 -103
- data/lib/frameworks/sproutcore/frameworks/{foundation/english.lproj → amber/resources}/view.css +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/application.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/browser.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/builder.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/amber/system/core_query.js +141 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/cursor.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/device.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/event.js +34 -14
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/json.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/locale.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/page.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/platform.js +30 -10
- data/lib/frameworks/sproutcore/frameworks/amber/system/ready.js +77 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/render_context.js +330 -255
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/responder.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/root_responder.js +152 -60
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/system/selection_set.js +140 -145
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/system/sparse_array.js +101 -87
- data/lib/frameworks/sproutcore/frameworks/amber/system/theme.js +316 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/system/timer.js +149 -147
- data/lib/frameworks/sproutcore/frameworks/amber/system/utils.js +174 -0
- data/lib/frameworks/sproutcore/frameworks/amber/system/utils/rect.js +98 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/array/array_case.js +41 -41
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/array/enum_case.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/array/null_case.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/array/selection_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/array/single_case.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/object/empty_case.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/object/multiple_case.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/object/single_case.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/controllers/object/single_enumerable_case.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/mixins/responder_context.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/amber/tests/mixins/string.js +55 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/builder.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/core_query/within.js +7 -8
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/json.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/locale.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/begin.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/element.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/end.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/get.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/helpers_attr.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/helpers_basic.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/helpers_className.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/helpers_style.js +11 -3
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/init.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/join.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/push_text.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/tag.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/render_context/update.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/root_responder/makeKeyPane.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/root_responder/makeMainPane.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/root_responder/makeMenuPane.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/root_responder/root_responder.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/root_responder/targetForAction.js +46 -9
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/tests/system/selection_set/add.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/tests/system/selection_set/copy.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/tests/system/selection_set/indexSetForSource.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/tests/system/selection_set/isEqual.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/tests/system/selection_set/remove.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{runtime → amber}/tests/system/sparse_array.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/amber/tests/system/theme.js +77 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/timer/invalidate.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/timer/invokeLater.js +7 -5
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/timer/isPaused.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/timer/performAction.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/timer/schedule.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/utils/normalizeURL.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/system/utils/rect.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/main_pane.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/pane/append_remove.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/pane/firstResponder.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/pane/keyPane.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/pane/layout.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/pane/sendEvent.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/amber/tests/views/pane/sendTouchEvent.js +267 -0
- data/lib/frameworks/sproutcore/frameworks/amber/tests/views/view/animation.js +320 -0
- data/lib/frameworks/sproutcore/frameworks/amber/tests/views/view/build.js +85 -0
- data/lib/frameworks/sproutcore/frameworks/amber/tests/views/view/build_children.js +89 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/clippingFrame.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/convertFrames.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/convertLayouts.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/createChildViews.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/createLayer.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/destroyLayer.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/didAppendToDocument.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/findLayerInParentLayer.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/init.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/insertBefore.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/isVisible.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/isVisibleInWindow.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/layer.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/layoutChildViews.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/layoutDidChange.js +22 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/layoutStyle.js +135 -64
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/parentViewDidChange.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/prepareContext.js +16 -8
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/removeChild.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/render.js +37 -5
- data/lib/frameworks/sproutcore/frameworks/amber/tests/views/view/render_delegate_support.js +163 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/replaceChild.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/amber/tests/views/view/theme.js +43 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/updateLayer.js +12 -10
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/updateLayerLocation.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/amber/tests/views/view/view.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/tests/views/view/viewDidResize.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/amber/views/base.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/amber/views/layout_style.js +478 -0
- data/lib/frameworks/sproutcore/frameworks/{foundation → amber}/views/view.js +1719 -1029
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +32 -18
- data/lib/frameworks/sproutcore/frameworks/animation/tests/core.js +10 -5
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/bench.js +14 -0
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +24 -17
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +1 -13
- data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +72 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_record.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +7 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +66 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +4 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +58 -10
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +5 -14
- data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +4 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +27 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +5 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +30 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +130 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +20 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +9 -27
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +32 -26
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +57 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +24 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/helpers/slicing.js +34 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +30 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/master_detail.js +28 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/menu.js +47 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +28 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/picker.js +43 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +175 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +109 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +70 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +58 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +39 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/source_list.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/toolbar.js +18 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/well.js +29 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/workspace.js +18 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +79 -53
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +7 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +45 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +33 -13
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +11 -17
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/image_button/ui.js +25 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +128 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +10 -10
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +35 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +162 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +153 -208
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +18 -48
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +26 -25
- data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +3 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +112 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/image_button.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +3 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +388 -309
- data/lib/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +257 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +8 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation.js +237 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation_bar.js +181 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +14 -76
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +59 -164
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +80 -47
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +84 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +320 -289
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +212 -76
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +33 -36
- data/lib/frameworks/sproutcore/frameworks/desktop/views/source_list.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +347 -248
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +41 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/well.js +2 -21
- data/lib/frameworks/sproutcore/frameworks/desktop/views/workspace.js +251 -0
- data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/default_styles.css +5 -0
- data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/strings.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/forms/mixins/edit_mode.js +43 -0
- data/lib/frameworks/sproutcore/frameworks/forms/mixins/emptiness.js +95 -0
- data/lib/frameworks/sproutcore/frameworks/forms/renderer_delegates/form.js +22 -0
- data/lib/frameworks/sproutcore/frameworks/forms/renderer_delegates/form_row.js +21 -0
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_checkbox_field.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_field.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_label.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_radio_field.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_row.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_text_field.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/forms/views/form.js +280 -0
- data/lib/frameworks/sproutcore/frameworks/forms/views/form_row.js +183 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +5 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +0 -150
- data/lib/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/benchmark.css +146 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +2 -14
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/favicon.ico +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/strings.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +4 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/gestures/pinch.js +81 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/gestures/swipe.js +144 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/gestures/tap.js +113 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/license.js +24 -26
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_mixin.js +39 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +244 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/control.js +68 -23
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +8 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +626 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +214 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +89 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor_delegate.js +139 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +25 -33
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/string.js +57 -209
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +7 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +100 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/container.js +18 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/image.js +97 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +111 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +17 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +360 -156
- data/lib/frameworks/sproutcore/frameworks/{runtime → foundation}/system/cookie.js +35 -35
- data/lib/frameworks/sproutcore/frameworks/foundation/system/core_query.js +19 -2012
- data/lib/frameworks/sproutcore/frameworks/foundation/system/exception_handler.js +3 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/gesture.js +363 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/{image_cache.js → image_queue.js} +19 -22
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +576 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/request.js +19 -22
- data/lib/frameworks/sproutcore/frameworks/foundation/system/response.js +73 -61
- data/lib/frameworks/sproutcore/frameworks/foundation/system/routes.js +122 -23
- data/lib/frameworks/sproutcore/frameworks/foundation/system/staticqueue.js +53 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +18 -15
- data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +82 -90
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/colors.js +80 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +76 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/range.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +247 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tasks/preload_bundle.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +2 -57
- data/lib/frameworks/sproutcore/frameworks/{runtime → foundation}/tests/system/cookie.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/setClass.js +13 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +99 -49
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/routes.js +24 -20
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +9 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +31 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +454 -44
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +10 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/{view → text_field}/nextValidKeyView.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/number.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +9 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +1 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +381 -105
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +44 -171
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +69 -16
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +376 -0
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +205 -0
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +7179 -0
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +1 -3
- data/lib/frameworks/sproutcore/frameworks/media/views/simple_controls.js +1 -2
- data/lib/frameworks/sproutcore/frameworks/mini/license.js +29 -28
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +366 -333
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +73 -73
- data/lib/frameworks/sproutcore/frameworks/runtime/license.js +29 -28
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +160 -150
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +228 -220
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +27 -27
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +355 -305
- data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +32 -32
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +53 -51
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +49 -106
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +252 -252
- data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +22 -22
- data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +31 -31
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +234 -234
- data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +167 -157
- data/lib/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +84 -85
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +104 -91
- data/lib/frameworks/sproutcore/frameworks/runtime/system/set.js +102 -98
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/IsEqual.js +19 -49
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +53 -126
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/itemType.js +62 -33
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +41 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +133 -98
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/observer_set.js +50 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +71 -45
- data/lib/frameworks/sproutcore/frameworks/statechart/core.js +3 -9
- data/lib/frameworks/sproutcore/frameworks/statechart/debug/monitor.js +136 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +636 -99
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +951 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/async.js +94 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/advanced_event_handling.js +310 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/namespace/access_substates.js +252 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/is_current_state.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_history_state.js +88 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_state_advanced.js +234 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_state_async.js +123 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_state_basic.js +139 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/with_concurrent_states/goto_state_intermediate.js +119 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/with_concurrent_states/send_event.js +183 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/without_concurrent_states/default_responder.js +90 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/without_concurrent_states/goto_history_state.js +200 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/without_concurrent_states/goto_state.js +256 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/without_concurrent_states/goto_state_async.js +187 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/without_concurrent_states/send_event.js +122 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/without_concurrent_states/state_plugin.js +99 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/without_concurrent_states/transient.js +162 -0
- data/lib/frameworks/sproutcore/frameworks/table/views/table_cell.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/table/views/table_head.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/table/views/table_row.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +2 -1
- data/lib/frameworks/sproutcore/lib/index.rhtml +24 -1
- data/lib/frameworks/sproutcore/license.js +31 -30
- data/lib/frameworks/sproutcore/themes/ace/designs/dark.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/dark.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/light.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/light.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/normal_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/normal_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/popup/active_select.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/popup/normal_select.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/collection/source-list/selection.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_closed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_closed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_open.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_open_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/checkmark.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/checkmark_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/down.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/menu.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/menu_item.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/up.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/panel.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_empty.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_notoolbar.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_pointers.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_pointers_notoolbar.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_content.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_indeterminate_content.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_track.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_mixed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_mixed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_unselected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/thumb.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/track_and_arrows.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/track_and_arrows_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/thumb.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/track_and_arrows.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/track_and_arrows_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_normal.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_normal.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_normal.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_normal.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/14px/knob.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/14px/knob_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/16px/knob.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/16px/knob_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/knob.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/knob_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/track.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/track.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/toolbar/toolbar.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_handle.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_handle.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_off.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_off.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_on.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_on.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/body.css +13 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +27 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +84 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +66 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/normal_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +34 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/button.css +28 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/button.js +69 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +84 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +66 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/normal_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/button.js +3 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/active_select.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/normal_select.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/select.css +20 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox.css +40 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox.css +40 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/checkbox.css +7 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +4 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list_item.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/selection.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/source-list.js +3 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/source_list_view.css +36 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +24 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/loading.css +50 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +27 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/checkmark.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/checkmark_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/down.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu.css +76 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu_item.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/menu/up.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/pane/pane.css +3 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.css +13 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.js +20 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.js +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/picker.js +32 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +111 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.js +12 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_empty.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_notoolbar.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_pointers.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_pointers_notoolbar.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/workspace.js +28 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress.css +27 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress_view_content.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress_view_track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/progress/progress.js +78 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio.css +63 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_mixed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_mixed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_unselected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal.css +78 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal_touch.css +91 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/thumb.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/track_and_arrows.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/track_and_arrows_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/thumb.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/track_and_arrows.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/track_and_arrows_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical.css +80 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical_touch.css +92 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented.css +91 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented.css +91 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented.css +91 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented.css +95 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/segmented/segmented.css +79 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/slider.css +27 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/slider.css +27 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/slider.css +27 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/slider.css +3 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/slider.js +48 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/split/split.css +5 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/tab/tab.css +3 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/toolbar/toolbar.css +8 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/toolbar/toolbar.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/well/well.css +8 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/well/well.js +19 -0
- data/lib/frameworks/sproutcore/themes/ace/theme.js +14 -0
- data/lib/frameworks/sproutcore/themes/empty_theme/theme.js +16 -0
- data/lib/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +16 -21
- data/lib/sproutcore.rb +9 -2
- data/lib/sproutcore/builders.rb +2 -1
- data/lib/sproutcore/builders/base.rb +7 -2
- data/lib/sproutcore/builders/combine.rb +49 -1
- data/lib/sproutcore/builders/html.rb +2 -0
- data/lib/sproutcore/builders/javascript.rb +1 -1
- data/lib/sproutcore/builders/minify.rb +12 -12
- data/lib/sproutcore/builders/module.rb +72 -0
- data/lib/sproutcore/builders/string_wrapper.rb +43 -0
- data/lib/sproutcore/helpers/entry_sorter.rb +5 -9
- data/lib/sproutcore/helpers/static_helper.rb +13 -9
- data/lib/sproutcore/models/manifest_entry.rb +2 -2
- data/lib/sproutcore/models/target.rb +25 -11
- data/lib/sproutcore/rack/dev.rb +3 -3
- data/lib/sproutcore/tools.rb +51 -2
- data/lib/sproutcore/tools/build.rb +35 -7
- data/lib/sproutcore/version.rb +1 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/bundle_spec.rb +5 -5
- data/spec/fixtures/builder_tests/Buildfile +2 -2
- data/spec/lib/builders/bundle_spec.rb +8 -8
- data/spec/lib/builders/strings_spec.rb +1 -0
- data/sproutcore.gemspec +9 -2
- data/vendor/chance/.gitignore +5 -0
- data/vendor/chance/Gemfile +4 -0
- data/vendor/chance/Rakefile +2 -0
- data/vendor/chance/bin/chance +72 -0
- data/vendor/chance/chance.gemspec +28 -0
- data/vendor/chance/lib/chance.rb +139 -0
- data/vendor/chance/lib/chance/imager.rb +13 -0
- data/vendor/chance/lib/chance/imagers/data_url.rb +34 -0
- data/vendor/chance/lib/chance/importer.rb +64 -0
- data/vendor/chance/lib/chance/instance.rb +225 -0
- data/vendor/chance/lib/chance/parser.rb +831 -0
- data/vendor/chance/lib/chance/perf.rb +17 -0
- data/vendor/chance/lib/chance/sass_extensions.rb +24 -0
- data/vendor/chance/lib/chance/slicing.rb +104 -0
- data/vendor/chance/lib/chance/version.rb +3 -0
- data/vendor/chance/test/case/abc.png +0 -0
- data/vendor/chance/test/case/more/abc.png +0 -0
- data/vendor/chance/test/case/more/another.css +4 -0
- data/vendor/chance/test/case/test1.css +22 -0
- data/vendor/chance/test/case/test2.css +6 -0
- data/vendor/sproutcore/SCCompiler.jar +0 -0
- data/vendor/sproutcore/lib/args4j-2.0.12.jar +0 -0
- data/vendor/sproutcore/lib/htmlcompressor-0.9.3.jar +0 -0
- data/{lib/sproutcore/vendor/yui-compressor → vendor/sproutcore/lib}/yuicompressor-2.4.2.jar +0 -0
- data/vendor/sproutcore/src/SCCompiler/build.xml +74 -0
- data/vendor/sproutcore/src/SCCompiler/lib/args4j-2.0.12.jar +0 -0
- data/vendor/sproutcore/src/SCCompiler/lib/htmlcompressor-0.9.3.jar +0 -0
- data/{lib/sproutcore/vendor/yui-compressor/SCyuicompressor-2.4.2.jar → vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.2.jar} +0 -0
- data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.4.jar +0 -0
- data/vendor/sproutcore/src/SCCompiler/manifest.mf +3 -0
- data/vendor/sproutcore/src/SCCompiler/nbproject/build-impl.xml +894 -0
- data/vendor/sproutcore/src/SCCompiler/nbproject/genfiles.properties +8 -0
- data/vendor/sproutcore/src/SCCompiler/nbproject/private/config.properties +0 -0
- data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.properties +10 -0
- data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.xml +4 -0
- data/vendor/sproutcore/src/SCCompiler/nbproject/project.properties +90 -0
- data/vendor/sproutcore/src/SCCompiler/nbproject/project.xml +15 -0
- data/vendor/sproutcore/src/SCCompiler/src/com/sproutcore/Main.java +348 -0
- metadata +686 -177
- data/lib/frameworks/sproutcore/CHANGELOG +0 -93
- data/lib/frameworks/sproutcore/frameworks/datejs/core.js +0 -865
- data/lib/frameworks/sproutcore/frameworks/datejs/english.lproj/en-US.js +0 -186
- data/lib/frameworks/sproutcore/frameworks/datejs/extras.js +0 -332
- data/lib/frameworks/sproutcore/frameworks/datejs/license.js +0 -25
- data/lib/frameworks/sproutcore/frameworks/datejs/parser.js +0 -1116
- data/lib/frameworks/sproutcore/frameworks/datejs/spanish.lproj/es-CO.js +0 -186
- data/lib/frameworks/sproutcore/frameworks/datejs/sugarpak.js +0 -475
- data/lib/frameworks/sproutcore/frameworks/datejs/time.js +0 -269
- data/lib/frameworks/sproutcore/frameworks/datejs/validators/datejs.js +0 -34
- data/lib/frameworks/sproutcore/frameworks/foundation/protocols/inline_editor_delegate.js +0 -84
- data/lib/frameworks/sproutcore/frameworks/foundation/system/bundle.js +0 -337
- data/lib/frameworks/sproutcore/frameworks/foundation/system/ready.js +0 -197
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils.js +0 -710
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +0 -1334
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_dimensions.js +0 -387
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_selector.js +0 -405
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/isArray.js +0 -25
- data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart.js +0 -336
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/basic.js +0 -90
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/history.js +0 -71
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/nested.js +0 -59
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/transient.js +0 -148
- data/lib/sproutcore/builders/bundle.rb +0 -63
File without changes
|
@@ -56,6 +56,10 @@ SC.RootResponder = SC.Object.extend({
|
|
56
56
|
init: function() {
|
57
57
|
sc_super();
|
58
58
|
this.panes = SC.Set.create();
|
59
|
+
|
60
|
+
if (SC.platform.supportsCSSTransitions) {
|
61
|
+
this[SC.platform.cssPrefix+'TransitionEnd'] = this.transitionEnd;
|
62
|
+
}
|
59
63
|
},
|
60
64
|
|
61
65
|
// .......................................................
|
@@ -422,20 +426,20 @@ SC.RootResponder = SC.Object.extend({
|
|
422
426
|
@returns {Boolean} YES if action was performed, NO otherwise
|
423
427
|
@test in targetForAction
|
424
428
|
*/
|
425
|
-
sendAction: function( action, target, sender, pane, context) {
|
426
|
-
target = this.targetForAction(action, target, sender, pane) ;
|
427
|
-
|
429
|
+
sendAction: function( action, target, sender, pane, context, firstResponder) {
|
430
|
+
target = this.targetForAction(action, target, sender, pane, firstResponder) ;
|
431
|
+
|
428
432
|
// HACK: If the target is a ResponderContext, forward the action.
|
429
433
|
if (target && target.isResponderContext) {
|
430
|
-
return !!target.sendAction(action, sender, context);
|
434
|
+
return !!target.sendAction(action, sender, context, firstResponder);
|
431
435
|
} else return target && target.tryToPerform(action, sender);
|
432
436
|
},
|
433
437
|
|
434
|
-
_responderFor: function(target, methodName) {
|
438
|
+
_responderFor: function(target, methodName, firstResponder) {
|
435
439
|
var defaultResponder = target ? target.get('defaultResponder') : null;
|
436
|
-
|
440
|
+
|
437
441
|
if (target) {
|
438
|
-
target = target.get('firstResponder') || target;
|
442
|
+
target = firstResponder || target.get('firstResponder') || target;
|
439
443
|
do {
|
440
444
|
if (target.respondsTo(methodName)) return target ;
|
441
445
|
} while ((target = target.get('nextResponder'))) ;
|
@@ -472,9 +476,10 @@ SC.RootResponder = SC.Object.extend({
|
|
472
476
|
@param {String} method name for target
|
473
477
|
@param {Object} sender optional sender
|
474
478
|
@param {SC.Pane} optional pane
|
479
|
+
@param {firstResponder} a first responder to use
|
475
480
|
@returns {Object} target object or null if none found
|
476
481
|
*/
|
477
|
-
targetForAction: function(methodName, target, sender, pane) {
|
482
|
+
targetForAction: function(methodName, target, sender, pane, firstResponder) {
|
478
483
|
|
479
484
|
// 1. no action, no target...
|
480
485
|
if (!methodName || (SC.typeOf(methodName) !== SC.T_STRING)) {
|
@@ -501,7 +506,8 @@ SC.RootResponder = SC.Object.extend({
|
|
501
506
|
|
502
507
|
// 3. an explicit pane was passed...
|
503
508
|
if (pane) {
|
504
|
-
|
509
|
+
target = this._responderFor(pane, methodName, firstResponder);
|
510
|
+
if (target) return target;
|
505
511
|
}
|
506
512
|
|
507
513
|
// 4. no target or pane passed... try to find target in the active panes
|
@@ -588,13 +594,14 @@ SC.RootResponder = SC.Object.extend({
|
|
588
594
|
@param {Array} keyNames
|
589
595
|
@param {Element} target
|
590
596
|
@param {Object} receiver - optional if you don't want 'this'
|
597
|
+
@param {Boolean} useCapture
|
591
598
|
@returns {SC.RootResponder} receiver
|
592
599
|
*/
|
593
|
-
listenFor: function(keyNames, target, receiver) {
|
600
|
+
listenFor: function(keyNames, target, receiver, useCapture) {
|
594
601
|
receiver = receiver ? receiver : this;
|
595
602
|
keyNames.forEach( function(keyName) {
|
596
603
|
var method = receiver[keyName] ;
|
597
|
-
if (method) SC.Event.add(target, keyName, receiver, method) ;
|
604
|
+
if (method) SC.Event.add(target, keyName, receiver, method, null, useCapture) ;
|
598
605
|
},this) ;
|
599
606
|
target = null ;
|
600
607
|
return receiver ;
|
@@ -620,7 +627,12 @@ SC.RootResponder = SC.Object.extend({
|
|
620
627
|
|
621
628
|
// handle animation events
|
622
629
|
this.listenFor('webkitAnimationStart webkitAnimationIteration webkitAnimationEnd'.w(), document);
|
623
|
-
|
630
|
+
|
631
|
+
// CSS Transitions
|
632
|
+
if (SC.platform.supportsCSSTransitions) {
|
633
|
+
this.listenFor(['transitionEnd', SC.platform.cssPrefix+'TransitionEnd'], document);
|
634
|
+
}
|
635
|
+
|
624
636
|
// handle special case for keypress- you can't use normal listener to block the backspace key on Mozilla
|
625
637
|
if (this.keypress) {
|
626
638
|
if (SC.CAPTURE_BACKSPACE_KEY && SC.browser.mozilla) {
|
@@ -771,7 +783,7 @@ SC.RootResponder = SC.Object.extend({
|
|
771
783
|
}
|
772
784
|
}
|
773
785
|
},
|
774
|
-
|
786
|
+
|
775
787
|
// ................................................................................
|
776
788
|
// TOUCH SUPPORT
|
777
789
|
//
|
@@ -802,7 +814,7 @@ SC.RootResponder = SC.Object.extend({
|
|
802
814
|
_touches: {},
|
803
815
|
|
804
816
|
/**
|
805
|
-
Returns the touches that are registered to the specified view; undefined if none.
|
817
|
+
Returns the touches that are registered to the specified view or responder; undefined if none.
|
806
818
|
|
807
819
|
When views receive a touch event, they have the option to subscribe to it.
|
808
820
|
They are then mapped to touch events and vice-versa. This returns touches mapped to the view.
|
@@ -820,53 +832,70 @@ SC.RootResponder = SC.Object.extend({
|
|
820
832
|
This is useful for implementing scaling.
|
821
833
|
*/
|
822
834
|
averagedTouchesForView: function(view, added) {
|
823
|
-
var t = this.touchesForView(view)
|
824
|
-
|
835
|
+
var t = this.touchesForView(view),
|
836
|
+
|
837
|
+
// cache per view to avoid gc
|
838
|
+
averaged = view._scrr_averagedTouches || (view._scrr_averagedTouches = {});
|
839
|
+
|
840
|
+
if ((!t || t.length === 0) && !added) {
|
841
|
+
averaged.x = 0;
|
842
|
+
averaged.y = 0;
|
843
|
+
averaged.d = 0;
|
844
|
+
averaged.touchCount = 0;
|
845
|
+
|
846
|
+
} else {
|
847
|
+
// make array of touches using cached array
|
848
|
+
var touches = this._averagedTouches_touches || (this._averagedTouches_touches = []);
|
849
|
+
touches.length = 0;
|
850
|
+
|
851
|
+
// copy touches into array
|
852
|
+
if (t) {
|
853
|
+
var i, len = t.length;
|
854
|
+
for(i = 0; i < len; i++) {
|
855
|
+
touches.push(t[i]);
|
856
|
+
}
|
857
|
+
}
|
825
858
|
|
826
|
-
|
827
|
-
|
828
|
-
if (t) touches = t.toArray();
|
829
|
-
else touches = [];
|
859
|
+
// add added if needed
|
860
|
+
if (added) touches.push(added);
|
830
861
|
|
831
|
-
|
832
|
-
|
862
|
+
// prepare variables for looping
|
863
|
+
var idx, touch,
|
864
|
+
ax = 0, ay = 0, dx, dy, ad = 0;
|
865
|
+
len = touches.length;
|
833
866
|
|
834
|
-
|
835
|
-
|
836
|
-
|
867
|
+
// first, add
|
868
|
+
for (idx = 0; idx < len; idx++) {
|
869
|
+
touch = touches[idx];
|
870
|
+
ax += touch.pageX; ay += touch.pageY;
|
871
|
+
}
|
837
872
|
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
ax += touch.pageX; ay += touch.pageY;
|
842
|
-
}
|
873
|
+
// now, average
|
874
|
+
ax /= len;
|
875
|
+
ay /= len;
|
843
876
|
|
844
|
-
|
845
|
-
|
846
|
-
|
877
|
+
// distance
|
878
|
+
for (idx = 0; idx < len; idx++) {
|
879
|
+
touch = touches[idx];
|
847
880
|
|
848
|
-
|
849
|
-
|
850
|
-
|
881
|
+
// get distance from average
|
882
|
+
dx = Math.abs(touch.pageX - ax);
|
883
|
+
dy = Math.abs(touch.pageY - ay);
|
851
884
|
|
852
|
-
|
853
|
-
|
854
|
-
|
885
|
+
// Pythagoras was clever...
|
886
|
+
ad += Math.pow(dx * dx + dy * dy, 0.5);
|
887
|
+
}
|
855
888
|
|
856
|
-
//
|
857
|
-
ad
|
889
|
+
// average
|
890
|
+
ad /= len;
|
891
|
+
|
892
|
+
averaged.x = ax;
|
893
|
+
averaged.y = ay;
|
894
|
+
averaged.d = ad;
|
895
|
+
averaged.touchCount = len;
|
858
896
|
}
|
859
|
-
|
860
|
-
|
861
|
-
ad /= len;
|
862
|
-
|
863
|
-
// return
|
864
|
-
return {
|
865
|
-
x: ax,
|
866
|
-
y: ay,
|
867
|
-
d: ad,
|
868
|
-
touchCount: len
|
869
|
-
};
|
897
|
+
|
898
|
+
return averaged;
|
870
899
|
},
|
871
900
|
|
872
901
|
assignTouch: function(touch, view) {
|
@@ -919,6 +948,14 @@ SC.RootResponder = SC.Object.extend({
|
|
919
948
|
touch.view = undefined;
|
920
949
|
},
|
921
950
|
|
951
|
+
_flushQueuedTouchResponder: function(){
|
952
|
+
if (this._queuedTouchResponder) {
|
953
|
+
var queued = this._queuedTouchResponder;
|
954
|
+
this._queuedTouchResponder = null;
|
955
|
+
this.makeTouchResponder.apply(this, queued);
|
956
|
+
}
|
957
|
+
},
|
958
|
+
|
922
959
|
/**
|
923
960
|
The touch responder for any given touch is the view which will receive touch events
|
924
961
|
for that touch. Quite simple.
|
@@ -958,13 +995,27 @@ SC.RootResponder = SC.Object.extend({
|
|
958
995
|
events on the views. The event object is passed so that functions such as stopPropagation may be called.
|
959
996
|
*/
|
960
997
|
makeTouchResponder: function(touch, responder, shouldStack, upViewChain) {
|
998
|
+
|
999
|
+
// In certain cases (SC.Gesture being one), we have to call makeTouchResponder
|
1000
|
+
// from inside makeTouchResponder so we queue it up here.
|
1001
|
+
if (this._isMakingTouchResponder) {
|
1002
|
+
this._queuedTouchResponder = [touch, responder, shouldStack, upViewChain];
|
1003
|
+
return;
|
1004
|
+
}
|
1005
|
+
this._isMakingTouchResponder = YES;
|
1006
|
+
|
1007
|
+
|
961
1008
|
var stack = touch.touchResponders, touchesForView;
|
962
1009
|
|
963
1010
|
// find the actual responder (if any, I suppose)
|
964
1011
|
// note that the pane's sendEvent function is slightly clever:
|
965
1012
|
// if the target is already touch responder, it will just return it without calling touchStart
|
966
1013
|
// we must do the same.
|
967
|
-
if (touch.touchResponder === responder)
|
1014
|
+
if (touch.touchResponder === responder) {
|
1015
|
+
this._isMakingTouchResponder = NO;
|
1016
|
+
this._flushQueuedTouchResponder();
|
1017
|
+
return;
|
1018
|
+
}
|
968
1019
|
|
969
1020
|
// send touchStart
|
970
1021
|
// get the target pane
|
@@ -1041,6 +1092,11 @@ SC.RootResponder = SC.Object.extend({
|
|
1041
1092
|
touch.nextTouchResponder = stack[stack.length - 2];
|
1042
1093
|
}
|
1043
1094
|
}
|
1095
|
+
|
1096
|
+
|
1097
|
+
this._isMakingTouchResponder = NO;
|
1098
|
+
this._flushQueuedTouchResponder();
|
1099
|
+
|
1044
1100
|
},
|
1045
1101
|
|
1046
1102
|
/**
|
@@ -1296,6 +1352,10 @@ SC.RootResponder = SC.Object.extend({
|
|
1296
1352
|
// update touch
|
1297
1353
|
touchEntry.pageX = touch.pageX;
|
1298
1354
|
touchEntry.pageY = touch.pageY;
|
1355
|
+
touchEntry.clientX = touch.clientX;
|
1356
|
+
touchEntry.clientY = touch.clientY;
|
1357
|
+
touchEntry.screenX = touch.screenX;
|
1358
|
+
touchEntry.screenY = touch.screenY;
|
1299
1359
|
touchEntry.timeStamp = evt.timeStamp;
|
1300
1360
|
touchEntry.event = evt;
|
1301
1361
|
|
@@ -1332,6 +1392,10 @@ SC.RootResponder = SC.Object.extend({
|
|
1332
1392
|
firstTouch = viewTouches.firstObject();
|
1333
1393
|
evt.pageX = firstTouch.pageX;
|
1334
1394
|
evt.pageY = firstTouch.pageY;
|
1395
|
+
evt.clientX = firstTouch.clientX;
|
1396
|
+
evt.clientY = firstTouch.clientY;
|
1397
|
+
evt.screenX = firstTouch.screenX;
|
1398
|
+
evt.screenY = firstTouch.screenY;
|
1335
1399
|
evt.touchContext = this; // so it can call touchesForView
|
1336
1400
|
|
1337
1401
|
// and go
|
@@ -1374,6 +1438,10 @@ SC.RootResponder = SC.Object.extend({
|
|
1374
1438
|
touchEntry.timeStamp = evt.timeStamp;
|
1375
1439
|
touchEntry.pageX = touch.pageX;
|
1376
1440
|
touchEntry.pageY = touch.pageY;
|
1441
|
+
touchEntry.clientX = touch.clientX;
|
1442
|
+
touchEntry.clientY = touch.clientY;
|
1443
|
+
touchEntry.screenX = touch.screenX;
|
1444
|
+
touchEntry.screenY = touch.screenY;
|
1377
1445
|
touchEntry.type = 'touchend';
|
1378
1446
|
touchEntry.event = evt;
|
1379
1447
|
|
@@ -1411,7 +1479,7 @@ SC.RootResponder = SC.Object.extend({
|
|
1411
1479
|
evt.isCancel = YES;
|
1412
1480
|
this.touchend(evt);
|
1413
1481
|
},
|
1414
|
-
|
1482
|
+
|
1415
1483
|
// ..........................................................
|
1416
1484
|
// KEYBOARD HANDLING
|
1417
1485
|
//
|
@@ -1508,9 +1576,10 @@ SC.RootResponder = SC.Object.extend({
|
|
1508
1576
|
*/
|
1509
1577
|
keydown: function(evt) {
|
1510
1578
|
if (SC.none(evt)) return YES;
|
1511
|
-
|
1512
1579
|
var keyCode = evt.keyCode;
|
1513
|
-
|
1580
|
+
if(SC.browser.mozilla && evt.keyCode===9){
|
1581
|
+
this.keydownCounter=1;
|
1582
|
+
}
|
1514
1583
|
// Fix for IME input (japanese, mandarin).
|
1515
1584
|
// If the KeyCode is 229 wait for the keyup and
|
1516
1585
|
// trigger a keyDown if it is is enter onKeyup.
|
@@ -1580,6 +1649,10 @@ SC.RootResponder = SC.Object.extend({
|
|
1580
1649
|
keyCode = evt.keyCode,
|
1581
1650
|
isFirefox = !!SC.browser.mozilla;
|
1582
1651
|
|
1652
|
+
if(SC.browser.mozilla && evt.keyCode===9){
|
1653
|
+
this.keydownCounter++;
|
1654
|
+
if(this.keydownCounter==2) return YES;
|
1655
|
+
}
|
1583
1656
|
// delete is handled in keydown() for most browsers
|
1584
1657
|
if (isFirefox && (evt.which === 8)) {
|
1585
1658
|
//get the keycode and set it for which.
|
@@ -1592,7 +1665,7 @@ SC.RootResponder = SC.Object.extend({
|
|
1592
1665
|
} else {
|
1593
1666
|
var isFirefoxArrowKeys = (keyCode >= 37 && keyCode <= 40 && isFirefox),
|
1594
1667
|
charCode = evt.charCode;
|
1595
|
-
if ((charCode !== undefined && charCode === 0) && !isFirefoxArrowKeys) return YES;
|
1668
|
+
if ((charCode !== undefined && charCode === 0 && evt.keyCode!==9) && !isFirefoxArrowKeys) return YES;
|
1596
1669
|
if (isFirefoxArrowKeys) evt.which = keyCode;
|
1597
1670
|
return this.sendEvent('keyDown', evt) ? evt.hasCustomEventHandling:YES;
|
1598
1671
|
}
|
@@ -1649,10 +1722,10 @@ SC.RootResponder = SC.Object.extend({
|
|
1649
1722
|
if(!SC.browser.msie) window.focus();
|
1650
1723
|
|
1651
1724
|
// First, save the click count. The click count resets if the mouse down
|
1652
|
-
// event occurs more than
|
1725
|
+
// event occurs more than 250 ms later than the mouse up event or more
|
1653
1726
|
// than 8 pixels away from the mouse down event.
|
1654
1727
|
this._clickCount += 1 ;
|
1655
|
-
if (!this._lastMouseUpAt || ((Date.now()-this._lastMouseUpAt) >
|
1728
|
+
if (!this._lastMouseUpAt || ((Date.now()-this._lastMouseUpAt) > 250)) {
|
1656
1729
|
this._clickCount = 1 ;
|
1657
1730
|
} else {
|
1658
1731
|
var deltaX = this._lastMouseDownX - evt.clientX,
|
@@ -1707,7 +1780,6 @@ SC.RootResponder = SC.Object.extend({
|
|
1707
1780
|
|
1708
1781
|
var handler = null, view = this._mouseDownView,
|
1709
1782
|
targetView = this.targetViewForEvent(evt);
|
1710
|
-
this._lastMouseUpAt = Date.now() ;
|
1711
1783
|
|
1712
1784
|
// record click count.
|
1713
1785
|
evt.clickCount = this._clickCount ;
|
@@ -1744,6 +1816,10 @@ SC.RootResponder = SC.Object.extend({
|
|
1744
1816
|
|
1745
1817
|
// cleanup
|
1746
1818
|
this._mouseCanDrag = NO; this._mouseDownView = null ;
|
1819
|
+
|
1820
|
+
// Save timestamp of mouseup at last possible moment.
|
1821
|
+
// (This is used to calculate double click events)
|
1822
|
+
this._lastMouseUpAt = Date.now() ;
|
1747
1823
|
|
1748
1824
|
return (handler) ? evt.hasCustomEventHandling : YES ;
|
1749
1825
|
},
|
@@ -1921,6 +1997,18 @@ SC.RootResponder = SC.Object.extend({
|
|
1921
1997
|
throw e;
|
1922
1998
|
}
|
1923
1999
|
|
2000
|
+
return view ? evt.hasCustomEventHandling : YES;
|
2001
|
+
},
|
2002
|
+
|
2003
|
+
transitionEnd: function(evt){
|
2004
|
+
try {
|
2005
|
+
var view = this.targetViewForEvent(evt) ;
|
2006
|
+
this.sendEvent('transitionDidEnd', evt, view) ;
|
2007
|
+
} catch (e) {
|
2008
|
+
console.warn('Exception during transitionDidEnd: %@'.fmt(e)) ;
|
2009
|
+
throw e;
|
2010
|
+
}
|
2011
|
+
|
1924
2012
|
return view ? evt.hasCustomEventHandling : YES;
|
1925
2013
|
}
|
1926
2014
|
|
@@ -1964,6 +2052,10 @@ SC.Touch = function(touch, touchContext) {
|
|
1964
2052
|
|
1965
2053
|
this.startX = this.pageX = touch.pageX;
|
1966
2054
|
this.startY = this.pageY = touch.pageY;
|
2055
|
+
this.clientX = touch.clientX;
|
2056
|
+
this.clientY = touch.clientY;
|
2057
|
+
this.screenX = touch.screenX;
|
2058
|
+
this.screenY = touch.screenY;
|
1967
2059
|
};
|
1968
2060
|
|
1969
2061
|
SC.Touch.prototype = {
|
@@ -5,36 +5,31 @@
|
|
5
5
|
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
7
|
|
8
|
-
sc_require('system/object');
|
9
|
-
sc_require('mixins/enumerable');
|
10
|
-
sc_require('mixins/copyable');
|
11
|
-
sc_require('mixins/freezable');
|
12
|
-
|
13
8
|
/** @class
|
14
9
|
|
15
|
-
A SelectionSet contains a set of objects that represent the current
|
10
|
+
A SelectionSet contains a set of objects that represent the current
|
16
11
|
selection. You can select objects by either adding them to the set directly
|
17
12
|
or indirectly by selecting a range of indexes on a source object.
|
18
|
-
|
13
|
+
|
19
14
|
@extends SC.Object
|
20
15
|
@extends SC.Enumerable
|
21
16
|
@extends SC.Freezable
|
22
17
|
@extends SC.Copyable
|
23
18
|
@since SproutCore 1.0
|
24
19
|
*/
|
25
|
-
SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
20
|
+
SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
26
21
|
/** @scope SC.SelectionSet.prototype */ {
|
27
|
-
|
22
|
+
|
28
23
|
/**
|
29
24
|
Walk like a duck.
|
30
|
-
|
25
|
+
|
31
26
|
@property {Boolean}
|
32
27
|
*/
|
33
28
|
isSelectionSet: YES,
|
34
|
-
|
29
|
+
|
35
30
|
/**
|
36
31
|
Total number of indexes in the selection set
|
37
|
-
|
32
|
+
|
38
33
|
@property {Number}
|
39
34
|
*/
|
40
35
|
length: function() {
|
@@ -48,12 +43,12 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
48
43
|
|
49
44
|
// ..........................................................
|
50
45
|
// INDEX-BASED SELECTION
|
51
|
-
//
|
46
|
+
//
|
52
47
|
|
53
48
|
/**
|
54
|
-
A set of all the source objects used in the selection set. This
|
49
|
+
A set of all the source objects used in the selection set. This
|
55
50
|
property changes automatically as you add or remove index sets.
|
56
|
-
|
51
|
+
|
57
52
|
@property {SC.Array}
|
58
53
|
*/
|
59
54
|
sources: function() {
|
@@ -61,24 +56,24 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
61
56
|
sets = this._sets,
|
62
57
|
len = sets ? sets.length : 0,
|
63
58
|
idx, set, source;
|
64
|
-
|
59
|
+
|
65
60
|
for(idx=0;idx<len;idx++) {
|
66
61
|
set = sets[idx];
|
67
62
|
if (set && set.get('length')>0 && set.source) ret.push(set.source);
|
68
63
|
}
|
69
64
|
return ret ;
|
70
65
|
}.property().cacheable(),
|
71
|
-
|
66
|
+
|
72
67
|
/**
|
73
68
|
Returns the index set for the passed source object or null if no items are
|
74
69
|
seleted in the source.
|
75
|
-
|
70
|
+
|
76
71
|
@param {SC.Array} source the source object
|
77
72
|
@returns {SC.IndexSet} index set or null
|
78
73
|
*/
|
79
74
|
indexSetForSource: function(source) {
|
80
75
|
if (!source || !source.isSCArray) return null; // nothing to do
|
81
|
-
|
76
|
+
|
82
77
|
var cache = this._indexSetCache,
|
83
78
|
objects = this._objects,
|
84
79
|
ret, idx;
|
@@ -94,7 +89,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
94
89
|
if (!ret) {
|
95
90
|
ret = this._indexSetForSource(source, NO);
|
96
91
|
if (ret && ret.get('length')===0) ret = null;
|
97
|
-
|
92
|
+
|
98
93
|
if (objects) {
|
99
94
|
if (ret) ret = ret.copy();
|
100
95
|
objects.forEach(function(o) {
|
@@ -104,19 +99,19 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
104
99
|
}
|
105
100
|
}, this);
|
106
101
|
}
|
107
|
-
|
102
|
+
|
108
103
|
if (ret) {
|
109
104
|
ret = cache[SC.guidFor(source)] = ret.frozenCopy();
|
110
105
|
ret._sourceRevision = source.propertyRevision;
|
111
106
|
}
|
112
107
|
}
|
113
|
-
|
108
|
+
|
114
109
|
return ret;
|
115
110
|
},
|
116
|
-
|
117
|
-
/**
|
111
|
+
|
112
|
+
/**
|
118
113
|
@private
|
119
|
-
|
114
|
+
|
120
115
|
Internal method gets the index set for the source, ignoring objects
|
121
116
|
that have been added directly.
|
122
117
|
*/
|
@@ -128,7 +123,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
128
123
|
sets = this._sets,
|
129
124
|
len = sets ? sets.length : 0,
|
130
125
|
ret = null;
|
131
|
-
|
126
|
+
|
132
127
|
if (index >= len) index = null;
|
133
128
|
if (SC.none(index)) {
|
134
129
|
if (canCreate && !this.isFrozen) {
|
@@ -139,34 +134,34 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
139
134
|
this[guid] = len;
|
140
135
|
this.propertyDidChange('sources');
|
141
136
|
}
|
142
|
-
|
137
|
+
|
143
138
|
} else ret = sets ? sets[index] : null;
|
144
139
|
return ret ;
|
145
140
|
},
|
146
|
-
|
141
|
+
|
147
142
|
/**
|
148
143
|
Add the passed index, range of indexSet belonging to the passed source
|
149
144
|
object to the selection set.
|
150
|
-
|
145
|
+
|
151
146
|
The first parameter you pass must be the source array you are selecting
|
152
|
-
from. The following parameters may be one of a start/length pair, a
|
147
|
+
from. The following parameters may be one of a start/length pair, a
|
153
148
|
single index, a range object or an IndexSet. If some or all of the range
|
154
149
|
you are selecting is already in the set, it will not be selected again.
|
155
|
-
|
150
|
+
|
156
151
|
You can also pass an SC.SelectionSet to this method and all the selected
|
157
152
|
sets will be added from their instead.
|
158
|
-
|
153
|
+
|
159
154
|
@param {SC.Array} source source object or object to add.
|
160
155
|
@param {Number} start index, start of range, range or IndexSet
|
161
156
|
@param {Number} length length if passing start/length pair.
|
162
157
|
@returns {SC.SelectionSet} receiver
|
163
158
|
*/
|
164
159
|
add: function(source, start, length) {
|
165
|
-
|
160
|
+
|
166
161
|
if (this.isFrozen) throw SC.FROZEN_ERROR ;
|
167
162
|
|
168
163
|
var sets, len, idx, set, oldlen, newlen, setlen, objects;
|
169
|
-
|
164
|
+
|
170
165
|
// normalize
|
171
166
|
if (start === undefined && length === undefined) {
|
172
167
|
if (!source) throw "Must pass params to SC.SelectionSet.add()";
|
@@ -184,7 +179,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
184
179
|
if (objects) this.addObjects(objects);
|
185
180
|
this.endPropertyChanges();
|
186
181
|
return this ;
|
187
|
-
|
182
|
+
|
188
183
|
}
|
189
184
|
}
|
190
185
|
|
@@ -192,7 +187,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
192
187
|
oldlen = this.get('length');
|
193
188
|
setlen = set.get('length');
|
194
189
|
newlen = oldlen - setlen;
|
195
|
-
|
190
|
+
|
196
191
|
set.add(start, length);
|
197
192
|
|
198
193
|
this._indexSetCache = null;
|
@@ -210,23 +205,23 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
210
205
|
/**
|
211
206
|
Removes the passed index, range of indexSet belonging to the passed source
|
212
207
|
object from the selection set.
|
213
|
-
|
208
|
+
|
214
209
|
The first parameter you pass must be the source array you are selecting
|
215
|
-
from. The following parameters may be one of a start/length pair, a
|
210
|
+
from. The following parameters may be one of a start/length pair, a
|
216
211
|
single index, a range object or an IndexSet. If some or all of the range
|
217
212
|
you are selecting is already in the set, it will not be selected again.
|
218
|
-
|
213
|
+
|
219
214
|
@param {SC.Array} source source object. must not be null
|
220
215
|
@param {Number} start index, start of range, range or IndexSet
|
221
216
|
@param {Number} length length if passing start/length pair.
|
222
217
|
@returns {SC.SelectionSet} receiver
|
223
218
|
*/
|
224
219
|
remove: function(source, start, length) {
|
225
|
-
|
220
|
+
|
226
221
|
if (this.isFrozen) throw SC.FROZEN_ERROR ;
|
227
|
-
|
222
|
+
|
228
223
|
var sets, len, idx, set, oldlen, newlen, setlen, objects;
|
229
|
-
|
224
|
+
|
230
225
|
// normalize
|
231
226
|
if (start === undefined && length === undefined) {
|
232
227
|
if (!source) throw "Must pass params to SC.SelectionSet.remove()";
|
@@ -235,7 +230,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
235
230
|
sets = source._sets;
|
236
231
|
objects = source._objects;
|
237
232
|
len = sets ? sets.length : 0;
|
238
|
-
|
233
|
+
|
239
234
|
this.beginPropertyChanges();
|
240
235
|
for(idx=0;idx<len;idx++) {
|
241
236
|
set = sets[idx];
|
@@ -246,22 +241,22 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
246
241
|
return this ;
|
247
242
|
}
|
248
243
|
}
|
249
|
-
|
244
|
+
|
250
245
|
// save starter info
|
251
246
|
set = this._indexSetForSource(source, YES);
|
252
247
|
oldlen = this.get('length');
|
253
248
|
newlen = oldlen - set.get('length');
|
254
249
|
|
255
|
-
// if we have objects selected, determine if they are in the index
|
250
|
+
// if we have objects selected, determine if they are in the index
|
256
251
|
// set and remove them as well.
|
257
252
|
if (set && (objects = this._objects)) {
|
258
|
-
|
253
|
+
|
259
254
|
// convert start/length to index set so the iterator below will work...
|
260
255
|
if (length !== undefined) {
|
261
256
|
start = SC.IndexSet.create(start, length);
|
262
257
|
length = undefined;
|
263
258
|
}
|
264
|
-
|
259
|
+
|
265
260
|
objects.forEach(function(object) {
|
266
261
|
idx = source.indexOf(object);
|
267
262
|
if (start.contains(idx)) {
|
@@ -270,7 +265,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
270
265
|
}
|
271
266
|
}, this);
|
272
267
|
}
|
273
|
-
|
268
|
+
|
274
269
|
// remove indexes from source index set
|
275
270
|
set.remove(start, length);
|
276
271
|
setlen = set.get('length');
|
@@ -287,10 +282,10 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
287
282
|
return this ;
|
288
283
|
},
|
289
284
|
|
290
|
-
|
285
|
+
|
291
286
|
/**
|
292
287
|
Returns YES if the selection contains the named index, range of indexes.
|
293
|
-
|
288
|
+
|
294
289
|
@param {Object} source source object for range
|
295
290
|
@param {Number} start index, start of range, range object, or indexSet
|
296
291
|
@param {Number} length optional range length
|
@@ -300,7 +295,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
300
295
|
if (start === undefined && length === undefined) {
|
301
296
|
return this.containsObject(source);
|
302
297
|
}
|
303
|
-
|
298
|
+
|
304
299
|
var set = this.indexSetForSource(source);
|
305
300
|
if (!set) return NO ;
|
306
301
|
return set.contains(start, length);
|
@@ -309,7 +304,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
309
304
|
/**
|
310
305
|
Returns YES if the index set contains any of the passed indexes. You
|
311
306
|
can pass a single index, a range or an index set.
|
312
|
-
|
307
|
+
|
313
308
|
@param {Object} source source object for range
|
314
309
|
@param {Number} start index, range, or IndexSet
|
315
310
|
@param {Number} length optional range length
|
@@ -320,37 +315,37 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
320
315
|
if (!set) return NO ;
|
321
316
|
return set.intersects(start, length);
|
322
317
|
},
|
323
|
-
|
324
|
-
|
318
|
+
|
319
|
+
|
325
320
|
// ..........................................................
|
326
321
|
// OBJECT-BASED API
|
327
|
-
//
|
322
|
+
//
|
328
323
|
|
329
324
|
_TMP_ARY: [],
|
330
|
-
|
325
|
+
|
331
326
|
/**
|
332
|
-
Adds the object to the selection set. Unlike adding an index set, the
|
333
|
-
selection will actually track the object independent of its location in
|
327
|
+
Adds the object to the selection set. Unlike adding an index set, the
|
328
|
+
selection will actually track the object independent of its location in
|
334
329
|
the array.
|
335
|
-
|
336
|
-
@param {Object} object
|
330
|
+
|
331
|
+
@param {Object} object
|
337
332
|
@returns {SC.SelectionSet} receiver
|
338
333
|
*/
|
339
|
-
addObject: function(object) {
|
334
|
+
addObject: function(object) {
|
340
335
|
var ary = this._TMP_ARY, ret;
|
341
336
|
ary[0] = object;
|
342
|
-
|
337
|
+
|
343
338
|
ret = this.addObjects(ary);
|
344
339
|
ary.length = 0;
|
345
|
-
|
340
|
+
|
346
341
|
return ret;
|
347
342
|
},
|
348
|
-
|
343
|
+
|
349
344
|
/**
|
350
345
|
Adds objects in the passed enumerable to the selection set. Unlike adding
|
351
346
|
an index set, the seleciton will actually track the object independent of
|
352
347
|
its location the array.
|
353
|
-
|
348
|
+
|
354
349
|
@param {SC.Enumerable} objects
|
355
350
|
@returns {SC.SelectionSet} receiver
|
356
351
|
*/
|
@@ -362,7 +357,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
362
357
|
|
363
358
|
cur.addEach(objects);
|
364
359
|
newlen = cur.get('length');
|
365
|
-
|
360
|
+
|
366
361
|
this._indexSetCache = null;
|
367
362
|
if (newlen !== oldlen) {
|
368
363
|
this.propertyDidChange('length');
|
@@ -373,41 +368,41 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
373
368
|
|
374
369
|
/**
|
375
370
|
Removes the object from the selection set. Note that if the selection
|
376
|
-
set also selects a range of indexes that includes this object, it may
|
371
|
+
set also selects a range of indexes that includes this object, it may
|
377
372
|
still be in the selection set.
|
378
|
-
|
379
|
-
@param {Object} object
|
373
|
+
|
374
|
+
@param {Object} object
|
380
375
|
@returns {SC.SelectionSet} receiver
|
381
376
|
*/
|
382
|
-
removeObject: function(object) {
|
377
|
+
removeObject: function(object) {
|
383
378
|
var ary = this._TMP_ARY, ret;
|
384
379
|
ary[0] = object;
|
385
|
-
|
380
|
+
|
386
381
|
ret = this.removeObjects(ary);
|
387
382
|
ary.length = 0;
|
388
|
-
|
383
|
+
|
389
384
|
return ret;
|
390
385
|
},
|
391
|
-
|
386
|
+
|
392
387
|
/**
|
393
388
|
Removes the objects from the selection set. Note that if the selection
|
394
|
-
set also selects a range of indexes that includes this object, it may
|
389
|
+
set also selects a range of indexes that includes this object, it may
|
395
390
|
still be in the selection set.
|
396
|
-
|
397
|
-
@param {Object} object
|
391
|
+
|
392
|
+
@param {Object} object
|
398
393
|
@returns {SC.SelectionSet} receiver
|
399
394
|
*/
|
400
395
|
removeObjects: function(objects) {
|
401
396
|
var cur = this._objects,
|
402
397
|
oldlen, newlen, sets;
|
403
|
-
|
398
|
+
|
404
399
|
if (!cur) return this;
|
405
400
|
|
406
401
|
oldlen = cur.get('length');
|
407
402
|
|
408
403
|
cur.removeEach(objects);
|
409
404
|
newlen = cur.get('length');
|
410
|
-
|
405
|
+
|
411
406
|
// also remove from index sets, if present
|
412
407
|
if (sets = this._sets) {
|
413
408
|
sets.forEach(function(set) {
|
@@ -416,7 +411,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
416
411
|
newlen += set.get('length');
|
417
412
|
}, this);
|
418
413
|
}
|
419
|
-
|
414
|
+
|
420
415
|
this._indexSetCache = null;
|
421
416
|
if (newlen !== oldlen) {
|
422
417
|
this.propertyDidChange('length');
|
@@ -428,7 +423,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
428
423
|
/**
|
429
424
|
Returns YES if the selection contains the passed object. This will search
|
430
425
|
selected ranges in all source objects.
|
431
|
-
|
426
|
+
|
432
427
|
@param {Object} object the object to search for
|
433
428
|
@returns {Boolean}
|
434
429
|
*/
|
@@ -436,7 +431,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
436
431
|
// fast path
|
437
432
|
var objects = this._objects ;
|
438
433
|
if (objects && objects.contains(object)) return YES ;
|
439
|
-
|
434
|
+
|
440
435
|
var sets = this._sets,
|
441
436
|
len = sets ? sets.length : 0,
|
442
437
|
idx, set;
|
@@ -444,70 +439,70 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
444
439
|
set = sets[idx];
|
445
440
|
if (set && set.indexOf(object)>=0) return YES;
|
446
441
|
}
|
447
|
-
|
442
|
+
|
448
443
|
return NO ;
|
449
444
|
},
|
450
|
-
|
451
|
-
|
445
|
+
|
446
|
+
|
452
447
|
// ..........................................................
|
453
448
|
// GENERIC HELPER METHODS
|
454
|
-
//
|
455
|
-
|
449
|
+
//
|
450
|
+
|
456
451
|
/**
|
457
452
|
Constrains the selection set to only objects found in the passed source
|
458
|
-
object. This will remove any indexes selected in other sources, any
|
453
|
+
object. This will remove any indexes selected in other sources, any
|
459
454
|
indexes beyond the length of the content, and any objects not found in the
|
460
455
|
set.
|
461
|
-
|
456
|
+
|
462
457
|
@param {Object} source the source to limit
|
463
458
|
@returns {SC.SelectionSet} receiver
|
464
459
|
*/
|
465
460
|
constrain: function(source) {
|
466
461
|
var set, len, max, objects;
|
467
|
-
|
462
|
+
|
468
463
|
this.beginPropertyChanges();
|
469
|
-
|
464
|
+
|
470
465
|
// remove sources other than this one
|
471
466
|
this.get('sources').forEach(function(cur) {
|
472
467
|
if (cur === source) return; //skip
|
473
468
|
var set = this._indexSetForSource(source, NO);
|
474
469
|
if (set) this.remove(source, set);
|
475
|
-
},this);
|
476
|
-
|
470
|
+
},this);
|
471
|
+
|
477
472
|
// remove indexes beyond end of source length
|
478
473
|
set = this._indexSetForSource(source, NO);
|
479
474
|
if (set && ((max=set.get('max'))>(len=source.get('length')))) {
|
480
475
|
this.remove(source, len, max-len);
|
481
476
|
}
|
482
|
-
|
477
|
+
|
483
478
|
// remove objects not in source
|
484
479
|
if (objects = this._objects) {
|
485
480
|
objects.forEach(function(cur) {
|
486
481
|
if (source.indexOf(cur)<0) this.removeObject(cur);
|
487
482
|
},this);
|
488
483
|
}
|
489
|
-
|
484
|
+
|
490
485
|
this.endPropertyChanges();
|
491
486
|
return this ;
|
492
487
|
},
|
493
|
-
|
488
|
+
|
494
489
|
/**
|
495
|
-
Returns YES if the passed index set or selection set contains the exact
|
496
|
-
same source objects and indexes as the receiver. If you pass any object
|
490
|
+
Returns YES if the passed index set or selection set contains the exact
|
491
|
+
same source objects and indexes as the receiver. If you pass any object
|
497
492
|
other than an IndexSet or SelectionSet, returns NO.
|
498
|
-
|
493
|
+
|
499
494
|
@param {Object} obj another object.
|
500
495
|
@returns {Boolean}
|
501
496
|
*/
|
502
497
|
isEqual: function(obj) {
|
503
498
|
var left, right, idx, len, sources, source;
|
504
|
-
|
499
|
+
|
505
500
|
// fast paths
|
506
501
|
if (!obj || !obj.isSelectionSet) return NO ;
|
507
502
|
if (obj === this) return YES;
|
508
503
|
if ((this._sets === obj._sets) && (this._objects === obj._objects)) return YES;
|
509
504
|
if (this.get('length') !== obj.get('length')) return NO;
|
510
|
-
|
505
|
+
|
511
506
|
// check objects
|
512
507
|
left = this._objects;
|
513
508
|
right = obj._objects;
|
@@ -528,31 +523,31 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
528
523
|
if (!!right !== !!left) return NO ;
|
529
524
|
if (left && !left.isEqual(right)) return NO ;
|
530
525
|
}
|
531
|
-
|
526
|
+
|
532
527
|
return YES ;
|
533
528
|
},
|
534
529
|
|
535
530
|
/**
|
536
531
|
Clears the set. Removes all IndexSets from the object
|
537
|
-
|
532
|
+
|
538
533
|
@returns {SC.SelectionSet}
|
539
534
|
*/
|
540
535
|
clear: function() {
|
541
536
|
if (this.isFrozen) throw SC.FROZEN_ERROR;
|
542
537
|
if (this._sets) this._sets.length = 0 ; // truncate
|
543
538
|
if (this._objects) this._objects = null;
|
544
|
-
|
539
|
+
|
545
540
|
this._indexSetCache = null;
|
546
541
|
this.propertyDidChange('length');
|
547
542
|
this.enumerableContentDidChange();
|
548
543
|
this.notifyPropertyChange('sources');
|
549
|
-
|
544
|
+
|
550
545
|
return this ;
|
551
546
|
},
|
552
|
-
|
547
|
+
|
553
548
|
/**
|
554
|
-
Clones the set into a new set.
|
555
|
-
|
549
|
+
Clones the set into a new set.
|
550
|
+
|
556
551
|
@returns {SC.SelectionSet}
|
557
552
|
*/
|
558
553
|
copy: function() {
|
@@ -560,7 +555,7 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
560
555
|
sets = this._sets,
|
561
556
|
len = sets ? sets.length : 0 ,
|
562
557
|
idx, set;
|
563
|
-
|
558
|
+
|
564
559
|
if (sets && len>0) {
|
565
560
|
sets = ret._sets = sets.slice();
|
566
561
|
for(idx=0;idx<len;idx++) {
|
@@ -569,14 +564,14 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
569
564
|
ret[SC.guidFor(set.source)] = idx;
|
570
565
|
}
|
571
566
|
}
|
572
|
-
|
567
|
+
|
573
568
|
if (this._objects) ret._objects = this._objects.copy();
|
574
569
|
return ret ;
|
575
570
|
},
|
576
|
-
|
571
|
+
|
577
572
|
/**
|
578
|
-
@private
|
579
|
-
|
573
|
+
@private
|
574
|
+
|
580
575
|
Freezing a SelectionSet also freezes its internal sets.
|
581
576
|
*/
|
582
577
|
freeze: function() {
|
@@ -584,34 +579,34 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
584
579
|
var sets = this._sets,
|
585
580
|
loc = sets ? sets.length : 0,
|
586
581
|
set ;
|
587
|
-
|
582
|
+
|
588
583
|
while(--loc >= 0) {
|
589
584
|
if (set = sets[loc]) set.freeze();
|
590
585
|
}
|
591
|
-
|
586
|
+
|
592
587
|
if (this._objects) this._objects.freeze();
|
593
588
|
return sc_super();
|
594
589
|
},
|
595
|
-
|
590
|
+
|
596
591
|
// ..........................................................
|
597
592
|
// ITERATORS
|
598
|
-
//
|
599
|
-
|
593
|
+
//
|
594
|
+
|
600
595
|
/** @private */
|
601
596
|
toString: function() {
|
602
597
|
var sets = this._sets || [];
|
603
|
-
sets = sets.map(function(set) {
|
604
|
-
return set.toString().replace("SC.IndexSet", SC.guidFor(set.source));
|
598
|
+
sets = sets.map(function(set) {
|
599
|
+
return set.toString().replace("SC.IndexSet", SC.guidFor(set.source));
|
605
600
|
}, this);
|
606
601
|
if (this._objects) sets.push(this._objects.toString());
|
607
|
-
return "SC.SelectionSet:%@<%@>".fmt(SC.guidFor(this), sets.join(','));
|
602
|
+
return "SC.SelectionSet:%@<%@>".fmt(SC.guidFor(this), sets.join(','));
|
608
603
|
},
|
609
|
-
|
604
|
+
|
610
605
|
/** @private */
|
611
606
|
firstObject: function() {
|
612
607
|
var sets = this._sets,
|
613
608
|
objects = this._objects;
|
614
|
-
|
609
|
+
|
615
610
|
// if we have sets, get the first one
|
616
611
|
if (sets && sets.get('length')>0) {
|
617
612
|
var set = sets ? sets[0] : null,
|
@@ -619,22 +614,22 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
619
614
|
idx = set ? set.firstObject() : -1;
|
620
615
|
if (src && idx>=0) return src.objectAt(idx);
|
621
616
|
}
|
622
|
-
|
617
|
+
|
623
618
|
// otherwise if we have objects, get the first one
|
624
619
|
return objects ? objects.firstObject() : undefined;
|
625
|
-
|
620
|
+
|
626
621
|
}.property(),
|
627
|
-
|
622
|
+
|
628
623
|
/** @private
|
629
|
-
Implement primitive enumerable support. Returns each object in the
|
624
|
+
Implement primitive enumerable support. Returns each object in the
|
630
625
|
selection.
|
631
626
|
*/
|
632
|
-
nextObject: function(count, lastObject, context) {
|
627
|
+
nextObject: function(count, lastObject, context) {
|
633
628
|
var objects, ret;
|
634
|
-
|
629
|
+
|
635
630
|
// TODO: Make this more efficient. Right now it collects all objects
|
636
|
-
// first.
|
637
|
-
|
631
|
+
// first.
|
632
|
+
|
638
633
|
if (count === 0) {
|
639
634
|
objects = context.objects = [];
|
640
635
|
this.forEach(function(o) { objects.push(o); }, this);
|
@@ -643,28 +638,28 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
643
638
|
|
644
639
|
objects = context.objects ;
|
645
640
|
ret = objects[count];
|
646
|
-
|
641
|
+
|
647
642
|
if (count+1 >= context.max) {
|
648
643
|
context.objects = context.max = null;
|
649
644
|
}
|
650
|
-
|
645
|
+
|
651
646
|
return ret ;
|
652
647
|
},
|
653
|
-
|
654
|
-
/**
|
648
|
+
|
649
|
+
/**
|
655
650
|
Iterates over the selection, invoking your callback with each __object__.
|
656
|
-
This will actually find the object referenced by each index in the
|
651
|
+
This will actually find the object referenced by each index in the
|
657
652
|
selection, not just the index.
|
658
653
|
|
659
654
|
The callback must have the following signature:
|
660
|
-
|
655
|
+
|
661
656
|
{{{
|
662
657
|
function callback(object, index, source, indexSet) { ... }
|
663
658
|
}}}
|
664
|
-
|
659
|
+
|
665
660
|
If you pass a target, it will be used when the callback is called.
|
666
|
-
|
667
|
-
@param {Function} callback function to invoke.
|
661
|
+
|
662
|
+
@param {Function} callback function to invoke.
|
668
663
|
@param {Object} target optional content. otherwise uses window
|
669
664
|
@returns {SC.SelectionSet} receiver
|
670
665
|
*/
|
@@ -673,24 +668,24 @@ SC.SelectionSet = SC.Object.extend(SC.Enumerable, SC.Freezable, SC.Copyable,
|
|
673
668
|
objects = this._objects,
|
674
669
|
len = sets ? sets.length : 0,
|
675
670
|
set, idx;
|
676
|
-
|
671
|
+
|
677
672
|
for(idx=0;idx<len;idx++) {
|
678
673
|
set = sets[idx];
|
679
674
|
if (set) set.forEachObject(callback, target);
|
680
675
|
}
|
681
|
-
|
676
|
+
|
682
677
|
if (objects) objects.forEach(callback, target);
|
683
678
|
return this ;
|
684
|
-
}
|
685
|
-
|
679
|
+
}
|
680
|
+
|
686
681
|
});
|
687
682
|
|
688
683
|
/** @private */
|
689
684
|
SC.SelectionSet.prototype.clone = SC.SelectionSet.prototype.copy;
|
690
685
|
|
691
|
-
/**
|
686
|
+
/**
|
692
687
|
Default frozen empty selection set
|
693
|
-
|
688
|
+
|
694
689
|
@property {SC.SelectionSet}
|
695
690
|
*/
|
696
691
|
SC.SelectionSet.EMPTY = SC.SelectionSet.create().freeze();
|