@firestitch/system 12.1.0 → 12.1.1
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.
- package/app/components/api-log/api-log.component.d.ts +13 -13
- package/app/components/api-log/index.d.ts +1 -1
- package/app/components/api-logs/api-logs.component.d.ts +21 -21
- package/app/components/api-logs/index.d.ts +1 -1
- package/app/components/cron/cron.component.d.ts +24 -24
- package/app/components/cron/index.d.ts +1 -1
- package/app/components/cron-log/cron-log.component.d.ts +12 -12
- package/app/components/cron-log/index.d.ts +1 -1
- package/app/components/crons/crons.component.d.ts +36 -36
- package/app/components/crons/index.d.ts +1 -1
- package/app/components/dashboard/dashboard.component.d.ts +28 -28
- package/app/components/dashboard/index.d.ts +1 -1
- package/app/components/file-manager/file-manager.component.d.ts +17 -17
- package/app/components/file-manager/index.d.ts +1 -1
- package/app/components/info/index.d.ts +1 -1
- package/app/components/info/info.component.d.ts +11 -11
- package/app/components/process/index.d.ts +1 -1
- package/app/components/process/process.component.d.ts +16 -16
- package/app/components/processes/index.d.ts +1 -1
- package/app/components/processes/processes.component.d.ts +34 -34
- package/app/components/server-log/index.d.ts +1 -1
- package/app/components/server-log/server-log.component.d.ts +10 -10
- package/app/components/server-logs/index.d.ts +1 -1
- package/app/components/server-logs/server-logs.component.d.ts +21 -21
- package/app/components/settings/index.d.ts +1 -1
- package/app/components/settings/settings.component.d.ts +30 -30
- package/app/components/upgrade-logs/index.d.ts +1 -1
- package/app/components/upgrade-logs/upgrade-logs.component.d.ts +17 -17
- package/app/consts/api-log-states.const.d.ts +5 -5
- package/app/consts/cron-log-states.const.d.ts +6 -6
- package/app/consts/cron-states.const.d.ts +5 -5
- package/app/consts/index.d.ts +3 -3
- package/app/consts/process-states.const.d.ts +5 -5
- package/app/enums/api-log-state.enum.d.ts +5 -5
- package/app/enums/cron-log-state.enum.d.ts +13 -13
- package/app/enums/cron-state.enum.d.ts +7 -7
- package/app/enums/index.d.ts +5 -5
- package/app/enums/process-state.enum.d.ts +8 -8
- package/app/enums/setting-interface-type.enum.d.ts +13 -13
- package/app/fs-system.module.d.ts +46 -46
- package/app/helpers/index-name-value.d.ts +1 -1
- package/app/injectors/system-config.injector.d.ts +2 -2
- package/app/interfaces/dashboard-action.d.ts +5 -5
- package/app/interfaces/index.d.ts +3 -3
- package/app/interfaces/process-action.d.ts +6 -6
- package/app/interfaces/system-config.d.ts +2 -2
- package/app/pipes/key-name-value.pipe.d.ts +8 -8
- package/bundles/firestitch-system.umd.js +1507 -1507
- package/bundles/firestitch-system.umd.js.map +1 -1
- package/esm2015/app/components/api-log/api-log.component.js +38 -38
- package/esm2015/app/components/api-log/index.js +2 -2
- package/esm2015/app/components/api-logs/api-logs.component.js +72 -72
- package/esm2015/app/components/api-logs/index.js +2 -2
- package/esm2015/app/components/cron/cron.component.js +103 -103
- package/esm2015/app/components/cron/index.js +2 -2
- package/esm2015/app/components/cron-log/cron-log.component.js +41 -41
- package/esm2015/app/components/cron-log/index.js +2 -2
- package/esm2015/app/components/crons/crons.component.js +188 -188
- package/esm2015/app/components/crons/index.js +2 -2
- package/esm2015/app/components/dashboard/dashboard.component.js +91 -91
- package/esm2015/app/components/dashboard/index.js +2 -2
- package/esm2015/app/components/file-manager/file-manager.component.js +54 -54
- package/esm2015/app/components/file-manager/index.js +2 -2
- package/esm2015/app/components/info/index.js +2 -2
- package/esm2015/app/components/info/info.component.js +36 -36
- package/esm2015/app/components/process/index.js +2 -2
- package/esm2015/app/components/process/process.component.js +49 -49
- package/esm2015/app/components/processes/index.js +2 -2
- package/esm2015/app/components/processes/processes.component.js +164 -164
- package/esm2015/app/components/server-log/index.js +2 -2
- package/esm2015/app/components/server-log/server-log.component.js +42 -42
- package/esm2015/app/components/server-logs/index.js +2 -2
- package/esm2015/app/components/server-logs/server-logs.component.js +57 -57
- package/esm2015/app/components/settings/index.js +2 -2
- package/esm2015/app/components/settings/settings.component.js +132 -132
- package/esm2015/app/components/upgrade-logs/index.js +2 -2
- package/esm2015/app/components/upgrade-logs/upgrade-logs.component.js +48 -48
- package/esm2015/app/consts/api-log-states.const.js +7 -7
- package/esm2015/app/consts/cron-log-states.const.js +14 -14
- package/esm2015/app/consts/cron-states.const.js +9 -9
- package/esm2015/app/consts/index.js +4 -4
- package/esm2015/app/consts/process-states.const.js +10 -10
- package/esm2015/app/enums/api-log-state.enum.js +7 -7
- package/esm2015/app/enums/cron-log-state.enum.js +14 -14
- package/esm2015/app/enums/cron-state.enum.js +9 -9
- package/esm2015/app/enums/index.js +6 -6
- package/esm2015/app/enums/process-state.enum.js +10 -10
- package/esm2015/app/enums/setting-interface-type.enum.js +15 -15
- package/esm2015/app/fs-system.module.js +177 -177
- package/esm2015/app/helpers/index-name-value.js +8 -8
- package/esm2015/app/injectors/system-config.injector.js +3 -3
- package/esm2015/app/interfaces/dashboard-action.js +2 -2
- package/esm2015/app/interfaces/index.js +4 -4
- package/esm2015/app/interfaces/process-action.js +2 -2
- package/esm2015/app/interfaces/system-config.js +2 -2
- package/esm2015/app/pipes/key-name-value.pipe.js +21 -21
- package/esm2015/firestitch-system.js +4 -4
- package/esm2015/public_api.js +19 -19
- package/fesm2015/firestitch-system.js +1141 -1141
- package/fesm2015/firestitch-system.js.map +1 -1
- package/firestitch-system.d.ts +5 -5
- package/package.json +1 -1
- package/public_api.d.ts +20 -20
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
|
3
|
-
import { ApiLogStates } from '../../consts';
|
|
4
|
-
import { indexNameValue } from '../../helpers/index-name-value';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/material/dialog";
|
|
7
|
-
import * as i2 from "@firestitch/dialog";
|
|
8
|
-
import * as i3 from "@firestitch/label";
|
|
9
|
-
import * as i4 from "@angular/material/button";
|
|
10
|
-
import * as i5 from "@firestitch/skeleton";
|
|
11
|
-
import * as i6 from "@angular/flex-layout/flex";
|
|
12
|
-
import * as i7 from "@angular/common";
|
|
13
|
-
import * as i8 from "@firestitch/date";
|
|
14
|
-
export class ApiLogComponent {
|
|
15
|
-
constructor(_dialogRef, data) {
|
|
16
|
-
this._dialogRef = _dialogRef;
|
|
17
|
-
this.data = data;
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.apiLogStates = indexNameValue(ApiLogStates);
|
|
21
|
-
if (this.data.apiLog) {
|
|
22
|
-
this.apiLog = this.data.apiLog;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
ApiLogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
ApiLogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ApiLogComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"apiLog\">\n <div mat-dialog-title>API Log</div>\n <mat-dialog-content>\n <div fxLayout=\"column\">\n <fs-label-field>\n <fs-label>\n Type\n </fs-label>\n {{apiLog.type}}\n </fs-label-field>\n\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{apiLogStates[apiLog.state]}}\n </fs-label-field>\n\n <fs-label-field>\n <fs-label>\n Date\n </fs-label>\n {{apiLog.createDate|fsDateFormat: 'full-date-time'}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"apiLog.length\">\n <fs-label>\n Duration\n </fs-label>\n {{ apiLog.length | fsDateDuration }}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"apiLog.code\">\n <fs-label>\n Code\n </fs-label>\n {{apiLog.code}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"apiLog.message\">\n <fs-label>\n Message\n </fs-label>\n {{apiLog.message}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"apiLog.url\">\n <fs-label>\n URL\n </fs-label>\n {{apiLog.url}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"apiLog.request\">\n <fs-label>\n Request\n </fs-label>\n <pre>{{apiLog.request|json}}</pre>\n </fs-label-field>\n\n <fs-label-field *ngIf=\"apiLog.response\">\n <fs-label>\n Response\n </fs-label>\n <pre>{{apiLog.response|json}}</pre>\n </fs-label-field>\n\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">Done</button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [""], components: [{ type: i2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i3.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i3.FsLabelComponent, selector: "fs-label" }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "fsDateFormat": i8.FsDateFormatPipe, "fsDateDuration": i8.FsDateDurationPipe, "json": i7.JsonPipe } });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{
|
|
31
|
-
templateUrl: './api-log.component.html',
|
|
32
|
-
styleUrls: ['./api-log.component.scss']
|
|
33
|
-
}]
|
|
34
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
35
|
-
type: Inject,
|
|
36
|
-
args: [MAT_DIALOG_DATA]
|
|
37
|
-
}] }]; } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { ApiLogStates } from '../../consts';
|
|
4
|
+
import { indexNameValue } from '../../helpers/index-name-value';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/dialog";
|
|
7
|
+
import * as i2 from "@firestitch/dialog";
|
|
8
|
+
import * as i3 from "@firestitch/label";
|
|
9
|
+
import * as i4 from "@angular/material/button";
|
|
10
|
+
import * as i5 from "@firestitch/skeleton";
|
|
11
|
+
import * as i6 from "@angular/flex-layout/flex";
|
|
12
|
+
import * as i7 from "@angular/common";
|
|
13
|
+
import * as i8 from "@firestitch/date";
|
|
14
|
+
export class ApiLogComponent {
|
|
15
|
+
constructor(_dialogRef, data) {
|
|
16
|
+
this._dialogRef = _dialogRef;
|
|
17
|
+
this.data = data;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.apiLogStates = indexNameValue(ApiLogStates);
|
|
21
|
+
if (this.data.apiLog) {
|
|
22
|
+
this.apiLog = this.data.apiLog;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
ApiLogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
ApiLogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ApiLogComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"apiLog\">\r\n <div mat-dialog-title>API Log</div>\r\n <mat-dialog-content>\r\n <div fxLayout=\"column\">\r\n <fs-label-field>\r\n <fs-label>\r\n Type\r\n </fs-label>\r\n {{apiLog.type}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Status\r\n </fs-label>\r\n {{apiLogStates[apiLog.state]}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Date\r\n </fs-label>\r\n {{apiLog.createDate|fsDateFormat: 'full-date-time'}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"apiLog.length\">\r\n <fs-label>\r\n Duration\r\n </fs-label>\r\n {{ apiLog.length | fsDateDuration }}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"apiLog.code\">\r\n <fs-label>\r\n Code\r\n </fs-label>\r\n {{apiLog.code}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"apiLog.message\">\r\n <fs-label>\r\n Message\r\n </fs-label>\r\n {{apiLog.message}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"apiLog.url\">\r\n <fs-label>\r\n URL\r\n </fs-label>\r\n {{apiLog.url}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"apiLog.request\">\r\n <fs-label>\r\n Request\r\n </fs-label>\r\n <pre>{{apiLog.request|json}}</pre>\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"apiLog.response\">\r\n <fs-label>\r\n Response\r\n </fs-label>\r\n <pre>{{apiLog.response|json}}</pre>\r\n </fs-label-field>\r\n\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">Done</button>\r\n </mat-dialog-actions>\r\n</fs-dialog>\r\n", styles: [""], components: [{ type: i2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i3.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i3.FsLabelComponent, selector: "fs-label" }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "fsDateFormat": i8.FsDateFormatPipe, "fsDateDuration": i8.FsDateDurationPipe, "json": i7.JsonPipe } });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{
|
|
31
|
+
templateUrl: './api-log.component.html',
|
|
32
|
+
styleUrls: ['./api-log.component.scss']
|
|
33
|
+
}]
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
35
|
+
type: Inject,
|
|
36
|
+
args: [MAT_DIALOG_DATA]
|
|
37
|
+
}] }]; } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpLWxvZy9hcGktbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hcGktbG9nL2FwaS1sb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7OztBQU9oRSxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFvQixVQUF5QyxFQUNqQixJQUFJO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQStCO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQUE7SUFBRyxDQUFDO0lBRTdDLFFBQVE7UUFFYixJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVqRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDaEM7SUFDSCxDQUFDOzs2R0FmVSxlQUFlLDhDQU1OLGVBQWU7aUdBTnhCLGVBQWUsb0RDVjVCLDI0REF5RUE7NEZEL0RhLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3hDOzswQkFPYyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQXBpTG9nU3RhdGVzIH0gZnJvbSAnLi4vLi4vY29uc3RzJztcclxuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2luZGV4LW5hbWUtdmFsdWUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcGktbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcGktbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaUxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBhcGlMb2c7XHJcbiAgcHVibGljIGFwaUxvZ1N0YXRlcztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QXBpTG9nQ29tcG9uZW50PixcclxuICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGEpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmFwaUxvZ1N0YXRlcyA9IGluZGV4TmFtZVZhbHVlKEFwaUxvZ1N0YXRlcyk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5hcGlMb2cpIHtcclxuICAgICAgdGhpcy5hcGlMb2cgPSB0aGlzLmRhdGEuYXBpTG9nO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZnMtZGlhbG9nICpmc1NrZWxldG9uPVwiYXBpTG9nXCI+XHJcbiAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlPkFQSSBMb2c8L2Rpdj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICA8ZnMtbGFiZWwtZmllbGQ+XHJcbiAgICAgICAgPGZzLWxhYmVsPlxyXG4gICAgICAgICAgVHlwZVxyXG4gICAgICAgIDwvZnMtbGFiZWw+XHJcbiAgICAgICAge3thcGlMb2cudHlwZX19XHJcbiAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XHJcblxyXG4gICAgICA8ZnMtbGFiZWwtZmllbGQ+XHJcbiAgICAgICAgPGZzLWxhYmVsPlxyXG4gICAgICAgICAgU3RhdHVzXHJcbiAgICAgICAgPC9mcy1sYWJlbD5cclxuICAgICAgICB7e2FwaUxvZ1N0YXRlc1thcGlMb2cuc3RhdGVdfX1cclxuICAgICAgPC9mcy1sYWJlbC1maWVsZD5cclxuXHJcbiAgICAgIDxmcy1sYWJlbC1maWVsZD5cclxuICAgICAgICA8ZnMtbGFiZWw+XHJcbiAgICAgICAgICBEYXRlXHJcbiAgICAgICAgPC9mcy1sYWJlbD5cclxuICAgICAgICB7e2FwaUxvZy5jcmVhdGVEYXRlfGZzRGF0ZUZvcm1hdDogJ2Z1bGwtZGF0ZS10aW1lJ319XHJcbiAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XHJcblxyXG4gICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJhcGlMb2cubGVuZ3RoXCI+XHJcbiAgICAgICAgPGZzLWxhYmVsPlxyXG4gICAgICAgICAgRHVyYXRpb25cclxuICAgICAgICA8L2ZzLWxhYmVsPlxyXG4gICAgICAgIHt7IGFwaUxvZy5sZW5ndGggfCBmc0RhdGVEdXJhdGlvbiB9fVxyXG4gICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxyXG5cclxuICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwiYXBpTG9nLmNvZGVcIj5cclxuICAgICAgICA8ZnMtbGFiZWw+XHJcbiAgICAgICAgICBDb2RlXHJcbiAgICAgICAgPC9mcy1sYWJlbD5cclxuICAgICAgICB7e2FwaUxvZy5jb2RlfX1cclxuICAgICAgPC9mcy1sYWJlbC1maWVsZD5cclxuXHJcbiAgICAgIDxmcy1sYWJlbC1maWVsZCAqbmdJZj1cImFwaUxvZy5tZXNzYWdlXCI+XHJcbiAgICAgICAgPGZzLWxhYmVsPlxyXG4gICAgICAgICAgTWVzc2FnZVxyXG4gICAgICAgIDwvZnMtbGFiZWw+XHJcbiAgICAgICAge3thcGlMb2cubWVzc2FnZX19XHJcbiAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XHJcblxyXG4gICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJhcGlMb2cudXJsXCI+XHJcbiAgICAgICAgPGZzLWxhYmVsPlxyXG4gICAgICAgICAgVVJMXHJcbiAgICAgICAgPC9mcy1sYWJlbD5cclxuICAgICAgICB7e2FwaUxvZy51cmx9fVxyXG4gICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxyXG5cclxuICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwiYXBpTG9nLnJlcXVlc3RcIj5cclxuICAgICAgICA8ZnMtbGFiZWw+XHJcbiAgICAgICAgICBSZXF1ZXN0XHJcbiAgICAgICAgPC9mcy1sYWJlbD5cclxuICAgICAgICA8cHJlPnt7YXBpTG9nLnJlcXVlc3R8anNvbn19PC9wcmU+XHJcbiAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XHJcblxyXG4gICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJhcGlMb2cucmVzcG9uc2VcIj5cclxuICAgICAgICA8ZnMtbGFiZWw+XHJcbiAgICAgICAgICBSZXNwb25zZVxyXG4gICAgICAgIDwvZnMtbGFiZWw+XHJcbiAgICAgICAgPHByZT57e2FwaUxvZy5yZXNwb25zZXxqc29ufX08L3ByZT5cclxuICAgICAgPC9mcy1sYWJlbC1maWVsZD5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIiBjb2xvcj1cInByaW1hcnlcIj5Eb25lPC9idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjwvZnMtZGlhbG9nPlxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './api-log.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './api-log.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpLWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcGktbG9nLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import { Component, ViewChild, Input } from '@angular/core';
|
|
2
|
-
import { ItemType } from '@firestitch/filter';
|
|
3
|
-
import { FsListComponent } from '@firestitch/list';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
6
|
-
import { ApiLogStates } from '../../consts';
|
|
7
|
-
import { ApiLogComponent } from '../api-log/api-log.component';
|
|
8
|
-
import { indexNameValue } from '../../helpers/index-name-value';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/material/dialog";
|
|
11
|
-
import * as i2 from "@firestitch/list";
|
|
12
|
-
import * as i3 from "@firestitch/date";
|
|
13
|
-
import * as i4 from "@angular/common";
|
|
14
|
-
export class ApiLogsComponent {
|
|
15
|
-
constructor(_dialog) {
|
|
16
|
-
this._dialog = _dialog;
|
|
17
|
-
this.config = null;
|
|
18
|
-
this.apiLogStates = indexNameValue(ApiLogStates);
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
this._configList();
|
|
22
|
-
}
|
|
23
|
-
_configList() {
|
|
24
|
-
this.config = {
|
|
25
|
-
filters: [
|
|
26
|
-
{
|
|
27
|
-
type: ItemType.Keyword,
|
|
28
|
-
name: 'keyword',
|
|
29
|
-
label: 'Search'
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
type: ItemType.Select,
|
|
33
|
-
name: 'state',
|
|
34
|
-
label: 'Status',
|
|
35
|
-
values: ApiLogStates
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
name: 'createDate',
|
|
39
|
-
type: ItemType.DateRange,
|
|
40
|
-
label: ['From Date', 'To Date'],
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
fetch: query => {
|
|
44
|
-
Object.assign(query, {});
|
|
45
|
-
return this.loadApiLogs(query)
|
|
46
|
-
.pipe(map((response) => ({ data: response.data, paging: response.paging })));
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
open(apiLog) {
|
|
51
|
-
this._dialog.open(ApiLogComponent, {
|
|
52
|
-
data: { apiLog: apiLog },
|
|
53
|
-
width: '85%'
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
ApiLogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogsComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
ApiLogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ApiLogsComponent, selector: "fs-system-api-logs", inputs: { loadApiLogs: "loadApiLogs" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true, static: true }], ngImport: i0, template: "<fs-list [config]=\"config\">\n <fs-list-column>\n <ng-template fs-list-header>Name</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <a href=\"javascript:;\" (click)=\"open(row)\">{{row.type || 'Unknown'}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Message</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{row.message}}\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Status</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{apiLogStates[row.state]}}\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Date</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n <div><small *ngIf=\"row.length\">Duration: {{ row.length | fsDateDuration }}</small></div>\n </ng-template>\n </fs-list-column>\n </fs-list>\n", styles: [""], components: [{ type: i2.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i3.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], directives: [{ type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateDuration": i3.FsDateDurationPipe } });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogsComponent, decorators: [{
|
|
60
|
-
type: Component,
|
|
61
|
-
args: [{
|
|
62
|
-
selector: 'fs-system-api-logs',
|
|
63
|
-
templateUrl: './api-logs.component.html',
|
|
64
|
-
styleUrls: ['./api-logs.component.scss']
|
|
65
|
-
}]
|
|
66
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { list: [{
|
|
67
|
-
type: ViewChild,
|
|
68
|
-
args: [FsListComponent, { static: true }]
|
|
69
|
-
}], loadApiLogs: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, ViewChild, Input } from '@angular/core';
|
|
2
|
+
import { ItemType } from '@firestitch/filter';
|
|
3
|
+
import { FsListComponent } from '@firestitch/list';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
6
|
+
import { ApiLogStates } from '../../consts';
|
|
7
|
+
import { ApiLogComponent } from '../api-log/api-log.component';
|
|
8
|
+
import { indexNameValue } from '../../helpers/index-name-value';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/material/dialog";
|
|
11
|
+
import * as i2 from "@firestitch/list";
|
|
12
|
+
import * as i3 from "@firestitch/date";
|
|
13
|
+
import * as i4 from "@angular/common";
|
|
14
|
+
export class ApiLogsComponent {
|
|
15
|
+
constructor(_dialog) {
|
|
16
|
+
this._dialog = _dialog;
|
|
17
|
+
this.config = null;
|
|
18
|
+
this.apiLogStates = indexNameValue(ApiLogStates);
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this._configList();
|
|
22
|
+
}
|
|
23
|
+
_configList() {
|
|
24
|
+
this.config = {
|
|
25
|
+
filters: [
|
|
26
|
+
{
|
|
27
|
+
type: ItemType.Keyword,
|
|
28
|
+
name: 'keyword',
|
|
29
|
+
label: 'Search'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: ItemType.Select,
|
|
33
|
+
name: 'state',
|
|
34
|
+
label: 'Status',
|
|
35
|
+
values: ApiLogStates
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'createDate',
|
|
39
|
+
type: ItemType.DateRange,
|
|
40
|
+
label: ['From Date', 'To Date'],
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
fetch: query => {
|
|
44
|
+
Object.assign(query, {});
|
|
45
|
+
return this.loadApiLogs(query)
|
|
46
|
+
.pipe(map((response) => ({ data: response.data, paging: response.paging })));
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
open(apiLog) {
|
|
51
|
+
this._dialog.open(ApiLogComponent, {
|
|
52
|
+
data: { apiLog: apiLog },
|
|
53
|
+
width: '85%'
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
ApiLogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogsComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
ApiLogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ApiLogsComponent, selector: "fs-system-api-logs", inputs: { loadApiLogs: "loadApiLogs" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true, static: true }], ngImport: i0, template: "<fs-list [config]=\"config\">\r\n <fs-list-column>\r\n <ng-template fs-list-header>Name</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <a href=\"javascript:;\" (click)=\"open(row)\">{{row.type || 'Unknown'}}</a>\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column>\r\n <ng-template fs-list-header>Message</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.message}}\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column>\r\n <ng-template fs-list-header>Status</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{apiLogStates[row.state]}}\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column>\r\n <ng-template fs-list-header>Date</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\r\n <div><small *ngIf=\"row.length\">Duration: {{ row.length | fsDateDuration }}</small></div>\r\n </ng-template>\r\n </fs-list-column>\r\n </fs-list>\r\n", styles: [""], components: [{ type: i2.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i3.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], directives: [{ type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateDuration": i3.FsDateDurationPipe } });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogsComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{
|
|
62
|
+
selector: 'fs-system-api-logs',
|
|
63
|
+
templateUrl: './api-logs.component.html',
|
|
64
|
+
styleUrls: ['./api-logs.component.scss']
|
|
65
|
+
}]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { list: [{
|
|
67
|
+
type: ViewChild,
|
|
68
|
+
args: [FsListComponent, { static: true }]
|
|
69
|
+
}], loadApiLogs: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWxvZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS1sb2dzL2FwaS1sb2dzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hcGktbG9ncy9hcGktbG9ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7OztBQVNoRSxNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQ1UsT0FBa0I7UUFBbEIsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQUpyQixXQUFNLEdBQWlCLElBQUksQ0FBQztRQUM1QixpQkFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUkvQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sV0FBVztRQUVqQixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxRQUFRLENBQUMsT0FBTztvQkFDdEIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLFFBQVE7aUJBQ2hCO2dCQUNEO29CQUNFLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTTtvQkFDckIsSUFBSSxFQUFFLE9BQU87b0JBQ2IsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsTUFBTSxFQUFFLFlBQVk7aUJBQ3JCO2dCQUNEO29CQUNFLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsUUFBUSxDQUFDLFNBQVM7b0JBQ3hCLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7aUJBQ2hDO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRyxDQUFDLENBQUM7Z0JBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7cUJBQzNCLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDM0UsQ0FBQztZQUNOLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLElBQUksQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNqQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQ3hCLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBdERVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHdJQUVoQixlQUFlLDhEQ2xCNUIsdWxDQTJCQTs0RkRYYSxnQkFBZ0I7a0JBTDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLDJCQUEyQjtvQkFDeEMsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3pDO2dHQUlRLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUduQyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xyXG5pbXBvcnQgeyBGc0xpc3RDb25maWcsIEZzTGlzdENvbXBvbmVudCB9IGZyb20gJ0BmaXJlc3RpdGNoL2xpc3QnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEFwaUxvZ1N0YXRlcyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XHJcbmltcG9ydCB7IEFwaUxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FwaS1sb2cvYXBpLWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpbmRleE5hbWVWYWx1ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvaW5kZXgtbmFtZS12YWx1ZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ZzLXN5c3RlbS1hcGktbG9ncycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FwaS1sb2dzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcGktbG9ncy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlMb2dzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZChGc0xpc3RDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIFxyXG4gIHB1YmxpYyBsaXN0OiBGc0xpc3RDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpIGxvYWRBcGlMb2dzOiAoZGF0YTogYW55KSA9PiBPYnNlcnZhYmxlPHsgZGF0YTogYW55W10sIHBhZ2luZzogYW55IH0+O1xyXG5cclxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWcgPSBudWxsO1xyXG4gIHB1YmxpYyBhcGlMb2dTdGF0ZXMgPSBpbmRleE5hbWVWYWx1ZShBcGlMb2dTdGF0ZXMpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fY29uZmlnTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29uZmlnTGlzdCgpIHtcclxuXHJcbiAgICB0aGlzLmNvbmZpZyA9IHtcclxuICAgICAgZmlsdGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLktleXdvcmQsXHJcbiAgICAgICAgICBuYW1lOiAna2V5d29yZCcsXHJcbiAgICAgICAgICBsYWJlbDogJ1NlYXJjaCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLlNlbGVjdCxcclxuICAgICAgICAgIG5hbWU6ICdzdGF0ZScsXHJcbiAgICAgICAgICBsYWJlbDogJ1N0YXR1cycsXHJcbiAgICAgICAgICB2YWx1ZXM6IEFwaUxvZ1N0YXRlc1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ2NyZWF0ZURhdGUnLFxyXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxyXG4gICAgICAgICAgbGFiZWw6IFsnRnJvbSBEYXRlJywgJ1RvIERhdGUnXSxcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIGZldGNoOiBxdWVyeSA9PiB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihxdWVyeSwgeyB9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkQXBpTG9ncyhxdWVyeSlcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+ICh7IGRhdGE6IHJlc3BvbnNlLmRhdGEsIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nIH0pKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuKGFwaUxvZykge1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oQXBpTG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgYXBpTG9nOiBhcGlMb2cgfSxcclxuICAgICAgd2lkdGg6ICc4NSUnXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGZzLWxpc3QgW2NvbmZpZ109XCJjb25maWdcIj5cclxuICAgIDxmcy1saXN0LWNvbHVtbj5cclxuICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtaGVhZGVyPk5hbWU8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cIm9wZW4ocm93KVwiPnt7cm93LnR5cGUgfHwgJ1Vua25vd24nfX08L2E+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2ZzLWxpc3QtY29sdW1uPlxyXG4gICAgPGZzLWxpc3QtY29sdW1uPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5NZXNzYWdlPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgIHt7cm93Lm1lc3NhZ2V9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZnMtbGlzdC1jb2x1bW4+XHJcbiAgICA8ZnMtbGlzdC1jb2x1bW4+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5TdGF0dXM8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICB7e2FwaUxvZ1N0YXRlc1tyb3cuc3RhdGVdfX1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZnMtbGlzdC1jb2x1bW4+XHJcbiAgICA8ZnMtbGlzdC1jb2x1bW4+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5EYXRlPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgPGZzLWRhdGUtYWdvIFtkYXRlXT1cInJvdy5jcmVhdGVEYXRlXCI+PC9mcy1kYXRlLWFnbz5cclxuICAgICAgICA8ZGl2PjxzbWFsbCAqbmdJZj1cInJvdy5sZW5ndGhcIj5EdXJhdGlvbjoge3sgcm93Lmxlbmd0aCB8IGZzRGF0ZUR1cmF0aW9uIH19PC9zbWFsbD48L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZnMtbGlzdC1jb2x1bW4+XHJcbiAgPC9mcy1saXN0PlxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './api-logs.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './api-logs.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpLWxvZ3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBpLWxvZ3MuY29tcG9uZW50JztcclxuIl19
|
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
import { Component, Inject, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import { CronLogStates } from '../../consts/cron-log-states.const';
|
|
4
|
-
import { CronStates } from '../../consts';
|
|
5
|
-
import { indexNameValue } from '../../helpers/index-name-value';
|
|
6
|
-
import { CronLogComponent } from '../cron-log';
|
|
7
|
-
import { ItemType } from '@firestitch/filter';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/material/dialog";
|
|
10
|
-
import * as i2 from "@firestitch/dialog";
|
|
11
|
-
import * as i3 from "@angular/material/tabs";
|
|
12
|
-
import * as i4 from "@firestitch/label";
|
|
13
|
-
import * as i5 from "@firestitch/date";
|
|
14
|
-
import * as i6 from "@firestitch/list";
|
|
15
|
-
import * as i7 from "@angular/material/button";
|
|
16
|
-
import * as i8 from "@firestitch/skeleton";
|
|
17
|
-
import * as i9 from "@angular/common";
|
|
18
|
-
import * as i10 from "@angular/flex-layout/extended";
|
|
19
|
-
export class CronComponent {
|
|
20
|
-
constructor(_data, _dialog, _cdRef) {
|
|
21
|
-
this._data = _data;
|
|
22
|
-
this._dialog = _dialog;
|
|
23
|
-
this._cdRef = _cdRef;
|
|
24
|
-
this.tabIndex = 0;
|
|
25
|
-
this.CronStates = indexNameValue(CronStates);
|
|
26
|
-
this.CronLogStates = indexNameValue(CronLogStates);
|
|
27
|
-
this.CronLogStateColors = {};
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
this.load();
|
|
31
|
-
this.CronLogStateColors = CronLogStates
|
|
32
|
-
.reduce((accum, cronLogState) => {
|
|
33
|
-
accum[cronLogState.value] = cronLogState.color;
|
|
34
|
-
return accum;
|
|
35
|
-
}, {});
|
|
36
|
-
}
|
|
37
|
-
cronLogOpen(cronLog) {
|
|
38
|
-
this._dialog.open(CronLogComponent, {
|
|
39
|
-
data: {
|
|
40
|
-
cronLog,
|
|
41
|
-
},
|
|
42
|
-
width: '85%'
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
cronActionClick(cronAction) {
|
|
46
|
-
cronAction.action(this.cron)
|
|
47
|
-
.subscribe(() => {
|
|
48
|
-
this.load();
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
selectedIndexChange(index) {
|
|
52
|
-
this.tabIndex = index;
|
|
53
|
-
}
|
|
54
|
-
load() {
|
|
55
|
-
this._data.loadCron(this._data.cron)
|
|
56
|
-
.subscribe((cron) => {
|
|
57
|
-
this.cron = Object.assign(Object.assign({}, this._data.cron), cron);
|
|
58
|
-
if (this._data.loadCronLogs) {
|
|
59
|
-
this.config = {
|
|
60
|
-
filters: [
|
|
61
|
-
{
|
|
62
|
-
type: ItemType.Select,
|
|
63
|
-
name: 'state',
|
|
64
|
-
label: 'Status',
|
|
65
|
-
values: [
|
|
66
|
-
{ name: 'All', value: null },
|
|
67
|
-
...CronLogStates,
|
|
68
|
-
],
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
type: ItemType.DateRange,
|
|
72
|
-
name: 'date',
|
|
73
|
-
label: ['From Date', 'To Date'],
|
|
74
|
-
},
|
|
75
|
-
],
|
|
76
|
-
fetch: (query) => {
|
|
77
|
-
query = Object.assign(Object.assign({}, query), { cronId: this.cron.id });
|
|
78
|
-
return this._data.loadCronLogs(query);
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
this.cronActions = this._data.cronActions
|
|
83
|
-
.filter((cronLogAction) => {
|
|
84
|
-
return cronLogAction.show(this.cron);
|
|
85
|
-
});
|
|
86
|
-
this._cdRef.markForCheck();
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
CronComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
CronComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CronComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"cron\">\n <h1 mat-dialog-title>\n Cron\n <div class=\"small\">{{cron.name}}</div>\n </h1>\n <mat-dialog-content>\n <mat-tab-group (selectedIndexChange)=\"selectedIndexChange($event)\">\n <mat-tab label=\"Overview\">\n <div class=\"row\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{CronStates[cron.state]}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"cron.cronSetting\">\n <fs-label>\n Run Frequency\n </fs-label>\n {{cron.cronSetting.summary}}\n </fs-label-field>\n\n <fs-label-field>\n <fs-label>\n Last Ran\n </fs-label>\n <ng-container *ngIf=\"cron.duration===null; else lastRan\">\n Never\n </ng-container>\n <ng-template #lastRan>\n <fs-date-ago [date]=\"cron.createDate\"></fs-date-ago>\n <div><small *ngIf=\"cron.duration\">Duration: {{ cron.duration | fsDateDuration }}</small></div>\n </ng-template>\n </fs-label-field>\n </div>\n\n <fs-label-field *ngIf=\"cron.message\">\n <fs-label>\n Last Message\n </fs-label>\n <div class=\"message\">{{cron.message}}</div>\n </fs-label-field>\n </mat-tab>\n <mat-tab label=\"Logs\" *ngIf=\"config\">\n <ng-template matTabContent>\n <fs-list [config]=\"config\">\n <fs-list-column name=\"state\" title=\"Status\">\n <ng-template fs-list-cell let-row=\"row\">\n <a \n (click)=\"cronLogOpen(row)\"\n [ngStyle]=\"{ color: CronLogStateColors[row.state] }\">\n {{CronLogStates[row.state] || row.state}}\n </a>\n </ng-template>\n </fs-list-column>\n \n <fs-list-column title=\"Message\" class=\"col-message\">\n <ng-template fs-list-cell let-row=\"row\">\n <div class=\"message\">{{row.message}}</div>\n </ng-template>\n </fs-list-column>\n\n <fs-list-column name=\"create_date\" title=\"Date\" class=\"col-date\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n </fs-list> \n </ng-template>\n </mat-tab>\n </mat-tab-group>\n\n </mat-dialog-content>\n <mat-dialog-actions> \n <button \n mat-button \n [mat-dialog-close]=\"true\" \n color=\"primary\">\n Done\n </button>\n <ng-container *ngIf=\"tabIndex === 0\">\n <button \n *ngFor=\"let cronAction of cronActions\"\n mat-button \n (click)=\"cronActionClick(cronAction)\">\n {{cronAction.label}}\n </button> \n </ng-container>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"], components: [{ type: i2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i4.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i4.FsLabelComponent, selector: "fs-label" }, { type: i5.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { type: i6.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i8.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTabContent, selector: "[matTabContent]" }, { type: i6.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i6.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fsDateDuration": i5.FsDateDurationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronComponent, decorators: [{
|
|
93
|
-
type: Component,
|
|
94
|
-
args: [{
|
|
95
|
-
templateUrl: './cron.component.html',
|
|
96
|
-
styleUrls: ['./cron.component.scss'],
|
|
97
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
98
|
-
}]
|
|
99
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
100
|
-
type: Inject,
|
|
101
|
-
args: [MAT_DIALOG_DATA]
|
|
102
|
-
}] }, { type: i1.MatDialog }, { type: i0.ChangeDetectorRef }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY3Jvbi9jcm9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jcm9uL2Nyb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUTlDLE1BQU0sT0FBTyxhQUFhO0lBV3hCLFlBQ21DLEtBQUssRUFDOUIsT0FBa0IsRUFDbEIsTUFBeUI7UUFGQSxVQUFLLEdBQUwsS0FBSyxDQUFBO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFYNUIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO0lBUzVCLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxD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YW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0xpc3RDb25maWcgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcblxuaW1wb3J0IHsgQ3JvbkxvZ1N0YXRlcyB9IGZyb20gJy4uLy4uL2NvbnN0cy9jcm9uLWxvZy1zdGF0ZXMuY29uc3QnO1xuaW1wb3J0IHsgQ3JvblN0YXRlcyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XG5pbXBvcnQgeyBpbmRleE5hbWVWYWx1ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvaW5kZXgtbmFtZS12YWx1ZSc7XG5pbXBvcnQgeyBDcm9uTG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY3Jvbi1sb2cnO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY3Jvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nyb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENyb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBjcm9uO1xuICBwdWJsaWMgdGFiSW5kZXggPSAwO1xuICBwdWJsaWMgQ3JvblN0YXRlcyA9IGluZGV4TmFtZVZhbHVlKENyb25TdGF0ZXMpO1xuICBwdWJsaWMgQ3JvbkxvZ1N0YXRlcyA9IGluZGV4TmFtZVZhbHVlKENyb25Mb2dTdGF0ZXMpO1xuICBwdWJsaWMgQ3JvbkxvZ1N0YXRlQ29sb3JzID0ge307XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnO1xuICBwdWJsaWMgY3JvbkFjdGlvbnM7XG4gIFxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBfZGF0YSxcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkKCk7XG4gICAgdGhpcy5Dcm9uTG9nU3RhdGVDb2xvcnMgPSBDcm9uTG9nU3RhdGVzXG4gICAgLnJlZHVjZSgoYWNjdW0sIGNyb25Mb2dTdGF0ZSkgPT4ge1xuICAgICAgYWNjdW1bY3JvbkxvZ1N0YXRlLnZhbHVlXSA9IGNyb25Mb2dTdGF0ZS5jb2xvcjtcbiAgICAgIHJldHVybiBhY2N1bTtcbiAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgY3JvbkxvZ09wZW4oY3JvbkxvZyk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKENyb25Mb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgXG4gICAgICAgIGNyb25Mb2csXG4gICAgICB9LFxuICAgICAgd2lkdGg6ICc4NSUnXG4gICAgfSk7ICAgIFxuICB9XG5cbiAgcHVibGljIGNyb25BY3Rpb25DbGljayhjcm9uQWN0aW9uKSB7XG4gICAgY3JvbkFjdGlvbi5hY3Rpb24odGhpcy5jcm9uKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCkge1xuICAgIHRoaXMudGFiSW5kZXggPSBpbmRleDtcbiAgfVxuICAgIFxuICBwdWJsaWMgbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRhLmxvYWRDcm9uKHRoaXMuX2RhdGEuY3JvbilcbiAgICAuc3Vic2NyaWJlKChjcm9uKSA9PiB7XG4gICAgICB0aGlzLmNyb24gPSB7XG4gICAgICAgIC4uLnRoaXMuX2RhdGEuY3JvbixcbiAgICAgICAgLi4uY3JvbixcbiAgICAgIH07XG5cbiAgICAgIGlmKHRoaXMuX2RhdGEubG9hZENyb25Mb2dzKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogSXRlbVR5cGUuU2VsZWN0LFxuICAgICAgICAgICAgICBuYW1lOiAnc3RhdGUnLFxuICAgICAgICAgICAgICBsYWJlbDogJ1N0YXR1cycsXG4gICAgICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ0FsbCcsIHZhbHVlOiBudWxsIH0sXG4gICAgICAgICAgICAgICAgLi4uQ3JvbkxvZ1N0YXRlcyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLkRhdGVSYW5nZSxcbiAgICAgICAgICAgICAgbmFtZTogJ2RhdGUnLFxuICAgICAgICAgICAgICBsYWJlbDogWydGcm9tIERhdGUnLCAnVG8gRGF0ZSddLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLCAgICAgICAgICBcbiAgICAgICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAgICAgLi4ucXVlcnksXG4gICAgICAgICAgICAgIGNyb25JZDogdGhpcy5jcm9uLmlkLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGEubG9hZENyb25Mb2dzKHF1ZXJ5KTtcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNyb25BY3Rpb25zID0gdGhpcy5fZGF0YS5jcm9uQWN0aW9uc1xuICAgICAgLmZpbHRlcigoY3JvbkxvZ0FjdGlvbikgPT4ge1xuICAgICAgICByZXR1cm4gY3JvbkxvZ0FjdGlvbi5zaG93KHRoaXMuY3Jvbik7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxmcy1kaWFsb2cgKmZzU2tlbGV0b249XCJjcm9uXCI+XG4gIDxoMSBtYXQtZGlhbG9nLXRpdGxlPlxuICAgIENyb25cbiAgICA8ZGl2IGNsYXNzPVwic21hbGxcIj57e2Nyb24ubmFtZX19PC9kaXY+XG4gIDwvaDE+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG1hdC10YWItZ3JvdXAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIk92ZXJ2aWV3XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZnMtbGFiZWwtZmllbGQ+XG4gICAgICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgICAgIFN0YXR1c1xuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIHt7Q3JvblN0YXRlc1tjcm9uLnN0YXRlXX19XG4gICAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cblxuICAgICAgICAgIDxmcy1sYWJlbC1maWVsZCAqbmdJZj1cImNyb24uY3JvblNldHRpbmdcIj5cbiAgICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgICAgUnVuIEZyZXF1ZW5jeVxuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIHt7Y3Jvbi5jcm9uU2V0dGluZy5zdW1tYXJ5fX1cbiAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuXG4gICAgICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgICAgICBMYXN0IFJhblxuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjcm9uLmR1cmF0aW9uPT09bnVsbDsgZWxzZSBsYXN0UmFuXCI+XG4gICAgICAgICAgICAgIE5ldmVyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGFzdFJhbj5cbiAgICAgICAgICAgICAgPGZzLWRhdGUtYWdvIFtkYXRlXT1cImNyb24uY3JlYXRlRGF0ZVwiPjwvZnMtZGF0ZS1hZ28+XG4gICAgICAgICAgICAgIDxkaXY+PHNtYWxsICpuZ0lmPVwiY3Jvbi5kdXJhdGlvblwiPkR1cmF0aW9uOiB7eyBjcm9uLmR1cmF0aW9uIHwgZnNEYXRlRHVyYXRpb24gfX08L3NtYWxsPjwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJjcm9uLm1lc3NhZ2VcIj5cbiAgICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgICBMYXN0IE1lc3NhZ2VcbiAgICAgICAgICA8L2ZzLWxhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+e3tjcm9uLm1lc3NhZ2V9fTwvZGl2PlxuICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJMb2dzXCIgKm5nSWY9XCJjb25maWdcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgPGZzLWxpc3QgW2NvbmZpZ109XCJjb25maWdcIj5cbiAgICAgICAgICAgIDxmcy1saXN0LWNvbHVtbiBuYW1lPVwic3RhdGVcIiB0aXRsZT1cIlN0YXR1c1wiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8YSBcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyb25Mb2dPcGVuKHJvdylcIlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBDcm9uTG9nU3RhdGVDb2xvcnNbcm93LnN0YXRlXSB9XCI+XG4gICAgICAgICAgICAgICAgICB7e0Nyb25Mb2dTdGF0ZXNbcm93LnN0YXRlXSB8fCByb3cuc3RhdGV9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZnMtbGlzdC1jb2x1bW4+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIk1lc3NhZ2VcIiBjbGFzcz1cImNvbC1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+e3tyb3cubWVzc2FnZX19PC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2ZzLWxpc3QtY29sdW1uPlxuXG4gICAgICAgICAgICA8ZnMtbGlzdC1jb2x1bW4gbmFtZT1cImNyZWF0ZV9kYXRlXCIgdGl0bGU9XCJEYXRlXCIgY2xhc3M9XCJjb2wtZGF0ZVwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZnMtZGF0ZS1hZ28gW2RhdGVdPVwicm93LmNyZWF0ZURhdGVcIj48L2ZzLWRhdGUtYWdvPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9mcy1saXN0LWNvbHVtbj5cbiAgICAgICAgICA8L2ZzLWxpc3Q+IFxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9tYXQtdGFiPlxuICAgIDwvbWF0LXRhYi1ncm91cD5cblxuICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz4gICBcbiAgICA8YnV0dG9uIFxuICAgICAgICBtYXQtYnV0dG9uIFxuICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgRG9uZVxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWJJbmRleCA9PT0gMFwiPlxuICAgICAgPGJ1dHRvbiAgIFxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjcm9uQWN0aW9uIG9mIGNyb25BY3Rpb25zXCJcbiAgICAgICAgICBtYXQtYnV0dG9uIFxuICAgICAgICAgIChjbGljayk9XCJjcm9uQWN0aW9uQ2xpY2soY3JvbkFjdGlvbilcIj5cbiAgICAgICAge3tjcm9uQWN0aW9uLmxhYmVsfX1cbiAgICAgIDwvYnV0dG9uPiAgXG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuPC9mcy1kaWFsb2c+XG4iXX0=
|
|
1
|
+
import { Component, Inject, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import { CronLogStates } from '../../consts/cron-log-states.const';
|
|
4
|
+
import { CronStates } from '../../consts';
|
|
5
|
+
import { indexNameValue } from '../../helpers/index-name-value';
|
|
6
|
+
import { CronLogComponent } from '../cron-log';
|
|
7
|
+
import { ItemType } from '@firestitch/filter';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/material/dialog";
|
|
10
|
+
import * as i2 from "@firestitch/dialog";
|
|
11
|
+
import * as i3 from "@angular/material/tabs";
|
|
12
|
+
import * as i4 from "@firestitch/label";
|
|
13
|
+
import * as i5 from "@firestitch/date";
|
|
14
|
+
import * as i6 from "@firestitch/list";
|
|
15
|
+
import * as i7 from "@angular/material/button";
|
|
16
|
+
import * as i8 from "@firestitch/skeleton";
|
|
17
|
+
import * as i9 from "@angular/common";
|
|
18
|
+
import * as i10 from "@angular/flex-layout/extended";
|
|
19
|
+
export class CronComponent {
|
|
20
|
+
constructor(_data, _dialog, _cdRef) {
|
|
21
|
+
this._data = _data;
|
|
22
|
+
this._dialog = _dialog;
|
|
23
|
+
this._cdRef = _cdRef;
|
|
24
|
+
this.tabIndex = 0;
|
|
25
|
+
this.CronStates = indexNameValue(CronStates);
|
|
26
|
+
this.CronLogStates = indexNameValue(CronLogStates);
|
|
27
|
+
this.CronLogStateColors = {};
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.load();
|
|
31
|
+
this.CronLogStateColors = CronLogStates
|
|
32
|
+
.reduce((accum, cronLogState) => {
|
|
33
|
+
accum[cronLogState.value] = cronLogState.color;
|
|
34
|
+
return accum;
|
|
35
|
+
}, {});
|
|
36
|
+
}
|
|
37
|
+
cronLogOpen(cronLog) {
|
|
38
|
+
this._dialog.open(CronLogComponent, {
|
|
39
|
+
data: {
|
|
40
|
+
cronLog,
|
|
41
|
+
},
|
|
42
|
+
width: '85%'
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
cronActionClick(cronAction) {
|
|
46
|
+
cronAction.action(this.cron)
|
|
47
|
+
.subscribe(() => {
|
|
48
|
+
this.load();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
selectedIndexChange(index) {
|
|
52
|
+
this.tabIndex = index;
|
|
53
|
+
}
|
|
54
|
+
load() {
|
|
55
|
+
this._data.loadCron(this._data.cron)
|
|
56
|
+
.subscribe((cron) => {
|
|
57
|
+
this.cron = Object.assign(Object.assign({}, this._data.cron), cron);
|
|
58
|
+
if (this._data.loadCronLogs) {
|
|
59
|
+
this.config = {
|
|
60
|
+
filters: [
|
|
61
|
+
{
|
|
62
|
+
type: ItemType.Select,
|
|
63
|
+
name: 'state',
|
|
64
|
+
label: 'Status',
|
|
65
|
+
values: [
|
|
66
|
+
{ name: 'All', value: null },
|
|
67
|
+
...CronLogStates,
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: ItemType.DateRange,
|
|
72
|
+
name: 'date',
|
|
73
|
+
label: ['From Date', 'To Date'],
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
fetch: (query) => {
|
|
77
|
+
query = Object.assign(Object.assign({}, query), { cronId: this.cron.id });
|
|
78
|
+
return this._data.loadCronLogs(query);
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
this.cronActions = this._data.cronActions
|
|
83
|
+
.filter((cronLogAction) => {
|
|
84
|
+
return cronLogAction.show(this.cron);
|
|
85
|
+
});
|
|
86
|
+
this._cdRef.markForCheck();
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
CronComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
CronComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CronComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"cron\">\r\n <h1 mat-dialog-title>\r\n Cron\r\n <div class=\"small\">{{cron.name}}</div>\r\n </h1>\r\n <mat-dialog-content>\r\n <mat-tab-group (selectedIndexChange)=\"selectedIndexChange($event)\">\r\n <mat-tab label=\"Overview\">\r\n <div class=\"row\">\r\n <fs-label-field>\r\n <fs-label>\r\n Status\r\n </fs-label>\r\n {{CronStates[cron.state]}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"cron.cronSetting\">\r\n <fs-label>\r\n Run Frequency\r\n </fs-label>\r\n {{cron.cronSetting.summary}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Last Ran\r\n </fs-label>\r\n <ng-container *ngIf=\"cron.duration===null; else lastRan\">\r\n Never\r\n </ng-container>\r\n <ng-template #lastRan>\r\n <fs-date-ago [date]=\"cron.createDate\"></fs-date-ago>\r\n <div><small *ngIf=\"cron.duration\">Duration: {{ cron.duration | fsDateDuration }}</small></div>\r\n </ng-template>\r\n </fs-label-field>\r\n </div>\r\n\r\n <fs-label-field *ngIf=\"cron.message\">\r\n <fs-label>\r\n Last Message\r\n </fs-label>\r\n <div class=\"message\">{{cron.message}}</div>\r\n </fs-label-field>\r\n </mat-tab>\r\n <mat-tab label=\"Logs\" *ngIf=\"config\">\r\n <ng-template matTabContent>\r\n <fs-list [config]=\"config\">\r\n <fs-list-column name=\"state\" title=\"Status\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <a \r\n (click)=\"cronLogOpen(row)\"\r\n [ngStyle]=\"{ color: CronLogStateColors[row.state] }\">\r\n {{CronLogStates[row.state] || row.state}}\r\n </a>\r\n </ng-template>\r\n </fs-list-column>\r\n \r\n <fs-list-column title=\"Message\" class=\"col-message\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <div class=\"message\">{{row.message}}</div>\r\n </ng-template>\r\n </fs-list-column>\r\n\r\n <fs-list-column name=\"create_date\" title=\"Date\" class=\"col-date\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\r\n </ng-template>\r\n </fs-list-column>\r\n </fs-list> \r\n </ng-template>\r\n </mat-tab>\r\n </mat-tab-group>\r\n\r\n </mat-dialog-content>\r\n <mat-dialog-actions> \r\n <button \r\n mat-button \r\n [mat-dialog-close]=\"true\" \r\n color=\"primary\">\r\n Done\r\n </button>\r\n <ng-container *ngIf=\"tabIndex === 0\">\r\n <button \r\n *ngFor=\"let cronAction of cronActions\"\r\n mat-button \r\n (click)=\"cronActionClick(cronAction)\">\r\n {{cronAction.label}}\r\n </button> \r\n </ng-container>\r\n </mat-dialog-actions>\r\n</fs-dialog>\r\n", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"], components: [{ type: i2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i4.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i4.FsLabelComponent, selector: "fs-label" }, { type: i5.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { type: i6.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i8.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTabContent, selector: "[matTabContent]" }, { type: i6.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i6.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fsDateDuration": i5.FsDateDurationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronComponent, decorators: [{
|
|
93
|
+
type: Component,
|
|
94
|
+
args: [{
|
|
95
|
+
templateUrl: './cron.component.html',
|
|
96
|
+
styleUrls: ['./cron.component.scss'],
|
|
97
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
98
|
+
}]
|
|
99
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
100
|
+
type: Inject,
|
|
101
|
+
args: [MAT_DIALOG_DATA]
|
|
102
|
+
}] }, { type: i1.MatDialog }, { type: i0.ChangeDetectorRef }]; } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY3Jvbi9jcm9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jcm9uL2Nyb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUTlDLE1BQU0sT0FBTyxhQUFhO0lBV3hCLFlBQ21DLEtBQUssRUFDOUIsT0FBa0IsRUFDbEIsTUFBeUI7UUFGQSxVQUFLLEdBQUwsS0FBSyxDQUFBO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFYNUIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO0lBUzVCLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxD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YW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5pbXBvcnQgeyBGc0xpc3RDb25maWcgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcclxuXHJcbmltcG9ydCB7IENyb25Mb2dTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMvY3Jvbi1sb2ctc3RhdGVzLmNvbnN0JztcclxuaW1wb3J0IHsgQ3JvblN0YXRlcyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XHJcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleC1uYW1lLXZhbHVlJztcclxuaW1wb3J0IHsgQ3JvbkxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2Nyb24tbG9nJztcclxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcm9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcm9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcm9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIGNyb247XHJcbiAgcHVibGljIHRhYkluZGV4ID0gMDtcclxuICBwdWJsaWMgQ3JvblN0YXRlcyA9IGluZGV4TmFtZVZhbHVlKENyb25TdGF0ZXMpO1xyXG4gIHB1YmxpYyBDcm9uTG9nU3RhdGVzID0gaW5kZXhOYW1lVmFsdWUoQ3JvbkxvZ1N0YXRlcyk7XHJcbiAgcHVibGljIENyb25Mb2dTdGF0ZUNvbG9ycyA9IHt9O1xyXG5cclxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWc7XHJcbiAgcHVibGljIGNyb25BY3Rpb25zO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGEsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gICAgdGhpcy5Dcm9uTG9nU3RhdGVDb2xvcnMgPSBDcm9uTG9nU3RhdGVzXHJcbiAgICAucmVkdWNlKChhY2N1bSwgY3JvbkxvZ1N0YXRlKSA9PiB7XHJcbiAgICAgIGFjY3VtW2Nyb25Mb2dTdGF0ZS52YWx1ZV0gPSBjcm9uTG9nU3RhdGUuY29sb3I7XHJcbiAgICAgIHJldHVybiBhY2N1bTtcclxuICAgIH0sIHt9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcm9uTG9nT3Blbihjcm9uTG9nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihDcm9uTG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgXHJcbiAgICAgICAgY3JvbkxvZyxcclxuICAgICAgfSxcclxuICAgICAgd2lkdGg6ICc4NSUnXHJcbiAgICB9KTsgICAgXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JvbkFjdGlvbkNsaWNrKGNyb25BY3Rpb24pIHtcclxuICAgIGNyb25BY3Rpb24uYWN0aW9uKHRoaXMuY3JvbilcclxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmxvYWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgpIHtcclxuICAgIHRoaXMudGFiSW5kZXggPSBpbmRleDtcclxuICB9XHJcbiAgICBcclxuICBwdWJsaWMgbG9hZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RhdGEubG9hZENyb24odGhpcy5fZGF0YS5jcm9uKVxyXG4gICAgLnN1YnNjcmliZSgoY3JvbikgPT4ge1xyXG4gICAgICB0aGlzLmNyb24gPSB7XHJcbiAgICAgICAgLi4udGhpcy5fZGF0YS5jcm9uLFxyXG4gICAgICAgIC4uLmNyb24sXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBpZih0aGlzLl9kYXRhLmxvYWRDcm9uTG9ncykge1xyXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICAgICAgZmlsdGVyczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogSXRlbVR5cGUuU2VsZWN0LFxyXG4gICAgICAgICAgICAgIG5hbWU6ICdzdGF0ZScsXHJcbiAgICAgICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxyXG4gICAgICAgICAgICAgIHZhbHVlczogW1xyXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnQWxsJywgdmFsdWU6IG51bGwgfSxcclxuICAgICAgICAgICAgICAgIC4uLkNyb25Mb2dTdGF0ZXMsXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLkRhdGVSYW5nZSxcclxuICAgICAgICAgICAgICBuYW1lOiAnZGF0ZScsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IFsnRnJvbSBEYXRlJywgJ1RvIERhdGUnXSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sICAgICAgICAgIFxyXG4gICAgICAgICAgZmV0Y2g6IChxdWVyeSkgPT4ge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHtcclxuICAgICAgICAgICAgICAuLi5xdWVyeSxcclxuICAgICAgICAgICAgICBjcm9uSWQ6IHRoaXMuY3Jvbi5pZCxcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kYXRhLmxvYWRDcm9uTG9ncyhxdWVyeSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY3JvbkFjdGlvbnMgPSB0aGlzLl9kYXRhLmNyb25BY3Rpb25zXHJcbiAgICAgIC5maWx0ZXIoKGNyb25Mb2dBY3Rpb24pID0+IHtcclxuICAgICAgICByZXR1cm4gY3JvbkxvZ0FjdGlvbi5zaG93KHRoaXMuY3Jvbik7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGZzLWRpYWxvZyAqZnNTa2VsZXRvbj1cImNyb25cIj5cclxuICA8aDEgbWF0LWRpYWxvZy10aXRsZT5cclxuICAgIENyb25cclxuICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiPnt7Y3Jvbi5uYW1lfX08L2Rpdj5cclxuICA8L2gxPlxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8bWF0LXRhYi1ncm91cCAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJzZWxlY3RlZEluZGV4Q2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJPdmVydmlld1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxmcy1sYWJlbC1maWVsZD5cclxuICAgICAgICAgICAgPGZzLWxhYmVsPlxyXG4gICAgICAgICAgICAgIFN0YXR1c1xyXG4gICAgICAgICAgICA8L2ZzLWxhYmVsPlxyXG4gICAgICAgICAgICB7e0Nyb25TdGF0ZXNbY3Jvbi5zdGF0ZV19fVxyXG4gICAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cclxuXHJcbiAgICAgICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJjcm9uLmNyb25TZXR0aW5nXCI+XHJcbiAgICAgICAgICAgIDxmcy1sYWJlbD5cclxuICAgICAgICAgICAgICBSdW4gRnJlcXVlbmN5XHJcbiAgICAgICAgICAgIDwvZnMtbGFiZWw+XHJcbiAgICAgICAgICAgIHt7Y3Jvbi5jcm9uU2V0dGluZy5zdW1tYXJ5fX1cclxuICAgICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XHJcblxyXG4gICAgICAgICAgPGZzLWxhYmVsLWZpZWxkPlxyXG4gICAgICAgICAgICA8ZnMtbGFiZWw+XHJcbiAgICAgICAgICAgICAgTGFzdCBSYW5cclxuICAgICAgICAgICAgPC9mcy1sYWJlbD5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNyb24uZHVyYXRpb249PT1udWxsOyBlbHNlIGxhc3RSYW5cIj5cclxuICAgICAgICAgICAgICBOZXZlclxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsYXN0UmFuPlxyXG4gICAgICAgICAgICAgIDxmcy1kYXRlLWFnbyBbZGF0ZV09XCJjcm9uLmNyZWF0ZURhdGVcIj48L2ZzLWRhdGUtYWdvPlxyXG4gICAgICAgICAgICAgIDxkaXY+PHNtYWxsICpuZ0lmPVwiY3Jvbi5kdXJhdGlvblwiPkR1cmF0aW9uOiB7eyBjcm9uLmR1cmF0aW9uIHwgZnNEYXRlRHVyYXRpb24gfX08L3NtYWxsPjwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwiY3Jvbi5tZXNzYWdlXCI+XHJcbiAgICAgICAgICA8ZnMtbGFiZWw+XHJcbiAgICAgICAgICAgIExhc3QgTWVzc2FnZVxyXG4gICAgICAgICAgPC9mcy1sYWJlbD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+e3tjcm9uLm1lc3NhZ2V9fTwvZGl2PlxyXG4gICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XHJcbiAgICAgIDwvbWF0LXRhYj5cclxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJMb2dzXCIgKm5nSWY9XCJjb25maWdcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cclxuICAgICAgICAgIDxmcy1saXN0IFtjb25maWddPVwiY29uZmlnXCI+XHJcbiAgICAgICAgICAgIDxmcy1saXN0LWNvbHVtbiBuYW1lPVwic3RhdGVcIiB0aXRsZT1cIlN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGEgXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyb25Mb2dPcGVuKHJvdylcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6IENyb25Mb2dTdGF0ZUNvbG9yc1tyb3cuc3RhdGVdIH1cIj5cclxuICAgICAgICAgICAgICAgICAge3tDcm9uTG9nU3RhdGVzW3Jvdy5zdGF0ZV0gfHwgcm93LnN0YXRlfX1cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2ZzLWxpc3QtY29sdW1uPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiTWVzc2FnZVwiIGNsYXNzPVwiY29sLW1lc3NhZ2VcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+e3tyb3cubWVzc2FnZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9mcy1saXN0LWNvbHVtbj5cclxuXHJcbiAgICAgICAgICAgIDxmcy1saXN0LWNvbHVtbiBuYW1lPVwiY3JlYXRlX2RhdGVcIiB0aXRsZT1cIkRhdGVcIiBjbGFzcz1cImNvbC1kYXRlXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZnMtZGF0ZS1hZ28gW2RhdGVdPVwicm93LmNyZWF0ZURhdGVcIj48L2ZzLWRhdGUtYWdvPlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZnMtbGlzdC1jb2x1bW4+XHJcbiAgICAgICAgICA8L2ZzLWxpc3Q+IFxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbWF0LXRhYj5cclxuICAgIDwvbWF0LXRhYi1ncm91cD5cclxuXHJcbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz4gICBcclxuICAgIDxidXR0b24gXHJcbiAgICAgICAgbWF0LWJ1dHRvbiBcclxuICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgXHJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgIERvbmVcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYkluZGV4ID09PSAwXCI+XHJcbiAgICAgIDxidXR0b24gICBcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjcm9uQWN0aW9uIG9mIGNyb25BY3Rpb25zXCJcclxuICAgICAgICAgIG1hdC1idXR0b24gXHJcbiAgICAgICAgICAoY2xpY2spPVwiY3JvbkFjdGlvbkNsaWNrKGNyb25BY3Rpb24pXCI+XHJcbiAgICAgICAge3tjcm9uQWN0aW9uLmxhYmVsfX1cclxuICAgICAgPC9idXR0b24+ICBcclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG48L2ZzLWRpYWxvZz5cclxuIl19
|