sproutcore 1.6.0.beta.3-x86-mingw32 → 1.6.0.rc.1-x86-mingw32

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.
Files changed (280) hide show
  1. data/CHANGELOG +33 -0
  2. data/Rakefile +213 -10
  3. data/VERSION.yml +1 -1
  4. data/lib/Buildfile +5 -1
  5. data/lib/buildtasks/manifest.rake +7 -1
  6. data/lib/frameworks/sproutcore/Buildfile +3 -2
  7. data/lib/frameworks/sproutcore/CHANGELOG.md +154 -1
  8. data/lib/frameworks/sproutcore/README.md +1 -1
  9. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +9 -0
  10. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +254 -207
  11. data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +243 -172
  12. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +29 -0
  13. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +5 -0
  14. data/lib/frameworks/sproutcore/frameworks/core_foundation/controls/button.js +6 -2
  15. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/bind.js +36 -14
  16. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/collection.js +3 -3
  17. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +14 -15
  18. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/template.js +14 -14
  19. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/application.js +2 -7
  20. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +3 -3
  21. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +2 -2
  22. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +1 -1
  23. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +20 -12
  24. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +61 -0
  25. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils.js +20 -6
  26. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +42 -0
  27. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controls/button.js +39 -57
  28. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +5 -3
  29. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +32 -0
  30. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +25 -0
  31. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +28 -17
  32. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/keyboard.js +396 -0
  33. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/view.js +1 -1
  34. data/lib/frameworks/sproutcore/frameworks/core_foundation/{system → views}/bindable_span.js +2 -1
  35. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template_collection.js +78 -51
  36. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +4 -3
  37. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +2 -1
  38. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +233 -67
  39. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +3 -1
  40. data/lib/frameworks/sproutcore/frameworks/core_tools/core.js +8 -2
  41. data/lib/frameworks/sproutcore/frameworks/core_tools/data_source.js +1 -1
  42. data/lib/frameworks/sproutcore/frameworks/core_tools/models/target.js +1 -1
  43. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +15 -8
  44. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_record.js +2 -2
  45. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +1 -0
  46. data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +3 -2
  47. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +66 -55
  48. data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/data_source.js +190 -0
  49. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +21 -0
  50. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +15 -1
  51. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +0 -1
  52. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +212 -182
  53. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +14 -16
  54. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +1 -1
  55. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +23 -11
  56. data/lib/frameworks/sproutcore/frameworks/desktop/resources/alert.css +49 -0
  57. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/debug/a_sample_image.jpg +0 -0
  58. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/debug/apple-logo1.jpeg +0 -0
  59. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/debug/iframe.html +0 -0
  60. data/lib/frameworks/sproutcore/frameworks/desktop/resources/disclosure.css +20 -0
  61. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/drag.css +1 -1
  62. data/lib/frameworks/sproutcore/frameworks/desktop/resources/icons.css +214 -0
  63. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/cap.png +0 -0
  64. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/downbutton.png +0 -0
  65. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-alert-16.png +0 -0
  66. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-alert-24.png +0 -0
  67. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-alert-48.png +0 -0
  68. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-bookmark-16.png +0 -0
  69. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-bookmark-24.png +0 -0
  70. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-cancel-24.png +0 -0
  71. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-document-16.png +0 -0
  72. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-document-24.png +0 -0
  73. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-down-24.png +0 -0
  74. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-error-48.png +0 -0
  75. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-favorite-16.png +0 -0
  76. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-favorite-24.png +0 -0
  77. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-folder-16.png +0 -0
  78. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-folder-24.png +0 -0
  79. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-group-16.png +0 -0
  80. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-group-24.png +0 -0
  81. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-help-16.png +0 -0
  82. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-help-24.png +0 -0
  83. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-info-16.png +0 -0
  84. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-info-24.png +0 -0
  85. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-info-48.png +0 -0
  86. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-left-24.png +0 -0
  87. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-options-16.png +0 -0
  88. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-options-24.png +0 -0
  89. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-redo-24.png +0 -0
  90. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-right-24.png +0 -0
  91. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-tools-24.png +0 -0
  92. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-trash-16.png +0 -0
  93. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-trash-24.png +0 -0
  94. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-undo-24.png +0 -0
  95. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-up-24.png +0 -0
  96. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-user-16.png +0 -0
  97. data/lib/frameworks/sproutcore/frameworks/desktop/resources/images/icons/sc-icon-user-24.png +0 -0
  98. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/thumb-bottom.png +0 -0
  99. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/thumb-center.png +0 -0
  100. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/thumb-top.png +0 -0
  101. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/track.png +0 -0
  102. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/images/upbutton.png +0 -0
  103. data/lib/frameworks/sproutcore/frameworks/desktop/resources/list_item.css +145 -0
  104. data/lib/frameworks/sproutcore/frameworks/desktop/resources/menu.css +10 -0
  105. data/lib/frameworks/sproutcore/frameworks/desktop/resources/menu_item_view.css +88 -0
  106. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/modal.css +3 -4
  107. data/lib/frameworks/sproutcore/frameworks/desktop/resources/panel.css +91 -0
  108. data/lib/frameworks/sproutcore/frameworks/desktop/resources/picker.css +37 -0
  109. data/lib/frameworks/sproutcore/frameworks/desktop/resources/progress.css +29 -0
  110. data/lib/frameworks/sproutcore/frameworks/desktop/resources/radio.css +11 -0
  111. data/lib/frameworks/sproutcore/frameworks/desktop/resources/segmented.css +121 -0
  112. data/lib/frameworks/sproutcore/frameworks/desktop/resources/separator.css +20 -0
  113. data/lib/frameworks/sproutcore/frameworks/desktop/resources/slider.css +34 -0
  114. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/split.css +0 -0
  115. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/split_divider.css +0 -0
  116. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/tab.css +0 -0
  117. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/toolbar.css +0 -0
  118. data/lib/frameworks/sproutcore/frameworks/desktop/{english.lproj → resources}/touch-scroller.css +13 -13
  119. data/lib/frameworks/sproutcore/frameworks/desktop/resources/well.css +65 -0
  120. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +114 -103
  121. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/static_content.js +3 -2
  122. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +7 -6
  123. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +18 -0
  124. data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +4 -7
  125. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +9 -2
  126. data/lib/frameworks/sproutcore/frameworks/desktop/{panes → views}/select_button.js +43 -0
  127. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/forms/views/form.js +35 -33
  128. data/lib/frameworks/sproutcore/frameworks/foundation/core.js +2 -2
  129. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +15 -8
  130. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +4 -7
  131. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +55 -13
  132. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +3 -1
  133. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +7 -7
  134. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/benchmark.css +0 -0
  135. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/blank.gif +0 -0
  136. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/bootstrap.rhtml +0 -0
  137. data/lib/frameworks/sproutcore/frameworks/foundation/resources/button_view.css +36 -0
  138. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/checkbox_view.css +0 -0
  139. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/debug/control-test-pane.css +0 -0
  140. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/favicon.ico +0 -0
  141. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-logo.png +0 -0
  142. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup-landscape.jpg +0 -0
  143. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup-landscape.png +0 -0
  144. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup-portrait.jpg +0 -0
  145. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup-portrait.png +0 -0
  146. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore-startup.png +0 -0
  147. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/images/sproutcore.png +0 -0
  148. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/inline_editor.css +0 -0
  149. data/lib/frameworks/sproutcore/frameworks/foundation/resources/label.css +47 -0
  150. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/radio_view.css +0 -0
  151. data/lib/frameworks/sproutcore/frameworks/foundation/{english.lproj → resources}/static_layout.css +1 -1
  152. data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +130 -0
  153. data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +5 -1
  154. data/lib/frameworks/sproutcore/frameworks/foundation/system/string.js +0 -43
  155. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +5 -2
  156. data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +4 -4
  157. data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +4 -5
  158. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +1 -1
  159. data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +5 -5
  160. data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +6 -3
  161. data/lib/frameworks/sproutcore/frameworks/routing/tests/system/routes.js +11 -0
  162. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +2 -2
  163. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +2 -2
  164. data/lib/frameworks/sproutcore/frameworks/runtime/private/property_chain.js +2 -2
  165. data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +1 -1
  166. data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +2 -2
  167. data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +2 -2
  168. data/lib/frameworks/sproutcore/frameworks/statechart/debug/monitor.js +4 -73
  169. data/lib/frameworks/sproutcore/frameworks/statechart/debug/sequence_matcher.js +189 -0
  170. data/lib/frameworks/sproutcore/frameworks/statechart/ext/function.js +122 -0
  171. data/lib/frameworks/sproutcore/frameworks/statechart/system/async.js +88 -0
  172. data/lib/frameworks/sproutcore/frameworks/statechart/system/empty_state.js +34 -0
  173. data/lib/frameworks/sproutcore/frameworks/statechart/system/history_state.js +97 -0
  174. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +7 -189
  175. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +14 -78
  176. data/lib/frameworks/sproutcore/frameworks/statechart/tests/debug/sequence_matcher.js +464 -0
  177. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +31 -11
  178. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/async/with_concurrent_states.js +6 -4
  179. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/advanced.js +40 -6
  180. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/basic.js +22 -2
  181. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/intermediate.js +44 -3
  182. data/lib/frameworks/sproutcore/frameworks/testing/core.js +61 -9
  183. data/lib/frameworks/sproutcore/frameworks/testing/{english.lproj → resources}/additions.css +0 -0
  184. data/lib/frameworks/sproutcore/frameworks/testing/{english.lproj → resources}/runner.css +11 -2
  185. data/lib/frameworks/sproutcore/frameworks/testing/{english.lproj → resources}/testsuite.css +0 -0
  186. data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +66 -27
  187. data/lib/frameworks/sproutcore/frameworks/testing/tests/spy_on.js +41 -0
  188. data/lib/frameworks/sproutcore/frameworks/testing/tests/stub_method.js +9 -0
  189. data/lib/frameworks/sproutcore/frameworks/yuireset/resources/core.css +24 -0
  190. data/lib/frameworks/sproutcore/frameworks/yuireset/resources/fonts.css +39 -0
  191. data/lib/frameworks/sproutcore/frameworks/yuireset/resources/reset.css +126 -0
  192. data/lib/frameworks/sproutcore/frameworks/yuireset/resources/view.css +57 -0
  193. data/lib/frameworks/sproutcore/lib/index.rhtml +7 -4
  194. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked.png +0 -0
  195. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked_active.png +0 -0
  196. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed.png +0 -0
  197. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed_active.png +0 -0
  198. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked.png +0 -0
  199. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked_active.png +0 -0
  200. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked.png +0 -0
  201. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked_active.png +0 -0
  202. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed.png +0 -0
  203. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed_active.png +0 -0
  204. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked.png +0 -0
  205. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked_active.png +0 -0
  206. data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +13 -4
  207. data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list_item.css +16 -14
  208. data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu_item.png +0 -0
  209. data/lib/gen/app/templates/apps/@target_name@/Buildfile +1 -4
  210. data/lib/gen/app/templates/apps/@target_name@/core.js +1 -4
  211. data/lib/gen/app/templates/apps/@target_name@/main.js +1 -4
  212. data/lib/gen/app/templates/apps/@target_name@/resources/main_page.js +1 -4
  213. data/lib/gen/app/templates/apps/@target_name@/theme.js +1 -4
  214. data/lib/gen/controller/templates/controllers/{@filename@.js → @filename@_controller.js} +1 -4
  215. data/lib/gen/controller/templates/tests/controllers/{@filename@.js → @filename@_test.js} +1 -4
  216. data/lib/gen/data-source/templates/data_sources/{@filename@.js → @filename@_data_source.js} +1 -4
  217. data/lib/gen/design/templates/resources/@filename@.js +1 -4
  218. data/lib/gen/framework/templates/frameworks/@target_name@/core.js +1 -4
  219. data/lib/gen/framework/templates/frameworks/@target_name@/english.lproj/strings.js +1 -4
  220. data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +1 -4
  221. data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +2 -0
  222. data/lib/gen/html_project/templates/@filename@/Buildfile +1 -4
  223. data/lib/gen/html_project/templates/@filename@/README +1 -4
  224. data/lib/gen/language/templates/@filename@/strings.js +1 -4
  225. data/lib/gen/model/templates/fixtures/{@filename@.js → @filename@_fixtures.js} +2 -5
  226. data/lib/gen/model/templates/models/{@filename@.js → @filename@_model.js} +1 -4
  227. data/lib/gen/model/templates/tests/models/{@filename@.js → @filename@_test.js} +1 -4
  228. data/lib/gen/page/templates/pages/@target_name@/Buildfile +1 -4
  229. data/lib/gen/page/templates/pages/@target_name@/core.js +1 -4
  230. data/lib/gen/page/templates/pages/@target_name@/en.lproj/strings.js +1 -4
  231. data/lib/gen/page/templates/pages/@target_name@/resources/body.css +3 -1
  232. data/lib/gen/project/templates/@filename@/Buildfile +1 -4
  233. data/lib/gen/project/templates/@filename@/README +1 -5
  234. data/lib/gen/responder/templates/states/{@filename@.js → @filename@_state.js} +1 -4
  235. data/lib/gen/test/templates/tests/{@filename@.js → @filename@_test.js} +1 -4
  236. data/lib/gen/theme/templates/themes/@target_name@/resources/theme_styles.css +1 -5
  237. data/lib/gen/theme/templates/themes/@target_name@/theme.js +1 -4
  238. data/lib/gen/view/templates/tests/views/{@filename@.js → @filename@_test.js} +1 -4
  239. data/lib/gen/view/templates/views/{@filename@.js → @filename@_view.js} +1 -4
  240. data/lib/sproutcore.rb +4 -1
  241. data/lib/sproutcore/builders/handlebars.rb +1 -1
  242. data/lib/sproutcore/builders/module.rb +2 -2
  243. data/lib/sproutcore/helpers/static_helper.rb +4 -2
  244. data/lib/sproutcore/models/generator.rb +22 -0
  245. data/lib/sproutcore/models/manifest_entry.rb +1 -0
  246. data/lib/sproutcore/models/target.rb +4 -1
  247. data/lib/sproutcore/rack/builder.rb +3 -0
  248. data/lib/sproutcore/tools.rb +11 -11
  249. data/lib/sproutcore/tools/init.rb +10 -22
  250. data/lib/sproutcore/tools/manifest.rb +21 -22
  251. data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +21 -1
  252. data/spec/fixtures/ordered_entries/apps/template_style/a.js +0 -0
  253. data/spec/fixtures/ordered_entries/apps/template_style/template_style.js +0 -0
  254. data/spec/lib/buildfile_commands/build_task_spec.rb +1 -1
  255. data/spec/lib/tools/manifest_spec.rb +11 -0
  256. data/sproutcore.gemspec +2 -2
  257. data/vendor/chance/lib/chance/instance.rb +3 -1
  258. metadata +150 -106
  259. data/lib/frameworks/sproutcore/frameworks/core_foundation/resources/core.css +0 -378
  260. data/lib/frameworks/sproutcore/frameworks/core_foundation/resources/view.css +0 -57
  261. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +0 -56
  262. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/disclosure.css +0 -73
  263. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/icons.css +0 -916
  264. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/shared.png +0 -0
  265. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +0 -185
  266. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/menu.css +0 -12
  267. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +0 -101
  268. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +0 -91
  269. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/picker.css +0 -35
  270. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/progress.css +0 -33
  271. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/radio.css +0 -10
  272. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +0 -132
  273. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/separator.css +0 -19
  274. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/slider.css +0 -69
  275. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/strings.js +0 -14
  276. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/well.css +0 -71
  277. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/button_view.css +0 -40
  278. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +0 -47
  279. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +0 -146
  280. data/lib/frameworks/sproutcore/themes/empty_theme/tests/mini_icons.rhtml +0 -69
@@ -0,0 +1,122 @@
1
+ // ==========================================================================
2
+ // Project: SC.Statechart - A Statechart Framework for SproutCore
3
+ // Copyright: ©2010, 2011 Michael Cohen, and contributors.
4
+ // Portions @2011 Apple Inc. All rights reserved.
5
+ // License: Licensed under MIT license (see license.js)
6
+ // ==========================================================================
7
+
8
+ /*globals SC */
9
+
10
+ /**
11
+ Extends the JS Function object with the handleEvents method that
12
+ will provide more advanced event handling capabilities when constructing
13
+ your statechart's states.
14
+
15
+ By default, when you add a method to a state, the state will react to
16
+ events that matches a method's name, like so:
17
+
18
+ {{{
19
+
20
+ state = SC.State.extend({
21
+
22
+ // Will be invoked when a event named "foo" is sent to this state
23
+ foo: function(event, sender, context) { ... }
24
+
25
+ })
26
+
27
+ }}}
28
+
29
+ In some situations, it may be advantageous to use one method that can react to
30
+ multiple events instead of having multiple methods that essentially all do the
31
+ same thing. In order to set a method to handle more than one event you use
32
+ the handleEvents method which can be supplied a list of string and/or regular
33
+ expressions. The following example demonstrates the use of handleEvents:
34
+
35
+ {{{
36
+
37
+ state = SC.State.extend({
38
+
39
+ eventHandlerA: function(event, sender, context) {
40
+
41
+ }.handleEvents('foo', 'bar'),
42
+
43
+ eventHandlerB: function(event, sender, context) {
44
+
45
+ }.handleEvents(/num\d/, 'decimal')
46
+
47
+ })
48
+
49
+ }}}
50
+
51
+ Whenever events 'foo' and 'bar' are sent to the state, the method eventHandlerA
52
+ will be invoked. When there is an event that matches the regular expression
53
+ /num\d/ or the event is 'decimal' then eventHandlerB is invoked. In both
54
+ cases, the name of the event will be supplied to the event handler.
55
+
56
+ It should be noted that the use of regular expressions may impact performance
57
+ since that statechart will not be able to fully optimize the event handling logic based
58
+ on its use. Therefore the use of regular expression should be used sparingly.
59
+
60
+ @param {(String|RegExp)...} args
61
+ */
62
+ Function.prototype.handleEvents = function() {
63
+ this.isEventHandler = YES;
64
+ this.events = arguments;
65
+ return this;
66
+ };
67
+
68
+ /**
69
+ Extends the JS Function object with the stateObserves method that will
70
+ create a state observe handler on a given state object.
71
+
72
+ Use a stateObserves() instead of the common observes() method when you want a
73
+ state to observer changes to some property on the state itself or some other
74
+ object.
75
+
76
+ Any method on the state that has stateObserves is considered a state observe
77
+ handler and behaves just like when you use observes() on a method, but with an
78
+ important difference. When you apply stateObserves to a method on a state, those
79
+ methods will be active *only* when the state is entered, otherwise those methods
80
+ will be inactive. This removes the need for you having to explicitly call
81
+ addObserver and removeObserver. As an example:
82
+
83
+ {{{
84
+
85
+ state = SC.State.extend({
86
+
87
+ foo: null,
88
+
89
+ user: null,
90
+
91
+ observeHandlerA: function(target, key) {
92
+
93
+ }.stateObserves('MyApp.someController.status'),
94
+
95
+ observeHandlerB: function(target, key) {
96
+
97
+ }.stateObserves('foo'),
98
+
99
+ observeHandlerC: function(target, key) {
100
+
101
+ }.stateObserves('.user.name', '.user.salary')
102
+
103
+ })
104
+
105
+ }}}
106
+
107
+ Above, state has three state observe handlers: observeHandlerA, observeHandlerB, and
108
+ observeHandlerC. When state is entered, the state will automatically add itself as
109
+ an observer for all of its registered state observe handlers. Therefore when
110
+ foo changes, observeHandlerB will be invoked, and when MyApp.someController's status
111
+ changes then observeHandlerA will be invoked. The moment that state is exited then
112
+ the state will automatically remove itself as an observer for all of its registered
113
+ state observe handlers. Therefore none of the state observe handlers will be
114
+ invoked until the next time the state is entered.
115
+
116
+ @param {String...} args
117
+ */
118
+ Function.prototype.stateObserves = function() {
119
+ this.isStateObserveHandler = YES;
120
+ this.args = SC.A(arguments);
121
+ return this;
122
+ };
@@ -0,0 +1,88 @@
1
+ // ==========================================================================
2
+ // Project: SC.Statechart - A Statechart Framework for SproutCore
3
+ // Copyright: ©2010, 2011 Michael Cohen, and contributors.
4
+ // Portions @2011 Apple Inc. All rights reserved.
5
+ // License: Licensed under MIT license (see license.js)
6
+ // ==========================================================================
7
+
8
+ /*globals SC */
9
+
10
+ /**
11
+ @class
12
+
13
+ Represents a call that is intended to be asynchronous. This is
14
+ used during a state transition process when either entering or
15
+ exiting a state.
16
+
17
+ @extends SC.Object
18
+ @author Michael Cohen
19
+ */
20
+ SC.Async = SC.Object.extend(
21
+ /** @scope SC.Async.prototype */{
22
+
23
+ func: null,
24
+
25
+ arg1: null,
26
+
27
+ arg2: null,
28
+
29
+ /** @private
30
+ Called by the statechart
31
+ */
32
+ tryToPerform: function(state) {
33
+ var func = this.get('func'),
34
+ arg1 = this.get('arg1'),
35
+ arg2 = this.get('arg2'),
36
+ funcType = SC.typeOf(func);
37
+
38
+ if (funcType === SC.T_STRING) {
39
+ state.tryToPerform(func, arg1, arg2);
40
+ }
41
+ else if (funcType === SC.T_FUNCTION) {
42
+ func.apply(state, [arg1, arg2]);
43
+ }
44
+ }
45
+
46
+ });
47
+
48
+ /**
49
+ Singleton
50
+ */
51
+ SC.Async.mixin(/** @scope SC.Async */{
52
+
53
+ /**
54
+ Call in either a state's enterState or exitState method when you
55
+ want a state to perform an asynchronous action, such as an animation.
56
+
57
+ Examples:
58
+
59
+ {{
60
+
61
+ SC.State.extend({
62
+
63
+ enterState: function() {
64
+ return SC.Async.perform('foo');
65
+ },
66
+
67
+ exitState: function() {
68
+ return SC.Async.perform('bar', 100);
69
+ }
70
+
71
+ foo: function() { ... },
72
+
73
+ bar: function(arg) { ... }
74
+
75
+ });
76
+
77
+ }}
78
+
79
+ @param func {String|Function} the functio to be invoked on a state
80
+ @param arg1 Optional. An argument to pass to the given function
81
+ @param arg2 Optional. An argument to pass to the given function
82
+ @return {SC.Async} a new instance of a SC.Async
83
+ */
84
+ perform: function(func, arg1, arg2) {
85
+ return SC.Async.create({ func: func, arg1: arg1, arg2: arg2 });
86
+ }
87
+
88
+ });
@@ -0,0 +1,34 @@
1
+ // ==========================================================================
2
+ // Project: SC.Statechart - A Statechart Framework for SproutCore
3
+ // Copyright: ©2010, 2011 Michael Cohen, and contributors.
4
+ // Portions @2011 Apple Inc. All rights reserved.
5
+ // License: Licensed under MIT license (see license.js)
6
+ // ==========================================================================
7
+
8
+ /*globals SC */
9
+
10
+ sc_require('system/state');
11
+
12
+ /**
13
+ The default name given to an empty state
14
+ */
15
+ SC.EMPTY_STATE_NAME = "__EMPTY_STATE__";
16
+
17
+ /**
18
+ @class
19
+
20
+ Represents an empty state that gets assigned as a state's initial substate
21
+ if the state does not have an initial substate defined.
22
+
23
+ @extends SC.State
24
+ */
25
+ SC.EmptyState = SC.State.extend(/** @scope SC.EmptyState.prototype */{
26
+
27
+ name: SC.EMPTY_STATE_NAME,
28
+
29
+ enterState: function() {
30
+ var msg = "No initial substate was defined for state %@. Entering default empty state";
31
+ this.stateLogWarning(msg.fmt(this.get('parentState')));
32
+ }
33
+
34
+ });
@@ -0,0 +1,97 @@
1
+ // ==========================================================================
2
+ // Project: SC.Statechart - A Statechart Framework for SproutCore
3
+ // Copyright: ©2010, 2011 Michael Cohen, and contributors.
4
+ // Portions @2011 Apple Inc. All rights reserved.
5
+ // License: Licensed under MIT license (see license.js)
6
+ // ==========================================================================
7
+
8
+ /*globals SC */
9
+
10
+ sc_require('system/state');
11
+
12
+ /**
13
+ @class
14
+
15
+ Represents a history state that can be assigned to a SC.State object's
16
+ initialSubstate property.
17
+
18
+ If a SC.HistoryState object is assigned to a state's initial substate,
19
+ then after a state is entered the statechart will refer to the history
20
+ state object to determine the next course of action. If the state has
21
+ its historyState property assigned then the that state will be entered,
22
+ otherwise the default state assigned to history state object will be entered.
23
+
24
+ An example of how to use:
25
+
26
+ stateA: SC.State.design({
27
+
28
+ initialSubstate: SC.HistoryState({
29
+ defaultState: 'stateB'
30
+ }),
31
+
32
+ stateB: SC.State.design({ ... }),
33
+
34
+ stateC: SC.State.design({ ... })
35
+
36
+ })
37
+
38
+ @author Michael Cohen
39
+ @extends SC.Object
40
+ */
41
+ SC.HistoryState = SC.Object.extend(
42
+ /** @scope SC.HistoryState.prototype */{
43
+
44
+ /**
45
+ Used to indicate if the statechart should recurse the
46
+ history states after entering the this object's parent state
47
+
48
+ @property {Boolean}
49
+ */
50
+ isRecursive: NO,
51
+
52
+ /**
53
+ The default state to enter if the parent state does not
54
+ yet have its historyState property assigned to something
55
+ other than null.
56
+
57
+ The value assigned to this property must be the name of an
58
+ immediate substate that belongs to the parent state. The
59
+ statechart will manage the property upon initialization.
60
+
61
+ @property {String}
62
+ */
63
+ defaultState: null,
64
+
65
+ /** @private
66
+ Managed by the statechart
67
+
68
+ The statechart that owns this object.
69
+ */
70
+ statechart: null,
71
+
72
+ /** @private
73
+ Managed by the statechart
74
+
75
+ The state that owns this object
76
+ */
77
+ parentState: null,
78
+
79
+ /**
80
+ Used by the statechart during a state transition process.
81
+
82
+ Returns a state to enter based on whether the parent state has
83
+ its historyState property assigned. If not then this object's
84
+ assigned default state is returned.
85
+ */
86
+ state: function() {
87
+ var defaultState = this.get('defaultState'),
88
+ historyState = this.getPath('parentState.historyState');
89
+ return !!historyState ? historyState : defaultState;
90
+ }.property().cacheable(),
91
+
92
+ /** @private */
93
+ parentHistoryStateDidChange: function() {
94
+ this.notifyPropertyChange('state');
95
+ }.observes('*parentState.historyState')
96
+
97
+ });
@@ -8,6 +8,7 @@
8
8
  /*globals SC */
9
9
 
10
10
  /**
11
+ @class
11
12
 
12
13
  Represents a state within a statechart.
13
14
 
@@ -18,7 +19,7 @@
18
19
  state heirarchy and create the states itself.
19
20
 
20
21
  @author Michael Cohen
21
-
22
+ @extends SC.Object
22
23
  */
23
24
  SC.State = SC.Object.extend({
24
25
 
@@ -1025,7 +1026,7 @@ SC.State = SC.Object.extend({
1025
1026
  var sc = this.get('statechart');
1026
1027
  sc.statechartLogError(msg);
1027
1028
  }
1028
-
1029
+
1029
1030
  });
1030
1031
 
1031
1032
  /**
@@ -1057,6 +1058,10 @@ SC.State.plugin = function(value) {
1057
1058
  var args = SC.A(arguments); args.shift();
1058
1059
  var func = function() {
1059
1060
  var klass = SC.objectForPropertyPath(value);
1061
+ if (!klass) {
1062
+ console.error('SC.State.plugin: Unable to determine path %@'.fmt(value));
1063
+ return undefined;
1064
+ }
1060
1065
  return klass.extend.apply(klass, args);
1061
1066
  };
1062
1067
  func.statePlugin = YES;
@@ -1064,190 +1069,3 @@ SC.State.plugin = function(value) {
1064
1069
  };
1065
1070
 
1066
1071
  SC.State.design = SC.State.extend;
1067
-
1068
- /**
1069
- Extends the JS Function object with the handleEvents method that
1070
- will provide more advanced event handling capabilities when constructing
1071
- your statechart's states.
1072
-
1073
- By default, when you add a method to a state, the state will react to
1074
- events that matches a method's name, like so:
1075
-
1076
- state = SC.State.extend({
1077
- // Will be invoked when a event named "foo" is sent to this state
1078
- foo: function(event, sender, context) { ... }
1079
- });
1080
-
1081
- In some situations, it may be advantageous to use one method that can react to
1082
- multiple events instead of having multiple methods that essentially all do the
1083
- same thing. In order to set a method to handle more than one event you use
1084
- the handleEvents method which can be supplied a list of string and/or regular
1085
- expressions. The following example demonstrates the use of handleEvents:
1086
-
1087
- state = SC.State.extend({
1088
- eventHandlerA: function(event, sender, context) {
1089
- }.handleEvents('foo', 'bar'),
1090
-
1091
- eventHandlerB: function(event, sender, context) {
1092
- }.handleEvents(/num\d/, 'decimal')
1093
- });
1094
-
1095
- Whenever events 'foo' and 'bar' are sent to the state, the method eventHandlerA
1096
- will be invoked. When there is an event that matches the regular expression
1097
- /num\d/ or the event is 'decimal' then eventHandlerB is invoked. In both
1098
- cases, the name of the event will be supplied to the event handler.
1099
-
1100
- It should be noted that the use of regular expressions may impact performance
1101
- since that statechart will not be able to fully optimize the event handling logic based
1102
- on its use. Therefore the use of regular expression should be used sparingly.
1103
-
1104
- @param {(String|RegExp)...} args
1105
- */
1106
- Function.prototype.handleEvents = function() {
1107
- this.isEventHandler = YES;
1108
- this.events = arguments;
1109
- return this;
1110
- };
1111
-
1112
- /**
1113
- Extends the JS Function object with the stateObserves method that will
1114
- create a state observe handler on a given state object.
1115
-
1116
- Use a stateObserves() instead of the common observes() method when you want a
1117
- state to observer changes to some property on the state itself or some other
1118
- object.
1119
-
1120
- Any method on the state that has stateObserves is considered a state observe
1121
- handler and behaves just like when you use observes() on a method, but with an
1122
- important difference. When you apply stateObserves to a method on a state, those
1123
- methods will be active *only* when the state is entered, otherwise those methods
1124
- will be inactive. This removes the need for you having to explicitly call
1125
- addObserver and removeObserver. As an example:
1126
-
1127
- state = SC.State.extend({
1128
- foo: null,
1129
- user: null,
1130
- observeHandlerA: function(target, key) {
1131
- }.stateObserves('MyApp.someController.status'),
1132
-
1133
- observeHandlerB: function(target, key) {
1134
- }.stateObserves('foo'),
1135
-
1136
- observeHandlerC: function(target, key) {
1137
- }.stateObserves('.user.name', '.user.salary')
1138
- });
1139
-
1140
- Above, state has three state observe handlers: observeHandlerA, observeHandlerB, and
1141
- observeHandlerC. When state is entered, the state will automatically add itself as
1142
- an observer for all of its registered state observe handlers. Therefore when
1143
- foo changes, observeHandlerB will be invoked, and when MyApp.someController's status
1144
- changes then observeHandlerA will be invoked. The moment that state is exited then
1145
- the state will automatically remove itself as an observer for all of its registered
1146
- state observe handlers. Therefore none of the state observe handlers will be
1147
- invoked until the next time the state is entered.
1148
-
1149
- @param {String...} args
1150
- */
1151
- Function.prototype.stateObserves = function() {
1152
- this.isStateObserveHandler = YES;
1153
- this.args = SC.A(arguments);
1154
- return this;
1155
- };
1156
-
1157
- /**
1158
- Represents a history state that can be assigned to a SC.State object's
1159
- initialSubstate property.
1160
-
1161
- If a SC.HistoryState object is assigned to a state's initial substate,
1162
- then after a state is entered the statechart will refer to the history
1163
- state object to determine the next course of action. If the state has
1164
- its historyState property assigned then the that state will be entered,
1165
- otherwise the default state assigned to history state object will be entered.
1166
-
1167
- An example of how to use:
1168
-
1169
- stateA: SC.State.design({
1170
- initialSubstate: SC.HistoryState({
1171
- defaultState: 'stateB'
1172
- }),
1173
-
1174
- stateB: SC.State.design({ ... }),
1175
-
1176
- stateC: SC.State.design({ ... })
1177
- })
1178
- */
1179
- SC.HistoryState = SC.Object.extend({
1180
-
1181
- /**
1182
- Used to indicate if the statechart should recurse the
1183
- history states after entering the this object's parent state
1184
-
1185
- @property {Boolean}
1186
- */
1187
- isRecursive: NO,
1188
-
1189
- /**
1190
- The default state to enter if the parent state does not
1191
- yet have its historyState property assigned to something
1192
- other than null.
1193
-
1194
- The value assigned to this property must be the name of an
1195
- immediate substate that belongs to the parent state. The
1196
- statechart will manage the property upon initialization.
1197
-
1198
- @property {String}
1199
- */
1200
- defaultState: null,
1201
-
1202
- /** @private
1203
- Managed by the statechart
1204
-
1205
- The statechart that owns this object.
1206
- */
1207
- statechart: null,
1208
-
1209
- /** @private
1210
- Managed by the statechart
1211
-
1212
- The state that owns this object
1213
- */
1214
- parentState: null,
1215
-
1216
- /**
1217
- Used by the statechart during a state transition process.
1218
-
1219
- Returns a state to enter based on whether the parent state has
1220
- its historyState property assigned. If not then this object's
1221
- assigned default state is returned.
1222
- */
1223
- state: function() {
1224
- var defaultState = this.get('defaultState'),
1225
- historyState = this.getPath('parentState.historyState');
1226
- return !!historyState ? historyState : defaultState;
1227
- }.property().cacheable(),
1228
-
1229
- /** @private */
1230
- parentHistoryStateDidChange: function() {
1231
- this.notifyPropertyChange('state');
1232
- }.observes('*parentState.historyState')
1233
-
1234
- });
1235
-
1236
- /**
1237
- The default name given to an empty state
1238
- */
1239
- SC.EMPTY_STATE_NAME = "__EMPTY_STATE__";
1240
-
1241
- /**
1242
- Represents an empty state that gets assigned as a state's initial substate
1243
- if the state does not have an initial substate defined.
1244
- */
1245
- SC.EmptyState = SC.State.extend({
1246
-
1247
- name: SC.EMPTY_STATE_NAME,
1248
-
1249
- enterState: function() {
1250
- this.stateLogWarning("No initial substate was defined for state %@. Entering default empty state".fmt(this.get('parentState')));
1251
- }
1252
-
1253
- });