@firestitch/system 9.2.1 → 9.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/firestitch-system.umd.js +1 -1
- package/bundles/firestitch-system.umd.js.map +1 -1
- package/bundles/firestitch-system.umd.min.js +1 -1
- package/bundles/firestitch-system.umd.min.js.map +1 -1
- package/esm2015/app/components/settings/settings.component.js +2 -2
- package/esm5/app/components/settings/settings.component.js +2 -2
- package/fesm2015/firestitch-system.js +1 -1
- package/fesm2015/firestitch-system.js.map +1 -1
- package/fesm5/firestitch-system.js +1 -1
- package/fesm5/firestitch-system.js.map +1 -1
- package/firestitch-system.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -640,7 +640,7 @@ __decorate([
|
|
|
640
640
|
SettingsComponent = __decorate([
|
|
641
641
|
Component({
|
|
642
642
|
selector: 'fs-system-settings',
|
|
643
|
-
template: "\r\n<mat-accordion>\r\n <mat-expansion-panel hideToggle *ngFor=\"let group of groups\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"title-row\">\r\n <div class=\"title\">{{group || 'General'}}</div>\r\n <div class=\"actions\">\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Export ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"export($event, groupedSettings[group])\">\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Import ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"import($event, group)\">\r\n <mat-icon>cloud_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div hideToggle *ngFor=\"let setting of groupedSettings[group]\">\r\n <mat-form-field class=\"full-width\"
|
|
643
|
+
template: "\r\n<mat-accordion>\r\n <mat-expansion-panel hideToggle *ngFor=\"let group of groups\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"title-row\">\r\n <div class=\"title\">{{group || 'General'}}</div>\r\n <div class=\"actions\">\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Export ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"export($event, groupedSettings[group])\">\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Import ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"import($event, group)\">\r\n <mat-icon>cloud_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div hideToggle *ngFor=\"let setting of groupedSettings[group]\">\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\"\r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.InputBox\">\r\n <input\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Textarea\">\r\n <textarea\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n </textarea>\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Select || setting.interfaceType===SettingInterfaceType.SelectMultiple\">\r\n <mat-select\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [multiple]=\"setting.interfaceType===SettingInterfaceType.SelectMultiple\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-option *ngFor=\"let item of setting.values | keyNameValue\" [value]=\"item.value\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Date\">\r\n <input\r\n matInput\r\n fsDatePicker\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Time\">\r\n <input\r\n matInput\r\n fsTimePicker\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <fs-file-picker\r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.File\"\r\n [allowRemove]=\"true\"\r\n [allowDownload]=\"true\"\r\n (select)=\"fileSelect.emit({ setting: setting, file: $event.file })\"\r\n (remove)=\"fileRemove.emit(setting)\"\r\n [url]=\"setting.value\">\r\n <div fsFileLabel>{{setting.label}}</div>\r\n </fs-file-picker>\r\n </div>\r\n\r\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"saveGroup(group)\">Save</button>\r\n\r\n </mat-expansion-panel>\r\n\r\n</mat-accordion>\r\n",
|
|
644
644
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
645
645
|
styles: [".mat-expansion-panel-header{font-size:19px}.full-width{width:100%}.title-row{flex-direction:row;box-sizing:border-box;display:flex;place-content:center flex-start;align-items:center;width:100%}.title-row .title{display:flex;flex:1}:host ::ng-deep .mat-expansion-panel-header-title{margin:0}:host ::ng-deep .mat-expansion-panel .actions{display:none}:host ::ng-deep .mat-expansion-panel.mat-expanded .actions{display:block}"]
|
|
646
646
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-system.js","sources":["ng://@firestitch/system/app/injectors/system-config.injector.ts","ng://@firestitch/system/app/components/dashboard/dashboard.component.ts","ng://@firestitch/system/app/helpers/index-name-value.ts","ng://@firestitch/system/app/enums/cron-state.enum.ts","ng://@firestitch/system/app/enums/setting-interface-type.enum.ts","ng://@firestitch/system/app/enums/api-log-state.enum.ts","ng://@firestitch/system/app/enums/process-state.enum.ts","ng://@firestitch/system/app/enums/cron-log-state.enum.ts","ng://@firestitch/system/app/consts/cron-log-states.const.ts","ng://@firestitch/system/app/consts/cron-states.const.ts","ng://@firestitch/system/app/consts/api-log-states.const.ts","ng://@firestitch/system/app/consts/process-states.const.ts","ng://@firestitch/system/app/components/cron-log/cron-log.component.ts","ng://@firestitch/system/app/components/cron/cron.component.ts","ng://@firestitch/system/app/components/crons/crons.component.ts","ng://@firestitch/system/app/components/settings/settings.component.ts","ng://@firestitch/system/app/components/file-manager/file-manager.component.ts","ng://@firestitch/system/app/pipes/key-name-value.pipe.ts","ng://@firestitch/system/app/components/process/process.component.ts","ng://@firestitch/system/app/components/processes/processes.component.ts","ng://@firestitch/system/app/components/server-log/server-log.component.ts","ng://@firestitch/system/app/components/server-logs/server-logs.component.ts","ng://@firestitch/system/app/components/upgrade-logs/upgrade-logs.component.ts","ng://@firestitch/system/app/components/api-log/api-log.component.ts","ng://@firestitch/system/app/components/api-logs/api-logs.component.ts","ng://@firestitch/system/app/components/info/info.component.ts","ng://@firestitch/system/app/fs-system.module.ts","ng://@firestitch/system/firestitch-system.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport const FS_SYSTEM_CONFIG = new InjectionToken<any[]>('fs-system-config');\r\n","import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport { FsMessage } from '@firestitch/message';\r\nimport { BuildData, FsBuildService } from '@firestitch/build';\r\n\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { differenceInMinutes } from 'date-fns';\r\n\r\nimport { DashboardAction } from './../../interfaces/dashboard-action';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-dashboard',\r\n templateUrl: 'dashboard.component.html',\r\n styleUrls: [ 'dashboard.component.scss' ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n\r\n public dashboard;\r\n public buttonActions: DashboardAction[] = [];\r\n public build: BuildData;\r\n public menuActions: DashboardAction[] = [];\r\n\r\n private _destroy$ = new Subject();\r\n\r\n @Input() init: Function;\r\n @Input() upgrade: Function;\r\n @Input() load: Function;\r\n\r\n @Input() actions: DashboardAction[] = [];\r\n\r\n constructor(\r\n private _message: FsMessage,\r\n private _cdRef: ChangeDetectorRef,\r\n private _buildService: FsBuildService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this._load();\r\n this.buttonActions = this.actions.filter(item => { return !item.menu; });\r\n this.menuActions = this.actions.filter(item => { return item.menu; });\r\n\r\n this.build = this._buildService.build;\r\n this._buildService.buildChange$\r\n .pipe(\r\n takeUntil(this._destroy$)\r\n )\r\n .subscribe((build: BuildData) => {\r\n this.build = build;\r\n this._cdRef.markForCheck();\r\n });\r\n }\r\n\r\n private _load() {\r\n this.load()\r\n .subscribe((dashboard) => {\r\n this.dashboard = dashboard;\r\n this.dashboard.cronRanAttention = !dashboard.cronRan ||\r\n differenceInMinutes(new Date(), new Date(dashboard.cronRan)) > 15;\r\n this._cdRef.markForCheck();\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this._destroy$.next();\r\n this._destroy$.complete();\r\n }\r\n\r\n public actionClick(action) {\r\n action.click();\r\n }\r\n\r\n public initClick() {\r\n this.init()\r\n .subscribe(() => {\r\n this._message.success('Successfully initialized the system');\r\n });\r\n }\r\n\r\n public upgradeClick() {\r\n this.upgrade()\r\n .subscribe(() => {\r\n this._load();\r\n this._message.success('Successfully upgraded the system');\r\n });\r\n }\r\n}\r\n","\r\nexport function indexNameValue(arry) {\r\n const obj = {};\r\n arry.forEach(item => {\r\n obj[item.value] = item.name;\r\n });\r\n\r\n return obj;\r\n}\r\n","export enum CronState {\r\n Running = 'running',\r\n Idle = 'idle',\r\n Failed = 'failed',\r\n Queued = 'queued',\r\n Disabled = 'disabled'\r\n}\r\n","export enum SettingInterfaceType {\r\n RadioButton = 'R',\r\n InputBox = 'I',\r\n Textarea = 'T',\r\n Select = 'D',\r\n SelectMultiple = 'W',\r\n Date = 'A',\r\n File = 'F',\r\n Static = 'S',\r\n Password = 'P',\r\n Time = 'M',\r\n None = 'N',\r\n}\r\n","export enum ApiLogState {\r\n Success = 'success',\r\n Failed = 'failed',\r\n Deleted = 'deleted'\r\n}","export enum ProcessState {\r\n Queued = 'Q',\r\n Running = 'R',\r\n Completed = 'C',\r\n Killed = 'K',\r\n Deleted = 'D',\r\n Failed = 'F'\r\n}\r\n","export enum CronLogState {\n Message = 'message',\n Disabled = 'disabled',\n Started = 'started',\n Running = 'running',\n Completed = 'completed',\n Failed = 'failed',\n Killed = 'killed',\n Queued = 'queued',\n Reset = 'reset',\n Stagnant = 'stagnant',\n LongRunning = 'long_running',\n}\n","import { CronLogState } from '../enums';\n\nexport const CronLogStates = [\n { name: 'Message', value: CronLogState.Message, color: '#29B7FF' },\n { name: 'Disabled', value: CronLogState.Disabled, color: '#29B7FF' },\n { name: 'Started', value: CronLogState.Started, color: '#34BD43' },\n { name: 'Running', value: CronLogState.Running, color: '#34BD43' },\n { name: 'Completed', value: CronLogState.Completed, color: '#34BD43' },\n { name: 'Failed', value: CronLogState.Failed, color: '#FA7567' },\n { name: 'Killed', value: CronLogState.Killed, color: '#29B7FF' },\n { name: 'Queued', value: CronLogState.Queued, color: '#29B7FF' },\n { name: 'Reset', value: CronLogState.Reset, color: '#29B7FF' },\n { name: 'Stagnant', value: CronLogState.Stagnant, color: '#FA7567' },\n { name: 'Long Running', value: CronLogState.LongRunning, color: '#FA7567' },\n];\n","import { CronState } from '../enums';\r\n\r\nexport const CronStates = [\r\n { name: 'Running', value: CronState.Running },\r\n { name: 'Idle', value: CronState.Idle },\r\n { name: 'Failed', value: CronState.Failed },\r\n { name: 'Queued', value: CronState.Queued },\r\n { name: 'Disabled', value: CronState.Disabled }\r\n];\r\n","import { ApiLogState } from '../enums';\r\n\r\nexport const ApiLogStates = [\r\n { name: 'Success', value: ApiLogState.Success },\r\n { name: 'Failed', value: ApiLogState.Failed },\r\n { name: 'Deleted', value: ApiLogState.Deleted }\r\n];\r\n","import { ProcessState } from '../enums';\r\n\r\nexport const ProcessStates = [\r\n { name: 'Queued', value: ProcessState.Queued },\r\n { name: 'Running', value: ProcessState.Running },\r\n { name: 'Completed', value: ProcessState.Completed },\r\n { name: 'Killed', value: ProcessState.Killed },\r\n { name: 'Failed', value: ProcessState.Failed },\r\n { name: 'Deleted', value: ProcessState.Deleted }\r\n];\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CronLogStates } from '../../consts/cron-log-states.const';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\n\r\n\r\n@Component({\r\n templateUrl: './cron-log.component.html',\r\n styleUrls: ['./cron-log.component.scss']\r\n})\r\nexport class CronLogComponent implements OnInit {\r\n\r\n public cronLog;\r\n public CronLogStates = indexNameValue(CronLogStates);\r\n public CronLogStateColors = {};\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private _data,\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.cronLog = this._data.cronLog;\r\n this.CronLogStateColors = CronLogStates\r\n .reduce((accum, cronLogState) => {\r\n accum[cronLogState.value] = cronLogState.color;\r\n return accum;\r\n }, {});\r\n }\r\n}\r\n","import { Component, OnInit, Inject, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { FsListConfig } from '@firestitch/list';\r\n\r\nimport { CronLogStates } from '../../consts/cron-log-states.const';\r\nimport { CronStates } from '../../consts';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { CronLogComponent } from '../cron-log';\r\nimport { ItemType } from '@firestitch/filter';\r\n\r\n\r\n@Component({\r\n templateUrl: './cron.component.html',\r\n styleUrls: ['./cron.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CronComponent implements OnInit {\r\n\r\n public cron;\r\n public tabIndex = 0;\r\n public CronStates = indexNameValue(CronStates);\r\n public CronLogStates = indexNameValue(CronLogStates);\r\n public CronLogStateColors = {};\r\n\r\n public config: FsListConfig;\r\n public cronActions;\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private _data,\r\n private _dialog: MatDialog,\r\n private _cdRef: ChangeDetectorRef,\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.load();\r\n this.CronLogStateColors = CronLogStates\r\n .reduce((accum, cronLogState) => {\r\n accum[cronLogState.value] = cronLogState.color;\r\n return accum;\r\n }, {});\r\n }\r\n\r\n public cronLogOpen(cronLog): void {\r\n this._dialog.open(CronLogComponent, {\r\n data: { \r\n cronLog,\r\n },\r\n width: '85%'\r\n }); \r\n }\r\n\r\n public cronActionClick(cronAction) {\r\n cronAction.action(this.cron)\r\n .subscribe(() => {\r\n this.load();\r\n });\r\n }\r\n\r\n public selectedIndexChange(index) {\r\n this.tabIndex = index;\r\n }\r\n \r\n public load(): void {\r\n this._data.loadCron(this._data.cron)\r\n .subscribe((cron) => {\r\n this.cron = {\r\n ...this._data.cron,\r\n ...cron,\r\n };\r\n\r\n if(this._data.loadCronLogs) {\r\n this.config = {\r\n filters: [\r\n {\r\n type: ItemType.Select,\r\n name: 'state',\r\n label: 'Status',\r\n values: [\r\n { name: 'All', value: null },\r\n ...CronLogStates,\r\n ],\r\n },\r\n {\r\n type: ItemType.DateRange,\r\n name: 'date',\r\n label: ['From Date', 'To Date'],\r\n },\r\n ], \r\n fetch: (query) => {\r\n query = {\r\n ...query,\r\n cronId: this.cron.id,\r\n };\r\n\r\n return this._data.loadCronLogs(query);\r\n },\r\n };\r\n }\r\n\r\n this.cronActions = this._data.cronActions\r\n .filter((cronLogAction) => {\r\n return cronLogAction.show(this.cron);\r\n });\r\n\r\n this._cdRef.markForCheck();\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport { FsMessage } from '@firestitch/message';\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { FsListConfig, FsListComponent, FsListActionSelected } from '@firestitch/list';\r\n\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { CronComponent } from '../cron/cron.component';\r\nimport { CronStates } from '../../consts';\r\nimport { CronState } from '../../enums';\r\nimport { SelectionActionType } from '@firestitch/selection';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-crons',\r\n templateUrl: './crons.component.html',\r\n styleUrls: ['./crons.component.scss'],\r\n})\r\nexport class CronsComponent implements OnInit {\r\n\r\n @ViewChild(FsListComponent, { static: true }) list: FsListComponent;\r\n\r\n @Input() public enable: (data: any) => Observable<any>;\r\n @Input() public disable: (data: any) => Observable<any>;\r\n @Input() public kill: (data: any) => Observable<any>;\r\n @Input() public queue: (data: any) => Observable<any>;\r\n @Input() public run: (data: any) => Observable<any>;\r\n @Input() public loadCrons: (data: any) => Observable<any[]>;\r\n @Input() public loadCron: (data: any) => Observable<any>;\r\n @Input() public loadCronLogs: (data: any) => Observable<{ data: any[], paging: any }>;\r\n @Input() public bulk: (actionName: string, data: any[]) => Observable<any>;\r\n\r\n public config: FsListConfig = null;\r\n public cronStates = indexNameValue(CronStates);\r\n\r\n constructor(\r\n private _message: FsMessage,\r\n private _dialog: MatDialog,\r\n ) { }\r\n\r\n public ngOnInit(): void {\r\n this._configList();\r\n }\r\n\r\n private _configList(): void {\r\n this.config = {\r\n paging: false,\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n }\r\n ],\r\n rowActions: this.getCronActions()\r\n .map((rowAction) => {\r\n return {\r\n ...rowAction,\r\n click: (cron) => {\r\n rowAction.action(cron)\r\n .subscribe();\r\n },\r\n }\r\n }),\r\n fetch: query => {\r\n query.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n return this.loadCrons(query)\r\n .pipe(\r\n map((response) => ({ data: response }))\r\n );\r\n }, \r\n };\r\n\r\n if(this.bulk) {\r\n this.config.selection = {\r\n selectAll: false,\r\n actions: [\r\n {\r\n type: SelectionActionType.Action,\r\n name: 'disable',\r\n label: 'Disable'\r\n },\r\n {\r\n type: SelectionActionType.Action,\r\n name: 'enable',\r\n label: 'Enable'\r\n },\r\n ],\r\n actionSelected: (action: FsListActionSelected) => {\r\n return this.bulk(action.action.name, action.selected)\r\n .pipe(\r\n tap(() => {\r\n this.list.reload();\r\n this._message.success('Applied Changes');\r\n }),\r\n );\r\n },\r\n };\r\n }\r\n }\r\n\r\n public open(cron) {\r\n this._dialog.open(CronComponent, {\r\n data: { \r\n cron,\r\n loadCronLogs: this.loadCronLogs,\r\n loadCron: this.loadCron,\r\n cronActions: this.getCronActions(),\r\n },\r\n width: '85%'\r\n });\r\n } \r\n\r\n public getCronActions() {\r\n return [\r\n {\r\n action: (data) => {\r\n return this.queue(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Queued cron');\r\n this.list.reload();\r\n }),\r\n );\r\n },\r\n label: 'Queue',\r\n show: (cron) => {\r\n return cron.state === CronState.Idle || cron.state === CronState.Failed;\r\n },\r\n },\r\n {\r\n action: (data) => {\r\n return this.run(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Cron ran');\r\n this.list.reload();\r\n })\r\n );\r\n },\r\n label: 'Run',\r\n show: (cron) => {\r\n return cron.state === CronState.Idle || cron.state === CronState.Failed;\r\n },\r\n },\r\n {\r\n action: (data) => {\r\n return this.enable(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Enabled cron');\r\n this.list.reload();\r\n }),\r\n );\r\n },\r\n label: 'Enable',\r\n show: (cron) => {\r\n return cron.state === CronState.Disabled;\r\n },\r\n },\r\n {\r\n action: (data) => {\r\n return this.disable(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Disabled cron');\r\n this.list.reload();\r\n }),\r\n );\r\n },\r\n label: 'Disable',\r\n show: (cron) => {\r\n return cron.state === CronState.Idle || cron.state === CronState.Failed;\r\n },\r\n },\r\n {\r\n action: (data) => {\r\n return this.kill(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Killed cron');\r\n this.list.reload();\r\n }),\r\n );\r\n },\r\n label: 'Kill',\r\n show: (cron) => {\r\n return cron.state === CronState.Running;\r\n },\r\n },\r\n ]; \r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport { FsPrompt } from '@firestitch/prompt';\r\nimport { parse } from '@firestitch/date';\r\nimport { FsMessage } from '@firestitch/message';\r\n\r\nimport { groupBy, reduce } from 'lodash-es';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\n\r\nimport { SettingInterfaceType } from '../../enums';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n @Input() public loadSettings: () => Observable<any[]>;\r\n @Input() public save: (data: any, group: string) => Observable<any>;\r\n\r\n @Output() public fileRemove = new EventEmitter();\r\n @Output() public fileSelect = new EventEmitter<{ setting: any, file: Blob }>();\r\n\r\n public groupedSettings = [];\r\n public groups = [];\r\n public SettingInterfaceType = SettingInterfaceType;\r\n\r\n constructor(\r\n private _message: FsMessage,\r\n private _clipboardService: ClipboardService,\r\n private _prompt: FsPrompt,\r\n private _cdRef: ChangeDetectorRef,\r\n ) { }\r\n\r\n public ngOnInit(): void {\r\n this.loadSettings()\r\n .subscribe((settings) => {\r\n settings = settings\r\n .filter((setting) => {\r\n return setting.interfaceType !== SettingInterfaceType.None;\r\n })\r\n .map((setting) => {\r\n switch (setting.interfaceType) {\r\n case SettingInterfaceType.Date:\r\n case SettingInterfaceType.Time:\r\n setting.value = parse(setting.value);\r\n\r\n case SettingInterfaceType.SelectMultiple:\r\n setting.value = Array.isArray(setting.value) ? setting.value : [];\r\n break;\r\n }\r\n return setting;\r\n });\r\n\r\n this.groupedSettings = groupBy(settings, (item) => {\r\n return item.group;\r\n });\r\n \r\n this.groups = Object.keys(this.groupedSettings);\r\n this._cdRef.markForCheck();\r\n });\r\n }\r\n\r\n public export(event: UIEvent, settings): void {\r\n event.stopPropagation();\r\n const data = settings.map((setting) => {\r\n return {\r\n name: setting.name,\r\n value: setting.value,\r\n group: setting.group,\r\n }\r\n });\r\n\r\n this._clipboardService.copy(JSON.stringify(data));\r\n this._message.success('Copied to clipboard');\r\n }\r\n\r\n public import(event: UIEvent, group): void {\r\n event.stopPropagation();\r\n this._prompt.input({\r\n label: 'JSON Import',\r\n title: 'Import Settings',\r\n commitLabel: 'Import',\r\n required: true,\r\n }).subscribe((value: string) => {\r\n if (value) {\r\n try {\r\n const settings = this.groupedSettings[group];\r\n const data = JSON.parse(value);\r\n\r\n data.forEach((item) => {\r\n const setting = settings.find((s) => {\r\n return item.name === s.name;\r\n });\r\n\r\n if (setting) {\r\n Object.assign(setting, item);\r\n }\r\n });\r\n\r\n this._cdRef.markForCheck();\r\n } catch (e) {\r\n this._message.error(e);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public saveGroup(group): void {\r\n const settings = this.groupedSettings[group];\r\n const values = reduce(settings, (result, value, key) => {\r\n return (result[value.name] = value.value, result);\r\n }, {});\r\n\r\n this.save(group, values)\r\n .subscribe(() => {\r\n this._message.success('Changes Saved');\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\nimport { FsFileManagerConfig } from '@firestitch/file-manager';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-file-manager',\r\n templateUrl: './file-manager.component.html',\r\n styleUrls: ['./file-manager.component.scss']\r\n})\r\nexport class FileManagerComponent implements OnInit {\r\n\r\n @Input() fetch: Function;\r\n @Input() deleteFile: Function;\r\n @Input() deleteDirectory: Function;\r\n @Input() createDirectory: Function;\r\n @Input() download: Function;\r\n @Input() upload: Function;\r\n\r\n public config: FsFileManagerConfig;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this._configFileManager();\r\n }\r\n\r\n private _configFileManager() {\r\n this.config = {\r\n fetch: (path) => {\r\n return this.fetch(path);\r\n },\r\n deleteFile: (path) => {\r\n return this.deleteFile(path)\r\n },\r\n deleteDirectory: (path) => {\r\n return this.deleteDirectory(path)\r\n },\r\n createDirectory: (path) => {\r\n return this.createDirectory(path)\r\n },\r\n download: (path) => {\r\n return this.download(path);\r\n },\r\n upload: (path, file) => {\r\n return this.upload(path, file);\r\n }\r\n };\r\n }\r\n\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n@Pipe({\r\n name: 'keyNameValue'\r\n})\r\n@Injectable()\r\nexport class KeyNameValuePipe implements PipeTransform {\r\n\r\n transform(values): any {\r\n return Object.keys(values).map((key) => {\r\n return { value: key, name: values[key] }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\nimport { ProcessStates } from './../../consts/process-states.const';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { ProcessState } from './../../enums/process-state.enum';\r\n\r\n@Component({\r\n templateUrl: './process.component.html',\r\n styleUrls: ['./process.component.scss']\r\n})\r\nexport class ProcessComponent implements OnInit {\r\n\r\n public process;\r\n public ProcessStates;\r\n public ProcessState = ProcessState;\r\n\r\n constructor(private _dialogRef: MatDialogRef<ProcessComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data) {}\r\n\r\n public ngOnInit() {\r\n\r\n this.ProcessStates = indexNameValue(ProcessStates);\r\n\r\n if (this.data.loadProcess) {\r\n this.load();\r\n } else {\r\n this.process = this.data.process;\r\n }\r\n }\r\n\r\n public load() {\r\n this.data.loadProcess(this.data.process)\r\n .subscribe((process) => {\r\n this.process = process;\r\n });\r\n }\r\n}\r\n","import { ProcessComponent } from './../process/process.component';\r\nimport { ProcessState } from '../../enums';\r\nimport { FsMessage } from '@firestitch/message';\r\nimport { ProcessAction } from './../../interfaces/process-action';\r\nimport { Component, OnInit, Input, ViewChild, OnDestroy } from '@angular/core';\r\n\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { ProcessStates } from '../../consts';\r\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-processes',\r\n templateUrl: './processes.component.html',\r\n styleUrls: ['./processes.component.scss']\r\n})\r\nexport class ProcessesComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild(FsListComponent) list: FsListComponent;\r\n\r\n @Input() public loadProcesses: (data: any) => Observable<{ data: any[], paging: any }>;\r\n @Input() public loadProcess: (data: any) => Observable<any>;\r\n @Input() public run: (data: any) => Observable<any>;\r\n @Input() public kill: (data: any) => Observable<any>;\r\n @Input() public delete: (data: any) => Observable<any>;\r\n @Input() public download: (data: any) => any;\r\n @Input() public actions: ProcessAction[] = [];\r\n\r\n public config: FsListConfig = null;\r\n public ProcessStates = indexNameValue(ProcessStates);\r\n public ProcessState = ProcessState;\r\n\r\n private _destroy$ = new Subject();\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n private _message: FsMessage\r\n ) { }\r\n\r\n public ngOnInit() {\r\n this._configList();\r\n }\r\n\r\n private _configList() {\r\n\r\n this.config = {\r\n actions: [],\r\n rowActions: [],\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n },\r\n {\r\n type: ItemType.Select,\r\n name: 'state',\r\n label: 'Status',\r\n values: ProcessStates\r\n },\r\n ],\r\n fetch: query => {\r\n return this.loadProcesses(query)\r\n .pipe(\r\n map((response: any) => ({ data: response.data, paging: response.paging }))\r\n );\r\n }\r\n };\r\n\r\n if (this.run) {\r\n this.config.rowActions.push({\r\n label: 'Run',\r\n click: (data) => {\r\n this._message.info('Running process...');\r\n this.run(data)\r\n .subscribe(() => {\r\n this.list.reload();\r\n this._message.success('Succesfully ran process');\r\n });\r\n\r\n setTimeout(() => {\r\n this.list.reload();\r\n }, 500);\r\n }\r\n });\r\n }\r\n\r\n if (this.kill) {\r\n this.config.rowActions.push({\r\n label: 'Kill',\r\n show: (data) => {\r\n return !!data.pid;\r\n },\r\n click: (data) => {\r\n this._message.info('Killing process...');\r\n this.kill(data)\r\n .subscribe(() => {\r\n this.list.reload();\r\n this._message.success('Succesfully killed process');\r\n });\r\n\r\n setTimeout(() => {\r\n this.list.reload();\r\n }, 500);\r\n }\r\n });\r\n }\r\n\r\n if (this.delete) {\r\n this.config.rowActions.push({\r\n label: 'Delete',\r\n click: (data) => {\r\n this.delete(data)\r\n .subscribe(() => {\r\n this.list.reload();\r\n this._message.success('Deleted process');\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.actions.forEach(action => {\r\n this.config.actions.push({\r\n primary: false,\r\n label: action.label,\r\n menu: action.menu,\r\n click: () => {\r\n if (action.click) {\r\n action.click();\r\n }\r\n\r\n if (action.component) {\r\n const dialogRef = this._dialog.open(action.component, {\r\n width: '800px'\r\n });\r\n\r\n dialogRef.afterClosed()\r\n .pipe(\r\n takeUntil(this._destroy$)\r\n )\r\n .subscribe(result => {\r\n this.list.reload();\r\n });\r\n }\r\n },\r\n });\r\n });\r\n }\r\n\r\n public open(process) {\r\n this._dialog.open(ProcessComponent, {\r\n data: {\r\n process,\r\n loadProcess: this.loadProcess,\r\n },\r\n width: '85%'\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this._destroy$.next();\r\n this._destroy$.complete();\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n templateUrl: './server-log.component.html',\r\n styleUrls: ['./server-log.component.scss']\r\n})\r\nexport class ServerLogComponent implements OnInit {\r\n\r\n public log;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data) {}\r\n\r\n public ngOnInit() {\r\n\r\n if (this.data.log) {\r\n this.log = this.data.log;\r\n\r\n try {\r\n this.log.backtrace = JSON.parse(this.log.backtrace);\r\n } catch (e) {}\r\n\r\n try {\r\n this.log.server = JSON.parse(this.log.server);\r\n } catch (e) {}\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\n\r\nimport { FsListConfig, FsListComponent } from '@firestitch/list';\r\nimport { map } from 'rxjs/operators';\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ServerLogComponent } from '../server-log/server-log.component';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-server-logs',\r\n templateUrl: './server-logs.component.html',\r\n styleUrls: ['./server-logs.component.scss']\r\n})\r\nexport class ServerLogsComponent implements OnInit {\r\n\r\n @ViewChild('list', { static: true }) public list: FsListComponent;\r\n\r\n @Input() public loadLogs: (data: any) => Observable<{ data: any[], paging: any }>;\r\n\r\n public config: FsListConfig = null;\r\n public logTypes = [];\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this._configList();\r\n }\r\n\r\n private _configList() {\r\n\r\n this.config = {\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n }\r\n ],\r\n fetch: query => {\r\n return this.loadLogs(query)\r\n .pipe(\r\n map((response: any) => ({ data: response.data, paging: response.paging }))\r\n );\r\n }\r\n };\r\n }\r\n\r\n public open(log) {\r\n this._dialog.open(ServerLogComponent, {\r\n data: { log: log },\r\n width: '85%'\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { FsListConfig, FsListComponent } from '@firestitch/list';\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-upgrade-logs',\r\n templateUrl: './upgrade-logs.component.html',\r\n styleUrls: ['./upgrade-logs.component.scss']\r\n})\r\nexport class UpgradeLogsComponent implements OnInit {\r\n\r\n @ViewChild(FsListComponent, { static: true }) list: FsListComponent;\r\n\r\n @Input() loadUpgradeLogs: (data: any) => Observable<{ data: any[], paging: any }>;\r\n\r\n public config: FsListConfig = null;\r\n public logTypes = [];\r\n\r\n ngOnInit() {\r\n this._configList();\r\n }\r\n private _configList() {\r\n\r\n this.config = {\r\n paging: false,\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n }\r\n ],\r\n fetch: query => {\r\n return this.loadUpgradeLogs(query)\r\n .pipe(\r\n map((response: any) => ({ data: response.data, paging: response.paging }))\r\n );\r\n }\r\n };\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { ApiLogStates } from '../../consts';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\n\r\n\r\n@Component({\r\n templateUrl: './api-log.component.html',\r\n styleUrls: ['./api-log.component.scss']\r\n})\r\nexport class ApiLogComponent implements OnInit {\r\n\r\n public apiLog;\r\n public apiLogStates;\r\n\r\n constructor(private _dialogRef: MatDialogRef<ApiLogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data) {}\r\n\r\n public ngOnInit() {\r\n\r\n this.apiLogStates = indexNameValue(ApiLogStates);\r\n\r\n if (this.data.apiLog) {\r\n this.apiLog = this.data.apiLog;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { FsListConfig, FsListComponent } from '@firestitch/list';\r\nimport { map } from 'rxjs/operators';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ApiLogStates } from '../../consts';\r\nimport { ApiLogComponent } from '../api-log/api-log.component';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-api-logs',\r\n templateUrl: './api-logs.component.html',\r\n styleUrls: ['./api-logs.component.scss']\r\n})\r\nexport class ApiLogsComponent implements OnInit {\r\n\r\n @ViewChild(FsListComponent, { static: true }) \r\n public list: FsListComponent;\r\n\r\n @Input() loadApiLogs: (data: any) => Observable<{ data: any[], paging: any }>;\r\n\r\n public config: FsListConfig = null;\r\n public apiLogStates = indexNameValue(ApiLogStates);\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this._configList();\r\n }\r\n\r\n private _configList() {\r\n\r\n this.config = {\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n },\r\n {\r\n type: ItemType.Select,\r\n name: 'state',\r\n label: 'Status',\r\n values: ApiLogStates\r\n },\r\n {\r\n name: 'createDate',\r\n type: ItemType.DateRange,\r\n label: ['From Date', 'To Date'],\r\n }\r\n ],\r\n fetch: query => {\r\n Object.assign(query, { });\r\n return this.loadApiLogs(query)\r\n .pipe(\r\n map((response: any) => ({ data: response.data, paging: response.paging }))\r\n );\r\n }\r\n };\r\n }\r\n\r\n public open(apiLog) {\r\n this._dialog.open(ApiLogComponent, {\r\n data: { apiLog: apiLog },\r\n width: '85%'\r\n });\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy, Input, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-info',\r\n templateUrl: 'info.component.html',\r\n styleUrls: [ 'info.component.scss' ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class InfoComponent implements AfterViewInit {\r\n\r\n @ViewChild('iframe') \r\n public iframe: ElementRef;\r\n\r\n @Input() public load: () => Observable<any>;\r\n\r\n ngAfterViewInit() {\r\n this._load();\r\n }\r\n\r\n private _load() {\r\n this.load()\r\n .subscribe((info) => {\r\n\r\n info += '<style>body { background: transparent; }</style>';\r\n\r\n const doc = this.iframe.nativeElement.contentDocument || this.iframe.nativeElement.contentWindow;\r\n doc.open();\r\n doc.write(info);\r\n doc.close();\r\n const scrollHeight = (this.iframe.nativeElement.contentWindow.document.documentElement.scrollHeight + 100);\r\n this.iframe.nativeElement.style.height = `${scrollHeight}px`;\r\n });\r\n }\r\n}\r\n","import { FsSystemConfig } from './interfaces/system-config';\r\nimport { FS_SYSTEM_CONFIG } from './injectors/system-config.injector';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\nimport { FsDateModule } from '@firestitch/date';\r\nimport { FsDatePickerModule } from '@firestitch/datepicker';\r\nimport { FsSkeletonModule } from '@firestitch/skeleton';\r\nimport { FsListModule } from '@firestitch/list';\r\nimport { FsFileManagerModule } from '@firestitch/file-manager';\r\nimport { FsDialogModule } from '@firestitch/dialog';\r\nimport { FsLabelModule } from '@firestitch/label';\r\nimport { FsFileModule } from '@firestitch/file';\r\nimport { FsMenuModule } from '@firestitch/menu';\r\n\r\nimport { DashboardComponent } from './components/dashboard/dashboard.component';\r\nimport { CronsComponent } from './components/crons/crons.component';\r\nimport { SettingsComponent } from './components/settings/settings.component';\r\nimport { FileManagerComponent } from './components/file-manager/file-manager.component';\r\nimport { KeyNameValuePipe } from './pipes/key-name-value.pipe';\r\nimport { ProcessesComponent } from './components/processes/processes.component';\r\nimport { ServerLogsComponent } from './components/server-logs/server-logs.component';\r\nimport { ServerLogComponent } from './components/server-log/server-log.component';\r\nimport { UpgradeLogsComponent } from './components/upgrade-logs/upgrade-logs.component';\r\nimport { ApiLogsComponent } from './components/api-logs/api-logs.component';\r\nimport { ApiLogComponent } from './components/api-log/api-log.component';\r\nimport { InfoComponent } from './components/info/info.component';\r\nimport { ProcessComponent } from './components/process/process.component';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { CronComponent } from './components/cron';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { CronLogComponent } from './components/cron-log';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FlexLayoutModule,\r\n FormsModule,\r\n\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n\r\n FsDateModule,\r\n FsSkeletonModule,\r\n FsListModule,\r\n FsFileModule,\r\n FsFileManagerModule,\r\n FsLabelModule,\r\n FsDialogModule,\r\n FsDatePickerModule,\r\n FsMenuModule,\r\n\r\n ClipboardModule,\r\n ],\r\n exports: [\r\n DashboardComponent,\r\n CronsComponent,\r\n SettingsComponent,\r\n FileManagerComponent,\r\n ProcessesComponent,\r\n ServerLogsComponent,\r\n UpgradeLogsComponent,\r\n ApiLogsComponent,\r\n InfoComponent,\r\n ],\r\n declarations: [\r\n DashboardComponent,\r\n CronsComponent,\r\n SettingsComponent,\r\n KeyNameValuePipe,\r\n FileManagerComponent,\r\n ProcessesComponent,\r\n ServerLogComponent,\r\n ServerLogsComponent,\r\n UpgradeLogsComponent,\r\n ApiLogsComponent,\r\n ApiLogComponent,\r\n InfoComponent,\r\n ProcessComponent,\r\n CronComponent,\r\n CronLogComponent,\r\n ],\r\n})\r\nexport class FsSystemModule {\r\n static forRoot(config: FsSystemConfig): ModuleWithProviders<FsSystemModule> {\r\n return {\r\n ngModule: FsSystemModule,\r\n providers: [\r\n { provide: FS_SYSTEM_CONFIG, useValue: config || {} },\r\n ]\r\n };\r\n }\r\n}\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ApiLogComponent as ɵl} from './app/components/api-log/api-log.component';\nexport {ApiLogsComponent as ɵh} from './app/components/api-logs/api-logs.component';\nexport {CronComponent as ɵn} from './app/components/cron';\nexport {CronLogComponent as ɵo} from './app/components/cron-log';\nexport {CronsComponent as ɵb} from './app/components/crons/crons.component';\nexport {DashboardComponent as ɵa} from './app/components/dashboard/dashboard.component';\nexport {FileManagerComponent as ɵd} from './app/components/file-manager/file-manager.component';\nexport {InfoComponent as ɵi} from './app/components/info/info.component';\nexport {ProcessComponent as ɵm} from './app/components/process/process.component';\nexport {ProcessesComponent as ɵe} from './app/components/processes/processes.component';\nexport {ServerLogComponent as ɵk} from './app/components/server-log/server-log.component';\nexport {ServerLogsComponent as ɵf} from './app/components/server-logs/server-logs.component';\nexport {SettingsComponent as ɵc} from './app/components/settings/settings.component';\nexport {UpgradeLogsComponent as ɵg} from './app/components/upgrade-logs/upgrade-logs.component';\nexport {KeyNameValuePipe as ɵj} from './app/pipes/key-name-value.pipe';"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firestitch-system.js","sources":["ng://@firestitch/system/app/injectors/system-config.injector.ts","ng://@firestitch/system/app/components/dashboard/dashboard.component.ts","ng://@firestitch/system/app/helpers/index-name-value.ts","ng://@firestitch/system/app/enums/cron-state.enum.ts","ng://@firestitch/system/app/enums/setting-interface-type.enum.ts","ng://@firestitch/system/app/enums/api-log-state.enum.ts","ng://@firestitch/system/app/enums/process-state.enum.ts","ng://@firestitch/system/app/enums/cron-log-state.enum.ts","ng://@firestitch/system/app/consts/cron-log-states.const.ts","ng://@firestitch/system/app/consts/cron-states.const.ts","ng://@firestitch/system/app/consts/api-log-states.const.ts","ng://@firestitch/system/app/consts/process-states.const.ts","ng://@firestitch/system/app/components/cron-log/cron-log.component.ts","ng://@firestitch/system/app/components/cron/cron.component.ts","ng://@firestitch/system/app/components/crons/crons.component.ts","ng://@firestitch/system/app/components/settings/settings.component.ts","ng://@firestitch/system/app/components/file-manager/file-manager.component.ts","ng://@firestitch/system/app/pipes/key-name-value.pipe.ts","ng://@firestitch/system/app/components/process/process.component.ts","ng://@firestitch/system/app/components/processes/processes.component.ts","ng://@firestitch/system/app/components/server-log/server-log.component.ts","ng://@firestitch/system/app/components/server-logs/server-logs.component.ts","ng://@firestitch/system/app/components/upgrade-logs/upgrade-logs.component.ts","ng://@firestitch/system/app/components/api-log/api-log.component.ts","ng://@firestitch/system/app/components/api-logs/api-logs.component.ts","ng://@firestitch/system/app/components/info/info.component.ts","ng://@firestitch/system/app/fs-system.module.ts","ng://@firestitch/system/firestitch-system.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport const FS_SYSTEM_CONFIG = new InjectionToken<any[]>('fs-system-config');\r\n","import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport { FsMessage } from '@firestitch/message';\r\nimport { BuildData, FsBuildService } from '@firestitch/build';\r\n\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { differenceInMinutes } from 'date-fns';\r\n\r\nimport { DashboardAction } from './../../interfaces/dashboard-action';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-dashboard',\r\n templateUrl: 'dashboard.component.html',\r\n styleUrls: [ 'dashboard.component.scss' ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n\r\n public dashboard;\r\n public buttonActions: DashboardAction[] = [];\r\n public build: BuildData;\r\n public menuActions: DashboardAction[] = [];\r\n\r\n private _destroy$ = new Subject();\r\n\r\n @Input() init: Function;\r\n @Input() upgrade: Function;\r\n @Input() load: Function;\r\n\r\n @Input() actions: DashboardAction[] = [];\r\n\r\n constructor(\r\n private _message: FsMessage,\r\n private _cdRef: ChangeDetectorRef,\r\n private _buildService: FsBuildService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this._load();\r\n this.buttonActions = this.actions.filter(item => { return !item.menu; });\r\n this.menuActions = this.actions.filter(item => { return item.menu; });\r\n\r\n this.build = this._buildService.build;\r\n this._buildService.buildChange$\r\n .pipe(\r\n takeUntil(this._destroy$)\r\n )\r\n .subscribe((build: BuildData) => {\r\n this.build = build;\r\n this._cdRef.markForCheck();\r\n });\r\n }\r\n\r\n private _load() {\r\n this.load()\r\n .subscribe((dashboard) => {\r\n this.dashboard = dashboard;\r\n this.dashboard.cronRanAttention = !dashboard.cronRan ||\r\n differenceInMinutes(new Date(), new Date(dashboard.cronRan)) > 15;\r\n this._cdRef.markForCheck();\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this._destroy$.next();\r\n this._destroy$.complete();\r\n }\r\n\r\n public actionClick(action) {\r\n action.click();\r\n }\r\n\r\n public initClick() {\r\n this.init()\r\n .subscribe(() => {\r\n this._message.success('Successfully initialized the system');\r\n });\r\n }\r\n\r\n public upgradeClick() {\r\n this.upgrade()\r\n .subscribe(() => {\r\n this._load();\r\n this._message.success('Successfully upgraded the system');\r\n });\r\n }\r\n}\r\n","\r\nexport function indexNameValue(arry) {\r\n const obj = {};\r\n arry.forEach(item => {\r\n obj[item.value] = item.name;\r\n });\r\n\r\n return obj;\r\n}\r\n","export enum CronState {\r\n Running = 'running',\r\n Idle = 'idle',\r\n Failed = 'failed',\r\n Queued = 'queued',\r\n Disabled = 'disabled'\r\n}\r\n","export enum SettingInterfaceType {\r\n RadioButton = 'R',\r\n InputBox = 'I',\r\n Textarea = 'T',\r\n Select = 'D',\r\n SelectMultiple = 'W',\r\n Date = 'A',\r\n File = 'F',\r\n Static = 'S',\r\n Password = 'P',\r\n Time = 'M',\r\n None = 'N',\r\n}\r\n","export enum ApiLogState {\r\n Success = 'success',\r\n Failed = 'failed',\r\n Deleted = 'deleted'\r\n}","export enum ProcessState {\r\n Queued = 'Q',\r\n Running = 'R',\r\n Completed = 'C',\r\n Killed = 'K',\r\n Deleted = 'D',\r\n Failed = 'F'\r\n}\r\n","export enum CronLogState {\n Message = 'message',\n Disabled = 'disabled',\n Started = 'started',\n Running = 'running',\n Completed = 'completed',\n Failed = 'failed',\n Killed = 'killed',\n Queued = 'queued',\n Reset = 'reset',\n Stagnant = 'stagnant',\n LongRunning = 'long_running',\n}\n","import { CronLogState } from '../enums';\n\nexport const CronLogStates = [\n { name: 'Message', value: CronLogState.Message, color: '#29B7FF' },\n { name: 'Disabled', value: CronLogState.Disabled, color: '#29B7FF' },\n { name: 'Started', value: CronLogState.Started, color: '#34BD43' },\n { name: 'Running', value: CronLogState.Running, color: '#34BD43' },\n { name: 'Completed', value: CronLogState.Completed, color: '#34BD43' },\n { name: 'Failed', value: CronLogState.Failed, color: '#FA7567' },\n { name: 'Killed', value: CronLogState.Killed, color: '#29B7FF' },\n { name: 'Queued', value: CronLogState.Queued, color: '#29B7FF' },\n { name: 'Reset', value: CronLogState.Reset, color: '#29B7FF' },\n { name: 'Stagnant', value: CronLogState.Stagnant, color: '#FA7567' },\n { name: 'Long Running', value: CronLogState.LongRunning, color: '#FA7567' },\n];\n","import { CronState } from '../enums';\r\n\r\nexport const CronStates = [\r\n { name: 'Running', value: CronState.Running },\r\n { name: 'Idle', value: CronState.Idle },\r\n { name: 'Failed', value: CronState.Failed },\r\n { name: 'Queued', value: CronState.Queued },\r\n { name: 'Disabled', value: CronState.Disabled }\r\n];\r\n","import { ApiLogState } from '../enums';\r\n\r\nexport const ApiLogStates = [\r\n { name: 'Success', value: ApiLogState.Success },\r\n { name: 'Failed', value: ApiLogState.Failed },\r\n { name: 'Deleted', value: ApiLogState.Deleted }\r\n];\r\n","import { ProcessState } from '../enums';\r\n\r\nexport const ProcessStates = [\r\n { name: 'Queued', value: ProcessState.Queued },\r\n { name: 'Running', value: ProcessState.Running },\r\n { name: 'Completed', value: ProcessState.Completed },\r\n { name: 'Killed', value: ProcessState.Killed },\r\n { name: 'Failed', value: ProcessState.Failed },\r\n { name: 'Deleted', value: ProcessState.Deleted }\r\n];\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CronLogStates } from '../../consts/cron-log-states.const';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\n\r\n\r\n@Component({\r\n templateUrl: './cron-log.component.html',\r\n styleUrls: ['./cron-log.component.scss']\r\n})\r\nexport class CronLogComponent implements OnInit {\r\n\r\n public cronLog;\r\n public CronLogStates = indexNameValue(CronLogStates);\r\n public CronLogStateColors = {};\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private _data,\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.cronLog = this._data.cronLog;\r\n this.CronLogStateColors = CronLogStates\r\n .reduce((accum, cronLogState) => {\r\n accum[cronLogState.value] = cronLogState.color;\r\n return accum;\r\n }, {});\r\n }\r\n}\r\n","import { Component, OnInit, Inject, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { FsListConfig } from '@firestitch/list';\r\n\r\nimport { CronLogStates } from '../../consts/cron-log-states.const';\r\nimport { CronStates } from '../../consts';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { CronLogComponent } from '../cron-log';\r\nimport { ItemType } from '@firestitch/filter';\r\n\r\n\r\n@Component({\r\n templateUrl: './cron.component.html',\r\n styleUrls: ['./cron.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CronComponent implements OnInit {\r\n\r\n public cron;\r\n public tabIndex = 0;\r\n public CronStates = indexNameValue(CronStates);\r\n public CronLogStates = indexNameValue(CronLogStates);\r\n public CronLogStateColors = {};\r\n\r\n public config: FsListConfig;\r\n public cronActions;\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private _data,\r\n private _dialog: MatDialog,\r\n private _cdRef: ChangeDetectorRef,\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.load();\r\n this.CronLogStateColors = CronLogStates\r\n .reduce((accum, cronLogState) => {\r\n accum[cronLogState.value] = cronLogState.color;\r\n return accum;\r\n }, {});\r\n }\r\n\r\n public cronLogOpen(cronLog): void {\r\n this._dialog.open(CronLogComponent, {\r\n data: { \r\n cronLog,\r\n },\r\n width: '85%'\r\n }); \r\n }\r\n\r\n public cronActionClick(cronAction) {\r\n cronAction.action(this.cron)\r\n .subscribe(() => {\r\n this.load();\r\n });\r\n }\r\n\r\n public selectedIndexChange(index) {\r\n this.tabIndex = index;\r\n }\r\n \r\n public load(): void {\r\n this._data.loadCron(this._data.cron)\r\n .subscribe((cron) => {\r\n this.cron = {\r\n ...this._data.cron,\r\n ...cron,\r\n };\r\n\r\n if(this._data.loadCronLogs) {\r\n this.config = {\r\n filters: [\r\n {\r\n type: ItemType.Select,\r\n name: 'state',\r\n label: 'Status',\r\n values: [\r\n { name: 'All', value: null },\r\n ...CronLogStates,\r\n ],\r\n },\r\n {\r\n type: ItemType.DateRange,\r\n name: 'date',\r\n label: ['From Date', 'To Date'],\r\n },\r\n ], \r\n fetch: (query) => {\r\n query = {\r\n ...query,\r\n cronId: this.cron.id,\r\n };\r\n\r\n return this._data.loadCronLogs(query);\r\n },\r\n };\r\n }\r\n\r\n this.cronActions = this._data.cronActions\r\n .filter((cronLogAction) => {\r\n return cronLogAction.show(this.cron);\r\n });\r\n\r\n this._cdRef.markForCheck();\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport { FsMessage } from '@firestitch/message';\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { FsListConfig, FsListComponent, FsListActionSelected } from '@firestitch/list';\r\n\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { CronComponent } from '../cron/cron.component';\r\nimport { CronStates } from '../../consts';\r\nimport { CronState } from '../../enums';\r\nimport { SelectionActionType } from '@firestitch/selection';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-crons',\r\n templateUrl: './crons.component.html',\r\n styleUrls: ['./crons.component.scss'],\r\n})\r\nexport class CronsComponent implements OnInit {\r\n\r\n @ViewChild(FsListComponent, { static: true }) list: FsListComponent;\r\n\r\n @Input() public enable: (data: any) => Observable<any>;\r\n @Input() public disable: (data: any) => Observable<any>;\r\n @Input() public kill: (data: any) => Observable<any>;\r\n @Input() public queue: (data: any) => Observable<any>;\r\n @Input() public run: (data: any) => Observable<any>;\r\n @Input() public loadCrons: (data: any) => Observable<any[]>;\r\n @Input() public loadCron: (data: any) => Observable<any>;\r\n @Input() public loadCronLogs: (data: any) => Observable<{ data: any[], paging: any }>;\r\n @Input() public bulk: (actionName: string, data: any[]) => Observable<any>;\r\n\r\n public config: FsListConfig = null;\r\n public cronStates = indexNameValue(CronStates);\r\n\r\n constructor(\r\n private _message: FsMessage,\r\n private _dialog: MatDialog,\r\n ) { }\r\n\r\n public ngOnInit(): void {\r\n this._configList();\r\n }\r\n\r\n private _configList(): void {\r\n this.config = {\r\n paging: false,\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n }\r\n ],\r\n rowActions: this.getCronActions()\r\n .map((rowAction) => {\r\n return {\r\n ...rowAction,\r\n click: (cron) => {\r\n rowAction.action(cron)\r\n .subscribe();\r\n },\r\n }\r\n }),\r\n fetch: query => {\r\n query.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n return this.loadCrons(query)\r\n .pipe(\r\n map((response) => ({ data: response }))\r\n );\r\n }, \r\n };\r\n\r\n if(this.bulk) {\r\n this.config.selection = {\r\n selectAll: false,\r\n actions: [\r\n {\r\n type: SelectionActionType.Action,\r\n name: 'disable',\r\n label: 'Disable'\r\n },\r\n {\r\n type: SelectionActionType.Action,\r\n name: 'enable',\r\n label: 'Enable'\r\n },\r\n ],\r\n actionSelected: (action: FsListActionSelected) => {\r\n return this.bulk(action.action.name, action.selected)\r\n .pipe(\r\n tap(() => {\r\n this.list.reload();\r\n this._message.success('Applied Changes');\r\n }),\r\n );\r\n },\r\n };\r\n }\r\n }\r\n\r\n public open(cron) {\r\n this._dialog.open(CronComponent, {\r\n data: { \r\n cron,\r\n loadCronLogs: this.loadCronLogs,\r\n loadCron: this.loadCron,\r\n cronActions: this.getCronActions(),\r\n },\r\n width: '85%'\r\n });\r\n } \r\n\r\n public getCronActions() {\r\n return [\r\n {\r\n action: (data) => {\r\n return this.queue(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Queued cron');\r\n this.list.reload();\r\n }),\r\n );\r\n },\r\n label: 'Queue',\r\n show: (cron) => {\r\n return cron.state === CronState.Idle || cron.state === CronState.Failed;\r\n },\r\n },\r\n {\r\n action: (data) => {\r\n return this.run(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Cron ran');\r\n this.list.reload();\r\n })\r\n );\r\n },\r\n label: 'Run',\r\n show: (cron) => {\r\n return cron.state === CronState.Idle || cron.state === CronState.Failed;\r\n },\r\n },\r\n {\r\n action: (data) => {\r\n return this.enable(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Enabled cron');\r\n this.list.reload();\r\n }),\r\n );\r\n },\r\n label: 'Enable',\r\n show: (cron) => {\r\n return cron.state === CronState.Disabled;\r\n },\r\n },\r\n {\r\n action: (data) => {\r\n return this.disable(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Disabled cron');\r\n this.list.reload();\r\n }),\r\n );\r\n },\r\n label: 'Disable',\r\n show: (cron) => {\r\n return cron.state === CronState.Idle || cron.state === CronState.Failed;\r\n },\r\n },\r\n {\r\n action: (data) => {\r\n return this.kill(data)\r\n .pipe(\r\n tap(() => {\r\n this._message.success('Killed cron');\r\n this.list.reload();\r\n }),\r\n );\r\n },\r\n label: 'Kill',\r\n show: (cron) => {\r\n return cron.state === CronState.Running;\r\n },\r\n },\r\n ]; \r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport { FsPrompt } from '@firestitch/prompt';\r\nimport { parse } from '@firestitch/date';\r\nimport { FsMessage } from '@firestitch/message';\r\n\r\nimport { groupBy, reduce } from 'lodash-es';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\n\r\nimport { SettingInterfaceType } from '../../enums';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n @Input() public loadSettings: () => Observable<any[]>;\r\n @Input() public save: (data: any, group: string) => Observable<any>;\r\n\r\n @Output() public fileRemove = new EventEmitter();\r\n @Output() public fileSelect = new EventEmitter<{ setting: any, file: Blob }>();\r\n\r\n public groupedSettings = [];\r\n public groups = [];\r\n public SettingInterfaceType = SettingInterfaceType;\r\n\r\n constructor(\r\n private _message: FsMessage,\r\n private _clipboardService: ClipboardService,\r\n private _prompt: FsPrompt,\r\n private _cdRef: ChangeDetectorRef,\r\n ) { }\r\n\r\n public ngOnInit(): void {\r\n this.loadSettings()\r\n .subscribe((settings) => {\r\n settings = settings\r\n .filter((setting) => {\r\n return setting.interfaceType !== SettingInterfaceType.None;\r\n })\r\n .map((setting) => {\r\n switch (setting.interfaceType) {\r\n case SettingInterfaceType.Date:\r\n case SettingInterfaceType.Time:\r\n setting.value = parse(setting.value);\r\n\r\n case SettingInterfaceType.SelectMultiple:\r\n setting.value = Array.isArray(setting.value) ? setting.value : [];\r\n break;\r\n }\r\n return setting;\r\n });\r\n\r\n this.groupedSettings = groupBy(settings, (item) => {\r\n return item.group;\r\n });\r\n \r\n this.groups = Object.keys(this.groupedSettings);\r\n this._cdRef.markForCheck();\r\n });\r\n }\r\n\r\n public export(event: UIEvent, settings): void {\r\n event.stopPropagation();\r\n const data = settings.map((setting) => {\r\n return {\r\n name: setting.name,\r\n value: setting.value,\r\n group: setting.group,\r\n }\r\n });\r\n\r\n this._clipboardService.copy(JSON.stringify(data));\r\n this._message.success('Copied to clipboard');\r\n }\r\n\r\n public import(event: UIEvent, group): void {\r\n event.stopPropagation();\r\n this._prompt.input({\r\n label: 'JSON Import',\r\n title: 'Import Settings',\r\n commitLabel: 'Import',\r\n required: true,\r\n }).subscribe((value: string) => {\r\n if (value) {\r\n try {\r\n const settings = this.groupedSettings[group];\r\n const data = JSON.parse(value);\r\n\r\n data.forEach((item) => {\r\n const setting = settings.find((s) => {\r\n return item.name === s.name;\r\n });\r\n\r\n if (setting) {\r\n Object.assign(setting, item);\r\n }\r\n });\r\n\r\n this._cdRef.markForCheck();\r\n } catch (e) {\r\n this._message.error(e);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public saveGroup(group): void {\r\n const settings = this.groupedSettings[group];\r\n const values = reduce(settings, (result, value, key) => {\r\n return (result[value.name] = value.value, result);\r\n }, {});\r\n\r\n this.save(group, values)\r\n .subscribe(() => {\r\n this._message.success('Changes Saved');\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\nimport { FsFileManagerConfig } from '@firestitch/file-manager';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-file-manager',\r\n templateUrl: './file-manager.component.html',\r\n styleUrls: ['./file-manager.component.scss']\r\n})\r\nexport class FileManagerComponent implements OnInit {\r\n\r\n @Input() fetch: Function;\r\n @Input() deleteFile: Function;\r\n @Input() deleteDirectory: Function;\r\n @Input() createDirectory: Function;\r\n @Input() download: Function;\r\n @Input() upload: Function;\r\n\r\n public config: FsFileManagerConfig;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this._configFileManager();\r\n }\r\n\r\n private _configFileManager() {\r\n this.config = {\r\n fetch: (path) => {\r\n return this.fetch(path);\r\n },\r\n deleteFile: (path) => {\r\n return this.deleteFile(path)\r\n },\r\n deleteDirectory: (path) => {\r\n return this.deleteDirectory(path)\r\n },\r\n createDirectory: (path) => {\r\n return this.createDirectory(path)\r\n },\r\n download: (path) => {\r\n return this.download(path);\r\n },\r\n upload: (path, file) => {\r\n return this.upload(path, file);\r\n }\r\n };\r\n }\r\n\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n@Pipe({\r\n name: 'keyNameValue'\r\n})\r\n@Injectable()\r\nexport class KeyNameValuePipe implements PipeTransform {\r\n\r\n transform(values): any {\r\n return Object.keys(values).map((key) => {\r\n return { value: key, name: values[key] }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\nimport { ProcessStates } from './../../consts/process-states.const';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { ProcessState } from './../../enums/process-state.enum';\r\n\r\n@Component({\r\n templateUrl: './process.component.html',\r\n styleUrls: ['./process.component.scss']\r\n})\r\nexport class ProcessComponent implements OnInit {\r\n\r\n public process;\r\n public ProcessStates;\r\n public ProcessState = ProcessState;\r\n\r\n constructor(private _dialogRef: MatDialogRef<ProcessComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data) {}\r\n\r\n public ngOnInit() {\r\n\r\n this.ProcessStates = indexNameValue(ProcessStates);\r\n\r\n if (this.data.loadProcess) {\r\n this.load();\r\n } else {\r\n this.process = this.data.process;\r\n }\r\n }\r\n\r\n public load() {\r\n this.data.loadProcess(this.data.process)\r\n .subscribe((process) => {\r\n this.process = process;\r\n });\r\n }\r\n}\r\n","import { ProcessComponent } from './../process/process.component';\r\nimport { ProcessState } from '../../enums';\r\nimport { FsMessage } from '@firestitch/message';\r\nimport { ProcessAction } from './../../interfaces/process-action';\r\nimport { Component, OnInit, Input, ViewChild, OnDestroy } from '@angular/core';\r\n\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { ProcessStates } from '../../consts';\r\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-processes',\r\n templateUrl: './processes.component.html',\r\n styleUrls: ['./processes.component.scss']\r\n})\r\nexport class ProcessesComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild(FsListComponent) list: FsListComponent;\r\n\r\n @Input() public loadProcesses: (data: any) => Observable<{ data: any[], paging: any }>;\r\n @Input() public loadProcess: (data: any) => Observable<any>;\r\n @Input() public run: (data: any) => Observable<any>;\r\n @Input() public kill: (data: any) => Observable<any>;\r\n @Input() public delete: (data: any) => Observable<any>;\r\n @Input() public download: (data: any) => any;\r\n @Input() public actions: ProcessAction[] = [];\r\n\r\n public config: FsListConfig = null;\r\n public ProcessStates = indexNameValue(ProcessStates);\r\n public ProcessState = ProcessState;\r\n\r\n private _destroy$ = new Subject();\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n private _message: FsMessage\r\n ) { }\r\n\r\n public ngOnInit() {\r\n this._configList();\r\n }\r\n\r\n private _configList() {\r\n\r\n this.config = {\r\n actions: [],\r\n rowActions: [],\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n },\r\n {\r\n type: ItemType.Select,\r\n name: 'state',\r\n label: 'Status',\r\n values: ProcessStates\r\n },\r\n ],\r\n fetch: query => {\r\n return this.loadProcesses(query)\r\n .pipe(\r\n map((response: any) => ({ data: response.data, paging: response.paging }))\r\n );\r\n }\r\n };\r\n\r\n if (this.run) {\r\n this.config.rowActions.push({\r\n label: 'Run',\r\n click: (data) => {\r\n this._message.info('Running process...');\r\n this.run(data)\r\n .subscribe(() => {\r\n this.list.reload();\r\n this._message.success('Succesfully ran process');\r\n });\r\n\r\n setTimeout(() => {\r\n this.list.reload();\r\n }, 500);\r\n }\r\n });\r\n }\r\n\r\n if (this.kill) {\r\n this.config.rowActions.push({\r\n label: 'Kill',\r\n show: (data) => {\r\n return !!data.pid;\r\n },\r\n click: (data) => {\r\n this._message.info('Killing process...');\r\n this.kill(data)\r\n .subscribe(() => {\r\n this.list.reload();\r\n this._message.success('Succesfully killed process');\r\n });\r\n\r\n setTimeout(() => {\r\n this.list.reload();\r\n }, 500);\r\n }\r\n });\r\n }\r\n\r\n if (this.delete) {\r\n this.config.rowActions.push({\r\n label: 'Delete',\r\n click: (data) => {\r\n this.delete(data)\r\n .subscribe(() => {\r\n this.list.reload();\r\n this._message.success('Deleted process');\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.actions.forEach(action => {\r\n this.config.actions.push({\r\n primary: false,\r\n label: action.label,\r\n menu: action.menu,\r\n click: () => {\r\n if (action.click) {\r\n action.click();\r\n }\r\n\r\n if (action.component) {\r\n const dialogRef = this._dialog.open(action.component, {\r\n width: '800px'\r\n });\r\n\r\n dialogRef.afterClosed()\r\n .pipe(\r\n takeUntil(this._destroy$)\r\n )\r\n .subscribe(result => {\r\n this.list.reload();\r\n });\r\n }\r\n },\r\n });\r\n });\r\n }\r\n\r\n public open(process) {\r\n this._dialog.open(ProcessComponent, {\r\n data: {\r\n process,\r\n loadProcess: this.loadProcess,\r\n },\r\n width: '85%'\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this._destroy$.next();\r\n this._destroy$.complete();\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n templateUrl: './server-log.component.html',\r\n styleUrls: ['./server-log.component.scss']\r\n})\r\nexport class ServerLogComponent implements OnInit {\r\n\r\n public log;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data) {}\r\n\r\n public ngOnInit() {\r\n\r\n if (this.data.log) {\r\n this.log = this.data.log;\r\n\r\n try {\r\n this.log.backtrace = JSON.parse(this.log.backtrace);\r\n } catch (e) {}\r\n\r\n try {\r\n this.log.server = JSON.parse(this.log.server);\r\n } catch (e) {}\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\n\r\nimport { FsListConfig, FsListComponent } from '@firestitch/list';\r\nimport { map } from 'rxjs/operators';\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ServerLogComponent } from '../server-log/server-log.component';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-server-logs',\r\n templateUrl: './server-logs.component.html',\r\n styleUrls: ['./server-logs.component.scss']\r\n})\r\nexport class ServerLogsComponent implements OnInit {\r\n\r\n @ViewChild('list', { static: true }) public list: FsListComponent;\r\n\r\n @Input() public loadLogs: (data: any) => Observable<{ data: any[], paging: any }>;\r\n\r\n public config: FsListConfig = null;\r\n public logTypes = [];\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this._configList();\r\n }\r\n\r\n private _configList() {\r\n\r\n this.config = {\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n }\r\n ],\r\n fetch: query => {\r\n return this.loadLogs(query)\r\n .pipe(\r\n map((response: any) => ({ data: response.data, paging: response.paging }))\r\n );\r\n }\r\n };\r\n }\r\n\r\n public open(log) {\r\n this._dialog.open(ServerLogComponent, {\r\n data: { log: log },\r\n width: '85%'\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { FsListConfig, FsListComponent } from '@firestitch/list';\r\nimport { map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-upgrade-logs',\r\n templateUrl: './upgrade-logs.component.html',\r\n styleUrls: ['./upgrade-logs.component.scss']\r\n})\r\nexport class UpgradeLogsComponent implements OnInit {\r\n\r\n @ViewChild(FsListComponent, { static: true }) list: FsListComponent;\r\n\r\n @Input() loadUpgradeLogs: (data: any) => Observable<{ data: any[], paging: any }>;\r\n\r\n public config: FsListConfig = null;\r\n public logTypes = [];\r\n\r\n ngOnInit() {\r\n this._configList();\r\n }\r\n private _configList() {\r\n\r\n this.config = {\r\n paging: false,\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n }\r\n ],\r\n fetch: query => {\r\n return this.loadUpgradeLogs(query)\r\n .pipe(\r\n map((response: any) => ({ data: response.data, paging: response.paging }))\r\n );\r\n }\r\n };\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { ApiLogStates } from '../../consts';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\n\r\n\r\n@Component({\r\n templateUrl: './api-log.component.html',\r\n styleUrls: ['./api-log.component.scss']\r\n})\r\nexport class ApiLogComponent implements OnInit {\r\n\r\n public apiLog;\r\n public apiLogStates;\r\n\r\n constructor(private _dialogRef: MatDialogRef<ApiLogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data) {}\r\n\r\n public ngOnInit() {\r\n\r\n this.apiLogStates = indexNameValue(ApiLogStates);\r\n\r\n if (this.data.apiLog) {\r\n this.apiLog = this.data.apiLog;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { ItemType } from '@firestitch/filter';\r\nimport { FsListConfig, FsListComponent } from '@firestitch/list';\r\nimport { map } from 'rxjs/operators';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ApiLogStates } from '../../consts';\r\nimport { ApiLogComponent } from '../api-log/api-log.component';\r\nimport { indexNameValue } from '../../helpers/index-name-value';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-api-logs',\r\n templateUrl: './api-logs.component.html',\r\n styleUrls: ['./api-logs.component.scss']\r\n})\r\nexport class ApiLogsComponent implements OnInit {\r\n\r\n @ViewChild(FsListComponent, { static: true }) \r\n public list: FsListComponent;\r\n\r\n @Input() loadApiLogs: (data: any) => Observable<{ data: any[], paging: any }>;\r\n\r\n public config: FsListConfig = null;\r\n public apiLogStates = indexNameValue(ApiLogStates);\r\n\r\n constructor(\r\n private _dialog: MatDialog,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this._configList();\r\n }\r\n\r\n private _configList() {\r\n\r\n this.config = {\r\n filters: [\r\n {\r\n type: ItemType.Keyword,\r\n name: 'keyword',\r\n label: 'Search'\r\n },\r\n {\r\n type: ItemType.Select,\r\n name: 'state',\r\n label: 'Status',\r\n values: ApiLogStates\r\n },\r\n {\r\n name: 'createDate',\r\n type: ItemType.DateRange,\r\n label: ['From Date', 'To Date'],\r\n }\r\n ],\r\n fetch: query => {\r\n Object.assign(query, { });\r\n return this.loadApiLogs(query)\r\n .pipe(\r\n map((response: any) => ({ data: response.data, paging: response.paging }))\r\n );\r\n }\r\n };\r\n }\r\n\r\n public open(apiLog) {\r\n this._dialog.open(ApiLogComponent, {\r\n data: { apiLog: apiLog },\r\n width: '85%'\r\n });\r\n }\r\n}\r\n","import { Component, ChangeDetectionStrategy, Input, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'fs-system-info',\r\n templateUrl: 'info.component.html',\r\n styleUrls: [ 'info.component.scss' ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class InfoComponent implements AfterViewInit {\r\n\r\n @ViewChild('iframe') \r\n public iframe: ElementRef;\r\n\r\n @Input() public load: () => Observable<any>;\r\n\r\n ngAfterViewInit() {\r\n this._load();\r\n }\r\n\r\n private _load() {\r\n this.load()\r\n .subscribe((info) => {\r\n\r\n info += '<style>body { background: transparent; }</style>';\r\n\r\n const doc = this.iframe.nativeElement.contentDocument || this.iframe.nativeElement.contentWindow;\r\n doc.open();\r\n doc.write(info);\r\n doc.close();\r\n const scrollHeight = (this.iframe.nativeElement.contentWindow.document.documentElement.scrollHeight + 100);\r\n this.iframe.nativeElement.style.height = `${scrollHeight}px`;\r\n });\r\n }\r\n}\r\n","import { FsSystemConfig } from './interfaces/system-config';\r\nimport { FS_SYSTEM_CONFIG } from './injectors/system-config.injector';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\nimport { FsDateModule } from '@firestitch/date';\r\nimport { FsDatePickerModule } from '@firestitch/datepicker';\r\nimport { FsSkeletonModule } from '@firestitch/skeleton';\r\nimport { FsListModule } from '@firestitch/list';\r\nimport { FsFileManagerModule } from '@firestitch/file-manager';\r\nimport { FsDialogModule } from '@firestitch/dialog';\r\nimport { FsLabelModule } from '@firestitch/label';\r\nimport { FsFileModule } from '@firestitch/file';\r\nimport { FsMenuModule } from '@firestitch/menu';\r\n\r\nimport { DashboardComponent } from './components/dashboard/dashboard.component';\r\nimport { CronsComponent } from './components/crons/crons.component';\r\nimport { SettingsComponent } from './components/settings/settings.component';\r\nimport { FileManagerComponent } from './components/file-manager/file-manager.component';\r\nimport { KeyNameValuePipe } from './pipes/key-name-value.pipe';\r\nimport { ProcessesComponent } from './components/processes/processes.component';\r\nimport { ServerLogsComponent } from './components/server-logs/server-logs.component';\r\nimport { ServerLogComponent } from './components/server-log/server-log.component';\r\nimport { UpgradeLogsComponent } from './components/upgrade-logs/upgrade-logs.component';\r\nimport { ApiLogsComponent } from './components/api-logs/api-logs.component';\r\nimport { ApiLogComponent } from './components/api-log/api-log.component';\r\nimport { InfoComponent } from './components/info/info.component';\r\nimport { ProcessComponent } from './components/process/process.component';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { CronComponent } from './components/cron';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { CronLogComponent } from './components/cron-log';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FlexLayoutModule,\r\n FormsModule,\r\n\r\n MatButtonModule,\r\n MatExpansionModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n\r\n FsDateModule,\r\n FsSkeletonModule,\r\n FsListModule,\r\n FsFileModule,\r\n FsFileManagerModule,\r\n FsLabelModule,\r\n FsDialogModule,\r\n FsDatePickerModule,\r\n FsMenuModule,\r\n\r\n ClipboardModule,\r\n ],\r\n exports: [\r\n DashboardComponent,\r\n CronsComponent,\r\n SettingsComponent,\r\n FileManagerComponent,\r\n ProcessesComponent,\r\n ServerLogsComponent,\r\n UpgradeLogsComponent,\r\n ApiLogsComponent,\r\n InfoComponent,\r\n ],\r\n declarations: [\r\n DashboardComponent,\r\n CronsComponent,\r\n SettingsComponent,\r\n KeyNameValuePipe,\r\n FileManagerComponent,\r\n ProcessesComponent,\r\n ServerLogComponent,\r\n ServerLogsComponent,\r\n UpgradeLogsComponent,\r\n ApiLogsComponent,\r\n ApiLogComponent,\r\n InfoComponent,\r\n ProcessComponent,\r\n CronComponent,\r\n CronLogComponent,\r\n ],\r\n})\r\nexport class FsSystemModule {\r\n static forRoot(config: FsSystemConfig): ModuleWithProviders<FsSystemModule> {\r\n return {\r\n ngModule: FsSystemModule,\r\n providers: [\r\n { provide: FS_SYSTEM_CONFIG, useValue: config || {} },\r\n ]\r\n };\r\n }\r\n}\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ApiLogComponent as ɵl} from './app/components/api-log/api-log.component';\nexport {ApiLogsComponent as ɵh} from './app/components/api-logs/api-logs.component';\nexport {CronComponent as ɵn} from './app/components/cron';\nexport {CronLogComponent as ɵo} from './app/components/cron-log';\nexport {CronsComponent as ɵb} from './app/components/crons/crons.component';\nexport {DashboardComponent as ɵa} from './app/components/dashboard/dashboard.component';\nexport {FileManagerComponent as ɵd} from './app/components/file-manager/file-manager.component';\nexport {InfoComponent as ɵi} from './app/components/info/info.component';\nexport {ProcessComponent as ɵm} from './app/components/process/process.component';\nexport {ProcessesComponent as ɵe} from './app/components/processes/processes.component';\nexport {ServerLogComponent as ɵk} from './app/components/server-log/server-log.component';\nexport {ServerLogsComponent as ɵf} from './app/components/server-logs/server-logs.component';\nexport {SettingsComponent as ɵc} from './app/components/settings/settings.component';\nexport {UpgradeLogsComponent as ɵg} from './app/components/upgrade-logs/upgrade-logs.component';\nexport {KeyNameValuePipe as ɵj} from './app/pipes/key-name-value.pipe';"],"names":[],"mappings":"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"}
|
|
@@ -653,7 +653,7 @@ var SettingsComponent = /** @class */ (function () {
|
|
|
653
653
|
SettingsComponent = __decorate([
|
|
654
654
|
Component({
|
|
655
655
|
selector: 'fs-system-settings',
|
|
656
|
-
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\"
|
|
656
|
+
template: "\r\n<mat-accordion>\r\n <mat-expansion-panel hideToggle *ngFor=\"let group of groups\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <div class=\"title-row\">\r\n <div class=\"title\">{{group || 'General'}}</div>\r\n <div class=\"actions\">\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Export ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"export($event, groupedSettings[group])\">\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n [matTooltip]=\"'Import ' + (group || 'General') + ' Settings'\"\r\n mat-icon-button\r\n (click)=\"import($event, group)\">\r\n <mat-icon>cloud_upload</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n\r\n <div hideToggle *ngFor=\"let setting of groupedSettings[group]\">\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\"\r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.InputBox\">\r\n <input\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Textarea\">\r\n <textarea\r\n matInput\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n </textarea>\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Select || setting.interfaceType===SettingInterfaceType.SelectMultiple\">\r\n <mat-select\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [multiple]=\"setting.interfaceType===SettingInterfaceType.SelectMultiple\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-option *ngFor=\"let item of setting.values | keyNameValue\" [value]=\"item.value\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Date\">\r\n <input\r\n matInput\r\n fsDatePicker\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <mat-form-field \r\n class=\"full-width form-field-multiline-subscript\" \r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.Time\">\r\n <input\r\n matInput\r\n fsTimePicker\r\n [placeholder]=\"setting.label\"\r\n [(ngModel)]=\"setting.value\"\r\n [name]=\"'setting' + setting.id\">\r\n <mat-hint>{{setting.instruction}}</mat-hint>\r\n </mat-form-field>\r\n\r\n <fs-file-picker\r\n *ngIf=\"setting.interfaceType===SettingInterfaceType.File\"\r\n [allowRemove]=\"true\"\r\n [allowDownload]=\"true\"\r\n (select)=\"fileSelect.emit({ setting: setting, file: $event.file })\"\r\n (remove)=\"fileRemove.emit(setting)\"\r\n [url]=\"setting.value\">\r\n <div fsFileLabel>{{setting.label}}</div>\r\n </fs-file-picker>\r\n </div>\r\n\r\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"saveGroup(group)\">Save</button>\r\n\r\n </mat-expansion-panel>\r\n\r\n</mat-accordion>\r\n",
|
|
657
657
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
658
658
|
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}"]
|
|
659
659
|
}),
|