feat: add service log

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2019-12-28 15:06:07 +08:00
parent aed21b2ff6
commit 752e771285
12 changed files with 161 additions and 106 deletions

View File

@@ -1,8 +1,9 @@
// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import * as vscode from 'vscode';
process.env.DOCKER_HOST = 'https://dscli.miaowoo.cc';
import { OpenFaasProvider, DockerProvider } from './provider';
// process.env.DOCKER_HOST = 'https://dscli.miaowoo.cc';
process.env.DOCKER_HOST = 'http://172.16.200.12:8376';
import { DockerProvider } from './provider';
// this method is called when your extension is activated
// your extension is activated the very first time the command is executed
@@ -11,7 +12,7 @@ export function activate(context: vscode.ExtensionContext) {
// tslint:disable-next-line: no-unused-expression
new DockerProvider(context);
// tslint:disable-next-line: no-unused-expression
new OpenFaasProvider(context);
// new OpenFaasProvider(context);
}
// this method is called when your extension is deactivated

View File

@@ -1,6 +1,6 @@
import * as vscode from 'vscode'
export class CteateItemOpt {
export class CreateItemOpt {
label: string;
context?: ItemContextValue;
state?: vscode.TreeItemCollapsibleState = vscode.TreeItemCollapsibleState.None;
@@ -18,7 +18,7 @@ export abstract class BaseProvider<T> implements vscode.TreeDataProvider<T> {
abstract getTreeItem(element: T): vscode.TreeItem | Thenable<vscode.TreeItem>;
abstract getChildren(element?: T | undefined): vscode.ProviderResult<T[]>;
createTreeItem(opts: CteateItemOpt) {
createTreeItem(opts: CreateItemOpt) {
let item = new vscode.TreeItem(opts.label, opts.state);
item.contextValue = JSON.stringify(opts.context);
if (opts.icon) { item.iconPath = `src/images/${opts.icon}.svg` }

View File

@@ -28,7 +28,12 @@ export class DockerProvider extends BaseProvider<vscode.TreeItem> {
context.subscriptions.push(
vscode.commands.registerCommand('dayu.container.logs', (item: vscode.TreeItem) => {
let value: ItemContextValue = JSON.parse(item.contextValue);
let url = `https://dayu-api.miaowoo.cc?action=container&data=${value.data.id}`;
let url = `https://dayu-api.miaowoo.cc/logs/?action=container&data=${value.data.id}`;
return vscode.commands.executeCommand("mini-browser.openUrl", url);
}),
vscode.commands.registerCommand('dayu.service.logs', (item: vscode.TreeItem) => {
let value: ItemContextValue = JSON.parse(item.contextValue);
let url = `https://dayu-api.miaowoo.cc/logs/?action=service&data=${value.data.id}`;
return vscode.commands.executeCommand("mini-browser.openUrl", url);
}),
vscode.window.registerTreeDataProvider('docker-explorer', this)
@@ -146,7 +151,7 @@ export class DockerProvider extends BaseProvider<vscode.TreeItem> {
let list: string[] = value.data.list;
return list.map(s => {
return this.createTreeItem({
label: s
label: s.split('_')[1]
})
})
default: