| 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')) |