Files
backroad/app/portainer/components/stack-duplication-form/stack-duplication-form.html
Chaim Lev-Ari 9b4870d57e feat(stack-details): Add the ability to duplicate a stack (#2278)
* feat(stack-details): add duplicate-stack button

* feat(stack-details): add stack-duplication-form component

* feat(stack-details): add duplicate stack method on controller

* feat(stack-details): add duplicate stack method

* feat(stack-details): remove old duplication in progress flag

* feat(stack-details): combine migration and duplication forms

* feat(stack-details): pass new stack name to server

* feat(stack-details): add option to rename migrated stack

* feat(stack-details): disable both migrate/duplicate buttons

* feat(stack-details): disable migration button on same endpoint

* feat(stack-details): change duplicate icon

* style(stack-details): remove whitespaces and fix pattern

* feat(stack-details): add name to migration payload in swagger.yml

* style(stack-details): add semicolon

* bug(stack-details): toggle endpoints before and after duplication
2018-10-01 14:36:49 +13:00

43 lines
1.8 KiB
HTML

<div>
<div class="col-sm-12 form-section-title">
Stack duplication / migration
</div>
<div class="form-group">
<span class="small" style="margin-top: 10px;">
<p class="text-muted">
This feature allows you to duplicate or migrate this stack.
</p>
</span>
<div>
<div class="form-group">
<input class="form-control" placeholder="Stack name (optional for migration)"
aria-placeholder="Stack name"
ng-model="$ctrl.formValues.newName" />
</div>
<endpoint-selector ng-if="$ctrl.endpoints && $ctrl.groups" model="$ctrl.formValues.endpoint"
endpoints="$ctrl.endpoints" groups="$ctrl.groups"></endpoint-selector>
<button class="btn btn-sm btn-primary" ng-click="$ctrl.migrateStack()"
ng-disabled="$ctrl.isMigrationButtonDisabled()"
style="margin-top: 7px; margin-left: 0;"
button-spinner="$ctrl.state.migrationInProgress">
<span ng-hide="$ctrl.state.migrationInProgress">
<i class="fa fa-long-arrow-alt-right space-right"
aria-hidden="true"></i> Migrate
</span>
<span ng-show="$ctrl.state.migrationInProgress">Migration in progress...</span>
</button>
<button
class="btn btn-sm btn-primary"
ng-click="$ctrl.duplicateStack()"
ng-disabled="!$ctrl.isFormValidForDuplication() || $ctrl.state.duplicationInProgress || $ctrl.state.migrationInProgress"
style="margin-top: 7px; margin-left: 0;"
button-spinner="$ctrl.state.duplicationInProgress">
<span ng-hide="$ctrl.state.duplicationInProgress">
<i class="fa fa-clone space-right"
aria-hidden="true"></i> Duplicate
</span>
<span ng-show="$ctrl.state.duplicationInProgress">Duplication in progress...</span>
</button>
</div>
</div>
</div>