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
@@ -7,13 +7,16 @@
|
|
7
7
|
|
8
8
|
/** @class
|
9
9
|
|
10
|
-
|
10
|
+
Represents a Checkbox Button.
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
The view is an SC.ButtonView put into toggle mode and with the 'theme' property
|
13
|
+
set to "checkbox".
|
14
14
|
|
15
|
-
|
16
|
-
|
15
|
+
Rendering
|
16
|
+
----------------------------
|
17
|
+
SC.ButtonView delegates its rendering to its theme. As the theme is set
|
18
|
+
to "checkbox", the way the checkbox renders (including DOM) will actually
|
19
|
+
be different than SC.ButtonView's.
|
17
20
|
|
18
21
|
@extends SC.FieldView
|
19
22
|
@since SproutCore 1.0
|
@@ -21,49 +24,16 @@
|
|
21
24
|
SC.CheckboxView = SC.ButtonView.extend(SC.StaticLayout, SC.Button,
|
22
25
|
/** @scope SC.CheckboxView.prototype */ {
|
23
26
|
|
24
|
-
classNames: ['sc-checkbox-view'],
|
27
|
+
classNames: ['sc-checkbox-view', 'sc-checkbox-control'],
|
25
28
|
tagName: 'label',
|
29
|
+
ariaRole: 'checkbox',
|
30
|
+
|
31
|
+
// no special theme for Checkbox; button defaults to 'square', so we have to stop that.
|
32
|
+
themeName: null,
|
33
|
+
renderDelegateName: 'checkboxRenderDelegate',
|
26
34
|
|
27
35
|
/* Ellipsis is disabled by default to allow multiline text */
|
28
36
|
needsEllipsis: NO,
|
29
|
-
|
30
|
-
render: function(context, firstTime) {
|
31
|
-
var dt, elem,
|
32
|
-
value = this.get('value'),
|
33
|
-
ariaValue = value === SC.MIXED_MODE ?
|
34
|
-
'mixed' : (value === this.get('toggleOnValue') ?
|
35
|
-
'true': 'false');
|
36
|
-
|
37
|
-
// add checkbox -- set name to view guid to separate it from others
|
38
|
-
if (firstTime) {
|
39
|
-
var blank = SC.BLANK_IMAGE_URL,
|
40
|
-
disabled = this.get('isEnabled') ? '' : 'disabled="disabled"',
|
41
|
-
guid = SC.guidFor(this);
|
42
|
-
|
43
|
-
context.attr('role', 'checkbox');
|
44
|
-
dt = this._field_currentDisplayTitle = this.get('displayTitle');
|
45
|
-
|
46
|
-
if(SC.browser.msie) context.attr('for', guid);
|
47
|
-
context.push('<span class="button" ></span>');
|
48
|
-
if(this.get('needsEllipsis')){
|
49
|
-
context.push('<span class="label ellipsis">', dt, '</span>');
|
50
|
-
}else{
|
51
|
-
context.push('<span class="label">', dt, '</span>');
|
52
|
-
}
|
53
|
-
context.attr('name', guid);
|
54
|
-
|
55
|
-
// since we don't want to regenerate the contents each time
|
56
|
-
// actually search for and update the displayTitle.
|
57
|
-
} else {
|
58
|
-
|
59
|
-
dt = this.get('displayTitle');
|
60
|
-
if (dt !== this._field_currentDisplayTitle) {
|
61
|
-
this._field_currentDisplayTitle = dt;
|
62
|
-
this.$('span.label').text(dt);
|
63
|
-
}
|
64
|
-
}
|
65
|
-
context.attr('aria-checked', ariaValue);
|
66
|
-
},
|
67
37
|
|
68
38
|
acceptsFirstResponder: function() {
|
69
39
|
if(!SC.SAFARI_FOCUS_BEHAVIOR) return this.get('isEnabled');
|
@@ -82,21 +52,21 @@ SC.CheckboxView = SC.ButtonView.extend(SC.StaticLayout, SC.Button,
|
|
82
52
|
},
|
83
53
|
|
84
54
|
mouseUp: function(evt) {
|
55
|
+
this.set('isActive', NO);
|
56
|
+
this._isMouseDown = NO;
|
57
|
+
|
85
58
|
if(!this.get('isEnabled') ||
|
86
59
|
(evt && evt.target && !this.$().within(evt.target))) {
|
87
60
|
return YES;
|
88
61
|
}
|
89
62
|
var val = this.get('value');
|
90
63
|
if (val === this.get('toggleOnValue')) {
|
91
|
-
|
64
|
+
|
92
65
|
this.set('value', this.get('toggleOffValue'));
|
93
66
|
}
|
94
67
|
else {
|
95
|
-
this.$().attr('aria-checked', 'true');
|
96
68
|
this.set('value', this.get('toggleOnValue'));
|
97
69
|
}
|
98
|
-
this.set('isActive', NO);
|
99
|
-
this._isMouseDown = NO;
|
100
70
|
return YES;
|
101
71
|
},
|
102
72
|
|
@@ -1004,19 +1004,7 @@ SC.CollectionView = SC.View.extend(
|
|
1004
1004
|
},
|
1005
1005
|
|
1006
1006
|
displayProperties: 'isFirstResponder isEnabled isActive'.w(),
|
1007
|
-
|
1008
|
-
/** @private
|
1009
|
-
If we're asked to render the receiver view for the first time but the
|
1010
|
-
child views still need to be added, go ahead and add them.
|
1011
|
-
*/
|
1012
|
-
render: function(context, firstTime) {
|
1013
|
-
// add classes for other state.
|
1014
|
-
context.setClass('focus', this.get('isFirstResponder'));
|
1015
|
-
context.setClass('disabled', !this.get('isEnabled'));
|
1016
|
-
context.setClass('active', this.get('isActive'));
|
1017
|
-
|
1018
|
-
return sc_super();
|
1019
|
-
},
|
1007
|
+
renderDelegateName: 'collectionRenderDelegate',
|
1020
1008
|
|
1021
1009
|
|
1022
1010
|
_TMP_ATTRS: {},
|
@@ -2311,9 +2299,7 @@ SC.CollectionView = SC.View.extend(
|
|
2311
2299
|
// ..........................................................
|
2312
2300
|
// TOUCH EVENTS
|
2313
2301
|
//
|
2314
|
-
|
2315
|
-
touchStart: function(ev) {
|
2316
|
-
|
2302
|
+
touchStart: function(touch, evt) {
|
2317
2303
|
// When the user presses the mouse down, we don't do much just yet.
|
2318
2304
|
// Instead, we just need to save a bunch of state about the mouse down
|
2319
2305
|
// so we can choose the right thing to do later.
|
@@ -2324,16 +2310,15 @@ SC.CollectionView = SC.View.extend(
|
|
2324
2310
|
// find the actual view the mouse was pressed down on. This will call
|
2325
2311
|
// hitTest() on item views so they can implement non-square detection
|
2326
2312
|
// modes. -- once we have an item view, get its content object as well.
|
2327
|
-
var itemView = this.itemViewForEvent(
|
2313
|
+
var itemView = this.itemViewForEvent(touch),
|
2328
2314
|
content = this.get('content'),
|
2329
2315
|
contentIndex = itemView ? itemView.get('contentIndex') : -1,
|
2330
2316
|
info, anchor ;
|
2331
|
-
|
2317
|
+
|
2332
2318
|
// become first responder if possible.
|
2333
2319
|
this.becomeFirstResponder() ;
|
2334
|
-
this.select(contentIndex, NO);
|
2335
2320
|
|
2336
|
-
this.
|
2321
|
+
this.invokeLater("select", 1, contentIndex);
|
2337
2322
|
|
2338
2323
|
return YES;
|
2339
2324
|
},
|
@@ -2350,6 +2335,13 @@ SC.CollectionView = SC.View.extend(
|
|
2350
2335
|
}, this);
|
2351
2336
|
|
2352
2337
|
},
|
2338
|
+
|
2339
|
+
touchEnd: function(touch) {
|
2340
|
+
var itemView = this.itemViewForEvent(touch);
|
2341
|
+
|
2342
|
+
// If actOnSelect is implemented, the action will be fired.
|
2343
|
+
this._cv_performSelectAction(itemView, touch, 0);
|
2344
|
+
},
|
2353
2345
|
|
2354
2346
|
touchCancelled: function(evt) {
|
2355
2347
|
this.select(null, NO);
|
@@ -2544,11 +2536,12 @@ SC.CollectionView = SC.View.extend(
|
|
2544
2536
|
*/
|
2545
2537
|
_cv_dragViewFor: function(dragContent) {
|
2546
2538
|
// find only the indexes that are in both dragContent and nowShowing.
|
2547
|
-
var indexes = this.get('nowShowing').without(dragContent)
|
2539
|
+
var indexes = this.get('nowShowing').without(dragContent),
|
2540
|
+
dragLayer = this.get('layer').cloneNode(false),
|
2541
|
+
view = SC.View.create({ layer: dragLayer, parentView: this }),
|
2542
|
+
height=0, layout;
|
2543
|
+
|
2548
2544
|
indexes = this.get('nowShowing').without(indexes);
|
2549
|
-
|
2550
|
-
var dragLayer = this.get('layer').cloneNode(false);
|
2551
|
-
var view = SC.View.create({ layer: dragLayer, parentView: this });
|
2552
2545
|
|
2553
2546
|
// cleanup weird stuff that might make the drag look out of place
|
2554
2547
|
SC.$(dragLayer).css('backgroundColor', 'transparent')
|
@@ -2572,10 +2565,18 @@ SC.CollectionView = SC.View.extend(
|
|
2572
2565
|
itemView.updateLayerIfNeeded();
|
2573
2566
|
}
|
2574
2567
|
|
2575
|
-
if (layer)
|
2568
|
+
if (layer) {
|
2569
|
+
dragLayer.appendChild(layer);
|
2570
|
+
layout = itemView.get('layout');
|
2571
|
+
if(layout.height+layout.top>height){
|
2572
|
+
height = layout.height+layout.top;
|
2573
|
+
}
|
2574
|
+
}
|
2576
2575
|
layer = null;
|
2577
2576
|
|
2578
2577
|
}, this);
|
2578
|
+
// we don't want to show the scrollbars, resize the dragview'
|
2579
|
+
view.set('layout', {height:height});
|
2579
2580
|
|
2580
2581
|
dragLayer = null;
|
2581
2582
|
return view ;
|
@@ -22,7 +22,8 @@ SC.DisclosureView = SC.ButtonView.extend(
|
|
22
22
|
|
23
23
|
classNames: ['sc-disclosure-view'],
|
24
24
|
|
25
|
-
|
25
|
+
renderDelegateName: 'disclosureRenderDelegate',
|
26
|
+
|
26
27
|
buttonBehavior: SC.TOGGLE_BEHAVIOR,
|
27
28
|
|
28
29
|
/**
|
@@ -38,28 +39,10 @@ SC.DisclosureView = SC.ButtonView.extend(
|
|
38
39
|
|
39
40
|
/** @private */
|
40
41
|
valueBindingDefault: SC.Binding.bool() ,
|
41
|
-
|
42
|
-
/** @private */
|
43
|
-
render: function(context, firstTime) {
|
44
|
-
var title = this.get('displayTitle');
|
45
|
-
if(firstTime) {
|
46
|
-
context.push('<img src="', SC.BLANK_IMAGE_URL, '" class="button" alt="" />');
|
47
|
-
if(this.get('needsEllipsis')) {
|
48
|
-
context.push('<span class="ellipsis sc-button-label">',title,'</span>');
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
context.push('<span class="sc-button-label">', title,'</span>');
|
52
|
-
}
|
53
|
-
}
|
54
|
-
else {
|
55
|
-
this.$('label').text(title);
|
56
|
-
}
|
57
|
-
},
|
58
|
-
|
42
|
+
|
59
43
|
/**
|
60
44
|
Allows toggling of the value with the right and left arrow keys.
|
61
45
|
Extends the behavior inherted from SC.ButtonView.
|
62
|
-
|
63
46
|
@param evt
|
64
47
|
*/
|
65
48
|
keyDown: function(evt) {
|
@@ -0,0 +1,112 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
3
|
+
// Copyright: ©2006-2011 Strobe Inc. and contributors.
|
4
|
+
// Portions ©2008-2009 Apple Inc. All rights reserved.
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
6
|
+
// ==========================================================================
|
7
|
+
/** @class
|
8
|
+
|
9
|
+
Implements a customized file input by creating a standard file input in a
|
10
|
+
transparent iframe over top of a SC.ButtonView.
|
11
|
+
|
12
|
+
// TODO: revisit this to see if these classnames are usable
|
13
|
+
SC.FieldView uses the SC.Control mixin which will apply CSS
|
14
|
+
classnames when the state of the file view changes:
|
15
|
+
- active when button is active
|
16
|
+
- sel when button is toggled to a selected state
|
17
|
+
|
18
|
+
@extends SC.FieldView
|
19
|
+
@since SproutCore 1.0
|
20
|
+
@author Tyler Keating
|
21
|
+
*/
|
22
|
+
SC.FileView = SC.FieldView.extend(
|
23
|
+
/** @scope SC.FileView.prototype */
|
24
|
+
{
|
25
|
+
|
26
|
+
classNames: 'sc-file-view'.w(),
|
27
|
+
|
28
|
+
autoSubmit: YES,
|
29
|
+
|
30
|
+
/**
|
31
|
+
The name of the action you want triggered when the button is pressed.
|
32
|
+
|
33
|
+
This property is used in conjunction with the target property to execute
|
34
|
+
a method when a regular button is pressed. These properties are not
|
35
|
+
relevant when the button is used in toggle mode.
|
36
|
+
|
37
|
+
If you do not set a target, then pressing a button will cause the
|
38
|
+
responder chain to search for a view that implements the action you name
|
39
|
+
here. If you set a target, then the button will try to call the method
|
40
|
+
on the target itself.
|
41
|
+
|
42
|
+
For legacy support, you can also set the action property to a function.
|
43
|
+
Doing so will cause the function itself to be called when the button is
|
44
|
+
clicked. It is generally better to use the target/action approach and
|
45
|
+
to implement your code in a controller of some type.
|
46
|
+
|
47
|
+
@property {String}
|
48
|
+
*/
|
49
|
+
action: 'uploadImage',
|
50
|
+
|
51
|
+
/**
|
52
|
+
The target object to invoke the action on when the button is pressed.
|
53
|
+
|
54
|
+
If you set this target, the action will be called on the target object
|
55
|
+
directly when the button is clicked. If you leave this property set to
|
56
|
+
null, then the button will search the responder chain for a view that
|
57
|
+
implements the action when the button is pressed instead.
|
58
|
+
|
59
|
+
@property {Object}
|
60
|
+
*/
|
61
|
+
target: null,
|
62
|
+
|
63
|
+
childViews: 'button form'.w(),
|
64
|
+
|
65
|
+
button: SC.ButtonView.design({
|
66
|
+
title: 'Choose File',
|
67
|
+
theme: 'capsule'
|
68
|
+
}),
|
69
|
+
|
70
|
+
form: SC.View.design({
|
71
|
+
tagName: 'form',
|
72
|
+
|
73
|
+
render: function(context, firstTime) {
|
74
|
+
context.attr('method', 'post').attr('action', "javascript:;").attr('enctype', 'multipart/form-data');
|
75
|
+
sc_super();
|
76
|
+
},
|
77
|
+
|
78
|
+
childViews: 'input'.w(),
|
79
|
+
|
80
|
+
input: SC.View.design({
|
81
|
+
tagName: 'input',
|
82
|
+
|
83
|
+
render: function(context, firstTime) {
|
84
|
+
context.attr('type', 'file').end();
|
85
|
+
sc_super();
|
86
|
+
}
|
87
|
+
})
|
88
|
+
}),
|
89
|
+
|
90
|
+
/** SC.Button **/
|
91
|
+
title: 'Choose File',
|
92
|
+
|
93
|
+
/** SC.FieldView **/
|
94
|
+
|
95
|
+
/**
|
96
|
+
Since it is impossible to set the value of file inputs, don't attempt it.
|
97
|
+
|
98
|
+
*/
|
99
|
+
setFieldValue: function(newValue) {
|
100
|
+
console.log("SC.FileView: setFieldValue: %@ does nothing".fmt(newValue));
|
101
|
+
//if (newValue) throw SC.$error('SC.FileView can not set the value of the file field');
|
102
|
+
},
|
103
|
+
|
104
|
+
fieldValueDidChange: function(partialChange) {
|
105
|
+
sc_super();
|
106
|
+
if (this.get('autoSubmit')) {
|
107
|
+
//this.form.submit();
|
108
|
+
|
109
|
+
var resp = SC.Request.postUrl('/proxy/user/update_image').json().async(NO).send({picture: this.get('value')});
|
110
|
+
}
|
111
|
+
}
|
112
|
+
});
|
@@ -0,0 +1,74 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// Project: SproutCore - JavaScript Application Framework
|
3
|
+
// Copyright: ©2006-2011 Strobe Inc. and contributors.
|
4
|
+
// Portions ©2008-2010 Apple Inc. All rights reserved.
|
5
|
+
// License: Licensed under MIT license (see license.js)
|
6
|
+
// ==========================================================================
|
7
|
+
|
8
|
+
/** @class
|
9
|
+
|
10
|
+
Provides a button that displays an image instead of the standard button
|
11
|
+
user interface.
|
12
|
+
|
13
|
+
It behaves the same as an SC.ButtonView, but has an image property that
|
14
|
+
should be set to a unique class name.
|
15
|
+
|
16
|
+
For example:
|
17
|
+
|
18
|
+
SC.ImageButtonView.create({
|
19
|
+
action: 'imageButtonWasClicked',
|
20
|
+
|
21
|
+
image: 'image-button-icon'
|
22
|
+
});
|
23
|
+
|
24
|
+
You could then add some CSS rule for a normal state:
|
25
|
+
|
26
|
+
.sc-image-button-view .image-button-icon {
|
27
|
+
background: sc_static('image-button-image');
|
28
|
+
}
|
29
|
+
|
30
|
+
And an active state:
|
31
|
+
|
32
|
+
.sc-image-button-view.active .image-button-icon {
|
33
|
+
background: sc_static('image-button-image-active');
|
34
|
+
}
|
35
|
+
|
36
|
+
@extends SC.View
|
37
|
+
@extends SC.Control
|
38
|
+
@extends SC.ButtonView
|
39
|
+
@since SproutCore 1.5
|
40
|
+
*/
|
41
|
+
SC.ImageButtonView = SC.ButtonView.extend(
|
42
|
+
/** @scope SC.ImageButtonView.prototype */ {
|
43
|
+
|
44
|
+
/**
|
45
|
+
Class names that will be applied to this view
|
46
|
+
|
47
|
+
@property {Array}
|
48
|
+
*/
|
49
|
+
classNames: ['sc-image-button-view'],
|
50
|
+
|
51
|
+
/**
|
52
|
+
Unlike SC.ButtonView, SC.ImageButtonView does not have a default theme
|
53
|
+
that needs to be applied for backwards compatibility.
|
54
|
+
|
55
|
+
@property {String}
|
56
|
+
*/
|
57
|
+
themeName: null,
|
58
|
+
|
59
|
+
/**
|
60
|
+
The name of the theme's SC.ImageButtonView render delegate.
|
61
|
+
|
62
|
+
@property {String}
|
63
|
+
*/
|
64
|
+
renderDelegateName: 'imageButtonRenderDelegate',
|
65
|
+
|
66
|
+
displayProperties: ['image'],
|
67
|
+
|
68
|
+
/**
|
69
|
+
A class name that will be applied to the img tag of the button.
|
70
|
+
|
71
|
+
@property {String}
|
72
|
+
*/
|
73
|
+
image: null
|
74
|
+
}) ;
|
@@ -324,9 +324,11 @@ SC.ListView = SC.CollectionView.extend(
|
|
324
324
|
|
325
325
|
*/
|
326
326
|
layoutForContentIndex: function(contentIndex) {
|
327
|
+
var del = this.get('rowDelegate');
|
328
|
+
|
327
329
|
return {
|
328
330
|
top: this.rowOffsetForContentIndex(contentIndex),
|
329
|
-
height: this.rowHeightForContentIndex(contentIndex),
|
331
|
+
height: this.rowHeightForContentIndex(contentIndex) - del.get('rowPadding') * 2,
|
330
332
|
left: 0,
|
331
333
|
right: 0
|
332
334
|
};
|
@@ -32,6 +32,13 @@ SC.ListItemView = SC.View.extend(
|
|
32
32
|
|
33
33
|
classNames: ['sc-list-item-view'],
|
34
34
|
|
35
|
+
displayProperties: ['disclosureState', 'escapeHTML'],
|
36
|
+
|
37
|
+
|
38
|
+
init: function() {
|
39
|
+
sc_super();
|
40
|
+
},
|
41
|
+
|
35
42
|
// ..........................................................
|
36
43
|
// KEY PROPERTIES
|
37
44
|
//
|
@@ -76,6 +83,12 @@ SC.ListItemView = SC.View.extend(
|
|
76
83
|
*/
|
77
84
|
contentCheckboxKey: null,
|
78
85
|
|
86
|
+
/**
|
87
|
+
The URL or CSS class name to use for the icon. This is only used if
|
88
|
+
contentIconKey is null, or returns null from the delegate.
|
89
|
+
*/
|
90
|
+
icon: null,
|
91
|
+
|
79
92
|
/**
|
80
93
|
(displayDelegate) Property key to use for the icon url
|
81
94
|
|
@@ -84,6 +97,12 @@ SC.ListItemView = SC.View.extend(
|
|
84
97
|
*/
|
85
98
|
contentIconKey: null,
|
86
99
|
|
100
|
+
/**
|
101
|
+
The URL or CSS class name to use for the right icon. This is only used if
|
102
|
+
contentRightIconKey is null, or returns null from the delegate.
|
103
|
+
*/
|
104
|
+
rightIcon: null,
|
105
|
+
|
87
106
|
/**
|
88
107
|
(displayDelegate) Property key to use for the right icon url
|
89
108
|
|
@@ -174,207 +193,6 @@ SC.ListItemView = SC.View.extend(
|
|
174
193
|
return content && (content.get ? content.get('isEditable')!==NO : NO);
|
175
194
|
}.property('content').cacheable(),
|
176
195
|
|
177
|
-
/**
|
178
|
-
Fills the passed html-array with strings that can be joined to form the
|
179
|
-
innerHTML of the receiver element. Also populates an array of classNames
|
180
|
-
to set on the outer element.
|
181
|
-
|
182
|
-
@param {SC.RenderContext} context
|
183
|
-
@param {Boolean} firstTime
|
184
|
-
@returns {void}
|
185
|
-
*/
|
186
|
-
render: function(context, firstTime) {
|
187
|
-
var content = this.get('content'),
|
188
|
-
del = this.displayDelegate,
|
189
|
-
level = this.get('outlineLevel'),
|
190
|
-
indent = this.get('outlineIndent'),
|
191
|
-
key, value, working, classArray = [];
|
192
|
-
|
193
|
-
// add alternating row classes
|
194
|
-
classArray.push((this.get('contentIndex')%2 === 0) ? 'even' : 'odd');
|
195
|
-
context.setClass('disabled', !this.get('isEnabled'));
|
196
|
-
|
197
|
-
// outline level wrapper
|
198
|
-
working = context.begin("div").addClass("sc-outline");
|
199
|
-
if (level>=0 && indent>0) working.addStyle("left", indent*(level+1));
|
200
|
-
|
201
|
-
// handle disclosure triangle
|
202
|
-
value = this.get('disclosureState');
|
203
|
-
if (value !== SC.LEAF_NODE) {
|
204
|
-
this.renderDisclosure(working, value);
|
205
|
-
classArray.push('has-disclosure');
|
206
|
-
}
|
207
|
-
|
208
|
-
|
209
|
-
// handle checkbox
|
210
|
-
key = this.getDelegateProperty('contentCheckboxKey', del) ;
|
211
|
-
if (key) {
|
212
|
-
value = content ? (content.get ? content.get(key) : content[key]) : NO ;
|
213
|
-
this.renderCheckbox(working, value);
|
214
|
-
classArray.push('has-checkbox');
|
215
|
-
}
|
216
|
-
|
217
|
-
// handle icon
|
218
|
-
if (this.getDelegateProperty('hasContentIcon', del)) {
|
219
|
-
key = this.getDelegateProperty('contentIconKey', del) ;
|
220
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
|
221
|
-
|
222
|
-
this.renderIcon(working, value);
|
223
|
-
classArray.push('has-icon');
|
224
|
-
}
|
225
|
-
|
226
|
-
// handle label -- always invoke
|
227
|
-
key = this.getDelegateProperty('contentValueKey', del) ;
|
228
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : content ;
|
229
|
-
if (value && SC.typeOf(value) !== SC.T_STRING) value = value.toString();
|
230
|
-
if (this.get('escapeHTML')) value = SC.RenderContext.escapeHTML(value);
|
231
|
-
this.renderLabel(working, value);
|
232
|
-
|
233
|
-
// handle right icon
|
234
|
-
if (this.getDelegateProperty('hasContentRightIcon', del)) {
|
235
|
-
key = this.getDelegateProperty('contentRightIconKey', del) ;
|
236
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
|
237
|
-
|
238
|
-
this.renderRightIcon(working, value);
|
239
|
-
classArray.push('has-right-icon');
|
240
|
-
}
|
241
|
-
|
242
|
-
// handle unread count
|
243
|
-
key = this.getDelegateProperty('contentUnreadCountKey', del) ;
|
244
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
|
245
|
-
if (!SC.none(value) && (value !== 0)) {
|
246
|
-
this.renderCount(working, value) ;
|
247
|
-
var digits = ['zero', 'one', 'two', 'three', 'four', 'five'];
|
248
|
-
var valueLength = value.toString().length;
|
249
|
-
var digitsLength = digits.length;
|
250
|
-
var digit = (valueLength < digitsLength) ? digits[valueLength] : digits[digitsLength-1];
|
251
|
-
classArray.push('has-count '+digit+'-digit');
|
252
|
-
}
|
253
|
-
|
254
|
-
// handle action
|
255
|
-
key = this.getDelegateProperty('listItemActionProperty', del) ;
|
256
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
|
257
|
-
if (value) {
|
258
|
-
this.renderAction(working, value);
|
259
|
-
classArray.push('has-action');
|
260
|
-
}
|
261
|
-
|
262
|
-
// handle branch
|
263
|
-
if (this.getDelegateProperty('hasContentBranch', del)) {
|
264
|
-
key = this.getDelegateProperty('contentIsBranchKey', del);
|
265
|
-
value = (key && content) ? (content.get ? content.get(key) : content[key]) : NO ;
|
266
|
-
this.renderBranch(working, value);
|
267
|
-
classArray.push('has-branch');
|
268
|
-
}
|
269
|
-
context.addClass(classArray);
|
270
|
-
context = working.end();
|
271
|
-
},
|
272
|
-
|
273
|
-
/**
|
274
|
-
Adds a disclosure triangle with the appropriate display to the content.
|
275
|
-
This method will only be called if the disclosure state of the view is
|
276
|
-
something other than SC.LEAF_NODE.
|
277
|
-
|
278
|
-
@param {SC.RenderContext} context the render context
|
279
|
-
@param {Boolean} state YES, NO or SC.MIXED_STATE
|
280
|
-
@returns {void}
|
281
|
-
*/
|
282
|
-
renderDisclosure: function(context, state) {
|
283
|
-
var key = (state === SC.BRANCH_OPEN) ? "open" : "closed",
|
284
|
-
cache = this._scli_disclosureHtml,
|
285
|
-
html, tmp;
|
286
|
-
|
287
|
-
if (!cache) cache = this.constructor.prototype._scli_disclosureHtml = {};
|
288
|
-
html = cache[key];
|
289
|
-
|
290
|
-
if (!html) {
|
291
|
-
html = cache[key] = '<img src="'+SC.BLANK_IMAGE_URL+'" class="disclosure button '+key+'" />';
|
292
|
-
}
|
293
|
-
|
294
|
-
context.push(html);
|
295
|
-
},
|
296
|
-
|
297
|
-
/**
|
298
|
-
Adds a checkbox with the appropriate state to the content. This method
|
299
|
-
will only be called if the list item view is supposed to have a
|
300
|
-
checkbox.
|
301
|
-
|
302
|
-
@param {SC.RenderContext} context the render context
|
303
|
-
@param {Boolean} state YES, NO or SC.MIXED_STATE
|
304
|
-
@returns {void}
|
305
|
-
*/
|
306
|
-
renderCheckbox: function(context, state) {
|
307
|
-
|
308
|
-
var key = (state === SC.MIXED_STATE) ? "mixed" : state ? "sel" : "nosel",
|
309
|
-
cache = this._scli_checkboxHtml,
|
310
|
-
isEnabled = this.get('contentIsEditable') && this.get('isEnabled'),
|
311
|
-
html, tmp, classArray=[];
|
312
|
-
|
313
|
-
if (!isEnabled) key = SC.keyFor('disabled', key);
|
314
|
-
if (!cache) cache = this.constructor.prototype._scli_checkboxHtml = {};
|
315
|
-
html = cache[key];
|
316
|
-
|
317
|
-
if (!html) {
|
318
|
-
tmp = SC.RenderContext('div').attr('role', 'button')
|
319
|
-
.classNames(SC.clone(SC.CheckboxView.prototype.classNames));
|
320
|
-
|
321
|
-
// set state on html
|
322
|
-
if (state === SC.MIXED_STATE) classArray.push('mixed');
|
323
|
-
else if(state) classArray.push('sel');
|
324
|
-
|
325
|
-
// disabled
|
326
|
-
if(!isEnabled) classArray.push('disabled');
|
327
|
-
|
328
|
-
tmp.addClass(classArray);
|
329
|
-
|
330
|
-
// now add inner content. note we do not add a real checkbox because
|
331
|
-
// we don't want to have to setup a change observer on it.
|
332
|
-
tmp.push('<span class="button"></span>');
|
333
|
-
|
334
|
-
// apply edit
|
335
|
-
html = cache[key] = tmp.join();
|
336
|
-
}
|
337
|
-
|
338
|
-
context.push(html);
|
339
|
-
},
|
340
|
-
|
341
|
-
/**
|
342
|
-
Generates an icon for the label based on the content. This method will
|
343
|
-
only be called if the list item view has icons enabled. You can override
|
344
|
-
this method to display your own type of icon if desired.
|
345
|
-
|
346
|
-
@param {SC.RenderContext} context the render context
|
347
|
-
@param {String} icon a URL or class name.
|
348
|
-
@returns {void}
|
349
|
-
*/
|
350
|
-
renderIcon: function(context, icon){
|
351
|
-
// get a class name and url to include if relevant
|
352
|
-
var url = null, className = null , classArray=[];
|
353
|
-
if (icon && SC.ImageView.valueIsUrl(icon)) {
|
354
|
-
url = icon; className = '' ;
|
355
|
-
} else {
|
356
|
-
className = icon; url = SC.BLANK_IMAGE_URL ;
|
357
|
-
}
|
358
|
-
|
359
|
-
// generate the img element...
|
360
|
-
classArray.push(className,'icon');
|
361
|
-
context.begin('img')
|
362
|
-
.addClass(classArray)
|
363
|
-
.attr('src', url)
|
364
|
-
.end();
|
365
|
-
},
|
366
|
-
|
367
|
-
/**
|
368
|
-
Generates a label based on the content. You can override this method to
|
369
|
-
render your own label if desired.
|
370
|
-
|
371
|
-
@param {SC.RenderContext} context the render context
|
372
|
-
@param {String} label the label to display, already HTML escaped.
|
373
|
-
@returns {void}
|
374
|
-
*/
|
375
|
-
renderLabel: function(context, label) {
|
376
|
-
context.push('<label>', label || '', '</label>') ;
|
377
|
-
},
|
378
196
|
|
379
197
|
/**
|
380
198
|
Finds and retrieves the element containing the label. This is used
|
@@ -387,46 +205,6 @@ SC.ListItemView = SC.View.extend(
|
|
387
205
|
$label: function() {
|
388
206
|
return this.$('label') ;
|
389
207
|
},
|
390
|
-
|
391
|
-
/**
|
392
|
-
Generates a right icon for the label based on the content. This method
|
393
|
-
will only be called if the list item view has icons enabled. You can
|
394
|
-
override this method to display your own type of icon if desired.
|
395
|
-
|
396
|
-
@param {SC.RenderContext} context the render context
|
397
|
-
@param {String} icon a URL or class name.
|
398
|
-
@returns {void}
|
399
|
-
*/
|
400
|
-
renderRightIcon: function(context, icon){
|
401
|
-
// get a class name and url to include if relevant
|
402
|
-
var url = null, className = null, classArray=[];
|
403
|
-
if (icon && SC.ImageView.valueIsUrl(icon)) {
|
404
|
-
url = icon; className = '' ;
|
405
|
-
} else {
|
406
|
-
className = icon; url = SC.BLANK_IMAGE_URL ;
|
407
|
-
}
|
408
|
-
|
409
|
-
// generate the img element...
|
410
|
-
classArray.push('right-icon',className);
|
411
|
-
context.begin('img')
|
412
|
-
.addClass(classArray)
|
413
|
-
.attr('src', url)
|
414
|
-
.end();
|
415
|
-
},
|
416
|
-
|
417
|
-
/**
|
418
|
-
Generates an unread or other count for the list item. This method will
|
419
|
-
only be called if the list item view has counts enabled. You can
|
420
|
-
override this method to display your own type of counts if desired.
|
421
|
-
|
422
|
-
@param {SC.RenderContext} context the render context
|
423
|
-
@param {Number} count the count
|
424
|
-
@returns {void}
|
425
|
-
*/
|
426
|
-
renderCount: function(context, count) {
|
427
|
-
context.push('<span class="count"><span class="inner">',
|
428
|
-
count.toString(),'</span></span>') ;
|
429
|
-
},
|
430
208
|
|
431
209
|
/**
|
432
210
|
Generates the html string used to represent the action item for your
|
@@ -440,23 +218,6 @@ SC.ListItemView = SC.View.extend(
|
|
440
218
|
context.push('<img src="',SC.BLANK_IMAGE_URL,'" class="action" />');
|
441
219
|
},
|
442
220
|
|
443
|
-
/**
|
444
|
-
Generates the string used to represent the branch arrow. override this to
|
445
|
-
return your own custom HTML
|
446
|
-
|
447
|
-
@param {SC.RenderContext} context the render context
|
448
|
-
@param {Boolean} hasBranch YES if the item has a branch
|
449
|
-
@returns {void}
|
450
|
-
*/
|
451
|
-
renderBranch: function(context, hasBranch) {
|
452
|
-
var classArray=[];
|
453
|
-
classArray.push('branch',hasBranch ? 'branch-visible' : 'branch-hidden');
|
454
|
-
context.begin('span')
|
455
|
-
.addClass(classArray)
|
456
|
-
.push(' ')
|
457
|
-
.end();
|
458
|
-
},
|
459
|
-
|
460
221
|
/**
|
461
222
|
Determines if the event occured inside an element with the specified
|
462
223
|
classname or not.
|
@@ -491,7 +252,7 @@ SC.ListItemView = SC.View.extend(
|
|
491
252
|
*/
|
492
253
|
_isInsideDisclosure: function(evt) {
|
493
254
|
if (this.get('disclosureState')===SC.LEAF_NODE) return NO;
|
494
|
-
return this._isInsideElementWithClassName('disclosure', evt);
|
255
|
+
return this._isInsideElementWithClassName('sc-disclosure-view', evt);
|
495
256
|
},
|
496
257
|
|
497
258
|
/** @private
|
@@ -601,22 +362,22 @@ SC.ListItemView = SC.View.extend(
|
|
601
362
|
this._addCheckboxActiveState() ;
|
602
363
|
this._isMouseInsideCheckbox = YES ;
|
603
364
|
} else if (this._isMouseDownOnCheckbox) {
|
604
|
-
|
605
|
-
|
365
|
+
this._removeCheckboxActiveState() ;
|
366
|
+
this._isMouseInsideCheckbox = NO ;
|
606
367
|
} else if (this._isMouseDownOnDisclosure && this._isInsideDisclosure(evt)) {
|
607
368
|
this._addDisclosureActiveState();
|
608
369
|
this._isMouseInsideDisclosure = YES;
|
609
|
-
|
610
|
-
|
611
|
-
|
370
|
+
} else if (this._isMouseDownOnDisclosure) {
|
371
|
+
this._removeDisclosureActiveState();
|
372
|
+
this._isMouseInsideDisclosure = NO ;
|
612
373
|
} else if (this._isMouseDownOnRightIcon && this._isInsideRightIcon(evt)) {
|
613
374
|
this._addRightIconActiveState();
|
614
375
|
this._isMouseInsideRightIcon = YES;
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
376
|
+
} else if (this._isMouseDownOnRightIcon) {
|
377
|
+
this._removeRightIconActiveState();
|
378
|
+
this._isMouseInsideRightIcon = NO ;
|
379
|
+
}
|
380
|
+
return NO ;
|
620
381
|
},
|
621
382
|
|
622
383
|
touchStart: function(evt){
|
@@ -637,29 +398,66 @@ SC.ListItemView = SC.View.extend(
|
|
637
398
|
|
638
399
|
|
639
400
|
_addCheckboxActiveState: function() {
|
640
|
-
|
641
|
-
|
401
|
+
if (this.get('isEnabled')) {
|
402
|
+
if (this._checkboxRenderDelegate) {
|
403
|
+
var source = this._checkboxRenderSource;
|
404
|
+
|
405
|
+
source.set('isActive', YES);
|
406
|
+
|
407
|
+
this._checkboxRenderDelegate.update(source, this.$('.sc-checkbox-view'));
|
408
|
+
} else {
|
409
|
+
// for backwards-compatibility.
|
410
|
+
this.$('.sc-checkbox-view').addClass('active');
|
411
|
+
}
|
412
|
+
}
|
642
413
|
},
|
643
414
|
|
644
415
|
_removeCheckboxActiveState: function() {
|
645
|
-
this
|
416
|
+
if (this._checkboxRenderer) {
|
417
|
+
var source = this._checkboxRenderSource;
|
418
|
+
|
419
|
+
source.set('isActive', NO);
|
420
|
+
|
421
|
+
this._checkboxRenderDelegate.update(source, this.$('.sc-checkbox-view'));
|
422
|
+
} else {
|
423
|
+
// for backwards-compatibility.
|
424
|
+
this.$('.sc-checkbox-view').removeClass('active');
|
425
|
+
}
|
646
426
|
},
|
647
427
|
|
648
428
|
_addDisclosureActiveState: function() {
|
649
|
-
|
650
|
-
|
429
|
+
if (this.get('isEnabled')) {
|
430
|
+
if (this._disclosureRenderDelegate) {
|
431
|
+
var source = this._disclosureRenderSource;
|
432
|
+
source.set('isActive', YES);
|
433
|
+
|
434
|
+
this._disclosureRenderDelegate.update(source, this.$('.sc-disclosure-view'));
|
435
|
+
} else {
|
436
|
+
// for backwards-compatibility.
|
437
|
+
this.$('.sc-disclosure-view').addClass('active');
|
438
|
+
}
|
439
|
+
|
440
|
+
}
|
651
441
|
},
|
652
442
|
|
653
443
|
_removeDisclosureActiveState: function() {
|
654
|
-
this
|
444
|
+
if (this._disclosureRenderer) {
|
445
|
+
var source = this._disclosureRenderSource;
|
446
|
+
source.set('isActive', NO);
|
447
|
+
|
448
|
+
this._disclosureRenderDelegate.update(source, this.$('.sc-disclosure-view'));
|
449
|
+
} else {
|
450
|
+
// for backwards-compatibility.
|
451
|
+
this.$('.sc-disclosure-view').addClass('active');
|
452
|
+
}
|
655
453
|
},
|
656
454
|
|
657
455
|
_addRightIconActiveState: function() {
|
658
|
-
|
456
|
+
this.$('img.right-icon').setClass('active', YES);
|
659
457
|
},
|
660
458
|
|
661
459
|
_removeRightIconActiveState: function() {
|
662
|
-
|
460
|
+
this.$('img.right-icon').removeClass('active');
|
663
461
|
},
|
664
462
|
|
665
463
|
/**
|
@@ -673,22 +471,22 @@ SC.ListItemView = SC.View.extend(
|
|
673
471
|
@returns {Boolean} YES if the mouse was on the content element itself.
|
674
472
|
*/
|
675
473
|
contentHitTest: function(evt) {
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
474
|
+
// if not content value is returned, not much to do.
|
475
|
+
var del = this.displayDelegate ;
|
476
|
+
var labelKey = this.getDelegateProperty('contentValueKey', del) ;
|
477
|
+
if (!labelKey) return NO ;
|
478
|
+
|
479
|
+
// get the element to check for.
|
480
|
+
var el = this.$label()[0] ;
|
481
|
+
if (!el) return NO ; // no label to check for.
|
482
|
+
|
483
|
+
var cur = evt.target, layer = this.get('layer') ;
|
484
|
+
while(cur && (cur !== layer) && (cur !== window)) {
|
485
|
+
if (cur === el) return YES ;
|
486
|
+
cur = cur.parentNode ;
|
487
|
+
}
|
488
|
+
|
489
|
+
return NO;
|
692
490
|
},
|
693
491
|
|
694
492
|
beginEditing: function() {
|
@@ -724,10 +522,10 @@ SC.ListItemView = SC.View.extend(
|
|
724
522
|
// nothing to do...
|
725
523
|
if (!parent || !el || el.get('length')===0) return NO ;
|
726
524
|
v = (labelKey && content && content.get) ? content.get(labelKey) : null ;
|
727
|
-
|
525
|
+
|
728
526
|
f = this.computeFrameWithParentFrame(null);
|
729
527
|
offset = SC.viewportOffset(el[0]);
|
730
|
-
|
528
|
+
|
731
529
|
// if the label has a large line height, try to adjust it to something
|
732
530
|
// more reasonable so that it looks right when we show the popup editor.
|
733
531
|
oldLineHeight = el.css('lineHeight');
|
@@ -784,6 +582,14 @@ SC.ListItemView = SC.View.extend(
|
|
784
582
|
return SC.InlineTextFieldView.discardEditing();
|
785
583
|
},
|
786
584
|
|
585
|
+
|
586
|
+
/** @private
|
587
|
+
Allow editing.
|
588
|
+
*/
|
589
|
+
inlineEditorShouldBeginEditing: function(inlineEditor) {
|
590
|
+
return YES ;
|
591
|
+
},
|
592
|
+
|
787
593
|
/** @private
|
788
594
|
Set editing to true so edits will no longer be allowed.
|
789
595
|
*/
|
@@ -799,20 +605,6 @@ SC.ListItemView = SC.View.extend(
|
|
799
605
|
this._oldOpacity = el.css('opacity');
|
800
606
|
el.css('opacity', 0.0) ;
|
801
607
|
},
|
802
|
-
|
803
|
-
/** @private
|
804
|
-
Could check with a validator someday...
|
805
|
-
*/
|
806
|
-
inlineEditorShouldBeginEditing: function(inlineEditor) {
|
807
|
-
return YES ;
|
808
|
-
},
|
809
|
-
|
810
|
-
/** @private
|
811
|
-
Could check with a validator someday...
|
812
|
-
*/
|
813
|
-
inlineEditorShouldBeginEditing: function(inlineEditor, finalValue) {
|
814
|
-
return YES ;
|
815
|
-
},
|
816
608
|
|
817
609
|
inlineEditorShouldEndEditing: function(inlineEditor, finalValue) {
|
818
610
|
return YES ;
|
@@ -830,7 +622,294 @@ SC.ListItemView = SC.View.extend(
|
|
830
622
|
if (labelKey && content && content.set) {
|
831
623
|
content.set(labelKey, finalValue) ;
|
832
624
|
}
|
625
|
+
|
626
|
+
this.$label().css("opacity", this._oldOpacity);
|
627
|
+
|
833
628
|
this.displayDidChange();
|
629
|
+
},
|
630
|
+
|
631
|
+
/** @private
|
632
|
+
Fills the passed html-array with strings that can be joined to form the
|
633
|
+
innerHTML of the receiver element. Also populates an array of classNames
|
634
|
+
to set on the outer element.
|
635
|
+
|
636
|
+
@param {SC.RenderContext} context
|
637
|
+
@param {Boolean} firstTime
|
638
|
+
@returns {void}
|
639
|
+
*/
|
640
|
+
render: function(context, firstTime) {
|
641
|
+
var content = this.get('content'),
|
642
|
+
del = this.displayDelegate,
|
643
|
+
level = this.get('outlineLevel'),
|
644
|
+
indent = this.get('outlineIndent'),
|
645
|
+
key, value, working, classArray = [];
|
646
|
+
|
647
|
+
// add alternating row classes
|
648
|
+
classArray.push((this.get('contentIndex')%2 === 0) ? 'even' : 'odd');
|
649
|
+
context.setClass('disabled', !this.get('isEnabled'));
|
650
|
+
|
651
|
+
// outline level wrapper
|
652
|
+
working = context.begin("div").addClass("sc-outline");
|
653
|
+
if (level>=0 && indent>0) working.addStyle("left", indent*(level+1));
|
654
|
+
|
655
|
+
// handle disclosure triangle
|
656
|
+
value = this.get('disclosureState');
|
657
|
+
if (value !== SC.LEAF_NODE) {
|
658
|
+
this.renderDisclosure(working, value);
|
659
|
+
classArray.push('has-disclosure');
|
660
|
+
}
|
661
|
+
|
662
|
+
|
663
|
+
// handle checkbox
|
664
|
+
key = this.getDelegateProperty('contentCheckboxKey', del) ;
|
665
|
+
if (key) {
|
666
|
+
value = content ? (content.get ? content.get(key) : content[key]) : NO ;
|
667
|
+
if (value !== null) {
|
668
|
+
this.renderCheckbox(working, value);
|
669
|
+
classArray.push('has-checkbox');
|
670
|
+
}
|
671
|
+
}
|
672
|
+
|
673
|
+
// handle icon
|
674
|
+
if (this.getDelegateProperty('hasContentIcon', del)) {
|
675
|
+
key = this.getDelegateProperty('contentIconKey', del) ;
|
676
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
|
677
|
+
|
678
|
+
this.renderIcon(working, value);
|
679
|
+
classArray.push('has-icon');
|
680
|
+
} else if (this.get('icon')) {
|
681
|
+
value = this.get('icon');
|
682
|
+
this.renderIcon(working, value);
|
683
|
+
classArray.push('has-icon');
|
684
|
+
}
|
685
|
+
|
686
|
+
// handle label -- always invoke
|
687
|
+
key = this.getDelegateProperty('contentValueKey', del) ;
|
688
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : content ;
|
689
|
+
if (value && SC.typeOf(value) !== SC.T_STRING) value = value.toString();
|
690
|
+
if (this.get('escapeHTML')) value = SC.RenderContext.escapeHTML(value);
|
691
|
+
this.renderLabel(working, value);
|
692
|
+
|
693
|
+
// handle right icon
|
694
|
+
if (this.getDelegateProperty('hasContentRightIcon', del)) {
|
695
|
+
key = this.getDelegateProperty('contentRightIconKey', del) ;
|
696
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
|
697
|
+
|
698
|
+
this.renderRightIcon(working, value);
|
699
|
+
classArray.push('has-right-icon');
|
700
|
+
}
|
701
|
+
|
702
|
+
// handle unread count
|
703
|
+
key = this.getDelegateProperty('contentUnreadCountKey', del) ;
|
704
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
|
705
|
+
if (!SC.none(value) && (value !== 0)) {
|
706
|
+
this.renderCount(working, value) ;
|
707
|
+
var digits = ['zero', 'one', 'two', 'three', 'four', 'five'];
|
708
|
+
var valueLength = value.toString().length;
|
709
|
+
var digitsLength = digits.length;
|
710
|
+
var digit = (valueLength < digitsLength) ? digits[valueLength] : digits[digitsLength-1];
|
711
|
+
classArray.push('has-count '+digit+'-digit');
|
712
|
+
}
|
713
|
+
|
714
|
+
// handle action
|
715
|
+
key = this.getDelegateProperty('listItemActionProperty', del) ;
|
716
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : null ;
|
717
|
+
if (value) {
|
718
|
+
this.renderAction(working, value);
|
719
|
+
classArray.push('has-action');
|
720
|
+
}
|
721
|
+
|
722
|
+
// handle branch
|
723
|
+
if (this.getDelegateProperty('hasContentBranch', del)) {
|
724
|
+
key = this.getDelegateProperty('contentIsBranchKey', del);
|
725
|
+
value = (key && content) ? (content.get ? content.get(key) : content[key]) : NO ;
|
726
|
+
this.renderBranch(working, value);
|
727
|
+
classArray.push('has-branch');
|
728
|
+
}
|
729
|
+
context.addClass(classArray);
|
730
|
+
context = working.end();
|
731
|
+
},
|
732
|
+
|
733
|
+
/** @private
|
734
|
+
Adds a disclosure triangle with the appropriate display to the content.
|
735
|
+
This method will only be called if the disclosure state of the view is
|
736
|
+
something other than SC.LEAF_NODE.
|
737
|
+
|
738
|
+
@param {SC.RenderContext} context the render context
|
739
|
+
@param {Boolean} state YES, NO or SC.MIXED_STATE
|
740
|
+
@returns {void}
|
741
|
+
*/
|
742
|
+
renderDisclosure: function(context, state) {
|
743
|
+
var renderer = this.get('theme').disclosureRenderDelegate;
|
744
|
+
|
745
|
+
context = context.begin('div')
|
746
|
+
.addClass('sc-disclosure-view')
|
747
|
+
.addClass('sc-regular-size')
|
748
|
+
.addClass(this.get('theme').classNames)
|
749
|
+
.addClass(renderer.get('name'));
|
750
|
+
|
751
|
+
var source = this._disclosureRenderSource;
|
752
|
+
if (!source) {
|
753
|
+
this._disclosureRenderSource = source =
|
754
|
+
SC.Object.create({ renderState: {}, theme: this.get('theme') });
|
755
|
+
}
|
756
|
+
|
757
|
+
source
|
758
|
+
.set('isSelected', state === SC.BRANCH_OPEN)
|
759
|
+
.set('isEnabled', this.get('isEnabled'))
|
760
|
+
.set('title', '');
|
761
|
+
|
762
|
+
renderer.render(source, context);
|
763
|
+
|
764
|
+
context = context.end();
|
765
|
+
this._disclosureRenderDelegate = renderer;
|
766
|
+
},
|
767
|
+
|
768
|
+
/** @private
|
769
|
+
Adds a checkbox with the appropriate state to the content. This method
|
770
|
+
will only be called if the list item view is supposed to have a
|
771
|
+
checkbox.
|
772
|
+
|
773
|
+
@param {SC.RenderContext} context the render context
|
774
|
+
@param {Boolean} state YES, NO or SC.MIXED_STATE
|
775
|
+
@returns {void}
|
776
|
+
*/
|
777
|
+
renderCheckbox: function(context, state) {
|
778
|
+
var renderer = this.get('theme').checkboxRenderDelegate;
|
779
|
+
|
780
|
+
// note: checkbox-view is really not the best thing to do here; we should do
|
781
|
+
// sc-list-item-checkbox; however, themes expect something different, unfortunately.
|
782
|
+
context = context.begin('div')
|
783
|
+
.addClass('sc-checkbox-view')
|
784
|
+
.addClass('sc-regular-size')
|
785
|
+
.addClass(this.get('theme').classNames)
|
786
|
+
.addClass(renderer.get('name'));
|
787
|
+
|
788
|
+
var source = this._checkboxRenderSource;
|
789
|
+
if (!source) {
|
790
|
+
source = this._checkboxRenderSource =
|
791
|
+
SC.Object.create({ renderState: {}, theme: this.get('theme') });
|
792
|
+
}
|
793
|
+
|
794
|
+
source
|
795
|
+
.set('isSelected', state && (state !== SC.MIXED_STATE))
|
796
|
+
.set('isEnabled', this.get('isEnabled') && this.get('contentIsEditable'))
|
797
|
+
.set('isActive', this._checkboxIsActive)
|
798
|
+
.set('title', '');
|
799
|
+
|
800
|
+
renderer.render(source, context);
|
801
|
+
context = context.end();
|
802
|
+
|
803
|
+
this._checkboxRenderDelegate = renderer;
|
804
|
+
},
|
805
|
+
|
806
|
+
/** @private
|
807
|
+
Generates an icon for the label based on the content. This method will
|
808
|
+
only be called if the list item view has icons enabled. You can override
|
809
|
+
this method to display your own type of icon if desired.
|
810
|
+
|
811
|
+
@param {SC.RenderContext} context the render context
|
812
|
+
@param {String} icon a URL or class name.
|
813
|
+
@returns {void}
|
814
|
+
*/
|
815
|
+
renderIcon: function(context, icon) {
|
816
|
+
// get a class name and url to include if relevant
|
817
|
+
var url = null, className = null , classArray=[];
|
818
|
+
if (icon && SC.ImageView.valueIsUrl(icon)) {
|
819
|
+
url = icon; className = '' ;
|
820
|
+
} else {
|
821
|
+
className = icon; url = SC.BLANK_IMAGE_URL ;
|
822
|
+
}
|
823
|
+
|
824
|
+
// generate the img element...
|
825
|
+
classArray.push(className,'icon');
|
826
|
+
context.begin('img')
|
827
|
+
.addClass(classArray)
|
828
|
+
.attr('src', url)
|
829
|
+
.end();
|
830
|
+
},
|
831
|
+
|
832
|
+
/** @private
|
833
|
+
Generates a label based on the content. You can override this method to
|
834
|
+
display your own type of icon if desired.
|
835
|
+
|
836
|
+
@param {SC.RenderContext} context the render context
|
837
|
+
@param {String} label the label to display, already HTML escaped.
|
838
|
+
@returns {void}
|
839
|
+
*/
|
840
|
+
renderLabel: function(context, label) {
|
841
|
+
context.push('<label>', label || '', '</label>') ;
|
842
|
+
},
|
843
|
+
|
844
|
+
/** @private
|
845
|
+
Generates a right icon for the label based on the content. This method will
|
846
|
+
only be called if the list item view has icons enabled. You can override
|
847
|
+
this method to display your own type of icon if desired.
|
848
|
+
|
849
|
+
@param {SC.RenderContext} context the render context
|
850
|
+
@param {String} icon a URL or class name.
|
851
|
+
@returns {void}
|
852
|
+
*/
|
853
|
+
renderRightIcon: function(context, icon) {
|
854
|
+
// get a class name and url to include if relevant
|
855
|
+
var url = null, className = null, classArray=[];
|
856
|
+
if (icon && SC.ImageView.valueIsUrl(icon)) {
|
857
|
+
url = icon; className = '' ;
|
858
|
+
} else {
|
859
|
+
className = icon; url = SC.BLANK_IMAGE_URL ;
|
860
|
+
}
|
861
|
+
|
862
|
+
// generate the img element...
|
863
|
+
classArray.push('right-icon',className);
|
864
|
+
context.begin('img')
|
865
|
+
.addClass(classArray)
|
866
|
+
.attr('src', url)
|
867
|
+
.end();
|
868
|
+
},
|
869
|
+
|
870
|
+
/** @private
|
871
|
+
Generates an unread or other count for the list item. This method will
|
872
|
+
only be called if the list item view has counts enabled. You can
|
873
|
+
override this method to display your own type of counts if desired.
|
874
|
+
|
875
|
+
@param {SC.RenderContext} context the render context
|
876
|
+
@param {Number} count the count
|
877
|
+
@returns {void}
|
878
|
+
*/
|
879
|
+
renderCount: function(context, count) {
|
880
|
+
context.push('<span class="count"><span class="inner">',
|
881
|
+
count.toString(),'</span></span>') ;
|
882
|
+
},
|
883
|
+
|
884
|
+
/** @private
|
885
|
+
Generates the html string used to represent the action item for your
|
886
|
+
list item. override this to return your own custom HTML
|
887
|
+
|
888
|
+
@param {SC.RenderContext} context the render context
|
889
|
+
@param {String} actionClassName the name of the action item
|
890
|
+
@returns {void}
|
891
|
+
*/
|
892
|
+
renderAction: function(context, actionClassName) {
|
893
|
+
context.push('<img src="',SC.BLANK_IMAGE_URL,'" class="action" />');
|
894
|
+
},
|
895
|
+
|
896
|
+
/** @private
|
897
|
+
Generates the string used to represent the branch arrow. override this to
|
898
|
+
return your own custom HTML
|
899
|
+
|
900
|
+
@param {SC.RenderContext} context the render context
|
901
|
+
@param {Boolean} hasBranch YES if the item has a branch
|
902
|
+
@returns {void}
|
903
|
+
*/
|
904
|
+
renderBranch: function(context, hasBranch) {
|
905
|
+
var classArray=[];
|
906
|
+
classArray.push('branch',hasBranch ? 'branch-visible' : 'branch-hidden');
|
907
|
+
context.begin('span')
|
908
|
+
.addClass(classArray)
|
909
|
+
.push(' ')
|
910
|
+
.end();
|
834
911
|
}
|
835
912
|
|
836
913
|
});
|
914
|
+
|
915
|
+
SC.ListItemView._deprecatedRenderWarningHasBeenIssued = false;
|