
It will cycle through "repeat the playing queue", "repeat the playing song" and "don't repeat anything". - Adds a custom "loop-single" icon based on iconic's loop icon. - Removes the LoopQueue setting which is now the "queue" value of Repeat - Moves the Repeat setting to player-service.js. That way, it does not depend on saving the settings in any way. It also allows us to remove a dependency from player-service.js. - Adds a player css which will hold all the player-related styles - Removes the former png icons (we can always find them back thanks to Git)
29 lines
1 KiB
JavaScript
29 lines
1 KiB
JavaScript
/**
|
|
* jamstash.repeat.directive Module
|
|
*
|
|
* Triple-state button to toggle between repeating the entire playing queue, the current playing song and disabling repeat
|
|
*/
|
|
angular.module('jamstash.repeat.directive', ['jamstash.notifications'])
|
|
|
|
.directive('jamstashRepeat', ['notifications', function (notifications) {
|
|
'use strict';
|
|
return {
|
|
restrict: 'E',
|
|
templateUrl: 'player/repeat-directive/repeat-directive.html',
|
|
replace: true,
|
|
scope: {
|
|
selectedValue: '=',
|
|
values: '='
|
|
},
|
|
link: function ($scope) {
|
|
$scope.$watch('selectedValue', function (newVal) {
|
|
$scope.selectedIndex = $scope.values.indexOf(newVal);
|
|
});
|
|
$scope.cycleRepeat = function () {
|
|
$scope.selectedIndex = ($scope.selectedIndex + 1) % $scope.values.length;
|
|
$scope.selectedValue = $scope.values[$scope.selectedIndex];
|
|
notifications.updateMessage('Repeat ' + $scope.selectedValue, true);
|
|
};
|
|
}
|
|
};
|
|
}]);
|