mirror of https://github.com/Squidex/squidex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
4.8 KiB
112 lines
4.8 KiB
<div class="step">
|
|
<div class="row no-gutters step-header">
|
|
<div class="col-auto">
|
|
<button class="btn btn-initial mr-1" (click)="emitMakeInitial()"
|
|
[class.enabled]="step.name !== workflow.initial && !step.isLocked"
|
|
[class.active]="step.name === workflow.initial"
|
|
[disabled]="step.name === workflow.initial || step.isLocked || disabled">
|
|
<i class="icon-arrow-right text-decent" *ngIf="!step.isLocked"></i>
|
|
</button>
|
|
</div>
|
|
<div class="col-auto color pr-2">
|
|
<sqx-color-picker mode="Circle"
|
|
[ngModelOptions]="onBlur"
|
|
[ngModel]="step.color"
|
|
(ngModelChange)="changeColor($event)"
|
|
[disabled]="disabled">
|
|
</sqx-color-picker>
|
|
</div>
|
|
<div class="col">
|
|
<sqx-editable-title
|
|
[name]="step.name"
|
|
(nameChange)="changeName($event)"
|
|
[disabled]="step.isLocked || disabled">
|
|
</sqx-editable-title>
|
|
</div>
|
|
<div class="col">
|
|
</div>
|
|
<div class="col-auto" *ngIf="step.isLocked">
|
|
<small class="text-decent">(Cannot be removed)</small>
|
|
</div>
|
|
<div class="col-auto">
|
|
<button type="button" class="btn btn-text-danger" (click)="emitRemove()" *ngIf="!step.isLocked && workflow.steps.length > 2" [disabled]="disabled">
|
|
<i class="icon-bin2"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="step-inner">
|
|
<sqx-workflow-transition *ngFor="let transition of transitions; trackBy: trackByTransition"
|
|
[transition]="transition"
|
|
[disabled]="disabled"
|
|
[roles]="roles"
|
|
(remove)="emitTransitionRemove(transition)"
|
|
(update)="changeTransition(transition, $event)">
|
|
</sqx-workflow-transition>
|
|
|
|
<div class="row transition no-gutters" *ngIf="openSteps.length > 0 && !disabled">
|
|
<div class="col-auto">
|
|
<i class="icon-corner-down-right text-decent"></i>
|
|
</div>
|
|
<div class="col col-step">
|
|
<sqx-dropdown [items]="openSteps" [(ngModel)]="openStep" [canSearch]="false">
|
|
<ng-template let-target="$implicit">
|
|
<i class="icon-circle" [style.color]="target.color"></i> {{target.name}}
|
|
</ng-template>
|
|
</sqx-dropdown>
|
|
</div>
|
|
<div class="col pl-2">
|
|
<button class="btn btn-outline-secondary" (click)="emitTransitionAdd(openStep)">
|
|
<i class="icon-plus"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row transition-prevent-updates no-guttersw">
|
|
<div class="col col-step" style="max-width: 12rem">
|
|
<div class="form-check">
|
|
<input class="form-check-input transition-prevent-updates-checkbox" type="checkbox" id="preventUpdates_{{step.name}}"
|
|
[disabled]="disabled"
|
|
[ngModel]="step.noUpdate"
|
|
(ngModelChange)="changeNoUpdate($event)" />
|
|
|
|
<label class="form-check-label" for="preventUpdates_{{step.name}}">
|
|
Prevent updates
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<ng-container *ngIf="step.noUpdate">
|
|
<div class="col-auto col-label">
|
|
<span class="text-decent">when</span>
|
|
</div>
|
|
<div class="col col-step-expression">
|
|
<input class="form-control" [class.dashed]="!step.noUpdateExpression" spellcheck="false"
|
|
[disabled]="disabled"
|
|
[ngModelOptions]="onBlur"
|
|
[ngModel]="step.noUpdateExpression"
|
|
(ngModelChange)="changeNoUpdateExpression($event)"
|
|
placeholder="Expression" />
|
|
</div>
|
|
<div class="col-auto col-label">
|
|
<span class="text-decent">for</span>
|
|
</div>
|
|
|
|
<div class="col col-step-role">
|
|
<sqx-tag-editor [allowDuplicates]="false"
|
|
[dashed]="true"
|
|
[disabled]="disabled"
|
|
(ngModelChange)="changeNoUpdateRoles($event)"
|
|
[ngModel]="step.noUpdateRoles"
|
|
[ngModelOptions]="onBlur"
|
|
[singleLine]="true"
|
|
[suggestions]="roles"
|
|
placeholder="Role">
|
|
</sqx-tag-editor>
|
|
</div>
|
|
</ng-container>
|
|
</div>
|
|
</div>
|
|
<div class="col-auto col-div-line">
|
|
<hr class="col-line"/>
|
|
</div>
|
|
</div>
|