FileSize directive - refactor test
PLZ Tidy Code
HTML
<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"></script>
File size in B:
<!-- Expected output: -->
<!-- 337 B -->
<span file-size="337"></span> File size in kB:
<!-- Expected output: -->
<!-- 13.1 kB -->
<span file-size="13371"></span> File size in MB:
<!-- Expected output: -->
<!-- 12.8 MB -->
<span file-size="13371337"></span>
CSS
span {
display: block;
margin-bottom: 20px;
}
JavaScript
var myApp = angular.module('myApp', []);
// Directive name: 'fileSize'
// Last changed: 201512
myApp.directive("fileSize", function() {
return {
restrict: "A",
template: '<span>{{result}}</span>',
replace: true,
scope: {
fileSize: '=',
},
controller: function ($scope) {
var bytes = $scope.fileSize;
var returnVal;
if(bytes < 1024) {
returnVal = bytes + " B";
} else if(bytes < 1024*1024) {
returnVal = (bytes / 1024).toFixed(1) + " kB";
} else {
returnVal = (bytes / (1024*1024)).toFixed(1) + " MB";
}
$scope.result = returnVal;
}
};
});