Headless CMS and Content Managment Hub
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.
 
 
 
 
 

104 lines
5.0 KiB

<div class="step">
<div class="row no-gutters step-header">
<div class="col-auto">
<button class="btn btn-initial mr-1" (click)="makeInitial.emit()"
[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"
[disabled]="disabled"
[ngModelOptions]="onBlur"
[ngModel]="step.color"
(ngModelChange)="changeColor($event)" >
</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">({{ 'workflows.publishedNotRemovable' | sqxTranslate }})</small>
</div>
<div class="col-auto">
<button type="button" class="btn btn-text-danger" (click)="remove.emit()" *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)="transitionRemove.emit(transition)"
(update)="changeTransition(transition, $event)">
</sqx-workflow-transition>
<div class="row transition no-gutters" *ngIf="openSteps.length > 0 && !disabled">
<div class="col col-arrow">
<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)="transitionAdd.emit(openStep)">
<i class="icon-plus"></i>
</button>
</div>
</div>
<div class="row transition-prevent-updates no-gutters align-items-center">
<div class="col col-arrow"></div>
<div class="col col-step">
<div class="custom-control custom-checkbox float-right">
<input class="custom-control-input transition-prevent-updates-checkbox" type="checkbox" id="preventUpdates_{{step.name}}"
[disabled]="disabled"
[ngModel]="step.noUpdate"
(ngModelChange)="changeNoUpdate($event)">
<label class="custom-control-label" for="preventUpdates_{{step.name}}">
{{ 'workflows.preventUpdates' | sqxTranslate }}
</label>
</div>
</div>
<ng-container *ngIf="step.noUpdate">
<div class="col-auto col-label">
<span class="text-decent">{{ 'workflows.syntax.when' | sqxTranslate }}</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="{{ 'workflows.syntax.expression' | sqxTranslate }}">
</div>
<div class="col-auto col-label">
<span class="text-decent">{{ 'workflows.syntax.for' | sqxTranslate }}</span>
</div>
<div class="col col-roles">
<sqx-tag-editor [allowDuplicates]="false" [dashed]="true"
[disabled]="disabled"
[ngModelOptions]="onBlur"
[ngModel]="step.noUpdateRoles"
(ngModelChange)="changeNoUpdateRoles($event)"
[singleLine]="true"
[suggestions]="roles" placeholder="{{ 'common.role' | sqxTranslate }}">
</sqx-tag-editor>
</div>
<div class="col col-button"></div>
</ng-container>
</div>
</div>
</div>