portainer/app/integrations/storidge/components/nodes-datatable/storidgeNodesDatatable.html

116 lines
5.2 KiB
HTML
Raw Normal View History

<div class="datatable">
<rd-widget>
<rd-widget-body classes="no-padding">
<div class="toolBar">
<div class="toolBarTitle"> <i class="fa" ng-class="$ctrl.titleIcon" aria-hidden="true" style="margin-right: 2px;"></i> {{ $ctrl.titleText }} </div>
</div>
feat(integrations): storidge evolution (#2711) * feat(storidge): update storidge routes * feat(storidge): add new fields on profile create/edit * feat(storidge): add drives list and details view * feat(storidge): add node details / cordon / uncordon / remove * feat(storidge): add volume and snapshot details * feat(storidge): add snapshot creation on volume details * feat(storidge): add rescan drives button * refactor(storidge): move add / remove / put in / put ouf maintenance buttons for cluster nodes * style(storidge): change cluster / node icon color based on status * feat(storidge): profiles can enable snapshots without interval + interval in minutes * refactor(storidge): split cluster and node status badge filter * fix(storidge): error on volume IOPS update * fix(storidge): snapshot can now be created without comments * feat(storidge): remove snapshots panels when volume snapshots are disabled * fix(app): paginatedItemLimit now retrieved for datables extending GenericDatatableController * fix(storidge): addDrive is called with the good parameters * fix(storidge): update model and views for Storidge v2695 * refactor(storidge): webpack migration * fix(storidge): display modifications + fix js errors * feat(storidge): snapshots, profile and nodes evolution * fix(storidge): values for InterfaceDriver on profile create/edit * feat(storidge): v5 update without style (profile / statuses / volume) * fix(storidge): description tables on the same view have now the same fixed offset * fix(app): override rdash-ui select style * Revert "fix(app): override rdash-ui select style" This reverts commit e7248332611345dc803be83560282517c44c0646. * feat(storidge): wip on update 6 * feat(storidge): update 6 * feat(storidge): update 6 * feat(storidge): update 6 * feat(storidge): update 7 - node details + cluster views * fix(storidge): update 7 - profiles creation + volume details * fix(storidge): update 7 - profile create/edit interface type * feat(storidge): update 8 - add drive * feat(storidge): update 8 - UI refactors + cluster availability * fix(storidge): update 8 - revert cluster availability * feat(storidge): update 8 - node availability on swarm overview * feat(storidge): cluster condition badge * fix(storidge): update 9 - move add storage button + api profile filesystem kv to obj * feat(storidge): update 9 - disable add drive button when action is in progress * fix(storidge): update 9 - add drive button will now change only for the concerned drive * fix(storidge): update 10 - disable remove drive button when removal in progress * fix(api): update Storidge proxy creation process * refactor(api): update version number * feat(extensions): fix an issue with Storidge API URL * feat(storidge): force the use of a manager node
2019-05-24 21:53:10 +00:00
<div class="actionBar">
<div class="row">
<button type="button" class="btn btn-sm btn-primary" ng-click="$ctrl.addNodeAction()"> <i class="fa fa-plus space-right" aria-hidden="true"></i>Add node </button>
<div style="margin-bottom: 0px;">
feat(integrations): storidge evolution (#2711) * feat(storidge): update storidge routes * feat(storidge): add new fields on profile create/edit * feat(storidge): add drives list and details view * feat(storidge): add node details / cordon / uncordon / remove * feat(storidge): add volume and snapshot details * feat(storidge): add snapshot creation on volume details * feat(storidge): add rescan drives button * refactor(storidge): move add / remove / put in / put ouf maintenance buttons for cluster nodes * style(storidge): change cluster / node icon color based on status * feat(storidge): profiles can enable snapshots without interval + interval in minutes * refactor(storidge): split cluster and node status badge filter * fix(storidge): error on volume IOPS update * fix(storidge): snapshot can now be created without comments * feat(storidge): remove snapshots panels when volume snapshots are disabled * fix(app): paginatedItemLimit now retrieved for datables extending GenericDatatableController * fix(storidge): addDrive is called with the good parameters * fix(storidge): update model and views for Storidge v2695 * refactor(storidge): webpack migration * fix(storidge): display modifications + fix js errors * feat(storidge): snapshots, profile and nodes evolution * fix(storidge): values for InterfaceDriver on profile create/edit * feat(storidge): v5 update without style (profile / statuses / volume) * fix(storidge): description tables on the same view have now the same fixed offset * fix(app): override rdash-ui select style * Revert "fix(app): override rdash-ui select style" This reverts commit e7248332611345dc803be83560282517c44c0646. * feat(storidge): wip on update 6 * feat(storidge): update 6 * feat(storidge): update 6 * feat(storidge): update 6 * feat(storidge): update 7 - node details + cluster views * fix(storidge): update 7 - profiles creation + volume details * fix(storidge): update 7 - profile create/edit interface type * feat(storidge): update 8 - add drive * feat(storidge): update 8 - UI refactors + cluster availability * fix(storidge): update 8 - revert cluster availability * feat(storidge): update 8 - node availability on swarm overview * feat(storidge): cluster condition badge * fix(storidge): update 9 - move add storage button + api profile filesystem kv to obj * feat(storidge): update 9 - disable add drive button when action is in progress * fix(storidge): update 9 - add drive button will now change only for the concerned drive * fix(storidge): update 10 - disable remove drive button when removal in progress * fix(api): update Storidge proxy creation process * refactor(api): update version number * feat(extensions): fix an issue with Storidge API URL * feat(storidge): force the use of a manager node
2019-05-24 21:53:10 +00:00
<span ng-if="$ctrl.addInfo" class="text-muted small">
To add a node to this cluster, run the following command on your new node
<code>
{{ $ctrl.addInfo }}
</code>
<span class="btn btn-primary btn-sm space-left" ng-click="$ctrl.copyAddNodeCommand()"><i class="fa fa-copy space-right" aria-hidden="true"></i>Copy</span>
<span>
<i id="copyNotification" class="fa fa-check green-icon" aria-hidden="true" style="margin-left: 7px; display: none;"></i>
</span>
</span>
</div>
</div>
</div>
<div class="searchBar">
<i class="fa fa-search searchIcon" aria-hidden="true"></i>
<input
type="text"
class="searchInput"
ng-model="$ctrl.state.textFilter"
ng-change="$ctrl.onTextFilterChange()"
placeholder="Search..."
auto-focus
ng-model-options="{ debounce: 300 }"
/>
</div>
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>
<a ng-click="$ctrl.changeOrderBy('Name')">
Name
2018-03-13 05:36:53 +00:00
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Name' && !$ctrl.state.reverseOrder"></i>
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Name' && $ctrl.state.reverseOrder"></i>
</a>
</th>
<th>
<a ng-click="$ctrl.changeOrderBy('IP')">
IP Address
2018-03-13 05:36:53 +00:00
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'IP' && !$ctrl.state.reverseOrder"></i>
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'IP' && $ctrl.state.reverseOrder"></i>
</a>
</th>
<th>
<a ng-click="$ctrl.changeOrderBy('Role')">
Role
2018-03-13 05:36:53 +00:00
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Role' && !$ctrl.state.reverseOrder"></i>
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Role' && $ctrl.state.reverseOrder"></i>
</a>
</th>
<th>
<a ng-click="$ctrl.changeOrderBy('Status')">
Status
2018-03-13 05:36:53 +00:00
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Status' && !$ctrl.state.reverseOrder"></i>
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Status' && $ctrl.state.reverseOrder"></i>
</a>
</th>
</tr>
</thead>
<tbody>
<tr
dir-paginate="item in ($ctrl.state.filteredDataSet = ($ctrl.dataset | filter:$ctrl.state.textFilter | orderBy:$ctrl.state.orderBy:$ctrl.state.reverseOrder | itemsPerPage: $ctrl.state.paginatedItemLimit))"
ng-class="{ active: item.Checked }"
>
feat(integrations): storidge evolution (#2711) * feat(storidge): update storidge routes * feat(storidge): add new fields on profile create/edit * feat(storidge): add drives list and details view * feat(storidge): add node details / cordon / uncordon / remove * feat(storidge): add volume and snapshot details * feat(storidge): add snapshot creation on volume details * feat(storidge): add rescan drives button * refactor(storidge): move add / remove / put in / put ouf maintenance buttons for cluster nodes * style(storidge): change cluster / node icon color based on status * feat(storidge): profiles can enable snapshots without interval + interval in minutes * refactor(storidge): split cluster and node status badge filter * fix(storidge): error on volume IOPS update * fix(storidge): snapshot can now be created without comments * feat(storidge): remove snapshots panels when volume snapshots are disabled * fix(app): paginatedItemLimit now retrieved for datables extending GenericDatatableController * fix(storidge): addDrive is called with the good parameters * fix(storidge): update model and views for Storidge v2695 * refactor(storidge): webpack migration * fix(storidge): display modifications + fix js errors * feat(storidge): snapshots, profile and nodes evolution * fix(storidge): values for InterfaceDriver on profile create/edit * feat(storidge): v5 update without style (profile / statuses / volume) * fix(storidge): description tables on the same view have now the same fixed offset * fix(app): override rdash-ui select style * Revert "fix(app): override rdash-ui select style" This reverts commit e7248332611345dc803be83560282517c44c0646. * feat(storidge): wip on update 6 * feat(storidge): update 6 * feat(storidge): update 6 * feat(storidge): update 6 * feat(storidge): update 7 - node details + cluster views * fix(storidge): update 7 - profiles creation + volume details * fix(storidge): update 7 - profile create/edit interface type * feat(storidge): update 8 - add drive * feat(storidge): update 8 - UI refactors + cluster availability * fix(storidge): update 8 - revert cluster availability * feat(storidge): update 8 - node availability on swarm overview * feat(storidge): cluster condition badge * fix(storidge): update 9 - move add storage button + api profile filesystem kv to obj * feat(storidge): update 9 - disable add drive button when action is in progress * fix(storidge): update 9 - add drive button will now change only for the concerned drive * fix(storidge): update 10 - disable remove drive button when removal in progress * fix(api): update Storidge proxy creation process * refactor(api): update version number * feat(extensions): fix an issue with Storidge API URL * feat(storidge): force the use of a manager node
2019-05-24 21:53:10 +00:00
<td>
<a ui-sref="storidge.cluster.node({name: item.Name})"> {{ item.Name }}</a>
</td>
<td>{{ item.IP }}</td>
<td>{{ item.Role }}</td>
<td>
feat(integrations): storidge evolution (#2711) * feat(storidge): update storidge routes * feat(storidge): add new fields on profile create/edit * feat(storidge): add drives list and details view * feat(storidge): add node details / cordon / uncordon / remove * feat(storidge): add volume and snapshot details * feat(storidge): add snapshot creation on volume details * feat(storidge): add rescan drives button * refactor(storidge): move add / remove / put in / put ouf maintenance buttons for cluster nodes * style(storidge): change cluster / node icon color based on status * feat(storidge): profiles can enable snapshots without interval + interval in minutes * refactor(storidge): split cluster and node status badge filter * fix(storidge): error on volume IOPS update * fix(storidge): snapshot can now be created without comments * feat(storidge): remove snapshots panels when volume snapshots are disabled * fix(app): paginatedItemLimit now retrieved for datables extending GenericDatatableController * fix(storidge): addDrive is called with the good parameters * fix(storidge): update model and views for Storidge v2695 * refactor(storidge): webpack migration * fix(storidge): display modifications + fix js errors * feat(storidge): snapshots, profile and nodes evolution * fix(storidge): values for InterfaceDriver on profile create/edit * feat(storidge): v5 update without style (profile / statuses / volume) * fix(storidge): description tables on the same view have now the same fixed offset * fix(app): override rdash-ui select style * Revert "fix(app): override rdash-ui select style" This reverts commit e7248332611345dc803be83560282517c44c0646. * feat(storidge): wip on update 6 * feat(storidge): update 6 * feat(storidge): update 6 * feat(storidge): update 6 * feat(storidge): update 7 - node details + cluster views * fix(storidge): update 7 - profiles creation + volume details * fix(storidge): update 7 - profile create/edit interface type * feat(storidge): update 8 - add drive * feat(storidge): update 8 - UI refactors + cluster availability * fix(storidge): update 8 - revert cluster availability * feat(storidge): update 8 - node availability on swarm overview * feat(storidge): cluster condition badge * fix(storidge): update 9 - move add storage button + api profile filesystem kv to obj * feat(storidge): update 9 - disable add drive button when action is in progress * fix(storidge): update 9 - add drive button will now change only for the concerned drive * fix(storidge): update 10 - disable remove drive button when removal in progress * fix(api): update Storidge proxy creation process * refactor(api): update version number * feat(extensions): fix an issue with Storidge API URL * feat(storidge): force the use of a manager node
2019-05-24 21:53:10 +00:00
<i class="fa fa-heartbeat space-right {{ item.Status | storidgeNodeStatusBadge }}"></i>
{{ item.Status }}
</td>
</tr>
<tr ng-if="!$ctrl.dataset">
<td colspan="4" class="text-center text-muted">Loading...</td>
</tr>
<tr ng-if="$ctrl.state.filteredDataSet.length === 0">
<td colspan="4" class="text-center text-muted">No nodes available.</td>
</tr>
</tbody>
</table>
</div>
<div class="footer" ng-if="$ctrl.dataset">
<div class="paginationControls">
<form class="form-inline">
<span class="limitSelector">
<span style="margin-right: 5px;">
Items per page
</span>
<select class="form-control" ng-model="$ctrl.state.paginatedItemLimit" ng-change="$ctrl.changePaginationLimit()">
<option value="0">All</option>
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
</span>
<dir-pagination-controls max-size="5"></dir-pagination-controls>
</form>
</div>
</div>
</rd-widget-body>
</rd-widget>
</div>