-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathng-videosharing-embed.min.js
executable file
·2 lines (2 loc) · 2.7 KB
/
ng-videosharing-embed.min.js
1
2
/*! ng-videosharing-embed - v0.1.9 - Embed videos using AngularJS directives - built 2014-03-07 - License MIT (http://www.opensource.org/licenses/MIT) */
angular.module("videosharing-embed",[]),angular.module("videosharing-embed").service("PlayerConfig",function(){"use strict";this.createInstance=function(a){var b=function(a){this.playerRegExp=a.playerRegExp,this.whitelist=a.whitelist,this.config={playerID:a.playerID,options:a.options},this.isPlayerFromURL=function(a){return null!=a.match(this.playerRegExp)}};return new b(a)}}),angular.module("videosharing-embed").factory("RegisteredPlayers",["PlayerConfig",function(a){"use strict";var b={youtube:{options:{autoplay:0,controls:1,loop:0},whitelist:["autoplay","controls","loop","playlist","rel"],playerID:"www.youtube.com/embed/",protocol:"http://",playerRegExp:/(http:|https:)?\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)(\w*)(&(amp;)?[\w\?=]*)?/},youtubeNoCookie:{options:{autoplay:0,controls:1,loop:0},whitelist:["autoplay","controls","loop","playlist","rel"],playerID:"www.youtube-nocookie.com/embed/",protocol:"http://",playerRegExp:/(http:|https:)?\/\/(www\.youtube\-nocookie\.com)\/watch\?v=([A-Za-z0-9\-\_]+)/},vimeo:{options:{autoplay:0,loop:0},whitelist:["autoplay","color","loop"],playerID:"player.vimeo.com/video/",protocol:"http://",playerRegExp:/(http:|https:)?\/\/vimeo\.com\/([A-Za-z0-9]+)/},dailymotion:{options:{autoPlay:0,logo:0},whitelist:["autoPlay","logo","forceQuality"],playerID:"www.dailymotion.com/embed/video/",protocol:"http://",playerRegExp:/(http:|https:)?\/\/www\.dailymotion\.com\/video\/([A-Za-z0-9]+)/}},c=[];return angular.forEach(b,function(b){c.push(a.createInstance(b))}),c}]),angular.module("videosharing-embed").filter("whitelist",function(){"use strict";return function(a,b){var c={};return angular.forEach(a,function(a,d){-1!=b.indexOf(d)&&(c[d]=a)}),c}}),angular.module("videosharing-embed").filter("videoOptions",function(){"use strict";return function(a){var b=[];return angular.forEach(a,function(a,c){b.push([c,a].join("="))}),"?"+b.join("&")}}),angular.module("videosharing-embed").directive("embedVideo",["$filter","RegisteredPlayers","$sce",function(a,b,c){"use strict";return{restrict:"A",template:'<iframe width="{{width}}" height="{{height}}" data-ng-src="{{trustedVideoSrc}}" frameborder="0"></iframe>',scope:{height:"@height",width:"@width"},link:function(d,e,f){f.$observe("href",function(e){if(void 0!==e){var g=null;if(angular.forEach(b,function(a){a.isPlayerFromURL(e)&&(g=a)}),null!==g){var h=e.match(g.playerRegExp)[2],i=g.config,j=e.match(g.playerRegExp)[1]||"";angular.forEach(a("whitelist")(f,g.whitelist),function(a,b){i.options[b]=a});var k=j+"//"+i.playerID+h+a("videoOptions")(i.options);d.trustedVideoSrc=c.trustAsResourceUrl(k)}}})}}}]);