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.
89 lines
4.1 KiB
89 lines
4.1 KiB
<sqx-title message="i18n:rules.listPageTitle"></sqx-title>
|
|
|
|
<sqx-panel desiredWidth="54rem" showSidebar="true" grid="true">
|
|
<ng-container title>
|
|
{{ 'common.rules' | sqxTranslate }}
|
|
</ng-container>
|
|
|
|
<ng-container menu>
|
|
<button type="button" class="btn btn-text-secondary mr-1" (click)="reload()" title="i18n:rules.refreshTooltip">
|
|
<i class="icon-reset"></i> {{ 'common.refresh' | sqxTranslate }}
|
|
</button>
|
|
|
|
<sqx-shortcut keys="ctrl+shift+r" (trigger)="reload()"></sqx-shortcut>
|
|
|
|
<ng-container *ngIf="rulesState.canCreate | async">
|
|
<sqx-shortcut keys="ctrl+shift+g" (trigger)="buttonNew.click()"></sqx-shortcut>
|
|
|
|
<button type="button" class="btn btn-success" #buttonNew (click)="createNew()" title="i18n:rules.createTooltip">
|
|
<i class="icon-plus"></i> {{ 'rules.create' | sqxTranslate }}
|
|
</button>
|
|
</ng-container>
|
|
</ng-container>
|
|
|
|
<ng-container content>
|
|
<sqx-list-view [isLoading]="rulesState.isLoading | async">
|
|
<ng-container topHeader>
|
|
<div class="panel-alert panel-alert-danger" *ngIf="rulesState.runningRule | async; let runningRule">
|
|
<div class="float-right">
|
|
<a class="force" (click)="cancelRun()">{{ 'common.cancel' | sqxTranslate }}</a>
|
|
</div>
|
|
|
|
{{ 'rules.runningRule' | sqxTranslate: { name: runningRule.name || 'Unnamed Rule' } }}
|
|
</div>
|
|
</ng-container>
|
|
|
|
<div content>
|
|
<ng-container *ngIf="ruleActions && ruleTriggers && (rulesState.isLoaded | async) && (rulesState.rules | async); let rules">
|
|
<div class="table-items-row table-items-row-empty" *ngIf="rules.length === 0">
|
|
{{ 'rules.empty' | sqxTranslate }}
|
|
|
|
<button type="button" class="btn btn-success btn-sm ml-2" (click)="createNew()" *ngIf="rulesState.canCreate | async">
|
|
<i class="icon icon-plus"></i> {{ 'rules.emptyAddRule' | sqxTranslate }}
|
|
</button>
|
|
</div>
|
|
|
|
<table class="table table-items table-fixed">
|
|
<sqx-rule *ngFor="let rule of rules; trackBy: trackByRule"
|
|
[rule]="rule"
|
|
[ruleActions]="ruleActions"
|
|
[ruleTriggers]="ruleTriggers"
|
|
(delete)="delete(rule)"
|
|
(editAction)="editAction(rule)"
|
|
(editTrigger)="editTrigger(rule)"
|
|
(toggle)="toggle(rule)">
|
|
</sqx-rule>
|
|
</table>
|
|
|
|
<ng-container *sqxModal="addRuleDialog">
|
|
<sqx-rule-wizard [schemas]="schemasState.schemas | async"
|
|
[rule]="wizardRule"
|
|
[ruleActions]="ruleActions"
|
|
[ruleTriggers]="ruleTriggers"
|
|
[mode]="wizardMode"
|
|
(complete)="addRuleDialog.hide()">
|
|
</sqx-rule-wizard>
|
|
</ng-container>
|
|
</ng-container>
|
|
</div>
|
|
</sqx-list-view>
|
|
</ng-container>
|
|
|
|
<ng-container sidebar>
|
|
<div class="panel-nav">
|
|
<a class="panel-link panel-link-gray" routerLink="events" routerLinkActive="active" title="i18n:common.history" titlePosition="left" *ngIf="rulesState.canReadEvents | async">
|
|
<i class="icon-time"></i>
|
|
</a>
|
|
|
|
<a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left" #helpLink>
|
|
<i class="icon-help2"></i>
|
|
</a>
|
|
|
|
<sqx-onboarding-tooltip helpId="help" [for]="helpLink" position="left-top" after="180000">
|
|
<span [innerHTML]="'common.helpTour' | sqxTranslate | sqxMarkdownInline"></span>
|
|
</sqx-onboarding-tooltip>
|
|
</div>
|
|
</ng-container>
|
|
</sqx-panel>
|
|
|
|
<router-outlet></router-outlet>
|