@vendure/admin-ui 3.4.3-master-202509260228 → 3.5.0-minor-202510012036

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,10 +20,10 @@ class HealthCheckComponent {
20
20
  constructor(healthCheckService) {
21
21
  this.healthCheckService = healthCheckService;
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: HealthCheckComponent, deps: [{ token: i1.HealthCheckService }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: HealthCheckComponent, isStandalone: false, selector: "vdr-health-check", ngImport: i0, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\n <div class=\"status-icon\">\n <clr-icon\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\n size=\"48\"\n ></clr-icon>\n </div>\n <div class=\"status-detail\">\n <ng-container *ngIf=\"status === 'ok'; else error\">\n {{ 'system.health-all-systems-up' | translate }}\n </ng-container>\n <ng-template #error>\n {{ 'system.health-error' | translate }}\n </ng-template>\n <div class=\"last-checked\">\n {{ 'system.health-last-checked' | translate }}:\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\n </div>\n </div>\n </div>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\n </button>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n <vdr-page-block>\n <table class=\"table\">\n <thead>\n <tr>\n <th class=\"left\">\n {{ 'common.name' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-status' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-message' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\n <td class=\"align-middle left\">{{ row.key }}</td>\n <td class=\"align-middle left\">\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\n <clr-icon shape=\"check-circle\"></clr-icon>\n {{ 'system.health-status-up' | translate }}\n </ng-container>\n <ng-template #down>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.health-status-down' | translate }}\n </ng-template>\n </vdr-chip>\n </td>\n <td class=\"align-middle left\">{{ row.result.message }}</td>\n </tr>\n </tbody>\n </table>\n </vdr-page-block>\n</vdr-page-body>\n", styles: [".system-status-header{display:flex;justify-content:space-between;align-items:flex-start}.system-status-header .status-detail{font-weight:700;margin-inline-end:6px}.system-status-header .last-checked{font-weight:400;color:var(--color-grey-500)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: HealthCheckComponent, deps: [{ token: i1.HealthCheckService }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: HealthCheckComponent, isStandalone: false, selector: "vdr-health-check", ngImport: i0, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\n <div class=\"status-icon\">\n <clr-icon\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\n size=\"48\"\n ></clr-icon>\n </div>\n <div class=\"status-detail\">\n <ng-container *ngIf=\"status === 'ok'; else error\">\n {{ 'system.health-all-systems-up' | translate }}\n </ng-container>\n <ng-template #error>\n {{ 'system.health-error' | translate }}\n </ng-template>\n <div class=\"last-checked\">\n {{ 'system.health-last-checked' | translate }}:\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\n </div>\n </div>\n </div>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\n </button>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n <vdr-page-block>\n <table class=\"table\">\n <thead>\n <tr>\n <th class=\"left\">\n {{ 'common.name' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-status' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-message' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\n <td class=\"align-middle left\">{{ row.key }}</td>\n <td class=\"align-middle left\">\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\n <clr-icon shape=\"check-circle\"></clr-icon>\n {{ 'system.health-status-up' | translate }}\n </ng-container>\n <ng-template #down>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.health-status-down' | translate }}\n </ng-template>\n </vdr-chip>\n </td>\n <td class=\"align-middle left\">{{ row.result.message }}</td>\n </tr>\n </tbody>\n </table>\n </vdr-page-block>\n</vdr-page-body>\n", styles: [".system-status-header{display:flex;justify-content:space-between;align-items:flex-start}.system-status-header .status-detail{font-weight:700;margin-inline-end:6px}.system-status-header .last-checked{font-weight:400;color:var(--color-grey-500)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: HealthCheckComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: HealthCheckComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'vdr-health-check', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\n <div class=\"status-icon\">\n <clr-icon\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\n size=\"48\"\n ></clr-icon>\n </div>\n <div class=\"status-detail\">\n <ng-container *ngIf=\"status === 'ok'; else error\">\n {{ 'system.health-all-systems-up' | translate }}\n </ng-container>\n <ng-template #error>\n {{ 'system.health-error' | translate }}\n </ng-template>\n <div class=\"last-checked\">\n {{ 'system.health-last-checked' | translate }}:\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\n </div>\n </div>\n </div>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\n </button>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n <vdr-page-block>\n <table class=\"table\">\n <thead>\n <tr>\n <th class=\"left\">\n {{ 'common.name' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-status' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-message' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\n <td class=\"align-middle left\">{{ row.key }}</td>\n <td class=\"align-middle left\">\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\n <clr-icon shape=\"check-circle\"></clr-icon>\n {{ 'system.health-status-up' | translate }}\n </ng-container>\n <ng-template #down>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.health-status-down' | translate }}\n </ng-template>\n </vdr-chip>\n </td>\n <td class=\"align-middle left\">{{ row.result.message }}</td>\n </tr>\n </tbody>\n </table>\n </vdr-page-block>\n</vdr-page-body>\n", styles: [".system-status-header{display:flex;justify-content:space-between;align-items:flex-start}.system-status-header .status-detail{font-weight:700;margin-inline-end:6px}.system-status-header .last-checked{font-weight:400;color:var(--color-grey-500)}\n"] }]
29
29
  }], ctorParameters: () => [{ type: i1.HealthCheckService }] });
@@ -58,10 +58,10 @@ class JobStateLabelComponent {
58
58
  return 'warning';
59
59
  }
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: JobStateLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: JobStateLabelComponent, isStandalone: false, selector: "vdr-job-state-label", inputs: { job: "job" }, ngImport: i0, template: "<vdr-chip [colorType]=\"colorType\">\n <clr-icon [attr.shape]=\"iconShape\" class=\"mr1\"></clr-icon>\n {{ job.state | titlecase }}\n <span *ngIf=\"job.state === 'RUNNING'\" class=\"progress\">\n {{ (job.progress / 100) | percent }}\n </span>\n</vdr-chip>\n", styles: [".progress{margin-inline-start:3px}clr-icon{min-width:12px}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i3$1.PercentPipe, name: "percent" }, { kind: "pipe", type: i3$1.TitleCasePipe, name: "titlecase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: JobStateLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: JobStateLabelComponent, isStandalone: false, selector: "vdr-job-state-label", inputs: { job: "job" }, ngImport: i0, template: "<vdr-chip [colorType]=\"colorType\">\n <clr-icon [attr.shape]=\"iconShape\" class=\"mr1\"></clr-icon>\n {{ job.state | titlecase }}\n <span *ngIf=\"job.state === 'RUNNING'\" class=\"progress\">\n {{ (job.progress / 100) | percent }}\n </span>\n</vdr-chip>\n", styles: [".progress{margin-inline-start:3px}clr-icon{min-width:12px}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i3$1.PercentPipe, name: "percent" }, { kind: "pipe", type: i3$1.TitleCasePipe, name: "titlecase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: JobStateLabelComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: JobStateLabelComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'vdr-job-state-label', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<vdr-chip [colorType]=\"colorType\">\n <clr-icon [attr.shape]=\"iconShape\" class=\"mr1\"></clr-icon>\n {{ job.state | titlecase }}\n <span *ngIf=\"job.state === 'RUNNING'\" class=\"progress\">\n {{ (job.progress / 100) | percent }}\n </span>\n</vdr-chip>\n", styles: [".progress{margin-inline-start:3px}clr-icon{min-width:12px}\n"] }]
67
67
  }], propDecorators: { job: [{
@@ -118,10 +118,10 @@ class JobListComponent extends BaseListComponent {
118
118
  cancelJob(id) {
119
119
  this.dataService.settings.cancelJob(id).subscribe(() => this.refresh());
120
120
  }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: JobListComponent, deps: [{ token: i1.DataService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: JobListComponent, isStandalone: false, selector: "vdr-job-list", usesInheritance: true, ngImport: i0, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <clr-checkbox-wrapper class=\"mr-2\">\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\" />\n <label>{{ 'common.live-update' | translate }}</label>\n </clr-checkbox-wrapper>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\n <ng-select\n class=\"mr-2\"\n [addTag]=\"false\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n [formControl]=\"stateFilter\"\n (change)=\"refresh()\"\n >\n <ng-option [value]=\"''\">\n <vdr-chip>{{ 'system.job-state-all' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'PENDING'\">\n <vdr-chip>{{ 'system.job-state-pending' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'RUNNING'\">\n <vdr-chip colorType=\"warning\">{{ 'system.job-state-running' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'COMPLETED'\">\n <vdr-chip colorType=\"success\">{{ 'system.job-state-completed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'FAILED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-failed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'CANCELLED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-cancelled' | translate }}</vdr-chip>\n </ng-option>\n </ng-select>\n <ng-select\n [addTag]=\"false\"\n [items]=\"queues$ | async\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n bindValue=\"name\"\n [formControl]=\"queueFilter\"\n (change)=\"refresh()\"\n >\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\n <ng-container *ngIf=\"item.name === 'all'; else others\">\n <vdr-chip>{{ 'system.all-job-queues' | translate }}</vdr-chip>\n </ng-container>\n <ng-template #others>\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\n </ng-template>\n </ng-template>\n </ng-select>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2\n id=\"job-list\"\n [items]=\"items$ | async\"\n [itemsPerPage]=\"itemsPerPage$ | async\"\n [totalItems]=\"totalItems$ | async\"\n [currentPage]=\"currentPage$ | async\"\n (pageChange)=\"setPageNumber($event)\"\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\n >\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\">\n <ng-template let-job=\"item\">\n {{ job.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\">\n <ng-template let-job=\"item\">\n {{ job.createdAt | timeAgo }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-queue-name' | translate\" id=\"job-queue-name\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-data' | translate\" id=\"job-data\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"job.data\">\n <button\n class=\"button-small\"\n vdrDropdownTrigger\n [title]=\"'system.job-data' | translate\"\n >\n <clr-icon shape=\"details\"></clr-icon>\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-state' | translate\" id=\"job-state\">\n <ng-template let-job=\"item\">\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">after {{ job.attempts }} attempts</div>\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\n attempting {{ job.attempts }} of {{ job.retries + 1 }}\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-duration' | translate\" id=\"job-duration\">\n <ng-template let-job=\"item\">\n {{ job.duration | duration }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-result' | translate\" id=\"job-result\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"hasResult(job)\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.job-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"job.error\">\n <button class=\"button-small\" vdrDropdownTrigger>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.job-error' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n {{ job.error }}\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"cancelJob(job.id)\"\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n {{ 'common.cancel' | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i3.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i3.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "tabFocusOnClearButton", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i6.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i6.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i6.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.DataTable2Component, selector: "vdr-data-table-2", inputs: ["id", "items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "filters", "activeIndex", "trackByPath"], outputs: ["pageChange", "itemsPerPageChange", "visibleColumnsChange"] }, { kind: "component", type: i1.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: JobStateLabelComponent, selector: "vdr-job-state-label", inputs: ["job"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: i1.TimeAgoPipe, name: "timeAgo" }, { kind: "pipe", type: i1.DurationPipe, name: "duration" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: JobListComponent, deps: [{ token: i1.DataService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: JobListComponent, isStandalone: false, selector: "vdr-job-list", usesInheritance: true, ngImport: i0, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <clr-checkbox-wrapper class=\"mr-2\">\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\" />\n <label>{{ 'common.live-update' | translate }}</label>\n </clr-checkbox-wrapper>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\n <ng-select\n class=\"mr-2\"\n [addTag]=\"false\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n [formControl]=\"stateFilter\"\n (change)=\"refresh()\"\n >\n <ng-option [value]=\"''\">\n <vdr-chip>{{ 'system.job-state-all' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'PENDING'\">\n <vdr-chip>{{ 'system.job-state-pending' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'RUNNING'\">\n <vdr-chip colorType=\"warning\">{{ 'system.job-state-running' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'COMPLETED'\">\n <vdr-chip colorType=\"success\">{{ 'system.job-state-completed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'FAILED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-failed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'CANCELLED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-cancelled' | translate }}</vdr-chip>\n </ng-option>\n </ng-select>\n <ng-select\n [addTag]=\"false\"\n [items]=\"queues$ | async\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n bindValue=\"name\"\n [formControl]=\"queueFilter\"\n (change)=\"refresh()\"\n >\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\n <ng-container *ngIf=\"item.name === 'all'; else others\">\n <vdr-chip>{{ 'system.all-job-queues' | translate }}</vdr-chip>\n </ng-container>\n <ng-template #others>\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\n </ng-template>\n </ng-template>\n </ng-select>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2\n id=\"job-list\"\n [items]=\"items$ | async\"\n [itemsPerPage]=\"itemsPerPage$ | async\"\n [totalItems]=\"totalItems$ | async\"\n [currentPage]=\"currentPage$ | async\"\n (pageChange)=\"setPageNumber($event)\"\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\n >\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\">\n <ng-template let-job=\"item\">\n {{ job.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\">\n <ng-template let-job=\"item\">\n {{ job.createdAt | timeAgo }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-queue-name' | translate\" id=\"job-queue-name\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-data' | translate\" id=\"job-data\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"job.data\">\n <button\n class=\"button-small\"\n vdrDropdownTrigger\n [title]=\"'system.job-data' | translate\"\n >\n <clr-icon shape=\"details\"></clr-icon>\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-state' | translate\" id=\"job-state\">\n <ng-template let-job=\"item\">\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">after {{ job.attempts }} attempts</div>\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\n attempting {{ job.attempts }} of {{ job.retries + 1 }}\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-duration' | translate\" id=\"job-duration\">\n <ng-template let-job=\"item\">\n {{ job.duration | duration }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-result' | translate\" id=\"job-result\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"hasResult(job)\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.job-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"job.error\">\n <button class=\"button-small\" vdrDropdownTrigger>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.job-error' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n {{ job.error }}\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"cancelJob(job.id)\"\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n {{ 'common.cancel' | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i3.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i3.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "tabFocusOnClearButton", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i6.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i6.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i6.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.DataTable2Component, selector: "vdr-data-table-2", inputs: ["id", "items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "filters", "activeIndex", "trackByPath"], outputs: ["pageChange", "itemsPerPageChange", "visibleColumnsChange"] }, { kind: "component", type: i1.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: JobStateLabelComponent, selector: "vdr-job-state-label", inputs: ["job"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: i1.TimeAgoPipe, name: "timeAgo" }, { kind: "pipe", type: i1.DurationPipe, name: "duration" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: JobListComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: JobListComponent, decorators: [{
125
125
  type: Component,
126
126
  args: [{ selector: 'vdr-job-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <clr-checkbox-wrapper class=\"mr-2\">\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\" />\n <label>{{ 'common.live-update' | translate }}</label>\n </clr-checkbox-wrapper>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\n <ng-select\n class=\"mr-2\"\n [addTag]=\"false\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n [formControl]=\"stateFilter\"\n (change)=\"refresh()\"\n >\n <ng-option [value]=\"''\">\n <vdr-chip>{{ 'system.job-state-all' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'PENDING'\">\n <vdr-chip>{{ 'system.job-state-pending' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'RUNNING'\">\n <vdr-chip colorType=\"warning\">{{ 'system.job-state-running' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'COMPLETED'\">\n <vdr-chip colorType=\"success\">{{ 'system.job-state-completed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'FAILED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-failed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'CANCELLED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-cancelled' | translate }}</vdr-chip>\n </ng-option>\n </ng-select>\n <ng-select\n [addTag]=\"false\"\n [items]=\"queues$ | async\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n bindValue=\"name\"\n [formControl]=\"queueFilter\"\n (change)=\"refresh()\"\n >\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\n <ng-container *ngIf=\"item.name === 'all'; else others\">\n <vdr-chip>{{ 'system.all-job-queues' | translate }}</vdr-chip>\n </ng-container>\n <ng-template #others>\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\n </ng-template>\n </ng-template>\n </ng-select>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2\n id=\"job-list\"\n [items]=\"items$ | async\"\n [itemsPerPage]=\"itemsPerPage$ | async\"\n [totalItems]=\"totalItems$ | async\"\n [currentPage]=\"currentPage$ | async\"\n (pageChange)=\"setPageNumber($event)\"\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\n >\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\">\n <ng-template let-job=\"item\">\n {{ job.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\">\n <ng-template let-job=\"item\">\n {{ job.createdAt | timeAgo }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-queue-name' | translate\" id=\"job-queue-name\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-data' | translate\" id=\"job-data\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"job.data\">\n <button\n class=\"button-small\"\n vdrDropdownTrigger\n [title]=\"'system.job-data' | translate\"\n >\n <clr-icon shape=\"details\"></clr-icon>\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-state' | translate\" id=\"job-state\">\n <ng-template let-job=\"item\">\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">after {{ job.attempts }} attempts</div>\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\n attempting {{ job.attempts }} of {{ job.retries + 1 }}\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-duration' | translate\" id=\"job-duration\">\n <ng-template let-job=\"item\">\n {{ job.duration | duration }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-result' | translate\" id=\"job-result\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"hasResult(job)\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.job-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"job.error\">\n <button class=\"button-small\" vdrDropdownTrigger>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.job-error' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n {{ job.error }}\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"cancelJob(job.id)\"\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n {{ 'common.cancel' | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"] }]
127
127
  }], ctorParameters: () => [{ type: i1.DataService }, { type: i2.Router }, { type: i2.ActivatedRoute }] });
@@ -193,10 +193,10 @@ class ScheduledTaskListComponent {
193
193
  }
194
194
  });
195
195
  }
196
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ScheduledTaskListComponent, deps: [{ token: i1.DataService }, { token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
197
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: ScheduledTaskListComponent, isStandalone: false, selector: "vdr-scheduled-task-list", ngImport: i0, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left> </vdr-ab-left>\n <vdr-ab-right> </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2 id=\"scheduled-task-list\" [items]=\"tasks$ | async\">\n <vdr-dt2-column [heading]=\"'system.task-id' | translate\" id=\"task-id\" [optional]=\"false\">\n <ng-template let-task=\"item\">\n {{ task.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.description' | translate\" id=\"description\">\n <ng-template let-task=\"item\">\n {{ task.description }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.schedule' | translate\" id=\"schedule\">\n <ng-template let-task=\"item\">\n <div class=\"\">{{ task.scheduleDescription }}</div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-executed-at' | translate\" id=\"last-executed-at\">\n <ng-template let-task=\"item\">\n <span *ngIf=\"task.lastExecutedAt\" [title]=\"task.lastExecutedAt | localeDate\">\n {{ task.lastExecutedAt | timeAgo }}\n </span>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n [heading]=\"'system.next-execution-at' | translate\"\n id=\"next-execution-at\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-task=\"item\">\n {{ task.nextExecutionAt | localeDate }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-result' | translate\" id=\"last-result\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"task.lastResult\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.last-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"task.lastResult\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.enabled' | translate\" id=\"enabled\">\n <ng-template let-task=\"item\">\n <ng-container *ngIf=\"task.enabled\">\n <vdr-chip [colorType]=\"'success'\">{{ 'common.enabled' | translate }}</vdr-chip>\n </ng-container>\n <ng-container *ngIf=\"!task.enabled\">\n <vdr-chip [colorType]=\"'warning'\">{{ 'common.disabled' | translate }}</vdr-chip>\n </ng-container>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"actions\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"!task.isSettled && task.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n *ngIf=\"task.enabled\"\n class=\"\"\n (click)=\"runTask(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"play\" class=\"\"></clr-icon>\n <div>\n {{ 'system.run-task' | translate }}\n </div>\n </button>\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"toggleEnabled(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n <div *ngIf=\"task.enabled\">\n {{ 'common.disable' | translate }}\n </div>\n <div *ngIf=\"!task.enabled\">\n {{ 'common.enable' | translate }}\n </div>\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: i1.DataTable2Component, selector: "vdr-data-table-2", inputs: ["id", "items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "filters", "activeIndex", "trackByPath"], outputs: ["pageChange", "itemsPerPageChange", "visibleColumnsChange"] }, { kind: "component", type: i1.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: i1.TimeAgoPipe, name: "timeAgo" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ScheduledTaskListComponent, deps: [{ token: i1.DataService }, { token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
197
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ScheduledTaskListComponent, isStandalone: false, selector: "vdr-scheduled-task-list", ngImport: i0, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left> </vdr-ab-left>\n <vdr-ab-right> </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2 id=\"scheduled-task-list\" [items]=\"tasks$ | async\">\n <vdr-dt2-column [heading]=\"'system.task-id' | translate\" id=\"task-id\" [optional]=\"false\">\n <ng-template let-task=\"item\">\n {{ task.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.description' | translate\" id=\"description\">\n <ng-template let-task=\"item\">\n {{ task.description }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.schedule' | translate\" id=\"schedule\">\n <ng-template let-task=\"item\">\n <div class=\"\">{{ task.scheduleDescription }}</div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-executed-at' | translate\" id=\"last-executed-at\">\n <ng-template let-task=\"item\">\n <span *ngIf=\"task.lastExecutedAt\" [title]=\"task.lastExecutedAt | localeDate\">\n {{ task.lastExecutedAt | timeAgo }}\n </span>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n [heading]=\"'system.next-execution-at' | translate\"\n id=\"next-execution-at\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-task=\"item\">\n {{ task.nextExecutionAt | localeDate }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-result' | translate\" id=\"last-result\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"task.lastResult\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.last-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"task.lastResult\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.enabled' | translate\" id=\"enabled\">\n <ng-template let-task=\"item\">\n <ng-container *ngIf=\"task.enabled\">\n <vdr-chip [colorType]=\"'success'\">{{ 'common.enabled' | translate }}</vdr-chip>\n </ng-container>\n <ng-container *ngIf=\"!task.enabled\">\n <vdr-chip [colorType]=\"'warning'\">{{ 'common.disabled' | translate }}</vdr-chip>\n </ng-container>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"actions\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"!task.isSettled && task.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n *ngIf=\"task.enabled\"\n class=\"\"\n (click)=\"runTask(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"play\" class=\"\"></clr-icon>\n <div>\n {{ 'system.run-task' | translate }}\n </div>\n </button>\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"toggleEnabled(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n <div *ngIf=\"task.enabled\">\n {{ 'common.disable' | translate }}\n </div>\n <div *ngIf=\"!task.enabled\">\n {{ 'common.enable' | translate }}\n </div>\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: i1.DataTable2Component, selector: "vdr-data-table-2", inputs: ["id", "items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "filters", "activeIndex", "trackByPath"], outputs: ["pageChange", "itemsPerPageChange", "visibleColumnsChange"] }, { kind: "component", type: i1.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: i1.TimeAgoPipe, name: "timeAgo" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
198
198
  }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ScheduledTaskListComponent, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ScheduledTaskListComponent, decorators: [{
200
200
  type: Component,
201
201
  args: [{ selector: 'vdr-scheduled-task-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left> </vdr-ab-left>\n <vdr-ab-right> </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2 id=\"scheduled-task-list\" [items]=\"tasks$ | async\">\n <vdr-dt2-column [heading]=\"'system.task-id' | translate\" id=\"task-id\" [optional]=\"false\">\n <ng-template let-task=\"item\">\n {{ task.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.description' | translate\" id=\"description\">\n <ng-template let-task=\"item\">\n {{ task.description }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.schedule' | translate\" id=\"schedule\">\n <ng-template let-task=\"item\">\n <div class=\"\">{{ task.scheduleDescription }}</div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-executed-at' | translate\" id=\"last-executed-at\">\n <ng-template let-task=\"item\">\n <span *ngIf=\"task.lastExecutedAt\" [title]=\"task.lastExecutedAt | localeDate\">\n {{ task.lastExecutedAt | timeAgo }}\n </span>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n [heading]=\"'system.next-execution-at' | translate\"\n id=\"next-execution-at\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-task=\"item\">\n {{ task.nextExecutionAt | localeDate }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-result' | translate\" id=\"last-result\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"task.lastResult\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.last-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"task.lastResult\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.enabled' | translate\" id=\"enabled\">\n <ng-template let-task=\"item\">\n <ng-container *ngIf=\"task.enabled\">\n <vdr-chip [colorType]=\"'success'\">{{ 'common.enabled' | translate }}</vdr-chip>\n </ng-container>\n <ng-container *ngIf=\"!task.enabled\">\n <vdr-chip [colorType]=\"'warning'\">{{ 'common.disabled' | translate }}</vdr-chip>\n </ng-container>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"actions\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"!task.isSettled && task.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n *ngIf=\"task.enabled\"\n class=\"\"\n (click)=\"runTask(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"play\" class=\"\"></clr-icon>\n <div>\n {{ 'system.run-task' | translate }}\n </div>\n </button>\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"toggleEnabled(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n <div *ngIf=\"task.enabled\">\n {{ 'common.disable' | translate }}\n </div>\n <div *ngIf=\"!task.enabled\">\n {{ 'common.enable' | translate }}\n </div>\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"] }]
202
202
  }], ctorParameters: () => [{ type: i1.DataService }, { type: i1.NotificationService }] });
@@ -226,14 +226,14 @@ const systemRoutes = [
226
226
  ];
227
227
 
228
228
  class SystemModule {
229
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
230
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: SystemModule, declarations: [HealthCheckComponent,
229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
230
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: SystemModule, declarations: [HealthCheckComponent,
231
231
  JobListComponent,
232
232
  JobStateLabelComponent,
233
233
  ScheduledTaskListComponent], imports: [SharedModule, i2.RouterModule] }); }
234
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SystemModule, imports: [SharedModule, RouterModule.forChild(systemRoutes)] }); }
234
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SystemModule, imports: [SharedModule, RouterModule.forChild(systemRoutes)] }); }
235
235
  }
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SystemModule, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SystemModule, decorators: [{
237
237
  type: NgModule,
238
238
  args: [{
239
239
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"vendure-admin-ui-system.mjs","sources":["../../src/lib/system/src/components/health-check/health-check.component.ts","../../src/lib/system/src/components/health-check/health-check.component.html","../../src/lib/system/src/components/job-state-label/job-state-label.component.ts","../../src/lib/system/src/components/job-state-label/job-state-label.component.html","../../src/lib/system/src/components/job-list/job-list.component.ts","../../src/lib/system/src/components/job-list/job-list.component.html","../../src/lib/system/src/components/scheduled-tasks/scheduled-task-list.component.ts","../../src/lib/system/src/components/scheduled-tasks/scheduled-task-list.component.html","../../src/lib/system/src/system.routes.ts","../../src/lib/system/src/system.module.ts","../../src/lib/system/src/public_api.ts","../../src/lib/system/src/vendure-admin-ui-system.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { HealthCheckService } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-health-check',\n templateUrl: './health-check.component.html',\n styleUrls: ['./health-check.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class HealthCheckComponent {\n constructor(public healthCheckService: HealthCheckService) {}\n}\n","<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\n <div class=\"status-icon\">\n <clr-icon\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\n size=\"48\"\n ></clr-icon>\n </div>\n <div class=\"status-detail\">\n <ng-container *ngIf=\"status === 'ok'; else error\">\n {{ 'system.health-all-systems-up' | translate }}\n </ng-container>\n <ng-template #error>\n {{ 'system.health-error' | translate }}\n </ng-template>\n <div class=\"last-checked\">\n {{ 'system.health-last-checked' | translate }}:\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\n </div>\n </div>\n </div>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\n </button>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n <vdr-page-block>\n <table class=\"table\">\n <thead>\n <tr>\n <th class=\"left\">\n {{ 'common.name' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-status' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-message' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\n <td class=\"align-middle left\">{{ row.key }}</td>\n <td class=\"align-middle left\">\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\n <clr-icon shape=\"check-circle\"></clr-icon>\n {{ 'system.health-status-up' | translate }}\n </ng-container>\n <ng-template #down>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.health-status-down' | translate }}\n </ng-template>\n </vdr-chip>\n </td>\n <td class=\"align-middle left\">{{ row.result.message }}</td>\n </tr>\n </tbody>\n </table>\n </vdr-page-block>\n</vdr-page-body>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { JobInfoFragment, JobState } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-job-state-label',\n templateUrl: './job-state-label.component.html',\n styleUrls: ['./job-state-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class JobStateLabelComponent {\n @Input()\n job: JobInfoFragment;\n\n get iconShape(): string {\n switch (this.job.state) {\n case JobState.COMPLETED:\n return 'check-circle';\n case JobState.FAILED:\n return 'exclamation-circle';\n case JobState.CANCELLED:\n return 'ban';\n case JobState.PENDING:\n case JobState.RETRYING:\n return 'hourglass';\n case JobState.RUNNING:\n return 'sync';\n }\n }\n\n get colorType(): string {\n switch (this.job.state) {\n case JobState.COMPLETED:\n return 'success';\n case JobState.FAILED:\n case JobState.CANCELLED:\n return 'error';\n case JobState.PENDING:\n case JobState.RETRYING:\n return '';\n case JobState.RUNNING:\n return 'warning';\n }\n }\n}\n","<vdr-chip [colorType]=\"colorType\">\n <clr-icon [attr.shape]=\"iconShape\" class=\"mr1\"></clr-icon>\n {{ job.state | titlecase }}\n <span *ngIf=\"job.state === 'RUNNING'\" class=\"progress\">\n {{ (job.progress / 100) | percent }}\n </span>\n</vdr-chip>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n BaseListComponent,\n DataService,\n GetAllJobsQuery,\n GetJobQueueListQuery,\n ItemOf,\n JobState,\n SortOrder,\n} from '@vendure/admin-ui/core';\nimport { Observable, timer } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'vdr-job-list',\n templateUrl: './job-list.component.html',\n styleUrls: ['./job-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class JobListComponent\n extends BaseListComponent<GetAllJobsQuery, ItemOf<GetAllJobsQuery, 'jobs'>>\n implements OnInit\n{\n queues$: Observable<GetJobQueueListQuery['jobQueues']>;\n liveUpdate = new FormControl(true);\n queueFilter = new FormControl('all');\n stateFilter = new FormControl<JobState | string>('');\n\n constructor(private dataService: DataService, router: Router, route: ActivatedRoute) {\n super(router, route);\n super.setQueryFn(\n (...args: any[]) => this.dataService.settings.getAllJobs(...args),\n data => data.jobs,\n (skip, take) => {\n const queueFilter =\n this.queueFilter.value === 'all' ? null : { queueName: { eq: this.queueFilter.value } };\n const stateFilter = this.stateFilter.value;\n return {\n options: {\n skip,\n take,\n filter: {\n ...queueFilter,\n ...(stateFilter ? { state: { eq: stateFilter } } : {}),\n },\n sort: {\n createdAt: SortOrder.DESC,\n },\n },\n };\n },\n );\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n timer(5000, 2000)\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!this.liveUpdate.value),\n )\n .subscribe(() => {\n this.refresh();\n });\n this.queues$ = this.dataService.settings\n .getJobQueues()\n .mapStream(res => res.jobQueues)\n .pipe(map(queues => [{ name: 'all', running: true }, ...queues]));\n }\n\n hasResult(job: ItemOf<GetAllJobsQuery, 'jobs'>): boolean {\n const result = job.result;\n if (result == null) {\n return false;\n }\n if (typeof result === 'object') {\n return Object.keys(result).length > 0;\n }\n return true;\n }\n\n cancelJob(id: string) {\n this.dataService.settings.cancelJob(id).subscribe(() => this.refresh());\n }\n}\n","<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <clr-checkbox-wrapper class=\"mr-2\">\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\" />\n <label>{{ 'common.live-update' | translate }}</label>\n </clr-checkbox-wrapper>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\n <ng-select\n class=\"mr-2\"\n [addTag]=\"false\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n [formControl]=\"stateFilter\"\n (change)=\"refresh()\"\n >\n <ng-option [value]=\"''\">\n <vdr-chip>{{ 'system.job-state-all' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'PENDING'\">\n <vdr-chip>{{ 'system.job-state-pending' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'RUNNING'\">\n <vdr-chip colorType=\"warning\">{{ 'system.job-state-running' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'COMPLETED'\">\n <vdr-chip colorType=\"success\">{{ 'system.job-state-completed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'FAILED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-failed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'CANCELLED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-cancelled' | translate }}</vdr-chip>\n </ng-option>\n </ng-select>\n <ng-select\n [addTag]=\"false\"\n [items]=\"queues$ | async\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n bindValue=\"name\"\n [formControl]=\"queueFilter\"\n (change)=\"refresh()\"\n >\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\n <ng-container *ngIf=\"item.name === 'all'; else others\">\n <vdr-chip>{{ 'system.all-job-queues' | translate }}</vdr-chip>\n </ng-container>\n <ng-template #others>\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\n </ng-template>\n </ng-template>\n </ng-select>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2\n id=\"job-list\"\n [items]=\"items$ | async\"\n [itemsPerPage]=\"itemsPerPage$ | async\"\n [totalItems]=\"totalItems$ | async\"\n [currentPage]=\"currentPage$ | async\"\n (pageChange)=\"setPageNumber($event)\"\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\n >\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\">\n <ng-template let-job=\"item\">\n {{ job.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\">\n <ng-template let-job=\"item\">\n {{ job.createdAt | timeAgo }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-queue-name' | translate\" id=\"job-queue-name\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-data' | translate\" id=\"job-data\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"job.data\">\n <button\n class=\"button-small\"\n vdrDropdownTrigger\n [title]=\"'system.job-data' | translate\"\n >\n <clr-icon shape=\"details\"></clr-icon>\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-state' | translate\" id=\"job-state\">\n <ng-template let-job=\"item\">\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">after {{ job.attempts }} attempts</div>\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\n attempting {{ job.attempts }} of {{ job.retries + 1 }}\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-duration' | translate\" id=\"job-duration\">\n <ng-template let-job=\"item\">\n {{ job.duration | duration }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-result' | translate\" id=\"job-result\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"hasResult(job)\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.job-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"job.error\">\n <button class=\"button-small\" vdrDropdownTrigger>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.job-error' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n {{ job.error }}\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"cancelJob(job.id)\"\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n {{ 'common.cancel' | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { _ } from '@ngx-translate/core';\nimport {\n DataService,\n GetAllScheduledTasksQuery,\n NotificationService,\n RunTaskMutation,\n RunTaskMutationVariables,\n ToggleScheduledTaskEnabledMutation,\n ToggleScheduledTaskEnabledMutationVariables,\n} from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\nimport { Observable } from 'rxjs';\n\nexport const GET_SCHEDULED_TASKS_LIST = gql`\n query GetAllScheduledTasks {\n scheduledTasks {\n id\n description\n schedule\n scheduleDescription\n lastExecutedAt\n nextExecutionAt\n isRunning\n lastResult\n enabled\n }\n }\n`;\n\nconst TOGGLE_SCHEDULED_TASK_ENABLED = gql`\n mutation ToggleScheduledTaskEnabled($input: UpdateScheduledTaskInput!) {\n updateScheduledTask(input: $input) {\n id\n enabled\n }\n }\n`;\n\nconst RUN_TASK = gql`\n mutation RunTask($id: String!) {\n runScheduledTask(id: $id) {\n success\n }\n }\n`;\n\n@Component({\n selector: 'vdr-scheduled-task-list',\n templateUrl: './scheduled-task-list.component.html',\n styleUrls: ['./scheduled-task-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ScheduledTaskListComponent implements OnInit {\n tasks$: Observable<GetAllScheduledTasksQuery['scheduledTasks']>;\n liveUpdate = new FormControl(true);\n\n constructor(\n private dataService: DataService,\n private notificationService: NotificationService,\n ) {}\n\n ngOnInit(): void {\n this.tasks$ = this.dataService\n .query<GetAllScheduledTasksQuery>(GET_SCHEDULED_TASKS_LIST)\n .mapStream(res => {\n return res.scheduledTasks;\n });\n }\n\n toggleEnabled(task: GetAllScheduledTasksQuery['scheduledTasks'][0]) {\n this.dataService\n .mutate<ToggleScheduledTaskEnabledMutation, ToggleScheduledTaskEnabledMutationVariables>(\n TOGGLE_SCHEDULED_TASK_ENABLED,\n {\n input: {\n id: task.id,\n enabled: !task.enabled,\n },\n },\n )\n .subscribe();\n }\n\n runTask(task: GetAllScheduledTasksQuery['scheduledTasks'][0]) {\n this.dataService\n .mutate<RunTaskMutation, RunTaskMutationVariables>(RUN_TASK, {\n id: task.id,\n })\n .subscribe(result => {\n if (result.runScheduledTask.success) {\n this.notificationService.success(_('system.task-will-be-triggered'));\n } else {\n this.notificationService.error(_('system.could-not-trigger-task'));\n }\n });\n }\n}\n","<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left> </vdr-ab-left>\n <vdr-ab-right> </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2 id=\"scheduled-task-list\" [items]=\"tasks$ | async\">\n <vdr-dt2-column [heading]=\"'system.task-id' | translate\" id=\"task-id\" [optional]=\"false\">\n <ng-template let-task=\"item\">\n {{ task.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.description' | translate\" id=\"description\">\n <ng-template let-task=\"item\">\n {{ task.description }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.schedule' | translate\" id=\"schedule\">\n <ng-template let-task=\"item\">\n <div class=\"\">{{ task.scheduleDescription }}</div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-executed-at' | translate\" id=\"last-executed-at\">\n <ng-template let-task=\"item\">\n <span *ngIf=\"task.lastExecutedAt\" [title]=\"task.lastExecutedAt | localeDate\">\n {{ task.lastExecutedAt | timeAgo }}\n </span>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n [heading]=\"'system.next-execution-at' | translate\"\n id=\"next-execution-at\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-task=\"item\">\n {{ task.nextExecutionAt | localeDate }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-result' | translate\" id=\"last-result\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"task.lastResult\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.last-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"task.lastResult\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.enabled' | translate\" id=\"enabled\">\n <ng-template let-task=\"item\">\n <ng-container *ngIf=\"task.enabled\">\n <vdr-chip [colorType]=\"'success'\">{{ 'common.enabled' | translate }}</vdr-chip>\n </ng-container>\n <ng-container *ngIf=\"!task.enabled\">\n <vdr-chip [colorType]=\"'warning'\">{{ 'common.disabled' | translate }}</vdr-chip>\n </ng-container>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"actions\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"!task.isSettled && task.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n *ngIf=\"task.enabled\"\n class=\"\"\n (click)=\"runTask(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"play\" class=\"\"></clr-icon>\n <div>\n {{ 'system.run-task' | translate }}\n </div>\n </button>\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"toggleEnabled(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n <div *ngIf=\"task.enabled\">\n {{ 'common.disable' | translate }}\n </div>\n <div *ngIf=\"!task.enabled\">\n {{ 'common.enable' | translate }}\n </div>\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n","import { Route } from '@angular/router';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\n\nimport { HealthCheckComponent } from './components/health-check/health-check.component';\nimport { JobListComponent } from './components/job-list/job-list.component';\nimport { ScheduledTaskListComponent } from './components/scheduled-tasks/scheduled-task-list.component';\n\nexport const systemRoutes: Route[] = [\n {\n path: 'jobs',\n component: JobListComponent,\n data: {\n breadcrumb: _('breadcrumb.job-queue'),\n },\n },\n {\n path: 'system-status',\n component: HealthCheckComponent,\n data: {\n breadcrumb: _('breadcrumb.system-status'),\n },\n },\n {\n path: 'scheduled-tasks',\n component: ScheduledTaskListComponent,\n data: {\n breadcrumb: _('breadcrumb.scheduled-tasks'),\n },\n },\n];\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '@vendure/admin-ui/core';\n\nimport { HealthCheckComponent } from './components/health-check/health-check.component';\nimport { JobListComponent } from './components/job-list/job-list.component';\nimport { JobStateLabelComponent } from './components/job-state-label/job-state-label.component';\nimport { ScheduledTaskListComponent } from './components/scheduled-tasks/scheduled-task-list.component';\nimport { systemRoutes } from './system.routes';\n\n@NgModule({\n declarations: [\n HealthCheckComponent,\n JobListComponent,\n JobStateLabelComponent,\n ScheduledTaskListComponent,\n ],\n imports: [SharedModule, RouterModule.forChild(systemRoutes)],\n})\nexport class SystemModule {}\n","// This file was generated by the build-public-api.ts script\nexport * from './components/health-check/health-check.component';\nexport * from './components/job-list/job-list.component';\nexport * from './components/job-state-label/job-state-label.component';\nexport * from './components/scheduled-tasks/scheduled-task-list.component';\nexport * from './system.module';\nexport * from './system.routes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i3","i1","i4","i7.JobStateLabelComponent","i8","_"],"mappings":"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"}
1
+ {"version":3,"file":"vendure-admin-ui-system.mjs","sources":["../../src/lib/system/src/components/health-check/health-check.component.ts","../../src/lib/system/src/components/health-check/health-check.component.html","../../src/lib/system/src/components/job-state-label/job-state-label.component.ts","../../src/lib/system/src/components/job-state-label/job-state-label.component.html","../../src/lib/system/src/components/job-list/job-list.component.ts","../../src/lib/system/src/components/job-list/job-list.component.html","../../src/lib/system/src/components/scheduled-tasks/scheduled-task-list.component.ts","../../src/lib/system/src/components/scheduled-tasks/scheduled-task-list.component.html","../../src/lib/system/src/system.routes.ts","../../src/lib/system/src/system.module.ts","../../src/lib/system/src/public_api.ts","../../src/lib/system/src/vendure-admin-ui-system.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { HealthCheckService } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-health-check',\n templateUrl: './health-check.component.html',\n styleUrls: ['./health-check.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class HealthCheckComponent {\n constructor(public healthCheckService: HealthCheckService) {}\n}\n","<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\n <div class=\"status-icon\">\n <clr-icon\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\n size=\"48\"\n ></clr-icon>\n </div>\n <div class=\"status-detail\">\n <ng-container *ngIf=\"status === 'ok'; else error\">\n {{ 'system.health-all-systems-up' | translate }}\n </ng-container>\n <ng-template #error>\n {{ 'system.health-error' | translate }}\n </ng-template>\n <div class=\"last-checked\">\n {{ 'system.health-last-checked' | translate }}:\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\n </div>\n </div>\n </div>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\n </button>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n <vdr-page-block>\n <table class=\"table\">\n <thead>\n <tr>\n <th class=\"left\">\n {{ 'common.name' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-status' | translate }}\n </th>\n <th class=\"left\">\n {{ 'system.health-message' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\n <td class=\"align-middle left\">{{ row.key }}</td>\n <td class=\"align-middle left\">\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\n <clr-icon shape=\"check-circle\"></clr-icon>\n {{ 'system.health-status-up' | translate }}\n </ng-container>\n <ng-template #down>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.health-status-down' | translate }}\n </ng-template>\n </vdr-chip>\n </td>\n <td class=\"align-middle left\">{{ row.result.message }}</td>\n </tr>\n </tbody>\n </table>\n </vdr-page-block>\n</vdr-page-body>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { JobInfoFragment, JobState } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-job-state-label',\n templateUrl: './job-state-label.component.html',\n styleUrls: ['./job-state-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class JobStateLabelComponent {\n @Input()\n job: JobInfoFragment;\n\n get iconShape(): string {\n switch (this.job.state) {\n case JobState.COMPLETED:\n return 'check-circle';\n case JobState.FAILED:\n return 'exclamation-circle';\n case JobState.CANCELLED:\n return 'ban';\n case JobState.PENDING:\n case JobState.RETRYING:\n return 'hourglass';\n case JobState.RUNNING:\n return 'sync';\n }\n }\n\n get colorType(): string {\n switch (this.job.state) {\n case JobState.COMPLETED:\n return 'success';\n case JobState.FAILED:\n case JobState.CANCELLED:\n return 'error';\n case JobState.PENDING:\n case JobState.RETRYING:\n return '';\n case JobState.RUNNING:\n return 'warning';\n }\n }\n}\n","<vdr-chip [colorType]=\"colorType\">\n <clr-icon [attr.shape]=\"iconShape\" class=\"mr1\"></clr-icon>\n {{ job.state | titlecase }}\n <span *ngIf=\"job.state === 'RUNNING'\" class=\"progress\">\n {{ (job.progress / 100) | percent }}\n </span>\n</vdr-chip>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n BaseListComponent,\n DataService,\n GetAllJobsQuery,\n GetJobQueueListQuery,\n ItemOf,\n JobState,\n SortOrder,\n} from '@vendure/admin-ui/core';\nimport { Observable, timer } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'vdr-job-list',\n templateUrl: './job-list.component.html',\n styleUrls: ['./job-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class JobListComponent\n extends BaseListComponent<GetAllJobsQuery, ItemOf<GetAllJobsQuery, 'jobs'>>\n implements OnInit\n{\n queues$: Observable<GetJobQueueListQuery['jobQueues']>;\n liveUpdate = new FormControl(true);\n queueFilter = new FormControl('all');\n stateFilter = new FormControl<JobState | string>('');\n\n constructor(private dataService: DataService, router: Router, route: ActivatedRoute) {\n super(router, route);\n super.setQueryFn(\n (...args: any[]) => this.dataService.settings.getAllJobs(...args),\n data => data.jobs,\n (skip, take) => {\n const queueFilter =\n this.queueFilter.value === 'all' ? null : { queueName: { eq: this.queueFilter.value } };\n const stateFilter = this.stateFilter.value;\n return {\n options: {\n skip,\n take,\n filter: {\n ...queueFilter,\n ...(stateFilter ? { state: { eq: stateFilter } } : {}),\n },\n sort: {\n createdAt: SortOrder.DESC,\n },\n },\n };\n },\n );\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n timer(5000, 2000)\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!this.liveUpdate.value),\n )\n .subscribe(() => {\n this.refresh();\n });\n this.queues$ = this.dataService.settings\n .getJobQueues()\n .mapStream(res => res.jobQueues)\n .pipe(map(queues => [{ name: 'all', running: true }, ...queues]));\n }\n\n hasResult(job: ItemOf<GetAllJobsQuery, 'jobs'>): boolean {\n const result = job.result;\n if (result == null) {\n return false;\n }\n if (typeof result === 'object') {\n return Object.keys(result).length > 0;\n }\n return true;\n }\n\n cancelJob(id: string) {\n this.dataService.settings.cancelJob(id).subscribe(() => this.refresh());\n }\n}\n","<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <clr-checkbox-wrapper class=\"mr-2\">\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\" />\n <label>{{ 'common.live-update' | translate }}</label>\n </clr-checkbox-wrapper>\n </vdr-ab-left>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\n <ng-select\n class=\"mr-2\"\n [addTag]=\"false\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n [formControl]=\"stateFilter\"\n (change)=\"refresh()\"\n >\n <ng-option [value]=\"''\">\n <vdr-chip>{{ 'system.job-state-all' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'PENDING'\">\n <vdr-chip>{{ 'system.job-state-pending' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'RUNNING'\">\n <vdr-chip colorType=\"warning\">{{ 'system.job-state-running' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'COMPLETED'\">\n <vdr-chip colorType=\"success\">{{ 'system.job-state-completed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'FAILED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-failed' | translate }}</vdr-chip>\n </ng-option>\n <ng-option [value]=\"'CANCELLED'\">\n <vdr-chip colorType=\"error\">{{ 'system.job-state-cancelled' | translate }}</vdr-chip>\n </ng-option>\n </ng-select>\n <ng-select\n [addTag]=\"false\"\n [items]=\"queues$ | async\"\n [hideSelected]=\"true\"\n [multiple]=\"false\"\n [markFirst]=\"false\"\n [clearable]=\"false\"\n [searchable]=\"false\"\n bindValue=\"name\"\n [formControl]=\"queueFilter\"\n (change)=\"refresh()\"\n >\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\n <ng-container *ngIf=\"item.name === 'all'; else others\">\n <vdr-chip>{{ 'system.all-job-queues' | translate }}</vdr-chip>\n </ng-container>\n <ng-template #others>\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\n </ng-template>\n </ng-template>\n </ng-select>\n </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2\n id=\"job-list\"\n [items]=\"items$ | async\"\n [itemsPerPage]=\"itemsPerPage$ | async\"\n [totalItems]=\"totalItems$ | async\"\n [currentPage]=\"currentPage$ | async\"\n (pageChange)=\"setPageNumber($event)\"\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\n >\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\">\n <ng-template let-job=\"item\">\n {{ job.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\">\n <ng-template let-job=\"item\">\n {{ job.createdAt | timeAgo }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-queue-name' | translate\" id=\"job-queue-name\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-data' | translate\" id=\"job-data\" [optional]=\"false\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"job.data\">\n <button\n class=\"button-small\"\n vdrDropdownTrigger\n [title]=\"'system.job-data' | translate\"\n >\n <clr-icon shape=\"details\"></clr-icon>\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-state' | translate\" id=\"job-state\">\n <ng-template let-job=\"item\">\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">after {{ job.attempts }} attempts</div>\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\n attempting {{ job.attempts }} of {{ job.retries + 1 }}\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-duration' | translate\" id=\"job-duration\">\n <ng-template let-job=\"item\">\n {{ job.duration | duration }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.job-result' | translate\" id=\"job-result\">\n <ng-template let-job=\"item\">\n <vdr-dropdown *ngIf=\"hasResult(job)\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.job-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"job.error\">\n <button class=\"button-small\" vdrDropdownTrigger>\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\n {{ 'system.job-error' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n {{ job.error }}\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"cancelJob(job.id)\"\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n {{ 'common.cancel' | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { _ } from '@ngx-translate/core';\nimport {\n DataService,\n GetAllScheduledTasksQuery,\n NotificationService,\n RunTaskMutation,\n RunTaskMutationVariables,\n ToggleScheduledTaskEnabledMutation,\n ToggleScheduledTaskEnabledMutationVariables,\n} from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\nimport { Observable } from 'rxjs';\n\nexport const GET_SCHEDULED_TASKS_LIST = gql`\n query GetAllScheduledTasks {\n scheduledTasks {\n id\n description\n schedule\n scheduleDescription\n lastExecutedAt\n nextExecutionAt\n isRunning\n lastResult\n enabled\n }\n }\n`;\n\nconst TOGGLE_SCHEDULED_TASK_ENABLED = gql`\n mutation ToggleScheduledTaskEnabled($input: UpdateScheduledTaskInput!) {\n updateScheduledTask(input: $input) {\n id\n enabled\n }\n }\n`;\n\nconst RUN_TASK = gql`\n mutation RunTask($id: String!) {\n runScheduledTask(id: $id) {\n success\n }\n }\n`;\n\n@Component({\n selector: 'vdr-scheduled-task-list',\n templateUrl: './scheduled-task-list.component.html',\n styleUrls: ['./scheduled-task-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ScheduledTaskListComponent implements OnInit {\n tasks$: Observable<GetAllScheduledTasksQuery['scheduledTasks']>;\n liveUpdate = new FormControl(true);\n\n constructor(\n private dataService: DataService,\n private notificationService: NotificationService,\n ) {}\n\n ngOnInit(): void {\n this.tasks$ = this.dataService\n .query<GetAllScheduledTasksQuery>(GET_SCHEDULED_TASKS_LIST)\n .mapStream(res => {\n return res.scheduledTasks;\n });\n }\n\n toggleEnabled(task: GetAllScheduledTasksQuery['scheduledTasks'][0]) {\n this.dataService\n .mutate<ToggleScheduledTaskEnabledMutation, ToggleScheduledTaskEnabledMutationVariables>(\n TOGGLE_SCHEDULED_TASK_ENABLED,\n {\n input: {\n id: task.id,\n enabled: !task.enabled,\n },\n },\n )\n .subscribe();\n }\n\n runTask(task: GetAllScheduledTasksQuery['scheduledTasks'][0]) {\n this.dataService\n .mutate<RunTaskMutation, RunTaskMutationVariables>(RUN_TASK, {\n id: task.id,\n })\n .subscribe(result => {\n if (result.runScheduledTask.success) {\n this.notificationService.success(_('system.task-will-be-triggered'));\n } else {\n this.notificationService.error(_('system.could-not-trigger-task'));\n }\n });\n }\n}\n","<vdr-page-header>\n <vdr-page-title></vdr-page-title>\n</vdr-page-header>\n<vdr-page-body>\n <vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left> </vdr-ab-left>\n <vdr-ab-right> </vdr-ab-right>\n </vdr-action-bar>\n </vdr-page-block>\n\n <vdr-data-table-2 id=\"scheduled-task-list\" [items]=\"tasks$ | async\">\n <vdr-dt2-column [heading]=\"'system.task-id' | translate\" id=\"task-id\" [optional]=\"false\">\n <ng-template let-task=\"item\">\n {{ task.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.description' | translate\" id=\"description\">\n <ng-template let-task=\"item\">\n {{ task.description }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.schedule' | translate\" id=\"schedule\">\n <ng-template let-task=\"item\">\n <div class=\"\">{{ task.scheduleDescription }}</div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-executed-at' | translate\" id=\"last-executed-at\">\n <ng-template let-task=\"item\">\n <span *ngIf=\"task.lastExecutedAt\" [title]=\"task.lastExecutedAt | localeDate\">\n {{ task.lastExecutedAt | timeAgo }}\n </span>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n [heading]=\"'system.next-execution-at' | translate\"\n id=\"next-execution-at\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-task=\"item\">\n {{ task.nextExecutionAt | localeDate }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'system.last-result' | translate\" id=\"last-result\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"task.lastResult\">\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\n <clr-icon shape=\"details\"></clr-icon>\n {{ 'system.last-result' | translate }}\n </button>\n <vdr-dropdown-menu>\n <div class=\"result-detail\">\n <vdr-object-tree [value]=\"task.lastResult\"></vdr-object-tree>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.enabled' | translate\" id=\"enabled\">\n <ng-template let-task=\"item\">\n <ng-container *ngIf=\"task.enabled\">\n <vdr-chip [colorType]=\"'success'\">{{ 'common.enabled' | translate }}</vdr-chip>\n </ng-container>\n <ng-container *ngIf=\"!task.enabled\">\n <vdr-chip [colorType]=\"'warning'\">{{ 'common.disabled' | translate }}</vdr-chip>\n </ng-container>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"actions\">\n <ng-template let-task=\"item\">\n <vdr-dropdown *ngIf=\"!task.isSettled && task.state !== 'FAILED'\">\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n *ngIf=\"task.enabled\"\n class=\"\"\n (click)=\"runTask(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"play\" class=\"\"></clr-icon>\n <div>\n {{ 'system.run-task' | translate }}\n </div>\n </button>\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"toggleEnabled(task)\"\n [disabled]=\"!(['UpdateSettings', 'UpdateSystem'] | hasPermission)\"\n vdrDropdownItem\n >\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\n <div *ngIf=\"task.enabled\">\n {{ 'common.disable' | translate }}\n </div>\n <div *ngIf=\"!task.enabled\">\n {{ 'common.enable' | translate }}\n </div>\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n</vdr-page-body>\n","import { Route } from '@angular/router';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\n\nimport { HealthCheckComponent } from './components/health-check/health-check.component';\nimport { JobListComponent } from './components/job-list/job-list.component';\nimport { ScheduledTaskListComponent } from './components/scheduled-tasks/scheduled-task-list.component';\n\nexport const systemRoutes: Route[] = [\n {\n path: 'jobs',\n component: JobListComponent,\n data: {\n breadcrumb: _('breadcrumb.job-queue'),\n },\n },\n {\n path: 'system-status',\n component: HealthCheckComponent,\n data: {\n breadcrumb: _('breadcrumb.system-status'),\n },\n },\n {\n path: 'scheduled-tasks',\n component: ScheduledTaskListComponent,\n data: {\n breadcrumb: _('breadcrumb.scheduled-tasks'),\n },\n },\n];\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '@vendure/admin-ui/core';\n\nimport { HealthCheckComponent } from './components/health-check/health-check.component';\nimport { JobListComponent } from './components/job-list/job-list.component';\nimport { JobStateLabelComponent } from './components/job-state-label/job-state-label.component';\nimport { ScheduledTaskListComponent } from './components/scheduled-tasks/scheduled-task-list.component';\nimport { systemRoutes } from './system.routes';\n\n@NgModule({\n declarations: [\n HealthCheckComponent,\n JobListComponent,\n JobStateLabelComponent,\n ScheduledTaskListComponent,\n ],\n imports: [SharedModule, RouterModule.forChild(systemRoutes)],\n})\nexport class SystemModule {}\n","// This file was generated by the build-public-api.ts script\nexport * from './components/health-check/health-check.component';\nexport * from './components/job-list/job-list.component';\nexport * from './components/job-state-label/job-state-label.component';\nexport * from './components/scheduled-tasks/scheduled-task-list.component';\nexport * from './system.module';\nexport * from './system.routes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i3","i1","i4","i7.JobStateLabelComponent","i8","_"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/admin-ui",
3
- "version": "3.4.3-master-202509260228",
3
+ "version": "3.5.0-minor-202510012036",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "dependencies": {
6
6
  "@angular/animations": "^19.2.4",
@@ -23,7 +23,7 @@
23
23
  "@ng-select/ng-select": "^14.2.6",
24
24
  "@ngx-translate/core": "^16.0.4",
25
25
  "@ngx-translate/http-loader": "^16.0.1",
26
- "@vendure/common": "^3.4.3-master-202509260228",
26
+ "@vendure/common": "^3.5.0-minor-202510012036",
27
27
  "@webcomponents/custom-elements": "^1.6.0",
28
28
  "apollo-angular": "^10.0.3",
29
29
  "apollo-upload-client": "^18.0.1",