luca 0.9.9 → 0.9.42

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 (604) hide show
  1. data/CHANGELOG +9 -153
  2. data/Gemfile +1 -10
  3. data/Gemfile.lock +40 -113
  4. data/Guardfile +25 -3
  5. data/README.md +57 -54
  6. data/ROADMAP +32 -15
  7. data/Rakefile +75 -24
  8. data/app.rb +46 -12
  9. data/{app/assets → assets}/images/glyphicons-halflings-white.png +0 -0
  10. data/{app/assets → assets}/images/glyphicons-halflings.png +0 -0
  11. data/assets/javascripts/dependencies/backbone-min.js +37 -0
  12. data/assets/javascripts/dependencies/backbone-query.min.js +1 -0
  13. data/assets/javascripts/dependencies/bootstrap.min.js +7 -0
  14. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/codemirror-coffeescript.js +0 -0
  15. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/codemirror-css.js +0 -0
  16. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/codemirror-html.js +0 -0
  17. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/codemirror-javascript.js +0 -0
  18. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/codemirror-less.js +0 -0
  19. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/codemirror-vim.js +0 -0
  20. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/codemirror.js +0 -0
  21. data/assets/javascripts/dependencies/coffee-script.js +12189 -0
  22. data/{spec → assets}/javascripts/dependencies/jasmine-html.js +0 -0
  23. data/{spec → assets}/javascripts/dependencies/jasmine.js +0 -0
  24. data/assets/javascripts/dependencies/jquery.js +4 -0
  25. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/modal.js +0 -0
  26. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/modernizr.min.js +0 -0
  27. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/prettify.js +0 -0
  28. data/{spec → assets}/javascripts/dependencies/sinon.js +0 -0
  29. data/{vendor/assets/javascripts → assets/javascripts/dependencies}/spin-min.js +0 -0
  30. data/assets/javascripts/dependencies/underscore-min.js +31 -0
  31. data/assets/javascripts/dependencies/underscore-string.min.js +14 -0
  32. data/assets/javascripts/dependencies.coffee +5 -0
  33. data/assets/javascripts/luca/index.coffee +1 -0
  34. data/assets/javascripts/luca-templates.js +1 -0
  35. data/assets/javascripts/luca-ui-base.coffee +1 -0
  36. data/assets/javascripts/luca-ui-bootstrap.js +1 -0
  37. data/assets/javascripts/luca-ui-development-tools.coffee +9 -0
  38. data/assets/javascripts/luca-ui-full.js +3 -0
  39. data/assets/javascripts/luca-ui-spec.coffee +2 -0
  40. data/assets/javascripts/luca-ui.js +3 -0
  41. data/assets/javascripts/sandbox/application.coffee +57 -0
  42. data/assets/javascripts/sandbox/config.coffee +7 -0
  43. data/assets/javascripts/sandbox/router.coffee +24 -0
  44. data/assets/javascripts/sandbox/templates/builder/component_list.luca +1 -0
  45. data/assets/javascripts/sandbox/templates/builder.luca +2 -0
  46. data/assets/javascripts/sandbox/templates/main.luca +53 -0
  47. data/assets/javascripts/sandbox/templates/sandbox/docs_index.luca +1 -0
  48. data/assets/javascripts/sandbox/templates/sandbox/navigation.luca +8 -0
  49. data/assets/javascripts/sandbox/templates/sandbox/readme.luca +30 -0
  50. data/assets/javascripts/sandbox/templates/sandbox.luca +1 -0
  51. data/assets/javascripts/sandbox/views/builder/builder_canvas.coffee +3 -0
  52. data/assets/javascripts/sandbox/views/builder/builder_editor.coffee +6 -0
  53. data/assets/javascripts/sandbox/views/builder/component_list.coffee +38 -0
  54. data/assets/javascripts/sandbox/views/builder/project_browser.coffee +14 -0
  55. data/assets/javascripts/sandbox/views/builder.coffee +133 -0
  56. data/assets/javascripts/sandbox/views/docs_controller.coffee +7 -0
  57. data/assets/javascripts/sandbox/views/inspector/instance_filter.coffee +18 -0
  58. data/{app/assets/stylesheets/luca/containers/modal_view.scss → assets/javascripts/sandbox/views/inspector/instance_list.coffee} +0 -0
  59. data/assets/javascripts/sandbox/views/inspector.coffee +11 -0
  60. data/assets/javascripts/sandbox/views/top_navigation.coffee +4 -0
  61. data/assets/javascripts/sandbox.coffee +7 -0
  62. data/assets/javascripts/spec-dependencies.coffee +4 -0
  63. data/assets/stylesheets/bootstrap-responsive.min.css +2 -0
  64. data/assets/stylesheets/bootstrap.min.css +727 -0
  65. data/{vendor/assets → assets}/stylesheets/codemirror-blackboard.css +0 -0
  66. data/{vendor/assets → assets}/stylesheets/codemirror-monokai.css +0 -0
  67. data/{vendor/assets → assets}/stylesheets/codemirror.css +0 -0
  68. data/{vendor/assets → assets}/stylesheets/jasmine.css +0 -0
  69. data/assets/stylesheets/luca-ui-bootstrap.css +4 -0
  70. data/assets/stylesheets/luca-ui-development-tools.css +5 -0
  71. data/assets/stylesheets/luca-ui-full.css +3 -0
  72. data/assets/stylesheets/luca-ui-spec.css +3 -0
  73. data/assets/stylesheets/luca-ui.css +3 -0
  74. data/assets/stylesheets/prettify.css +40 -0
  75. data/assets/stylesheets/sandbox/builder.scss +79 -0
  76. data/assets/stylesheets/sandbox/sandbox.scss +18 -0
  77. data/assets/stylesheets/sandbox.css +3 -0
  78. data/assets/stylesheets/themes/amelia-bootstrap.css +826 -0
  79. data/assets/stylesheets/themes/slate-bootstrap.css +797 -0
  80. data/assets/stylesheets/themes/superhero-bootstrap.css +830 -0
  81. data/config.ru +2 -1
  82. data/docs/{old/application.md → application.md} +0 -0
  83. data/docs/{old/collection.md → collection.md} +0 -0
  84. data/docs/{old/collection_manager.md → collection_manager.md} +0 -0
  85. data/docs/{old/container_philosophy.md → container_philosophy.md} +0 -0
  86. data/docs/{old/event_binding_helpers.md → event_binding_helpers.md} +0 -0
  87. data/docs/{old/method_caching_and_computed_properties.md → method_caching_and_computed_properties.md} +0 -0
  88. data/docs/{old/view.md → view.md} +0 -0
  89. data/lib/luca/code_browser.rb +55 -0
  90. data/lib/luca/command_line.rb +69 -0
  91. data/lib/luca/rails/engine.rb +0 -12
  92. data/lib/luca/rails/version.rb +2 -1
  93. data/lib/luca/rails.rb +3 -5
  94. data/lib/luca/template.rb +0 -2
  95. data/lib/luca.rb +1 -25
  96. data/luca.gemspec +7 -16
  97. data/site/assets/bootstrap.min.js +7 -0
  98. data/site/assets/dependencies.js +94 -0
  99. data/site/assets/glyphicons-halflings-white.png +0 -0
  100. data/site/assets/glyphicons-halflings.png +0 -0
  101. data/site/assets/luca-ui-bootstrap.css +1331 -0
  102. data/site/assets/luca-ui-bootstrap.js +9 -0
  103. data/site/assets/luca-ui-development-tools.css +234 -0
  104. data/site/assets/luca-ui-development-tools.js +18561 -0
  105. data/site/assets/luca-ui-development-tools.min.js +15 -0
  106. data/site/assets/luca-ui-full.min.js +8 -0
  107. data/site/assets/luca-ui.min.js +4 -0
  108. data/site/assets/sandbox.css +62 -0
  109. data/site/assets/sandbox.js +469 -0
  110. data/site/docs/application.html +41 -0
  111. data/site/docs/caching.html +43 -0
  112. data/site/docs/collection.html +75 -0
  113. data/site/docs/collection_manager.html +71 -0
  114. data/site/docs/containers.html +118 -0
  115. data/site/docs/events.html +153 -0
  116. data/site/docs/view.html +128 -0
  117. data/site/img/glyphicons-halflings-white.png +0 -0
  118. data/site/img/glyphicons-halflings.png +0 -0
  119. data/site/index.html +20 -0
  120. data/site/source-map.js +1 -0
  121. data/spec/{javascripts/components → components}/application_spec.coffee +0 -0
  122. data/spec/{javascripts/components → components}/collection_loader_view_spec.coffee +0 -0
  123. data/{site/source/app/assets/javascripts/docs/lib/util.coffee → spec/components/controller_spec.coffee} +0 -0
  124. data/spec/{javascripts/components → components}/fields/checkbox_array_spec.coffee +0 -0
  125. data/spec/components/form_view_spec.coffee +80 -0
  126. data/spec/{javascripts/components → components}/grid_view_spec.coffee +0 -0
  127. data/spec/{javascripts/components → components}/record_manager_spec.coffee +0 -0
  128. data/spec/{javascripts/components → components}/template_spec.coffee +0 -0
  129. data/spec/containers/card_view_spec.coffee +50 -0
  130. data/{site/source/app/assets/javascripts/docs/views/components/code_editor/index.coffee → spec/containers/column_view_spec.coffee} +0 -0
  131. data/spec/{javascripts/containers → containers}/modal_view_spec.coffee +0 -0
  132. data/spec/{javascripts/containers → containers}/panel_view_spec.coffee +0 -0
  133. data/spec/{javascripts/components/pagination_control_spec.coffee → containers/split_view_spec.coffee} +0 -0
  134. data/spec/{javascripts/containers → containers}/tab_view_spec.coffee +0 -0
  135. data/spec/{javascripts/containers → containers}/viewport_spec.coffee +0 -0
  136. data/spec/{javascripts/core → core}/collection_spec.coffee +1 -26
  137. data/spec/core/container_spec.coffee +66 -0
  138. data/spec/{javascripts/concerns/paginatable_spec.coffee → core/field_spec.coffee} +0 -0
  139. data/spec/{javascripts/core → core}/model_spec.coffee +3 -26
  140. data/spec/{javascripts/core → core}/observer_spec.coffee +0 -0
  141. data/spec/{javascripts/core → core}/view_spec.coffee +38 -114
  142. data/spec/{javascripts/core/framework_spec.coffee → framework_spec.coffee} +2 -31
  143. data/spec/{javascripts/helper.coffee → helper.coffee} +0 -0
  144. data/spec/{javascripts/managers → managers}/collection_manager_spec.coffee +0 -0
  145. data/spec/{javascripts/managers → managers}/socket_manager_spec.coffee +0 -0
  146. data/src/components/application.coffee +318 -0
  147. data/src/components/base_toolbar.coffee +15 -0
  148. data/{app/assets/javascripts/luca → src}/components/collection_loader_view.coffee +1 -3
  149. data/src/components/collection_view.coffee +131 -0
  150. data/src/components/controller.coffee +63 -0
  151. data/src/components/fields/button_field.coffee +38 -0
  152. data/{app/assets/javascripts/luca → src}/components/fields/checkbox_array.coffee +7 -18
  153. data/{app/assets/javascripts/luca → src}/components/fields/checkbox_field.coffee +10 -19
  154. data/{app/assets/javascripts/luca → src}/components/fields/file_upload_field.coffee +4 -5
  155. data/src/components/fields/hidden_field.coffee +12 -0
  156. data/src/components/fields/label_field.coffee +14 -0
  157. data/src/components/fields/select_field.coffee +97 -0
  158. data/src/components/fields/text_area_field.coffee +40 -0
  159. data/{app/assets/javascripts/luca → src}/components/fields/text_field.coffee +5 -16
  160. data/src/components/fields/type_ahead_field.coffee +22 -0
  161. data/src/components/form_button_toolbar.coffee +25 -0
  162. data/src/components/form_view.coffee +275 -0
  163. data/src/components/grid_view.coffee +269 -0
  164. data/src/components/index.coffee +1 -0
  165. data/src/components/load_mask.coffee +3 -0
  166. data/src/components/nav_bar.coffee +22 -0
  167. data/src/components/page_controller.coffee +2 -0
  168. data/{app/assets/javascripts/luca → src}/components/record_manager.coffee +0 -0
  169. data/{app/assets/javascripts/luca → src}/components/router.coffee +1 -6
  170. data/src/components/table_view.coffee +53 -0
  171. data/src/components/template.coffee +5 -0
  172. data/src/components/toolbar_dialog.coffee +25 -0
  173. data/src/containers/card_view.coffee +93 -0
  174. data/src/containers/column_view.coffee +42 -0
  175. data/{app/assets/javascripts/luca → src}/containers/modal_view.coffee +9 -9
  176. data/src/containers/page_view.coffee +2 -0
  177. data/{app/assets/javascripts/luca → src}/containers/panel_toolbar.coffee +84 -89
  178. data/src/containers/panel_view.coffee +23 -0
  179. data/src/containers/split_view.coffee +8 -0
  180. data/{app/assets/javascripts/luca → src}/containers/tab_view.coffee +21 -27
  181. data/{app/assets/javascripts/luca → src}/containers/viewport.coffee +18 -14
  182. data/{app/assets/javascripts/luca → src}/core/collection.coffee +51 -97
  183. data/src/core/container.coffee +374 -0
  184. data/{tutorials/component-definitions.md → src/core/core.coffee} +0 -0
  185. data/src/core/field.coffee +79 -0
  186. data/src/core/model.coffee +43 -0
  187. data/{app/assets/javascripts/luca → src}/core/observer.coffee +0 -0
  188. data/src/core/panel.coffee +118 -0
  189. data/{app/assets/javascripts/luca/core/registry → src/core}/registry.coffee +43 -63
  190. data/{app/assets/javascripts/luca/util → src/core}/script_loader.coffee +0 -0
  191. data/src/core/view.coffee +264 -0
  192. data/src/define.coffee +110 -0
  193. data/{app/assets/javascripts/luca → src}/framework.coffee +103 -98
  194. data/src/index.coffee +23 -0
  195. data/{app/assets/javascripts/luca → src}/managers/collection_manager.coffee +13 -37
  196. data/src/managers/socket_manager.coffee +54 -0
  197. data/{app/assets/javascripts/luca/concerns → src/modules}/deferrable.coffee +4 -5
  198. data/src/modules/grid_layout.coffee +3 -0
  199. data/{app/assets/javascripts/luca/concerns/loadmaskable.coffee → src/modules/load_mask.coffee} +11 -23
  200. data/{app/assets/javascripts/luca/concerns → src/modules}/local_storage.coffee +0 -0
  201. data/src/plugins/development_tool_helpers.coffee +21 -0
  202. data/src/plugins/events.coffee +54 -0
  203. data/src/samples/definition.coffee +49 -0
  204. data/{tutorials/component-definitions/01_intro.md → src/stylesheets/base.scss} +0 -0
  205. data/{app/assets/stylesheets/luca → src/stylesheets}/components/checkbox_array.scss +1 -1
  206. data/src/stylesheets/components/form_view.scss +59 -0
  207. data/{app/assets/stylesheets/luca → src/stylesheets}/components/grid_view.scss +0 -0
  208. data/{app/assets/stylesheets/luca → src/stylesheets}/components/load_mask.scss +0 -0
  209. data/src/stylesheets/components/toolbar.scss +0 -0
  210. data/{app/assets/stylesheets/luca → src/stylesheets}/components/viewport.scss +4 -1
  211. data/src/stylesheets/containers/container.scss +16 -0
  212. data/src/stylesheets/containers/modal_view.scss +0 -0
  213. data/{app/assets/stylesheets/luca → src/stylesheets}/containers/panels.scss +0 -0
  214. data/{app/assets/stylesheets/luca → src/stylesheets}/containers/tab_view.scss +5 -5
  215. data/{app/assets/stylesheets/luca → src/stylesheets}/normalize.scss +0 -0
  216. data/src/stylesheets/tools/class_browser.scss +32 -0
  217. data/src/stylesheets/tools/code_editor.scss +24 -0
  218. data/src/stylesheets/tools/component_tester.scss +26 -0
  219. data/{app/assets/stylesheets/luca/development → src/stylesheets/tools}/console.scss +0 -0
  220. data/src/templates/components/bootstrap_form_controls.luca +7 -0
  221. data/src/templates/components/collection_loader_view.luca +5 -0
  222. data/src/templates/components/form_alert +0 -0
  223. data/src/templates/components/form_alert.luca +3 -0
  224. data/src/templates/components/grid_view.luca +7 -0
  225. data/src/templates/components/grid_view_empty_text.luca +3 -0
  226. data/src/templates/components/load_mask.luca +3 -0
  227. data/src/templates/components/nav_bar.luca +2 -0
  228. data/src/templates/containers/basic.luca +1 -0
  229. data/src/templates/containers/tab_selector_container.luca +8 -0
  230. data/src/templates/containers/tab_view.luca +2 -0
  231. data/src/templates/containers/toolbar_wrapper.luca +1 -0
  232. data/src/templates/fields/button_field.luca +2 -0
  233. data/src/templates/fields/button_field_link.luca +5 -0
  234. data/src/templates/fields/checkbox_array.luca +4 -0
  235. data/src/templates/fields/checkbox_array_item.luca +4 -0
  236. data/src/templates/fields/checkbox_field.luca +9 -0
  237. data/src/templates/fields/file_upload_field.luca +8 -0
  238. data/src/templates/fields/hidden_field.luca +1 -0
  239. data/src/templates/fields/select_field.luca +8 -0
  240. data/src/templates/fields/text_area_field.luca +8 -0
  241. data/src/templates/fields/text_field.luca +17 -0
  242. data/src/templates/sample/contents.luca +1 -0
  243. data/src/templates/sample/welcome.luca +1 -0
  244. data/src/templates/table_view.luca +4 -0
  245. data/src/tools/application_inspector.coffee +2 -0
  246. data/src/tools/code_editor.coffee +258 -0
  247. data/{app/assets/javascripts/luca/development → src/tools}/code_mirror_field.coffee +1 -2
  248. data/src/tools/coffee_script_editor.coffee +82 -0
  249. data/src/tools/collection_inspector.coffee +4 -0
  250. data/src/tools/collections/components.coffee +59 -0
  251. data/src/tools/collections/instances.coffee +15 -0
  252. data/src/tools/component_tester.coffee +462 -0
  253. data/{app/assets/javascripts/luca/development → src/tools}/console.coffee +24 -55
  254. data/src/tools/models/components.coffee +25 -0
  255. data/src/tools/models/instance.coffee +2 -0
  256. data/src/tools/templates/component_tester/help.luca +14 -0
  257. data/{app/assets/javascripts/luca/util/luca.coffee → src/util.coffee} +6 -90
  258. data/vendor/assets/javascripts/luca-ui-development-tools.js +18533 -0
  259. data/vendor/assets/javascripts/luca-ui-development-tools.min.js +15 -0
  260. data/vendor/assets/javascripts/luca-ui-full.js +4806 -0
  261. data/vendor/assets/javascripts/luca-ui-full.min.js +8 -0
  262. data/vendor/assets/javascripts/luca-ui-templates.js +24 -0
  263. data/vendor/assets/javascripts/luca-ui.js +1703 -4394
  264. data/vendor/assets/javascripts/luca-ui.min.js +4 -5
  265. data/vendor/assets/luca-ui/base.css +85 -0
  266. data/vendor/assets/luca-ui/components/application.js +91 -0
  267. data/vendor/assets/luca-ui/components/base_toolbar.js +23 -0
  268. data/vendor/assets/luca-ui/components/controller.js +38 -0
  269. data/vendor/assets/luca-ui/components/fields/button_field.js +45 -0
  270. data/vendor/assets/luca-ui/components/fields/checkbox_field.js +43 -0
  271. data/vendor/assets/luca-ui/components/fields/file_upload_field.js +20 -0
  272. data/vendor/assets/luca-ui/components/fields/hidden_field.js +20 -0
  273. data/vendor/assets/luca-ui/components/fields/select_field.js +97 -0
  274. data/vendor/assets/luca-ui/components/fields/text_area_field.js +48 -0
  275. data/vendor/assets/luca-ui/components/fields/text_field.js +46 -0
  276. data/vendor/assets/luca-ui/components/fields/type_ahead_field.js +13 -0
  277. data/vendor/assets/luca-ui/components/form_button_toolbar.js +32 -0
  278. data/vendor/assets/luca-ui/components/form_view.css +32 -0
  279. data/vendor/assets/luca-ui/components/form_view.js +207 -0
  280. data/{app/assets/stylesheets/luca/components/table_view.scss → vendor/assets/luca-ui/components/grid_view.css} +51 -60
  281. data/vendor/assets/luca-ui/components/grid_view.js +202 -0
  282. data/vendor/assets/luca-ui/components/record_manager.js +207 -0
  283. data/vendor/assets/luca-ui/components/router.js +36 -0
  284. data/vendor/assets/luca-ui/components/template.js +26 -0
  285. data/vendor/assets/luca-ui/components/toolbar.css +11 -0
  286. data/vendor/assets/luca-ui/containers/card_view.js +98 -0
  287. data/vendor/assets/luca-ui/containers/column_view.js +52 -0
  288. data/vendor/assets/luca-ui/containers/container.css +3 -0
  289. data/vendor/assets/luca-ui/containers/modal_view.css +0 -0
  290. data/vendor/assets/luca-ui/containers/modal_view.js +87 -0
  291. data/vendor/assets/luca-ui/containers/panel_view.js +34 -0
  292. data/vendor/assets/luca-ui/containers/split_view.js +13 -0
  293. data/vendor/assets/luca-ui/containers/tab_view.css +16 -0
  294. data/vendor/assets/luca-ui/containers/tab_view.js +80 -0
  295. data/vendor/assets/luca-ui/containers/viewport.js +18 -0
  296. data/vendor/assets/luca-ui/core/collection.js +221 -0
  297. data/vendor/assets/luca-ui/core/container.js +205 -0
  298. data/vendor/assets/luca-ui/core/field.js +59 -0
  299. data/vendor/assets/luca-ui/core/observer.js +42 -0
  300. data/vendor/assets/luca-ui/core/view.js +127 -0
  301. data/vendor/assets/luca-ui/framework.js +110 -0
  302. data/vendor/assets/luca-ui/index.js +5 -0
  303. data/vendor/assets/luca-ui/managers/collection_manager.js +98 -0
  304. data/vendor/assets/luca-ui/managers/socket_manager.js +52 -0
  305. data/vendor/assets/luca-ui/modules/deferrable.js +21 -0
  306. data/vendor/assets/luca-ui/modules/local_storage.js +81 -0
  307. data/vendor/assets/luca-ui/normalize.css +359 -0
  308. data/vendor/assets/luca-ui/stylesheets/base.css +85 -0
  309. data/vendor/assets/luca-ui/stylesheets/components/form_view.css +32 -0
  310. data/vendor/assets/luca-ui/stylesheets/components/grid_view.css +76 -0
  311. data/vendor/assets/luca-ui/stylesheets/components/toolbar.css +11 -0
  312. data/vendor/assets/luca-ui/stylesheets/containers/container.css +3 -0
  313. data/vendor/assets/luca-ui/stylesheets/containers/modal_view.css +0 -0
  314. data/vendor/assets/luca-ui/stylesheets/containers/tab_view.css +16 -0
  315. data/vendor/assets/luca-ui/stylesheets/normalize.css +359 -0
  316. data/vendor/assets/luca-ui/templates/components/bootstrap_form_controls.js +4 -0
  317. data/vendor/assets/luca-ui/templates/components/form_view.js +4 -0
  318. data/vendor/assets/luca-ui/templates/components/grid_view.js +4 -0
  319. data/vendor/assets/luca-ui/templates/components/grid_view_empty_text.js +4 -0
  320. data/vendor/assets/luca-ui/templates/containers/basic.js +4 -0
  321. data/vendor/assets/luca-ui/templates/containers/tab_selector_container.js +4 -0
  322. data/vendor/assets/luca-ui/templates/containers/tab_view.js +4 -0
  323. data/vendor/assets/luca-ui/templates/containers/toolbar_wrapper.js +4 -0
  324. data/vendor/assets/luca-ui/templates/fields/button_field.js +4 -0
  325. data/vendor/assets/luca-ui/templates/fields/button_field_link.js +4 -0
  326. data/vendor/assets/luca-ui/templates/fields/checkbox_field.js +4 -0
  327. data/vendor/assets/luca-ui/templates/fields/file_upload_field.js +4 -0
  328. data/vendor/assets/luca-ui/templates/fields/hidden_field.js +4 -0
  329. data/vendor/assets/luca-ui/templates/fields/select_field.js +4 -0
  330. data/vendor/assets/luca-ui/templates/fields/text_area_field.js +4 -0
  331. data/vendor/assets/luca-ui/templates/fields/text_field.js +4 -0
  332. data/vendor/assets/luca-ui/templates/sample/contents.js +4 -0
  333. data/vendor/assets/luca-ui/templates/sample/welcome.js +4 -0
  334. data/vendor/assets/stylesheets/luca-ui.css +471 -68
  335. data/views/jasmine.erb +2 -2
  336. metadata +328 -496
  337. data/app/assets/javascripts/luca/basic.coffee +0 -8
  338. data/app/assets/javascripts/luca/components/application.coffee +0 -530
  339. data/app/assets/javascripts/luca/components/collection_view.coffee +0 -211
  340. data/app/assets/javascripts/luca/components/controller.coffee +0 -176
  341. data/app/assets/javascripts/luca/components/fields/base.coffee +0 -144
  342. data/app/assets/javascripts/luca/components/fields/button_field.coffee +0 -91
  343. data/app/assets/javascripts/luca/components/fields/hidden_field.coffee +0 -11
  344. data/app/assets/javascripts/luca/components/fields/label_field.coffee +0 -12
  345. data/app/assets/javascripts/luca/components/fields/select_field.coffee +0 -159
  346. data/app/assets/javascripts/luca/components/fields/text_area_field.coffee +0 -57
  347. data/app/assets/javascripts/luca/components/fields/type_ahead_field.coffee +0 -20
  348. data/app/assets/javascripts/luca/components/form_view.coffee +0 -421
  349. data/app/assets/javascripts/luca/components/grid_layout_view.coffee +0 -42
  350. data/app/assets/javascripts/luca/components/index.coffee +0 -7
  351. data/app/assets/javascripts/luca/components/load_mask.coffee +0 -8
  352. data/app/assets/javascripts/luca/components/multi_collection_view.coffee +0 -92
  353. data/app/assets/javascripts/luca/components/nav_bar.coffee +0 -80
  354. data/app/assets/javascripts/luca/components/page.coffee +0 -70
  355. data/app/assets/javascripts/luca/components/pagination_control.coffee +0 -104
  356. data/app/assets/javascripts/luca/components/simple_collection_view.coffee +0 -10
  357. data/app/assets/javascripts/luca/components/table_view.coffee +0 -93
  358. data/app/assets/javascripts/luca/components/table_view_scrollable.coffee +0 -23
  359. data/app/assets/javascripts/luca/concerns/application_event_bindings.coffee +0 -19
  360. data/app/assets/javascripts/luca/concerns/collection_event_bindings.coffee +0 -47
  361. data/app/assets/javascripts/luca/concerns/development_tool_helpers.coffee +0 -30
  362. data/app/assets/javascripts/luca/concerns/dom_helpers.coffee +0 -61
  363. data/app/assets/javascripts/luca/concerns/enhanced_properties.coffee +0 -23
  364. data/app/assets/javascripts/luca/concerns/filterable.coffee +0 -101
  365. data/app/assets/javascripts/luca/concerns/form_model_bindings.coffee +0 -20
  366. data/app/assets/javascripts/luca/concerns/grid_layout.coffee +0 -15
  367. data/app/assets/javascripts/luca/concerns/modal_view.coffee +0 -63
  368. data/app/assets/javascripts/luca/concerns/model_presenter.coffee +0 -23
  369. data/app/assets/javascripts/luca/concerns/paginatable.coffee +0 -79
  370. data/app/assets/javascripts/luca/concerns/query_collection_bindings.coffee +0 -52
  371. data/app/assets/javascripts/luca/concerns/sortable.coffee +0 -69
  372. data/app/assets/javascripts/luca/concerns/state_model.coffee +0 -58
  373. data/app/assets/javascripts/luca/concerns/templating.coffee +0 -13
  374. data/app/assets/javascripts/luca/config.coffee +0 -54
  375. data/app/assets/javascripts/luca/containers/card_view.coffee +0 -178
  376. data/app/assets/javascripts/luca/containers/container.coffee +0 -711
  377. data/app/assets/javascripts/luca/containers/index.coffee +0 -2
  378. data/app/assets/javascripts/luca/containers/page_controller.coffee +0 -25
  379. data/app/assets/javascripts/luca/core/events.coffee +0 -114
  380. data/app/assets/javascripts/luca/core/index.coffee +0 -12
  381. data/app/assets/javascripts/luca/core/model.coffee +0 -56
  382. data/app/assets/javascripts/luca/core/panel.coffee +0 -124
  383. data/app/assets/javascripts/luca/core/registry/component_definition.coffee +0 -319
  384. data/app/assets/javascripts/luca/core/registry/concerns.coffee +0 -70
  385. data/app/assets/javascripts/luca/core/registry/index.coffee +0 -4
  386. data/app/assets/javascripts/luca/core/registry/meta_data.coffee +0 -99
  387. data/app/assets/javascripts/luca/core/templates.coffee +0 -51
  388. data/app/assets/javascripts/luca/core/view.coffee +0 -383
  389. data/app/assets/javascripts/luca/dependencies.coffee +0 -9
  390. data/app/assets/javascripts/luca/development/code_sync_manager.coffee +0 -173
  391. data/app/assets/javascripts/luca/development/component.coffee +0 -76
  392. data/app/assets/javascripts/luca/development/components.coffee +0 -57
  393. data/app/assets/javascripts/luca/development/index.coffee +0 -5
  394. data/app/assets/javascripts/luca/index.coffee +0 -9
  395. data/app/assets/javascripts/luca/managers/index.coffee +0 -2
  396. data/app/assets/javascripts/luca/managers/socket_manager.coffee +0 -89
  397. data/app/assets/javascripts/luca/templates/components/bootstrap_form_controls.jst.ejs +0 -10
  398. data/app/assets/javascripts/luca/templates/components/collection_loader_view.jst.ejs +0 -6
  399. data/app/assets/javascripts/luca/templates/components/form_alert.jst.ejs +0 -4
  400. data/app/assets/javascripts/luca/templates/components/grid_view.jst.ejs +0 -11
  401. data/app/assets/javascripts/luca/templates/components/grid_view_empty_text.jst.ejs +0 -3
  402. data/app/assets/javascripts/luca/templates/components/load_mask.jst.ejs +0 -5
  403. data/app/assets/javascripts/luca/templates/components/nav_bar.jst.ejs +0 -19
  404. data/app/assets/javascripts/luca/templates/components/pagination.jst.ejs +0 -10
  405. data/app/assets/javascripts/luca/templates/components/table_view.jst.ejs +0 -4
  406. data/app/assets/javascripts/luca/templates/containers/basic.jst.ejs +0 -1
  407. data/app/assets/javascripts/luca/templates/containers/tab_selector_container.jst.ejs +0 -12
  408. data/app/assets/javascripts/luca/templates/containers/tab_view.jst.ejs +0 -2
  409. data/app/assets/javascripts/luca/templates/containers/toolbar_wrapper.jst.ejs +0 -1
  410. data/app/assets/javascripts/luca/templates/fields/button_field.jst.ejs +0 -2
  411. data/app/assets/javascripts/luca/templates/fields/button_field_link.jst.ejs +0 -6
  412. data/app/assets/javascripts/luca/templates/fields/checkbox_array.jst.ejs +0 -4
  413. data/app/assets/javascripts/luca/templates/fields/checkbox_array_item.jst.ejs +0 -3
  414. data/app/assets/javascripts/luca/templates/fields/checkbox_field.jst.ejs +0 -10
  415. data/app/assets/javascripts/luca/templates/fields/file_upload_field.jst.ejs +0 -10
  416. data/app/assets/javascripts/luca/templates/fields/hidden_field.jst.ejs +0 -1
  417. data/app/assets/javascripts/luca/templates/fields/select_field.jst.ejs +0 -11
  418. data/app/assets/javascripts/luca/templates/fields/text_area_field.jst.ejs +0 -11
  419. data/app/assets/javascripts/luca/templates/fields/text_field.jst.ejs +0 -16
  420. data/app/assets/javascripts/luca/util/deprecations.coffee +0 -18
  421. data/app/assets/javascripts/luca/util/index.coffee +0 -4
  422. data/app/assets/javascripts/luca/util/keybindings.coffee +0 -24
  423. data/app/assets/javascripts/luca/util/logging.coffee +0 -30
  424. data/app/assets/javascripts/luca-ui.js +0 -1
  425. data/app/assets/stylesheets/luca/components/form_view.scss +0 -7
  426. data/app/assets/stylesheets/luca/containers/container.scss +0 -19
  427. data/app/assets/stylesheets/luca/development/index.css +0 -3
  428. data/app/assets/stylesheets/luca/index.css +0 -4
  429. data/bin/luca +0 -14
  430. data/docs/framework.json +0 -1
  431. data/docs/luca-framework-documentation.js +0 -1
  432. data/lib/generators/luca/application/application_generator.rb +0 -75
  433. data/lib/generators/luca/application/templates/controller.rb +0 -4
  434. data/lib/generators/luca/application/templates/index.html.erb +0 -19
  435. data/lib/generators/luca/application/templates/index.html.haml +0 -7
  436. data/lib/generators/luca/application/templates/javascripts/application.coffee +0 -18
  437. data/lib/generators/luca/application/templates/javascripts/collection_manager.coffee +0 -2
  438. data/lib/generators/luca/application/templates/javascripts/config.coffee +0 -3
  439. data/lib/generators/luca/application/templates/javascripts/dependencies.coffee +0 -3
  440. data/lib/generators/luca/application/templates/javascripts/home.jst.ejs +0 -2
  441. data/lib/generators/luca/application/templates/javascripts/index.coffee +0 -15
  442. data/lib/generators/luca/application/templates/javascripts/router.coffee +0 -4
  443. data/lib/guard/luca.rb +0 -84
  444. data/lib/luca/asset_compiler.rb +0 -117
  445. data/lib/luca/cli/generate.rb +0 -37
  446. data/lib/luca/cli/server.rb +0 -20
  447. data/lib/luca/cli/sync.rb +0 -40
  448. data/lib/luca/cli/watch.rb +0 -16
  449. data/lib/luca/cli.rb +0 -68
  450. data/lib/luca/collection/endpoint.rb +0 -38
  451. data/lib/luca/collection/file_backend.rb +0 -121
  452. data/lib/luca/collection/redis_backend.rb +0 -153
  453. data/lib/luca/collection.rb +0 -64
  454. data/lib/luca/compiled_asset.rb +0 -61
  455. data/lib/luca/component_definition.rb +0 -356
  456. data/lib/luca/luca_application.rb +0 -258
  457. data/lib/luca/project.rb +0 -73
  458. data/lib/luca/project_harness.rb +0 -96
  459. data/lib/luca/server.rb +0 -7
  460. data/lib/luca/stylesheet.rb +0 -35
  461. data/lib/luca/template_asset.rb +0 -64
  462. data/lib/luca/version.rb +0 -3
  463. data/lib/luca/watcher.rb +0 -72
  464. data/lib/railties/luca/tasks.rake +0 -38
  465. data/site/.bundle/config +0 -2
  466. data/site/.gitignore +0 -5
  467. data/site/.rvmrc +0 -1
  468. data/site/CHANGELOG.md +0 -41
  469. data/site/DOCS.md +0 -41
  470. data/site/Gemfile +0 -8
  471. data/site/Gemfile.lock +0 -134
  472. data/site/LICENSE.md +0 -19
  473. data/site/config.rb +0 -84
  474. data/site/helpers/site_helpers.rb +0 -20
  475. data/site/html5bp-docs/README.md +0 -38
  476. data/site/html5bp-docs/contribute.md +0 -104
  477. data/site/html5bp-docs/crossdomain.md +0 -21
  478. data/site/html5bp-docs/css.md +0 -135
  479. data/site/html5bp-docs/extend.md +0 -507
  480. data/site/html5bp-docs/faq.md +0 -77
  481. data/site/html5bp-docs/htaccess.md +0 -323
  482. data/site/html5bp-docs/html.md +0 -170
  483. data/site/html5bp-docs/js.md +0 -31
  484. data/site/html5bp-docs/misc.md +0 -25
  485. data/site/html5bp-docs/usage.md +0 -109
  486. data/site/readme.md +0 -47
  487. data/site/source/.htaccess +0 -540
  488. data/site/source/404.html +0 -157
  489. data/site/source/app/assets/javascripts/dependencies.js.coffee +0 -6
  490. data/site/source/app/assets/javascripts/docs/application.coffee +0 -64
  491. data/site/source/app/assets/javascripts/docs/collections/docs_documentation.coffee +0 -17
  492. data/site/source/app/assets/javascripts/docs/collections/github_repositories.coffee +0 -7
  493. data/site/source/app/assets/javascripts/docs/collections/index.coffee +0 -1
  494. data/site/source/app/assets/javascripts/docs/collections/luca_documentation.coffee +0 -17
  495. data/site/source/app/assets/javascripts/docs/collections/public_gists.coffee +0 -4
  496. data/site/source/app/assets/javascripts/docs/config.coffee +0 -5
  497. data/site/source/app/assets/javascripts/docs/index.coffee +0 -12
  498. data/site/source/app/assets/javascripts/docs/lib/router.coffee +0 -3
  499. data/site/source/app/assets/javascripts/docs/models/component.coffee +0 -99
  500. data/site/source/app/assets/javascripts/docs/models/github_repository.coffee +0 -3
  501. data/site/source/app/assets/javascripts/docs/models/index.coffee +0 -1
  502. data/site/source/app/assets/javascripts/docs/templates/component_documentation.jst.ejs +0 -55
  503. data/site/source/app/assets/javascripts/docs/templates/examples_browser/overview.jst.ejs +0 -4
  504. data/site/source/app/assets/javascripts/docs/templates/examples_browser/selector.jst.ejs +0 -11
  505. data/site/source/app/assets/javascripts/docs/templates/github_repository.jst.ejs +0 -4
  506. data/site/source/app/assets/javascripts/docs/templates/layouts/main.jst.ejs +0 -4
  507. data/site/source/app/assets/javascripts/docs/templates/left_navigation.jst.ejs +0 -5
  508. data/site/source/app/assets/javascripts/docs/templates/pages/getting_started.jst.ejs +0 -78
  509. data/site/source/app/assets/javascripts/docs/templates/pages/home.jst.ejs +0 -57
  510. data/site/source/app/assets/javascripts/docs/views/components/code_editor.coffee +0 -45
  511. data/site/source/app/assets/javascripts/docs/views/components/component_documentation.coffee +0 -72
  512. data/site/source/app/assets/javascripts/docs/views/index.coffee +0 -3
  513. data/site/source/app/assets/javascripts/docs/views/pages/browse_source/details.coffee +0 -37
  514. data/site/source/app/assets/javascripts/docs/views/pages/browse_source/list.coffee +0 -31
  515. data/site/source/app/assets/javascripts/docs/views/pages/browse_source.coffee +0 -46
  516. data/site/source/app/assets/javascripts/docs/views/pages/component_editor.coffee +0 -10
  517. data/site/source/app/assets/javascripts/docs/views/pages/examples_browser/docs.coffee +0 -12
  518. data/site/source/app/assets/javascripts/docs/views/pages/examples_browser/source.coffee +0 -13
  519. data/site/source/app/assets/javascripts/docs/views/pages/examples_browser.coffee +0 -102
  520. data/site/source/app/assets/javascripts/docs/views/pages/home.coffee +0 -10
  521. data/site/source/app/assets/javascripts/docs/views/views/api_browser/index.coffee +0 -43
  522. data/site/source/app/assets/javascripts/docs/views/views/collection_view_examples/grid_layout_view_example.coffee +0 -14
  523. data/site/source/app/assets/javascripts/docs/views/views/collection_view_examples/table_view_example.coffee +0 -39
  524. data/site/source/app/assets/javascripts/docs/views/views/form_view_examples/basic_example.coffee +0 -38
  525. data/site/source/app/assets/javascripts/docs/views/views/form_view_examples/complex_layout.coffee +0 -110
  526. data/site/source/app/assets/javascripts/docs/views/views/top_navigation.coffee +0 -6
  527. data/site/source/app/assets/javascripts/docs-docs.js +0 -1
  528. data/site/source/app/assets/javascripts/luca-docs.js +0 -1
  529. data/site/source/app/assets/javascripts/luca-framework-documentation.js +0 -1
  530. data/site/source/app/assets/javascripts/site.js.coffee +0 -4
  531. data/site/source/app/assets/javascripts/vendor/codemirror.js +0 -4786
  532. data/site/source/app/assets/javascripts/vendor/coffeescript.js +0 -346
  533. data/site/source/app/assets/javascripts/vendor/css.js +0 -465
  534. data/site/source/app/assets/javascripts/vendor/htmlmixed.js +0 -84
  535. data/site/source/app/assets/javascripts/vendor/javascript.js +0 -422
  536. data/site/source/app/assets/javascripts/vendor/js-beautify.js +0 -1353
  537. data/site/source/app/assets/javascripts/vendor/modernizr-2.6.1.min.js +0 -4
  538. data/site/source/app/assets/javascripts/vendor/vim.js +0 -2511
  539. data/site/source/app/assets/stylesheets/docs/api-browser.css.scss +0 -5
  540. data/site/source/app/assets/stylesheets/docs/application.css.scss +0 -35
  541. data/site/source/app/assets/stylesheets/docs/browse-source.css.scss +0 -5
  542. data/site/source/app/assets/stylesheets/docs/scrollable-table.css.scss +0 -5
  543. data/site/source/app/assets/stylesheets/site.css.scss +0 -2
  544. data/site/source/app/assets/stylesheets/vendor/codemirror.css +0 -240
  545. data/site/source/app/assets/stylesheets/vendor/prettify-tomorrow-night-bright.css +0 -160
  546. data/site/source/app/assets/stylesheets/vendor/twilight.css +0 -26
  547. data/site/source/crossdomain.xml +0 -15
  548. data/site/source/documentation.html.haml +0 -1
  549. data/site/source/favicon_base.png +0 -0
  550. data/site/source/humans.txt +0 -15
  551. data/site/source/images/background.png +0 -0
  552. data/site/source/images/middleman.png +0 -0
  553. data/site/source/index.html.haml +0 -1
  554. data/site/source/layouts/layout.haml +0 -55
  555. data/site/source/readme.md +0 -63
  556. data/site/source/robots.txt +0 -3
  557. data/spec/javascripts/components/collection_view_spec.coffee +0 -59
  558. data/spec/javascripts/components/controller_spec.coffee +0 -62
  559. data/spec/javascripts/components/form_view_spec.coffee +0 -162
  560. data/spec/javascripts/components/multi_collection_view_spec.coffee +0 -5
  561. data/spec/javascripts/components/table_view_spec.coffee +0 -17
  562. data/spec/javascripts/concerns/collection_event_bindings_spec.coffee +0 -15
  563. data/spec/javascripts/concerns/dom_helpers_spec.coffee +0 -16
  564. data/spec/javascripts/concerns/filterable_spec.coffee +0 -25
  565. data/spec/javascripts/concerns/model_presenter_spec.coffee +0 -31
  566. data/spec/javascripts/concerns/state_model_spec.coffee +0 -55
  567. data/spec/javascripts/containers/card_view_spec.coffee +0 -108
  568. data/spec/javascripts/core/concerns_spec.coffee +0 -88
  569. data/spec/javascripts/core/container_spec.coffee +0 -287
  570. data/spec/javascripts/core/define_spec.coffee +0 -116
  571. data/spec/javascripts/core/events_spec.coffee +0 -26
  572. data/spec/javascripts/core/field_spec.coffee +0 -4
  573. data/spec/javascripts/core/util_spec.coffee +0 -24
  574. data/spec/javascripts/dependencies/index.coffee +0 -3
  575. data/spec/lib/component_definition_spec.rb +0 -63
  576. data/spec/lib/input_compiler_spec.rb +0 -9
  577. data/spec/lib/luca_application_spec.rb +0 -30
  578. data/spec/support/fixtures/application.coffee +0 -45
  579. data/spec/support/fixtures/component.coffee +0 -34
  580. data/tutorials/component-driven-design.md +0 -140
  581. data/tutorials/structure-of-a-project.md +0 -63
  582. data/vendor/assets/javascripts/backbone-ext.js +0 -21
  583. data/vendor/assets/javascripts/backbone-min.js +0 -42
  584. data/vendor/assets/javascripts/backbone-query.min.js +0 -1
  585. data/vendor/assets/javascripts/bootstrap.min.js +0 -7
  586. data/vendor/assets/javascripts/codemirror-ui.js +0 -503
  587. data/vendor/assets/javascripts/hogan.js +0 -707
  588. data/vendor/assets/javascripts/inflections.js +0 -656
  589. data/vendor/assets/javascripts/jasmine-html.js +0 -190
  590. data/vendor/assets/javascripts/jasmine.js +0 -2476
  591. data/vendor/assets/javascripts/jquery.js +0 -5
  592. data/vendor/assets/javascripts/keymaster.min.js +0 -4
  593. data/vendor/assets/javascripts/luca-dependencies.min.js +0 -8
  594. data/vendor/assets/javascripts/luca-development.min.js +0 -1
  595. data/vendor/assets/javascripts/luca-spec.js +0 -11
  596. data/vendor/assets/javascripts/luca.full.min.js +0 -12
  597. data/vendor/assets/javascripts/luca.min.js +0 -5
  598. data/vendor/assets/javascripts/sinon.js +0 -3469
  599. data/vendor/assets/javascripts/underscore-min.js +0 -1
  600. data/vendor/assets/javascripts/underscore-string.min.js +0 -1
  601. data/vendor/assets/stylesheets/bootstrap-responsive.min.css +0 -9
  602. data/vendor/assets/stylesheets/bootstrap.min.css +0 -9
  603. data/vendor/assets/stylesheets/luca-components.css +0 -202
  604. data/vendor/assets/stylesheets/luca-development.css +0 -23
data/CHANGELOG CHANGED
@@ -85,26 +85,26 @@
85
85
  0.9.1
86
86
  - Bugfix Release
87
87
 
88
- 0.9.2
88
+ 0.9.2
89
89
  - FormView has errorMessage, successMessage methods which use twitter bootstrap alerts as flash message
90
90
  - FormView toolbar accepts new options: true, both, bottom, or top
91
91
  - Luca.Collection has a property @remoteFiltering which makes applyFilter always use remote fetch
92
92
  - Bugfix in GridView collection change handler
93
93
  - Added Luca.isViewPrototype, Luca.isModelPrototype, Luca.isCollectionPrototype helpers
94
94
  - Added configuration option to control auto registration of components with the registry
95
- - Added Luca.parentClass and Luca.inheritanceChain methods for inspecting a component or prototype
95
+ - Added Luca.parentClass and Luca.inheritanceChain methods for inspecting a component or prototype
96
96
  - Changed single instance tracking mechanism on CollectionManager. Will throw an error if more than one
97
97
  is created without specifying a name.
98
98
  - Added Luca.getCollectionManager() helper as an Alias for Luca.CollectionManager.get()
99
99
  - Luca.getApplication() and Luca.getCollectionManager() accept a name argument
100
100
  - Classes like Luca.Application and Luca.CollectionManager which normally are singletons
101
- can have more than one instance if a unique name is given
101
+ can have more than one instance if a unique name is given
102
102
 
103
103
  0.9.3
104
104
  - CardViews and Controllers set data attributes on their elements for the active card / page
105
105
  - Added convenience methods to container 'pluck', 'invoke'
106
106
  - Added methods to Controller for ease of autogenerating routes
107
- - Added beforeInitialize hook on Luca.View
107
+ - Added beforeInitialize hook on Luca.View
108
108
  - Luca.View can now automatically configure state machine models by passing `stateful:true`
109
109
  in your view definition.
110
110
  - Containers will respond to getter attributes set on their components, by defining a getter
@@ -118,9 +118,9 @@
118
118
  - adding a Luca.PageController component as an alias for Controller
119
119
 
120
120
  0.9.33
121
- - added gridSpan property to Luca.View. This will automatically add the span class for you to snap your view to the grid.
121
+ - added gridSpan property to Luca.View. This will automatically add the span class for you to snap your view to the grid.
122
122
  Accepts a number 0-12.
123
- - fixed a bug in CardView.componentElements method with bodyClassName being present
123
+ - fixed a bug in CardView.componentElements method with bodyClassName being present
124
124
  - Added LabelView component. A form field which just displays a value.
125
125
 
126
126
  0.9.35
@@ -134,156 +134,12 @@
134
134
 
135
135
  0.9.4
136
136
  - Luca::Template can now configure its namespace, removing duplicate sprockets class
137
- - Luca.Application triggers page:change and sub:page:change events
137
+ - Luca.Application triggers page:change and sub:page:change events
138
138
  - Luca.Viewport gets enable / disable method for fluid and fullscreen mode
139
139
  - Add configurability to fullscreen behavior on viewport
140
140
 
141
141
  0.9.41
142
142
  - Changed asset pipeline payload so that luca-ui uses the index convention
143
143
 
144
- 0.9.42
145
- - Added TableView component, which inherits from Luca.components.CollectionView
146
- - Expose ways of customizing Luca.View internals.
147
- - Added support for @template property on Luca.View. Behaves the same as @bodyTemplate
148
-
149
- 0.9.45
150
- - Luca.decorate( componentPrototype ).with( mixinName ), Luca.mixin( mixinName )
151
- - View mixins use _initializer methods
152
- - FilterableView mixin for CollectionView classes
153
- - Added Rails Generator for Luca.Application skeleton. ( thanks @nick-desteffen )
154
- - Adds ability to pass a function reference as a component. The container will call the function, in
155
- the context of the container, and use the returned object as the component definition template
156
- - Adds a defaults property to containers. This will apply the values as defaults to each component.
157
- - Adds Luca.EventsExt an optional core extension which provides additional event binding sugar
158
- - Fixes to CollectionView
159
- - Improved container / component bindings via html data attributes
160
- - bugfixes in CardView
161
-
162
- 0.9.5
163
- - Luca.Model gets a 'read' method which will a getter function,
164
- or get an attribute for the given property you are trying to 'read'
165
- - CollectionView is modifiable through several mixins:
166
- - Filterable
167
- - Paginatable
168
- - Loadmaskable
169
- - Introduces component definition helpers: extends,
170
- behavesAs, triggers, defaultsTo which allow for a more
171
- "literate" component definiton style
172
- - View helpers moved into mixins:
173
- - StateModel
174
- - EnhancedProperties
175
- - CollectionEventBindings
176
- - ApplicationEventBindings
177
- - Changed syntax for @componentEvents configuration on Luca.core.Container.
178
- - now accepts role, name, or getter method
179
- - now accepts * for component, to bind to the same event on all components
180
-
181
- 0.9.65
182
- - Luca.core.Container components can now be configured with a @container property
183
- which accepts any valid CSS selector so long as it is scoped within that container view's @$el.
184
- Previously required an element with a specific ID which made it harder to build extendable components
185
- with specific render targets
186
-
187
- 0.9.66
188
- - Luca.core.Container components can now be extended by subclasses by specifying an @extensions property.
189
- @extensions work by applying the hash to the component in the same index'd position as that component
190
- configuration in the superclass.
191
- - Luca.components.CollectionView now has a @loadModels() method which resets the collection with the passed models.
192
- - Added @componentMetaData() method which is going to replace the trickery done behind the scenes in Luca.extend
193
- - Luca.config.autoApplyCssClassHierarchy if set to true, will add css class names to your luca components to make inheritance based styling easier.
194
-
195
- 0.9.7
196
- - Introduced publicInterface, publicConfiguration, privateInterface, and privateConfiguration as component registry methods.
197
- These methods are intended to offer finer grain control over the component definition process for the purposes of building
198
- our auto-generated documentation tool.
199
- - Added Luca.concern support on Collection and Model
200
- - Renaming 'mixin' and 'module' functionality to 'concern'
201
- - Luca.concerns now follow the active support concern in spirit, with __included hooks, ClassMethods handling, etc
202
- - Introducing an optional Concern for Luca.Model classes, called ModelPresenter.
203
- - The callback argument passed to CardView activate, now gets called in the context of the activated component
204
-
205
- 0.9.75
206
- - Component registration is now beautifully readable and self documenting,
207
- and flexible. Minimally only requires one call to Luca.register().
208
- This allows you to be as descriptive as you like when defining a component,
209
- and does not require you to call any definition methods which do not
210
- make literary sense in your component description.
211
-
212
- - Component definition now supports specifying class methods.
213
-
214
- - Luca.initialize('Namespace') will setup a complete namespace for
215
- your application, and give you a Namespace() method which works similar
216
- to the Luca() helper.
217
-
218
- - Added Luca.config.modelBootrstrap and Luca.config.baseParams as pointers
219
- to either properties, or methods, which can be used to configure Luca.Collection behavior
220
- - Luca.onReady is now the preferred way of launching the application.
221
- - Added Luca.Application.routeTo, Luca.Application.controller
222
- route building helpers
223
-
224
- 0.9.78
225
- - Added experimental ability to integrate router into the application itself, via the @routes property
226
- - Temporary fix for double rendering bug in containers which had css class based assignments on their containers.
227
- - Added experimental support for Luca.SocketManager
228
- - Introducing @stateChangeEvents property for views which mixin the StateModel concern.
229
- - Added additional ComponentDefinition methods: public, private, configuration, methods
230
- - Component MetaData tracks descendants()
231
- - SelectField defaults to valueType integer when valueField is "id"
232
-
233
- 0.9.8
234
- - Luca follows Sprockets / Asset Pipeline Conventions
235
- - Renamed
236
- - Luca.core.Container to Luca.Container
237
- - Luca.components.Panel to Luca.Panel
238
- - Added Sortable Concern
239
- - Added Luca.log()
240
- - Added ability to create aliases / deprecations of components with warning messages
241
-
242
- 0.9.81
243
- - Added support for HoganAssets via hogan.js and HoganAssets gem by Les Hill
244
- - Renamed Luca.components.CollectionView to Luca.CollectionView. Moved CollectionView to core.
245
- - beforeSubmit, and beforeReset on formView can return false to stop the action
246
- - Added scrollable table component to replace ugly ass GridView
247
-
248
- 0.9.83
249
- - Added sortOptionsBy property to select field. Expects an attribute to sort by.
250
- - firstActivation event will be queue'd until after:render has been fired
251
- - setting @rendered = true on views
252
- - adding event on controller activation
253
- - Bugfix on CollectionView refresh method
254
-
255
- 0.9.84
256
- - Added Luca::Collection::Endpoint to provide cheap throwaway persistence
257
-
258
- 0.9.85
259
- - Documentation / Comments parser and generator.
260
- - Luca.config.developmentMode revamp.
261
- - Added experimental Guard::Luca which uses Faye to send asset changes to the running Luca.Application()
262
- - Added Luca.CodeSyncManager which keeps css, templates, and component definitions in sync as you change them on the file system.
263
- - Better refreshing of instantiated components with updated prototype code via CodeSyncManager
264
- - Integrated Luca.FormView improvements from @grilix
265
-
266
- 0.9.86
267
- - Introducing GridLayoutView component which is a CollectionView which uses bootstraps row and spans to form an even grid.
268
- - Introducing SimpleCollectionView which is a CollectionView without any mixins applied
269
-
270
- 0.9.87
271
- - Adds support for keymaster.js for keybinding config. Thanks @madrobby.
272
- - Adds ability for the Application, and components which belong sto Luca.components.Controller to define their own global keybindings
273
- - Luca::ComponentDefinition renders comments as MarkDown
274
- - Adds Luca.util.setupKeyBindings helper for views to instrument their own keybindings / scopes
275
-
276
- 0.9.88
277
- - Fixed a bug in StateModel concern
278
- - Luca.View which define an @_inheritEvents property on their prototypes will have
279
- that event configuration persist into @events of views which extend from them
280
-
281
- 0.9.9
282
- - Added luca executable which includes:
283
- - documentation generator
284
- - sync command for running Luca.CodeSyncManager in development
285
- - Removes some unused components
286
- - API changes for Luca.components.Controller
287
- - Removing rails dependencies
288
- - Middleman site for documentation and examples
289
- - Improving documentation for core components
144
+ 0.9.42
145
+ - Added TableView component, which inherits from Luca.components.CollectionView
data/Gemfile CHANGED
@@ -4,17 +4,9 @@ gem "sinatra", :require => "sinatra/base"
4
4
  gem 'coffee-script', '>= 2.2.0'
5
5
  gem "uglifier", '>= 1.0.3'
6
6
  gem "sass", '>= 3.1.10'
7
- gem "sprockets", ">= 2.4.5"
7
+ gem "sprockets", '>= 2.0.2'
8
8
  gem 'ejs'
9
9
  gem 'haml'
10
- gem 'redcarpet'
11
- gem 'rake'
12
- gem 'hogan_assets'
13
- gem 'haml_assets'
14
- gem 'activesupport', '>= 3.2.12'
15
- gem 'listen'
16
- gem 'faye'
17
- gem 'thin'
18
10
 
19
11
  group :test, :development do
20
12
  gem 'faker'
@@ -22,5 +14,4 @@ group :test, :development do
22
14
  gem 'rb-fsevent', '>= 0.9.1'
23
15
  gem 'pry'
24
16
  gem 'guard-jasmine'
25
- gem 'jasmine'
26
17
  end
data/Gemfile.lock CHANGED
@@ -1,150 +1,77 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (3.2.12)
5
- i18n (~> 0.6)
6
- multi_json (~> 1.0)
7
- addressable (2.3.2)
8
- childprocess (0.3.8)
9
- ffi (~> 1.0, >= 1.0.11)
10
- coderay (1.0.9)
4
+ childprocess (0.3.1)
5
+ ffi (~> 1.0.6)
6
+ coderay (0.9.8)
11
7
  coffee-script (2.2.0)
12
8
  coffee-script-source
13
9
  execjs
14
- coffee-script-source (1.4.0)
15
- cookiejar (0.3.0)
16
- daemons (1.1.9)
17
- diff-lcs (1.1.3)
18
- ejs (1.1.1)
19
- em-http-request (1.0.3)
20
- addressable (>= 2.2.3)
21
- cookiejar
22
- em-socksify
23
- eventmachine (>= 1.0.0.beta.4)
24
- http_parser.rb (>= 0.5.3)
25
- em-socksify (0.2.1)
26
- eventmachine (>= 1.0.0.beta.4)
27
- eventmachine (1.0.0)
28
- execjs (1.4.0)
10
+ coffee-script-source (1.2.0)
11
+ ejs (1.0.0)
12
+ execjs (1.2.13)
29
13
  multi_json (~> 1.0)
30
- faker (1.1.2)
31
- i18n (~> 0.5)
32
- faye (0.8.8)
33
- cookiejar (>= 0.3.0)
34
- em-http-request (>= 0.3.0)
35
- eventmachine (>= 0.12.0)
36
- faye-websocket (>= 0.4.0)
37
- rack (>= 1.0.0)
38
- yajl-ruby (>= 1.0.0)
39
- faye-websocket (0.4.7)
40
- eventmachine (>= 0.12.0)
41
- ffi (1.4.0)
42
- guard (1.6.2)
43
- listen (>= 0.6.0)
44
- lumberjack (>= 1.0.2)
45
- pry (>= 0.9.10)
46
- terminal-table (>= 1.4.3)
47
- thor (>= 0.14.6)
48
- guard-jasmine (1.13.0)
14
+ faker (1.0.1)
15
+ i18n (~> 0.4)
16
+ ffi (1.0.11)
17
+ guard (0.9.2)
18
+ ffi (>= 0.5.0)
19
+ thor (~> 0.14.6)
20
+ guard-jasmine (0.9.13)
49
21
  childprocess
50
- guard (>= 1.1.0)
22
+ guard (>= 0.8.3)
51
23
  multi_json
52
24
  thor
53
25
  guard-sprockets2 (0.0.6)
54
26
  guard
55
27
  sprockets (~> 2.0)
56
- haml (4.0.0)
57
- tilt
58
- haml_assets (0.2.1)
59
- haml
60
- tilt
28
+ haml (3.1.4)
61
29
  hike (1.2.1)
62
- hogan_assets (1.5.0)
63
- execjs (>= 1.2.9)
64
- sprockets (>= 2.0.3)
65
- tilt (>= 1.3.3)
66
- http_parser.rb (0.5.3)
67
- i18n (0.6.1)
68
- jasmine (1.3.1)
69
- jasmine-core (~> 1.3.1)
70
- rack (~> 1.0)
71
- rspec (>= 1.3.1)
72
- selenium-webdriver (>= 0.1.3)
73
- jasmine-core (1.3.1)
74
- listen (0.7.2)
75
- lumberjack (1.0.2)
76
- method_source (0.8.1)
77
- multi_json (1.6.1)
78
- pry (0.9.12)
79
- coderay (~> 1.0.5)
80
- method_source (~> 0.8)
81
- slop (~> 3.4)
82
- rack (1.5.2)
83
- rack-protection (1.3.2)
30
+ i18n (0.6.0)
31
+ method_source (0.6.7)
32
+ ruby_parser (>= 2.3.1)
33
+ multi_json (1.0.4)
34
+ pry (0.9.7.4)
35
+ coderay (~> 0.9.8)
36
+ method_source (~> 0.6.7)
37
+ ruby_parser (>= 2.3.1)
38
+ slop (~> 2.1.0)
39
+ rack (1.3.5)
40
+ rack-protection (1.1.4)
84
41
  rack
85
- rake (10.0.3)
86
- rb-fsevent (0.9.3)
87
- redcarpet (2.2.2)
88
- rspec (2.12.0)
89
- rspec-core (~> 2.12.0)
90
- rspec-expectations (~> 2.12.0)
91
- rspec-mocks (~> 2.12.0)
92
- rspec-core (2.12.2)
93
- rspec-expectations (2.12.1)
94
- diff-lcs (~> 1.1.3)
95
- rspec-mocks (2.12.2)
96
- rubyzip (0.9.9)
97
- sass (3.2.5)
98
- selenium-webdriver (2.30.0)
99
- childprocess (>= 0.2.5)
100
- multi_json (~> 1.0)
101
- rubyzip
102
- websocket (~> 1.0.4)
103
- sinatra (1.3.4)
104
- rack (~> 1.4)
105
- rack-protection (~> 1.3)
42
+ rb-fsevent (0.9.1)
43
+ ruby_parser (2.3.1)
44
+ sexp_processor (~> 3.0)
45
+ sass (3.1.12)
46
+ sexp_processor (3.0.9)
47
+ sinatra (1.3.1)
48
+ rack (~> 1.3, >= 1.3.4)
49
+ rack-protection (~> 1.1, >= 1.1.2)
106
50
  tilt (~> 1.3, >= 1.3.3)
107
- slop (3.4.3)
108
- sprockets (2.8.2)
51
+ slop (2.1.0)
52
+ sprockets (2.1.2)
109
53
  hike (~> 1.2)
110
- multi_json (~> 1.0)
111
54
  rack (~> 1.0)
112
55
  tilt (~> 1.1, != 1.3.0)
113
- terminal-table (1.4.5)
114
- thin (1.5.0)
115
- daemons (>= 1.0.9)
116
- eventmachine (>= 0.12.6)
117
- rack (>= 1.0.0)
118
- thor (0.17.0)
56
+ thor (0.14.6)
119
57
  tilt (1.3.3)
120
- uglifier (1.3.0)
58
+ uglifier (1.2.0)
121
59
  execjs (>= 0.3.0)
122
- multi_json (~> 1.0, >= 1.0.2)
123
- websocket (1.0.7)
124
- yajl-ruby (1.1.0)
60
+ multi_json (>= 1.0.2)
125
61
 
126
62
  PLATFORMS
127
63
  ruby
128
64
 
129
65
  DEPENDENCIES
130
- activesupport (>= 3.2.12)
131
66
  coffee-script (>= 2.2.0)
132
67
  ejs
133
68
  faker
134
- faye
135
69
  guard-jasmine
136
70
  guard-sprockets2
137
71
  haml
138
- haml_assets
139
- hogan_assets
140
- jasmine
141
- listen
142
72
  pry
143
- rake
144
73
  rb-fsevent (>= 0.9.1)
145
- redcarpet
146
74
  sass (>= 3.1.10)
147
75
  sinatra
148
- sprockets (>= 2.4.5)
149
- thin
76
+ sprockets (>= 2.0.2)
150
77
  uglifier (>= 1.0.3)
data/Guardfile CHANGED
@@ -1,5 +1,27 @@
1
1
  require './app'
2
- guard 'jasmine' do
3
- watch(%r{src/(.+)\.coffee}) {|m| "spec/#{ m[1] }_spec.coffee" }
4
- watch(%r{spec/(.+)_spec\.coffee})
2
+
3
+ assets_path = Dir.pwd + '/vendor/assets'
4
+ javascript_path = File.join( assets_path, 'javascripts' )
5
+ stylesheets_path = File.join( assets_path, 'stylesheets' )
6
+
7
+ unless ENV['TEST_MODE'] or ENV['RUN_TESTS']
8
+ unless ENV['SKIP_JAVASCRIPTS']
9
+ guard 'sprockets2', :clean=>false, :assets_path => javascript_path, :sprockets => App.sprockets, :precompile=>[/^luca-ui.+(coffee|js)$/], :digest => false, :gz => false do
10
+ watch(%r{^src/.+$})
11
+ watch(%r{^spec/.+$})
12
+ end
13
+ end
14
+
15
+ unless ENV['SKIP_STYLESHEETS']
16
+ guard 'sprockets2', :clean=>false, :assets_path => stylesheets_path, :sprockets => App.sprockets, :precompile=>[/^luca-ui.+(scss|css)$/], :digest => false, :gz => false do
17
+ watch(%r{^src/stylesheets/.+$})
18
+ end
19
+ end
20
+ end
21
+
22
+ unless ENV['COMPILE_MODE']
23
+ guard 'jasmine' do
24
+ watch(%r{src/(.+)\.coffee}) {|m| "spec/#{ m[1] }_spec.coffee" }
25
+ watch(%r{spec/(.+)_spec\.coffee})
26
+ end
5
27
  end
data/README.md CHANGED
@@ -7,6 +7,21 @@ and clean single page applications.
7
7
  It uses twitter bootstrap compatible markup and css naming conventions,
8
8
  making it possible to generate completely styled user interfaces with JSON alone.
9
9
 
10
+ Luca combines the functionality of other open source libraries as well, but you are not
11
+ required to use any of them if you don't like.
12
+
13
+ ### Dependencies
14
+
15
+ - [Bootstrap by Twitter](https://twitter.github.com/bootstrap)
16
+ - [Backbone-Query by David Tonge](https://github.com/davidgtonge/backbone_query)
17
+ - [Underscore String by Esa-Matti Suuronen](https://github.com/epeli/underscore.string)
18
+
19
+ ### Development Tool Dependencies:
20
+
21
+ - [CodeMirror IDE](https://codemirror.net)
22
+ - [CoffeeScript Compiler](https://coffeescript.org)
23
+
24
+
10
25
  ### Using With Rails Asset Pipeline
11
26
 
12
27
  ```ruby
@@ -18,71 +33,59 @@ In your css manifest:
18
33
 
19
34
  ```css
20
35
  /*
21
- *= require 'luca'
36
+ *= require 'luca-ui-full'
37
+ *= require 'luca-ui-development-tools'
22
38
  */
23
39
  ```
24
40
 
25
41
  All Javascript Dependencies:
26
42
 
27
43
  ```javascript
28
- //= require 'luca/dependencies'
29
- //= require 'luca'
44
+ //= require 'underscore'
45
+ //= require 'underscore-string.min'
46
+ //= require 'jquery'
47
+ //= require 'backbone'
48
+ //= require 'bootstrap.min.js'
49
+ //= require 'luca-ui.min.js'
50
+ //= require 'luca-ui-development-tools.min.js'
30
51
  ```
31
52
 
32
- Your App:
33
- ```javascript
34
- Luca.initialize('App', {
35
- // will look in window.AppBootstrap for an object
36
- // keyed on your collection's cache_keys() for automatically
37
- // populating collections on page load
38
- modelBootstrap: true,
39
- // will look in window.AppBaseParams for an object
40
- // or function used to determine the query parameters to
41
- // be sent on every request
42
- baseParams: true
43
- });
44
-
45
- JST['home'] = function() {
46
- // content
47
- };
48
-
49
- App.register('App.views.Home').extends('Luca.View').defines({
50
- template: "home",
51
- events: {
52
- "click .menu-handler" : "clickMenuHandler"
53
- },
54
- clickMenuHandler: function(e){
55
-
56
- }
57
- });
58
-
59
- App.register('App.Application').extends('Luca.Application').defines({
60
- // will use the Application classes internal controller
61
- // to make the home 'page' active in the viewport
62
- routes:{
63
- "" : "home"
64
- }
65
- components:[
66
- name: "home"
67
- type: "home"
68
- ]
69
- });
70
-
71
- AppNamespace.onReady(function(){
72
- (new AppNamespace.Application).boot()
73
- })
53
+ Or you can just use the dependencies we rely on. Latest backbone.js, underscore.js, underscore.string.js, twitter boostrap js and css:
54
+
55
+ ```
56
+ //= require 'luca-ui-full.min.js'
74
57
  ```
75
58
 
76
- ## Rails Generator
77
- To generate Luca application skeleton run:
78
- `rails generate luca:application <app_name>`
79
- This will generate a controller, view, route, and the Luca application structure under assets/javascripts/<app_name>
59
+ ## Standalone With Twitter Bootstrap ( development tools are optional )
60
+ ```html
61
+ <html>
62
+ <head>
63
+ <link rel="stylesheet" href='luca-ui-full.css' />
64
+ <link rel="stylesheet" href='luca-ui-development-tools.css' />
65
+ </head>
66
+ <body>
67
+ <script type='text/javascript' src="luca-ui-full.min.js" />
68
+ <script type='text/javascript' src="luca-ui-development-tools.min.js" />
69
+ </body>
70
+ </html>
71
+ ```
80
72
 
81
- ## Contributing
82
- You will need to run 'rake release:all' to compile/minify the asset which gets released.
73
+ ## Interactive Documentation and Examples
74
+
75
+ [View the Sandbox](http://datapimp.com/luca)
83
76
 
84
77
  ## Thanks To
85
- @jashkenas, @davidgtonge, @twitter, @madrobby, et al.
86
78
 
87
- ## Contributors
88
- @tjbladez, @grilix, @nick-desteffen
79
+ @jashkenas for making coffeescript, underscore, backbone.js.
80
+
81
+ @twitter for making bootstrap 2.0
82
+
83
+ @davidtonge for making backbone-query
84
+
85
+ @benchprep for giving me the freedom
86
+
87
+ @luca. who i spent only two minutes making and am exponentially more proud to have created.
88
+
89
+ ## Contributing
90
+
91
+ Please!
data/ROADMAP CHANGED
@@ -1,16 +1,33 @@
1
- Minor Initiatives:
2
- - make sure hooks and mixins are inherited properly
3
- - upgrade to backbone 0.9.9
4
- - remove / delegate features in luca which have been provided by backbone
5
- - ComponentDefinition will become a Backbone.Model
6
- - ComponentDefinition registry will become a Backbone.Collection
7
- - InstanceCache will become a Backbone.Collection
8
- - Make CardView less noisy in the DOM
9
- - Remove component defined classNames in favor of styleHierarchy
10
- - make styleHierarchy less noisy
1
+ Framework
2
+ ---------
3
+ Extract hooks into module
11
4
 
12
- Major Initiatives:
13
- - improve Panel toolbar
14
- - improve FormView and Field configuration APIs
15
- - implement rendering strategy for deferrable rendering
16
- - provide ability to restore application / component state from DOM
5
+ General
6
+ -------
7
+ - Make development mode options easily disabled
8
+ - Integrate with requireJs or some other AMD system
9
+ - Move to node.js for build / testing
10
+ - Replace .luca template with standard jst
11
+ - Eliminate underscore-string dependency. just copy necessary functions.
12
+ - Eliminate pointless CSS selectors
13
+
14
+ - Rely on data attributes for functionality instead of css selectors
15
+ - BUT in general don't tie views to the DOM anyway
16
+
17
+ Luca.View
18
+ ---------
19
+ - Add StateMachine model to all instances of Luca.View
20
+
21
+ Containers
22
+ ----------
23
+ - Luca.core.Container should relay all activation events to @components
24
+
25
+ Luca.CollectionManager
26
+ ----------------------
27
+ - Add concept of base params for a given scope of the collection manager
28
+
29
+ Luca.Application
30
+ ----------------
31
+ - Modify boot sequence so that rendering can happen on DOM ready, but all other
32
+ operations, such as fetching collections, etc, can happen immediately upon
33
+ initialization