filesList.ejs 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <div class="row" ng-controller="filesList">
  2. <% include public/modal %>
  3. <div class="col-xs-12">
  4. <div class="panel hide">
  5. <a href="###" ng-click="newFolder()" role="button" class="btn btn-primary btn-sm"><span class="fa fa-plus-square" aria-hidden="true">&nbsp;</span>新建文件夹</a>
  6. </div>
  7. <div class="box">
  8. <div class="box-header">
  9. <div class="col-xs-3 pull-left">
  10. <ul class="list-inline">
  11. <li><a href="###" id="getPrePtah" ng-click="getPrePath()" ><i class="fa fa-fw fa-mail-reply"></i> 返回上一级</a></li>&nbsp;|&nbsp;
  12. <li><a href="###" ng-click="getAllFiles()"><i class="fa fa-fw fa-file-o"></i> 全部文件</a></li>
  13. </ul>
  14. </div>
  15. <div class="col-xs-7 pull-left">当前目录:{{currentPath}}</div>
  16. <div class="col-xs-2 pull-right" id="fileViewStyle">
  17. <div class="btn-group pull-right">
  18. <button class="btn" ng-class="{true: 'btn-primary', false: 'btn-default'}[listView]" type="button" ng-click="listViewShow()" title="列表"><i class="fa fa-fw fa-list"></i></button>
  19. <button class="btn" ng-class="{true: 'btn-default', false: 'btn-primary'}[listView]" type="button" ng-click="thumbnailViewShow()" title="缩略图预览"><i class="fa fa-fw fa-th-large"></i> </button>
  20. </div>
  21. </div>
  22. </div><!-- /.box-header -->
  23. <div class="box-body table-responsive no-padding">
  24. <div class="listView" ng-class="{true: 'show', false: 'hide'}[listView]">
  25. <table class="table table-hover">
  26. <tr>
  27. <th>文件名</th>
  28. <th>文件大小</th>
  29. <th>修改时间</th>
  30. <th>操作</th>
  31. </tr>
  32. <tr ng-repeat="file in fileData">
  33. <td class="text-primary"><i ng-class="{'fa fa-fw fa-folder': (file.type == 'folder'),
  34. 'fa fa-fw fa-file-code-o' : (file.type == 'js'),
  35. 'fa fa-fw fa-file-o' : (file.type == 'html'),
  36. 'fa fa-fw fa-file-image-o' : (file.type == 'image'),
  37. 'fa fa-fw fa-file-movie-o' : (file.type == 'video'),
  38. 'fa fa-fw fa-file-text' : (file.type == 'txt'),
  39. 'fa fa-fw fa-file-text' : (file.type == 'css'),
  40. 'fa fa-fw fa-file-text-o' : (file.type == 'others')
  41. }"></i>&nbsp;
  42. <a href="###" ng-click="getFiles(file.type,file.name,file.path)" ng-bind="file.name"></a>
  43. </td>
  44. <td>{{file.size}}</td>
  45. <td>{{file.date | date : "yyyy-MM-dd HH:mm:ss"}}</td>
  46. <td>
  47. <a href="#" data-whatever="{{file.name}},{{file.path}}"data-toggle="modal" data-target="#modifyFile" title="修改" class="text-info" ng-show="file.type == 'html' || file.type == 'js' || file.type == 'css'" class="text-info">修改</a>&nbsp;&nbsp;
  48. <a href="#" data-whatever="{{file.name}},{{file.path}}"data-toggle="modal" data-target="#reNameFile" title="重命名" class="text-warning">重命名</a>&nbsp;&nbsp;
  49. <a href="#" ng-click="delFilesItem(file.path)" title="删除" class="text-danger">删除</a>
  50. </td>
  51. </tr>
  52. </table>
  53. </div>
  54. <div class="thumbnailView" ng-class="{true: 'hide', false: 'show'}[listView]">
  55. <ul class="list-group">
  56. <li class="list-group-item" ng-repeat="file in fileData">
  57. <div class="fileImg" ng-click="getFiles(file.type,file.name,file.path)">
  58. <a ng-href="/upload{{currentPath}}/{{file.name}}" class="fancybox" data-fancybox-group="gallery" ng-show="file.type == 'image'"><img ng-src="/upload{{currentPath}}/{{file.name}}" alt="{{file.name}}" title="{{file.name}}" /></a>
  59. <i ng-show="file.type != 'image'" ng-class="{'fa fa-fw fa-folder': (file.type == 'folder'),
  60. 'fa fa-fw fa-file-code-o' : (file.type == 'js'),
  61. 'fa fa-fw fa-fw fa-file-text' : (file.type == 'css'),
  62. 'fa fa-fw fa-file-movie-o' :(file.type == 'video'),
  63. 'fa fa-fw fa-file-o' : (file.type == 'html'),
  64. 'fa fa-fw fa-file-text-o' : (file.type == 'others')
  65. }"></i></div>
  66. <p class="fileName" ng-bind="file.name"></p>
  67. </li>
  68. </ul>
  69. </div>
  70. </div><!-- /.box-body -->
  71. <div class="overlay hide" id="dataLoading">
  72. <i class="fa fa-refresh fa-spin"></i>
  73. </div>
  74. </div><!-- /.box -->
  75. </div>
  76. <!--文件重命名模态窗口-->
  77. <div class="modal fade" id="reNameFile">
  78. <div class="modal-dialog">
  79. <div class="modal-content">
  80. <div class="modal-header">
  81. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  82. <h4 class="modal-title">文件或文件夹重命名</h4>
  83. </div>
  84. <div class="modal-body">
  85. <form role="form" class="form-horizontal" name="myForm" ng-submit="processForm(myForm.$valid)" novalidate>
  86. <div class="alert alert-warning">重命名会影响到前台所引用的相关文件,请谨慎操作</div>
  87. <div class="form-group">
  88. <label class="control-label col-sm-4">原名称</label>
  89. <div class="col-sm-6">
  90. <p class="form-control-static text-primary" ng-bind="formData.oldName"></p>
  91. </div>
  92. </div>
  93. <div class="form-group">
  94. <label class="control-label col-sm-4">重命名</label>
  95. <div class="col-sm-6">
  96. <input type="text" class="form-control" name="newName" ng-model="formData.newName" required/>
  97. <label for="inputError" class="control-label text-danger" ng-show="myForm.newName.$invalid && !myForm.newName.$pristine"><i class="fa fa-times-circle-o"></i>请填写新的文件名称</label>
  98. </div>
  99. </div>
  100. <div class="modal-footer">
  101. <button type="submit" class="btn btn-primary" ng-disabled="myForm.$invalid">提交</button>
  102. </div>
  103. </form>
  104. </div><!-- /.modal-content -->
  105. </div><!-- /.modal-dialog -->
  106. </div><!-- /.modal -->
  107. </div><!-- /.row -->
  108. <!--文件修改模态窗口-->
  109. <div class="modal fade " id="modifyFile">
  110. <div class="modal-dialog modal-lg">
  111. <div class="modal-content">
  112. <div class="modal-header">
  113. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  114. <h4 class="modal-title">文件修改</h4>
  115. </div>
  116. <div class="modal-body">
  117. <form role="form" class="form-horizontal" name="mdForm" ng-submit="processMdForm(mdForm.$valid)" novalidate>
  118. <div class="alert alert-danger">修改会影响到前台所引用的相关文件,请谨慎操作</div>
  119. <div class="form-group">
  120. <label class="control-label col-sm-2">文件名称</label>
  121. <div class="col-sm-8">
  122. <p class="form-control-static text-primary">{{mdFormData.name}}</p>
  123. </div>
  124. </div>
  125. <div class="form-group">
  126. <label class="control-label col-sm-2">内容</label>
  127. <div class="col-sm-9">
  128. <textarea name="code" class="form-control" id="" cols="100" rows="20" ng-model="mdFormData.code" required></textarea>
  129. <label for="inputError" class="control-label text-danger" ng-show="mdForm.code.$invalid && !mdForm.code.$pristine"><i class="fa fa-times-circle-o"></i>请正确加入代码,注意格式</label>
  130. </div>
  131. </div>
  132. <div class="modal-footer">
  133. <button type="submit" class="btn btn-primary" ng-disabled="mdForm.$invalid">提交</button>
  134. </div>
  135. </form>
  136. </div><!-- /.modal-content -->
  137. </div><!-- /.modal-dialog -->
  138. </div><!-- /.modal -->
  139. </div><!-- /.row -->
  140. </div>
  141. <script>
  142. $(function(){
  143. $('.fancybox').fancybox();
  144. })
  145. </script>