kms 0.9.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{vendor/assets/bower_components/Responsive-Dashboard/src/img → app/assets/images}/avatar.jpg +0 -0
- data/app/assets/javascripts/kms/application.js +3 -0
- data/app/assets/javascripts/kms/application/controllers/assets_controller.coffee.erb +14 -7
- data/app/assets/javascripts/kms/application/controllers/pages_controller.coffee.erb +11 -3
- data/app/assets/javascripts/kms/application/controllers/snippets_controller.coffee.erb +3 -0
- data/app/assets/javascripts/kms/application/controllers/templates_controller.coffee.erb +3 -0
- data/app/assets/javascripts/kms/application/controllers/users_controller.coffee +4 -4
- data/app/assets/javascripts/kms/application/routes.coffee.erb +1 -1
- data/app/assets/javascripts/kms/application/services/transliteration_service.js +160 -0
- data/app/assets/javascripts/templates/assets/edit.html.slim +24 -2
- data/app/assets/javascripts/templates/assets/form.html.slim +23 -0
- data/app/assets/javascripts/templates/assets/index.html.slim +13 -12
- data/app/assets/javascripts/templates/assets/new.html.slim +1 -15
- data/app/assets/javascripts/templates/help.html.slim +1 -1
- data/app/assets/javascripts/templates/pages/index.html.slim +16 -5
- data/app/assets/javascripts/templates/snippets/index.html.slim +16 -5
- data/app/assets/javascripts/templates/templates/index.html.slim +16 -6
- data/app/assets/stylesheets/kms/application.css +2 -2
- data/app/assets/stylesheets/kms/custom.css.scss +38 -0
- data/app/controllers/kms/assets_controller.rb +8 -9
- data/app/controllers/kms/pages_controller.rb +10 -11
- data/app/controllers/kms/public/pages_controller.rb +5 -4
- data/app/controllers/kms/public/search_controller.rb +2 -0
- data/app/controllers/kms/settings_controller.rb +1 -1
- data/app/controllers/kms/snippets_controller.rb +2 -1
- data/app/controllers/kms/templates_controller.rb +6 -5
- data/app/controllers/kms/users_controller.rb +11 -8
- data/app/models/ability.rb +1 -0
- data/app/models/concerns/kms/permalinkable.rb +1 -1
- data/app/models/kms/page.rb +13 -4
- data/app/serializers/kms/asset_serializer.rb +6 -0
- data/app/serializers/kms/page_serializer.rb +5 -0
- data/app/serializers/kms/template_serializer.rb +5 -0
- data/app/serializers/kms/user_serializer.rb +5 -0
- data/app/services/kms/page_fetcher.rb +30 -0
- data/app/services/kms/search_service.rb +28 -3
- data/app/services/kms/template_processor.rb +19 -0
- data/app/views/devise/passwords/edit.html.erb +1 -1
- data/app/views/devise/passwords/new.html.erb +1 -1
- data/app/views/devise/registrations/new.html.erb +1 -1
- data/app/views/devise/sessions/new.html.erb +1 -1
- data/app/views/layouts/kms/devise.html.erb +1 -1
- data/app/views/layouts/kms/kms.html.erb +47 -18
- data/config/initializers/externals.rb +6 -32
- data/config/initializers/search.rb +1 -0
- data/config/locales/en.yml +17 -1
- data/config/locales/ru.yml +17 -1
- data/config/routes.rb +7 -6
- data/lib/kms/dependencies.rb +1 -4
- data/lib/kms/engine.rb +1 -2
- data/lib/kms/search_item.rb +18 -0
- data/lib/kms/version.rb +1 -1
- data/spec/controllers/kms/assets_controller_spec.rb +51 -0
- data/spec/controllers/kms/pages_controller_spec.rb +82 -0
- data/spec/controllers/kms/public/pages_controller_spec.rb +30 -0
- data/spec/controllers/kms/snippets_controller_spec.rb +61 -47
- data/spec/controllers/kms/templates_controller_spec.rb +51 -0
- data/spec/controllers/kms/users_controller_spec.rb +56 -0
- data/spec/factories/assets.rb +8 -0
- data/spec/factories/pages.rb +33 -0
- data/spec/factories/templates.rb +20 -0
- data/spec/factories/users.rb +9 -4
- data/spec/internal/config/routes.rb +12 -1
- data/spec/internal/log/test.log +81239 -0
- data/spec/internal/public/404.html +67 -0
- data/spec/internal/public/avatar.jpg +0 -0
- data/spec/internal/public/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/1/avatar.jpg +0 -0
- data/spec/internal/public/uploads/kms/asset/file/2/avatar.jpg +0 -0
- data/spec/internal/public/uploads/kms/asset/file/2/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/3/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/4/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500976987-41025-0002-0883/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977082-41195-0002-6495/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977109-41364-0002-4518/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977152-41405-0002-2345/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977327-41694-0002-5448/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977376-41732-0002-7916/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977392-41759-0002-7593/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977410-42259-0002-7527/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977429-42306-0002-5937/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977437-42324-0002-5880/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983228-53594-0002-4559/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983284-53632-0002-6590/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983360-53784-0002-7289/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983469-54321-0002-0386/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983469-54321-0004-5691/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983511-54352-0002-5720/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983511-54352-0004-1399/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983610-54507-0002-4280/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983610-54507-0004-9758/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984466-57012-0002-4146/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984466-57012-0004-5895/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984509-57158-0002-9657/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984509-57158-0004-5003/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984616-57697-0002-7201/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984616-57697-0004-6255/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985257-58947-0002-3629/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985257-58947-0004-5338/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985407-58947-0006-5929/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985473-59264-0002-0397/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985473-59264-0004-6493/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985475-59264-0007-8674/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0002-9206/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0004-2586/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0007-6200/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0002-4528/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0004-5904/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0007-7320/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0002-3138/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0004-5400/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0007-1655/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0002-9415/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0004-7130/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0007-9886/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0002-3228/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0004-3682/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0007-1582/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988475-66122-0002-9516/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988475-66122-0004-5634/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988530-66122-0007-2272/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0002-6262/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0004-6099/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0007-1632/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0002-9937/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0004-8034/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0007-7763/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0002-3210/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0004-5881/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0007-6280/style.css +1 -0
- data/spec/models/kms/page_spec.rb +31 -0
- data/spec/models/kms/template_spec.rb +15 -0
- data/spec/services/kms/page_fetcher_spec.rb +36 -0
- data/spec/services/kms/search_service_spec.rb +53 -0
- data/spec/services/kms/template_processor_spec.rb +20 -0
- data/spec/support/controller_macros.rb +9 -1
- data/vendor/assets/bower.json +3 -2
- data/vendor/assets/bower_components/angular-ui-select/CHANGELOG.md +169 -0
- data/vendor/assets/bower_components/angular-ui-select/CONTRIBUTING.md +161 -0
- data/vendor/assets/bower_components/angular-ui-select/README.md +27 -13
- data/vendor/assets/bower_components/angular-ui-select/bower.json +6 -3
- data/vendor/assets/bower_components/angular-ui-select/composer.json +29 -0
- data/vendor/assets/bower_components/angular-ui-select/deploy-docs.sh +31 -0
- data/vendor/assets/bower_components/angular-ui-select/dist/select.css +48 -2
- data/vendor/assets/bower_components/angular-ui-select/dist/select.js +454 -111
- data/vendor/assets/bower_components/angular-ui-select/dist/select.min.css +2 -2
- data/vendor/assets/bower_components/angular-ui-select/dist/select.min.js +2 -2
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/app.js +1 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/demo.js +461 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/docs.css +339 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/plunkr.js +110 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/index.html +191 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/partials/_footer.html +2 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/partials/_header.html +64 -0
- data/vendor/assets/bower_components/angular-ui-select/index.js +2 -0
- data/vendor/assets/bower_components/angular-ui-select/package.json +36 -15
- data/vendor/assets/bower_components/bootstrap/CHANGELOG.md +5 -0
- data/vendor/assets/bower_components/bootstrap/Gemfile +6 -0
- data/vendor/assets/bower_components/bootstrap/Gemfile.lock +43 -0
- data/vendor/assets/bower_components/bootstrap/Gruntfile.js +176 -145
- data/vendor/assets/bower_components/bootstrap/ISSUE_TEMPLATE.md +22 -0
- data/vendor/assets/bower_components/bootstrap/LICENSE +1 -1
- data/vendor/assets/bower_components/bootstrap/README.md +55 -40
- data/vendor/assets/bower_components/bootstrap/bower.json +5 -9
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +204 -59
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +4 -3
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map +1 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/{bootstrap.less → bootstrap.css} +881 -327
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +6 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.map +1 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +272 -213
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +549 -286
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +5 -4
- data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +13 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +272 -213
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +30 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +5 -4
- data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +13 -12
- data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +6 -8
- data/vendor/assets/bower_components/bootstrap/grunt/change-version.js +109 -0
- data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +46 -0
- data/vendor/assets/bower_components/bootstrap/grunt/npm-shrinkwrap.json +2679 -0
- data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +5 -5
- data/vendor/assets/bower_components/bootstrap/js/affix.js +46 -26
- data/vendor/assets/bower_components/bootstrap/js/alert.js +8 -6
- data/vendor/assets/bower_components/bootstrap/js/button.js +34 -19
- data/vendor/assets/bower_components/bootstrap/js/carousel.js +35 -21
- data/vendor/assets/bower_components/bootstrap/js/collapse.js +69 -27
- data/vendor/assets/bower_components/bootstrap/js/dropdown.js +55 -41
- data/vendor/assets/bower_components/bootstrap/js/modal.js +91 -32
- data/vendor/assets/bower_components/bootstrap/js/popover.js +5 -10
- data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +28 -26
- data/vendor/assets/bower_components/bootstrap/js/tab.js +45 -18
- data/vendor/assets/bower_components/bootstrap/js/tooltip.js +117 -54
- data/vendor/assets/bower_components/bootstrap/js/transition.js +2 -2
- data/vendor/assets/bower_components/bootstrap/less/alerts.less +5 -0
- data/vendor/assets/bower_components/bootstrap/less/badges.less +14 -3
- data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +6 -0
- data/vendor/assets/bower_components/bootstrap/less/button-groups.less +22 -18
- data/vendor/assets/bower_components/bootstrap/less/buttons.less +19 -10
- data/vendor/assets/bower_components/bootstrap/less/carousel.less +34 -7
- data/vendor/assets/bower_components/bootstrap/less/close.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/code.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/component-animations.less +3 -1
- data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +9 -8
- data/vendor/assets/bower_components/bootstrap/less/forms.less +123 -50
- data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +75 -3
- data/vendor/assets/bower_components/bootstrap/less/input-groups.less +8 -3
- data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +10 -4
- data/vendor/assets/bower_components/bootstrap/less/list-group.less +10 -11
- data/vendor/assets/bower_components/bootstrap/less/media.less +40 -30
- data/vendor/assets/bower_components/bootstrap/less/mixins.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +19 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +5 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +4 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +4 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +2 -2
- data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +0 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/reset-text.less +18 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +3 -3
- data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +8 -5
- data/vendor/assets/bower_components/bootstrap/less/modals.less +3 -3
- data/vendor/assets/bower_components/bootstrap/less/navbar.less +30 -25
- data/vendor/assets/bower_components/bootstrap/less/navs.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/normalize.less +12 -13
- data/vendor/assets/bower_components/bootstrap/less/pager.less +1 -2
- data/vendor/assets/bower_components/bootstrap/less/pagination.less +5 -4
- data/vendor/assets/bower_components/bootstrap/less/panels.less +33 -5
- data/vendor/assets/bower_components/bootstrap/less/popovers.less +5 -7
- data/vendor/assets/bower_components/bootstrap/less/print.less +96 -96
- data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +1 -19
- data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +10 -9
- data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +13 -2
- data/vendor/assets/bower_components/bootstrap/less/tables.less +14 -13
- data/vendor/assets/bower_components/bootstrap/less/theme.less +49 -16
- data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/tooltip.less +13 -7
- data/vendor/assets/bower_components/bootstrap/less/type.less +2 -13
- data/vendor/assets/bower_components/bootstrap/less/utilities.less +0 -2
- data/vendor/assets/bower_components/bootstrap/less/variables.less +45 -22
- data/vendor/assets/bower_components/bootstrap/nuget/MyGet.ps1 +8 -0
- data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.less.nuspec +28 -0
- data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.nuspec +28 -0
- data/vendor/assets/bower_components/bootstrap/package.js +32 -0
- data/vendor/assets/bower_components/bootstrap/package.json +49 -41
- data/vendor/assets/bower_components/flow.js/README.md +79 -64
- data/vendor/assets/bower_components/flow.js/bower.json +6 -2
- data/vendor/assets/bower_components/flow.js/dist/flow.js +1635 -1532
- data/vendor/assets/bower_components/flow.js/dist/flow.min.js +2 -2
- data/vendor/assets/bower_components/flow.js/package.js +24 -0
- data/vendor/assets/bower_components/flow.js/travis.sh +19 -0
- data/vendor/assets/bower_components/font-awesome/scss/_path.scss +5 -5
- data/vendor/assets/bower_components/font-awesome/scss/_variables.scss +1 -2
- data/vendor/assets/bower_components/ng-flow/bower.json +1 -1
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.js +1655 -1542
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.min.js +2 -2
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow.js +19 -9
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow.min.js +2 -2
- data/vendor/assets/bower_components/ng-flow/index.js +3 -0
- data/vendor/assets/bower_components/ng-flow/package.js +25 -0
- data/vendor/assets/bower_components/ng-flow/src/directives/drag-events.js +2 -1
- data/vendor/assets/bower_components/ng-flow/src/directives/events.js +2 -1
- data/vendor/assets/bower_components/ng-flow/src/directives/init.js +7 -1
- data/vendor/assets/bower_components/ng-flow/travis.sh +19 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard → rdash-ui}/LICENSE +21 -21
- data/vendor/assets/bower_components/rdash-ui/README.md +55 -0
- data/vendor/assets/bower_components/rdash-ui/bower.json +33 -0
- data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.min.css +1 -0
- data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.scss +489 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.eot +0 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.svg +1316 -1316
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.ttf +0 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.woff +0 -0
- metadata +227 -180
- data/config/initializers/bower_rails.rb +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/CONTRIBUTING.md +0 -21
- data/vendor/assets/bower_components/Responsive-Dashboard/README.md +0 -119
- data/vendor/assets/bower_components/Responsive-Dashboard/bower.json +0 -32
- data/vendor/assets/bower_components/Responsive-Dashboard/gulpfile.js +0 -81
- data/vendor/assets/bower_components/Responsive-Dashboard/package.json +0 -21
- data/vendor/assets/bower_components/Responsive-Dashboard/src/index.html +0 -413
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/alerts-ctrl.js +0 -19
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/master-ctrl.js +0 -51
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/loading.js +0 -13
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-body.js +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-header.js +0 -17
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget.js +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/module.js +0 -1
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/routes.js +0 -22
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/content.less +0 -19
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/hamburg.less +0 -29
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/header.less +0 -92
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/loading.less +0 -40
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/main.less +0 -73
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/mixins.less +0 -5
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/sidebar.less +0 -122
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/variables.less +0 -10
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/widgets.less +0 -95
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.erb +0 -5
- data/vendor/assets/bower_components/flow.js/CHANGELOG.md +0 -37
- data/vendor/assets/bower_components/flow.js/Gruntfile.js +0 -132
- data/vendor/assets/bower_components/flow.js/karma.conf.js +0 -114
- data/vendor/assets/bower_components/flow.js/package.json +0 -50
- data/vendor/assets/bower_components/flow.js/src/flow.js +0 -1532
- data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
- data/vendor/assets/bower_components/jquery/bower.json +0 -27
- data/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9190
- data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
- data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
- data/vendor/assets/bower_components/jquery/src/ajax.js +0 -806
- data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
- data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
- data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
- data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
- data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
- data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
- data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
- data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -135
- data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
- data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -143
- data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
- data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -96
- data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
- data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -163
- data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
- data/vendor/assets/bower_components/jquery/src/core.js +0 -498
- data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
- data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
- data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
- data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
- data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
- data/vendor/assets/bower_components/jquery/src/css.js +0 -451
- data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -24
- data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
- data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
- data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
- data/vendor/assets/bower_components/jquery/src/css/support.js +0 -91
- data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
- data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
- data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -5
- data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
- data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
- data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
- data/vendor/assets/bower_components/jquery/src/data.js +0 -179
- data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
- data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
- data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
- data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
- data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
- data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
- data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
- data/vendor/assets/bower_components/jquery/src/effects.js +0 -649
- data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
- data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
- data/vendor/assets/bower_components/jquery/src/event.js +0 -868
- data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
- data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
- data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
- data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
- data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
- data/vendor/assets/bower_components/jquery/src/jquery.js +0 -36
- data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -582
- data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
- data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -31
- data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
- data/vendor/assets/bower_components/jquery/src/offset.js +0 -204
- data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
- data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
- data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
- data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
- data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
- data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
- data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2044
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
- data/vendor/assets/bower_components/jquery/src/traversing.js +0 -200
- data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
- data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
- data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
- data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
- data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
- data/vendor/assets/bower_components/jquery/src/wrap.js +0 -78
@@ -7,13 +7,14 @@
|
|
7
7
|
//
|
8
8
|
//## Gray and brand colors for use across Bootstrap.
|
9
9
|
|
10
|
-
@gray-
|
11
|
-
@gray-
|
12
|
-
@gray:
|
13
|
-
@gray
|
14
|
-
@gray-
|
15
|
-
|
16
|
-
|
10
|
+
@gray-base: #000;
|
11
|
+
@gray-darker: lighten(@gray-base, 13.5%); // #222
|
12
|
+
@gray-dark: lighten(@gray-base, 20%); // #333
|
13
|
+
@gray: lighten(@gray-base, 33.5%); // #555
|
14
|
+
@gray-light: lighten(@gray-base, 46.7%); // #777
|
15
|
+
@gray-lighter: lighten(@gray-base, 93.5%); // #eee
|
16
|
+
|
17
|
+
@brand-primary: darken(#428bca, 6.5%); // #337ab7
|
17
18
|
@brand-success: #5cb85c;
|
18
19
|
@brand-info: #5bc0de;
|
19
20
|
@brand-warning: #f0ad4e;
|
@@ -33,6 +34,8 @@
|
|
33
34
|
@link-color: @brand-primary;
|
34
35
|
//** Link hover color set via `darken()` function.
|
35
36
|
@link-hover-color: darken(@link-color, 15%);
|
37
|
+
//** Link hover decoration.
|
38
|
+
@link-hover-decoration: underline;
|
36
39
|
|
37
40
|
|
38
41
|
//== Typography
|
@@ -96,7 +99,7 @@
|
|
96
99
|
@padding-xs-vertical: 1px;
|
97
100
|
@padding-xs-horizontal: 5px;
|
98
101
|
|
99
|
-
@line-height-large: 1.
|
102
|
+
@line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome
|
100
103
|
@line-height-small: 1.5;
|
101
104
|
|
102
105
|
@border-radius-base: 4px;
|
@@ -108,7 +111,7 @@
|
|
108
111
|
//** Global background color for active items (e.g., navs or dropdowns).
|
109
112
|
@component-active-bg: @brand-primary;
|
110
113
|
|
111
|
-
//** Width of the `border` for generating carets that
|
114
|
+
//** Width of the `border` for generating carets that indicate dropdowns.
|
112
115
|
@caret-width-base: 4px;
|
113
116
|
//** Carets increase slightly in size for larger components.
|
114
117
|
@caret-width-large: 5px;
|
@@ -167,6 +170,11 @@
|
|
167
170
|
|
168
171
|
@btn-link-disabled-color: @gray-light;
|
169
172
|
|
173
|
+
// Allows for customizing button radius independently from global border radius
|
174
|
+
@btn-border-radius-base: @border-radius-base;
|
175
|
+
@btn-border-radius-large: @border-radius-large;
|
176
|
+
@btn-border-radius-small: @border-radius-small;
|
177
|
+
|
170
178
|
|
171
179
|
//== Forms
|
172
180
|
//
|
@@ -181,13 +189,21 @@
|
|
181
189
|
@input-color: @gray;
|
182
190
|
//** `<input>` border color
|
183
191
|
@input-border: #ccc;
|
184
|
-
|
192
|
+
|
193
|
+
// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
|
194
|
+
//** Default `.form-control` border radius
|
195
|
+
// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
|
185
196
|
@input-border-radius: @border-radius-base;
|
197
|
+
//** Large `.form-control` border radius
|
198
|
+
@input-border-radius-large: @border-radius-large;
|
199
|
+
//** Small `.form-control` border radius
|
200
|
+
@input-border-radius-small: @border-radius-small;
|
201
|
+
|
186
202
|
//** Border color for inputs on focus
|
187
203
|
@input-border-focus: #66afe9;
|
188
204
|
|
189
205
|
//** Placeholder text color
|
190
|
-
@input-color-placeholder:
|
206
|
+
@input-color-placeholder: #999;
|
191
207
|
|
192
208
|
//** Default `.form-control` height
|
193
209
|
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
|
@@ -196,6 +212,9 @@
|
|
196
212
|
//** Small `.form-control` height
|
197
213
|
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
|
198
214
|
|
215
|
+
//** `.form-group` margin
|
216
|
+
@form-group-margin-bottom: 15px;
|
217
|
+
|
199
218
|
@legend-color: @gray-dark;
|
200
219
|
@legend-border-color: #e5e5e5;
|
201
220
|
|
@@ -204,6 +223,9 @@
|
|
204
223
|
//** Border color for textual input addons
|
205
224
|
@input-group-addon-border-color: @input-border;
|
206
225
|
|
226
|
+
//** Disabled cursor for form controls and buttons.
|
227
|
+
@cursor-disabled: not-allowed;
|
228
|
+
|
207
229
|
|
208
230
|
//== Dropdowns
|
209
231
|
//
|
@@ -315,17 +337,17 @@
|
|
315
337
|
//## Define the maximum width of `.container` for different screen sizes.
|
316
338
|
|
317
339
|
// Small screen / tablet
|
318
|
-
@container-tablet: (
|
340
|
+
@container-tablet: (720px + @grid-gutter-width);
|
319
341
|
//** For `@screen-sm-min` and up.
|
320
342
|
@container-sm: @container-tablet;
|
321
343
|
|
322
344
|
// Medium screen / desktop
|
323
|
-
@container-desktop: (
|
345
|
+
@container-desktop: (940px + @grid-gutter-width);
|
324
346
|
//** For `@screen-md-min` and up.
|
325
347
|
@container-md: @container-desktop;
|
326
348
|
|
327
349
|
// Large screen / wide desktop
|
328
|
-
@container-large-desktop: (
|
350
|
+
@container-large-desktop: (1140px + @grid-gutter-width);
|
329
351
|
//** For `@screen-lg-min` and up.
|
330
352
|
@container-lg: @container-large-desktop;
|
331
353
|
|
@@ -366,14 +388,14 @@
|
|
366
388
|
@navbar-default-toggle-border-color: #ddd;
|
367
389
|
|
368
390
|
|
369
|
-
|
391
|
+
//=== Inverted navbar
|
370
392
|
// Reset inverted navbar basics
|
371
|
-
@navbar-inverse-color: @gray-light;
|
393
|
+
@navbar-inverse-color: lighten(@gray-light, 15%);
|
372
394
|
@navbar-inverse-bg: #222;
|
373
395
|
@navbar-inverse-border: darken(@navbar-inverse-bg, 10%);
|
374
396
|
|
375
397
|
// Inverted navbar links
|
376
|
-
@navbar-inverse-link-color: @gray-light;
|
398
|
+
@navbar-inverse-link-color: lighten(@gray-light, 15%);
|
377
399
|
@navbar-inverse-link-hover-color: #fff;
|
378
400
|
@navbar-inverse-link-hover-bg: transparent;
|
379
401
|
@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color;
|
@@ -403,8 +425,6 @@
|
|
403
425
|
@nav-disabled-link-color: @gray-light;
|
404
426
|
@nav-disabled-link-hover-color: @gray-light;
|
405
427
|
|
406
|
-
@nav-open-link-hover-color: #fff;
|
407
|
-
|
408
428
|
//== Tabs
|
409
429
|
@nav-tabs-border-color: #ddd;
|
410
430
|
|
@@ -469,6 +489,7 @@
|
|
469
489
|
@jumbotron-bg: @gray-lighter;
|
470
490
|
@jumbotron-heading-color: inherit;
|
471
491
|
@jumbotron-font-size: ceil((@font-size-base * 1.5));
|
492
|
+
@jumbotron-heading-font-size: ceil((@font-size-base * 4.5));
|
472
493
|
|
473
494
|
|
474
495
|
//== Form states and alerts
|
@@ -529,7 +550,7 @@
|
|
529
550
|
//** Popover arrow width
|
530
551
|
@popover-arrow-width: 10px;
|
531
552
|
//** Popover arrow color
|
532
|
-
@popover-arrow-color:
|
553
|
+
@popover-arrow-color: @popover-bg;
|
533
554
|
|
534
555
|
//** Popover outer arrow width
|
535
556
|
@popover-arrow-outer-width: (@popover-arrow-width + 1);
|
@@ -628,6 +649,8 @@
|
|
628
649
|
@progress-bg: #f5f5f5;
|
629
650
|
//** Progress bar text color
|
630
651
|
@progress-bar-color: #fff;
|
652
|
+
//** Variable for setting rounded corners on progress bar.
|
653
|
+
@progress-border-radius: @border-radius-base;
|
631
654
|
|
632
655
|
//** Default progress bar color
|
633
656
|
@progress-bar-bg: @brand-primary;
|
@@ -840,7 +863,7 @@
|
|
840
863
|
@page-header-border-color: @gray-lighter;
|
841
864
|
//** Width of horizontal description list titles
|
842
865
|
@dl-horizontal-offset: @component-offset-horizontal;
|
866
|
+
//** Point at which .dl-horizontal becomes horizontal
|
867
|
+
@dl-horizontal-breakpoint: @grid-float-breakpoint;
|
843
868
|
//** Horizontal line color.
|
844
869
|
@hr-border: @gray-lighter;
|
845
|
-
|
846
|
-
|
@@ -0,0 +1,8 @@
|
|
1
|
+
$nuget = $env:NuGet
|
2
|
+
|
3
|
+
# parse the version number out of package.json
|
4
|
+
$bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version
|
5
|
+
|
6
|
+
# create packages
|
7
|
+
& $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
|
8
|
+
& $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
3
|
+
<metadata>
|
4
|
+
<id>bootstrap.less</id>
|
5
|
+
<version>3.3.7</version>
|
6
|
+
<title>Bootstrap Less</title>
|
7
|
+
<authors>Twitter, Inc.</authors>
|
8
|
+
<owners>bootstrap</owners>
|
9
|
+
<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
|
10
|
+
<releaseNotes>http://blog.getbootstrap.com</releaseNotes>
|
11
|
+
<summary>Bootstrap framework in Less. Includes fonts and JavaScript</summary>
|
12
|
+
<language>en-us</language>
|
13
|
+
<projectUrl>http://getbootstrap.com</projectUrl>
|
14
|
+
<iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl>
|
15
|
+
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
|
16
|
+
<copyright>Copyright 2016</copyright>
|
17
|
+
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
18
|
+
<dependencies>
|
19
|
+
<dependency id="jQuery" version="[1.9.1,4)" />
|
20
|
+
</dependencies>
|
21
|
+
<tags>css js less mobile-first responsive front-end framework web</tags>
|
22
|
+
</metadata>
|
23
|
+
<files>
|
24
|
+
<file src="less\**\*.less" target="content\Content\bootstrap" />
|
25
|
+
<file src="fonts\*.*" target="content\Content\fonts" />
|
26
|
+
<file src="dist\js\bootstrap*.js" target="content\Scripts" />
|
27
|
+
</files>
|
28
|
+
</package>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
3
|
+
<metadata>
|
4
|
+
<id>bootstrap</id>
|
5
|
+
<version>3.3.7</version>
|
6
|
+
<title>Bootstrap CSS</title>
|
7
|
+
<authors>Twitter, Inc.</authors>
|
8
|
+
<owners>bootstrap</owners>
|
9
|
+
<description>The most popular front-end framework for developing responsive, mobile first projects on the web.</description>
|
10
|
+
<releaseNotes>http://blog.getbootstrap.com</releaseNotes>
|
11
|
+
<summary>Bootstrap framework in CSS. Includes fonts and JavaScript</summary>
|
12
|
+
<language>en-us</language>
|
13
|
+
<projectUrl>http://getbootstrap.com</projectUrl>
|
14
|
+
<iconUrl>http://getbootstrap.com/apple-touch-icon.png</iconUrl>
|
15
|
+
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
|
16
|
+
<copyright>Copyright 2016</copyright>
|
17
|
+
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
18
|
+
<dependencies>
|
19
|
+
<dependency id="jQuery" version="[1.9.1,4)" />
|
20
|
+
</dependencies>
|
21
|
+
<tags>css js less mobile-first responsive front-end framework web</tags>
|
22
|
+
</metadata>
|
23
|
+
<files>
|
24
|
+
<file src="dist\css\*.*" target="content\Content" />
|
25
|
+
<file src="dist\fonts\*.*" target="content\fonts" />
|
26
|
+
<file src="dist\js\bootstrap*.js" target="content\Scripts" />
|
27
|
+
</files>
|
28
|
+
</package>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
// package metadata file for Meteor.js
|
2
|
+
|
3
|
+
/* jshint strict:false */
|
4
|
+
/* global Package:true */
|
5
|
+
|
6
|
+
Package.describe({
|
7
|
+
name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap
|
8
|
+
summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
|
9
|
+
version: '3.3.7',
|
10
|
+
git: 'https://github.com/twbs/bootstrap.git'
|
11
|
+
});
|
12
|
+
|
13
|
+
Package.onUse(function (api) {
|
14
|
+
api.versionsFrom('METEOR@1.0');
|
15
|
+
api.use('jquery', 'client');
|
16
|
+
var assets = [
|
17
|
+
'dist/fonts/glyphicons-halflings-regular.eot',
|
18
|
+
'dist/fonts/glyphicons-halflings-regular.svg',
|
19
|
+
'dist/fonts/glyphicons-halflings-regular.ttf',
|
20
|
+
'dist/fonts/glyphicons-halflings-regular.woff',
|
21
|
+
'dist/fonts/glyphicons-halflings-regular.woff2'
|
22
|
+
];
|
23
|
+
if (api.addAssets) {
|
24
|
+
api.addAssets(assets, 'client');
|
25
|
+
} else {
|
26
|
+
api.addFiles(assets, 'client', { isAsset: true });
|
27
|
+
}
|
28
|
+
api.addFiles([
|
29
|
+
'dist/css/bootstrap.css',
|
30
|
+
'dist/js/bootstrap.js'
|
31
|
+
], 'client');
|
32
|
+
});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "bootstrap",
|
3
3
|
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
|
4
|
-
"version": "3.
|
4
|
+
"version": "3.3.7",
|
5
5
|
"keywords": [
|
6
6
|
"css",
|
7
7
|
"less",
|
@@ -14,10 +14,13 @@
|
|
14
14
|
"homepage": "http://getbootstrap.com",
|
15
15
|
"author": "Twitter, Inc.",
|
16
16
|
"scripts": {
|
17
|
+
"change-version": "node grunt/change-version.js",
|
18
|
+
"update-shrinkwrap": "npm shrinkwrap --dev && shx mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json",
|
17
19
|
"test": "grunt test"
|
18
20
|
},
|
19
21
|
"style": "dist/css/bootstrap.css",
|
20
22
|
"less": "less/bootstrap.less",
|
23
|
+
"main": "./dist/js/npm",
|
21
24
|
"repository": {
|
22
25
|
"type": "git",
|
23
26
|
"url": "https://github.com/twbs/bootstrap.git"
|
@@ -25,57 +28,62 @@
|
|
25
28
|
"bugs": {
|
26
29
|
"url": "https://github.com/twbs/bootstrap/issues"
|
27
30
|
},
|
28
|
-
"license":
|
29
|
-
"type": "MIT",
|
30
|
-
"url": "https://github.com/twbs/bootstrap/blob/master/LICENSE"
|
31
|
-
},
|
31
|
+
"license": "MIT",
|
32
32
|
"devDependencies": {
|
33
33
|
"btoa": "~1.1.2",
|
34
|
-
"glob": "~
|
35
|
-
"grunt": "~0.
|
36
|
-
"grunt-autoprefixer": "~0.
|
37
|
-
"grunt-
|
38
|
-
"grunt-contrib-
|
39
|
-
"grunt-contrib-concat": "~0.
|
40
|
-
"grunt-contrib-connect": "~0.
|
41
|
-
"grunt-contrib-copy": "~0.
|
42
|
-
"grunt-contrib-csslint": "~0.
|
43
|
-
"grunt-contrib-cssmin": "~0.
|
44
|
-
"grunt-contrib-
|
45
|
-
"grunt-contrib-jshint": "~0.
|
46
|
-
"grunt-contrib-less": "~
|
47
|
-
"grunt-contrib-
|
48
|
-
"grunt-contrib-
|
49
|
-
"grunt-contrib-
|
50
|
-
"grunt-
|
51
|
-
"grunt-
|
52
|
-
"grunt-
|
53
|
-
"grunt-
|
54
|
-
"grunt-
|
55
|
-
"grunt-
|
56
|
-
"grunt-
|
57
|
-
"load-grunt-tasks": "~
|
58
|
-
"markdown": "
|
59
|
-
"
|
60
|
-
"
|
34
|
+
"glob": "~7.0.3",
|
35
|
+
"grunt": "~1.0.1",
|
36
|
+
"grunt-autoprefixer": "~3.0.4",
|
37
|
+
"grunt-contrib-clean": "~1.0.0",
|
38
|
+
"grunt-contrib-compress": "~1.3.0",
|
39
|
+
"grunt-contrib-concat": "~1.0.0",
|
40
|
+
"grunt-contrib-connect": "~1.0.0",
|
41
|
+
"grunt-contrib-copy": "~1.0.0",
|
42
|
+
"grunt-contrib-csslint": "~1.0.0",
|
43
|
+
"grunt-contrib-cssmin": "~1.0.0",
|
44
|
+
"grunt-contrib-htmlmin": "~1.5.0",
|
45
|
+
"grunt-contrib-jshint": "~1.0.0",
|
46
|
+
"grunt-contrib-less": "~1.3.0",
|
47
|
+
"grunt-contrib-pug": "~1.0.0",
|
48
|
+
"grunt-contrib-qunit": "~0.7.0",
|
49
|
+
"grunt-contrib-uglify": "~1.0.0",
|
50
|
+
"grunt-contrib-watch": "~1.0.0",
|
51
|
+
"grunt-csscomb": "~3.1.0",
|
52
|
+
"grunt-exec": "~1.0.0",
|
53
|
+
"grunt-html": "~8.0.1",
|
54
|
+
"grunt-jekyll": "~0.4.4",
|
55
|
+
"grunt-jscs": "~3.0.1",
|
56
|
+
"grunt-saucelabs": "~9.0.0",
|
57
|
+
"load-grunt-tasks": "~3.5.0",
|
58
|
+
"markdown-it": "^7.0.0",
|
59
|
+
"shelljs": "^0.7.0",
|
60
|
+
"shx": "^0.1.2",
|
61
|
+
"time-grunt": "^1.3.0"
|
61
62
|
},
|
62
63
|
"engines": {
|
63
|
-
"node": "
|
64
|
+
"node": ">=0.10.1"
|
64
65
|
},
|
66
|
+
"files": [
|
67
|
+
"dist",
|
68
|
+
"fonts",
|
69
|
+
"grunt",
|
70
|
+
"js/*.js",
|
71
|
+
"less/**/*.less",
|
72
|
+
"Gruntfile.js",
|
73
|
+
"LICENSE"
|
74
|
+
],
|
65
75
|
"jspm": {
|
66
76
|
"main": "js/bootstrap",
|
67
|
-
"directories": {
|
68
|
-
"example": "examples",
|
69
|
-
"lib": "dist"
|
70
|
-
},
|
71
77
|
"shim": {
|
72
78
|
"js/bootstrap": {
|
73
|
-
"
|
79
|
+
"deps": "jquery",
|
74
80
|
"exports": "$"
|
75
81
|
}
|
76
82
|
},
|
77
|
-
"
|
78
|
-
"
|
79
|
-
|
83
|
+
"files": [
|
84
|
+
"css",
|
85
|
+
"fonts",
|
86
|
+
"js"
|
87
|
+
]
|
80
88
|
}
|
81
89
|
}
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# Flow.js [![Build Status](https://travis-ci.org/flowjs/flow.js.svg)](https://travis-ci.org/flowjs/flow.js) [![Test Coverage](https://codeclimate.com/github/flowjs/flow.js/badges/coverage.svg)](https://codeclimate.com/github/flowjs/flow.js/coverage)
|
2
2
|
|
3
|
+
[![Saucelabs Test Status](https://saucelabs.com/browser-matrix/flowjs.svg)](https://saucelabs.com/u/flowjs)
|
3
4
|
|
4
5
|
Flow.js is a JavaScript library providing multiple simultaneous, stable and resumable uploads via the HTML5 File API.
|
5
6
|
|
@@ -9,7 +10,7 @@ Flow.js does not have any external dependencies other than the `HTML5 File API`.
|
|
9
10
|
|
10
11
|
Samples and examples are available in the `samples/` folder. Please push your own as Markdown to help document the project.
|
11
12
|
|
12
|
-
## Can
|
13
|
+
## Can I see a demo?
|
13
14
|
[Flow.js + angular.js file upload demo](http://flowjs.github.io/ng-flow/) - ng-flow extension page https://github.com/flowjs/ng-flow
|
14
15
|
|
15
16
|
JQuery and node.js backend demo https://github.com/flowjs/flow.js/tree/master/samples/Node.js
|
@@ -20,41 +21,41 @@ Download a latest build from https://github.com/flowjs/flow.js/releases
|
|
20
21
|
it contains development and minified production files in `dist/` folder.
|
21
22
|
|
22
23
|
or use bower:
|
23
|
-
|
24
|
-
|
25
|
-
|
24
|
+
```console
|
25
|
+
bower install flow.js#~2
|
26
|
+
```
|
26
27
|
or use git clone
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
```console
|
29
|
+
git clone https://github.com/flowjs/flow.js
|
30
|
+
```
|
30
31
|
## How can I use it?
|
31
32
|
|
32
33
|
A new `Flow` object is created with information of what and where to post:
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
34
|
+
```javascript
|
35
|
+
var flow = new Flow({
|
36
|
+
target:'/api/photo/redeem-upload-token',
|
37
|
+
query:{upload_token:'my_token'}
|
38
|
+
});
|
39
|
+
// Flow.js isn't supported, fall back on a different method
|
40
|
+
if(!flow.support) location.href = '/some-old-crappy-uploader';
|
41
|
+
```
|
41
42
|
To allow files to be either selected and drag-dropped, you'll assign drop target and a DOM item to be clicked for browsing:
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
```javascript
|
44
|
+
flow.assignBrowse(document.getElementById('browseButton'));
|
45
|
+
flow.assignDrop(document.getElementById('dropTarget'));
|
46
|
+
```
|
46
47
|
After this, interaction with Flow.js is done by listening to events:
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
48
|
+
```javascript
|
49
|
+
flow.on('fileAdded', function(file, event){
|
50
|
+
console.log(file, event);
|
51
|
+
});
|
52
|
+
flow.on('fileSuccess', function(file,message){
|
53
|
+
console.log(file,message);
|
54
|
+
});
|
55
|
+
flow.on('fileError', function(file, message){
|
56
|
+
console.log(file, message);
|
57
|
+
});
|
58
|
+
```
|
58
59
|
## How do I set it up with my server?
|
59
60
|
|
60
61
|
Most of the magic for Flow.js happens in the user's browser, but files still need to be reassembled from chunks on the server side. This should be a fairly simple task and can be achieved in any web framework or language, which is able to receive file uploads.
|
@@ -73,7 +74,7 @@ You should allow for the same chunk to be uploaded more than once; this isn't st
|
|
73
74
|
|
74
75
|
For every request, you can confirm reception in HTTP status codes (can be change through the `permanentErrors` option):
|
75
76
|
|
76
|
-
* `200`: The chunk was accepted and correct. No need to re-upload.
|
77
|
+
* `200`, `201`, `202`: The chunk was accepted and correct. No need to re-upload.
|
77
78
|
* `404`, `415`. `500`, `501`: The file for which the chunk was uploaded is not supported, cancel the entire upload.
|
78
79
|
* _Anything else_: Something went wrong, but try reuploading the file.
|
79
80
|
|
@@ -81,8 +82,9 @@ For every request, you can confirm reception in HTTP status codes (can be change
|
|
81
82
|
|
82
83
|
Enabling the `testChunks` option will allow uploads to be resumed after browser restarts and even across browsers (in theory you could even run the same file upload across multiple tabs or different browsers). The `POST` data requests listed are required to use Flow.js to receive data, but you can extend support by implementing a corresponding `GET` request with the same parameters:
|
83
84
|
|
84
|
-
* If this request returns a `200` HTTP code, the chunks is assumed to have been completed.
|
85
|
-
* If
|
85
|
+
* If this request returns a `200`, `201` or `202` HTTP code, the chunks is assumed to have been completed.
|
86
|
+
* If request returns a permanent error status, upload is stopped.
|
87
|
+
* If request returns anything else, the chunk will be uploaded in the standard fashion.
|
86
88
|
|
87
89
|
After this is done and `testChunks` enabled, an upload can quickly catch up even after a browser restart by simply verifying already uploaded chunks that do not need to be uploaded again.
|
88
90
|
|
@@ -92,9 +94,9 @@ After this is done and `testChunks` enabled, an upload can quickly catch up even
|
|
92
94
|
#### Configuration
|
93
95
|
|
94
96
|
The object is loaded with a configuration options:
|
95
|
-
|
96
|
-
|
97
|
-
|
97
|
+
```javascript
|
98
|
+
var r = new Flow({opt1:'val', ...});
|
99
|
+
```
|
98
100
|
Available configuration options are:
|
99
101
|
|
100
102
|
* `target` The target URL for the multipart POST request. This can be a string or a function. If a
|
@@ -112,11 +114,16 @@ function, it will be passed a FlowFile, a FlowChunk and isTest boolean (Default:
|
|
112
114
|
include cookies as part of the request, you need to set the `withCredentials` property to true.
|
113
115
|
(Default: `false`)
|
114
116
|
* `method` Method to use when POSTing chunks to the server (`multipart` or `octet`) (Default: `multipart`)
|
117
|
+
* `testMethod` HTTP method to use when chunks are being tested. If set to a function, it will be passed a FlowFile and a FlowChunk arguments. (Default: `GET`)
|
118
|
+
* `uploadMethod` HTTP method to use when chunks are being uploaded. If set to a function, it will be passed a FlowFile and a FlowChunk arguments. (Default: `POST`)
|
119
|
+
* `allowDuplicateUploads ` Once a file is uploaded, allow reupload of the same file. By default, if a file is already uploaded, it will be skipped unless the file is removed from the existing Flow object. (Default: `false`)
|
115
120
|
* `prioritizeFirstAndLastChunk` Prioritize first and last chunks of all files. This can be handy if you can determine if a file is valid for your service from only the first or last chunk. For example, photo or video meta data is usually located in the first part of a file, making it easy to test support from only the first chunk. (Default: `false`)
|
116
121
|
* `testChunks` Make a GET request to the server for each chunks to see if it already exists. If implemented on the server-side, this will allow for upload resumes even after a browser crash or even a computer restart. (Default: `true`)
|
117
|
-
* `preprocess` Optional function to process each chunk before testing & sending.
|
118
|
-
* `
|
119
|
-
* `
|
122
|
+
* `preprocess` Optional function to process each chunk before testing & sending. To the function it will be passed the chunk as parameter, and should call the `preprocessFinished` method on the chunk when finished. (Default: `null`)
|
123
|
+
* `initFileFn` Optional function to initialize the fileObject. To the function it will be passed a FlowFile and a FlowChunk arguments.
|
124
|
+
* `readFileFn` Optional function wrapping reading operation from the original file. To the function it will be passed the FlowFile, the startByte and endByte, the fileType and the FlowChunk.
|
125
|
+
* `generateUniqueIdentifier` Override the function that generates unique identifiers for each file. (Default: `null`)
|
126
|
+
* `maxChunkRetries` The maximum number of retries for a chunk before the upload is failed. Valid values are any positive integer and `undefined` for no limit. (Default: `0`)
|
120
127
|
* `chunkRetryInterval` The number of milliseconds to wait before retrying a chunk on a non-permanent error. Valid values are any positive integer and `undefined` for immediate retry. (Default: `undefined`)
|
121
128
|
* `progressCallbacksInterval` The time interval in milliseconds between progress reports. Set it
|
122
129
|
to 0 to handle each progress callback. (Default: `500`)
|
@@ -124,6 +131,9 @@ to 0 to handle each progress callback. (Default: `500`)
|
|
124
131
|
and average upload speed wil be equal to current upload speed. For longer file uploads it is
|
125
132
|
better set this number to 0.02, because time remaining estimation will be more accurate. This
|
126
133
|
parameter must be adjusted together with `progressCallbacksInterval` parameter. (Default 0.1)
|
134
|
+
* `successStatuses` Response is success if response status is in this list (Default: `[200,201,
|
135
|
+
202]`)
|
136
|
+
* `permanentErrors` Response fails if response status is in this list (Default: `[404, 415, 500, 501]`)
|
127
137
|
|
128
138
|
|
129
139
|
#### Properties
|
@@ -141,10 +151,11 @@ parameter must be adjusted together with `progressCallbacksInterval` parameter.
|
|
141
151
|
* `singleFile` To prevent multiple file uploads set this to true. Also look at config parameter `singleFile`.
|
142
152
|
* `attributes` Pass object of keys and values to set custom attributes on input fields.
|
143
153
|
For example, you can set `accept` attribute to `image/*`. This means that user will be able to select only images.
|
144
|
-
Full list of attributes:
|
154
|
+
Full list of attributes: https://www.w3.org/wiki/HTML/Elements/input/file
|
145
155
|
|
146
156
|
Note: avoid using `a` and `button` tags as file upload buttons, use span instead.
|
147
157
|
* `.assignDrop(domNodes)` Assign one or more DOM nodes as a drop target.
|
158
|
+
* `.unAssignDrop(domNodes)` Unassign one or more DOM nodes as a drop target.
|
148
159
|
* `.on(event, callback)` Listen for event from Flow.js (see below)
|
149
160
|
* `.off([event, [callback]])`:
|
150
161
|
* `.off()` All events are removed.
|
@@ -165,21 +176,25 @@ parameter must be adjusted together with `progressCallbacksInterval` parameter.
|
|
165
176
|
|
166
177
|
#### Events
|
167
178
|
|
168
|
-
* `.fileSuccess(file, message)` A specific file was completed. First argument `file` is instance of `FlowFile`, second argument `message` contains server response. Response is always a string.
|
169
|
-
|
179
|
+
* `.fileSuccess(file, message, chunk)` A specific file was completed. First argument `file` is instance of `FlowFile`, second argument `message` contains server response. Response is always a string.
|
180
|
+
Third argument `chunk` is instance of `FlowChunk`. You can get response status by accessing xhr
|
181
|
+
object `chunk.xhr.status`.
|
182
|
+
* `.fileProgress(file, chunk)` Uploading progressed for a specific file.
|
170
183
|
* `.fileAdded(file, event)` This event is used for file validation. To reject this file return false.
|
171
184
|
This event is also called before file is added to upload queue,
|
172
185
|
this means that calling `flow.upload()` function will not start current file upload.
|
173
186
|
Optionally, you can use the browser `event` object from when the file was
|
174
187
|
added.
|
175
188
|
* `.filesAdded(array, event)` Same as fileAdded, but used for multiple file validation.
|
176
|
-
* `.filesSubmitted(array, event)` Can be used to start upload of currently added files.
|
177
|
-
* `.
|
178
|
-
* `.
|
189
|
+
* `.filesSubmitted(array, event)` Same as filesAdded, but happens after the file is added to upload queue. Can be used to start upload of currently added files.
|
190
|
+
* `.fileRemoved(file)` The specific file was removed from the upload queue. Combined with filesSubmitted, can be used to notify UI to update its state to match the upload queue.
|
191
|
+
* `.fileRetry(file, chunk)` Something went wrong during upload of a specific file, uploading is being
|
192
|
+
retried.
|
193
|
+
* `.fileError(file, message, chunk)` An error occurred during upload of a specific file.
|
179
194
|
* `.uploadStart()` Upload has been started on the Flow object.
|
180
195
|
* `.complete()` Uploading completed.
|
181
196
|
* `.progress()` Uploading progress.
|
182
|
-
* `.error(message, file)` An error, including fileError, occurred.
|
197
|
+
* `.error(message, file, chunk)` An error, including fileError, occurred.
|
183
198
|
* `.catchAll(event, ...)` Listen to all the events listed above with the same callback function.
|
184
199
|
|
185
200
|
### FlowFile
|
@@ -219,33 +234,33 @@ To ensure consistency throughout the source code, keep these rules in mind as yo
|
|
219
234
|
|
220
235
|
* All features or bug fixes must be tested by one or more specs.
|
221
236
|
|
222
|
-
* We follow the rules contained in [Google's JavaScript Style Guide](
|
237
|
+
* We follow the rules contained in [Google's JavaScript Style Guide](https://google.github.io/styleguide/jsguide.html) with an exception we wrap all code at 100 characters.
|
223
238
|
|
224
239
|
|
225
240
|
## Installation Dependencies
|
226
241
|
1. To clone your Github repository, run:
|
227
|
-
|
228
|
-
|
229
|
-
|
242
|
+
```console
|
243
|
+
git clone git@github.com:<github username>/flow.js.git
|
244
|
+
```
|
230
245
|
2. To go to the Flow.js directory, run:
|
231
|
-
|
232
|
-
|
233
|
-
|
246
|
+
```console
|
247
|
+
cd flow.js
|
248
|
+
```
|
234
249
|
3. To add node.js dependencies
|
235
|
-
|
236
|
-
|
237
|
-
|
250
|
+
```console
|
251
|
+
npm install
|
252
|
+
```
|
238
253
|
## Testing
|
239
254
|
|
240
255
|
Our unit and integration tests are written with Jasmine and executed with Karma. To run all of the
|
241
256
|
tests on Chrome run:
|
242
|
-
|
243
|
-
|
244
|
-
|
257
|
+
```console
|
258
|
+
grunt karma:watch
|
259
|
+
```
|
245
260
|
Or choose other browser
|
246
|
-
|
247
|
-
|
248
|
-
|
261
|
+
```console
|
262
|
+
grunt karma:watch --browsers=Firefox,Chrome
|
263
|
+
```
|
249
264
|
Browsers should be comma separated and case sensitive.
|
250
265
|
|
251
266
|
To re-run tests just change any source or test file.
|
@@ -257,7 +272,7 @@ Automated tests is running after every commit at travis-ci.
|
|
257
272
|
1. Connect to sauce labs https://saucelabs.com/docs/connect
|
258
273
|
2. `grunt test --sauce-local=true --sauce-username=**** --sauce-access-key=***`
|
259
274
|
|
260
|
-
other browsers can be used with `--browsers` flag, available browsers: sl_opera,sl_iphone,sl_safari,sl_ie10,
|
275
|
+
other browsers can be used with `--browsers` flag, available browsers: sl_opera,sl_iphone,sl_safari,sl_ie10,sl_chrome,sl_firefox
|
261
276
|
|
262
277
|
## Origin
|
263
278
|
Flow.js was inspired by and evolved from https://github.com/23/resumable.js. Library has been supplemented with tests and features, such as drag and drop for folders, upload speed, time remaining estimation, separate files pause, resume and more.
|