From 35fa59aaddaf7b24df4ab226c21f5dfec7ab0cb7 Mon Sep 17 00:00:00 2001 From: Red Adaya Date: Thu, 8 Feb 2024 09:20:30 +0800 Subject: [PATCH] cleanup screenlinecontainer model --- src/model/speciallinecontainer.ts | 104 ++++-------------------------- 1 file changed, 12 insertions(+), 92 deletions(-) diff --git a/src/model/speciallinecontainer.ts b/src/model/speciallinecontainer.ts index 054d4893c..dfa89561d 100644 --- a/src/model/speciallinecontainer.ts +++ b/src/model/speciallinecontainer.ts @@ -1,109 +1,29 @@ // Copyright 2023, Command Line Inc. // SPDX-License-Identifier: Apache-2.0 -import type React from "react"; -import * as mobx from "mobx"; -import { sprintf } from "sprintf-js"; -import { v4 as uuidv4 } from "uuid"; -import { boundMethod } from "autobind-decorator"; -import { debounce } from "throttle-debounce"; -import * as mobxReact from "mobx-react"; -import { - handleJsonFetchResponse, - base64ToString, - stringToBase64, - base64ToArray, - genMergeData, - genMergeDataMap, - genMergeSimpleData, - boundInt, - isModKeyPress, -} from "../util/util"; import { TermWrap } from "../plugins/terminal/term"; -import { PluginModel } from "../plugins/plugins"; -import { - SessionDataType, - LineType, - RemoteType, - HistoryItem, - RemoteInstanceType, - RemotePtrType, - CmdDataType, - FeCmdPacketType, - TermOptsType, - ScreenDataType, - ScreenOptsType, - PtyDataUpdateType, - ModelUpdateType, - UpdateMessage, - InfoType, - UIContextType, - HistoryInfoType, - HistoryQueryOpts, - FeInputPacketType, - RemoteInputPacketType, - ContextMenuOpts, - RendererContext, - RendererModel, - PtyDataType, - BookmarkType, - ClientDataType, - HistoryViewDataType, - AlertMessageType, - HistorySearchParams, - FocusTypeStrs, - ScreenLinesType, - HistoryTypeStrs, - RendererPluginType, - WindowSize, - WebShareOpts, - TermContextUnion, - RemoteEditType, - RemoteViewType, - CommandRtnType, - WebCmd, - WebRemote, - OpenAICmdInfoChatMessageType, - StatusIndicatorLevel, -} from "../types/types"; -import * as T from "../types/types"; -import { WSControl } from "./ws"; -import { - getMonoFontSize, - windowWidthToCols, - windowHeightToRows, - termWidthFromCols, - termHeightFromRows, -} from "../util/textmeasure"; -import dayjs from "dayjs"; -import localizedFormat from "dayjs/plugin/localizedFormat"; -import customParseFormat from "dayjs/plugin/customParseFormat"; -import { getRendererContext, cmdStatusIsRunning } from "../app/line/lineutil"; -import { MagicLayout } from "../app/magiclayout"; -import { modalsRegistry } from "../app/common/modals/registry"; -import * as appconst from "../app/appconst"; -import { checkKeyPressed, adaptFromReactOrNativeKeyEvent, setKeyUtilPlatform } from "../util/keyutil"; -import { OV, OArr, OMap, CV } from "../types/types"; -import { Session } from "./session"; -import { CommandRunner } from "./commandrunner"; -import { ScreenLines } from "./screenlines"; -import { InputModel } from "./input"; -import { PluginsModel } from "./plugins"; -import { BookmarksModel } from "./bookmarks"; +import { LineType, RendererContext, RendererModel, FocusTypeStrs, WindowSize, LineContainerStrs } from "../types/types"; +import { windowWidthToCols } from "../util/textmeasure"; +import { getRendererContext } from "../app/line/lineutil"; +import { getTermPtyData } from "../util/modelutil"; import { Cmd } from "./cmd"; import { Model } from "./model"; +type CmdFinder = { + getCmdById(cmdId: string): Cmd; +}; + class SpecialLineContainer { globalModel: Model; - wsize: T.WindowSize; + wsize: WindowSize; allowInput: boolean; terminal: TermWrap; renderer: RendererModel; cmd: Cmd; cmdFinder: CmdFinder; - containerType: T.LineContainerStrs; + containerType: LineContainerStrs; - constructor(cmdFinder: CmdFinder, wsize: T.WindowSize, allowInput: boolean, containerType: T.LineContainerStrs) { + constructor(cmdFinder: CmdFinder, wsize: WindowSize, allowInput: boolean, containerType: LineContainerStrs) { this.globalModel = Model.getInstance(); this.cmdFinder = cmdFinder; this.wsize = wsize; @@ -117,7 +37,7 @@ class SpecialLineContainer { return this.cmd; } - getContainerType(): T.LineContainerStrs { + getContainerType(): LineContainerStrs { return this.containerType; }