Actualizacinnn de plantilla de items

This commit is contained in:
Luca 2018-02-15 19:26:12 +01:00
parent a605b9bca6
commit dc992dd9e5
309 changed files with 59605 additions and 37 deletions

View File

@ -7,7 +7,9 @@ angular.module('anApp',[
]);
jQuery(document).ready(function() {
//console.log('ready');
console.log('ready');
//$('video, audio').mediaelementplayer();
//
//var slsh;
//var slsh = new SlideShow('.slideshow', {timeout: 5000});
/*jQuery(document)

View File

@ -5,30 +5,11 @@ angular.
//'<a ng-repeat="item in $ctrl.catalog" class="square" style="background-image:url(\'{{item.img}}\');" ng-href="#!/catalog/{{item.id}}"></a>',
controller :
function($scope, $http, $routeParams) {
$http.get('wp-json/wp/v2/entrevista').then(function(res) {
console.log(res.data);
$scope.entrevistas = res.data;
$http.get('wp-json/wp/v2/entrevista/?per_page=100').then(function(res) {
$scope.entrevistas = res.data;
console.log(res);
});
}
/*function anListController() {
this.catalog = [
{ id: '1', title: 'Item 1', description: 'Description 1', img: 'assets/anorga1.jpg'},
{ id: '2',title: 'Item 2', description: 'Description 2', img: 'assets/anorga2.jpg'},
{ id: '3', title: 'Item 2', description: 'Description 2', img: 'assets/anorga3.jpg'},
{ id: '4', title: 'Item 2', description: 'Description 2', img: 'assets/anorga4.jpg'},
{ id: '5', title: 'Item 2', description: 'Description 2', img: 'assets/anorga5.jpg'},
{ id: '6', title: 'Item 2', description: 'Description 2', img: 'assets/anorga6.jpg'},
{ id: '7', title: 'Item 2', description: 'Description 2', img: 'assets/anorga7.jpg'},
{ id: '8', title: 'Item 2', description: 'Description 2', img: 'assets/anorga8.jpg'},
{ id: '9', title: 'Item 2', description: 'Description 2', img: 'assets/anorga9.jpg'},
{ id: '9', title: 'Item 2', description: 'Description 2', img: 'assets/anorga.jpg'},
{ id: '9', title: 'Item 2', description: 'Description 2', img: 'assets/anorga1.jpg'},
{ id: '9', title: 'Item 2', description: 'Description 2', img: 'assets/anorga3.jpg'},
{ id: '9', title: 'Item 2', description: 'Description 2', img: 'assets/anorga5.jpg'},
{ id: '9', title: 'Item 2', description: 'Description 2', img: 'assets/anorga2.jpg'},
{ id: '10', title: 'Item 2', description: 'Description 2', img: 'assets/anorga10.jpg'}
]
}*/
});
@ -63,9 +44,14 @@ angular
.module('catalog')
.component('anContent',{
templateUrl: localized.partials + 'content.template.html',
controller: function($scope, $http, $routeParams, $sce) {
controller: function($scope, $http, $routeParams, $sce,$rootScope) {
$rootScope.startLoading();
console.log($routeParams.slug);
window.scrollTo(0,0);
$http.get('wp-json/wp/v2/pages/?slug='+$routeParams.slug).then(function(res) { $scope.post = res.data[0]; $scope.content = $sce.trustAsHtml($scope.post.content.rendered); });
$http.get('wp-json/wp/v2/pages/?slug='+$routeParams.slug).then(function(res) {
$scope.post = res.data[0];
$scope.content = $sce.trustAsHtml($scope.post.content.rendered);
$rootScope.stopLoading();
});
}
});

View File

@ -1,12 +1,14 @@
angular.
module('catalog').
config(['$locationProvider', '$routeProvider',
function config($locationProvider, $routeProvider) {
//$locationProvider.hashPrefix('!');
config(['$locationProvider', '$routeProvider','cfpLoadingBarProvider',
function config($locationProvider, $routeProvider,cfpLoadingBarProvider) {
cfpLoadingBarProvider.includeSpinner = false;
cfpLoadingBarProvider.parentSelector = 'header';
$locationProvider.html5Mode(true);
var a = window.location.host.split('.')[0];
$routeProvider
$routeProvider
.when('/',{ template: '<an-home></an-home>'})
.when('/catalog2', { redirectTo: '/catalog'})
.when('/catalog', {
template: '<an-list></an-list>'
})
@ -14,11 +16,19 @@ angular.
template: '<an-detail></an-detail>'
})
.when('/info', {template: '<an-info></an-info>'})
//.when('/contact', {template: '<an-contact></an-contact>'})
.when('/:slug',{template: '<an-content></an-content>'})
.otherwise({ redirectTo: '/'});
}
]).
run(function($rootScope) {
$rootScope.$on('$stateChangeStart',
function(event,toState,toParams,fromState,fromParams) { console.log('statechangestart'); });
$rootScope.loading = false;
$rootScope.startLoading = function() {
console.log('start');
}
$rootScope.stopLoading = function() {
console.log('stop');
}
});

View File

@ -1,3 +1,3 @@
angular.module('catalog', [
'ngRoute']);
'ngRoute','angular-loading-bar']);

View File

@ -6,7 +6,7 @@ angular.
//console.log($routeParams.slug);
$scope.lang = SubdomainService.subdomain;
$http.get('wp-json/wp/v2/entrevista/?slug='+$routeParams.slug).then(function(res) {
//console.log(res.data[0]);
console.log(res.data[0]);
$scope.post = res.data[0];
});
}

View File

@ -110,3 +110,9 @@ h2 {font-weight:bold; color: rgba(255,153,51.255);}
.slideshow-static { padding:0; }
.slideshow-static li { list-style:none;}
#loading-bar .bar {
background: #ff9933 !important;
}
div.post-header div.row { background:rgba(0,0,0,0.8);}

View File

@ -6,15 +6,19 @@ function anorgatarrak_scripts() {
wp_enqueue_style( 'anorgatarrak', get_template_directory_uri() . '/css/anorgatarrak.css',false,'1.1','all');
wp_enqueue_style( 'slideshow', get_template_directory_uri() . '/node_modules/simple-slideshow/src/slideshow.css',false,'1.1','all');
wp_enqueue_style( 'google-fonts', 'https://fonts.googleapis.com/css?family=Montserrat|Nothing+You+Could+Do|Roboto',false,'1.1','all');
wp_enqueue_style('angular-loading-bar', get_template_directory_uri() . '/node_modules/angular-loading-bar/src/loading-bar.css');
wp_enqueue_style('mediaelement', get_template_directory_uri() . '/node_modules/mediaelement/build/mediaelementplayer.min.css');
//Scripts
wp_enqueue_script('html5shiv', 'https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js');
wp_enqueue_script('respond', 'https://oss.maxcdn.com/respond/1.4.2/respond.min.js');
wp_enqueue_script('mediaelement', get_template_directory_uri().'/node_modules/mediaelement/build/mediaelement-and-player.min.js');
wp_enqueue_script('slideshow', get_template_directory_uri() .'/node_modules/simple-slideshow/src/slideshow.js');
wp_enqueue_script('jquery', get_template_directory_uri() .'/node_modules/jquery/dist/jquery.min.js');
wp_enqueue_script('bootstrap', get_template_directory_uri() .'/node_modules/bootstrap/dist/js/bootstrap.min.js');
wp_enqueue_script('angularjs', get_template_directory_uri() .'/node_modules/angular/angular.js');
wp_enqueue_script('angularjs-route', get_template_directory_uri() .'/node_modules/angular-route/angular-route.js');
wp_enqueue_script('angularjs-sanitize', get_stylesheet_directory_uri() . '/node_modules/angular-sanitize/angular-sanitize.min.js');
wp_enqueue_script('angular-loading-bar', get_stylesheet_directory_uri() . '/node_modules/angular-loading-bar/src/loading-bar.js');
wp_enqueue_script('anorgatarrak', get_template_directory_uri() .'/app/anorgatarrak.js');
wp_enqueue_script('catalog-module', get_template_directory_uri() .'/app/catalog/catalog.module.js');
wp_enqueue_script('catalog-config', get_template_directory_uri() .'/app/catalog/catalog.config.js');

21
node_modules/angular-loading-bar/.editorconfig generated vendored Normal file
View File

@ -0,0 +1,21 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org
root = true
[*]
# Change these settings to your own preference
indent_style = space
indent_size = 2
# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

93
node_modules/angular-loading-bar/.jshintrc generated vendored Normal file
View File

@ -0,0 +1,93 @@
{
"globals": {
"angular": false
},
"bitwise" : true, // Prohibit bitwise operators (&, |, ^, etc.).
"curly" : true, // Require {} for every new block or scope.
"eqeqeq" : true, // Require triple equals i.e. `===`.
"forin" : true, // Tolerate `for in` loops without `hasOwnPrototype`.
"immed" : true, // Require immediate invocations to be wrapped in parens e.g. `( function(){}() );`
"latedef" : true, // Prohibit variable use before definition.
"newcap" : true, // Require capitalization of all constructor functions e.g. `new F()`.
"noarg" : true, // Prohibit use of `arguments.caller` and `arguments.callee`.
"noempty" : true, // Prohibit use of empty blocks.
"nonew" : true, // Prohibit use of constructors for side-effects.
"plusplus" : false, // Prohibit use of `++` & `--`.
"regexp" : true, // Prohibit `.` and `[^...]` in regular expressions.
"undef" : true, // Require all non-global variables be declared before they are used.
"strict" : false, // Require `use strict` pragma in every file.
"trailing" : true, // Prohibit trailing whitespaces.
// Relaxing options:
"asi" : false, // Tolerate Automatic Semicolon Insertion (no semicolons).
"boss" : false, // Tolerate assignments inside if, for & while. Usually conditions & loops are for comparison, not assignments.
"debug" : false, // Allow debugger statements e.g. browser breakpoints.
"eqnull" : false, // Tolerate use of `== null`.
"es5" : false, // Allow EcmaScript 5 syntax.
"esnext" : false, // Allow ES.next specific features such as `const` and `let`.
"evil" : false, // Tolerate use of `eval`.
"expr" : false, // Tolerate `ExpressionStatement` as Programs.
"funcscope" : false, // Tolerate declarations of variables inside of control structures while accessing them later from the outside.
"globalstrict" : false, // Allow global "use strict" (also enables 'strict').
"iterator" : false, // Allow usage of __iterator__ property.
"lastsemic" : false, // Tolerat missing semicolons when the it is omitted for the last statement in a one-line block.
"laxbreak" : false, // Tolerate unsafe line breaks e.g. `return [\n] x` without semicolons.
"laxcomma" : false, // Suppress warnings about comma-first coding style.
"loopfunc" : false, // Allow functions to be defined within loops.
"multistr" : false, // Tolerate multi-line strings.
"onecase" : false, // Tolerate switches with just one case.
"proto" : false, // Tolerate __proto__ property. This property is deprecated.
"regexdash" : false, // Tolerate unescaped last dash i.e. `[-...]`.
"scripturl" : false, // Tolerate script-targeted URLs.
"smarttabs" : false, // Tolerate mixed tabs and spaces when the latter are used for alignmnent only.
"shadow" : false, // Allows re-define variables later in code e.g. `var x=1; x=2;`.
"sub" : false, // Tolerate all forms of subscript notation besides dot notation e.g. `dict['key']` instead of `dict.key`.
"supernew" : false, // Tolerate `new function () { ... };` and `new Object;`.
"validthis" : false, // Tolerate strict violations when the code is running in strict mode and you use this in a non-constructor function.
// == Environments ====================================================
//
// These options pre-define global variables that are exposed by
// popular JavaScript libraries and runtime environments—such as
// browser or node.js.
"browser" : true, // Standard browser globals e.g. `window`, `document`.
"couch" : false, // Enable globals exposed by CouchDB.
"devel" : false, // Allow development statements e.g. `console.log();`.
"dojo" : false, // Enable globals exposed by Dojo Toolkit.
"jquery" : false, // Enable globals exposed by jQuery JavaScript library.
"mootools" : false, // Enable globals exposed by MooTools JavaScript framework.
"node" : false, // Enable globals available when code is running inside of the NodeJS runtime environment.
"nonstandard" : false, // Define non-standard but widely adopted globals such as escape and unescape.
"prototypejs" : false, // Enable globals exposed by Prototype JavaScript framework.
"rhino" : false, // Enable globals available when your code is running inside of the Rhino runtime environment.
"wsh" : false, // Enable globals available when your code is running as a script for the Windows Script Host.
// == JSLint Legacy ===================================================
//
// These options are legacy from JSLint. Aside from bug fixes they will
// not be improved in any way and might be removed at any point.
"nomen" : false, // Prohibit use of initial or trailing underbars in names.
"onevar" : false, // Allow only one `var` statement per function.
"passfail" : false, // Stop on first error.
"white" : false, // Check against strict whitespace and indentation rules.
// == Undocumented Options ============================================
//
// While I've found these options in [example1][2] and [example2][3]
// they are not described in the [JSHint Options documentation][4].
//
// [4]: http://www.jshint.com/options/
"maxerr" : 100, // Maximum errors before stopping.
"predef" : [ // Extra globals.
//"exampleVar",
//"anotherCoolGlobal",
//"iLoveDouglas"
],
"indent" : 2 // Specify indentation spacing
}

3
node_modules/angular-loading-bar/.npmignore generated vendored Normal file
View File

@ -0,0 +1,3 @@
node_modules
test/coverage
bower_components

81
node_modules/angular-loading-bar/CHANGELOG.md generated vendored Normal file
View File

@ -0,0 +1,81 @@
Changelog
==========
## 0.9.0
- resolved issue with parentSelector when parent has no children
([#244](https://github.com/chieffancypants/angular-loading-bar/pull/244))
([#251](https://github.com/chieffancypants/angular-loading-bar/issues/251))
([#239](https://github.com/chieffancypants/angular-loading-bar/issues/239))
([#179](https://github.com/chieffancypants/angular-loading-bar/issues/179))
- added style property to package.json
([#271](https://github.com/chieffancypants/angular-loading-bar/pull/271))
([#231](https://github.com/chieffancypants/angular-loading-bar/pull/231))
- Removed duplicated property declaration in CSS
([#226](https://github.com/chieffancypants/angular-loading-bar/pull/226))
## 0.8.0
- auto incrementing is now configurable
([#209](https://github.com/chieffancypants/angular-loading-bar/pull/209))
- removed `version` from bower.json
([#207](https://github.com/chieffancypants/angular-loading-bar/pull/207))
- added support for webpack and browserify
([#200](https://github.com/chieffancypants/angular-loading-bar/pull/200))
- spinner border radius 10px -> 50%
([#184](https://github.com/chieffancypants/angular-loading-bar/issues/184))
## 0.7.1
- Merge correct PR for broken interceptor detection ([#133](https://github.com/chieffancypants/angular-loading-bar/pull/133), [#50](https://github.com/chieffancypants/angular-loading-bar/pull/50))
## 0.7.0
- Changes for animate.enter compatibility for 1.2 and 1.3 ([#170](https://github.com/chieffancypants/angular-loading-bar/pull/170))
- Detect errors with other interceptors ([#133](https://github.com/chieffancypants/angular-loading-bar/pull/133), [#50](https://github.com/chieffancypants/angular-loading-bar/pull/50))
- Provide more detail on response/responseError events ([#128](https://github.com/chieffancypants/angular-loading-bar/pull/128))
- Change angular dependency in bower ([#126](https://github.com/chieffancypants/angular-loading-bar/issues/126))
## 0.6.0
- Customize progress bar template: ([#111](https://github.com/chieffancypants/angular-loading-bar/pull/111))
- Only append bar to first parent found ([#108](https://github.com/chieffancypants/angular-loading-bar/pull/108))
## 0.5.2:
Fixes for Angular 1.3 breaking changes:
- Circular dependencies: ([#98](https://github.com/chieffancypants/angular-loading-bar/issues/98)), ([#101](https://github.com/chieffancypants/angular-loading-bar/pull/101))
- $animate no longer accepts callbacks: ([#102](https://github.com/chieffancypants/angular-loading-bar/pull/102))
## 0.5.1
- Reworked cache logic to allow cache:true ([#96](https://github.com/chieffancypants/angular-loading-bar/pull/96))
## 0.5.0
- Added spinner template configuration ([#82](https://github.com/chieffancypants/angular-loading-bar/pull/82))
- $timeout was not canceled properly ([#79](https://github.com/chieffancypants/angular-loading-bar/pull/79))
## 0.4.3
- update z-index to work with other css frameworks ([#69](https://github.com/chieffancypants/angular-loading-bar/pull/69))
- ignoreLoadingBar not ignored when calculating percentage complete ([#70](https://github.com/chieffancypants/angular-loading-bar/pull/70))
## 0.4.2
- Split loading bar into different modules so they can be included separately ([#46](https://github.com/chieffancypants/angular-loading-bar/issues/46))
## 0.4.1
- Fix for route views defined on body where loading bar is also attached ([#56](https://github.com/chieffancypants/angular-loading-bar/issues/56))
## 0.4.0
- Initial load percentage is now configurable ([#47](https://github.com/chieffancypants/angular-loading-bar/issues/47))
- Peg graphic reworked so the loadingbar does not require CSS changes when not at the very top of the page ([#42](https://github.com/chieffancypants/angular-loading-bar/issues/42), [#45](https://github.com/chieffancypants/angular-loading-bar/issues/45), [#10](https://github.com/chieffancypants/angular-loading-bar/issues/10))
- z-index of spinner increased to work with Bootstrap 3 z-indexes ([#53](https://github.com/chieffancypants/angular-loading-bar/issues/53))
## 0.3.0
- Loading bar only appears on XHR requests with high latency ([#27](https://github.com/chieffancypants/angular-loading-bar/issues/27))
## 0.2.0
- Progression bar not calculated correctly for consecutive calls within the 500ms delay ([#29](https://github.com/chieffancypants/angular-loading-bar/issues/29), [#32](https://github.com/chieffancypants/angular-loading-bar/issues/32))
- Event broadcasts when loading (#31)
## 0.1.1
- Alias chieffancypants.loadingbar to angular-loading-bar (#25, #19)
## 0.1.0
- Fixed issues with Angular 1.2-rc3+
- Ability to ignore particular XHR requests (#21)
- Broadcasting of events (#18)

17
node_modules/angular-loading-bar/CONTRIBUTING.md generated vendored Normal file
View File

@ -0,0 +1,17 @@
### Submitting a PR
Excellent! You've chosen to help advance the project by either fixing a bug, or implementing a new feature. Before you put forth any work on a PR, please follow these steps:
1. Ensure a similar PR has not already been opened or closed.
1. Clearly define the intent of the PR. The more detail, the more likelihood of it getting merged.
1. Is this a feature that would benefit the **majority** of users? This is a small library, and it intends to stay that way. If you do not believe most users of the project will benefit from your work, it should probably be added in your own application.
1. Be sure to include test cases that cover all newly introduced code. This part is essential, as any PRs without tests will be closed.
1. Link any [issues](https://github.com/chieffancypants/angular-loading-bar/issues) that are addressed by the PR.
### Submitting a bug report
If you believe you've found a bug in the source code, and are unable to fix it yourself (by submitting a PR) please follow these steps:
1. Ensure the bug has not already been reported by searching the [issues](https://github.com/chieffancypants/angular-loading-bar/issues)
1. Submit a reduced test case that clearly demonstrates the bug. This means submitting a plunker or jsfiddle with the bare minimum of code necessary to reproduce the bug. Without this, your issue may be closed as invalid.
1. Include any relevant browser information
1. If you're unable to fix this bug yourself, but can point to why it is occuring, please send that information along (line# or commit)

102
node_modules/angular-loading-bar/Gruntfile.js generated vendored Normal file
View File

@ -0,0 +1,102 @@
/*global module:false*/
module.exports = function(grunt) {
grunt.initConfig({
// Metadata.
pkg: grunt.file.readJSON('package.json'),
banner: '/*! \n * <%= pkg.title || pkg.name %> v<%= pkg.version %>\n' +
' * <%= pkg.homepage %>\n' +
' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
' * License: <%= pkg.license %>\n' +
' */\n',
// Task configuration.
uglify: {
options: {
banner: '<%= banner %>',
report: 'gzip'
},
build: {
src: 'src/loading-bar.js',
dest: 'build/loading-bar.min.js'
}
},
cssmin: {
options: {
banner: '<%= banner %>',
report: 'gzip'
},
minify: {
src: 'src/loading-bar.css',
dest: 'build/loading-bar.min.css'
}
},
karma: {
unit: {
configFile: 'test/karma-angular-1.2.conf.js',
singleRun: true,
coverageReporter: {
type: 'text',
dir: 'coverage/'
}
},
unit13: {
configFile: 'test/karma-angular-1.3.conf.js',
singleRun: true,
coverageReporter: {
type: 'text',
dir: 'coverage/'
}
},
unit14: {
configFile: 'test/karma-angular-1.4.conf.js',
singleRun: true,
coverageReporter: {
type: 'text',
dir: 'coverage/'
}
},
watch: {
configFile: 'test/karma-angular-1.2.conf.js',
singleRun: false,
reporters: ['progress'] // Don't display coverage
}
},
jshint: {
jshintrc: '.jshintrc',
gruntfile: {
src: 'Gruntfile.js'
},
src: {
src: ['src/*.js']
}
},
concat: {
build: {
options: {
banner: '<%= banner %>'
},
files: {
'build/loading-bar.css': 'src/loading-bar.css',
'build/loading-bar.js': 'src/loading-bar.js',
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-karma');
grunt.registerTask('default', ['jshint', 'karma:unit', 'karma:unit13', 'karma:unit14', 'uglify', 'cssmin', 'concat:build']);
grunt.registerTask('test', ['karma:watch']);
grunt.registerTask('build', ['default']);
};

14
node_modules/angular-loading-bar/ISSUE_TEMPLATE.md generated vendored Normal file
View File

@ -0,0 +1,14 @@
#### Description of bug:
#### Expected result:
#### Actual result:
#### Browsers affected:
#### URL of reduced test case:

20
node_modules/angular-loading-bar/LICENSE generated vendored Normal file
View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2013-2014 Wes Cruver
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,13 @@
#### Summary:
Provide a general description of the code changes in your pull
request. If bugs were fixed, please document the changes and why
they were introduced.
Please ensure that your PR contains test cases that cover all new
code and any changes to existing code. Without tests, your PR is
likely to be closed without merging.
#### Related issues:
Please review the [issues](https://github.com/chieffancypants/angular-loading-bar/issues)
page, and link any issues that are addressed or related to this PR.

190
node_modules/angular-loading-bar/README.md generated vendored Normal file
View File

@ -0,0 +1,190 @@
angular-loading-bar
===================
The idea is simple: Add a loading bar / progress bar whenever an XHR request goes out in angular. Multiple requests within the same time period get bundled together such that each response increments the progress bar by the appropriate amount.
This is mostly cool because you simply include it in your app, and it works. There's no complicated setup, and no need to maintain the state of the loading bar; it's all handled automatically by the interceptor.
**Requirements:** AngularJS 1.2+
**File Size:** 2.4Kb minified, 0.5Kb gzipped
## Usage:
1. include the loading bar as a dependency for your app. If you want animations, include `ngAnimate` as well. *note: ngAnimate is optional*
```js
angular.module('myApp', ['angular-loading-bar', 'ngAnimate'])
```
2. include the supplied JS and CSS file (or create your own CSS to override defaults).
```html
<link rel='stylesheet' href='build/loading-bar.min.css' type='text/css' media='all' />
<script type='text/javascript' src='build/loading-bar.min.js'></script>
```
3. That's it -- you're done!
#### via bower:
```
$ bower install angular-loading-bar
```
#### via npm:
```
$ npm install angular-loading-bar
```
#### via CDN:
```html
<link rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/angular-loading-bar/0.7.1/loading-bar.min.css' type='text/css' media='all' />
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/angular-loading-bar/0.7.1/loading-bar.min.js'></script>
```
## Why I created this
There are a couple projects similar to this out there, but none were ideal for me. All implementations I've seen require that you maintain state on behalf of the loading bar. In other words, you're setting the value of the loading/progress bar manually from potentially many different locations. This becomes complicated when you have a very large application with several services all making independent XHR requests. It becomes even more complicated if you want these services to be loosly coupled.
Additionally, Angular was created as a highly testable framework, so it pains me to see Angular modules without tests. That is not the case here as this loading bar ships with 100% code coverage.
**Goals for this project:**
1. Make it automatic
2. Unit tests, 100% coverage
3. Must work well with ngAnimate
4. Must be styled via external CSS (not inline)
5. No jQuery dependencies
## Configuration
#### Turn the spinner on or off:
The insertion of the spinner can be controlled through configuration. It's on by default, but if you'd like to turn it off, simply configure the service:
```js
angular.module('myApp', ['angular-loading-bar'])
.config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) {
cfpLoadingBarProvider.includeSpinner = false;
}])
```
#### Turn the loading bar on or off:
Like the spinner configuration above, the loading bar can also be turned off for cases where you only want the spinner:
```js
angular.module('myApp', ['angular-loading-bar'])
.config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) {
cfpLoadingBarProvider.includeBar = false;
}])
```
#### Customize the template:
If you'd like to replace the default HTML template you can configure it by providing inline HTML as a string:
```js
angular.module('myApp', ['angular-loading-bar'])
.config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) {
cfpLoadingBarProvider.spinnerTemplate = '<div><span class="fa fa-spinner">Loading...</div>';
}])
```
#### Latency Threshold
By default, the loading bar will only display after it has been waiting for a response for over 100ms. This helps keep things feeling snappy, and avoids the annoyingness of showing a loading bar every few seconds on really chatty applications. This threshold is totally configurable:
```js
angular.module('myApp', ['angular-loading-bar'])
.config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) {
cfpLoadingBarProvider.latencyThreshold = 500;
}])
```
#### Ignoring particular XHR requests:
The loading bar can also be forced to ignore certain requests, for example, when long-polling or periodically sending debugging information back to the server.
```js
// ignore a particular $http GET:
$http.get('/status', {
ignoreLoadingBar: true
});
// ignore a particular $http POST. Note: POST and GET have different
// method signatures:
$http.post('/save', data, {
ignoreLoadingBar: true
});
```
```js
// ignore particular $resource requests:
.factory('Restaurant', function($resource) {
return $resource('/api/restaurant/:id', {id: '@id'}, {
query: {
method: 'GET',
isArray: true,
ignoreLoadingBar: true
}
});
});
```
## How it works:
This library is split into two modules, an $http `interceptor`, and a `service`:
**Interceptor**
The interceptor simply listens for all outgoing XHR requests, and then instructs the loadingBar service to start, stop, and increment accordingly. There is no public API for the interceptor. It can be used stand-alone by including `cfp.loadingBarInterceptor` as a dependency for your module.
**Service**
The service is responsible for the presentation of the loading bar. It injects the loading bar into the DOM, adjusts the width whenever `set()` is called, and `complete()`s the whole show by removing the loading bar from the DOM.
## Service API (advanced usage)
Under normal circumstances you won't need to use this. However, if you wish to use the loading bar without the interceptor, you can do that as well. Simply include the loading bar service as a dependency instead of the main `angular-loading-bar` module:
```js
angular.module('myApp', ['cfp.loadingBar'])
```
```js
cfpLoadingBar.start();
// will insert the loading bar into the DOM, and display its progress at 1%.
// It will automatically call `inc()` repeatedly to give the illusion that the page load is progressing.
cfpLoadingBar.inc();
// increments the loading bar by a random amount.
// It is important to note that the auto incrementing will begin to slow down as
// the progress increases. This is to prevent the loading bar from appearing
// completed (or almost complete) before the XHR request has responded.
cfpLoadingBar.set(0.3) // Set the loading bar to 30%
cfpLoadingBar.status() // Returns the loading bar's progress.
// -> 0.3
cfpLoadingBar.complete()
// Set the loading bar's progress to 100%, and then remove it from the DOM.
```
## Events
The loading bar broadcasts the following events over $rootScope allowing further customization:
**`cfpLoadingBar:loading`** triggered upon each XHR request that is not already cached
**`cfpLoadingBar:loaded`** triggered each time an XHR request recieves a response (either successful or error)
**`cfpLoadingBar:started`** triggered once upon the first XHR request. Will trigger again if another request goes out after `cfpLoadingBar:completed` has triggered.
**`cfpLoadingBar:completed`** triggered once when the all XHR requests have returned (either successfully or not)
## Credits:
Credit goes to [rstacruz](https://github.com/rstacruz) for his excellent [nProgress](https://github.com/rstacruz/nprogress).
## License:
Licensed under the MIT license

31
node_modules/angular-loading-bar/bower.json generated vendored Normal file
View File

@ -0,0 +1,31 @@
{
"name": "angular-loading-bar",
"main": [
"build/loading-bar.js",
"build/loading-bar.css"
],
"ignore": [
"**/.*",
"node_modules",
"components",
"test",
"example"
],
"dependencies": {
"angular": "^1.2.9"
},
"devDependencies": {
"angular": "~1.2.23",
"angular-1.3": "angular#1.3",
"angular-1.4": "angular#1.4",
"angular-mocks": "~1.2.9",
"angular-mocks-1.3": "angular-mocks#1.3",
"angular-mocks-1.4": "angular-mocks#1.4",
"angular-animate": "~1.2.9",
"angular-animate-1.3": "angular-animate#1.3",
"angular-animate-1.4": "angular-animate#1.4"
},
"resolutions": {
"angular": "~1.2.23"
}
}

110
node_modules/angular-loading-bar/build/loading-bar.css generated vendored Normal file
View File

@ -0,0 +1,110 @@
/*!
* angular-loading-bar v0.9.0
* https://chieffancypants.github.io/angular-loading-bar
* Copyright (c) 2016 Wes Cruver
* License: MIT
*/
/* Make clicks pass-through */
#loading-bar,
#loading-bar-spinner {
pointer-events: none;
-webkit-pointer-events: none;
-webkit-transition: 350ms linear all;
-moz-transition: 350ms linear all;
-o-transition: 350ms linear all;
transition: 350ms linear all;
}
#loading-bar.ng-enter,
#loading-bar.ng-leave.ng-leave-active,
#loading-bar-spinner.ng-enter,
#loading-bar-spinner.ng-leave.ng-leave-active {
opacity: 0;
}
#loading-bar.ng-enter.ng-enter-active,
#loading-bar.ng-leave,
#loading-bar-spinner.ng-enter.ng-enter-active,
#loading-bar-spinner.ng-leave {
opacity: 1;
}
#loading-bar .bar {
-webkit-transition: width 350ms;
-moz-transition: width 350ms;
-o-transition: width 350ms;
transition: width 350ms;
background: #29d;
position: fixed;
z-index: 10002;
top: 0;
left: 0;
width: 100%;
height: 2px;
border-bottom-right-radius: 1px;
border-top-right-radius: 1px;
}
/* Fancy blur effect */
#loading-bar .peg {
position: absolute;
width: 70px;
right: 0;
top: 0;
height: 2px;
opacity: .45;
-moz-box-shadow: #29d 1px 0 6px 1px;
-ms-box-shadow: #29d 1px 0 6px 1px;
-webkit-box-shadow: #29d 1px 0 6px 1px;
box-shadow: #29d 1px 0 6px 1px;
-moz-border-radius: 100%;
-webkit-border-radius: 100%;
border-radius: 100%;
}
#loading-bar-spinner {
display: block;
position: fixed;
z-index: 10002;
top: 10px;
left: 10px;
}
#loading-bar-spinner .spinner-icon {
width: 14px;
height: 14px;
border: solid 2px transparent;
border-top-color: #29d;
border-left-color: #29d;
border-radius: 50%;
-webkit-animation: loading-bar-spinner 400ms linear infinite;
-moz-animation: loading-bar-spinner 400ms linear infinite;
-ms-animation: loading-bar-spinner 400ms linear infinite;
-o-animation: loading-bar-spinner 400ms linear infinite;
animation: loading-bar-spinner 400ms linear infinite;
}
@-webkit-keyframes loading-bar-spinner {
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@-moz-keyframes loading-bar-spinner {
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
}
@-o-keyframes loading-bar-spinner {
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
}
@-ms-keyframes loading-bar-spinner {
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes loading-bar-spinner {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

341
node_modules/angular-loading-bar/build/loading-bar.js generated vendored Normal file
View File

@ -0,0 +1,341 @@
/*!
* angular-loading-bar v0.9.0
* https://chieffancypants.github.io/angular-loading-bar
* Copyright (c) 2016 Wes Cruver
* License: MIT
*/
/*
* angular-loading-bar
*
* intercepts XHR requests and creates a loading bar.
* Based on the excellent nprogress work by rstacruz (more info in readme)
*
* (c) 2013 Wes Cruver
* License: MIT
*/
(function() {
'use strict';
// Alias the loading bar for various backwards compatibilities since the project has matured:
angular.module('angular-loading-bar', ['cfp.loadingBarInterceptor']);
angular.module('chieffancypants.loadingBar', ['cfp.loadingBarInterceptor']);
/**
* loadingBarInterceptor service
*
* Registers itself as an Angular interceptor and listens for XHR requests.
*/
angular.module('cfp.loadingBarInterceptor', ['cfp.loadingBar'])
.config(['$httpProvider', function ($httpProvider) {
var interceptor = ['$q', '$cacheFactory', '$timeout', '$rootScope', '$log', 'cfpLoadingBar', function ($q, $cacheFactory, $timeout, $rootScope, $log, cfpLoadingBar) {
/**
* The total number of requests made
*/
var reqsTotal = 0;
/**
* The number of requests completed (either successfully or not)
*/
var reqsCompleted = 0;
/**
* The amount of time spent fetching before showing the loading bar
*/
var latencyThreshold = cfpLoadingBar.latencyThreshold;
/**
* $timeout handle for latencyThreshold
*/
var startTimeout;
/**
* calls cfpLoadingBar.complete() which removes the
* loading bar from the DOM.
*/
function setComplete() {
$timeout.cancel(startTimeout);
cfpLoadingBar.complete();
reqsCompleted = 0;
reqsTotal = 0;
}
/**
* Determine if the response has already been cached
* @param {Object} config the config option from the request
* @return {Boolean} retrns true if cached, otherwise false
*/
function isCached(config) {
var cache;
var defaultCache = $cacheFactory.get('$http');
var defaults = $httpProvider.defaults;
// Choose the proper cache source. Borrowed from angular: $http service
if ((config.cache || defaults.cache) && config.cache !== false &&
(config.method === 'GET' || config.method === 'JSONP')) {
cache = angular.isObject(config.cache) ? config.cache
: angular.isObject(defaults.cache) ? defaults.cache
: defaultCache;
}
var cached = cache !== undefined ?
cache.get(config.url) !== undefined : false;
if (config.cached !== undefined && cached !== config.cached) {
return config.cached;
}
config.cached = cached;
return cached;
}
return {
'request': function(config) {
// Check to make sure this request hasn't already been cached and that
// the requester didn't explicitly ask us to ignore this request:
if (!config.ignoreLoadingBar && !isCached(config)) {
$rootScope.$broadcast('cfpLoadingBar:loading', {url: config.url});
if (reqsTotal === 0) {
startTimeout = $timeout(function() {
cfpLoadingBar.start();
}, latencyThreshold);
}
reqsTotal++;
cfpLoadingBar.set(reqsCompleted / reqsTotal);
}
return config;
},
'response': function(response) {
if (!response || !response.config) {
$log.error('Broken interceptor detected: Config object not supplied in response:\n https://github.com/chieffancypants/angular-loading-bar/pull/50');
return response;
}
if (!response.config.ignoreLoadingBar && !isCached(response.config)) {
reqsCompleted++;
$rootScope.$broadcast('cfpLoadingBar:loaded', {url: response.config.url, result: response});
if (reqsCompleted >= reqsTotal) {
setComplete();
} else {
cfpLoadingBar.set(reqsCompleted / reqsTotal);
}
}
return response;
},
'responseError': function(rejection) {
if (!rejection || !rejection.config) {
$log.error('Broken interceptor detected: Config object not supplied in rejection:\n https://github.com/chieffancypants/angular-loading-bar/pull/50');
return $q.reject(rejection);
}
if (!rejection.config.ignoreLoadingBar && !isCached(rejection.config)) {
reqsCompleted++;
$rootScope.$broadcast('cfpLoadingBar:loaded', {url: rejection.config.url, result: rejection});
if (reqsCompleted >= reqsTotal) {
setComplete();
} else {
cfpLoadingBar.set(reqsCompleted / reqsTotal);
}
}
return $q.reject(rejection);
}
};
}];
$httpProvider.interceptors.push(interceptor);
}]);
/**
* Loading Bar
*
* This service handles adding and removing the actual element in the DOM.
* Generally, best practices for DOM manipulation is to take place in a
* directive, but because the element itself is injected in the DOM only upon
* XHR requests, and it's likely needed on every view, the best option is to
* use a service.
*/
angular.module('cfp.loadingBar', [])
.provider('cfpLoadingBar', function() {
this.autoIncrement = true;
this.includeSpinner = true;
this.includeBar = true;
this.latencyThreshold = 100;
this.startSize = 0.02;
this.parentSelector = 'body';
this.spinnerTemplate = '<div id="loading-bar-spinner"><div class="spinner-icon"></div></div>';
this.loadingBarTemplate = '<div id="loading-bar"><div class="bar"><div class="peg"></div></div></div>';
this.$get = ['$injector', '$document', '$timeout', '$rootScope', function ($injector, $document, $timeout, $rootScope) {
var $animate;
var $parentSelector = this.parentSelector,
loadingBarContainer = angular.element(this.loadingBarTemplate),
loadingBar = loadingBarContainer.find('div').eq(0),
spinner = angular.element(this.spinnerTemplate);
var incTimeout,
completeTimeout,
started = false,
status = 0;
var autoIncrement = this.autoIncrement;
var includeSpinner = this.includeSpinner;
var includeBar = this.includeBar;
var startSize = this.startSize;
/**
* Inserts the loading bar element into the dom, and sets it to 2%
*/
function _start() {
if (!$animate) {
$animate = $injector.get('$animate');
}
$timeout.cancel(completeTimeout);
// do not continually broadcast the started event:
if (started) {
return;
}
var document = $document[0];
var parent = document.querySelector ?
document.querySelector($parentSelector)
: $document.find($parentSelector)[0]
;
if (! parent) {
parent = document.getElementsByTagName('body')[0];
}
var $parent = angular.element(parent);
var $after = parent.lastChild && angular.element(parent.lastChild);
$rootScope.$broadcast('cfpLoadingBar:started');
started = true;
if (includeBar) {
$animate.enter(loadingBarContainer, $parent, $after);
}
if (includeSpinner) {
$animate.enter(spinner, $parent, loadingBarContainer);
}
_set(startSize);
}
/**
* Set the loading bar's width to a certain percent.
*
* @param n any value between 0 and 1
*/
function _set(n) {
if (!started) {
return;
}
var pct = (n * 100) + '%';
loadingBar.css('width', pct);
status = n;
// increment loadingbar to give the illusion that there is always
// progress but make sure to cancel the previous timeouts so we don't
// have multiple incs running at the same time.
if (autoIncrement) {
$timeout.cancel(incTimeout);
incTimeout = $timeout(function() {
_inc();
}, 250);
}
}
/**
* Increments the loading bar by a random amount
* but slows down as it progresses
*/
function _inc() {
if (_status() >= 1) {
return;
}
var rnd = 0;
// TODO: do this mathmatically instead of through conditions
var stat = _status();
if (stat >= 0 && stat < 0.25) {
// Start out between 3 - 6% increments
rnd = (Math.random() * (5 - 3 + 1) + 3) / 100;
} else if (stat >= 0.25 && stat < 0.65) {
// increment between 0 - 3%
rnd = (Math.random() * 3) / 100;
} else if (stat >= 0.65 && stat < 0.9) {
// increment between 0 - 2%
rnd = (Math.random() * 2) / 100;
} else if (stat >= 0.9 && stat < 0.99) {
// finally, increment it .5 %
rnd = 0.005;
} else {
// after 99%, don't increment:
rnd = 0;
}
var pct = _status() + rnd;
_set(pct);
}
function _status() {
return status;
}
function _completeAnimation() {
status = 0;
started = false;
}
function _complete() {
if (!$animate) {
$animate = $injector.get('$animate');
}
$rootScope.$broadcast('cfpLoadingBar:completed');
_set(1);
$timeout.cancel(completeTimeout);
// Attempt to aggregate any start/complete calls within 500ms:
completeTimeout = $timeout(function() {
var promise = $animate.leave(loadingBarContainer, _completeAnimation);
if (promise && promise.then) {
promise.then(_completeAnimation);
}
$animate.leave(spinner);
}, 500);
}
return {
start : _start,
set : _set,
status : _status,
inc : _inc,
complete : _complete,
autoIncrement : this.autoIncrement,
includeSpinner : this.includeSpinner,
latencyThreshold : this.latencyThreshold,
parentSelector : this.parentSelector,
startSize : this.startSize
};
}]; //
}); // wtf javascript. srsly
})(); //

View File

@ -0,0 +1 @@
#loading-bar,#loading-bar-spinner{pointer-events:none;-webkit-pointer-events:none;-webkit-transition:350ms linear all;-moz-transition:350ms linear all;-o-transition:350ms linear all;transition:350ms linear all}#loading-bar-spinner.ng-enter,#loading-bar-spinner.ng-leave.ng-leave-active,#loading-bar.ng-enter,#loading-bar.ng-leave.ng-leave-active{opacity:0}#loading-bar-spinner.ng-enter.ng-enter-active,#loading-bar-spinner.ng-leave,#loading-bar.ng-enter.ng-enter-active,#loading-bar.ng-leave{opacity:1}#loading-bar .bar{-webkit-transition:width 350ms;-moz-transition:width 350ms;-o-transition:width 350ms;transition:width 350ms;background:#29d;position:fixed;z-index:10002;top:0;left:0;width:100%;height:2px;border-bottom-right-radius:1px;border-top-right-radius:1px}#loading-bar .peg{position:absolute;width:70px;right:0;top:0;height:2px;opacity:.45;-moz-box-shadow:#29d 1px 0 6px 1px;-ms-box-shadow:#29d 1px 0 6px 1px;-webkit-box-shadow:#29d 1px 0 6px 1px;box-shadow:#29d 1px 0 6px 1px;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%}#loading-bar-spinner{display:block;position:fixed;z-index:10002;top:10px;left:10px}#loading-bar-spinner .spinner-icon{width:14px;height:14px;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:loading-bar-spinner 400ms linear infinite;-moz-animation:loading-bar-spinner 400ms linear infinite;-ms-animation:loading-bar-spinner 400ms linear infinite;-o-animation:loading-bar-spinner 400ms linear infinite;animation:loading-bar-spinner 400ms linear infinite}@-webkit-keyframes loading-bar-spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-bar-spinner{0%{-moz-transform:rotate(0);transform:rotate(0)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-bar-spinner{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes loading-bar-spinner{0%{-ms-transform:rotate(0);transform:rotate(0)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-bar-spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}

View File

@ -0,0 +1,7 @@
/*!
* angular-loading-bar v0.9.0
* https://chieffancypants.github.io/angular-loading-bar
* Copyright (c) 2016 Wes Cruver
* License: MIT
*/
!function(){"use strict";angular.module("angular-loading-bar",["cfp.loadingBarInterceptor"]),angular.module("chieffancypants.loadingBar",["cfp.loadingBarInterceptor"]),angular.module("cfp.loadingBarInterceptor",["cfp.loadingBar"]).config(["$httpProvider",function(a){var b=["$q","$cacheFactory","$timeout","$rootScope","$log","cfpLoadingBar",function(b,c,d,e,f,g){function h(){d.cancel(j),g.complete(),l=0,k=0}function i(b){var d,e=c.get("$http"),f=a.defaults;!b.cache&&!f.cache||b.cache===!1||"GET"!==b.method&&"JSONP"!==b.method||(d=angular.isObject(b.cache)?b.cache:angular.isObject(f.cache)?f.cache:e);var g=void 0!==d?void 0!==d.get(b.url):!1;return void 0!==b.cached&&g!==b.cached?b.cached:(b.cached=g,g)}var j,k=0,l=0,m=g.latencyThreshold;return{request:function(a){return a.ignoreLoadingBar||i(a)||(e.$broadcast("cfpLoadingBar:loading",{url:a.url}),0===k&&(j=d(function(){g.start()},m)),k++,g.set(l/k)),a},response:function(a){return a&&a.config?(a.config.ignoreLoadingBar||i(a.config)||(l++,e.$broadcast("cfpLoadingBar:loaded",{url:a.config.url,result:a}),l>=k?h():g.set(l/k)),a):(f.error("Broken interceptor detected: Config object not supplied in response:\n https://github.com/chieffancypants/angular-loading-bar/pull/50"),a)},responseError:function(a){return a&&a.config?(a.config.ignoreLoadingBar||i(a.config)||(l++,e.$broadcast("cfpLoadingBar:loaded",{url:a.config.url,result:a}),l>=k?h():g.set(l/k)),b.reject(a)):(f.error("Broken interceptor detected: Config object not supplied in rejection:\n https://github.com/chieffancypants/angular-loading-bar/pull/50"),b.reject(a))}}}];a.interceptors.push(b)}]),angular.module("cfp.loadingBar",[]).provider("cfpLoadingBar",function(){this.autoIncrement=!0,this.includeSpinner=!0,this.includeBar=!0,this.latencyThreshold=100,this.startSize=.02,this.parentSelector="body",this.spinnerTemplate='<div id="loading-bar-spinner"><div class="spinner-icon"></div></div>',this.loadingBarTemplate='<div id="loading-bar"><div class="bar"><div class="peg"></div></div></div>',this.$get=["$injector","$document","$timeout","$rootScope",function(a,b,c,d){function e(){if(k||(k=a.get("$animate")),c.cancel(m),!r){var e=b[0],g=e.querySelector?e.querySelector(n):b.find(n)[0];g||(g=e.getElementsByTagName("body")[0]);var h=angular.element(g),i=g.lastChild&&angular.element(g.lastChild);d.$broadcast("cfpLoadingBar:started"),r=!0,v&&k.enter(o,h,i),u&&k.enter(q,h,o),f(w)}}function f(a){if(r){var b=100*a+"%";p.css("width",b),s=a,t&&(c.cancel(l),l=c(function(){g()},250))}}function g(){if(!(h()>=1)){var a=0,b=h();a=b>=0&&.25>b?(3*Math.random()+3)/100:b>=.25&&.65>b?3*Math.random()/100:b>=.65&&.9>b?2*Math.random()/100:b>=.9&&.99>b?.005:0;var c=h()+a;f(c)}}function h(){return s}function i(){s=0,r=!1}function j(){k||(k=a.get("$animate")),d.$broadcast("cfpLoadingBar:completed"),f(1),c.cancel(m),m=c(function(){var a=k.leave(o,i);a&&a.then&&a.then(i),k.leave(q)},500)}var k,l,m,n=this.parentSelector,o=angular.element(this.loadingBarTemplate),p=o.find("div").eq(0),q=angular.element(this.spinnerTemplate),r=!1,s=0,t=this.autoIncrement,u=this.includeSpinner,v=this.includeBar,w=this.startSize;return{start:e,set:f,status:h,inc:g,complete:j,autoIncrement:this.autoIncrement,includeSpinner:this.includeSpinner,latencyThreshold:this.latencyThreshold,parentSelector:this.parentSelector,startSize:this.startSize}}]})}();

180
node_modules/angular-loading-bar/example/app.css generated vendored Normal file
View File

@ -0,0 +1,180 @@
body {
background-color: #ecf0f1;
/*padding: 25px;*/
font-family: 'Oxygen', sans;
width: 85%;
margin: auto;
overflow-y: scroll;
}
.thumbnail {
width: 70px;
height: 70px;
/*border: 1px solid #F1C6C2;*/
border: 1px solid #CE8982
}
a {
font-size:16px;
}
.badge {
background-color: #428bca;
}
.meta, .meta-comments {
font-size:12px;
color: #333;
margin-bottom: 0;
}
.meta-comments {
font-weight: bold;
}
footer.navbar {
height: 65px;
width: 100%;
border-top: 1px solid #ccc;
box-shadow: 0 -1px 4px rgba(0,0,0,0.15);
margin: 0;
border-radius: 0;
}
.panel {
-webkit-transition: 0.75s ease-in-out all;
-moz-transition: 0.75s ease-in-out all;
-o-transition: 0.75s ease-in-out all;
transition: 0.75s ease-in-out all;
background-color: #fff;
border: none;
margin-bottom: 15px;
}
.panel a {
color: #e74c3c;
font-weight: bold;
}
.panel .badge {
background-color: #e74c3c;
color: #fff;
}
.panel.ng-enter {
opacity: 0;
}
.panel.ng-enter-active {
opacity: 1;
transition-delay: 0.5s;
}
.panel-body {
border: 1px solid #ccc;
/*box-shadow: 0 1px 3px rgba(0,0,0,0.1);*/
border-radius: 5px;
}
.examples {
margin-bottom: 25px;
transition-delay: 0.5s;
}
.examples.ng-hide-add,
.examples.ng-hide-remove,
.loading-text.ng-hide-add,
.loading-text.ng-hide-remove {
-webkit-transition:all linear 0.5s;
-moz-transition:all linear 0.5s;
-o-transition:all linear 0.5s;
transition:all linear 0.5s;
display:block!important;
}
.examples.ng-hide-add,
.examples.ng-hide-remove {
transition-delay: 0.5s;
}
.examples.ng-hide-add.ng-hide-add-active,
.examples.ng-hide-remove,
.loading-text.ng-hide-add.ng-hide-add-active,
.loading-text.ng-hide-remove {
opacity:0;
}
.examples.ng-hide-add,
.examples.ng-hide-remove.ng-hide-remove-active,
.loading-text.ng-hide-add,
.loading-text.ng-hide-remove.ng-hide-remove-active {
opacity:1;
}
.examples .btn i {
top: 2px;
}
.examples span {
color: #A1FFC9;
}
.btn-primary {
background-color: #2ecc71;
border: 1px solid #27ae60;
}
.btn-primary:hover {
background-color: #32B96C;
border: 1px solid #27ae60;
}
.jumbotron {
color: #333;
background-color: #fff;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
border-radius: 5px;
padding-top: 5px;
padding-bottom: 10px;
margin-top: 15px;
border: 1px solid #ccc;
-webkit-transition:all linear 0.5s;
-moz-transition:all linear 0.5s;
-o-transition:all linear 0.5s;
transition:all linear 0.5s;
}
.jumbotron h1 {
color: #333;
letter-spacing: -2px;
}
.jumbotron small {
color: #999;
}
h1 {
font-family: 'Oxygen', sans;
/*padding-bottom: 10px;*/
}
h4 {
font-family: 'Oxygen', sans;
color: #888;
padding-bottom: 5px;
padding-top: 10px;
}
h4 span {
color: #e74c3c;
}
/*
* override the default CSS as an example
*/
#loading-bar .bar {
background: #2c3e50;
}
#loading-bar-spinner .spinner-icon {
border-top-color: #2c3e50;
border-left-color: #2c3e50;
}
#loading-bar .peg {
-moz-box-shadow: #2c3e50 1px 0 6px 1px;
-ms-box-shadow: #2c3e50 1px 0 6px 1px;
-webkit-box-shadow: #2c3e50 1px 0 6px 1px;
box-shadow: #2c3e50 1px 0 6px 1px;
}

49
node_modules/angular-loading-bar/example/app.js generated vendored Normal file
View File

@ -0,0 +1,49 @@
angular.module('LoadingBarExample', ['chieffancypants.loadingBar', 'ngAnimate'])
.config(function(cfpLoadingBarProvider) {
cfpLoadingBarProvider.includeSpinner = true;
})
.controller('ExampleCtrl', function ($scope, $http, $timeout, cfpLoadingBar) {
$scope.posts = [];
$scope.section = null;
$scope.subreddit = null;
$scope.subreddits = ['cats', 'pics', 'funny', 'gaming', 'AdviceAnimals', 'aww'];
var getRandomSubreddit = function() {
var sub = $scope.subreddits[Math.floor(Math.random() * $scope.subreddits.length)];
// ensure we get a new subreddit each time.
if (sub == $scope.subreddit) {
return getRandomSubreddit();
}
return sub;
};
$scope.fetch = function() {
$scope.subreddit = getRandomSubreddit();
$http.jsonp('http://www.reddit.com/r/' + $scope.subreddit + '.json?limit=50&jsonp=JSON_CALLBACK').success(function(data) {
$scope.posts = data.data.children;
});
};
$scope.start = function() {
cfpLoadingBar.start();
};
$scope.complete = function () {
cfpLoadingBar.complete();
}
// fake the initial load so first time users can see it right away:
$scope.start();
$scope.fakeIntro = true;
$timeout(function() {
$scope.complete();
$scope.fakeIntro = false;
}, 750);
});

64
node_modules/angular-loading-bar/example/index.html generated vendored Normal file
View File

@ -0,0 +1,64 @@
<!doctype html>
<html>
<head>
<!-- angular -->
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-animate.min.js"></script>
<!-- loadingbar -->
<script src="../src/loading-bar.js"></script>
<link href='../src/loading-bar.css' rel='stylesheet' />
<!-- example app -->
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<script src="app.js"></script>
<link href='app.css' rel='stylesheet' />
<link href='http://fonts.googleapis.com/css?family=Oxygen:300,400,700' rel='stylesheet' type='text/css'>
</head>
<body ng-app="LoadingBarExample" ng-controller="ExampleCtrl">
<div class="jumbotron">
<h1>Angular Loading Bar</h1>
<p>An automatic loading bar using angular interceptors.<small> It works automatically, so simply include it as a dependency and it will automatically display the progress of your $http requests.</small></p>
<p>
<a href="https://github.com/chieffancypants/angular-loading-bar" class="btn btn-primary btn-lg">
<i class="glyphicon glyphicon-download"></i>&nbsp;&nbsp;Download
</a>
<a href="https://github.com/chieffancypants/angular-loading-bar" class="btn btn-default btn-lg">
<i class="glyphicon glyphicon-random"></i>&nbsp;&nbsp;Fork on GitHub
</a>
</p>
</div>
<div class="examples" ng-hide="fakeIntro">
<!-- <h4>Examples:</h4> -->
<div class="btn-group btn-group-justified">
<a href="#" class="btn btn-primary btn-lg" ng-click="start()">
<i class="glyphicon glyphicon-play-circle"></i> <span>cfpLoadingBar.</span>start()
</a>
<a href="#" class="btn btn-primary btn-lg" ng-click="complete()">
<i class="glyphicon glyphicon-play-circle"></i> <span>cfpLoadingBar.</span>complete()
</a>
<a href="#" class="btn btn-primary btn-lg" ng-click="fetch()"><i class="glyphicon glyphicon-play-circle"></i> Real Example <span> (from reddit)</span></a>
</div>
</div>
<h4 class="loading-text" ng-show="subreddit">Showing 100 results for: <span>/r/{{subreddit}}...</span></h4>
<div ng-repeat="post in posts" class="panel panel-default">
<div class="panel-body media">
<span class="badge pull-right">{{post.data.score}}</span>
<div class="pull-left" ng-if="post.data.thumbnail">
<img class="thumbnail" ng-src="{{post.data.thumbnail}}">
</div>
<div class="">
<div class="">
<a href="{{post.data.url}}">{{post.data.title}}</a>
<p class="meta">by {{post.data.author}}</p>
<p class="meta-comments">{{post.data.num_comments}} comments</p>
</div>
</div>
</div>
</div>
</body>
</html>

2
node_modules/angular-loading-bar/index.js generated vendored Normal file
View File

@ -0,0 +1,2 @@
require('./build/loading-bar');
module.exports = 'angular-loading-bar';

70
node_modules/angular-loading-bar/package.json generated vendored Normal file
View File

@ -0,0 +1,70 @@
{
"_from": "angular-loading-bar",
"_id": "angular-loading-bar@0.9.0",
"_inBundle": false,
"_integrity": "sha1-N+9Swl8QLCFuezzf0vxaXflijkU=",
"_location": "/angular-loading-bar",
"_phantomChildren": {},
"_requested": {
"type": "tag",
"registry": true,
"raw": "angular-loading-bar",
"name": "angular-loading-bar",
"escapedName": "angular-loading-bar",
"rawSpec": "",
"saveSpec": null,
"fetchSpec": "latest"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "https://registry.npmjs.org/angular-loading-bar/-/angular-loading-bar-0.9.0.tgz",
"_shasum": "37ef52c25f102c216e7b3cdfd2fc5a5df9628e45",
"_spec": "angular-loading-bar",
"_where": "/home/lrullo/httpdocs/anorgatarrak.eus/wp-content/themes/anorgatarrak",
"author": {
"name": "Wes Cruver"
},
"bugs": {
"url": "https://github.com/chieffancypants/angular-loading-bar/issues"
},
"bundleDependencies": false,
"deprecated": false,
"description": "An automatic loading bar for AngularJS",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-concat": "^0.5.0",
"grunt-contrib-cssmin": "~0.12.0",
"grunt-contrib-jshint": "~0.6.4",
"grunt-contrib-uglify": "^0.9.1",
"grunt-karma": "~0.11.0",
"karma": "~0.12.0",
"karma-coffee-preprocessor": "^0.2.0",
"karma-coverage": "^0.1.0",
"karma-jasmine": "^0.1.3",
"karma-phantomjs-launcher": "^0.1.0"
},
"directories": {
"example": "example",
"test": "test"
},
"homepage": "https://chieffancypants.github.io/angular-loading-bar",
"keywords": [
"angular",
"angularjs",
"loading",
"loadingbar",
"progress",
"progressbar"
],
"license": "MIT",
"main": "index.js",
"name": "angular-loading-bar",
"repository": {
"type": "git",
"url": "git://github.com/chieffancypants/angular-loading-bar.git"
},
"style": "build/loading-bar.css",
"version": "0.9.0"
}

104
node_modules/angular-loading-bar/src/loading-bar.css generated vendored Normal file
View File

@ -0,0 +1,104 @@
/* Make clicks pass-through */
#loading-bar,
#loading-bar-spinner {
pointer-events: none;
-webkit-pointer-events: none;
-webkit-transition: 350ms linear all;
-moz-transition: 350ms linear all;
-o-transition: 350ms linear all;
transition: 350ms linear all;
}
#loading-bar.ng-enter,
#loading-bar.ng-leave.ng-leave-active,
#loading-bar-spinner.ng-enter,
#loading-bar-spinner.ng-leave.ng-leave-active {
opacity: 0;
}
#loading-bar.ng-enter.ng-enter-active,
#loading-bar.ng-leave,
#loading-bar-spinner.ng-enter.ng-enter-active,
#loading-bar-spinner.ng-leave {
opacity: 1;
}
#loading-bar .bar {
-webkit-transition: width 350ms;
-moz-transition: width 350ms;
-o-transition: width 350ms;
transition: width 350ms;
background: #29d;
position: fixed;
z-index: 10002;
top: 0;
left: 0;
width: 100%;
height: 2px;
border-bottom-right-radius: 1px;
border-top-right-radius: 1px;
}
/* Fancy blur effect */
#loading-bar .peg {
position: absolute;
width: 70px;
right: 0;
top: 0;
height: 2px;
opacity: .45;
-moz-box-shadow: #29d 1px 0 6px 1px;
-ms-box-shadow: #29d 1px 0 6px 1px;
-webkit-box-shadow: #29d 1px 0 6px 1px;
box-shadow: #29d 1px 0 6px 1px;
-moz-border-radius: 100%;
-webkit-border-radius: 100%;
border-radius: 100%;
}
#loading-bar-spinner {
display: block;
position: fixed;
z-index: 10002;
top: 10px;
left: 10px;
}
#loading-bar-spinner .spinner-icon {
width: 14px;
height: 14px;
border: solid 2px transparent;
border-top-color: #29d;
border-left-color: #29d;
border-radius: 50%;
-webkit-animation: loading-bar-spinner 400ms linear infinite;
-moz-animation: loading-bar-spinner 400ms linear infinite;
-ms-animation: loading-bar-spinner 400ms linear infinite;
-o-animation: loading-bar-spinner 400ms linear infinite;
animation: loading-bar-spinner 400ms linear infinite;
}
@-webkit-keyframes loading-bar-spinner {
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@-moz-keyframes loading-bar-spinner {
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
}
@-o-keyframes loading-bar-spinner {
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
}
@-ms-keyframes loading-bar-spinner {
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes loading-bar-spinner {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

335
node_modules/angular-loading-bar/src/loading-bar.js generated vendored Normal file
View File

@ -0,0 +1,335 @@
/*
* angular-loading-bar
*
* intercepts XHR requests and creates a loading bar.
* Based on the excellent nprogress work by rstacruz (more info in readme)
*
* (c) 2013 Wes Cruver
* License: MIT
*/
(function() {
'use strict';
// Alias the loading bar for various backwards compatibilities since the project has matured:
angular.module('angular-loading-bar', ['cfp.loadingBarInterceptor']);
angular.module('chieffancypants.loadingBar', ['cfp.loadingBarInterceptor']);
/**
* loadingBarInterceptor service
*
* Registers itself as an Angular interceptor and listens for XHR requests.
*/
angular.module('cfp.loadingBarInterceptor', ['cfp.loadingBar'])
.config(['$httpProvider', function ($httpProvider) {
var interceptor = ['$q', '$cacheFactory', '$timeout', '$rootScope', '$log', 'cfpLoadingBar', function ($q, $cacheFactory, $timeout, $rootScope, $log, cfpLoadingBar) {
/**
* The total number of requests made
*/
var reqsTotal = 0;
/**
* The number of requests completed (either successfully or not)
*/
var reqsCompleted = 0;
/**
* The amount of time spent fetching before showing the loading bar
*/
var latencyThreshold = cfpLoadingBar.latencyThreshold;
/**
* $timeout handle for latencyThreshold
*/
var startTimeout;
/**
* calls cfpLoadingBar.complete() which removes the
* loading bar from the DOM.
*/
function setComplete() {
$timeout.cancel(startTimeout);
cfpLoadingBar.complete();
reqsCompleted = 0;
reqsTotal = 0;
}
/**
* Determine if the response has already been cached
* @param {Object} config the config option from the request
* @return {Boolean} retrns true if cached, otherwise false
*/
function isCached(config) {
var cache;
var defaultCache = $cacheFactory.get('$http');
var defaults = $httpProvider.defaults;
// Choose the proper cache source. Borrowed from angular: $http service
if ((config.cache || defaults.cache) && config.cache !== false &&
(config.method === 'GET' || config.method === 'JSONP')) {
cache = angular.isObject(config.cache) ? config.cache
: angular.isObject(defaults.cache) ? defaults.cache
: defaultCache;
}
var cached = cache !== undefined ?
cache.get(config.url) !== undefined : false;
if (config.cached !== undefined && cached !== config.cached) {
return config.cached;
}
config.cached = cached;
return cached;
}
return {
'request': function(config) {
// Check to make sure this request hasn't already been cached and that
// the requester didn't explicitly ask us to ignore this request:
if (!config.ignoreLoadingBar && !isCached(config)) {
$rootScope.$broadcast('cfpLoadingBar:loading', {url: config.url});
if (reqsTotal === 0) {
startTimeout = $timeout(function() {
cfpLoadingBar.start();
}, latencyThreshold);
}
reqsTotal++;
cfpLoadingBar.set(reqsCompleted / reqsTotal);
}
return config;
},
'response': function(response) {
if (!response || !response.config) {
$log.error('Broken interceptor detected: Config object not supplied in response:\n https://github.com/chieffancypants/angular-loading-bar/pull/50');
return response;
}
if (!response.config.ignoreLoadingBar && !isCached(response.config)) {
reqsCompleted++;
$rootScope.$broadcast('cfpLoadingBar:loaded', {url: response.config.url, result: response});
if (reqsCompleted >= reqsTotal) {
setComplete();
} else {
cfpLoadingBar.set(reqsCompleted / reqsTotal);
}
}
return response;
},
'responseError': function(rejection) {
if (!rejection || !rejection.config) {
$log.error('Broken interceptor detected: Config object not supplied in rejection:\n https://github.com/chieffancypants/angular-loading-bar/pull/50');
return $q.reject(rejection);
}
if (!rejection.config.ignoreLoadingBar && !isCached(rejection.config)) {
reqsCompleted++;
$rootScope.$broadcast('cfpLoadingBar:loaded', {url: rejection.config.url, result: rejection});
if (reqsCompleted >= reqsTotal) {
setComplete();
} else {
cfpLoadingBar.set(reqsCompleted / reqsTotal);
}
}
return $q.reject(rejection);
}
};
}];
$httpProvider.interceptors.push(interceptor);
}]);
/**
* Loading Bar
*
* This service handles adding and removing the actual element in the DOM.
* Generally, best practices for DOM manipulation is to take place in a
* directive, but because the element itself is injected in the DOM only upon
* XHR requests, and it's likely needed on every view, the best option is to
* use a service.
*/
angular.module('cfp.loadingBar', [])
.provider('cfpLoadingBar', function() {
this.autoIncrement = true;
this.includeSpinner = true;
this.includeBar = true;
this.latencyThreshold = 100;
this.startSize = 0.02;
this.parentSelector = 'body';
this.spinnerTemplate = '<div id="loading-bar-spinner"><div class="spinner-icon"></div></div>';
this.loadingBarTemplate = '<div id="loading-bar"><div class="bar"><div class="peg"></div></div></div>';
this.$get = ['$injector', '$document', '$timeout', '$rootScope', function ($injector, $document, $timeout, $rootScope) {
var $animate;
var $parentSelector = this.parentSelector,
loadingBarContainer = angular.element(this.loadingBarTemplate),
loadingBar = loadingBarContainer.find('div').eq(0),
spinner = angular.element(this.spinnerTemplate);
var incTimeout,
completeTimeout,
started = false,
status = 0;
var autoIncrement = this.autoIncrement;
var includeSpinner = this.includeSpinner;
var includeBar = this.includeBar;
var startSize = this.startSize;
/**
* Inserts the loading bar element into the dom, and sets it to 2%
*/
function _start() {
if (!$animate) {
$animate = $injector.get('$animate');
}
$timeout.cancel(completeTimeout);
// do not continually broadcast the started event:
if (started) {
return;
}
var document = $document[0];
var parent = document.querySelector ?
document.querySelector($parentSelector)
: $document.find($parentSelector)[0]
;
if (! parent) {
parent = document.getElementsByTagName('body')[0];
}
var $parent = angular.element(parent);
var $after = parent.lastChild && angular.element(parent.lastChild);
$rootScope.$broadcast('cfpLoadingBar:started');
started = true;
if (includeBar) {
$animate.enter(loadingBarContainer, $parent, $after);
}
if (includeSpinner) {
$animate.enter(spinner, $parent, loadingBarContainer);
}
_set(startSize);
}
/**
* Set the loading bar's width to a certain percent.
*
* @param n any value between 0 and 1
*/
function _set(n) {
if (!started) {
return;
}
var pct = (n * 100) + '%';
loadingBar.css('width', pct);
status = n;
// increment loadingbar to give the illusion that there is always
// progress but make sure to cancel the previous timeouts so we don't
// have multiple incs running at the same time.
if (autoIncrement) {
$timeout.cancel(incTimeout);
incTimeout = $timeout(function() {
_inc();
}, 250);
}
}
/**
* Increments the loading bar by a random amount
* but slows down as it progresses
*/
function _inc() {
if (_status() >= 1) {
return;
}
var rnd = 0;
// TODO: do this mathmatically instead of through conditions
var stat = _status();
if (stat >= 0 && stat < 0.25) {
// Start out between 3 - 6% increments
rnd = (Math.random() * (5 - 3 + 1) + 3) / 100;
} else if (stat >= 0.25 && stat < 0.65) {
// increment between 0 - 3%
rnd = (Math.random() * 3) / 100;
} else if (stat >= 0.65 && stat < 0.9) {
// increment between 0 - 2%
rnd = (Math.random() * 2) / 100;
} else if (stat >= 0.9 && stat < 0.99) {
// finally, increment it .5 %
rnd = 0.005;
} else {
// after 99%, don't increment:
rnd = 0;
}
var pct = _status() + rnd;
_set(pct);
}
function _status() {
return status;
}
function _completeAnimation() {
status = 0;
started = false;
}
function _complete() {
if (!$animate) {
$animate = $injector.get('$animate');
}
$rootScope.$broadcast('cfpLoadingBar:completed');
_set(1);
$timeout.cancel(completeTimeout);
// Attempt to aggregate any start/complete calls within 500ms:
completeTimeout = $timeout(function() {
var promise = $animate.leave(loadingBarContainer, _completeAnimation);
if (promise && promise.then) {
promise.then(_completeAnimation);
}
$animate.leave(spinner);
}, 500);
}
return {
start : _start,
set : _set,
status : _status,
inc : _inc,
complete : _complete,
autoIncrement : this.autoIncrement,
includeSpinner : this.includeSpinner,
latencyThreshold : this.latencyThreshold,
parentSelector : this.parentSelector,
startSize : this.startSize
};
}]; //
}); // wtf javascript. srsly
})(); //

View File

@ -0,0 +1,82 @@
// Karma configuration
// Generated on Sun Sep 15 2013 20:18:09 GMT-0400 (EDT)
module.exports = function(config) {
config.set({
// base path, that will be used to resolve files and exclude
basePath: '',
// frameworks to use
frameworks: ['jasmine'],
// list of files / patterns to load in the browser
files: [
'../bower_components/angular/angular.js',
'../bower_components/angular-animate/angular-animate.js',
'../bower_components/angular-mocks/angular-mocks.js',
'../src/*.js',
'*.coffee'
],
// list of files to exclude
exclude: [
],
// test results reporter to use
// possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
reporters: ['progress', 'coverage'],
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
browsers: ['PhantomJS'],
coverageReporter: {
type : 'html',
dir : 'coverage/',
},
preprocessors: {
'../src/*.js': ['coverage'],
'*.coffee': 'coffee'
},
// If browser does not capture in given timeout [ms], kill it
captureTimeout: 60000,
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: false
});
};

View File

@ -0,0 +1,82 @@
// Karma configuration
// Generated on Sun Sep 15 2013 20:18:09 GMT-0400 (EDT)
module.exports = function(config) {
config.set({
// base path, that will be used to resolve files and exclude
basePath: '',
// frameworks to use
frameworks: ['jasmine'],
// list of files / patterns to load in the browser
files: [
'../bower_components/angular-1.3/angular.js',
'../bower_components/angular-animate-1.3/angular-animate.js',
'../bower_components/angular-mocks-1.3/angular-mocks.js',
'../src/*.js',
'*.coffee'
],
// list of files to exclude
exclude: [
],
// test results reporter to use
// possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
reporters: ['progress', 'coverage'],
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
browsers: ['PhantomJS'],
coverageReporter: {
type : 'html',
dir : 'coverage/',
},
preprocessors: {
'../src/*.js': ['coverage'],
'*.coffee': 'coffee'
},
// If browser does not capture in given timeout [ms], kill it
captureTimeout: 60000,
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: false
});
};

View File

@ -0,0 +1,82 @@
// Karma configuration
// Generated on Sun Sep 15 2013 20:18:09 GMT-0400 (EDT)
module.exports = function(config) {
config.set({
// base path, that will be used to resolve files and exclude
basePath: '',
// frameworks to use
frameworks: ['jasmine'],
// list of files / patterns to load in the browser
files: [
'../bower_components/angular-1.4/angular.js',
'../bower_components/angular-animate-1.4/angular-animate.js',
'../bower_components/angular-mocks-1.4/angular-mocks.js',
'../src/*.js',
'*.coffee'
],
// list of files to exclude
exclude: [
],
// test results reporter to use
// possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
reporters: ['progress', 'coverage'],
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
browsers: ['PhantomJS'],
coverageReporter: {
type : 'html',
dir : 'coverage/',
},
preprocessors: {
'../src/*.js': ['coverage'],
'*.coffee': 'coffee'
},
// If browser does not capture in given timeout [ms], kill it
captureTimeout: 60000,
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: false
});
};

View File

@ -0,0 +1,114 @@
describe 'loadingBarInterceptor Service - config options', ->
it 'should hide the spinner if configured', ->
module 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
cfpLoadingBarProvider.includeSpinner = false
return
inject ($timeout, cfpLoadingBar) ->
cfpLoadingBar.start()
spinner = document.getElementById('loading-bar-spinner')
expect(spinner).toBeNull
cfpLoadingBar.complete()
$timeout.flush()
it 'should show the spinner if configured', ->
module 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
cfpLoadingBarProvider.includeSpinner = true
return
inject ($timeout, cfpLoadingBar) ->
cfpLoadingBar.start()
spinner = document.getElementById('loading-bar-spinner')
expect(spinner).not.toBeNull
cfpLoadingBar.complete()
$timeout.flush()
it 'should hide the loadingBar if configured', ->
module 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
cfpLoadingBarProvider.includeBar = false
return
inject ($timeout, cfpLoadingBar) ->
cfpLoadingBar.start()
spinner = document.getElementById('loading-bar-spinner')
expect(spinner).toBeNull
cfpLoadingBar.complete()
$timeout.flush()
it 'should show the loadingBar if configured', ->
module 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
cfpLoadingBarProvider.includeBar = true
return
inject ($timeout, cfpLoadingBar) ->
cfpLoadingBar.start()
spinner = document.getElementById('loading-bar-spinner')
expect(spinner).not.toBeNull
cfpLoadingBar.complete()
$timeout.flush()
it 'should not auto increment loadingBar if configured', (done) ->
module 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
cfpLoadingBarProvider.autoIncrement = false
return
inject ($timeout, cfpLoadingBar) ->
flag = false
cfpLoadingBar.start()
cfpLoadingBar.set(.5)
runs ->
setTimeout ->
flag = true
, 500
waitsFor ->
return flag
, "500ms timeout"
, 1000
runs ->
expect(cfpLoadingBar.status()).toBe .5;
cfpLoadingBar.complete()
$timeout.flush()
it 'should auto increment loadingBar if configured', ->
module 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
cfpLoadingBarProvider.autoIncrement = true
return
inject ($timeout, cfpLoadingBar) ->
cfpLoadingBar.start()
$timeout.flush()
cfpLoadingBar.set(.5)
$timeout.flush()
expect(cfpLoadingBar.status()).toBeGreaterThan .5
cfpLoadingBar.complete()
$timeout.flush()
it 'should append the loadingbar as the first child of the parent container if empty', ->
emptyEl = angular.element '<div id="empty"></div>'
angular.element(document).find('body').eq(0).append emptyEl
module 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
cfpLoadingBarProvider.parentSelector = '#empty'
return
inject ($timeout, $document, cfpLoadingBar) ->
cfpLoadingBar.start()
parent = $document[0].querySelector(cfpLoadingBar.parentSelector)
children = parent.childNodes
expect(children.length).toBe 2
expect(children[0].id).toBe 'loading-bar'
expect(children[1].id).toBe 'loading-bar-spinner'
cfpLoadingBar.complete()
$timeout.flush()
it 'should append the loading bar to the body if parentSelector is empty', ->
module 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
cfpLoadingBarProvider.parentSelector = '#doesnotexist'
return
inject ($timeout, $document, cfpLoadingBar) ->
parent = $document[0].querySelector(cfpLoadingBar.parentSelector)
expect(parent).toBeFalsy;
body = $document[0].querySelector 'body'
cfpLoadingBar.start()
bar = angular.element(body.querySelector '#loading-bar');
spinner = angular.element(body.querySelector '#loading-bar-spinner');
expect(bar.length).toBe 1
expect(spinner.length).toBe 1
cfpLoadingBar.complete()
$timeout.flush()

View File

@ -0,0 +1,554 @@
isLoadingBarInjected = (doc) ->
injected = false
divs = angular.element(doc).find('div')
for i in divs
if angular.element(i).attr('id') is 'loading-bar'
injected = true
break
return injected
flush = null
describe 'loadingBarInterceptor Service', ->
$http = $httpBackend = $document = $timeout = result = loadingBar = $animate = null
response = {message:'OK'}
endpoint = '/service'
beforeEach ->
module 'ngAnimateMock', 'chieffancypants.loadingBar', (cfpLoadingBarProvider) ->
loadingBar = cfpLoadingBarProvider
return
result = null
inject (_$http_, _$httpBackend_, _$document_, _$timeout_, _$animate_) ->
$http = _$http_
$httpBackend = _$httpBackend_
$document = _$document_
$timeout = _$timeout_
$animate = _$animate_
# Angular 1.4 removed triggerCalbacks(), so try them both:
flush = () ->
$animate.flush && $animate.flush()
$animate.triggerCallbacks && $animate.triggerCallbacks()
beforeEach ->
this.addMatchers
toBeBetween: (high, low) ->
if low > high
temp = low
low = high
high = temp
return this.actual > low && this.actual < high
afterEach ->
$httpBackend.verifyNoOutstandingRequest()
$timeout.verifyNoPendingTasks()
it 'should not increment if the response is cached in a cacheFactory', inject (cfpLoadingBar, $cacheFactory) ->
cache = $cacheFactory('loading-bar')
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint, cache: cache).then (data) ->
result = data
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$timeout.flush()
$httpBackend.flush(1)
expect(cfpLoadingBar.status()).toBe 1
cfpLoadingBar.complete() # set as complete
$timeout.flush()
flush()
$http.get(endpoint, cache: cache).then (data) ->
result = data
# no need to flush $httpBackend since the response is cached
expect(cfpLoadingBar.status()).toBe 0
$httpBackend.verifyNoOutstandingRequest()
$timeout.flush() # loading bar is animated, so flush timeout
it 'should not increment if the response is cached using $http.defaults.cache', inject (cfpLoadingBar, $cacheFactory) ->
$http.defaults.cache = $cacheFactory('loading-bar')
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint).then (data) ->
result = data
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$timeout.flush()
$httpBackend.flush(1)
expect(cfpLoadingBar.status()).toBe 1
cfpLoadingBar.complete() # set as complete
$timeout.flush()
flush()
$http.get(endpoint).then (data) ->
result = data
# no need to flush $httpBackend since the response is cached
expect(cfpLoadingBar.status()).toBe 0
$httpBackend.verifyNoOutstandingRequest()
$timeout.flush() # loading bar is animated, so flush timeout
it 'should not increment if the response is cached', inject (cfpLoadingBar) ->
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint, cache: true).then (data) ->
result = data
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$timeout.flush()
$httpBackend.flush(1)
expect(cfpLoadingBar.status()).toBe 1
cfpLoadingBar.complete() # set as complete
$timeout.flush()
flush()
$http.get(endpoint, cache: true).then (data) ->
result = data
# no need to flush $httpBackend since the response is cached
expect(cfpLoadingBar.status()).toBe 0
$httpBackend.verifyNoOutstandingRequest()
$timeout.flush() # loading bar is animated, so flush timeout
it 'should use default cache when $http.defaults.cache is true', inject (cfpLoadingBar, $cacheFactory) ->
# $http.defaults.cache = $cacheFactory('loading-bar')
$http.defaults.cache = true
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint).then (data) ->
result = data
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$timeout.flush()
$httpBackend.flush(1)
expect(cfpLoadingBar.status()).toBe 1
cfpLoadingBar.complete() # set as complete
$timeout.flush()
flush()
$http.get(endpoint).then (data) ->
result = data
# no need to flush $httpBackend since the response is cached
expect(cfpLoadingBar.status()).toBe 0
$httpBackend.verifyNoOutstandingRequest()
$timeout.flush() # loading bar is animated, so flush timeout
it 'should not cache when the request is a POST', inject (cfpLoadingBar) ->
$httpBackend.expectPOST(endpoint).respond response
$http.post(endpoint, {message: 'post'}).then (data) ->
result = data
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$timeout.flush()
$httpBackend.flush(1)
expect(cfpLoadingBar.status()).toBe 1
$timeout.flush()
flush()
$httpBackend.expectPOST(endpoint).respond response
$http.post(endpoint, {message: 'post'}).then (data) ->
result = data
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$timeout.flush()
$httpBackend.flush()
expect(cfpLoadingBar.status()).toBe 1
$timeout.flush()
it 'should increment the loading bar when not all requests have been recieved', inject (cfpLoadingBar) ->
$httpBackend.expectGET(endpoint).respond response
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint).then (data) ->
result = data
$http.get(endpoint).then (data) ->
result = data
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$timeout.flush()
$httpBackend.flush(1)
expect(cfpLoadingBar.status()).toBe 0.5
$httpBackend.flush()
expect(cfpLoadingBar.status()).toBe 1
$timeout.flush() # loading bar is animated, so flush timeout
it 'should count http errors as responses so the loading bar can complete', inject (cfpLoadingBar) ->
# $httpBackend.expectGET(endpoint).respond response
$httpBackend.expectGET(endpoint).respond 401
$httpBackend.expectGET(endpoint).respond 401
$http.get(endpoint)
$http.get(endpoint)
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$timeout.flush()
$httpBackend.flush(1)
expect(cfpLoadingBar.status()).toBe 0.5
$httpBackend.flush()
expect(cfpLoadingBar.status()).toBe 1
$timeout.flush()
it 'should insert the loadingbar into the DOM when a request is sent', inject (cfpLoadingBar) ->
$httpBackend.expectGET(endpoint).respond response
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint)
$http.get(endpoint)
$httpBackend.flush(1)
$timeout.flush() # flush the latencyThreshold timeout
expect(isLoadingBarInjected($document.find(cfpLoadingBar.parentSelector))).toBe true
$httpBackend.flush()
$timeout.flush()
it 'should insert the loadingbar as the last children of the parent container', inject (cfpLoadingBar) ->
$httpBackend.expectGET(endpoint).respond response
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint)
$http.get(endpoint)
$httpBackend.flush(1)
$timeout.flush() # flush the latencyThreshold timeout
parent = $document.find(cfpLoadingBar.parentSelector)[0]
children = parent.childNodes
expect(children[children.length - 1].id).toBe 'loading-bar-spinner'
expect(children[children.length - 2].id).toBe 'loading-bar'
$httpBackend.flush()
$timeout.flush()
it 'should remove the loading bar when all requests have been received', inject (cfpLoadingBar) ->
$httpBackend.expectGET(endpoint).respond response
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint)
$http.get(endpoint)
$httpBackend.flush(1)
$timeout.flush() # flush the latencyThreshold timeout
expect(isLoadingBarInjected($document.find(cfpLoadingBar.parentSelector))).toBe true
$httpBackend.flush()
$timeout.flush()
expect(isLoadingBarInjected($document.find(cfpLoadingBar.parentSelector))).toBe false
it 'should get and set status', inject (cfpLoadingBar) ->
cfpLoadingBar.start()
$timeout.flush()
cfpLoadingBar.set(0.4)
expect(cfpLoadingBar.status()).toBe 0.4
cfpLoadingBar.set(0.9)
expect(cfpLoadingBar.status()).toBe 0.9
cfpLoadingBar.complete()
$timeout.flush()
it 'should increment things randomly', inject (cfpLoadingBar) ->
cfpLoadingBar.start()
$timeout.flush()
# increments between 3 - 6%
cfpLoadingBar.set(0.1)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBeGreaterThan width
expect(width2 - width).toBeBetween(3, 6)
cfpLoadingBar.set(0.2)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBeGreaterThan width
expect(width2 - width).toBeBetween(3, 6)
# increments between 0 - 3%
cfpLoadingBar.set(0.25)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBeGreaterThan width
expect(width2 - width).toBeBetween(0, 3)
cfpLoadingBar.set(0.5)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBeGreaterThan width
expect(width2 - width).toBeBetween(0, 3)
# increments between 0 - 2%
cfpLoadingBar.set(0.65)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBeGreaterThan width
expect(width2 - width).toBeBetween(0, 2)
cfpLoadingBar.set(0.75)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBeGreaterThan width
expect(width2 - width).toBeBetween(0, 2)
# increments 0.5%
cfpLoadingBar.set(0.9)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBeGreaterThan width
expect(width2 - width).toBe 0.5
cfpLoadingBar.set(0.97)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBeGreaterThan width
expect(width2 - width).toBe 0.5
# stops incrementing:
cfpLoadingBar.set(0.99)
lbar = angular.element(document.getElementById('loading-bar'))
width = lbar.children().css('width').slice(0, -1)
$timeout.flush()
width2 = lbar.children().css('width').slice(0, -1)
expect(width2).toBe width
cfpLoadingBar.complete()
$timeout.flush()
it 'should not set the status if the loading bar has not yet been started', inject (cfpLoadingBar) ->
cfpLoadingBar.set(0.5)
expect(cfpLoadingBar.status()).toBe 0
cfpLoadingBar.set(0.3)
expect(cfpLoadingBar.status()).toBe 0
cfpLoadingBar.start()
cfpLoadingBar.set(0.3)
expect(cfpLoadingBar.status()).toBe 0.3
cfpLoadingBar.complete()
$timeout.flush()
it 'should broadcast started and completed events', inject (cfpLoadingBar, $rootScope) ->
startedEventCalled = false
completedEventCalled = false
$rootScope.$on 'cfpLoadingBar:started', (event) ->
startedEventCalled = true
$rootScope.$on 'cfpLoadingBar:completed', (event) ->
completedEventCalled = true
expect(startedEventCalled).toBe false
expect(completedEventCalled).toBe false
cfpLoadingBar.start()
expect(startedEventCalled).toBe true
cfpLoadingBar.complete()
expect(completedEventCalled).toBe true
$timeout.flush()
it 'should debounce the calls to start()', inject (cfpLoadingBar, $rootScope) ->
startedEventCalled = 0
$rootScope.$on 'cfpLoadingBar:started', (event) ->
startedEventCalled += 1
cfpLoadingBar.start()
expect(startedEventCalled).toBe 1
cfpLoadingBar.start()
expect(startedEventCalled).toBe 1 # Should still be one, as complete was never called:
cfpLoadingBar.complete()
$timeout.flush()
flush()
cfpLoadingBar.start()
expect(startedEventCalled).toBe 2
cfpLoadingBar.complete()
$timeout.flush()
it 'should ignore requests when ignoreLoadingBar is true', inject (cfpLoadingBar) ->
$httpBackend.expectGET(endpoint).respond response
$http.get(endpoint, {ignoreLoadingBar: true})
$httpBackend.flush()
injected = isLoadingBarInjected $document.find(cfpLoadingBar.parentSelector)
expect(injected).toBe false
$timeout.flush()
it 'should ignore responses when ignoreLoadingBar is true (#70)', inject (cfpLoadingBar) ->
$httpBackend.expectGET(endpoint).respond response
$httpBackend.expectGET('/service2').respond response
$http.get(endpoint, {ignoreLoadingBar: true})
$http.get('/service2')
expect(cfpLoadingBar.status()).toBe 0
$httpBackend.flush(1) # flush only the ignored request
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$httpBackend.flush()
expect(cfpLoadingBar.status()).toBe 1
$timeout.flush() # loading bar is animated, so flush timeout
it 'should ignore errors when ignoreLoadingBar is true (#70)', inject (cfpLoadingBar) ->
$httpBackend.expectGET(endpoint).respond 400
$httpBackend.expectGET('/service2').respond 400
$http.get(endpoint, {ignoreLoadingBar: true})
$http.get('/service2')
expect(cfpLoadingBar.status()).toBe 0
$httpBackend.flush(1) # flush only the ignored request
expect(cfpLoadingBar.status()).toBe 0
$timeout.flush()
$httpBackend.flush()
expect(cfpLoadingBar.status()).toBe 1
$timeout.flush() # loading bar is animated, so flush timeout
describe 'LoadingBar only', ->
cfpLoadingBar = $document = $timeout = $animate = null
beforeEach ->
module 'cfp.loadingBar', 'ngAnimateMock'
inject (_$http_, _$httpBackend_, _$document_, _$timeout_, _$animate_, _cfpLoadingBar_) ->
$timeout = _$timeout_
$document = _$document_
$animate = _$animate_
cfpLoadingBar = _cfpLoadingBar_
it 'should be capable of being used alone', ->
# just a simple quick test to make sure:
cfpLoadingBar.start()
$timeout.flush()
# test setting progress
cfpLoadingBar.set(0.4)
expect(cfpLoadingBar.status()).toBe 0.4
# make sure it was injected into the DOM:
expect(isLoadingBarInjected($document.find(cfpLoadingBar.parentSelector))).toBe true
cfpLoadingBar.set(0.9)
expect(cfpLoadingBar.status()).toBe 0.9
# test the complete call, which should remove it from the DOM
cfpLoadingBar.complete()
$timeout.flush()
expect(isLoadingBarInjected($document.find(cfpLoadingBar.parentSelector))).toBe false
it 'should start after multiple calls to complete()', ->
cfpLoadingBar.start()
$timeout.flush()
expect(isLoadingBarInjected($document.find(cfpLoadingBar.parentSelector))).toBe true
cfpLoadingBar.complete()
cfpLoadingBar.complete()
cfpLoadingBar.start()
$timeout.flush()
expect(isLoadingBarInjected($document.find(cfpLoadingBar.parentSelector))).toBe true
cfpLoadingBar.complete()
$timeout.flush()
flush()
expect(isLoadingBarInjected($document.find(cfpLoadingBar.parentSelector))).toBe false
describe 'Interceptor tests', ->
provider = $http = $httpBackend = $log = null
endpoint = '/service'
response = {message:'OK'}
describe 'Success response', ->
beforeEach ->
module 'chieffancypants.loadingBar', ($httpProvider) ->
provider = $httpProvider
provider.interceptors.push ->
response: (resp) ->
return null
return
inject (_$http_, _$httpBackend_, _$log_) ->
$http = _$http_
$httpBackend = _$httpBackend_
$log = _$log_
it 'should detect poorly implemented interceptors and warn accordingly', ->
expect($log.error.logs.length).toBe 0
$httpBackend.expectGET(endpoint).respond 204
$http.get(endpoint)
$httpBackend.flush()
expect($log.error.logs.length).toBe 1
expect($log.error.logs).toContain ['Broken interceptor detected: Config object not supplied in response:\n https://github.com/chieffancypants/angular-loading-bar/pull/50']
describe 'Error response', ->
beforeEach ->
module 'chieffancypants.loadingBar', ($httpProvider) ->
provider = $httpProvider
provider.interceptors.push ($q) ->
responseError: (resp) ->
delete resp.config
$q.reject(resp);
return
inject (_$http_, _$httpBackend_, _$log_) ->
$http = _$http_
$httpBackend = _$httpBackend_
$log = _$log_
it 'should detect poorly implemented interceptors and warn accordingly', ->
expect($log.error.logs.length).toBe 0
$httpBackend.expectGET(endpoint).respond 500
$http.get(endpoint)
$httpBackend.flush()
expect($log.error.logs.length).toBe 1
expect($log.error.logs).toContain ['Broken interceptor detected: Config object not supplied in rejection:\n https://github.com/chieffancypants/angular-loading-bar/pull/50']

3
node_modules/dom-walk/.npmignore generated vendored Normal file
View File

@ -0,0 +1,3 @@
node_modules
*.log
*.err

19
node_modules/dom-walk/LICENCE generated vendored Normal file
View File

@ -0,0 +1,19 @@
Copyright (c) 2012 Raynos.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

2
node_modules/dom-walk/Makefile generated vendored Normal file
View File

@ -0,0 +1,2 @@
run:
./node_modules/.bin/browserify-server --cwd example

23
node_modules/dom-walk/README.md generated vendored Normal file
View File

@ -0,0 +1,23 @@
# dom-walk
iteratively walk a DOM node
## Example
``` js
var walk = require("dom-walk")
walk(document.body.childNodes, function (node) {
console.log("node", node)
})
```
## Installation
`npm install dom-walk`
## Contributors
- Raynos
## MIT Licenced

5
node_modules/dom-walk/example/index.js generated vendored Normal file
View File

@ -0,0 +1,5 @@
var walk = require("../index")
walk(document.body.childNodes, function (node) {
console.log("node", node)
})

211
node_modules/dom-walk/example/static/bundle.js generated vendored Normal file
View File

@ -0,0 +1,211 @@
(function(){var require = function (file, cwd) {
var resolved = require.resolve(file, cwd || '/');
var mod = require.modules[resolved];
if (!mod) throw new Error(
'Failed to resolve module ' + file + ', tried ' + resolved
);
var cached = require.cache[resolved];
var res = cached? cached.exports : mod();
return res;
};
require.paths = [];
require.modules = {};
require.cache = {};
require.extensions = [".js",".coffee"];
require._core = {
'assert': true,
'events': true,
'fs': true,
'path': true,
'vm': true
};
require.resolve = (function () {
return function (x, cwd) {
if (!cwd) cwd = '/';
if (require._core[x]) return x;
var path = require.modules.path();
cwd = path.resolve('/', cwd);
var y = cwd || '/';
if (x.match(/^(?:\.\.?\/|\/)/)) {
var m = loadAsFileSync(path.resolve(y, x))
|| loadAsDirectorySync(path.resolve(y, x));
if (m) return m;
}
var n = loadNodeModulesSync(x, y);
if (n) return n;
throw new Error("Cannot find module '" + x + "'");
function loadAsFileSync (x) {
x = path.normalize(x);
if (require.modules[x]) {
return x;
}
for (var i = 0; i < require.extensions.length; i++) {
var ext = require.extensions[i];
if (require.modules[x + ext]) return x + ext;
}
}
function loadAsDirectorySync (x) {
x = x.replace(/\/+$/, '');
var pkgfile = path.normalize(x + '/package.json');
if (require.modules[pkgfile]) {
var pkg = require.modules[pkgfile]();
var b = pkg.browserify;
if (typeof b === 'object' && b.main) {
var m = loadAsFileSync(path.resolve(x, b.main));
if (m) return m;
}
else if (typeof b === 'string') {
var m = loadAsFileSync(path.resolve(x, b));
if (m) return m;
}
else if (pkg.main) {
var m = loadAsFileSync(path.resolve(x, pkg.main));
if (m) return m;
}
}
return loadAsFileSync(x + '/index');
}
function loadNodeModulesSync (x, start) {
var dirs = nodeModulesPathsSync(start);
for (var i = 0; i < dirs.length; i++) {
var dir = dirs[i];
var m = loadAsFileSync(dir + '/' + x);
if (m) return m;
var n = loadAsDirectorySync(dir + '/' + x);
if (n) return n;
}
var m = loadAsFileSync(x);
if (m) return m;
}
function nodeModulesPathsSync (start) {
var parts;
if (start === '/') parts = [ '' ];
else parts = path.normalize(start).split('/');
var dirs = [];
for (var i = parts.length - 1; i >= 0; i--) {
if (parts[i] === 'node_modules') continue;
var dir = parts.slice(0, i + 1).join('/') + '/node_modules';
dirs.push(dir);
}
return dirs;
}
};
})();
require.alias = function (from, to) {
var path = require.modules.path();
var res = null;
try {
res = require.resolve(from + '/package.json', '/');
}
catch (err) {
res = require.resolve(from, '/');
}
var basedir = path.dirname(res);
var keys = (Object.keys || function (obj) {
var res = [];
for (var key in obj) res.push(key);
return res;
})(require.modules);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (key.slice(0, basedir.length + 1) === basedir + '/') {
var f = key.slice(basedir.length);
require.modules[to + f] = require.modules[basedir + f];
}
else if (key === basedir) {
require.modules[to] = require.modules[basedir];
}
}
};
(function () {
var process = {};
require.define = function (filename, fn) {
if (require.modules.__browserify_process) {
process = require.modules.__browserify_process();
}
var dirname = require._core[filename]
? ''
: require.modules.path().dirname(filename)
;
var require_ = function (file) {
var requiredModule = require(file, dirname);
var cached = require.cache[require.resolve(file, dirname)];
if (cached && cached.parent === null) {
cached.parent = module_;
}
return requiredModule;
};
require_.resolve = function (name) {
return require.resolve(name, dirname);
};
require_.modules = require.modules;
require_.define = require.define;
require_.cache = require.cache;
var module_ = {
id : filename,
filename: filename,
exports : {},
loaded : false,
parent: null
};
require.modules[filename] = function () {
require.cache[filename] = module_;
fn.call(
module_.exports,
require_,
module_,
module_.exports,
dirname,
filename,
process
);
module_.loaded = true;
return module_.exports;
};
};
})();
require.define("path",Function(['require','module','exports','__dirname','__filename','process'],"function filter (xs, fn) {\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (fn(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length; i >= 0; i--) {\n var last = parts[i];\n if (last == '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// Regex to split a filename into [*, dir, basename, ext]\n// posix version\nvar splitPathRe = /^(.+\\/(?!$)|\\/)?((?:.+?)?(\\.[^.]*)?)$/;\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\nvar resolvedPath = '',\n resolvedAbsolute = false;\n\nfor (var i = arguments.length; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0)\n ? arguments[i]\n : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string' || !path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n}\n\n// At this point the path should be resolved to a full absolute path, but\n// handle relative paths to be safe (might happen when process.cwd() fails)\n\n// Normalize the path\nresolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\nvar isAbsolute = path.charAt(0) === '/',\n trailingSlash = path.slice(-1) === '/';\n\n// Normalize the path\npath = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n \n return (isAbsolute ? '/' : '') + path;\n};\n\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n return p && typeof p === 'string';\n }).join('/'));\n};\n\n\nexports.dirname = function(path) {\n var dir = splitPathRe.exec(path)[1] || '';\n var isWindows = false;\n if (!dir) {\n // No dirname\n return '.';\n } else if (dir.length === 1 ||\n (isWindows && dir.length <= 3 && dir.charAt(1) === ':')) {\n // It is just a slash or a drive letter with a slash\n return dir;\n } else {\n // It is a full dirname, strip trailing slash\n return dir.substring(0, dir.length - 1);\n }\n};\n\n\nexports.basename = function(path, ext) {\n var f = splitPathRe.exec(path)[2] || '';\n // TODO: make this comparison case-insensitive on windows?\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\n\nexports.extname = function(path) {\n return splitPathRe.exec(path)[3] || '';\n};\n\n//@ sourceURL=path"));
require.define("__browserify_process",Function(['require','module','exports','__dirname','__filename','process'],"var process = module.exports = {};\n\nprocess.nextTick = (function () {\n var queue = [];\n var canPost = typeof window !== 'undefined'\n && window.postMessage && window.addEventListener\n ;\n \n if (canPost) {\n window.addEventListener('message', function (ev) {\n if (ev.source === window && ev.data === 'browserify-tick') {\n ev.stopPropagation();\n if (queue.length > 0) {\n var fn = queue.shift();\n fn();\n }\n }\n }, true);\n }\n \n return function (fn) {\n if (canPost) {\n queue.push(fn);\n window.postMessage('browserify-tick', '*');\n }\n else setTimeout(fn, 0);\n };\n})();\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\n\nprocess.binding = function (name) {\n if (name === 'evals') return (require)('vm')\n else throw new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n process.cwd = function () { return cwd };\n process.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n//@ sourceURL=__browserify_process"));
require.define("vm",Function(['require','module','exports','__dirname','__filename','process'],"module.exports = require(\"vm-browserify\")\n//@ sourceURL=vm"));
require.define("/node_modules/vm-browserify/package.json",Function(['require','module','exports','__dirname','__filename','process'],"module.exports = {\"main\":\"index.js\"}\n//@ sourceURL=/node_modules/vm-browserify/package.json"));
require.define("/node_modules/vm-browserify/index.js",Function(['require','module','exports','__dirname','__filename','process'],"var Object_keys = function (obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key)\n return res;\n }\n};\n\nvar forEach = function (xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n};\n\nvar Script = exports.Script = function NodeScript (code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n};\n\nScript.prototype.runInNewContext = function (context) {\n if (!context) context = {};\n \n var iframe = document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n \n document.body.appendChild(iframe);\n \n var win = iframe.contentWindow;\n \n forEach(Object_keys(context), function (key) {\n win[key] = context[key];\n });\n \n if (!win.eval && win.execScript) {\n // win.eval() magically appears when this is called in IE:\n win.execScript('null');\n }\n \n var res = win.eval(this.code);\n \n forEach(Object_keys(win), function (key) {\n context[key] = win[key];\n });\n \n document.body.removeChild(iframe);\n \n return res;\n};\n\nScript.prototype.runInThisContext = function () {\n return eval(this.code); // maybe...\n};\n\nScript.prototype.runInContext = function (context) {\n // seems to be just runInNewContext on magical context objects which are\n // otherwise indistinguishable from objects except plain old objects\n // for the parameter segfaults node\n return this.runInNewContext(context);\n};\n\nforEach(Object_keys(Script.prototype), function (name) {\n exports[name] = Script[name] = function (code) {\n var s = Script(code);\n return s[name].apply(s, [].slice.call(arguments, 1));\n };\n});\n\nexports.createScript = function (code) {\n return exports.Script(code);\n};\n\nexports.createContext = Script.createContext = function (context) {\n // not really sure what this one does\n // seems to just make a shallow copy\n var copy = {};\n if(typeof context === 'object') {\n forEach(Object_keys(context), function (key) {\n copy[key] = context[key];\n });\n }\n return copy;\n};\n\n//@ sourceURL=/node_modules/vm-browserify/index.js"));
require.define("/package.json",Function(['require','module','exports','__dirname','__filename','process'],"module.exports = {\"main\":\"index\"}\n//@ sourceURL=/package.json"));
require.define("/index.js",Function(['require','module','exports','__dirname','__filename','process'],"var slice = Array.prototype.slice\n\nmodule.exports = iterativelyWalk\n\nfunction iterativelyWalk(nodes, cb) {\n nodes = slice.call(nodes)\n\n while(nodes.length) {\n var node = nodes.shift(),\n ret = cb(node)\n\n if (ret) {\n return ret\n }\n\n if (node.childNodes.length) {\n nodes = slice.call(node.childNodes).concat(nodes)\n }\n }\n}\n//@ sourceURL=/index.js"));
require.define("/example/index.js",Function(['require','module','exports','__dirname','__filename','process'],"var walk = require(\"../index\")\n\nwalk(document.body.childNodes, function (node) {\n console.log(\"node\", node)\n})\n//@ sourceURL=/example/index.js"));
require("/example/index.js");
})();

16
node_modules/dom-walk/example/static/index.html generated vendored Normal file
View File

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<title> Your title </title>
</head>
<body>
<!-- live reload script -->
<script src="http://localhost:8081"></script>
<!-- the main bundle served from index.js -->
<script src="bundle.js"></script>
<!--
Other bundles
<script src="entry/other-entry.js"></script>
-->
</body>
</html>

24
node_modules/dom-walk/index.js generated vendored Normal file
View File

@ -0,0 +1,24 @@
var slice = Array.prototype.slice
module.exports = iterativelyWalk
function iterativelyWalk(nodes, cb) {
if (!('length' in nodes)) {
nodes = [nodes]
}
nodes = slice.call(nodes)
while(nodes.length) {
var node = nodes.shift(),
ret = cb(node)
if (ret) {
return ret
}
if (node.childNodes && node.childNodes.length) {
nodes = slice.call(node.childNodes).concat(nodes)
}
}
}

61
node_modules/dom-walk/package.json generated vendored Normal file
View File

@ -0,0 +1,61 @@
{
"_from": "dom-walk@^0.1.0",
"_id": "dom-walk@0.1.1",
"_inBundle": false,
"_integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=",
"_location": "/dom-walk",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "dom-walk@^0.1.0",
"name": "dom-walk",
"escapedName": "dom-walk",
"rawSpec": "^0.1.0",
"saveSpec": null,
"fetchSpec": "^0.1.0"
},
"_requiredBy": [
"/min-document"
],
"_resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
"_shasum": "672226dc74c8f799ad35307df936aba11acd6018",
"_spec": "dom-walk@^0.1.0",
"_where": "/home/lrullo/httpdocs/anorgatarrak.eus/wp-content/themes/anorgatarrak/node_modules/min-document",
"author": {
"name": "Raynos",
"email": "raynos2@gmail.com"
},
"bugs": {
"url": "https://github.com/Raynos/dom-walk/issues",
"email": "raynos2@gmail.com"
},
"bundleDependencies": false,
"contributors": [
{
"name": "Jake Verbaten"
}
],
"dependencies": {},
"deprecated": false,
"description": "iteratively walk a DOM node",
"devDependencies": {
"browserify-server": "~0.5.6"
},
"homepage": "https://github.com/Raynos/dom-walk",
"keywords": [],
"licenses": [
{
"type": "MIT",
"url": "http://github.com/Raynos/dom-walk/raw/master/LICENSE"
}
],
"main": "index",
"name": "dom-walk",
"repository": {
"type": "git",
"url": "git://github.com/Raynos/dom-walk.git"
},
"scripts": {},
"version": "0.1.1"
}

15
node_modules/global/.npmignore generated vendored Normal file
View File

@ -0,0 +1,15 @@
.DS_Store
.monitor
.*.swp
.nodemonignore
releases
*.log
*.err
fleet.json
public/browserify
bin/*.json
.bin
build
compile
.lock-wscript
node_modules

4
node_modules/global/.travis.yml generated vendored Normal file
View File

@ -0,0 +1,4 @@
language: node_js
node_js:
- 0.8
- 0.9

19
node_modules/global/LICENSE generated vendored Normal file
View File

@ -0,0 +1,19 @@
Copyright (c) 2012 Colingo.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

30
node_modules/global/README.md generated vendored Normal file
View File

@ -0,0 +1,30 @@
# global
<!-- [![build status][1]][2]
[![browser support][3]][4] -->
Require global variables
## Example
```js
var global = require("global")
var document = require("global/document")
var window = require("global/window")
```
## Installation
`npm install global`
## Contributors
- Raynos
## MIT Licenced
[1]: https://secure.travis-ci.org/Colingo/global.png
[2]: http://travis-ci.org/Colingo/global
[3]: http://ci.testling.com/Colingo/global.png
[4]: http://ci.testling.com/Colingo/global

1
node_modules/global/console.js generated vendored Normal file
View File

@ -0,0 +1 @@
module.exports = console;

17
node_modules/global/document.js generated vendored Normal file
View File

@ -0,0 +1,17 @@
var topLevel = typeof global !== 'undefined' ? global :
typeof window !== 'undefined' ? window : {}
var minDoc = require('min-document');
var doccy;
if (typeof document !== 'undefined') {
doccy = document;
} else {
doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];
if (!doccy) {
doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;
}
}
module.exports = doccy;

94
node_modules/global/package.json generated vendored Normal file
View File

@ -0,0 +1,94 @@
{
"_from": "global@^4.3.1",
"_id": "global@4.3.2",
"_inBundle": false,
"_integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
"_location": "/global",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "global@^4.3.1",
"name": "global",
"escapedName": "global",
"rawSpec": "^4.3.1",
"saveSpec": null,
"fetchSpec": "^4.3.1"
},
"_requiredBy": [
"/mediaelement"
],
"_resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
"_shasum": "e76989268a6c74c38908b1305b10fc0e394e9d0f",
"_spec": "global@^4.3.1",
"_where": "/home/lrullo/httpdocs/anorgatarrak.eus/wp-content/themes/anorgatarrak/node_modules/mediaelement",
"author": {
"name": "Raynos",
"email": "raynos2@gmail.com"
},
"browser": {
"min-document": false,
"individual": false
},
"bugs": {
"url": "https://github.com/Raynos/global/issues",
"email": "raynos2@gmail.com"
},
"bundleDependencies": false,
"contributors": [
{
"name": "Raynos"
}
],
"dependencies": {
"min-document": "^2.19.0",
"process": "~0.5.1"
},
"deprecated": false,
"description": "Require global variables",
"devDependencies": {
"tape": "^2.12.0"
},
"homepage": "https://github.com/Raynos/global",
"keywords": [],
"license": "MIT",
"main": "window.js",
"name": "global",
"repository": {
"type": "git",
"url": "git://github.com/Raynos/global.git"
},
"scripts": {
"build": "browserify test/index.js -o test/static/bundle.js",
"test": "node ./test",
"testem": "testem"
},
"testling": {
"files": "test/index.js",
"browsers": {
"ie": [
"8",
"9",
"10"
],
"firefox": [
"16",
"17",
"nightly"
],
"chrome": [
"22",
"23",
"canary"
],
"opera": [
"12",
"next"
],
"safari": [
"5.1"
]
}
},
"version": "4.3.2"
}

1
node_modules/global/process.js generated vendored Normal file
View File

@ -0,0 +1 @@
module.exports = require('process');

13
node_modules/global/window.js generated vendored Normal file
View File

@ -0,0 +1,13 @@
var win;
if (typeof window !== "undefined") {
win = window;
} else if (typeof global !== "undefined") {
win = global;
} else if (typeof self !== "undefined"){
win = self;
} else {
win = {};
}
module.exports = win;

10
node_modules/mediaelement/.babelrc generated vendored Normal file
View File

@ -0,0 +1,10 @@
{
"comments": false,
"presets": [
["env", {
"targets": {
"browsers": ["last 5 versions", "ie > 10", "ios > 7", "android > 3"]
}
}]
]
}

20
node_modules/mediaelement/.eslintrc generated vendored Normal file
View File

@ -0,0 +1,20 @@
{
"env": {
"es6": true,
"browser": true,
"mocha": true,
"node": true,
"jquery": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"rules": {
"no-console": 0,
"no-undef" : 0,
"no-case-declarations": 0,
"no-empty": 0
}
}

13
node_modules/mediaelement/.gitattributes generated vendored Normal file
View File

@ -0,0 +1,13 @@
* text=auto eol=lf
*.jar binary
*.mp3 binary
*.mp4 binary
*.ogv binary
*.png binary
*.webm binary
*.swf binary
*.swc binary
*.fla binary
*.xap binary

20
node_modules/mediaelement/.npmignore generated vendored Normal file
View File

@ -0,0 +1,20 @@
# silverlight stuff
src/silverlight/obj/*
src/silverlight/Bin/*
build/AppManifest.xaml
build/SilverlightMediaElementTestPage.html
build/SilverlightMediaElement.pdb
build/SilverlightMediaElement.dll
tests/*
newfeatures/*
/mejs3/
node_modules
local-build
# PhpStorm/WebStorm configuration
.idea
media/*
!media/README
src/flash/flex_sdk_*
coverage
npm-debug.log
tmp

35
node_modules/mediaelement/.stylelintrc generated vendored Normal file
View File

@ -0,0 +1,35 @@
{
"plugins": [
"stylelint-order"
],
"rules": {
"color-hex-case": ["lower"],
"color-hex-length": "short",
"declaration-block-no-duplicate-properties": [
true,
{
"ignore": [
"consecutive-duplicates-with-different-values"
]
}
],
"function-comma-space-after": "always-single-line",
"function-comma-space-before": "never",
"indentation": 4,
"length-zero-no-unit": true,
"number-leading-zero": "always",
"number-no-trailing-zeros": true,
"order/order": [
"custom-properties",
"declarations"
],
"order/properties-alphabetical-order": true,
"property-case": "lower",
"property-no-unknown": true,
"selector-combinator-space-after": "always",
"selector-combinator-space-before": "always",
"selector-list-comma-newline-after": "always",
"shorthand-property-no-redundant-values": true,
"string-quotes": "single"
}
}

6
node_modules/mediaelement/.travis.yml generated vendored Normal file
View File

@ -0,0 +1,6 @@
language: node_js
node_js:
- node
before_install:
- "curl -L http://git.io/ejPSng | /bin/sh"
after_success: 'npm run coveralls'

5
node_modules/mediaelement/.versions generated vendored Normal file
View File

@ -0,0 +1,5 @@
johndyer:mediaelement@4.2.8
jquery@1.11.10
meteor@1.7.1
modules@0.10.0
modules-runtime@0.8.0

230
node_modules/mediaelement/Gruntfile.js generated vendored Normal file
View File

@ -0,0 +1,230 @@
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-postcss');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks('grunt-text-replace');
grunt.loadNpmTasks("grunt-remove-logging");
grunt.loadNpmTasks('grunt-browserify');
grunt.loadNpmTasks('grunt-eslint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-stylelint');
var rendererSources;
// if commandline list of renderers, (e.g. --renderers=hls,dash,...) build only these
var rendererList = grunt.option('features');
if (rendererList) {
rendererList = rendererList.split(',');
rendererSources = [];
rendererList.forEach(function (renderer) {
var path = 'src/js/renderers/' + renderer + '.js';
if (grunt.file.isFile(path)) {
rendererSources.push(path);
}
});
}
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
scripts: {
files: ['src/js/**/*.js', 'test/core/*.js'],
tasks: ['eslint', 'browserify', 'concat', 'uglify', 'copy:translation']
},
stylesheet: {
files: ['src/css/**/*.css', 'src/css/**/*.png', 'src/css/**/*.svg', 'src/css/**/*.gif'],
tasks: ['postcss', 'copy:build']
}
},
stylelint: {
all: ['src/css/*.css']
},
eslint: {
target: [
'Gruntfile.js',
'src/js/core/*.js',
'src/js/features/*.js',
'src/js/languages/*.js',
'src/js/renderers/*.js',
'src/js/utils/*.js',
'src/js/library.js',
'src/js/player.js',
'src/js/index.js',
'test/core/*.js'
]
},
browserify: {
dist: {
files: {
// core element
'build/mediaelement.js': [
'src/js/utils/polyfill.js',
'src/js/core/mediaelement.js',
'src/js/core/i18n.js',
'src/js/languages/en.js',
'src/js/renderers/html5.js',
'src/js/renderers/flash.js',
].concat(rendererSources || [
'src/js/renderers/dash.js',
'src/js/renderers/flv.js',
'src/js/renderers/hls.js',
'src/js/renderers/youtube.js',
]),
// all bundle
'build/mediaelement-and-player.js': [
'src/js/utils/polyfill.js',
'src/js/core/mediaelement.js',
'src/js/core/i18n.js',
'src/js/languages/en.js',
'src/js/renderers/html5.js',
'src/js/renderers/flash.js',
].concat(rendererSources || [
'src/js/renderers/dash.js',
'src/js/renderers/flv.js',
'src/js/renderers/hls.js',
'src/js/renderers/youtube.js',
]).concat([
'src/js/player.js',
'src/js/player/library.js',
'src/js/player/default.js',
'src/js/features/fullscreen.js',
'src/js/features/playpause.js',
'src/js/features/progress.js',
'src/js/features/time.js',
'src/js/features/tracks.js',
'src/js/features/volume.js'
]),
// new renderers
'build/renderers/dailymotion.js': 'src/js/renderers/dailymotion.js',
'build/renderers/facebook.js': 'src/js/renderers/facebook.js',
'build/renderers/soundcloud.js': 'src/js/renderers/soundcloud.js',
'build/renderers/twitch.js': 'src/js/renderers/twitch.js',
'build/renderers/vimeo.js': 'src/js/renderers/vimeo.js'
},
options: {
plugin: [
'browserify-derequire', 'bundle-collapser/plugin'
]
}
}
},
concat: {
dist: {
options: {
banner: grunt.file.read('src/js/header.js')
},
expand: true,
src: ['build/**/*.js', '!build/lang/*.js', '!build/jquery.js', '!build/**/*.min.js'],
ext: '.js'
}
},
removelogging: {
dist: {
src: ['build/**/*.js', '!build/lang/*.js', '!build/jquery.js', '!build/**/*.min.js'],
},
options: {
// Keep `warn` and other methods from the console API
methods: ['log']
}
},
uglify: {
build: {
files: [{
expand: true,
src: ['build/**/*.js', '!build/lang/*.js', '!build/jquery.js', '!build/**/*.min.js'],
ext: '.min.js'
}]
},
options: {
output: {comments: false},
banner: grunt.file.read('src/js/header.js')
}
},
postcss: {
main: {
options: {
processors: [
// Add vendor prefixes.
require('autoprefixer')({browsers: 'last 5 versions, ie > 10, ios > 7, android > 3'})
]
},
src: 'src/css/mediaelementplayer.css',
dest: 'build/mediaelementplayer.css'
},
legacy: {
options: {
processors: [
// Add vendor prefixes.
require('autoprefixer')({browsers: 'last 5 versions, ie > 10, ios > 7, android > 3'})
]
},
src: 'src/css/mediaelementplayer-legacy.css',
dest: 'build/mediaelementplayer-legacy.css'
},
mainMin: {
options: {
processors: [
// Add vendor prefixes.
require('autoprefixer')({browsers: 'last 5 versions, ie > 10, ios > 7, android > 3'}),
// Minify the result.
require('cssnano')()
]
},
src: 'build/mediaelementplayer.css',
dest: 'build/mediaelementplayer.min.css'
},
legacyMin: {
options: {
processors: [
// Add vendor prefixes.
require('autoprefixer')({browsers: 'last 5 versions, ie > 10, ios > 7, android > 3'}),
// Minify the result.
require('cssnano')()
]
},
src: 'build/mediaelementplayer-legacy.css',
dest: 'build/mediaelementplayer-legacy.min.css'
}
},
copy: {
build: {
expand: true,
cwd: 'src/css/',
src: ['*.png', '*.svg', '*.gif'],
dest: 'build/',
flatten: true,
filter: 'isFile'
},
translation: {
expand: true,
cwd: 'src/js/languages/',
src: ['*.js', '!*en.js'],
dest: 'build/lang/',
flatten: true,
filter: 'isFile',
options: {
processContent: function (content) {
content = content.replace(/\/\/.*?\.js/gm, '');
return content.replace(/\n{2,}/gm, '');
}
}
}
}
});
grunt.registerTask('default', ['eslint', 'stylelint', 'browserify', 'concat', 'removelogging', 'uglify', 'postcss', 'copy']);
grunt.registerTask('debug', ['eslint', 'stylelint', 'browserify', 'concat', 'uglify', 'postcss', 'copy']);
grunt.registerTask('flash', '', function () {
var exec = require('child_process').execSync;
var result = exec("sh compile_swf.sh", {encoding: 'utf8'});
grunt.log.writeln(result);
});
};

127
node_modules/mediaelement/README.md generated vendored Normal file
View File

@ -0,0 +1,127 @@
# ![MediaElementJS](https://cloud.githubusercontent.com/assets/910829/22357262/e6cf32b4-e404-11e6-876b-59afa009f65c.png)
One file. Any browser. Same UI.
* Author: John Dyer [http://j.hn/](http://j.hn/)
* Website: [http://mediaelementjs.com/](http://mediaelementjs.com/)
* License: [MIT](http://mediaelement.mit-license.org/)
* Meaning: Use everywhere, keep copyright, it'd be swell if you'd link back here.
* Thanks: my employer, [Dallas Theological Seminary](http://www.dts.edu/)
* Contributors: [all contributors](https://github.com/mediaelement/mediaelement/graphs/contributors)
[![GitHub Version](https://img.shields.io/npm/v/mediaelement.svg)](https://github.com/mediaelement/mediaelement)
[![Build Status](https://img.shields.io/travis/mediaelement/mediaelement.svg)](https://travis-ci.org/mediaelement/mediaelement)
[![Coverage Status](https://img.shields.io/coveralls/mediaelement/mediaelement.svg)](https://coveralls.io/github/mediaelement/mediaelement)
[![MIT License](https://img.shields.io/npm/l/mediaelement.svg)](https://mediaelement.mit-license.org/)
[![CDNJS](https://img.shields.io/cdnjs/v/mediaelement.svg)](https://cdnjs.com/libraries/mediaelement)
[![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/mediaelement/badge?style=rounded)](https://www.jsdelivr.com/package/npm/mediaelement)
# Table of Contents
* [Introduction](#intro)
* [Migrating from `2.x` to `4.x` version](#migration)
* [Installation and Usage](#installation)
* [API and Configuration](#api)
* [Guidelines for Contributors](#guidelines)
* [Change Log](#changelog)
* [TODO list](#todo)
<a id="intro"></a>
## Introduction
_MediaElementPlayer: HTML5 `<video>` and `<audio>` player_
A complete HTML/CSS audio/video player built on top `MediaElement.js`. Many great HTML5 players have a completely separate Flash UI in fallback mode, but MediaElementPlayer.js uses the same HTML/CSS for all players.
`MediaElement.js` is a set of custom Flash plugins that mimic the HTML5 MediaElement API for browsers that don't support HTML5 or don't support the media codecs you're using.
Instead of using Flash as a _fallback_, Flash is used to make the browser seem HTML5 compliant and enable codecs like H.264 (via Flash) on all browsers.
In general, `MediaElement.js` supports **IE11+, MS Edge, Chrome, Firefox, Safari, iOS 8+** and **Android 4.0+**.
**It is strongly recommended to read the entire documentation and check the `demo` folder to get the most out of this package**. Visit [here](docs) to start.
## * IMPORTANT NOTE for Safari users (Jun 8, 2017)
Since Sierra version, `autoplay` policies have changed. You may experience an error if you try to execute `play` programatically or via `autoplay` attribute with MediaElement, unless `muted` attribute is specified.
For more information, read https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
## * IMPORTANT CHANGES on `4.2.0` version
As part of the continuous improvements the player, we have decided to drop completely support for IE9 and IE10, since market share of those browsers together is 0.4%, according to http://caniuse.com/usage-table.
This change is for `MediaElement` and `MediaElement Plugins` repositories.
<a id="migration"></a>
## * IMPORTANT: Migrating from `2.x` to `4.x` version
**NOTE:** `3.x` version has jQuery in the code base, and `4.x` is framework-agnostic. So for either `3.x` or `4.x` versions, the following steps are valid, but it is highly recommended to upgrade to `4.x`.
In order to successfully install `4.x` in an existing setup, you must consider the following guidelines:
1. If your installation relies on the legacy player classes (i.e., `mejs-player`, `mejs-container`, etc.), you **must** set up the proper namespace. In `2.x`, the default namespace is `mejs-` but now is `mejs__`. In order to set up a new namespace (or the legacy one), use the `classPrefix` configuration, and make sure you use the `mediaelementplayer-legacy` stylesheet provided in the `/build/` folder.
2. By default, `MediaElement` has bundled native renderers, such as HLS, M(PEG)-DASH and FLV, as well as YouTube and Flash shims. **If you want to use any other renderer, you MUST refer to the `build/renderers` folder and add as many as you want**. Check `demo/index.html` for a better reference.
3. You **must** set up now the path for the Flash shims if they are not in the same folder as the JS files. To do this, set the path via the `pluginPath` configuration. In the same topic, if you need to support browsers with Javascript disabled, you **must** reference the correct Flash shim, since in `2.x` there was only a single Flash shim and in `3.x` it was split to target specific media types. Check the [Browsers with JavaScript disabled](docs/installation.md#disabled-javascript) section for more details.
4. If you want to use Flash shims from a CDN, do the change related to `pluginPath` setting the CDN's URL, and also setting `shimScriptAccess` configuration as **`always`**.
5. If you need to force the Flash shim, the way to do it in `3.x` version is to use the `renderers` configuration and list them in an array.
6. `pluginType` was removed to favor `rendererName`. If you rely on that element, just create conditionals based on the renderer ID (all listed [here](docs/usage.md#renderers-list)). For example:
```javascript
$('video, audio').mediaelementplayer({
// Configuration
success: function(media) {
var isNative = /html5|native/i.test(media.rendererName);
var isYoutube = ~media.rendererName.indexOf('youtube');
// etc.
}
});
```
<a id="installation"></a>
## Installation and Usage
The full documentation on how to install `MediaElement.js` is available at [Installation](docs/installation.md).
A brief guide on how to create and use instances of `MediaElement` available at [Usage](docs/usage.md).
Additional features can be found at https://github.com/mediaelement/mediaelement-plugins.
<a id="api"></a>
## API and Configuration
`MediaElement.js` has many options that you can take advantage from. Visit [API and Configuration](docs/api.md) for more details.
Also, a `Utilities/Features` guide is available for development. Visit [Utilities/Features](docs/utils.md) for more details.
<a id="guidelines"></a>
## Guidelines for Contributors
If you want to contribute to improve this package, please read [Guidelines](docs/guidelines.md).
**NOTE**: If you would like to contribute with translations, make sure that you also check https://github.com/mediaelement/mediaelement-plugins, and perform the
translations for the files suffixed as `-i18n`.
<a id="sources"></a>
## Useful resources
A compilation of useful articles can be found [here](docs/resources.md).
<a id="changelog"></a>
## Change Log
Changes available at [Change Log](changelog.md).
<a id="todo"></a>
## TODO list
**IMPORTANT:** Before posting an issue, it is strongly encouraged to read the whole documentation since it covers the majority of scenarios exposed in prior issues.
New features and pending bugs can be found at [TODO list](TODO.md).

17
node_modules/mediaelement/TODO.md generated vendored Normal file
View File

@ -0,0 +1,17 @@
### TODO
#### Features to be implemented related to renderers and player
*All items listed in https://github.com/mediaelement/mediaelement/labels/Feature*
**NOTE** Please make sure any features are labeled with `Feature` to make them available with the link above.
#### Known issues related to renderers and player
*Known issues to be resolved listed in https://github.com/mediaelement/mediaelement/labels/Bug*
**NOTE** Please make sure any bugs are labeled with `Bug` to make them available with the link above.
### Any features/issues related to elements in controlbar or additional
*All items listed in https://github.com/mediaelement/mediaelement-plugins/issues*

26
node_modules/mediaelement/bower.json generated vendored Normal file
View File

@ -0,0 +1,26 @@
{
"name": "mediaelement",
"homepage": "https://github.com/mediaelement/mediaelement",
"description": "HTML5 <video> and <audio> made easy.",
"moduleType": [
"globals"
],
"keywords": [
"html5",
"video",
"audio",
"shim"
],
"license": "MIT",
"ignore": [
"**",
"!/build/**",
"!/bower.json",
"!/README*",
"!/changelog*"
],
"main": [
"./build/mediaelement-and-player.js",
"./build/mediaelementplayer.css"
]
}

89
node_modules/mediaelement/build/lang/ca.js generated vendored Normal file
View File

@ -0,0 +1,89 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Catalan
*
* @author
* Tongro
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.ca === undefined) {
exports.ca = {
'mejs.plural-form': 1,
'mejs.download-file': 'Descarregar arxiu',
'mejs.install-flash': 'Esteu utilitzant un navegador que no tingui Flash Player activat o instal·lat. Activeu el vostre complement Flash Player o descarregueu la versió més recent de https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Pantalla completa',
'mejs.play': 'Reproducció',
'mejs.pause': 'Pausa',
'mejs.time-slider': 'Control lliscant de temps',
'mejs.time-help-text': 'Utilitzeu les tecles de fletxa esquerra / dreta per avançar un segon, fletxes amunt / avall per avançar deu segons.',
'mejs.live-broadcast' : 'Transmissió en directe',
'mejs.volume-help-text': 'Utilitzeu les tecles de fletxa amunt / avall per augmentar o disminuir el volum.',
'mejs.unmute': 'Reactivar silenci',
'mejs.mute': 'Silenci',
'mejs.volume-slider': 'Control deslizador de volum',
'mejs.video-player': 'Reproductor de vídeo',
'mejs.audio-player': 'Reproductor d\'àudio',
'mejs.captions-subtitles': 'Llegendes/Subtítols',
'mejs.captions-chapters': 'Capítols',
'mejs.none': 'Ningú',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanès',
'mejs.arabic': 'Àrab',
'mejs.belarusian': 'Bielorús',
'mejs.bulgarian': 'Búlgar',
'mejs.catalan': 'Català',
'mejs.chinese': 'Xinès',
'mejs.chinese-simplified': 'Xinès (Simplificat)',
'mejs.chinese-traditional': 'Xinès (Tradicional)',
'mejs.croatian': 'Croat',
'mejs.czech': 'Txec',
'mejs.danish': 'Danès',
'mejs.dutch': 'Holandès',
'mejs.english': 'Anglès',
'mejs.estonian': 'Estonià',
'mejs.filipino': 'Filipí',
'mejs.finnish': 'Finlandès',
'mejs.french': 'Francès',
'mejs.galician': 'Gallec',
'mejs.german': 'Alemany',
'mejs.greek': 'Grec',
'mejs.haitian-creole': 'Crioll haitià',
'mejs.hebrew': 'Hebreu',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Hongarès',
'mejs.icelandic': 'Islandès',
'mejs.indonesian': 'Indonesi',
'mejs.irish': 'Irlandès',
'mejs.italian': 'Italià',
'mejs.japanese': 'Japonès',
'mejs.korean': 'Coreà',
'mejs.latvian': 'Letó',
'mejs.lithuanian': 'Lituà',
'mejs.macedonian': 'Macedoni',
'mejs.malay': 'Malai',
'mejs.maltese': 'Maltès',
'mejs.norwegian': 'Noruec',
'mejs.persian': 'Persa',
'mejs.polish': 'Polonès',
'mejs.portuguese': 'Portuguès',
'mejs.romanian': 'Romanès',
'mejs.russian': 'Rus',
'mejs.serbian': 'Serbi',
'mejs.slovak': 'Eslovac',
'mejs.slovenian': 'Eslovè',
'mejs.spanish': 'Espanyol',
'mejs.swahili': 'Suahili',
'mejs.swedish': 'Suec',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Turc',
'mejs.ukrainian': 'Ucraïnès',
'mejs.vietnamese': 'Vietnamita',
'mejs.welsh': 'Gal·lès',
'mejs.yiddish': 'Yiddish'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/cs.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Czech
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.cs === undefined) {
exports.cs = {
'mejs.plural-form': 8,
'mejs.download-file': 'Stáhnout soubor',
'mejs.install-flash': 'Používáte prohlížeč, který nemá Flash Player povolen nebo nainstalován. Zapněte plugin Flash Player nebo stáhněte nejnovější verzi z adresy https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Celá obrazovka',
'mejs.play': 'Přehrát',
'mejs.pause': 'Pozastavit',
'mejs.time-slider': 'Posuvný běžec nastavení času',
'mejs.time-help-text': 'Použijte tlačítka se šipkami doleva / doprava pro posun o jednu vteřinu, tlačítka se šipkami nahoru / dolů pro posun o deset vteřin.',
'mejs.live-broadcast' : 'Živé vysílání',
'mejs.volume-help-text': 'Použijte tlačítka se šipkami nahoru / dolů pro zesílení nebo zeslabení hlasitosti.',
'mejs.unmute': 'Zapnout zvuk',
'mejs.mute': 'Vypnout zvuk',
'mejs.volume-slider': 'Posuvný běžec nastavení hlasitosti',
'mejs.video-player': 'Přehrávač videa',
'mejs.audio-player': 'Přehrávač hudby',
'mejs.captions-subtitles': 'Titulky',
'mejs.captions-chapters': 'Kapitoly',
'mejs.none': 'Žádný',
'mejs.afrikaans': 'Afrikánština',
'mejs.albanian': 'Albánský',
'mejs.arabic': 'Arabština',
'mejs.belarusian': 'Běloruské',
'mejs.bulgarian': 'Bulharský',
'mejs.catalan': 'Katalánština',
'mejs.chinese': 'čínština',
'mejs.chinese-simplified': 'Zjednodušená čínština)',
'mejs.chinese-traditional': 'Čínština (tradiční)',
'mejs.croatian': 'Chorvatský',
'mejs.czech': 'čeština',
'mejs.danish': 'Dánština',
'mejs.dutch': 'Holandský',
'mejs.english': 'Angličtina',
'mejs.estonian': 'Estonština',
'mejs.filipino': 'Filipino',
'mejs.finnish': 'Finština',
'mejs.french': 'Francouzština',
'mejs.galician': 'Galicijština',
'mejs.german': 'Němec',
'mejs.greek': 'řecký',
'mejs.haitian-creole': 'Haitian kreolský',
'mejs.hebrew': 'Hebrejština',
'mejs.hindi': 'Hindština',
'mejs.hungarian': 'Maďarský',
'mejs.icelandic': 'Islandský',
'mejs.indonesian': 'Indonéština',
'mejs.irish': 'Irština',
'mejs.italian': 'Italština',
'mejs.japanese': 'Japonský',
'mejs.korean': 'Korejština',
'mejs.latvian': 'Lotyšský',
'mejs.lithuanian': 'Lithuanian',
'mejs.macedonian': 'Makedonština',
'mejs.malay': 'Malay',
'mejs.maltese': 'Maltština',
'mejs.norwegian': 'Norština',
'mejs.persian': 'Peršan',
'mejs.polish': 'Polština',
'mejs.portuguese': 'Portugalština',
'mejs.romanian': 'Rumunština',
'mejs.russian': 'Ruština',
'mejs.serbian': 'Srbština',
'mejs.slovak': 'Slovák',
'mejs.slovenian': 'Slovinský',
'mejs.spanish': 'španělština',
'mejs.swahili': 'Svahilský',
'mejs.swedish': 'švédský',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thajština',
'mejs.turkish': 'Turečtina',
'mejs.ukrainian': 'Ukrajinština',
'mejs.vietnamese': 'Vietnamština',
'mejs.welsh': 'Velština',
'mejs.yiddish': 'Jidiš'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/de.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* German
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.de === undefined) {
exports.de = {
'mejs.plural-form': 1,
'mejs.download-file': 'Datei herunterladen',
'mejs.install-flash': 'Ihr Browser unterstützt kein Flash. Bitte aktivieren Sie Flash bzw. laden Sie die aktuellste Flash-Version herunter unter https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Vollbild',
'mejs.play': 'Abspielen',
'mejs.pause': 'Pause',
'mejs.time-slider': 'Zeitschieberegler',
'mejs.time-help-text': 'Verwende die Pfeiltaste nach links/rechts, um eine Sekunde zu spulen, hoch/runter um zehn Sekunden zu spulen.',
'mejs.live-broadcast' : 'Live-Übertragung',
'mejs.volume-help-text': 'Verwende die Pfeiltaste nach oben/nach unten um die Lautstärke zu erhöhen oder zu verringern.',
'mejs.unmute': 'Stummschaltung aufheben',
'mejs.mute': 'Stummschalten',
'mejs.volume-slider': 'Lautstärkeregler',
'mejs.video-player': 'Video-Player',
'mejs.audio-player': 'Audio-Player',
'mejs.captions-subtitles': 'Überschriften/Untertitel',
'mejs.captions-chapters': 'Kapitel',
'mejs.none': 'Keine',
'mejs.afrikaans': 'Afrikanisch',
'mejs.albanian': 'Albanisch',
'mejs.arabic': 'Arabisch',
'mejs.belarusian': 'Weißrussisch',
'mejs.bulgarian': 'Bulgarisch',
'mejs.catalan': 'Katalanisch',
'mejs.chinese': 'Chinesisch',
'mejs.chinese-simplified': 'Chinesisch (Vereinfacht)',
'mejs.chinese-traditional': 'Chinesisch (Traditionell)',
'mejs.croatian': 'Kroatisch',
'mejs.czech': 'Tschechisch',
'mejs.danish': 'Dänisch',
'mejs.dutch': 'Niederländisch',
'mejs.english': 'Englisch',
'mejs.estonian': 'Estnisch',
'mejs.filipino': 'Filipino',
'mejs.finnish': 'Finnisch',
'mejs.french': 'Französisch',
'mejs.galician': 'Galicisch',
'mejs.german': 'Deutsch',
'mejs.greek': 'Griechisch',
'mejs.haitian-creole': 'Haitianisch',
'mejs.hebrew': 'Hebräisch',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Ungarisch',
'mejs.icelandic': 'Isländisch',
'mejs.indonesian': 'Indonesisch',
'mejs.irish': 'Irisch',
'mejs.italian': 'Italienisch',
'mejs.japanese': 'Japanisch',
'mejs.korean': 'Koreanisch',
'mejs.latvian': 'Lettisch',
'mejs.lithuanian': 'Litauisch',
'mejs.macedonian': 'Mazedonisch',
'mejs.malay': 'Malaysisch',
'mejs.maltese': 'Maltesisch',
'mejs.norwegian': 'Norwegisch',
'mejs.persian': 'Persisch',
'mejs.polish': 'Polnisch',
'mejs.portuguese': 'Portugiesisch',
'mejs.romanian': 'Rumänisch',
'mejs.russian': 'Russisch',
'mejs.serbian': 'Serbisch',
'mejs.slovak': 'Slovakisch',
'mejs.slovenian': 'Slovenisch',
'mejs.spanish': 'Spanisch',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'Schwedisch',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thailändisch',
'mejs.turkish': 'Türkisch',
'mejs.ukrainian': 'Ukrainisch',
'mejs.vietnamese': 'Vietnamnesisch',
'mejs.welsh': 'Walisisch',
'mejs.yiddish': 'Jiddisch'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/es.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
/*!
* This is a `i18n` language object.
*
* Spanish
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
* Rafael Miranda (GitHub: @rafa8626)
*
* @see core/i18n.js
*/(function (exports) {
if (exports.es === undefined) {
exports.es = {
'mejs.plural-form': 1,
'mejs.download-file': 'Descargar archivo',
'mejs.install-flash': 'Esta usando un navegador que no tiene activado o instalado el reproductor de Flash. Por favor active el plugin del reproductor de Flash o descargue la versión más reciente en https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Pantalla completa',
'mejs.play': 'Reproducción',
'mejs.pause': 'Pausa',
'mejs.time-slider': 'Control deslizante de tiempo',
'mejs.time-help-text': 'Use las flechas Izquierda/Derecha para avanzar un segundo y las flechas Arriba/Abajo para avanzar diez segundos.',
'mejs.live-broadcast': 'Transmisión en Vivo',
'mejs.volume-help-text': 'Use las flechas Arriba/Abajo para subir o bajar el volumen.',
'mejs.unmute': 'Reactivar silencio',
'mejs.mute': 'Silencio',
'mejs.volume-slider': 'Control deslizante de volumen',
'mejs.video-player': 'Reproductor de video',
'mejs.audio-player': 'Reproductor de audio',
'mejs.captions-subtitles': 'Leyendas/Subtítulos',
'mejs.captions-chapters': 'Capítulos',
'mejs.none': 'Ninguno',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albano',
'mejs.arabic': 'Árabe',
'mejs.belarusian': 'Bielorruso',
'mejs.bulgarian': 'Búlgaro',
'mejs.catalan': 'Catalán',
'mejs.chinese': 'Chino',
'mejs.chinese-simplified': 'Chino (Simplificado)',
'mejs.chinese-traditional': 'Chino (Tradicional)',
'mejs.croatian': 'Croata',
'mejs.czech': 'Checo',
'mejs.danish': 'Danés',
'mejs.dutch': 'Holandés',
'mejs.english': 'Inglés',
'mejs.estonian': 'Estoniano',
'mejs.filipino': 'Filipino',
'mejs.finnish': 'Finlandés',
'mejs.french': 'Francés',
'mejs.galician': 'Gallego',
'mejs.german': 'Alemán',
'mejs.greek': 'Griego',
'mejs.haitian-creole': 'Haitiano Criollo',
'mejs.hebrew': 'Hebreo',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Húngaro',
'mejs.icelandic': 'Islandés',
'mejs.indonesian': 'Indonesio',
'mejs.irish': 'Irlandés',
'mejs.italian': 'Italiano',
'mejs.japanese': 'Japonés',
'mejs.korean': 'Coreano',
'mejs.latvian': 'Letón',
'mejs.lithuanian': 'Lituano',
'mejs.macedonian': 'Macedonio',
'mejs.malay': 'Malayo',
'mejs.maltese': 'Maltés',
'mejs.norwegian': 'Noruego',
'mejs.persian': 'Persa',
'mejs.polish': 'Polaco',
'mejs.portuguese': 'Portugués',
'mejs.romanian': 'Rumano',
'mejs.russian': 'Ruso',
'mejs.serbian': 'Serbio',
'mejs.slovak': 'Eslovaco',
'mejs.slovenian': 'Eslovenio',
'mejs.spanish': 'Español',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'Suizo',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Tailandés',
'mejs.turkish': 'Turco',
'mejs.ukrainian': 'Ucraniano',
'mejs.vietnamese': 'Vietnamita',
'mejs.welsh': 'Galés',
'mejs.yiddish': 'Yiddish'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/fa.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
/*!
* This is a `i18n` language object.
*
* Persian
*
* @author
* wmateam (GitHub: @wmateam)
*
* @see core/i18n.js
*/(function (exports) {
'use strict';
if (exports.fa === undefined) {
exports.fa = {
'mejs.plural-form': 0,
'mejs.download-file': 'دریافت فایل',
'mejs.install-flash': 'افزونه فلش پلیر روی مرورگر شما نصب نیست یا غیر فعال است.افزونه را فعال کنید و یا از https://get.adobe.com/flashplayer/ دریافت و نصب کنید.',
'mejs.fullscreen': 'تمام صفحه',
'mejs.play': 'پخش',
'mejs.pause': 'توقف',
'mejs.time-slider': 'تغییر زمان',
'mejs.time-help-text': 'از کلید های چپ و راست کیبورد برای جا به جایی به میزان یک ثانیه استفاده کنید.همچنین کلید های بالا و پایین 10 ثانیه زمان را جا به جا می کند.',
'mejs.live-broadcast': 'پخش زنده',
'mejs.volume-help-text': 'از دکمه های بالا و پایین برای کم و زیاد کردن حجم صدا استفاده کنید.',
'mejs.unmute': 'صدا دار',
'mejs.mute': 'بی صدا',
'mejs.volume-slider': 'تغییر حجم صدا',
'mejs.video-player': 'پخش کننده ویدیو',
'mejs.audio-player': 'پخش کننده صدا',
'mejs.captions-subtitles': 'زیرنویس',
'mejs.captions-chapters': 'قسمت',
'mejs.none': 'هیچ',
'mejs.afrikaans': 'آفریقایی',
'mejs.albanian': 'آلبانیایی',
'mejs.arabic': 'عربی',
'mejs.belarusian': 'بلاروس',
'mejs.bulgarian': 'بلغاری',
'mejs.catalan': 'کاتالان',
'mejs.chinese': 'چینی',
'mejs.chinese-simplified': 'چینی (ساده شده)',
'mejs.chinese-traditional': 'چینی (سنتی)',
'mejs.croatian': 'کروات',
'mejs.czech': 'چک',
'mejs.danish': 'دانمارکی',
'mejs.dutch': 'هلندی',
'mejs.english': 'انگلیسی',
'mejs.estonian': 'استونی',
'mejs.filipino': 'فیلیپینی',
'mejs.finnish': 'فنلاندری',
'mejs.french': 'فرانسوی',
'mejs.galician': 'گالیسی',
'mejs.german': 'آلمانی',
'mejs.greek': 'یونانی',
'mejs.haitian-creole': 'کریول هائیتی',
'mejs.hebrew': 'عبری',
'mejs.hindi': 'هندی',
'mejs.hungarian': 'مجارستانی',
'mejs.icelandic': 'ایسلندی',
'mejs.indonesian': 'اندونزی',
'mejs.irish': 'ایرلندی',
'mejs.italian': 'ایتالیایی',
'mejs.japanese': 'ژاپنی',
'mejs.korean': 'کره ای',
'mejs.latvian': 'لتونی',
'mejs.lithuanian': 'لیتوانی',
'mejs.macedonian': 'مقدونی',
'mejs.malay': 'مالایی',
'mejs.maltese': 'مالتی',
'mejs.norwegian': 'نروژی',
'mejs.persian': 'فارسی',
'mejs.polish': 'لهستانی',
'mejs.portuguese': 'پرتغالی',
'mejs.romanian': 'روانی',
'mejs.russian': 'روسی',
'mejs.serbian': 'صرب',
'mejs.slovak': 'اسلواکی',
'mejs.slovenian': 'اسلوونیایی',
'mejs.spanish': 'اسپانیایی',
'mejs.swahili': 'سواحیلی',
'mejs.swedish': 'سوئد',
'mejs.tagalog': 'تاگالوگ',
'mejs.thai': 'تایلندی',
'mejs.turkish': 'ترکی',
'mejs.ukrainian': 'اوکراین',
'mejs.vietnamese': 'ویتنامی',
'mejs.welsh': 'ولزی',
'mejs.yiddish': 'ییدیش'
};
}
})(mejs.i18n);

91
node_modules/mediaelement/build/lang/fr.js generated vendored Normal file
View File

@ -0,0 +1,91 @@
'use strict';/*!
* This is a `i18n` language object.
*
* French
*
* @author
* Luc Poupard (Twitter: @klohFR)
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.fr === undefined) {
exports.fr = {
'mejs.plural-form': 2,
'mejs.download-file': 'Télécharger le fichier',
'mejs.install-flash': 'Vous utilisez un navigateur sur lequel Flash ne semble pas installé ou activé. Veuillez activer le plugin Flash ou télécharger la dernière version sur https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Plein écran',
'mejs.play': 'Lecture',
'mejs.pause': 'Pause',
'mejs.time-slider': 'Curseur temporel',
'mejs.time-help-text': 'Utilisez les flèches Gauche/Droite du clavier pour avancer d\'une seconde, les flèches Haut/Bas pour avancer de 10 secondes.',
'mejs.live-broadcast' : 'Diffusion en direct',
'mejs.volume-help-text': 'Utilisez les flèches Haut/Bas du clavier pour augmenter ou diminuer le volume.',
'mejs.unmute': 'Activer le son',
'mejs.mute': 'Désactiver le son',
'mejs.volume-slider': 'Volume',
'mejs.video-player': 'Lecteur Vidéo',
'mejs.audio-player': 'Lecteur Audio',
'mejs.captions-subtitles': 'Sous-titres',
'mejs.captions-chapters': 'Chapitres',
'mejs.none': 'Aucun',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanais',
'mejs.arabic': 'Arabe',
'mejs.belarusian': 'Biélorusse',
'mejs.bulgarian': 'Bulgare',
'mejs.catalan': 'Catalan',
'mejs.chinese': 'Chinois',
'mejs.chinese-simplified': 'Chinois (simplifié)',
'mejs.chinese-traditional': 'Chinois (traditionnel)',
'mejs.croatian': 'Croate',
'mejs.czech': 'Tchèque',
'mejs.danish': 'Danois',
'mejs.dutch': 'Néerlandais',
'mejs.english': 'Anglais',
'mejs.estonian': 'Estonien',
'mejs.filipino': 'Filipino',
'mejs.finnish': 'Finnois',
'mejs.french': 'Français',
'mejs.galician': 'Galicien',
'mejs.german': 'Allemand',
'mejs.greek': 'Grec',
'mejs.haitian-creole': 'Créole haïtien',
'mejs.hebrew': 'Hébreu',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Hongrois',
'mejs.icelandic': 'Islandais',
'mejs.indonesian': 'Indonésien',
'mejs.irish': 'Irlandais',
'mejs.italian': 'Italien',
'mejs.japanese': 'Japonais',
'mejs.korean': 'Coréen',
'mejs.latvian': 'Letton',
'mejs.lithuanian': 'Lituanien',
'mejs.macedonian': 'Macédonien',
'mejs.malay': 'Malais',
'mejs.maltese': 'Maltais',
'mejs.norwegian': 'Norvégien',
'mejs.persian': 'Perse',
'mejs.polish': 'Polonais',
'mejs.portuguese': 'Portugais',
'mejs.romanian': 'Roumain',
'mejs.russian': 'Russe',
'mejs.serbian': 'Serbe',
'mejs.slovak': 'Slovaque',
'mejs.slovenian': 'Slovène',
'mejs.spanish': 'Espagnol',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'Suédois',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thaï',
'mejs.turkish': 'Turque',
'mejs.ukrainian': 'Ukrainien',
'mejs.vietnamese': 'Vietnamien',
'mejs.welsh': 'Gallois',
'mejs.yiddish': 'Yiddish'
};
}
})(mejs.i18n);

87
node_modules/mediaelement/build/lang/hr.js generated vendored Normal file
View File

@ -0,0 +1,87 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Croatian
*
* @author
* Hrvoj3e (hrvoj3e@gmail.com) * @see core/i18n.js
*/
(function (exports) {
if (exports.hr === undefined) {
exports.hr = {
'mejs.plural-form': 7,
'mejs.download-file': 'Preuzmi datoteku',
'mejs.install-flash': 'Koristite preglednik koji nema omogućen ili instaliran Flash preglednik. Molimo Vas uključite Flash dodatak ili preuzmite najnoviju verziju s https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Puni zaslon',
'mejs.play': 'Pokreni',
'mejs.pause': 'Zaustavi',
'mejs.time-slider': 'Vremenska traka',
'mejs.time-help-text': 'Koristi strelice lijevo/desno za pomak naprijed za 1 sekundu te gore/dolje za pomak od 10 sekundi.',
'mejs.live-broadcast' : 'Prijenos uživo',
'mejs.volume-help-text': 'Koristi strelice gore/dolje za pojačavanje ili stišavanje.',
'mejs.unmute': 'Uključi zvuk',
'mejs.mute': 'Isključi zvuk',
'mejs.volume-slider': 'Pokazivač razine zvuka',
'mejs.video-player': 'Video preglednik',
'mejs.audio-player': 'Audio preglednik',
'mejs.captions-subtitles': 'Opisi/Prijevodi',
'mejs.captions-chapters': 'Poglavlja',
'mejs.none': 'Ništa',
'mejs.afrikaans': 'Afrički',
'mejs.albanian': 'Albanski',
'mejs.arabic': 'Arapski',
'mejs.belarusian': 'Bjeloruski',
'mejs.bulgarian': 'Bugarski',
'mejs.catalan': 'Katalonski',
'mejs.chinese': 'Kineski',
'mejs.chinese-simplified': 'Kineski (jednostavni)',
'mejs.chinese-traditional': 'Kineski (tradicionalni)',
'mejs.croatian': 'Hrvatski',
'mejs.czech': 'Češki',
'mejs.danish': 'Danski',
'mejs.dutch': 'Nizozemski',
'mejs.english': 'Engleski',
'mejs.estonian': 'Estonski',
'mejs.filipino': 'Filipinski',
'mejs.finnish': 'Finski',
'mejs.french': 'Francuski',
'mejs.galician': 'Galicijski',
'mejs.german': 'Njemački',
'mejs.greek': 'Grčki',
'mejs.haitian-creole': 'Haićanski kreolski',
'mejs.hebrew': 'Hebrejski',
'mejs.hindi': 'Hindski',
'mejs.hungarian': 'Mađarski',
'mejs.icelandic': 'Islandski',
'mejs.indonesian': 'Indonezijski',
'mejs.irish': 'Irski',
'mejs.italian': 'Talijanski',
'mejs.japanese': 'Japanski',
'mejs.korean': 'Korejski',
'mejs.latvian': 'Latvijski',
'mejs.lithuanian': 'Litvanski',
'mejs.macedonian': 'Makedonski',
'mejs.malay': 'Malajski',
'mejs.maltese': 'Malteški',
'mejs.norwegian': 'Norveški',
'mejs.persian': 'Perzijski',
'mejs.polish': 'Poljski',
'mejs.portuguese': 'Portugalski',
'mejs.romanian': 'Rumunjski',
'mejs.russian': 'Ruski',
'mejs.serbian': 'Srpski',
'mejs.slovak': 'Slovački',
'mejs.slovenian': 'Slovenski',
'mejs.spanish': 'Španjolski',
'mejs.swahili': 'Svahili',
'mejs.swedish': 'Švedski',
'mejs.tagalog': 'Tagaloški',
'mejs.thai': 'Tajski',
'mejs.turkish': 'Turski',
'mejs.ukrainian': 'Ukrajinski',
'mejs.vietnamese': 'Vijetnamski',
'mejs.welsh': 'Velški',
'mejs.yiddish': 'Jidiški'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/hu.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Hungarian
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.hu === undefined) {
exports.hu = {
'mejs.plural-form': 1,
'mejs.download-file': 'Fájl letöltése',
'mejs.install-flash': 'Olyan böngészőt használ, amelyhez nincs engedélyezve vagy telepítve a Flash player. Kérjük, kapcsolja be a Flash-lejátszó bővítményét, vagy töltse le a legfrissebb verziót a https://get.adobe.com/flashplayer/ címen',
'mejs.fullscreen': 'Teljes képernyő',
'mejs.play': 'Lejátszás',
'mejs.pause': 'Szünet',
'mejs.time-slider': 'Idő csúszka',
'mejs.time-help-text': 'Használja a Bal/Jobb nyíl gombokat az egy másodperces léptetéshez, a Fel/Le nyíl gombokat a tíz másodperces léptetéshez.',
'mejs.live-broadcast' : 'Élő közvetítés',
'mejs.volume-help-text': 'Használja a Fel/Le nyíl gombokat a hangerő növeléséhez vagy csökkentéséhez.',
'mejs.unmute': 'Némítás feloldása',
'mejs.mute': 'Némítás',
'mejs.volume-slider': 'Hangerőcsúszka',
'mejs.video-player': 'Videolejátszó',
'mejs.audio-player': 'Audiolejátszó',
'mejs.captions-subtitles': 'Képaláírás/Feliratok',
'mejs.captions-chapters': 'Fejezetek',
'mejs.none': 'Nincs',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albán',
'mejs.arabic': 'Arab',
'mejs.belarusian': 'Belorusz',
'mejs.bulgarian': 'Bolgár',
'mejs.catalan': 'Katalán',
'mejs.chinese': 'Kínai',
'mejs.chinese-simplified': 'Kínai (Egyszerűsített)',
'mejs.chinese-traditional': 'Kínai (Hagyományos)',
'mejs.croatian': 'Horvát',
'mejs.czech': 'Cseh',
'mejs.danish': 'Dán',
'mejs.dutch': 'Holland',
'mejs.english': 'Angol',
'mejs.estonian': 'Észt',
'mejs.filipino': 'Filippínó',
'mejs.finnish': 'Finn',
'mejs.french': 'Francia',
'mejs.galician': 'Galíciai',
'mejs.german': 'Német',
'mejs.greek': 'Görög',
'mejs.haitian-creole': 'Haiti Kreol',
'mejs.hebrew': 'Héber',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Magyar',
'mejs.icelandic': 'Izlandi',
'mejs.indonesian': 'Indonéz',
'mejs.irish': 'Ír',
'mejs.italian': 'Olasz',
'mejs.japanese': 'Japán',
'mejs.korean': 'Koreai',
'mejs.latvian': 'Lett',
'mejs.lithuanian': 'Litván',
'mejs.macedonian': 'Macedóniai',
'mejs.malay': 'Maláj',
'mejs.maltese': 'Máltai',
'mejs.norwegian': 'Norvég',
'mejs.persian': 'Perzsa',
'mejs.polish': 'Lengyel',
'mejs.portuguese': 'Portugál',
'mejs.romanian': 'Román',
'mejs.russian': 'Orosz',
'mejs.serbian': 'Szerb',
'mejs.slovak': 'Szlovák',
'mejs.slovenian': 'Szlovén',
'mejs.spanish': 'Spanyol',
'mejs.swahili': 'Szuahéli',
'mejs.swedish': 'Svéd',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Török',
'mejs.ukrainian': 'Ukrán',
'mejs.vietnamese': 'Vietnami',
'mejs.welsh': 'Walesi',
'mejs.yiddish': 'Jiddis'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/it.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Italian
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha 'SoftCreatR' Greuel
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.it === undefined) {
exports.it = {
'mejs.plural-form': 1,
'mejs.download-file': 'Scaricare il file',
'mejs.install-flash': 'Stai utilizzando un browser che non dispone di Flash Player abilitato o installato. Accenda il tuo plug-in Flash Player o scarica la versione più recente da https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Schermo intero',
'mejs.play': 'Eseguire',
'mejs.pause': 'Pausa',
'mejs.time-slider': 'Barra di scorrimento',
'mejs.time-help-text': 'Utilizzare i tasti Freccia sinistra/Freccia destra per avanzare di un secondo, Freccia Su/Giù per avanzare dieci secondi.',
'mejs.live-broadcast' : 'Trasmissione in diretta',
'mejs.volume-help-text': 'Utilizzare i tasti Freccia Su/Giù per aumentare o diminuire il volume.',
'mejs.unmute': 'Disattivare muto',
'mejs.mute': 'Muto',
'mejs.volume-slider': 'Barra del volume',
'mejs.video-player': 'Lettore Video',
'mejs.audio-player': 'Lettore Audio',
'mejs.captions-subtitles': 'Acquisizioni/sottotitoli',
'mejs.captions-chapters': 'Capitoli',
'mejs.none': 'Nessuno',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanese',
'mejs.arabic': 'Arabo',
'mejs.belarusian': 'Bielorusso',
'mejs.bulgarian': 'Bulgaro',
'mejs.catalan': 'Catalano',
'mejs.chinese': 'Cinese',
'mejs.chinese-semplificato': 'Cinese (Semplificato)',
'mejs.chinese-traditional': 'Cinese (Tradizionale)',
'mejs.croatian': 'Croato',
'mejs.czech': 'Ceco',
'mejs.danish': 'Danese',
'mejs.dutch': 'Olandese',
'mejs.english': 'Inglese',
'mejs.estonian': 'Estone',
'mejs.filipino': 'Filippino',
'mejs.finnish': 'Finlandese',
'mejs.french': 'Francese',
'mejs.galician': 'Galiziano',
'mejs.german': 'Tedesco',
'mejs.greek': 'Greco',
'mejs.haitian-creole': 'Creolo Haitiano',
'mejs.hebrew': 'Ebraico',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Ungherese',
'mejs.icelandic': 'Islandese',
'mejs.indonesian': 'Indonesiano',
'mejs.irish': 'Irlandese',
'mejs.italian': 'Italiano',
'mejs.japanese': 'Giapponese',
'mejs.korean': 'Coreano',
'mejs.latvian': 'Lettone',
'mejs.lithuanian': 'Lituano',
'mejs.macedonian': 'Macedone',
'mejs.malay': 'Malay',
'mejs.maltese': 'Maltese',
'mejs.norwegian': 'Norvegese',
'mejs.persian': 'Persiano',
'mejs.polish': 'Polacco',
'mejs.portuguese': 'Portoghese',
'mejs.romanian': 'Rumeno',
'mejs.russian': 'Russo',
'mejs.serbian': 'Serbo',
'mejs.slovak': 'Slovacco',
'mejs.slovenian': 'Sloveno',
'mejs.spanish': 'Spagnolo',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'Svedese',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Turco',
'mejs.ukrainian': 'Ucraino',
'mejs.vietnamese': 'Vietnamita',
'mejs.welsh': 'Gallese',
'mejs.yiddish': 'Yiddish'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/ja.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Japanese
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha 'SoftCreatR' Greuel
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.ja === undefined) {
exports.ja = {
'mejs.plural-form': 0,
'mejs.download-file': 'ファイルをダウンロードする',
'mejs.install-flash': 'Flash Playerが有効またはインストールされていないブラウザを使用しています。Flash Playerプラグインをオンにするか,https://get.adobe.com/flashplayer/から最新バージョンをダウンロードしてください。',
'mejs.fullscreen': '全画面',
'mejs.play': '再生',
'mejs.pause': '一時停止',
'mejs.time-slider': 'タイムスライダー',
'mejs.time-help-text': '1秒進めるには左/右矢印をキーを,10秒進めるには上/下矢印を使います。',
'mejs.live-broadcast': 'ライブブロードキャスト',
'mejs.volume-help-text': '音量を上げたり下げたりするには,上/下矢印を使います。',
'mejs.unmute': 'ミュートを解除',
'mejs.mute': 'ミュート',
'mejs.volume-slider': '音量スライダー',
'mejs.video-player': 'ビデオプレーヤー',
'mejs.audio-player': 'オーディオプレーヤー',
'mejs.captions-subtitles': 'キャプション/字幕',
'mejs.captions-chapters': '章',
'mejs.none': 'なし',
'mejs.afrikaans': 'アフリカーンス語',
'mejs.albanian': 'アルバニア語',
'mejs.arabic': 'アラビア語',
'mejs.belarusian': 'ベラルーシ語',
'mejs.bulgarian': 'ブルガリア語',
'mejs.catalan': 'カタロニア語',
'mejs.chinese': '中国語',
'mejs.chinese-simplified': '中国語(簡体字)',
'mejs.chinese-traditional': '中国語(繁体字)',
'mejs.croatian': 'クロアチア語',
'mejs.czech': 'チェコ語',
'mejs.danish': 'デンマーク語',
'mejs.dutch': 'オランダの',
'mejs.english': '英語',
'mejs.estonian': 'エストニア語',
'mejs.filipino': 'フィリピン人',
'mejs.finnish': 'フィンランド語',
'mejs.french': 'フランス語',
'mejs.galician': 'ガリシア人',
'mejs.german': 'ドイツ語',
'mejs.greek': 'ギリシャ語',
'mejs.haitian-creole': 'ハイチクレオール',
'mejs.hebrew': 'ヘブライ語',
'mejs.hindi': 'ヒンディー語',
'mejs.hungarian': 'ハンガリー語',
'mejs.icelandic': 'アイスランド語',
'mejs.indonesian': 'インドネシア語',
'mejs.irish': 'アイルランド',
'mejs.italian': 'イタリア語',
'mejs.japanese': '日本語',
'mejs.korean': '韓国語',
'mejs.latvian': 'ラトビア語',
'mejs.lithuanian': 'リトアニア語',
'mejs.macedonian': 'マケドニアの',
'mejs.malay': 'マレー語',
'mejs.maltese': 'マルタ',
'mejs.norwegian': 'ノルウェー語',
'mejs.persian': 'ペルシア語',
'mejs.polish': 'ポーランド語',
'mejs.portuguese': 'ポルトガル語',
'mejs.romanian': 'ルーマニア語',
'mejs.russian': 'ロシア語',
'mejs.serbian': 'セルビア語',
'mejs.slovak': 'スロバキア語',
'mejs.slovenian': 'スロベニア語',
'mejs.spanish': 'スペイン語',
'mejs.swahili': 'スワヒリ語',
'mejs.swedish': 'スウェーデン語',
'mejs.tagalog': 'タガログ',
'mejs.thai': 'タイ',
'mejs.turkish': 'トルコ語',
'mejs.ukrainian': 'ウクライナ語',
'mejs.vietnamese': 'ベトナム語',
'mejs.welsh': 'ウェールズ',
'mejs.yiddish': 'イディッシュ'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/ko.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Korean
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha 'SoftCreatR' Greuel
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.ko === undefined) {
exports.ko = {
'mejs.plural-form': 0,
'mejs.download-file': '파일 다운로드',
'mejs.install-flash': 'Flash Player가 활성화되거나 설치되지 않은 브라우저를 사용 중입니다. 플래시 플레이어 플러그인을 켜거나 https://get.adobe.com/flashplayer/에서 최신 버전을 다운로드하십시오.',
'mejs.fullscreen': '전체화면',
'mejs.play': '작동',
'mejs.pause': '정지',
'mejs.time-slider': '시간 슬라이더',
'mejs.time-help-text': '1초 전진하려면 좌/우측 화살표를 사용하시고 10초 전진하려면 위/아래 화살표를 사용하세요.',
'mejs.live-broadcast' : '생방송',
'mejs.volume-help-text': '볼륨을 높이거나 낮추려면 위/아래 화살표를 이용하세요.',
'mejs.unmute': '음소거 해제',
'mejs.mute': '말 없는',
'mejs.volume-slider': '볼륨 슬라이더',
'mejs.video-player': '비디오 플레이어',
'mejs.audio-player': '오디오 플레이어',
'mejs.captions-subtitles': '캡션/자막',
'mejs.captions-chapters': '챕터',
'mejs.none': '없음',
'mejs.afrikaans': '아프리칸스어',
'mejs.albanian': '알바니아',
'mejs.arabic': '아랍어',
'mejs.belarusian': '벨로루시 어',
'mejs.bulgarian': '불가리아',
'mejs.catalan': '카탈로니아 어',
'mejs.chinese': '중국어',
'mejs.chinese-simplified': '중국어 (간체)',
'mejs.chinese-traditional': '중국어 (번체)',
'mejs.croatian': '크로아티아어',
'mejs.czech': '체코 어',
'mejs.danish': '덴마크어',
'mejs.dutch': '네덜란드어',
'mejs.english': '영어',
'mejs.estonian': '에스토니아',
'mejs.filipino': '필리핀',
'mejs.finnish': '핀란드어',
'mejs.french': '프랑스어',
'mejs.galician': '갈리시아인',
'mejs.german': '독일어',
'mejs.greek': '그리스어',
'mejs.haitian-creole': '아이티 크리올',
'mejs.hebrew': '히브리어',
'mejs.hindi': '힌디어',
'mejs.hungarian': '헝가리어',
'mejs.icelandic': '아이슬란드 어',
'mejs.indonesian': '인도네시아어',
'mejs.irish': '아일랜드어',
'mejs.italian': '이탈리아어',
'mejs.japanese': '일본어',
'mejs.korean': '한국어',
'mejs.latvian': '라트비아어',
'mejs.lithuanian': '리투아니아어',
'mejs.macedonian': '마케도니아인',
'mejs.malay': '말레이',
'mejs.maltese': '몰타어',
'mejs.norwegian': '노르웨이어',
'mejs.persian': '페르시아어',
'mejs.polish': '폴란드어',
'mejs.portuguese': '포르투갈어',
'mejs.romanian': '루마니아어',
'mejs.russian': '러시아어',
'mejs.serbian': '세르비아어',
'mejs.slovak': '슬로바키아어',
'mejs.slovenian': '슬로베니아어',
'mejs.spanish': '스페인어',
'mejs.swahili': '스와힐리어',
'mejs.swedish': '스웨덴어',
'mejs.tagalog': '타갈로그어',
'mejs.thai': '태국어',
'mejs.turkish': '터키어',
'mejs.ukrainian': '우크라이나어',
'mejs.vietnamese': '베트남인',
'mejs.welsh': '웨일스 어',
'mejs.yiddish': '이디시어'
};
}
})(mejs.i18n);

91
node_modules/mediaelement/build/lang/nl.js generated vendored Normal file
View File

@ -0,0 +1,91 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Dutch
*
* @author
* Leonard de Ruijter, Twitter: @LeonarddR
* Jalios (Twitter: @Jalios)
* Sascha 'SoftCreatR' Greuel
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.nl === undefined) {
exports.nl = {
'mejs.plural-form': 1,
'mejs.download-file': 'Bestand downloaden',
'mejs.install-flash': 'U gebruikt een browser die geen Flash Player heeft ingeschakeld of geïnstalleerd. Zet de Flash Player plug-in of download de nieuwste versie van https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Volledig scherm',
'mejs.play': 'Afspelen',
'mejs.pause': 'Pauzeren',
'mejs.time-slider': 'Tijd schuifbalk',
'mejs.time-help-text': 'Gebruik pijl naar links/rechts om per seconde te springen, pijl omhoog/omlaag om per tien seconden te springen.',
'mejs.live-broadcast' : 'Live uitzending',
'mejs.volume-help-text': 'Gebruik pijl omhoog/omlaag om het volume te verhogen/verlagen.',
'mejs.unmute': 'Dempen opheffen',
'mejs.mute': 'Dempen',
'mejs.volume-slider': 'Volume schuifbalk',
'mejs.video-player': 'Videospeler',
'mejs.audio-player': 'Audiospeler',
'mejs.captions-subtitles': 'Bijschriften/ondertiteling',
'mejs.captions-chapters': 'Hoofdstukken',
'mejs.none': 'Geen',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanees',
'mejs.arabic': 'Arabisch',
'mejs.belarusian': 'Wit-Russisch',
'mejs.bulgarian': 'Bulgaars',
'mejs.catalan': 'Catalaans',
'mejs.chinese': 'Chinees',
'mejs.chinese-simplified': 'Chinees (Vereenvoudigd)',
'mejs.chinese-traditional': 'Chinees (Traditioneel)',
'mejs.croatian': 'Kroatisch',
'mejs.czech': 'Tsjechisch',
'mejs.danish': 'Deens',
'mejs.dutch': 'Nederlands',
'mejs.english': 'Engels',
'mejs.estonian': 'Estlands',
'mejs.filipino': 'Filipijns',
'mejs.finnish': 'Finse',
'mejs.french': 'Frans',
'mejs.galician': 'Galicisch',
'mejs.german': 'Duits',
'mejs.greek': 'Grieks',
'mejs.haitian-creole': 'Haïtiaanse Creoolse',
'mejs.hebrew': 'Hebreeuws',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Hongaars',
'mejs.icelandic': 'Icelandic',
'mejs.indonesian': 'Indonesisch',
'mejs.irish': 'Iers',
'mejs.italian': 'Italiaans',
'mejs.japanese': 'Japans',
'mejs.korean': 'Koreaans',
'mejs.latvian': 'Letlands',
'mejs.lithuanian': 'Litouws',
'mejs.macedonian': 'Macedonisch',
'mejs.malay': 'Maleis',
'mejs.maltese': 'Maltese',
'mejs.norwegian': 'Noors',
'mejs.persian': 'Perzisch',
'mejs.polish': 'Pools',
'mejs.portuguese': 'Portugees',
'mejs.romanian': 'Roemeens',
'mejs.russian': 'Russisch',
'mejs.serbian': 'Servisch',
'mejs.slovak': 'Slowaaks',
'mejs.slovenian': 'Sloveens',
'mejs.spanish': 'Spaans',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'Zweeds',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Turks',
'mejs.ukrainian': 'Oekraïens',
'mejs.vietnamese': 'Vietnamese',
'mejs.welsh': 'Welsh',
'mejs.yiddish': 'Jiddisch'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/pl.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Polish
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.pl === undefined) {
exports.pl = {
'mejs.plural-form': 9,
'mejs.download-file': 'Pobierz plik',
'mejs.install-flash': 'Twoja przeglądarka nie ma włączonej lub zainstalowanej wtyczki Flash Player. Prosimy ją włączyć lub pobrać najnowszą wersję ze strony https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Pełny ekran',
'mejs.play': 'Odtwarzaj',
'mejs.pause': 'Wstrzymaj',
'mejs.time-slider': 'Suwak czasu',
'mejs.time-help-text': 'Strzałki w lewo/w prawo powodują przewijanie o sekundę, strzałki w górę/w dół o dziesięć sekund.',
'mejs.live-broadcast': 'Transmisja na żywo',
'mejs.volume-help-text': 'Aby zwiększyć lub zmniejszyć głośność, użyj strzałek w górę/w dół.',
'mejs.unmute': 'Wyłącz wyciszenie',
'mejs.mute': 'Wycisz',
'mejs.volume-slider': 'Suwak głośności',
'mejs.video-player': 'Odtwarzacz wideo',
'mejs.audio-player': 'Odtwarzacz audio',
'mejs.captions-subtitles': 'Podpisy/napisy',
'mejs.captions-chapters': 'Rozdziały',
'mejs.none': 'Brak',
'mejs.afrikaans': 'Afrykański',
'mejs.albanian': 'Albański',
'mejs.arabic': 'Arabski',
'mejs.belarusian': 'Białoruski',
'mejs.bulgarian': 'Bułgarski',
'mejs.catalan': 'Kataloński',
'mejs.chinese': 'Chiński',
'mejs.chinese-simplified': 'Chiński (uproszczony)',
'mejs.chinese-traditional': 'Chiński (tradycyjny)',
'mejs.croatian': 'Chorwacki',
'mejs.czech': 'Czeski',
'mejs.danish': 'Duński',
'mejs.dutch': 'Holenderski',
'mejs.english': 'Angielski',
'mejs.estonian': 'Estoński',
'mejs.filipino': 'Filipiński',
'mejs.finnish': 'Fiński',
'mejs.french': 'Francuski',
'mejs.galician': 'Galicyjski',
'mejs.german': 'Niemiecki',
'mejs.greek': 'Grecki',
'mejs.haitian-creole': 'Haitański',
'mejs.hebrew': 'Hebrajski',
'mejs.hindi': 'Hinduski',
'mejs.hungarian': 'Węgierski',
'mejs.icelandic': 'Islandzki',
'mejs.indonesian': 'Indonezyjski',
'mejs.irish': 'Irlandzki',
'mejs.italian': 'Włoski',
'mejs.japanese': 'Japoński',
'mejs.korean': 'Koreański',
'mejs.latvian': 'Łotewski',
'mejs.lithuanian': 'Litewski',
'mejs.macedonian': 'Macedoński',
'mejs.malay': 'Malajski',
'mejs.maltese': 'Maltański',
'mejs.norwegian': 'Norweski',
'mejs.persian': 'Perski',
'mejs.polish': 'Polski',
'mejs.portuguese': 'Portugalski',
'mejs.romanian': 'Rumuński',
'mejs.russian': 'Rosyjski',
'mejs.serbian': 'Serbski',
'mejs.slovak': 'Słowacki',
'mejs.slovenian': 'Słoweński',
'mejs.spanish': 'Hiszpański',
'mejs.swahili': 'Suahili',
'mejs.swedish': 'Szwedzki',
'mejs.tagalog': 'Tagalski',
'mejs.thai': 'Tajski',
'mejs.turkish': 'Turecki',
'mejs.ukrainian': 'Ukraiński',
'mejs.vietnamese': 'Wietnamski',
'mejs.welsh': 'Walijski',
'mejs.yiddish': 'Jidysz'
};
}
})(mejs.i18n);

92
node_modules/mediaelement/build/lang/pt.js generated vendored Normal file
View File

@ -0,0 +1,92 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Portuguese
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.pt === undefined) {
exports.pt = {
'mejs.plural-form': 1,
'mejs.download-file': 'Descarregar o ficheiro',
'mejs.install-flash': 'Você está usando um navegador que não possui o player Flash ativado ou instalado. Por favor, ligue o plugin do Flash Player ou baixe a versão mais recente de https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Ecrã completo',
'mejs.play': 'Reprodução',
'mejs.pause': 'Pausa',
'mejs.time-slider': 'Deslizador do tempo',
'mejs.time-help-text': 'Use as teclas das setas para a esquerda/direita para avançar um segundo, e as setas para cima/baixo para avançar dez segundos.',
'mejs.live-broadcast' : 'Transmissão ao vivo',
'mejs.volume-help-text': 'Use as teclas das setas para cima/baixo para aumentar ou diminuir o volume.',
'mejs.unmute': 'Voltar ao som',
'mejs.mute': 'Silêncio',
'mejs.volume-slider': 'Deslizador do volume',
'mejs.video-player': 'Leitor de vídeo',
'mejs.audio-player': 'Leitor de áudio',
'mejs.captions-subtitles': 'Legendas',
'mejs.captions-chapters': 'Capítulos',
'mejs.none': 'Nenhum',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanês',
'mejs.arabic': 'Árabe',
'mejs.belarusian': 'Bielorrusso',
'mejs.bulgarian': 'Búlgaro',
'mejs.catalan': 'Catalão',
'mejs.chinese': 'Chinês',
'mejs.chinese-simplified': 'Chinese (Simplified)',
'mejs.chinese-traditional': 'Chinese (Traditional)',
'mejs.croatian': 'Croata',
'mejs.czech': 'Checo',
'mejs.danish': 'Danish',
'mejs.dutch': 'Dutch',
'mejs.english': 'Inglês',
'mejs.estonian': 'Estoniano',
'mejs.filipino': 'Filipino',
'mejs.finnish': 'Finlandês',
'mejs.french': 'French',
'mejs.galician': 'Galego',
'mejs.german': 'Alemão',
'mejs.greek': 'Grego',
'mejs.haitian-creole': 'Crioulo Haitiano',
'mejs.hebrew': 'Hebraico',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Húngaro',
'mejs.icelandic': 'Islandês',
'mejs.indonesian': 'Indonésio',
'mejs.irish': 'Irish',
'mejs.italian': 'Italiano',
'mejs.japanese': 'Japonês',
'mejs.korean': 'Coreano',
'mejs.latvian': 'Letão',
'mejs.lithuanian': 'Lithuanian',
'mejs.macedonian': 'Macedônio',
'mejs.malay': 'Malaio',
'mejs.maltese': 'Maltês',
'mejs.norwegian': 'Norwegian',
'mejs.persian': 'Persa',
'mejs.polish': 'Polish',
'mejs.portuguese': 'Português',
'mejs.romanian': 'Romanian',
'mejs.russian': 'Russian',
'mejs.serbian': 'Sérvio',
'mejs.slovak': 'Slovak',
'mejs.slovenian': 'Slovenian',
'mejs.spanish': 'Espanhol',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'sueco',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Turco',
'mejs.ukrainian': 'Ucraniano',
'mejs.vietnamese': 'Vietnamita',
'mejs.welsh': 'Welsh',
'mejs.yiddish': 'Iídiche'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/ro.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Romanian
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.ro === undefined) {
exports.ro = {
'mejs.plural-form': 5,
'mejs.download-file': 'Descarcă fişierul',
'mejs.install-flash': 'Utilizați un browser care nu are activat sau instalat playerul Flash. Porniți pluginul Flash player sau descărcați cea mai recentă versiune de la https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Ecran complet',
'mejs.play': 'Redare',
'mejs.pause': 'Pauză',
'mejs.time-slider': 'Cursor timp',
'mejs.time-help-text': 'Utilizează tastele săgeată Stânga/Dreapta pentru a avansa o secundă şi săgeţile Sus/Jos pentru a avansa zece secunde.',
'mejs.live-broadcast' : 'Difuzare în direct',
'mejs.volume-help-text': 'Utilizează tastele de săgeată Sus/Jos pentru a creşte/micşora volumul',
'mejs.unmute': 'Cu sunet',
'mejs.mute': 'Fără sunet',
'mejs.volume-slider': 'Cursor volum',
'mejs.video-player': 'Player video',
'mejs.audio-player': 'Player audio',
'mejs.captions-subtitles': 'Legende/Subtitrări',
'mejs.captions-chapters': 'Capitolele',
'mejs.none': 'Niciunul',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanez',
'mejs.arabic': 'Arabă',
'mejs.belarusian': 'Belarusian',
'mejs.bulgarian': 'Bulgară',
'mejs.catalan': 'Catalană',
'mejs.chinese': 'Chinezesc',
'mejs.chinese-simplified': 'Chineză (Simplificată)',
'mejs.chinese-traditional': 'Chineză (Tradițională)',
'mejs.croatian': 'Croată',
'mejs.czech': 'Cehă',
'mejs.danish': 'Daneză',
'mejs.dutch': 'Olandeză',
'mejs.english': 'Engleză',
'mejs.estonian': 'Estonă',
'mejs.filipino': 'Filipinez',
'mejs.finnish': 'Finlandeză',
'mejs.french': 'Franceză',
'mejs.galician': 'Galiciană',
'mejs.german': 'Germană',
'mejs.greek': 'Greacă',
'mejs.haitian-creole': 'Creolele Haitiene',
'mejs.hebrew': 'Ebraică',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Maghiar',
'mejs.icelandic': 'Islandeză',
'mejs.indonesian': 'Indonezian',
'mejs.irish': 'Irlandeză',
'mejs.italian': 'Italiană',
'mejs.japanese': 'Japoneză',
'mejs.korean': 'Coreeană',
'mejs.latvian': 'Letonă',
'mejs.lithuanian': 'Lituanian',
'mejs.macedonian': 'Macedonean',
'mejs.malay': 'Malay',
'mejs.maltese': 'Malteză',
'mejs.norwegian': 'Norvegiană',
'mejs.persian': 'Persană',
'mejs.polish': 'Polonez',
'mejs.portuguese': 'Portugheză',
'mejs.romanian': 'Română',
'mejs.russian': 'Rusă',
'mejs.serbian': 'Sârbă',
'mejs.slovak': 'Slovacă',
'mejs.slovenian': 'Slovenă',
'mejs.spanish': 'Spaniolă',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'Suedeză',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Turcă',
'mejs.ukrainian': 'Ucrainean',
'mejs.vietnamese': 'Vietnamez',
'mejs.welsh': 'Welsh',
'mejs.yiddish': 'Idiș'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/ru.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Russian
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.ru === undefined) {
exports.ru = {
'mejs.plural-form': 7,
'mejs.download-file': 'Скачать файл',
'mejs.install-flash': 'Flash player в вашем браузере не установлен или отключен. Пожалуйста включите ваш Flash player или скачайте последнюю версию с https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Полноэкранный режим',
'mejs.play': 'Воспроизвести',
'mejs.pause': 'Пауза',
'mejs.time-slider': 'Слайдер времени',
'mejs.time-help-text': 'Используйте Левую/Правую клавиши со стрелками, чтобы продвинуться на одну секунду, клавиши со стрелками Вверх/Вниз, чтобы продвинуться на десять секунд.',
'mejs.live-broadcast' : 'Прямая трансляция',
'mejs.volume-help-text': 'Используйте клавиши со стрелками Вверх/Вниз, чтобы увеличить или уменьшить громкость.',
'mejs.unmute': 'Включить звук',
'mejs.mute': 'Отключить звук',
'mejs.volume-slider': 'Слайдер громкости',
'mejs.video-player': 'Видеоплеер',
'mejs.audio-player': 'Аудиоплеер',
'mejs.captions-subtitles': 'Титры/Субтитры',
'mejs.captions-chapters': 'Главы',
'mejs.none': 'Нет',
'mejs.afrikaans': 'Африканский',
'mejs.albanian': 'Албанский',
'mejs.arabic': 'Арабский',
'mejs.belarusian': 'Белорусский',
'mejs.bulgarian': 'Болгарский',
'mejs.catalan': 'Каталонский',
'mejs.chinese': 'Китайский',
'mejs.chinese-simplified': 'Китайский (упрощенный)',
'mejs.chinese-traditional': 'Chinese (традиционный)',
'mejs.croatian': 'Хорватский',
'mejs.czech': 'Чешский',
'mejs.danish': 'Датский',
'mejs.dutch': 'Голландский',
'mejs.english': 'Английский',
'mejs.estonian': 'Эстонский',
'mejs.filipino': 'Филиппинский',
'mejs.finnish': 'Финский',
'mejs.french': 'Французский',
'mejs.galician': 'Галисийский',
'mejs.german': 'Немецкий',
'mejs.greek': 'Греческий',
'mejs.haitian-creole': 'Гаитянский креольский',
'mejs.hebrew': 'Иврит',
'mejs.hindi': 'Хинди',
'mejs.hungarian': 'Венгерский',
'mejs.icelandic': 'Исландский',
'mejs.indonesian': 'Индонезийский',
'mejs.irish': 'Ирландский',
'mejs.italian': 'Итальянский',
'mejs.japanese': 'Японский',
'mejs.korean': 'Корейский',
'mejs.latvian': 'Латышский',
'mejs.lithuanian': 'Литовский',
'mejs.macedonian': 'Македонский',
'mejs.malay': 'Малайский',
'mejs.maltese': 'Мальтийский',
'mejs.norwegian': 'Норвежский',
'mejs.persian': 'Персидский',
'mejs.polish': 'Польский',
'mejs.portuguese': 'Португальский',
'mejs.romanian': 'Румынский',
'mejs.russian': 'Русский',
'mejs.serbian': 'Сербский',
'mejs.slovak': 'Словацкий',
'mejs.slovenian': 'Словенский',
'mejs.spanish': 'Испанский',
'mejs.swahili': 'Суахили',
'mejs.swedish': 'Шведский',
'mejs.tagalog': 'Тагальский',
'mejs.thai': 'Тайский',
'mejs.turkish': 'Турецкий',
'mejs.ukrainian': 'Украинский',
'mejs.vietnamese': 'Вьетнамский',
'mejs.welsh': 'Валлийский',
'mejs.yiddish': 'Идиш'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/sk.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Slovak
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.sk === undefined) {
exports.sk = {
'mejs.plural-form': 8,
'mejs.download-file': 'Prevziať súbor',
'mejs.install-flash': 'Používate prehliadač, ktorý nemá povolený alebo nainštalovaný prehrávač Flash. Zapnite doplnok prehrávača Flash alebo si prevezmite najnovšiu verziu zo stránky https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Celá obrazovka',
'mejs.play': 'Prehrať',
'mejs.pause': 'Pozastaviť',
'mejs.time-slider': 'Posúvač času',
'mejs.time-help-text': 'Klávesmi so šípkou doľava/doprava posuniete o jednu sekundu, šípkami nahor/ nadol posuniete o desať sekúnd.',
'mejs.live-broadcast' : 'Živé vysielanie',
'mejs.volume-help-text': 'Klávesmi so šípkou nahor/nadol zvýšite alebo znížite hlasitosť.',
'mejs.unmute': 'Zrušiť stlmenie',
'mejs.mute': 'Stlmiť',
'mejs.volume-slider': 'Posúvač hlasitosti',
'mejs.video-player': 'Prehrávač videa',
'mejs.audio-player': 'Prehrávač zvuku',
'mejs.captions-subtitles': 'Skryté titulky/Titulky',
'mejs.captions-chapters': 'Kapitoly',
'mejs.none': 'Žiadne',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albánsky',
'mejs.arabic': 'Arabčina',
'mejs.belarusian': 'Bieloruský',
'mejs.bulgarian': 'Bulharčina',
'mejs.catalan': 'Katalánsky',
'mejs.chinese': 'čínština',
'mejs.chinese-simplified': 'Čínsky (Zjednodušený)',
'mejs.chinese-traditional': 'čínsky (Tradičný)',
'mejs.croatian': 'Chorvátčina',
'mejs.czech': 'čeština',
'mejs.danish': 'Dánsky',
'mejs.dutch': 'Holandský',
'mejs.english': 'Angličtina',
'mejs.estonian': 'Estónčina',
'mejs.filipino': 'Filipínsky',
'mejs.finnish': 'Fínčina',
'mejs.french': 'Francúzština',
'mejs.galician': 'Galicijčan',
'mejs.german': 'Nemčina',
'mejs.greek': 'Gréčtina',
'mejs.haitian-creole': 'Haitian Kreolský',
'mejs.hebrew': 'Hebrejčina',
'mejs.hindi': 'Hindčina',
'mejs.hungarian': 'Maďarčina',
'mejs.icelandic': 'Islandský',
'mejs.indonesian': 'Indonézsky',
'mejs.irish': 'Írsky',
'mejs.italian': 'Taliančina',
'mejs.japanese': 'Japonský',
'mejs.korean': 'Kórejský',
'mejs.latvian': 'Lotyština',
'mejs.lithuanian': 'Litovský',
'mejs.macedonian': 'Macedónsky',
'mejs.malay': 'Malajský',
'mejs.maltese': 'Maltčina',
'mejs.norwegian': 'Nórsky',
'mejs.persian': 'Perzský',
'mejs.polish': 'poľština',
'mejs.portuguese': 'Portugalčina',
'mejs.romanian': 'Rumunčina',
'mejs.russian': 'Ruský',
'mejs.serbian': 'Srbský',
'mejs.slovak': 'Slovenský',
'mejs.slovenian': 'Slovinský',
'mejs.spanish': 'španielčina',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'švédčina',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Turecký',
'mejs.ukrainian': 'Ukrajinský',
'mejs.vietnamese': 'Vietnamčina',
'mejs.welsh': 'Welsh',
'mejs.yiddish': 'Jidiš'
};
}
})(mejs.i18n);

89
node_modules/mediaelement/build/lang/sv.js generated vendored Normal file
View File

@ -0,0 +1,89 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Swedish
*
* @author
* Petter (Twitter: @petter_j)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.sv === undefined) {
exports.sv = {
'mejs.plural-form': 1,
'mejs.download-file': 'Ladda ner fil',
'mejs.install-flash': 'Du använder en webbläsare som inte har Flash Player aktiverat eller installerad. Aktivera Flash Player eller hämta den senaste versionen från https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Fullskärm',
'mejs.play': 'Spela',
'mejs.pause': 'Pausa',
'mejs.time-slider': 'Tidslinje',
'mejs.time-help-text': 'Använd Vänster/Höger piltangent för att spola en sekund, Upp/Ner piltangent spola tio sekunder.',
'mejs.live-broadcast': 'Livesändning',
'mejs.volume-help-text': 'Använd Upp/Ner piltangent för att öka eller minska volymen.',
'mejs.unmute': 'Ljud på',
'mejs.mute': 'Ljud av',
'mejs.volume-slider': 'Volymkontroll',
'mejs.video-player': 'Videospelare',
'mejs.audio-player': 'Ljudspelare',
'mejs.captions-subtitles': 'Textning/Undertexter',
'mejs.captions-chapters': 'Kapitel',
'mejs.none': 'Ingen',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanska',
'mejs.arabic': 'Arabiska',
'mejs.belarusian': 'Nederländska',
'mejs.bulgarian': 'Bulgariska',
'mejs.catalan': 'Katalanska',
'mejs.chinese': 'Kinesiska',
'mejs.chinese-simplified': 'Kinesiska (Förenklad)',
'mejs.chinese-traditional': 'Kinesiska (Traditionell)',
'mejs.croatian': 'Kroatiska',
'mejs.czech': 'Tjeckiska',
'mejs.danish': 'Danska',
'mejs.dutch': 'Holländska',
'mejs.english': 'Engelska',
'mejs.estonian': 'Estniska',
'mejs.filipino': 'Filipinska',
'mejs.finnish': 'Finska',
'mejs.french': 'Franska',
'mejs.galician': 'Galiciska',
'mejs.german': 'Tyska',
'mejs.greek': 'Grekiska',
'mejs.haitian-creole': 'Haitisk kreolsk',
'mejs.hebrew': 'Hebreiska',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Ungerska',
'mejs.icelandic': 'Isländska',
'mejs.indonesian': 'Indonesiska',
'mejs.irish': 'Irländska',
'mejs.italian': 'Italienska',
'mejs.japanese': 'Japanska',
'mejs.korean': 'Koreanska',
'mejs.latvian': 'Lettiska',
'mejs.lithuanian': 'Litauiska',
'mejs.macedonian': 'Makedonska',
'mejs.malay': 'Malaysiska',
'mejs.maltese': 'Maltesiska',
'mejs.norwegian': 'Norska',
'mejs.persian': 'Persiska',
'mejs.polish': 'Polska',
'mejs.portuguese': 'Portugisiska',
'mejs.romanian': 'Romänska',
'mejs.russian': 'Ryska',
'mejs.serbian': 'Serbiska',
'mejs.slovak': 'Slovakiska',
'mejs.slovenian': 'Slovenska',
'mejs.spanish': 'Spanska',
'mejs.swahili': 'Swahiliska',
'mejs.swedish': 'Svenska',
'mejs.tagalog': 'Tagalogiska',
'mejs.thai': 'Thailänska',
'mejs.turkish': 'Turkiska',
'mejs.ukrainian': 'Ukrainska',
'mejs.vietnamese': 'Vietnamesiska',
'mejs.welsh': 'Skotska',
'mejs.yiddish': 'Jiddisch'
};
}
})(mejs.i18n);

89
node_modules/mediaelement/build/lang/uk.js generated vendored Normal file
View File

@ -0,0 +1,89 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Ukrainian
*
* @author
* Dmitry Krekota (dmitry.krekota@gmail.com)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.uk === undefined) {
exports.uk = {
'mejs.plural-form': 7,
'mejs.download-file': 'Завантажити файл',
'mejs.install-flash': 'Flash Player у вашому браузері не встановлений або відключений. Будь ласка включіть Flash Player або скачайте останню версію із https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Повноекранний режим',
'mejs.play': 'Пуск',
'mejs.pause': 'Пауза',
'mejs.time-slider': 'Повзунок часу',
'mejs.time-help-text': 'Використовуйте ліву/праву клавіші зі стрілками, щоб переміститися на одну секунду, або клавіші вверх/вниз, щоб переміститися на десять секунд.',
'mejs.live-broadcast' : 'Пряма трансляція',
'mejs.volume-help-text': 'Використовуйте клавіші зі стрілками вверх/вниз, щоб збільшити або зменшити звук.',
'mejs.unmute': 'Включити звук',
'mejs.mute': 'Відключити звук',
'mejs.volume-slider': 'Повзунок звуку',
'mejs.video-player': 'Відеоплеєр',
'mejs.audio-player': 'Аудіоплеєр',
'mejs.captions-subtitles': 'Титри/Субтитри',
'mejs.captions-chapters': 'Глави',
'mejs.none': 'Немає',
'mejs.afrikaans': 'Африкаанс',
'mejs.albanian': 'Албанська',
'mejs.arabic': 'Арабська',
'mejs.belarusian': 'Білоруська',
'mejs.bulgarian': 'Болгарська',
'mejs.catalan': 'Каталонська',
'mejs.chinese': 'Китайська',
'mejs.chinese-simplified': 'Китайська (спрощена)',
'mejs.chinese-traditional': 'Китайська (традиційна)',
'mejs.croatian': 'Хорватска',
'mejs.czech': 'Чеська',
'mejs.danish': 'Дацька',
'mejs.dutch': 'Голландська',
'mejs.english': 'Английська',
'mejs.estonian': 'Естонська',
'mejs.filipino': 'Філіппінська',
'mejs.finnish': 'Фінська',
'mejs.french': 'Французька',
'mejs.galician': 'Галісійська',
'mejs.german': 'Німецька',
'mejs.greek': 'Грецька',
'mejs.haitian-creole': 'Гаїтянська креольська',
'mejs.hebrew': 'Іврит',
'mejs.hindi': 'Хінді',
'mejs.hungarian': 'Угорська',
'mejs.icelandic': 'Ісландська',
'mejs.indonesian': 'Індонезійська',
'mejs.irish': 'Ірландська',
'mejs.italian': 'Італійська',
'mejs.japanese': 'Японська',
'mejs.korean': 'Корейська',
'mejs.latvian': 'Латвійська',
'mejs.lithuanian': 'Литовська',
'mejs.macedonian': 'Македонська',
'mejs.malay': 'Малайська',
'mejs.maltese': 'Мальтійська',
'mejs.norwegian': 'Норвезька',
'mejs.persian': 'Перська',
'mejs.polish': 'Польська',
'mejs.portuguese': 'Португальська',
'mejs.romanian': 'Румунська',
'mejs.russian': 'Російська',
'mejs.serbian': 'Сербська',
'mejs.slovak': 'Словацька',
'mejs.slovenian': 'Словенська',
'mejs.spanish': 'Іспанська',
'mejs.swahili': 'Суахілі',
'mejs.swedish': 'Шведська',
'mejs.tagalog': 'Тагальська',
'mejs.thai': 'Тайська',
'mejs.turkish': 'Турецька',
'mejs.ukrainian': 'Українська',
'mejs.vietnamese': 'В\'єтнамська',
'mejs.welsh': 'Валлійська',
'mejs.yiddish': 'Ідиш'
};
}
})(mejs.i18n);

90
node_modules/mediaelement/build/lang/zh-cn.js generated vendored Normal file
View File

@ -0,0 +1,90 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Chinese (Simplified)
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports['zh-CN'] === undefined) {
exports['zh-CN'] = {
'mejs.plural-form': 0,
'mejs.download-file': '下载文件',
'mejs.install-flash': '您正在使用未启用或安装Flash播放器的浏览器。请打开您的Flash Player插件或从https://get.adobe.com/flashplayer/下载最新版本',
'mejs.fullscreen': '全屏',
'mejs.play': '播放',
'mejs.pause': '暂停',
'mejs.time-slider': '时间滑动棒',
'mejs.time-help-text': '使用作/右箭头快进1秒,使用上/下箭头快进10秒。',
'mejs.live-broadcast' : '现场直播',
'mejs.volume-help-text': '使用上/下箭头提高或降低音量。',
'mejs.unmute': '取消静音',
'mejs.mute': '静音',
'mejs.volume-slider': '音量选择键',
'mejs.video-player': '视频播放器',
'mejs.audio-player': '音频播放器',
'mejs.captions-subtitles': '字幕/标题',
'mejs.captions-chapters': '章',
'mejs.none': '无',
'mejs.afrikaans': '南非荷兰语',
'mejs.albanian': '阿尔巴尼亚人',
'mejs.arabic': '阿拉伯语',
'mejs.belarusian': '白俄罗斯',
'mejs.bulgarian': '保加利亚语',
'mejs.catalan': '加泰罗尼亚语',
'mejs.chinese': '中国',
'mejs.chinese-simplified': '中文(简体)',
'mejs.chinese-traditional': '中国(传统)',
'mejs.croatian': '克罗地亚语',
'mejs.czech': '捷克',
'mejs.danish': '丹麦语',
'mejs.dutch': '荷兰人',
'mejs.english': '英语',
'mejs.estonian': '爱沙尼亚语',
'mejs.filipino': '菲律宾',
'mejs.finnish': '芬兰语',
'mejs.french': '法语',
'mejs.galician': '加利西亚',
'mejs.german': '德语',
'mejs.greek': '希腊语',
'mejs.haitian-creole': '海地克里奥尔人',
'mejs.hebrew': '希伯来语',
'mejs.hindi': '印地语',
'mejs.hungarian': '匈牙利',
'mejs.icelandic': '冰岛',
'mejs.indonesian': '印尼语',
'mejs.irish': '爱尔兰',
'mejs.italian': '意大利语',
'mejs.japanese': '日本',
'mejs.korean': '韩国人',
'mejs.latvian': '拉脱维亚人',
'mejs.lithuanian': '立陶宛语',
'mejs.macedonian': '马其顿',
'mejs.malay': '马来语',
'mejs.maltese': '马耳他',
'mejs.norwegian': '挪威语',
'mejs.persian': '波斯人',
'mejs.polish': '波兰语',
'mejs.portuguese': '葡萄牙语',
'mejs.romanian': '罗马尼亚语',
'mejs.russian': '俄罗斯',
'mejs.serbian': '塞尔维亚人',
'mejs.slovak': '斯洛伐克语',
'mejs.slovenian': '斯洛文尼亚语',
'mejs.spanish': '西班牙语',
'mejs.swahili': '斯瓦希里语',
'mejs.swedish': '瑞典语',
'mejs.tagalog': '他加禄语',
'mejs.thai': '泰国',
'mejs.turkish': '土耳其语',
'mejs.ukrainian': '乌克兰',
'mejs.vietnamese': '越南人',
'mejs.welsh': '威尔士',
'mejs.yiddish': '意第绪语'
};
}
})(mejs.i18n);

91
node_modules/mediaelement/build/lang/zh.js generated vendored Normal file
View File

@ -0,0 +1,91 @@
'use strict';/*!
* This is a `i18n` language object.
*
* Chinese (Traditional)
*
* @author
* Jalios (Twitter: @Jalios)
* Sascha Greuel (Twitter: @SoftCreatR)
* Peter Dave Hello (Twitter: @PeterDaveHello)
*
* @see core/i18n.js
*/
(function (exports) {
if (exports.zh === undefined) {
exports.zh = {
'mejs.plural-form': 0,
'mejs.download-file': '下載檔案',
'mejs.install-flash': '您正在使用未啟用或安裝Flash播放器的瀏覽器。請打開您的Flash Player插件,或從https://get.adobe.com/flashplayer/下載最新版本',
'mejs.fullscreen': '全螢幕',
'mejs.play': '播放',
'mejs.pause': '暫停',
'mejs.time-slider': '時間軸',
'mejs.time-help-text': '使用左/右箭頭快轉1秒,上/下箭頭快轉10秒。',
'mejs.live-broadcast' : '現場直播',
'mejs.volume-help-text': '使用上/下箭頭提高或降低音量。',
'mejs.unmute': '取消靜音',
'mejs.mute': '靜音',
'mejs.volume-slider': '音量控制鍵',
'mejs.video-player': '影片播放器',
'mejs.audio-player': '音樂播放器',
'mejs.captions-subtitles': '字幕/標題',
'mejs.captions-chapters': '章節',
'mejs.none': '無',
'mejs.afrikaans': '南非荷蘭語',
'mejs.albanian': '阿爾巴尼亞人',
'mejs.arabic': '阿拉伯語',
'mejs.belarusian': '白俄羅斯',
'mejs.bulgarian': '保加利亞語',
'mejs.catalan': '加泰羅尼亞語',
'mejs.chinese': '中文',
'mejs.chinese-simplified': '简体中文',
'mejs.chinese-traditional': '正體中文',
'mejs.croatian': '克羅地亞語',
'mejs.czech': '捷克',
'mejs.danish': '丹麥語',
'mejs.dutch': '荷蘭人',
'mejs.english': '英語',
'mejs.estonian': '愛沙尼亞語',
'mejs.filipino': '菲律賓',
'mejs.finnish': '芬蘭語',
'mejs.french': '法語',
'mejs.galician': '加利西亞',
'mejs.german': '德語',
'mejs.greek': '希臘語',
'mejs.haitian-creole': '海地克里奧爾人',
'mejs.hebrew': '希伯來語',
'mejs.hindi': '印地語',
'mejs.hungarian': '匈牙利',
'mejs.icelandic': '冰島',
'mejs.indonesian': '印尼語',
'mejs.irish': '愛爾蘭',
'mejs.italian': '意大利語',
'mejs.japanese': '日本',
'mejs.korean': '韓國人',
'mejs.latvian': '拉脫維亞人',
'mejs.lithuanian': '立陶宛語',
'mejs.macedonian': '馬其頓',
'mejs.malay': '馬來語',
'mejs.maltese': '馬耳他',
'mejs.norwegian': '挪威語',
'mejs.persian': '波斯人',
'mejs.polish': '波蘭語',
'mejs.portuguese': '葡萄牙語',
'mejs.romanian': '羅馬尼亞語',
'mejs.russian': '俄羅斯',
'mejs.serbian': '塞爾維亞人',
'mejs.slovak': '斯洛伐克語',
'mejs.slovenian': '斯洛文尼亞語',
'mejs.spanish': '西班牙語',
'mejs.swahili': '斯瓦希里語',
'mejs.swedish': '瑞典語',
'mejs.tagalog': '他加祿語',
'mejs.thai': '泰國',
'mejs.turkish': '土耳其語',
'mejs.ukrainian': '烏克蘭',
'mejs.vietnamese': '越南人',
'mejs.welsh': '威爾士',
'mejs.yiddish': '意第緒語'
};
}
})(mejs.i18n);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

3974
node_modules/mediaelement/build/mediaelement.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

12
node_modules/mediaelement/build/mediaelement.min.js generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,774 @@
/* Accessibility: hide screen reader texts (and prefer "top" for RTL languages).
Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-how/ */
.mejs-offscreen {
border: 0;
clip: rect( 1px, 1px, 1px, 1px );
-webkit-clip-path: inset( 50% );
clip-path: inset( 50% );
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
word-wrap: normal;
}
.mejs-container {
background: #000;
box-sizing: border-box;
font-family: 'Helvetica', Arial, serif;
position: relative;
text-align: left;
text-indent: 0;
vertical-align: top;
}
.mejs-container * {
box-sizing: border-box;
}
/* Hide native play button and control bar from iOS to favor plugin button */
.mejs-container video::-webkit-media-controls,
.mejs-container video::-webkit-media-controls-panel,
.mejs-container video::-webkit-media-controls-panel-container,
.mejs-container video::-webkit-media-controls-start-playback-button {
-webkit-appearance: none;
display: none !important;
}
.mejs-fill-container,
.mejs-fill-container .mejs-container {
height: 100%;
width: 100%;
}
.mejs-fill-container {
background: transparent;
margin: 0 auto;
overflow: hidden;
position: relative;
}
.mejs-container:focus {
outline: none;
}
.mejs-iframe-overlay {
height: 100%;
position: absolute;
width: 100%;
}
.mejs-embed,
.mejs-embed body {
background: #000;
height: 100%;
margin: 0;
overflow: hidden;
padding: 0;
width: 100%;
}
.mejs-fullscreen {
overflow: hidden !important;
}
.mejs-container-fullscreen {
bottom: 0;
left: 0;
overflow: hidden;
position: fixed;
right: 0;
top: 0;
z-index: 1000;
}
.mejs-container-fullscreen .mejs-mediaelement,
.mejs-container-fullscreen video {
height: 100% !important;
width: 100% !important;
}
/* Start: LAYERS */
.mejs-background {
left: 0;
position: absolute;
top: 0;
}
.mejs-mediaelement {
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: 0;
}
.mejs-poster {
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
left: 0;
position: absolute;
top: 0;
z-index: 1;
}
:root .mejs-poster-img {
display: none;
}
.mejs-poster-img {
border: 0;
padding: 0;
}
.mejs-overlay {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
left: 0;
position: absolute;
top: 0;
}
.mejs-layer {
z-index: 1;
}
.mejs-overlay-play {
cursor: pointer;
}
.mejs-overlay-button {
background: url('mejs-controls.svg') no-repeat;
background-position: 0 -39px;
height: 80px;
width: 80px;
}
.mejs-overlay:hover > .mejs-overlay-button {
background-position: -80px -39px;
}
.mejs-overlay-loading {
height: 80px;
width: 80px;
}
.mejs-overlay-loading-bg-img {
-webkit-animation: mejs-loading-spinner 1s linear infinite;
animation: mejs-loading-spinner 1s linear infinite;
background: transparent url('mejs-controls.svg') -160px -40px no-repeat;
display: block;
height: 80px;
width: 80px;
z-index: 1;
}
@-webkit-keyframes mejs-loading-spinner {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes mejs-loading-spinner {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
/* End: LAYERS */
/* Start: CONTROL BAR */
.mejs-controls {
bottom: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 40px;
left: 0;
list-style-type: none;
margin: 0;
padding: 0 10px;
position: absolute;
width: 100%;
z-index: 3;
}
.mejs-controls:not([style*='display: none']) {
background: rgba(255, 0, 0, 0.7);
background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.35));
background: linear-gradient(transparent, rgba(0, 0, 0, 0.35));
}
.mejs-button,
.mejs-time,
.mejs-time-rail {
font-size: 10px;
height: 40px;
line-height: 10px;
margin: 0;
width: 32px;
}
.mejs-button > button {
background: transparent url('mejs-controls.svg');
border: 0;
cursor: pointer;
display: block;
font-size: 0;
height: 20px;
line-height: 0;
margin: 10px 6px;
overflow: hidden;
padding: 0;
position: absolute;
text-decoration: none;
width: 20px;
}
/* :focus for accessibility */
.mejs-button > button:focus {
outline: dotted 1px #999;
}
.mejs-container-keyboard-inactive a,
.mejs-container-keyboard-inactive a:focus,
.mejs-container-keyboard-inactive button,
.mejs-container-keyboard-inactive button:focus,
.mejs-container-keyboard-inactive [role=slider],
.mejs-container-keyboard-inactive [role=slider]:focus {
outline: 0;
}
/* End: CONTROL BAR */
/* Start: Time (Current / Duration) */
.mejs-time {
box-sizing: content-box;
color: #fff;
font-size: 11px;
font-weight: bold;
height: 24px;
overflow: hidden;
padding: 16px 6px 0;
text-align: center;
width: auto;
}
/* End: Time (Current / Duration) */
/* Start: Play/Pause/Stop */
.mejs-play > button {
background-position: 0 0;
}
.mejs-pause > button {
background-position: -20px 0;
}
.mejs-replay > button {
background-position: -160px 0;
}
/* End: Play/Pause/Stop */
/* Start: Progress Bar */
.mejs-time-rail {
direction: ltr;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
height: 40px;
margin: 0 10px;
padding-top: 10px;
position: relative;
}
.mejs-time-total,
.mejs-time-buffering,
.mejs-time-loaded,
.mejs-time-current,
.mejs-time-float,
.mejs-time-hovered,
.mejs-time-float-current,
.mejs-time-float-corner,
.mejs-time-marker {
border-radius: 2px;
cursor: pointer;
display: block;
height: 10px;
position: absolute;
}
.mejs-time-total {
background: rgba(255, 255, 255, 0.3);
margin: 5px 0 0;
width: 100%;
}
.mejs-time-buffering {
-webkit-animation: buffering-stripes 2s linear infinite;
animation: buffering-stripes 2s linear infinite;
background: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
background: linear-gradient(-45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
background-size: 15px 15px;
width: 100%;
}
@-webkit-keyframes buffering-stripes {
from {
background-position: 0 0;
}
to {
background-position: 30px 0;
}
}
@keyframes buffering-stripes {
from {
background-position: 0 0;
}
to {
background-position: 30px 0;
}
}
.mejs-time-loaded {
background: rgba(255, 255, 255, 0.3);
}
.mejs-time-current,
.mejs-time-handle-content {
background: rgba(255, 255, 255, 0.9);
}
.mejs-time-hovered {
background: rgba(255, 255, 255, 0.5);
z-index: 10;
}
.mejs-time-hovered.negative {
background: rgba(0, 0, 0, 0.2);
}
.mejs-time-current,
.mejs-time-buffering,
.mejs-time-loaded,
.mejs-time-hovered {
left: 0;
-webkit-transform: scaleX(0);
-ms-transform: scaleX(0);
transform: scaleX(0);
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transition: 0.15s ease-in all;
transition: 0.15s ease-in all;
width: 100%;
}
.mejs-time-buffering {
-webkit-transform: scaleX(1);
-ms-transform: scaleX(1);
transform: scaleX(1);
}
.mejs-time-hovered {
-webkit-transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
}
.mejs-time-hovered.no-hover {
-webkit-transform: scaleX(0) !important;
-ms-transform: scaleX(0) !important;
transform: scaleX(0) !important;
}
.mejs-time-handle,
.mejs-time-handle-content {
border: 4px solid transparent;
cursor: pointer;
left: 0;
position: absolute;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
z-index: 11;
}
.mejs-time-handle-content {
border: 4px solid rgba(255, 255, 255, 0.9);
border-radius: 50%;
height: 10px;
left: -7px;
top: -4px;
-webkit-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
width: 10px;
}
.mejs-time-rail:hover .mejs-time-handle-content,
.mejs-time-rail .mejs-time-handle-content:focus,
.mejs-time-rail .mejs-time-handle-content:active {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
.mejs-time-float {
background: #eee;
border: solid 1px #333;
bottom: 100%;
color: #111;
display: none;
height: 17px;
margin-bottom: 9px;
position: absolute;
text-align: center;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 36px;
}
.mejs-time-float-current {
display: block;
left: 0;
margin: 2px;
text-align: center;
width: 30px;
}
.mejs-time-float-corner {
border: solid 5px #eee;
border-color: #eee transparent transparent;
border-radius: 0;
display: block;
height: 0;
left: 50%;
line-height: 0;
position: absolute;
top: 100%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 0;
}
.mejs-long-video .mejs-time-float {
margin-left: -23px;
width: 64px;
}
.mejs-long-video .mejs-time-float-current {
width: 60px;
}
.mejs-broadcast {
color: #fff;
height: 10px;
position: absolute;
top: 15px;
width: 100%;
}
/* End: Progress Bar */
/* Start: Fullscreen */
.mejs-fullscreen-button > button {
background-position: -80px 0;
}
.mejs-unfullscreen > button {
background-position: -100px 0;
}
/* End: Fullscreen */
/* Start: Mute/Volume */
.mejs-mute > button {
background-position: -60px 0;
}
.mejs-unmute > button {
background-position: -40px 0;
}
.mejs-volume-button {
position: relative;
}
.mejs-volume-button > .mejs-volume-slider {
-webkit-backface-visibility: hidden;
background: rgba(50, 50, 50, 0.7);
border-radius: 0;
bottom: 100%;
display: none;
height: 115px;
left: 50%;
margin: 0;
position: absolute;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 25px;
z-index: 1;
}
.mejs-volume-button:hover {
border-radius: 0 0 4px 4px;
}
.mejs-volume-total {
background: rgba(255, 255, 255, 0.5);
height: 100px;
left: 50%;
margin: 0;
position: absolute;
top: 8px;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 2px;
}
.mejs-volume-current {
background: rgba(255, 255, 255, 0.9);
left: 0;
margin: 0;
position: absolute;
width: 100%;
}
.mejs-volume-handle {
background: rgba(255, 255, 255, 0.9);
border-radius: 1px;
cursor: ns-resize;
height: 6px;
left: 50%;
position: absolute;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 16px;
}
.mejs-horizontal-volume-slider {
display: block;
height: 36px;
position: relative;
vertical-align: middle;
width: 56px;
}
.mejs-horizontal-volume-total {
background: rgba(50, 50, 50, 0.8);
border-radius: 2px;
font-size: 1px;
height: 8px;
left: 0;
margin: 0;
padding: 0;
position: absolute;
top: 16px;
width: 50px;
}
.mejs-horizontal-volume-current {
background: rgba(255, 255, 255, 0.8);
border-radius: 2px;
font-size: 1px;
height: 100%;
left: 0;
margin: 0;
padding: 0;
position: absolute;
top: 0;
width: 100%;
}
.mejs-horizontal-volume-handle {
display: none;
}
/* End: Mute/Volume */
/* Start: Track (Captions and Chapters) */
.mejs-captions-button,
.mejs-chapters-button {
position: relative;
}
.mejs-captions-button > button {
background-position: -140px 0;
}
.mejs-chapters-button > button {
background-position: -180px 0;
}
.mejs-captions-button > .mejs-captions-selector,
.mejs-chapters-button > .mejs-chapters-selector {
background: rgba(50, 50, 50, 0.7);
border: solid 1px transparent;
border-radius: 0;
bottom: 100%;
margin-right: -43px;
overflow: hidden;
padding: 0;
position: absolute;
right: 50%;
visibility: visible;
width: 86px;
}
.mejs-chapters-button > .mejs-chapters-selector {
margin-right: -55px;
width: 110px;
}
.mejs-captions-selector-list,
.mejs-chapters-selector-list {
list-style-type: none !important;
margin: 0;
overflow: hidden;
padding: 0;
}
.mejs-captions-selector-list-item,
.mejs-chapters-selector-list-item {
color: #fff;
cursor: pointer;
display: block;
list-style-type: none !important;
margin: 0 0 6px;
overflow: hidden;
padding: 0;
}
.mejs-captions-selector-list-item:hover,
.mejs-chapters-selector-list-item:hover {
background-color: rgb(200, 200, 200) !important;
background-color: rgba(255, 255, 255, 0.4) !important;
}
.mejs-captions-selector-input,
.mejs-chapters-selector-input {
clear: both;
float: left;
left: -1000px;
margin: 3px 3px 0 5px;
position: absolute;
}
.mejs-captions-selector-label,
.mejs-chapters-selector-label {
cursor: pointer;
float: left;
font-size: 10px;
line-height: 15px;
padding: 4px 10px 0;
width: 100%;
}
.mejs-captions-selected,
.mejs-chapters-selected {
color: rgba(33, 248, 248, 1);
}
.mejs-captions-translations {
font-size: 10px;
margin: 0 0 5px;
}
.mejs-captions-layer {
bottom: 0;
color: #fff;
font-size: 16px;
left: 0;
line-height: 20px;
position: absolute;
text-align: center;
}
.mejs-captions-layer a {
color: #fff;
text-decoration: underline;
}
.mejs-captions-layer[lang=ar] {
font-size: 20px;
font-weight: normal;
}
.mejs-captions-position {
bottom: 15px;
left: 0;
position: absolute;
width: 100%;
}
.mejs-captions-position-hover {
bottom: 35px;
}
.mejs-captions-text,
.mejs-captions-text * {
background: rgba(20, 20, 20, 0.5);
box-shadow: 5px 0 0 rgba(20, 20, 20, 0.5), -5px 0 0 rgba(20, 20, 20, 0.5);
padding: 0;
white-space: pre-wrap;
}
.mejs-container.mejs-hide-cues video::-webkit-media-text-track-container {
display: none;
}
/* End: Track (Captions and Chapters) */
/* Start: Error */
.mejs-overlay-error {
position: relative;
}
.mejs-overlay-error > img {
left: 0;
max-width: 100%;
position: absolute;
top: 0;
z-index: -1;
}
.mejs-cannotplay,
.mejs-cannotplay a {
color: #fff;
font-size: 0.8em;
}
.mejs-cannotplay {
position: relative;
}
.mejs-cannotplay p,
.mejs-cannotplay a {
display: inline-block;
padding: 0 15px;
width: 100%;
}
/* End: Error */

File diff suppressed because one or more lines are too long

774
node_modules/mediaelement/build/mediaelementplayer.css generated vendored Normal file
View File

@ -0,0 +1,774 @@
/* Accessibility: hide screen reader texts (and prefer "top" for RTL languages).
Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-how/ */
.mejs__offscreen {
border: 0;
clip: rect( 1px, 1px, 1px, 1px );
-webkit-clip-path: inset( 50% );
clip-path: inset( 50% );
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
word-wrap: normal;
}
.mejs__container {
background: #000;
box-sizing: border-box;
font-family: 'Helvetica', Arial, serif;
position: relative;
text-align: left;
text-indent: 0;
vertical-align: top;
}
.mejs__container * {
box-sizing: border-box;
}
/* Hide native play button and control bar from iOS to favor plugin button */
.mejs__container video::-webkit-media-controls,
.mejs__container video::-webkit-media-controls-panel,
.mejs__container video::-webkit-media-controls-panel-container,
.mejs__container video::-webkit-media-controls-start-playback-button {
-webkit-appearance: none;
display: none !important;
}
.mejs__fill-container,
.mejs__fill-container .mejs__container {
height: 100%;
width: 100%;
}
.mejs__fill-container {
background: transparent;
margin: 0 auto;
overflow: hidden;
position: relative;
}
.mejs__container:focus {
outline: none;
}
.mejs__iframe-overlay {
height: 100%;
position: absolute;
width: 100%;
}
.mejs__embed,
.mejs__embed body {
background: #000;
height: 100%;
margin: 0;
overflow: hidden;
padding: 0;
width: 100%;
}
.mejs__fullscreen {
overflow: hidden !important;
}
.mejs__container-fullscreen {
bottom: 0;
left: 0;
overflow: hidden;
position: fixed;
right: 0;
top: 0;
z-index: 1000;
}
.mejs__container-fullscreen .mejs__mediaelement,
.mejs__container-fullscreen video {
height: 100% !important;
width: 100% !important;
}
/* Start: LAYERS */
.mejs__background {
left: 0;
position: absolute;
top: 0;
}
.mejs__mediaelement {
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: 0;
}
.mejs__poster {
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
left: 0;
position: absolute;
top: 0;
z-index: 1;
}
:root .mejs__poster-img {
display: none;
}
.mejs__poster-img {
border: 0;
padding: 0;
}
.mejs__overlay {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
left: 0;
position: absolute;
top: 0;
}
.mejs__layer {
z-index: 1;
}
.mejs__overlay-play {
cursor: pointer;
}
.mejs__overlay-button {
background: url('mejs-controls.svg') no-repeat;
background-position: 0 -39px;
height: 80px;
width: 80px;
}
.mejs__overlay:hover > .mejs__overlay-button {
background-position: -80px -39px;
}
.mejs__overlay-loading {
height: 80px;
width: 80px;
}
.mejs__overlay-loading-bg-img {
-webkit-animation: mejs__loading-spinner 1s linear infinite;
animation: mejs__loading-spinner 1s linear infinite;
background: transparent url('mejs-controls.svg') -160px -40px no-repeat;
display: block;
height: 80px;
width: 80px;
z-index: 1;
}
@-webkit-keyframes mejs__loading-spinner {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes mejs__loading-spinner {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
/* End: LAYERS */
/* Start: CONTROL BAR */
.mejs__controls {
bottom: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 40px;
left: 0;
list-style-type: none;
margin: 0;
padding: 0 10px;
position: absolute;
width: 100%;
z-index: 3;
}
.mejs__controls:not([style*='display: none']) {
background: rgba(255, 0, 0, 0.7);
background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.35));
background: linear-gradient(transparent, rgba(0, 0, 0, 0.35));
}
.mejs__button,
.mejs__time,
.mejs__time-rail {
font-size: 10px;
height: 40px;
line-height: 10px;
margin: 0;
width: 32px;
}
.mejs__button > button {
background: transparent url('mejs-controls.svg');
border: 0;
cursor: pointer;
display: block;
font-size: 0;
height: 20px;
line-height: 0;
margin: 10px 6px;
overflow: hidden;
padding: 0;
position: absolute;
text-decoration: none;
width: 20px;
}
/* :focus for accessibility */
.mejs__button > button:focus {
outline: dotted 1px #999;
}
.mejs__container-keyboard-inactive a,
.mejs__container-keyboard-inactive a:focus,
.mejs__container-keyboard-inactive button,
.mejs__container-keyboard-inactive button:focus,
.mejs__container-keyboard-inactive [role=slider],
.mejs__container-keyboard-inactive [role=slider]:focus {
outline: 0;
}
/* End: CONTROL BAR */
/* Start: Time (Current / Duration) */
.mejs__time {
box-sizing: content-box;
color: #fff;
font-size: 11px;
font-weight: bold;
height: 24px;
overflow: hidden;
padding: 16px 6px 0;
text-align: center;
width: auto;
}
/* End: Time (Current / Duration) */
/* Start: Play/Pause/Stop */
.mejs__play > button {
background-position: 0 0;
}
.mejs__pause > button {
background-position: -20px 0;
}
.mejs__replay > button {
background-position: -160px 0;
}
/* End: Play/Pause/Stop */
/* Start: Progress Bar */
.mejs__time-rail {
direction: ltr;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
height: 40px;
margin: 0 10px;
padding-top: 10px;
position: relative;
}
.mejs__time-total,
.mejs__time-buffering,
.mejs__time-loaded,
.mejs__time-current,
.mejs__time-float,
.mejs__time-hovered,
.mejs__time-float-current,
.mejs__time-float-corner,
.mejs__time-marker {
border-radius: 2px;
cursor: pointer;
display: block;
height: 10px;
position: absolute;
}
.mejs__time-total {
background: rgba(255, 255, 255, 0.3);
margin: 5px 0 0;
width: 100%;
}
.mejs__time-buffering {
-webkit-animation: buffering-stripes 2s linear infinite;
animation: buffering-stripes 2s linear infinite;
background: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
background: linear-gradient(-45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
background-size: 15px 15px;
width: 100%;
}
@-webkit-keyframes buffering-stripes {
from {
background-position: 0 0;
}
to {
background-position: 30px 0;
}
}
@keyframes buffering-stripes {
from {
background-position: 0 0;
}
to {
background-position: 30px 0;
}
}
.mejs__time-loaded {
background: rgba(255, 255, 255, 0.3);
}
.mejs__time-current,
.mejs__time-handle-content {
background: rgba(255, 255, 255, 0.9);
}
.mejs__time-hovered {
background: rgba(255, 255, 255, 0.5);
z-index: 10;
}
.mejs__time-hovered.negative {
background: rgba(0, 0, 0, 0.2);
}
.mejs__time-current,
.mejs__time-buffering,
.mejs__time-loaded,
.mejs__time-hovered {
left: 0;
-webkit-transform: scaleX(0);
-ms-transform: scaleX(0);
transform: scaleX(0);
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transition: 0.15s ease-in all;
transition: 0.15s ease-in all;
width: 100%;
}
.mejs__time-buffering {
-webkit-transform: scaleX(1);
-ms-transform: scaleX(1);
transform: scaleX(1);
}
.mejs__time-hovered {
-webkit-transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
}
.mejs__time-hovered.no-hover {
-webkit-transform: scaleX(0) !important;
-ms-transform: scaleX(0) !important;
transform: scaleX(0) !important;
}
.mejs__time-handle,
.mejs__time-handle-content {
border: 4px solid transparent;
cursor: pointer;
left: 0;
position: absolute;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
z-index: 11;
}
.mejs__time-handle-content {
border: 4px solid rgba(255, 255, 255, 0.9);
border-radius: 50%;
height: 10px;
left: -7px;
top: -4px;
-webkit-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
width: 10px;
}
.mejs__time-rail:hover .mejs__time-handle-content,
.mejs__time-rail .mejs__time-handle-content:focus,
.mejs__time-rail .mejs__time-handle-content:active {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
.mejs__time-float {
background: #eee;
border: solid 1px #333;
bottom: 100%;
color: #111;
display: none;
height: 17px;
margin-bottom: 9px;
position: absolute;
text-align: center;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 36px;
}
.mejs__time-float-current {
display: block;
left: 0;
margin: 2px;
text-align: center;
width: 30px;
}
.mejs__time-float-corner {
border: solid 5px #eee;
border-color: #eee transparent transparent;
border-radius: 0;
display: block;
height: 0;
left: 50%;
line-height: 0;
position: absolute;
top: 100%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 0;
}
.mejs__long-video .mejs__time-float {
margin-left: -23px;
width: 64px;
}
.mejs__long-video .mejs__time-float-current {
width: 60px;
}
.mejs__broadcast {
color: #fff;
height: 10px;
position: absolute;
top: 15px;
width: 100%;
}
/* End: Progress Bar */
/* Start: Fullscreen */
.mejs__fullscreen-button > button {
background-position: -80px 0;
}
.mejs__unfullscreen > button {
background-position: -100px 0;
}
/* End: Fullscreen */
/* Start: Mute/Volume */
.mejs__mute > button {
background-position: -60px 0;
}
.mejs__unmute > button {
background-position: -40px 0;
}
.mejs__volume-button {
position: relative;
}
.mejs__volume-button > .mejs__volume-slider {
-webkit-backface-visibility: hidden;
background: rgba(50, 50, 50, 0.7);
border-radius: 0;
bottom: 100%;
display: none;
height: 115px;
left: 50%;
margin: 0;
position: absolute;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 25px;
z-index: 1;
}
.mejs__volume-button:hover {
border-radius: 0 0 4px 4px;
}
.mejs__volume-total {
background: rgba(255, 255, 255, 0.5);
height: 100px;
left: 50%;
margin: 0;
position: absolute;
top: 8px;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 2px;
}
.mejs__volume-current {
background: rgba(255, 255, 255, 0.9);
left: 0;
margin: 0;
position: absolute;
width: 100%;
}
.mejs__volume-handle {
background: rgba(255, 255, 255, 0.9);
border-radius: 1px;
cursor: ns-resize;
height: 6px;
left: 50%;
position: absolute;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
width: 16px;
}
.mejs__horizontal-volume-slider {
display: block;
height: 36px;
position: relative;
vertical-align: middle;
width: 56px;
}
.mejs__horizontal-volume-total {
background: rgba(50, 50, 50, 0.8);
border-radius: 2px;
font-size: 1px;
height: 8px;
left: 0;
margin: 0;
padding: 0;
position: absolute;
top: 16px;
width: 50px;
}
.mejs__horizontal-volume-current {
background: rgba(255, 255, 255, 0.8);
border-radius: 2px;
font-size: 1px;
height: 100%;
left: 0;
margin: 0;
padding: 0;
position: absolute;
top: 0;
width: 100%;
}
.mejs__horizontal-volume-handle {
display: none;
}
/* End: Mute/Volume */
/* Start: Track (Captions and Chapters) */
.mejs__captions-button,
.mejs__chapters-button {
position: relative;
}
.mejs__captions-button > button {
background-position: -140px 0;
}
.mejs__chapters-button > button {
background-position: -180px 0;
}
.mejs__captions-button > .mejs__captions-selector,
.mejs__chapters-button > .mejs__chapters-selector {
background: rgba(50, 50, 50, 0.7);
border: solid 1px transparent;
border-radius: 0;
bottom: 100%;
margin-right: -43px;
overflow: hidden;
padding: 0;
position: absolute;
right: 50%;
visibility: visible;
width: 86px;
}
.mejs__chapters-button > .mejs__chapters-selector {
margin-right: -55px;
width: 110px;
}
.mejs__captions-selector-list,
.mejs__chapters-selector-list {
list-style-type: none !important;
margin: 0;
overflow: hidden;
padding: 0;
}
.mejs__captions-selector-list-item,
.mejs__chapters-selector-list-item {
color: #fff;
cursor: pointer;
display: block;
list-style-type: none !important;
margin: 0 0 6px;
overflow: hidden;
padding: 0;
}
.mejs__captions-selector-list-item:hover,
.mejs__chapters-selector-list-item:hover {
background-color: rgb(200, 200, 200) !important;
background-color: rgba(255, 255, 255, 0.4) !important;
}
.mejs__captions-selector-input,
.mejs__chapters-selector-input {
clear: both;
float: left;
left: -1000px;
margin: 3px 3px 0 5px;
position: absolute;
}
.mejs__captions-selector-label,
.mejs__chapters-selector-label {
cursor: pointer;
float: left;
font-size: 10px;
line-height: 15px;
padding: 4px 10px 0;
width: 100%;
}
.mejs__captions-selected,
.mejs__chapters-selected {
color: rgba(33, 248, 248, 1);
}
.mejs__captions-translations {
font-size: 10px;
margin: 0 0 5px;
}
.mejs__captions-layer {
bottom: 0;
color: #fff;
font-size: 16px;
left: 0;
line-height: 20px;
position: absolute;
text-align: center;
}
.mejs__captions-layer a {
color: #fff;
text-decoration: underline;
}
.mejs__captions-layer[lang=ar] {
font-size: 20px;
font-weight: normal;
}
.mejs__captions-position {
bottom: 15px;
left: 0;
position: absolute;
width: 100%;
}
.mejs__captions-position-hover {
bottom: 35px;
}
.mejs__captions-text,
.mejs__captions-text * {
background: rgba(20, 20, 20, 0.5);
box-shadow: 5px 0 0 rgba(20, 20, 20, 0.5), -5px 0 0 rgba(20, 20, 20, 0.5);
padding: 0;
white-space: pre-wrap;
}
.mejs__container.mejs__hide-cues video::-webkit-media-text-track-container {
display: none;
}
/* End: Track (Captions and Chapters) */
/* Start: Error */
.mejs__overlay-error {
position: relative;
}
.mejs__overlay-error > img {
left: 0;
max-width: 100%;
position: absolute;
top: 0;
z-index: -1;
}
.mejs__cannotplay,
.mejs__cannotplay a {
color: #fff;
font-size: 0.8em;
}
.mejs__cannotplay {
position: relative;
}
.mejs__cannotplay p,
.mejs__cannotplay a {
display: inline-block;
padding: 0 15px;
width: 100%;
}
/* End: Error */

File diff suppressed because one or more lines are too long

BIN
node_modules/mediaelement/build/mejs-controls.png generated vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

1
node_modules/mediaelement/build/mejs-controls.svg generated vendored Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="120" viewBox="0 0 400 120"><style>.st0{fill:#FFFFFF;width:16px;height:16px} .st1{fill:none;stroke:#FFFFFF;stroke-width:1.5;stroke-linecap:round;} .st2{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;} .st3{fill:none;stroke:#FFFFFF;} .st4{fill:#231F20;} .st5{opacity:0.75;fill:none;stroke:#FFFFFF;stroke-width:5;enable-background:new;} .st6{fill:none;stroke:#FFFFFF;stroke-width:5;} .st7{opacity:0.4;fill:#FFFFFF;enable-background:new;} .st8{opacity:0.6;fill:#FFFFFF;enable-background:new;} .st9{opacity:0.8;fill:#FFFFFF;enable-background:new;} .st10{opacity:0.9;fill:#FFFFFF;enable-background:new;} .st11{opacity:0.3;fill:#FFFFFF;enable-background:new;} .st12{opacity:0.5;fill:#FFFFFF;enable-background:new;} .st13{opacity:0.7;fill:#FFFFFF;enable-background:new;}</style><path class="st0" d="M16.5 8.5c.3.1.4.5.2.8-.1.1-.1.2-.2.2l-11.4 7c-.5.3-.8.1-.8-.5V2c0-.5.4-.8.8-.5l11.4 7z"/><path class="st0" d="M24 1h2.2c.6 0 1 .4 1 1v14c0 .6-.4 1-1 1H24c-.6 0-1-.4-1-1V2c0-.5.4-1 1-1zm9.8 0H36c.6 0 1 .4 1 1v14c0 .6-.4 1-1 1h-2.2c-.6 0-1-.4-1-1V2c0-.5.4-1 1-1z"/><path class="st0" d="M81 1.4c0-.6.4-1 1-1h5.4c.6 0 .7.3.3.7l-6 6c-.4.4-.7.3-.7-.3V1.4zm0 15.8c0 .6.4 1 1 1h5.4c.6 0 .7-.3.3-.7l-6-6c-.4-.4-.7-.3-.7.3v5.4zM98.8 1.4c0-.6-.4-1-1-1h-5.4c-.6 0-.7.3-.3.7l6 6c.4.4.7.3.7-.3V1.4zm0 15.8c0 .6-.4 1-1 1h-5.4c-.6 0-.7-.3-.3-.7l6-6c.4-.4.7-.3.7.3v5.4z"/><path class="st0" d="M112.7 5c0 .6.4 1 1 1h4.1c.6 0 .7-.3.3-.7L113.4.6c-.4-.4-.7-.3-.7.3V5zm-7.1 1c.6 0 1-.4 1-1V.9c0-.6-.3-.7-.7-.3l-4.7 4.7c-.4.4-.3.7.3.7h4.1zm1 7.1c0-.6-.4-1-1-1h-4.1c-.6 0-.7.3-.3.7l4.7 4.7c.4.4.7.3.7-.3v-4.1zm7.1-1c-.6 0-1 .4-1 1v4.1c0 .5.3.7.7.3l4.7-4.7c.4-.4.3-.7-.3-.7h-4.1z"/><path class="st0" d="M67 5.8c-.5.4-1.2.6-1.8.6H62c-.6 0-1 .4-1 1v5.7c0 .6.4 1 1 1h4.2c.3.2.5.4.8.6l3.5 2.6c.4.3.8.1.8-.4V3.5c0-.5-.4-.7-.8-.4L67 5.8z"/><path class="st1" d="M73.9 2.5s3.9-.8 3.9 7.7-3.9 7.8-3.9 7.8"/><path class="st1" d="M72.6 6.4s2.6-.4 2.6 3.8-2.6 3.9-2.6 3.9"/><path class="st0" d="M47 5.8c-.5.4-1.2.6-1.8.6H42c-.6 0-1 .4-1 1v5.7c0 .6.4 1 1 1h4.2c.3.2.5.4.8.6l3.5 2.6c.4.3.8.1.8-.4V3.5c0-.5-.4-.7-.8-.4L47 5.8z"/><path class="st2" d="M52.8 7l5.4 5.4m-5.4 0L58.2 7"/><path class="st3" d="M128.7 8.6c-6.2-4.2-6.5 7.8 0 3.9m6.5-3.9c-6.2-4.2-6.5 7.8 0 3.9"/><path class="st0" d="M122.2 3.4h15.7v13.1h-15.7V3.4zM120.8 2v15.7h18.3V2h-18.3z"/><path class="st0" d="M143.2 3h14c1.1 0 2 .9 2 2v10c0 1.1-.9 2-2 2h-14c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2z"/><path class="st4" d="M146.4 13.8c-.8 0-1.6-.4-2.1-1-1.1-1.4-1-3.4.1-4.8.5-.6 2-1.7 4.6.2l-.6.8c-1.4-1-2.6-1.1-3.3-.3-.8 1-.8 2.4-.1 3.5.7.9 1.9.8 3.4-.1l.5.9c-.7.5-1.6.7-2.5.8zm7.5 0c-.8 0-1.6-.4-2.1-1-1.1-1.4-1-3.4.1-4.8.5-.6 2-1.7 4.6.2l-.5.8c-1.4-1-2.6-1.1-3.3-.3-.8 1-.8 2.4-.1 3.5.7.9 1.9.8 3.4-.1l.5.9c-.8.5-1.7.7-2.6.8z"/><path class="st0" d="M60.3 77c.6.2.8.8.6 1.4-.1.3-.3.5-.6.6L30 96.5c-1 .6-1.7.1-1.7-1v-35c0-1.1.8-1.5 1.7-1L60.3 77z"/><path class="st5" d="M2.5 79c0-20.7 16.8-37.5 37.5-37.5S77.5 58.3 77.5 79 60.7 116.5 40 116.5 2.5 99.7 2.5 79z"/><path class="st0" d="M140.3 77c.6.2.8.8.6 1.4-.1.3-.3.5-.6.6L110 96.5c-1 .6-1.7.1-1.7-1v-35c0-1.1.8-1.5 1.7-1L140.3 77z"/><path class="st6" d="M82.5 79c0-20.7 16.8-37.5 37.5-37.5s37.5 16.8 37.5 37.5-16.8 37.5-37.5 37.5S82.5 99.7 82.5 79z"/><circle class="st0" cx="201.9" cy="47.1" r="8.1"/><circle class="st7" cx="233.9" cy="79" r="5"/><circle class="st8" cx="201.9" cy="110.9" r="6"/><circle class="st9" cx="170.1" cy="79" r="7"/><circle class="st10" cx="178.2" cy="56.3" r="7.5"/><circle class="st11" cx="226.3" cy="56.1" r="4.5"/><circle class="st12" cx="225.8" cy="102.8" r="5.5"/><circle class="st13" cx="178.2" cy="102.8" r="6.5"/><path class="st0" d="M178 9.4c0 .4-.4.7-.9.7-.1 0-.2 0-.2-.1L172 8.2c-.5-.2-.6-.6-.1-.8l6.2-3.6c.5-.3.8-.1.7.5l-.8 5.1z"/><path class="st0" d="M169.4 15.9c-1 0-2-.2-2.9-.7-2-1-3.2-3-3.2-5.2.1-3.4 2.9-6 6.3-6 2.5.1 4.8 1.7 5.6 4.1l.1-.1 2.1 1.1c-.6-4.4-4.7-7.5-9.1-6.9-3.9.6-6.9 3.9-7 7.9 0 2.9 1.7 5.6 4.3 7 1.2.6 2.5.9 3.8 1 2.6 0 5-1.2 6.6-3.3l-1.8-.9c-1.2 1.2-3 2-4.8 2z"/><path class="st0" d="M183.4 3.2c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5zm-5.1 5c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5zm-5.1 5c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5z"/></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1,415 @@
/*!
* MediaElement.js
* http://www.mediaelementjs.com/
*
* Wrapper that mimics native HTML5 MediaElement (audio and video)
* using a variety of technologies (pure JavaScript, Flash, iframe)
*
* Copyright 2010-2017, John Dyer (http://j.hn/)
* License: MIT
*
*/(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
'use strict';
var DailyMotionApi = {
isSDKStarted: false,
isSDKLoaded: false,
iframeQueue: [],
enqueueIframe: function enqueueIframe(settings) {
if (DailyMotionApi.isLoaded) {
DailyMotionApi.createIframe(settings);
} else {
DailyMotionApi.loadIframeApi();
DailyMotionApi.iframeQueue.push(settings);
}
},
loadIframeApi: function loadIframeApi() {
if (!DailyMotionApi.isSDKStarted) {
mejs.Utils.loadScript('https://api.dmcdn.net/all.js');
DailyMotionApi.isSDKStarted = true;
}
},
apiReady: function apiReady() {
DailyMotionApi.isLoaded = true;
DailyMotionApi.isSDKLoaded = true;
while (DailyMotionApi.iframeQueue.length > 0) {
var settings = DailyMotionApi.iframeQueue.pop();
DM.init({
apiKey: settings.apiKey,
status: settings.status,
cookie: settings.cookie
});
DailyMotionApi.createIframe(settings);
}
},
createIframe: function createIframe(settings) {
var player = DM.player(settings.container, {
height: settings.height || '100%',
width: settings.width || '100%',
video: settings.videoId,
params: Object.assign({ api: true }, settings.params),
origin: location.host
});
player.addEventListener('apiready', function () {
window['__ready__' + settings.id](player, { paused: true, ended: false });
});
},
getDailyMotionId: function getDailyMotionId(url) {
var parts = url.split('/'),
lastPart = parts[parts.length - 1],
dashParts = lastPart.split('_');
return dashParts[0];
}
};
var DailyMotionIframeRenderer = {
name: 'dailymotion_iframe',
options: {
prefix: 'dailymotion_iframe',
dailymotion: {
width: '100%',
height: '100%',
params: {
autoplay: false,
chromeless: 1,
info: 0,
logo: 0,
related: 0
},
apiKey: null,
status: true,
cookie: true
}
},
canPlayType: function canPlayType(type) {
return ~['video/dailymotion', 'video/x-dailymotion'].indexOf(type.toLowerCase());
},
create: function create(mediaElement, options, mediaFiles) {
var dm = {},
apiStack = [],
readyState = 4;
var events = void 0,
dmPlayer = null,
dmIframe = null,
muted = mediaElement.originalNode.muted;
dm.options = options;
dm.id = mediaElement.id + '_' + options.prefix;
dm.mediaElement = mediaElement;
var props = mejs.html5media.properties,
assignGettersSetters = function assignGettersSetters(propName) {
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
dm['get' + capName] = function () {
if (dmPlayer !== null) {
var value = null;
switch (propName) {
case 'currentTime':
return dmPlayer.currentTime;
case 'duration':
return isNaN(dmPlayer.duration) ? 0 : dmPlayer.duration;
case 'volume':
return dmPlayer.volume;
case 'paused':
return dmPlayer.paused;
case 'ended':
return dmPlayer.ended;
case 'muted':
muted = dmPlayer.muted;
return muted;
case 'buffered':
var percentLoaded = dmPlayer.bufferedTime,
duration = dmPlayer.duration;
return {
start: function start() {
return 0;
},
end: function end() {
return percentLoaded / duration;
},
length: 1
};
case 'src':
return mediaElement.originalNode.getAttribute('src');
case 'readyState':
return readyState;
}
return value;
} else {
return null;
}
};
dm['set' + capName] = function (value) {
if (dmPlayer !== null) {
switch (propName) {
case 'src':
var url = typeof value === 'string' ? value : value[0].src;
dmPlayer.load(DailyMotionApi.getDailyMotionId(url));
break;
case 'currentTime':
dmPlayer.seek(value);
break;
case 'muted':
if (value === true) {
dmPlayer.setVolume(0);
}
dmPlayer.setMuted(value);
muted = value;
setTimeout(function () {
var event = mejs.Utils.createEvent('volumechange', dm);
mediaElement.dispatchEvent(event);
}, 50);
break;
case 'volume':
dmPlayer.setVolume(value);
if (value === 0 && !dmPlayer.muted) {
dmPlayer.setMuted(true);
muted = true;
} else if (value > 0 && dmPlayer.muted) {
dmPlayer.setMuted(false);
muted = false;
}
setTimeout(function () {
var event = mejs.Utils.createEvent('volumechange', dm);
mediaElement.dispatchEvent(event);
}, 50);
break;
case 'readyState':
var event = mejs.Utils.createEvent('canplay', dm);
mediaElement.dispatchEvent(event);
break;
default:
break;
}
} else {
apiStack.push({ type: 'set', propName: propName, value: value });
}
};
};
for (var i = 0, total = props.length; i < total; i++) {
assignGettersSetters(props[i]);
}
var methods = mejs.html5media.methods,
assignMethods = function assignMethods(methodName) {
dm[methodName] = function () {
if (dmPlayer !== null) {
switch (methodName) {
case 'play':
return dmPlayer.play();
case 'pause':
return dmPlayer.pause();
case 'load':
return null;
}
} else {
apiStack.push({ type: 'call', methodName: methodName });
}
};
};
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
assignMethods(methods[_i]);
}
window['__ready__' + dm.id] = function (_dmPlayer) {
mediaElement.dmPlayer = dmPlayer = _dmPlayer;
if (apiStack.length) {
for (var _i2 = 0, _total2 = apiStack.length; _i2 < _total2; _i2++) {
var stackItem = apiStack[_i2];
if (stackItem.type === 'set') {
var propName = stackItem.propName,
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
dm['set' + capName](stackItem.value);
} else if (stackItem.type === 'call') {
dm[stackItem.methodName]();
}
}
}
dmIframe = document.getElementById(dm.id);
events = ['mouseover', 'mouseout'];
var assignEvents = function assignEvents(e) {
var event = mejs.Utils.createEvent(e.type, dm);
mediaElement.dispatchEvent(event);
};
for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
dmIframe.addEventListener(events[_i3], assignEvents, false);
}
if (mediaElement.originalNode.muted) {
dmPlayer.setVolume(0);
dmPlayer.setMuted(true);
} else {
dmPlayer.setVolume(dmPlayer.volume);
dmPlayer.setMuted(false);
}
events = mejs.html5media.events;
events = events.concat(['click', 'mouseover', 'mouseout']);
var assignNativeEvents = function assignNativeEvents(eventName) {
if (eventName !== 'ended') {
dmPlayer.addEventListener(eventName, function (e) {
var event = mejs.Utils.createEvent(e.type, dm);
mediaElement.dispatchEvent(event);
});
}
};
for (var _i4 = 0, _total4 = events.length; _i4 < _total4; _i4++) {
assignNativeEvents(events[_i4]);
}
dmPlayer.addEventListener('ad_start', function () {
var event = mejs.Utils.createEvent('play', dm);
mediaElement.dispatchEvent(event);
event = mejs.Utils.createEvent('progress', dm);
mediaElement.dispatchEvent(event);
event = mejs.Utils.createEvent('timeupdate', dm);
mediaElement.dispatchEvent(event);
});
dmPlayer.addEventListener('ad_timeupdate', function () {
var event = mejs.Utils.createEvent('timeupdate', dm);
mediaElement.dispatchEvent(event);
});
dmPlayer.addEventListener('ad_pause', function () {
var event = mejs.Utils.createEvent('pause', dm);
mediaElement.dispatchEvent(event);
});
dmPlayer.addEventListener('start', function () {
if (dmPlayer.muted) {
var event = mejs.Utils.createEvent('volumechange', dm);
mediaElement.dispatchEvent(event);
}
});
dmPlayer.addEventListener('video_start', function () {
var event = mejs.Utils.createEvent('play', dm);
mediaElement.dispatchEvent(event);
var playingEvent = mejs.Utils.createEvent('playing', dm);
mediaElement.dispatchEvent(playingEvent);
});
dmPlayer.addEventListener('ad_timeupdate', function () {
var event = mejs.Utils.createEvent('timeupdate', dm);
mediaElement.dispatchEvent(event);
});
dmPlayer.addEventListener('video_end', function () {
var event = mejs.Utils.createEvent('ended', dm);
mediaElement.dispatchEvent(event);
if (mediaElement.originalNode.getAttribute('loop')) {
dmPlayer.play();
}
});
var initEvents = ['rendererready', 'loadedmetadata', 'loadeddata', 'canplay'];
for (var _i5 = 0, _total5 = initEvents.length; _i5 < _total5; _i5++) {
var event = mejs.Utils.createEvent(initEvents[_i5], dm);
mediaElement.dispatchEvent(event);
}
};
var dmContainer = document.createElement('div');
dmContainer.id = dm.id;
mediaElement.appendChild(dmContainer);
if (mediaElement.originalNode) {
dmContainer.style.width = mediaElement.originalNode.style.width;
dmContainer.style.height = mediaElement.originalNode.style.height;
}
mediaElement.originalNode.style.display = 'none';
var videoId = DailyMotionApi.getDailyMotionId(mediaFiles[0].src),
dmSettings = {
id: dm.id,
container: dmContainer,
videoId: videoId
};
dmSettings.params = Object.assign({}, dm.options.dailymotion);
dmSettings.params.controls = !!mediaElement.originalNode.controls;
if (mediaElement.originalNode.autoplay) {
dmSettings.params.autoplay = true;
}
if (mediaElement.originalNode.muted) {
dmSettings.params.mute = true;
}
dmSettings.params.api = '1';
DailyMotionApi.enqueueIframe(dmSettings);
dm.hide = function () {
dm.pause();
if (dmIframe) {
dmIframe.style.display = 'none';
}
};
dm.show = function () {
if (dmIframe) {
dmIframe.style.display = '';
}
};
dm.setSize = function (width, height) {
if (dmIframe) {
dmIframe.width = width;
dmIframe.height = height;
}
};
dm.destroy = function () {
dmPlayer.destroy();
};
return dm;
}
};
mejs.Utils.typeChecks.push(function (url) {
return (/\/\/((www\.)?dailymotion\.com|dai\.ly)/i.test(url) ? 'video/x-dailymotion' : null
);
});
window.dmAsyncInit = function () {
DailyMotionApi.apiReady();
};
mejs.Renderers.add(DailyMotionIframeRenderer);
},{}]},{},[1]);

Some files were not shown because too many files have changed in this diff Show More