@firestitch/system 9.2.2 → 12.0.0

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 (149) hide show
  1. package/app/components/api-log/api-log.component.d.ts +13 -10
  2. package/app/components/api-log/index.d.ts +1 -0
  3. package/app/components/api-logs/api-logs.component.d.ts +23 -18
  4. package/app/components/api-logs/index.d.ts +1 -0
  5. package/app/components/cron/cron.component.d.ts +24 -21
  6. package/app/components/cron/index.d.ts +1 -1
  7. package/app/components/cron-log/cron-log.component.d.ts +12 -9
  8. package/app/components/cron-log/index.d.ts +1 -1
  9. package/app/components/crons/crons.component.d.ts +38 -33
  10. package/app/components/crons/index.d.ts +1 -0
  11. package/app/components/dashboard/dashboard.component.d.ts +30 -25
  12. package/app/components/dashboard/index.d.ts +1 -0
  13. package/app/components/file-manager/file-manager.component.d.ts +17 -14
  14. package/app/components/file-manager/index.d.ts +1 -0
  15. package/app/components/info/index.d.ts +1 -0
  16. package/app/components/info/info.component.d.ts +11 -8
  17. package/app/components/process/index.d.ts +1 -0
  18. package/app/components/process/process.component.d.ts +16 -13
  19. package/app/components/processes/index.d.ts +1 -0
  20. package/app/components/processes/processes.component.d.ts +36 -31
  21. package/app/components/server-log/index.d.ts +1 -0
  22. package/app/components/server-log/server-log.component.d.ts +10 -7
  23. package/app/components/server-logs/index.d.ts +1 -0
  24. package/app/components/server-logs/server-logs.component.d.ts +23 -18
  25. package/app/components/settings/index.d.ts +1 -0
  26. package/app/components/settings/settings.component.d.ts +32 -27
  27. package/app/components/upgrade-logs/index.d.ts +1 -0
  28. package/app/components/upgrade-logs/upgrade-logs.component.d.ts +20 -14
  29. package/app/consts/api-log-states.const.d.ts +5 -5
  30. package/app/consts/cron-log-states.const.d.ts +6 -6
  31. package/app/consts/cron-states.const.d.ts +5 -5
  32. package/app/consts/index.d.ts +3 -3
  33. package/app/consts/process-states.const.d.ts +5 -5
  34. package/app/enums/api-log-state.enum.d.ts +5 -5
  35. package/app/enums/cron-log-state.enum.d.ts +13 -13
  36. package/app/enums/cron-state.enum.d.ts +7 -7
  37. package/app/enums/index.d.ts +5 -5
  38. package/app/enums/process-state.enum.d.ts +8 -8
  39. package/app/enums/setting-interface-type.enum.d.ts +11 -13
  40. package/app/fs-system.module.d.ts +46 -5
  41. package/app/helpers/index-name-value.d.ts +1 -1
  42. package/app/injectors/system-config.injector.d.ts +2 -2
  43. package/app/interfaces/dashboard-action.d.ts +5 -5
  44. package/app/interfaces/index.d.ts +3 -3
  45. package/app/interfaces/process-action.d.ts +6 -6
  46. package/app/interfaces/system-config.d.ts +3 -2
  47. package/app/pipes/key-name-value.pipe.d.ts +8 -4
  48. package/app/services/index.d.ts +1 -0
  49. package/app/services/system.service.d.ts +10 -0
  50. package/bundles/firestitch-system.umd.js +1625 -1430
  51. package/bundles/firestitch-system.umd.js.map +1 -1
  52. package/esm2015/app/components/api-log/api-log.component.js +38 -31
  53. package/esm2015/app/components/api-log/index.js +2 -0
  54. package/esm2015/app/components/api-logs/api-logs.component.js +75 -73
  55. package/esm2015/app/components/api-logs/index.js +2 -0
  56. package/esm2015/app/components/cron/cron.component.js +103 -96
  57. package/esm2015/app/components/cron/index.js +2 -2
  58. package/esm2015/app/components/cron-log/cron-log.component.js +41 -33
  59. package/esm2015/app/components/cron-log/index.js +2 -2
  60. package/esm2015/app/components/crons/crons.component.js +191 -206
  61. package/esm2015/app/components/crons/index.js +2 -0
  62. package/esm2015/app/components/dashboard/dashboard.component.js +94 -93
  63. package/esm2015/app/components/dashboard/index.js +2 -0
  64. package/esm2015/app/components/file-manager/file-manager.component.js +54 -64
  65. package/esm2015/app/components/file-manager/index.js +2 -0
  66. package/esm2015/app/components/info/index.js +2 -0
  67. package/esm2015/app/components/info/info.component.js +36 -37
  68. package/esm2015/app/components/process/index.js +2 -0
  69. package/esm2015/app/components/process/process.component.js +49 -42
  70. package/esm2015/app/components/processes/index.js +2 -0
  71. package/esm2015/app/components/processes/processes.component.js +167 -178
  72. package/esm2015/app/components/server-log/index.js +2 -0
  73. package/esm2015/app/components/server-log/server-log.component.js +42 -34
  74. package/esm2015/app/components/server-logs/index.js +2 -0
  75. package/esm2015/app/components/server-logs/server-logs.component.js +60 -59
  76. package/esm2015/app/components/settings/index.js +2 -0
  77. package/esm2015/app/components/settings/settings.component.js +130 -132
  78. package/esm2015/app/components/upgrade-logs/index.js +2 -0
  79. package/esm2015/app/components/upgrade-logs/upgrade-logs.component.js +51 -47
  80. package/esm2015/app/consts/api-log-states.const.js +7 -7
  81. package/esm2015/app/consts/cron-log-states.const.js +15 -15
  82. package/esm2015/app/consts/cron-states.const.js +9 -9
  83. package/esm2015/app/consts/index.js +4 -4
  84. package/esm2015/app/consts/process-states.const.js +10 -10
  85. package/esm2015/app/enums/api-log-state.enum.js +7 -7
  86. package/esm2015/app/enums/cron-log-state.enum.js +15 -15
  87. package/esm2015/app/enums/cron-state.enum.js +9 -9
  88. package/esm2015/app/enums/index.js +6 -6
  89. package/esm2015/app/enums/process-state.enum.js +10 -10
  90. package/esm2015/app/enums/setting-interface-type.enum.js +13 -15
  91. package/esm2015/app/fs-system.module.js +183 -109
  92. package/esm2015/app/helpers/index-name-value.js +8 -8
  93. package/esm2015/app/injectors/system-config.injector.js +3 -3
  94. package/esm2015/app/interfaces/dashboard-action.js +2 -1
  95. package/esm2015/app/interfaces/index.js +4 -1
  96. package/esm2015/app/interfaces/process-action.js +2 -1
  97. package/esm2015/app/interfaces/system-config.js +2 -1
  98. package/esm2015/app/pipes/key-name-value.pipe.js +21 -17
  99. package/esm2015/app/services/index.js +2 -0
  100. package/esm2015/app/services/system.service.js +42 -0
  101. package/esm2015/firestitch-system.js +5 -20
  102. package/esm2015/public_api.js +20 -5
  103. package/fesm2015/firestitch-system.js +1234 -1179
  104. package/fesm2015/firestitch-system.js.map +1 -1
  105. package/firestitch-system.d.ts +5 -19
  106. package/package.json +5 -9
  107. package/public_api.d.ts +20 -5
  108. package/bundles/firestitch-system.umd.min.js +0 -16
  109. package/bundles/firestitch-system.umd.min.js.map +0 -1
  110. package/esm5/app/components/api-log/api-log.component.js +0 -32
  111. package/esm5/app/components/api-logs/api-logs.component.js +0 -75
  112. package/esm5/app/components/cron/cron.component.js +0 -98
  113. package/esm5/app/components/cron/index.js +0 -2
  114. package/esm5/app/components/cron-log/cron-log.component.js +0 -34
  115. package/esm5/app/components/cron-log/index.js +0 -2
  116. package/esm5/app/components/crons/crons.component.js +0 -209
  117. package/esm5/app/components/dashboard/dashboard.component.js +0 -98
  118. package/esm5/app/components/file-manager/file-manager.component.js +0 -67
  119. package/esm5/app/components/info/info.component.js +0 -41
  120. package/esm5/app/components/process/process.component.js +0 -44
  121. package/esm5/app/components/processes/processes.component.js +0 -180
  122. package/esm5/app/components/server-log/server-log.component.js +0 -35
  123. package/esm5/app/components/server-logs/server-logs.component.js +0 -61
  124. package/esm5/app/components/settings/settings.component.js +0 -136
  125. package/esm5/app/components/upgrade-logs/upgrade-logs.component.js +0 -49
  126. package/esm5/app/consts/api-log-states.const.js +0 -7
  127. package/esm5/app/consts/cron-log-states.const.js +0 -15
  128. package/esm5/app/consts/cron-states.const.js +0 -9
  129. package/esm5/app/consts/index.js +0 -4
  130. package/esm5/app/consts/process-states.const.js +0 -10
  131. package/esm5/app/enums/api-log-state.enum.js +0 -7
  132. package/esm5/app/enums/cron-log-state.enum.js +0 -15
  133. package/esm5/app/enums/cron-state.enum.js +0 -9
  134. package/esm5/app/enums/index.js +0 -6
  135. package/esm5/app/enums/process-state.enum.js +0 -10
  136. package/esm5/app/enums/setting-interface-type.enum.js +0 -15
  137. package/esm5/app/fs-system.module.js +0 -113
  138. package/esm5/app/helpers/index-name-value.js +0 -8
  139. package/esm5/app/injectors/system-config.injector.js +0 -3
  140. package/esm5/app/interfaces/dashboard-action.js +0 -1
  141. package/esm5/app/interfaces/index.js +0 -1
  142. package/esm5/app/interfaces/process-action.js +0 -1
  143. package/esm5/app/interfaces/system-config.js +0 -1
  144. package/esm5/app/pipes/key-name-value.pipe.js +0 -20
  145. package/esm5/firestitch-system.js +0 -20
  146. package/esm5/public_api.js +0 -5
  147. package/fesm5/firestitch-system.js +0 -1286
  148. package/fesm5/firestitch-system.js.map +0 -1
  149. package/firestitch-system.metadata.json +0 -1
@@ -1,42 +1,49 @@
1
- import { __decorate, __metadata, __param } from "tslib";
2
- import { Component, Inject } from '@angular/core';
3
- import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
4
- import { ProcessStates } from './../../consts/process-states.const';
5
- import { indexNameValue } from '../../helpers/index-name-value';
6
- import { ProcessState } from './../../enums/process-state.enum';
7
- let ProcessComponent = class ProcessComponent {
8
- constructor(_dialogRef, data) {
9
- this._dialogRef = _dialogRef;
10
- this.data = data;
11
- this.ProcessState = ProcessState;
12
- }
13
- ngOnInit() {
14
- this.ProcessStates = indexNameValue(ProcessStates);
15
- if (this.data.loadProcess) {
16
- this.load();
17
- }
18
- else {
19
- this.process = this.data.process;
20
- }
21
- }
22
- load() {
23
- this.data.loadProcess(this.data.process)
24
- .subscribe((process) => {
25
- this.process = process;
26
- });
27
- }
28
- };
29
- ProcessComponent.ctorParameters = () => [
30
- { type: MatDialogRef },
31
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
32
- ];
33
- ProcessComponent = __decorate([
34
- Component({
35
- 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",
36
- styles: [":host ::ng-deep .log .field-content{white-space:pre-wrap;font-family:monospace;font-size:14px}"]
37
- }),
38
- __param(1, Inject(MAT_DIALOG_DATA)),
39
- __metadata("design:paramtypes", [MatDialogRef, Object])
40
- ], ProcessComponent);
41
- export { ProcessComponent };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9zeXN0ZW0vIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50cy9wcm9jZXNzL3Byb2Nlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBTWhFLElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWdCO0lBTTNCLFlBQW9CLFVBQTBDLEVBQ2xCLElBQUk7UUFENUIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0M7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBQTtRQUh6QyxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQUdnQixDQUFDO0lBRTdDLFFBQVE7UUFFYixJQUFJLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU07WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN2QyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBOztZQXBCaUMsWUFBWTs0Q0FDL0IsTUFBTSxTQUFDLGVBQWU7O0FBUHhCLGdCQUFnQjtJQUo1QixTQUFTLENBQUM7UUFDVCxvbEZBQXVDOztLQUV4QyxDQUFDO0lBUWEsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7cUNBREosWUFBWTtHQU5qQyxnQkFBZ0IsQ0EwQjVCO1NBMUJZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgUHJvY2Vzc1N0YXRlcyB9IGZyb20gJy4vLi4vLi4vY29uc3RzL3Byb2Nlc3Mtc3RhdGVzLmNvbnN0JztcclxuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2luZGV4LW5hbWUtdmFsdWUnO1xyXG5pbXBvcnQgeyBQcm9jZXNzU3RhdGUgfSBmcm9tICcuLy4uLy4uL2VudW1zL3Byb2Nlc3Mtc3RhdGUuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcHJvY2Vzcy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9jZXNzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIHByb2Nlc3M7XHJcbiAgcHVibGljIFByb2Nlc3NTdGF0ZXM7XHJcbiAgcHVibGljIFByb2Nlc3NTdGF0ZSA9IFByb2Nlc3NTdGF0ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UHJvY2Vzc0NvbXBvbmVudD4sXHJcbiAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdGhpcy5Qcm9jZXNzU3RhdGVzID0gaW5kZXhOYW1lVmFsdWUoUHJvY2Vzc1N0YXRlcyk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5sb2FkUHJvY2Vzcykge1xyXG4gICAgICB0aGlzLmxvYWQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICB0aGlzLnByb2Nlc3MgPSB0aGlzLmRhdGEucHJvY2VzcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkKCkge1xyXG4gICAgdGhpcy5kYXRhLmxvYWRQcm9jZXNzKHRoaXMuZGF0YS5wcm9jZXNzKVxyXG4gICAgLnN1YnNjcmliZSgocHJvY2VzcykgPT4ge1xyXG4gICAgICB0aGlzLnByb2Nlc3MgPSBwcm9jZXNzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
3
+ import { ProcessStates } from './../../consts/process-states.const';
4
+ import { indexNameValue } from '../../helpers/index-name-value';
5
+ import { ProcessState } from './../../enums/process-state.enum';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/dialog";
8
+ import * as i2 from "@firestitch/dialog";
9
+ import * as i3 from "@firestitch/label";
10
+ import * as i4 from "@angular/material/button";
11
+ import * as i5 from "@firestitch/skeleton";
12
+ import * as i6 from "@angular/flex-layout/flex";
13
+ import * as i7 from "@angular/common";
14
+ import * as i8 from "@firestitch/date";
15
+ export class ProcessComponent {
16
+ constructor(_dialogRef, data) {
17
+ this._dialogRef = _dialogRef;
18
+ this.data = data;
19
+ this.ProcessState = ProcessState;
20
+ }
21
+ ngOnInit() {
22
+ this.ProcessStates = indexNameValue(ProcessStates);
23
+ if (this.data.loadProcess) {
24
+ this.load();
25
+ }
26
+ else {
27
+ this.process = this.data.process;
28
+ }
29
+ }
30
+ load() {
31
+ this.data.loadProcess(this.data.process)
32
+ .subscribe((process) => {
33
+ this.process = process;
34
+ });
35
+ }
36
+ }
37
+ ProcessComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProcessComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
38
+ ProcessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ProcessComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"process\">\n <div mat-dialog-title>Process</div>\n <mat-dialog-content>\n <div fxLayout=\"column\">\n <fs-label-field>\n <fs-label>\n Name\n </fs-label>\n {{process.prettyName}}\n </fs-label-field>\n\n <div fxLayout=\"row\" fxLayoutGap=\"20px\">\n\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{ProcessStates[process.state]}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"process.notify\">\n <fs-label>\n Notification Email\n </fs-label>\n {{process.notify}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"process.pid\">\n <fs-label>\n PID\n </fs-label>\n {{process.pid}}\n </fs-label-field>\n </div>\n\n <div fxLayout=\"row\" fxLayoutGap=\"20px\">\n <fs-label-field>\n <fs-label>\n Create Date\n </fs-label>\n {{ process.createDate | fsDateFormat: 'date-time' }}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"process.startDate\">\n <fs-label>\n Start Date\n </fs-label>\n {{ process.startDate | fsDateFormat: 'date-time' }}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"process.endDate\">\n <fs-label>\n Complete Date\n </fs-label>\n {{ process.endDate | fsDateFormat: 'date-time' }}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"process.duration\">\n <fs-label>\n Duration\n </fs-label>\n {{ process.duration | fsDateDuration: {hours: true, minutes: true, seconds: true} }}\n </fs-label-field>\n </div>\n\n <fs-label-field *ngIf=\"process.message\">\n <fs-label>\n Message\n </fs-label>\n {{process.message}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"process.log\" class=\"log\">\n <fs-label>\n Log\n </fs-label>{{process.log}}\n </fs-label-field>\n\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\">Done</button>\n <button\n *ngIf=\"process.state===ProcessState.Running && data.loadProcess\"\n mat-button\n (click)=\"load()\">\n Reload\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [":host ::ng-deep .log .field-content{white-space:pre-wrap;font-family:monospace;font-size:14px}\n"], components: [{ type: i2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i3.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i3.FsLabelComponent, selector: "fs-label" }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i6.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: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "fsDateFormat": i8.FsDateFormatPipe, "fsDateDuration": i8.FsDateDurationPipe } });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProcessComponent, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ templateUrl: './process.component.html',
43
+ styleUrls: ['./process.component.scss']
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
46
+ type: Inject,
47
+ args: [MAT_DIALOG_DATA]
48
+ }] }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcHJvY2Vzcy9wcm9jZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9jZXNzL3Byb2Nlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7OztBQU1oRSxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQW9CLFVBQTBDLEVBQ2xCLElBQUk7UUFENUIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0M7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBQTtRQUh6QyxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQUdnQixDQUFDO0lBRTdDLFFBQVE7UUFFYixJQUFJLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU07WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN2QyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQXpCVSxnQkFBZ0IsOENBT1AsZUFBZTtrR0FQeEIsZ0JBQWdCLG9EQ1g3QixzNUVBMEZBOzRGRC9FYSxnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3hDOzswQkFRYyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IFByb2Nlc3NTdGF0ZXMgfSBmcm9tICcuLy4uLy4uL2NvbnN0cy9wcm9jZXNzLXN0YXRlcy5jb25zdCc7XG5pbXBvcnQgeyBpbmRleE5hbWVWYWx1ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvaW5kZXgtbmFtZS12YWx1ZSc7XG5pbXBvcnQgeyBQcm9jZXNzU3RhdGUgfSBmcm9tICcuLy4uLy4uL2VudW1zL3Byb2Nlc3Mtc3RhdGUuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3MuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgcHJvY2VzcztcbiAgcHVibGljIFByb2Nlc3NTdGF0ZXM7XG4gIHB1YmxpYyBQcm9jZXNzU3RhdGUgPSBQcm9jZXNzU3RhdGU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UHJvY2Vzc0NvbXBvbmVudD4sXG4gICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLlByb2Nlc3NTdGF0ZXMgPSBpbmRleE5hbWVWYWx1ZShQcm9jZXNzU3RhdGVzKTtcblxuICAgIGlmICh0aGlzLmRhdGEubG9hZFByb2Nlc3MpIHtcbiAgICAgIHRoaXMubG9hZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgdGhpcy5wcm9jZXNzID0gdGhpcy5kYXRhLnByb2Nlc3M7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvYWQoKSB7XG4gICAgdGhpcy5kYXRhLmxvYWRQcm9jZXNzKHRoaXMuZGF0YS5wcm9jZXNzKVxuICAgIC5zdWJzY3JpYmUoKHByb2Nlc3MpID0+IHtcbiAgICAgIHRoaXMucHJvY2VzcyA9IHByb2Nlc3M7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxmcy1kaWFsb2cgKmZzU2tlbGV0b249XCJwcm9jZXNzXCI+XG4gIDxkaXYgbWF0LWRpYWxvZy10aXRsZT5Qcm9jZXNzPC9kaXY+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgTmFtZVxuICAgICAgICA8L2ZzLWxhYmVsPlxuICAgICAgICB7e3Byb2Nlc3MucHJldHR5TmFtZX19XG4gICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuXG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIyMHB4XCI+XG5cbiAgICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgIFN0YXR1c1xuICAgICAgICAgIDwvZnMtbGFiZWw+XG4gICAgICAgICAge3tQcm9jZXNzU3RhdGVzW3Byb2Nlc3Muc3RhdGVdfX1cbiAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cblxuICAgICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJwcm9jZXNzLm5vdGlmeVwiPlxuICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgIE5vdGlmaWNhdGlvbiBFbWFpbFxuICAgICAgICAgIDwvZnMtbGFiZWw+XG4gICAgICAgICAge3twcm9jZXNzLm5vdGlmeX19XG4gICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG5cbiAgICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwicHJvY2Vzcy5waWRcIj5cbiAgICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgICBQSURcbiAgICAgICAgICA8L2ZzLWxhYmVsPlxuICAgICAgICAgIHt7cHJvY2Vzcy5waWR9fVxuICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIj5cbiAgICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgIENyZWF0ZSBEYXRlXG4gICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICB7eyBwcm9jZXNzLmNyZWF0ZURhdGUgfCBmc0RhdGVGb3JtYXQ6ICdkYXRlLXRpbWUnIH19XG4gICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG5cbiAgICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwicHJvY2Vzcy5zdGFydERhdGVcIj5cbiAgICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgICBTdGFydCBEYXRlXG4gICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICB7eyBwcm9jZXNzLnN0YXJ0RGF0ZSB8IGZzRGF0ZUZvcm1hdDogJ2RhdGUtdGltZScgfX1cbiAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cblxuICAgICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJwcm9jZXNzLmVuZERhdGVcIj5cbiAgICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgICBDb21wbGV0ZSBEYXRlXG4gICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICB7eyBwcm9jZXNzLmVuZERhdGUgfCBmc0RhdGVGb3JtYXQ6ICdkYXRlLXRpbWUnIH19XG4gICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG5cbiAgICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwicHJvY2Vzcy5kdXJhdGlvblwiPlxuICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgIER1cmF0aW9uXG4gICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICB7eyBwcm9jZXNzLmR1cmF0aW9uIHwgZnNEYXRlRHVyYXRpb246IHtob3VyczogdHJ1ZSwgbWludXRlczogdHJ1ZSwgc2Vjb25kczogdHJ1ZX0gfX1cbiAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJwcm9jZXNzLm1lc3NhZ2VcIj5cbiAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgIE1lc3NhZ2VcbiAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAge3twcm9jZXNzLm1lc3NhZ2V9fVxuICAgICAgPC9mcy1sYWJlbC1maWVsZD5cblxuICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwicHJvY2Vzcy5sb2dcIiBjbGFzcz1cImxvZ1wiPlxuICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgTG9nXG4gICAgICAgIDwvZnMtbGFiZWw+e3twcm9jZXNzLmxvZ319XG4gICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuXG4gICAgPC9kaXY+XG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgY29sb3I9XCJwcmltYXJ5XCI+RG9uZTwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwicHJvY2Vzcy5zdGF0ZT09PVByb2Nlc3NTdGF0ZS5SdW5uaW5nICYmIGRhdGEubG9hZFByb2Nlc3NcIlxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgKGNsaWNrKT1cImxvYWQoKVwiPlxuICAgICAgUmVsb2FkXG4gICAgPC9idXR0b24+XG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuPC9mcy1kaWFsb2c+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './processes.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcHJvY2Vzc2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb2Nlc3Nlcy5jb21wb25lbnQnO1xuIl19
@@ -1,178 +1,167 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ProcessComponent } from './../process/process.component';
3
- import { ProcessState } from '../../enums';
4
- import { FsMessage } from '@firestitch/message';
5
- import { Component, Input, ViewChild } from '@angular/core';
6
- import { ItemType } from '@firestitch/filter';
7
- import { ProcessStates } from '../../consts';
8
- import { FsListComponent } from '@firestitch/list';
9
- import { map, takeUntil } from 'rxjs/operators';
10
- import { indexNameValue } from '../../helpers/index-name-value';
11
- import { MatDialog } from '@angular/material/dialog';
12
- import { Subject } from 'rxjs';
13
- let ProcessesComponent = class ProcessesComponent {
14
- constructor(_dialog, _message) {
15
- this._dialog = _dialog;
16
- this._message = _message;
17
- this.actions = [];
18
- this.config = null;
19
- this.ProcessStates = indexNameValue(ProcessStates);
20
- this.ProcessState = ProcessState;
21
- this._destroy$ = new Subject();
22
- }
23
- ngOnInit() {
24
- this._configList();
25
- }
26
- _configList() {
27
- this.config = {
28
- actions: [],
29
- rowActions: [],
30
- filters: [
31
- {
32
- type: ItemType.Keyword,
33
- name: 'keyword',
34
- label: 'Search'
35
- },
36
- {
37
- type: ItemType.Select,
38
- name: 'state',
39
- label: 'Status',
40
- values: ProcessStates
41
- },
42
- ],
43
- fetch: query => {
44
- return this.loadProcesses(query)
45
- .pipe(map((response) => ({ data: response.data, paging: response.paging })));
46
- }
47
- };
48
- if (this.run) {
49
- this.config.rowActions.push({
50
- label: 'Run',
51
- click: (data) => {
52
- this._message.info('Running process...');
53
- this.run(data)
54
- .subscribe(() => {
55
- this.list.reload();
56
- this._message.success('Succesfully ran process');
57
- });
58
- setTimeout(() => {
59
- this.list.reload();
60
- }, 500);
61
- }
62
- });
63
- }
64
- if (this.kill) {
65
- this.config.rowActions.push({
66
- label: 'Kill',
67
- show: (data) => {
68
- return !!data.pid;
69
- },
70
- click: (data) => {
71
- this._message.info('Killing process...');
72
- this.kill(data)
73
- .subscribe(() => {
74
- this.list.reload();
75
- this._message.success('Succesfully killed process');
76
- });
77
- setTimeout(() => {
78
- this.list.reload();
79
- }, 500);
80
- }
81
- });
82
- }
83
- if (this.delete) {
84
- this.config.rowActions.push({
85
- label: 'Delete',
86
- click: (data) => {
87
- this.delete(data)
88
- .subscribe(() => {
89
- this.list.reload();
90
- this._message.success('Deleted process');
91
- });
92
- }
93
- });
94
- }
95
- this.actions.forEach(action => {
96
- this.config.actions.push({
97
- primary: false,
98
- label: action.label,
99
- menu: action.menu,
100
- click: () => {
101
- if (action.click) {
102
- action.click();
103
- }
104
- if (action.component) {
105
- const dialogRef = this._dialog.open(action.component, {
106
- width: '800px'
107
- });
108
- dialogRef.afterClosed()
109
- .pipe(takeUntil(this._destroy$))
110
- .subscribe(result => {
111
- this.list.reload();
112
- });
113
- }
114
- },
115
- });
116
- });
117
- }
118
- open(process) {
119
- this._dialog.open(ProcessComponent, {
120
- data: {
121
- process,
122
- loadProcess: this.loadProcess,
123
- },
124
- width: '85%'
125
- });
126
- }
127
- ngOnDestroy() {
128
- this._destroy$.next();
129
- this._destroy$.complete();
130
- }
131
- };
132
- ProcessesComponent.ctorParameters = () => [
133
- { type: MatDialog },
134
- { type: FsMessage }
135
- ];
136
- __decorate([
137
- ViewChild(FsListComponent),
138
- __metadata("design:type", FsListComponent)
139
- ], ProcessesComponent.prototype, "list", void 0);
140
- __decorate([
141
- Input(),
142
- __metadata("design:type", Function)
143
- ], ProcessesComponent.prototype, "loadProcesses", void 0);
144
- __decorate([
145
- Input(),
146
- __metadata("design:type", Function)
147
- ], ProcessesComponent.prototype, "loadProcess", void 0);
148
- __decorate([
149
- Input(),
150
- __metadata("design:type", Function)
151
- ], ProcessesComponent.prototype, "run", void 0);
152
- __decorate([
153
- Input(),
154
- __metadata("design:type", Function)
155
- ], ProcessesComponent.prototype, "kill", void 0);
156
- __decorate([
157
- Input(),
158
- __metadata("design:type", Function)
159
- ], ProcessesComponent.prototype, "delete", void 0);
160
- __decorate([
161
- Input(),
162
- __metadata("design:type", Function)
163
- ], ProcessesComponent.prototype, "download", void 0);
164
- __decorate([
165
- Input(),
166
- __metadata("design:type", Array)
167
- ], ProcessesComponent.prototype, "actions", void 0);
168
- ProcessesComponent = __decorate([
169
- Component({
170
- selector: 'fs-system-processes',
171
- 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",
172
- styles: [""]
173
- }),
174
- __metadata("design:paramtypes", [MatDialog,
175
- FsMessage])
176
- ], ProcessesComponent);
177
- export { ProcessesComponent };
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL3N5c3RlbS8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL3Byb2Nlc3Nlcy9wcm9jZXNzZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQVEzQyxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtJQWtCN0IsWUFDVSxPQUFrQixFQUNsQixRQUFtQjtRQURuQixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFWYixZQUFPLEdBQW9CLEVBQUUsQ0FBQztRQUV2QyxXQUFNLEdBQWlCLElBQUksQ0FBQztRQUM1QixrQkFBYSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLFlB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O0lBQ0wsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFPO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLElBQUksRUFBRTtnQkFDSixPQUFPO2dCQUNQLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzthQUM5QjtZQUNELEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBOztZQWhJb0IsU0FBUztZQUNSLFNBQVM7O0FBbEJEO0lBQTNCLFNBQVMsQ0FBQyxlQUFlLENBQUM7OEJBQU8sZUFBZTtnREFBQztBQUV6QztJQUFSLEtBQUssRUFBRTs7eURBQStFO0FBQzlFO0lBQVIsS0FBSyxFQUFFOzt1REFBb0Q7QUFDbkQ7SUFBUixLQUFLLEVBQUU7OytDQUE0QztBQUMzQztJQUFSLEtBQUssRUFBRTs7Z0RBQTZDO0FBQzVDO0lBQVIsS0FBSyxFQUFFOztrREFBK0M7QUFDOUM7SUFBUixLQUFLLEVBQUU7O29EQUFxQztBQUNwQztJQUFSLEtBQUssRUFBRTs7bURBQXNDO0FBVm5DLGtCQUFrQjtJQUw5QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLDRwREFBeUM7O0tBRTFDLENBQUM7cUNBb0JtQixTQUFTO1FBQ1IsU0FBUztHQXBCbEIsa0JBQWtCLENBbUo5QjtTQW5KWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9jZXNzQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9wcm9jZXNzL3Byb2Nlc3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvY2Vzc1N0YXRlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcclxuaW1wb3J0IHsgUHJvY2Vzc0FjdGlvbiB9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcy9wcm9jZXNzLWFjdGlvbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcclxuaW1wb3J0IHsgUHJvY2Vzc1N0YXRlcyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XHJcbmltcG9ydCB7IEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBpbmRleE5hbWVWYWx1ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvaW5kZXgtbmFtZS12YWx1ZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ZzLXN5c3RlbS1wcm9jZXNzZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3Nlcy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9jZXNzZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50KSBsaXN0OiBGc0xpc3RDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkUHJvY2Vzc2VzOiAoZGF0YTogYW55KSA9PiBPYnNlcnZhYmxlPHsgZGF0YTogYW55W10sIHBhZ2luZzogYW55IH0+O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkUHJvY2VzczogKGRhdGE6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBydW46IChkYXRhOiBhbnkpID0+IE9ic2VydmFibGU8YW55PjtcclxuICBASW5wdXQoKSBwdWJsaWMga2lsbDogKGRhdGE6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxldGU6IChkYXRhOiBhbnkpID0+IE9ic2VydmFibGU8YW55PjtcclxuICBASW5wdXQoKSBwdWJsaWMgZG93bmxvYWQ6IChkYXRhOiBhbnkpID0+IGFueTtcclxuICBASW5wdXQoKSBwdWJsaWMgYWN0aW9uczogUHJvY2Vzc0FjdGlvbltdID0gW107XHJcblxyXG4gIHB1YmxpYyBjb25maWc6IEZzTGlzdENvbmZpZyA9IG51bGw7XHJcbiAgcHVibGljIFByb2Nlc3NTdGF0ZXMgPSBpbmRleE5hbWVWYWx1ZShQcm9jZXNzU3RhdGVzKTtcclxuICBwdWJsaWMgUHJvY2Vzc1N0YXRlID0gUHJvY2Vzc1N0YXRlO1xyXG5cclxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF9tZXNzYWdlOiBGc01lc3NhZ2VcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9jb25maWdMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb25maWdMaXN0KCkge1xyXG5cclxuICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICBhY3Rpb25zOiBbXSxcclxuICAgICAgcm93QWN0aW9uczogW10sXHJcbiAgICAgIGZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5LZXl3b3JkLFxyXG4gICAgICAgICAgbmFtZTogJ2tleXdvcmQnLFxyXG4gICAgICAgICAgbGFiZWw6ICdTZWFyY2gnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXHJcbiAgICAgICAgICBuYW1lOiAnc3RhdGUnLFxyXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxyXG4gICAgICAgICAgdmFsdWVzOiBQcm9jZXNzU3RhdGVzXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgZmV0Y2g6IHF1ZXJ5ID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkUHJvY2Vzc2VzKHF1ZXJ5KVxyXG4gICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gKHsgZGF0YTogcmVzcG9uc2UuZGF0YSwgcGFnaW5nOiByZXNwb25zZS5wYWdpbmcgfSkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnJ1bikge1xyXG4gICAgICB0aGlzLmNvbmZpZy5yb3dBY3Rpb25zLnB1c2goe1xyXG4gICAgICAgIGxhYmVsOiAnUnVuJyxcclxuICAgICAgICBjbGljazogKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuX21lc3NhZ2UuaW5mbygnUnVubmluZyBwcm9jZXNzLi4uJyk7XHJcbiAgICAgICAgICB0aGlzLnJ1bihkYXRhKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcclxuICAgICAgICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdTdWNjZXNmdWxseSByYW4gcHJvY2VzcycpO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcclxuICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5raWxsKSB7XHJcbiAgICAgIHRoaXMuY29uZmlnLnJvd0FjdGlvbnMucHVzaCh7XHJcbiAgICAgICAgbGFiZWw6ICdLaWxsJyxcclxuICAgICAgICBzaG93OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuICEhZGF0YS5waWQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbGljazogKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuX21lc3NhZ2UuaW5mbygnS2lsbGluZyBwcm9jZXNzLi4uJyk7XHJcbiAgICAgICAgICB0aGlzLmtpbGwoZGF0YSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnU3VjY2VzZnVsbHkga2lsbGVkIHByb2Nlc3MnKTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XHJcbiAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGVsZXRlKSB7XHJcbiAgICAgIHRoaXMuY29uZmlnLnJvd0FjdGlvbnMucHVzaCh7XHJcbiAgICAgICAgbGFiZWw6ICdEZWxldGUnLFxyXG4gICAgICAgIGNsaWNrOiAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kZWxldGUoZGF0YSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnRGVsZXRlZCBwcm9jZXNzJyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWN0aW9ucy5mb3JFYWNoKGFjdGlvbiA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlnLmFjdGlvbnMucHVzaCh7XHJcbiAgICAgICAgcHJpbWFyeTogZmFsc2UsXHJcbiAgICAgICAgbGFiZWw6IGFjdGlvbi5sYWJlbCxcclxuICAgICAgICBtZW51OiBhY3Rpb24ubWVudSxcclxuICAgICAgICBjbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGFjdGlvbi5jbGljaykge1xyXG4gICAgICAgICAgICBhY3Rpb24uY2xpY2soKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoYWN0aW9uLmNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKGFjdGlvbi5jb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAnODAwcHgnXHJcbiAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW4ocHJvY2Vzcykge1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oUHJvY2Vzc0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgcHJvY2VzcyxcclxuICAgICAgICBsb2FkUHJvY2VzczogdGhpcy5sb2FkUHJvY2VzcyxcclxuICAgICAgfSxcclxuICAgICAgd2lkdGg6ICc4NSUnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { ProcessComponent } from './../process/process.component';
2
+ import { ProcessState } from '../../enums';
3
+ import { FsMessage } from '@firestitch/message';
4
+ import { SystemService } from './../../services/system.service';
5
+ import { Component, Input, ViewChild } from '@angular/core';
6
+ import { ItemType } from '@firestitch/filter';
7
+ import { ProcessStates } from '../../consts';
8
+ import { FsListComponent } from '@firestitch/list';
9
+ import { map, takeUntil } from 'rxjs/operators';
10
+ import { indexNameValue } from '../../helpers/index-name-value';
11
+ import { MatDialog } from '@angular/material/dialog';
12
+ import { Subject } from 'rxjs';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "./../../services/system.service";
15
+ import * as i2 from "@angular/material/dialog";
16
+ import * as i3 from "@firestitch/message";
17
+ import * as i4 from "@firestitch/list";
18
+ import * as i5 from "@firestitch/date";
19
+ import * as i6 from "@angular/common";
20
+ export class ProcessesComponent {
21
+ constructor(_systemService, _dialog, _message) {
22
+ this._systemService = _systemService;
23
+ this._dialog = _dialog;
24
+ this._message = _message;
25
+ this.actions = [];
26
+ this.config = null;
27
+ this.ProcessStates = indexNameValue(ProcessStates);
28
+ this.ProcessState = ProcessState;
29
+ this._destroy$ = new Subject();
30
+ }
31
+ ngOnInit() {
32
+ this._configList();
33
+ }
34
+ _configList() {
35
+ this.config = {
36
+ actions: [],
37
+ rowActions: [],
38
+ filters: [
39
+ {
40
+ type: ItemType.Keyword,
41
+ name: 'keyword',
42
+ label: 'Search'
43
+ },
44
+ {
45
+ type: ItemType.Select,
46
+ name: 'state',
47
+ label: 'Status',
48
+ values: ProcessStates
49
+ },
50
+ ],
51
+ fetch: query => {
52
+ return this.loadProcesses(query)
53
+ .pipe(map((response) => ({ data: this._systemService.input(response.data), paging: response.paging })));
54
+ }
55
+ };
56
+ if (this.run) {
57
+ this.config.rowActions.push({
58
+ label: 'Run',
59
+ click: (data) => {
60
+ this._message.info('Running process...');
61
+ this.run(data)
62
+ .subscribe(() => {
63
+ this.list.reload();
64
+ this._message.success('Succesfully ran process');
65
+ });
66
+ setTimeout(() => {
67
+ this.list.reload();
68
+ }, 500);
69
+ }
70
+ });
71
+ }
72
+ if (this.kill) {
73
+ this.config.rowActions.push({
74
+ label: 'Kill',
75
+ show: (data) => {
76
+ return !!data.pid;
77
+ },
78
+ click: (data) => {
79
+ this._message.info('Killing process...');
80
+ this.kill(data)
81
+ .subscribe(() => {
82
+ this.list.reload();
83
+ this._message.success('Succesfully killed process');
84
+ });
85
+ setTimeout(() => {
86
+ this.list.reload();
87
+ }, 500);
88
+ }
89
+ });
90
+ }
91
+ if (this.delete) {
92
+ this.config.rowActions.push({
93
+ label: 'Delete',
94
+ click: (data) => {
95
+ this.delete(data)
96
+ .subscribe(() => {
97
+ this.list.reload();
98
+ this._message.success('Deleted process');
99
+ });
100
+ }
101
+ });
102
+ }
103
+ this.actions.forEach(action => {
104
+ this.config.actions.push({
105
+ primary: false,
106
+ label: action.label,
107
+ menu: action.menu,
108
+ click: () => {
109
+ if (action.click) {
110
+ action.click();
111
+ }
112
+ if (action.component) {
113
+ const dialogRef = this._dialog.open(action.component, {
114
+ width: '800px'
115
+ });
116
+ dialogRef.afterClosed()
117
+ .pipe(takeUntil(this._destroy$))
118
+ .subscribe(result => {
119
+ this.list.reload();
120
+ });
121
+ }
122
+ },
123
+ });
124
+ });
125
+ }
126
+ open(process) {
127
+ this._dialog.open(ProcessComponent, {
128
+ data: {
129
+ process,
130
+ loadProcess: this.loadProcess,
131
+ },
132
+ width: '85%'
133
+ });
134
+ }
135
+ ngOnDestroy() {
136
+ this._destroy$.next();
137
+ this._destroy$.complete();
138
+ }
139
+ }
140
+ ProcessesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProcessesComponent, deps: [{ token: i1.SystemService }, { token: i2.MatDialog }, { token: i3.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
141
+ 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\">\n <fs-list-column>\n <ng-template fs-list-header>Name</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.prettyName}}</a>\n </ng-template>\n </fs-list-column>\n\n <fs-list-column>\n <ng-template fs-list-header>Status</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{ProcessStates[row.state]}}\n <small>\n <div *ngIf=\"row.state===ProcessState.Running && row.percent\">Complete: {{ row.percent }}%</div>\n <div *ngIf=\"row.state===ProcessState.Completed && row.filename\">Download: <a href=\"javascript:;\" (click)=\"download(row)\">{{ row.filename }}</a></div>\n <div *ngIf=\"row.pid\">PID: {{ row.pid }}</div>\n <div *ngIf=\"row.state===ProcessState.Running && row.notify\">Notify: {{ row.notify }}</div>\n </small>\n </ng-template>\n </fs-list-column>\n\n <fs-list-column>\n <ng-template fs-list-header>Duration</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.duration | fsDateDuration: {hours: true, minutes: true, seconds: true} }}\n </ng-template>\n </fs-list-column>\n\n\n <fs-list-column>\n <ng-template fs-list-header>Message</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{row.message}}\n </ng-template>\n </fs-list-column>\n\n <fs-list-column>\n <ng-template fs-list-header>Completed</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.endDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [""], components: [{ type: i4.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i5.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], directives: [{ type: i4.FsListColumnDirective, selector: "fs-list-column", inputs: ["title", "name", "show", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i4.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { type: i4.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fsDateDuration": i5.FsDateDurationPipe } });
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProcessesComponent, decorators: [{
143
+ type: Component,
144
+ args: [{
145
+ selector: 'fs-system-processes',
146
+ templateUrl: './processes.component.html',
147
+ styleUrls: ['./processes.component.scss']
148
+ }]
149
+ }], ctorParameters: function () { return [{ type: i1.SystemService }, { type: i2.MatDialog }, { type: i3.FsMessage }]; }, propDecorators: { list: [{
150
+ type: ViewChild,
151
+ args: [FsListComponent]
152
+ }], loadProcesses: [{
153
+ type: Input
154
+ }], loadProcess: [{
155
+ type: Input
156
+ }], run: [{
157
+ type: Input
158
+ }], kill: [{
159
+ type: Input
160
+ }], delete: [{
161
+ type: Input
162
+ }], download: [{
163
+ type: Input
164
+ }], actions: [{
165
+ type: Input
166
+ }] } });
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9jZXNzZXMvcHJvY2Vzc2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9jZXNzZXMvcHJvY2Vzc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFRM0MsTUFBTSxPQUFPLGtCQUFrQjtJQWtCN0IsWUFDVSxjQUE2QixFQUM3QixPQUFrQixFQUNsQixRQUFtQjtRQUZuQixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFX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cm9jZXNzL3Byb2Nlc3MuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2Nlc3NTdGF0ZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IEZzTWVzc2FnZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lc3NhZ2UnO1xuaW1wb3J0IHsgUHJvY2Vzc0FjdGlvbiB9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcy9wcm9jZXNzLWFjdGlvbic7XG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9zeXN0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcbmltcG9ydCB7IFByb2Nlc3NTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgRnNMaXN0Q29tcG9uZW50LCBGc0xpc3RDb25maWcgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2luZGV4LW5hbWUtdmFsdWUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1zeXN0ZW0tcHJvY2Vzc2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3Nlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3Nlcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3Nlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKEZzTGlzdENvbXBvbmVudCkgbGlzdDogRnNMaXN0Q29tcG9uZW50O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkUHJvY2Vzc2VzOiAoZGF0YTogYW55KSA9PiBPYnNlcnZhYmxlPHsgZGF0YTogYW55W10sIHBhZ2luZzogYW55IH0+O1xuICBASW5wdXQoKSBwdWJsaWMgbG9hZFByb2Nlc3M6IChkYXRhOiBhbnkpID0+IE9ic2VydmFibGU8YW55PjtcbiAgQElucHV0KCkgcHVibGljIHJ1bjogKGRhdGE6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMga2lsbDogKGRhdGE6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgZGVsZXRlOiAoZGF0YTogYW55KSA9PiBPYnNlcnZhYmxlPGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBkb3dubG9hZDogKGRhdGE6IGFueSkgPT4gYW55O1xuICBASW5wdXQoKSBwdWJsaWMgYWN0aW9uczogUHJvY2Vzc0FjdGlvbltdID0gW107XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnID0gbnVsbDtcbiAgcHVibGljIFByb2Nlc3NTdGF0ZXMgPSBpbmRleE5hbWVWYWx1ZShQcm9jZXNzU3RhdGVzKTtcbiAgcHVibGljIFByb2Nlc3NTdGF0ZSA9IFByb2Nlc3NTdGF0ZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9tZXNzYWdlOiBGc01lc3NhZ2VcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fY29uZmlnTGlzdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlnTGlzdCgpIHtcblxuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgYWN0aW9uczogW10sXG4gICAgICByb3dBY3Rpb25zOiBbXSxcbiAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLktleXdvcmQsXG4gICAgICAgICAgbmFtZTogJ2tleXdvcmQnLFxuICAgICAgICAgIGxhYmVsOiAnU2VhcmNoJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuU2VsZWN0LFxuICAgICAgICAgIG5hbWU6ICdzdGF0ZScsXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlczogUHJvY2Vzc1N0YXRlc1xuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGZldGNoOiBxdWVyeSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRQcm9jZXNzZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+ICh7IGRhdGE6IHRoaXMuX3N5c3RlbVNlcnZpY2UuaW5wdXQocmVzcG9uc2UuZGF0YSksIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nIH0pKVxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmICh0aGlzLnJ1bikge1xuICAgICAgdGhpcy5jb25maWcucm93QWN0aW9ucy5wdXNoKHtcbiAgICAgICAgbGFiZWw6ICdSdW4nLFxuICAgICAgICBjbGljazogKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLl9tZXNzYWdlLmluZm8oJ1J1bm5pbmcgcHJvY2Vzcy4uLicpO1xuICAgICAgICAgIHRoaXMucnVuKGRhdGEpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XG4gICAgICAgICAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ1N1Y2Nlc2Z1bGx5IHJhbiBwcm9jZXNzJyk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5raWxsKSB7XG4gICAgICB0aGlzLmNvbmZpZy5yb3dBY3Rpb25zLnB1c2goe1xuICAgICAgICBsYWJlbDogJ0tpbGwnLFxuICAgICAgICBzaG93OiAoZGF0YSkgPT4ge1xuICAgICAgICAgIHJldHVybiAhIWRhdGEucGlkO1xuICAgICAgICB9LFxuICAgICAgICBjbGljazogKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLl9tZXNzYWdlLmluZm8oJ0tpbGxpbmcgcHJvY2Vzcy4uLicpO1xuICAgICAgICAgIHRoaXMua2lsbChkYXRhKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5saXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdTdWNjZXNmdWxseSBraWxsZWQgcHJvY2VzcycpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XG4gICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVsZXRlKSB7XG4gICAgICB0aGlzLmNvbmZpZy5yb3dBY3Rpb25zLnB1c2goe1xuICAgICAgICBsYWJlbDogJ0RlbGV0ZScsXG4gICAgICAgIGNsaWNrOiAoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVsZXRlKGRhdGEpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XG4gICAgICAgICAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ0RlbGV0ZWQgcHJvY2VzcycpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGlvbnMuZm9yRWFjaChhY3Rpb24gPT4ge1xuICAgICAgdGhpcy5jb25maWcuYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgcHJpbWFyeTogZmFsc2UsXG4gICAgICAgIGxhYmVsOiBhY3Rpb24ubGFiZWwsXG4gICAgICAgIG1lbnU6IGFjdGlvbi5tZW51LFxuICAgICAgICBjbGljazogKCkgPT4ge1xuICAgICAgICAgIGlmIChhY3Rpb24uY2xpY2spIHtcbiAgICAgICAgICAgIGFjdGlvbi5jbGljaygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChhY3Rpb24uY29tcG9uZW50KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKGFjdGlvbi5jb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzgwMHB4J1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3Blbihwcm9jZXNzKSB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oUHJvY2Vzc0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICBwcm9jZXNzLFxuICAgICAgICBsb2FkUHJvY2VzczogdGhpcy5sb2FkUHJvY2VzcyxcbiAgICAgIH0sXG4gICAgICB3aWR0aDogJzg1JSdcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGZzLWxpc3QgW2NvbmZpZ109XCJjb25maWdcIj5cbiAgPGZzLWxpc3QtY29sdW1uPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5OYW1lPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxhIChjbGljayk9XCJvcGVuKHJvdylcIj57e3Jvdy5wcmV0dHlOYW1lfX08L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cblxuICA8ZnMtbGlzdC1jb2x1bW4+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtaGVhZGVyPlN0YXR1czwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICB7e1Byb2Nlc3NTdGF0ZXNbcm93LnN0YXRlXX19XG4gICAgICA8c21hbGw+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJyb3cuc3RhdGU9PT1Qcm9jZXNzU3RhdGUuUnVubmluZyAmJiByb3cucGVyY2VudFwiPkNvbXBsZXRlOiB7eyByb3cucGVyY2VudCB9fSU8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInJvdy5zdGF0ZT09PVByb2Nlc3NTdGF0ZS5Db21wbGV0ZWQgJiYgcm93LmZpbGVuYW1lXCI+RG93bmxvYWQ6IDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAoY2xpY2spPVwiZG93bmxvYWQocm93KVwiPnt7IHJvdy5maWxlbmFtZSB9fTwvYT48L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInJvdy5waWRcIj5QSUQ6IHt7IHJvdy5waWQgfX08L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInJvdy5zdGF0ZT09PVByb2Nlc3NTdGF0ZS5SdW5uaW5nICYmIHJvdy5ub3RpZnlcIj5Ob3RpZnk6IHt7IHJvdy5ub3RpZnkgfX08L2Rpdj5cbiAgICAgIDwvc21hbGw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cblxuICA8ZnMtbGlzdC1jb2x1bW4+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtaGVhZGVyPkR1cmF0aW9uPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIHt7IHJvdy5kdXJhdGlvbiB8IGZzRGF0ZUR1cmF0aW9uOiB7aG91cnM6IHRydWUsIG1pbnV0ZXM6IHRydWUsIHNlY29uZHM6IHRydWV9IH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cblxuXG4gIDxmcy1saXN0LWNvbHVtbj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1oZWFkZXI+TWVzc2FnZTwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICB7e3Jvdy5tZXNzYWdlfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuXG4gIDxmcy1saXN0LWNvbHVtbj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1oZWFkZXI+Q29tcGxldGVkPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxmcy1kYXRlLWFnbyBbZGF0ZV09XCJyb3cuZW5kRGF0ZVwiPjwvZnMtZGF0ZS1hZ28+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbjwvZnMtbGlzdD5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './server-log.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2VydmVyLWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXJ2ZXItbG9nLmNvbXBvbmVudCc7XG4iXX0=