This repository has been archived on 2022-01-02. You can view files and clone it, but cannot push or open issues or pull requests.
AriaNg/src/scripts/directives/pieceMap.js

36 lines
1.1 KiB
JavaScript
Raw Normal View History

2016-06-11 14:53:04 +02:00
(function () {
'use strict';
angular.module('ariaNg').directive('ngPieceMap', ['aria2TaskService', function (aria2TaskService) {
return {
restrict: 'E',
template: '<div class="piece-map"></div>',
replace: true,
scope: {
bitField: '=',
pieceCount: '='
},
link: function (scope, element) {
var redraw = function () {
var pieces = aria2TaskService.getPieceStatus(scope.bitField, scope.pieceCount);
element.empty();
2016-06-23 16:48:35 +02:00
var pieceCount = Math.max(1, pieces.length);
for (var i = 0; i < pieceCount; i++) {
2016-06-11 14:53:04 +02:00
element.append('<div class="piece' + (pieces[i] ? ' piece-completed' : '') + '"></div>');
}
};
scope.$watch('bitField', function () {
redraw();
});
scope.$watch('pieceNumber', function () {
redraw();
});
}
};
}]);
})();