1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-02 20:35:25 +02:00

feat(container-details): add the ability to update restart policy

This commit is contained in:
Chaim Lev-Ari 2018-08-16 10:31:00 +01:00 committed by Anthony Lapenna
parent de9f99d030
commit 8769fadd5c
7 changed files with 130 additions and 13 deletions

View file

@ -0,0 +1,36 @@
angular
.module('portainer.docker')
.controller('ContainerRestartPolicyController', [
function ContainerRestartPolicyController() {
var ctrl = this;
this.state = {
editMode :false,
editModel :{}
};
ctrl.toggleEdit = toggleEdit;
ctrl.save = save;
function toggleEdit() {
ctrl.state.editMode = true;
ctrl.state.editModel = {
name: ctrl.name,
maximumRetryCount: ctrl.maximumRetryCount
};
}
function save() {
if (ctrl.state.editModel.name === ctrl.name &&
ctrl.state.editModel.maximumRetryCount === ctrl.maximumRetryCount) {
ctrl.state.editMode = false;
return;
}
ctrl.updateRestartPolicy(ctrl.state.editModel)
.then(function onUpdateSucceed() {
ctrl.state.editMode = false;
});
}
}
]);

View file

@ -0,0 +1,45 @@
<div>
<table class="table table-bordered table-condensed" ng-if="!$ctrl.state.editMode">
<tr>
<td class="col-md-3">
<a href="" data-toggle="tooltip" title="Edit restart policy" ng-click="$ctrl.toggleEdit()">
<i class="fa fa-edit"></i>
</a>
<span>Name</span>
</td>
<td>{{$ctrl.name }}</td>
</tr>
<tr ng-if="$ctrl.name === 'on-failure'">
<td class="col-md-3">Maximum Retry Count</td>
<td>
{{ $ctrl.maximumRetryCount }}
</td>
</tr>
</table>
<table class="table table-bordered table-condensed" ng-if="$ctrl.state.editMode">
<tr>
<td class="col-md-3">
<span>Name</span>
</td>
<td>
<select class="form-control" ng-model="$ctrl.state.editModel.name">
<option value="no">None</option>
<option value="on-failure">On Failure</option>
<option value="always">Always</option>
<option value="unless-stopped">Unless Stopped</option>
</select>
</td>
<td class="col-md-2">
<button class="btn btn-success" ng-click="$ctrl.save()">Save</button>
</td>
</tr>
<tr ng-if="$ctrl.state.editModel.name === 'on-failure'">
<td class="col-md-3">Maximum Retry Count</td>
<td>
<input type="number" class="form-control" ng-model="$ctrl.state.editModel.maximumRetryCount" />
</td>
<td class="col-md-2"></td>
</tr>
</table>
</div>

View file

@ -0,0 +1,10 @@
angular.module('portainer.docker')
.component('containerRestartPolicy', {
templateUrl: 'app/docker/components/container-restart-policy/container-restart-policy.html',
controller: 'ContainerRestartPolicyController',
bindings: {
'name': '<',
'maximumRetryCount': '<',
'updateRestartPolicy': '&'
}
});