luca 0.9.7 → 0.9.8

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 (377) hide show
  1. data/CHANGELOG +38 -0
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +27 -0
  4. data/README.md +45 -42
  5. data/ROADMAP +6 -29
  6. data/{assets → app/assets}/images/glyphicons-halflings-white.png +0 -0
  7. data/{assets → app/assets}/images/glyphicons-halflings.png +0 -0
  8. data/app/assets/javascripts/luca/basic.coffee +8 -0
  9. data/{src → app/assets/javascripts/luca}/components/application.coffee +153 -40
  10. data/{src → app/assets/javascripts/luca}/components/base_toolbar.coffee +2 -2
  11. data/{src → app/assets/javascripts/luca}/components/collection_loader_view.coffee +0 -0
  12. data/{src → app/assets/javascripts/luca}/components/collection_view.coffee +45 -104
  13. data/app/assets/javascripts/luca/components/controller.coffee +99 -0
  14. data/{src/core/field.coffee → app/assets/javascripts/luca/components/fields/base.coffee} +1 -1
  15. data/{src → app/assets/javascripts/luca}/components/fields/button_field.coffee +1 -2
  16. data/{src → app/assets/javascripts/luca}/components/fields/checkbox_array.coffee +0 -0
  17. data/{src → app/assets/javascripts/luca}/components/fields/checkbox_field.coffee +0 -0
  18. data/{src → app/assets/javascripts/luca}/components/fields/file_upload_field.coffee +0 -0
  19. data/{src → app/assets/javascripts/luca}/components/fields/hidden_field.coffee +0 -0
  20. data/{src → app/assets/javascripts/luca}/components/fields/label_field.coffee +0 -0
  21. data/{src → app/assets/javascripts/luca}/components/fields/select_field.coffee +8 -4
  22. data/{src → app/assets/javascripts/luca}/components/fields/text_area_field.coffee +3 -2
  23. data/{src → app/assets/javascripts/luca}/components/fields/text_field.coffee +2 -3
  24. data/{src → app/assets/javascripts/luca}/components/fields/type_ahead_field.coffee +0 -0
  25. data/{src → app/assets/javascripts/luca}/components/form_button_toolbar.coffee +0 -0
  26. data/{src → app/assets/javascripts/luca}/components/form_view.coffee +111 -44
  27. data/{src → app/assets/javascripts/luca}/components/grid_view.coffee +6 -6
  28. data/{src → app/assets/javascripts/luca}/components/index.coffee +0 -0
  29. data/app/assets/javascripts/luca/components/load_mask.coffee +8 -0
  30. data/app/assets/javascripts/luca/components/multi_collection_view.coffee +92 -0
  31. data/{src → app/assets/javascripts/luca}/components/nav_bar.coffee +5 -1
  32. data/app/assets/javascripts/luca/components/page_controller.coffee +7 -0
  33. data/{src → app/assets/javascripts/luca}/components/pagination_control.coffee +13 -13
  34. data/{src → app/assets/javascripts/luca}/components/record_manager.coffee +0 -0
  35. data/{src → app/assets/javascripts/luca}/components/router.coffee +6 -1
  36. data/app/assets/javascripts/luca/components/table_view.coffee +89 -0
  37. data/{src → app/assets/javascripts/luca}/components/template.coffee +0 -0
  38. data/{src → app/assets/javascripts/luca}/components/toolbar_dialog.coffee +0 -0
  39. data/{src → app/assets/javascripts/luca}/concerns/application_event_bindings.coffee +1 -1
  40. data/app/assets/javascripts/luca/concerns/collection_event_bindings.coffee +44 -0
  41. data/{src → app/assets/javascripts/luca}/concerns/deferrable.coffee +1 -2
  42. data/{src/plugins → app/assets/javascripts/luca/concerns}/development_tool_helpers.coffee +1 -1
  43. data/{src → app/assets/javascripts/luca}/concerns/dom_helpers.coffee +10 -7
  44. data/{src → app/assets/javascripts/luca}/concerns/enhanced_properties.coffee +0 -0
  45. data/app/assets/javascripts/luca/concerns/filterable.coffee +104 -0
  46. data/{src → app/assets/javascripts/luca}/concerns/grid_layout.coffee +0 -0
  47. data/{src → app/assets/javascripts/luca}/concerns/loadmaskable.coffee +17 -11
  48. data/{src → app/assets/javascripts/luca}/concerns/local_storage.coffee +0 -0
  49. data/{src → app/assets/javascripts/luca}/concerns/modal_view.coffee +0 -0
  50. data/{src → app/assets/javascripts/luca}/concerns/model_presenter.coffee +0 -0
  51. data/{src → app/assets/javascripts/luca}/concerns/paginatable.coffee +6 -14
  52. data/app/assets/javascripts/luca/concerns/query_collection_bindings.coffee +46 -0
  53. data/app/assets/javascripts/luca/concerns/sortable.coffee +69 -0
  54. data/app/assets/javascripts/luca/concerns/state_model.coffee +44 -0
  55. data/{src → app/assets/javascripts/luca}/concerns/templating.coffee +4 -1
  56. data/app/assets/javascripts/luca/config.coffee +49 -0
  57. data/{src → app/assets/javascripts/luca}/containers/card_view.coffee +30 -13
  58. data/{src/core → app/assets/javascripts/luca/containers}/container.coffee +57 -18
  59. data/app/assets/javascripts/luca/containers/index.coffee +2 -0
  60. data/{src → app/assets/javascripts/luca}/containers/modal_view.coffee +1 -1
  61. data/{src → app/assets/javascripts/luca}/containers/panel_toolbar.coffee +1 -1
  62. data/{src → app/assets/javascripts/luca}/containers/tab_view.coffee +1 -1
  63. data/{src → app/assets/javascripts/luca}/containers/viewport.coffee +4 -4
  64. data/{src → app/assets/javascripts/luca}/core/collection.coffee +58 -49
  65. data/{src/plugins → app/assets/javascripts/luca/core}/events.coffee +34 -2
  66. data/app/assets/javascripts/luca/core/index.coffee +12 -0
  67. data/{src → app/assets/javascripts/luca}/core/model.coffee +1 -1
  68. data/{src → app/assets/javascripts/luca}/core/observer.coffee +0 -0
  69. data/app/assets/javascripts/luca/core/panel.coffee +112 -0
  70. data/app/assets/javascripts/luca/core/registry/component_definition.coffee +318 -0
  71. data/{src → app/assets/javascripts/luca/core/registry}/concerns.coffee +0 -0
  72. data/app/assets/javascripts/luca/core/registry/index.coffee +4 -0
  73. data/app/assets/javascripts/luca/core/registry/meta_data.coffee +97 -0
  74. data/{src/core → app/assets/javascripts/luca/core/registry}/registry.coffee +10 -6
  75. data/app/assets/javascripts/luca/core/templates.coffee +47 -0
  76. data/{src → app/assets/javascripts/luca}/core/view.coffee +69 -11
  77. data/app/assets/javascripts/luca/dependencies.coffee +7 -0
  78. data/{src/tools → app/assets/javascripts/luca/development}/code_mirror_field.coffee +2 -1
  79. data/{src/tools → app/assets/javascripts/luca/development}/console.coffee +6 -5
  80. data/app/assets/javascripts/luca/development/index.coffee +2 -0
  81. data/{src → app/assets/javascripts/luca}/framework.coffee +74 -90
  82. data/app/assets/javascripts/luca/index.coffee +8 -0
  83. data/{src → app/assets/javascripts/luca}/managers/collection_manager.coffee +16 -7
  84. data/app/assets/javascripts/luca/managers/index.coffee +2 -0
  85. data/app/assets/javascripts/luca/managers/socket_manager.coffee +66 -0
  86. data/{src → app/assets/javascripts/luca}/templates/components/bootstrap_form_controls.jst.ejs +0 -0
  87. data/{src → app/assets/javascripts/luca}/templates/components/collection_loader_view.jst.ejs +0 -0
  88. data/{src → app/assets/javascripts/luca}/templates/components/form_alert.jst.ejs +0 -0
  89. data/{src → app/assets/javascripts/luca}/templates/components/grid_view.jst.ejs +0 -0
  90. data/{src → app/assets/javascripts/luca}/templates/components/grid_view_empty_text.jst.ejs +0 -0
  91. data/{src → app/assets/javascripts/luca}/templates/components/load_mask.jst.ejs +0 -0
  92. data/{src → app/assets/javascripts/luca}/templates/components/nav_bar.jst.ejs +0 -0
  93. data/{src → app/assets/javascripts/luca}/templates/components/pagination.jst.ejs +0 -0
  94. data/{src/templates → app/assets/javascripts/luca/templates/components}/table_view.jst.ejs +0 -0
  95. data/{src → app/assets/javascripts/luca}/templates/containers/basic.jst.ejs +0 -0
  96. data/{src → app/assets/javascripts/luca}/templates/containers/tab_selector_container.jst.ejs +0 -0
  97. data/{src → app/assets/javascripts/luca}/templates/containers/tab_view.jst.ejs +0 -0
  98. data/{src → app/assets/javascripts/luca}/templates/containers/toolbar_wrapper.jst.ejs +0 -0
  99. data/{src → app/assets/javascripts/luca}/templates/fields/button_field.jst.ejs +0 -0
  100. data/{src → app/assets/javascripts/luca}/templates/fields/button_field_link.jst.ejs +0 -0
  101. data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_array.jst.ejs +0 -0
  102. data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_array_item.jst.ejs +0 -0
  103. data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_field.jst.ejs +0 -0
  104. data/{src → app/assets/javascripts/luca}/templates/fields/file_upload_field.jst.ejs +0 -0
  105. data/{src → app/assets/javascripts/luca}/templates/fields/hidden_field.jst.ejs +0 -0
  106. data/{src → app/assets/javascripts/luca}/templates/fields/select_field.jst.ejs +0 -0
  107. data/{src → app/assets/javascripts/luca}/templates/fields/text_area_field.jst.ejs +1 -1
  108. data/{src → app/assets/javascripts/luca}/templates/fields/text_field.jst.ejs +1 -1
  109. data/app/assets/javascripts/luca/util/deprecations.coffee +18 -0
  110. data/app/assets/javascripts/luca/util/index.coffee +3 -0
  111. data/app/assets/javascripts/luca/util/logging.coffee +15 -0
  112. data/{src/util.coffee → app/assets/javascripts/luca/util/luca.coffee} +20 -4
  113. data/{src/core → app/assets/javascripts/luca/util}/script_loader.coffee +0 -0
  114. data/app/assets/javascripts/luca-ui.js +1 -0
  115. data/{src/stylesheets → app/assets/stylesheets/luca}/components/checkbox_array.scss +0 -0
  116. data/app/assets/stylesheets/luca/components/form_view.scss +7 -0
  117. data/{src/stylesheets → app/assets/stylesheets/luca}/components/grid_view.scss +0 -0
  118. data/{src/stylesheets → app/assets/stylesheets/luca}/components/load_mask.scss +0 -0
  119. data/{src/stylesheets → app/assets/stylesheets/luca}/components/viewport.scss +0 -0
  120. data/{src/stylesheets → app/assets/stylesheets/luca}/containers/container.scss +0 -0
  121. data/{src/stylesheets → app/assets/stylesheets/luca}/containers/modal_view.scss +0 -0
  122. data/{src/stylesheets → app/assets/stylesheets/luca}/containers/panels.scss +0 -0
  123. data/{src/stylesheets → app/assets/stylesheets/luca}/containers/tab_view.scss +0 -0
  124. data/{src/stylesheets/tools → app/assets/stylesheets/luca/development}/console.scss +0 -0
  125. data/app/assets/stylesheets/luca/development/index.css +3 -0
  126. data/app/assets/stylesheets/luca/index.css +4 -0
  127. data/{src/stylesheets → app/assets/stylesheets/luca}/normalize.scss +0 -0
  128. data/app.rb +2 -4
  129. data/lib/generators/luca/application/application_generator.rb +12 -8
  130. data/lib/generators/luca/application/templates/controller.rb +0 -2
  131. data/lib/generators/luca/application/templates/index.html.erb +12 -0
  132. data/lib/generators/luca/application/templates/index.html.haml +1 -0
  133. data/lib/generators/luca/application/templates/javascripts/application.coffee +18 -0
  134. data/lib/generators/luca/application/templates/javascripts/collection_manager.coffee +2 -0
  135. data/lib/generators/luca/application/templates/javascripts/config.coffee +3 -0
  136. data/lib/generators/luca/application/templates/javascripts/{dependencies.js.coffee → dependencies.coffee} +1 -0
  137. data/lib/generators/luca/application/templates/javascripts/home.jst.ejs +2 -0
  138. data/lib/generators/luca/application/templates/javascripts/index.coffee +15 -0
  139. data/lib/generators/luca/application/templates/javascripts/router.coffee +4 -0
  140. data/lib/luca/component_documentation.rb +72 -0
  141. data/lib/luca/rails/engine.rb +4 -0
  142. data/lib/luca/rails/version.rb +1 -1
  143. data/lib/luca.rb +1 -1
  144. data/lib/railties/luca/tasks.rake +31 -0
  145. data/luca.gemspec +1 -0
  146. data/spec/components/controller_spec.coffee +62 -0
  147. data/spec/components/form_view_spec.coffee +4 -0
  148. data/spec/concerns/collection_event_bindings_spec.coffee +15 -0
  149. data/spec/concerns/dom_helpers_spec.coffee +2 -2
  150. data/spec/concerns/filterable_spec.coffee +4 -4
  151. data/spec/concerns/state_model_spec.coffee +50 -0
  152. data/spec/core/collection_spec.coffee +25 -0
  153. data/spec/{concerns_spec.coffee → core/concerns_spec.coffee} +0 -0
  154. data/spec/core/container_spec.coffee +57 -5
  155. data/spec/core/define_spec.coffee +116 -0
  156. data/spec/core/events_spec.coffee +26 -0
  157. data/spec/core/field_spec.coffee +4 -0
  158. data/spec/{framework_spec.coffee → core/framework_spec.coffee} +31 -2
  159. data/spec/{util_spec.coffee → core/util_spec.coffee} +2 -2
  160. data/spec/core/view_spec.coffee +65 -1
  161. data/spec/dependencies/index.coffee +3 -0
  162. data/{assets/javascripts → spec}/dependencies/jasmine-html.js +0 -0
  163. data/{assets/javascripts → spec}/dependencies/jasmine.js +0 -0
  164. data/{assets/javascripts → spec}/dependencies/sinon.js +0 -0
  165. data/spec/luca-spec.coffee +9 -0
  166. data/vendor/assets/javascripts/backbone-ext.js +21 -0
  167. data/vendor/assets/javascripts/backbone-min.js +38 -0
  168. data/vendor/assets/javascripts/backbone-query.min.js +1 -0
  169. data/vendor/assets/javascripts/bootstrap.min.js +7 -0
  170. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-coffeescript.js +0 -0
  171. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-css.js +0 -0
  172. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-html.js +0 -0
  173. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-javascript.js +0 -0
  174. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-less.js +0 -0
  175. data/vendor/assets/javascripts/codemirror-ui.js +503 -0
  176. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-vim.js +0 -0
  177. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror.js +0 -0
  178. data/vendor/assets/javascripts/inflections.js +656 -0
  179. data/vendor/assets/javascripts/jasmine-html.js +190 -0
  180. data/vendor/assets/javascripts/jasmine.js +2476 -0
  181. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/jquery.js +0 -0
  182. data/vendor/assets/javascripts/luca-spec.js +11 -0
  183. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/modal.js +0 -0
  184. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/modernizr.min.js +0 -0
  185. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/prettify.js +0 -0
  186. data/vendor/assets/javascripts/sinon.js +3469 -0
  187. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/spin-min.js +0 -0
  188. data/{assets/javascripts/dependencies → vendor/assets/javascripts}/underscore-min.js +0 -0
  189. data/vendor/assets/javascripts/underscore-string.min.js +1 -0
  190. data/vendor/assets/stylesheets/bootstrap-responsive.min.css +9 -0
  191. data/vendor/assets/stylesheets/bootstrap.min.css +9 -0
  192. data/{assets → vendor/assets}/stylesheets/codemirror-blackboard.css +0 -0
  193. data/{assets → vendor/assets}/stylesheets/codemirror-monokai.css +0 -0
  194. data/{assets → vendor/assets}/stylesheets/codemirror.css +0 -0
  195. data/{assets → vendor/assets}/stylesheets/jasmine.css +0 -0
  196. data/vendor/assets/stylesheets/luca-ui.css +0 -601
  197. data/views/jasmine.erb +2 -2
  198. metadata +190 -299
  199. data/assets/javascripts/dependencies/backbone-min.js +0 -37
  200. data/assets/javascripts/dependencies/backbone-query.min.js +0 -1
  201. data/assets/javascripts/dependencies/bootstrap.min.js +0 -7
  202. data/assets/javascripts/dependencies/coffee-script.js +0 -12189
  203. data/assets/javascripts/dependencies/underscore-string.min.js +0 -14
  204. data/assets/javascripts/dependencies.coffee +0 -5
  205. data/assets/javascripts/luca/index.coffee +0 -1
  206. data/assets/javascripts/luca-templates.js +0 -1
  207. data/assets/javascripts/luca-ui-base.coffee +0 -1
  208. data/assets/javascripts/luca-ui-bootstrap.js +0 -1
  209. data/assets/javascripts/luca-ui-development-tools.coffee +0 -9
  210. data/assets/javascripts/luca-ui-full.js +0 -3
  211. data/assets/javascripts/luca-ui-spec.coffee +0 -2
  212. data/assets/javascripts/luca-ui.js +0 -3
  213. data/assets/javascripts/sandbox/application.coffee +0 -57
  214. data/assets/javascripts/sandbox/config.coffee +0 -7
  215. data/assets/javascripts/sandbox/router.coffee +0 -24
  216. data/assets/javascripts/sandbox/templates/builder/component_list.luca +0 -1
  217. data/assets/javascripts/sandbox/templates/builder.luca +0 -2
  218. data/assets/javascripts/sandbox/templates/main.luca +0 -53
  219. data/assets/javascripts/sandbox/templates/sandbox/docs_index.luca +0 -1
  220. data/assets/javascripts/sandbox/templates/sandbox/navigation.luca +0 -8
  221. data/assets/javascripts/sandbox/templates/sandbox/readme.luca +0 -30
  222. data/assets/javascripts/sandbox/templates/sandbox.luca +0 -1
  223. data/assets/javascripts/sandbox/views/builder/builder_canvas.coffee +0 -3
  224. data/assets/javascripts/sandbox/views/builder/builder_editor.coffee +0 -6
  225. data/assets/javascripts/sandbox/views/builder/component_list.coffee +0 -38
  226. data/assets/javascripts/sandbox/views/builder/project_browser.coffee +0 -14
  227. data/assets/javascripts/sandbox/views/builder.coffee +0 -133
  228. data/assets/javascripts/sandbox/views/docs_controller.coffee +0 -7
  229. data/assets/javascripts/sandbox/views/inspector/instance_filter.coffee +0 -18
  230. data/assets/javascripts/sandbox/views/inspector/instance_list.coffee +0 -0
  231. data/assets/javascripts/sandbox/views/inspector.coffee +0 -11
  232. data/assets/javascripts/sandbox/views/top_navigation.coffee +0 -4
  233. data/assets/javascripts/sandbox.coffee +0 -7
  234. data/assets/javascripts/spec-dependencies.coffee +0 -4
  235. data/assets/stylesheets/bootstrap-responsive.min.css +0 -2
  236. data/assets/stylesheets/bootstrap.min.css +0 -727
  237. data/assets/stylesheets/luca-ui-bootstrap.css +0 -4
  238. data/assets/stylesheets/luca-ui-development-tools.css +0 -5
  239. data/assets/stylesheets/luca-ui-full.css +0 -3
  240. data/assets/stylesheets/luca-ui-spec.css +0 -3
  241. data/assets/stylesheets/luca-ui.css +0 -3
  242. data/assets/stylesheets/prettify.css +0 -40
  243. data/assets/stylesheets/sandbox/builder.scss +0 -79
  244. data/assets/stylesheets/sandbox/sandbox.scss +0 -18
  245. data/assets/stylesheets/sandbox.css +0 -3
  246. data/assets/stylesheets/themes/amelia-bootstrap.css +0 -826
  247. data/assets/stylesheets/themes/slate-bootstrap.css +0 -797
  248. data/assets/stylesheets/themes/superhero-bootstrap.css +0 -830
  249. data/lib/generators/luca/application/templates/javascripts/application.js +0 -28
  250. data/lib/generators/luca/application/templates/javascripts/application.js.coffee +0 -20
  251. data/lib/generators/luca/application/templates/javascripts/config.js +0 -15
  252. data/lib/generators/luca/application/templates/javascripts/config.js.coffee +0 -9
  253. data/lib/generators/luca/application/templates/javascripts/dependencies.js +0 -5
  254. data/lib/generators/luca/application/templates/javascripts/index.js +0 -9
  255. data/lib/generators/luca/application/templates/javascripts/index.js.coffee +0 -9
  256. data/lib/generators/luca/application/templates/javascripts/main.js +0 -8
  257. data/lib/generators/luca/application/templates/javascripts/main.js.coffee +0 -3
  258. data/lib/generators/luca/application/templates/javascripts/main.jst.ejs +0 -1
  259. data/lib/generators/luca/application/templates/javascripts/router.js +0 -12
  260. data/lib/generators/luca/application/templates/javascripts/router.js.coffee +0 -7
  261. data/spec/containers/column_view_spec.coffee +0 -0
  262. data/spec/containers/split_view_spec.coffee +0 -0
  263. data/spec/define_spec.coffee +0 -13
  264. data/src/components/controller.coffee +0 -65
  265. data/src/components/load_mask.coffee +0 -3
  266. data/src/components/multi_collection_view.coffee +0 -121
  267. data/src/components/page_controller.coffee +0 -2
  268. data/src/components/table_view.coffee +0 -62
  269. data/src/concerns/collection_event_bindings.coffee +0 -26
  270. data/src/concerns/filterable.coffee +0 -82
  271. data/src/concerns/state_model.coffee +0 -16
  272. data/src/containers/column_view.coffee +0 -42
  273. data/src/containers/page_view.coffee +0 -2
  274. data/src/containers/panel_view.coffee +0 -23
  275. data/src/containers/split_view.coffee +0 -8
  276. data/src/core/core.coffee +0 -0
  277. data/src/core/meta_data.coffee +0 -37
  278. data/src/core/panel.coffee +0 -118
  279. data/src/define.coffee +0 -170
  280. data/src/index.coffee +0 -25
  281. data/src/managers/socket_manager.coffee +0 -54
  282. data/src/samples/definition.coffee +0 -49
  283. data/src/stylesheets/base.scss +0 -0
  284. data/src/stylesheets/components/form_view.scss +0 -59
  285. data/src/stylesheets/components/toolbar.scss +0 -0
  286. data/src/stylesheets/tools/class_browser.scss +0 -32
  287. data/src/stylesheets/tools/code_editor.scss +0 -24
  288. data/src/stylesheets/tools/component_tester.scss +0 -26
  289. data/src/tools/application_inspector.coffee +0 -2
  290. data/src/tools/code_editor.coffee +0 -258
  291. data/src/tools/coffee_script_editor.coffee +0 -82
  292. data/src/tools/collection_inspector.coffee +0 -4
  293. data/src/tools/collections/components.coffee +0 -59
  294. data/src/tools/collections/instances.coffee +0 -15
  295. data/src/tools/component_tester.coffee +0 -462
  296. data/src/tools/models/components.coffee +0 -25
  297. data/src/tools/models/instance.coffee +0 -2
  298. data/src/tools/templates/component_tester/help.luca +0 -14
  299. data/vendor/assets/javascripts/luca-ui-base.js +0 -5304
  300. data/vendor/assets/javascripts/luca-ui-bootstrap.js +0 -9
  301. data/vendor/assets/javascripts/luca-ui-development-tools.js +0 -18561
  302. data/vendor/assets/javascripts/luca-ui-development-tools.min.js +0 -15
  303. data/vendor/assets/javascripts/luca-ui-full.js +0 -6319
  304. data/vendor/assets/javascripts/luca-ui-full.min.js +0 -9
  305. data/vendor/assets/javascripts/luca-ui-spec.js +0 -6815
  306. data/vendor/assets/javascripts/luca-ui-templates.js +0 -92
  307. data/vendor/assets/javascripts/luca-ui.js +0 -6234
  308. data/vendor/assets/javascripts/luca-ui.min.js +0 -5
  309. data/vendor/assets/luca-ui/base.css +0 -85
  310. data/vendor/assets/luca-ui/components/application.js +0 -91
  311. data/vendor/assets/luca-ui/components/base_toolbar.js +0 -23
  312. data/vendor/assets/luca-ui/components/controller.js +0 -38
  313. data/vendor/assets/luca-ui/components/fields/button_field.js +0 -45
  314. data/vendor/assets/luca-ui/components/fields/checkbox_field.js +0 -43
  315. data/vendor/assets/luca-ui/components/fields/file_upload_field.js +0 -20
  316. data/vendor/assets/luca-ui/components/fields/hidden_field.js +0 -20
  317. data/vendor/assets/luca-ui/components/fields/select_field.js +0 -97
  318. data/vendor/assets/luca-ui/components/fields/text_area_field.js +0 -48
  319. data/vendor/assets/luca-ui/components/fields/text_field.js +0 -46
  320. data/vendor/assets/luca-ui/components/fields/type_ahead_field.js +0 -13
  321. data/vendor/assets/luca-ui/components/form_button_toolbar.js +0 -32
  322. data/vendor/assets/luca-ui/components/form_view.css +0 -32
  323. data/vendor/assets/luca-ui/components/form_view.js +0 -207
  324. data/vendor/assets/luca-ui/components/grid_view.css +0 -76
  325. data/vendor/assets/luca-ui/components/grid_view.js +0 -202
  326. data/vendor/assets/luca-ui/components/record_manager.js +0 -207
  327. data/vendor/assets/luca-ui/components/router.js +0 -36
  328. data/vendor/assets/luca-ui/components/template.js +0 -26
  329. data/vendor/assets/luca-ui/components/toolbar.css +0 -11
  330. data/vendor/assets/luca-ui/containers/card_view.js +0 -98
  331. data/vendor/assets/luca-ui/containers/column_view.js +0 -52
  332. data/vendor/assets/luca-ui/containers/container.css +0 -3
  333. data/vendor/assets/luca-ui/containers/modal_view.css +0 -0
  334. data/vendor/assets/luca-ui/containers/modal_view.js +0 -87
  335. data/vendor/assets/luca-ui/containers/panel_view.js +0 -34
  336. data/vendor/assets/luca-ui/containers/split_view.js +0 -13
  337. data/vendor/assets/luca-ui/containers/tab_view.css +0 -16
  338. data/vendor/assets/luca-ui/containers/tab_view.js +0 -80
  339. data/vendor/assets/luca-ui/containers/viewport.js +0 -18
  340. data/vendor/assets/luca-ui/core/collection.js +0 -221
  341. data/vendor/assets/luca-ui/core/container.js +0 -205
  342. data/vendor/assets/luca-ui/core/field.js +0 -59
  343. data/vendor/assets/luca-ui/core/observer.js +0 -42
  344. data/vendor/assets/luca-ui/core/view.js +0 -127
  345. data/vendor/assets/luca-ui/framework.js +0 -110
  346. data/vendor/assets/luca-ui/index.js +0 -5
  347. data/vendor/assets/luca-ui/managers/collection_manager.js +0 -98
  348. data/vendor/assets/luca-ui/managers/socket_manager.js +0 -52
  349. data/vendor/assets/luca-ui/modules/deferrable.js +0 -21
  350. data/vendor/assets/luca-ui/modules/local_storage.js +0 -81
  351. data/vendor/assets/luca-ui/normalize.css +0 -359
  352. data/vendor/assets/luca-ui/stylesheets/base.css +0 -85
  353. data/vendor/assets/luca-ui/stylesheets/components/form_view.css +0 -32
  354. data/vendor/assets/luca-ui/stylesheets/components/grid_view.css +0 -76
  355. data/vendor/assets/luca-ui/stylesheets/components/toolbar.css +0 -11
  356. data/vendor/assets/luca-ui/stylesheets/containers/container.css +0 -3
  357. data/vendor/assets/luca-ui/stylesheets/containers/modal_view.css +0 -0
  358. data/vendor/assets/luca-ui/stylesheets/containers/tab_view.css +0 -16
  359. data/vendor/assets/luca-ui/stylesheets/normalize.css +0 -359
  360. data/vendor/assets/luca-ui/templates/components/bootstrap_form_controls.js +0 -4
  361. data/vendor/assets/luca-ui/templates/components/form_view.js +0 -4
  362. data/vendor/assets/luca-ui/templates/components/grid_view.js +0 -4
  363. data/vendor/assets/luca-ui/templates/components/grid_view_empty_text.js +0 -4
  364. data/vendor/assets/luca-ui/templates/containers/basic.js +0 -4
  365. data/vendor/assets/luca-ui/templates/containers/tab_selector_container.js +0 -4
  366. data/vendor/assets/luca-ui/templates/containers/tab_view.js +0 -4
  367. data/vendor/assets/luca-ui/templates/containers/toolbar_wrapper.js +0 -4
  368. data/vendor/assets/luca-ui/templates/fields/button_field.js +0 -4
  369. data/vendor/assets/luca-ui/templates/fields/button_field_link.js +0 -4
  370. data/vendor/assets/luca-ui/templates/fields/checkbox_field.js +0 -4
  371. data/vendor/assets/luca-ui/templates/fields/file_upload_field.js +0 -4
  372. data/vendor/assets/luca-ui/templates/fields/hidden_field.js +0 -4
  373. data/vendor/assets/luca-ui/templates/fields/select_field.js +0 -4
  374. data/vendor/assets/luca-ui/templates/fields/text_area_field.js +0 -4
  375. data/vendor/assets/luca-ui/templates/fields/text_field.js +0 -4
  376. data/vendor/assets/luca-ui/templates/sample/contents.js +0 -4
  377. data/vendor/assets/luca-ui/templates/sample/welcome.js +0 -4
@@ -1,76 +0,0 @@
1
- .scrollable-grid-view {
2
- /* define height and width of scrollable area. Add 16px to width for scrollbar */
3
- /* Reset overflow value to hidden for all non-IE browsers. */
4
- /* define width of table. IE browsers only */
5
- /* define width of table. Add 16px to width for scrollbar. */
6
- /* All other non-IE browsers. */
7
- /* set table header to a fixed position. WinIE 6.x only */
8
- /* In WinIE 6.x, any element with a position property set to relative and is a child of */
9
- /* an element that has an overflow property set, the relative value translates into fixed. */
10
- /* Ex: parent element DIV with a class of tableContainer has an overflow property set to auto */
11
- /* set THEAD element to have block level attributes. All other non-IE browsers */
12
- /* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
13
- /* make the TH elements pretty */
14
- /* make the A elements pretty. makes for nice clickable headers */
15
- /* make the A elements pretty. makes for nice clickable headers */
16
- /* WARNING: swapping the background on hover may cause problems in WinIE 6.x */
17
- /* define the table content to be scrollable */
18
- /* set TBODY element to have block level attributes. All other non-IE browsers */
19
- /* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
20
- /* induced side effect is that child TDs no longer accept width: auto */
21
- /* define width of TH elements: 1st, 2nd, and 3rd respectively. */
22
- /* Add 16px to last TH for scrollbar padding. All other non-IE browsers. */
23
- /* http://www.w3.org/TR/REC-CSS2/selector.html#adjacent-selectors */
24
- /* define width of TD elements: 1st, 2nd, and 3rd respectively. */
25
- /* All other non-IE browsers. */
26
- /* http://www.w3.org/TR/REC-CSS2/selector.html#adjacent-selectors */ }
27
- .scrollable-grid-view .grid-view-body {
28
- clear: both;
29
- overflow: auto; }
30
- .scrollable-grid-view .grid-view-body {
31
- overflow: hidden; }
32
- .scrollable-grid-view .grid-view-body .empty-text-wrapper {
33
- display: block;
34
- margin: 10px auto;
35
- width: 30%;
36
- padding: 50px;
37
- text-align: center; }
38
- .scrollable-grid-view .grid-view-body .empty-text-wrapper p {
39
- color: #aaa; }
40
- .scrollable-grid-view thead.fixed tr {
41
- position: relative; }
42
- .scrollable-grid-view thead.fixed tr {
43
- display: block; }
44
- .scrollable-grid-view thead.fixed th {
45
- font-weight: bold;
46
- text-align: left; }
47
- .scrollable-grid-view thead.fixed a, .scrollable-grid-view thead.fixed a:link, .scrollable-grid-view thead.fixed a:visited {
48
- color: #FFF;
49
- display: block;
50
- text-decoration: none;
51
- width: 100%; }
52
- .scrollable-grid-view thead.fixed a:hover {
53
- color: #FFF;
54
- display: block;
55
- text-decoration: underline;
56
- width: 100%; }
57
- .scrollable-grid-view tbody.scrollable {
58
- display: block;
59
- overflow: auto;
60
- width: 100%; }
61
- .scrollable-grid-view thead.fixed th {
62
- padding: 5px; }
63
- .scrollable-grid-view tbody.scrollable td {
64
- padding: 5px; }
65
-
66
- .grid-view-footer .toolbar-container {
67
- float: left;
68
- width: 100%;
69
- clear: both;
70
- display: block; }
71
- .grid-view-footer .toolbar-container .luca-ui-toolbar {
72
- display: block;
73
- float: right;
74
- clear: right; }
75
- .grid-view-footer .toolbar-container .luca-ui-toolbar .luca-ui-field {
76
- float: left; }
@@ -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);
@@ -1,11 +0,0 @@
1
- .luca-ui-toolbar-wrapper {
2
- clear: both;
3
- display: block;
4
- float: left;
5
- width: 100%; }
6
- .luca-ui-toolbar-wrapper .luca-ui-form-toolbar, .luca-ui-toolbar-wrapper .luca-ui-toolbar {
7
- clear: both;
8
- margin: 5px auto; }
9
- .luca-ui-toolbar-wrapper .luca-ui-form-toolbar .luca-ui-field, .luca-ui-toolbar-wrapper .luca-ui-toolbar .luca-ui-field {
10
- float: left;
11
- margin: 5px; }
@@ -1,98 +0,0 @@
1
- (function() {
2
-
3
- Luca.containers.CardView = Luca.core.Container.extend({
4
- componentType: 'card_view',
5
- className: 'luca-ui-card-view-wrapper',
6
- activeCard: 0,
7
- components: [],
8
- hooks: ['before:card:switch', 'after:card:switch'],
9
- initialize: function(options) {
10
- this.options = options;
11
- Luca.core.Container.prototype.initialize.apply(this, arguments);
12
- return this.setupHooks(this.hooks);
13
- },
14
- componentClass: 'luca-ui-card',
15
- beforeLayout: function() {
16
- var _this = this;
17
- return this.cards = _(this.components).map(function(card, cardIndex) {
18
- return {
19
- classes: _this.componentClass,
20
- style: "display:" + (cardIndex === _this.activeCard ? 'block' : 'none'),
21
- id: "" + _this.cid + "-" + cardIndex
22
- };
23
- });
24
- },
25
- prepareLayout: function() {
26
- var _this = this;
27
- return this.card_containers = _(this.cards).map(function(card, index) {
28
- _this.$el.append(Luca.templates["containers/basic"](card));
29
- return $("#" + card.id);
30
- });
31
- },
32
- prepareComponents: function() {
33
- var _this = this;
34
- return this.components = _(this.components).map(function(object, index) {
35
- var card;
36
- card = _this.cards[index];
37
- object.container = "#" + card.id;
38
- return object;
39
- });
40
- },
41
- activeComponent: function() {
42
- return this.getComponent(this.activeCard);
43
- },
44
- cycle: function() {
45
- var nextIndex;
46
- nextIndex = this.activeCard < this.components.length - 1 ? this.activeCard + 1 : 0;
47
- return this.activate(nextIndex);
48
- },
49
- find: function(name) {
50
- return this.findComponentByName(name, true);
51
- },
52
- firstActivation: function() {
53
- return this.activeComponent().trigger("first:activation", this, this.activeComponent());
54
- },
55
- activate: function(index, silent, callback) {
56
- var current, previous, _ref;
57
- if (silent == null) silent = false;
58
- if (_.isFunction(silent)) {
59
- silent = false;
60
- callback = silent;
61
- }
62
- if (index === this.activeCard) return;
63
- previous = this.activeComponent();
64
- current = this.getComponent(index);
65
- if (!current) {
66
- index = this.indexOf(index);
67
- current = this.getComponent(index);
68
- }
69
- if (!current) return;
70
- if (!silent) this.trigger("before:card:switch", previous, current);
71
- _(this.card_containers).each(function(container) {
72
- var _ref;
73
- if ((_ref = container.trigger) != null) {
74
- _ref.apply(container, ["deactivation", this, previous, current]);
75
- }
76
- return container.hide();
77
- });
78
- if (!current.previously_activated) {
79
- current.trigger("first:activation");
80
- current.previously_activated = true;
81
- }
82
- $(current.container).show();
83
- this.activeCard = index;
84
- if (!silent) {
85
- this.trigger("after:card:switch", previous, current);
86
- if ((_ref = current.trigger) != null) {
87
- _ref.apply(current, ["activation", this, previous, current]);
88
- }
89
- }
90
- if (_.isFunction(callback)) {
91
- return callback.apply(this, [this, previous, current]);
92
- }
93
- }
94
- });
95
-
96
- Luca.register('card_view', "Luca.containers.CardView");
97
-
98
- }).call(this);