From 7f9b347562c36404be20be8ad8231a4c8619f721 Mon Sep 17 00:00:00 2001 From: sawka Date: Mon, 26 Dec 2022 18:50:22 -0800 Subject: [PATCH] frontend for session archiving --- src/main.tsx | 19 +++++++++++++++---- src/model.ts | 3 +++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main.tsx b/src/main.tsx index df8bd5ad..1aa479bf 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2450,6 +2450,12 @@ class MainSideBar extends React.Component<{}, {}> { let remote : RemoteType = null; let idx : number = 0; remotes = sortAndFilterRemotes(remotes); + let sessionList = []; + for (let session of model.sessionList) { + if (!session.archived.get() || session.sessionId == activeSessionId) { + sessionList.push(session); + } + } return (
@@ -2467,9 +2473,14 @@ class MainSideBar extends React.Component<{}, {}> {
  • (loading)
  • - +
  • this.handleSessionClick(session.sessionId)}> - {idx+1}  + + {idx+1}  + + +   + {session.name.get()}
  • @@ -2480,8 +2491,8 @@ class MainSideBar extends React.Component<{}, {}> {
    focus={sw.focusType.get()}
    - sline={sw.selectedLine.get()}
    - termfocus={sw.termLineNumFocus.get()}
    + sline={sw.selectedLine.get()}
    + termfocus={sw.termLineNumFocus.get()}

    diff --git a/src/model.ts b/src/model.ts index 98a03d11..3e22a360 100644 --- a/src/model.ts +++ b/src/model.ts @@ -742,11 +742,13 @@ class Session { screens : OArr; notifyNum : OV = mobx.observable.box(0); remoteInstances : OArr; + archived : OV; constructor(sdata : SessionDataType) { this.sessionId = sdata.sessionid; this.name = mobx.observable.box(sdata.name); this.sessionIdx = mobx.observable.box(sdata.sessionidx); + this.archived = mobx.observable.box(!!sdata.archived); let screenData = sdata.screens || []; let screens : Screen[] = []; for (let i=0; i= 0) { this.notifyNum.set(sdata.notifynum); } + this.archived.set(!!sdata.archived); genMergeData(this.screens, sdata.screens, (s : Screen) => s.screenId, (s : ScreenDataType) => s.screenid, (data : ScreenDataType) => new Screen(data), (s : Screen) => s.screenIdx.get()); if (!isBlank(sdata.activescreenid)) { let screen = this.getScreenById(sdata.activescreenid);