@firestitch/system 9.1.8 → 9.2.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.
- package/app/components/api-logs/api-logs.component.d.ts +1 -3
- package/app/components/crons/crons.component.d.ts +1 -3
- package/app/components/dashboard/dashboard.component.d.ts +1 -3
- package/app/components/processes/processes.component.d.ts +1 -3
- package/app/components/server-logs/server-logs.component.d.ts +1 -3
- package/app/components/settings/settings.component.d.ts +1 -3
- package/app/components/upgrade-logs/upgrade-logs.component.d.ts +0 -3
- package/app/enums/setting-interface-type.enum.d.ts +2 -1
- package/app/interfaces/system-config.d.ts +0 -1
- package/bundles/firestitch-system.umd.js +48 -113
- package/bundles/firestitch-system.umd.js.map +1 -1
- package/bundles/firestitch-system.umd.min.js +2 -2
- package/bundles/firestitch-system.umd.min.js.map +1 -1
- package/esm2015/app/components/api-logs/api-logs.component.js +5 -9
- package/esm2015/app/components/crons/crons.component.js +8 -12
- package/esm2015/app/components/dashboard/dashboard.component.js +3 -7
- package/esm2015/app/components/processes/processes.component.js +4 -8
- package/esm2015/app/components/server-logs/server-logs.component.js +6 -10
- package/esm2015/app/components/settings/settings.component.js +5 -8
- package/esm2015/app/components/upgrade-logs/upgrade-logs.component.js +4 -10
- package/esm2015/app/enums/setting-interface-type.enum.js +3 -2
- package/esm2015/app/fs-system.module.js +1 -5
- package/esm2015/app/interfaces/system-config.js +1 -1
- package/esm2015/app/pipes/key-name-value.pipe.js +2 -2
- package/esm2015/firestitch-system.js +15 -17
- package/esm5/app/components/api-logs/api-logs.component.js +5 -9
- package/esm5/app/components/crons/crons.component.js +8 -12
- package/esm5/app/components/dashboard/dashboard.component.js +3 -7
- package/esm5/app/components/processes/processes.component.js +4 -8
- package/esm5/app/components/server-logs/server-logs.component.js +6 -10
- package/esm5/app/components/settings/settings.component.js +5 -8
- package/esm5/app/components/upgrade-logs/upgrade-logs.component.js +4 -10
- package/esm5/app/enums/setting-interface-type.enum.js +3 -2
- package/esm5/app/fs-system.module.js +1 -5
- package/esm5/app/interfaces/system-config.js +1 -1
- package/esm5/app/pipes/key-name-value.pipe.js +1 -1
- package/esm5/firestitch-system.js +15 -17
- package/fesm2015/firestitch-system.js +35 -97
- package/fesm2015/firestitch-system.js.map +1 -1
- package/fesm5/firestitch-system.js +34 -99
- package/fesm5/firestitch-system.js.map +1 -1
- package/firestitch-system.d.ts +14 -17
- package/firestitch-system.metadata.json +1 -1
- package/package.json +1 -1
- package/app/services/index.d.ts +0 -1
- package/app/services/system.service.d.ts +0 -7
- package/esm2015/app/services/index.js +0 -2
- package/esm2015/app/services/system.service.js +0 -43
- package/esm5/app/services/index.js +0 -2
- package/esm5/app/services/system.service.js +0 -46
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { __decorate,
|
|
2
|
-
import { InjectionToken,
|
|
3
|
-
import * as _snakecaseKeys from 'snakecase-keys';
|
|
4
|
-
import * as _camelcaseKeys from 'camelcase-keys';
|
|
5
|
-
import { isArray, groupBy, reduce } from 'lodash-es';
|
|
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';
|
|
6
3
|
import { CommonModule } from '@angular/common';
|
|
7
4
|
import { FormsModule } from '@angular/forms';
|
|
8
5
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
@@ -31,52 +28,16 @@ import { differenceInMinutes } from 'date-fns';
|
|
|
31
28
|
import { ItemType } from '@firestitch/filter';
|
|
32
29
|
import { SelectionActionType } from '@firestitch/selection';
|
|
33
30
|
import { FsPrompt } from '@firestitch/prompt';
|
|
31
|
+
import { groupBy, reduce } from 'lodash-es';
|
|
34
32
|
import { ClipboardService, ClipboardModule } from 'ngx-clipboard';
|
|
35
33
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
36
34
|
|
|
37
35
|
const FS_SYSTEM_CONFIG = new InjectionToken('fs-system-config');
|
|
38
36
|
|
|
39
|
-
const snakecaseKeys = _snakecaseKeys;
|
|
40
|
-
const camelcaseKeys = _camelcaseKeys;
|
|
41
|
-
let SystemService = class SystemService {
|
|
42
|
-
constructor(_config) {
|
|
43
|
-
this._config = _config;
|
|
44
|
-
}
|
|
45
|
-
input(data) {
|
|
46
|
-
if (isArray(data)) {
|
|
47
|
-
return data.map(item => {
|
|
48
|
-
return this._config.case === 'snake' ? camelcaseKeys(item, { deep: true }) : item;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
return this._config.case === 'snake' ? camelcaseKeys(data, { deep: true }) : data;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
output(data) {
|
|
56
|
-
if (isArray(data)) {
|
|
57
|
-
return data.map(item => {
|
|
58
|
-
return this._config.case === 'snake' ? snakecaseKeys(item, { deep: true }) : item;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return this._config.case === 'snake' ? snakecaseKeys(data, { deep: true }) : data;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
SystemService.ctorParameters = () => [
|
|
67
|
-
{ type: undefined, decorators: [{ type: Inject, args: [FS_SYSTEM_CONFIG,] }] }
|
|
68
|
-
];
|
|
69
|
-
SystemService = __decorate([
|
|
70
|
-
Injectable(),
|
|
71
|
-
__param(0, Inject(FS_SYSTEM_CONFIG)),
|
|
72
|
-
__metadata("design:paramtypes", [Object])
|
|
73
|
-
], SystemService);
|
|
74
|
-
|
|
75
37
|
let DashboardComponent = class DashboardComponent {
|
|
76
|
-
constructor(_message, _cdRef,
|
|
38
|
+
constructor(_message, _cdRef, _buildService) {
|
|
77
39
|
this._message = _message;
|
|
78
40
|
this._cdRef = _cdRef;
|
|
79
|
-
this._systemService = _systemService;
|
|
80
41
|
this._buildService = _buildService;
|
|
81
42
|
this.buttonActions = [];
|
|
82
43
|
this.menuActions = [];
|
|
@@ -98,7 +59,7 @@ let DashboardComponent = class DashboardComponent {
|
|
|
98
59
|
_load() {
|
|
99
60
|
this.load()
|
|
100
61
|
.subscribe((dashboard) => {
|
|
101
|
-
this.dashboard =
|
|
62
|
+
this.dashboard = dashboard;
|
|
102
63
|
this.dashboard.cronRanAttention = !dashboard.cronRan ||
|
|
103
64
|
differenceInMinutes(new Date(), new Date(dashboard.cronRan)) > 15;
|
|
104
65
|
this._cdRef.markForCheck();
|
|
@@ -128,7 +89,6 @@ let DashboardComponent = class DashboardComponent {
|
|
|
128
89
|
DashboardComponent.ctorParameters = () => [
|
|
129
90
|
{ type: FsMessage },
|
|
130
91
|
{ type: ChangeDetectorRef },
|
|
131
|
-
{ type: SystemService },
|
|
132
92
|
{ type: FsBuildService }
|
|
133
93
|
];
|
|
134
94
|
__decorate([
|
|
@@ -156,7 +116,6 @@ DashboardComponent = __decorate([
|
|
|
156
116
|
}),
|
|
157
117
|
__metadata("design:paramtypes", [FsMessage,
|
|
158
118
|
ChangeDetectorRef,
|
|
159
|
-
SystemService,
|
|
160
119
|
FsBuildService])
|
|
161
120
|
], DashboardComponent);
|
|
162
121
|
|
|
@@ -182,7 +141,8 @@ var SettingInterfaceType;
|
|
|
182
141
|
SettingInterfaceType["RadioButton"] = "R";
|
|
183
142
|
SettingInterfaceType["InputBox"] = "I";
|
|
184
143
|
SettingInterfaceType["Textarea"] = "T";
|
|
185
|
-
SettingInterfaceType["
|
|
144
|
+
SettingInterfaceType["Select"] = "D";
|
|
145
|
+
SettingInterfaceType["SelectMultiple"] = "W";
|
|
186
146
|
SettingInterfaceType["Date"] = "A";
|
|
187
147
|
SettingInterfaceType["File"] = "F";
|
|
188
148
|
SettingInterfaceType["Static"] = "S";
|
|
@@ -374,9 +334,8 @@ CronComponent = __decorate([
|
|
|
374
334
|
], CronComponent);
|
|
375
335
|
|
|
376
336
|
let CronsComponent = class CronsComponent {
|
|
377
|
-
constructor(_message,
|
|
337
|
+
constructor(_message, _dialog) {
|
|
378
338
|
this._message = _message;
|
|
379
|
-
this._systemService = _systemService;
|
|
380
339
|
this._dialog = _dialog;
|
|
381
340
|
this.config = null;
|
|
382
341
|
this.cronStates = indexNameValue(CronStates);
|
|
@@ -404,7 +363,7 @@ let CronsComponent = class CronsComponent {
|
|
|
404
363
|
fetch: query => {
|
|
405
364
|
query.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
406
365
|
return this.loadCrons(query)
|
|
407
|
-
.pipe(map((response) => ({ data:
|
|
366
|
+
.pipe(map((response) => ({ data: response })));
|
|
408
367
|
},
|
|
409
368
|
};
|
|
410
369
|
if (this.bulk) {
|
|
@@ -447,7 +406,7 @@ let CronsComponent = class CronsComponent {
|
|
|
447
406
|
return [
|
|
448
407
|
{
|
|
449
408
|
action: (data) => {
|
|
450
|
-
return this.queue(
|
|
409
|
+
return this.queue(data)
|
|
451
410
|
.pipe(tap(() => {
|
|
452
411
|
this._message.success('Queued cron');
|
|
453
412
|
this.list.reload();
|
|
@@ -460,7 +419,7 @@ let CronsComponent = class CronsComponent {
|
|
|
460
419
|
},
|
|
461
420
|
{
|
|
462
421
|
action: (data) => {
|
|
463
|
-
return this.run(
|
|
422
|
+
return this.run(data)
|
|
464
423
|
.pipe(tap(() => {
|
|
465
424
|
this._message.success('Cron ran');
|
|
466
425
|
this.list.reload();
|
|
@@ -473,7 +432,7 @@ let CronsComponent = class CronsComponent {
|
|
|
473
432
|
},
|
|
474
433
|
{
|
|
475
434
|
action: (data) => {
|
|
476
|
-
return this.enable(
|
|
435
|
+
return this.enable(data)
|
|
477
436
|
.pipe(tap(() => {
|
|
478
437
|
this._message.success('Enabled cron');
|
|
479
438
|
this.list.reload();
|
|
@@ -486,7 +445,7 @@ let CronsComponent = class CronsComponent {
|
|
|
486
445
|
},
|
|
487
446
|
{
|
|
488
447
|
action: (data) => {
|
|
489
|
-
return this.disable(
|
|
448
|
+
return this.disable(data)
|
|
490
449
|
.pipe(tap(() => {
|
|
491
450
|
this._message.success('Disabled cron');
|
|
492
451
|
this.list.reload();
|
|
@@ -499,7 +458,7 @@ let CronsComponent = class CronsComponent {
|
|
|
499
458
|
},
|
|
500
459
|
{
|
|
501
460
|
action: (data) => {
|
|
502
|
-
return this.kill(
|
|
461
|
+
return this.kill(data)
|
|
503
462
|
.pipe(tap(() => {
|
|
504
463
|
this._message.success('Killed cron');
|
|
505
464
|
this.list.reload();
|
|
@@ -515,7 +474,6 @@ let CronsComponent = class CronsComponent {
|
|
|
515
474
|
};
|
|
516
475
|
CronsComponent.ctorParameters = () => [
|
|
517
476
|
{ type: FsMessage },
|
|
518
|
-
{ type: SystemService },
|
|
519
477
|
{ type: MatDialog }
|
|
520
478
|
];
|
|
521
479
|
__decorate([
|
|
@@ -565,14 +523,12 @@ CronsComponent = __decorate([
|
|
|
565
523
|
styles: [""]
|
|
566
524
|
}),
|
|
567
525
|
__metadata("design:paramtypes", [FsMessage,
|
|
568
|
-
SystemService,
|
|
569
526
|
MatDialog])
|
|
570
527
|
], CronsComponent);
|
|
571
528
|
|
|
572
529
|
let SettingsComponent = class SettingsComponent {
|
|
573
|
-
constructor(_message,
|
|
530
|
+
constructor(_message, _clipboardService, _prompt, _cdRef) {
|
|
574
531
|
this._message = _message;
|
|
575
|
-
this._systemService = _systemService;
|
|
576
532
|
this._clipboardService = _clipboardService;
|
|
577
533
|
this._prompt = _prompt;
|
|
578
534
|
this._cdRef = _cdRef;
|
|
@@ -585,12 +541,13 @@ let SettingsComponent = class SettingsComponent {
|
|
|
585
541
|
ngOnInit() {
|
|
586
542
|
this.loadSettings()
|
|
587
543
|
.subscribe((settings) => {
|
|
588
|
-
settings = this._systemService.input(settings);
|
|
589
544
|
settings = settings.map((setting) => {
|
|
590
545
|
switch (setting.interfaceType) {
|
|
591
546
|
case SettingInterfaceType.Date:
|
|
592
547
|
case SettingInterfaceType.Time:
|
|
593
548
|
setting.value = parse(setting.value);
|
|
549
|
+
case SettingInterfaceType.SelectMultiple:
|
|
550
|
+
setting.value = Array.isArray(setting.value) ? setting.value : [];
|
|
594
551
|
break;
|
|
595
552
|
}
|
|
596
553
|
return setting;
|
|
@@ -655,7 +612,6 @@ let SettingsComponent = class SettingsComponent {
|
|
|
655
612
|
};
|
|
656
613
|
SettingsComponent.ctorParameters = () => [
|
|
657
614
|
{ type: FsMessage },
|
|
658
|
-
{ type: SystemService },
|
|
659
615
|
{ type: ClipboardService },
|
|
660
616
|
{ type: FsPrompt },
|
|
661
617
|
{ type: ChangeDetectorRef }
|
|
@@ -679,12 +635,11 @@ __decorate([
|
|
|
679
635
|
SettingsComponent = __decorate([
|
|
680
636
|
Component({
|
|
681
637
|
selector: 'fs-system-settings',
|
|
682
|
-
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 class=\"full-width\" *ngIf=\"setting.interfaceType===SettingInterfaceType.InputBox\">\r\n <input\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'
|
|
638
|
+
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 class=\"full-width\" *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 class=\"full-width\" *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 class=\"full-width\" *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 class=\"full-width\" *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 class=\"full-width\" *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",
|
|
683
639
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
684
640
|
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}"]
|
|
685
641
|
}),
|
|
686
642
|
__metadata("design:paramtypes", [FsMessage,
|
|
687
|
-
SystemService,
|
|
688
643
|
ClipboardService,
|
|
689
644
|
FsPrompt,
|
|
690
645
|
ChangeDetectorRef])
|
|
@@ -753,7 +708,7 @@ FileManagerComponent = __decorate([
|
|
|
753
708
|
|
|
754
709
|
let KeyNameValuePipe = class KeyNameValuePipe {
|
|
755
710
|
transform(values) {
|
|
756
|
-
return Object.keys(values).map(key => {
|
|
711
|
+
return Object.keys(values).map((key) => {
|
|
757
712
|
return { value: key, name: values[key] };
|
|
758
713
|
});
|
|
759
714
|
}
|
|
@@ -801,8 +756,7 @@ ProcessComponent = __decorate([
|
|
|
801
756
|
], ProcessComponent);
|
|
802
757
|
|
|
803
758
|
let ProcessesComponent = class ProcessesComponent {
|
|
804
|
-
constructor(
|
|
805
|
-
this._systemService = _systemService;
|
|
759
|
+
constructor(_dialog, _message) {
|
|
806
760
|
this._dialog = _dialog;
|
|
807
761
|
this._message = _message;
|
|
808
762
|
this.actions = [];
|
|
@@ -833,7 +787,7 @@ let ProcessesComponent = class ProcessesComponent {
|
|
|
833
787
|
],
|
|
834
788
|
fetch: query => {
|
|
835
789
|
return this.loadProcesses(query)
|
|
836
|
-
.pipe(map((response) => ({ data:
|
|
790
|
+
.pipe(map((response) => ({ data: response.data, paging: response.paging })));
|
|
837
791
|
}
|
|
838
792
|
};
|
|
839
793
|
if (this.run) {
|
|
@@ -921,7 +875,6 @@ let ProcessesComponent = class ProcessesComponent {
|
|
|
921
875
|
}
|
|
922
876
|
};
|
|
923
877
|
ProcessesComponent.ctorParameters = () => [
|
|
924
|
-
{ type: SystemService },
|
|
925
878
|
{ type: MatDialog },
|
|
926
879
|
{ type: FsMessage }
|
|
927
880
|
];
|
|
@@ -963,8 +916,7 @@ ProcessesComponent = __decorate([
|
|
|
963
916
|
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",
|
|
964
917
|
styles: [""]
|
|
965
918
|
}),
|
|
966
|
-
__metadata("design:paramtypes", [
|
|
967
|
-
MatDialog,
|
|
919
|
+
__metadata("design:paramtypes", [MatDialog,
|
|
968
920
|
FsMessage])
|
|
969
921
|
], ProcessesComponent);
|
|
970
922
|
|
|
@@ -999,9 +951,8 @@ ServerLogComponent = __decorate([
|
|
|
999
951
|
], ServerLogComponent);
|
|
1000
952
|
|
|
1001
953
|
let ServerLogsComponent = class ServerLogsComponent {
|
|
1002
|
-
constructor(_dialog
|
|
954
|
+
constructor(_dialog) {
|
|
1003
955
|
this._dialog = _dialog;
|
|
1004
|
-
this._systemService = _systemService;
|
|
1005
956
|
this.config = null;
|
|
1006
957
|
this.logTypes = [];
|
|
1007
958
|
}
|
|
@@ -1019,20 +970,19 @@ let ServerLogsComponent = class ServerLogsComponent {
|
|
|
1019
970
|
],
|
|
1020
971
|
fetch: query => {
|
|
1021
972
|
return this.loadLogs(query)
|
|
1022
|
-
.pipe(map((response) => ({ data:
|
|
973
|
+
.pipe(map((response) => ({ data: response.data, paging: response.paging })));
|
|
1023
974
|
}
|
|
1024
975
|
};
|
|
1025
976
|
}
|
|
1026
977
|
open(log) {
|
|
1027
|
-
|
|
978
|
+
this._dialog.open(ServerLogComponent, {
|
|
1028
979
|
data: { log: log },
|
|
1029
980
|
width: '85%'
|
|
1030
981
|
});
|
|
1031
982
|
}
|
|
1032
983
|
};
|
|
1033
984
|
ServerLogsComponent.ctorParameters = () => [
|
|
1034
|
-
{ type: MatDialog }
|
|
1035
|
-
{ type: SystemService }
|
|
985
|
+
{ type: MatDialog }
|
|
1036
986
|
];
|
|
1037
987
|
__decorate([
|
|
1038
988
|
ViewChild('list', { static: true }),
|
|
@@ -1048,13 +998,11 @@ ServerLogsComponent = __decorate([
|
|
|
1048
998
|
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",
|
|
1049
999
|
styles: [""]
|
|
1050
1000
|
}),
|
|
1051
|
-
__metadata("design:paramtypes", [MatDialog
|
|
1052
|
-
SystemService])
|
|
1001
|
+
__metadata("design:paramtypes", [MatDialog])
|
|
1053
1002
|
], ServerLogsComponent);
|
|
1054
1003
|
|
|
1055
1004
|
let UpgradeLogsComponent = class UpgradeLogsComponent {
|
|
1056
|
-
constructor(
|
|
1057
|
-
this._systemService = _systemService;
|
|
1005
|
+
constructor() {
|
|
1058
1006
|
this.config = null;
|
|
1059
1007
|
this.logTypes = [];
|
|
1060
1008
|
}
|
|
@@ -1073,14 +1021,11 @@ let UpgradeLogsComponent = class UpgradeLogsComponent {
|
|
|
1073
1021
|
],
|
|
1074
1022
|
fetch: query => {
|
|
1075
1023
|
return this.loadUpgradeLogs(query)
|
|
1076
|
-
.pipe(map((response) => ({ data:
|
|
1024
|
+
.pipe(map((response) => ({ data: response.data, paging: response.paging })));
|
|
1077
1025
|
}
|
|
1078
1026
|
};
|
|
1079
1027
|
}
|
|
1080
1028
|
};
|
|
1081
|
-
UpgradeLogsComponent.ctorParameters = () => [
|
|
1082
|
-
{ type: SystemService }
|
|
1083
|
-
];
|
|
1084
1029
|
__decorate([
|
|
1085
1030
|
ViewChild(FsListComponent, { static: true }),
|
|
1086
1031
|
__metadata("design:type", FsListComponent)
|
|
@@ -1094,8 +1039,7 @@ UpgradeLogsComponent = __decorate([
|
|
|
1094
1039
|
selector: 'fs-system-upgrade-logs',
|
|
1095
1040
|
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",
|
|
1096
1041
|
styles: [""]
|
|
1097
|
-
})
|
|
1098
|
-
__metadata("design:paramtypes", [SystemService])
|
|
1042
|
+
})
|
|
1099
1043
|
], UpgradeLogsComponent);
|
|
1100
1044
|
|
|
1101
1045
|
let ApiLogComponent = class ApiLogComponent {
|
|
@@ -1124,9 +1068,8 @@ ApiLogComponent = __decorate([
|
|
|
1124
1068
|
], ApiLogComponent);
|
|
1125
1069
|
|
|
1126
1070
|
let ApiLogsComponent = class ApiLogsComponent {
|
|
1127
|
-
constructor(_dialog
|
|
1071
|
+
constructor(_dialog) {
|
|
1128
1072
|
this._dialog = _dialog;
|
|
1129
|
-
this._systemService = _systemService;
|
|
1130
1073
|
this.config = null;
|
|
1131
1074
|
this.apiLogStates = indexNameValue(ApiLogStates);
|
|
1132
1075
|
}
|
|
@@ -1156,7 +1099,7 @@ let ApiLogsComponent = class ApiLogsComponent {
|
|
|
1156
1099
|
fetch: query => {
|
|
1157
1100
|
Object.assign(query, {});
|
|
1158
1101
|
return this.loadApiLogs(query)
|
|
1159
|
-
.pipe(map((response) => ({ data:
|
|
1102
|
+
.pipe(map((response) => ({ data: response.data, paging: response.paging })));
|
|
1160
1103
|
}
|
|
1161
1104
|
};
|
|
1162
1105
|
}
|
|
@@ -1168,8 +1111,7 @@ let ApiLogsComponent = class ApiLogsComponent {
|
|
|
1168
1111
|
}
|
|
1169
1112
|
};
|
|
1170
1113
|
ApiLogsComponent.ctorParameters = () => [
|
|
1171
|
-
{ type: MatDialog }
|
|
1172
|
-
{ type: SystemService }
|
|
1114
|
+
{ type: MatDialog }
|
|
1173
1115
|
];
|
|
1174
1116
|
__decorate([
|
|
1175
1117
|
ViewChild(FsListComponent, { static: true }),
|
|
@@ -1185,8 +1127,7 @@ ApiLogsComponent = __decorate([
|
|
|
1185
1127
|
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",
|
|
1186
1128
|
styles: [""]
|
|
1187
1129
|
}),
|
|
1188
|
-
__metadata("design:paramtypes", [MatDialog
|
|
1189
|
-
SystemService])
|
|
1130
|
+
__metadata("design:paramtypes", [MatDialog])
|
|
1190
1131
|
], ApiLogsComponent);
|
|
1191
1132
|
|
|
1192
1133
|
let InfoComponent = class InfoComponent {
|
|
@@ -1288,9 +1229,6 @@ FsSystemModule = FsSystemModule_1 = __decorate([
|
|
|
1288
1229
|
CronComponent,
|
|
1289
1230
|
CronLogComponent,
|
|
1290
1231
|
],
|
|
1291
|
-
providers: [
|
|
1292
|
-
SystemService
|
|
1293
|
-
],
|
|
1294
1232
|
})
|
|
1295
1233
|
], FsSystemModule);
|
|
1296
1234
|
|
|
@@ -1298,5 +1236,5 @@ FsSystemModule = FsSystemModule_1 = __decorate([
|
|
|
1298
1236
|
* Generated bundle index. Do not edit.
|
|
1299
1237
|
*/
|
|
1300
1238
|
|
|
1301
|
-
export { ApiLogState, ApiLogStates, CronState, CronStates, FS_SYSTEM_CONFIG, FsSystemModule, ProcessState, ProcessStates, DashboardComponent as ɵa,
|
|
1239
|
+
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 };
|
|
1302
1240
|
//# sourceMappingURL=firestitch-system.js.map
|