sproutcore 1.7.1.beta → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +44 -0
- data/README.rdoc +20 -20
- data/VERSION.yml +3 -3
- data/lib/Buildfile +1 -1
- data/lib/buildtasks/build.rake +5 -0
- data/lib/buildtasks/manifest.rake +19 -1
- data/lib/frameworks/sproutcore/Buildfile +19 -17
- data/lib/frameworks/sproutcore/CHANGELOG.md +163 -29
- data/lib/frameworks/sproutcore/README.md +29 -8
- data/lib/frameworks/sproutcore/apps/statechart_routing/Buildfile +12 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/login_controller.js +11 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/main_controller.js +7 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/controllers/statechart_controller.js +17 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/core.js +25 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/main.js +15 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/_theme.css +18 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/bar_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/foo_page.js +14 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/loading.rhtml +9 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/login_page.js +61 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/resources/main_page.js +46 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/statechart.js +76 -0
- data/lib/frameworks/sproutcore/apps/statechart_routing/theme.js +27 -0
- data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
- data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
- data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +14 -1
- data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +8 -5
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +302 -70
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +19 -14
- data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +471 -149
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +42 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/action_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/body_overflow.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +37 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +66 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/builder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +58 -57
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js.orig +445 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +51 -31
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +5 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +53 -69
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +98 -72
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +37 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +7 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +21 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/content_destroyed.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +23 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/browser.js +66 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/event.js +22 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/escape_html.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +8 -8
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +17 -16
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +50 -30
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/acceleration.js +46 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +1 -43
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +8 -34
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +3 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +10 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +6 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/mixins/relationship_support.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +35 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +46 -19
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +23 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +2 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +294 -302
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js.orig +1531 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +14 -11
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/many_array.js +63 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +50 -10
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +114 -67
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +54 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +29 -9
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +37 -45
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +127 -127
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushRelationships.js +42 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/debug/core.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +1 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +19 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +30 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +24 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +121 -28
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +15 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +39 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +14 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +1 -51
- data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +11 -16
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-error-48.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/resources/slider.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/content.js +11 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +107 -81
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +68 -60
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +57 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +21 -19
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +5 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +32 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +77 -132
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +5 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +16 -15
- data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +52 -52
- data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +147 -147
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +11 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +22 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +13 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +462 -441
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +48 -62
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +22 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +150 -32
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +104 -45
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_button.js +42 -20
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +24 -24
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +148 -154
- data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +8 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +2 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/files.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/library.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/targets.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/view_configs.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/mixins/drop_down.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/ready.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/plist_item.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/web.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_design.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +21 -21
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/page_item_view.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +59 -53
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu.js +14 -10
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/ext/menu_item.js +17 -6
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/popup_button.js +38 -14
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/select_view/views/select.js +5 -13
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js +19 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +20 -2
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +35 -12
- data/lib/frameworks/sproutcore/frameworks/formatters/README +6 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/english.lproj/strings.js +174 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/formatters/date_formatter.js +351 -0
- data/lib/frameworks/sproutcore/frameworks/formatters/tests/date_formatter.js +517 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +345 -138
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +176 -42
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +137 -105
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +16 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +47 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +28 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/benchmark.css +0 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/bootstrap.rhtml +34 -19
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/button_view.css +0 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +1 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +8 -9
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +179 -47
- data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +34 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +26 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +12 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_metric_optimization.js +202 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_value_support/content.js +77 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/flowed_layout/tests.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/commitEditing.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/beginEditing.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/commitEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/discardEditing.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +0 -8
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +163 -149
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/password.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +16 -43
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +67 -54
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +49 -38
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +285 -242
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +19 -22
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +231 -186
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +145 -143
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +156 -154
- data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js.orig +540 -0
- data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +15 -8
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +12 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +98 -32
- data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +7 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +14 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +98 -13
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +8 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +23 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +69 -18
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +57 -31
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +189 -14
- data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +82 -22
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +20 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +125 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +37 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +75 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/string.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart_delegate.js +113 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/private/state_path_matcher.js +312 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/async.js +18 -22
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +508 -131
- data/lib/frameworks/sproutcore/frameworks/statechart/system/state_route_handler_context.js +78 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +265 -44
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +16 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/responder_chain.js +11 -3
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/private/state_path_matcher.js +116 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/add_substate.js +108 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/with_concurrent.js +179 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/find_first_relative_current_state/without_concurrent.js +74 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_state.js +141 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/get_substate.js +340 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/route_triggered.js +161 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/methods/try_to_handle_event.js +288 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/context.js +5 -33
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/with_concurrent_states/basic.js +213 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/routing/without_concurrent_states/basic.js +212 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/core.js +8 -0
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{state/namespacing.js → statechart/methods/get_state.js} +3 -41
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/{invoke_state_method.js → methods/invoke_state_method.js} +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/{event_handling/advanced → statechart}/respond_to_event.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/tests/system/state_route_handler_context/methods/retry.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/table/core.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/controls/button.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars.js +29 -5
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/bind.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/collection.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/localization.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/ext/handlebars/view.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{handlebars → template_view}/handlebars.js +493 -357
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/mixins/template_helpers/text_field_support.js +13 -2
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/controls/button.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/checkbox_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/mixins/template_helpers/text_field_support.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/panes/template.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/collection.js +39 -14
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/tests/views/template/handlebars.js +57 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/bindable_span.js +21 -6
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/{core_foundation → template_view}/views/template_collection.js +55 -26
- data/lib/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +122 -122
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/base.css +1 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/reset.css +0 -1
- data/lib/frameworks/sproutcore/frameworks/yuireset/resources/view.css +4 -4
- data/lib/frameworks/sproutcore/lib/index.rhtml +55 -32
- data/lib/frameworks/sproutcore/license.js +2 -4
- data/lib/frameworks/sproutcore/themes/ace/resources/body.css +5 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +21 -13
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +17 -10
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +4 -3
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +20 -12
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +16 -8
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/jumbo/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/small/button.css +17 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +2 -2
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +5 -3
- data/lib/frameworks/sproutcore/themes/iphone_theme/english.lproj/core.css +1 -1
- data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/toolbar.css +1 -1
- data/lib/gen/app/USAGE +17 -4
- data/lib/gen/language/Buildfile +4 -4
- data/lib/gen/language/USAGE +4 -4
- data/lib/gen/page/templates/pages/@target_name@/Buildfile +7 -7
- data/lib/gen/{html_app → statechart_app}/Buildfile +0 -0
- data/lib/gen/{html_app → statechart_app}/README +0 -0
- data/lib/gen/statechart_app/USAGE +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/Buildfile +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/core.js +24 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/main.js +26 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/_theme.css +18 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/loading.rhtml +9 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/resources/main_page.js +21 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/statechart.js +8 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/states/ready_state.js +12 -0
- data/lib/gen/statechart_app/templates/apps/@target_name@/theme.js +24 -0
- data/lib/sproutcore/builders.rb +1 -0
- data/lib/sproutcore/builders/base.rb +19 -1
- data/lib/sproutcore/builders/chance_file.rb +6 -1
- data/lib/sproutcore/builders/handlebars.rb +1 -9
- data/lib/sproutcore/builders/javascript.rb +1 -10
- data/lib/sproutcore/builders/json.rb +25 -0
- data/lib/sproutcore/builders/less.rb +1 -1
- data/lib/sproutcore/builders/sass.rb +1 -1
- data/lib/sproutcore/builders/stylesheet.rb +1 -9
- data/lib/sproutcore/helpers/html5_manifest.rb +1 -1
- data/lib/sproutcore/helpers/static_helper.rb +42 -0
- data/lib/sproutcore/rack/proxy.rb +21 -3
- data/lib/sproutcore/rack/service.rb +3 -2
- data/lib/sproutcore/tools.rb +18 -25
- data/lib/sproutcore/tools/gen.rb +10 -3
- data/lib/sproutcore/tools/init.rb +11 -10
- data/spec/buildtasks/manifest/prepare_build_tasks/json_spec.rb +62 -0
- data/spec/fixtures/builder_tests/apps/handlebars_test/Buildfile +1 -1
- data/spec/fixtures/builder_tests/apps/json_test/sc_static.json +2 -0
- data/spec/lib/builders/json_spec.rb +53 -0
- data/sproutcore.gemspec +2 -2
- data/vendor/chance/lib/chance/parser.rb +1 -1
- metadata +222 -177
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/datetime.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +0 -259
- data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +0 -69
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +0 -44
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +0 -64
- data/lib/frameworks/sproutcore/frameworks/mini/license.js +0 -30
- data/lib/gen/html_app/USAGE +0 -15
- data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +0 -11
- data/lib/gen/html_app/templates/apps/@target_name@/resources/images/.gitkeep +0 -0
- data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +0 -6
- data/lib/gen/html_app/templates/apps/@target_name@/resources/templates/@target_name@.handlebars +0 -1
- data/lib/gen/html_project/Buildfile +0 -45
- data/lib/gen/html_project/INIT +0 -3
- data/lib/gen/html_project/README +0 -1
- data/lib/gen/html_project/USAGE +0 -2
- data/lib/gen/html_project/templates/@filename@/Buildfile +0 -5
- data/lib/gen/html_project/templates/@filename@/README +0 -4
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<%= copyright_block(namespace) %>
|
|
2
|
+
/*globals <%= namespace %> */
|
|
3
|
+
|
|
4
|
+
// This is the function that will start your app running. The default
|
|
5
|
+
// implementation will load any fixtures you have created then instantiate
|
|
6
|
+
// your controllers and awake the elements on your page.
|
|
7
|
+
//
|
|
8
|
+
// As you develop your application you will probably want to override this.
|
|
9
|
+
// See comments for some pointers on what to do next.
|
|
10
|
+
//
|
|
11
|
+
<%= namespace %>.main = function main() {
|
|
12
|
+
|
|
13
|
+
// Step 1: Tell your app it will load via states
|
|
14
|
+
var statechart = <%= namespace %>.statechart;
|
|
15
|
+
SC.RootResponder.responder.set('defaultResponder', statechart);
|
|
16
|
+
statechart.initStatechart();
|
|
17
|
+
|
|
18
|
+
// Step 2. Set the content property on your primary controller.
|
|
19
|
+
// This will make your app come alive!
|
|
20
|
+
|
|
21
|
+
// TODO: Set the content property on your primary controller
|
|
22
|
+
// ex: MyApp.contactsController.set('content', MyApp.contacts);
|
|
23
|
+
|
|
24
|
+
} ;
|
|
25
|
+
|
|
26
|
+
function main() { <%= namespace %>.main(); }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This defines the global $theme variable for use inside your CSS.
|
|
3
|
+
The $theme variable holds the CSS class names for your theme.
|
|
4
|
+
|
|
5
|
+
You can then theme your app by using CSS like this:
|
|
6
|
+
|
|
7
|
+
$theme.button {
|
|
8
|
+
color: blue;
|
|
9
|
+
@include slices('white-button.png', $left: 3, $right: 3);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
Any _theme.css file is prepended to all files inside its directory,
|
|
13
|
+
and any subdirectories that don't define their own _theme.css file.
|
|
14
|
+
|
|
15
|
+
This allows you to give different directories different values for
|
|
16
|
+
$theme if you wish.
|
|
17
|
+
*/
|
|
18
|
+
$theme: '.ace.<%= css_name %>';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<%% content_for :loading do %>
|
|
2
|
+
<%% # Any HTML in this file will be visible on screen while your page loads
|
|
3
|
+
# its application JavaScript. SproutCore applications are optimized for
|
|
4
|
+
# caching and startup very fast, so your users will often only see this
|
|
5
|
+
# content for a brief moment on their first app load, if at all.
|
|
6
|
+
%>
|
|
7
|
+
<p class="loading">Loading...<p>
|
|
8
|
+
|
|
9
|
+
<%% end %>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<%= copyright_block("#{namespace} - mainPage") %>
|
|
2
|
+
/*globals <%= namespace %> */
|
|
3
|
+
|
|
4
|
+
// This page describes the main user interface for your application.
|
|
5
|
+
<%= namespace %>.mainPage = SC.Page.design({
|
|
6
|
+
|
|
7
|
+
// The main pane is made visible on screen as soon as your app is loaded.
|
|
8
|
+
// Add childViews to this pane for views to display immediately on page
|
|
9
|
+
// load.
|
|
10
|
+
mainPane: SC.MainPane.design({
|
|
11
|
+
childViews: 'labelView'.w(),
|
|
12
|
+
|
|
13
|
+
labelView: SC.LabelView.design({
|
|
14
|
+
layout: { centerX: 0, centerY: 0, width: 200, height: 18 },
|
|
15
|
+
textAlign: SC.ALIGN_CENTER,
|
|
16
|
+
tagName: "h1",
|
|
17
|
+
value: "Welcome to SproutCore!"
|
|
18
|
+
})
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<%= copyright_block(namespace) %>
|
|
2
|
+
/*globals <%= namespace %> */
|
|
3
|
+
|
|
4
|
+
// This is the theme that defines how your app renders.
|
|
5
|
+
//
|
|
6
|
+
// Your app is given its own theme so it is easier and less
|
|
7
|
+
// messy for you to override specific things just for your
|
|
8
|
+
// app.
|
|
9
|
+
//
|
|
10
|
+
// You don't have to create the whole theme on your own, though:
|
|
11
|
+
// your app's theme is based on SproutCore's Ace theme.
|
|
12
|
+
//
|
|
13
|
+
// NOTE: if you want to change the theme this one is based on, don't
|
|
14
|
+
// forget to change the :css_theme property in your buildfile.
|
|
15
|
+
<%= namespace %>.Theme = SC.AceTheme.create({
|
|
16
|
+
name: '<%= css_name %>'
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
// SproutCore needs to know that your app's theme exists
|
|
20
|
+
SC.Theme.addTheme(<%= namespace %>.Theme);
|
|
21
|
+
|
|
22
|
+
// Setting it as the default theme makes every pane SproutCore
|
|
23
|
+
// creates default to this theme unless otherwise specified.
|
|
24
|
+
SC.defaultTheme = '<%= css_name %>';
|
data/lib/sproutcore/builders.rb
CHANGED
|
@@ -34,6 +34,16 @@ module SC
|
|
|
34
34
|
def self.build(entry, dst_path)
|
|
35
35
|
new(entry).build(dst_path)
|
|
36
36
|
end
|
|
37
|
+
|
|
38
|
+
# Reads the content of the source file. If the source file does not exist,
|
|
39
|
+
# returns an empty array.
|
|
40
|
+
def read(src_path)
|
|
41
|
+
if File.exist?(src_path) && !File.directory?(src_path)
|
|
42
|
+
File.read(src_path)
|
|
43
|
+
else
|
|
44
|
+
""
|
|
45
|
+
end
|
|
46
|
+
end
|
|
37
47
|
|
|
38
48
|
# Reads the lines from the source file. If the source file does not
|
|
39
49
|
# exist, returns empty array.
|
|
@@ -58,7 +68,15 @@ module SC
|
|
|
58
68
|
f.write line
|
|
59
69
|
end
|
|
60
70
|
end
|
|
61
|
-
|
|
71
|
+
|
|
72
|
+
# writes the passed lines to the named file as binary
|
|
73
|
+
def writelinebinary(dst_path, line)
|
|
74
|
+
FileUtils.mkdir_p(File.dirname(dst_path))
|
|
75
|
+
File.open(dst_path, 'wb') do |f|
|
|
76
|
+
f.write line
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
62
80
|
# writes the passed lines to the named file
|
|
63
81
|
def writelines(dst_path, lines)
|
|
64
82
|
writeline(dst_path,joinlines(lines))
|
|
@@ -36,7 +36,12 @@ module SC
|
|
|
36
36
|
|
|
37
37
|
# Don't write empty files... but keep in mind that hte
|
|
38
38
|
if src.length > 0
|
|
39
|
-
|
|
39
|
+
if chance_file.end_with?("png")
|
|
40
|
+
# Writing it as binary to avoid newline problems on Windows
|
|
41
|
+
writelinebinary dst_path, src
|
|
42
|
+
else
|
|
43
|
+
writeline dst_path, src
|
|
44
|
+
end
|
|
40
45
|
end
|
|
41
46
|
end
|
|
42
47
|
|
|
@@ -12,17 +12,9 @@ module SC
|
|
|
12
12
|
|
|
13
13
|
class Builder::Handlebars < Builder::Base
|
|
14
14
|
|
|
15
|
-
def readlines(src_path)
|
|
16
|
-
if File.exist?(src_path) && !File.directory?(src_path)
|
|
17
|
-
File.read(src_path)
|
|
18
|
-
else
|
|
19
|
-
""
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
15
|
def build(dst_path)
|
|
24
16
|
template_name = entry.rootname[/^.*\/([^\/]*)$/, 1]
|
|
25
|
-
template_code =
|
|
17
|
+
template_code = read(entry[:source_path])
|
|
26
18
|
replace_static_url(template_code)
|
|
27
19
|
writelines dst_path, "SC.TEMPLATES[#{template_name.inspect}] = SC.Handlebars.compile(#{template_code.to_json});"
|
|
28
20
|
end
|
|
@@ -15,15 +15,6 @@ module SC
|
|
|
15
15
|
# does NOT product a combined JavaScript for production. See the
|
|
16
16
|
# Builder::CombinedJavaScript for more.
|
|
17
17
|
class Builder::JavaScript < Builder::Base
|
|
18
|
-
|
|
19
|
-
def readlines(src_path)
|
|
20
|
-
if File.exist?(src_path) && !File.directory?(src_path)
|
|
21
|
-
File.read(src_path)
|
|
22
|
-
else
|
|
23
|
-
""
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
18
|
def build(dst_path)
|
|
28
19
|
lines = ""
|
|
29
20
|
target_name = entry.target[:target_name].to_s.sub(/^\//,'')
|
|
@@ -42,7 +33,7 @@ SC.LAZY_INSTANTIATION['#{target_name}'].push(
|
|
|
42
33
|
"
|
|
43
34
|
end
|
|
44
35
|
|
|
45
|
-
code = rewrite_inline_code(
|
|
36
|
+
code = rewrite_inline_code(read(entry[:source_path]))
|
|
46
37
|
code = handle_debug_code(code)
|
|
47
38
|
lines << code
|
|
48
39
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# ===========================================================================
|
|
2
|
+
# Project: Abbot - SproutCore Build Tools
|
|
3
|
+
# Copyright: ©2009 Apple Inc.
|
|
4
|
+
# portions copyright @2006-2011 Strobe Inc.
|
|
5
|
+
# and contributors
|
|
6
|
+
# ===========================================================================
|
|
7
|
+
|
|
8
|
+
require "sproutcore/builders/base"
|
|
9
|
+
require 'fileutils'
|
|
10
|
+
|
|
11
|
+
module SC
|
|
12
|
+
|
|
13
|
+
# This build is used to process a single JSON file. It will substitute static_url
|
|
14
|
+
# and the like as needed.
|
|
15
|
+
class Builder::JSON < Builder::Base
|
|
16
|
+
|
|
17
|
+
def build(dst_path)
|
|
18
|
+
lines = read(entry[:source_path])
|
|
19
|
+
replace_static_url(lines)
|
|
20
|
+
writelines dst_path, lines
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
@@ -31,7 +31,7 @@ module SC
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
begin
|
|
34
|
-
content =
|
|
34
|
+
content = read(entry.source_path)
|
|
35
35
|
load_paths = [entry.source_path[0..entry.source_path.rindex('/')]]
|
|
36
36
|
css = ::Sass::Engine.new(content, :syntax => @@sass_syntax, :load_paths => load_paths).render
|
|
37
37
|
lines = []
|
|
@@ -18,16 +18,8 @@ module SC
|
|
|
18
18
|
#
|
|
19
19
|
class Builder::Stylesheet < Builder::Base
|
|
20
20
|
|
|
21
|
-
def readlines(src_path)
|
|
22
|
-
if File.exist?(src_path) && !File.directory?(src_path)
|
|
23
|
-
File.read(src_path)
|
|
24
|
-
else
|
|
25
|
-
""
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
21
|
def build(dst_path)
|
|
30
|
-
code = rewrite_inline_code(
|
|
22
|
+
code = rewrite_inline_code(read(entry[:source_path]))
|
|
31
23
|
writelines dst_path, code
|
|
32
24
|
end
|
|
33
25
|
|
|
@@ -13,6 +13,48 @@ module SC
|
|
|
13
13
|
module Helpers
|
|
14
14
|
|
|
15
15
|
module StaticHelper
|
|
16
|
+
|
|
17
|
+
# This method will return the urls of all the stylesheets
|
|
18
|
+
# required by the named bundle.
|
|
19
|
+
|
|
20
|
+
# This method will return teh URLs of all the images required
|
|
21
|
+
# by the named target. If no named target is provided then images
|
|
22
|
+
# from all targets will be returned.
|
|
23
|
+
#
|
|
24
|
+
# You can filter the images that are returned using the following
|
|
25
|
+
# options:
|
|
26
|
+
#
|
|
27
|
+
# :language => The language to render. Defaults to the current language
|
|
28
|
+
# :sprited => Only those images that have been sprited by Chance
|
|
29
|
+
# :x2 => Only those images that are two-times resolution (@2x)
|
|
30
|
+
#
|
|
31
|
+
def image_urls_for_client(target_name=nil, opts=nil)
|
|
32
|
+
opts = {} if opts.nil?
|
|
33
|
+
t = target_name ? target.target_for(target_name) : target
|
|
34
|
+
v = opts[:language] ? { :language => opts[:language] } : manifest.variation
|
|
35
|
+
targets = expand_required_targets(t)
|
|
36
|
+
targets << t
|
|
37
|
+
|
|
38
|
+
urls = []
|
|
39
|
+
|
|
40
|
+
targets.each do |t|
|
|
41
|
+
cur_manifest = t.manifest_for(v).build!
|
|
42
|
+
cur_manifest.entries.each do |entry|
|
|
43
|
+
if (entry[:entry_type] === :image)
|
|
44
|
+
url = entry.cacheable_url
|
|
45
|
+
url = nil if (opts[:sprited] and (url =~ /stylesheet-[-\w@]*\.png/).nil?)
|
|
46
|
+
if opts[:x2]
|
|
47
|
+
url = nil if (url =~ /@2x/).nil?
|
|
48
|
+
else
|
|
49
|
+
url = nil if not (url =~ /@2x/).nil?
|
|
50
|
+
end
|
|
51
|
+
urls << url if (not url.nil?)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
urls
|
|
57
|
+
end
|
|
16
58
|
|
|
17
59
|
# This method will return the HTML to link to all the stylesheets
|
|
18
60
|
# required by the named bundle. If you pass no options, the current
|
|
@@ -18,7 +18,7 @@ begin
|
|
|
18
18
|
require 'eventmachine'
|
|
19
19
|
require 'em-http'
|
|
20
20
|
require 'thin'
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
SC::PROXY_ENABLED = true
|
|
23
23
|
rescue LoadError => e
|
|
24
24
|
SC::PROXY_ENABLED = false
|
|
@@ -26,7 +26,7 @@ end
|
|
|
26
26
|
|
|
27
27
|
if SC::PROXY_ENABLED
|
|
28
28
|
# There are cases where we cannot load the proxy and don't need to (build environment)
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
module SC
|
|
31
31
|
|
|
32
32
|
module Rack
|
|
@@ -66,6 +66,18 @@ if SC::PROXY_ENABLED
|
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
|
|
69
|
+
# clears host field from request header if it's redirected request
|
|
70
|
+
class RedirectHostHeaderKiller
|
|
71
|
+
|
|
72
|
+
def response(r)
|
|
73
|
+
if r.redirect?
|
|
74
|
+
puts r.req.headers
|
|
75
|
+
r.req.headers.delete('Host')
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end
|
|
80
|
+
|
|
69
81
|
|
|
70
82
|
# Rack application proxies requests as needed for the given project.
|
|
71
83
|
class Proxy
|
|
@@ -131,7 +143,12 @@ if SC::PROXY_ENABLED
|
|
|
131
143
|
request_options = {}
|
|
132
144
|
request_options[:head] = headers
|
|
133
145
|
request_options[:body] = req_body if !!req_body
|
|
134
|
-
|
|
146
|
+
if proxy[:inactivity_timeout] # allow the more verbose setting to take precedence
|
|
147
|
+
request_options[:inactivity_timeout] = proxy[:inactivity_timeout]
|
|
148
|
+
elsif proxy[:timeout] # check the legacy and simpler setting
|
|
149
|
+
request_options[:inactivity_timeout] = proxy[:timeout]
|
|
150
|
+
end
|
|
151
|
+
request_options[:connect_timeout] = proxy[:connect_timeout] if proxy[:connect_timeout]
|
|
135
152
|
request_options[:redirects] = 10 if proxy[:redirect] != false
|
|
136
153
|
request_options[:decoding] = false # don't decode gzipped content
|
|
137
154
|
|
|
@@ -142,6 +159,7 @@ if SC::PROXY_ENABLED
|
|
|
142
159
|
headers = {}
|
|
143
160
|
method = env['REQUEST_METHOD'].upcase
|
|
144
161
|
status = 0
|
|
162
|
+
conn.use RedirectHostHeaderKiller
|
|
145
163
|
|
|
146
164
|
case method
|
|
147
165
|
when 'GET'
|
|
@@ -59,7 +59,7 @@ module SC
|
|
|
59
59
|
self.filesystem = opts[:Filesystem]
|
|
60
60
|
|
|
61
61
|
projects = opts.delete(:projects) || [opts.delete(:project)].compact
|
|
62
|
-
app = self.new(*projects
|
|
62
|
+
app = self.new(*(projects+[opts]))
|
|
63
63
|
|
|
64
64
|
opts[:Host] ||= opts[:host] # allow either case.
|
|
65
65
|
opts[:Port] ||= opts[:port] || '4020'
|
|
@@ -93,7 +93,8 @@ module SC
|
|
|
93
93
|
server.run app, opts
|
|
94
94
|
end
|
|
95
95
|
|
|
96
|
-
def initialize(*projects
|
|
96
|
+
def initialize(*projects)
|
|
97
|
+
opts = projects.pop
|
|
97
98
|
@projects = projects.flatten
|
|
98
99
|
|
|
99
100
|
# Get apps for each project & cascade if needed
|
data/lib/sproutcore/tools.rb
CHANGED
|
@@ -38,20 +38,13 @@ module SC
|
|
|
38
38
|
class_option "build", :type => :string, :aliases => "-b"
|
|
39
39
|
class_option "build-targets",:type => :string,
|
|
40
40
|
:desc => "Targets to build (excluding their dependencies)"
|
|
41
|
-
|
|
42
|
-
class_option "yui-minification", :type => :boolean,
|
|
43
|
-
:desc => "Deprecated. Does nothing."
|
|
44
|
-
|
|
41
|
+
|
|
45
42
|
class_option "dont-minify", :type => :boolean,
|
|
46
43
|
:desc => "Disables minification for the build."
|
|
47
|
-
|
|
44
|
+
|
|
48
45
|
class_option "verbose", :type => :boolean, :aliases => "-v"
|
|
49
46
|
class_option "very-verbose", :type => :boolean, :aliases => "-V"
|
|
50
|
-
|
|
51
|
-
class_option "library", :type => :string, #deprecated
|
|
52
|
-
:desc => "Deprecated."
|
|
53
|
-
class_option "environment", :type => :string, #deprecated
|
|
54
|
-
:desc => "Deprecated."
|
|
47
|
+
|
|
55
48
|
class_option "help", :type => :boolean
|
|
56
49
|
|
|
57
50
|
default_task :banner
|
|
@@ -140,7 +133,7 @@ module SC
|
|
|
140
133
|
build_mode = (options[:mode] || options[:environment] || preferred_mode).to_s.downcase.to_sym
|
|
141
134
|
SC.build_mode = build_mode
|
|
142
135
|
end
|
|
143
|
-
|
|
136
|
+
|
|
144
137
|
def prepare_app!
|
|
145
138
|
if options[:'build-targets']
|
|
146
139
|
SC.env[:build_targets] = options[:'build-targets'].split(',')
|
|
@@ -148,7 +141,7 @@ module SC
|
|
|
148
141
|
SC.env[:build_targets] = ''
|
|
149
142
|
end
|
|
150
143
|
end
|
|
151
|
-
|
|
144
|
+
|
|
152
145
|
def dont_minify!
|
|
153
146
|
SC.env[:dont_minify] = options[:'dont-minify']
|
|
154
147
|
end
|
|
@@ -247,7 +240,7 @@ module SC
|
|
|
247
240
|
|
|
248
241
|
# Filter out any empty target names. Sometimes this happens when
|
|
249
242
|
# processing arguments.
|
|
250
|
-
|
|
243
|
+
|
|
251
244
|
targets.reject! { |x| x.nil? || x.size == 0}
|
|
252
245
|
|
|
253
246
|
# If targets are specified, find the targets project or parents...
|
|
@@ -279,8 +272,8 @@ module SC
|
|
|
279
272
|
|
|
280
273
|
appnames = SC.env[:build_targets]
|
|
281
274
|
|
|
282
|
-
# if it has the appname argument only build the target with the appname
|
|
283
|
-
if appnames.size > 0
|
|
275
|
+
# if it has the appname argument only build the target with the appname
|
|
276
|
+
if appnames.size > 0
|
|
284
277
|
tar = []
|
|
285
278
|
targets.each do |target|
|
|
286
279
|
appnames.each do |appname|
|
|
@@ -346,36 +339,36 @@ module SC
|
|
|
346
339
|
SC.logger.info "Using build numbers: #{numbers.map { |k,v| "#{k}: #{v}" }.join(',')}"
|
|
347
340
|
end
|
|
348
341
|
end
|
|
349
|
-
|
|
342
|
+
|
|
350
343
|
def each_manifest_for_targets(*targets)
|
|
351
344
|
# setup build numbers
|
|
352
345
|
find_build_numbers(*targets)
|
|
353
346
|
|
|
354
347
|
requires_project! # get project
|
|
355
|
-
|
|
348
|
+
|
|
356
349
|
targets = find_targets(*targets) # get targets
|
|
357
350
|
|
|
358
351
|
# log output
|
|
359
352
|
SC.logger.info "Building targets: #{targets.map { |t| t.target_name } * ","}"
|
|
360
|
-
|
|
353
|
+
|
|
361
354
|
languages = find_languages(*targets) # get languages
|
|
362
355
|
SC.logger.info "Building languages: #{ languages * "," }"
|
|
363
|
-
|
|
356
|
+
|
|
364
357
|
index = 1
|
|
365
358
|
count = targets.length * languages.length
|
|
366
359
|
SC.logger.info "Total target/language combinations to build: #{count}"
|
|
367
|
-
|
|
360
|
+
|
|
368
361
|
targets.each {|target|
|
|
369
362
|
languages.each {|l|
|
|
370
363
|
manifest = target.manifest_for :language => l
|
|
371
364
|
SC.logger.info "Creating manifest #{index} of #{count} for: #{manifest.target.target_name}:#{manifest.language}"
|
|
372
|
-
|
|
365
|
+
|
|
373
366
|
yield manifest
|
|
374
|
-
|
|
367
|
+
|
|
375
368
|
index += 1
|
|
376
369
|
}
|
|
377
370
|
}
|
|
378
|
-
|
|
371
|
+
|
|
379
372
|
end
|
|
380
373
|
|
|
381
374
|
# Core method to process command line options and then build a manifest.
|
|
@@ -384,11 +377,11 @@ module SC
|
|
|
384
377
|
# Build'em
|
|
385
378
|
each_manifest_for_targets(*targets) do |manifest|
|
|
386
379
|
manifest.build!
|
|
387
|
-
|
|
380
|
+
|
|
388
381
|
yield manifest
|
|
389
382
|
end
|
|
390
383
|
end
|
|
391
|
-
|
|
384
|
+
|
|
392
385
|
# Loops over all of the manifest's entries and builds all essential entries.
|
|
393
386
|
# Entries such as javascript.js are considered non-essential because they will
|
|
394
387
|
# not actually be used in a fully built app (except for modules).
|