From 1ae74b767d352b07fb9d3163ab0b8980194e6470 Mon Sep 17 00:00:00 2001 From: Red Adaya Date: Thu, 8 Feb 2024 09:13:04 +0800 Subject: [PATCH] cleanup screen model --- src/model/screen.ts | 108 ++++---------------------------------------- 1 file changed, 9 insertions(+), 99 deletions(-) diff --git a/src/model/screen.ts b/src/model/screen.ts index d4526de62..31536bee7 100644 --- a/src/model/screen.ts +++ b/src/model/screen.ts @@ -1,129 +1,39 @@ // 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, - isBlank, -} from "../util/util"; +import { base64ToArray, boundInt, isModKeyPress, isBlank } 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, + LineContainerStrs, + ScreenViewOptsType, } 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 { windowWidthToCols, windowHeightToRows, termWidthFromCols, termHeightFromRows } from "../util/textmeasure"; +import { getRendererContext } 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 { checkKeyPressed, adaptFromReactOrNativeKeyEvent } from "../util/keyutil"; +import { OV } from "../types/types"; import { Model } from "./model"; import { CommandRunner } from "./commandrunner"; import { Cmd } from "./cmd"; import { ScreenLines } from "./screenlines"; import { getTermPtyData } from "../util/modelutil"; -dayjs.extend(customParseFormat); -dayjs.extend(localizedFormat); - -const RemotePtyRows = 8; // also in main.tsx -const RemotePtyCols = 80; -const ProdServerEndpoint = "http://127.0.0.1:1619"; -const ProdServerWsEndpoint = "ws://127.0.0.1:1623"; -const DevServerEndpoint = "http://127.0.0.1:8090"; -const DevServerWsEndpoint = "ws://127.0.0.1:8091"; -const DefaultTermFontSize = 12; -const MinFontSize = 8; -const MaxFontSize = 24; -const InputChunkSize = 500; -const RemoteColors = ["red", "green", "yellow", "blue", "magenta", "cyan", "white", "orange"]; -const TabColors = ["red", "orange", "yellow", "green", "mint", "cyan", "blue", "violet", "pink", "white"]; -const TabIcons = [ - "sparkle", - "fire", - "ghost", - "cloud", - "compass", - "crown", - "droplet", - "graduation-cap", - "heart", - "file", -]; - -// @ts-ignore -const VERSION = __WAVETERM_VERSION__; -// @ts-ignore -const BUILD = __WAVETERM_BUILD__; - class Screen { globalCommandRunner: CommandRunner; globalModel: Model; @@ -131,7 +41,7 @@ class Screen { screenId: string; screenIdx: OV; opts: OV; - viewOpts: OV; + viewOpts: OV; name: OV; archived: OV; curRemote: OV; @@ -226,7 +136,7 @@ class Screen { return viewOpts?.sidebar?.sidebarlineid == lineId; } - getContainerType(): T.LineContainerStrs { + getContainerType(): LineContainerStrs { return appconst.LineContainer_Main; }