File size: 1,949 Bytes
765bc42 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
/* eslint-disable no-unused-vars */
/* global angular MediaService sourceList */
angular.module('listenone').controller('PlayListController', [
'$scope',
'$timeout',
($scope) => {
$scope.result = [];
$scope.tab = sourceList[0].name;
$scope.sourceList = sourceList;
$scope.playlistFilters = {};
$scope.allPlaylistFilters = {};
$scope.currentFilterId = '';
$scope.loading = true;
$scope.showMore = false;
$scope.$on('infinite_scroll:hit_bottom', (event, data) => {
if ($scope.loading === true) {
return;
}
$scope.loading = true;
const offset = $scope.result.length;
MediaService.showPlaylistArray(
$scope.tab,
offset,
$scope.currentFilterId
).success((res) => {
$scope.result = $scope.result.concat(res.result);
$scope.loading = false;
});
});
$scope.loadPlaylist = () => {
const offset = 0;
$scope.showMore = false;
MediaService.showPlaylistArray(
$scope.tab,
offset,
$scope.currentFilterId
).success((res) => {
$scope.result = res.result;
$scope.loading = false;
});
if (
$scope.playlistFilters[$scope.tab] === undefined &&
$scope.allPlaylistFilters[$scope.tab] === undefined
) {
MediaService.getPlaylistFilters($scope.tab).success((res) => {
$scope.playlistFilters[$scope.tab] = res.recommend;
$scope.allPlaylistFilters[$scope.tab] = res.all;
});
}
};
$scope.changeTab = (newTab) => {
$scope.tab = newTab;
$scope.result = [];
$scope.currentFilterId = '';
$scope.loadPlaylist();
};
$scope.changeFilter = (filterId) => {
$scope.result = [];
$scope.currentFilterId = filterId;
$scope.loadPlaylist();
};
$scope.toggleMorePlaylists = () => {
$scope.showMore = !$scope.showMore;
};
},
]);
|