@firestitch/system 9.2.0 → 9.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","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/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/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"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","CronState","SettingInterfaceType","ApiLogState","ProcessState","CronLogState","FS_SYSTEM_CONFIG","InjectionToken","DashboardComponent","_message","_cdRef","_buildService","buttonActions","menuActions","_destroy$","Subject","actions","ngOnInit","_this","_load","filter","item","menu","build","buildChange$","pipe","takeUntil","subscribe","markForCheck","load","dashboard","cronRanAttention","cronRan","differenceInMinutes","Date","ngOnDestroy","complete","actionClick","action","click","initClick","init","success","upgradeClick","upgrade","FsMessage","ChangeDetectorRef","FsBuildService","Input","Function","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","indexNameValue","arry","obj","forEach","name","CronLogStates","Message","color","Disabled","Started","Running","Completed","Failed","Killed","Queued","Reset","Stagnant","LongRunning","CronStates","Idle","ApiLogStates","Success","Deleted","ProcessStates","CronLogComponent","_data","CronLogStateColors","cronLog","reduce","accum","cronLogState","Inject","args","MAT_DIALOG_DATA","CronComponent","_dialog","tabIndex","cronLogOpen","open","data","width","cronActionClick","cronAction","cron","selectedIndexChange","index","loadCron","loadCronLogs","config","filters","type","ItemType","Select","label","values","DateRange","fetch","query","cronId","id","cronActions","cronLogAction","show","MatDialog","CronsComponent","cronStates","_configList","paging","Keyword","rowActions","getCronActions","map","rowAction","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","loadCrons","response","bulk","selection","selectAll","SelectionActionType","Action","actionSelected","selected","tap","list","reload","queue","state","run","enable","disable","kill","ViewChild","FsListComponent","static","SettingsComponent","_clipboardService","_prompt","fileRemove","EventEmitter","fileSelect","groupedSettings","groups","loadSettings","settings","setting","interfaceType","Time","parse","SelectMultiple","Array","isArray","groupBy","group","keys","export","event","stopPropagation","copy","JSON","stringify","import","input","title","commitLabel","required","settings_1","find","saveGroup","result","save","ClipboardService","FsPrompt","Output","FileManagerComponent","_configFileManager","path","deleteFile","deleteDirectory","createDirectory","download","upload","file","KeyNameValuePipe","transform","Pipe","Injectable","ProcessComponent","_dialogRef","loadProcess","process","MatDialogRef","ProcessesComponent","loadProcesses","info","setTimeout","pid","delete","primary","component","afterClosed","ServerLogComponent","log","backtrace","server","ServerLogsComponent","logTypes","loadLogs","UpgradeLogsComponent","loadUpgradeLogs","ApiLogComponent","apiLogStates","apiLog","ApiLogsComponent","loadApiLogs","InfoComponent","ngAfterViewInit","doc","iframe","nativeElement","contentDocument","contentWindow","write","close","scrollHeight","document","documentElement","style","height","ElementRef","FsSystemModule","forRoot","ngModule","FsSystemModule_1","providers","provide","useValue","NgModule","imports","CommonModule","FlexLayoutModule","FormsModule","MatButtonModule","MatExpansionModule","MatTooltipModule","MatIconModule","MatFormFieldModule","MatInputModule","MatSelectModule","MatDialogModule","MatTabsModule","FsDateModule","FsSkeletonModule","FsListModule","FsFileModule","FsFileManagerModule","FsLabelModule","FsDialogModule","FsDatePickerModule","FsMenuModule","ClipboardModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\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}\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 { 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","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.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 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"]}
1
+ {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","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/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/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"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","CronState","SettingInterfaceType","ApiLogState","ProcessState","CronLogState","FS_SYSTEM_CONFIG","InjectionToken","DashboardComponent","_message","_cdRef","_buildService","buttonActions","menuActions","_destroy$","Subject","actions","ngOnInit","_this","_load","filter","item","menu","build","buildChange$","pipe","takeUntil","subscribe","markForCheck","load","dashboard","cronRanAttention","cronRan","differenceInMinutes","Date","ngOnDestroy","complete","actionClick","action","click","initClick","init","success","upgradeClick","upgrade","FsMessage","ChangeDetectorRef","FsBuildService","Input","Function","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","indexNameValue","arry","obj","forEach","name","CronLogStates","Message","color","Disabled","Started","Running","Completed","Failed","Killed","Queued","Reset","Stagnant","LongRunning","CronStates","Idle","ApiLogStates","Success","Deleted","ProcessStates","CronLogComponent","_data","CronLogStateColors","cronLog","reduce","accum","cronLogState","Inject","args","MAT_DIALOG_DATA","CronComponent","_dialog","tabIndex","cronLogOpen","open","data","width","cronActionClick","cronAction","cron","selectedIndexChange","index","loadCron","loadCronLogs","config","filters","type","ItemType","Select","label","values","DateRange","fetch","query","cronId","id","cronActions","cronLogAction","show","MatDialog","CronsComponent","cronStates","_configList","paging","Keyword","rowActions","getCronActions","map","rowAction","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","loadCrons","response","bulk","selection","selectAll","SelectionActionType","Action","actionSelected","selected","tap","list","reload","queue","state","run","enable","disable","kill","ViewChild","FsListComponent","static","SettingsComponent","_clipboardService","_prompt","fileRemove","EventEmitter","fileSelect","groupedSettings","groups","loadSettings","settings","setting","interfaceType","None","Time","parse","SelectMultiple","Array","isArray","groupBy","group","keys","export","event","stopPropagation","copy","JSON","stringify","import","input","title","commitLabel","required","settings_1","find","saveGroup","result","save","ClipboardService","FsPrompt","Output","FileManagerComponent","_configFileManager","path","deleteFile","deleteDirectory","createDirectory","download","upload","file","KeyNameValuePipe","transform","Pipe","Injectable","ProcessComponent","_dialogRef","loadProcess","process","MatDialogRef","ProcessesComponent","loadProcesses","info","setTimeout","pid","delete","primary","component","afterClosed","ServerLogComponent","log","backtrace","server","ServerLogsComponent","logTypes","loadLogs","UpgradeLogsComponent","loadUpgradeLogs","ApiLogComponent","apiLogStates","apiLog","ApiLogsComponent","loadApiLogs","InfoComponent","ngAfterViewInit","doc","iframe","nativeElement","contentDocument","contentWindow","write","close","scrollHeight","document","documentElement","style","height","ElementRef","FsSystemModule","forRoot","ngModule","FsSystemModule_1","providers","provide","useValue","NgModule","imports","CommonModule","FlexLayoutModule","FormsModule","MatButtonModule","MatExpansionModule","MatTooltipModule","MatIconModule","MatFormFieldModule","MatInputModule","MatSelectModule","MatDialogModule","MatTabsModule","FsDateModule","FsSkeletonModule","FsListModule","FsFileModule","FsFileManagerModule","FsLabelModule","FsDialogModule","FsDatePickerModule","FsMenuModule","ClipboardModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\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 { 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","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"]}
@@ -21,7 +21,11 @@ let SettingsComponent = class SettingsComponent {
21
21
  ngOnInit() {
22
22
  this.loadSettings()
23
23
  .subscribe((settings) => {
24
- settings = settings.map((setting) => {
24
+ settings = settings
25
+ .filter((setting) => {
26
+ return setting.interfaceType !== SettingInterfaceType.None;
27
+ })
28
+ .map((setting) => {
25
29
  switch (setting.interfaceType) {
26
30
  case SettingInterfaceType.Date:
27
31
  case SettingInterfaceType.Time:
@@ -125,4 +129,4 @@ SettingsComponent = __decorate([
125
129
  ChangeDetectorRef])
126
130
  ], SettingsComponent);
127
131
  export { SettingsComponent };
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvc3lzdGVtLyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBVW5ELElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBWTVCLFlBQ1UsUUFBbUIsRUFDbkIsaUJBQW1DLEVBQ25DLE9BQWlCLEVBQ2pCLE1BQXlCO1FBSHpCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBWGxCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUV4RSxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1oseUJBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFPL0Ms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UUFDQSxnQkFBZ0I7UUFDMUIsUUFBUTtRQUNULGlCQUFpQjtHQWhCeEIsaUJBQWlCLENBbUc3QjtTQW5HWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZzUHJvbXB0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvcHJvbXB0JztcclxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlJztcclxuaW1wb3J0IHsgRnNNZXNzYWdlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbWVzc2FnZSc7XHJcblxyXG5pbXBvcnQgeyBncm91cEJ5LCByZWR1Y2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRTZXJ2aWNlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XHJcblxyXG5pbXBvcnQgeyBTZXR0aW5nSW50ZXJmYWNlVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnMtc3lzdGVtLXNldHRpbmdzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NldHRpbmdzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkU2V0dGluZ3M6ICgpID0+IE9ic2VydmFibGU8YW55W10+O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzYXZlOiAoZGF0YTogYW55LCBncm91cDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZmlsZVJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGZpbGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc2V0dGluZzogYW55LCBmaWxlOiBCbG9iIH0+KCk7XHJcblxyXG4gIHB1YmxpYyBncm91cGVkU2V0dGluZ3MgPSBbXTtcclxuICBwdWJsaWMgZ3JvdXBzID0gW107XHJcbiAgcHVibGljIFNldHRpbmdJbnRlcmZhY2VUeXBlID0gU2V0dGluZ0ludGVyZmFjZVR5cGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogRnNNZXNzYWdlLFxyXG4gICAgcHJpdmF0ZSBfY2xpcGJvYXJkU2VydmljZTogQ2xpcGJvYXJkU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Byb21wdDogRnNQcm9tcHQsXHJcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkU2V0dGluZ3MoKVxyXG4gICAgICAuc3Vic2NyaWJlKChzZXR0aW5ncykgPT4ge1xyXG4gICAgICAgIHNldHRpbmdzID0gc2V0dGluZ3MubWFwKChzZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICBzd2l0Y2ggKHNldHRpbmcuaW50ZXJmYWNlVHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIFNldHRpbmdJbnRlcmZhY2VUeXBlLkRhdGU6XHJcbiAgICAgICAgICAgIGNhc2UgU2V0dGluZ0ludGVyZmFjZVR5cGUuVGltZTpcclxuICAgICAgICAgICAgICBzZXR0aW5nLnZhbHVlID0gcGFyc2Uoc2V0dGluZy52YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBjYXNlIFNldHRpbmdJbnRlcmZhY2VUeXBlLlNlbGVjdE11bHRpcGxlOlxyXG4gICAgICAgICAgICAgIHNldHRpbmcudmFsdWUgPSBBcnJheS5pc0FycmF5KHNldHRpbmcudmFsdWUpID8gc2V0dGluZy52YWx1ZSA6IFtdO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHNldHRpbmc7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZ3JvdXBlZFNldHRpbmdzID0gZ3JvdXBCeShzZXR0aW5ncywgKGl0ZW0pID0+IHtcclxuICAgICAgICAgIHJldHVybiBpdGVtLmdyb3VwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBzID0gT2JqZWN0LmtleXModGhpcy5ncm91cGVkU2V0dGluZ3MpO1xyXG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnQoZXZlbnQ6IFVJRXZlbnQsIHNldHRpbmdzKTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGRhdGEgPSBzZXR0aW5ncy5tYXAoKHNldHRpbmcpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBzZXR0aW5nLm5hbWUsXHJcbiAgICAgICAgdmFsdWU6IHNldHRpbmcudmFsdWUsXHJcbiAgICAgICAgZ3JvdXA6IHNldHRpbmcuZ3JvdXAsXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX2NsaXBib2FyZFNlcnZpY2UuY29weShKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ0NvcGllZCB0byBjbGlwYm9hcmQnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbXBvcnQoZXZlbnQ6IFVJRXZlbnQsIGdyb3VwKTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuX3Byb21wdC5pbnB1dCh7XHJcbiAgICAgICAgbGFiZWw6ICdKU09OIEltcG9ydCcsXHJcbiAgICAgICAgdGl0bGU6ICdJbXBvcnQgU2V0dGluZ3MnLFxyXG4gICAgICAgIGNvbW1pdExhYmVsOiAnSW1wb3J0JyxcclxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgfSkuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuZ3JvdXBlZFNldHRpbmdzW2dyb3VwXTtcclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UodmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZyA9IHNldHRpbmdzLmZpbmQoKHMpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLm5hbWUgPT09IHMubmFtZTtcclxuICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKHNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oc2V0dGluZywgaXRlbSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9tZXNzYWdlLmVycm9yKGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZUdyb3VwKGdyb3VwKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuZ3JvdXBlZFNldHRpbmdzW2dyb3VwXTtcclxuICAgIGNvbnN0IHZhbHVlcyA9IHJlZHVjZShzZXR0aW5ncywgKHJlc3VsdCwgdmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICByZXR1cm4gKHJlc3VsdFt2YWx1ZS5uYW1lXSA9IHZhbHVlLnZhbHVlLCByZXN1bHQpO1xyXG4gICAgfSwge30pO1xyXG5cclxuICAgIHRoaXMuc2F2ZShncm91cCwgdmFsdWVzKVxyXG4gICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnQ2hhbmdlcyBTYXZlZCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvc3lzdGVtLyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBVW5ELElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBWTVCLFlBQ1UsUUFBbUIsRUFDbkIsaUJBQW1DLEVBQ25DLE9BQWlCLEVBQ2pCLE1BQXlCO1FBSHpCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBWGxCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUV4RSxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1oseUJBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFPL0Ms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TjdCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsMjNIQUF3QztRQUV4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDaEQsQ0FBQztxQ0Fjb0IsU0FBUztRQUNBLGdCQUFnQjtRQUMxQixRQUFRO1FBQ1QsaUJBQWlCO0dBaEJ4QixpQkFBaUIsQ0F3RzdCO1NBeEdZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRnNQcm9tcHQgfSBmcm9tICdAZmlyZXN0aXRjaC9wcm9tcHQnO1xyXG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGUnO1xyXG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcclxuXHJcbmltcG9ydCB7IGdyb3VwQnksIHJlZHVjZSB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IENsaXBib2FyZFNlcnZpY2UgfSBmcm9tICduZ3gtY2xpcGJvYXJkJztcclxuXHJcbmltcG9ydCB7IFNldHRpbmdJbnRlcmZhY2VUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmcy1zeXN0ZW0tc2V0dGluZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2V0dGluZ3MuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGxvYWRTZXR0aW5nczogKCkgPT4gT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgQElucHV0KCkgcHVibGljIHNhdmU6IChkYXRhOiBhbnksIGdyb3VwOiBzdHJpbmcpID0+IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmaWxlUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZmlsZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzZXR0aW5nOiBhbnksIGZpbGU6IEJsb2IgfT4oKTtcclxuXHJcbiAgcHVibGljIGdyb3VwZWRTZXR0aW5ncyA9IFtdO1xyXG4gIHB1YmxpYyBncm91cHMgPSBbXTtcclxuICBwdWJsaWMgU2V0dGluZ0ludGVyZmFjZVR5cGUgPSBTZXR0aW5nSW50ZXJmYWNlVHlwZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9tZXNzYWdlOiBGc01lc3NhZ2UsXHJcbiAgICBwcml2YXRlIF9jbGlwYm9hcmRTZXJ2aWNlOiBDbGlwYm9hcmRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcHJvbXB0OiBGc1Byb21wdCxcclxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRTZXR0aW5ncygpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgc2V0dGluZ3MgPSBzZXR0aW5nc1xyXG4gICAgICAgIC5maWx0ZXIoKHNldHRpbmcpID0+IHtcclxuICAgICAgICAgIHJldHVybiBzZXR0aW5nLmludGVyZmFjZVR5cGUgIT09IFNldHRpbmdJbnRlcmZhY2VUeXBlLk5vbmU7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAubWFwKChzZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICBzd2l0Y2ggKHNldHRpbmcuaW50ZXJmYWNlVHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIFNldHRpbmdJbnRlcmZhY2VUeXBlLkRhdGU6XHJcbiAgICAgICAgICAgIGNhc2UgU2V0dGluZ0ludGVyZmFjZVR5cGUuVGltZTpcclxuICAgICAgICAgICAgICBzZXR0aW5nLnZhbHVlID0gcGFyc2Uoc2V0dGluZy52YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBjYXNlIFNldHRpbmdJbnRlcmZhY2VUeXBlLlNlbGVjdE11bHRpcGxlOlxyXG4gICAgICAgICAgICAgIHNldHRpbmcudmFsdWUgPSBBcnJheS5pc0FycmF5KHNldHRpbmcudmFsdWUpID8gc2V0dGluZy52YWx1ZSA6IFtdO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHNldHRpbmc7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZ3JvdXBlZFNldHRpbmdzID0gZ3JvdXBCeShzZXR0aW5ncywgKGl0ZW0pID0+IHtcclxuICAgICAgICAgIHJldHVybiBpdGVtLmdyb3VwO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuZ3JvdXBzID0gT2JqZWN0LmtleXModGhpcy5ncm91cGVkU2V0dGluZ3MpO1xyXG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnQoZXZlbnQ6IFVJRXZlbnQsIHNldHRpbmdzKTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGRhdGEgPSBzZXR0aW5ncy5tYXAoKHNldHRpbmcpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBzZXR0aW5nLm5hbWUsXHJcbiAgICAgICAgdmFsdWU6IHNldHRpbmcudmFsdWUsXHJcbiAgICAgICAgZ3JvdXA6IHNldHRpbmcuZ3JvdXAsXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX2NsaXBib2FyZFNlcnZpY2UuY29weShKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ0NvcGllZCB0byBjbGlwYm9hcmQnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbXBvcnQoZXZlbnQ6IFVJRXZlbnQsIGdyb3VwKTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuX3Byb21wdC5pbnB1dCh7XHJcbiAgICAgICAgbGFiZWw6ICdKU09OIEltcG9ydCcsXHJcbiAgICAgICAgdGl0bGU6ICdJbXBvcnQgU2V0dGluZ3MnLFxyXG4gICAgICAgIGNvbW1pdExhYmVsOiAnSW1wb3J0JyxcclxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgfSkuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuZ3JvdXBlZFNldHRpbmdzW2dyb3VwXTtcclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UodmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZyA9IHNldHRpbmdzLmZpbmQoKHMpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLm5hbWUgPT09IHMubmFtZTtcclxuICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKHNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oc2V0dGluZywgaXRlbSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9tZXNzYWdlLmVycm9yKGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZUdyb3VwKGdyb3VwKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuZ3JvdXBlZFNldHRpbmdzW2dyb3VwXTtcclxuICAgIGNvbnN0IHZhbHVlcyA9IHJlZHVjZShzZXR0aW5ncywgKHJlc3VsdCwgdmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICByZXR1cm4gKHJlc3VsdFt2YWx1ZS5uYW1lXSA9IHZhbHVlLnZhbHVlLCByZXN1bHQpO1xyXG4gICAgfSwge30pO1xyXG5cclxuICAgIHRoaXMuc2F2ZShncm91cCwgdmFsdWVzKVxyXG4gICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnQ2hhbmdlcyBTYXZlZCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -10,5 +10,6 @@ export var SettingInterfaceType;
10
10
  SettingInterfaceType["Static"] = "S";
11
11
  SettingInterfaceType["Password"] = "P";
12
12
  SettingInterfaceType["Time"] = "M";
13
+ SettingInterfaceType["None"] = "N";
13
14
  })(SettingInterfaceType || (SettingInterfaceType = {}));
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1pbnRlcmZhY2UtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvc3lzdGVtLyIsInNvdXJjZXMiOlsiYXBwL2VudW1zL3NldHRpbmctaW50ZXJmYWNlLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkFXWDtBQVhELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLHNDQUFjLENBQUE7SUFDZCxzQ0FBYyxDQUFBO0lBQ2Qsb0NBQVksQ0FBQTtJQUNaLDRDQUFvQixDQUFBO0lBQ3BCLGtDQUFVLENBQUE7SUFDVixrQ0FBVSxDQUFBO0lBQ1Ysb0NBQVksQ0FBQTtJQUNaLHNDQUFjLENBQUE7SUFDZCxrQ0FBVSxDQUFBO0FBQ1osQ0FBQyxFQVhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFXL0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZXR0aW5nSW50ZXJmYWNlVHlwZSB7XHJcbiAgUmFkaW9CdXR0b24gPSAnUicsXHJcbiAgSW5wdXRCb3ggPSAnSScsXHJcbiAgVGV4dGFyZWEgPSAnVCcsXHJcbiAgU2VsZWN0ID0gJ0QnLFxyXG4gIFNlbGVjdE11bHRpcGxlID0gJ1cnLFxyXG4gIERhdGUgPSAnQScsXHJcbiAgRmlsZSA9ICdGJyxcclxuICBTdGF0aWMgPSAnUycsXHJcbiAgUGFzc3dvcmQgPSAnUCcsXHJcbiAgVGltZSA9ICdNJyxcclxufVxyXG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1pbnRlcmZhY2UtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvc3lzdGVtLyIsInNvdXJjZXMiOlsiYXBwL2VudW1zL3NldHRpbmctaW50ZXJmYWNlLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkFZWDtBQVpELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLHNDQUFjLENBQUE7SUFDZCxzQ0FBYyxDQUFBO0lBQ2Qsb0NBQVksQ0FBQTtJQUNaLDRDQUFvQixDQUFBO0lBQ3BCLGtDQUFVLENBQUE7SUFDVixrQ0FBVSxDQUFBO0lBQ1Ysb0NBQVksQ0FBQTtJQUNaLHNDQUFjLENBQUE7SUFDZCxrQ0FBVSxDQUFBO0lBQ1Ysa0NBQVUsQ0FBQTtBQUNaLENBQUMsRUFaVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBWS9CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU2V0dGluZ0ludGVyZmFjZVR5cGUge1xyXG4gIFJhZGlvQnV0dG9uID0gJ1InLFxyXG4gIElucHV0Qm94ID0gJ0knLFxyXG4gIFRleHRhcmVhID0gJ1QnLFxyXG4gIFNlbGVjdCA9ICdEJyxcclxuICBTZWxlY3RNdWx0aXBsZSA9ICdXJyxcclxuICBEYXRlID0gJ0EnLFxyXG4gIEZpbGUgPSAnRicsXHJcbiAgU3RhdGljID0gJ1MnLFxyXG4gIFBhc3N3b3JkID0gJ1AnLFxyXG4gIFRpbWUgPSAnTScsXHJcbiAgTm9uZSA9ICdOJyxcclxufVxyXG4iXX0=
@@ -22,7 +22,11 @@ var SettingsComponent = /** @class */ (function () {
22
22
  var _this = this;
23
23
  this.loadSettings()
24
24
  .subscribe(function (settings) {
25
- settings = settings.map(function (setting) {
25
+ settings = settings
26
+ .filter(function (setting) {
27
+ return setting.interfaceType !== SettingInterfaceType.None;
28
+ })
29
+ .map(function (setting) {
26
30
  switch (setting.interfaceType) {
27
31
  case SettingInterfaceType.Date:
28
32
  case SettingInterfaceType.Time:
@@ -129,4 +133,4 @@ var SettingsComponent = /** @class */ (function () {
129
133
  return SettingsComponent;
130
134
  }());
131
135
  export { SettingsComponent };
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvc3lzdGVtLyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBVW5EO0lBWUUsMkJBQ1UsUUFBbUIsRUFDbkIsaUJBQW1DLEVBQ25DLE9BQWlCLEVBQ2pCLE1BQXlCO1FBSHpCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBWGxCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUV4RSxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1oseUJBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFPL0MsQ0FBQztJQUVFLG9DQUFRLEdBQWY7UUFBQSxpQkFz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QUFDO0NBQUEsQUFuR0QsSUFtR0M7U0FuR1ksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XHJcbmltcG9ydCB7IHBhcnNlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZSc7XHJcbmltcG9ydCB7IEZzTWVzc2FnZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lc3NhZ2UnO1xyXG5cclxuaW1wb3J0IHsgZ3JvdXBCeSwgcmVkdWNlIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xyXG5cclxuaW1wb3J0IHsgU2V0dGluZ0ludGVyZmFjZVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ZzLXN5c3RlbS1zZXR0aW5ncycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZXR0aW5ncy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgbG9hZFNldHRpbmdzOiAoKSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICBASW5wdXQoKSBwdWJsaWMgc2F2ZTogKGRhdGE6IGFueSwgZ3JvdXA6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGZpbGVSZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmaWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHNldHRpbmc6IGFueSwgZmlsZTogQmxvYiB9PigpO1xyXG5cclxuICBwdWJsaWMgZ3JvdXBlZFNldHRpbmdzID0gW107XHJcbiAgcHVibGljIGdyb3VwcyA9IFtdO1xyXG4gIHB1YmxpYyBTZXR0aW5nSW50ZXJmYWNlVHlwZSA9IFNldHRpbmdJbnRlcmZhY2VUeXBlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX21lc3NhZ2U6IEZzTWVzc2FnZSxcclxuICAgIHByaXZhdGUgX2NsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wcm9tcHQ6IEZzUHJvbXB0LFxyXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZFNldHRpbmdzKClcclxuICAgICAgLnN1YnNjcmliZSgoc2V0dGluZ3MpID0+IHtcclxuICAgICAgICBzZXR0aW5ncyA9IHNldHRpbmdzLm1hcCgoc2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgc3dpdGNoIChzZXR0aW5nLmludGVyZmFjZVR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBTZXR0aW5nSW50ZXJmYWNlVHlwZS5EYXRlOlxyXG4gICAgICAgICAgICBjYXNlIFNldHRpbmdJbnRlcmZhY2VUeXBlLlRpbWU6XHJcbiAgICAgICAgICAgICAgc2V0dGluZy52YWx1ZSA9IHBhcnNlKHNldHRpbmcudmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgY2FzZSBTZXR0aW5nSW50ZXJmYWNlVHlwZS5TZWxlY3RNdWx0aXBsZTpcclxuICAgICAgICAgICAgICBzZXR0aW5nLnZhbHVlID0gQXJyYXkuaXNBcnJheShzZXR0aW5nLnZhbHVlKSA/IHNldHRpbmcudmFsdWUgOiBbXTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBzZXR0aW5nO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmdyb3VwZWRTZXR0aW5ncyA9IGdyb3VwQnkoc2V0dGluZ3MsIChpdGVtKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gaXRlbS5ncm91cDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmdyb3VwcyA9IE9iamVjdC5rZXlzKHRoaXMuZ3JvdXBlZFNldHRpbmdzKTtcclxuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwb3J0KGV2ZW50OiBVSUV2ZW50LCBzZXR0aW5ncyk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCBkYXRhID0gc2V0dGluZ3MubWFwKChzZXR0aW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTogc2V0dGluZy5uYW1lLFxyXG4gICAgICAgIHZhbHVlOiBzZXR0aW5nLnZhbHVlLFxyXG4gICAgICAgIGdyb3VwOiBzZXR0aW5nLmdyb3VwLFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9jbGlwYm9hcmRTZXJ2aWNlLmNvcHkoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdDb3BpZWQgdG8gY2xpcGJvYXJkJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW1wb3J0KGV2ZW50OiBVSUV2ZW50LCBncm91cCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9wcm9tcHQuaW5wdXQoe1xyXG4gICAgICAgIGxhYmVsOiAnSlNPTiBJbXBvcnQnLFxyXG4gICAgICAgIHRpdGxlOiAnSW1wb3J0IFNldHRpbmdzJyxcclxuICAgICAgICBjb21taXRMYWJlbDogJ0ltcG9ydCcsXHJcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgIH0pLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLmdyb3VwZWRTZXR0aW5nc1tncm91cF07XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHNldHRpbmcgPSBzZXR0aW5ncy5maW5kKChzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5uYW1lID09PSBzLm5hbWU7XHJcbiAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgIGlmIChzZXR0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHNldHRpbmcsIGl0ZW0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhpcy5fbWVzc2FnZS5lcnJvcihlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVHcm91cChncm91cCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLmdyb3VwZWRTZXR0aW5nc1tncm91cF07XHJcbiAgICBjb25zdCB2YWx1ZXMgPSByZWR1Y2Uoc2V0dGluZ3MsIChyZXN1bHQsIHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgcmV0dXJuIChyZXN1bHRbdmFsdWUubmFtZV0gPSB2YWx1ZS52YWx1ZSwgcmVzdWx0KTtcclxuICAgIH0sIHt9KTtcclxuXHJcbiAgICB0aGlzLnNhdmUoZ3JvdXAsIHZhbHVlcylcclxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ0NoYW5nZXMgU2F2ZWQnKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvc3lzdGVtLyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBVW5EO0lBWUUsMkJBQ1UsUUFBbUIsRUFDbkIsaUJBQW1DLEVBQ25DLE9BQWlCLEVBQ2pCLE1BQXlCO1FBSHpCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBWGxCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUV4RSxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1oseUJBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFPL0MsQ0FBQztJQUVFLG9DQUFRLEdBQWY7UUFBQSxpQkEy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QUFDLE1BQU07O1NBQ2hELENBQUM7eUNBY29CLFNBQVM7WUFDQSxnQkFBZ0I7WUFDMUIsUUFBUTtZQUNULGlCQUFpQjtPQWhCeEIsaUJBQWlCLENBd0c3QjtJQUFELHdCQUFDO0NBQUEsQUF4R0QsSUF3R0M7U0F4R1ksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XHJcbmltcG9ydCB7IHBhcnNlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZSc7XHJcbmltcG9ydCB7IEZzTWVzc2FnZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lc3NhZ2UnO1xyXG5cclxuaW1wb3J0IHsgZ3JvdXBCeSwgcmVkdWNlIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xyXG5cclxuaW1wb3J0IHsgU2V0dGluZ0ludGVyZmFjZVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ZzLXN5c3RlbS1zZXR0aW5ncycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZXR0aW5ncy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgbG9hZFNldHRpbmdzOiAoKSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICBASW5wdXQoKSBwdWJsaWMgc2F2ZTogKGRhdGE6IGFueSwgZ3JvdXA6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGZpbGVSZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmaWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHNldHRpbmc6IGFueSwgZmlsZTogQmxvYiB9PigpO1xyXG5cclxuICBwdWJsaWMgZ3JvdXBlZFNldHRpbmdzID0gW107XHJcbiAgcHVibGljIGdyb3VwcyA9IFtdO1xyXG4gIHB1YmxpYyBTZXR0aW5nSW50ZXJmYWNlVHlwZSA9IFNldHRpbmdJbnRlcmZhY2VUeXBlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX21lc3NhZ2U6IEZzTWVzc2FnZSxcclxuICAgIHByaXZhdGUgX2NsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wcm9tcHQ6IEZzUHJvbXB0LFxyXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZFNldHRpbmdzKClcclxuICAgICAgLnN1YnNjcmliZSgoc2V0dGluZ3MpID0+IHtcclxuICAgICAgICBzZXR0aW5ncyA9IHNldHRpbmdzXHJcbiAgICAgICAgLmZpbHRlcigoc2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHNldHRpbmcuaW50ZXJmYWNlVHlwZSAhPT0gU2V0dGluZ0ludGVyZmFjZVR5cGUuTm9uZTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5tYXAoKHNldHRpbmcpID0+IHtcclxuICAgICAgICAgIHN3aXRjaCAoc2V0dGluZy5pbnRlcmZhY2VUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgU2V0dGluZ0ludGVyZmFjZVR5cGUuRGF0ZTpcclxuICAgICAgICAgICAgY2FzZSBTZXR0aW5nSW50ZXJmYWNlVHlwZS5UaW1lOlxyXG4gICAgICAgICAgICAgIHNldHRpbmcudmFsdWUgPSBwYXJzZShzZXR0aW5nLnZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIGNhc2UgU2V0dGluZ0ludGVyZmFjZVR5cGUuU2VsZWN0TXVsdGlwbGU6XHJcbiAgICAgICAgICAgICAgc2V0dGluZy52YWx1ZSA9IEFycmF5LmlzQXJyYXkoc2V0dGluZy52YWx1ZSkgPyBzZXR0aW5nLnZhbHVlIDogW107XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gc2V0dGluZztcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5ncm91cGVkU2V0dGluZ3MgPSBncm91cEJ5KHNldHRpbmdzLCAoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGl0ZW0uZ3JvdXA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5ncm91cHMgPSBPYmplY3Qua2V5cyh0aGlzLmdyb3VwZWRTZXR0aW5ncyk7XHJcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cG9ydChldmVudDogVUlFdmVudCwgc2V0dGluZ3MpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgZGF0YSA9IHNldHRpbmdzLm1hcCgoc2V0dGluZykgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6IHNldHRpbmcubmFtZSxcclxuICAgICAgICB2YWx1ZTogc2V0dGluZy52YWx1ZSxcclxuICAgICAgICBncm91cDogc2V0dGluZy5ncm91cCxcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fY2xpcGJvYXJkU2VydmljZS5jb3B5KEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnQ29waWVkIHRvIGNsaXBib2FyZCcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGltcG9ydChldmVudDogVUlFdmVudCwgZ3JvdXApOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5fcHJvbXB0LmlucHV0KHtcclxuICAgICAgICBsYWJlbDogJ0pTT04gSW1wb3J0JyxcclxuICAgICAgICB0aXRsZTogJ0ltcG9ydCBTZXR0aW5ncycsXHJcbiAgICAgICAgY29tbWl0TGFiZWw6ICdJbXBvcnQnLFxyXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxyXG4gICAgICB9KS5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNldHRpbmdzID0gdGhpcy5ncm91cGVkU2V0dGluZ3NbZ3JvdXBdO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZSh2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBkYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBzZXR0aW5nID0gc2V0dGluZ3MuZmluZCgocykgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZSA9PT0gcy5uYW1lO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoc2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihzZXR0aW5nLCBpdGVtKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21lc3NhZ2UuZXJyb3IoZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlR3JvdXAoZ3JvdXApOiB2b2lkIHtcclxuICAgIGNvbnN0IHNldHRpbmdzID0gdGhpcy5ncm91cGVkU2V0dGluZ3NbZ3JvdXBdO1xyXG4gICAgY29uc3QgdmFsdWVzID0gcmVkdWNlKHNldHRpbmdzLCAocmVzdWx0LCB2YWx1ZSwga2V5KSA9PiB7XHJcbiAgICAgIHJldHVybiAocmVzdWx0W3ZhbHVlLm5hbWVdID0gdmFsdWUudmFsdWUsIHJlc3VsdCk7XHJcbiAgICB9LCB7fSk7XHJcblxyXG4gICAgdGhpcy5zYXZlKGdyb3VwLCB2YWx1ZXMpXHJcbiAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdDaGFuZ2VzIFNhdmVkJyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -10,5 +10,6 @@ export var SettingInterfaceType;
10
10
  SettingInterfaceType["Static"] = "S";
11
11
  SettingInterfaceType["Password"] = "P";
12
12
  SettingInterfaceType["Time"] = "M";
13
+ SettingInterfaceType["None"] = "N";
13
14
  })(SettingInterfaceType || (SettingInterfaceType = {}));
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1pbnRlcmZhY2UtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvc3lzdGVtLyIsInNvdXJjZXMiOlsiYXBwL2VudW1zL3NldHRpbmctaW50ZXJmYWNlLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkFXWDtBQVhELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLHNDQUFjLENBQUE7SUFDZCxzQ0FBYyxDQUFBO0lBQ2Qsb0NBQVksQ0FBQTtJQUNaLDRDQUFvQixDQUFBO0lBQ3BCLGtDQUFVLENBQUE7SUFDVixrQ0FBVSxDQUFBO0lBQ1Ysb0NBQVksQ0FBQTtJQUNaLHNDQUFjLENBQUE7SUFDZCxrQ0FBVSxDQUFBO0FBQ1osQ0FBQyxFQVhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFXL0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZXR0aW5nSW50ZXJmYWNlVHlwZSB7XHJcbiAgUmFkaW9CdXR0b24gPSAnUicsXHJcbiAgSW5wdXRCb3ggPSAnSScsXHJcbiAgVGV4dGFyZWEgPSAnVCcsXHJcbiAgU2VsZWN0ID0gJ0QnLFxyXG4gIFNlbGVjdE11bHRpcGxlID0gJ1cnLFxyXG4gIERhdGUgPSAnQScsXHJcbiAgRmlsZSA9ICdGJyxcclxuICBTdGF0aWMgPSAnUycsXHJcbiAgUGFzc3dvcmQgPSAnUCcsXHJcbiAgVGltZSA9ICdNJyxcclxufVxyXG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1pbnRlcmZhY2UtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvc3lzdGVtLyIsInNvdXJjZXMiOlsiYXBwL2VudW1zL3NldHRpbmctaW50ZXJmYWNlLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkFZWDtBQVpELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLHNDQUFjLENBQUE7SUFDZCxzQ0FBYyxDQUFBO0lBQ2Qsb0NBQVksQ0FBQTtJQUNaLDRDQUFvQixDQUFBO0lBQ3BCLGtDQUFVLENBQUE7SUFDVixrQ0FBVSxDQUFBO0lBQ1Ysb0NBQVksQ0FBQTtJQUNaLHNDQUFjLENBQUE7SUFDZCxrQ0FBVSxDQUFBO0lBQ1Ysa0NBQVUsQ0FBQTtBQUNaLENBQUMsRUFaVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBWS9CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU2V0dGluZ0ludGVyZmFjZVR5cGUge1xyXG4gIFJhZGlvQnV0dG9uID0gJ1InLFxyXG4gIElucHV0Qm94ID0gJ0knLFxyXG4gIFRleHRhcmVhID0gJ1QnLFxyXG4gIFNlbGVjdCA9ICdEJyxcclxuICBTZWxlY3RNdWx0aXBsZSA9ICdXJyxcclxuICBEYXRlID0gJ0EnLFxyXG4gIEZpbGUgPSAnRicsXHJcbiAgU3RhdGljID0gJ1MnLFxyXG4gIFBhc3N3b3JkID0gJ1AnLFxyXG4gIFRpbWUgPSAnTScsXHJcbiAgTm9uZSA9ICdOJyxcclxufVxyXG4iXX0=
@@ -148,6 +148,7 @@ var SettingInterfaceType;
148
148
  SettingInterfaceType["Static"] = "S";
149
149
  SettingInterfaceType["Password"] = "P";
150
150
  SettingInterfaceType["Time"] = "M";
151
+ SettingInterfaceType["None"] = "N";
151
152
  })(SettingInterfaceType || (SettingInterfaceType = {}));
152
153
 
153
154
  var ApiLogState;
@@ -541,7 +542,11 @@ let SettingsComponent = class SettingsComponent {
541
542
  ngOnInit() {
542
543
  this.loadSettings()
543
544
  .subscribe((settings) => {
544
- settings = settings.map((setting) => {
545
+ settings = settings
546
+ .filter((setting) => {
547
+ return setting.interfaceType !== SettingInterfaceType.None;
548
+ })
549
+ .map((setting) => {
545
550
  switch (setting.interfaceType) {
546
551
  case SettingInterfaceType.Date:
547
552
  case SettingInterfaceType.Time: