JAVASCRIPT   41

twitch.js

Guest on 15th August 2021 07:17:24 AM

  1.  
  2. angular
  3. .module('fonderieComponent')
  4. .directive('twitch', [ 'MediaService', '$compile', function (MediaService, $compile) {
  5.  
  6.     return {
  7.         restrict: 'E',
  8.  
  9.         scope : {
  10.             data:"="
  11.  
  12.         },
  13.  
  14.         link: function ($scope, $element, $attr) {
  15.  
  16.             console.log($scope.data);
  17.  
  18.             var playerId = 'twitch'+Math.floor(Math.random()*10000000);
  19.  
  20.             var playerDom = document.createElement('div');
  21.             playerDom.style.display ='inline';
  22.             playerDom.id = playerId;
  23.  
  24.             $element.append(playerDom);
  25.  
  26.             $scope.initPlayer = function() {
  27.  
  28.                 payload = {
  29.                     width: '100%',
  30.                     height: '100%',
  31.                     // only needed if your site is also embedded on embed.example.com and othersite.example.com
  32.                     parent: ["fonderiedarling.local", "fonderiedarling.org"]
  33.  
  34.                 }
  35.  
  36.                 if($scope.data.channel !== undefined) {
  37.  
  38.                     payload.channel = $scope.data.channel;
  39.                 }
  40.  
  41.                 if($scope.data.video !== undefined) {
  42.  
  43.                     payload.video = $scope.data.video;
  44.                 }
  45.  
  46.  
  47.                 var twitchPlayer = new Twitch.Embed(playerId, payload);
  48.  
  49.                 console.log(twitchPlayer);
  50.  
  51.             }
  52.  
  53.  
  54.             if(!window.Twitch) {
  55.                 $.getScript( "https://embed.twitch.tv/embed/v1.js", function( data, textStatus, jqxhr ) {
  56.  
  57.                     $scope.initPlayer();
  58.  
  59.                 });
  60.  
  61.  
  62.             } else {
  63.  
  64.                 $scope.initPlayer();
  65.  
  66.             }
  67.  
  68.            
  69.  
  70.  
  71.         }
  72.     }
  73. }]);

Raw Paste


Login or Register to edit or fork this paste. It's free.