@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.
Files changed (50) hide show
  1. package/app/components/api-logs/api-logs.component.d.ts +1 -3
  2. package/app/components/crons/crons.component.d.ts +1 -3
  3. package/app/components/dashboard/dashboard.component.d.ts +1 -3
  4. package/app/components/processes/processes.component.d.ts +1 -3
  5. package/app/components/server-logs/server-logs.component.d.ts +1 -3
  6. package/app/components/settings/settings.component.d.ts +1 -3
  7. package/app/components/upgrade-logs/upgrade-logs.component.d.ts +0 -3
  8. package/app/enums/setting-interface-type.enum.d.ts +2 -1
  9. package/app/interfaces/system-config.d.ts +0 -1
  10. package/bundles/firestitch-system.umd.js +48 -113
  11. package/bundles/firestitch-system.umd.js.map +1 -1
  12. package/bundles/firestitch-system.umd.min.js +2 -2
  13. package/bundles/firestitch-system.umd.min.js.map +1 -1
  14. package/esm2015/app/components/api-logs/api-logs.component.js +5 -9
  15. package/esm2015/app/components/crons/crons.component.js +8 -12
  16. package/esm2015/app/components/dashboard/dashboard.component.js +3 -7
  17. package/esm2015/app/components/processes/processes.component.js +4 -8
  18. package/esm2015/app/components/server-logs/server-logs.component.js +6 -10
  19. package/esm2015/app/components/settings/settings.component.js +5 -8
  20. package/esm2015/app/components/upgrade-logs/upgrade-logs.component.js +4 -10
  21. package/esm2015/app/enums/setting-interface-type.enum.js +3 -2
  22. package/esm2015/app/fs-system.module.js +1 -5
  23. package/esm2015/app/interfaces/system-config.js +1 -1
  24. package/esm2015/app/pipes/key-name-value.pipe.js +2 -2
  25. package/esm2015/firestitch-system.js +15 -17
  26. package/esm5/app/components/api-logs/api-logs.component.js +5 -9
  27. package/esm5/app/components/crons/crons.component.js +8 -12
  28. package/esm5/app/components/dashboard/dashboard.component.js +3 -7
  29. package/esm5/app/components/processes/processes.component.js +4 -8
  30. package/esm5/app/components/server-logs/server-logs.component.js +6 -10
  31. package/esm5/app/components/settings/settings.component.js +5 -8
  32. package/esm5/app/components/upgrade-logs/upgrade-logs.component.js +4 -10
  33. package/esm5/app/enums/setting-interface-type.enum.js +3 -2
  34. package/esm5/app/fs-system.module.js +1 -5
  35. package/esm5/app/interfaces/system-config.js +1 -1
  36. package/esm5/app/pipes/key-name-value.pipe.js +1 -1
  37. package/esm5/firestitch-system.js +15 -17
  38. package/fesm2015/firestitch-system.js +35 -97
  39. package/fesm2015/firestitch-system.js.map +1 -1
  40. package/fesm5/firestitch-system.js +34 -99
  41. package/fesm5/firestitch-system.js.map +1 -1
  42. package/firestitch-system.d.ts +14 -17
  43. package/firestitch-system.metadata.json +1 -1
  44. package/package.json +1 -1
  45. package/app/services/index.d.ts +0 -1
  46. package/app/services/system.service.d.ts +0 -7
  47. package/esm2015/app/services/index.js +0 -2
  48. package/esm2015/app/services/system.service.js +0 -43
  49. package/esm5/app/services/index.js +0 -2
  50. package/esm5/app/services/system.service.js +0 -46
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"FsSystemModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":45,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":47,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":49,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/material/expansion","name":"MatExpansionModule","line":52,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":53,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":54,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":55,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":56,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":57,"character":4},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":58,"character":4},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":59,"character":4},{"__symbolic":"reference","module":"@firestitch/date","name":"FsDateModule","line":61,"character":4},{"__symbolic":"reference","module":"@firestitch/skeleton","name":"FsSkeletonModule","line":62,"character":4},{"__symbolic":"reference","module":"@firestitch/list","name":"FsListModule","line":63,"character":4},{"__symbolic":"reference","module":"@firestitch/file","name":"FsFileModule","line":64,"character":4},{"__symbolic":"reference","module":"@firestitch/file-manager","name":"FsFileManagerModule","line":65,"character":4},{"__symbolic":"reference","module":"@firestitch/label","name":"FsLabelModule","line":66,"character":4},{"__symbolic":"reference","module":"@firestitch/dialog","name":"FsDialogModule","line":67,"character":4},{"__symbolic":"reference","module":"@firestitch/datepicker","name":"FsDatePickerModule","line":68,"character":4},{"__symbolic":"reference","module":"@firestitch/menu","name":"FsMenuModule","line":69,"character":4},{"__symbolic":"reference","module":"ngx-clipboard","name":"ClipboardModule","line":71,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵl"}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"}],"providers":[{"__symbolic":"reference","name":"ɵb"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"FsSystemModule"},"providers":[{"provide":{"__symbolic":"reference","name":"FS_SYSTEM_CONFIG"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"config"},"right":{}}}]}}}},"FS_SYSTEM_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":36},"arguments":["fs-system-config"]},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"fs-system-dashboard","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":18,"character":19},"member":"OnPush"},"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}}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"upgrade":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":36,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":37,"character":20},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@firestitch/build","name":"FsBuildService","line":39,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"_load":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"actionClick":[{"__symbolic":"method"}],"initClick":[{"__symbolic":"method"}],"upgradeClick":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","name":"FS_SYSTEM_CONFIG"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"input":[{"__symbolic":"method"}],"output":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"interface"},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"fs-system-crons","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":25,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":25,"character":13},{"static":true}]}]}],"enable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"disable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"kill":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"queue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"run":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"loadCrons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"loadCron":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"loadCronLogs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"bulk":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":41,"character":22},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":43,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"getCronActions":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"fs-system-settings","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":18,"character":19},"member":"OnPush"},"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.DropDown\">\r\n <mat-select\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\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","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}"]}]}],"members":{"loadSettings":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"save":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"fileRemove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"fileSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":33,"character":22},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"ngx-clipboard","name":"ClipboardService","line":35,"character":31},{"__symbolic":"reference","module":"@firestitch/prompt","name":"FsPrompt","line":36,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":37,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"export":[{"__symbolic":"method"}],"import":[{"__symbolic":"method"}],"saveGroup":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"fs-system-file-manager","template":"<fs-file-manager [config]=\"config\"></fs-file-manager>","styles":[""]}]}],"members":{"fetch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"deleteFile":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"deleteDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"createDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"download":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"upload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_configFileManager":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"fs-system-processes","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":23,"character":13}]}]}],"loadProcesses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"loadProcess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"run":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"kill":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"delete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"download":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":41,"character":21},{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":42,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"fs-system-server-logs","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":18,"character":3},"arguments":["list",{"static":true}]}]}],"loadLogs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":26,"character":21},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"fs-system-upgrade-logs","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":15,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":15,"character":13},{"static":true}]}]}],"loadUpgradeLogs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"fs-system-api-logs","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":19,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":19,"character":13},{"static":true}]}]}],"loadApiLogs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":28,"character":21},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"fs-system-info","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":8,"character":19},"member":"OnPush"},"template":"<iframe #iframe></iframe>\r\n","styles":["iframe{width:100%;border:0}"]}]}],"members":{"iframe":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":12,"character":3},"arguments":["iframe"]}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"_load":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"keyNameValue"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"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":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":12,"character":22}]}]],"parameters":[null]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"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":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":16,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵo"}]},null]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"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}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":18,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵp"}]},null]}],"ngOnInit":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}]}}},"origins":{"FsSystemModule":"./app/fs-system.module","ApiLogState":"./app/enums","CronState":"./app/enums","ProcessState":"./app/enums","ApiLogStates":"./app/consts","CronStates":"./app/consts","ProcessStates":"./app/consts","FsSystemConfig":"./app/interfaces","DashboardAction":"./app/interfaces","ProcessAction":"./app/interfaces","FS_SYSTEM_CONFIG":"./app/injectors/system-config.injector","ɵa":"./app/components/dashboard/dashboard.component","ɵb":"./app/services/system.service","ɵc":"./app/interfaces/system-config","ɵd":"./app/components/crons/crons.component","ɵe":"./app/services","ɵf":"./app/components/settings/settings.component","ɵg":"./app/components/file-manager/file-manager.component","ɵh":"./app/components/processes/processes.component","ɵi":"./app/components/server-logs/server-logs.component","ɵj":"./app/components/upgrade-logs/upgrade-logs.component","ɵk":"./app/components/api-logs/api-logs.component","ɵl":"./app/components/info/info.component","ɵm":"./app/pipes/key-name-value.pipe","ɵn":"./app/components/server-log/server-log.component","ɵo":"./app/components/api-log/api-log.component","ɵp":"./app/components/process/process.component","ɵq":"./app/components/cron","ɵr":"./app/components/cron-log"},"importAs":"@firestitch/system"}
1
+ {"__symbolic":"module","version":4,"metadata":{"FsSystemModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":44,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":46,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":47,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":48,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":50,"character":4},{"__symbolic":"reference","module":"@angular/material/expansion","name":"MatExpansionModule","line":51,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":52,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":53,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":54,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":55,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":56,"character":4},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":57,"character":4},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":58,"character":4},{"__symbolic":"reference","module":"@firestitch/date","name":"FsDateModule","line":60,"character":4},{"__symbolic":"reference","module":"@firestitch/skeleton","name":"FsSkeletonModule","line":61,"character":4},{"__symbolic":"reference","module":"@firestitch/list","name":"FsListModule","line":62,"character":4},{"__symbolic":"reference","module":"@firestitch/file","name":"FsFileModule","line":63,"character":4},{"__symbolic":"reference","module":"@firestitch/file-manager","name":"FsFileManagerModule","line":64,"character":4},{"__symbolic":"reference","module":"@firestitch/label","name":"FsLabelModule","line":65,"character":4},{"__symbolic":"reference","module":"@firestitch/dialog","name":"FsDialogModule","line":66,"character":4},{"__symbolic":"reference","module":"@firestitch/datepicker","name":"FsDatePickerModule","line":67,"character":4},{"__symbolic":"reference","module":"@firestitch/menu","name":"FsMenuModule","line":68,"character":4},{"__symbolic":"reference","module":"ngx-clipboard","name":"ClipboardModule","line":70,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"FsSystemModule"},"providers":[{"provide":{"__symbolic":"reference","name":"FS_SYSTEM_CONFIG"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"config"},"right":{}}}]}}}},"FS_SYSTEM_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":36},"arguments":["fs-system-config"]},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"fs-system-dashboard","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":17,"character":19},"member":"OnPush"},"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}}"]}]}],"members":{"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"upgrade":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":35,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":36,"character":20},{"__symbolic":"reference","module":"@firestitch/build","name":"FsBuildService","line":37,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"_load":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"actionClick":[{"__symbolic":"method"}],"initClick":[{"__symbolic":"method"}],"upgradeClick":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"fs-system-crons","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":24,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":24,"character":13},{"static":true}]}]}],"enable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"disable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"kill":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"queue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"run":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"loadCrons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"loadCron":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"loadCronLogs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"bulk":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":40,"character":22},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":41,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"getCronActions":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"fs-system-settings","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":17,"character":19},"member":"OnPush"},"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","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}"]}]}],"members":{"loadSettings":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"save":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"fileRemove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"fileSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":32,"character":22},{"__symbolic":"reference","module":"ngx-clipboard","name":"ClipboardService","line":33,"character":31},{"__symbolic":"reference","module":"@firestitch/prompt","name":"FsPrompt","line":34,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":35,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"export":[{"__symbolic":"method"}],"import":[{"__symbolic":"method"}],"saveGroup":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"fs-system-file-manager","template":"<fs-file-manager [config]=\"config\"></fs-file-manager>","styles":[""]}]}],"members":{"fetch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"deleteFile":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"deleteDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"createDirectory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"download":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"upload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_configFileManager":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"fs-system-processes","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":22,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":22,"character":13}]}]}],"loadProcesses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"loadProcess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"run":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"kill":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"delete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"download":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":39,"character":21},{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":40,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"fs-system-server-logs","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":["list",{"static":true}]}]}],"loadLogs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":25,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"fs-system-upgrade-logs","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":14,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":14,"character":13},{"static":true}]}]}],"loadUpgradeLogs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"fs-system-api-logs","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":[""]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":18,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":18,"character":13},{"static":true}]}]}],"loadApiLogs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":27,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"_configList":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"fs-system-info","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":8,"character":19},"member":"OnPush"},"template":"<iframe #iframe></iframe>\r\n","styles":["iframe{width:100%;border:0}"]}]}],"members":{"iframe":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":12,"character":3},"arguments":["iframe"]}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"_load":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"keyNameValue"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"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":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":12,"character":22}]}]],"parameters":[null]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"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":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":16,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵl"}]},null]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"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}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":18,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵm"}]},null]}],"ngOnInit":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}]}}},"origins":{"FsSystemModule":"./app/fs-system.module","ApiLogState":"./app/enums","CronState":"./app/enums","ProcessState":"./app/enums","ApiLogStates":"./app/consts","CronStates":"./app/consts","ProcessStates":"./app/consts","FsSystemConfig":"./app/interfaces","DashboardAction":"./app/interfaces","ProcessAction":"./app/interfaces","FS_SYSTEM_CONFIG":"./app/injectors/system-config.injector","ɵa":"./app/components/dashboard/dashboard.component","ɵb":"./app/components/crons/crons.component","ɵc":"./app/components/settings/settings.component","ɵd":"./app/components/file-manager/file-manager.component","ɵe":"./app/components/processes/processes.component","ɵf":"./app/components/server-logs/server-logs.component","ɵg":"./app/components/upgrade-logs/upgrade-logs.component","ɵh":"./app/components/api-logs/api-logs.component","ɵi":"./app/components/info/info.component","ɵj":"./app/pipes/key-name-value.pipe","ɵk":"./app/components/server-log/server-log.component","ɵl":"./app/components/api-log/api-log.component","ɵm":"./app/components/process/process.component","ɵn":"./app/components/cron","ɵo":"./app/components/cron-log"},"importAs":"@firestitch/system"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestitch/system",
3
- "version": "9.1.8",
3
+ "version": "9.2.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/Firestitch/ngx-system"
@@ -1 +0,0 @@
1
- export * from './system.service';
@@ -1,7 +0,0 @@
1
- import { FsSystemConfig } from './../interfaces/system-config';
2
- export declare class SystemService {
3
- private _config;
4
- constructor(_config: FsSystemConfig);
5
- input(data: any): any;
6
- output(data: any): any;
7
- }
@@ -1,2 +0,0 @@
1
- export * from './system.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9zeXN0ZW0vIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3lzdGVtLnNlcnZpY2UnO1xyXG4iXX0=
@@ -1,43 +0,0 @@
1
- import { __decorate, __metadata, __param } from "tslib";
2
- import { Injectable, Inject } from '@angular/core';
3
- import * as _snakecaseKeys from 'snakecase-keys';
4
- import * as _camelcaseKeys from 'camelcase-keys';
5
- import { isArray } from 'lodash-es';
6
- import { FS_SYSTEM_CONFIG } from '../injectors/system-config.injector';
7
- const snakecaseKeys = _snakecaseKeys;
8
- const camelcaseKeys = _camelcaseKeys;
9
- let SystemService = class SystemService {
10
- constructor(_config) {
11
- this._config = _config;
12
- }
13
- input(data) {
14
- if (isArray(data)) {
15
- return data.map(item => {
16
- return this._config.case === 'snake' ? camelcaseKeys(item, { deep: true }) : item;
17
- });
18
- }
19
- else {
20
- return this._config.case === 'snake' ? camelcaseKeys(data, { deep: true }) : data;
21
- }
22
- }
23
- output(data) {
24
- if (isArray(data)) {
25
- return data.map(item => {
26
- return this._config.case === 'snake' ? snakecaseKeys(item, { deep: true }) : item;
27
- });
28
- }
29
- else {
30
- return this._config.case === 'snake' ? snakecaseKeys(data, { deep: true }) : data;
31
- }
32
- }
33
- };
34
- SystemService.ctorParameters = () => [
35
- { type: undefined, decorators: [{ type: Inject, args: [FS_SYSTEM_CONFIG,] }] }
36
- ];
37
- SystemService = __decorate([
38
- Injectable(),
39
- __param(0, Inject(FS_SYSTEM_CONFIG)),
40
- __metadata("design:paramtypes", [Object])
41
- ], SystemService);
42
- export { SystemService };
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9zeXN0ZW0vIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvc3lzdGVtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sS0FBSyxjQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxLQUFLLGNBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXZFLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQztBQUNyQyxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUM7QUFHckMsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQUV4QixZQUE4QyxPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUFHLENBQUM7SUFFbEUsS0FBSyxDQUFDLElBQUk7UUFDZixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNwRixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDbkY7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQUk7UUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNyQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDcEYsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ25GO0lBQ0gsQ0FBQztDQUNGLENBQUE7OzRDQXJCYyxNQUFNLFNBQUMsZ0JBQWdCOztBQUZ6QixhQUFhO0lBRHpCLFVBQVUsRUFBRTtJQUdFLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7O0dBRjFCLGFBQWEsQ0F1QnpCO1NBdkJZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGc1N5c3RlbUNvbmZpZyB9IGZyb20gJy4vLi4vaW50ZXJmYWNlcy9zeXN0ZW0tY29uZmlnJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIF9zbmFrZWNhc2VLZXlzIGZyb20gJ3NuYWtlY2FzZS1rZXlzJztcclxuaW1wb3J0ICogYXMgX2NhbWVsY2FzZUtleXMgZnJvbSAnY2FtZWxjYXNlLWtleXMnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgRlNfU1lTVEVNX0NPTkZJRyB9IGZyb20gJy4uL2luamVjdG9ycy9zeXN0ZW0tY29uZmlnLmluamVjdG9yJztcclxuXHJcbmNvbnN0IHNuYWtlY2FzZUtleXMgPSBfc25ha2VjYXNlS2V5cztcclxuY29uc3QgY2FtZWxjYXNlS2V5cyA9IF9jYW1lbGNhc2VLZXlzO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3lzdGVtU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRlNfU1lTVEVNX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBGc1N5c3RlbUNvbmZpZykge31cclxuXHJcbiAgcHVibGljIGlucHV0KGRhdGEpIHtcclxuICAgIGlmIChpc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgIHJldHVybiBkYXRhLm1hcChpdGVtID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmNhc2UgPT09ICdzbmFrZScgPyBjYW1lbGNhc2VLZXlzKGl0ZW0sIHsgZGVlcDogdHJ1ZSB9KSA6IGl0ZW07XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5jYXNlID09PSAnc25ha2UnID8gY2FtZWxjYXNlS2V5cyhkYXRhLCB7IGRlZXA6IHRydWUgfSkgOiBkYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG91dHB1dChkYXRhKSB7XHJcbiAgICBpZiAoaXNBcnJheShkYXRhKSkge1xyXG4gICAgICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5jYXNlID09PSAnc25ha2UnID8gc25ha2VjYXNlS2V5cyhpdGVtLCB7IGRlZXA6IHRydWUgfSkgOiBpdGVtO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuY2FzZSA9PT0gJ3NuYWtlJyA/IHNuYWtlY2FzZUtleXMoZGF0YSwgeyBkZWVwOiB0cnVlIH0pIDogZGF0YTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export * from './system.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9zeXN0ZW0vIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3lzdGVtLnNlcnZpY2UnO1xyXG4iXX0=
@@ -1,46 +0,0 @@
1
- import { __decorate, __metadata, __param } from "tslib";
2
- import { Injectable, Inject } from '@angular/core';
3
- import * as _snakecaseKeys from 'snakecase-keys';
4
- import * as _camelcaseKeys from 'camelcase-keys';
5
- import { isArray } from 'lodash-es';
6
- import { FS_SYSTEM_CONFIG } from '../injectors/system-config.injector';
7
- var snakecaseKeys = _snakecaseKeys;
8
- var camelcaseKeys = _camelcaseKeys;
9
- var SystemService = /** @class */ (function () {
10
- function SystemService(_config) {
11
- this._config = _config;
12
- }
13
- SystemService.prototype.input = function (data) {
14
- var _this = this;
15
- if (isArray(data)) {
16
- return data.map(function (item) {
17
- return _this._config.case === 'snake' ? camelcaseKeys(item, { deep: true }) : item;
18
- });
19
- }
20
- else {
21
- return this._config.case === 'snake' ? camelcaseKeys(data, { deep: true }) : data;
22
- }
23
- };
24
- SystemService.prototype.output = function (data) {
25
- var _this = this;
26
- if (isArray(data)) {
27
- return data.map(function (item) {
28
- return _this._config.case === 'snake' ? snakecaseKeys(item, { deep: true }) : item;
29
- });
30
- }
31
- else {
32
- return this._config.case === 'snake' ? snakecaseKeys(data, { deep: true }) : data;
33
- }
34
- };
35
- SystemService.ctorParameters = function () { return [
36
- { type: undefined, decorators: [{ type: Inject, args: [FS_SYSTEM_CONFIG,] }] }
37
- ]; };
38
- SystemService = __decorate([
39
- Injectable(),
40
- __param(0, Inject(FS_SYSTEM_CONFIG)),
41
- __metadata("design:paramtypes", [Object])
42
- ], SystemService);
43
- return SystemService;
44
- }());
45
- export { SystemService };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9zeXN0ZW0vIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvc3lzdGVtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sS0FBSyxjQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxLQUFLLGNBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXZFLElBQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQztBQUNyQyxJQUFNLGFBQWEsR0FBRyxjQUFjLENBQUM7QUFHckM7SUFFRSx1QkFBOEMsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBRyxDQUFDO0lBRWxFLDZCQUFLLEdBQVosVUFBYSxJQUFJO1FBQWpCLGlCQVFDO1FBUEMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQUEsSUFBSTtnQkFDbEIsT0FBTyxLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3BGLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNuRjtJQUNILENBQUM7SUFFTSw4QkFBTSxHQUFiLFVBQWMsSUFBSTtRQUFsQixpQkFRQztRQVBDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUk7Z0JBQ2xCLE9BQU8sS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNwRixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDbkY7SUFDSCxDQUFDOztnREFwQlksTUFBTSxTQUFDLGdCQUFnQjs7SUFGekIsYUFBYTtRQUR6QixVQUFVLEVBQUU7UUFHRSxXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBOztPQUYxQixhQUFhLENBdUJ6QjtJQUFELG9CQUFDO0NBQUEsQUF2QkQsSUF1QkM7U0F2QlksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZzU3lzdGVtQ29uZmlnIH0gZnJvbSAnLi8uLi9pbnRlcmZhY2VzL3N5c3RlbS1jb25maWcnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgX3NuYWtlY2FzZUtleXMgZnJvbSAnc25ha2VjYXNlLWtleXMnO1xyXG5pbXBvcnQgKiBhcyBfY2FtZWxjYXNlS2V5cyBmcm9tICdjYW1lbGNhc2Uta2V5cyc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBGU19TWVNURU1fQ09ORklHIH0gZnJvbSAnLi4vaW5qZWN0b3JzL3N5c3RlbS1jb25maWcuaW5qZWN0b3InO1xyXG5cclxuY29uc3Qgc25ha2VjYXNlS2V5cyA9IF9zbmFrZWNhc2VLZXlzO1xyXG5jb25zdCBjYW1lbGNhc2VLZXlzID0gX2NhbWVsY2FzZUtleXM7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTeXN0ZW1TZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChGU19TWVNURU1fQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEZzU3lzdGVtQ29uZmlnKSB7fVxyXG5cclxuICBwdWJsaWMgaW5wdXQoZGF0YSkge1xyXG4gICAgaWYgKGlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgcmV0dXJuIGRhdGEubWFwKGl0ZW0gPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuY2FzZSA9PT0gJ3NuYWtlJyA/IGNhbWVsY2FzZUtleXMoaXRlbSwgeyBkZWVwOiB0cnVlIH0pIDogaXRlbTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmNhc2UgPT09ICdzbmFrZScgPyBjYW1lbGNhc2VLZXlzKGRhdGEsIHsgZGVlcDogdHJ1ZSB9KSA6IGRhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3V0cHV0KGRhdGEpIHtcclxuICAgIGlmIChpc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgIHJldHVybiBkYXRhLm1hcChpdGVtID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmNhc2UgPT09ICdzbmFrZScgPyBzbmFrZWNhc2VLZXlzKGl0ZW0sIHsgZGVlcDogdHJ1ZSB9KSA6IGl0ZW07XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5jYXNlID09PSAnc25ha2UnID8gc25ha2VjYXNlS2V5cyhkYXRhLCB7IGRlZXA6IHRydWUgfSkgOiBkYXRhO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=