2020-07-08 17:30:37 +02:00
<!DOCTYPE html>
< html ng-app = "Application" ng-controller = "FileManagerController" >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" / >
< title > FileManager < / title >
< link id = "favicon" href = "/api/v1/cloudron/avatar" rel = "icon" type = "image/png" >
< link rel = "apple-touch-icon" href = "/api/v1/cloudron/avatar" >
< link rel = "icon" href = "/api/v1/cloudron/avatar" >
<!-- CSS -->
< link type = "text/css" rel = "stylesheet" href = "/3rdparty/angular-ui-notification.css" / >
< link type = "text/css" rel = "stylesheet" href = "/theme.css" >
<!-- Custom Fonts -->
< link type = "text/css" rel = "stylesheet" href = "/3rdparty/fontawesome/css/all.min.css" >
<!-- jQuery -->
< script type = "text/javascript" src = "/3rdparty/js/jquery.min.js" > < / script >
<!-- async -->
< script type = "text/javascript" src = "/3rdparty/js/async-3.2.0.min.js" > < / script >
<!-- Bootstrap Core JavaScript -->
< script type = "text/javascript" src = "/3rdparty/js/bootstrap.min.js" > < / script >
<!-- Angularjs scripts -->
< script type = "text/javascript" src = "/3rdparty/js/angular.min.js" > < / script >
< script type = "text/javascript" src = "/3rdparty/js/angular-loader.min.js" > < / script >
< script type = "text/javascript" src = "/3rdparty/js/angular-animate.min.js" > < / script >
< script type = "text/javascript" src = "/3rdparty/js/angular-base64.min.js" > < / script >
< script type = "text/javascript" src = "/3rdparty/js/angular-md5.min.js" > < / script >
< script type = "text/javascript" src = "/3rdparty/js/angular-sanitize.min.js" > < / script >
< script type = "text/javascript" src = "/3rdparty/js/angular-ui-notification.js" > < / script >
<!-- Angular directives for bootstrap https://angular - ui.github.io/bootstrap/ -->
< script type = "text/javascript" src = "/3rdparty/js/ui-bootstrap-tpls-1.3.3.min.js" > < / script >
<!-- colors -->
< script type = "text/javascript" src = "/3rdparty/js/colors.js" > < / script >
<!-- moment -->
< script type = "text/javascript" src = "/3rdparty/js/moment.min.js" > < / script >
<!-- Main Application -->
< script type = "text/javascript" src = "/js/filemanager.js" > < / script >
< / head >
< body class = "filemanager" >
< a class = "offline-banner animateMe" ng-show = "client.offline" ng-cloak href = "https://cloudron.io/documentation/troubleshooting/" target = "_blank" > < i class = "fa fa-circle-notch fa-spin" > < / i > Cloudron is offline. Reconnecting...< / a >
2020-07-09 11:00:11 +02:00
<!-- Modal remove entry -->
< div class = "modal fade" id = "entryRemoveModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog" >
< div class = "modal-content" >
< div class = "modal-header" >
< h4 class = "modal-title" > Delete {{ entryRemove.entry.fileName }}< / h4 >
< / div >
< div class = "modal-body" >
< p class = "text-bold text-danger" ng-show = "entryRemove.error" > {{ entryRemove.error }}< / p >
< p ng-hide = "entryRemove.error" > After deletion, the user will not be able to access the dashboard or login to any of the apps. Note that any user data inside the apps is not removed.< / p >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-default" data-dismiss = "modal" > Close< / button >
< button type = "button" class = "btn btn-danger" ng-click = "entryRemove.submit()" ng-hide = "entryRemove.error" ng-disabled = "entryRemove.busy" > < i class = "fa fa-circle-notch fa-spin" ng-show = "entryRemove.busy" > < / i > Delete< / button >
< / div >
< / div >
< / div >
< / div >
2020-07-08 17:30:37 +02:00
< div class = "main-container animateMe ng-hide " ng-show = "initialized" >
< br / >
< div class = "row" >
< div class = "col-md-6 col-md-offset-3" >
< div class = "card" >
< h3 > FileManager for {{ app.fqdn }}< / h3 >
< br / >
< br / >
< div >
< button class = "btn btn-primary" ng-click = "refresh()" > < i class = "fas fa-sync-alt" > < / i > < / button >
< span > Path: < b > {{ cwd }}< / b > < / span >
< button class = "btn btn-primary pull-right" ng-click = "uploadFile()" > Upload File< / button >
< button class = "btn btn-primary pull-right" ng-click = "uploadFolder()" > Upload Folder< / button >
< / div >
< br / >
< table class = "table table-hover" style = "margin: 0;" >
< thead >
< tr >
< th style = "width: 5%;" > Type< / th >
< th style = "width:65%" > Name< / th >
< th style = "width:10%" > Size< / th >
< th style = "width:10%" > Owner< / th >
< th style = "width: 10%" class = "text-right" > Actions< / th >
< / tr >
< / thead >
< tbody >
2020-07-09 11:00:11 +02:00
< tr ng-hide = "cwd === '/'" >
2020-07-08 17:30:37 +02:00
< td > < i class = "fas fa-level-up-alt" > < / i > < / td >
< td class = "hand elide-table-cell" ng-click = "goDirectoryUp()" > Up< / td >
< td class = "text-right no-wrap" style = "vertical-align: bottom" > < / td >
< td class = "text-right no-wrap" style = "vertical-align: bottom" > < / td >
< td class = "text-right no-wrap" style = "vertical-align: bottom" > < / td >
< / tr >
< tr ng-repeat = "entry in entries" >
< td >
< i class = "fas fa-folder" ng-show = "entry.isDirectory" > < / i >
< i class = "far fa-file" ng-show = "entry.isFile" > < / i >
< / td >
< td class = "hand elide-table-cell" ng-click = "open(entry)" > {{ entry.filePath }}< / td >
< td class = "hand elide-table-cell" ng-click = "open(entry)" > {{ entry.size | prettyDiskSize }}< / td >
< td class = "hand elide-table-cell" ng-click = "open(entry)" > {{ entry.uid | prettyOwner }}< / td >
< td class = "text-right no-wrap" style = "vertical-align: bottom" >
2020-07-09 11:00:11 +02:00
< button class = "btn btn-xs btn-danger" ng-click = "entryRemove.show(entry)" > < i class = "far fa-trash-alt" > < / i > < / button >
2020-07-08 17:30:37 +02:00
< / td >
< / tr >
< / tbody >
< / table >
< / div >
< / div >
< / div >
< / div >
< / body >
< / html >