THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

This is Gitea test Portainer repository mirror from Github
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

99 lines
5.1 KiB

  1. <div class="datatable">
  2. <rd-widget>
  3. <rd-widget-body classes="no-padding">
  4. <div class="toolBar">
  5. <div class="toolBarTitle">
  6. <i class="fa" ng-class="$ctrl.titleIcon" aria-hidden="true" style="margin-right: 2px;"></i> {{ $ctrl.titleText }}
  7. </div>
  8. </div>
  9. <div class="actionBar" ng-if="$ctrl.advancedFeaturesAvailable">
  10. <button type="button" class="btn btn-sm btn-danger" ng-disabled="$ctrl.state.selectedItemCount === 0" ng-click="$ctrl.removeAction($ctrl.state.selectedItems)">
  11. <i class="fa fa-trash-alt space-right" aria-hidden="true"></i>Remove
  12. </button>
  13. </div>
  14. <div class="searchBar">
  15. <i class="fa fa-search searchIcon" aria-hidden="true"></i>
  16. <input type="text" class="searchInput" ng-model="$ctrl.state.textFilter" ng-model-options="{ debounce: 300 }" ng-change="$ctrl.onTextFilterChange()" placeholder="Search..." auto-focus>
  17. </div>
  18. <div class="table-responsive">
  19. <table class="table table-hover nowrap-cells">
  20. <thead>
  21. <tr>
  22. <th>
  23. <span class="md-checkbox">
  24. <input id="select_all" type="checkbox" ng-model="$ctrl.state.selectAll" ng-change="$ctrl.selectAll()" />
  25. <label for="select_all"></label>
  26. </span>
  27. <a ng-click="$ctrl.changeOrderBy('Name')">
  28. Name
  29. <i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Name' && !$ctrl.state.reverseOrder"></i>
  30. <i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Name' && $ctrl.state.reverseOrder"></i>
  31. </a>
  32. </th>
  33. <th>Os/Architecture</th>
  34. <th>Image ID</th>
  35. <th>Compressed size</th>
  36. <th ng-if="$ctrl.advancedFeaturesAvailable">Actions</th>
  37. </tr>
  38. </thead>
  39. <tbody>
  40. <tr ng-hide="$ctrl.loading" dir-paginate="item in ($ctrl.state.filteredDataSet = ($ctrl.dataset | filter:$ctrl.state.textFilter | orderBy:$ctrl.state.orderBy:$ctrl.state.reverseOrder | itemsPerPage: $ctrl.state.paginatedItemLimit))"
  41. ng-class="{active: item.Checked}">
  42. <td>
  43. <span class="md-checkbox">
  44. <input id="select_{{ $index }}" type="checkbox" ng-model="item.Checked" ng-click="$ctrl.selectItem(item, $event)" />
  45. <label for="select_{{ $index }}"></label>
  46. </span>
  47. {{ item.Name }}
  48. </td>
  49. <td>{{ item.Os }}/{{ item.Architecture }}</td>
  50. <td>{{ item.ImageId | trimshasum }}</td>
  51. <td>{{ item.Size | humansize }}</td>
  52. <td ng-if="$ctrl.advancedFeaturesAvailable">
  53. <span ng-if="!item.Modified">
  54. <a class="interactive" ng-click="item.Modified = true; item.NewName = item.Name; $event.stopPropagation();">
  55. <i class="fa fa-tag" aria-hidden="true"></i> Retag
  56. </a>
  57. </span>
  58. <span ng-if="item.Modified">
  59. <portainer-tooltip position="bottom" message="Tag can only contain alphanumeric (a-zA-Z0-9) and special _ . - characters. Tag must not start with . - characters."></portainer-tooltip>
  60. <input class="input-sm" type="text" ng-model="item.NewName" on-enter-key="$ctrl.retagAction(item)"
  61. auto-focus ng-click="$event.stopPropagation();" />
  62. <a class="interactive" ng-click="item.Modified = false; $event.stopPropagation();"><i class="fa fa-times"></i></a>
  63. <a class="interactive" ng-click="$ctrl.retagAction(item); $event.stopPropagation();"><i class="fa fa-check-square"></i></a>
  64. </span>
  65. </td>
  66. </tr>
  67. <tr ng-if="$ctrl.loading">
  68. <td colspan="5" class="text-center text-muted">Loading...</td>
  69. </tr>
  70. <tr ng-if="!$ctrl.loading && $ctrl.state.filteredDataSet.length === 0">
  71. <td colspan="5" class="text-center text-muted">No tag available.</td>
  72. </tr>
  73. </tbody>
  74. </table>
  75. </div>
  76. <div class="footer" ng-if="$ctrl.dataset">
  77. <div class="infoBar" ng-if="$ctrl.state.selectedItemCount !== 0">
  78. {{ $ctrl.state.selectedItemCount }} item(s) selected
  79. </div>
  80. <div class="paginationControls">
  81. <form class="form-inline">
  82. <span class="limitSelector">
  83. <span style="margin-right: 5px;">
  84. Items per page
  85. </span>
  86. <select class="form-control" ng-model="$ctrl.state.paginatedItemLimit" ng-change="$ctrl.changePaginationLimit()">
  87. <option value="10">10</option>
  88. <option value="25">25</option>
  89. <option value="50">50</option>
  90. <option value="100">100</option>
  91. </select>
  92. </span>
  93. <dir-pagination-controls max-size="5"></dir-pagination-controls>
  94. </form>
  95. </div>
  96. </div>
  97. </rd-widget-body>
  98. </rd-widget>
  99. </div>