From 842ab3ffcf2534977d50a9abd2ebb6340334d3de Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 11 Aug 2019 22:12:55 +0200 Subject: [PATCH] working on frontend --- package-lock.json | 6 +- package.json | 2 +- src/backend/PluginManager/Plugin.ts | 8 +- src/backend/PluginManager/PluginManager.ts | 8 +- src/frontend/dashboard/package-lock.json | 6 +- src/frontend/dashboard/package.json | 2 +- .../apiclient-dev/apiclient-dev.component.ts | 24 ++--- .../apiclient-settings-form.component.ts | 101 ++++++++++++------ .../pluginmanager-dev.component.ts | 9 ++ .../src/app/sidebar/sidebar.component.ts | 16 ++- 10 files changed, 105 insertions(+), 77 deletions(-) diff --git a/package-lock.json b/package-lock.json index 25e929f..8866837 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3858,9 +3858,9 @@ } }, "frontblock-generic": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/frontblock-generic/-/frontblock-generic-0.17.0.tgz", - "integrity": "sha512-5l5w5gnn5RpwzLmI4icdQI/yueoQQDhbH56pRsfVV+opNMRa8cvW9DJ3FXo0CgZ5BEKA6EHqF4iDIFsgYyPPpA==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/frontblock-generic/-/frontblock-generic-0.20.0.tgz", + "integrity": "sha512-QYXKpDmznkWM4UuNlZg+QcOwcwjVi8IRvlOv+Shm6n2qmU7WMliB0HMfRjw8JNKi8aC3EYx1YpgvXmY9tdN4QQ==", "requires": { "@types/node": "^12.7.1", "bsock": "^0.1.9", diff --git a/package.json b/package.json index 74fedf8..cc7b89d 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "bsock": "^0.1.9", "easy-unzip": "^1.1.0", "express": "^4.16.4", - "frontblock-generic": "^0.17.0", + "frontblock-generic": "^0.20.0", "hdkey": "^1.1.1", "http": "0.0.0", "key-file-storage": "^2.2.4", diff --git a/src/backend/PluginManager/Plugin.ts b/src/backend/PluginManager/Plugin.ts index 224d070..36e611a 100644 --- a/src/backend/PluginManager/Plugin.ts +++ b/src/backend/PluginManager/Plugin.ts @@ -24,7 +24,7 @@ export default class PluginManagerPlugin extends PluginManager implements Plugin this.loadedPlugins[this.name] = {backend: this, frontend: this.loadFrontend(this.name)} } - exportRPCs(): socketioRPC[] { + exportExtraRPCs(): socketioRPC[] { return [ { name: "getAvailablePluginNames", @@ -66,12 +66,6 @@ export default class PluginManagerPlugin extends PluginManager implements Plugin visibility: "private", rpc: async(pluginName:string) => { return this.unloadPlugin(pluginName) }, type: 'call' - }, - { - name: "updateConfig", - visibility: "private", - rpc: async(conf) => { return this.updateConfig(conf) }, - type: 'call' },{ name: "extractPlugin", visibility: "private", diff --git a/src/backend/PluginManager/PluginManager.ts b/src/backend/PluginManager/PluginManager.ts index edb1883..62582a8 100644 --- a/src/backend/PluginManager/PluginManager.ts +++ b/src/backend/PluginManager/PluginManager.ts @@ -7,7 +7,7 @@ import path = require('path') import unzip = require('unzip') import easyunzip = require('easy-unzip') -import { Plugin, ConfigLoader } from 'frontblock-generic/Plugin'; +import { Plugin, ConfigLoader, PluginConfigLoader } from 'frontblock-generic/Plugin'; import { SemVer, parse } from "semver"; import { once } from 'events'; @@ -39,7 +39,7 @@ export type PluginManagerConfig = { installDir:string } -export default class PluginManager extends ConfigLoader{ +export default abstract class PluginManager extends PluginConfigLoader{ private cacheDir: string protected loadedPlugins: PluginMap = {} @@ -152,7 +152,7 @@ export default class PluginManager extends ConfigLoader
-
-
- Configuration -
-
-
- Settings -
-
- -
-
- -
+
` @@ -32,3 +18,9 @@ export class ApiclientDevComponent implements OnInit { ngOnInit() { } } + +export const sidebarEntry:SidebarEntry = { + icon: "wrench", + route: "dev/apiclient", + text: "DEV ApiClient", +} diff --git a/src/frontend/dashboard/src/app/apiclient-dev/apiclient-settings-form.component.ts b/src/frontend/dashboard/src/app/apiclient-dev/apiclient-settings-form.component.ts index f49efa2..795069d 100644 --- a/src/frontend/dashboard/src/app/apiclient-dev/apiclient-settings-form.component.ts +++ b/src/frontend/dashboard/src/app/apiclient-dev/apiclient-settings-form.component.ts @@ -3,50 +3,85 @@ import { Component, OnInit } from '@angular/core'; @Component({ selector: 'settings', template: ` -
+
+
+ Configuration +
+
+
+ Settings +
+
+ + + + We need your first name for legal compliance + + + + + + + We need your first name for legal compliance + + + + + + This field is required! + + + + + + + + + + + Valid range 1024 - 65536 + + + + + +
+
+ +
- - - - This field is required! - - - - - - - - - - - Valid range 1024 - 65536 - - - - - ` }) export class ApiclientFormComponent implements OnInit { - - data:any = {} + testnet:boolean = true + advanced:boolean = false + data:any = { + apihost: "api.testnet.frontblock.me", + port: "10001" + } constructor() { } ngOnInit() { } + setAdvanced(){ this.advanced = true } + + updateTestnet(){ + if(this.testnet){ + this.data.apihost = "api.testnet.frontblock.me" + this.data.port = 10001 + }else{ + this.data.apihost = "api.frontblock.me" + this.data.port = 10000 + } + } + updatePort(obj){ - console.log(obj, this.data) - switch (this.data.address) { + switch (this.data.apihost) { case "api.testnet.frontblock.me": this.data.port = 10001 break; diff --git a/src/frontend/dashboard/src/app/pluginmanager-dev/pluginmanager-dev.component.ts b/src/frontend/dashboard/src/app/pluginmanager-dev/pluginmanager-dev.component.ts index b73a164..d12e8e4 100644 --- a/src/frontend/dashboard/src/app/pluginmanager-dev/pluginmanager-dev.component.ts +++ b/src/frontend/dashboard/src/app/pluginmanager-dev/pluginmanager-dev.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import { SidebarEntry } from 'frontblock-generic/Plugin'; declare const fb @Component({ selector: 'pluginmanager', //!!!! @@ -36,3 +37,11 @@ export class PluginmanagerDevComponent implements OnInit { ngOnInit() { } } + +export const sidebarEntry: SidebarEntry = { + icon: "wrench", + route: "dev/pluginmanager", + text: "DEV Plugin manager", +} + + diff --git a/src/frontend/dashboard/src/app/sidebar/sidebar.component.ts b/src/frontend/dashboard/src/app/sidebar/sidebar.component.ts index f3528ec..52fd19e 100644 --- a/src/frontend/dashboard/src/app/sidebar/sidebar.component.ts +++ b/src/frontend/dashboard/src/app/sidebar/sidebar.component.ts @@ -1,5 +1,8 @@ import { Component, OnInit } from '@angular/core'; import { SidebarEntries, SidebarEntry } from 'frontblock-generic/Plugin'; +import { sidebarEntry as apiclient } from "../apiclient-dev/apiclient-dev.component" +import { sidebarEntry as pluginmanager } from "../pluginmanager-dev/pluginmanager-dev.component" + @Component({ selector: 'app-sidebar', @@ -8,15 +11,10 @@ import { SidebarEntries, SidebarEntry } from 'frontblock-generic/Plugin'; }) export class SidebarComponent implements OnInit { - entries:SidebarEntry[] = [{ - icon: "wrench", - route: "dev/pluginmanager", - text: "DEV Plugin manager", - },{ - icon: "wrench", - route: "dev/apiclient", - text: "DEV ApiClient", - }] + entries:SidebarEntry[] = [ + pluginmanager, + apiclient + ] multientires:SidebarEntries[] = [{ icon: "times",