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:
parent
de9f99d030
commit
8769fadd5c
7 changed files with 130 additions and 13 deletions
|
@ -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;
|
||||
});
|
||||
}
|
||||
}
|
||||
]);
|
|
@ -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>
|
|
@ -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': '&'
|
||||
}
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue