luca 0.9.8 → 0.9.9
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 +49 -0
- data/Gemfile +8 -1
- data/Gemfile.lock +97 -53
- data/Guardfile +3 -25
- data/README.md +5 -16
- data/ROADMAP +15 -9
- data/Rakefile +24 -75
- data/app.rb +10 -42
- data/app/assets/javascripts/luca/basic.coffee +1 -1
- data/app/assets/javascripts/luca/components/application.coffee +187 -104
- data/app/assets/javascripts/luca/components/collection_view.coffee +115 -51
- data/app/assets/javascripts/luca/components/controller.coffee +87 -10
- data/app/assets/javascripts/luca/components/fields/base.coffee +74 -13
- data/app/assets/javascripts/luca/components/fields/button_field.coffee +60 -13
- data/app/assets/javascripts/luca/components/fields/checkbox_array.coffee +12 -7
- data/app/assets/javascripts/luca/components/fields/select_field.coffee +82 -23
- data/app/assets/javascripts/luca/components/fields/text_area_field.coffee +25 -10
- data/app/assets/javascripts/luca/components/fields/text_field.coffee +9 -3
- data/app/assets/javascripts/luca/components/form_view.coffee +105 -33
- data/app/assets/javascripts/luca/components/grid_layout_view.coffee +42 -0
- data/app/assets/javascripts/luca/components/index.coffee +6 -0
- data/app/assets/javascripts/luca/components/nav_bar.coffee +60 -6
- data/app/assets/javascripts/luca/components/page.coffee +70 -0
- data/app/assets/javascripts/luca/components/simple_collection_view.coffee +10 -0
- data/app/assets/javascripts/luca/components/table_view.coffee +7 -3
- data/app/assets/javascripts/luca/components/table_view_scrollable.coffee +23 -0
- data/app/assets/javascripts/luca/concerns/collection_event_bindings.coffee +4 -1
- data/app/assets/javascripts/luca/concerns/development_tool_helpers.coffee +23 -14
- data/app/assets/javascripts/luca/concerns/dom_helpers.coffee +2 -2
- data/app/assets/javascripts/luca/concerns/filterable.coffee +8 -11
- data/app/assets/javascripts/luca/concerns/form_model_bindings.coffee +20 -0
- data/app/assets/javascripts/luca/concerns/modal_view.coffee +40 -15
- data/app/assets/javascripts/luca/concerns/query_collection_bindings.coffee +7 -1
- data/app/assets/javascripts/luca/concerns/state_model.coffee +40 -26
- data/app/assets/javascripts/luca/concerns/templating.coffee +3 -1
- data/app/assets/javascripts/luca/config.coffee +5 -0
- data/app/assets/javascripts/luca/containers/card_view.coffee +87 -52
- data/app/assets/javascripts/luca/containers/container.coffee +305 -108
- data/app/assets/javascripts/luca/containers/modal_view.coffee +9 -9
- data/app/assets/javascripts/luca/containers/page_controller.coffee +25 -0
- data/app/assets/javascripts/luca/containers/panel_toolbar.coffee +5 -6
- data/app/assets/javascripts/luca/containers/tab_view.coffee +19 -10
- data/app/assets/javascripts/luca/containers/viewport.coffee +12 -16
- data/app/assets/javascripts/luca/core/collection.coffee +19 -5
- data/app/assets/javascripts/luca/core/events.coffee +5 -5
- data/app/assets/javascripts/luca/core/model.coffee +1 -1
- data/app/assets/javascripts/luca/core/panel.coffee +18 -6
- data/app/assets/javascripts/luca/core/registry/component_definition.coffee +2 -1
- data/app/assets/javascripts/luca/core/registry/meta_data.coffee +2 -0
- data/app/assets/javascripts/luca/core/registry/registry.coffee +14 -11
- data/app/assets/javascripts/luca/core/templates.coffee +5 -1
- data/app/assets/javascripts/luca/core/view.coffee +200 -47
- data/app/assets/javascripts/luca/dependencies.coffee +2 -0
- data/app/assets/javascripts/luca/development/code_sync_manager.coffee +173 -0
- data/app/assets/javascripts/luca/development/component.coffee +76 -0
- data/app/assets/javascripts/luca/development/components.coffee +57 -0
- data/app/assets/javascripts/luca/development/console.coffee +1 -1
- data/app/assets/javascripts/luca/development/index.coffee +4 -1
- data/app/assets/javascripts/luca/framework.coffee +7 -3
- data/app/assets/javascripts/luca/index.coffee +2 -1
- data/app/assets/javascripts/luca/managers/collection_manager.coffee +2 -3
- data/app/assets/javascripts/luca/managers/index.coffee +1 -1
- data/app/assets/javascripts/luca/managers/socket_manager.coffee +31 -8
- data/app/assets/javascripts/luca/templates/components/nav_bar.jst.ejs +16 -1
- data/app/assets/javascripts/luca/templates/containers/tab_view.jst.ejs +1 -1
- data/app/assets/javascripts/luca/util/index.coffee +1 -0
- data/app/assets/javascripts/luca/util/keybindings.coffee +24 -0
- data/app/assets/javascripts/luca/util/logging.coffee +15 -0
- data/app/assets/javascripts/luca/util/luca.coffee +9 -1
- data/app/assets/stylesheets/luca/components/table_view.scss +85 -0
- data/app/assets/stylesheets/luca/components/viewport.scss +0 -4
- data/app/assets/stylesheets/luca/containers/container.scss +8 -0
- data/app/assets/stylesheets/luca/index.css +2 -2
- data/bin/luca +14 -0
- data/config.ru +1 -2
- data/docs/framework.json +1 -0
- data/docs/luca-framework-documentation.js +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/templates/javascripts/dependencies.coffee +2 -5
- data/lib/guard/luca.rb +84 -0
- data/lib/luca.rb +25 -1
- data/lib/luca/asset_compiler.rb +117 -0
- data/lib/luca/cli.rb +68 -0
- data/lib/luca/cli/generate.rb +37 -0
- data/lib/luca/cli/server.rb +20 -0
- data/lib/luca/cli/sync.rb +40 -0
- data/lib/luca/cli/watch.rb +16 -0
- data/lib/luca/collection.rb +64 -0
- data/lib/luca/collection/endpoint.rb +38 -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 +356 -0
- data/lib/luca/luca_application.rb +258 -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 +8 -0
- data/lib/luca/rails/version.rb +1 -2
- data/lib/luca/server.rb +7 -0
- data/lib/luca/stylesheet.rb +35 -0
- data/lib/luca/template.rb +2 -0
- data/lib/luca/template_asset.rb +64 -0
- data/lib/luca/version.rb +3 -0
- data/lib/luca/watcher.rb +72 -0
- data/lib/railties/luca/tasks.rake +7 -0
- data/site/.bundle/config +2 -0
- data/site/.gitignore +5 -0
- data/site/.rvmrc +1 -0
- data/site/CHANGELOG.md +41 -0
- data/site/DOCS.md +41 -0
- data/site/Gemfile +8 -0
- data/site/Gemfile.lock +134 -0
- data/site/LICENSE.md +19 -0
- data/site/config.rb +84 -0
- data/site/helpers/site_helpers.rb +20 -0
- data/site/html5bp-docs/README.md +38 -0
- data/site/html5bp-docs/contribute.md +104 -0
- data/site/html5bp-docs/crossdomain.md +21 -0
- data/site/html5bp-docs/css.md +135 -0
- data/site/html5bp-docs/extend.md +507 -0
- data/site/html5bp-docs/faq.md +77 -0
- data/site/html5bp-docs/htaccess.md +323 -0
- data/site/html5bp-docs/html.md +170 -0
- data/site/html5bp-docs/js.md +31 -0
- data/site/html5bp-docs/misc.md +25 -0
- data/site/html5bp-docs/usage.md +109 -0
- data/site/readme.md +47 -0
- data/site/source/.htaccess +540 -0
- data/site/source/404.html +157 -0
- data/site/source/app/assets/javascripts/dependencies.js.coffee +6 -0
- data/site/source/app/assets/javascripts/docs-docs.js +1 -0
- data/site/source/app/assets/javascripts/docs/application.coffee +64 -0
- data/site/source/app/assets/javascripts/docs/collections/docs_documentation.coffee +17 -0
- data/site/source/app/assets/javascripts/docs/collections/github_repositories.coffee +7 -0
- data/site/source/app/assets/javascripts/docs/collections/index.coffee +1 -0
- data/site/source/app/assets/javascripts/docs/collections/luca_documentation.coffee +17 -0
- data/site/source/app/assets/javascripts/docs/collections/public_gists.coffee +4 -0
- data/site/source/app/assets/javascripts/docs/config.coffee +5 -0
- data/site/source/app/assets/javascripts/docs/index.coffee +12 -0
- data/site/source/app/assets/javascripts/docs/lib/router.coffee +3 -0
- data/{spec/components/application_spec.coffee → site/source/app/assets/javascripts/docs/lib/util.coffee} +0 -0
- data/site/source/app/assets/javascripts/docs/models/component.coffee +99 -0
- data/site/source/app/assets/javascripts/docs/models/github_repository.coffee +3 -0
- data/site/source/app/assets/javascripts/docs/models/index.coffee +1 -0
- data/site/source/app/assets/javascripts/docs/templates/component_documentation.jst.ejs +55 -0
- data/site/source/app/assets/javascripts/docs/templates/examples_browser/overview.jst.ejs +4 -0
- data/site/source/app/assets/javascripts/docs/templates/examples_browser/selector.jst.ejs +11 -0
- data/site/source/app/assets/javascripts/docs/templates/github_repository.jst.ejs +4 -0
- data/site/source/app/assets/javascripts/docs/templates/layouts/main.jst.ejs +4 -0
- data/site/source/app/assets/javascripts/docs/templates/left_navigation.jst.ejs +5 -0
- data/site/source/app/assets/javascripts/docs/templates/pages/getting_started.jst.ejs +78 -0
- data/site/source/app/assets/javascripts/docs/templates/pages/home.jst.ejs +57 -0
- data/site/source/app/assets/javascripts/docs/views/components/code_editor.coffee +45 -0
- data/{spec/components/collection_loader_view_spec.coffee → site/source/app/assets/javascripts/docs/views/components/code_editor/index.coffee} +0 -0
- data/site/source/app/assets/javascripts/docs/views/components/component_documentation.coffee +72 -0
- data/site/source/app/assets/javascripts/docs/views/index.coffee +3 -0
- data/site/source/app/assets/javascripts/docs/views/pages/browse_source.coffee +46 -0
- data/site/source/app/assets/javascripts/docs/views/pages/browse_source/details.coffee +37 -0
- data/site/source/app/assets/javascripts/docs/views/pages/browse_source/list.coffee +31 -0
- data/site/source/app/assets/javascripts/docs/views/pages/component_editor.coffee +10 -0
- data/site/source/app/assets/javascripts/docs/views/pages/examples_browser.coffee +102 -0
- data/site/source/app/assets/javascripts/docs/views/pages/examples_browser/docs.coffee +12 -0
- data/site/source/app/assets/javascripts/docs/views/pages/examples_browser/source.coffee +13 -0
- data/site/source/app/assets/javascripts/docs/views/pages/home.coffee +10 -0
- data/site/source/app/assets/javascripts/docs/views/views/api_browser/index.coffee +43 -0
- data/site/source/app/assets/javascripts/docs/views/views/collection_view_examples/grid_layout_view_example.coffee +14 -0
- data/site/source/app/assets/javascripts/docs/views/views/collection_view_examples/table_view_example.coffee +39 -0
- data/site/source/app/assets/javascripts/docs/views/views/form_view_examples/basic_example.coffee +38 -0
- data/site/source/app/assets/javascripts/docs/views/views/form_view_examples/complex_layout.coffee +110 -0
- data/site/source/app/assets/javascripts/docs/views/views/top_navigation.coffee +6 -0
- data/site/source/app/assets/javascripts/luca-docs.js +1 -0
- data/site/source/app/assets/javascripts/luca-framework-documentation.js +1 -0
- data/site/source/app/assets/javascripts/site.js.coffee +4 -0
- data/site/source/app/assets/javascripts/vendor/codemirror.js +4786 -0
- data/site/source/app/assets/javascripts/vendor/coffeescript.js +346 -0
- data/site/source/app/assets/javascripts/vendor/css.js +465 -0
- data/site/source/app/assets/javascripts/vendor/htmlmixed.js +84 -0
- data/site/source/app/assets/javascripts/vendor/javascript.js +422 -0
- data/site/source/app/assets/javascripts/vendor/js-beautify.js +1353 -0
- data/site/source/app/assets/javascripts/vendor/modernizr-2.6.1.min.js +4 -0
- data/site/source/app/assets/javascripts/vendor/vim.js +2511 -0
- data/site/source/app/assets/stylesheets/docs/api-browser.css.scss +5 -0
- data/site/source/app/assets/stylesheets/docs/application.css.scss +35 -0
- data/site/source/app/assets/stylesheets/docs/browse-source.css.scss +5 -0
- data/site/source/app/assets/stylesheets/docs/scrollable-table.css.scss +5 -0
- data/site/source/app/assets/stylesheets/site.css.scss +2 -0
- data/site/source/app/assets/stylesheets/vendor/codemirror.css +240 -0
- data/site/source/app/assets/stylesheets/vendor/prettify-tomorrow-night-bright.css +160 -0
- data/site/source/app/assets/stylesheets/vendor/twilight.css +26 -0
- data/site/source/crossdomain.xml +15 -0
- data/site/source/documentation.html.haml +1 -0
- data/site/source/favicon_base.png +0 -0
- data/site/source/humans.txt +15 -0
- data/site/source/images/background.png +0 -0
- data/site/source/images/middleman.png +0 -0
- data/site/source/index.html.haml +1 -0
- data/site/source/layouts/layout.haml +55 -0
- data/site/source/readme.md +63 -0
- data/site/source/robots.txt +3 -0
- data/spec/{components/grid_view_spec.coffee → javascripts/components/application_spec.coffee} +0 -0
- data/spec/{components/pagination_control_spec.coffee → javascripts/components/collection_loader_view_spec.coffee} +0 -0
- data/spec/{components → javascripts/components}/collection_view_spec.coffee +1 -1
- data/spec/{components → javascripts/components}/controller_spec.coffee +0 -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/record_manager_spec.coffee → javascripts/components/grid_view_spec.coffee} +0 -0
- data/spec/{components → javascripts/components}/multi_collection_view_spec.coffee +0 -0
- data/spec/{components/template_spec.coffee → javascripts/components/pagination_control_spec.coffee} +0 -0
- data/spec/{concerns/paginatable_spec.coffee → javascripts/components/record_manager_spec.coffee} +0 -0
- data/spec/{components → javascripts/components}/table_view_spec.coffee +0 -0
- data/spec/{containers/modal_view_spec.coffee → javascripts/components/template_spec.coffee} +0 -0
- data/spec/{concerns → javascripts/concerns}/collection_event_bindings_spec.coffee +0 -0
- data/spec/{concerns → javascripts/concerns}/dom_helpers_spec.coffee +0 -0
- data/spec/{concerns → javascripts/concerns}/filterable_spec.coffee +0 -0
- data/spec/{concerns → javascripts/concerns}/model_presenter_spec.coffee +0 -0
- data/spec/{containers/panel_view_spec.coffee → javascripts/concerns/paginatable_spec.coffee} +0 -0
- data/spec/{concerns → javascripts/concerns}/state_model_spec.coffee +5 -0
- data/spec/javascripts/containers/card_view_spec.coffee +108 -0
- data/spec/{containers/tab_view_spec.coffee → javascripts/containers/modal_view_spec.coffee} +0 -0
- data/spec/{containers/viewport_spec.coffee → javascripts/containers/panel_view_spec.coffee} +0 -0
- data/spec/{core/observer_spec.coffee → javascripts/containers/tab_view_spec.coffee} +0 -0
- data/spec/{managers/socket_manager_spec.coffee → javascripts/containers/viewport_spec.coffee} +0 -0
- data/spec/{core → javascripts/core}/collection_spec.coffee +1 -1
- data/spec/{core → javascripts/core}/concerns_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/container_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/define_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/events_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/field_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/framework_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/model_spec.coffee +0 -0
- data/spec/javascripts/core/observer_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/util_spec.coffee +0 -0
- data/spec/{core → javascripts/core}/view_spec.coffee +51 -39
- data/spec/{dependencies → javascripts/dependencies}/index.coffee +0 -0
- data/spec/{dependencies → javascripts/dependencies}/jasmine-html.js +0 -0
- data/spec/{dependencies → javascripts/dependencies}/jasmine.js +0 -0
- data/spec/{dependencies → 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/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/tutorials/component-definitions.md +0 -0
- data/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-min.js +37 -33
- data/vendor/assets/javascripts/backbone-query.min.js +1 -1
- data/vendor/assets/javascripts/hogan.js +707 -0
- data/vendor/assets/javascripts/jquery.js +5 -4
- data/vendor/assets/javascripts/keymaster.min.js +4 -0
- data/vendor/assets/javascripts/luca-dependencies.min.js +8 -0
- data/vendor/assets/javascripts/luca-development.min.js +1 -0
- data/vendor/assets/javascripts/luca-spec.js +6 -6
- data/vendor/assets/javascripts/luca-ui.js +7386 -0
- data/vendor/assets/javascripts/luca-ui.min.js +5 -0
- data/vendor/assets/javascripts/luca.full.min.js +12 -0
- data/vendor/assets/javascripts/luca.min.js +5 -0
- data/vendor/assets/javascripts/underscore-min.js +1 -5
- data/vendor/assets/javascripts/underscore-string.min.js +1 -1
- data/vendor/assets/stylesheets/luca-components.css +202 -0
- data/vendor/assets/stylesheets/luca-development.css +23 -0
- data/vendor/assets/stylesheets/luca-ui.css +198 -0
- metadata +324 -94
- data/app/assets/javascripts/luca/components/base_toolbar.coffee +0 -17
- data/app/assets/javascripts/luca/components/form_button_toolbar.coffee +0 -28
- data/app/assets/javascripts/luca/components/grid_view.coffee +0 -269
- data/app/assets/javascripts/luca/components/page_controller.coffee +0 -7
- data/app/assets/javascripts/luca/components/template.coffee +0 -5
- data/app/assets/javascripts/luca/components/toolbar_dialog.coffee +0 -25
- data/lib/luca/code_browser.rb +0 -55
- data/lib/luca/command_line.rb +0 -69
- data/lib/luca/component_documentation.rb +0 -72
- data/site/assets/bootstrap.min.js +0 -7
- data/site/assets/dependencies.js +0 -94
- data/site/assets/glyphicons-halflings-white.png +0 -0
- data/site/assets/glyphicons-halflings.png +0 -0
- data/site/assets/luca-ui-bootstrap.css +0 -1331
- data/site/assets/luca-ui-bootstrap.js +0 -9
- data/site/assets/luca-ui-development-tools.css +0 -234
- data/site/assets/luca-ui-development-tools.js +0 -18561
- data/site/assets/luca-ui-development-tools.min.js +0 -15
- data/site/assets/luca-ui-full.min.js +0 -8
- data/site/assets/luca-ui.min.js +0 -4
- data/site/assets/sandbox.css +0 -62
- data/site/assets/sandbox.js +0 -469
- data/site/docs/application.html +0 -41
- data/site/docs/caching.html +0 -43
- data/site/docs/collection.html +0 -75
- data/site/docs/collection_manager.html +0 -71
- data/site/docs/containers.html +0 -118
- data/site/docs/events.html +0 -153
- data/site/docs/view.html +0 -128
- data/site/img/glyphicons-halflings-white.png +0 -0
- data/site/img/glyphicons-halflings.png +0 -0
- data/site/index.html +0 -20
- data/site/source-map.js +0 -1
- data/spec/components/form_view_spec.coffee +0 -84
- data/spec/containers/card_view_spec.coffee +0 -50
- data/spec/luca-spec.coffee +0 -9
data/CHANGELOG
CHANGED
@@ -238,3 +238,52 @@
|
|
238
238
|
- Added Sortable Concern
|
239
239
|
- Added Luca.log()
|
240
240
|
- Added ability to create aliases / deprecations of components with warning messages
|
241
|
+
|
242
|
+
0.9.81
|
243
|
+
- Added support for HoganAssets via hogan.js and HoganAssets gem by Les Hill
|
244
|
+
- Renamed Luca.components.CollectionView to Luca.CollectionView. Moved CollectionView to core.
|
245
|
+
- beforeSubmit, and beforeReset on formView can return false to stop the action
|
246
|
+
- Added scrollable table component to replace ugly ass GridView
|
247
|
+
|
248
|
+
0.9.83
|
249
|
+
- Added sortOptionsBy property to select field. Expects an attribute to sort by.
|
250
|
+
- firstActivation event will be queue'd until after:render has been fired
|
251
|
+
- setting @rendered = true on views
|
252
|
+
- adding event on controller activation
|
253
|
+
- Bugfix on CollectionView refresh method
|
254
|
+
|
255
|
+
0.9.84
|
256
|
+
- Added Luca::Collection::Endpoint to provide cheap throwaway persistence
|
257
|
+
|
258
|
+
0.9.85
|
259
|
+
- Documentation / Comments parser and generator.
|
260
|
+
- Luca.config.developmentMode revamp.
|
261
|
+
- Added experimental Guard::Luca which uses Faye to send asset changes to the running Luca.Application()
|
262
|
+
- Added Luca.CodeSyncManager which keeps css, templates, and component definitions in sync as you change them on the file system.
|
263
|
+
- Better refreshing of instantiated components with updated prototype code via CodeSyncManager
|
264
|
+
- Integrated Luca.FormView improvements from @grilix
|
265
|
+
|
266
|
+
0.9.86
|
267
|
+
- Introducing GridLayoutView component which is a CollectionView which uses bootstraps row and spans to form an even grid.
|
268
|
+
- Introducing SimpleCollectionView which is a CollectionView without any mixins applied
|
269
|
+
|
270
|
+
0.9.87
|
271
|
+
- Adds support for keymaster.js for keybinding config. Thanks @madrobby.
|
272
|
+
- Adds ability for the Application, and components which belong sto Luca.components.Controller to define their own global keybindings
|
273
|
+
- Luca::ComponentDefinition renders comments as MarkDown
|
274
|
+
- Adds Luca.util.setupKeyBindings helper for views to instrument their own keybindings / scopes
|
275
|
+
|
276
|
+
0.9.88
|
277
|
+
- Fixed a bug in StateModel concern
|
278
|
+
- Luca.View which define an @_inheritEvents property on their prototypes will have
|
279
|
+
that event configuration persist into @events of views which extend from them
|
280
|
+
|
281
|
+
0.9.9
|
282
|
+
- Added luca executable which includes:
|
283
|
+
- documentation generator
|
284
|
+
- sync command for running Luca.CodeSyncManager in development
|
285
|
+
- Removes some unused components
|
286
|
+
- API changes for Luca.components.Controller
|
287
|
+
- Removing rails dependencies
|
288
|
+
- Middleman site for documentation and examples
|
289
|
+
- Improving documentation for core components
|
data/Gemfile
CHANGED
@@ -4,10 +4,17 @@ gem "sinatra", :require => "sinatra/base"
|
|
4
4
|
gem 'coffee-script', '>= 2.2.0'
|
5
5
|
gem "uglifier", '>= 1.0.3'
|
6
6
|
gem "sass", '>= 3.1.10'
|
7
|
-
gem "sprockets",
|
7
|
+
gem "sprockets", ">= 2.4.5"
|
8
8
|
gem 'ejs'
|
9
9
|
gem 'haml'
|
10
|
+
gem 'redcarpet'
|
10
11
|
gem 'rake'
|
12
|
+
gem 'hogan_assets'
|
13
|
+
gem 'haml_assets'
|
14
|
+
gem 'activesupport', '>= 3.2.12'
|
15
|
+
gem 'listen'
|
16
|
+
gem 'faye'
|
17
|
+
gem 'thin'
|
11
18
|
|
12
19
|
group :test, :development do
|
13
20
|
gem 'faker'
|
data/Gemfile.lock
CHANGED
@@ -1,106 +1,150 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
+
activesupport (3.2.12)
|
5
|
+
i18n (~> 0.6)
|
6
|
+
multi_json (~> 1.0)
|
4
7
|
addressable (2.3.2)
|
5
|
-
childprocess (0.3.
|
6
|
-
ffi (~> 1.0.
|
7
|
-
coderay (0.9
|
8
|
+
childprocess (0.3.8)
|
9
|
+
ffi (~> 1.0, >= 1.0.11)
|
10
|
+
coderay (1.0.9)
|
8
11
|
coffee-script (2.2.0)
|
9
12
|
coffee-script-source
|
10
13
|
execjs
|
11
|
-
coffee-script-source (1.
|
14
|
+
coffee-script-source (1.4.0)
|
15
|
+
cookiejar (0.3.0)
|
16
|
+
daemons (1.1.9)
|
12
17
|
diff-lcs (1.1.3)
|
13
|
-
ejs (1.
|
14
|
-
|
18
|
+
ejs (1.1.1)
|
19
|
+
em-http-request (1.0.3)
|
20
|
+
addressable (>= 2.2.3)
|
21
|
+
cookiejar
|
22
|
+
em-socksify
|
23
|
+
eventmachine (>= 1.0.0.beta.4)
|
24
|
+
http_parser.rb (>= 0.5.3)
|
25
|
+
em-socksify (0.2.1)
|
26
|
+
eventmachine (>= 1.0.0.beta.4)
|
27
|
+
eventmachine (1.0.0)
|
28
|
+
execjs (1.4.0)
|
15
29
|
multi_json (~> 1.0)
|
16
|
-
faker (1.
|
17
|
-
i18n (~> 0.
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
30
|
+
faker (1.1.2)
|
31
|
+
i18n (~> 0.5)
|
32
|
+
faye (0.8.8)
|
33
|
+
cookiejar (>= 0.3.0)
|
34
|
+
em-http-request (>= 0.3.0)
|
35
|
+
eventmachine (>= 0.12.0)
|
36
|
+
faye-websocket (>= 0.4.0)
|
37
|
+
rack (>= 1.0.0)
|
38
|
+
yajl-ruby (>= 1.0.0)
|
39
|
+
faye-websocket (0.4.7)
|
40
|
+
eventmachine (>= 0.12.0)
|
41
|
+
ffi (1.4.0)
|
42
|
+
guard (1.6.2)
|
43
|
+
listen (>= 0.6.0)
|
44
|
+
lumberjack (>= 1.0.2)
|
45
|
+
pry (>= 0.9.10)
|
46
|
+
terminal-table (>= 1.4.3)
|
47
|
+
thor (>= 0.14.6)
|
48
|
+
guard-jasmine (1.13.0)
|
23
49
|
childprocess
|
24
|
-
guard (>=
|
50
|
+
guard (>= 1.1.0)
|
25
51
|
multi_json
|
26
52
|
thor
|
27
53
|
guard-sprockets2 (0.0.6)
|
28
54
|
guard
|
29
55
|
sprockets (~> 2.0)
|
30
|
-
haml (
|
56
|
+
haml (4.0.0)
|
57
|
+
tilt
|
58
|
+
haml_assets (0.2.1)
|
59
|
+
haml
|
60
|
+
tilt
|
31
61
|
hike (1.2.1)
|
32
|
-
|
33
|
-
|
34
|
-
|
62
|
+
hogan_assets (1.5.0)
|
63
|
+
execjs (>= 1.2.9)
|
64
|
+
sprockets (>= 2.0.3)
|
65
|
+
tilt (>= 1.3.3)
|
66
|
+
http_parser.rb (0.5.3)
|
67
|
+
i18n (0.6.1)
|
68
|
+
jasmine (1.3.1)
|
69
|
+
jasmine-core (~> 1.3.1)
|
35
70
|
rack (~> 1.0)
|
36
71
|
rspec (>= 1.3.1)
|
37
72
|
selenium-webdriver (>= 0.1.3)
|
38
|
-
jasmine-core (1.3.
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
slop (~> 2.1.0)
|
50
|
-
rack (1.3.5)
|
51
|
-
rack-protection (1.1.4)
|
73
|
+
jasmine-core (1.3.1)
|
74
|
+
listen (0.7.2)
|
75
|
+
lumberjack (1.0.2)
|
76
|
+
method_source (0.8.1)
|
77
|
+
multi_json (1.6.1)
|
78
|
+
pry (0.9.12)
|
79
|
+
coderay (~> 1.0.5)
|
80
|
+
method_source (~> 0.8)
|
81
|
+
slop (~> 3.4)
|
82
|
+
rack (1.5.2)
|
83
|
+
rack-protection (1.3.2)
|
52
84
|
rack
|
53
|
-
rake (0.
|
54
|
-
rb-fsevent (0.9.
|
85
|
+
rake (10.0.3)
|
86
|
+
rb-fsevent (0.9.3)
|
87
|
+
redcarpet (2.2.2)
|
55
88
|
rspec (2.12.0)
|
56
89
|
rspec-core (~> 2.12.0)
|
57
90
|
rspec-expectations (~> 2.12.0)
|
58
91
|
rspec-mocks (~> 2.12.0)
|
59
|
-
rspec-core (2.12.
|
60
|
-
rspec-expectations (2.12.
|
92
|
+
rspec-core (2.12.2)
|
93
|
+
rspec-expectations (2.12.1)
|
61
94
|
diff-lcs (~> 1.1.3)
|
62
|
-
rspec-mocks (2.12.
|
63
|
-
ruby_parser (2.3.1)
|
64
|
-
sexp_processor (~> 3.0)
|
95
|
+
rspec-mocks (2.12.2)
|
65
96
|
rubyzip (0.9.9)
|
66
|
-
sass (3.
|
67
|
-
selenium-webdriver (2.
|
97
|
+
sass (3.2.5)
|
98
|
+
selenium-webdriver (2.30.0)
|
68
99
|
childprocess (>= 0.2.5)
|
69
|
-
libwebsocket (~> 0.1.3)
|
70
100
|
multi_json (~> 1.0)
|
71
101
|
rubyzip
|
72
|
-
|
73
|
-
sinatra (1.3.
|
74
|
-
rack (~> 1.
|
75
|
-
rack-protection (~> 1.
|
102
|
+
websocket (~> 1.0.4)
|
103
|
+
sinatra (1.3.4)
|
104
|
+
rack (~> 1.4)
|
105
|
+
rack-protection (~> 1.3)
|
76
106
|
tilt (~> 1.3, >= 1.3.3)
|
77
|
-
slop (
|
78
|
-
sprockets (2.
|
107
|
+
slop (3.4.3)
|
108
|
+
sprockets (2.8.2)
|
79
109
|
hike (~> 1.2)
|
110
|
+
multi_json (~> 1.0)
|
80
111
|
rack (~> 1.0)
|
81
112
|
tilt (~> 1.1, != 1.3.0)
|
82
|
-
|
113
|
+
terminal-table (1.4.5)
|
114
|
+
thin (1.5.0)
|
115
|
+
daemons (>= 1.0.9)
|
116
|
+
eventmachine (>= 0.12.6)
|
117
|
+
rack (>= 1.0.0)
|
118
|
+
thor (0.17.0)
|
83
119
|
tilt (1.3.3)
|
84
|
-
uglifier (1.
|
120
|
+
uglifier (1.3.0)
|
85
121
|
execjs (>= 0.3.0)
|
86
|
-
multi_json (>= 1.0.2)
|
87
|
-
websocket (1.0.
|
122
|
+
multi_json (~> 1.0, >= 1.0.2)
|
123
|
+
websocket (1.0.7)
|
124
|
+
yajl-ruby (1.1.0)
|
88
125
|
|
89
126
|
PLATFORMS
|
90
127
|
ruby
|
91
128
|
|
92
129
|
DEPENDENCIES
|
130
|
+
activesupport (>= 3.2.12)
|
93
131
|
coffee-script (>= 2.2.0)
|
94
132
|
ejs
|
95
133
|
faker
|
134
|
+
faye
|
96
135
|
guard-jasmine
|
97
136
|
guard-sprockets2
|
98
137
|
haml
|
138
|
+
haml_assets
|
139
|
+
hogan_assets
|
99
140
|
jasmine
|
141
|
+
listen
|
100
142
|
pry
|
101
143
|
rake
|
102
144
|
rb-fsevent (>= 0.9.1)
|
145
|
+
redcarpet
|
103
146
|
sass (>= 3.1.10)
|
104
147
|
sinatra
|
105
|
-
sprockets (>= 2.
|
148
|
+
sprockets (>= 2.4.5)
|
149
|
+
thin
|
106
150
|
uglifier (>= 1.0.3)
|
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
@@ -78,22 +78,11 @@ To generate Luca application skeleton run:
|
|
78
78
|
`rails generate luca:application <app_name>`
|
79
79
|
This will generate a controller, view, route, and the Luca application structure under assets/javascripts/<app_name>
|
80
80
|
|
81
|
-
##
|
82
|
-
|
83
|
-
[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.
|
84
83
|
|
85
84
|
## Thanks To
|
85
|
+
@jashkenas, @davidgtonge, @twitter, @madrobby, et al.
|
86
86
|
|
87
|
-
|
88
|
-
|
89
|
-
@twitter for making bootstrap 2.0
|
90
|
-
|
91
|
-
@davidtonge for making backbone-query
|
92
|
-
|
93
|
-
@benchprep for giving me the freedom
|
94
|
-
|
95
|
-
@luca. who i spent only two minutes making and am exponentially more proud to have created.
|
96
|
-
|
97
|
-
## Contributing
|
98
|
-
|
99
|
-
Please!
|
87
|
+
## Contributors
|
88
|
+
@tjbladez, @grilix, @nick-desteffen
|
data/ROADMAP
CHANGED
@@ -1,10 +1,16 @@
|
|
1
|
-
|
2
|
-
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
-
|
9
|
-
|
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
|
10
11
|
|
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
@@ -2,104 +2,53 @@
|
|
2
2
|
task :environment do
|
3
3
|
require './app'
|
4
4
|
require 'pry'
|
5
|
+
require 'luca'
|
5
6
|
end
|
6
7
|
|
7
8
|
|
8
9
|
stylesheets = ["luca-ui-bootstrap.css","luca-ui-development-tools.css","sandbox.css"]
|
9
10
|
scripts = ["dependencies.js","sandbox.js"]
|
10
11
|
|
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
12
|
namespace :release do
|
48
|
-
desc "
|
49
|
-
task :
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
-
|
13
|
+
desc "Zip up the assets"
|
14
|
+
task :zip => :environment do
|
15
|
+
`cp vendor/assets/javascripts/luca.min.js vendor/assets/javascripts/luca-dependencies.min.js vendor/assets/stylesheets/luca-ui.css .`
|
16
|
+
`zip downloads/luca-#{ Luca::Version }.zip luca.min.js luca-dependencies.min.js luca-ui.css`
|
17
|
+
`rm luca-ui.css luca.min.js luca-dependencies.min.js`
|
69
18
|
end
|
70
19
|
|
20
|
+
desc "Compile and Minify"
|
21
|
+
task :all => [:assets,:minify,:zip]
|
71
22
|
desc "Compile all the assets"
|
72
23
|
task :assets => :environment do
|
73
|
-
File.open( File.join(App.root,'vendor','assets','stylesheets','luca-
|
74
|
-
fh.puts(App.sprockets["luca
|
24
|
+
File.open( File.join(App.root,'vendor','assets','stylesheets','luca-development.css'), 'w+' ) do |fh|
|
25
|
+
fh.puts(App.sprockets["luca/development.css"].to_s)
|
75
26
|
end
|
76
|
-
|
77
|
-
|
78
|
-
fh.puts(App.sprockets["luca-templates.js"].to_s)
|
27
|
+
File.open( File.join(App.root,'vendor','assets','stylesheets','luca-components.css'), 'w+' ) do |fh|
|
28
|
+
fh.puts(App.sprockets["luca.css"].to_s)
|
79
29
|
end
|
80
|
-
|
81
|
-
|
82
|
-
fh.puts(App.sprockets["luca-ui.js"].to_s)
|
30
|
+
File.open( File.join(App.root,'tmp','luca.js'), 'w+' ) do |fh|
|
31
|
+
fh.puts(App.sprockets["luca.js"].to_s)
|
83
32
|
end
|
84
|
-
|
85
|
-
|
86
|
-
fh.puts(App.sprockets["luca-ui-full.js"].to_s)
|
33
|
+
File.open( File.join(App.root,'tmp','luca-development.js'), 'w+' ) do |fh|
|
34
|
+
fh.puts(App.sprockets["luca/development.js"].to_s)
|
87
35
|
end
|
88
|
-
|
89
|
-
|
90
|
-
fh.puts(App.sprockets["luca-ui-development-tools.coffee"].to_s)
|
36
|
+
File.open( File.join(App.root,'tmp','luca-dependencies.js'), 'w+' ) do |fh|
|
37
|
+
fh.puts(App.sprockets["luca/dependencies.js"].to_s)
|
91
38
|
end
|
92
39
|
end
|
93
40
|
|
94
41
|
desc "Minify the assets"
|
95
42
|
task :minify do
|
96
|
-
`uglifyjs
|
97
|
-
`uglifyjs
|
98
|
-
`uglifyjs
|
43
|
+
`uglifyjs tmp/luca.js > vendor/assets/javascripts/luca.min.js`
|
44
|
+
`uglifyjs tmp/luca-development.js > vendor/assets/javascripts/luca-development.min.js`
|
45
|
+
`uglifyjs tmp/luca-dependencies.js > vendor/assets/javascripts/luca-dependencies.min.js`
|
46
|
+
`cat vendor/assets/javascripts/luca-dependencies.min.js vendor/assets/javascripts/luca.min.js > vendor/assets/javascripts/luca.full.min.js`
|
47
|
+
`rm tmp/*.js`
|
99
48
|
end
|
100
49
|
|
101
50
|
desc "Build the gem"
|
102
|
-
task :gem do
|
51
|
+
task :gem => [:assets,:minify,:zip] do
|
103
52
|
`gem build luca.gemspec`
|
104
53
|
end
|
105
54
|
|