Skip to content

Commit

Permalink
Merge pull request #136 from thisissoon/feature/show-hours-in-track-time
Browse files Browse the repository at this point in the history
Feature: Show hours in track time
  • Loading branch information
edoparearyee committed Jul 17, 2015
2 parents c984b69 + 50a44cc commit 5a918f4
Show file tree
Hide file tree
Showing 9 changed files with 85 additions and 3 deletions.
1 change: 1 addition & 0 deletions app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@
<script src="js/player/controllers/PlayerCtrl.js"></script>
<script src="js/player/directives/slider.js"></script>
<script src="js/player/directives/track.js"></script>
<script src="js/player/filter/removeLeadingZeros.js"></script>
<script src="js/player/services/TrackTimer.js"></script>

<script src="js/playlist/playlist.js"></script>
Expand Down
1 change: 1 addition & 0 deletions app/js/player/directives/track.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* @author SOON_
*/
angular.module("FM.player.trackDirective", [
"FM.player.removeLeadingZeros",
"FM.api.PlayerQueueResource",
"ui.bootstrap.popover",
"template/popover/popover-template.html",
Expand Down
37 changes: 37 additions & 0 deletions app/js/player/filter/removeLeadingZeros.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
"use strict";
/**
* Removes leading 0's from time but leaves
* minutes and seconds intacted
* @module FM.player.removeLeadingZeros
* @author SOON_
*/
angular.module("FM.player.removeLeadingZeros", [

])
/**
* @example
* {{ time | date: "H:mm:ss" | removeLeadingZeros }}
* @class removeLeadingZeros
*/
.filter("removeLeadingZeros", [
function (){
return function (input) {

var s = input;

if ( s && s.split ){
var arr = s.split(":");

arr.map(function (currentValue, index, arr){
if ((index < arr.length - 2) && (parseInt(currentValue) === 0)){
arr.splice(index, 1);
}
});

s = arr.join(":");
}

return s;
};
}
]);
3 changes: 2 additions & 1 deletion app/js/player/player.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ angular.module("FM.player", [
"FM.player.PlayerCtrl",
"FM.player.trackDirective",
"FM.player.sliderDirective",
"FM.player.TrackTimer"
"FM.player.TrackTimer",
"FM.player.removeLeadingZeros"
]);
1 change: 1 addition & 0 deletions app/js/playlist/controllers/PlaylistCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ angular.module("FM.playlist.PlaylistCtrl", [
"FM.api.UsersResource",
"FM.api.PlayerQueueResource",
"FM.api.PaginationInterceptor",
"FM.player.removeLeadingZeros",
"ngRoute",
])
/**
Expand Down
2 changes: 1 addition & 1 deletion app/partials/playlist.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<h2 class="h4" ng-if="playlist.length > 0">Coming up:</h2>
</div>
<div class="col-xs-6">
<p class="text-muted pull-right">{{ meta.total }} tracks in {{ meta.play_time | date: "H:mm:ss" }}</p>
<p class="text-muted pull-right">{{ meta.total }} tracks in {{ meta.play_time | date: "H:mm:ss" | removeLeadingZeros }}</p>
</div>
</div>

Expand Down
2 changes: 1 addition & 1 deletion app/partials/track.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@
</div>

<div ng-if="track.duration" class="track-right track-time text-right">
<p><span ng-show="timer">{{ timer.elapsedTime | date: "m:ss" }} / </span><span class="text-muted">{{ track.duration | date: "m:ss" }}</span></p>
<p><span ng-show="timer">{{ timer.elapsedTime | date: "H:mm:ss" | removeLeadingZeros }} / </span><span class="text-muted">{{ track.duration | date: "H:mm:ss" | removeLeadingZeros }}</span></p>
</div>
1 change: 1 addition & 0 deletions scripts.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
"./app/js/player/directives/track.js",
"./app/js/player/directives/slider.js",
"./app/js/player/services/TrackTimer.js",
"./app/js/player/filter/removeLeadingZeros.js",

"./app/js/playlist/playlist.js",
"./app/js/playlist/controllers/PlaylistCtrl.js",
Expand Down
40 changes: 40 additions & 0 deletions tests/unit/player/filters/removeLeadingZeros.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
"use strict";

describe("FM.player.removeLeadingZeros", function() {
var $scope, filter;

beforeEach(module("FM.player.removeLeadingZeros"));

beforeEach(inject(function ($rootScope, $filter, $injector) {
$scope = $rootScope.$new();
filter = $filter("removeLeadingZeros");

}));

it("should filter times", function(){
var result = filter("0:03:46");
expect(result).toEqual("03:46");

var result = filter("0:03:00");
expect(result).toEqual("03:00");

var result = filter("1:03:46");
expect(result).toEqual("1:03:46");

var result = filter("1:00:00");
expect(result).toEqual("1:00:00");
});

it("should NOT filter times", function(){
var result = filter("3:46");
expect(result).toEqual("3:46");

var result = filter("0:46");
expect(result).toEqual("0:46");

var result = filter(1);
expect(result).toEqual(1);
});


});

0 comments on commit 5a918f4

Please sign in to comment.