mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-02-23 02:51:26 +01:00
fix typescript errors
This commit is contained in:
parent
291d1dc704
commit
034995ef2a
@ -8,7 +8,7 @@ import dayjs from 'dayjs'
|
||||
import {If, For, When, Otherwise, Choose} from "tsx-control-statements/components";
|
||||
import cn from "classnames"
|
||||
import {TermWrap} from "./term";
|
||||
import type {SessionDataType, LineType, CmdDataType, RemoteType} from "./types";
|
||||
import type {SessionDataType, LineType, CmdDataType, RemoteType, RemoteStateType, RemoteInstanceType} from "./types";
|
||||
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
||||
import {GlobalModel, GlobalInput, Session, Cmd, Window, Screen, ScreenWindow} from "./model";
|
||||
|
||||
@ -641,7 +641,7 @@ class ScreenTabs extends React.Component<{session : Session}, {}> {
|
||||
e.preventDefault();
|
||||
console.log("handle context menu!", screenId);
|
||||
let model = GlobalModel;
|
||||
model.contextScreen(screenId);
|
||||
model.contextScreen(e, screenId);
|
||||
}
|
||||
|
||||
render() {
|
||||
|
24
src/model.ts
24
src/model.ts
@ -4,7 +4,7 @@ import {boundMethod} from "autobind-decorator";
|
||||
import {handleJsonFetchResponse, base64ToArray, genMergeData, genMergeSimpleData} from "./util";
|
||||
import {TermWrap} from "./term";
|
||||
import {v4 as uuidv4} from "uuid";
|
||||
import type {SessionDataType, WindowDataType, LineType, RemoteType, HistoryItem, RemoteInstanceType, CmdDataType, FeCmdPacketType, TermOptsType, RemoteStateType, ScreenDataType, ScreenWindowType, ScreenOptsType, LayoutType, PtyDataUpdateType, SessionUpdateType, WindowUpdateType, UpdateMessage, LineCmdUpdateType} from "./types";
|
||||
import type {SessionDataType, WindowDataType, LineType, RemoteType, HistoryItem, RemoteInstanceType, CmdDataType, FeCmdPacketType, TermOptsType, RemoteStateType, ScreenDataType, ScreenWindowType, ScreenOptsType, LayoutType, PtyDataUpdateType, SessionUpdateType, WindowUpdateType, UpdateMessage, LineCmdUpdateType, InfoType, CmdLineUpdateType} from "./types";
|
||||
import {WSControl} from "./ws";
|
||||
|
||||
var GlobalUser = "sawka";
|
||||
@ -30,7 +30,7 @@ type ElectronApi = {
|
||||
onICmd : (callback : (mods : KeyModsType) => void) => void,
|
||||
onBracketCmd : (callback : (event : any, arg : {relative : number}, mods : KeyModsType) => void) => void,
|
||||
onDigitCmd : (callback : (event : any, arg : {digit : number}, mods : KeyModsType) => void) => void,
|
||||
contextScreen : (screenId : string) => void,
|
||||
contextScreen : (screenOpts : {screenId : string}, position : {x : number, y : number}) => void,
|
||||
};
|
||||
|
||||
function getApi() : ElectronApi {
|
||||
@ -296,7 +296,7 @@ class Window {
|
||||
if (load) {
|
||||
this.loaded.set(true);
|
||||
}
|
||||
genMergeSimpleData(this.lines, win.lines, (l) => String(l.lineid), (l) => l.lineid);
|
||||
genMergeSimpleData(this.lines, win.lines, (l : LineType) => String(l.lineid), (l : LineType) => l.lineid);
|
||||
this.history = win.history || [];
|
||||
let cmds = win.cmds || [];
|
||||
for (let i=0; i<cmds.length; i++) {
|
||||
@ -498,19 +498,6 @@ class Session {
|
||||
}
|
||||
}
|
||||
|
||||
type InfoType = {
|
||||
infotitle : string,
|
||||
infomsg : string,
|
||||
infoerror : string,
|
||||
infocomps : string[],
|
||||
infocompsmore : boolean,
|
||||
};
|
||||
|
||||
type CmdLineUpdateType = {
|
||||
insertchars : string,
|
||||
insertpos : number,
|
||||
};
|
||||
|
||||
class InputModel {
|
||||
historyIndex : mobx.IObservableValue<number> = mobx.observable.box(0, {name: "history-index"});
|
||||
modHistory : mobx.IObservableArray<string> = mobx.observable.array([""], {name: "mod-history"});
|
||||
@ -730,11 +717,12 @@ class Model {
|
||||
this.updateWindow(winMsg.window, false);
|
||||
}
|
||||
if ("info" in update) {
|
||||
let info = update.info;
|
||||
let info : InfoType = update.info;
|
||||
this.flashInfoMsg(info, info.timeoutms);
|
||||
}
|
||||
if ("cmdline" in update) {
|
||||
this.inputModel.updateCmdLine(update.cmdline);
|
||||
let cmdline : CmdLineUpdateType = update.cmdline;
|
||||
this.inputModel.updateCmdLine(cmdline);
|
||||
}
|
||||
console.log("run-update>", interactive, update);
|
||||
}
|
||||
|
28
src/types.ts
28
src/types.ts
@ -7,6 +7,7 @@ type SessionDataType = {
|
||||
activescreenid : string,
|
||||
sessionidx : number,
|
||||
screens : ScreenDataType[],
|
||||
remotes : RemoteInstanceType[],
|
||||
|
||||
// for updates
|
||||
remove? : boolean,
|
||||
@ -22,6 +23,7 @@ type LineType = {
|
||||
linetype : string,
|
||||
text : string,
|
||||
cmdid : string,
|
||||
remove? : boolean,
|
||||
};
|
||||
|
||||
type ScreenOptsType = {
|
||||
@ -175,18 +177,38 @@ type PtyDataUpdateType = {
|
||||
|
||||
type SessionUpdateType = {
|
||||
sessions : SessionDataType[],
|
||||
activesessionid? : string,
|
||||
};
|
||||
|
||||
type LineCmdUpdateType = {
|
||||
line : LineType,
|
||||
cmd : CmdDataType,
|
||||
remove : boolean,
|
||||
}
|
||||
};
|
||||
|
||||
type UpdateMessage = PtyDataUpdateType | SessionUpdateType | LineCmdUpdateType;
|
||||
type CmdLineUpdateType = {
|
||||
insertchars : string,
|
||||
insertpos : number,
|
||||
};
|
||||
|
||||
type InfoUpdateType = {
|
||||
cmdline : CmdLineUpdateType,
|
||||
info : InfoType,
|
||||
};
|
||||
|
||||
type UpdateMessage = PtyDataUpdateType | SessionUpdateType | LineCmdUpdateType | InfoUpdateType;
|
||||
|
||||
type WindowUpdateType = {
|
||||
window: WindowDataType,
|
||||
}
|
||||
|
||||
export type {SessionDataType, LineType, RemoteType, RemoteStateType, RemoteInstanceType, WindowDataType, HistoryItem, CmdRemoteStateType, FeCmdPacketType, TermOptsType, CmdStartPacketType, CmdDonePacketType, CmdDataType, ScreenDataType, ScreenOptsType, ScreenWindowType, LayoutType, PtyDataUpdateType, SessionUpdateType, WindowUpdateType, UpdateMessage, LineCmdUpdateType};
|
||||
type InfoType = {
|
||||
infotitle? : string,
|
||||
infomsg? : string,
|
||||
infoerror? : string,
|
||||
infocomps? : string[],
|
||||
infocompsmore? : boolean,
|
||||
timeoutms? : number,
|
||||
};
|
||||
|
||||
export type {SessionDataType, LineType, RemoteType, RemoteStateType, RemoteInstanceType, WindowDataType, HistoryItem, CmdRemoteStateType, FeCmdPacketType, TermOptsType, CmdStartPacketType, CmdDonePacketType, CmdDataType, ScreenDataType, ScreenOptsType, ScreenWindowType, LayoutType, PtyDataUpdateType, SessionUpdateType, WindowUpdateType, UpdateMessage, LineCmdUpdateType, InfoType, CmdLineUpdateType};
|
||||
|
@ -62,7 +62,7 @@ interface ISimpleDataType {
|
||||
remove? : boolean;
|
||||
}
|
||||
|
||||
function genMergeSimpleData<T extends ISimpleDataType>(objs : mobx.IObservableArray<T>, dataArr : T, idFn : (obj : T) => string, sortIdxFn : (obj : T) => number) {
|
||||
function genMergeSimpleData<T extends ISimpleDataType>(objs : mobx.IObservableArray<T>, dataArr : T[], idFn : (obj : T) => string, sortIdxFn : (obj : T) => number) {
|
||||
if (dataArr == null || dataArr.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user