lanes 0.0.3 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Gemfile +1 -1
- data/Rakefile +0 -42
- data/client/{javascripts/component → lanes/components}/Base.coffee +10 -10
- data/client/{javascripts/component → lanes/components}/ChoicesInput.coffee +0 -0
- data/client/lanes/components/enabled.js.erb +3 -0
- data/client/{javascripts/lib/create-namespace.js → lanes/components/enabled.scss.erb} +0 -0
- data/client/{javascripts/component → lanes/components}/grid/Editor.coffee +10 -13
- data/client/{javascripts/component → lanes/components/grid}/Grid.coffee +6 -6
- data/client/{javascripts/component → lanes/components}/grid/PopOverEditor.coffee +3 -3
- data/client/{javascripts/component → lanes/components}/grid/RowEditor.coffee +2 -3
- data/client/lanes/components/grid/config.json +3 -0
- data/client/{stylesheets/compoonents/grid-editors.scss → lanes/components/grid/editors.scss} +0 -0
- data/client/{stylesheets/compoonents → lanes/components/grid}/grid.scss +8 -6
- data/client/lanes/components/grid/index.js +8 -0
- data/client/{javascripts/component → lanes/components}/grid/popover-editor.html +0 -0
- data/client/{javascripts/component → lanes/components}/grid/row-editor.html +0 -0
- data/client/{javascripts/component/grid.html → lanes/components/grid/template.html} +0 -0
- data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/dataTables.bootstrap.js +0 -0
- data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/dataTables.scroller.js +0 -0
- data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/datatables.responsive.js +0 -0
- data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/index.js +0 -0
- data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/jquery.dataTables.js +1 -0
- data/client/lanes/components/index.js +2 -0
- data/client/lanes/components/modal/ModalDialog.coffee +47 -0
- data/client/lanes/components/modal/index.js +2 -0
- data/client/lanes/components/modal/modal.scss +20 -0
- data/client/{javascripts/component/modal.html → lanes/components/modal/template.html} +5 -4
- data/client/{javascripts/component → lanes/components/popover}/PopOver.coffee +4 -4
- data/client/lanes/components/popover/index.js +2 -0
- data/client/lanes/components/popover/popover.scss +1 -0
- data/client/{javascripts/component/popover.html → lanes/components/popover/template.html} +0 -0
- data/client/{javascripts/component → lanes/components/radio_group}/RadioGroup.coffee +1 -1
- data/client/{javascripts/component → lanes/components/record_finder}/RecordFinder.coffee +4 -4
- data/client/{javascripts/component/record-finder → lanes/components/record_finder}/clause.skr +0 -0
- data/client/{javascripts/component/record-finder → lanes/components/record_finder}/dialog.skr +0 -0
- data/client/{javascripts/component/record-finder → lanes/components/record_finder}/field.skr +0 -0
- data/client/lanes/components/select_field/SelectField.coffee +87 -0
- data/client/{screens/user-management → lanes/components/select_field}/index.js +0 -1
- data/client/{javascripts/workspace/tab.html → lanes/components/select_field/select_field.scss} +0 -0
- data/client/{javascripts → lanes}/data/Bootstrap.coffee +0 -0
- data/client/{javascripts → lanes}/data/ChangeSet.coffee +0 -0
- data/client/{javascripts → lanes}/data/Collection.coffee +37 -6
- data/client/{javascripts → lanes}/data/Config.coffee +0 -0
- data/client/{javascripts → lanes}/data/Model.coffee +8 -9
- data/client/{javascripts → lanes}/data/PubSub.coffee +0 -0
- data/client/{javascripts → lanes}/data/Query.coffee +0 -0
- data/client/{javascripts → lanes}/data/Screens.coffee +48 -19
- data/client/{javascripts → lanes}/data/Sync.coffee +5 -5
- data/client/lanes/data/User.coffee +46 -0
- data/client/{javascripts → lanes}/data/index.js +1 -2
- data/client/{javascripts → lanes}/data/mixins/HasCodeField.coffee +1 -1
- data/client/{javascripts → lanes}/extension/Base.coffee +1 -1
- data/client/lanes/extension/EarlyExtensions.js.erb +3 -0
- data/client/{javascripts → lanes}/extension/Extensions.coffee +5 -0
- data/client/{javascripts → lanes}/extension/GlAccounts.coffee +0 -0
- data/client/lanes/extension/LateLoaded.js.erb +3 -0
- data/client/lanes/extension/index.js +5 -0
- data/client/lanes/extension/namespace-available.js.erb +3 -0
- data/client/lanes/index.js +11 -0
- data/client/{javascripts → lanes}/lib/MakeBaseClass.coffee +0 -0
- data/client/{javascripts → lanes}/lib/ModuleSupport.coffee +0 -0
- data/client/{javascripts → lanes}/lib/Templates.coffee +2 -5
- data/{spec/client/foo_spec.js → client/lanes/lib/create-namespace.js} +0 -0
- data/client/{javascripts → lanes}/lib/debounce.coffee +0 -0
- data/client/{javascripts → lanes}/lib/defer.coffee +0 -0
- data/client/{javascripts → lanes}/lib/el.js +0 -0
- data/client/{javascripts → lanes}/lib/index.js +0 -4
- data/client/{javascripts → lanes}/lib/loader.coffee +15 -10
- data/client/{javascripts → lanes}/lib/namespace.coffee +3 -0
- data/client/{javascripts → lanes}/lib/noConflict.coffee +1 -0
- data/client/{javascripts → lanes}/lib/promise_helpers.coffee +0 -0
- data/client/{javascripts → lanes}/lib/results.coffee +0 -0
- data/client/{javascripts → lanes}/lib/utilFunctions.coffee +11 -13
- data/client/{javascripts → lanes}/plugins/ResizeSensor.js +0 -0
- data/client/lanes/plugins/index.js +1 -0
- data/client/{javascripts → lanes}/plugins/overlay.coffee +0 -0
- data/client/{javascripts → lanes}/plugins/trigger.coffee +0 -0
- data/client/lanes/screens/Base.coffee +40 -0
- data/client/{javascripts/view/mixins/ScreenChangeListener.coffee → lanes/screens/ChangeListener.coffee} +2 -2
- data/client/lanes/screens/Router.coffee +6 -0
- data/client/lanes/screens/index.js +1 -0
- data/client/{javascripts/view → lanes/screens}/screen-definitions.js.erb +0 -0
- data/client/{javascripts → lanes}/vendor/bootstrap/affix.js +43 -23
- data/client/{javascripts → lanes}/vendor/bootstrap/alert.js +6 -4
- data/client/{javascripts → lanes}/vendor/bootstrap/button.js +16 -10
- data/client/{javascripts → lanes}/vendor/bootstrap/carousel.js +27 -10
- data/client/{javascripts → lanes}/vendor/bootstrap/collapse.js +69 -28
- data/client/{javascripts → lanes}/vendor/bootstrap/dropdown.js +20 -10
- data/client/{javascripts → lanes}/vendor/bootstrap/modal.js +67 -23
- data/client/{javascripts → lanes}/vendor/bootstrap/popover.js +13 -7
- data/client/{javascripts → lanes}/vendor/bootstrap/scrollspy.js +12 -7
- data/client/{javascripts → lanes}/vendor/bootstrap/tab.js +41 -16
- data/client/{javascripts → lanes}/vendor/bootstrap/tooltip.js +60 -39
- data/client/{javascripts → lanes}/vendor/bootstrap/transition.js +1 -1
- data/client/{javascripts → lanes}/vendor/jquery-2.js +0 -0
- data/client/{javascripts → lanes}/vendor/jquery.tap.js +0 -0
- data/client/{javascripts → lanes}/vendor/magicsuggest.js +0 -0
- data/client/{javascripts → lanes}/vendor/message-bus.js +0 -0
- data/client/lanes/vendor/modern-stack.js +27 -0
- data/client/lanes/vendor/packaged.js +13698 -0
- data/client/{javascripts/view → lanes/views}/Assets.coffee +1 -1
- data/client/lanes/views/Base.coffee +426 -0
- data/client/{javascripts/view → lanes/views}/FormBindings.coffee +1 -1
- data/client/{javascripts/view → lanes/views}/Functions.coffee +1 -1
- data/client/{javascripts/view → lanes/views}/Helpers.coffee +6 -6
- data/client/{javascripts/view → lanes/views}/Keys.coffee +3 -3
- data/client/{javascripts/view → lanes/views}/ModelObserver.coffee +1 -1
- data/client/{javascripts/view → lanes/views}/ModelUpdate.coffee +2 -2
- data/client/{javascripts/view → lanes/views}/PubSub.coffee +3 -3
- data/client/{javascripts/view → lanes/views}/RenderContext.coffee +1 -1
- data/client/{javascripts/view → lanes/views}/SaveNotify.coffee +2 -2
- data/client/{javascripts/view → lanes/views}/TimedHighlight.coffee +1 -1
- data/client/{javascripts/view → lanes/views}/TimedMask.coffee +1 -1
- data/client/{javascripts/view/InterfaceState.coffee → lanes/views/Viewport.coffee} +18 -18
- data/client/{javascripts/view → lanes/views}/_button.html +0 -0
- data/client/{javascripts/view → lanes/views}/_toolbar.html +0 -0
- data/client/lanes/views/index.js +2 -0
- data/client/{javascripts/view → lanes/views}/model-update.html +0 -0
- data/client/{javascripts → lanes}/workspace/ActiveScreensSwitcher.coffee +23 -27
- data/client/{javascripts → lanes}/workspace/Instance.es6 +25 -21
- data/client/{javascripts → lanes}/workspace/Layout.coffee +6 -5
- data/client/{javascripts → lanes}/workspace/Navbar.coffee +2 -2
- data/client/{javascripts → lanes}/workspace/Pages.coffee +9 -13
- data/client/{javascripts → lanes}/workspace/ScreensMenu.coffee +11 -11
- data/client/{javascripts → lanes}/workspace/index.js +7 -5
- data/client/{javascripts → lanes}/workspace/layout.html +0 -0
- data/client/{javascripts → lanes}/workspace/menu.html +0 -0
- data/client/{javascripts → lanes}/workspace/menu_toggle.html +0 -0
- data/client/{javascripts → lanes}/workspace/navbar.html +0 -0
- data/client/{javascripts → lanes}/workspace/pages.html +0 -0
- data/client/{javascripts → lanes}/workspace/screens-menu.html +0 -0
- data/client/{javascripts → lanes}/workspace/screens-switcher.html +0 -0
- data/client/lanes/workspace/tab.html +0 -0
- data/client/lanes/workspace.scss.erb +21 -0
- data/client/{javascripts/lanes-complete.js → lanes-complete.js} +0 -0
- data/client/lanes-workspace.scss.erb +21 -0
- data/client/{stylesheets/compoonents → styles/components}/all.scss +0 -0
- data/client/{stylesheets/compoonents → styles/components}/changes-notification.scss +0 -0
- data/client/{stylesheets/compoonents → styles/components}/record-finder.scss +0 -0
- data/client/{stylesheets/compoonents → styles/components}/suggest.scss +0 -0
- data/client/{stylesheets → styles}/fonts/icomoon.eot +0 -0
- data/client/{stylesheets → styles}/fonts/icomoon.svg +0 -0
- data/client/{stylesheets → styles}/fonts/icomoon.ttf +0 -0
- data/client/{stylesheets → styles}/fonts/icomoon.woff +0 -0
- data/client/{stylesheets → styles}/fonts/selection.json +0 -0
- data/client/{stylesheets/fonts/style.css → styles/fonts/style.scss} +0 -0
- data/client/{stylesheets → styles}/fonts.scss +6 -6
- data/client/{stylesheets → styles}/forms.scss +0 -0
- data/client/{stylesheets → styles}/index.css +0 -0
- data/client/{stylesheets → styles}/keybindings.scss +0 -0
- data/client/{stylesheets → styles}/layout.scss +1 -1
- data/client/{stylesheets → styles}/plugins/all.scss +0 -0
- data/client/{stylesheets → styles}/plugins/overlay.scss +1 -1
- data/client/{stylesheets → styles}/plugins/resize-sensor.scss +0 -0
- data/client/{stylesheets → styles}/screens.scss +0 -0
- data/client/{stylesheets → styles}/tabs.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/_alerts.scss +0 -0
- data/client/styles/vendor/bootstrap/_badges.scss +63 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/_breadcrumbs.scss +0 -0
- data/client/styles/vendor/bootstrap/_button-groups.scss +243 -0
- data/client/styles/vendor/bootstrap/_buttons.scss +160 -0
- data/client/styles/vendor/bootstrap/_carousel.scss +267 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/_close.scss +0 -0
- data/client/styles/vendor/bootstrap/_code.scss +69 -0
- data/client/styles/vendor/bootstrap/_component-animations.scss +38 -0
- data/client/styles/vendor/bootstrap/_dropdowns.scss +213 -0
- data/client/styles/vendor/bootstrap/_forms.scss +548 -0
- data/client/styles/vendor/bootstrap/_glyphicons.scss +234 -0
- data/client/styles/vendor/bootstrap/_grid.scss +84 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/_input-groups.scss +0 -0
- data/client/styles/vendor/bootstrap/_jumbotron.scss +49 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/_labels.scss +0 -0
- data/client/styles/vendor/bootstrap/_list-group.scss +124 -0
- data/client/styles/vendor/bootstrap/_media.scss +47 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/_mixins.scss +0 -0
- data/client/styles/vendor/bootstrap/_modals.scss +148 -0
- data/client/styles/vendor/bootstrap/_navbar.scss +662 -0
- data/client/styles/vendor/bootstrap/_navs.scss +244 -0
- data/client/styles/vendor/bootstrap/_normalize.scss +427 -0
- data/client/styles/vendor/bootstrap/_pager.scss +54 -0
- data/client/styles/vendor/bootstrap/_pagination.scss +88 -0
- data/client/styles/vendor/bootstrap/_panels.scss +261 -0
- data/client/styles/vendor/bootstrap/_popovers.scss +135 -0
- data/client/styles/vendor/bootstrap/_print.scss +107 -0
- data/client/styles/vendor/bootstrap/_progress-bars.scss +87 -0
- data/client/styles/vendor/bootstrap/_responsive-embed.scss +35 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/_responsive-utilities.scss +0 -0
- data/client/styles/vendor/bootstrap/_scaffolding.scss +150 -0
- data/client/styles/vendor/bootstrap/_tables.scss +234 -0
- data/client/styles/vendor/bootstrap/_theme.scss +272 -0
- data/client/styles/vendor/bootstrap/_thumbnails.scss +38 -0
- data/client/styles/vendor/bootstrap/_tooltip.scss +103 -0
- data/client/styles/vendor/bootstrap/_type.scss +298 -0
- data/client/styles/vendor/bootstrap/_utilities.scss +56 -0
- data/client/styles/vendor/bootstrap/_variables.scss +864 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/_wells.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_alerts.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_background-variant.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_border-radius.scss +0 -0
- data/client/styles/vendor/bootstrap/mixins/_buttons.scss +52 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_center-block.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_clearfix.scss +0 -0
- data/client/styles/vendor/bootstrap/mixins/_forms.scss +88 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_gradients.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_grid-framework.scss +0 -0
- data/client/styles/vendor/bootstrap/mixins/_grid.scss +122 -0
- data/client/styles/vendor/bootstrap/mixins/_hide-text.scss +21 -0
- data/client/styles/vendor/bootstrap/mixins/_image.scss +33 -0
- data/client/styles/vendor/bootstrap/mixins/_labels.scss +12 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_list-group.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_nav-divider.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_nav-vertical-align.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_opacity.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_pagination.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_panels.scss +0 -0
- data/client/styles/vendor/bootstrap/mixins/_progress-bar.scss +10 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_reset-filter.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_resize.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_responsive-visibility.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_size.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_tab-focus.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_table-row.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_text-emphasis.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_text-overflow.scss +0 -0
- data/client/styles/vendor/bootstrap/mixins/_vendor-prefixes.scss +222 -0
- data/client/styles/vendor/bootstrap/old/_alerts.scss +68 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_badges.scss +0 -0
- data/client/styles/vendor/bootstrap/old/_breadcrumbs.scss +26 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_button-groups.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_buttons.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_carousel.scss +0 -0
- data/client/styles/vendor/bootstrap/old/_close.scss +35 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_code.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_component-animations.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_dropdowns.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_forms.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_glyphicons.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_grid.scss +0 -0
- data/client/styles/vendor/bootstrap/old/_input-groups.scss +166 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_jumbotron.scss +0 -0
- data/client/styles/vendor/bootstrap/old/_labels.scss +66 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_list-group.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_media.scss +0 -0
- data/client/styles/vendor/bootstrap/old/_mixins.scss +39 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_modals.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_navbar.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_navs.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_normalize.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_pager.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_pagination.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_panels.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_popovers.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_print.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_progress-bars.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_responsive-embed.scss +0 -0
- data/client/styles/vendor/bootstrap/old/_responsive-utilities.scss +174 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_scaffolding.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_tables.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_theme.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_thumbnails.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_tooltip.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_type.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_utilities.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_variables.scss +0 -0
- data/client/styles/vendor/bootstrap/old/_wells.scss +29 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/bootstrap.scss +0 -0
- data/client/styles/vendor/bootstrap/old/mixins/_alerts.scss +14 -0
- data/client/styles/vendor/bootstrap/old/mixins/_background-variant.scss +11 -0
- data/client/styles/vendor/bootstrap/old/mixins/_border-radius.scss +18 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_buttons.scss +0 -0
- data/client/styles/vendor/bootstrap/old/mixins/_center-block.scss +7 -0
- data/client/styles/vendor/bootstrap/old/mixins/_clearfix.scss +22 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_forms.scss +0 -0
- data/client/styles/vendor/bootstrap/old/mixins/_gradients.scss +58 -0
- data/client/styles/vendor/bootstrap/old/mixins/_grid-framework.scss +81 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_grid.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_hide-text.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_image.scss +0 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_labels.scss +0 -0
- data/client/styles/vendor/bootstrap/old/mixins/_list-group.scss +31 -0
- data/client/styles/vendor/bootstrap/old/mixins/_nav-divider.scss +10 -0
- data/client/styles/vendor/bootstrap/old/mixins/_nav-vertical-align.scss +9 -0
- data/client/styles/vendor/bootstrap/old/mixins/_opacity.scss +8 -0
- data/client/styles/vendor/bootstrap/old/mixins/_pagination.scss +23 -0
- data/client/styles/vendor/bootstrap/old/mixins/_panels.scss +24 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_progress-bar.scss +0 -0
- data/client/styles/vendor/bootstrap/old/mixins/_reset-filter.scss +8 -0
- data/client/styles/vendor/bootstrap/old/mixins/_resize.scss +6 -0
- data/client/styles/vendor/bootstrap/old/mixins/_responsive-visibility.scss +21 -0
- data/client/styles/vendor/bootstrap/old/mixins/_size.scss +10 -0
- data/client/styles/vendor/bootstrap/old/mixins/_tab-focus.scss +9 -0
- data/client/styles/vendor/bootstrap/old/mixins/_table-row.scss +28 -0
- data/client/styles/vendor/bootstrap/old/mixins/_text-emphasis.scss +11 -0
- data/client/styles/vendor/bootstrap/old/mixins/_text-overflow.scss +8 -0
- data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_vendor-prefixes.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap-custom-grid.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap-custom-modals.scss +0 -0
- data/client/{stylesheets → styles}/vendor/bootstrap.scss +14 -9
- data/client/{stylesheets → styles}/vendor/dataTables.scss +0 -0
- data/lanes.gemspec +5 -1
- data/lib/lanes/api/controller.rb +47 -6
- data/lib/lanes/api/helper_methods.rb +2 -10
- data/lib/lanes/api/javascript_processor.rb +17 -7
- data/lib/lanes/api/null_authentication_provider.rb +33 -0
- data/lib/lanes/api/request_wrapper.rb +49 -28
- data/lib/lanes/api/root.rb +12 -30
- data/lib/lanes/api/routing.rb +37 -0
- data/lib/lanes/api/sprockets_compressor.rb +35 -0
- data/lib/lanes/api/sprockets_extension.rb +69 -0
- data/lib/lanes/api/test_specs.rb +13 -9
- data/lib/lanes/api.rb +2 -18
- data/lib/lanes/cli.rb +22 -2
- data/lib/lanes/command/app.rb +49 -0
- data/lib/lanes/command/client_model_update.rb +65 -0
- data/lib/lanes/command/console.rb +20 -0
- data/lib/lanes/command/db.rb +33 -0
- data/lib/lanes/command/db.usage +1 -0
- data/lib/lanes/command/generate.rb +21 -0
- data/lib/lanes/command/generate_model.rb +105 -0
- data/lib/lanes/command/generate_model.usage +45 -0
- data/lib/lanes/command/generate_screen.rb +31 -0
- data/lib/lanes/command/generate_screen.usage +11 -0
- data/lib/lanes/command/generate_view.rb +22 -0
- data/lib/lanes/command/generate_view.usage +13 -0
- data/lib/lanes/command/model_attribute.rb +188 -0
- data/lib/lanes/command/named_command.rb +27 -0
- data/lib/lanes/command/server.rb +19 -0
- data/lib/lanes/command/server.usage +3 -0
- data/lib/lanes/command/templates/Gemfile +10 -0
- data/lib/lanes/{generators/app → command/templates}/Guardfile +0 -0
- data/lib/lanes/command/templates/Rakefile +2 -0
- data/lib/lanes/command/templates/client/Extension.coffee +5 -0
- data/lib/lanes/command/templates/client/components/.gitkeep +0 -0
- data/lib/lanes/command/templates/client/components/Component.coffee +1 -0
- data/lib/lanes/command/templates/client/data/Model.coffee +24 -0
- data/lib/lanes/command/templates/client/namespace-extension.js +17 -0
- data/lib/lanes/command/templates/client/screens/Screen.coffee +9 -0
- data/lib/lanes/command/templates/client/screens/index.js +5 -0
- data/lib/lanes/command/templates/client/screens/layout.html +3 -0
- data/lib/lanes/command/templates/client/screens/styles.scss +9 -0
- data/lib/lanes/command/templates/client/styles/styles.scss +1 -0
- data/lib/lanes/command/templates/client/views/.gitkeep +0 -0
- data/lib/lanes/command/templates/client/views/View.coffee +9 -0
- data/lib/lanes/command/templates/client/views/template.html +3 -0
- data/lib/lanes/{generators/app → command/templates}/config/database.yml +0 -0
- data/lib/lanes/command/templates/config/lanes.rb +7 -0
- data/lib/lanes/command/templates/config/routes.rb +2 -0
- data/lib/lanes/{generators/app → command/templates}/config.ru +1 -0
- data/lib/lanes/command/templates/db/create_table_migration.rb +19 -0
- data/lib/lanes/command/templates/gitignore +1 -0
- data/lib/lanes/command/templates/lib/namespace/extension.rb +13 -0
- data/lib/lanes/command/templates/lib/namespace/model.rb +7 -0
- data/lib/lanes/command/templates/lib/namespace/screen.rb +17 -0
- data/lib/lanes/command/templates/lib/namespace/version.rb +3 -0
- data/lib/lanes/command/templates/lib/namespace.rb +12 -0
- data/lib/lanes/command/templates/spec/client/data/ModelSpec.coffee +5 -0
- data/lib/lanes/command/templates/spec/client/views/ViewSpec.coffee +5 -0
- data/lib/lanes/command/templates/spec/fixtures/namespace/model.yml +16 -0
- data/lib/lanes/command/templates/spec/namespace/model_spec.rb +10 -0
- data/lib/lanes/command/templates/spec/spec_helper.rb +15 -0
- data/lib/lanes/command/update.rb +13 -0
- data/lib/lanes/command/update_model.rb +125 -0
- data/lib/lanes/command/update_model.usage +2 -0
- data/lib/lanes/command.rb +37 -0
- data/lib/lanes/components.rb +45 -0
- data/lib/lanes/concerns/set_attribute_data.rb +2 -2
- data/lib/lanes/configuration.rb +3 -3
- data/lib/lanes/db.rb +5 -39
- data/lib/lanes/extension.rb +64 -19
- data/lib/lanes/guard_tasks.rb +7 -5
- data/lib/lanes/rake_tasks.rb +47 -0
- data/lib/lanes/screens.rb +1 -48
- data/{spec → lib/lanes}/spec_helper.rb +0 -0
- data/lib/lanes/version.rb +1 -1
- data/lib/lanes.rb +1 -3
- data/npm-build/compile.coffee +1 -1
- data/npm-build/package.json +5 -5
- data/npm-build/template.js +13 -13
- data/spec/api/javascript_processor_spec.rb +1 -1
- data/spec/client/view/BaseSpec.coffee +166 -0
- data/spec/helpers/jasmine-jquery.js +813 -0
- data/spec/helpers/jasmine-matchers.js +1586 -0
- data/tasks/migrations.rake +1 -1
- data/views/index.erb +9 -13
- metadata +419 -268
- data/client/javascripts/component/ModalDialog.coffee +0 -44
- data/client/javascripts/component/SelectField.coffee +0 -43
- data/client/javascripts/component/TaggedField.coffee +0 -27
- data/client/javascripts/component/index.js +0 -5
- data/client/javascripts/data/Roles.coffee +0 -91
- data/client/javascripts/data/User.coffee +0 -70
- data/client/javascripts/extension/index.js +0 -6
- data/client/javascripts/extension/load.js.erb +0 -3
- data/client/javascripts/lanes-workspace.js +0 -1
- data/client/javascripts/lib/underscore.inflection.js +0 -210
- data/client/javascripts/plugins/index.js +0 -4
- data/client/javascripts/vendor/modern-stack.js +0 -14
- data/client/javascripts/vendor/packaged.js +0 -13769
- data/client/javascripts/view/Base.coffee +0 -231
- data/client/javascripts/view/Screen.coffee +0 -30
- data/client/javascripts/view/index.js +0 -10
- data/client/javascripts/workspace/LoginDialog.coffee +0 -33
- data/client/javascripts/workspace/login-dialog.html +0 -16
- data/client/screens/user-management/UserEditScreen.coffee +0 -21
- data/client/screens/user-management/UserManagement.coffee +0 -24
- data/client/screens/user-management/grid-popover-editor.html +0 -33
- data/client/screens/user-management/index.css +0 -4
- data/client/screens/user-management/user-management-styles.scss +0 -7
- data/client/screens/user-management/user-management.html +0 -8
- data/client/stylesheets/compoonents/modal-dialog.scss +0 -23
- data/client/stylesheets/lanes-workspace.scss +0 -17
- data/config/puma.rb +0 -7
- data/db/seed.rb +0 -37
- data/foo/Gemfile +0 -5
- data/foo/Guardfile +0 -13
- data/foo/foo/Gemfile +0 -5
- data/foo/foo/lib/foo.rb +0 -7
- data/foo/lib/foo/version.rb +0 -3
- data/foo/lib/foo.rb +0 -8
- data/lib/lanes/access/locked_fields.rb +0 -43
- data/lib/lanes/access/role.rb +0 -58
- data/lib/lanes/access/role_collection.rb +0 -75
- data/lib/lanes/access/roles/administrator.rb +0 -25
- data/lib/lanes/access/roles/support.rb +0 -13
- data/lib/lanes/access/user_maint_screen.rb +0 -32
- data/lib/lanes/access.rb +0 -50
- data/lib/lanes/api/asset_pipeline.rb +0 -59
- data/lib/lanes/api/authentication_helper.rb +0 -21
- data/lib/lanes/api/authentication_provider.rb +0 -45
- data/lib/lanes/api/default_routes.rb +0 -35
- data/lib/lanes/api/skr_templates.rb +0 -60
- data/lib/lanes/concerns/track_modifications.rb +0 -51
- data/lib/lanes/db/seed.rb +0 -27
- data/lib/lanes/generators/app/Gemfile +0 -5
- data/lib/lanes/generators/app/Rakefile +0 -9
- data/lib/lanes/generators/app/lib/main_class/version.rb +0 -3
- data/lib/lanes/generators/app/lib/main_class.rb +0 -8
- data/lib/lanes/generators/app.rb +0 -36
- data/lib/lanes/user.rb +0 -127
- data/spec/client/component/ChoicesInputSpec.coffee +0 -12
- data/spec/client/component/foo_spec.coffee +0 -4
- data/spec/client/support/jasmine.yml +0 -128
- data/spec/client/support/jasmine_helper.rb +0 -15
- data/spec/helpers/SpecHelper.js +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9103ba1713d2bda09e56196a703bf4f6641c4580
|
4
|
+
data.tar.gz: d4126f48d2d374e4323c2dccfdba535894082956
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aad53b38768c367f155369608fdde18d4a34b6bd52da1e93a9d39a593885b08c8066a295ad69a3b908251c7c933c65cdd6a65d75e8a4440b3578b681139370c5
|
7
|
+
data.tar.gz: ce087ff038a83b5ec978aaa7edc39f1c10c31ed153d43c9e6ecaff7d358985720c63446c634505f61d2c5a075471f0904729e3a6aa17221492aa0bcb3ade7bf2
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
gem "yard-activerecord", github: 'nathanstitt/yard-activerecord', branch: 'develop'
|
4
4
|
gem "active_record_mocks", github: 'envygeeks/active_record_mocks', branch: 'master'
|
5
|
-
gem "guard-jasmine", github: "guard/guard-jasmine", branch: '
|
5
|
+
gem "guard-jasmine", github: "guard/guard-jasmine", branch: 'master'
|
6
6
|
|
7
7
|
gem 'puma'
|
8
8
|
|
data/Rakefile
CHANGED
@@ -23,20 +23,6 @@ YARD::Rake::YardocTask.new do |t|
|
|
23
23
|
end
|
24
24
|
|
25
25
|
|
26
|
-
desc "Open an irb session preloaded with skr-core"
|
27
|
-
task :console do
|
28
|
-
require 'irb'
|
29
|
-
require 'irb/completion'
|
30
|
-
require 'pp'
|
31
|
-
require 'lanes'
|
32
|
-
include Lanes
|
33
|
-
Lanes::DB.establish_connection
|
34
|
-
ActiveRecord::Base.logger = Logger.new STDOUT
|
35
|
-
ARGV.clear
|
36
|
-
IRB.start
|
37
|
-
end
|
38
|
-
|
39
|
-
|
40
26
|
task :doc => 'db:environment' do
|
41
27
|
env = ENV['RAILS_ENV'] || 'development'
|
42
28
|
ENV['SCHEMA'] = 'db/schema.rb'
|
@@ -44,31 +30,3 @@ task :doc => 'db:environment' do
|
|
44
30
|
Rake::Task["db:schema:dump"].invoke
|
45
31
|
Rake::Task["yard"].invoke
|
46
32
|
end
|
47
|
-
|
48
|
-
|
49
|
-
task :guard => [ 'db:migrate', 'db:test:clone_structure' ] do
|
50
|
-
# NAS: I've never figured out how to run Guard from a rake task
|
51
|
-
# Guard.setup
|
52
|
-
# Guard.run_all
|
53
|
-
# ^ this will work but only runs the task once
|
54
|
-
# and doesn't listen for changes. Which kinda defeats the purpose
|
55
|
-
# For now just shell out until I can figure it out
|
56
|
-
sh "bundle exec guard"
|
57
|
-
end
|
58
|
-
|
59
|
-
args = ['-F','config/puma.rb']
|
60
|
-
|
61
|
-
task :dev do
|
62
|
-
args.push('start')
|
63
|
-
Puma::ControlCLI.new(args).run
|
64
|
-
end
|
65
|
-
|
66
|
-
# require 'jasmine'
|
67
|
-
# load 'jasmine/tasks/jasmine.rake'
|
68
|
-
|
69
|
-
|
70
|
-
task :testj do
|
71
|
-
require 'lanes/api'
|
72
|
-
Lanes.config.specs_root = Pathname.getwd
|
73
|
-
|
74
|
-
end
|
@@ -4,7 +4,7 @@ class BaseComponent
|
|
4
4
|
super
|
5
5
|
@access ||= this.calculate_access()
|
6
6
|
|
7
|
-
namespace: "
|
7
|
+
namespace: "Components"
|
8
8
|
|
9
9
|
session:
|
10
10
|
access:
|
@@ -19,21 +19,21 @@ class BaseComponent
|
|
19
19
|
writeTemplate: -> @renderTemplateMethod('template')
|
20
20
|
emptyTemplate: -> '<span></span>'
|
21
21
|
|
22
|
-
template:
|
23
|
-
if
|
24
|
-
|
25
|
-
else if
|
26
|
-
|
22
|
+
template: ->
|
23
|
+
if this.writeAble
|
24
|
+
this.writeTemplate()
|
25
|
+
else if this.readOnly
|
26
|
+
this.readTemplate()
|
27
27
|
else
|
28
|
-
|
28
|
+
this.emptyTemplate()
|
29
29
|
|
30
30
|
calculate_access:->
|
31
|
-
if ! @field_name || Lanes.
|
31
|
+
if ! @field_name || Lanes.Views.RenderContext.canWrite(@field_name)
|
32
32
|
'write'
|
33
|
-
else if Lanes.
|
33
|
+
else if Lanes.Views.RenderContext.canRead(@field_name)
|
34
34
|
'read'
|
35
35
|
else
|
36
36
|
'none'
|
37
37
|
|
38
38
|
|
39
|
-
Lanes.
|
39
|
+
Lanes.Components.Base = Lanes.Views.Base.extend(BaseComponent)
|
File without changes
|
File without changes
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class Lanes.
|
1
|
+
class Lanes.Components.Grid.Editor extends Lanes.Components.Base
|
2
2
|
|
3
3
|
session:
|
4
4
|
grid: 'object' # n.b. - not 'state'. Doing so causes stack overflow since grid also has a 'editor' session var
|
@@ -7,35 +7,32 @@ class Lanes.Component.Grid.Editor extends Lanes.Component.Base
|
|
7
7
|
'click .save': 'saveChanges'
|
8
8
|
'click .cancel': 'cancelEditing'
|
9
9
|
|
10
|
+
ui:
|
11
|
+
form: 'form'
|
12
|
+
|
10
13
|
constructor: (config)->
|
11
14
|
super
|
12
15
|
this.grid = this.parent
|
13
16
|
|
14
17
|
move: (row)->
|
15
18
|
if @row
|
16
|
-
|
19
|
+
this.$el.trigger('cancel-edit',@row)
|
17
20
|
@row=row
|
18
21
|
@model = this.grid.modelForRow(@row)
|
19
22
|
this.render() unless this.rendered
|
20
23
|
this.grid.$('.dataTables_scrollBody').append(this.el)
|
21
24
|
this.updateFields()
|
22
25
|
|
23
|
-
render: ->
|
24
|
-
super
|
25
|
-
this.cacheJqElements({
|
26
|
-
form: 'form'
|
27
|
-
})
|
28
|
-
|
29
26
|
updateFields: ->
|
30
27
|
for input, index in this.$('input')
|
31
28
|
if definition = this.getColumn(input.name)
|
32
|
-
|
29
|
+
Lanes.dom.setAttribute(input, 'value', this.model.get(definition.field) )
|
33
30
|
this.$('input').first().focus()
|
34
31
|
|
35
32
|
persistFields: ->
|
36
33
|
for input, index in this.$('input')
|
37
34
|
if definition = this.getColumn(input.name)
|
38
|
-
@model.set( definition.field,
|
35
|
+
@model.set( definition.field, Lanes.dom.getAttribute(input,'value') )
|
39
36
|
|
40
37
|
getColumn: (name)->
|
41
38
|
_.findWhere(this.grid.column_definitions, { field: name })
|
@@ -45,12 +42,12 @@ class Lanes.Component.Grid.Editor extends Lanes.Component.Base
|
|
45
42
|
@model.save().then => @updateGridRow()
|
46
43
|
|
47
44
|
updateGridRow: ->
|
48
|
-
|
45
|
+
this.$el.trigger('row-updated', @row)
|
49
46
|
@grid.updateRow(@row,@model)
|
50
47
|
this.cancelEditing()
|
51
48
|
|
52
49
|
cancelEditing: ->
|
53
|
-
|
50
|
+
this.$el.trigger('cancel-edit',@row)
|
54
51
|
this.detach()
|
55
52
|
this.model = null
|
56
53
|
|
@@ -60,6 +57,6 @@ class Lanes.Component.Grid.Editor extends Lanes.Component.Base
|
|
60
57
|
@cancelEditing()
|
61
58
|
|
62
59
|
fields: ->
|
63
|
-
_.map(this.form.children(), (input,index)->
|
60
|
+
_.map(this.ui.form.children(), (input,index)->
|
64
61
|
{ index: index, input: Lanes.$(input), column: this.grid.column_definitions[index] }
|
65
62
|
,this)
|
@@ -7,7 +7,7 @@ _.extend( Lanes.$.fn.dataTableExt.oStdClasses,{
|
|
7
7
|
})
|
8
8
|
|
9
9
|
|
10
|
-
class Lanes.
|
10
|
+
class Lanes.Components.Grid extends Lanes.Components.Base
|
11
11
|
|
12
12
|
events:
|
13
13
|
'click button.refresh': 'reload'
|
@@ -17,7 +17,7 @@ class Lanes.Component.Grid extends Lanes.Component.Base
|
|
17
17
|
'cancel-edit': 'onCancelEdit'
|
18
18
|
'order.dt table': 'onSort'
|
19
19
|
|
20
|
-
|
20
|
+
template: 'grid/template'
|
21
21
|
templateData: ->
|
22
22
|
data = { grid: this, buttons: ['refresh'] }
|
23
23
|
data['buttons'].push('create') if @add_records
|
@@ -46,7 +46,7 @@ class Lanes.Component.Grid extends Lanes.Component.Base
|
|
46
46
|
editing_controller: 'any' # either string or constructor fn
|
47
47
|
|
48
48
|
initialize: (options)->
|
49
|
-
this.listenTo(this.
|
49
|
+
this.listenTo(this.viewport,'change:screen_menu_size', this.delayedWidthReset)
|
50
50
|
|
51
51
|
unless Lanes.current_user.canWrite(this.model_class)
|
52
52
|
this.edit_records = false
|
@@ -74,7 +74,7 @@ class Lanes.Component.Grid extends Lanes.Component.Base
|
|
74
74
|
@dt_api.ajax.reload()
|
75
75
|
|
76
76
|
unselect: (row)->
|
77
|
-
|
77
|
+
this.$el.trigger('unselect-row', [@modelForRow(row), {row:row}])
|
78
78
|
row.removeClass('active')
|
79
79
|
|
80
80
|
beginEdit: (row,ev)->
|
@@ -118,7 +118,7 @@ class Lanes.Component.Grid extends Lanes.Component.Base
|
|
118
118
|
this.unselect(row)
|
119
119
|
else
|
120
120
|
row.addClass('active')
|
121
|
-
|
121
|
+
this.$el.trigger('select-row', {model:model, row:row} ) if model = this.modelForRow(row)
|
122
122
|
|
123
123
|
updateRow: (row, model)->
|
124
124
|
row.attr('id', model.id)
|
@@ -160,7 +160,7 @@ class Lanes.Component.Grid extends Lanes.Component.Base
|
|
160
160
|
oScroller: { loadingIndicator: true }
|
161
161
|
# columnDefs: @column_definitions
|
162
162
|
ajax:
|
163
|
-
url: @record_query.url
|
163
|
+
url: @record_query.url + ".json"
|
164
164
|
data: (d)=>@buildData(d)
|
165
165
|
dataSrc: (d)->
|
166
166
|
d.recordsFiltered = d.recordsTotal = d.total
|
@@ -1,6 +1,6 @@
|
|
1
|
-
class Lanes.
|
1
|
+
class Lanes.Components.Grid.PopOverEditor extends Lanes.Components.Grid.Editor
|
2
2
|
|
3
|
-
|
3
|
+
template: 'grid/popover-editor'
|
4
4
|
templateData: ->
|
5
5
|
{ columns: this.grid.column_definitions }
|
6
6
|
|
@@ -12,7 +12,7 @@ class Lanes.Component.Grid.PopOverEditor extends Lanes.Component.Grid.Editor
|
|
12
12
|
super
|
13
13
|
if @popover
|
14
14
|
@popover.destroy()
|
15
|
-
@popover = new Lanes.
|
15
|
+
@popover = new Lanes.Components.PopOver({
|
16
16
|
parent: this
|
17
17
|
className: 'grid-popover-editor'
|
18
18
|
target: Lanes.$(ev.target)
|
data/client/{stylesheets/compoonents/grid-editors.scss → lanes/components/grid/editors.scss}
RENAMED
File without changes
|
@@ -1,3 +1,5 @@
|
|
1
|
+
@import "editors";
|
2
|
+
|
1
3
|
.lanes-grid {
|
2
4
|
|
3
5
|
clear: both;
|
@@ -25,7 +27,7 @@
|
|
25
27
|
padding-top: 20px;
|
26
28
|
text-align: center;
|
27
29
|
font-size: 1.2em;
|
28
|
-
background:url(asset_path('ajax-loader.gif')) no-repeat scroll 40% 7px $body-bg;
|
30
|
+
background:url(asset_path('images/ajax-loader.gif')) no-repeat scroll 40% 7px $body-bg;
|
29
31
|
}
|
30
32
|
|
31
33
|
|
@@ -85,12 +87,12 @@
|
|
85
87
|
cursor: pointer;
|
86
88
|
}
|
87
89
|
|
88
|
-
thead .sorting { background: url(image-path('dataTables/sort_both.png')) no-repeat center right; }
|
89
|
-
thead .sorting_asc { background: url(image-path('dataTables/sort_asc.png')) no-repeat center right; }
|
90
|
-
thead .sorting_desc { background: url(image-path('dataTables/sort_desc.png')) no-repeat center right; }
|
90
|
+
thead .sorting { background: url(image-path('images/dataTables/sort_both.png')) no-repeat center right; }
|
91
|
+
thead .sorting_asc { background: url(image-path('images/dataTables/sort_asc.png')) no-repeat center right; }
|
92
|
+
thead .sorting_desc { background: url(image-path('images/dataTables/sort_desc.png')) no-repeat center right; }
|
91
93
|
|
92
|
-
thead .sorting_asc_disabled { background: url(image-path('dataTables/sort_asc_disabled.png')) no-repeat center right; }
|
93
|
-
thead .sorting_desc_disabled { background: url(image-path('dataTables/sort_desc_disabled.png')) no-repeat center right; }
|
94
|
+
thead .sorting_asc_disabled { background: url(image-path('images/dataTables/sort_asc_disabled.png')) no-repeat center right; }
|
95
|
+
thead .sorting_desc_disabled { background: url(image-path('images/dataTables/sort_desc_disabled.png')) no-repeat center right; }
|
94
96
|
|
95
97
|
thead > tr > th {
|
96
98
|
padding-left: 18px;
|
File without changes
|
File without changes
|
File without changes
|
data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/dataTables.bootstrap.js
RENAMED
File without changes
|
data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/dataTables.scroller.js
RENAMED
File without changes
|
data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/datatables.responsive.js
RENAMED
File without changes
|
File without changes
|
@@ -0,0 +1,47 @@
|
|
1
|
+
class Lanes.Components.ModalDialog extends Lanes.Components.Base
|
2
|
+
|
3
|
+
events:
|
4
|
+
'hide.bs.modal': '_onHide'
|
5
|
+
|
6
|
+
bindings:
|
7
|
+
'viewport.layout_size': { type:'class',selector:'.modal-dialog'}
|
8
|
+
'viewport.layout_size': { selector: '.modal', type: 'class' }
|
9
|
+
|
10
|
+
buttons:
|
11
|
+
close: { label: 'Close', type: 'default', dismiss: true }
|
12
|
+
|
13
|
+
session:
|
14
|
+
dialog_title: 'string'
|
15
|
+
|
16
|
+
toggleShown: (show)->
|
17
|
+
if show then this.show() else this.hide()
|
18
|
+
|
19
|
+
template: ->
|
20
|
+
tmpl = Lanes.Templates.find('modal/template', this.namespace)
|
21
|
+
tmpl({
|
22
|
+
size : @size || 'lg'
|
23
|
+
title : @title || context.dialog_title
|
24
|
+
body : this.renderTemplateMethod('bodyTemplate')
|
25
|
+
buttons : @buttons
|
26
|
+
})
|
27
|
+
|
28
|
+
hide:->
|
29
|
+
this.$el.modal('hide')
|
30
|
+
_.Promise.resolve( this )
|
31
|
+
|
32
|
+
show: ->
|
33
|
+
if this.rendered
|
34
|
+
this.viewport.el.append(this.el)
|
35
|
+
this.$el.modal('show')
|
36
|
+
else
|
37
|
+
this.render()
|
38
|
+
this.$el.modal({ body: this.viewport.el })
|
39
|
+
this.notification = new _.DeferredPromise
|
40
|
+
return this.notification.promise
|
41
|
+
|
42
|
+
destroy: ->
|
43
|
+
this.detach()
|
44
|
+
|
45
|
+
_onHide: (ev)->
|
46
|
+
this.detach()
|
47
|
+
this.notification.resolve(this)
|
@@ -0,0 +1,20 @@
|
|
1
|
+
@import "styles/vendor/bootstrap/modals";
|
2
|
+
|
3
|
+
.modal-backdrop{
|
4
|
+
position: absolute;
|
5
|
+
}
|
6
|
+
|
7
|
+
|
8
|
+
// Use our sizing detection instead of media-queries
|
9
|
+
|
10
|
+
.modal {
|
11
|
+
|
12
|
+
&.md{
|
13
|
+
.modal-lg {
|
14
|
+
right: 5%;
|
15
|
+
width: 100%;
|
16
|
+
left: 5%;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
<div class="modal fade" role="dialog">
|
1
2
|
<div class="modal-dialog modal-<%= @size %>">
|
2
3
|
<div class="modal-content">
|
3
4
|
<div class="modal-header">
|
@@ -5,12 +6,12 @@
|
|
5
6
|
<h4 class="modal-title" id="myModalLabel"><%= @title %></h4>
|
6
7
|
</div>
|
7
8
|
<div class="modal-body">
|
8
|
-
|
9
|
+
<%- @body %>
|
9
10
|
</div>
|
10
11
|
<div class="modal-footer">
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
<% for name, opts of @buttons: %>
|
13
|
+
<button type="button" name="<%= name %>" class="btn btn-<%= opts.type %>" <%='data-dismiss=modal' if opts.dismiss %>><%= opts.label %></button>
|
14
|
+
<% end %>
|
14
15
|
<!-- <button type="button" class="btn btn-primary">Save changes</button> -->
|
15
16
|
</div>
|
16
17
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class Lanes.
|
1
|
+
class Lanes.Components.PopOver extends Lanes.Components.Base
|
2
2
|
|
3
3
|
events:
|
4
4
|
'hide.bs.popover': '_onHide'
|
@@ -26,8 +26,8 @@ class Lanes.Component.PopOver extends Lanes.Component.Base
|
|
26
26
|
Lanes.warn "PopOver Template #{this.template} was not found"
|
27
27
|
|
28
28
|
initialize: (options)->
|
29
|
-
template = Lanes.Templates.find('
|
30
|
-
_.extend(options, this.options, {template: template, container: this.
|
29
|
+
template = Lanes.Templates.find('components/popover/template')({ className: options.className||'' })
|
30
|
+
_.extend(options, this.options, {template: template, container: this.viewport?.root})
|
31
31
|
this.target.popover(options).on("hide.bs.popover", _.bind(this._onHide, this) )
|
32
32
|
this.show() if options.autoShow
|
33
33
|
|
@@ -36,7 +36,7 @@ class Lanes.Component.PopOver extends Lanes.Component.Base
|
|
36
36
|
|
37
37
|
show: ->
|
38
38
|
this.target.popover('show')
|
39
|
-
this.notification = new
|
39
|
+
this.notification = new _.DeferredPromise
|
40
40
|
return this.notification.promise
|
41
41
|
|
42
42
|
destroy: ->
|
@@ -0,0 +1 @@
|
|
1
|
+
@import "styles/vendor/bootstrap/popovers";
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class FinderClause
|
2
2
|
constructor: -> super
|
3
3
|
|
4
|
-
|
4
|
+
template: 'record-finder/clause'
|
5
5
|
|
6
6
|
initialize: ->
|
7
7
|
window.fc = this.model
|
@@ -102,7 +102,7 @@ Lanes.Component.ModalDialog.extend(FinderDialog)
|
|
102
102
|
|
103
103
|
class RecordFinder
|
104
104
|
constructor: -> super
|
105
|
-
|
105
|
+
template: 'record-finder/field'
|
106
106
|
templateData: -> { field_name: @record_query.initial_field }
|
107
107
|
|
108
108
|
events:
|
@@ -125,7 +125,7 @@ class RecordFinder
|
|
125
125
|
).then( (record)=>
|
126
126
|
record.withAssociations(@.includeAssociations...) if record
|
127
127
|
).then( (record)=>
|
128
|
-
|
128
|
+
this.$el.trigger("display-record", record) if record
|
129
129
|
, (e)->Lanes.warn(e) )
|
130
130
|
|
131
131
|
onKey: (ev)->
|
@@ -138,6 +138,6 @@ class RecordFinder
|
|
138
138
|
runQuery: (ev)->
|
139
139
|
code = this.$(ev.target).val()
|
140
140
|
@record_query.loadSingle(code.toUpperCase(),{ include: @includeAssociations })
|
141
|
-
.then( (reply)=>
|
141
|
+
.then( (reply)=> this.$el.trigger("display-record", reply.record) if reply.record )
|
142
142
|
|
143
143
|
Lanes.Component.RecordFinder = Lanes.Component.Base.extend(RecordFinder)
|
data/client/{javascripts/component/record-finder → lanes/components/record_finder}/clause.skr
RENAMED
File without changes
|
data/client/{javascripts/component/record-finder → lanes/components/record_finder}/dialog.skr
RENAMED
File without changes
|
data/client/{javascripts/component/record-finder → lanes/components/record_finder}/field.skr
RENAMED
File without changes
|
@@ -0,0 +1,87 @@
|
|
1
|
+
class SelectOption extends Lanes.Views.Base
|
2
|
+
template: (scope)->
|
3
|
+
'<option></option>'
|
4
|
+
|
5
|
+
constructor: (options)->
|
6
|
+
@groupName=options.groupName
|
7
|
+
m = options.mappings
|
8
|
+
@bindings = {}
|
9
|
+
@bindings["model.#{m.id}"] = { type: 'value', selector: 'option' }
|
10
|
+
@bindings["model.#{m.selected}"] = { type: 'booleanAttribute', selector: 'option', name:'selected' }
|
11
|
+
@bindings["model.#{m.title}"] = 'option'
|
12
|
+
@bindings["model.#{m.visible}"] = { type: 'toggle' } if m.visible
|
13
|
+
super
|
14
|
+
|
15
|
+
|
16
|
+
class Lanes.Components.SelectField extends Lanes.Components.Base
|
17
|
+
|
18
|
+
subviews:
|
19
|
+
fields:
|
20
|
+
hook: 'choices-input'
|
21
|
+
collection: 'selections'
|
22
|
+
options: 'subViewOptions'
|
23
|
+
view: SelectOption
|
24
|
+
|
25
|
+
session:
|
26
|
+
multiple: { type: 'boolean', default: false }
|
27
|
+
selections: 'collection'
|
28
|
+
|
29
|
+
subViewOptions: ->
|
30
|
+
{ field_name: @field_name, mappings: @mappings }
|
31
|
+
|
32
|
+
constructor: (options={})->
|
33
|
+
if options.has_many
|
34
|
+
@association = options.model.associations[options.has_many]
|
35
|
+
@field_name = @association.fk
|
36
|
+
else
|
37
|
+
@field_name = options.field_name || options.subViewId
|
38
|
+
|
39
|
+
@mappings = _.extend({
|
40
|
+
id: 'id', title: 'title', selected: 'selected'
|
41
|
+
},options.mappings||{})
|
42
|
+
super
|
43
|
+
|
44
|
+
|
45
|
+
initialize: (options={})->
|
46
|
+
if @association
|
47
|
+
collection = Lanes.Data[@association.model].sharedCollection()
|
48
|
+
collection.fetch().then (m)=>
|
49
|
+
@selections = m
|
50
|
+
this.on('change:model', this.onModelChange )
|
51
|
+
else if options.data
|
52
|
+
@selections = options.data
|
53
|
+
|
54
|
+
selectionForID: (id)->
|
55
|
+
q={}; q[@mappings.id]=id
|
56
|
+
@selections.findWhere( q )
|
57
|
+
|
58
|
+
onAttributeChange: (model,fkid)->
|
59
|
+
this.select( this.selectionForID( fkid ) )
|
60
|
+
|
61
|
+
onModelChange: ->
|
62
|
+
if (old_model = this.previousAttributes()['model'])
|
63
|
+
this.stopListening(old_model,"change:#{@association.fk}", this.onAttributeChange )
|
64
|
+
this.listenTo(@model,"change:#{@association.fk}", this.onAttributeChange )
|
65
|
+
fk_id = @model.get( @association.fk )
|
66
|
+
record = if fk_id
|
67
|
+
this.selectionForID( fk_id )
|
68
|
+
else
|
69
|
+
@model[@association.name]
|
70
|
+
this.select(record)
|
71
|
+
|
72
|
+
writeTemplate: ->
|
73
|
+
multiple = if this.multiple then "multiple" else ""
|
74
|
+
"<select class='form-control' #{multiple} name='#{this.field_name}' data-hook='choices-input'></select>"
|
75
|
+
|
76
|
+
readTemplate: ->
|
77
|
+
"<div class='ro-input' name='#{this.field_name}'></div>"
|
78
|
+
|
79
|
+
select: (option)->
|
80
|
+
if this.readOnly
|
81
|
+
this.$el.text( if option then option.code else "" )
|
82
|
+
else if option
|
83
|
+
id = option.get(@mappings.id)
|
84
|
+
option = this.query("option[value=\"#{id}\"]")
|
85
|
+
option.selected = true
|
86
|
+
else
|
87
|
+
this.$el.find(":selected").prop('selected',false)
|
data/client/{javascripts/workspace/tab.html → lanes/components/select_field/select_field.scss}
RENAMED
File without changes
|
File without changes
|
File without changes
|