1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-24 07:49:41 +02:00

feat(datatables): auto refresh on datatables (#2974)

* feat(datatables): auto refresh on datatables

* feat(datatables): auto refresh implementation on docker related resources
This commit is contained in:
xAt0mZ 2019-07-22 12:54:59 +02:00 committed by GitHub
parent cc487ae68a
commit 03c82cac69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
51 changed files with 577 additions and 29 deletions

View file

@ -69,6 +69,27 @@
<input id="setting_container_trunc" type="checkbox" ng-model="$ctrl.settings.truncateContainerName" ng-change="$ctrl.onSettingsContainerNameTruncateChange()"/>
<label for="setting_container_trunc">Truncate container name</label>
</div>
<div>
<div class="md-checkbox">
<input id="setting_auto_refresh" type="checkbox" ng-model="$ctrl.settings.repeater.autoRefresh" ng-change="$ctrl.onSettingsRepeaterChange()"/>
<label for="setting_auto_refresh">Auto refresh</label>
</div>
<div ng-if="$ctrl.settings.repeater.autoRefresh">
<label for="settings_refresh_rate">
Refresh rate
</label>
<select id="settings_refresh_rate" ng-model="$ctrl.settings.repeater.refreshRate" ng-change="$ctrl.onSettingsRepeaterChange()" class="small-select">
<option value="10">10s</option>
<option value="30">30s</option>
<option value="60">1min</option>
<option value="120">2min</option>
<option value="300">5min</option>
</select>
<span>
<i id="refreshRateChange" class="fa fa-check green-icon" aria-hidden="true" style="margin-top: 7px; display: none;"></i>
</span>
</div>
</div>
</div>
<div authorization="DockerContainerStats, DockerContainerLogs, DockerExecStart, DockerContainerInspect, DockerTaskInspect, DockerTaskLogs, DockerContainerAttach">
<div class="menuHeader">

View file

@ -11,6 +11,7 @@ angular.module('portainer.docker').component('containersDatatable', {
showOwnershipColumn: '<',
showHostColumn: '<',
showAddAction: '<',
offlineMode: '<'
offlineMode: '<',
refreshCallback: '<'
}
});

View file

@ -15,8 +15,7 @@ function ($scope, $controller, DatatableService, EndpointProvider) {
publicURL: EndpointProvider.endpointPublicURL()
});
this.settings = {
open: false,
this.settings = Object.assign(this.settings, {
truncateContainerName: true,
containerNameTruncateSize: 32,
showQuickActionStats: true,
@ -24,7 +23,7 @@ function ($scope, $controller, DatatableService, EndpointProvider) {
showQuickActionExec: true,
showQuickActionInspect: true,
showQuickActionAttach: false
};
});
this.filters = {
state: {
@ -197,6 +196,7 @@ function ($scope, $controller, DatatableService, EndpointProvider) {
this.settings = storedSettings;
this.settings.open = false;
}
this.onSettingsRepeaterChange();
var storedColumnVisibility = DatatableService.getColumnVisibilitySettings(this.tableKey);
if (storedColumnVisibility !== null) {