view.html 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <div id="filebrowser">
  2. <!-- ko if: folder() -->
  3. <!-- ko let: { loopRoot: $data } -->
  4. <ul data-bind="template: { name: 'tree-template', foreach: folder().children() }" class="tree-file"></ul>
  5. <!-- /ko -->
  6. <!-- /ko -->
  7. <script id="tree-template" type="text/html">
  8. <!-- ko if: $data.type() === "folder" -->
  9. <li class="folder">
  10. <span data-bind="event: { contextmenu: loopRoot.openContextMenu, dblclick: loopRoot.open, click: loopRoot.select }">
  11. <i class="fa fa-folder-o" data-bind="attr: {id: 'icon_folder_' + $data.uuid()}"></i>
  12. <!-- ko text: $data.name --><!-- /ko -->
  13. </span>
  14. <input type="checkbox" data-bind="attr: {id: $data.uuid}" />
  15. <ul data-bind="template: { name: 'tree-template', foreach: $data.children }"></ul>
  16. </li>
  17. <!-- /ko -->
  18. <!--ko if: $data.type() !== "folder"-->
  19. <li data-bind="attr: {'data-id': $data.uuid, 'data-filetype': $data.type()},
  20. event: { contextmenu: loopRoot.openContextMenu, dblclick: loopRoot.open, click: loopRoot.select }"
  21. class="file">
  22. <!--ko ifnot: $data.type -->
  23. <i data-bind="attr: {class: 'fa fa-file-o'}"></i>
  24. <!-- /ko -->
  25. <!--ko if: $data.type -->
  26. <i data-bind="attr: {class: 'fa fa-file-' + $data.type() + '-o', title: $data.type()}"></i>
  27. <!-- /ko -->
  28. <span data-bind="text: $data.name, attr: {'data-extra': $data.extra ? $data.extra : ''}"></span>
  29. </li>
  30. <!-- /ko -->
  31. </script>
  32. <!-- Context menu -->
  33. <div id="fileBrowserContextMenu" class="dropdown open" data-bind="visible: showContextMenu" tabindex="1">
  34. <ul class="dropdown-menu" role="menu" aria-labelledby="contextMenu">
  35. <li data-bind="visible: hasSelectedFolder()" >
  36. <a role="menuitem" tabindex="-1" href="#" data-bind="click: newItem">New ...</a>
  37. </li>
  38. <li>
  39. <a role="menuitem" tabindex="-1" href="#" data-bind="click: openRenamePopup">Rename</a>
  40. </li>
  41. <li>
  42. <a role="menuitem" tabindex="-1" href="#" data-bind="click: copy">Copy</a>
  43. </li>
  44. <li data-bind="css: { 'disabled': !hasCopied()}, visible: hasSelectedFolder()">
  45. <a role="menuitem" tabindex="-1" href="#" data-bind="click: paste">Paste</a>
  46. </li>
  47. <li>
  48. <a role="menuitem" tabindex="-1" href="#" data-bind="click: openDeletePopup">Delete</a>
  49. </li>
  50. </ul>
  51. </div>
  52. <!-- End of Context menu -->
  53. </div>