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.
 
 
 
 
 

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>