PageSourceSearch

https://fabricconf.com/partials/featured-speakers.js

js fabricconf.com collected 2026-10-03 19:02:34 UTC 2,803 bytes, 81 lines download raw bytes

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.