luca 0.9.76 → 0.9.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +65 -2
- data/Gemfile +4 -0
- data/Gemfile.lock +18 -2
- data/Guardfile +3 -25
- data/README.md +50 -58
- data/ROADMAP +15 -32
- data/Rakefile +18 -77
- data/app.rb +12 -46
- data/{assets → app/assets}/images/glyphicons-halflings-white.png +0 -0
- data/{assets → app/assets}/images/glyphicons-halflings.png +0 -0
- data/app/assets/javascripts/luca-ui.js +1 -0
- data/app/assets/javascripts/luca/basic.coffee +8 -0
- data/{src → app/assets/javascripts/luca}/components/application.coffee +233 -65
- data/{src → app/assets/javascripts/luca}/components/collection_loader_view.coffee +0 -0
- data/app/assets/javascripts/luca/components/collection_view.coffee +207 -0
- data/{src → app/assets/javascripts/luca}/components/controller.coffee +27 -13
- data/{src/core/field.coffee → app/assets/javascripts/luca/components/fields/base.coffee} +18 -10
- data/{src → app/assets/javascripts/luca}/components/fields/button_field.coffee +8 -9
- data/{src → app/assets/javascripts/luca}/components/fields/checkbox_array.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/fields/checkbox_field.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/fields/file_upload_field.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/fields/hidden_field.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/fields/label_field.coffee +0 -0
- data/app/assets/javascripts/luca/components/fields/select_field.coffee +159 -0
- data/app/assets/javascripts/luca/components/fields/text_area_field.coffee +57 -0
- data/{src → app/assets/javascripts/luca}/components/fields/text_field.coffee +9 -3
- data/{src → app/assets/javascripts/luca}/components/fields/type_ahead_field.coffee +0 -0
- data/app/assets/javascripts/luca/components/form_view.coffee +421 -0
- data/app/assets/javascripts/luca/components/grid_layout_view.coffee +43 -0
- data/app/assets/javascripts/luca/components/index.coffee +7 -0
- data/app/assets/javascripts/luca/components/load_mask.coffee +8 -0
- data/{src → app/assets/javascripts/luca}/components/multi_collection_view.coffee +34 -34
- data/app/assets/javascripts/luca/components/nav_bar.coffee +80 -0
- data/app/assets/javascripts/luca/components/page.coffee +69 -0
- data/app/assets/javascripts/luca/components/page_controller.coffee +3 -0
- data/{src → app/assets/javascripts/luca}/components/pagination_control.coffee +13 -13
- data/{src → app/assets/javascripts/luca}/components/record_manager.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/router.coffee +4 -1
- data/app/assets/javascripts/luca/components/simple_collection_view.coffee +10 -0
- data/app/assets/javascripts/luca/components/table_view.coffee +93 -0
- data/app/assets/javascripts/luca/components/table_view_scrollable.coffee +23 -0
- data/{src → app/assets/javascripts/luca}/concerns/application_event_bindings.coffee +1 -1
- data/app/assets/javascripts/luca/concerns/collection_event_bindings.coffee +47 -0
- data/{src → app/assets/javascripts/luca}/concerns/deferrable.coffee +1 -2
- data/app/assets/javascripts/luca/concerns/development_tool_helpers.coffee +30 -0
- data/{src → app/assets/javascripts/luca}/concerns/dom_helpers.coffee +10 -7
- data/{src → app/assets/javascripts/luca}/concerns/enhanced_properties.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/concerns/filterable.coffee +39 -20
- data/app/assets/javascripts/luca/concerns/form_model_bindings.coffee +20 -0
- data/{src → app/assets/javascripts/luca}/concerns/grid_layout.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/concerns/loadmaskable.coffee +17 -11
- data/{src → app/assets/javascripts/luca}/concerns/local_storage.coffee +0 -0
- data/app/assets/javascripts/luca/concerns/modal_view.coffee +63 -0
- data/{src → app/assets/javascripts/luca}/concerns/model_presenter.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/concerns/paginatable.coffee +6 -20
- data/{src → app/assets/javascripts/luca}/concerns/query_collection_bindings.coffee +16 -8
- data/app/assets/javascripts/luca/concerns/sortable.coffee +69 -0
- data/app/assets/javascripts/luca/concerns/state_model.coffee +58 -0
- data/{src → app/assets/javascripts/luca}/concerns/templating.coffee +6 -1
- data/app/assets/javascripts/luca/config.coffee +54 -0
- data/{src → app/assets/javascripts/luca}/containers/card_view.coffee +23 -8
- data/{src/core → app/assets/javascripts/luca/containers}/container.coffee +228 -77
- data/app/assets/javascripts/luca/containers/index.coffee +2 -0
- data/{src → app/assets/javascripts/luca}/containers/modal_view.coffee +1 -1
- data/{src → app/assets/javascripts/luca}/containers/panel_toolbar.coffee +5 -6
- data/{src → app/assets/javascripts/luca}/containers/tab_view.coffee +19 -10
- data/{src → app/assets/javascripts/luca}/containers/viewport.coffee +11 -12
- data/{src → app/assets/javascripts/luca}/core/collection.coffee +37 -23
- data/{src/components → app/assets/javascripts/luca/core}/collection_view.coffee +21 -38
- data/{src/plugins → app/assets/javascripts/luca/core}/events.coffee +38 -6
- data/app/assets/javascripts/luca/core/index.coffee +12 -0
- data/{src → app/assets/javascripts/luca}/core/model.coffee +1 -1
- data/{src → app/assets/javascripts/luca}/core/observer.coffee +0 -0
- data/app/assets/javascripts/luca/core/panel.coffee +124 -0
- data/{src/define.coffee → app/assets/javascripts/luca/core/registry/component_definition.coffee} +59 -8
- data/{src → app/assets/javascripts/luca/core/registry}/concerns.coffee +0 -0
- data/app/assets/javascripts/luca/core/registry/index.coffee +4 -0
- data/{src/core → app/assets/javascripts/luca/core/registry}/meta_data.coffee +6 -0
- data/{src/core → app/assets/javascripts/luca/core/registry}/registry.coffee +20 -14
- data/app/assets/javascripts/luca/core/templates.coffee +51 -0
- data/app/assets/javascripts/luca/core/view.coffee +364 -0
- data/app/assets/javascripts/luca/dependencies.coffee +9 -0
- data/{src/tools → app/assets/javascripts/luca/development}/code_mirror_field.coffee +2 -1
- data/app/assets/javascripts/luca/development/code_sync_manager.coffee +126 -0
- data/app/assets/javascripts/luca/development/component.coffee +76 -0
- data/app/assets/javascripts/luca/development/components.coffee +57 -0
- data/{src/tools → app/assets/javascripts/luca/development}/console.coffee +6 -5
- data/app/assets/javascripts/luca/development/index.coffee +5 -0
- data/{src → app/assets/javascripts/luca}/framework.coffee +16 -99
- data/app/assets/javascripts/luca/index.coffee +8 -0
- data/{src → app/assets/javascripts/luca}/managers/collection_manager.coffee +12 -8
- data/app/assets/javascripts/luca/managers/index.coffee +2 -0
- data/app/assets/javascripts/luca/managers/socket_manager.coffee +89 -0
- data/{src → app/assets/javascripts/luca}/templates/components/bootstrap_form_controls.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/components/collection_loader_view.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/components/form_alert.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/components/grid_view.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/components/grid_view_empty_text.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/components/load_mask.jst.ejs +0 -0
- data/app/assets/javascripts/luca/templates/components/nav_bar.jst.ejs +19 -0
- data/{src → app/assets/javascripts/luca}/templates/components/pagination.jst.ejs +0 -0
- data/{src/templates → app/assets/javascripts/luca/templates/components}/table_view.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/containers/basic.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/containers/tab_selector_container.jst.ejs +0 -0
- data/app/assets/javascripts/luca/templates/containers/tab_view.jst.ejs +2 -0
- data/{src → app/assets/javascripts/luca}/templates/containers/toolbar_wrapper.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/button_field.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/button_field_link.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_array.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_array_item.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/checkbox_field.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/file_upload_field.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/hidden_field.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/select_field.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/text_area_field.jst.ejs +0 -0
- data/{src → app/assets/javascripts/luca}/templates/fields/text_field.jst.ejs +0 -0
- data/app/assets/javascripts/luca/util/deprecations.coffee +18 -0
- data/app/assets/javascripts/luca/util/index.coffee +4 -0
- data/app/assets/javascripts/luca/util/keybindings.coffee +24 -0
- data/app/assets/javascripts/luca/util/logging.coffee +30 -0
- data/{src/util.coffee → app/assets/javascripts/luca/util/luca.coffee} +27 -4
- data/{src/core → app/assets/javascripts/luca/util}/script_loader.coffee +0 -0
- data/{src/stylesheets → app/assets/stylesheets/luca}/components/checkbox_array.scss +0 -0
- data/app/assets/stylesheets/luca/components/form_view.scss +7 -0
- data/{src/stylesheets → app/assets/stylesheets/luca}/components/grid_view.scss +0 -0
- data/{src/stylesheets → app/assets/stylesheets/luca}/components/load_mask.scss +0 -0
- data/{vendor/assets/luca-ui/components/grid_view.css → app/assets/stylesheets/luca/components/table_view.scss} +60 -51
- data/{src/stylesheets → app/assets/stylesheets/luca}/components/viewport.scss +0 -0
- data/app/assets/stylesheets/luca/containers/container.scss +19 -0
- data/{src/stylesheets → app/assets/stylesheets/luca}/containers/modal_view.scss +0 -0
- data/{src/stylesheets → app/assets/stylesheets/luca}/containers/panels.scss +0 -0
- data/{src/stylesheets → app/assets/stylesheets/luca}/containers/tab_view.scss +0 -0
- data/{src/stylesheets/tools → app/assets/stylesheets/luca/development}/console.scss +0 -0
- data/app/assets/stylesheets/luca/development/index.css +3 -0
- data/app/assets/stylesheets/luca/index.css +4 -0
- data/{src/stylesheets → app/assets/stylesheets/luca}/normalize.scss +0 -0
- data/config.ru +1 -2
- data/docs/framework.json +1 -0
- data/docs/{application.md → old/application.md} +0 -0
- data/docs/{collection.md → old/collection.md} +0 -0
- data/docs/{collection_manager.md → old/collection_manager.md} +0 -0
- data/docs/{container_philosophy.md → old/container_philosophy.md} +0 -0
- data/docs/{event_binding_helpers.md → old/event_binding_helpers.md} +0 -0
- data/docs/{method_caching_and_computed_properties.md → old/method_caching_and_computed_properties.md} +0 -0
- data/docs/{view.md → old/view.md} +0 -0
- data/lib/generators/luca/application/application_generator.rb +12 -8
- data/lib/generators/luca/application/templates/controller.rb +0 -2
- data/lib/generators/luca/application/templates/index.html.erb +12 -0
- data/lib/generators/luca/application/templates/index.html.haml +1 -0
- data/lib/generators/luca/application/templates/javascripts/application.coffee +18 -0
- data/lib/generators/luca/application/templates/javascripts/collection_manager.coffee +2 -0
- data/lib/generators/luca/application/templates/javascripts/config.coffee +3 -0
- data/lib/generators/luca/application/templates/javascripts/dependencies.coffee +3 -0
- data/lib/generators/luca/application/templates/javascripts/home.jst.ejs +2 -0
- data/lib/generators/luca/application/templates/javascripts/index.coffee +15 -0
- data/lib/generators/luca/application/templates/javascripts/router.coffee +4 -0
- data/lib/guard/luca.rb +84 -0
- data/lib/luca.rb +18 -1
- data/lib/luca/asset_compiler.rb +117 -0
- data/lib/luca/collection.rb +64 -0
- data/lib/luca/collection/endpoint.rb +37 -0
- data/lib/luca/collection/file_backend.rb +121 -0
- data/lib/luca/collection/redis_backend.rb +153 -0
- data/lib/luca/compiled_asset.rb +61 -0
- data/lib/luca/component_definition.rb +338 -0
- data/lib/luca/luca_application.rb +247 -0
- data/lib/luca/project.rb +73 -0
- data/lib/luca/project_harness.rb +96 -0
- data/lib/luca/rails.rb +5 -3
- data/lib/luca/rails/engine.rb +12 -0
- data/lib/luca/rails/version.rb +1 -2
- data/lib/luca/stylesheet.rb +36 -0
- data/lib/luca/template.rb +2 -0
- data/lib/luca/template_asset.rb +64 -0
- data/lib/railties/luca/tasks.rake +38 -0
- data/spec/{components → javascripts/components}/application_spec.coffee +0 -0
- data/spec/{components → javascripts/components}/collection_loader_view_spec.coffee +0 -0
- data/spec/{components → javascripts/components}/collection_view_spec.coffee +0 -0
- data/spec/{components → javascripts/components}/controller_spec.coffee +4 -0
- data/spec/{components → javascripts/components}/fields/checkbox_array_spec.coffee +0 -0
- data/spec/javascripts/components/form_view_spec.coffee +162 -0
- data/spec/{components → javascripts/components}/grid_view_spec.coffee +0 -0
- data/spec/{components → javascripts/components}/multi_collection_view_spec.coffee +0 -0
- data/spec/{components → javascripts/components}/pagination_control_spec.coffee +0 -0
- data/spec/{components → javascripts/components}/record_manager_spec.coffee +0 -0
- data/spec/{components → javascripts/components}/table_view_spec.coffee +0 -0
- data/spec/{components → javascripts/components}/template_spec.coffee +0 -0
- data/spec/javascripts/concerns/collection_event_bindings_spec.coffee +15 -0
- data/spec/{concerns → javascripts/concerns}/dom_helpers_spec.coffee +2 -2
- data/spec/{concerns → javascripts/concerns}/filterable_spec.coffee +4 -4
- data/spec/{concerns → javascripts/concerns}/model_presenter_spec.coffee +0 -0
- data/spec/{concerns → javascripts/concerns}/paginatable_spec.coffee +0 -0
- data/spec/javascripts/concerns/state_model_spec.coffee +55 -0
- data/spec/{containers → javascripts/containers}/card_view_spec.coffee +5 -0
- data/spec/{containers → javascripts/containers}/modal_view_spec.coffee +0 -0
- data/spec/{containers → javascripts/containers}/panel_view_spec.coffee +0 -0
- data/spec/{containers → javascripts/containers}/tab_view_spec.coffee +0 -0
- data/spec/{containers → javascripts/containers}/viewport_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/collection_spec.coffee +25 -0
- data/spec/{concerns_spec.coffee → javascripts/core/concerns_spec.coffee} +0 -0
- data/spec/{core → javascripts/core}/container_spec.coffee +8 -6
- data/spec/{define_spec.coffee → javascripts/core/define_spec.coffee} +0 -0
- data/spec/javascripts/core/events_spec.coffee +26 -0
- data/spec/{core → javascripts/core}/field_spec.coffee +0 -0
- data/spec/{framework_spec.coffee → javascripts/core/framework_spec.coffee} +1 -1
- data/spec/{core → javascripts/core}/model_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/observer_spec.coffee +0 -0
- data/spec/{util_spec.coffee → javascripts/core/util_spec.coffee} +2 -2
- data/spec/{core → javascripts/core}/view_spec.coffee +114 -38
- data/spec/javascripts/dependencies/index.coffee +3 -0
- data/{assets → spec}/javascripts/dependencies/jasmine-html.js +0 -0
- data/{assets → spec}/javascripts/dependencies/jasmine.js +0 -0
- data/{assets → spec}/javascripts/dependencies/sinon.js +0 -0
- data/spec/{helper.coffee → javascripts/helper.coffee} +0 -0
- data/spec/{managers → javascripts/managers}/collection_manager_spec.coffee +0 -0
- data/spec/{managers → javascripts/managers}/socket_manager_spec.coffee +0 -0
- data/spec/lib/component_definition_spec.rb +63 -0
- data/spec/lib/input_compiler_spec.rb +9 -0
- data/spec/lib/luca_application_spec.rb +30 -0
- data/spec/support/fixtures/application.coffee +45 -0
- data/spec/support/fixtures/component.coffee +34 -0
- data/{assets/javascripts/sandbox/views/inspector/instance_list.coffee → tutorials/component-definitions.md} +0 -0
- data/{spec/concerns/state_model_spec.coffee → tutorials/component-definitions/01_intro.md} +0 -0
- data/tutorials/component-driven-design.md +140 -0
- data/tutorials/structure-of-a-project.md +63 -0
- data/vendor/assets/javascripts/backbone-ext.js +21 -0
- data/vendor/assets/javascripts/backbone-min.js +38 -0
- data/vendor/assets/javascripts/backbone-query.min.js +1 -0
- data/vendor/assets/javascripts/bootstrap.min.js +7 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-coffeescript.js +0 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-css.js +0 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-html.js +0 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-javascript.js +0 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-less.js +0 -0
- data/vendor/assets/javascripts/codemirror-ui.js +503 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror-vim.js +0 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/codemirror.js +0 -0
- data/vendor/assets/javascripts/hogan.js +707 -0
- data/vendor/assets/javascripts/inflections.js +656 -0
- data/vendor/assets/javascripts/jasmine-html.js +190 -0
- data/vendor/assets/javascripts/jasmine.js +2476 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/jquery.js +0 -0
- data/vendor/assets/javascripts/keymaster.min.js +4 -0
- data/vendor/assets/javascripts/luca-dependencies.min.js +6 -0
- data/vendor/assets/javascripts/luca-development.min.js +1 -0
- data/vendor/assets/javascripts/luca-spec.js +11 -0
- data/vendor/assets/javascripts/luca-ui.js +3336 -2561
- data/vendor/assets/javascripts/luca-ui.min.js +5 -5
- data/vendor/assets/javascripts/luca.full.min.js +10 -0
- data/vendor/assets/javascripts/luca.min.js +5 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/modal.js +0 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/modernizr.min.js +0 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/prettify.js +0 -0
- data/vendor/assets/javascripts/sinon.js +3469 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/spin-min.js +0 -0
- data/{assets/javascripts/dependencies → vendor/assets/javascripts}/underscore-min.js +0 -0
- data/vendor/assets/javascripts/underscore-string.min.js +1 -0
- data/vendor/assets/stylesheets/bootstrap-responsive.min.css +9 -0
- data/vendor/assets/stylesheets/bootstrap.min.css +9 -0
- data/{assets → vendor/assets}/stylesheets/codemirror-blackboard.css +0 -0
- data/{assets → vendor/assets}/stylesheets/codemirror-monokai.css +0 -0
- data/{assets → vendor/assets}/stylesheets/codemirror.css +0 -0
- data/{assets → vendor/assets}/stylesheets/jasmine.css +0 -0
- data/vendor/assets/stylesheets/luca-components.css +204 -0
- data/vendor/assets/stylesheets/luca-development.css +23 -0
- data/vendor/assets/stylesheets/luca-ui.css +58 -461
- data/views/jasmine.erb +2 -2
- metadata +280 -336
- data/assets/javascripts/dependencies.coffee +0 -5
- data/assets/javascripts/dependencies/backbone-min.js +0 -37
- data/assets/javascripts/dependencies/backbone-query.min.js +0 -1
- data/assets/javascripts/dependencies/bootstrap.min.js +0 -7
- data/assets/javascripts/dependencies/coffee-script.js +0 -12189
- data/assets/javascripts/dependencies/underscore-string.min.js +0 -14
- data/assets/javascripts/luca-templates.js +0 -1
- data/assets/javascripts/luca-ui-base.coffee +0 -1
- data/assets/javascripts/luca-ui-bootstrap.js +0 -1
- data/assets/javascripts/luca-ui-development-tools.coffee +0 -9
- data/assets/javascripts/luca-ui-full.js +0 -3
- data/assets/javascripts/luca-ui-spec.coffee +0 -2
- data/assets/javascripts/luca-ui.js +0 -3
- data/assets/javascripts/luca/index.coffee +0 -1
- data/assets/javascripts/sandbox.coffee +0 -7
- data/assets/javascripts/sandbox/application.coffee +0 -57
- data/assets/javascripts/sandbox/config.coffee +0 -7
- data/assets/javascripts/sandbox/router.coffee +0 -24
- data/assets/javascripts/sandbox/templates/builder.luca +0 -2
- data/assets/javascripts/sandbox/templates/builder/component_list.luca +0 -1
- data/assets/javascripts/sandbox/templates/main.luca +0 -53
- data/assets/javascripts/sandbox/templates/sandbox.luca +0 -1
- data/assets/javascripts/sandbox/templates/sandbox/docs_index.luca +0 -1
- data/assets/javascripts/sandbox/templates/sandbox/navigation.luca +0 -8
- data/assets/javascripts/sandbox/templates/sandbox/readme.luca +0 -30
- data/assets/javascripts/sandbox/views/builder.coffee +0 -133
- data/assets/javascripts/sandbox/views/builder/builder_canvas.coffee +0 -3
- data/assets/javascripts/sandbox/views/builder/builder_editor.coffee +0 -6
- data/assets/javascripts/sandbox/views/builder/component_list.coffee +0 -38
- data/assets/javascripts/sandbox/views/builder/project_browser.coffee +0 -14
- data/assets/javascripts/sandbox/views/docs_controller.coffee +0 -7
- data/assets/javascripts/sandbox/views/inspector.coffee +0 -11
- data/assets/javascripts/sandbox/views/inspector/instance_filter.coffee +0 -18
- data/assets/javascripts/sandbox/views/top_navigation.coffee +0 -4
- data/assets/javascripts/spec-dependencies.coffee +0 -4
- data/assets/stylesheets/bootstrap-responsive.min.css +0 -2
- data/assets/stylesheets/bootstrap.min.css +0 -727
- data/assets/stylesheets/luca-ui-bootstrap.css +0 -4
- data/assets/stylesheets/luca-ui-development-tools.css +0 -5
- data/assets/stylesheets/luca-ui-full.css +0 -3
- data/assets/stylesheets/luca-ui-spec.css +0 -3
- data/assets/stylesheets/luca-ui.css +0 -3
- data/assets/stylesheets/prettify.css +0 -40
- data/assets/stylesheets/sandbox.css +0 -3
- data/assets/stylesheets/sandbox/builder.scss +0 -79
- data/assets/stylesheets/sandbox/sandbox.scss +0 -18
- data/assets/stylesheets/themes/amelia-bootstrap.css +0 -826
- data/assets/stylesheets/themes/slate-bootstrap.css +0 -797
- data/assets/stylesheets/themes/superhero-bootstrap.css +0 -830
- data/lib/generators/luca/application/templates/javascripts/application.js +0 -28
- data/lib/generators/luca/application/templates/javascripts/application.js.coffee +0 -20
- data/lib/generators/luca/application/templates/javascripts/config.js +0 -15
- data/lib/generators/luca/application/templates/javascripts/config.js.coffee +0 -9
- data/lib/generators/luca/application/templates/javascripts/dependencies.js +0 -5
- data/lib/generators/luca/application/templates/javascripts/dependencies.js.coffee +0 -5
- data/lib/generators/luca/application/templates/javascripts/index.js +0 -9
- data/lib/generators/luca/application/templates/javascripts/index.js.coffee +0 -9
- data/lib/generators/luca/application/templates/javascripts/main.js +0 -8
- data/lib/generators/luca/application/templates/javascripts/main.js.coffee +0 -3
- data/lib/generators/luca/application/templates/javascripts/main.jst.ejs +0 -1
- data/lib/generators/luca/application/templates/javascripts/router.js +0 -12
- data/lib/generators/luca/application/templates/javascripts/router.js.coffee +0 -7
- data/lib/luca/code_browser.rb +0 -55
- data/lib/luca/command_line.rb +0 -69
- data/spec/components/form_view_spec.coffee +0 -84
- data/spec/containers/column_view_spec.coffee +0 -0
- data/spec/containers/split_view_spec.coffee +0 -0
- data/src/components/base_toolbar.coffee +0 -17
- data/src/components/fields/select_field.coffee +0 -96
- data/src/components/fields/text_area_field.coffee +0 -42
- data/src/components/form_button_toolbar.coffee +0 -28
- data/src/components/form_view.coffee +0 -282
- data/src/components/grid_view.coffee +0 -269
- data/src/components/index.coffee +0 -1
- data/src/components/load_mask.coffee +0 -3
- data/src/components/nav_bar.coffee +0 -22
- data/src/components/page_controller.coffee +0 -2
- data/src/components/table_view.coffee +0 -69
- data/src/components/template.coffee +0 -5
- data/src/components/toolbar_dialog.coffee +0 -25
- data/src/concerns/collection_event_bindings.coffee +0 -26
- data/src/concerns/modal_view.coffee +0 -38
- data/src/concerns/state_model.coffee +0 -16
- data/src/containers/column_view.coffee +0 -42
- data/src/containers/page_view.coffee +0 -2
- data/src/containers/panel_view.coffee +0 -23
- data/src/containers/split_view.coffee +0 -8
- data/src/core/core.coffee +0 -0
- data/src/core/panel.coffee +0 -118
- data/src/core/view.coffee +0 -172
- data/src/index.coffee +0 -25
- data/src/managers/socket_manager.coffee +0 -54
- data/src/plugins/development_tool_helpers.coffee +0 -21
- data/src/samples/definition.coffee +0 -49
- data/src/stylesheets/base.scss +0 -0
- data/src/stylesheets/components/form_view.scss +0 -59
- data/src/stylesheets/components/toolbar.scss +0 -0
- data/src/stylesheets/containers/container.scss +0 -11
- data/src/stylesheets/tools/class_browser.scss +0 -32
- data/src/stylesheets/tools/code_editor.scss +0 -24
- data/src/stylesheets/tools/component_tester.scss +0 -26
- data/src/templates/components/nav_bar.jst.ejs +0 -4
- data/src/templates/containers/tab_view.jst.ejs +0 -2
- data/src/tools/application_inspector.coffee +0 -2
- data/src/tools/code_editor.coffee +0 -258
- data/src/tools/coffee_script_editor.coffee +0 -82
- data/src/tools/collection_inspector.coffee +0 -4
- data/src/tools/collections/components.coffee +0 -59
- data/src/tools/collections/instances.coffee +0 -15
- data/src/tools/component_tester.coffee +0 -462
- data/src/tools/models/components.coffee +0 -25
- data/src/tools/models/instance.coffee +0 -2
- data/src/tools/templates/component_tester/help.luca +0 -14
- data/vendor/assets/javascripts/luca-ui-base.js +0 -5304
- data/vendor/assets/javascripts/luca-ui-bootstrap.js +0 -9
- data/vendor/assets/javascripts/luca-ui-development-tools.js +0 -18561
- data/vendor/assets/javascripts/luca-ui-development-tools.min.js +0 -15
- data/vendor/assets/javascripts/luca-ui-full.js +0 -6696
- data/vendor/assets/javascripts/luca-ui-full.min.js +0 -9
- data/vendor/assets/javascripts/luca-ui-spec.js +0 -6815
- data/vendor/assets/javascripts/luca-ui-templates.js +0 -92
- data/vendor/assets/luca-ui/base.css +0 -85
- data/vendor/assets/luca-ui/components/application.js +0 -91
- data/vendor/assets/luca-ui/components/base_toolbar.js +0 -23
- data/vendor/assets/luca-ui/components/controller.js +0 -38
- data/vendor/assets/luca-ui/components/fields/button_field.js +0 -45
- data/vendor/assets/luca-ui/components/fields/checkbox_field.js +0 -43
- data/vendor/assets/luca-ui/components/fields/file_upload_field.js +0 -20
- data/vendor/assets/luca-ui/components/fields/hidden_field.js +0 -20
- data/vendor/assets/luca-ui/components/fields/select_field.js +0 -97
- data/vendor/assets/luca-ui/components/fields/text_area_field.js +0 -48
- data/vendor/assets/luca-ui/components/fields/text_field.js +0 -46
- data/vendor/assets/luca-ui/components/fields/type_ahead_field.js +0 -13
- data/vendor/assets/luca-ui/components/form_button_toolbar.js +0 -32
- data/vendor/assets/luca-ui/components/form_view.css +0 -32
- data/vendor/assets/luca-ui/components/form_view.js +0 -207
- data/vendor/assets/luca-ui/components/grid_view.js +0 -202
- data/vendor/assets/luca-ui/components/record_manager.js +0 -207
- data/vendor/assets/luca-ui/components/router.js +0 -36
- data/vendor/assets/luca-ui/components/template.js +0 -26
- data/vendor/assets/luca-ui/components/toolbar.css +0 -11
- data/vendor/assets/luca-ui/containers/card_view.js +0 -98
- data/vendor/assets/luca-ui/containers/column_view.js +0 -52
- data/vendor/assets/luca-ui/containers/container.css +0 -3
- data/vendor/assets/luca-ui/containers/modal_view.css +0 -0
- data/vendor/assets/luca-ui/containers/modal_view.js +0 -87
- data/vendor/assets/luca-ui/containers/panel_view.js +0 -34
- data/vendor/assets/luca-ui/containers/split_view.js +0 -13
- data/vendor/assets/luca-ui/containers/tab_view.css +0 -16
- data/vendor/assets/luca-ui/containers/tab_view.js +0 -80
- data/vendor/assets/luca-ui/containers/viewport.js +0 -18
- data/vendor/assets/luca-ui/core/collection.js +0 -221
- data/vendor/assets/luca-ui/core/container.js +0 -205
- data/vendor/assets/luca-ui/core/field.js +0 -59
- data/vendor/assets/luca-ui/core/observer.js +0 -42
- data/vendor/assets/luca-ui/core/view.js +0 -127
- data/vendor/assets/luca-ui/framework.js +0 -110
- data/vendor/assets/luca-ui/index.js +0 -5
- data/vendor/assets/luca-ui/managers/collection_manager.js +0 -98
- data/vendor/assets/luca-ui/managers/socket_manager.js +0 -52
- data/vendor/assets/luca-ui/modules/deferrable.js +0 -21
- data/vendor/assets/luca-ui/modules/local_storage.js +0 -81
- data/vendor/assets/luca-ui/normalize.css +0 -359
- data/vendor/assets/luca-ui/stylesheets/base.css +0 -85
- data/vendor/assets/luca-ui/stylesheets/components/form_view.css +0 -32
- data/vendor/assets/luca-ui/stylesheets/components/grid_view.css +0 -76
- data/vendor/assets/luca-ui/stylesheets/components/toolbar.css +0 -11
- data/vendor/assets/luca-ui/stylesheets/containers/container.css +0 -3
- data/vendor/assets/luca-ui/stylesheets/containers/modal_view.css +0 -0
- data/vendor/assets/luca-ui/stylesheets/containers/tab_view.css +0 -16
- data/vendor/assets/luca-ui/stylesheets/normalize.css +0 -359
- data/vendor/assets/luca-ui/templates/components/bootstrap_form_controls.js +0 -4
- data/vendor/assets/luca-ui/templates/components/form_view.js +0 -4
- data/vendor/assets/luca-ui/templates/components/grid_view.js +0 -4
- data/vendor/assets/luca-ui/templates/components/grid_view_empty_text.js +0 -4
- data/vendor/assets/luca-ui/templates/containers/basic.js +0 -4
- data/vendor/assets/luca-ui/templates/containers/tab_selector_container.js +0 -4
- data/vendor/assets/luca-ui/templates/containers/tab_view.js +0 -4
- data/vendor/assets/luca-ui/templates/containers/toolbar_wrapper.js +0 -4
- data/vendor/assets/luca-ui/templates/fields/button_field.js +0 -4
- data/vendor/assets/luca-ui/templates/fields/button_field_link.js +0 -4
- data/vendor/assets/luca-ui/templates/fields/checkbox_field.js +0 -4
- data/vendor/assets/luca-ui/templates/fields/file_upload_field.js +0 -4
- data/vendor/assets/luca-ui/templates/fields/hidden_field.js +0 -4
- data/vendor/assets/luca-ui/templates/fields/select_field.js +0 -4
- data/vendor/assets/luca-ui/templates/fields/text_area_field.js +0 -4
- data/vendor/assets/luca-ui/templates/fields/text_field.js +0 -4
- data/vendor/assets/luca-ui/templates/sample/contents.js +0 -4
- data/vendor/assets/luca-ui/templates/sample/welcome.js +0 -4
data/CHANGELOG
CHANGED
|
@@ -204,13 +204,76 @@
|
|
|
204
204
|
|
|
205
205
|
0.9.75
|
|
206
206
|
- Component registration is now beautifully readable and self documenting,
|
|
207
|
-
and flexible. Minimally only requires one call to Luca.register().
|
|
207
|
+
and flexible. Minimally only requires one call to Luca.register().
|
|
208
|
+
This allows you to be as descriptive as you like when defining a component,
|
|
209
|
+
and does not require you to call any definition methods which do not
|
|
210
|
+
make literary sense in your component description.
|
|
211
|
+
|
|
208
212
|
- Component definition now supports specifying class methods.
|
|
213
|
+
|
|
209
214
|
- Luca.initialize('Namespace') will setup a complete namespace for
|
|
210
215
|
your application, and give you a Namespace() method which works similar
|
|
211
216
|
to the Luca() helper.
|
|
217
|
+
|
|
212
218
|
- Added Luca.config.modelBootrstrap and Luca.config.baseParams as pointers
|
|
213
219
|
to either properties, or methods, which can be used to configure Luca.Collection behavior
|
|
214
220
|
- Luca.onReady is now the preferred way of launching the application.
|
|
215
221
|
- Added Luca.Application.routeTo, Luca.Application.controller
|
|
216
|
-
route building helpers
|
|
222
|
+
route building helpers
|
|
223
|
+
|
|
224
|
+
0.9.78
|
|
225
|
+
- Added experimental ability to integrate router into the application itself, via the @routes property
|
|
226
|
+
- Temporary fix for double rendering bug in containers which had css class based assignments on their containers.
|
|
227
|
+
- Added experimental support for Luca.SocketManager
|
|
228
|
+
- Introducing @stateChangeEvents property for views which mixin the StateModel concern.
|
|
229
|
+
- Added additional ComponentDefinition methods: public, private, configuration, methods
|
|
230
|
+
- Component MetaData tracks descendants()
|
|
231
|
+
- SelectField defaults to valueType integer when valueField is "id"
|
|
232
|
+
|
|
233
|
+
0.9.8
|
|
234
|
+
- Luca follows Sprockets / Asset Pipeline Conventions
|
|
235
|
+
- Renamed
|
|
236
|
+
- Luca.core.Container to Luca.Container
|
|
237
|
+
- Luca.components.Panel to Luca.Panel
|
|
238
|
+
- Added Sortable Concern
|
|
239
|
+
- Added Luca.log()
|
|
240
|
+
- Added ability to create aliases / deprecations of components with warning messages
|
|
241
|
+
|
|
242
|
+
0.9.81
|
|
243
|
+
- Added support for HoganAssets via hogan.js and HoganAssets gem by Les Hill
|
|
244
|
+
- Renamed Luca.components.CollectionView to Luca.CollectionView. Moved CollectionView to core.
|
|
245
|
+
- beforeSubmit, and beforeReset on formView can return false to stop the action
|
|
246
|
+
- Added scrollable table component to replace ugly ass GridView
|
|
247
|
+
|
|
248
|
+
0.9.83
|
|
249
|
+
- Added sortOptionsBy property to select field. Expects an attribute to sort by.
|
|
250
|
+
- firstActivation event will be queue'd until after:render has been fired
|
|
251
|
+
- setting @rendered = true on views
|
|
252
|
+
- adding event on controller activation
|
|
253
|
+
- Bugfix on CollectionView refresh method
|
|
254
|
+
|
|
255
|
+
0.9.84
|
|
256
|
+
- Added Luca::Collection::Endpoint to provide cheap throwaway persistence
|
|
257
|
+
|
|
258
|
+
0.9.85
|
|
259
|
+
- Documentation / Comments parser and generator.
|
|
260
|
+
- Luca.config.developmentMode revamp.
|
|
261
|
+
- Added experimental Guard::Luca which uses Faye to send asset changes to the running Luca.Application()
|
|
262
|
+
- Added Luca.CodeSyncManager which keeps css, templates, and component definitions in sync as you change them on the file system.
|
|
263
|
+
- Better refreshing of instantiated components with updated prototype code via CodeSyncManager
|
|
264
|
+
- Integrated Luca.FormView improvements from @grilix
|
|
265
|
+
|
|
266
|
+
0.9.86
|
|
267
|
+
- Introducing GridLayoutView component which is a CollectionView which uses bootstraps row and spans to form an even grid.
|
|
268
|
+
- Introducing SimpleCollectionView which is a CollectionView without any mixins applied
|
|
269
|
+
|
|
270
|
+
0.9.87
|
|
271
|
+
- Adds support for keymaster.js for keybinding config. Thanks @madrobby.
|
|
272
|
+
- Adds ability for the Application, and components which belong sto Luca.components.Controller to define their own global keybindings
|
|
273
|
+
- Luca::ComponentDefinition renders comments as MarkDown
|
|
274
|
+
- Adds Luca.util.setupKeyBindings helper for views to instrument their own keybindings / scopes
|
|
275
|
+
|
|
276
|
+
0.9.88
|
|
277
|
+
- Fixed a bug in StateModel concern
|
|
278
|
+
- Luca.View which define an @_events property on their prototypes will have
|
|
279
|
+
that event configuration persist into @events of views which extend from them
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: http://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
+
active_support (3.0.0)
|
|
5
|
+
activesupport (= 3.0.0)
|
|
6
|
+
activesupport (3.0.0)
|
|
4
7
|
addressable (2.3.2)
|
|
5
8
|
childprocess (0.3.1)
|
|
6
9
|
ffi (~> 1.0.6)
|
|
@@ -28,7 +31,14 @@ GEM
|
|
|
28
31
|
guard
|
|
29
32
|
sprockets (~> 2.0)
|
|
30
33
|
haml (3.1.4)
|
|
34
|
+
haml_assets (0.2.1)
|
|
35
|
+
haml
|
|
36
|
+
tilt
|
|
31
37
|
hike (1.2.1)
|
|
38
|
+
hogan_assets (1.3.4)
|
|
39
|
+
execjs (>= 1.2.9)
|
|
40
|
+
sprockets (>= 2.0.3)
|
|
41
|
+
tilt (>= 1.3.3)
|
|
32
42
|
i18n (0.6.0)
|
|
33
43
|
jasmine (1.3.0)
|
|
34
44
|
jasmine-core (>= 1.3.0)
|
|
@@ -47,11 +57,12 @@ GEM
|
|
|
47
57
|
method_source (~> 0.6.7)
|
|
48
58
|
ruby_parser (>= 2.3.1)
|
|
49
59
|
slop (~> 2.1.0)
|
|
50
|
-
rack (1.
|
|
60
|
+
rack (1.5.2)
|
|
51
61
|
rack-protection (1.1.4)
|
|
52
62
|
rack
|
|
53
63
|
rake (0.9.2.2)
|
|
54
64
|
rb-fsevent (0.9.1)
|
|
65
|
+
redcarpet (2.2.2)
|
|
55
66
|
rspec (2.12.0)
|
|
56
67
|
rspec-core (~> 2.12.0)
|
|
57
68
|
rspec-expectations (~> 2.12.0)
|
|
@@ -75,8 +86,9 @@ GEM
|
|
|
75
86
|
rack-protection (~> 1.1, >= 1.1.2)
|
|
76
87
|
tilt (~> 1.3, >= 1.3.3)
|
|
77
88
|
slop (2.1.0)
|
|
78
|
-
sprockets (2.
|
|
89
|
+
sprockets (2.8.2)
|
|
79
90
|
hike (~> 1.2)
|
|
91
|
+
multi_json (~> 1.0)
|
|
80
92
|
rack (~> 1.0)
|
|
81
93
|
tilt (~> 1.1, != 1.3.0)
|
|
82
94
|
thor (0.14.6)
|
|
@@ -90,16 +102,20 @@ PLATFORMS
|
|
|
90
102
|
ruby
|
|
91
103
|
|
|
92
104
|
DEPENDENCIES
|
|
105
|
+
active_support
|
|
93
106
|
coffee-script (>= 2.2.0)
|
|
94
107
|
ejs
|
|
95
108
|
faker
|
|
96
109
|
guard-jasmine
|
|
97
110
|
guard-sprockets2
|
|
98
111
|
haml
|
|
112
|
+
haml_assets
|
|
113
|
+
hogan_assets
|
|
99
114
|
jasmine
|
|
100
115
|
pry
|
|
101
116
|
rake
|
|
102
117
|
rb-fsevent (>= 0.9.1)
|
|
118
|
+
redcarpet
|
|
103
119
|
sass (>= 3.1.10)
|
|
104
120
|
sinatra
|
|
105
121
|
sprockets (>= 2.0.2)
|
data/Guardfile
CHANGED
|
@@ -1,27 +1,5 @@
|
|
|
1
1
|
require './app'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
stylesheets_path = File.join( assets_path, 'stylesheets' )
|
|
6
|
-
|
|
7
|
-
unless ENV['TEST_MODE'] or ENV['RUN_TESTS']
|
|
8
|
-
unless ENV['SKIP_JAVASCRIPTS']
|
|
9
|
-
guard 'sprockets2', :clean=>false, :assets_path => javascript_path, :sprockets => App.sprockets, :precompile=>[/^luca-ui.+(coffee|js)$/], :digest => false, :gz => false do
|
|
10
|
-
watch(%r{^src/.+$})
|
|
11
|
-
watch(%r{^spec/.+$})
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
unless ENV['SKIP_STYLESHEETS']
|
|
16
|
-
guard 'sprockets2', :clean=>false, :assets_path => stylesheets_path, :sprockets => App.sprockets, :precompile=>[/^luca-ui.+(scss|css)$/], :digest => false, :gz => false do
|
|
17
|
-
watch(%r{^src/stylesheets/.+$})
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
unless ENV['COMPILE_MODE']
|
|
23
|
-
guard 'jasmine' do
|
|
24
|
-
watch(%r{src/(.+)\.coffee}) {|m| "spec/#{ m[1] }_spec.coffee" }
|
|
25
|
-
watch(%r{spec/(.+)_spec\.coffee})
|
|
26
|
-
end
|
|
2
|
+
guard 'jasmine' do
|
|
3
|
+
watch(%r{src/(.+)\.coffee}) {|m| "spec/#{ m[1] }_spec.coffee" }
|
|
4
|
+
watch(%r{spec/(.+)_spec\.coffee})
|
|
27
5
|
end
|
data/README.md
CHANGED
|
@@ -7,21 +7,6 @@ and clean single page applications.
|
|
|
7
7
|
It uses twitter bootstrap compatible markup and css naming conventions,
|
|
8
8
|
making it possible to generate completely styled user interfaces with JSON alone.
|
|
9
9
|
|
|
10
|
-
Luca combines the functionality of other open source libraries as well, but you are not
|
|
11
|
-
required to use any of them if you don't like.
|
|
12
|
-
|
|
13
|
-
### Dependencies
|
|
14
|
-
|
|
15
|
-
- [Bootstrap by Twitter](https://twitter.github.com/bootstrap)
|
|
16
|
-
- [Backbone-Query by David Tonge](https://github.com/davidgtonge/backbone_query)
|
|
17
|
-
- [Underscore String by Esa-Matti Suuronen](https://github.com/epeli/underscore.string)
|
|
18
|
-
|
|
19
|
-
### Development Tool Dependencies:
|
|
20
|
-
|
|
21
|
-
- [CodeMirror IDE](https://codemirror.net)
|
|
22
|
-
- [CoffeeScript Compiler](https://coffeescript.org)
|
|
23
|
-
|
|
24
|
-
|
|
25
10
|
### Using With Rails Asset Pipeline
|
|
26
11
|
|
|
27
12
|
```ruby
|
|
@@ -33,41 +18,59 @@ In your css manifest:
|
|
|
33
18
|
|
|
34
19
|
```css
|
|
35
20
|
/*
|
|
36
|
-
*= require 'luca
|
|
37
|
-
*= require 'luca-ui-development-tools'
|
|
21
|
+
*= require 'luca'
|
|
38
22
|
*/
|
|
39
23
|
```
|
|
40
24
|
|
|
41
25
|
All Javascript Dependencies:
|
|
42
26
|
|
|
43
27
|
```javascript
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
//= require 'jquery'
|
|
47
|
-
//= require 'backbone'
|
|
48
|
-
//= require 'bootstrap.min.js'
|
|
49
|
-
//= require 'luca-ui.min.js'
|
|
50
|
-
//= require 'luca-ui-development-tools.min.js'
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Or you can just use the dependencies we rely on. Latest backbone.js, underscore.js, underscore.string.js, twitter boostrap js and css:
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
//= require 'luca-ui-full.min.js'
|
|
28
|
+
//= require 'luca/dependencies'
|
|
29
|
+
//= require 'luca'
|
|
57
30
|
```
|
|
58
31
|
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
32
|
+
Your App:
|
|
33
|
+
```javascript
|
|
34
|
+
Luca.initialize('App', {
|
|
35
|
+
// will look in window.AppBootstrap for an object
|
|
36
|
+
// keyed on your collection's cache_keys() for automatically
|
|
37
|
+
// populating collections on page load
|
|
38
|
+
modelBootstrap: true,
|
|
39
|
+
// will look in window.AppBaseParams for an object
|
|
40
|
+
// or function used to determine the query parameters to
|
|
41
|
+
// be sent on every request
|
|
42
|
+
baseParams: true
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
JST['home'] = function() {
|
|
46
|
+
// content
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
App.register('App.views.Home').extends('Luca.View').defines({
|
|
50
|
+
template: "home",
|
|
51
|
+
events: {
|
|
52
|
+
"click .menu-handler" : "clickMenuHandler"
|
|
53
|
+
},
|
|
54
|
+
clickMenuHandler: function(e){
|
|
55
|
+
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
App.register('App.Application').extends('Luca.Application').defines({
|
|
60
|
+
// will use the Application classes internal controller
|
|
61
|
+
// to make the home 'page' active in the viewport
|
|
62
|
+
routes:{
|
|
63
|
+
"" : "home"
|
|
64
|
+
}
|
|
65
|
+
components:[
|
|
66
|
+
name: "home"
|
|
67
|
+
type: "home"
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
AppNamespace.onReady(function(){
|
|
72
|
+
(new AppNamespace.Application).boot()
|
|
73
|
+
})
|
|
71
74
|
```
|
|
72
75
|
|
|
73
76
|
## Rails Generator
|
|
@@ -75,22 +78,11 @@ To generate Luca application skeleton run:
|
|
|
75
78
|
`rails generate luca:application <app_name>`
|
|
76
79
|
This will generate a controller, view, route, and the Luca application structure under assets/javascripts/<app_name>
|
|
77
80
|
|
|
78
|
-
##
|
|
79
|
-
|
|
80
|
-
[View the Sandbox](http://datapimp.com/luca)
|
|
81
|
+
## Contributing
|
|
82
|
+
You will need to run 'rake release:all' to compile/minify the asset which gets released.
|
|
81
83
|
|
|
82
84
|
## Thanks To
|
|
85
|
+
@jashkenas, @davidgtonge, @twitter, @madrobby, et al.
|
|
83
86
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
@twitter for making bootstrap 2.0
|
|
87
|
-
|
|
88
|
-
@davidtonge for making backbone-query
|
|
89
|
-
|
|
90
|
-
@benchprep for giving me the freedom
|
|
91
|
-
|
|
92
|
-
@luca. who i spent only two minutes making and am exponentially more proud to have created.
|
|
93
|
-
|
|
94
|
-
## Contributing
|
|
95
|
-
|
|
96
|
-
Please!
|
|
87
|
+
## Contributors
|
|
88
|
+
@tjbladez, @grilix, @nick-desteffen
|
data/ROADMAP
CHANGED
|
@@ -1,33 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
Minor Initiatives:
|
|
2
|
+
- make sure hooks and mixins are inherited properly
|
|
3
|
+
- upgrade to backbone 0.9.9
|
|
4
|
+
- remove / delegate features in luca which have been provided by backbone
|
|
5
|
+
- ComponentDefinition will become a Backbone.Model
|
|
6
|
+
- ComponentDefinition registry will become a Backbone.Collection
|
|
7
|
+
- InstanceCache will become a Backbone.Collection
|
|
8
|
+
- Make CardView less noisy in the DOM
|
|
9
|
+
- Remove component defined classNames in favor of styleHierarchy
|
|
10
|
+
- make styleHierarchy less noisy
|
|
4
11
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
- Replace .luca template with standard jst
|
|
11
|
-
- Eliminate underscore-string dependency. just copy necessary functions.
|
|
12
|
-
- Eliminate pointless CSS selectors
|
|
13
|
-
|
|
14
|
-
- Rely on data attributes for functionality instead of css selectors
|
|
15
|
-
- BUT in general don't tie views to the DOM anyway
|
|
16
|
-
|
|
17
|
-
Luca.View
|
|
18
|
-
---------
|
|
19
|
-
- Add StateMachine model to all instances of Luca.View
|
|
20
|
-
|
|
21
|
-
Containers
|
|
22
|
-
----------
|
|
23
|
-
- Luca.core.Container should relay all activation events to @components
|
|
24
|
-
|
|
25
|
-
Luca.CollectionManager
|
|
26
|
-
----------------------
|
|
27
|
-
- Add concept of base params for a given scope of the collection manager
|
|
28
|
-
|
|
29
|
-
Luca.Application
|
|
30
|
-
----------------
|
|
31
|
-
- Modify boot sequence so that rendering can happen on DOM ready, but all other
|
|
32
|
-
operations, such as fetching collections, etc, can happen immediately upon
|
|
33
|
-
initialization
|
|
12
|
+
Major Initiatives:
|
|
13
|
+
- improve Panel toolbar
|
|
14
|
+
- improve FormView and Field configuration APIs
|
|
15
|
+
- implement rendering strategy for deferrable rendering
|
|
16
|
+
- provide ability to restore application / component state from DOM
|
data/Rakefile
CHANGED
|
@@ -8,98 +8,39 @@ end
|
|
|
8
8
|
stylesheets = ["luca-ui-bootstrap.css","luca-ui-development-tools.css","sandbox.css"]
|
|
9
9
|
scripts = ["dependencies.js","sandbox.js"]
|
|
10
10
|
|
|
11
|
-
namespace :source do
|
|
12
|
-
desc "Create a source map for the project"
|
|
13
|
-
task :map => :environment do
|
|
14
|
-
require 'json'
|
|
15
|
-
source_map = {}
|
|
16
|
-
|
|
17
|
-
(["src/**/*.coffee","assets/javascripts/sandbox/**/*.coffee"]).map do |location|
|
|
18
|
-
files = Dir.glob( location )
|
|
19
|
-
files.inject(source_map) do |memo,file|
|
|
20
|
-
definitions = IO.read(file).lines.to_a.grep /_\.def/
|
|
21
|
-
|
|
22
|
-
definitions.each do |definition|
|
|
23
|
-
component = definition.match(/_\.def\(['"](.+)['"]\)\./)
|
|
24
|
-
|
|
25
|
-
if component and component[1]
|
|
26
|
-
componentId = component[1].gsub(/['"].*$/,'')
|
|
27
|
-
if componentId
|
|
28
|
-
memo[ componentId ] = {className:componentId,file:file,source:IO.read(file)}
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
memo
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
sourceMapFile = File.join( App.root, 'site', 'source-map.js')
|
|
39
|
-
|
|
40
|
-
File.open(sourceMapFile,'w+') do |fh|
|
|
41
|
-
fh.puts( JSON.generate( source_map.values ) )
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
11
|
namespace :release do
|
|
48
|
-
desc "
|
|
49
|
-
task :
|
|
50
|
-
|
|
51
|
-
asset_folder = File.join(App.root,'site','assets')
|
|
52
|
-
img_folder = File.join(App.root,'site','img')
|
|
53
|
-
|
|
54
|
-
[stylesheets,scripts].flatten.each do |filename|
|
|
55
|
-
asset = App.sprockets.find_asset(filename)
|
|
56
|
-
File.open( File.join( App.root, 'site', 'assets', filename) , 'w+' ) do |fh|
|
|
57
|
-
fh.puts(asset.to_s)
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
FileUtils.cp( File.join(App.root,'assets','javascripts','dependencies','bootstrap.min.js'), asset_folder)
|
|
62
|
-
FileUtils.cp( File.join(App.root,'vendor/assets/javascripts/luca-ui.min.js'), asset_folder)
|
|
63
|
-
FileUtils.cp( File.join(App.root,'vendor/assets/javascripts/luca-ui-full.min.js'), asset_folder)
|
|
64
|
-
FileUtils.cp( File.join(App.root,'vendor/assets/javascripts/luca-ui-development-tools.min.js'), asset_folder)
|
|
65
|
-
|
|
66
|
-
FileUtils.cp( File.join(App.root,'vendor/assets/images/glyphicons-halflings-white.png'), img_folder )
|
|
67
|
-
FileUtils.cp( File.join(App.root,'vendor/assets/images/glyphicons-halflings.png'), img_folder )
|
|
68
|
-
|
|
69
|
-
end
|
|
70
|
-
|
|
12
|
+
desc "Compile and Minify"
|
|
13
|
+
task :all => [:assets,:minify]
|
|
71
14
|
desc "Compile all the assets"
|
|
72
15
|
task :assets => :environment do
|
|
73
|
-
File.open( File.join(App.root,'vendor','assets','stylesheets','luca-
|
|
74
|
-
fh.puts(App.sprockets["luca
|
|
16
|
+
File.open( File.join(App.root,'vendor','assets','stylesheets','luca-development.css'), 'w+' ) do |fh|
|
|
17
|
+
fh.puts(App.sprockets["luca/development.css"].to_s)
|
|
75
18
|
end
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
fh.puts(App.sprockets["luca-templates.js"].to_s)
|
|
19
|
+
File.open( File.join(App.root,'vendor','assets','stylesheets','luca-components.css'), 'w+' ) do |fh|
|
|
20
|
+
fh.puts(App.sprockets["luca.css"].to_s)
|
|
79
21
|
end
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
fh.puts(App.sprockets["luca-ui.js"].to_s)
|
|
22
|
+
File.open( File.join(App.root,'tmp','luca.js'), 'w+' ) do |fh|
|
|
23
|
+
fh.puts(App.sprockets["luca.js"].to_s)
|
|
83
24
|
end
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
fh.puts(App.sprockets["luca-ui-full.js"].to_s)
|
|
25
|
+
File.open( File.join(App.root,'tmp','luca-development.js'), 'w+' ) do |fh|
|
|
26
|
+
fh.puts(App.sprockets["luca/development.js"].to_s)
|
|
87
27
|
end
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
fh.puts(App.sprockets["luca-ui-development-tools.coffee"].to_s)
|
|
28
|
+
File.open( File.join(App.root,'tmp','luca-dependencies.js'), 'w+' ) do |fh|
|
|
29
|
+
fh.puts(App.sprockets["luca/dependencies.js"].to_s)
|
|
91
30
|
end
|
|
92
31
|
end
|
|
93
32
|
|
|
94
33
|
desc "Minify the assets"
|
|
95
34
|
task :minify do
|
|
96
|
-
`uglifyjs
|
|
97
|
-
`uglifyjs
|
|
98
|
-
`uglifyjs
|
|
35
|
+
`uglifyjs tmp/luca.js > vendor/assets/javascripts/luca.min.js`
|
|
36
|
+
`uglifyjs tmp/luca-development.js > vendor/assets/javascripts/luca-development.min.js`
|
|
37
|
+
`uglifyjs tmp/luca-dependencies.js > vendor/assets/javascripts/luca-dependencies.min.js`
|
|
38
|
+
`cat vendor/assets/javascripts/luca-dependencies.min.js vendor/assets/javascripts/luca.min.js > vendor/assets/javascripts/luca.full.min.js`
|
|
39
|
+
`rm tmp/*.js`
|
|
99
40
|
end
|
|
100
41
|
|
|
101
42
|
desc "Build the gem"
|
|
102
|
-
task :gem do
|
|
43
|
+
task :gem => [:assets,:minify] do
|
|
103
44
|
`gem build luca.gemspec`
|
|
104
45
|
end
|
|
105
46
|
|