blob: 4a275cd76784930dd602f342b0b7cd49ce1b2907 [file] [log] [blame]
require('./explorer.css')
module.exports = angular.module('stf.explorer', [])
.run(['$templateCache', function($templateCache) {
$templateCache.put('control-panes/explorer/explorer.jade',
require('./explorer.jade')
)
}])
.filter('formatPermissionMode', function() {
return function(mode) {
if (mode !== null) {
var res = []
var s = ['x', 'w', 'r']
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if ((mode >> (i * 3 + j)) & 1 !== 0) {
res.unshift(s[j])
} else {
res.unshift('-')
}
}
}
res.unshift(mode & 040000 ? 'd' : '-')
return res.join('')
}
}
})
.filter('fileIsDir', function() {
return function(m) {
var mode = m
if (mode !== null) {
mode = parseInt(mode, 10)
mode -= (mode & 0777)
return (mode === 040000) || (mode === 0120000)
}
}
})
.filter('formatFileSize', function() {
return function(size) {
var formattedSize
if (size < 1024) {
formattedSize = size + ' B'
} else if (size >= 1024 && size < 1024 * 1024) {
formattedSize = Math.round(size / 1024, 1) + ' Kb'
} else {
formattedSize = Math.round(size / (1024 * 1024), 1) + ' Mb'
}
return formattedSize
}
})
.filter('formatFileDate', function() {
return function(inputString) {
var input = new Date(inputString)
return input instanceof Date ?
input.toISOString().substring(0, 19).replace('T', ' ') :
(input.toLocaleString || input.toString).apply(input)
}
})
.controller('ExplorerCtrl', require('./explorer-controller'))