Skip to content

Commit

Permalink
feat(dashboard): add version card
Browse files Browse the repository at this point in the history
  • Loading branch information
ElonH committed Jun 18, 2020
1 parent bdb8c7b commit a36fcbe
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 1 deletion.
27 changes: 27 additions & 0 deletions src/app/@dataflow/rclone/core-version-flow.ts
@@ -0,0 +1,27 @@
import { AjaxFlowInteralNode, CombErr } from '../core';
import { IRcloneServer } from '../extra';
import { NoopAuthFlowSupNode } from './noop-auth-flow';
import { PostFlow } from './post-flow';

export interface CoreVersionOutNode {
arch: string;
decomposed: number[];
goVersion: string;
isGit: boolean;
os: string;
version: string;
}

export interface CoreVersionSupNode extends CoreVersionOutNode, NoopAuthFlowSupNode {}

export abstract class CoreVersionFlow extends PostFlow<IRcloneServer, CoreVersionOutNode> {
// public prerequest$: Observable<CombErr<IRcloneServer>>;
protected cmd = 'core/version';
protected params: object = {};
protected cacheSupport = true;
protected reconstructAjaxResult(x: CombErr<AjaxFlowInteralNode>): CombErr<CoreVersionOutNode> {
if (x[1].length !== 0) return [{}, x[1]] as any;
const rsp = x[0].ajaxRsp.response;
return [rsp, []];
}
}
1 change: 1 addition & 0 deletions src/app/@dataflow/rclone/index.ts
Expand Up @@ -24,3 +24,4 @@ export * from './get-flow';
export * from './download-file-flow';
export * from './core-stats-delete-flow';
export * from './core-stats-reset-flow';
export * from './core-version-flow';
34 changes: 33 additions & 1 deletion src/app/pages/dashboard/dashboard.component.ts
@@ -1,14 +1,16 @@
import { Component, OnDestroy, OnInit } from '@angular/core';
import { ResponsiveSizeInfoRx } from 'ngx-responsive';
import { combineLatest, Subject } from 'rxjs';
import { combineLatest, Observable, Subject } from 'rxjs';
import { map, pairwise, takeWhile } from 'rxjs/operators';
import { CombErr } from '../../@dataflow/core';
import { IRcloneServer } from '../../@dataflow/extra';
import {
CoreBwlimitFlow,
CoreBwlimitFlowInNode,
CoreMemstatsFlow,
CoreStatsFlow,
CoreStatsFlowInNode,
CoreVersionFlow,
} from '../../@dataflow/rclone';
import { FormatBytes } from '../../utils/format-bytes';
import { ConnectionService } from '../connection.service';
Expand Down Expand Up @@ -116,6 +118,14 @@ import { ConnectionService } from '../connection.service';
</nb-card-body>
</nb-card>
</div>
<div class="col-sm-12 col-md-6">
<nb-card>
<nb-card-header> Version </nb-card-header>
<nb-card-body>
<app-rng-kv-table [keys]="verKeys" [data]="verVals"> </app-rng-kv-table>
</nb-card-body>
</nb-card>
</div>
</div>
</div>
`,
Expand Down Expand Up @@ -180,9 +190,20 @@ export class DashboardComponent implements OnInit, OnDestroy {
memVals = {};
memDiff = {};

verKeys = [
{ key: 'version', title: 'Rclone Ver' },
{ key: 'isGit', title: 'Git' },
{ key: 'goVersion', title: 'Go Ver' },
{ key: 'arch', title: 'Architecture' },
{ key: 'os', title: 'Os' },
];
verVals = {};

private memTrigger = new Subject<number>();
mem$: CoreMemstatsFlow;

ver$: CoreVersionFlow;

isSmallerThanSmSize = false;

limitation = '';
Expand Down Expand Up @@ -245,6 +266,17 @@ export class DashboardComponent implements OnInit, OnDestroy {
});
this.memTrigger.next(1);

this.ver$ = new (class extends CoreVersionFlow {
public prerequest$: Observable<CombErr<IRcloneServer>> = outer.cmdService.listCmd$.verify(
this.cmd
);
})();
this.ver$.deploy();
this.ver$.getOutput().subscribe(x => {
if (x[1].length !== 0) return;
this.verVals = x[0];
});

this.bwlimit$ = new (class extends CoreBwlimitFlow {
public prerequest$ = combineLatest([
outer.cmdService.listCmd$.verify(this.cmd),
Expand Down

0 comments on commit a36fcbe

Please sign in to comment.