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.
93 lines
4.3 KiB
93 lines
4.3 KiB
<div class="card">
|
|
<div class="card-header">
|
|
<div class="row">
|
|
<div class="col col-name">
|
|
<sqx-editable-title [disabled]="!rule.canUpdate"
|
|
[fallback]="'rules.unnamed' | sqxTranslate"
|
|
[name]="rule.name"
|
|
(nameChange)="rename($event)"
|
|
[maxLength]="60"
|
|
[isRequired]="false">
|
|
</sqx-editable-title>
|
|
</div>
|
|
<div class="col-auto" *ngIf="rule.canDelete || rule.canRun">
|
|
<button type="button" class="btn btn-text-secondary" (click)="dropdown.toggle()" [class.active]="dropdown.isOpen | async" #buttonOptions>
|
|
<i class="icon-dots"></i>
|
|
</button>
|
|
|
|
<ng-container *sqxModal="dropdown;closeAlways:true">
|
|
<div class="dropdown-menu" [sqxAnchoredTo]="buttonOptions" position="bottom-right" @fade>
|
|
<a class="dropdown-item" *ngIf="rule.canRun"
|
|
(sqxConfirmClick)="run()"
|
|
confirmTitle="i18n:rules.runRuleConfirmTitle"
|
|
confirmText="i18n:rules.runRuleConfirmText"
|
|
confirmRememberKey="runRule">
|
|
{{ 'rules.run' | sqxTranslate }}
|
|
</a>
|
|
|
|
<a class="dropdown-item dropdown-item-delete" *ngIf="rule.canDelete"
|
|
(sqxConfirmClick)="delete()"
|
|
confirmTitle="i18n:rules.deleteConfirmTitle"
|
|
confirmText="i18n:rules.deleteConfirmText"
|
|
confirmRememberKey="deleteContent">
|
|
{{ 'common.delete' | sqxTranslate }}
|
|
</a>
|
|
</div>
|
|
</ng-container>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row align-items-center">
|
|
<div class="col-auto">
|
|
<h3>{{ 'rules.ruleSyntax.if' | sqxTranslate }}</h3>
|
|
</div>
|
|
<div class="col">
|
|
<span (click)="emitEditTrigger()">
|
|
<sqx-rule-element [type]="rule.triggerType" [element]="ruleTriggers[rule.triggerType]" [disabled]="isManual"></sqx-rule-element>
|
|
</span>
|
|
</div>
|
|
<div class="col-auto">
|
|
<h3>{{ 'rules.ruleSyntax.then' | sqxTranslate }}</h3>
|
|
</div>
|
|
<div class="col">
|
|
<span (click)="emitEditAction()">
|
|
<sqx-rule-element [type]="rule.actionType" [element]="ruleActions[rule.actionType]"></sqx-rule-element>
|
|
</span>
|
|
</div>
|
|
<div class="col col-last text-right">
|
|
<ng-container *ngIf="isManual; else notManual">
|
|
<button class="btn btn-secondary" [disabled]="!rule.canTrigger"
|
|
(sqxConfirmClick)="trigger()"
|
|
confirmTitle="i18n:rules.triggerConfirmTitle"
|
|
confirmText="i18n:rules.triggerConfirmText"
|
|
confirmRememberKey="triggerRule">
|
|
<i class="icon-play-line"></i>
|
|
</button>
|
|
</ng-container>
|
|
|
|
<ng-template #notManual>
|
|
<sqx-toggle [disabled]="!rule.canDisable && !rule.canEnable" [ngModel]="rule.isEnabled" (ngModelChange)="toggle()"></sqx-toggle>
|
|
</ng-template>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer">
|
|
<div class="row">
|
|
<div class="col-3">
|
|
{{ 'common.succeeded' | sqxTranslate }}: <strong>{{rule.numSucceeded}}</strong>
|
|
</div>
|
|
<div class="col-3">
|
|
{{ 'common.failed' | sqxTranslate }}: <strong>{{rule.numFailed}}</strong>
|
|
</div>
|
|
<div class="col">
|
|
{{ 'common.executed' | sqxTranslate }}: <span>{{rule.lastExecuted | sqxFromNow:'-'}}</span>
|
|
</div>
|
|
<div class="col-auto">
|
|
<a routerLink="events" [queryParams]="{ ruleId: rule.id }" *ngIf="rule.canTrigger">
|
|
{{ 'common.logs' | sqxTranslate }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|