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.
- data/CHANGELOG +38 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +27 -0
- data/README.md +45 -42
- data/ROADMAP +6 -29
- 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/basic.coffee +8 -0
- data/{src → app/assets/javascripts/luca}/components/application.coffee +153 -40
- data/{src → app/assets/javascripts/luca}/components/base_toolbar.coffee +2 -2
- data/{src → app/assets/javascripts/luca}/components/collection_loader_view.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/collection_view.coffee +45 -104
- data/app/assets/javascripts/luca/components/controller.coffee +99 -0
- data/{src/core/field.coffee → app/assets/javascripts/luca/components/fields/base.coffee} +1 -1
- data/{src → app/assets/javascripts/luca}/components/fields/button_field.coffee +1 -2
- 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/{src → app/assets/javascripts/luca}/components/fields/select_field.coffee +8 -4
- data/{src → app/assets/javascripts/luca}/components/fields/text_area_field.coffee +3 -2
- data/{src → app/assets/javascripts/luca}/components/fields/text_field.coffee +2 -3
- data/{src → app/assets/javascripts/luca}/components/fields/type_ahead_field.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/form_button_toolbar.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/form_view.coffee +111 -44
- data/{src → app/assets/javascripts/luca}/components/grid_view.coffee +6 -6
- data/{src → app/assets/javascripts/luca}/components/index.coffee +0 -0
- data/app/assets/javascripts/luca/components/load_mask.coffee +8 -0
- data/app/assets/javascripts/luca/components/multi_collection_view.coffee +92 -0
- data/{src → app/assets/javascripts/luca}/components/nav_bar.coffee +5 -1
- data/app/assets/javascripts/luca/components/page_controller.coffee +7 -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 +6 -1
- data/app/assets/javascripts/luca/components/table_view.coffee +89 -0
- data/{src → app/assets/javascripts/luca}/components/template.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/components/toolbar_dialog.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/concerns/application_event_bindings.coffee +1 -1
- data/app/assets/javascripts/luca/concerns/collection_event_bindings.coffee +44 -0
- data/{src → app/assets/javascripts/luca}/concerns/deferrable.coffee +1 -2
- data/{src/plugins → app/assets/javascripts/luca/concerns}/development_tool_helpers.coffee +1 -1
- 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/app/assets/javascripts/luca/concerns/filterable.coffee +104 -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/{src → app/assets/javascripts/luca}/concerns/modal_view.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/concerns/model_presenter.coffee +0 -0
- data/{src → app/assets/javascripts/luca}/concerns/paginatable.coffee +6 -14
- data/app/assets/javascripts/luca/concerns/query_collection_bindings.coffee +46 -0
- data/app/assets/javascripts/luca/concerns/sortable.coffee +69 -0
- data/app/assets/javascripts/luca/concerns/state_model.coffee +44 -0
- data/{src → app/assets/javascripts/luca}/concerns/templating.coffee +4 -1
- data/app/assets/javascripts/luca/config.coffee +49 -0
- data/{src → app/assets/javascripts/luca}/containers/card_view.coffee +30 -13
- data/{src/core → app/assets/javascripts/luca/containers}/container.coffee +57 -18
- 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 +1 -1
- data/{src → app/assets/javascripts/luca}/containers/tab_view.coffee +1 -1
- data/{src → app/assets/javascripts/luca}/containers/viewport.coffee +4 -4
- data/{src → app/assets/javascripts/luca}/core/collection.coffee +58 -49
- data/{src/plugins → app/assets/javascripts/luca/core}/events.coffee +34 -2
- 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 +112 -0
- data/app/assets/javascripts/luca/core/registry/component_definition.coffee +318 -0
- data/{src → app/assets/javascripts/luca/core/registry}/concerns.coffee +0 -0
- data/app/assets/javascripts/luca/core/registry/index.coffee +4 -0
- data/app/assets/javascripts/luca/core/registry/meta_data.coffee +97 -0
- data/{src/core → app/assets/javascripts/luca/core/registry}/registry.coffee +10 -6
- data/app/assets/javascripts/luca/core/templates.coffee +47 -0
- data/{src → app/assets/javascripts/luca}/core/view.coffee +69 -11
- data/app/assets/javascripts/luca/dependencies.coffee +7 -0
- data/{src/tools → app/assets/javascripts/luca/development}/code_mirror_field.coffee +2 -1
- data/{src/tools → app/assets/javascripts/luca/development}/console.coffee +6 -5
- data/app/assets/javascripts/luca/development/index.coffee +2 -0
- data/{src → app/assets/javascripts/luca}/framework.coffee +74 -90
- data/app/assets/javascripts/luca/index.coffee +8 -0
- data/{src → app/assets/javascripts/luca}/managers/collection_manager.coffee +16 -7
- data/app/assets/javascripts/luca/managers/index.coffee +2 -0
- data/app/assets/javascripts/luca/managers/socket_manager.coffee +66 -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/{src → app/assets/javascripts/luca}/templates/components/nav_bar.jst.ejs +0 -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/{src → app/assets/javascripts/luca}/templates/containers/tab_view.jst.ejs +0 -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 +1 -1
- data/{src → app/assets/javascripts/luca}/templates/fields/text_field.jst.ejs +1 -1
- data/app/assets/javascripts/luca/util/deprecations.coffee +18 -0
- data/app/assets/javascripts/luca/util/index.coffee +3 -0
- data/app/assets/javascripts/luca/util/logging.coffee +15 -0
- data/{src/util.coffee → app/assets/javascripts/luca/util/luca.coffee} +20 -4
- data/{src/core → app/assets/javascripts/luca/util}/script_loader.coffee +0 -0
- data/app/assets/javascripts/luca-ui.js +1 -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/{src/stylesheets → app/assets/stylesheets/luca}/components/viewport.scss +0 -0
- data/{src/stylesheets → app/assets/stylesheets/luca}/containers/container.scss +0 -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/app.rb +2 -4
- 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.js.coffee → dependencies.coffee} +1 -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/luca/component_documentation.rb +72 -0
- data/lib/luca/rails/engine.rb +4 -0
- data/lib/luca/rails/version.rb +1 -1
- data/lib/luca.rb +1 -1
- data/lib/railties/luca/tasks.rake +31 -0
- data/luca.gemspec +1 -0
- data/spec/components/controller_spec.coffee +62 -0
- data/spec/components/form_view_spec.coffee +4 -0
- data/spec/concerns/collection_event_bindings_spec.coffee +15 -0
- data/spec/concerns/dom_helpers_spec.coffee +2 -2
- data/spec/concerns/filterable_spec.coffee +4 -4
- data/spec/concerns/state_model_spec.coffee +50 -0
- data/spec/core/collection_spec.coffee +25 -0
- data/spec/{concerns_spec.coffee → core/concerns_spec.coffee} +0 -0
- data/spec/core/container_spec.coffee +57 -5
- data/spec/core/define_spec.coffee +116 -0
- data/spec/core/events_spec.coffee +26 -0
- data/spec/core/field_spec.coffee +4 -0
- data/spec/{framework_spec.coffee → core/framework_spec.coffee} +31 -2
- data/spec/{util_spec.coffee → core/util_spec.coffee} +2 -2
- data/spec/core/view_spec.coffee +65 -1
- data/spec/dependencies/index.coffee +3 -0
- data/{assets/javascripts → spec}/dependencies/jasmine-html.js +0 -0
- data/{assets/javascripts → spec}/dependencies/jasmine.js +0 -0
- data/{assets/javascripts → spec}/dependencies/sinon.js +0 -0
- data/spec/luca-spec.coffee +9 -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/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/luca-spec.js +11 -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-ui.css +0 -601
- data/views/jasmine.erb +2 -2
- metadata +190 -299
- 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/dependencies.coffee +0 -5
- data/assets/javascripts/luca/index.coffee +0 -1
- 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/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/component_list.luca +0 -1
- data/assets/javascripts/sandbox/templates/builder.luca +0 -2
- data/assets/javascripts/sandbox/templates/main.luca +0 -53
- 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/templates/sandbox.luca +0 -1
- 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/builder.coffee +0 -133
- data/assets/javascripts/sandbox/views/docs_controller.coffee +0 -7
- data/assets/javascripts/sandbox/views/inspector/instance_filter.coffee +0 -18
- data/assets/javascripts/sandbox/views/inspector/instance_list.coffee +0 -0
- data/assets/javascripts/sandbox/views/inspector.coffee +0 -11
- data/assets/javascripts/sandbox/views/top_navigation.coffee +0 -4
- data/assets/javascripts/sandbox.coffee +0 -7
- 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/builder.scss +0 -79
- data/assets/stylesheets/sandbox/sandbox.scss +0 -18
- data/assets/stylesheets/sandbox.css +0 -3
- 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/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/spec/containers/column_view_spec.coffee +0 -0
- data/spec/containers/split_view_spec.coffee +0 -0
- data/spec/define_spec.coffee +0 -13
- data/src/components/controller.coffee +0 -65
- data/src/components/load_mask.coffee +0 -3
- data/src/components/multi_collection_view.coffee +0 -121
- data/src/components/page_controller.coffee +0 -2
- data/src/components/table_view.coffee +0 -62
- data/src/concerns/collection_event_bindings.coffee +0 -26
- data/src/concerns/filterable.coffee +0 -82
- 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/meta_data.coffee +0 -37
- data/src/core/panel.coffee +0 -118
- data/src/define.coffee +0 -170
- data/src/index.coffee +0 -25
- data/src/managers/socket_manager.coffee +0 -54
- 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/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/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 -6319
- 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/javascripts/luca-ui.js +0 -6234
- data/vendor/assets/javascripts/luca-ui.min.js +0 -5
- 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.css +0 -76
- 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/src/core/panel.coffee
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
# This is a helper for creating the DOM element that go along with
|
|
2
|
-
# a given component, if it is configured to use one via the topToolbar
|
|
3
|
-
# and bottomToolbar properties
|
|
4
|
-
attachToolbar = (config={}, targetEl)->
|
|
5
|
-
config.orientation ||= "top"
|
|
6
|
-
config.ctype ||= @toolbarType || "panel_toolbar"
|
|
7
|
-
|
|
8
|
-
id = "#{ @cid }-tbc-#{ config.orientation }"
|
|
9
|
-
|
|
10
|
-
toolbar = Luca.util.lazyComponent( config )
|
|
11
|
-
|
|
12
|
-
container = @make "div",
|
|
13
|
-
class:"toolbar-container #{ config.orientation }",
|
|
14
|
-
id: id
|
|
15
|
-
,
|
|
16
|
-
toolbar.render().el
|
|
17
|
-
|
|
18
|
-
hasBody = @bodyClassName or @bodyTagName
|
|
19
|
-
|
|
20
|
-
# there will be a body panel inside of the views $el
|
|
21
|
-
# so just place the toolbar before, or after the body
|
|
22
|
-
action = switch config.orientation
|
|
23
|
-
when "top", "left"
|
|
24
|
-
if hasBody then "before" else "prepend"
|
|
25
|
-
when "bottom", "right"
|
|
26
|
-
if hasBody then "after" else "append"
|
|
27
|
-
|
|
28
|
-
(targetEl || @$bodyEl() )[action]( container )
|
|
29
|
-
|
|
30
|
-
# A Panel is a basic Luca.View but with Toolbar extensions
|
|
31
|
-
#
|
|
32
|
-
# In general other components should inherit from the panel class.
|
|
33
|
-
|
|
34
|
-
_.def("Luca.components.Panel").extends("Luca.View").with
|
|
35
|
-
|
|
36
|
-
topToolbar: undefined
|
|
37
|
-
|
|
38
|
-
bottomToolbar: undefined
|
|
39
|
-
|
|
40
|
-
# Load Mask will apply a transparent overlay over the form
|
|
41
|
-
# upon submission, with a moving progress bar which will be
|
|
42
|
-
# hidden upon successful response
|
|
43
|
-
loadMask: false
|
|
44
|
-
loadMaskTemplate: ["components/load_mask"]
|
|
45
|
-
loadMaskTimeout: 3000
|
|
46
|
-
|
|
47
|
-
mixins:["LoadMaskable"]
|
|
48
|
-
|
|
49
|
-
initialize: (@options={})->
|
|
50
|
-
Luca.View::initialize.apply(@, arguments)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
applyStyles: (styles={},body=false)->
|
|
54
|
-
|
|
55
|
-
target = if body then @$bodyEl() else @$el
|
|
56
|
-
|
|
57
|
-
for setting, value of styles
|
|
58
|
-
target.css(setting,value)
|
|
59
|
-
|
|
60
|
-
@
|
|
61
|
-
|
|
62
|
-
beforeRender: ()->
|
|
63
|
-
Luca.View::beforeRender?.apply(@, arguments)
|
|
64
|
-
@applyStyles( @styles ) if @styles?
|
|
65
|
-
@applyStyles( @bodyStyles, true ) if @bodyStyles?
|
|
66
|
-
@renderToolbars?()
|
|
67
|
-
|
|
68
|
-
$bodyEl: ()->
|
|
69
|
-
element = @bodyTagName || "div"
|
|
70
|
-
className = @bodyClassName || "view-body"
|
|
71
|
-
|
|
72
|
-
@bodyEl ||= "#{ element }.#{ className }"
|
|
73
|
-
|
|
74
|
-
bodyEl = @$(@bodyEl)
|
|
75
|
-
|
|
76
|
-
return bodyEl if bodyEl.length > 0
|
|
77
|
-
|
|
78
|
-
# if we've been configured to have one, and it doesn't exist
|
|
79
|
-
# then we should append it to ourselves
|
|
80
|
-
if bodyEl.length is 0 and (@bodyClassName? || @bodyTagName?)
|
|
81
|
-
newElement = @make(element,class:className,"data-auto-appended":true)
|
|
82
|
-
$(@el).append( newElement )
|
|
83
|
-
return @$(@bodyEl)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
$(@el)
|
|
87
|
-
|
|
88
|
-
$wrap: (wrapper)->
|
|
89
|
-
if _.isString(wrapper) and not wrapper.match(/[<>]/)
|
|
90
|
-
wrapper = @make("div",class:wrapper)
|
|
91
|
-
|
|
92
|
-
@$el.wrap( wrapper )
|
|
93
|
-
|
|
94
|
-
$template: (template, variables={})->
|
|
95
|
-
@$html( Luca.template(template,variables) )
|
|
96
|
-
|
|
97
|
-
$empty: ()->
|
|
98
|
-
@$bodyEl().empty()
|
|
99
|
-
|
|
100
|
-
$html: (content)->
|
|
101
|
-
@$bodyEl().html( content )
|
|
102
|
-
|
|
103
|
-
$append: (content)->
|
|
104
|
-
@$bodyEl().append(content)
|
|
105
|
-
|
|
106
|
-
# Luca containers can have toolbars,
|
|
107
|
-
# these will get injected before or after the bodyEl, or at the top
|
|
108
|
-
# or bottom of the $el
|
|
109
|
-
renderToolbars: ()->
|
|
110
|
-
_( ["top","left","right","bottom"] ).each (orientation)=>
|
|
111
|
-
if config = @["#{ orientation }Toolbar"]
|
|
112
|
-
@renderToolbar( orientation, config)
|
|
113
|
-
|
|
114
|
-
renderToolbar: (orientation="top", config={})->
|
|
115
|
-
config.parent = @
|
|
116
|
-
config.orientation = orientation
|
|
117
|
-
|
|
118
|
-
attachToolbar.call(@, config, config.targetEl )
|
data/src/define.coffee
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
# Component Definition Helpers
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
# We have customized the core Backbone.extend process to use a slightly
|
|
5
|
-
# different syntax, which allows us to intercept the component definition at
|
|
6
|
-
# various points, and maintain information about classes being defined, and
|
|
7
|
-
# the relationships between inherited classes, etc.
|
|
8
|
-
|
|
9
|
-
# _.def, or Luca.define returns a chainable object which allows you to define
|
|
10
|
-
# your components with a readable syntax. For example:
|
|
11
|
-
|
|
12
|
-
# _.def("Luca.View").extends("Backbone.View").with the_good:"shit"
|
|
13
|
-
# _.def("MyView").extends("Luca.View").with the_custom:"shit"
|
|
14
|
-
_.mixin
|
|
15
|
-
def: Luca.component = Luca.define = Luca.register = (componentName)-> new DefineProxy(componentName)
|
|
16
|
-
register: Luca.register
|
|
17
|
-
|
|
18
|
-
# The define proxy chain sets up a call to Luca.extend, which is a wrapper around Luca and Backbone component class' extend function.
|
|
19
|
-
class DefineProxy
|
|
20
|
-
constructor:(componentName)->
|
|
21
|
-
@namespace = Luca.util.namespace()
|
|
22
|
-
@componentId = @componentName = componentName
|
|
23
|
-
@superClassName = 'Luca.View'
|
|
24
|
-
@properties ||= {}
|
|
25
|
-
|
|
26
|
-
if componentName.match(/\./)
|
|
27
|
-
@namespaced = true
|
|
28
|
-
parts = componentName.split('.')
|
|
29
|
-
@componentId = parts.pop()
|
|
30
|
-
@namespace = parts.join('.')
|
|
31
|
-
|
|
32
|
-
# automatically add the namespace to the namespace registry
|
|
33
|
-
Luca.registry.addNamespace( parts.join('.') )
|
|
34
|
-
|
|
35
|
-
meta: (key, value)->
|
|
36
|
-
metaKey = @namespace + '.' + @componentId
|
|
37
|
-
metaKey = metaKey.replace(/^\./,'')
|
|
38
|
-
data = Luca.registry.addMetaData(metaKey, key, value)
|
|
39
|
-
|
|
40
|
-
@properties.componentMetaData = ()->
|
|
41
|
-
Luca.registry.getMetaDataFor(metaKey)
|
|
42
|
-
|
|
43
|
-
# allow for specifying the namespace
|
|
44
|
-
in: (@namespace)-> @
|
|
45
|
-
|
|
46
|
-
# allow for multiple ways of saying the same thing for readability purposes
|
|
47
|
-
from: (@superClassName)-> @
|
|
48
|
-
extends: (@superClassName)-> @
|
|
49
|
-
extend: (@superClassName)-> @
|
|
50
|
-
|
|
51
|
-
triggers: (hooks...)->
|
|
52
|
-
_.defaults(@properties ||= {}, hooks: [])
|
|
53
|
-
for hook in hooks
|
|
54
|
-
@properties.hooks.push(hook)
|
|
55
|
-
@properties.hooks = _.uniq(@properties.hooks)
|
|
56
|
-
@meta("hooks", @properties.hooks)
|
|
57
|
-
@
|
|
58
|
-
|
|
59
|
-
includes: (includes...)->
|
|
60
|
-
_.defaults(@properties ||= {}, include: [])
|
|
61
|
-
for include in includes
|
|
62
|
-
@properties.include.push(include)
|
|
63
|
-
@properties.include = _.uniq(@properties.include)
|
|
64
|
-
@meta("includes", @properties.include)
|
|
65
|
-
@
|
|
66
|
-
|
|
67
|
-
mixesIn: (concerns...)->
|
|
68
|
-
_.defaults(@properties ||= {}, concerns: [])
|
|
69
|
-
for concern in concerns
|
|
70
|
-
@properties.concerns.push(concern)
|
|
71
|
-
@properties.concerns = _.uniq(@properties.concerns)
|
|
72
|
-
|
|
73
|
-
@meta("concerns", @properties.concerns)
|
|
74
|
-
@
|
|
75
|
-
|
|
76
|
-
publicConfiguration: (properties={})->
|
|
77
|
-
@meta("public configuration", _.keys(properties) )
|
|
78
|
-
_.defaults((@properties||={}), properties)
|
|
79
|
-
|
|
80
|
-
privateConfiguration: (properties={})->
|
|
81
|
-
@meta("private configuration", _.keys(properties) )
|
|
82
|
-
_.defaults((@properties||={}), properties)
|
|
83
|
-
|
|
84
|
-
publicInterface: (properties={})->
|
|
85
|
-
@meta("public interface", _.keys(properties) )
|
|
86
|
-
_.defaults((@properties||={}), properties)
|
|
87
|
-
|
|
88
|
-
privateInterface: (properties={})->
|
|
89
|
-
@meta("private interface", _.keys(properties) )
|
|
90
|
-
_.defaults((@properties||={}), properties)
|
|
91
|
-
|
|
92
|
-
definePrototype: (properties={})->
|
|
93
|
-
_.defaults((@properties||={}), properties)
|
|
94
|
-
|
|
95
|
-
at = if @namespaced
|
|
96
|
-
Luca.util.resolve(@namespace, (window || global))
|
|
97
|
-
else
|
|
98
|
-
(window||global)
|
|
99
|
-
|
|
100
|
-
# automatically create the namespace
|
|
101
|
-
if @namespaced and not at?
|
|
102
|
-
eval("(window||global).#{ @namespace } = {}")
|
|
103
|
-
at = Luca.util.resolve(@namespace,(window || global))
|
|
104
|
-
|
|
105
|
-
@meta("super class name", @superClassName )
|
|
106
|
-
@meta("display name", @componentName)
|
|
107
|
-
|
|
108
|
-
@properties.displayName = @componentName
|
|
109
|
-
|
|
110
|
-
@properties.componentMetaData = ()->
|
|
111
|
-
Luca.registry.getMetaDataFor(@displayName)
|
|
112
|
-
|
|
113
|
-
definition = at[@componentId] = Luca.extend(@superClassName,@componentName, @properties)
|
|
114
|
-
|
|
115
|
-
if Luca.config.autoRegister is true
|
|
116
|
-
componentType = "view" if Luca.isViewPrototype( definition )
|
|
117
|
-
|
|
118
|
-
if Luca.isCollectionPrototype( definition )
|
|
119
|
-
Luca.Collection.namespaces ||= []
|
|
120
|
-
Luca.Collection.namespaces.push( @namespace )
|
|
121
|
-
componentType = "collection"
|
|
122
|
-
|
|
123
|
-
componentType = "model" if Luca.isModelPrototype( definition )
|
|
124
|
-
|
|
125
|
-
# automatically register this with the component registry
|
|
126
|
-
Luca.registerComponent( _.string.underscored(@componentId), @componentName, componentType)
|
|
127
|
-
|
|
128
|
-
definition
|
|
129
|
-
|
|
130
|
-
# Aliases for the mixin definition
|
|
131
|
-
DefineProxy::concerns = DefineProxy::behavesAs = DefineProxy::uses = DefineProxy::mixesIn
|
|
132
|
-
|
|
133
|
-
# Aliases for the final call on the define proxy
|
|
134
|
-
DefineProxy::defines = DefineProxy::defaults = DefineProxy::exports = DefineProxy::defaultProperties = DefineProxy::definePrototype
|
|
135
|
-
DefineProxy::defaultsTo = DefineProxy::enhance = DefineProxy::with = DefineProxy::definePrototype
|
|
136
|
-
|
|
137
|
-
# The last method of the DefineProxy chain is always going to result in
|
|
138
|
-
# a call to Luca.extend. Luca.extend wraps the call to Luca.View.extend,
|
|
139
|
-
# or Backbone.Collection.extend, and accepts the names of the extending,
|
|
140
|
-
# and extended classes as strings. This allows us to maintain information
|
|
141
|
-
# and references to the classes and their prototypes, mainly for the purposes
|
|
142
|
-
# of introspection and development tools
|
|
143
|
-
Luca.extend = (superClassName, childName, properties={})->
|
|
144
|
-
superClass = Luca.util.resolve( superClassName, (window || global) )
|
|
145
|
-
|
|
146
|
-
unless _.isFunction(superClass?.extend)
|
|
147
|
-
throw "Error defining #{ childName }. #{ superClassName } is not a valid component to extend from"
|
|
148
|
-
|
|
149
|
-
properties.displayName = childName
|
|
150
|
-
|
|
151
|
-
properties._superClass = ()->
|
|
152
|
-
superClass.displayName ||= superClassName
|
|
153
|
-
superClass
|
|
154
|
-
|
|
155
|
-
properties._super = (method, context=@, args=[])->
|
|
156
|
-
# TODO: debug this better
|
|
157
|
-
# protect against a stack too deep error in weird cases
|
|
158
|
-
@_superClass().prototype[method]?.apply(context, args)
|
|
159
|
-
|
|
160
|
-
definition = superClass.extend(properties)
|
|
161
|
-
|
|
162
|
-
# _.def("MyView").extends("View").with
|
|
163
|
-
# include: ['Luca.Events']
|
|
164
|
-
if _.isArray( properties?.include )
|
|
165
|
-
for include in properties.include
|
|
166
|
-
include = Luca.util.resolve(include) if _.isString(include)
|
|
167
|
-
_.extend(definition::, include)
|
|
168
|
-
|
|
169
|
-
definition
|
|
170
|
-
|
data/src/index.coffee
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#= require ./util
|
|
2
|
-
#= require_tree ./plugins
|
|
3
|
-
#= require ./concerns
|
|
4
|
-
#= require ./define
|
|
5
|
-
|
|
6
|
-
#= require_tree ./concerns
|
|
7
|
-
|
|
8
|
-
#= require ./core/registry
|
|
9
|
-
#= require ./core/meta_data
|
|
10
|
-
#= require ./core/observer
|
|
11
|
-
#= require ./core/view
|
|
12
|
-
#= require ./core/model
|
|
13
|
-
#= require ./core/collection
|
|
14
|
-
#= require ./core/panel
|
|
15
|
-
#= require ./core/field
|
|
16
|
-
#= require ./core/container
|
|
17
|
-
|
|
18
|
-
#= require_tree ./managers
|
|
19
|
-
|
|
20
|
-
#= require ./containers/split_view
|
|
21
|
-
#= require ./containers/column_view
|
|
22
|
-
#= require_tree ./containers
|
|
23
|
-
|
|
24
|
-
#= require ./components/template
|
|
25
|
-
#= require_tree ./components
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# Luca.SocketManager is an abstraction
|
|
2
|
-
# around various websocket services such as
|
|
3
|
-
# faye.js, socket.io, now.js, etc.
|
|
4
|
-
#
|
|
5
|
-
# It provides a common interface for adding
|
|
6
|
-
# push / async functionality to Collections,
|
|
7
|
-
# Models, and the like, regardless of the
|
|
8
|
-
# transport mechanism used.
|
|
9
|
-
#
|
|
10
|
-
# Simply bind to it, and any message that comes
|
|
11
|
-
# across the channel you subscribe to, will be
|
|
12
|
-
# bubbled up as a Backbone.Event with the message
|
|
13
|
-
# contents as your argument
|
|
14
|
-
class Luca.SocketManager
|
|
15
|
-
constructor: (@options={})->
|
|
16
|
-
_.extend Backbone.Events
|
|
17
|
-
|
|
18
|
-
@loadTransport()
|
|
19
|
-
|
|
20
|
-
connect: ()->
|
|
21
|
-
switch @options.provider
|
|
22
|
-
when "socket.io"
|
|
23
|
-
@socket = io.connect( @options.socket_host )
|
|
24
|
-
when "faye.js"
|
|
25
|
-
@socket = new Faye.Client( @options.socket_host )
|
|
26
|
-
|
|
27
|
-
#### Transport Loading and Configuration
|
|
28
|
-
#
|
|
29
|
-
# Luca wraps several popular client side socket abstractions
|
|
30
|
-
# such as socket.io or faye.js ( more coming soon )
|
|
31
|
-
#
|
|
32
|
-
# it provides a common interface on top of these and just
|
|
33
|
-
# treats them as Backbone.Events which you bind to like you
|
|
34
|
-
# would on any other Backbone class
|
|
35
|
-
|
|
36
|
-
transportLoaded: ()-> @connect()
|
|
37
|
-
|
|
38
|
-
transport_script: ()->
|
|
39
|
-
switch @options.provider
|
|
40
|
-
when "socket.io" then "#{ @options.transport_host }/socket.io/socket.io.js"
|
|
41
|
-
when "faye.js" then "#{ @options.transport_host }/faye.js"
|
|
42
|
-
|
|
43
|
-
loadTransport: ()->
|
|
44
|
-
script = document.createElement 'script'
|
|
45
|
-
script.setAttribute "type", "text/javascript"
|
|
46
|
-
script.setAttribute "src", @transport_script()
|
|
47
|
-
script.onload = @transportLoaded
|
|
48
|
-
|
|
49
|
-
if Luca.util.isIE()
|
|
50
|
-
script.onreadystatechange = ()=>
|
|
51
|
-
if script.readyState is "loaded"
|
|
52
|
-
@transportLoaded()
|
|
53
|
-
|
|
54
|
-
document.getElementsByTagName('head')[0].appendChild script
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Component Definition
|
|
2
|
-
|
|
3
|
-
# In Luca, we define components like such:
|
|
4
|
-
|
|
5
|
-
_.def("App.collections.MyCollection").extends("Luca.Collection").with
|
|
6
|
-
cache_key: "my_collection"
|
|
7
|
-
storageEngine: "localStorage"
|
|
8
|
-
|
|
9
|
-
_.def("App.views.MyView").extends("Luca.core.Container").with
|
|
10
|
-
name: "default_name_of_the_view"
|
|
11
|
-
components:[
|
|
12
|
-
ctype: "form_view"
|
|
13
|
-
,
|
|
14
|
-
ctype: "grid_view"
|
|
15
|
-
collection: "my_collection"
|
|
16
|
-
]
|
|
17
|
-
initialize: (@options)->
|
|
18
|
-
@_super("initialize", @, arguments)
|
|
19
|
-
@customMethod()
|
|
20
|
-
|
|
21
|
-
# This achieves a few things:
|
|
22
|
-
#
|
|
23
|
-
# 0. More pleasant to read
|
|
24
|
-
#
|
|
25
|
-
# 1. All instances of App.views.MyView have a displayName property set
|
|
26
|
-
# so we know upon inspection which class they inherit from
|
|
27
|
-
#
|
|
28
|
-
# 2. All instances of App.views.MyView know that they extend Luca.components.FormView,
|
|
29
|
-
# which allows us to use @_super() when overriding important framework methods, and
|
|
30
|
-
# saves us from having to type Luca.core.Container.prototype.initialize.apply(@, arguments)
|
|
31
|
-
# every time, on every method that it is needed
|
|
32
|
-
#
|
|
33
|
-
# 3. App.views.MyView gets assigned a ctype: "my_view" so that we can use a declarative
|
|
34
|
-
# JSON syntax for building complex components made up of smaller views, models, collections
|
|
35
|
-
# simply by referencing their 'ctype'. This allows Luca.Containers to create the nested components
|
|
36
|
-
# for you
|
|
37
|
-
#
|
|
38
|
-
# 4. Luca.registry knows about all of the components defined against it, as well as all instances of
|
|
39
|
-
# the components, so with our in browser development tool we can modify the prototype of a view and
|
|
40
|
-
# automatically refresh all running instances of the comoponent with updated code
|
|
41
|
-
#
|
|
42
|
-
# 5. We don't actually have to create App.views.MyView right away, we could develop an intermediate layer
|
|
43
|
-
# which stores the name of the defined view, who it extends from, and what customizations are being made to it
|
|
44
|
-
# in some temporary buffer, and build our own dependency management layer which handles loading dependencies on demand
|
|
45
|
-
|
|
46
|
-
# Problem
|
|
47
|
-
#
|
|
48
|
-
# What is the best way to integrate a solution like requirejs, airdrop, stitch, or similar
|
|
49
|
-
# with the above style of component definition?
|
data/src/stylesheets/base.scss
DELETED
|
File without changes
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
.luca-form-view {
|
|
2
|
-
width: 100%;
|
|
3
|
-
float: left;
|
|
4
|
-
display: block;
|
|
5
|
-
clear: both;
|
|
6
|
-
margin: 10px 0px;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
.luca-form-view {
|
|
11
|
-
.luca-ui-field {
|
|
12
|
-
margin: 5px;
|
|
13
|
-
padding: 5px;
|
|
14
|
-
|
|
15
|
-
.helper-text {
|
|
16
|
-
font-size: 0.75em;
|
|
17
|
-
font-color: #ccc;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.luca-form-view.label-align-top {
|
|
23
|
-
.luca-ui-field {
|
|
24
|
-
label, input, select, textarea {
|
|
25
|
-
margin: 5px 0px;
|
|
26
|
-
display: block;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.luca-form-view.column-layout {
|
|
32
|
-
.luca-ui-field {
|
|
33
|
-
float: left;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.luca-form-view {
|
|
38
|
-
.toolbar-container {
|
|
39
|
-
padding-right: 12px;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/* support for older form view config */
|
|
44
|
-
.form-view-footer {
|
|
45
|
-
.toolbar-container {
|
|
46
|
-
float: left;
|
|
47
|
-
width: 100%;
|
|
48
|
-
clear: both;
|
|
49
|
-
display: block;
|
|
50
|
-
.luca-ui-form-toolbar, .luca-ui-toolbar {
|
|
51
|
-
width: 50%;
|
|
52
|
-
display: block;
|
|
53
|
-
margin: 0px auto;
|
|
54
|
-
.luca-ui-field {
|
|
55
|
-
float: left;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
File without changes
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
.luca-class-browser {
|
|
2
|
-
.class-browser-list {
|
|
3
|
-
min-height: 600px;
|
|
4
|
-
height: auto !important;
|
|
5
|
-
height: 600px;
|
|
6
|
-
ul.namespace a, ul.classList a {
|
|
7
|
-
cursor: pointer;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
ul.namespace, ul.namespace ul.classList {
|
|
11
|
-
margin: 0px;
|
|
12
|
-
padding: 0px;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
ul.namespace {
|
|
16
|
-
padding-left: 10px;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
ul.namespace li ul.classList {
|
|
20
|
-
padding-left: 20px;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
ul.namespace li, ul.namespace .classList li {
|
|
24
|
-
list-style-type: none;
|
|
25
|
-
margin: 0px;
|
|
26
|
-
padding: 0px;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.classList li {
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
.font-large {
|
|
2
|
-
.CodeMirror {
|
|
3
|
-
font-size: 1.3em;
|
|
4
|
-
line-height: 1.5em;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
.font-small .CodeMirror {
|
|
9
|
-
font-size: 1.0em;
|
|
10
|
-
line-height: 1.2em;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.fixed-height {
|
|
14
|
-
.CodeMirror-scroll {
|
|
15
|
-
overflow: auto;
|
|
16
|
-
height: 350px;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
.auto-height {
|
|
20
|
-
.CodeMirror-scroll {
|
|
21
|
-
height: auto;
|
|
22
|
-
overflow: visible;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
ul.typeahead.dropdown-menu {
|
|
2
|
-
z-index: 13000;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.font-large .CodeMirror {
|
|
6
|
-
font-size: 18px;
|
|
7
|
-
line-height: 1.7;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
#component_tester {
|
|
12
|
-
#editor_container {
|
|
13
|
-
.toolbar-container.bottom {
|
|
14
|
-
margin: 0px;
|
|
15
|
-
.luca-ui-toolbar {
|
|
16
|
-
margin: 0px;
|
|
17
|
-
padding: 0px;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
[data-luca-owner="component_detail"] {
|
|
22
|
-
max-height: 600px;
|
|
23
|
-
overflow: scroll;
|
|
24
|
-
min-height: 400px;
|
|
25
|
-
}
|
|
26
|
-
}
|