@firestitch/system 9.2.2 → 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.
Files changed (126) hide show
  1. package/app/components/api-log/api-log.component.d.ts +3 -0
  2. package/app/components/api-log/index.d.ts +1 -0
  3. package/app/components/api-logs/api-logs.component.d.ts +3 -0
  4. package/app/components/api-logs/index.d.ts +1 -0
  5. package/app/components/cron/cron.component.d.ts +3 -0
  6. package/app/components/cron-log/cron-log.component.d.ts +3 -0
  7. package/app/components/crons/crons.component.d.ts +3 -0
  8. package/app/components/crons/index.d.ts +1 -0
  9. package/app/components/dashboard/dashboard.component.d.ts +3 -0
  10. package/app/components/dashboard/index.d.ts +1 -0
  11. package/app/components/file-manager/file-manager.component.d.ts +3 -0
  12. package/app/components/file-manager/index.d.ts +1 -0
  13. package/app/components/info/index.d.ts +1 -0
  14. package/app/components/info/info.component.d.ts +3 -0
  15. package/app/components/process/index.d.ts +1 -0
  16. package/app/components/process/process.component.d.ts +3 -0
  17. package/app/components/processes/index.d.ts +1 -0
  18. package/app/components/processes/processes.component.d.ts +3 -0
  19. package/app/components/server-log/index.d.ts +1 -0
  20. package/app/components/server-log/server-log.component.d.ts +3 -0
  21. package/app/components/server-logs/index.d.ts +1 -0
  22. package/app/components/server-logs/server-logs.component.d.ts +3 -0
  23. package/app/components/settings/index.d.ts +1 -0
  24. package/app/components/settings/settings.component.d.ts +3 -0
  25. package/app/components/upgrade-logs/index.d.ts +1 -0
  26. package/app/components/upgrade-logs/upgrade-logs.component.d.ts +3 -0
  27. package/app/fs-system.module.d.ts +41 -0
  28. package/app/pipes/key-name-value.pipe.d.ts +4 -0
  29. package/bundles/firestitch-system.umd.js +759 -612
  30. package/bundles/firestitch-system.umd.js.map +1 -1
  31. package/esm2015/app/components/api-log/api-log.component.js +24 -17
  32. package/esm2015/app/components/api-log/index.js +2 -0
  33. package/esm2015/app/components/api-logs/api-logs.component.js +23 -24
  34. package/esm2015/app/components/api-logs/index.js +2 -0
  35. package/esm2015/app/components/cron/cron.component.js +28 -21
  36. package/esm2015/app/components/cron/index.js +1 -1
  37. package/esm2015/app/components/cron-log/cron-log.component.js +24 -16
  38. package/esm2015/app/components/cron-log/index.js +1 -1
  39. package/esm2015/app/components/crons/crons.component.js +40 -58
  40. package/esm2015/app/components/crons/index.js +2 -0
  41. package/esm2015/app/components/dashboard/dashboard.component.js +37 -39
  42. package/esm2015/app/components/dashboard/index.js +2 -0
  43. package/esm2015/app/components/file-manager/file-manager.component.js +27 -37
  44. package/esm2015/app/components/file-manager/index.js +2 -0
  45. package/esm2015/app/components/info/index.js +2 -0
  46. package/esm2015/app/components/info/info.component.js +20 -21
  47. package/esm2015/app/components/process/index.js +2 -0
  48. package/esm2015/app/components/process/process.component.js +24 -17
  49. package/esm2015/app/components/processes/index.js +2 -0
  50. package/esm2015/app/components/processes/processes.component.js +36 -50
  51. package/esm2015/app/components/server-log/index.js +2 -0
  52. package/esm2015/app/components/server-log/server-log.component.js +24 -16
  53. package/esm2015/app/components/server-logs/index.js +2 -0
  54. package/esm2015/app/components/server-logs/server-logs.component.js +22 -24
  55. package/esm2015/app/components/settings/index.js +2 -0
  56. package/esm2015/app/components/settings/settings.component.js +40 -40
  57. package/esm2015/app/components/upgrade-logs/index.js +2 -0
  58. package/esm2015/app/components/upgrade-logs/upgrade-logs.component.js +21 -20
  59. package/esm2015/app/consts/api-log-states.const.js +1 -1
  60. package/esm2015/app/consts/cron-log-states.const.js +1 -1
  61. package/esm2015/app/consts/cron-states.const.js +1 -1
  62. package/esm2015/app/consts/index.js +1 -1
  63. package/esm2015/app/consts/process-states.const.js +1 -1
  64. package/esm2015/app/enums/api-log-state.enum.js +1 -1
  65. package/esm2015/app/enums/cron-log-state.enum.js +1 -1
  66. package/esm2015/app/enums/cron-state.enum.js +1 -1
  67. package/esm2015/app/enums/index.js +1 -1
  68. package/esm2015/app/enums/process-state.enum.js +1 -1
  69. package/esm2015/app/enums/setting-interface-type.enum.js +1 -1
  70. package/esm2015/app/fs-system.module.js +109 -41
  71. package/esm2015/app/helpers/index-name-value.js +1 -1
  72. package/esm2015/app/injectors/system-config.injector.js +1 -1
  73. package/esm2015/app/interfaces/dashboard-action.js +2 -1
  74. package/esm2015/app/interfaces/index.js +4 -1
  75. package/esm2015/app/interfaces/process-action.js +2 -1
  76. package/esm2015/app/interfaces/system-config.js +2 -1
  77. package/esm2015/app/pipes/key-name-value.pipe.js +15 -11
  78. package/esm2015/firestitch-system.js +1 -16
  79. package/esm2015/public_api.js +16 -1
  80. package/fesm2015/firestitch-system.js +427 -415
  81. package/fesm2015/firestitch-system.js.map +1 -1
  82. package/firestitch-system.d.ts +1 -15
  83. package/package.json +5 -9
  84. package/public_api.d.ts +15 -0
  85. package/bundles/firestitch-system.umd.min.js +0 -16
  86. package/bundles/firestitch-system.umd.min.js.map +0 -1
  87. package/esm5/app/components/api-log/api-log.component.js +0 -32
  88. package/esm5/app/components/api-logs/api-logs.component.js +0 -75
  89. package/esm5/app/components/cron/cron.component.js +0 -98
  90. package/esm5/app/components/cron/index.js +0 -2
  91. package/esm5/app/components/cron-log/cron-log.component.js +0 -34
  92. package/esm5/app/components/cron-log/index.js +0 -2
  93. package/esm5/app/components/crons/crons.component.js +0 -209
  94. package/esm5/app/components/dashboard/dashboard.component.js +0 -98
  95. package/esm5/app/components/file-manager/file-manager.component.js +0 -67
  96. package/esm5/app/components/info/info.component.js +0 -41
  97. package/esm5/app/components/process/process.component.js +0 -44
  98. package/esm5/app/components/processes/processes.component.js +0 -180
  99. package/esm5/app/components/server-log/server-log.component.js +0 -35
  100. package/esm5/app/components/server-logs/server-logs.component.js +0 -61
  101. package/esm5/app/components/settings/settings.component.js +0 -136
  102. package/esm5/app/components/upgrade-logs/upgrade-logs.component.js +0 -49
  103. package/esm5/app/consts/api-log-states.const.js +0 -7
  104. package/esm5/app/consts/cron-log-states.const.js +0 -15
  105. package/esm5/app/consts/cron-states.const.js +0 -9
  106. package/esm5/app/consts/index.js +0 -4
  107. package/esm5/app/consts/process-states.const.js +0 -10
  108. package/esm5/app/enums/api-log-state.enum.js +0 -7
  109. package/esm5/app/enums/cron-log-state.enum.js +0 -15
  110. package/esm5/app/enums/cron-state.enum.js +0 -9
  111. package/esm5/app/enums/index.js +0 -6
  112. package/esm5/app/enums/process-state.enum.js +0 -10
  113. package/esm5/app/enums/setting-interface-type.enum.js +0 -15
  114. package/esm5/app/fs-system.module.js +0 -113
  115. package/esm5/app/helpers/index-name-value.js +0 -8
  116. package/esm5/app/injectors/system-config.injector.js +0 -3
  117. package/esm5/app/interfaces/dashboard-action.js +0 -1
  118. package/esm5/app/interfaces/index.js +0 -1
  119. package/esm5/app/interfaces/process-action.js +0 -1
  120. package/esm5/app/interfaces/system-config.js +0 -1
  121. package/esm5/app/pipes/key-name-value.pipe.js +0 -20
  122. package/esm5/firestitch-system.js +0 -20
  123. package/esm5/public_api.js +0 -5
  124. package/fesm5/firestitch-system.js +0 -1286
  125. package/fesm5/firestitch-system.js.map +0 -1
  126. package/firestitch-system.metadata.json +0 -1
@@ -1,40 +1,64 @@
1
- import { __decorate, __metadata, __param } from 'tslib';
2
- import { InjectionToken, ChangeDetectorRef, Input, Component, ChangeDetectionStrategy, Inject, ViewChild, EventEmitter, Output, Pipe, Injectable, ElementRef, NgModule } from '@angular/core';
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, Component, ChangeDetectionStrategy, Input, Inject, ViewChild, Pipe, Injectable, EventEmitter, Output, NgModule } from '@angular/core';
3
+ import * as i9 from '@angular/common';
3
4
  import { CommonModule } from '@angular/common';
5
+ import * as i15 from '@angular/forms';
4
6
  import { FormsModule } from '@angular/forms';
7
+ import * as i7 from '@angular/material/form-field';
5
8
  import { MatFormFieldModule } from '@angular/material/form-field';
9
+ import * as i4$3 from '@angular/material/expansion';
6
10
  import { MatExpansionModule } from '@angular/material/expansion';
11
+ import * as i14 from '@angular/material/input';
7
12
  import { MatInputModule } from '@angular/material/input';
13
+ import * as i8 from '@angular/material/select';
8
14
  import { MatSelectModule } from '@angular/material/select';
9
- import { MAT_DIALOG_DATA, MatDialog, MatDialogRef, MatDialogModule } from '@angular/material/dialog';
15
+ import * as i1$1 from '@angular/material/dialog';
16
+ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
17
+ import * as i11 from '@angular/material/tooltip';
10
18
  import { MatTooltipModule } from '@angular/material/tooltip';
19
+ import * as i6 from '@angular/material/icon';
11
20
  import { MatIconModule } from '@angular/material/icon';
12
21
  import { FlexLayoutModule } from '@angular/flex-layout';
22
+ import * as i4 from '@angular/material/button';
13
23
  import { MatButtonModule } from '@angular/material/button';
24
+ import * as i4$2 from '@firestitch/date';
14
25
  import { parse, FsDateModule } from '@firestitch/date';
26
+ import * as i10$1 from '@firestitch/datepicker';
15
27
  import { FsDatePickerModule } from '@firestitch/datepicker';
28
+ import * as i5 from '@firestitch/skeleton';
16
29
  import { FsSkeletonModule } from '@firestitch/skeleton';
30
+ import * as i3$1 from '@firestitch/list';
17
31
  import { FsListComponent, FsListModule } from '@firestitch/list';
32
+ import * as i1$2 from '@firestitch/file-manager';
18
33
  import { FsFileManagerModule } from '@firestitch/file-manager';
34
+ import * as i2$2 from '@firestitch/dialog';
19
35
  import { FsDialogModule } from '@firestitch/dialog';
36
+ import * as i2$1 from '@firestitch/label';
20
37
  import { FsLabelModule } from '@firestitch/label';
38
+ import * as i11$1 from '@firestitch/file';
21
39
  import { FsFileModule } from '@firestitch/file';
40
+ import * as i4$1 from '@firestitch/menu';
22
41
  import { FsMenuModule } from '@firestitch/menu';
23
- import { FsMessage } from '@firestitch/message';
24
- import { FsBuildService } from '@firestitch/build';
42
+ import * as i1 from '@firestitch/message';
43
+ import * as i2 from '@firestitch/build';
25
44
  import { takeUntil, map, tap } from 'rxjs/operators';
26
45
  import { Subject } from 'rxjs';
27
46
  import { differenceInMinutes } from 'date-fns';
47
+ import * as i6$1 from '@angular/flex-layout/flex';
48
+ import * as i10 from '@angular/flex-layout/extended';
28
49
  import { ItemType } from '@firestitch/filter';
50
+ import * as i3 from '@angular/material/tabs';
51
+ import { MatTabsModule } from '@angular/material/tabs';
29
52
  import { SelectionActionType } from '@firestitch/selection';
30
- import { FsPrompt } from '@firestitch/prompt';
53
+ import * as i3$2 from '@firestitch/prompt';
31
54
  import { groupBy, reduce } from 'lodash-es';
32
- import { ClipboardService, ClipboardModule } from 'ngx-clipboard';
33
- import { MatTabsModule } from '@angular/material/tabs';
55
+ import * as i2$3 from 'ngx-clipboard';
56
+ import { ClipboardModule } from 'ngx-clipboard';
57
+ import * as i9$1 from '@angular/material/core';
34
58
 
35
59
  const FS_SYSTEM_CONFIG = new InjectionToken('fs-system-config');
36
60
 
37
- let DashboardComponent = class DashboardComponent {
61
+ class DashboardComponent {
38
62
  constructor(_message, _cdRef, _buildService) {
39
63
  this._message = _message;
40
64
  this._cdRef = _cdRef;
@@ -85,39 +109,26 @@ let DashboardComponent = class DashboardComponent {
85
109
  this._message.success('Successfully upgraded the system');
86
110
  });
87
111
  }
88
- };
89
- DashboardComponent.ctorParameters = () => [
90
- { type: FsMessage },
91
- { type: ChangeDetectorRef },
92
- { type: FsBuildService }
93
- ];
94
- __decorate([
95
- Input(),
96
- __metadata("design:type", Function)
97
- ], DashboardComponent.prototype, "init", void 0);
98
- __decorate([
99
- Input(),
100
- __metadata("design:type", Function)
101
- ], DashboardComponent.prototype, "upgrade", void 0);
102
- __decorate([
103
- Input(),
104
- __metadata("design:type", Function)
105
- ], DashboardComponent.prototype, "load", void 0);
106
- __decorate([
107
- Input(),
108
- __metadata("design:type", Array)
109
- ], DashboardComponent.prototype, "actions", void 0);
110
- DashboardComponent = __decorate([
111
- Component({
112
- selector: 'fs-system-dashboard',
113
- template: "<div *fsSkeleton=\"dashboard\">\r\n\r\n <div class=\"h2-container\">\r\n\r\n <div class=\"actions\">\r\n <h2>Actions</h2>\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxLayout.xs=\"column\">\r\n <button mat-raised-button (click)=\"upgradeClick()\">Run Upgrades</button>\r\n <button mat-raised-button (click)=\"initClick()\">Init System</button>\r\n\r\n <button\r\n *ngFor=\"let action of buttonActions\"\r\n mat-raised-button\r\n (click)=\"actionClick(action)\">\r\n {{action.label}}\r\n </button>\r\n\r\n <ng-container *ngIf=\"menuActions.length\">\r\n\r\n <fs-menu buttonClass=\"mat-raised-button menu-button\">\r\n <ng-template\r\n *ngFor=\"let action of menuActions\"\r\n fs-menu-item\r\n (click)=\"actionClick(action)\">\r\n {{action.label}}\r\n </ng-template>\r\n </fs-menu>\r\n\r\n\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n fxLayout=\"row wrap\"\r\n fxLayout.xs=\"column\"\r\n fxLayoutGap.xs=\"0px\"\r\n fxLayoutAlign=\"start start\"\r\n fxLayoutGap=\"50px\">\r\n\r\n <div>\r\n <h2>Server</h2>\r\n\r\n <fs-label-field>\r\n <fs-label>Date/Time</fs-label>\r\n {{dashboard.serverTime | fsDateFormat: 'date-time'}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Timezone</fs-label>\r\n {{dashboard.serverTimezone}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Hostname</fs-label>\r\n {{dashboard.serverHostname}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Directory</fs-label>\r\n {{dashboard.appDirectory}}\r\n </fs-label-field>\r\n </div>\r\n\r\n <div>\r\n <h2>System</h2>\r\n <fs-label-field>\r\n <fs-label>Mode</fs-label>\r\n {{dashboard.appMode}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Notification Recipients</fs-label>\r\n {{dashboard.notifyRecipients.join(', ')}}\r\n </fs-label-field>\r\n </div>\r\n\r\n <div>\r\n <h2>Database</h2>\r\n\r\n <fs-label-field>\r\n <fs-label>Name</fs-label>\r\n {{dashboard.databaseName}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Date/Time</fs-label>\r\n {{dashboard.databaseTime | fsDateFormat: 'date-time'}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Timezone</fs-label>\r\n {{dashboard.databaseTimezone}}\r\n </fs-label-field>\r\n </div>\r\n\r\n <div *ngIf=\"build || dashboard.upgrades.length\">\r\n <h2>Build</h2>\r\n\r\n <ng-container *ngIf=\"build\">\r\n <fs-label-field>\r\n <fs-label>Version</fs-label>\r\n {{build.version}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Date</fs-label>\r\n {{ build.date | fsDateFormat: 'date-time' }}\r\n </fs-label-field>\r\n </ng-container>\r\n\r\n <fs-label-field *ngIf=\"dashboard.upgrades.length\">\r\n <fs-label>Pending Upgrades</fs-label>\r\n <span class=\"attention\" [ngClass]=\"{ 'needs-attention': !!dashboard.upgrades.length }\">\r\n {{dashboard.upgrades.length}}\r\n <mat-icon\r\n [matTooltip]=\"dashboard.upgrades.join('\\n')\"\r\n matTooltipClass=\"tooltip-pending-upgrades\"\r\n >\r\n warning\r\n </mat-icon>\r\n </span>\r\n </fs-label-field>\r\n </div>\r\n\r\n <div>\r\n <h2>Cron</h2>\r\n\r\n <fs-label-field>\r\n <fs-label>Last Ran</fs-label>\r\n <span class=\"attention\" [ngClass]=\"{ 'needs-attention': dashboard.cronRanAttention }\">\r\n <span *ngIf=\"!dashboard.cronRan\">Never</span>\r\n <span *ngIf=\"dashboard.cronRan\">{{dashboard.cronRan | fsDateFormat: 'date-time'}}</span>\r\n <mat-icon>warning</mat-icon>\r\n </span>\r\n </fs-label-field>\r\n </div>\r\n </div>\r\n</div>\r\n",
114
- changeDetection: ChangeDetectionStrategy.OnPush,
115
- styles: [".actions{margin-bottom:1.25em}table td{padding:3px}.attention{display:flex;align-items:center}.attention mat-icon{display:none;margin-left:2px}.attention.needs-attention{color:#c00}.attention.needs-attention mat-icon{display:inline}::ng-deep .tooltip-pending-upgrades{white-space:pre-line}@media (max-width:600px){:host ::ng-deep .menu-button{width:100%;border-radius:4px}}@media (min-width:600px){:host ::ng-deep .menu-button{box-shadow:none}}"]
116
- }),
117
- __metadata("design:paramtypes", [FsMessage,
118
- ChangeDetectorRef,
119
- FsBuildService])
120
- ], DashboardComponent);
112
+ }
113
+ DashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DashboardComponent, deps: [{ token: i1.FsMessage }, { token: i0.ChangeDetectorRef }, { token: i2.FsBuildService }], target: i0.ɵɵFactoryTarget.Component });
114
+ DashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DashboardComponent, selector: "fs-system-dashboard", inputs: { init: "init", upgrade: "upgrade", load: "load", actions: "actions" }, ngImport: i0, template: "<div *fsSkeleton=\"dashboard\">\r\n\r\n <div class=\"h2-container\">\r\n\r\n <div class=\"actions\">\r\n <h2>Actions</h2>\r\n <div fxLayout=\"row\" fxLayoutGap=\"5px\" fxLayout.xs=\"column\">\r\n <button mat-raised-button (click)=\"upgradeClick()\">Run Upgrades</button>\r\n <button mat-raised-button (click)=\"initClick()\">Init System</button>\r\n\r\n <button\r\n *ngFor=\"let action of buttonActions\"\r\n mat-raised-button\r\n (click)=\"actionClick(action)\">\r\n {{action.label}}\r\n </button>\r\n\r\n <ng-container *ngIf=\"menuActions.length\">\r\n\r\n <fs-menu buttonClass=\"mat-raised-button menu-button\">\r\n <ng-template\r\n *ngFor=\"let action of menuActions\"\r\n fs-menu-item\r\n (click)=\"actionClick(action)\">\r\n {{action.label}}\r\n </ng-template>\r\n </fs-menu>\r\n\r\n\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n fxLayout=\"row wrap\"\r\n fxLayout.xs=\"column\"\r\n fxLayoutGap.xs=\"0px\"\r\n fxLayoutAlign=\"start start\"\r\n fxLayoutGap=\"50px\">\r\n\r\n <div>\r\n <h2>Server</h2>\r\n\r\n <fs-label-field>\r\n <fs-label>Date/Time</fs-label>\r\n {{dashboard.serverTime | fsDateFormat: 'date-time'}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Timezone</fs-label>\r\n {{dashboard.serverTimezone}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Hostname</fs-label>\r\n {{dashboard.serverHostname}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Directory</fs-label>\r\n {{dashboard.appDirectory}}\r\n </fs-label-field>\r\n </div>\r\n\r\n <div>\r\n <h2>System</h2>\r\n <fs-label-field>\r\n <fs-label>Mode</fs-label>\r\n {{dashboard.appMode}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Notification Recipients</fs-label>\r\n {{dashboard.notifyRecipients.join(', ')}}\r\n </fs-label-field>\r\n </div>\r\n\r\n <div>\r\n <h2>Database</h2>\r\n\r\n <fs-label-field>\r\n <fs-label>Name</fs-label>\r\n {{dashboard.databaseName}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Date/Time</fs-label>\r\n {{dashboard.databaseTime | fsDateFormat: 'date-time'}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Timezone</fs-label>\r\n {{dashboard.databaseTimezone}}\r\n </fs-label-field>\r\n </div>\r\n\r\n <div *ngIf=\"build || dashboard.upgrades.length\">\r\n <h2>Build</h2>\r\n\r\n <ng-container *ngIf=\"build\">\r\n <fs-label-field>\r\n <fs-label>Version</fs-label>\r\n {{build.version}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>Date</fs-label>\r\n {{ build.date | fsDateFormat: 'date-time' }}\r\n </fs-label-field>\r\n </ng-container>\r\n\r\n <fs-label-field *ngIf=\"dashboard.upgrades.length\">\r\n <fs-label>Pending Upgrades</fs-label>\r\n <span class=\"attention\" [ngClass]=\"{ 'needs-attention': !!dashboard.upgrades.length }\">\r\n {{dashboard.upgrades.length}}\r\n <mat-icon\r\n [matTooltip]=\"dashboard.upgrades.join('\\n')\"\r\n matTooltipClass=\"tooltip-pending-upgrades\"\r\n >\r\n warning\r\n </mat-icon>\r\n </span>\r\n </fs-label-field>\r\n </div>\r\n\r\n <div>\r\n <h2>Cron</h2>\r\n\r\n <fs-label-field>\r\n <fs-label>Last Ran</fs-label>\r\n <span class=\"attention\" [ngClass]=\"{ 'needs-attention': dashboard.cronRanAttention }\">\r\n <span *ngIf=\"!dashboard.cronRan\">Never</span>\r\n <span *ngIf=\"dashboard.cronRan\">{{dashboard.cronRan | fsDateFormat: 'date-time'}}</span>\r\n <mat-icon>warning</mat-icon>\r\n </span>\r\n </fs-label-field>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".actions{margin-bottom:1.25em}table td{padding:3px}.attention{display:flex;align-items:center}.attention mat-icon{display:none;margin-left:2px}.attention.needs-attention{color:#c00}.attention.needs-attention mat-icon{display:inline}::ng-deep .tooltip-pending-upgrades{white-space:pre-line}@media (max-width: 600px){:host ::ng-deep .menu-button{width:100%;border-radius:4px}}@media (min-width: 600px){:host ::ng-deep .menu-button{box-shadow:none}}\n"], components: [{ 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"] }, { type: i4$1.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass"], outputs: ["opened", "closed"] }, { type: i2$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i2$1.FsLabelComponent, selector: "fs-label" }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i6$1.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: i6$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]", inputs: ["fsClass", "class", "id", "label", "hidden", "groupHidden", "dismissAfterClick", "link", "target", "queryParams"], outputs: ["click"] }, { type: i6$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "fsDateFormat": i4$2.FsDateFormatPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DashboardComponent, decorators: [{
116
+ type: Component,
117
+ args: [{
118
+ selector: 'fs-system-dashboard',
119
+ templateUrl: 'dashboard.component.html',
120
+ styleUrls: ['dashboard.component.scss'],
121
+ changeDetection: ChangeDetectionStrategy.OnPush,
122
+ }]
123
+ }], ctorParameters: function () { return [{ type: i1.FsMessage }, { type: i0.ChangeDetectorRef }, { type: i2.FsBuildService }]; }, propDecorators: { init: [{
124
+ type: Input
125
+ }], upgrade: [{
126
+ type: Input
127
+ }], load: [{
128
+ type: Input
129
+ }], actions: [{
130
+ type: Input
131
+ }] } });
121
132
 
122
133
  function indexNameValue(arry) {
123
134
  const obj = {};
@@ -220,7 +231,7 @@ const ProcessStates = [
220
231
  { name: 'Deleted', value: ProcessState.Deleted }
221
232
  ];
222
233
 
223
- let CronLogComponent = class CronLogComponent {
234
+ class CronLogComponent {
224
235
  constructor(_data) {
225
236
  this._data = _data;
226
237
  this.CronLogStates = indexNameValue(CronLogStates);
@@ -234,20 +245,21 @@ let CronLogComponent = class CronLogComponent {
234
245
  return accum;
235
246
  }, {});
236
247
  }
237
- };
238
- CronLogComponent.ctorParameters = () => [
239
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
240
- ];
241
- CronLogComponent = __decorate([
242
- Component({
243
- template: "<fs-dialog *fsSkeleton=\"cronLog\">\r\n <div mat-dialog-title>Cron Log</div>\r\n <mat-dialog-content>\r\n <div class=\"row\">\r\n <fs-label-field>\r\n <fs-label>\r\n Status\r\n </fs-label>\r\n <div [ngStyle]=\"{ color: CronLogStateColors[cronLog.state]}\">\r\n {{CronLogStates[cronLog.state] || cronLog.state}}\r\n </div>\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 <fs-date-ago [date]=\"cronLog.createDate\"></fs-date-ago>\r\n </fs-label-field>\r\n </div>\r\n \r\n <fs-label-field *ngIf=\"cronLog.message\">\r\n <fs-label>\r\n Message\r\n </fs-label>\r\n <div class=\"message\">\r\n {{cronLog.message}}\r\n </div>\r\n </fs-label-field>\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",
244
- styles: [".message{white-space:pre-line}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}"]
245
- }),
246
- __param(0, Inject(MAT_DIALOG_DATA)),
247
- __metadata("design:paramtypes", [Object])
248
- ], CronLogComponent);
248
+ }
249
+ CronLogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronLogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
250
+ CronLogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CronLogComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"cronLog\">\r\n <div mat-dialog-title>Cron Log</div>\r\n <mat-dialog-content>\r\n <div class=\"row\">\r\n <fs-label-field>\r\n <fs-label>\r\n Status\r\n </fs-label>\r\n <div [ngStyle]=\"{ color: CronLogStateColors[cronLog.state]}\">\r\n {{CronLogStates[cronLog.state] || cronLog.state}}\r\n </div>\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 <fs-date-ago [date]=\"cronLog.createDate\"></fs-date-ago>\r\n </fs-label-field>\r\n </div>\r\n \r\n <fs-label-field *ngIf=\"cronLog.message\">\r\n <fs-label>\r\n Message\r\n </fs-label>\r\n <div class=\"message\">\r\n {{cronLog.message}}\r\n </div>\r\n </fs-label-field>\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: [".message{white-space:pre-line}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}\n"], components: [{ type: i2$2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i2$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i2$1.FsLabelComponent, selector: "fs-label" }, { type: i4$2.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { 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$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { 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: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronLogComponent, decorators: [{
252
+ type: Component,
253
+ args: [{
254
+ templateUrl: './cron-log.component.html',
255
+ styleUrls: ['./cron-log.component.scss']
256
+ }]
257
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
258
+ type: Inject,
259
+ args: [MAT_DIALOG_DATA]
260
+ }] }]; } });
249
261
 
250
- let CronComponent = class CronComponent {
262
+ class CronComponent {
251
263
  constructor(_data, _dialog, _cdRef) {
252
264
  this._data = _data;
253
265
  this._dialog = _dialog;
@@ -317,24 +329,22 @@ let CronComponent = class CronComponent {
317
329
  this._cdRef.markForCheck();
318
330
  });
319
331
  }
320
- };
321
- CronComponent.ctorParameters = () => [
322
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
323
- { type: MatDialog },
324
- { type: ChangeDetectorRef }
325
- ];
326
- CronComponent = __decorate([
327
- Component({
328
- 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",
329
- changeDetection: ChangeDetectionStrategy.OnPush,
330
- 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}"]
331
- }),
332
- __param(0, Inject(MAT_DIALOG_DATA)),
333
- __metadata("design:paramtypes", [Object, MatDialog,
334
- ChangeDetectorRef])
335
- ], CronComponent);
332
+ }
333
+ CronComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$1.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
334
+ 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$2.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: i2$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i2$1.FsLabelComponent, selector: "fs-label" }, { type: i4$2.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { type: i3$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { 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$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTabContent, selector: "[matTabContent]" }, { type: i3$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i3$1.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$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$1.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": i4$2.FsDateDurationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronComponent, decorators: [{
336
+ type: Component,
337
+ args: [{
338
+ templateUrl: './cron.component.html',
339
+ styleUrls: ['./cron.component.scss'],
340
+ changeDetection: ChangeDetectionStrategy.OnPush,
341
+ }]
342
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
343
+ type: Inject,
344
+ args: [MAT_DIALOG_DATA]
345
+ }] }, { type: i1$1.MatDialog }, { type: i0.ChangeDetectorRef }]; } });
336
346
 
337
- let CronsComponent = class CronsComponent {
347
+ class CronsComponent {
338
348
  constructor(_message, _dialog) {
339
349
  this._message = _message;
340
350
  this._dialog = _dialog;
@@ -472,62 +482,59 @@ let CronsComponent = class CronsComponent {
472
482
  },
473
483
  ];
474
484
  }
475
- };
476
- CronsComponent.ctorParameters = () => [
477
- { type: FsMessage },
478
- { type: MatDialog }
479
- ];
480
- __decorate([
481
- ViewChild(FsListComponent, { static: true }),
482
- __metadata("design:type", FsListComponent)
483
- ], CronsComponent.prototype, "list", void 0);
484
- __decorate([
485
- Input(),
486
- __metadata("design:type", Function)
487
- ], CronsComponent.prototype, "enable", void 0);
488
- __decorate([
489
- Input(),
490
- __metadata("design:type", Function)
491
- ], CronsComponent.prototype, "disable", void 0);
492
- __decorate([
493
- Input(),
494
- __metadata("design:type", Function)
495
- ], CronsComponent.prototype, "kill", void 0);
496
- __decorate([
497
- Input(),
498
- __metadata("design:type", Function)
499
- ], CronsComponent.prototype, "queue", void 0);
500
- __decorate([
501
- Input(),
502
- __metadata("design:type", Function)
503
- ], CronsComponent.prototype, "run", void 0);
504
- __decorate([
505
- Input(),
506
- __metadata("design:type", Function)
507
- ], CronsComponent.prototype, "loadCrons", void 0);
508
- __decorate([
509
- Input(),
510
- __metadata("design:type", Function)
511
- ], CronsComponent.prototype, "loadCron", void 0);
512
- __decorate([
513
- Input(),
514
- __metadata("design:type", Function)
515
- ], CronsComponent.prototype, "loadCronLogs", void 0);
516
- __decorate([
517
- Input(),
518
- __metadata("design:type", Function)
519
- ], CronsComponent.prototype, "bulk", void 0);
520
- CronsComponent = __decorate([
521
- Component({
522
- selector: 'fs-system-crons',
523
- 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 (click)=\"open(row)\">{{row.name}}</a>\r\n <div *ngIf=\"row.cronSetting\">\r\n <small>{{row.cronSetting.summary}}</small>\r\n </div>\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 {{cronStates[row.state]}}\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column>\r\n <ng-template fs-list-header>Last Ran</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <ng-container *ngIf=\"row.duration===null; else lastRan\">\r\n Never\r\n </ng-container>\r\n <ng-template #lastRan>\r\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\r\n <div><small *ngIf=\"row.duration\">Duration: {{ row.duration | fsDateDuration }}</small></div>\r\n </ng-template>\r\n </ng-template>\r\n </fs-list-column>\r\n</fs-list>\r\n",
524
- styles: [""]
525
- }),
526
- __metadata("design:paramtypes", [FsMessage,
527
- MatDialog])
528
- ], CronsComponent);
485
+ }
486
+ CronsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronsComponent, deps: [{ token: i1.FsMessage }, { token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
487
+ CronsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CronsComponent, selector: "fs-system-crons", inputs: { enable: "enable", disable: "disable", kill: "kill", queue: "queue", run: "run", loadCrons: "loadCrons", loadCron: "loadCron", loadCronLogs: "loadCronLogs", bulk: "bulk" }, 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 (click)=\"open(row)\">{{row.name}}</a>\r\n <div *ngIf=\"row.cronSetting\">\r\n <small>{{row.cronSetting.summary}}</small>\r\n </div>\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 {{cronStates[row.state]}}\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column>\r\n <ng-template fs-list-header>Last Ran</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <ng-container *ngIf=\"row.duration===null; else lastRan\">\r\n Never\r\n </ng-container>\r\n <ng-template #lastRan>\r\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\r\n <div><small *ngIf=\"row.duration\">Duration: {{ row.duration | fsDateDuration }}</small></div>\r\n </ng-template>\r\n </ng-template>\r\n </fs-list-column>\r\n</fs-list>\r\n", styles: [""], components: [{ type: i3$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i4$2.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], directives: [{ type: i3$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i3$1.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { type: i3$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateDuration": i4$2.FsDateDurationPipe } });
488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CronsComponent, decorators: [{
489
+ type: Component,
490
+ args: [{
491
+ selector: 'fs-system-crons',
492
+ templateUrl: './crons.component.html',
493
+ styleUrls: ['./crons.component.scss'],
494
+ }]
495
+ }], ctorParameters: function () { return [{ type: i1.FsMessage }, { type: i1$1.MatDialog }]; }, propDecorators: { list: [{
496
+ type: ViewChild,
497
+ args: [FsListComponent, { static: true }]
498
+ }], enable: [{
499
+ type: Input
500
+ }], disable: [{
501
+ type: Input
502
+ }], kill: [{
503
+ type: Input
504
+ }], queue: [{
505
+ type: Input
506
+ }], run: [{
507
+ type: Input
508
+ }], loadCrons: [{
509
+ type: Input
510
+ }], loadCron: [{
511
+ type: Input
512
+ }], loadCronLogs: [{
513
+ type: Input
514
+ }], bulk: [{
515
+ type: Input
516
+ }] } });
529
517
 
530
- let SettingsComponent = class SettingsComponent {
518
+ class KeyNameValuePipe {
519
+ transform(values) {
520
+ return Object.keys(values).map((key) => {
521
+ return { value: key, name: values[key] };
522
+ });
523
+ }
524
+ }
525
+ KeyNameValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeyNameValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
526
+ KeyNameValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeyNameValuePipe, name: "keyNameValue" });
527
+ KeyNameValuePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeyNameValuePipe });
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeyNameValuePipe, decorators: [{
529
+ type: Pipe,
530
+ args: [{
531
+ name: 'keyNameValue'
532
+ }]
533
+ }, {
534
+ type: Injectable
535
+ }] });
536
+
537
+ class SettingsComponent {
531
538
  constructor(_message, _clipboardService, _prompt, _cdRef) {
532
539
  this._message = _message;
533
540
  this._clipboardService = _clipboardService;
@@ -614,43 +621,28 @@ let SettingsComponent = class SettingsComponent {
614
621
  this._message.success('Changes Saved');
615
622
  });
616
623
  }
617
- };
618
- SettingsComponent.ctorParameters = () => [
619
- { type: FsMessage },
620
- { type: ClipboardService },
621
- { type: FsPrompt },
622
- { type: ChangeDetectorRef }
623
- ];
624
- __decorate([
625
- Input(),
626
- __metadata("design:type", Function)
627
- ], SettingsComponent.prototype, "loadSettings", void 0);
628
- __decorate([
629
- Input(),
630
- __metadata("design:type", Function)
631
- ], SettingsComponent.prototype, "save", void 0);
632
- __decorate([
633
- Output(),
634
- __metadata("design:type", Object)
635
- ], SettingsComponent.prototype, "fileRemove", void 0);
636
- __decorate([
637
- Output(),
638
- __metadata("design:type", Object)
639
- ], SettingsComponent.prototype, "fileSelect", void 0);
640
- SettingsComponent = __decorate([
641
- Component({
642
- selector: 'fs-system-settings',
643
- template: "\r\n<mat-accordion>\r\n <mat-expansion-panel hideToggle *ngFor=\"let group of groups\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"title-row\">\r\n <div class=\"title\">{{group || 'General'}}</div>\r\n <div class=\"actions\">\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Export ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"export($event, groupedSettings[group])\">\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Import ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"import($event, group)\">\r\n <mat-icon>cloud_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div hideToggle *ngFor=\"let setting of groupedSettings[group]\">\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\"\r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.InputBox\">\r\n <input\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Textarea\">\r\n <textarea\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n </textarea>\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Select || setting.interfaceType===SettingInterfaceType.SelectMultiple\">\r\n <mat-select\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [multiple]=\"setting.interfaceType===SettingInterfaceType.SelectMultiple\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-option *ngFor=\"let item of setting.values | keyNameValue\" [value]=\"item.value\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Date\">\r\n <input\r\n matInput\r\n fsDatePicker\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Time\">\r\n <input\r\n matInput\r\n fsTimePicker\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <fs-file-picker\r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.File\"\r\n [allowRemove]=\"true\"\r\n [allowDownload]=\"true\"\r\n (select)=\"fileSelect.emit({ setting: setting, file: $event.file })\"\r\n (remove)=\"fileRemove.emit(setting)\"\r\n [url]=\"setting.value\">\r\n <div fsFileLabel>{{setting.label}}</div>\r\n </fs-file-picker>\r\n </div>\r\n\r\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"saveGroup(group)\">Save</button>\r\n\r\n </mat-expansion-panel>\r\n\r\n</mat-accordion>\r\n",
644
- changeDetection: ChangeDetectionStrategy.OnPush,
645
- styles: [".mat-expansion-panel-header{font-size:19px}.full-width{width:100%}.title-row{flex-direction:row;box-sizing:border-box;display:flex;place-content:center flex-start;align-items:center;width:100%}.title-row .title{display:flex;flex:1}:host ::ng-deep .mat-expansion-panel-header-title{margin:0}:host ::ng-deep .mat-expansion-panel .actions{display:none}:host ::ng-deep .mat-expansion-panel.mat-expanded .actions{display:block}"]
646
- }),
647
- __metadata("design:paramtypes", [FsMessage,
648
- ClipboardService,
649
- FsPrompt,
650
- ChangeDetectorRef])
651
- ], SettingsComponent);
624
+ }
625
+ SettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SettingsComponent, deps: [{ token: i1.FsMessage }, { token: i2$3.ClipboardService }, { token: i3$2.FsPrompt }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
626
+ SettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SettingsComponent, selector: "fs-system-settings", inputs: { loadSettings: "loadSettings", save: "save" }, outputs: { fileRemove: "fileRemove", fileSelect: "fileSelect" }, ngImport: i0, template: "\r\n<mat-accordion>\r\n <mat-expansion-panel hideToggle *ngFor=\"let group of groups\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"title-row\">\r\n <div class=\"title\">{{group || 'General'}}</div>\r\n <div class=\"actions\">\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Export ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"export($event, groupedSettings[group])\">\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Import ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"import($event, group)\">\r\n <mat-icon>cloud_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div hideToggle *ngFor=\"let setting of groupedSettings[group]\">\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\"\r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.InputBox\">\r\n <input\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Textarea\">\r\n <textarea\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n </textarea>\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Select || setting.interfaceType===SettingInterfaceType.SelectMultiple\">\r\n <mat-select\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [multiple]=\"setting.interfaceType===SettingInterfaceType.SelectMultiple\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-option *ngFor=\"let item of setting.values | keyNameValue\" [value]=\"item.value\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Date\">\r\n <input\r\n matInput\r\n fsDatePicker\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Time\">\r\n <input\r\n matInput\r\n fsTimePicker\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <fs-file-picker\r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.File\"\r\n [allowRemove]=\"true\"\r\n [allowDownload]=\"true\"\r\n (select)=\"fileSelect.emit({ setting: setting, file: $event.file })\"\r\n (remove)=\"fileRemove.emit(setting)\"\r\n [url]=\"setting.value\">\r\n <div fsFileLabel>{{setting.label}}</div>\r\n </fs-file-picker>\r\n </div>\r\n\r\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"saveGroup(group)\">Save</button>\r\n\r\n </mat-expansion-panel>\r\n\r\n</mat-accordion>\r\n", styles: [".mat-expansion-panel-header{font-size:19px}.full-width{width:100%}.title-row{flex-direction:row;box-sizing:border-box;display:flex;place-content:center flex-start;align-items:center;width:100%}.title-row .title{display:flex;flex:1}:host ::ng-deep .mat-expansion-panel-header-title{margin:0}:host ::ng-deep .mat-expansion-panel .actions{display:none}:host ::ng-deep .mat-expansion-panel.mat-expanded .actions{display:block}\n"], components: [{ type: i4$3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i4$3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { 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"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i9$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i10$1.FsDatePickerComponent, selector: "[fsDatePicker]", inputs: ["minYear", "maxYear", "minDate", "maxDate", "startOfDay", "view", "format", "minutes"], outputs: ["change"] }, { type: i10$1.FsTimePickerComponent, selector: "[fsTimePicker]", inputs: ["view"] }, { type: i11$1.FsFilePickerComponent, selector: "fs-file-picker", inputs: ["imageWidth", "imageHeight", "imageQuality", "showFilename", "url", "file", "accept", "disabled", "width", "height", "previewWidth", "previewHeight", "allowDownload", "allowReupload", "allowRemove"], outputs: ["select", "remove"] }], directives: [{ type: i4$3.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i15.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "keyNameValue": KeyNameValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SettingsComponent, decorators: [{
628
+ type: Component,
629
+ args: [{
630
+ selector: 'fs-system-settings',
631
+ templateUrl: './settings.component.html',
632
+ styleUrls: ['./settings.component.scss'],
633
+ changeDetection: ChangeDetectionStrategy.OnPush,
634
+ }]
635
+ }], ctorParameters: function () { return [{ type: i1.FsMessage }, { type: i2$3.ClipboardService }, { type: i3$2.FsPrompt }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { loadSettings: [{
636
+ type: Input
637
+ }], save: [{
638
+ type: Input
639
+ }], fileRemove: [{
640
+ type: Output
641
+ }], fileSelect: [{
642
+ type: Output
643
+ }] } });
652
644
 
653
- let FileManagerComponent = class FileManagerComponent {
645
+ class FileManagerComponent {
654
646
  constructor() { }
655
647
  ngOnInit() {
656
648
  this._configFileManager();
@@ -677,55 +669,31 @@ let FileManagerComponent = class FileManagerComponent {
677
669
  }
678
670
  };
679
671
  }
680
- };
681
- __decorate([
682
- Input(),
683
- __metadata("design:type", Function)
684
- ], FileManagerComponent.prototype, "fetch", void 0);
685
- __decorate([
686
- Input(),
687
- __metadata("design:type", Function)
688
- ], FileManagerComponent.prototype, "deleteFile", void 0);
689
- __decorate([
690
- Input(),
691
- __metadata("design:type", Function)
692
- ], FileManagerComponent.prototype, "deleteDirectory", void 0);
693
- __decorate([
694
- Input(),
695
- __metadata("design:type", Function)
696
- ], FileManagerComponent.prototype, "createDirectory", void 0);
697
- __decorate([
698
- Input(),
699
- __metadata("design:type", Function)
700
- ], FileManagerComponent.prototype, "download", void 0);
701
- __decorate([
702
- Input(),
703
- __metadata("design:type", Function)
704
- ], FileManagerComponent.prototype, "upload", void 0);
705
- FileManagerComponent = __decorate([
706
- Component({
707
- selector: 'fs-system-file-manager',
708
- template: "<fs-file-manager [config]=\"config\"></fs-file-manager>",
709
- styles: [""]
710
- }),
711
- __metadata("design:paramtypes", [])
712
- ], FileManagerComponent);
672
+ }
673
+ FileManagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FileManagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
674
+ FileManagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FileManagerComponent, selector: "fs-system-file-manager", inputs: { fetch: "fetch", deleteFile: "deleteFile", deleteDirectory: "deleteDirectory", createDirectory: "createDirectory", download: "download", upload: "upload" }, ngImport: i0, template: "<fs-file-manager [config]=\"config\"></fs-file-manager>", styles: [""], components: [{ type: i1$2.FsFileManagerComponent, selector: "fs-file-manager", inputs: ["config"] }] });
675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FileManagerComponent, decorators: [{
676
+ type: Component,
677
+ args: [{
678
+ selector: 'fs-system-file-manager',
679
+ templateUrl: './file-manager.component.html',
680
+ styleUrls: ['./file-manager.component.scss']
681
+ }]
682
+ }], ctorParameters: function () { return []; }, propDecorators: { fetch: [{
683
+ type: Input
684
+ }], deleteFile: [{
685
+ type: Input
686
+ }], deleteDirectory: [{
687
+ type: Input
688
+ }], createDirectory: [{
689
+ type: Input
690
+ }], download: [{
691
+ type: Input
692
+ }], upload: [{
693
+ type: Input
694
+ }] } });
713
695
 
714
- let KeyNameValuePipe = class KeyNameValuePipe {
715
- transform(values) {
716
- return Object.keys(values).map((key) => {
717
- return { value: key, name: values[key] };
718
- });
719
- }
720
- };
721
- KeyNameValuePipe = __decorate([
722
- Pipe({
723
- name: 'keyNameValue'
724
- }),
725
- Injectable()
726
- ], KeyNameValuePipe);
727
-
728
- let ProcessComponent = class ProcessComponent {
696
+ class ProcessComponent {
729
697
  constructor(_dialogRef, data) {
730
698
  this._dialogRef = _dialogRef;
731
699
  this.data = data;
@@ -746,21 +714,21 @@ let ProcessComponent = class ProcessComponent {
746
714
  this.process = process;
747
715
  });
748
716
  }
749
- };
750
- ProcessComponent.ctorParameters = () => [
751
- { type: MatDialogRef },
752
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
753
- ];
754
- ProcessComponent = __decorate([
755
- Component({
756
- template: "<fs-dialog *fsSkeleton=\"process\">\r\n <div mat-dialog-title>Process</div>\r\n <mat-dialog-content>\r\n <div fxLayout=\"column\">\r\n <fs-label-field>\r\n <fs-label>\r\n Name\r\n </fs-label>\r\n {{process.prettyName}}\r\n </fs-label-field>\r\n\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\">\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Status\r\n </fs-label>\r\n {{ProcessStates[process.state]}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.notify\">\r\n <fs-label>\r\n Notification Email\r\n </fs-label>\r\n {{process.notify}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.pid\">\r\n <fs-label>\r\n PID\r\n </fs-label>\r\n {{process.pid}}\r\n </fs-label-field>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\">\r\n <fs-label-field>\r\n <fs-label>\r\n Create Date\r\n </fs-label>\r\n {{ process.createDate | fsDateFormat: 'date-time' }}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.startDate\">\r\n <fs-label>\r\n Start Date\r\n </fs-label>\r\n {{ process.startDate | fsDateFormat: 'date-time' }}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.endDate\">\r\n <fs-label>\r\n Complete Date\r\n </fs-label>\r\n {{ process.endDate | fsDateFormat: 'date-time' }}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.duration\">\r\n <fs-label>\r\n Duration\r\n </fs-label>\r\n {{ process.duration | fsDateDuration: {hours: true, minutes: true, seconds: true} }}\r\n </fs-label-field>\r\n </div>\r\n\r\n <fs-label-field *ngIf=\"process.message\">\r\n <fs-label>\r\n Message\r\n </fs-label>\r\n {{process.message}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.log\" class=\"log\">\r\n <fs-label>\r\n Log\r\n </fs-label>{{process.log}}\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 <button\r\n *ngIf=\"process.state===ProcessState.Running && data.loadProcess\"\r\n mat-button\r\n (click)=\"load()\">\r\n Reload\r\n </button>\r\n </mat-dialog-actions>\r\n</fs-dialog>\r\n",
757
- styles: [":host ::ng-deep .log .field-content{white-space:pre-wrap;font-family:monospace;font-size:14px}"]
758
- }),
759
- __param(1, Inject(MAT_DIALOG_DATA)),
760
- __metadata("design:paramtypes", [MatDialogRef, Object])
761
- ], ProcessComponent);
717
+ }
718
+ ProcessComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProcessComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
719
+ ProcessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ProcessComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"process\">\r\n <div mat-dialog-title>Process</div>\r\n <mat-dialog-content>\r\n <div fxLayout=\"column\">\r\n <fs-label-field>\r\n <fs-label>\r\n Name\r\n </fs-label>\r\n {{process.prettyName}}\r\n </fs-label-field>\r\n\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\">\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Status\r\n </fs-label>\r\n {{ProcessStates[process.state]}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.notify\">\r\n <fs-label>\r\n Notification Email\r\n </fs-label>\r\n {{process.notify}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.pid\">\r\n <fs-label>\r\n PID\r\n </fs-label>\r\n {{process.pid}}\r\n </fs-label-field>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\">\r\n <fs-label-field>\r\n <fs-label>\r\n Create Date\r\n </fs-label>\r\n {{ process.createDate | fsDateFormat: 'date-time' }}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.startDate\">\r\n <fs-label>\r\n Start Date\r\n </fs-label>\r\n {{ process.startDate | fsDateFormat: 'date-time' }}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.endDate\">\r\n <fs-label>\r\n Complete Date\r\n </fs-label>\r\n {{ process.endDate | fsDateFormat: 'date-time' }}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.duration\">\r\n <fs-label>\r\n Duration\r\n </fs-label>\r\n {{ process.duration | fsDateDuration: {hours: true, minutes: true, seconds: true} }}\r\n </fs-label-field>\r\n </div>\r\n\r\n <fs-label-field *ngIf=\"process.message\">\r\n <fs-label>\r\n Message\r\n </fs-label>\r\n {{process.message}}\r\n </fs-label-field>\r\n\r\n <fs-label-field *ngIf=\"process.log\" class=\"log\">\r\n <fs-label>\r\n Log\r\n </fs-label>{{process.log}}\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 <button\r\n *ngIf=\"process.state===ProcessState.Running && data.loadProcess\"\r\n mat-button\r\n (click)=\"load()\">\r\n Reload\r\n </button>\r\n </mat-dialog-actions>\r\n</fs-dialog>\r\n", styles: [":host ::ng-deep .log .field-content{white-space:pre-wrap;font-family:monospace;font-size:14px}\n"], components: [{ type: i2$2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i2$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i2$1.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$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6$1.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: i6$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "fsDateFormat": i4$2.FsDateFormatPipe, "fsDateDuration": i4$2.FsDateDurationPipe } });
720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProcessComponent, decorators: [{
721
+ type: Component,
722
+ args: [{
723
+ templateUrl: './process.component.html',
724
+ styleUrls: ['./process.component.scss']
725
+ }]
726
+ }], ctorParameters: function () { return [{ type: i1$1.MatDialogRef }, { type: undefined, decorators: [{
727
+ type: Inject,
728
+ args: [MAT_DIALOG_DATA]
729
+ }] }]; } });
762
730
 
763
- let ProcessesComponent = class ProcessesComponent {
731
+ class ProcessesComponent {
764
732
  constructor(_dialog, _message) {
765
733
  this._dialog = _dialog;
766
734
  this._message = _message;
@@ -878,54 +846,36 @@ let ProcessesComponent = class ProcessesComponent {
878
846
  this._destroy$.next();
879
847
  this._destroy$.complete();
880
848
  }
881
- };
882
- ProcessesComponent.ctorParameters = () => [
883
- { type: MatDialog },
884
- { type: FsMessage }
885
- ];
886
- __decorate([
887
- ViewChild(FsListComponent),
888
- __metadata("design:type", FsListComponent)
889
- ], ProcessesComponent.prototype, "list", void 0);
890
- __decorate([
891
- Input(),
892
- __metadata("design:type", Function)
893
- ], ProcessesComponent.prototype, "loadProcesses", void 0);
894
- __decorate([
895
- Input(),
896
- __metadata("design:type", Function)
897
- ], ProcessesComponent.prototype, "loadProcess", void 0);
898
- __decorate([
899
- Input(),
900
- __metadata("design:type", Function)
901
- ], ProcessesComponent.prototype, "run", void 0);
902
- __decorate([
903
- Input(),
904
- __metadata("design:type", Function)
905
- ], ProcessesComponent.prototype, "kill", void 0);
906
- __decorate([
907
- Input(),
908
- __metadata("design:type", Function)
909
- ], ProcessesComponent.prototype, "delete", void 0);
910
- __decorate([
911
- Input(),
912
- __metadata("design:type", Function)
913
- ], ProcessesComponent.prototype, "download", void 0);
914
- __decorate([
915
- Input(),
916
- __metadata("design:type", Array)
917
- ], ProcessesComponent.prototype, "actions", void 0);
918
- ProcessesComponent = __decorate([
919
- Component({
920
- selector: 'fs-system-processes',
921
- 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 (click)=\"open(row)\">{{row.prettyName}}</a>\r\n </ng-template>\r\n </fs-list-column>\r\n\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 {{ProcessStates[row.state]}}\r\n <small>\r\n <div *ngIf=\"row.state===ProcessState.Running && row.percent\">Complete: {{ row.percent }}%</div>\r\n <div *ngIf=\"row.state===ProcessState.Completed && row.filename\">Download: <a href=\"javascript:;\" (click)=\"download(row)\">{{ row.filename }}</a></div>\r\n <div *ngIf=\"row.pid\">PID: {{ row.pid }}</div>\r\n <div *ngIf=\"row.state===ProcessState.Running && row.notify\">Notify: {{ row.notify }}</div>\r\n </small>\r\n </ng-template>\r\n </fs-list-column>\r\n\r\n <fs-list-column>\r\n <ng-template fs-list-header>Duration</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{ row.duration | fsDateDuration: {hours: true, minutes: true, seconds: true} }}\r\n </ng-template>\r\n </fs-list-column>\r\n\r\n\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\r\n <fs-list-column>\r\n <ng-template fs-list-header>Completed</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <fs-date-ago [date]=\"row.endDate\"></fs-date-ago>\r\n </ng-template>\r\n </fs-list-column>\r\n</fs-list>\r\n",
922
- styles: [""]
923
- }),
924
- __metadata("design:paramtypes", [MatDialog,
925
- FsMessage])
926
- ], ProcessesComponent);
849
+ }
850
+ ProcessesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProcessesComponent, deps: [{ token: i1$1.MatDialog }, { token: i1.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
851
+ ProcessesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ProcessesComponent, selector: "fs-system-processes", inputs: { loadProcesses: "loadProcesses", loadProcess: "loadProcess", run: "run", kill: "kill", delete: "delete", download: "download", actions: "actions" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: 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 (click)=\"open(row)\">{{row.prettyName}}</a>\r\n </ng-template>\r\n </fs-list-column>\r\n\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 {{ProcessStates[row.state]}}\r\n <small>\r\n <div *ngIf=\"row.state===ProcessState.Running && row.percent\">Complete: {{ row.percent }}%</div>\r\n <div *ngIf=\"row.state===ProcessState.Completed && row.filename\">Download: <a href=\"javascript:;\" (click)=\"download(row)\">{{ row.filename }}</a></div>\r\n <div *ngIf=\"row.pid\">PID: {{ row.pid }}</div>\r\n <div *ngIf=\"row.state===ProcessState.Running && row.notify\">Notify: {{ row.notify }}</div>\r\n </small>\r\n </ng-template>\r\n </fs-list-column>\r\n\r\n <fs-list-column>\r\n <ng-template fs-list-header>Duration</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{ row.duration | fsDateDuration: {hours: true, minutes: true, seconds: true} }}\r\n </ng-template>\r\n </fs-list-column>\r\n\r\n\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\r\n <fs-list-column>\r\n <ng-template fs-list-header>Completed</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n <fs-date-ago [date]=\"row.endDate\"></fs-date-ago>\r\n </ng-template>\r\n </fs-list-column>\r\n</fs-list>\r\n", styles: [""], components: [{ type: i3$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i4$2.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], directives: [{ type: i3$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i3$1.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { type: i3$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateDuration": i4$2.FsDateDurationPipe } });
852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProcessesComponent, decorators: [{
853
+ type: Component,
854
+ args: [{
855
+ selector: 'fs-system-processes',
856
+ templateUrl: './processes.component.html',
857
+ styleUrls: ['./processes.component.scss']
858
+ }]
859
+ }], ctorParameters: function () { return [{ type: i1$1.MatDialog }, { type: i1.FsMessage }]; }, propDecorators: { list: [{
860
+ type: ViewChild,
861
+ args: [FsListComponent]
862
+ }], loadProcesses: [{
863
+ type: Input
864
+ }], loadProcess: [{
865
+ type: Input
866
+ }], run: [{
867
+ type: Input
868
+ }], kill: [{
869
+ type: Input
870
+ }], delete: [{
871
+ type: Input
872
+ }], download: [{
873
+ type: Input
874
+ }], actions: [{
875
+ type: Input
876
+ }] } });
927
877
 
928
- let ServerLogComponent = class ServerLogComponent {
878
+ class ServerLogComponent {
929
879
  constructor(data) {
930
880
  this.data = data;
931
881
  }
@@ -942,20 +892,21 @@ let ServerLogComponent = class ServerLogComponent {
942
892
  catch (e) { }
943
893
  }
944
894
  }
945
- };
946
- ServerLogComponent.ctorParameters = () => [
947
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
948
- ];
949
- ServerLogComponent = __decorate([
950
- Component({
951
- template: "<fs-dialog *fsSkeleton=\"log\">\r\n <div mat-dialog-title>Log</div>\r\n <mat-dialog-content>\r\n <div fxLayout=\"column\">\r\n <fs-label-field>\r\n <fs-label>\r\n Error Type\r\n </fs-label>\r\n {{log.type}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Message\r\n </fs-label>\r\n {{log.message}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n URL\r\n </fs-label>\r\n {{log.url}}\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 {{log.createDate|fsDateFormat: 'full-date-time'}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n File\r\n </fs-label>\r\n {{log.file}} @ {{log.line}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Backtrace\r\n </fs-label>\r\n <pre>{{log.backtrace|json}}</pre>\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n $_SERVER\r\n </fs-label>\r\n <pre>{{log.server|json}}</pre>\r\n </fs-label-field>\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",
952
- styles: [""]
953
- }),
954
- __param(0, Inject(MAT_DIALOG_DATA)),
955
- __metadata("design:paramtypes", [Object])
956
- ], ServerLogComponent);
895
+ }
896
+ ServerLogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServerLogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
897
+ ServerLogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ServerLogComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"log\">\r\n <div mat-dialog-title>Log</div>\r\n <mat-dialog-content>\r\n <div fxLayout=\"column\">\r\n <fs-label-field>\r\n <fs-label>\r\n Error Type\r\n </fs-label>\r\n {{log.type}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Message\r\n </fs-label>\r\n {{log.message}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n URL\r\n </fs-label>\r\n {{log.url}}\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 {{log.createDate|fsDateFormat: 'full-date-time'}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n File\r\n </fs-label>\r\n {{log.file}} @ {{log.line}}\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n Backtrace\r\n </fs-label>\r\n <pre>{{log.backtrace|json}}</pre>\r\n </fs-label-field>\r\n\r\n <fs-label-field>\r\n <fs-label>\r\n $_SERVER\r\n </fs-label>\r\n <pre>{{log.server|json}}</pre>\r\n </fs-label-field>\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$2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i2$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i2$1.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$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6$1.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: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "fsDateFormat": i4$2.FsDateFormatPipe, "json": i9.JsonPipe } });
898
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServerLogComponent, decorators: [{
899
+ type: Component,
900
+ args: [{
901
+ templateUrl: './server-log.component.html',
902
+ styleUrls: ['./server-log.component.scss']
903
+ }]
904
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
905
+ type: Inject,
906
+ args: [MAT_DIALOG_DATA]
907
+ }] }]; } });
957
908
 
958
- let ServerLogsComponent = class ServerLogsComponent {
909
+ class ServerLogsComponent {
959
910
  constructor(_dialog) {
960
911
  this._dialog = _dialog;
961
912
  this.config = null;
@@ -985,28 +936,24 @@ let ServerLogsComponent = class ServerLogsComponent {
985
936
  width: '85%'
986
937
  });
987
938
  }
988
- };
989
- ServerLogsComponent.ctorParameters = () => [
990
- { type: MatDialog }
991
- ];
992
- __decorate([
993
- ViewChild('list', { static: true }),
994
- __metadata("design:type", FsListComponent)
995
- ], ServerLogsComponent.prototype, "list", void 0);
996
- __decorate([
997
- Input(),
998
- __metadata("design:type", Function)
999
- ], ServerLogsComponent.prototype, "loadLogs", void 0);
1000
- ServerLogsComponent = __decorate([
1001
- Component({
1002
- selector: 'fs-system-server-logs',
1003
- template: "<fs-list [config]=\"config\">\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 <a href=\"javascript:;\" (click)=\"open(row)\">{{row.message}}</a>\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column>\r\n <ng-template fs-list-header>Type</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.type}}\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 </ng-template>\r\n </fs-list-column>\r\n </fs-list>\r\n",
1004
- styles: [""]
1005
- }),
1006
- __metadata("design:paramtypes", [MatDialog])
1007
- ], ServerLogsComponent);
939
+ }
940
+ ServerLogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServerLogsComponent, deps: [{ token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
941
+ ServerLogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ServerLogsComponent, selector: "fs-system-server-logs", inputs: { loadLogs: "loadLogs" }, viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }], ngImport: i0, template: "<fs-list [config]=\"config\">\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 <a href=\"javascript:;\" (click)=\"open(row)\">{{row.message}}</a>\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column>\r\n <ng-template fs-list-header>Type</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.type}}\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 </ng-template>\r\n </fs-list-column>\r\n </fs-list>\r\n", styles: [""], components: [{ type: i3$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i4$2.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], directives: [{ type: i3$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i3$1.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { type: i3$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }] });
942
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServerLogsComponent, decorators: [{
943
+ type: Component,
944
+ args: [{
945
+ selector: 'fs-system-server-logs',
946
+ templateUrl: './server-logs.component.html',
947
+ styleUrls: ['./server-logs.component.scss']
948
+ }]
949
+ }], ctorParameters: function () { return [{ type: i1$1.MatDialog }]; }, propDecorators: { list: [{
950
+ type: ViewChild,
951
+ args: ['list', { static: true }]
952
+ }], loadLogs: [{
953
+ type: Input
954
+ }] } });
1008
955
 
1009
- let UpgradeLogsComponent = class UpgradeLogsComponent {
956
+ class UpgradeLogsComponent {
1010
957
  constructor() {
1011
958
  this.config = null;
1012
959
  this.logTypes = [];
@@ -1030,24 +977,24 @@ let UpgradeLogsComponent = class UpgradeLogsComponent {
1030
977
  }
1031
978
  };
1032
979
  }
1033
- };
1034
- __decorate([
1035
- ViewChild(FsListComponent, { static: true }),
1036
- __metadata("design:type", FsListComponent)
1037
- ], UpgradeLogsComponent.prototype, "list", void 0);
1038
- __decorate([
1039
- Input(),
1040
- __metadata("design:type", Function)
1041
- ], UpgradeLogsComponent.prototype, "loadUpgradeLogs", void 0);
1042
- UpgradeLogsComponent = __decorate([
1043
- Component({
1044
- selector: 'fs-system-upgrade-logs',
1045
- 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 {{row.name}}\r\n </ng-template>\r\n </fs-list-column>\r\n\r\n <fs-list-column>\r\n <ng-template fs-list-header>Function</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.function}}()\r\n </ng-template>\r\n </fs-list-column>\r\n\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 </ng-template>\r\n </fs-list-column>\r\n</fs-list>\r\n",
1046
- styles: [""]
1047
- })
1048
- ], UpgradeLogsComponent);
980
+ }
981
+ UpgradeLogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UpgradeLogsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
982
+ UpgradeLogsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: UpgradeLogsComponent, selector: "fs-system-upgrade-logs", inputs: { loadUpgradeLogs: "loadUpgradeLogs" }, 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 {{row.name}}\r\n </ng-template>\r\n </fs-list-column>\r\n\r\n <fs-list-column>\r\n <ng-template fs-list-header>Function</ng-template>\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.function}}()\r\n </ng-template>\r\n </fs-list-column>\r\n\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 </ng-template>\r\n </fs-list-column>\r\n</fs-list>\r\n", styles: [""], components: [{ type: i3$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i4$2.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], directives: [{ type: i3$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i3$1.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { type: i3$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }] });
983
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UpgradeLogsComponent, decorators: [{
984
+ type: Component,
985
+ args: [{
986
+ selector: 'fs-system-upgrade-logs',
987
+ templateUrl: './upgrade-logs.component.html',
988
+ styleUrls: ['./upgrade-logs.component.scss']
989
+ }]
990
+ }], propDecorators: { list: [{
991
+ type: ViewChild,
992
+ args: [FsListComponent, { static: true }]
993
+ }], loadUpgradeLogs: [{
994
+ type: Input
995
+ }] } });
1049
996
 
1050
- let ApiLogComponent = class ApiLogComponent {
997
+ class ApiLogComponent {
1051
998
  constructor(_dialogRef, data) {
1052
999
  this._dialogRef = _dialogRef;
1053
1000
  this.data = data;
@@ -1058,21 +1005,21 @@ let ApiLogComponent = class ApiLogComponent {
1058
1005
  this.apiLog = this.data.apiLog;
1059
1006
  }
1060
1007
  }
1061
- };
1062
- ApiLogComponent.ctorParameters = () => [
1063
- { type: MatDialogRef },
1064
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
1065
- ];
1066
- ApiLogComponent = __decorate([
1067
- Component({
1068
- 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",
1069
- styles: [""]
1070
- }),
1071
- __param(1, Inject(MAT_DIALOG_DATA)),
1072
- __metadata("design:paramtypes", [MatDialogRef, Object])
1073
- ], ApiLogComponent);
1008
+ }
1009
+ ApiLogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
1010
+ 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$2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i2$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i2$1.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$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6$1.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: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "fsDateFormat": i4$2.FsDateFormatPipe, "fsDateDuration": i4$2.FsDateDurationPipe, "json": i9.JsonPipe } });
1011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogComponent, decorators: [{
1012
+ type: Component,
1013
+ args: [{
1014
+ templateUrl: './api-log.component.html',
1015
+ styleUrls: ['./api-log.component.scss']
1016
+ }]
1017
+ }], ctorParameters: function () { return [{ type: i1$1.MatDialogRef }, { type: undefined, decorators: [{
1018
+ type: Inject,
1019
+ args: [MAT_DIALOG_DATA]
1020
+ }] }]; } });
1074
1021
 
1075
- let ApiLogsComponent = class ApiLogsComponent {
1022
+ class ApiLogsComponent {
1076
1023
  constructor(_dialog) {
1077
1024
  this._dialog = _dialog;
1078
1025
  this.config = null;
@@ -1114,28 +1061,24 @@ let ApiLogsComponent = class ApiLogsComponent {
1114
1061
  width: '85%'
1115
1062
  });
1116
1063
  }
1117
- };
1118
- ApiLogsComponent.ctorParameters = () => [
1119
- { type: MatDialog }
1120
- ];
1121
- __decorate([
1122
- ViewChild(FsListComponent, { static: true }),
1123
- __metadata("design:type", FsListComponent)
1124
- ], ApiLogsComponent.prototype, "list", void 0);
1125
- __decorate([
1126
- Input(),
1127
- __metadata("design:type", Function)
1128
- ], ApiLogsComponent.prototype, "loadApiLogs", void 0);
1129
- ApiLogsComponent = __decorate([
1130
- Component({
1131
- selector: 'fs-system-api-logs',
1132
- 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",
1133
- styles: [""]
1134
- }),
1135
- __metadata("design:paramtypes", [MatDialog])
1136
- ], ApiLogsComponent);
1064
+ }
1065
+ ApiLogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogsComponent, deps: [{ token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
1066
+ 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: i3$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i4$2.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], directives: [{ type: i3$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i3$1.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { type: i3$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateDuration": i4$2.FsDateDurationPipe } });
1067
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ApiLogsComponent, decorators: [{
1068
+ type: Component,
1069
+ args: [{
1070
+ selector: 'fs-system-api-logs',
1071
+ templateUrl: './api-logs.component.html',
1072
+ styleUrls: ['./api-logs.component.scss']
1073
+ }]
1074
+ }], ctorParameters: function () { return [{ type: i1$1.MatDialog }]; }, propDecorators: { list: [{
1075
+ type: ViewChild,
1076
+ args: [FsListComponent, { static: true }]
1077
+ }], loadApiLogs: [{
1078
+ type: Input
1079
+ }] } });
1137
1080
 
1138
- let InfoComponent = class InfoComponent {
1081
+ class InfoComponent {
1139
1082
  ngAfterViewInit() {
1140
1083
  this._load();
1141
1084
  }
@@ -1151,38 +1094,80 @@ let InfoComponent = class InfoComponent {
1151
1094
  this.iframe.nativeElement.style.height = `${scrollHeight}px`;
1152
1095
  });
1153
1096
  }
1154
- };
1155
- __decorate([
1156
- ViewChild('iframe'),
1157
- __metadata("design:type", ElementRef)
1158
- ], InfoComponent.prototype, "iframe", void 0);
1159
- __decorate([
1160
- Input(),
1161
- __metadata("design:type", Function)
1162
- ], InfoComponent.prototype, "load", void 0);
1163
- InfoComponent = __decorate([
1164
- Component({
1165
- selector: 'fs-system-info',
1166
- template: "<iframe #iframe></iframe>\r\n",
1167
- changeDetection: ChangeDetectionStrategy.OnPush,
1168
- styles: ["iframe{width:100%;border:0}"]
1169
- })
1170
- ], InfoComponent);
1097
+ }
1098
+ InfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1099
+ InfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: InfoComponent, selector: "fs-system-info", inputs: { load: "load" }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0, template: "<iframe #iframe></iframe>\r\n", styles: ["iframe{width:100%;border:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InfoComponent, decorators: [{
1101
+ type: Component,
1102
+ args: [{
1103
+ selector: 'fs-system-info',
1104
+ templateUrl: 'info.component.html',
1105
+ styleUrls: ['info.component.scss'],
1106
+ changeDetection: ChangeDetectionStrategy.OnPush,
1107
+ }]
1108
+ }], propDecorators: { iframe: [{
1109
+ type: ViewChild,
1110
+ args: ['iframe']
1111
+ }], load: [{
1112
+ type: Input
1113
+ }] } });
1171
1114
 
1172
- var FsSystemModule_1;
1173
- let FsSystemModule = FsSystemModule_1 = class FsSystemModule {
1115
+ class FsSystemModule {
1174
1116
  static forRoot(config) {
1175
1117
  return {
1176
- ngModule: FsSystemModule_1,
1118
+ ngModule: FsSystemModule,
1177
1119
  providers: [
1178
1120
  { provide: FS_SYSTEM_CONFIG, useValue: config || {} },
1179
1121
  ]
1180
1122
  };
1181
1123
  }
1182
- };
1183
- FsSystemModule = FsSystemModule_1 = __decorate([
1184
- NgModule({
1185
- imports: [
1124
+ }
1125
+ FsSystemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsSystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1126
+ FsSystemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsSystemModule, declarations: [DashboardComponent,
1127
+ CronsComponent,
1128
+ SettingsComponent,
1129
+ KeyNameValuePipe,
1130
+ FileManagerComponent,
1131
+ ProcessesComponent,
1132
+ ServerLogComponent,
1133
+ ServerLogsComponent,
1134
+ UpgradeLogsComponent,
1135
+ ApiLogsComponent,
1136
+ ApiLogComponent,
1137
+ InfoComponent,
1138
+ ProcessComponent,
1139
+ CronComponent,
1140
+ CronLogComponent], imports: [CommonModule,
1141
+ FlexLayoutModule,
1142
+ FormsModule,
1143
+ MatButtonModule,
1144
+ MatExpansionModule,
1145
+ MatTooltipModule,
1146
+ MatIconModule,
1147
+ MatFormFieldModule,
1148
+ MatInputModule,
1149
+ MatSelectModule,
1150
+ MatDialogModule,
1151
+ MatTabsModule,
1152
+ FsDateModule,
1153
+ FsSkeletonModule,
1154
+ FsListModule,
1155
+ FsFileModule,
1156
+ FsFileManagerModule,
1157
+ FsLabelModule,
1158
+ FsDialogModule,
1159
+ FsDatePickerModule,
1160
+ FsMenuModule,
1161
+ ClipboardModule], exports: [DashboardComponent,
1162
+ CronsComponent,
1163
+ SettingsComponent,
1164
+ FileManagerComponent,
1165
+ ProcessesComponent,
1166
+ ServerLogsComponent,
1167
+ UpgradeLogsComponent,
1168
+ ApiLogsComponent,
1169
+ InfoComponent] });
1170
+ FsSystemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsSystemModule, imports: [[
1186
1171
  CommonModule,
1187
1172
  FlexLayoutModule,
1188
1173
  FormsModule,
@@ -1205,41 +1190,68 @@ FsSystemModule = FsSystemModule_1 = __decorate([
1205
1190
  FsDatePickerModule,
1206
1191
  FsMenuModule,
1207
1192
  ClipboardModule,
1208
- ],
1209
- exports: [
1210
- DashboardComponent,
1211
- CronsComponent,
1212
- SettingsComponent,
1213
- FileManagerComponent,
1214
- ProcessesComponent,
1215
- ServerLogsComponent,
1216
- UpgradeLogsComponent,
1217
- ApiLogsComponent,
1218
- InfoComponent,
1219
- ],
1220
- declarations: [
1221
- DashboardComponent,
1222
- CronsComponent,
1223
- SettingsComponent,
1224
- KeyNameValuePipe,
1225
- FileManagerComponent,
1226
- ProcessesComponent,
1227
- ServerLogComponent,
1228
- ServerLogsComponent,
1229
- UpgradeLogsComponent,
1230
- ApiLogsComponent,
1231
- ApiLogComponent,
1232
- InfoComponent,
1233
- ProcessComponent,
1234
- CronComponent,
1235
- CronLogComponent,
1236
- ],
1237
- })
1238
- ], FsSystemModule);
1193
+ ]] });
1194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsSystemModule, decorators: [{
1195
+ type: NgModule,
1196
+ args: [{
1197
+ imports: [
1198
+ CommonModule,
1199
+ FlexLayoutModule,
1200
+ FormsModule,
1201
+ MatButtonModule,
1202
+ MatExpansionModule,
1203
+ MatTooltipModule,
1204
+ MatIconModule,
1205
+ MatFormFieldModule,
1206
+ MatInputModule,
1207
+ MatSelectModule,
1208
+ MatDialogModule,
1209
+ MatTabsModule,
1210
+ FsDateModule,
1211
+ FsSkeletonModule,
1212
+ FsListModule,
1213
+ FsFileModule,
1214
+ FsFileManagerModule,
1215
+ FsLabelModule,
1216
+ FsDialogModule,
1217
+ FsDatePickerModule,
1218
+ FsMenuModule,
1219
+ ClipboardModule,
1220
+ ],
1221
+ exports: [
1222
+ DashboardComponent,
1223
+ CronsComponent,
1224
+ SettingsComponent,
1225
+ FileManagerComponent,
1226
+ ProcessesComponent,
1227
+ ServerLogsComponent,
1228
+ UpgradeLogsComponent,
1229
+ ApiLogsComponent,
1230
+ InfoComponent,
1231
+ ],
1232
+ declarations: [
1233
+ DashboardComponent,
1234
+ CronsComponent,
1235
+ SettingsComponent,
1236
+ KeyNameValuePipe,
1237
+ FileManagerComponent,
1238
+ ProcessesComponent,
1239
+ ServerLogComponent,
1240
+ ServerLogsComponent,
1241
+ UpgradeLogsComponent,
1242
+ ApiLogsComponent,
1243
+ ApiLogComponent,
1244
+ InfoComponent,
1245
+ ProcessComponent,
1246
+ CronComponent,
1247
+ CronLogComponent,
1248
+ ],
1249
+ }]
1250
+ }] });
1239
1251
 
1240
1252
  /**
1241
1253
  * Generated bundle index. Do not edit.
1242
1254
  */
1243
1255
 
1244
- export { ApiLogState, ApiLogStates, CronState, CronStates, FS_SYSTEM_CONFIG, FsSystemModule, ProcessState, ProcessStates, DashboardComponent as ɵa, CronsComponent as ɵb, SettingsComponent as ɵc, FileManagerComponent as ɵd, ProcessesComponent as ɵe, ServerLogsComponent as ɵf, UpgradeLogsComponent as ɵg, ApiLogsComponent as ɵh, InfoComponent as ɵi, KeyNameValuePipe as ɵj, ServerLogComponent as ɵk, ApiLogComponent as ɵl, ProcessComponent as ɵm, CronComponent as ɵn, CronLogComponent as ɵo };
1256
+ export { ApiLogComponent, ApiLogState, ApiLogStates, ApiLogsComponent, CronComponent, CronLogComponent, CronState, CronStates, CronsComponent, DashboardComponent, FS_SYSTEM_CONFIG, FileManagerComponent, FsSystemModule, InfoComponent, KeyNameValuePipe, ProcessComponent, ProcessState, ProcessStates, ProcessesComponent, ServerLogComponent, ServerLogsComponent, SettingsComponent, UpgradeLogsComponent };
1245
1257
  //# sourceMappingURL=firestitch-system.js.map