1'use strict'; 2 3angular.module('myApp.featured-speakers', ['ngRoute']) 4 5.controller('FeaturedSpeakersCtrl', ['$scope', '$http', function($scope, $http) { 6 $scope.featuredSpeakers = []; 7 $scope.keynoteSpeakers = [2213,2745,2743,2736]; 8 $scope.conf_Speakers = []; 9 $scope.keynote_Speakers = []; 10 $scope.conference = { conf: [ "all" ] }; 11 12 //$scope.selectedSpeakers = [2213,1679,2480,2538,2483,2484,2479,2296] 13 14 function filterSpeakers(speakers) { 15 var filtredSpeakers = speakers.filter(function (item) { 16 return $scope.featuredSpeakers.indexOf(item.speakerID) > -1; 17 }); 18 19 filtredSpeakers.forEach(function (speaker) { 20 $scope.conf_Speakers[$scope.featuredSpeakers.indexOf(speaker.speakerID)] = speaker; 21 }); 22 } 23 24 function filterKeynote(speakers){ 25 var filtredKeynote = speakers.filter(function(item) { 26 return $scope.keynoteSpeakers.indexOf(item.speakerID) > -1; 27 }); 28 29 filtredKeynote.forEach(function (speaker){ 30 $scope.keynote_Speakers[$scope.keynoteSpeakers.indexOf(speaker.speakerID)] = speaker; 31 }) 32 } 33 34 function getRandom(arr, n) { 35 var result = new Array(n), 36 len = arr.length, 37 taken = new Array(len); 38 if (n > len) 39 return arr; 40 while (n--) { 41 var x = Math.floor(Math.random() * len); 42 result[n] = arr[x in taken ? taken[x] : x]; 43 taken[x] = --len in taken ? taken[len] : len; 44 } 45 return result; 46 } 47 48$scope.loadSpeakers = function () { 49 $http.post('/api/events').then( 50 function successCallback(event) { 51 var featured = event.data.FabricFeaturedSpeakers; 52 53 54 //var rotate = 4; 55 //if (featured.length > rotate) { 56 // let first = featured.slice(0, 4); //take the first 4 speakers entered from the admin site 57 // let skiped = featured.slice(4); //skip the first 4 speakers entered from the admin site 58 // $scope.featuredSpeakers = first.concat(getRandom(skiped, rotate)); 59 //} 60 //else { 61 // $scope.featuredSpeakers = featured; 62 //} 63 64 $scope.featuredSpeakers = featured; 65 66 $http.post('/api/speakers', { conference: angular.toJson($scope.conference), date: new Date().getTime() }).then( 67 function successCallback(speakers) { 68 filterSpeakers(speakers.data); 69 filterKeynote(speakers.data); 70 }, 71 function errorCallback(response) { 72 console.log("Failed to load speakers"); 73 } 74 )}, 75 function errorCallback(response) { 76 console.log("Failed to load event"); 77 } 78 79 ) 80} 81}])
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.