luca 0.9.76 → 0.9.89

Sign up to get free protection for your applications and to get access to all the features.
Files changed (457) hide show
  1. data/CHANGELOG +65 -2
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +18 -2
  4. data/Guardfile +3 -25
  5. data/README.md +50 -58
  6. data/ROADMAP +15 -32
  7. data/Rakefile +18 -77
  8. data/app.rb +12 -46
  9. data/{assets → app/assets}/images/glyphicons-halflings-white.png +0 -0
  10. data/{assets → app/assets}/images/glyphicons-halflings.png +0 -0
  11. data/app/assets/javascripts/luca-ui.js +1 -0
  12. data/app/assets/javascripts/luca/basic.coffee +8 -0
  13. data/{src → app/assets/javascripts/luca}/components/application.coffee +233 -65
  14. data/{src → app/assets/javascripts/luca}/components/collection_loader_view.coffee +0 -0
  15. data/app/assets/javascripts/luca/components/collection_view.coffee +207 -0
  16. data/{src → app/assets/javascripts/luca}/components/controller.coffee +27 -13
  17. data/{src/core/field.coffee → app/assets/javascripts/luca/components/fields/base.coffee} +18 -10
  18. data/{src → app/assets/javascripts/luca}/components/fields/button_field.coffee +8 -9
  19. data/{src → app/assets/javascripts/luca}/components/fields/checkbox_array.coffee +0 -0
  20. data/{src → app/assets/javascripts/luca}/components/fields/checkbox_field.coffee +0 -0
  21. data/{src → app/assets/javascripts/luca}/components/fields/file_upload_field.coffee +0 -0
  22. data/{src → app/assets/javascripts/luca}/components/fields/hidden_field.coffee +0 -0
  23. data/{src → app/assets/javascripts/luca}/components/fields/label_field.coffee +0 -0
  24. data/app/assets/javascripts/luca/components/fields/select_field.coffee +159 -0
  25. data/app/assets/javascripts/luca/components/fields/text_area_field.coffee +57 -0
  26. data/{src → app/assets/javascripts/luca}/components/fields/text_field.coffee +9 -3
  27. data/{src → app/assets/javascripts/luca}/components/fields/type_ahead_field.coffee +0 -0
  28. data/app/assets/javascripts/luca/components/form_view.coffee +421 -0
  29. data/app/assets/javascripts/luca/components/grid_layout_view.coffee +43 -0
  30. data/app/assets/javascripts/luca/components/index.coffee +7 -0
  31. data/app/assets/javascripts/luca/components/load_mask.coffee +8 -0
  32. data/{src → app/assets/javascripts/luca}/components/multi_collection_view.coffee +34 -34
  33. data/app/assets/javascripts/luca/components/nav_bar.coffee +80 -0
  34. data/app/assets/javascripts/luca/components/page.coffee +69 -0
  35. data/app/assets/javascripts/luca/components/page_controller.coffee +3 -0
  36. data/{src → app/assets/javascripts/luca}/components/pagination_control.coffee +13 -13
  37. data/{src → app/assets/javascripts/luca}/components/record_manager.coffee +0 -0
  38. data/{src → app/assets/javascripts/luca}/components/router.coffee +4 -1
  39. data/app/assets/javascripts/luca/components/simple_collection_view.coffee +10 -0
  40. data/app/assets/javascripts/luca/components/table_view.coffee +93 -0
  41. data/app/assets/javascripts/luca/components/table_view_scrollable.coffee +23 -0
  42. data/{src → app/assets/javascripts/luca}/concerns/application_event_bindings.coffee +1 -1
  43. data/app/assets/javascripts/luca/concerns/collection_event_bindings.coffee +47 -0
  44. data/{src → app/assets/javascripts/luca}/concerns/deferrable.coffee +1 -2
  45. data/app/assets/javascripts/luca/concerns/development_tool_helpers.coffee +30 -0
  46. data/{src → app/assets/javascripts/luca}/concerns/dom_helpers.coffee +10 -7
  47. data/{src → app/assets/javascripts/luca}/concerns/enhanced_properties.coffee +0 -0
  48. data/{src → app/assets/javascripts/luca}/concerns/filterable.coffee +39 -20
  49. data/app/assets/javascripts/luca/concerns/form_model_bindings.coffee +20 -0
  50. data/{src → app/assets/javascripts/luca}/concerns/grid_layout.coffee +0 -0
  51. data/{src → app/assets/javascripts/luca}/concerns/loadmaskable.coffee +17 -11
  52. data/{src → app/assets/javascripts/luca}/concerns/local_storage.coffee +0 -0
  53. data/app/assets/javascripts/luca/concerns/modal_view.coffee +63 -0
  54. data/{src → app/assets/javascripts/luca}/concerns/model_presenter.coffee +0 -0
  55. data/{src → app/assets/javascripts/luca}/concerns/paginatable.coffee +6 -20
  56. data/{src → app/assets/javascripts/luca}/concerns/query_collection_bindings.coffee +16 -8
  57. data/app/assets/javascripts/luca/concerns/sortable.coffee +69 -0
  58. data/app/assets/javascripts/luca/concerns/state_model.coffee +58 -0
  59. data/{src → app/assets/javascripts/luca}/concerns/templating.coffee +6 -1
  60. data/app/assets/javascripts/luca/config.coffee +54 -0
  61. data/{src → app/assets/javascripts/luca}/containers/card_view.coffee +23 -8
  62. data/{src/core → app/assets/javascripts/luca/containers}/container.coffee +228 -77
  63. data/app/assets/javascripts/luca/containers/index.coffee +2 -0
  64. data/{src → app/assets/javascripts/luca}/containers/modal_view.coffee +1 -1
  65. data/{src → app/assets/javascripts/luca}/containers/panel_toolbar.coffee +5 -6
  66. data/{src → app/assets/javascripts/luca}/containers/tab_view.coffee +19 -10
  67. data/{src → app/assets/javascripts/luca}/containers/viewport.coffee +11 -12
  68. data/{src → app/assets/javascripts/luca}/core/collection.coffee +37 -23
  69. data/{src/components → app/assets/javascripts/luca/core}/collection_view.coffee +21 -38
  70. data/{src/plugins → app/assets/javascripts/luca/core}/events.coffee +38 -6
  71. data/app/assets/javascripts/luca/core/index.coffee +12 -0
  72. data/{src → app/assets/javascripts/luca}/core/model.coffee +1 -1
  73. data/{src → app/assets/javascripts/luca}/core/observer.coffee +0 -0
  74. data/app/assets/javascripts/luca/core/panel.coffee +124 -0
  75. data/{src/define.coffee → app/assets/javascripts/luca/core/registry/component_definition.coffee} +59 -8
  76. data/{src → app/assets/javascripts/luca/core/registry}/concerns.coffee +0 -0
  77. data/app/assets/javascripts/luca/core/registry/index.coffee +4 -0
  78. data/{src/core → app/assets/javascripts/luca/core/registry}/meta_data.coffee +6 -0
  79. data/{src/core → app/assets/javascripts/luca/core/registry}/registry.coffee +20 -14
  80. data/app/assets/javascripts/luca/core/templates.coffee +51 -0
  81. data/app/assets/javascripts/luca/core/view.coffee +364 -0
  82. data/app/assets/javascripts/luca/dependencies.coffee +9 -0
  83. data/{src/tools → app/assets/javascripts/luca/development}/code_mirror_field.coffee +2 -1
  84. data/app/assets/javascripts/luca/development/code_sync_manager.coffee +126 -0
  85. data/app/assets/javascripts/luca/development/component.coffee +76 -0
  86. data/app/assets/javascripts/luca/development/components.coffee +57 -0
  87. data/{src/tools → app/assets/javascripts/luca/development}/console.coffee +6 -5
  88. data/app/assets/javascripts/luca/development/index.coffee +5 -0
  89. data/{src → app/assets/javascripts/luca}/framework.coffee +16 -99
  90. data/app/assets/javascripts/luca/index.coffee +8 -0
  91. data/{src → app/assets/javascripts/luca}/managers/collection_manager.coffee +12 -8
  92. data/app/assets/javascripts/luca/managers/index.coffee +2 -0
  93. data/app/assets/javascripts/luca/managers/socket_manager.coffee +89 -0
  94. data/{src → app/assets/javascripts/luca}/templates/components/bootstrap_form_controls.jst.ejs +0 -0
  95. data/{src → app/assets/javascripts/luca}/templates/components/collection_loader_view.jst.ejs +0 -0
  96. data/{src → app/assets/javascripts/luca}/templates/components/form_alert.jst.ejs +0 -0
  97. data/{src → app/assets/javascripts/luca}/templates/components/grid_view.jst.ejs +0 -0
  98. data/{src → app/assets/javascripts/luca}/templates/components/grid_view_empty_text.jst.ejs +0 -0
  99. data/{src → app/assets/javascripts/luca}/templates/components/load_mask.jst.ejs +0 -0
  100. data/app/assets/javascripts/luca/templates/components/nav_bar.jst.ejs +19 -0
  101. data/{src → app/assets/javascripts/luca}/templates/components/pagination.jst.ejs +0 -0
  102. data/{src/templates → app/assets/javascripts/luca/templates/components}/table_view.jst.ejs +0 -0
  103. data/{src → app/assets/javascripts/luca}/templates/containers/basic.jst.ejs +0 -0
  104. data/{src → app/assets/javascripts/luca}/templates/containers/tab_selector_container.jst.ejs +0 -0
  105. data/app/assets/javascripts/luca/templates/containers/tab_view.jst.ejs +2 -0
  106. data/{src → app/assets/javascripts/luca}/templates/containers/toolbar_wrapper.jst.ejs +0 -0
  107. data/{src → app/assets/javascripts/luca}/templates/fields/button_field.jst.ejs +0 -0
  108. data/{src → app/assets/javascripts/luca}/templates/fields/button_field_link.jst.ejs +0 -0
  109. data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_array.jst.ejs +0 -0
  110. data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_array_item.jst.ejs +0 -0
  111. data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_field.jst.ejs +0 -0
  112. data/{src → app/assets/javascripts/luca}/templates/fields/file_upload_field.jst.ejs +0 -0
  113. data/{src → app/assets/javascripts/luca}/templates/fields/hidden_field.jst.ejs +0 -0
  114. data/{src → app/assets/javascripts/luca}/templates/fields/select_field.jst.ejs +0 -0
  115. data/{src → app/assets/javascripts/luca}/templates/fields/text_area_field.jst.ejs +0 -0
  116. data/{src → app/assets/javascripts/luca}/templates/fields/text_field.jst.ejs +0 -0
  117. data/app/assets/javascripts/luca/util/deprecations.coffee +18 -0
  118. data/app/assets/javascripts/luca/util/index.coffee +4 -0
  119. data/app/assets/javascripts/luca/util/keybindings.coffee +24 -0
  120. data/app/assets/javascripts/luca/util/logging.coffee +30 -0
  121. data/{src/util.coffee → app/assets/javascripts/luca/util/luca.coffee} +27 -4
  122. data/{src/core → app/assets/javascripts/luca/util}/script_loader.coffee +0 -0
  123. data/{src/stylesheets → app/assets/stylesheets/luca}/components/checkbox_array.scss +0 -0
  124. data/app/assets/stylesheets/luca/components/form_view.scss +7 -0
  125. data/{src/stylesheets → app/assets/stylesheets/luca}/components/grid_view.scss +0 -0
  126. data/{src/stylesheets → app/assets/stylesheets/luca}/components/load_mask.scss +0 -0
  127. data/{vendor/assets/luca-ui/components/grid_view.css → app/assets/stylesheets/luca/components/table_view.scss} +60 -51
  128. data/{src/stylesheets → app/assets/stylesheets/luca}/components/viewport.scss +0 -0
  129. data/app/assets/stylesheets/luca/containers/container.scss +19 -0
  130. data/{src/stylesheets → app/assets/stylesheets/luca}/containers/modal_view.scss +0 -0
  131. data/{src/stylesheets → app/assets/stylesheets/luca}/containers/panels.scss +0 -0
  132. data/{src/stylesheets → app/assets/stylesheets/luca}/containers/tab_view.scss +0 -0
  133. data/{src/stylesheets/tools → app/assets/stylesheets/luca/development}/console.scss +0 -0
  134. data/app/assets/stylesheets/luca/development/index.css +3 -0
  135. data/app/assets/stylesheets/luca/index.css +4 -0
  136. data/{src/stylesheets → app/assets/stylesheets/luca}/normalize.scss +0 -0
  137. data/config.ru +1 -2
  138. data/docs/framework.json +1 -0
  139. data/docs/{application.md → old/application.md} +0 -0
  140. data/docs/{collection.md → old/collection.md} +0 -0
  141. data/docs/{collection_manager.md → old/collection_manager.md} +0 -0
  142. data/docs/{container_philosophy.md → old/container_philosophy.md} +0 -0
  143. data/docs/{event_binding_helpers.md → old/event_binding_helpers.md} +0 -0
  144. data/docs/{method_caching_and_computed_properties.md → old/method_caching_and_computed_properties.md} +0 -0
  145. data/docs/{view.md → old/view.md} +0 -0
  146. data/lib/generators/luca/application/application_generator.rb +12 -8
  147. data/lib/generators/luca/application/templates/controller.rb +0 -2
  148. data/lib/generators/luca/application/templates/index.html.erb +12 -0
  149. data/lib/generators/luca/application/templates/index.html.haml +1 -0
  150. data/lib/generators/luca/application/templates/javascripts/application.coffee +18 -0
  151. data/lib/generators/luca/application/templates/javascripts/collection_manager.coffee +2 -0
  152. data/lib/generators/luca/application/templates/javascripts/config.coffee +3 -0
  153. data/lib/generators/luca/application/templates/javascripts/dependencies.coffee +3 -0
  154. data/lib/generators/luca/application/templates/javascripts/home.jst.ejs +2 -0
  155. data/lib/generators/luca/application/templates/javascripts/index.coffee +15 -0
  156. data/lib/generators/luca/application/templates/javascripts/router.coffee +4 -0
  157. data/lib/guard/luca.rb +84 -0
  158. data/lib/luca.rb +18 -1
  159. data/lib/luca/asset_compiler.rb +117 -0
  160. data/lib/luca/collection.rb +64 -0
  161. data/lib/luca/collection/endpoint.rb +37 -0
  162. data/lib/luca/collection/file_backend.rb +121 -0
  163. data/lib/luca/collection/redis_backend.rb +153 -0
  164. data/lib/luca/compiled_asset.rb +61 -0
  165. data/lib/luca/component_definition.rb +338 -0
  166. data/lib/luca/luca_application.rb +247 -0
  167. data/lib/luca/project.rb +73 -0
  168. data/lib/luca/project_harness.rb +96 -0
  169. data/lib/luca/rails.rb +5 -3
  170. data/lib/luca/rails/engine.rb +12 -0
  171. data/lib/luca/rails/version.rb +1 -2
  172. data/lib/luca/stylesheet.rb +36 -0
  173. data/lib/luca/template.rb +2 -0
  174. data/lib/luca/template_asset.rb +64 -0
  175. data/lib/railties/luca/tasks.rake +38 -0
  176. data/spec/{components → javascripts/components}/application_spec.coffee +0 -0
  177. data/spec/{components → javascripts/components}/collection_loader_view_spec.coffee +0 -0
  178. data/spec/{components → javascripts/components}/collection_view_spec.coffee +0 -0
  179. data/spec/{components → javascripts/components}/controller_spec.coffee +4 -0
  180. data/spec/{components → javascripts/components}/fields/checkbox_array_spec.coffee +0 -0
  181. data/spec/javascripts/components/form_view_spec.coffee +162 -0
  182. data/spec/{components → javascripts/components}/grid_view_spec.coffee +0 -0
  183. data/spec/{components → javascripts/components}/multi_collection_view_spec.coffee +0 -0
  184. data/spec/{components → javascripts/components}/pagination_control_spec.coffee +0 -0
  185. data/spec/{components → javascripts/components}/record_manager_spec.coffee +0 -0
  186. data/spec/{components → javascripts/components}/table_view_spec.coffee +0 -0
  187. data/spec/{components → javascripts/components}/template_spec.coffee +0 -0
  188. data/spec/javascripts/concerns/collection_event_bindings_spec.coffee +15 -0
  189. data/spec/{concerns → javascripts/concerns}/dom_helpers_spec.coffee +2 -2
  190. data/spec/{concerns → javascripts/concerns}/filterable_spec.coffee +4 -4
  191. data/spec/{concerns → javascripts/concerns}/model_presenter_spec.coffee +0 -0
  192. data/spec/{concerns → javascripts/concerns}/paginatable_spec.coffee +0 -0
  193. data/spec/javascripts/concerns/state_model_spec.coffee +55 -0
  194. data/spec/{containers → javascripts/containers}/card_view_spec.coffee +5 -0
  195. data/spec/{containers → javascripts/containers}/modal_view_spec.coffee +0 -0
  196. data/spec/{containers → javascripts/containers}/panel_view_spec.coffee +0 -0
  197. data/spec/{containers → javascripts/containers}/tab_view_spec.coffee +0 -0
  198. data/spec/{containers → javascripts/containers}/viewport_spec.coffee +0 -0
  199. data/spec/{core → javascripts/core}/collection_spec.coffee +25 -0
  200. data/spec/{concerns_spec.coffee → javascripts/core/concerns_spec.coffee} +0 -0
  201. data/spec/{core → javascripts/core}/container_spec.coffee +8 -6
  202. data/spec/{define_spec.coffee → javascripts/core/define_spec.coffee} +0 -0
  203. data/spec/javascripts/core/events_spec.coffee +26 -0
  204. data/spec/{core → javascripts/core}/field_spec.coffee +0 -0
  205. data/spec/{framework_spec.coffee → javascripts/core/framework_spec.coffee} +1 -1
  206. data/spec/{core → javascripts/core}/model_spec.coffee +0 -0
  207. data/spec/{core → javascripts/core}/observer_spec.coffee +0 -0
  208. data/spec/{util_spec.coffee → javascripts/core/util_spec.coffee} +2 -2
  209. data/spec/{core → javascripts/core}/view_spec.coffee +114 -38
  210. data/spec/javascripts/dependencies/index.coffee +3 -0
  211. data/{assets → spec}/javascripts/dependencies/jasmine-html.js +0 -0
  212. data/{assets → spec}/javascripts/dependencies/jasmine.js +0 -0
  213. data/{assets → spec}/javascripts/dependencies/sinon.js +0 -0
  214. data/spec/{helper.coffee → javascripts/helper.coffee} +0 -0
  215. data/spec/{managers → javascripts/managers}/collection_manager_spec.coffee +0 -0
  216. data/spec/{managers → javascripts/managers}/socket_manager_spec.coffee +0 -0
  217. data/spec/lib/component_definition_spec.rb +63 -0
  218. data/spec/lib/input_compiler_spec.rb +9 -0
  219. data/spec/lib/luca_application_spec.rb +30 -0
  220. data/spec/support/fixtures/application.coffee +45 -0
  221. data/spec/support/fixtures/component.coffee +34 -0
  222. data/{assets/javascripts/sandbox/views/inspector/instance_list.coffee → tutorials/component-definitions.md} +0 -0
  223. data/{spec/concerns/state_model_spec.coffee → tutorials/component-definitions/01_intro.md} +0 -0
  224. data/tutorials/component-driven-design.md +140 -0
  225. data/tutorials/structure-of-a-project.md +63 -0
  226. data/vendor/assets/javascripts/backbone-ext.js +21 -0
  227. data/vendor/assets/javascripts/backbone-min.js +38 -0
  228. data/vendor/assets/javascripts/backbone-query.min.js +1 -0
  229. data/vendor/assets/javascripts/bootstrap.min.js +7 -0
  230. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-coffeescript.js +0 -0
  231. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-css.js +0 -0
  232. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-html.js +0 -0
  233. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-javascript.js +0 -0
  234. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-less.js +0 -0
  235. data/vendor/assets/javascripts/codemirror-ui.js +503 -0
  236. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-vim.js +0 -0
  237. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror.js +0 -0
  238. data/vendor/assets/javascripts/hogan.js +707 -0
  239. data/vendor/assets/javascripts/inflections.js +656 -0
  240. data/vendor/assets/javascripts/jasmine-html.js +190 -0
  241. data/vendor/assets/javascripts/jasmine.js +2476 -0
  242. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/jquery.js +0 -0
  243. data/vendor/assets/javascripts/keymaster.min.js +4 -0
  244. data/vendor/assets/javascripts/luca-dependencies.min.js +6 -0
  245. data/vendor/assets/javascripts/luca-development.min.js +1 -0
  246. data/vendor/assets/javascripts/luca-spec.js +11 -0
  247. data/vendor/assets/javascripts/luca-ui.js +3336 -2561
  248. data/vendor/assets/javascripts/luca-ui.min.js +5 -5
  249. data/vendor/assets/javascripts/luca.full.min.js +10 -0
  250. data/vendor/assets/javascripts/luca.min.js +5 -0
  251. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/modal.js +0 -0
  252. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/modernizr.min.js +0 -0
  253. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/prettify.js +0 -0
  254. data/vendor/assets/javascripts/sinon.js +3469 -0
  255. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/spin-min.js +0 -0
  256. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/underscore-min.js +0 -0
  257. data/vendor/assets/javascripts/underscore-string.min.js +1 -0
  258. data/vendor/assets/stylesheets/bootstrap-responsive.min.css +9 -0
  259. data/vendor/assets/stylesheets/bootstrap.min.css +9 -0
  260. data/{assets → vendor/assets}/stylesheets/codemirror-blackboard.css +0 -0
  261. data/{assets → vendor/assets}/stylesheets/codemirror-monokai.css +0 -0
  262. data/{assets → vendor/assets}/stylesheets/codemirror.css +0 -0
  263. data/{assets → vendor/assets}/stylesheets/jasmine.css +0 -0
  264. data/vendor/assets/stylesheets/luca-components.css +204 -0
  265. data/vendor/assets/stylesheets/luca-development.css +23 -0
  266. data/vendor/assets/stylesheets/luca-ui.css +58 -461
  267. data/views/jasmine.erb +2 -2
  268. metadata +280 -336
  269. data/assets/javascripts/dependencies.coffee +0 -5
  270. data/assets/javascripts/dependencies/backbone-min.js +0 -37
  271. data/assets/javascripts/dependencies/backbone-query.min.js +0 -1
  272. data/assets/javascripts/dependencies/bootstrap.min.js +0 -7
  273. data/assets/javascripts/dependencies/coffee-script.js +0 -12189
  274. data/assets/javascripts/dependencies/underscore-string.min.js +0 -14
  275. data/assets/javascripts/luca-templates.js +0 -1
  276. data/assets/javascripts/luca-ui-base.coffee +0 -1
  277. data/assets/javascripts/luca-ui-bootstrap.js +0 -1
  278. data/assets/javascripts/luca-ui-development-tools.coffee +0 -9
  279. data/assets/javascripts/luca-ui-full.js +0 -3
  280. data/assets/javascripts/luca-ui-spec.coffee +0 -2
  281. data/assets/javascripts/luca-ui.js +0 -3
  282. data/assets/javascripts/luca/index.coffee +0 -1
  283. data/assets/javascripts/sandbox.coffee +0 -7
  284. data/assets/javascripts/sandbox/application.coffee +0 -57
  285. data/assets/javascripts/sandbox/config.coffee +0 -7
  286. data/assets/javascripts/sandbox/router.coffee +0 -24
  287. data/assets/javascripts/sandbox/templates/builder.luca +0 -2
  288. data/assets/javascripts/sandbox/templates/builder/component_list.luca +0 -1
  289. data/assets/javascripts/sandbox/templates/main.luca +0 -53
  290. data/assets/javascripts/sandbox/templates/sandbox.luca +0 -1
  291. data/assets/javascripts/sandbox/templates/sandbox/docs_index.luca +0 -1
  292. data/assets/javascripts/sandbox/templates/sandbox/navigation.luca +0 -8
  293. data/assets/javascripts/sandbox/templates/sandbox/readme.luca +0 -30
  294. data/assets/javascripts/sandbox/views/builder.coffee +0 -133
  295. data/assets/javascripts/sandbox/views/builder/builder_canvas.coffee +0 -3
  296. data/assets/javascripts/sandbox/views/builder/builder_editor.coffee +0 -6
  297. data/assets/javascripts/sandbox/views/builder/component_list.coffee +0 -38
  298. data/assets/javascripts/sandbox/views/builder/project_browser.coffee +0 -14
  299. data/assets/javascripts/sandbox/views/docs_controller.coffee +0 -7
  300. data/assets/javascripts/sandbox/views/inspector.coffee +0 -11
  301. data/assets/javascripts/sandbox/views/inspector/instance_filter.coffee +0 -18
  302. data/assets/javascripts/sandbox/views/top_navigation.coffee +0 -4
  303. data/assets/javascripts/spec-dependencies.coffee +0 -4
  304. data/assets/stylesheets/bootstrap-responsive.min.css +0 -2
  305. data/assets/stylesheets/bootstrap.min.css +0 -727
  306. data/assets/stylesheets/luca-ui-bootstrap.css +0 -4
  307. data/assets/stylesheets/luca-ui-development-tools.css +0 -5
  308. data/assets/stylesheets/luca-ui-full.css +0 -3
  309. data/assets/stylesheets/luca-ui-spec.css +0 -3
  310. data/assets/stylesheets/luca-ui.css +0 -3
  311. data/assets/stylesheets/prettify.css +0 -40
  312. data/assets/stylesheets/sandbox.css +0 -3
  313. data/assets/stylesheets/sandbox/builder.scss +0 -79
  314. data/assets/stylesheets/sandbox/sandbox.scss +0 -18
  315. data/assets/stylesheets/themes/amelia-bootstrap.css +0 -826
  316. data/assets/stylesheets/themes/slate-bootstrap.css +0 -797
  317. data/assets/stylesheets/themes/superhero-bootstrap.css +0 -830
  318. data/lib/generators/luca/application/templates/javascripts/application.js +0 -28
  319. data/lib/generators/luca/application/templates/javascripts/application.js.coffee +0 -20
  320. data/lib/generators/luca/application/templates/javascripts/config.js +0 -15
  321. data/lib/generators/luca/application/templates/javascripts/config.js.coffee +0 -9
  322. data/lib/generators/luca/application/templates/javascripts/dependencies.js +0 -5
  323. data/lib/generators/luca/application/templates/javascripts/dependencies.js.coffee +0 -5
  324. data/lib/generators/luca/application/templates/javascripts/index.js +0 -9
  325. data/lib/generators/luca/application/templates/javascripts/index.js.coffee +0 -9
  326. data/lib/generators/luca/application/templates/javascripts/main.js +0 -8
  327. data/lib/generators/luca/application/templates/javascripts/main.js.coffee +0 -3
  328. data/lib/generators/luca/application/templates/javascripts/main.jst.ejs +0 -1
  329. data/lib/generators/luca/application/templates/javascripts/router.js +0 -12
  330. data/lib/generators/luca/application/templates/javascripts/router.js.coffee +0 -7
  331. data/lib/luca/code_browser.rb +0 -55
  332. data/lib/luca/command_line.rb +0 -69
  333. data/spec/components/form_view_spec.coffee +0 -84
  334. data/spec/containers/column_view_spec.coffee +0 -0
  335. data/spec/containers/split_view_spec.coffee +0 -0
  336. data/src/components/base_toolbar.coffee +0 -17
  337. data/src/components/fields/select_field.coffee +0 -96
  338. data/src/components/fields/text_area_field.coffee +0 -42
  339. data/src/components/form_button_toolbar.coffee +0 -28
  340. data/src/components/form_view.coffee +0 -282
  341. data/src/components/grid_view.coffee +0 -269
  342. data/src/components/index.coffee +0 -1
  343. data/src/components/load_mask.coffee +0 -3
  344. data/src/components/nav_bar.coffee +0 -22
  345. data/src/components/page_controller.coffee +0 -2
  346. data/src/components/table_view.coffee +0 -69
  347. data/src/components/template.coffee +0 -5
  348. data/src/components/toolbar_dialog.coffee +0 -25
  349. data/src/concerns/collection_event_bindings.coffee +0 -26
  350. data/src/concerns/modal_view.coffee +0 -38
  351. data/src/concerns/state_model.coffee +0 -16
  352. data/src/containers/column_view.coffee +0 -42
  353. data/src/containers/page_view.coffee +0 -2
  354. data/src/containers/panel_view.coffee +0 -23
  355. data/src/containers/split_view.coffee +0 -8
  356. data/src/core/core.coffee +0 -0
  357. data/src/core/panel.coffee +0 -118
  358. data/src/core/view.coffee +0 -172
  359. data/src/index.coffee +0 -25
  360. data/src/managers/socket_manager.coffee +0 -54
  361. data/src/plugins/development_tool_helpers.coffee +0 -21
  362. data/src/samples/definition.coffee +0 -49
  363. data/src/stylesheets/base.scss +0 -0
  364. data/src/stylesheets/components/form_view.scss +0 -59
  365. data/src/stylesheets/components/toolbar.scss +0 -0
  366. data/src/stylesheets/containers/container.scss +0 -11
  367. data/src/stylesheets/tools/class_browser.scss +0 -32
  368. data/src/stylesheets/tools/code_editor.scss +0 -24
  369. data/src/stylesheets/tools/component_tester.scss +0 -26
  370. data/src/templates/components/nav_bar.jst.ejs +0 -4
  371. data/src/templates/containers/tab_view.jst.ejs +0 -2
  372. data/src/tools/application_inspector.coffee +0 -2
  373. data/src/tools/code_editor.coffee +0 -258
  374. data/src/tools/coffee_script_editor.coffee +0 -82
  375. data/src/tools/collection_inspector.coffee +0 -4
  376. data/src/tools/collections/components.coffee +0 -59
  377. data/src/tools/collections/instances.coffee +0 -15
  378. data/src/tools/component_tester.coffee +0 -462
  379. data/src/tools/models/components.coffee +0 -25
  380. data/src/tools/models/instance.coffee +0 -2
  381. data/src/tools/templates/component_tester/help.luca +0 -14
  382. data/vendor/assets/javascripts/luca-ui-base.js +0 -5304
  383. data/vendor/assets/javascripts/luca-ui-bootstrap.js +0 -9
  384. data/vendor/assets/javascripts/luca-ui-development-tools.js +0 -18561
  385. data/vendor/assets/javascripts/luca-ui-development-tools.min.js +0 -15
  386. data/vendor/assets/javascripts/luca-ui-full.js +0 -6696
  387. data/vendor/assets/javascripts/luca-ui-full.min.js +0 -9
  388. data/vendor/assets/javascripts/luca-ui-spec.js +0 -6815
  389. data/vendor/assets/javascripts/luca-ui-templates.js +0 -92
  390. data/vendor/assets/luca-ui/base.css +0 -85
  391. data/vendor/assets/luca-ui/components/application.js +0 -91
  392. data/vendor/assets/luca-ui/components/base_toolbar.js +0 -23
  393. data/vendor/assets/luca-ui/components/controller.js +0 -38
  394. data/vendor/assets/luca-ui/components/fields/button_field.js +0 -45
  395. data/vendor/assets/luca-ui/components/fields/checkbox_field.js +0 -43
  396. data/vendor/assets/luca-ui/components/fields/file_upload_field.js +0 -20
  397. data/vendor/assets/luca-ui/components/fields/hidden_field.js +0 -20
  398. data/vendor/assets/luca-ui/components/fields/select_field.js +0 -97
  399. data/vendor/assets/luca-ui/components/fields/text_area_field.js +0 -48
  400. data/vendor/assets/luca-ui/components/fields/text_field.js +0 -46
  401. data/vendor/assets/luca-ui/components/fields/type_ahead_field.js +0 -13
  402. data/vendor/assets/luca-ui/components/form_button_toolbar.js +0 -32
  403. data/vendor/assets/luca-ui/components/form_view.css +0 -32
  404. data/vendor/assets/luca-ui/components/form_view.js +0 -207
  405. data/vendor/assets/luca-ui/components/grid_view.js +0 -202
  406. data/vendor/assets/luca-ui/components/record_manager.js +0 -207
  407. data/vendor/assets/luca-ui/components/router.js +0 -36
  408. data/vendor/assets/luca-ui/components/template.js +0 -26
  409. data/vendor/assets/luca-ui/components/toolbar.css +0 -11
  410. data/vendor/assets/luca-ui/containers/card_view.js +0 -98
  411. data/vendor/assets/luca-ui/containers/column_view.js +0 -52
  412. data/vendor/assets/luca-ui/containers/container.css +0 -3
  413. data/vendor/assets/luca-ui/containers/modal_view.css +0 -0
  414. data/vendor/assets/luca-ui/containers/modal_view.js +0 -87
  415. data/vendor/assets/luca-ui/containers/panel_view.js +0 -34
  416. data/vendor/assets/luca-ui/containers/split_view.js +0 -13
  417. data/vendor/assets/luca-ui/containers/tab_view.css +0 -16
  418. data/vendor/assets/luca-ui/containers/tab_view.js +0 -80
  419. data/vendor/assets/luca-ui/containers/viewport.js +0 -18
  420. data/vendor/assets/luca-ui/core/collection.js +0 -221
  421. data/vendor/assets/luca-ui/core/container.js +0 -205
  422. data/vendor/assets/luca-ui/core/field.js +0 -59
  423. data/vendor/assets/luca-ui/core/observer.js +0 -42
  424. data/vendor/assets/luca-ui/core/view.js +0 -127
  425. data/vendor/assets/luca-ui/framework.js +0 -110
  426. data/vendor/assets/luca-ui/index.js +0 -5
  427. data/vendor/assets/luca-ui/managers/collection_manager.js +0 -98
  428. data/vendor/assets/luca-ui/managers/socket_manager.js +0 -52
  429. data/vendor/assets/luca-ui/modules/deferrable.js +0 -21
  430. data/vendor/assets/luca-ui/modules/local_storage.js +0 -81
  431. data/vendor/assets/luca-ui/normalize.css +0 -359
  432. data/vendor/assets/luca-ui/stylesheets/base.css +0 -85
  433. data/vendor/assets/luca-ui/stylesheets/components/form_view.css +0 -32
  434. data/vendor/assets/luca-ui/stylesheets/components/grid_view.css +0 -76
  435. data/vendor/assets/luca-ui/stylesheets/components/toolbar.css +0 -11
  436. data/vendor/assets/luca-ui/stylesheets/containers/container.css +0 -3
  437. data/vendor/assets/luca-ui/stylesheets/containers/modal_view.css +0 -0
  438. data/vendor/assets/luca-ui/stylesheets/containers/tab_view.css +0 -16
  439. data/vendor/assets/luca-ui/stylesheets/normalize.css +0 -359
  440. data/vendor/assets/luca-ui/templates/components/bootstrap_form_controls.js +0 -4
  441. data/vendor/assets/luca-ui/templates/components/form_view.js +0 -4
  442. data/vendor/assets/luca-ui/templates/components/grid_view.js +0 -4
  443. data/vendor/assets/luca-ui/templates/components/grid_view_empty_text.js +0 -4
  444. data/vendor/assets/luca-ui/templates/containers/basic.js +0 -4
  445. data/vendor/assets/luca-ui/templates/containers/tab_selector_container.js +0 -4
  446. data/vendor/assets/luca-ui/templates/containers/tab_view.js +0 -4
  447. data/vendor/assets/luca-ui/templates/containers/toolbar_wrapper.js +0 -4
  448. data/vendor/assets/luca-ui/templates/fields/button_field.js +0 -4
  449. data/vendor/assets/luca-ui/templates/fields/button_field_link.js +0 -4
  450. data/vendor/assets/luca-ui/templates/fields/checkbox_field.js +0 -4
  451. data/vendor/assets/luca-ui/templates/fields/file_upload_field.js +0 -4
  452. data/vendor/assets/luca-ui/templates/fields/hidden_field.js +0 -4
  453. data/vendor/assets/luca-ui/templates/fields/select_field.js +0 -4
  454. data/vendor/assets/luca-ui/templates/fields/text_area_field.js +0 -4
  455. data/vendor/assets/luca-ui/templates/fields/text_field.js +0 -4
  456. data/vendor/assets/luca-ui/templates/sample/contents.js +0 -4
  457. data/vendor/assets/luca-ui/templates/sample/welcome.js +0 -4
@@ -1,202 +0,0 @@
1
- (function() {
2
-
3
- Luca.components.GridView = Luca.View.extend({
4
- events: {
5
- "dblclick .grid-view-row": "double_click_handler",
6
- "click .grid-view-row": "click_handler"
7
- },
8
- className: 'luca-ui-grid-view',
9
- scrollable: true,
10
- emptyText: 'No Results To display',
11
- tableStyle: 'striped',
12
- hooks: ["before:grid:render", "before:render:header", "before:render:row", "after:grid:render", "row:double:click", "row:click", "after:collection:load"],
13
- initialize: function(options) {
14
- var _this = this;
15
- this.options = options != null ? options : {};
16
- _.extend(this, this.options);
17
- _.extend(this, Luca.modules.Deferrable);
18
- Luca.View.prototype.initialize.apply(this, arguments);
19
- _.bindAll(this, "double_click_handler", "click_handler");
20
- this.configure_collection();
21
- return this.collection.bind("reset", function(collection) {
22
- _this.refresh();
23
- return _this.trigger("after:collection:load", collection);
24
- });
25
- },
26
- beforeRender: function() {
27
- var _ref,
28
- _this = this;
29
- this.trigger("before:grid:render", this);
30
- if (this.scrollable) this.$el.addClass('scrollable-grid-view');
31
- this.$el.html(Luca.templates["components/grid_view"]());
32
- this.table = $('table.luca-ui-grid-view', this.el);
33
- this.header = $("thead", this.table);
34
- this.body = $("tbody", this.table);
35
- this.footer = $("tfoot", this.table);
36
- if (Luca.enableBootstrap) this.table.addClass('table');
37
- _((_ref = this.tableStyle) != null ? _ref.split(" ") : void 0).each(function(style) {
38
- return _this.table.addClass("table-" + style);
39
- });
40
- if (this.scrollable) this.setDimensions();
41
- this.renderHeader();
42
- this.emptyMessage();
43
- this.renderToolbars();
44
- return $(this.container).append(this.$el);
45
- },
46
- toolbarContainers: function(position) {
47
- if (position == null) position = "bottom";
48
- return $(".toolbar-container." + position, this.el);
49
- },
50
- renderToolbars: function() {
51
- var _this = this;
52
- return _(this.toolbars).each(function(toolbar) {
53
- toolbar = Luca.util.lazyComponent(toolbar);
54
- toolbar.container = _this.toolbarContainers(toolbar.position);
55
- return toolbar.render();
56
- });
57
- },
58
- setDimensions: function(offset) {
59
- var _this = this;
60
- this.height || (this.height = 285);
61
- $('.grid-view-body', this.el).height(this.height);
62
- $('tbody.scrollable', this.el).height(this.height - 23);
63
- this.container_width = (function() {
64
- return $(_this.container).width();
65
- })();
66
- this.width = this.container_width > 0 ? this.container_width : 756;
67
- $('.grid-view-body', this.el).width(this.width);
68
- $('.grid-view-body table', this.el).width(this.width);
69
- return this.setDefaultColumnWidths();
70
- },
71
- resize: function(newWidth) {
72
- var difference, distribution,
73
- _this = this;
74
- difference = newWidth - this.width;
75
- this.width = newWidth;
76
- $('.grid-view-body', this.el).width(this.width);
77
- $('.grid-view-body table', this.el).width(this.width);
78
- if (this.columns.length > 0) {
79
- distribution = difference / this.columns.length;
80
- return _(this.columns).each(function(col, index) {
81
- var column;
82
- column = $(".column-" + index, _this.el);
83
- return column.width(col.width = col.width + distribution);
84
- });
85
- }
86
- },
87
- padLastColumn: function() {
88
- var configured_column_widths, unused_width;
89
- configured_column_widths = _(this.columns).inject(function(sum, column) {
90
- return sum = column.width + sum;
91
- }, 0);
92
- unused_width = this.width - configured_column_widths;
93
- if (unused_width > 0) return this.lastColumn().width += unused_width;
94
- },
95
- setDefaultColumnWidths: function() {
96
- var default_column_width;
97
- default_column_width = this.columns.length > 0 ? this.width / this.columns.length : 200;
98
- _(this.columns).each(function(column) {
99
- return parseInt(column.width || (column.width = default_column_width));
100
- });
101
- return this.padLastColumn();
102
- },
103
- lastColumn: function() {
104
- return this.columns[this.columns.length - 1];
105
- },
106
- afterRender: function() {
107
- this.refresh();
108
- return this.trigger("after:grid:render", this);
109
- },
110
- emptyMessage: function(text) {
111
- if (text == null) text = "";
112
- text || (text = this.emptyText);
113
- this.body.html('');
114
- return this.body.append(Luca.templates["components/grid_view_empty_text"]({
115
- colspan: this.columns.length,
116
- text: text
117
- }));
118
- },
119
- refresh: function() {
120
- var _this = this;
121
- this.body.html('');
122
- this.collection.each(function(model, index) {
123
- return _this.render_row.apply(_this, [model, index]);
124
- });
125
- if (this.collection.models.length === 0) return this.emptyMessage();
126
- },
127
- ifLoaded: function(fn, scope) {
128
- scope || (scope = this);
129
- fn || (fn = function() {
130
- return true;
131
- });
132
- return this.collection.ifLoaded(fn, scope);
133
- },
134
- applyFilter: function(values, options) {
135
- if (options == null) {
136
- options = {
137
- auto: true,
138
- refresh: true
139
- };
140
- }
141
- return this.collection.applyFilter(values, options);
142
- },
143
- renderHeader: function() {
144
- var headers,
145
- _this = this;
146
- this.trigger("before:render:header");
147
- headers = _(this.columns).map(function(column, column_index) {
148
- var style;
149
- style = column.width ? "width:" + column.width + "px;" : "";
150
- return "<th style='" + style + "' class='column-" + column_index + "'>" + column.header + "</th>";
151
- });
152
- return this.header.append("<tr>" + headers + "</tr>");
153
- },
154
- render_row: function(row, row_index) {
155
- var alt_class, cells, model_id, _ref,
156
- _this = this;
157
- model_id = (row != null ? row.get : void 0) && (row != null ? row.attributes : void 0) ? row.get('id') : '';
158
- this.trigger("before:render:row", row, row_index);
159
- cells = _(this.columns).map(function(column, col_index) {
160
- var display, style, value;
161
- value = _this.cell_renderer(row, column, col_index);
162
- style = column.width ? "width:" + column.width + "px;" : "";
163
- display = _.isUndefined(value) ? "" : value;
164
- return "<td style='" + style + "' class='column-" + col_index + "'>" + display + "</td>";
165
- });
166
- if (this.alternateRowClasses) {
167
- alt_class = row_index % 2 === 0 ? "even" : "odd";
168
- }
169
- return (_ref = this.body) != null ? _ref.append("<tr data-record-id='" + model_id + "' data-row-index='" + row_index + "' class='grid-view-row " + alt_class + "' id='row-" + row_index + "'>" + cells + "</tr>") : void 0;
170
- },
171
- cell_renderer: function(row, column, columnIndex) {
172
- var source;
173
- if (_.isFunction(column.renderer)) {
174
- return column.renderer.apply(this, [row, column, columnIndex]);
175
- } else if (column.data.match(/\w+\.\w+/)) {
176
- source = row.attributes || row;
177
- return Luca.util.nestedValue(column.data, source);
178
- } else {
179
- return (typeof row.get === "function" ? row.get(column.data) : void 0) || row[column.data];
180
- }
181
- },
182
- double_click_handler: function(e) {
183
- var me, my, record, rowIndex;
184
- me = my = $(e.currentTarget);
185
- rowIndex = my.data('row-index');
186
- record = this.collection.at(rowIndex);
187
- return this.trigger("row:double:click", this, record, rowIndex);
188
- },
189
- click_handler: function(e) {
190
- var me, my, record, rowIndex;
191
- me = my = $(e.currentTarget);
192
- rowIndex = my.data('row-index');
193
- record = this.collection.at(rowIndex);
194
- this.trigger("row:click", this, record, rowIndex);
195
- $('.grid-view-row', this.body).removeClass('selected-row');
196
- return me.addClass('selected-row');
197
- }
198
- });
199
-
200
- Luca.register("grid_view", "Luca.components.GridView");
201
-
202
- }).call(this);
@@ -1,207 +0,0 @@
1
- (function() {
2
-
3
- Luca.components.RecordManager = Luca.containers.CardView.extend({
4
- events: {
5
- "click .record-manager-grid .edit-link": "edit_handler",
6
- "click .record-manager-filter .filter-button": "filter_handler",
7
- "click .record-manager-filter .reset-button": "reset_filter_handler",
8
- "click .add-button": "add_handler",
9
- "click .refresh-button": "filter_handler",
10
- "click .back-to-search-button": "back_to_search_handler"
11
- },
12
- record_manager: true,
13
- initialize: function(options) {
14
- var _this = this;
15
- this.options = options != null ? options : {};
16
- Luca.containers.CardView.prototype.initialize.apply(this, arguments);
17
- if (!this.name) throw "Record Managers must specify a name";
18
- _.bindAll(this, "add_handler", "edit_handler", "filter_handler", "reset_filter_handler");
19
- if (this.filterConfig) _.extend(this.components[0][0], this.filterConfig);
20
- if (this.gridConfig) _.extend(this.components[0][1], this.gridConfig);
21
- if (this.editorConfig) _.extend(this.components[1][0], this.editorConfig);
22
- return this.bind("after:card:switch", function() {
23
- if (_this.activeCard === 0) _this.trigger("activation:search", _this);
24
- if (_this.activeCard === 1) {
25
- return _this.trigger("activation:editor", _this);
26
- }
27
- });
28
- },
29
- components: [
30
- {
31
- ctype: 'split_view',
32
- relayFirstActivation: true,
33
- components: [
34
- {
35
- ctype: 'form_view'
36
- }, {
37
- ctype: 'grid_view'
38
- }
39
- ]
40
- }, {
41
- ctype: 'form_view'
42
- }
43
- ],
44
- getSearch: function(activate, reset) {
45
- if (activate == null) activate = false;
46
- if (reset == null) reset = true;
47
- if (activate === true) this.activate(0);
48
- if (reset === true) this.getEditor().clear();
49
- return _.first(this.components);
50
- },
51
- getFilter: function() {
52
- return _.first(this.getSearch().components);
53
- },
54
- getGrid: function() {
55
- return _.last(this.getSearch().components);
56
- },
57
- getCollection: function() {
58
- return this.getGrid().collection;
59
- },
60
- getEditor: function(activate, reset) {
61
- var _this = this;
62
- if (activate == null) activate = false;
63
- if (reset == null) reset = false;
64
- if (activate === true) {
65
- this.activate(1, function(activator, previous, current) {
66
- return current.reset();
67
- });
68
- }
69
- return _.last(this.components);
70
- },
71
- beforeRender: function() {
72
- var _ref;
73
- this.$el.addClass("" + this.resource + "-manager");
74
- if ((_ref = Luca.containers.CardView.prototype.beforeRender) != null) {
75
- _ref.apply(this, arguments);
76
- }
77
- this.$el.addClass("" + this.resource + " record-manager");
78
- this.$el.data('resource', this.resource);
79
- $(this.getGrid().el).addClass("" + this.resource + " record-manager-grid");
80
- $(this.getFilter().el).addClass("" + this.resource + " record-manager-filter");
81
- return $(this.getEditor().el).addClass("" + this.resource + " record-manager-editor");
82
- },
83
- afterRender: function() {
84
- var collection, editor, filter, grid, manager, _ref,
85
- _this = this;
86
- if ((_ref = Luca.containers.CardView.prototype.afterRender) != null) {
87
- _ref.apply(this, arguments);
88
- }
89
- manager = this;
90
- grid = this.getGrid();
91
- filter = this.getFilter();
92
- editor = this.getEditor();
93
- collection = this.getCollection();
94
- grid.bind("row:double:click", function(grid, model, index) {
95
- manager.getEditor(true);
96
- return editor.loadModel(model);
97
- });
98
- editor.bind("before:submit", function() {
99
- $('.form-view-flash-container', _this.el).html('');
100
- return $('.form-view-body', _this.el).spin("large");
101
- });
102
- editor.bind("after:submit", function() {
103
- return $('.form-view-body', _this.el).spin(false);
104
- });
105
- editor.bind("after:submit:fatal_error", function() {
106
- $('.form-view-flash-container', _this.el).append("<li class='error'>There was an internal server error saving this record. Please contact developers@benchprep.com to report this error.</li>");
107
- return $('.form-view-body', _this.el).spin(false);
108
- });
109
- editor.bind("after:submit:error", function(form, model, response) {
110
- return _(response.errors).each(function(error) {
111
- return $('.form-view-flash-container', _this.el).append("<li class='error'>" + error + "</li>");
112
- });
113
- });
114
- editor.bind("after:submit:success", function(form, model, response) {
115
- $('.form-view-flash-container', _this.el).append("<li class='success'>Successfully Saved Record</li>");
116
- model.set(response.result);
117
- form.loadModel(model);
118
- grid.refresh();
119
- return _.delay(function() {
120
- $('.form-view-flash-container li.success', _this.el).fadeOut(1000);
121
- return $('.form-view-flash-container', _this.el).html('');
122
- }, 4000);
123
- });
124
- return filter.eachComponent(function(component) {
125
- try {
126
- return component.bind("on:change", _this.filter_handler);
127
- } catch (e) {
128
- return;
129
- }
130
- });
131
- },
132
- firstActivation: function() {
133
- this.getGrid().trigger("first:activation", this, this.getGrid());
134
- return this.getFilter().trigger("first:activation", this, this.getGrid());
135
- },
136
- reload: function() {
137
- var editor, filter, grid, manager;
138
- manager = this;
139
- grid = this.getGrid();
140
- filter = this.getFilter();
141
- editor = this.getEditor();
142
- filter.clear();
143
- return grid.applyFilter();
144
- },
145
- manageRecord: function(record_id) {
146
- var model,
147
- _this = this;
148
- model = this.getCollection().get(record_id);
149
- if (model) return this.loadModel(model);
150
- console.log("Could Not Find Model, building and fetching");
151
- model = this.buildModel();
152
- model.set({
153
- id: record_id
154
- }, {
155
- silent: true
156
- });
157
- return model.fetch({
158
- success: function(model, response) {
159
- return _this.loadModel(model);
160
- }
161
- });
162
- },
163
- loadModel: function(current_model) {
164
- this.current_model = current_model;
165
- this.getEditor(true).loadModel(this.current_model);
166
- return this.trigger("model:loaded", this.current_model);
167
- },
168
- currentModel: function() {
169
- return this.getEditor(false).currentModel();
170
- },
171
- buildModel: function() {
172
- var collection, editor, model;
173
- editor = this.getEditor(false);
174
- collection = this.getCollection();
175
- collection.add([{}], {
176
- silent: true,
177
- at: 0
178
- });
179
- return model = collection.at(0);
180
- },
181
- createModel: function() {
182
- return this.loadModel(this.buildModel());
183
- },
184
- reset_filter_handler: function(e) {
185
- this.getFilter().clear();
186
- return this.getGrid().applyFilter(this.getFilter().getValues());
187
- },
188
- filter_handler: function(e) {
189
- return this.getGrid().applyFilter(this.getFilter().getValues());
190
- },
191
- edit_handler: function(e) {
192
- var me, model, my, record_id;
193
- me = my = $(e.currentTarget);
194
- record_id = my.parents('tr').data('record-id');
195
- if (record_id) model = this.getGrid().collection.get(record_id);
196
- return model || (model = this.getGrid().collection.at(row_index));
197
- },
198
- add_handler: function(e) {
199
- var me, my, resource;
200
- me = my = $(e.currentTarget);
201
- return resource = my.parents('.record-manager').eq(0).data('resource');
202
- },
203
- destroy_handler: function(e) {},
204
- back_to_search_handler: function() {}
205
- });
206
-
207
- }).call(this);
@@ -1,36 +0,0 @@
1
- (function() {
2
-
3
- Luca.Router = Backbone.Router.extend({
4
- routes: {
5
- "": "default"
6
- },
7
- initialize: function(options) {
8
- var _this = this;
9
- this.options = options;
10
- _.extend(this, this.options);
11
- this.routeHandlers = _(this.routes).values();
12
- return _(this.routeHandlers).each(function(route_id) {
13
- return _this.bind("route:" + route_id, function() {
14
- return _this.trigger.apply(_this, ["change:navigation", route_id].concat(_(arguments).flatten()));
15
- });
16
- });
17
- },
18
- navigate: function(route, triggerRoute) {
19
- if (triggerRoute == null) triggerRoute = false;
20
- Backbone.Router.prototype.navigate.apply(this, arguments);
21
- return this.buildPathFrom(Backbone.history.getFragment());
22
- },
23
- buildPathFrom: function(matchedRoute) {
24
- var _this = this;
25
- return _(this.routes).each(function(route_id, route) {
26
- var args, regex;
27
- regex = _this._routeToRegExp(route);
28
- if (regex.test(matchedRoute)) {
29
- args = _this._extractParameters(regex, matchedRoute);
30
- return _this.trigger.apply(_this, ["change:navigation", route_id].concat(args));
31
- }
32
- });
33
- }
34
- });
35
-
36
- }).call(this);
@@ -1,26 +0,0 @@
1
- (function() {
2
-
3
- Luca.components.Template = Luca.View.extend({
4
- initialize: function(options) {
5
- this.options = options != null ? options : {};
6
- Luca.View.prototype.initialize.apply(this, arguments);
7
- if (!(this.template || this.markup)) {
8
- throw "Templates must specify which template / markup to use";
9
- }
10
- if (_.isString(this.templateContainer)) {
11
- return this.templateContainer = eval("(window || global)." + this.templateContainer);
12
- }
13
- },
14
- templateContainer: "Luca.templates",
15
- beforeRender: function() {
16
- if (_.isUndefined(this.templateContainer)) this.templateContainer = JST;
17
- return this.$el.html(this.markup || this.templateContainer[this.template](this.options));
18
- },
19
- render: function() {
20
- return $(this.container).append(this.$el);
21
- }
22
- });
23
-
24
- Luca.register("template", "Luca.components.Template");
25
-
26
- }).call(this);