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
@@ -1,2 +1,2 @@
|
|
1
|
-
/*! ng-flow 2.
|
2
|
-
!function(a,b,c){"use strict";function d(b){if(this.support=!("undefined"==typeof File||"undefined"==typeof Blob||"undefined"==typeof FileList||!Blob.prototype.slice&&!Blob.prototype.webkitSlice&&!Blob.prototype.mozSlice),this.support){this.supportDirectory=/WebKit/.test(a.navigator.userAgent),this.files=[],this.defaults={chunkSize:1048576,forceChunkSize:!1,simultaneousUploads:3,singleFile:!1,fileParameterName:"file",progressCallbacksInterval:500,speedSmoothingFactor:.1,query:{},headers:{},withCredentials:!1,preprocess:null,method:"multipart",prioritizeFirstAndLastChunk:!1,target:"/",testChunks:!0,generateUniqueIdentifier:null,maxChunkRetries:0,chunkRetryInterval:null,permanentErrors:[404,415,500,501],onDropStopPropagation:!1},this.opts={},this.events={};var c=this;this.onDrop=function(a){c.opts.onDropStopPropagation&&a.stopPropagation(),a.preventDefault();var b=a.dataTransfer;b.items&&b.items[0]&&b.items[0].webkitGetAsEntry?c.webkitReadDataTransfer(a):c.addFiles(b.files,a)},this.preventEvent=function(a){a.preventDefault()},this.opts=d.extend({},this.defaults,b||{})}}function e(a,b){this.flowObj=a,this.file=b,this.name=b.fileName||b.name,this.size=b.size,this.relativePath=b.relativePath||b.webkitRelativePath||this.name,this.uniqueIdentifier=a.generateUniqueIdentifier(b),this.chunks=[],this.paused=!1,this.error=!1,this.averageSpeed=0,this.currentSpeed=0,this._lastProgressCallback=Date.now(),this._prevUploadedSize=0,this._prevProgress=0,this.bootstrap()}function f(a,b,c){this.flowObj=a,this.fileObj=b,this.fileObjSize=b.size,this.offset=c,this.tested=!1,this.retries=0,this.pendingRetry=!1,this.preprocessState=0,this.loaded=0,this.total=0;var d=this.flowObj.opts.chunkSize;this.startByte=this.offset*d,this.endByte=Math.min(this.fileObjSize,(this.offset+1)*d),this.xhr=null,this.fileObjSize-this.endByte<d&&!this.flowObj.opts.forceChunkSize&&(this.endByte=this.fileObjSize);var e=this;this.progressHandler=function(a){a.lengthComputable&&(e.loaded=a.loaded,e.total=a.total),e.fileObj.chunkEvent("progress")},this.testHandler=function(){var a=e.status();"success"===a?(e.tested=!0,e.fileObj.chunkEvent(a,e.message()),e.flowObj.uploadNextChunk()):e.fileObj.paused||(e.tested=!0,e.send())},this.doneHandler=function(){var a=e.status();if("success"===a||"error"===a)e.fileObj.chunkEvent(a,e.message()),e.flowObj.uploadNextChunk();else{e.fileObj.chunkEvent("retry",e.message()),e.pendingRetry=!0,e.abort(),e.retries++;var b=e.flowObj.opts.chunkRetryInterval;null!==b?setTimeout(function(){e.send()},b):e.send()}}}function g(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}function h(a,b){return"function"==typeof a&&(b=Array.prototype.slice.call(arguments),a=a.apply(null,b.slice(1))),a}function i(a,b){setTimeout(a.bind(b),0)}function j(a){return k(arguments,function(b){b!==a&&k(b,function(b,c){a[c]=b})}),a}function k(a,b,c){if(a){var d;if("undefined"!=typeof a.length){for(d=0;d<a.length;d++)if(b.call(c,a[d],d)===!1)return}else for(d in a)if(a.hasOwnProperty(d)&&b.call(c,a[d],d)===!1)return}}d.prototype={on:function(a,b){a=a.toLowerCase(),this.events.hasOwnProperty(a)||(this.events[a]=[]),this.events[a].push(b)},off:function(a,b){a!==c?(a=a.toLowerCase(),b!==c?this.events.hasOwnProperty(a)&&g(this.events[a],b):delete this.events[a]):this.events={}},fire:function(a,b){b=Array.prototype.slice.call(arguments),a=a.toLowerCase();var c=!1;return this.events.hasOwnProperty(a)&&k(this.events[a],function(a){c=a.apply(this,b.slice(1))===!1||c}),"catchall"!=a&&(b.unshift("catchAll"),c=this.fire.apply(this,b)===!1||c),!c},webkitReadDataTransfer:function(a){function b(a){g+=a.length,k(a,function(a){if(a.isFile){var e=a.fullPath;a.file(function(a){c(a,e)},d)}else a.isDirectory&&a.createReader().readEntries(b,d)}),e()}function c(a,b){a.relativePath=b.substring(1),h.push(a),e()}function d(a){throw a}function e(){0==--g&&f.addFiles(h,a)}var f=this,g=a.dataTransfer.items.length,h=[];k(a.dataTransfer.items,function(a){var f=a.webkitGetAsEntry();return f?void(f.isFile?c(a.getAsFile(),f.fullPath):f.createReader().readEntries(b,d)):void e()})},generateUniqueIdentifier:function(a){var b=this.opts.generateUniqueIdentifier;if("function"==typeof b)return b(a);var c=a.relativePath||a.webkitRelativePath||a.fileName||a.name;return a.size+"-"+c.replace(/[^0-9a-zA-Z_-]/gim,"")},uploadNextChunk:function(a){var b=!1;if(this.opts.prioritizeFirstAndLastChunk&&(k(this.files,function(a){return!a.paused&&a.chunks.length&&"pending"===a.chunks[0].status()&&0===a.chunks[0].preprocessState?(a.chunks[0].send(),b=!0,!1):!a.paused&&a.chunks.length>1&&"pending"===a.chunks[a.chunks.length-1].status()&&0===a.chunks[0].preprocessState?(a.chunks[a.chunks.length-1].send(),b=!0,!1):void 0}),b))return b;if(k(this.files,function(a){return a.paused||k(a.chunks,function(a){return"pending"===a.status()&&0===a.preprocessState?(a.send(),b=!0,!1):void 0}),b?!1:void 0}),b)return!0;var c=!1;return k(this.files,function(a){return a.isComplete()?void 0:(c=!0,!1)}),c||a||i(function(){this.fire("complete")},this),!1},assignBrowse:function(a,c,d,e){"undefined"==typeof a.length&&(a=[a]),k(a,function(a){var f;"INPUT"===a.tagName&&"file"===a.type?f=a:(f=b.createElement("input"),f.setAttribute("type","file"),j(f.style,{visibility:"hidden",position:"absolute"}),a.appendChild(f),a.addEventListener("click",function(){f.click()},!1)),this.opts.singleFile||d||f.setAttribute("multiple","multiple"),c&&f.setAttribute("webkitdirectory","webkitdirectory"),k(e,function(a,b){f.setAttribute(b,a)});var g=this;f.addEventListener("change",function(a){g.addFiles(a.target.files,a),a.target.value=""},!1)},this)},assignDrop:function(a){"undefined"==typeof a.length&&(a=[a]),k(a,function(a){a.addEventListener("dragover",this.preventEvent,!1),a.addEventListener("dragenter",this.preventEvent,!1),a.addEventListener("drop",this.onDrop,!1)},this)},unAssignDrop:function(a){"undefined"==typeof a.length&&(a=[a]),k(a,function(a){a.removeEventListener("dragover",this.preventEvent),a.removeEventListener("dragenter",this.preventEvent),a.removeEventListener("drop",this.onDrop)},this)},isUploading:function(){var a=!1;return k(this.files,function(b){return b.isUploading()?(a=!0,!1):void 0}),a},_shouldUploadNext:function(){var a=0,b=!0,c=this.opts.simultaneousUploads;return k(this.files,function(d){k(d.chunks,function(d){return"uploading"===d.status()&&(a++,a>=c)?(b=!1,!1):void 0})}),b&&a},upload:function(){var a=this._shouldUploadNext();if(a!==!1){this.fire("uploadStart");for(var b=!1,c=1;c<=this.opts.simultaneousUploads-a;c++)b=this.uploadNextChunk(!0)||b;b||i(function(){this.fire("complete")},this)}},resume:function(){k(this.files,function(a){a.resume()})},pause:function(){k(this.files,function(a){a.pause()})},cancel:function(){for(var a=this.files.length-1;a>=0;a--)this.files[a].cancel()},progress:function(){var a=0,b=0;return k(this.files,function(c){a+=c.progress()*c.size,b+=c.size}),b>0?a/b:0},addFile:function(a,b){this.addFiles([a],b)},addFiles:function(a,b){var c=[];k(a,function(a){if((a.size%4096!==0||"."!==a.name&&"."!==a.fileName)&&!this.getFromUniqueIdentifier(this.generateUniqueIdentifier(a))){var d=new e(this,a);this.fire("fileAdded",d,b)&&c.push(d)}},this),this.fire("filesAdded",c,b)&&k(c,function(a){this.opts.singleFile&&this.files.length>0&&this.removeFile(this.files[0]),this.files.push(a)},this),this.fire("filesSubmitted",c,b)},removeFile:function(a){for(var b=this.files.length-1;b>=0;b--)this.files[b]===a&&(this.files.splice(b,1),a.abort())},getFromUniqueIdentifier:function(a){var b=!1;return k(this.files,function(c){c.uniqueIdentifier===a&&(b=c)}),b},getSize:function(){var a=0;return k(this.files,function(b){a+=b.size}),a},sizeUploaded:function(){var a=0;return k(this.files,function(b){a+=b.sizeUploaded()}),a},timeRemaining:function(){var a=0,b=0;return k(this.files,function(c){c.paused||c.error||(a+=c.size-c.sizeUploaded(),b+=c.averageSpeed)}),a&&!b?Number.POSITIVE_INFINITY:a||b?Math.floor(a/b):0}},e.prototype={measureSpeed:function(){var a=Date.now()-this._lastProgressCallback;if(a){var b=this.flowObj.opts.speedSmoothingFactor,c=this.sizeUploaded();this.currentSpeed=Math.max((c-this._prevUploadedSize)/a*1e3,0),this.averageSpeed=b*this.currentSpeed+(1-b)*this.averageSpeed,this._prevUploadedSize=c}},chunkEvent:function(a,b){switch(a){case"progress":if(Date.now()-this._lastProgressCallback<this.flowObj.opts.progressCallbacksInterval)break;this.measureSpeed(),this.flowObj.fire("fileProgress",this),this.flowObj.fire("progress"),this._lastProgressCallback=Date.now();break;case"error":this.error=!0,this.abort(!0),this.flowObj.fire("fileError",this,b),this.flowObj.fire("error",b,this);break;case"success":if(this.error)return;this.measureSpeed(),this.flowObj.fire("fileProgress",this),this.flowObj.fire("progress"),this._lastProgressCallback=Date.now(),this.isComplete()&&(this.currentSpeed=0,this.averageSpeed=0,this.flowObj.fire("fileSuccess",this,b));break;case"retry":this.flowObj.fire("fileRetry",this)}},pause:function(){this.paused=!0,this.abort()},resume:function(){this.paused=!1,this.flowObj.upload()},abort:function(a){this.currentSpeed=0,this.averageSpeed=0;var b=this.chunks;a&&(this.chunks=[]),k(b,function(a){"uploading"===a.status()&&(a.abort(),this.flowObj.uploadNextChunk())},this)},cancel:function(){this.flowObj.removeFile(this)},retry:function(){this.bootstrap(),this.flowObj.upload()},bootstrap:function(){this.abort(!0),this.error=!1,this._prevProgress=0;for(var a=this.flowObj.opts.forceChunkSize?Math.ceil:Math.floor,b=Math.max(a(this.file.size/this.flowObj.opts.chunkSize),1),c=0;b>c;c++)this.chunks.push(new f(this.flowObj,this,c))},progress:function(){if(this.error)return 1;if(1===this.chunks.length)return this._prevProgress=Math.max(this._prevProgress,this.chunks[0].progress()),this._prevProgress;var a=0;k(this.chunks,function(b){a+=b.progress()*(b.endByte-b.startByte)});var b=a/this.size;return this._prevProgress=Math.max(this._prevProgress,b>.999?1:b),this._prevProgress},isUploading:function(){var a=!1;return k(this.chunks,function(b){return"uploading"===b.status()?(a=!0,!1):void 0}),a},isComplete:function(){var a=!1;return k(this.chunks,function(b){var c=b.status();return"pending"===c||"uploading"===c||1===b.preprocessState?(a=!0,!1):void 0}),!a},sizeUploaded:function(){var a=0;return k(this.chunks,function(b){a+=b.sizeUploaded()}),a},timeRemaining:function(){if(this.paused||this.error)return 0;var a=this.size-this.sizeUploaded();return a&&!this.averageSpeed?Number.POSITIVE_INFINITY:a||this.averageSpeed?Math.floor(a/this.averageSpeed):0},getType:function(){return this.file.type&&this.file.type.split("/")[1]},getExtension:function(){return this.name.substr((~-this.name.lastIndexOf(".")>>>0)+2).toLowerCase()}},f.prototype={getParams:function(){return{flowChunkNumber:this.offset+1,flowChunkSize:this.flowObj.opts.chunkSize,flowCurrentChunkSize:this.endByte-this.startByte,flowTotalSize:this.fileObjSize,flowIdentifier:this.fileObj.uniqueIdentifier,flowFilename:this.fileObj.name,flowRelativePath:this.fileObj.relativePath,flowTotalChunks:this.fileObj.chunks.length}},getTarget:function(a,b){return a+=a.indexOf("?")<0?"?":"&",a+b.join("&")},test:function(){this.xhr=new XMLHttpRequest,this.xhr.addEventListener("load",this.testHandler,!1),this.xhr.addEventListener("error",this.testHandler,!1);var a=this.prepareXhrRequest("GET",!0);this.xhr.send(a)},preprocessFinished:function(){this.preprocessState=2,this.send()},send:function(){var a=this.flowObj.opts.preprocess;if("function"==typeof a)switch(this.preprocessState){case 0:return this.preprocessState=1,void a(this);case 1:return}if(this.flowObj.opts.testChunks&&!this.tested)return void this.test();this.loaded=0,this.total=0,this.pendingRetry=!1;var b=this.fileObj.file.slice?"slice":this.fileObj.file.mozSlice?"mozSlice":this.fileObj.file.webkitSlice?"webkitSlice":"slice",c=this.fileObj.file[b](this.startByte,this.endByte,this.fileObj.file.type);this.xhr=new XMLHttpRequest,this.xhr.upload.addEventListener("progress",this.progressHandler,!1),this.xhr.addEventListener("load",this.doneHandler,!1),this.xhr.addEventListener("error",this.doneHandler,!1);var d=this.prepareXhrRequest("POST",!1,this.flowObj.opts.method,c);this.xhr.send(d)},abort:function(){var a=this.xhr;this.xhr=null,a&&a.abort()},status:function(){return this.pendingRetry||1===this.preprocessState?"uploading":this.xhr?this.xhr.readyState<4?"uploading":200==this.xhr.status?"success":this.flowObj.opts.permanentErrors.indexOf(this.xhr.status)>-1||this.retries>=this.flowObj.opts.maxChunkRetries?"error":(this.abort(),"pending"):"pending"},message:function(){return this.xhr?this.xhr.responseText:""},progress:function(){if(this.pendingRetry)return 0;var a=this.status();return"success"===a||"error"===a?1:"pending"===a?0:this.total>0?this.loaded/this.total:0},sizeUploaded:function(){var a=this.endByte-this.startByte;return"success"!==this.status()&&(a=this.progress()*a),a},prepareXhrRequest:function(a,b,c,d){var e=h(this.flowObj.opts.query,this.fileObj,this,b);e=j(this.getParams(),e);var f=h(this.flowObj.opts.target,this.fileObj,this,b),g=null;if("GET"===a||"octet"===c){var i=[];k(e,function(a,b){i.push([encodeURIComponent(b),encodeURIComponent(a)].join("="))}),f=this.getTarget(f,i),g=d||null}else g=new FormData,k(e,function(a,b){g.append(b,a)}),g.append(this.flowObj.opts.fileParameterName,d,this.fileObj.file.name);return this.xhr.open(a,f,!0),this.xhr.withCredentials=this.flowObj.opts.withCredentials,k(h(this.flowObj.opts.headers,this.fileObj,this,b),function(a,b){this.xhr.setRequestHeader(b,a)},this),g}},d.evalOpts=h,d.extend=j,d.each=k,d.FlowFile=e,d.FlowChunk=f,d.version="2.6.2","object"==typeof module&&module&&"object"==typeof module.exports?module.exports=d:(a.Flow=d,"function"==typeof define&&define.amd&&define("flow",[],function(){return d}))}(window,document),angular.module("flow.provider",[]).provider("flowFactory",function(){"use strict";this.defaults={},this.factory=function(a){return new Flow(a)},this.events=[],this.on=function(a,b){this.events.push([a,b])},this.$get=function(){var a=this.factory,b=this.defaults,c=this.events;return{create:function(d){var e=a(angular.extend({},b,d));return angular.forEach(c,function(a){e.on(a[0],a[1])}),e}}}}),angular.module("flow.init",["flow.provider"]).controller("flowCtrl",["$scope","$attrs","$parse","flowFactory",function(a,b,c,d){var e=angular.extend({},a.$eval(b.flowInit)),f=a.$eval(b.flowObject)||d.create(e);f.on("catchAll",function(b){var c=Array.prototype.slice.call(arguments);c.shift();var d=a.$broadcast.apply(a,["flow::"+b,f].concat(c));return{progress:1,filesSubmitted:1,fileSuccess:1,fileError:1,complete:1}[b]&&a.$apply(),d.defaultPrevented?!1:void 0}),a.$flow=f,b.hasOwnProperty("flowName")&&(c(b.flowName).assign(a,f),a.$on("$destroy",function(){c(b.flowName).assign(a)}))}]).directive("flowInit",[function(){return{scope:!0,controller:"flowCtrl"}}]),angular.module("flow.btn",["flow.init"]).directive("flowBtn",[function(){return{restrict:"EA",scope:!1,require:"^flowInit",link:function(a,b,c){var d=c.hasOwnProperty("flowDirectory"),e=c.hasOwnProperty("flowSingleFile"),f=c.hasOwnProperty("flowAttrs")&&a.$eval(c.flowAttrs);a.$flow.assignBrowse(b,d,e,f)}}}]),angular.module("flow.dragEvents",["flow.init"]).directive("flowPreventDrop",function(){return{scope:!1,link:function(a,b){b.bind("drop dragover",function(a){a.preventDefault()})}}}).directive("flowDragEnter",["$timeout",function(a){return{scope:!1,link:function(b,c,d){function e(a){var b=!1,c=a.dataTransfer||a.originalEvent.dataTransfer;return angular.forEach(c&&c.types,function(a){"Files"===a&&(b=!0)}),b}var f,g=!1;c.bind("dragover",function(c){e(c)&&(g||(b.$apply(d.flowDragEnter),g=!0),a.cancel(f),c.preventDefault())}),c.bind("dragleave drop",function(){f=a(function(){b.$eval(d.flowDragLeave),f=null,g=!1},100)})}}}]),angular.module("flow.drop",["flow.init"]).directive("flowDrop",function(){return{scope:!1,require:"^flowInit",link:function(a,b,c){function d(){a.$flow.assignDrop(b)}function e(){a.$flow.unAssignDrop(b)}c.flowDropEnabled?a.$watch(c.flowDropEnabled,function(a){a?d():e()}):d()}}}),!function(a){"use strict";function b(a){return a.charAt(0).toUpperCase()+a.slice(1)}var c=a.module("flow.events",["flow.init"]),d={fileSuccess:["$file","$message"],fileProgress:["$file"],fileAdded:["$file","$event"],filesAdded:["$files","$event"],filesSubmitted:["$files","$event"],fileRetry:["$file"],fileError:["$file","$message"],uploadStart:[],complete:[],progress:[],error:["$message","$file"]};a.forEach(d,function(d,e){var f="flow"+b(e);"flowUploadStart"==f&&(f="flowUploadStarted"),c.directive(f,[function(){return{require:"^flowInit",controller:["$scope","$attrs",function(b,c){b.$on("flow::"+e,function(){var e=Array.prototype.slice.call(arguments),g=e.shift();if(b.$flow===e.shift()){var h={};a.forEach(d,function(a,b){h[a]=e[b]}),b.$eval(c[f],h)===!1&&g.preventDefault()}})}]}}])})}(angular),angular.module("flow.img",["flow.init"]).directive("flowImg",[function(){return{scope:!1,require:"^flowInit",link:function(a,b,c){var d=c.flowImg;a.$watch(d,function(b){if(b){var d=new FileReader;d.readAsDataURL(b.file),d.onload=function(b){a.$apply(function(){c.$set("src",b.target.result)})}}})}}}]),angular.module("flow.transfers",["flow.init"]).directive("flowTransfers",[function(){return{scope:!0,require:"^flowInit",link:function(a){a.transfers=a.$flow.files}}}]),angular.module("flow",["flow.provider","flow.init","flow.events","flow.btn","flow.drop","flow.transfers","flow.img","flow.dragEvents"]);
|
1
|
+
/*! @flowjs/ng-flow 2.7.7 */
|
2
|
+
!function(a,b,c){"use strict";function d(b){if(this.support=!("undefined"==typeof File||"undefined"==typeof Blob||"undefined"==typeof FileList||!Blob.prototype.slice&&!Blob.prototype.webkitSlice&&!Blob.prototype.mozSlice),this.support){this.supportDirectory=/Chrome/.test(a.navigator.userAgent)||/Firefox/.test(a.navigator.userAgent)||/Edge/.test(a.navigator.userAgent),this.files=[],this.defaults={chunkSize:1048576,forceChunkSize:!1,simultaneousUploads:3,singleFile:!1,fileParameterName:"file",progressCallbacksInterval:500,speedSmoothingFactor:.1,query:{},headers:{},withCredentials:!1,preprocess:null,method:"multipart",testMethod:"GET",uploadMethod:"POST",prioritizeFirstAndLastChunk:!1,allowDuplicateUploads:!1,target:"/",testChunks:!0,generateUniqueIdentifier:null,maxChunkRetries:0,chunkRetryInterval:null,permanentErrors:[404,413,415,500,501],successStatuses:[200,201,202],onDropStopPropagation:!1,initFileFn:null,readFileFn:f},this.opts={},this.events={};var c=this;this.onDrop=function(a){c.opts.onDropStopPropagation&&a.stopPropagation(),a.preventDefault();var b=a.dataTransfer;b.items&&b.items[0]&&b.items[0].webkitGetAsEntry?c.webkitReadDataTransfer(a):c.addFiles(b.files,a)},this.preventEvent=function(a){a.preventDefault()},this.opts=d.extend({},this.defaults,b||{})}}function e(a,b,d){this.flowObj=a,this.bytes=null,this.file=b,this.name=b.fileName||b.name,this.size=b.size,this.relativePath=b.relativePath||b.webkitRelativePath||this.name,this.uniqueIdentifier=d===c?a.generateUniqueIdentifier(b):d,this.chunks=[],this.paused=!1,this.error=!1,this.averageSpeed=0,this.currentSpeed=0,this._lastProgressCallback=Date.now(),this._prevUploadedSize=0,this._prevProgress=0,this.bootstrap()}function f(a,b,c,d,e){var f="slice";a.file.slice?f="slice":a.file.mozSlice?f="mozSlice":a.file.webkitSlice&&(f="webkitSlice"),e.readFinished(a.file[f](b,c,d))}function g(a,b,c){this.flowObj=a,this.fileObj=b,this.offset=c,this.tested=!1,this.retries=0,this.pendingRetry=!1,this.preprocessState=0,this.readState=0,this.loaded=0,this.total=0,this.chunkSize=this.flowObj.opts.chunkSize,this.startByte=this.offset*this.chunkSize,this.computeEndByte=function(){var a=Math.min(this.fileObj.size,(this.offset+1)*this.chunkSize);return this.fileObj.size-a<this.chunkSize&&!this.flowObj.opts.forceChunkSize&&(a=this.fileObj.size),a},this.endByte=this.computeEndByte(),this.xhr=null;var d=this;this.event=function(a,b){b=Array.prototype.slice.call(arguments),b.unshift(d),d.fileObj.chunkEvent.apply(d.fileObj,b)},this.progressHandler=function(a){a.lengthComputable&&(d.loaded=a.loaded,d.total=a.total),d.event("progress",a)},this.testHandler=function(a){var b=d.status(!0);"error"===b?(d.event(b,d.message()),d.flowObj.uploadNextChunk()):"success"===b?(d.tested=!0,d.event(b,d.message()),d.flowObj.uploadNextChunk()):d.fileObj.paused||(d.tested=!0,d.send())},this.doneHandler=function(a){var b=d.status();if("success"===b||"error"===b)delete this.data,d.event(b,d.message()),d.flowObj.uploadNextChunk();else{d.event("retry",d.message()),d.pendingRetry=!0,d.abort(),d.retries++;var c=d.flowObj.opts.chunkRetryInterval;null!==c?setTimeout(function(){d.send()},c):d.send()}}}function h(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}function i(a,b){return"function"==typeof a&&(b=Array.prototype.slice.call(arguments),a=a.apply(null,b.slice(1))),a}function j(a,b){setTimeout(a.bind(b),0)}function k(a,b){return l(arguments,function(b){b!==a&&l(b,function(b,c){a[c]=b})}),a}function l(a,b,c){if(a){var d;if("undefined"!=typeof a.length){for(d=0;d<a.length;d++)if(b.call(c,a[d],d)===!1)return}else for(d in a)if(a.hasOwnProperty(d)&&b.call(c,a[d],d)===!1)return}}var m=a.navigator.msPointerEnabled;d.prototype={on:function(a,b){a=a.toLowerCase(),this.events.hasOwnProperty(a)||(this.events[a]=[]),this.events[a].push(b)},off:function(a,b){a!==c?(a=a.toLowerCase(),b!==c?this.events.hasOwnProperty(a)&&h(this.events[a],b):delete this.events[a]):this.events={}},fire:function(a,b){b=Array.prototype.slice.call(arguments),a=a.toLowerCase();var c=!1;return this.events.hasOwnProperty(a)&&l(this.events[a],function(a){c=a.apply(this,b.slice(1))===!1||c},this),"catchall"!=a&&(b.unshift("catchAll"),c=this.fire.apply(this,b)===!1||c),!c},webkitReadDataTransfer:function(a){function b(a){a.readEntries(function(f){f.length?(g+=f.length,l(f,function(a){if(a.isFile){var e=a.fullPath;a.file(function(a){c(a,e)},d)}else a.isDirectory&&b(a.createReader())}),b(a)):e()},d)}function c(a,b){a.relativePath=b.substring(1),h.push(a),e()}function d(a){throw a}function e(){0==--g&&f.addFiles(h,a)}var f=this,g=a.dataTransfer.items.length,h=[];l(a.dataTransfer.items,function(a){var d=a.webkitGetAsEntry();return d?void(d.isFile?c(a.getAsFile(),d.fullPath):b(d.createReader())):void e()})},generateUniqueIdentifier:function(a){var b=this.opts.generateUniqueIdentifier;if("function"==typeof b)return b(a);var c=a.relativePath||a.webkitRelativePath||a.fileName||a.name;return a.size+"-"+c.replace(/[^0-9a-zA-Z_-]/gim,"")},uploadNextChunk:function(a){var b=!1;if(this.opts.prioritizeFirstAndLastChunk&&(l(this.files,function(a){return!a.paused&&a.chunks.length&&"pending"===a.chunks[0].status()?(a.chunks[0].send(),b=!0,!1):!a.paused&&a.chunks.length>1&&"pending"===a.chunks[a.chunks.length-1].status()?(a.chunks[a.chunks.length-1].send(),b=!0,!1):void 0}),b))return b;if(l(this.files,function(a){return a.paused||l(a.chunks,function(a){return"pending"===a.status()?(a.send(),b=!0,!1):void 0}),b?!1:void 0}),b)return!0;var c=!1;return l(this.files,function(a){return a.isComplete()?void 0:(c=!0,!1)}),c||a||j(function(){this.fire("complete")},this),!1},assignBrowse:function(a,c,d,e){a instanceof Element&&(a=[a]),l(a,function(a){var f;"INPUT"===a.tagName&&"file"===a.type?f=a:(f=b.createElement("input"),f.setAttribute("type","file"),k(f.style,{visibility:"hidden",position:"absolute",width:"1px",height:"1px"}),a.appendChild(f),a.addEventListener("click",function(){f.click()},!1)),this.opts.singleFile||d||f.setAttribute("multiple","multiple"),c&&f.setAttribute("webkitdirectory","webkitdirectory"),l(e,function(a,b){f.setAttribute(b,a)});var g=this;f.addEventListener("change",function(a){a.target.value&&(g.addFiles(a.target.files,a),a.target.value="")},!1)},this)},assignDrop:function(a){"undefined"==typeof a.length&&(a=[a]),l(a,function(a){a.addEventListener("dragover",this.preventEvent,!1),a.addEventListener("dragenter",this.preventEvent,!1),a.addEventListener("drop",this.onDrop,!1)},this)},unAssignDrop:function(a){"undefined"==typeof a.length&&(a=[a]),l(a,function(a){a.removeEventListener("dragover",this.preventEvent),a.removeEventListener("dragenter",this.preventEvent),a.removeEventListener("drop",this.onDrop)},this)},isUploading:function(){var a=!1;return l(this.files,function(b){return b.isUploading()?(a=!0,!1):void 0}),a},_shouldUploadNext:function(){var a=0,b=!0,c=this.opts.simultaneousUploads;return l(this.files,function(d){l(d.chunks,function(d){return"uploading"===d.status()&&(a++,a>=c)?(b=!1,!1):void 0})}),b&&a},upload:function(){var a=this._shouldUploadNext();if(a!==!1){this.fire("uploadStart");for(var b=!1,c=1;c<=this.opts.simultaneousUploads-a;c++)b=this.uploadNextChunk(!0)||b;b||j(function(){this.fire("complete")},this)}},resume:function(){l(this.files,function(a){a.isComplete()||a.resume()})},pause:function(){l(this.files,function(a){a.pause()})},cancel:function(){for(var a=this.files.length-1;a>=0;a--)this.files[a].cancel()},progress:function(){var a=0,b=0;return l(this.files,function(c){a+=c.progress()*c.size,b+=c.size}),b>0?a/b:0},addFile:function(a,b){this.addFiles([a],b)},addFiles:function(a,b){var c=[];l(a,function(a){if((!m||m&&a.size>0)&&(a.size%4096!==0||"."!==a.name&&"."!==a.fileName)){var d=this.generateUniqueIdentifier(a);if(this.opts.allowDuplicateUploads||!this.getFromUniqueIdentifier(d)){var f=new e(this,a,d);this.fire("fileAdded",f,b)&&c.push(f)}}},this),this.fire("filesAdded",c,b)&&(l(c,function(a){this.opts.singleFile&&this.files.length>0&&this.removeFile(this.files[0]),this.files.push(a)},this),this.fire("filesSubmitted",c,b))},removeFile:function(a){for(var b=this.files.length-1;b>=0;b--)this.files[b]===a&&(this.files.splice(b,1),a.abort(),this.fire("fileRemoved",a))},getFromUniqueIdentifier:function(a){var b=!1;return l(this.files,function(c){c.uniqueIdentifier===a&&(b=c)}),b},getSize:function(){var a=0;return l(this.files,function(b){a+=b.size}),a},sizeUploaded:function(){var a=0;return l(this.files,function(b){a+=b.sizeUploaded()}),a},timeRemaining:function(){var a=0,b=0;return l(this.files,function(c){c.paused||c.error||(a+=c.size-c.sizeUploaded(),b+=c.averageSpeed)}),a&&!b?Number.POSITIVE_INFINITY:a||b?Math.floor(a/b):0}},e.prototype={measureSpeed:function(){var a=Date.now()-this._lastProgressCallback;if(a){var b=this.flowObj.opts.speedSmoothingFactor,c=this.sizeUploaded();this.currentSpeed=Math.max((c-this._prevUploadedSize)/a*1e3,0),this.averageSpeed=b*this.currentSpeed+(1-b)*this.averageSpeed,this._prevUploadedSize=c}},chunkEvent:function(a,b,c){switch(b){case"progress":if(Date.now()-this._lastProgressCallback<this.flowObj.opts.progressCallbacksInterval)break;this.measureSpeed(),this.flowObj.fire("fileProgress",this,a),this.flowObj.fire("progress"),this._lastProgressCallback=Date.now();break;case"error":this.error=!0,this.abort(!0),this.flowObj.fire("fileError",this,c,a),this.flowObj.fire("error",c,this,a);break;case"success":if(this.error)return;this.measureSpeed(),this.flowObj.fire("fileProgress",this,a),this.flowObj.fire("progress"),this._lastProgressCallback=Date.now(),this.isComplete()&&(this.currentSpeed=0,this.averageSpeed=0,this.flowObj.fire("fileSuccess",this,c,a));break;case"retry":this.flowObj.fire("fileRetry",this,a)}},pause:function(){this.paused=!0,this.abort()},resume:function(){this.paused=!1,this.flowObj.upload()},abort:function(a){this.currentSpeed=0,this.averageSpeed=0;var b=this.chunks;a&&(this.chunks=[]),l(b,function(a){"uploading"===a.status()&&(a.abort(),this.flowObj.uploadNextChunk())},this)},cancel:function(){this.flowObj.removeFile(this)},retry:function(){this.bootstrap(),this.flowObj.upload()},bootstrap:function(){"function"==typeof this.flowObj.opts.initFileFn&&this.flowObj.opts.initFileFn(this),this.abort(!0),this.error=!1,this._prevProgress=0;for(var a=this.flowObj.opts.forceChunkSize?Math.ceil:Math.floor,b=Math.max(a(this.size/this.flowObj.opts.chunkSize),1),c=0;b>c;c++)this.chunks.push(new g(this.flowObj,this,c))},progress:function(){if(this.error)return 1;if(1===this.chunks.length)return this._prevProgress=Math.max(this._prevProgress,this.chunks[0].progress()),this._prevProgress;var a=0;l(this.chunks,function(b){a+=b.progress()*(b.endByte-b.startByte)});var b=a/this.size;return this._prevProgress=Math.max(this._prevProgress,b>.9999?1:b),this._prevProgress},isUploading:function(){var a=!1;return l(this.chunks,function(b){return"uploading"===b.status()?(a=!0,!1):void 0}),a},isComplete:function(){var a=!1;return l(this.chunks,function(b){var c=b.status();return"pending"===c||"uploading"===c||"reading"===c||1===b.preprocessState||1===b.readState?(a=!0,!1):void 0}),!a},sizeUploaded:function(){var a=0;return l(this.chunks,function(b){a+=b.sizeUploaded()}),a},timeRemaining:function(){if(this.paused||this.error)return 0;var a=this.size-this.sizeUploaded();return a&&!this.averageSpeed?Number.POSITIVE_INFINITY:a||this.averageSpeed?Math.floor(a/this.averageSpeed):0},getType:function(){return this.file.type&&this.file.type.split("/")[1]},getExtension:function(){return this.name.substr((~-this.name.lastIndexOf(".")>>>0)+2).toLowerCase()}},g.prototype={getParams:function(){return{flowChunkNumber:this.offset+1,flowChunkSize:this.flowObj.opts.chunkSize,flowCurrentChunkSize:this.endByte-this.startByte,flowTotalSize:this.fileObj.size,flowIdentifier:this.fileObj.uniqueIdentifier,flowFilename:this.fileObj.name,flowRelativePath:this.fileObj.relativePath,flowTotalChunks:this.fileObj.chunks.length}},getTarget:function(a,b){return a+=a.indexOf("?")<0?"?":"&",a+b.join("&")},test:function(){this.xhr=new XMLHttpRequest,this.xhr.addEventListener("load",this.testHandler,!1),this.xhr.addEventListener("error",this.testHandler,!1);var a=i(this.flowObj.opts.testMethod,this.fileObj,this),b=this.prepareXhrRequest(a,!0);this.xhr.send(b)},preprocessFinished:function(){this.endByte=this.computeEndByte(),this.preprocessState=2,this.send()},readFinished:function(a){this.readState=2,this.bytes=a,this.send()},send:function(){var a=this.flowObj.opts.preprocess,b=this.flowObj.opts.readFileFn;if("function"==typeof a)switch(this.preprocessState){case 0:return this.preprocessState=1,void a(this);case 1:return}switch(this.readState){case 0:return this.readState=1,void b(this.fileObj,this.startByte,this.endByte,this.fileObj.file.type,this);case 1:return}if(this.flowObj.opts.testChunks&&!this.tested)return void this.test();this.loaded=0,this.total=0,this.pendingRetry=!1,this.xhr=new XMLHttpRequest,this.xhr.upload.addEventListener("progress",this.progressHandler,!1),this.xhr.addEventListener("load",this.doneHandler,!1),this.xhr.addEventListener("error",this.doneHandler,!1);var c=i(this.flowObj.opts.uploadMethod,this.fileObj,this),d=this.prepareXhrRequest(c,!1,this.flowObj.opts.method,this.bytes);this.xhr.send(d)},abort:function(){var a=this.xhr;this.xhr=null,a&&a.abort()},status:function(a){return 1===this.readState?"reading":this.pendingRetry||1===this.preprocessState?"uploading":this.xhr?this.xhr.readyState<4?"uploading":this.flowObj.opts.successStatuses.indexOf(this.xhr.status)>-1?"success":this.flowObj.opts.permanentErrors.indexOf(this.xhr.status)>-1||!a&&this.retries>=this.flowObj.opts.maxChunkRetries?"error":(this.abort(),"pending"):"pending"},message:function(){return this.xhr?this.xhr.responseText:""},progress:function(){if(this.pendingRetry)return 0;var a=this.status();return"success"===a||"error"===a?1:"pending"===a?0:this.total>0?this.loaded/this.total:0},sizeUploaded:function(){var a=this.endByte-this.startByte;return"success"!==this.status()&&(a=this.progress()*a),a},prepareXhrRequest:function(a,b,c,d){var e=i(this.flowObj.opts.query,this.fileObj,this,b);e=k(e,this.getParams());var f=i(this.flowObj.opts.target,this.fileObj,this,b),g=null;if("GET"===a||"octet"===c){var h=[];l(e,function(a,b){h.push([encodeURIComponent(b),encodeURIComponent(a)].join("="))}),f=this.getTarget(f,h),g=d||null}else g=new FormData,l(e,function(a,b){g.append(b,a)}),"undefined"!=typeof d&&g.append(this.flowObj.opts.fileParameterName,d,this.fileObj.file.name);return this.xhr.open(a,f,!0),this.xhr.withCredentials=this.flowObj.opts.withCredentials,l(i(this.flowObj.opts.headers,this.fileObj,this,b),function(a,b){this.xhr.setRequestHeader(b,a)},this),g}},d.evalOpts=i,d.extend=k,d.each=l,d.FlowFile=e,d.FlowChunk=g,d.version="2.13.0","object"==typeof module&&module&&"object"==typeof module.exports?module.exports=d:(a.Flow=d,"function"==typeof define&&define.amd&&define("flow",[],function(){return d}))}(window,document),angular.module("flow.provider",[]).provider("flowFactory",function(){"use strict";this.defaults={},this.factory=function(a){return new Flow(a)},this.events=[],this.on=function(a,b){this.events.push([a,b])},this.$get=function(){var a=this.factory,b=this.defaults,c=this.events;return{create:function(d){var e=a(angular.extend({},b,d));return angular.forEach(c,function(a){e.on(a[0],a[1])}),e}}}}),angular.module("flow.init",["flow.provider"]).controller("flowCtrl",["$scope","$attrs","$parse","flowFactory",function(a,b,c,d){var e=angular.extend({},a.$eval(b.flowInit)),f=a.$eval(b.flowObject)||d.create(e),g=function(b){var c=Array.prototype.slice.call(arguments);c.shift();var d=a.$broadcast.apply(a,["flow::"+b,f].concat(c));return{progress:1,filesSubmitted:1,fileSuccess:1,fileError:1,complete:1}[b]&&a.$apply(),d.defaultPrevented?!1:void 0};f.on("catchAll",g),a.$on("$destroy",function(){f.off("catchAll",g)}),a.$flow=f,b.hasOwnProperty("flowName")&&(c(b.flowName).assign(a,f),a.$on("$destroy",function(){c(b.flowName).assign(a)}))}]).directive("flowInit",[function(){return{scope:!0,controller:"flowCtrl"}}]),angular.module("flow.btn",["flow.init"]).directive("flowBtn",[function(){return{restrict:"EA",scope:!1,require:"^flowInit",link:function(a,b,c){var d=c.hasOwnProperty("flowDirectory"),e=c.hasOwnProperty("flowSingleFile"),f=c.hasOwnProperty("flowAttrs")&&a.$eval(c.flowAttrs);a.$flow.assignBrowse(b,d,e,f)}}}]),angular.module("flow.dragEvents",["flow.init"]).directive("flowPreventDrop",function(){return{scope:!1,link:function(a,b,c){b.bind("drop dragover",function(a){a.preventDefault()})}}}).directive("flowDragEnter",["$timeout",function(a){return{scope:!1,link:function(b,c,d){function e(a){var b=!1,c=a.dataTransfer||a.originalEvent.dataTransfer;return angular.forEach(c&&c.types,function(a){"Files"===a&&(b=!0)}),b}var f,g=!1;c.bind("dragover",function(c){e(c)&&(g||(b.$apply(d.flowDragEnter),g=!0),a.cancel(f),c.preventDefault())}),c.bind("dragleave drop",function(c){a.cancel(f),f=a(function(){b.$eval(d.flowDragLeave),f=null,g=!1},100)})}}}]),angular.module("flow.drop",["flow.init"]).directive("flowDrop",function(){return{scope:!1,require:"^flowInit",link:function(a,b,c){function d(){a.$flow.assignDrop(b)}function e(){a.$flow.unAssignDrop(b)}c.flowDropEnabled?a.$watch(c.flowDropEnabled,function(a){a?d():e()}):d()}}}),!function(a){"use strict";function b(a){return a.charAt(0).toUpperCase()+a.slice(1)}var c=a.module("flow.events",["flow.init"]),d={fileSuccess:["$file","$message"],fileProgress:["$file"],fileAdded:["$file","$event"],filesAdded:["$files","$event"],filesSubmitted:["$files","$event"],fileRetry:["$file"],fileRemoved:["$file"],fileError:["$file","$message"],uploadStart:[],complete:[],progress:[],error:["$message","$file"]};a.forEach(d,function(d,e){var f="flow"+b(e);"flowUploadStart"==f&&(f="flowUploadStarted"),c.directive(f,[function(){return{require:"^flowInit",controller:["$scope","$attrs",function(b,c){b.$on("flow::"+e,function(){var e=Array.prototype.slice.call(arguments),g=e.shift();if(b.$flow===e.shift()){var h={};a.forEach(d,function(a,b){h[a]=e[b]}),b.$eval(c[f],h)===!1&&g.preventDefault()}})}]}}])})}(angular),angular.module("flow.img",["flow.init"]).directive("flowImg",[function(){return{scope:!1,require:"^flowInit",link:function(a,b,c){var d=c.flowImg;a.$watch(d,function(b){if(b){var d=new FileReader;d.readAsDataURL(b.file),d.onload=function(b){a.$apply(function(){c.$set("src",b.target.result)})}}})}}}]),angular.module("flow.transfers",["flow.init"]).directive("flowTransfers",[function(){return{scope:!0,require:"^flowInit",link:function(a){a.transfers=a.$flow.files}}}]),angular.module("flow",["flow.provider","flow.init","flow.events","flow.btn","flow.drop","flow.transfers","flow.img","flow.dragEvents"]);
|
@@ -59,7 +59,7 @@ angular.module('flow.provider', [])
|
|
59
59
|
}
|
60
60
|
};
|
61
61
|
};
|
62
|
-
});
|
62
|
+
});
|
63
63
|
angular.module('flow.init', ['flow.provider'])
|
64
64
|
.controller('flowCtrl', ['$scope', '$attrs', '$parse', 'flowFactory',
|
65
65
|
function ($scope, $attrs, $parse, flowFactory) {
|
@@ -69,7 +69,7 @@ angular.module('flow.init', ['flow.provider'])
|
|
69
69
|
// use existing flow object or create a new one
|
70
70
|
var flow = $scope.$eval($attrs.flowObject) || flowFactory.create(options);
|
71
71
|
|
72
|
-
|
72
|
+
var catchAllHandler = function(eventName){
|
73
73
|
var args = Array.prototype.slice.call(arguments);
|
74
74
|
args.shift();
|
75
75
|
var event = $scope.$broadcast.apply($scope, ['flow::' + eventName, flow].concat(args));
|
@@ -81,9 +81,15 @@ angular.module('flow.init', ['flow.provider'])
|
|
81
81
|
if (event.defaultPrevented) {
|
82
82
|
return false;
|
83
83
|
}
|
84
|
+
};
|
85
|
+
|
86
|
+
flow.on('catchAll', catchAllHandler);
|
87
|
+
$scope.$on('$destroy', function(){
|
88
|
+
flow.off('catchAll', catchAllHandler);
|
84
89
|
});
|
85
90
|
|
86
91
|
$scope.$flow = flow;
|
92
|
+
|
87
93
|
if ($attrs.hasOwnProperty('flowName')) {
|
88
94
|
$parse($attrs.flowName).assign($scope, flow);
|
89
95
|
$scope.$on('$destroy', function () {
|
@@ -96,7 +102,7 @@ angular.module('flow.init', ['flow.provider'])
|
|
96
102
|
scope: true,
|
97
103
|
controller: 'flowCtrl'
|
98
104
|
};
|
99
|
-
}]);
|
105
|
+
}]);
|
100
106
|
angular.module('flow.btn', ['flow.init'])
|
101
107
|
.directive('flowBtn', [function() {
|
102
108
|
return {
|
@@ -110,7 +116,7 @@ angular.module('flow.btn', ['flow.init'])
|
|
110
116
|
scope.$flow.assignBrowse(element, isDirectory, isSingleFile, inputAttrs);
|
111
117
|
}
|
112
118
|
};
|
113
|
-
}]);
|
119
|
+
}]);
|
114
120
|
angular.module('flow.dragEvents', ['flow.init'])
|
115
121
|
/**
|
116
122
|
* @name flowPreventDrop
|
@@ -148,6 +154,7 @@ angular.module('flow.dragEvents', ['flow.init'])
|
|
148
154
|
event.preventDefault();
|
149
155
|
});
|
150
156
|
element.bind('dragleave drop', function (event) {
|
157
|
+
$timeout.cancel(promise);
|
151
158
|
promise = $timeout(function () {
|
152
159
|
scope.$eval(attrs.flowDragLeave);
|
153
160
|
promise = null;
|
@@ -166,7 +173,8 @@ angular.module('flow.dragEvents', ['flow.init'])
|
|
166
173
|
}
|
167
174
|
}
|
168
175
|
};
|
169
|
-
}]);
|
176
|
+
}]);
|
177
|
+
|
170
178
|
angular.module('flow.drop', ['flow.init'])
|
171
179
|
.directive('flowDrop', function() {
|
172
180
|
return {
|
@@ -193,7 +201,7 @@ angular.module('flow.drop', ['flow.init'])
|
|
193
201
|
}
|
194
202
|
};
|
195
203
|
});
|
196
|
-
|
204
|
+
|
197
205
|
!function (angular) {'use strict';
|
198
206
|
var module = angular.module('flow.events', ['flow.init']);
|
199
207
|
var events = {
|
@@ -203,6 +211,7 @@ angular.module('flow.drop', ['flow.init'])
|
|
203
211
|
filesAdded: ['$files', '$event'],
|
204
212
|
filesSubmitted: ['$files', '$event'],
|
205
213
|
fileRetry: ['$file'],
|
214
|
+
fileRemoved: ['$file'],
|
206
215
|
fileError: ['$file', '$message'],
|
207
216
|
uploadStart: [],
|
208
217
|
complete: [],
|
@@ -242,7 +251,8 @@ angular.module('flow.drop', ['flow.init'])
|
|
242
251
|
function capitaliseFirstLetter(string) {
|
243
252
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
244
253
|
}
|
245
|
-
}(angular);
|
254
|
+
}(angular);
|
255
|
+
|
246
256
|
angular.module('flow.img', ['flow.init'])
|
247
257
|
.directive('flowImg', [function() {
|
248
258
|
return {
|
@@ -264,7 +274,7 @@ angular.module('flow.img', ['flow.init'])
|
|
264
274
|
});
|
265
275
|
}
|
266
276
|
};
|
267
|
-
}]);
|
277
|
+
}]);
|
268
278
|
angular.module('flow.transfers', ['flow.init'])
|
269
279
|
.directive('flowTransfers', [function() {
|
270
280
|
return {
|
@@ -274,6 +284,6 @@ angular.module('flow.transfers', ['flow.init'])
|
|
274
284
|
scope.transfers = scope.$flow.files;
|
275
285
|
}
|
276
286
|
};
|
277
|
-
}]);
|
287
|
+
}]);
|
278
288
|
angular.module('flow', ['flow.provider', 'flow.init', 'flow.events', 'flow.btn',
|
279
289
|
'flow.drop', 'flow.transfers', 'flow.img', 'flow.dragEvents']);
|
@@ -1,2 +1,2 @@
|
|
1
|
-
/*! ng-flow 2.
|
2
|
-
angular.module("flow.provider",[]).provider("flowFactory",function(){"use strict";this.defaults={},this.factory=function(a){return new Flow(a)},this.events=[],this.on=function(a,b){this.events.push([a,b])},this.$get=function(){var a=this.factory,b=this.defaults,c=this.events;return{create:function(d){var e=a(angular.extend({},b,d));return angular.forEach(c,function(a){e.on(a[0],a[1])}),e}}}}),angular.module("flow.init",["flow.provider"]).controller("flowCtrl",["$scope","$attrs","$parse","flowFactory",function(a,b,c,d){var e=angular.extend({},a.$eval(b.flowInit)),f=a.$eval(b.flowObject)||d.create(e)
|
1
|
+
/*! @flowjs/ng-flow 2.7.7 */
|
2
|
+
angular.module("flow.provider",[]).provider("flowFactory",function(){"use strict";this.defaults={},this.factory=function(a){return new Flow(a)},this.events=[],this.on=function(a,b){this.events.push([a,b])},this.$get=function(){var a=this.factory,b=this.defaults,c=this.events;return{create:function(d){var e=a(angular.extend({},b,d));return angular.forEach(c,function(a){e.on(a[0],a[1])}),e}}}}),angular.module("flow.init",["flow.provider"]).controller("flowCtrl",["$scope","$attrs","$parse","flowFactory",function(a,b,c,d){var e=angular.extend({},a.$eval(b.flowInit)),f=a.$eval(b.flowObject)||d.create(e),g=function(b){var c=Array.prototype.slice.call(arguments);c.shift();var d=a.$broadcast.apply(a,["flow::"+b,f].concat(c));return{progress:1,filesSubmitted:1,fileSuccess:1,fileError:1,complete:1}[b]&&a.$apply(),d.defaultPrevented?!1:void 0};f.on("catchAll",g),a.$on("$destroy",function(){f.off("catchAll",g)}),a.$flow=f,b.hasOwnProperty("flowName")&&(c(b.flowName).assign(a,f),a.$on("$destroy",function(){c(b.flowName).assign(a)}))}]).directive("flowInit",[function(){return{scope:!0,controller:"flowCtrl"}}]),angular.module("flow.btn",["flow.init"]).directive("flowBtn",[function(){return{restrict:"EA",scope:!1,require:"^flowInit",link:function(a,b,c){var d=c.hasOwnProperty("flowDirectory"),e=c.hasOwnProperty("flowSingleFile"),f=c.hasOwnProperty("flowAttrs")&&a.$eval(c.flowAttrs);a.$flow.assignBrowse(b,d,e,f)}}}]),angular.module("flow.dragEvents",["flow.init"]).directive("flowPreventDrop",function(){return{scope:!1,link:function(a,b,c){b.bind("drop dragover",function(a){a.preventDefault()})}}}).directive("flowDragEnter",["$timeout",function(a){return{scope:!1,link:function(b,c,d){function e(a){var b=!1,c=a.dataTransfer||a.originalEvent.dataTransfer;return angular.forEach(c&&c.types,function(a){"Files"===a&&(b=!0)}),b}var f,g=!1;c.bind("dragover",function(c){e(c)&&(g||(b.$apply(d.flowDragEnter),g=!0),a.cancel(f),c.preventDefault())}),c.bind("dragleave drop",function(c){a.cancel(f),f=a(function(){b.$eval(d.flowDragLeave),f=null,g=!1},100)})}}}]),angular.module("flow.drop",["flow.init"]).directive("flowDrop",function(){return{scope:!1,require:"^flowInit",link:function(a,b,c){function d(){a.$flow.assignDrop(b)}function e(){a.$flow.unAssignDrop(b)}c.flowDropEnabled?a.$watch(c.flowDropEnabled,function(a){a?d():e()}):d()}}}),!function(a){"use strict";function b(a){return a.charAt(0).toUpperCase()+a.slice(1)}var c=a.module("flow.events",["flow.init"]),d={fileSuccess:["$file","$message"],fileProgress:["$file"],fileAdded:["$file","$event"],filesAdded:["$files","$event"],filesSubmitted:["$files","$event"],fileRetry:["$file"],fileRemoved:["$file"],fileError:["$file","$message"],uploadStart:[],complete:[],progress:[],error:["$message","$file"]};a.forEach(d,function(d,e){var f="flow"+b(e);"flowUploadStart"==f&&(f="flowUploadStarted"),c.directive(f,[function(){return{require:"^flowInit",controller:["$scope","$attrs",function(b,c){b.$on("flow::"+e,function(){var e=Array.prototype.slice.call(arguments),g=e.shift();if(b.$flow===e.shift()){var h={};a.forEach(d,function(a,b){h[a]=e[b]}),b.$eval(c[f],h)===!1&&g.preventDefault()}})}]}}])})}(angular),angular.module("flow.img",["flow.init"]).directive("flowImg",[function(){return{scope:!1,require:"^flowInit",link:function(a,b,c){var d=c.flowImg;a.$watch(d,function(b){if(b){var d=new FileReader;d.readAsDataURL(b.file),d.onload=function(b){a.$apply(function(){c.$set("src",b.target.result)})}}})}}}]),angular.module("flow.transfers",["flow.init"]).directive("flowTransfers",[function(){return{scope:!0,require:"^flowInit",link:function(a){a.transfers=a.$flow.files}}}]),angular.module("flow",["flow.provider","flow.init","flow.events","flow.btn","flow.drop","flow.transfers","flow.img","flow.dragEvents"]);
|
@@ -0,0 +1,25 @@
|
|
1
|
+
// package metadata file for Meteor.js
|
2
|
+
var packageName = 'digimet:ng-flow';
|
3
|
+
var where = 'client'; // where to install: 'client' or 'server'. For both, pass nothing.
|
4
|
+
var version = '2.6.1';
|
5
|
+
var summary = 'Flow.js html5 file upload extension on angular.js framework';
|
6
|
+
var gitLink = 'https://github.com/flowjs/ng-flow.git';
|
7
|
+
var documentationFile = 'README.md';
|
8
|
+
|
9
|
+
// Meta-data
|
10
|
+
Package.describe({
|
11
|
+
name: packageName,
|
12
|
+
version: version,
|
13
|
+
summary: summary,
|
14
|
+
git: gitLink,
|
15
|
+
documentation: documentationFile
|
16
|
+
});
|
17
|
+
|
18
|
+
Package.onUse(function(api) {
|
19
|
+
api.versionsFrom(['METEOR@0.9.0', 'METEOR@1.0']); // Meteor versions
|
20
|
+
|
21
|
+
api.use('angular:angular@1.2.0', where); // Dependencies
|
22
|
+
api.use('digimet:flowjs@2.9.0', where);
|
23
|
+
|
24
|
+
api.addFiles('./dist/ng-flow.js', where); // Files in use
|
25
|
+
});
|
@@ -35,6 +35,7 @@ angular.module('flow.dragEvents', ['flow.init'])
|
|
35
35
|
event.preventDefault();
|
36
36
|
});
|
37
37
|
element.bind('dragleave drop', function (event) {
|
38
|
+
$timeout.cancel(promise);
|
38
39
|
promise = $timeout(function () {
|
39
40
|
scope.$eval(attrs.flowDragLeave);
|
40
41
|
promise = null;
|
@@ -53,4 +54,4 @@ angular.module('flow.dragEvents', ['flow.init'])
|
|
53
54
|
}
|
54
55
|
}
|
55
56
|
};
|
56
|
-
}]);
|
57
|
+
}]);
|
@@ -7,6 +7,7 @@
|
|
7
7
|
filesAdded: ['$files', '$event'],
|
8
8
|
filesSubmitted: ['$files', '$event'],
|
9
9
|
fileRetry: ['$file'],
|
10
|
+
fileRemoved: ['$file'],
|
10
11
|
fileError: ['$file', '$message'],
|
11
12
|
uploadStart: [],
|
12
13
|
complete: [],
|
@@ -46,4 +47,4 @@
|
|
46
47
|
function capitaliseFirstLetter(string) {
|
47
48
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
48
49
|
}
|
49
|
-
}(angular);
|
50
|
+
}(angular);
|
@@ -7,7 +7,7 @@ angular.module('flow.init', ['flow.provider'])
|
|
7
7
|
// use existing flow object or create a new one
|
8
8
|
var flow = $scope.$eval($attrs.flowObject) || flowFactory.create(options);
|
9
9
|
|
10
|
-
|
10
|
+
var catchAllHandler = function(eventName){
|
11
11
|
var args = Array.prototype.slice.call(arguments);
|
12
12
|
args.shift();
|
13
13
|
var event = $scope.$broadcast.apply($scope, ['flow::' + eventName, flow].concat(args));
|
@@ -19,9 +19,15 @@ angular.module('flow.init', ['flow.provider'])
|
|
19
19
|
if (event.defaultPrevented) {
|
20
20
|
return false;
|
21
21
|
}
|
22
|
+
};
|
23
|
+
|
24
|
+
flow.on('catchAll', catchAllHandler);
|
25
|
+
$scope.$on('$destroy', function(){
|
26
|
+
flow.off('catchAll', catchAllHandler);
|
22
27
|
});
|
23
28
|
|
24
29
|
$scope.$flow = flow;
|
30
|
+
|
25
31
|
if ($attrs.hasOwnProperty('flowName')) {
|
26
32
|
$parse($attrs.flowName).assign($scope, flow);
|
27
33
|
$scope.$on('$destroy', function () {
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
if [ $TEST = "unit-tests" ]; then
|
6
|
+
|
7
|
+
echo "Running unit-tests"
|
8
|
+
export DISPLAY=:99.0
|
9
|
+
sh -e /etc/init.d/xvfb start
|
10
|
+
sleep 1
|
11
|
+
grunt karma:coverage
|
12
|
+
CODECLIMATE_REPO_TOKEN=9fcd24bf39f62bd186255d37ee66d0b1aaca8be7ea6616f074dd6c06a86720ab codeclimate-test-reporter < coverage/*/lcov.info
|
13
|
+
|
14
|
+
elif [[ $TEST = "browser-tests" ]]; then
|
15
|
+
|
16
|
+
echo "Running browser-tests"
|
17
|
+
grunt karma:saucelabs
|
18
|
+
|
19
|
+
fi
|
@@ -1,21 +1,21 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c)
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
SOFTWARE.
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2014 rdash
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# RDash rdash-ui
|
2
|
+
## Responsive, bloat free, bootstrap powered admin style dashboard!
|
3
|
+
|
4
|
+
Extending from the [original repository](https://github.com/Ehesp/Responsive-Dashboard), rdash-ui is a stylish admin dashboard without the plugins/bloat which many premium dashboard themes come with. It is fully responsive using Bootstrap 3 framework as the base. All animations are CSS3.
|
5
|
+
|
6
|
+
Check out a live example, in AngularJS!
|
7
|
+
|
8
|
+
> This repository provides only the stying needed to implement RDash into your project.
|
9
|
+
|
10
|
+
## Current Framework Implementations
|
11
|
+
|
12
|
+
* with AngularJS: [rdash-angular](https://github.com/rdash/rdash-angular)
|
13
|
+
* with jQuery: [rdash-jquery](https://github.com/rdash/rdash-jquery)
|
14
|
+
|
15
|
+
## Usage
|
16
|
+
### Requirements
|
17
|
+
* [NodeJS](http://nodejs.org/) (with [NPM](https://www.npmjs.org/))
|
18
|
+
* [Bower](http://bower.io)
|
19
|
+
* [Gulp](http://bower.io)
|
20
|
+
|
21
|
+
### Installation
|
22
|
+
rdash-ui is available as a bower project, or available to download youself.
|
23
|
+
|
24
|
+
#### Bower
|
25
|
+
`bower install rdash-ui`
|
26
|
+
or include as a project dependancy in your `bower.json`:
|
27
|
+
```
|
28
|
+
"dependencies": {
|
29
|
+
"rdash-ui": "*"
|
30
|
+
},
|
31
|
+
```
|
32
|
+
|
33
|
+
## Wiki
|
34
|
+
For full documentation on the dashboard, visit the [Wiki]().
|
35
|
+
|
36
|
+
## Contributing
|
37
|
+
> Do not use the `dist` directory for contributions, please edit the `less` files.
|
38
|
+
|
39
|
+
1. Clone the repository: `git clone https://github.com/rdash/rdash-ui.git`
|
40
|
+
2. Install the NodeJS depencanies: `sudo npm install`. This should automatically run a `bower install` command.
|
41
|
+
3. Run the gulp build task: `gulp build`.
|
42
|
+
4. Run the gulp default task: `gulp`. This will build any changes made automatically, and also run a live reload server on [http://localhost:8888](http://localhost:8080).
|
43
|
+
|
44
|
+
All project distribution files will be located within the `dist` directory. Use the `index.html` to test your changes/features.
|
45
|
+
|
46
|
+
### Pull Requests
|
47
|
+
1. Fork this repository.
|
48
|
+
2. Create a new branch, with the name of your fix/feature.
|
49
|
+
3. Send the pull requests into the projects `develop` branch.
|
50
|
+
|
51
|
+
## Credits
|
52
|
+
* [Elliot Hesp](https://github.com/Ehesp)
|
53
|
+
* [Leonel Samayoa](https://github.com/lsamayoa)
|
54
|
+
* [Mathew Goldsborough](https://github.com/mgoldsborough)
|
55
|
+
* [Ricardo Pascua Jr](https://github.com/rdpascua)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{
|
2
|
+
"name": "rdash-ui",
|
3
|
+
"description": "Bloat free responsive admin style dashboard.",
|
4
|
+
"version": "1.0.1",
|
5
|
+
"homepage": "https://rdash.github.io/rdash-ui/",
|
6
|
+
"repository": {
|
7
|
+
"type": "git",
|
8
|
+
"url": "git://github.com/rdash/rdash-ui.git"
|
9
|
+
},
|
10
|
+
"license": "MIT",
|
11
|
+
"keywords": [
|
12
|
+
"responsive",
|
13
|
+
"dashboard",
|
14
|
+
"admin"
|
15
|
+
],
|
16
|
+
"main": [
|
17
|
+
"dist/css/rdash.css",
|
18
|
+
"dist/css/rdash.min.css",
|
19
|
+
"dist/fonts/montserrat-regular-webfont.eot",
|
20
|
+
"dist/fonts/montserrat-regular-webfont.svg",
|
21
|
+
"dist/fonts/montserrat-regular-webfont.ttf",
|
22
|
+
"dist/fonts/montserrat-regular-webfont.woff"
|
23
|
+
],
|
24
|
+
"ignore": [
|
25
|
+
"**/**.*",
|
26
|
+
"!LICENSE",
|
27
|
+
"!bower.json",
|
28
|
+
"!README.md",
|
29
|
+
"!dist/css",
|
30
|
+
"!dist/fonts"
|
31
|
+
],
|
32
|
+
"dependencies": {}
|
33
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
#content-wrapper{padding-left:0;margin-left:0;width:100%;height:auto}@media only screen and (min-width:561px){#page-wrapper.open{padding-left:250px}}@media only screen and (max-width:560px){#page-wrapper.open{padding-left:70px}}#page-wrapper.open #sidebar-wrapper{left:150px}@media only screen and (max-width:560px){body.hamburg #page-wrapper{padding-left:0}body.hamburg #page-wrapper:not(.open) #sidebar-wrapper{position:absolute;left:-100px}body.hamburg #page-wrapper:not(.open) ul.sidebar .sidebar-title.separator{display:none}body.hamburg #page-wrapper.open #sidebar-wrapper{position:fixed}body.hamburg #page-wrapper.open #sidebar-wrapper ul.sidebar li.sidebar-main{margin-left:0}body.hamburg #sidebar-wrapper ul.sidebar li.sidebar-main,body.hamburg .row.header .meta{margin-left:70px}body.hamburg #page-wrapper.open #sidebar-wrapper ul.sidebar li.sidebar-main,body.hamburg #sidebar-wrapper ul.sidebar li.sidebar-main{transition:margin-left .4s ease 0s}}.row.header{height:60px;background:#fff;margin-bottom:15px}.row.header>div:last-child{padding-right:0}.row.header .meta .page{font-size:17px;padding-top:11px}.row.header .meta .breadcrumb-links{font-size:10px}.row.header .meta div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.header .login a{padding:18px;display:block}.row.header .user{min-width:130px}.row.header .user>.item{width:65px;height:60px;float:right;display:inline-block;text-align:center;vertical-align:middle}.row.header .user>.item a{color:#919191;display:block}.row.header .user>.item i{font-size:20px;line-height:55px}.row.header .user>.item img{width:40px;height:40px;margin-top:10px;border-radius:2px}.row.header .user>.item ul.dropdown-menu{border-radius:2px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.05);box-shadow:0 6px 12px rgba(0,0,0,.05)}.row.header .user>.item ul.dropdown-menu .dropdown-header{text-align:center}.row.header .user>.item ul.dropdown-menu li.link{text-align:left}.row.header .user>.item ul.dropdown-menu li.link a{padding-left:7px;padding-right:7px}.row.header .user>.item ul.dropdown-menu:before{position:absolute;top:-7px;right:23px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.2);border-left:7px solid transparent;content:''}.row.header .user>.item ul.dropdown-menu:after{position:absolute;top:-6px;right:24px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.loading{width:40px;height:40px;position:relative;margin:100px auto}.double-bounce1,.double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#333;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:bounce 2s infinite ease-in-out;animation:bounce 2s infinite ease-in-out}.double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes bounce{0%,100%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes bounce{0%,100%{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}@font-face{font-family:Montserrat;src:url(../fonts/montserrat-regular-webfont.eot);src:url(../fonts/montserrat-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/montserrat-regular-webfont.woff) format('woff'),url(../fonts/montserrat-regular-webfont.ttf) format('truetype'),url(../fonts/montserrat-regular-webfont.svg#montserratregular) format('svg');font-weight:400;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:Montserrat;src:url(../fonts/montserrat-regular-webfont.svg) format('svg')}select{font-family:Arial,Helvetica,sans-serif}}html{overflow-y:scroll}body{background:#f3f3f3;font-family:Montserrat;color:#333!important}.row{margin-left:0!important;margin-right:0!important}.row>div{margin-bottom:15px}.alerts-container .alert:last-child{margin-bottom:0}#page-wrapper{padding-left:70px;height:100%}#sidebar-wrapper{margin-left:-150px;left:-30px;width:250px;position:fixed;height:100%;z-index:999}#page-wrapper,#sidebar-wrapper{transition:all .4s ease 0s}.green{background:#23ae89!important}.blue{background:#2361ae!important}.orange{background:#d3a938!important}.red{background:#ae2323!important}.form-group .help-block.form-group-inline-message{padding-top:5px}div.input-mask{padding-top:7px}#sidebar-wrapper{background:#30426a}#page-wrapper:not(.open) ul.sidebar .sidebar-title.separator,.sidebar-footer,ul.sidebar .sidebar-list a:hover,ul.sidebar .sidebar-main a{background:#2d3e63}ul.sidebar{position:absolute;top:0;bottom:0;padding:0;margin:0;list-style:none;text-indent:20px;overflow-x:hidden;overflow-y:auto}ul.sidebar li a{color:#fff;display:block;float:left;text-decoration:none;width:250px}ul.sidebar .sidebar-main{height:65px}ul.sidebar .sidebar-main a{font-size:18px;line-height:60px}ul.sidebar .sidebar-main .menu-icon{float:right;font-size:18px;padding-right:28px;line-height:60px}ul.sidebar .sidebar-title{color:#738bc0;font-size:12px;height:35px;line-height:40px;text-transform:uppercase;transition:all .6s ease 0s}ul.sidebar .sidebar-list{height:40px}ul.sidebar .sidebar-list a{text-indent:25px;font-size:15px;color:#b2bfdc;line-height:40px}ul.sidebar .sidebar-list a:hover{color:#fff;border-left:3px solid #e99d1a;text-indent:22px}ul.sidebar .sidebar-list a:hover .menu-icon{text-indent:25px}ul.sidebar .sidebar-list .menu-icon{float:right;padding-right:29px;line-height:40px;width:70px}#page-wrapper:not(.open) ul.sidebar{bottom:0}#page-wrapper:not(.open) ul.sidebar .sidebar-title{display:none;height:0;text-indent:-100px}#page-wrapper:not(.open) ul.sidebar .sidebar-title.separator{display:block;height:2px;margin:13px 0}#page-wrapper:not(.open) ul.sidebar .sidebar-list a:hover span{border-left:3px solid #e99d1a;text-indent:22px}#page-wrapper:not(.open) .sidebar-footer{display:none}.sidebar-footer{position:absolute;height:40px;bottom:0;width:100%;padding:0;margin:0;transition:all .6s ease 0s;text-align:center}.sidebar-footer div a{color:#b2bfdc;font-size:12px;line-height:43px}.sidebar-footer div a:hover{color:#fff;text-decoration:none}.widget{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);-moz-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05);background:#fff;border:1px solid transparent;border-radius:2px;border-color:#e9e9e9}.widget .widget-footer .pagination,.widget .widget-header .pagination{margin:0}.widget .widget-header{color:#767676;background-color:#f6f6f6;padding:10px 15px;border-bottom:1px solid #e9e9e9;line-height:30px}.widget .widget-header i{margin-right:5px}.widget .widget-body{padding:20px}.widget .widget-body table thead{background:#fafafa}.widget .widget-body table thead *{font-size:14px!important}.widget .widget-body table tbody *{font-size:13px!important}.widget .widget-body .error{color:red}.widget .widget-body button{margin-left:5px}.widget .widget-body div.alert{margin-bottom:10px}.widget .widget-body.large{height:350px;overflow-y:auto}.widget .widget-body.medium{height:250px;overflow-y:auto}.widget .widget-body.small{height:150px;overflow-y:auto}.widget .widget-body.no-padding{padding:0}.widget .widget-body.no-padding .error,.widget .widget-body.no-padding .message{padding:20px}.widget .widget-icon{background:#30426a;width:65px;height:65px;border-radius:50%;text-align:center;vertical-align:middle;margin-right:15px}.widget .widget-icon i{line-height:66px;color:#fff;font-size:30px}.widget .widget-footer{border-top:1px solid #e9e9e9;padding:10px}.widget .widget-footer .pagination,.widget .widget-title .pagination{margin:0}.widget .widget-content .title{font-size:28px;display:block}
|
@@ -0,0 +1,489 @@
|
|
1
|
+
#content-wrapper {
|
2
|
+
padding-left: 0;
|
3
|
+
margin-left: 0;
|
4
|
+
width: 100%;
|
5
|
+
height: auto;
|
6
|
+
}
|
7
|
+
@media only screen and (min-width: 561px) {
|
8
|
+
#page-wrapper.open {
|
9
|
+
padding-left: 250px;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
@media only screen and (max-width: 560px) {
|
13
|
+
#page-wrapper.open {
|
14
|
+
padding-left: 70px;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
#page-wrapper.open #sidebar-wrapper {
|
18
|
+
left: 150px;
|
19
|
+
}
|
20
|
+
|
21
|
+
/**
|
22
|
+
* Hamburg Menu
|
23
|
+
* When the class of 'hamburg' is applied to the body tag of the document,
|
24
|
+
* the sidebar changes it's style to attempt to mimic a menu on a phone app,
|
25
|
+
* where the content is overlaying the content, rather than push it.
|
26
|
+
*/
|
27
|
+
@media only screen and (max-width: 560px) {
|
28
|
+
body.hamburg #page-wrapper {
|
29
|
+
padding-left: 0;
|
30
|
+
}
|
31
|
+
body.hamburg #page-wrapper:not(.open) #sidebar-wrapper {
|
32
|
+
position: absolute;
|
33
|
+
left: -100px;
|
34
|
+
}
|
35
|
+
body.hamburg #page-wrapper:not(.open) ul.sidebar .sidebar-title.separator {
|
36
|
+
display: none;
|
37
|
+
}
|
38
|
+
body.hamburg #page-wrapper.open #sidebar-wrapper {
|
39
|
+
position: fixed;
|
40
|
+
}
|
41
|
+
body.hamburg #page-wrapper.open #sidebar-wrapper ul.sidebar li.sidebar-main {
|
42
|
+
margin-left: 0px;
|
43
|
+
}
|
44
|
+
body.hamburg #sidebar-wrapper ul.sidebar li.sidebar-main,
|
45
|
+
body.hamburg .row.header .meta {
|
46
|
+
margin-left: 70px;
|
47
|
+
}
|
48
|
+
body.hamburg #sidebar-wrapper ul.sidebar li.sidebar-main,
|
49
|
+
body.hamburg #page-wrapper.open #sidebar-wrapper ul.sidebar li.sidebar-main {
|
50
|
+
transition: margin-left 0.4s ease 0s;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
/**
|
55
|
+
* Header
|
56
|
+
*/
|
57
|
+
.row.header {
|
58
|
+
height: 60px;
|
59
|
+
background: #fff;
|
60
|
+
margin-bottom: 15px;
|
61
|
+
}
|
62
|
+
.row.header > div:last-child {
|
63
|
+
padding-right: 0;
|
64
|
+
}
|
65
|
+
.row.header .meta .page {
|
66
|
+
font-size: 17px;
|
67
|
+
padding-top: 11px;
|
68
|
+
}
|
69
|
+
.row.header .meta .breadcrumb-links {
|
70
|
+
font-size: 10px;
|
71
|
+
}
|
72
|
+
.row.header .meta div {
|
73
|
+
white-space: nowrap;
|
74
|
+
overflow: hidden;
|
75
|
+
text-overflow: ellipsis;
|
76
|
+
}
|
77
|
+
.row.header .login a {
|
78
|
+
padding: 18px;
|
79
|
+
display: block;
|
80
|
+
}
|
81
|
+
.row.header .user {
|
82
|
+
min-width: 130px;
|
83
|
+
}
|
84
|
+
.row.header .user > .item {
|
85
|
+
width: 65px;
|
86
|
+
height: 60px;
|
87
|
+
float: right;
|
88
|
+
display: inline-block;
|
89
|
+
text-align: center;
|
90
|
+
vertical-align: middle;
|
91
|
+
}
|
92
|
+
.row.header .user > .item a {
|
93
|
+
color: #919191;
|
94
|
+
display: block;
|
95
|
+
}
|
96
|
+
.row.header .user > .item i {
|
97
|
+
font-size: 20px;
|
98
|
+
line-height: 55px;
|
99
|
+
}
|
100
|
+
.row.header .user > .item img {
|
101
|
+
width: 40px;
|
102
|
+
height: 40px;
|
103
|
+
margin-top: 10px;
|
104
|
+
border-radius: 2px;
|
105
|
+
}
|
106
|
+
.row.header .user > .item ul.dropdown-menu {
|
107
|
+
border-radius: 2px;
|
108
|
+
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
|
109
|
+
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
|
110
|
+
}
|
111
|
+
.row.header .user > .item ul.dropdown-menu .dropdown-header {
|
112
|
+
text-align: center;
|
113
|
+
}
|
114
|
+
.row.header .user > .item ul.dropdown-menu li.link {
|
115
|
+
text-align: left;
|
116
|
+
}
|
117
|
+
.row.header .user > .item ul.dropdown-menu li.link a {
|
118
|
+
padding-left: 7px;
|
119
|
+
padding-right: 7px;
|
120
|
+
}
|
121
|
+
.row.header .user > .item ul.dropdown-menu:before {
|
122
|
+
position: absolute;
|
123
|
+
top: -7px;
|
124
|
+
right: 23px;
|
125
|
+
display: inline-block;
|
126
|
+
border-right: 7px solid transparent;
|
127
|
+
border-bottom: 7px solid rgba(0, 0, 0, 0.2);
|
128
|
+
border-left: 7px solid transparent;
|
129
|
+
content: '';
|
130
|
+
}
|
131
|
+
.row.header .user > .item ul.dropdown-menu:after {
|
132
|
+
position: absolute;
|
133
|
+
top: -6px;
|
134
|
+
right: 24px;
|
135
|
+
display: inline-block;
|
136
|
+
border-right: 6px solid transparent;
|
137
|
+
border-bottom: 6px solid #ffffff;
|
138
|
+
border-left: 6px solid transparent;
|
139
|
+
content: '';
|
140
|
+
}
|
141
|
+
|
142
|
+
.loading {
|
143
|
+
width: 40px;
|
144
|
+
height: 40px;
|
145
|
+
position: relative;
|
146
|
+
margin: 100px auto;
|
147
|
+
}
|
148
|
+
.double-bounce1,
|
149
|
+
.double-bounce2 {
|
150
|
+
width: 100%;
|
151
|
+
height: 100%;
|
152
|
+
border-radius: 50%;
|
153
|
+
background-color: #333;
|
154
|
+
opacity: 0.6;
|
155
|
+
position: absolute;
|
156
|
+
top: 0;
|
157
|
+
left: 0;
|
158
|
+
-webkit-animation: bounce 2s infinite ease-in-out;
|
159
|
+
animation: bounce 2s infinite ease-in-out;
|
160
|
+
}
|
161
|
+
.double-bounce2 {
|
162
|
+
-webkit-animation-delay: -1s;
|
163
|
+
animation-delay: -1s;
|
164
|
+
}
|
165
|
+
@-webkit-keyframes bounce {
|
166
|
+
0%,
|
167
|
+
100% {
|
168
|
+
-webkit-transform: scale(0);
|
169
|
+
}
|
170
|
+
50% {
|
171
|
+
-webkit-transform: scale(1);
|
172
|
+
}
|
173
|
+
}
|
174
|
+
@keyframes bounce {
|
175
|
+
0%,
|
176
|
+
100% {
|
177
|
+
transform: scale(0);
|
178
|
+
-webkit-transform: scale(0);
|
179
|
+
}
|
180
|
+
50% {
|
181
|
+
transform: scale(1);
|
182
|
+
-webkit-transform: scale(1);
|
183
|
+
}
|
184
|
+
}
|
185
|
+
|
186
|
+
/* Fonts */
|
187
|
+
@font-face {
|
188
|
+
font-family: 'casperregular';
|
189
|
+
src: asset-url('casper-webfont.eot');
|
190
|
+
src: asset-url('casper-webfont.eot?#iefix') format('embedded-opentype'),
|
191
|
+
asset-url('casper-webfont.woff') format('woff'),
|
192
|
+
asset-url('casper-webfont.ttf') format('truetype'),
|
193
|
+
asset-url('casper-webfont.svg#casperregular') format('svg');
|
194
|
+
font-weight: normal;
|
195
|
+
font-style: normal;
|
196
|
+
}
|
197
|
+
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
198
|
+
@font-face {
|
199
|
+
font-family: 'casperregular';
|
200
|
+
src: asset-url('casper-webfont.svg') format('svg');
|
201
|
+
}
|
202
|
+
select {
|
203
|
+
font-family: Arial, Helvetica, sans-serif;
|
204
|
+
}
|
205
|
+
}
|
206
|
+
/* Base */
|
207
|
+
html {
|
208
|
+
overflow-y: scroll;
|
209
|
+
}
|
210
|
+
body {
|
211
|
+
background: #f3f3f3;
|
212
|
+
font-family: "casperregular";
|
213
|
+
color: #333333 !important;
|
214
|
+
}
|
215
|
+
.row {
|
216
|
+
margin-left: 0 !important;
|
217
|
+
margin-right: 0 !important;
|
218
|
+
}
|
219
|
+
.row > div {
|
220
|
+
margin-bottom: 15px;
|
221
|
+
}
|
222
|
+
.alerts-container .alert:last-child {
|
223
|
+
margin-bottom: 0;
|
224
|
+
}
|
225
|
+
#page-wrapper {
|
226
|
+
padding-left: 70px;
|
227
|
+
height: 100%;
|
228
|
+
}
|
229
|
+
#sidebar-wrapper {
|
230
|
+
margin-left: -150px;
|
231
|
+
left: -30px;
|
232
|
+
width: 250px;
|
233
|
+
position: fixed;
|
234
|
+
height: 100%;
|
235
|
+
z-index: 999;
|
236
|
+
}
|
237
|
+
#page-wrapper,
|
238
|
+
#sidebar-wrapper {
|
239
|
+
transition: all .4s ease 0s;
|
240
|
+
}
|
241
|
+
.green {
|
242
|
+
background: #23ae89 !important;
|
243
|
+
}
|
244
|
+
.blue {
|
245
|
+
background: #2361ae !important;
|
246
|
+
}
|
247
|
+
.orange {
|
248
|
+
background: #d3a938 !important;
|
249
|
+
}
|
250
|
+
.red {
|
251
|
+
background: #ae2323 !important;
|
252
|
+
}
|
253
|
+
.form-group .help-block.form-group-inline-message {
|
254
|
+
padding-top: 5px;
|
255
|
+
}
|
256
|
+
div.input-mask {
|
257
|
+
padding-top: 7px;
|
258
|
+
}
|
259
|
+
|
260
|
+
|
261
|
+
/* #592727 RED */
|
262
|
+
/* #2f5927 GREEN */
|
263
|
+
/* #30426a BLUE (default)*/
|
264
|
+
/* Sidebar background color */
|
265
|
+
/* Sidebar header and footer color */
|
266
|
+
/* Sidebar title text colour */
|
267
|
+
/* Sidebar menu item hover color */
|
268
|
+
/**
|
269
|
+
* Sidebar
|
270
|
+
*/
|
271
|
+
#sidebar-wrapper {
|
272
|
+
background: #30426a;
|
273
|
+
}
|
274
|
+
ul.sidebar .sidebar-main a,
|
275
|
+
.sidebar-footer,
|
276
|
+
ul.sidebar .sidebar-list a:hover,
|
277
|
+
#page-wrapper:not(.open) ul.sidebar .sidebar-title.separator {
|
278
|
+
/* Sidebar header and footer color */
|
279
|
+
background: #2d3e63;
|
280
|
+
}
|
281
|
+
ul.sidebar {
|
282
|
+
position: absolute;
|
283
|
+
top: 0;
|
284
|
+
bottom: 0;
|
285
|
+
padding: 0;
|
286
|
+
margin: 0;
|
287
|
+
list-style: none;
|
288
|
+
text-indent: 20px;
|
289
|
+
overflow-x: hidden;
|
290
|
+
overflow-y: auto;
|
291
|
+
}
|
292
|
+
ul.sidebar li a {
|
293
|
+
color: #fff;
|
294
|
+
display: block;
|
295
|
+
float: left;
|
296
|
+
text-decoration: none;
|
297
|
+
width: 250px;
|
298
|
+
}
|
299
|
+
ul.sidebar .sidebar-main {
|
300
|
+
height: 65px;
|
301
|
+
}
|
302
|
+
ul.sidebar .sidebar-main a {
|
303
|
+
font-size: 18px;
|
304
|
+
line-height: 60px;
|
305
|
+
}
|
306
|
+
ul.sidebar .sidebar-main a:hover {
|
307
|
+
cursor: pointer;
|
308
|
+
}
|
309
|
+
ul.sidebar .sidebar-main .menu-icon {
|
310
|
+
float: right;
|
311
|
+
font-size: 18px;
|
312
|
+
padding-right: 28px;
|
313
|
+
line-height: 60px;
|
314
|
+
}
|
315
|
+
ul.sidebar .sidebar-title {
|
316
|
+
color: #738bc0;
|
317
|
+
font-size: 12px;
|
318
|
+
height: 35px;
|
319
|
+
line-height: 40px;
|
320
|
+
text-transform: uppercase;
|
321
|
+
transition: all .6s ease 0s;
|
322
|
+
}
|
323
|
+
ul.sidebar .sidebar-list {
|
324
|
+
height: 40px;
|
325
|
+
}
|
326
|
+
ul.sidebar .sidebar-list a {
|
327
|
+
text-indent: 25px;
|
328
|
+
font-size: 15px;
|
329
|
+
color: #b2bfdc;
|
330
|
+
line-height: 40px;
|
331
|
+
}
|
332
|
+
ul.sidebar .sidebar-list a:hover {
|
333
|
+
color: #fff;
|
334
|
+
border-left: 3px solid #e99d1a;
|
335
|
+
text-indent: 22px;
|
336
|
+
}
|
337
|
+
ul.sidebar .sidebar-list a:hover .menu-icon {
|
338
|
+
text-indent: 25px;
|
339
|
+
}
|
340
|
+
ul.sidebar .sidebar-list .menu-icon {
|
341
|
+
float: right;
|
342
|
+
padding-right: 29px;
|
343
|
+
line-height: 40px;
|
344
|
+
width: 70px;
|
345
|
+
}
|
346
|
+
#page-wrapper:not(.open) ul.sidebar {
|
347
|
+
bottom: 0;
|
348
|
+
}
|
349
|
+
#page-wrapper:not(.open) ul.sidebar .sidebar-title {
|
350
|
+
display: none;
|
351
|
+
height: 0px;
|
352
|
+
text-indent: -100px;
|
353
|
+
}
|
354
|
+
#page-wrapper:not(.open) ul.sidebar .sidebar-title.separator {
|
355
|
+
display: block;
|
356
|
+
height: 2px;
|
357
|
+
margin: 13px 0;
|
358
|
+
}
|
359
|
+
#page-wrapper:not(.open) ul.sidebar .sidebar-list a:hover span {
|
360
|
+
border-left: 3px solid #e99d1a;
|
361
|
+
text-indent: 22px;
|
362
|
+
}
|
363
|
+
#page-wrapper:not(.open) .sidebar-footer {
|
364
|
+
display: none;
|
365
|
+
}
|
366
|
+
.sidebar-footer {
|
367
|
+
position: absolute;
|
368
|
+
height: 40px;
|
369
|
+
bottom: 0;
|
370
|
+
width: 100%;
|
371
|
+
padding: 0;
|
372
|
+
margin: 0;
|
373
|
+
transition: all .6s ease 0s;
|
374
|
+
text-align: center;
|
375
|
+
}
|
376
|
+
.sidebar-footer div a {
|
377
|
+
color: #b2bfdc;
|
378
|
+
font-size: 12px;
|
379
|
+
line-height: 43px;
|
380
|
+
}
|
381
|
+
.sidebar-footer div a:hover {
|
382
|
+
color: #ffffff;
|
383
|
+
text-decoration: none;
|
384
|
+
}
|
385
|
+
|
386
|
+
/* #592727 RED */
|
387
|
+
/* #2f5927 GREEN */
|
388
|
+
/* #30426a BLUE (default)*/
|
389
|
+
/* Sidebar background color */
|
390
|
+
/* Sidebar header and footer color */
|
391
|
+
/* Sidebar title text colour */
|
392
|
+
/* Sidebar menu item hover color */
|
393
|
+
|
394
|
+
/**
|
395
|
+
* Widgets
|
396
|
+
*/
|
397
|
+
.widget {
|
398
|
+
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
399
|
+
-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
400
|
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
401
|
+
background: #ffffff;
|
402
|
+
border: 1px solid transparent;
|
403
|
+
border-radius: 2px;
|
404
|
+
border-color: #e9e9e9;
|
405
|
+
}
|
406
|
+
.widget .widget-header .pagination,
|
407
|
+
.widget .widget-footer .pagination {
|
408
|
+
margin: 0;
|
409
|
+
}
|
410
|
+
.widget .widget-header {
|
411
|
+
color: #767676;
|
412
|
+
background-color: #f6f6f6;
|
413
|
+
padding: 10px 15px;
|
414
|
+
border-bottom: 1px solid #e9e9e9;
|
415
|
+
line-height: 30px;
|
416
|
+
}
|
417
|
+
.widget .widget-header i {
|
418
|
+
margin-right: 5px;
|
419
|
+
}
|
420
|
+
.widget .widget-body {
|
421
|
+
padding: 20px;
|
422
|
+
}
|
423
|
+
.widget .widget-body table thead {
|
424
|
+
background: #fafafa;
|
425
|
+
}
|
426
|
+
.widget .widget-body table thead * {
|
427
|
+
font-size: 14px !important;
|
428
|
+
}
|
429
|
+
.widget .widget-body table tbody * {
|
430
|
+
font-size: 13px !important;
|
431
|
+
}
|
432
|
+
.widget .widget-body .error {
|
433
|
+
color: #ff0000;
|
434
|
+
}
|
435
|
+
.widget .widget-body button {
|
436
|
+
margin-left: 5px;
|
437
|
+
}
|
438
|
+
.widget .widget-body div.alert {
|
439
|
+
margin-bottom: 10px;
|
440
|
+
}
|
441
|
+
.widget .widget-body.large {
|
442
|
+
height: 350px;
|
443
|
+
overflow-y: auto;
|
444
|
+
}
|
445
|
+
.widget .widget-body.medium {
|
446
|
+
height: 250px;
|
447
|
+
overflow-y: auto;
|
448
|
+
}
|
449
|
+
.widget .widget-body.small {
|
450
|
+
height: 150px;
|
451
|
+
overflow-y: auto;
|
452
|
+
}
|
453
|
+
.widget .widget-body.no-padding {
|
454
|
+
padding: 0;
|
455
|
+
}
|
456
|
+
.widget .widget-body.no-padding .error,
|
457
|
+
.widget .widget-body.no-padding .message {
|
458
|
+
padding: 20px;
|
459
|
+
}
|
460
|
+
.widget .widget-footer {
|
461
|
+
border-top: 1px solid #e9e9e9;
|
462
|
+
padding: 10px;
|
463
|
+
}
|
464
|
+
.widget .widget-icon {
|
465
|
+
background: #30426a;
|
466
|
+
width: 65px;
|
467
|
+
height: 65px;
|
468
|
+
border-radius: 50%;
|
469
|
+
text-align: center;
|
470
|
+
vertical-align: middle;
|
471
|
+
margin-right: 15px;
|
472
|
+
}
|
473
|
+
.widget .widget-icon i {
|
474
|
+
line-height: 66px;
|
475
|
+
color: #ffffff;
|
476
|
+
font-size: 30px;
|
477
|
+
}
|
478
|
+
.widget .widget-footer {
|
479
|
+
border-top: 1px solid #e9e9e9;
|
480
|
+
padding: 10px;
|
481
|
+
}
|
482
|
+
.widget .widget-title .pagination,
|
483
|
+
.widget .widget-footer .pagination {
|
484
|
+
margin: 0;
|
485
|
+
}
|
486
|
+
.widget .widget-content .title {
|
487
|
+
font-size: 28px;
|
488
|
+
display: block;
|
489
|
+
}
|