Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4b646cc

Browse files
fix: hiding agent status on stopped workspaces (#3512)
* hiding agent status on a stopped workspaaceresolves#3484* run prettier and lint* Update site/src/components/Resources/Resources.tsxCo-authored-by: Joe Previte <jjprevite@gmail.com>* running prettierCo-authored-by: Joe Previte <jjprevite@gmail.com>
1 parentacd0cd6 commit4b646cc

File tree

8 files changed

+60
-34
lines changed

8 files changed

+60
-34
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import{screen}from"@testing-library/react"
2+
import{
3+
MockStoppedWorkspace,
4+
MockWorkspaceResource,
5+
MockWorkspaceResource2,
6+
}from"testHelpers/entities"
7+
import{render}from"testHelpers/renderHelpers"
8+
import{DisplayAgentStatusLanguage}from"util/workspace"
9+
import{Resources}from"./Resources"
10+
11+
describe("ResourceTable",()=>{
12+
it("hides status text when a workspace is stopped",async()=>{
13+
// When
14+
constprops={
15+
resource:[{ ...MockWorkspaceResource},{ ...MockWorkspaceResource2}],
16+
workspace:{ ...MockStoppedWorkspace},
17+
canUpdateWorkspace:false,
18+
}
19+
20+
render(<Resources{...props}/>)
21+
22+
conststatusText=screen.queryByText(DisplayAgentStatusLanguage.connecting)
23+
24+
// Then
25+
expect(statusText).toBeNull()
26+
})
27+
})

‎site/src/components/Resources/Resources.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import TableRow from "@material-ui/core/TableRow"
88
importuseThemefrom"@material-ui/styles/useTheme"
99
import{ErrorSummary}from"components/ErrorSummary/ErrorSummary"
1010
import{FC}from"react"
11+
import{getDisplayAgentStatus,getWorkspaceStatus,WorkspaceStateEnum}from"util/workspace"
1112
import{Workspace,WorkspaceResource}from"../../api/typesGenerated"
12-
import{getDisplayAgentStatus}from"../../util/workspace"
1313
import{AppLink}from"../AppLink/AppLink"
1414
import{SSHButton}from"../SSHButton/SSHButton"
1515
import{Stack}from"../Stack/Stack"
@@ -42,6 +42,10 @@ export const Resources: FC<ResourcesProps> = ({
4242
conststyles=useStyles()
4343
consttheme:Theme=useTheme()
4444

45+
constworkspaceStatus:keyoftypeofWorkspaceStateEnum=getWorkspaceStatus(
46+
workspace.latest_build,
47+
)
48+
4549
return(
4650
<divaria-label={Language.resources}className={styles.wrapper}>
4751
{getResourcesError ?(
@@ -102,9 +106,12 @@ export const Resources: FC<ResourcesProps> = ({
102106
{agent.name}
103107
<divclassName={styles.agentInfo}>
104108
<spanclassName={styles.operatingSystem}>{agent.operating_system}</span>
105-
<spanstyle={{color:agentStatus.color}}className={styles.status}>
106-
{agentStatus.status}
107-
</span>
109+
{WorkspaceStateEnum[workspaceStatus]!==
110+
WorkspaceStateEnum["stopped"]&&(
111+
<spanstyle={{color:agentStatus.color}}className={styles.status}>
112+
{agentStatus.status}
113+
</span>
114+
)}
108115
</div>
109116
</TableCell>
110117
<TableCell>

‎site/src/components/WorkspaceActions/ActionCtas.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import PlayCircleOutlineIcon from "@material-ui/icons/PlayCircleOutline"
88
import{LoadingButton}from"components/LoadingButton/LoadingButton"
99
import{FC}from"react"
1010
import{combineClasses}from"util/combineClasses"
11+
import{WorkspaceStateEnum}from"util/workspace"
1112
import{WorkspaceActionButton}from"../WorkspaceActionButton/WorkspaceActionButton"
12-
import{WorkspaceStateEnum}from"./constants"
1313

1414
exportconstLanguage={
1515
start:"Start",

‎site/src/components/WorkspaceActions/DropdownContent/DropdownContent.stories.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
import{Story}from"@storybook/react"
2+
import{WorkspaceStateEnum}from"util/workspace"
23
import{DeleteButton,StartButton,StopButton}from"../ActionCtas"
3-
import{
4-
ButtonMapping,
5-
ButtonTypesEnum,
6-
WorkspaceStateActions,
7-
WorkspaceStateEnum,
8-
}from"../constants"
4+
import{ButtonMapping,ButtonTypesEnum,WorkspaceStateActions}from"../constants"
95
import{DropdownContent,DropdownContentProps}from"./DropdownContent"
106

117
// These are the stories for the secondary actions (housed in the dropdown)

‎site/src/components/WorkspaceActions/WorkspaceActions.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import{screen}from"@testing-library/react"
2+
import{WorkspaceStateEnum}from"util/workspace"
23
import*asMocksfrom"../../testHelpers/entities"
34
import{render}from"../../testHelpers/renderHelpers"
45
import{Language}from"./ActionCtas"
5-
import{WorkspaceStateEnum}from"./constants"
66
import{WorkspaceActions,WorkspaceActionsProps}from"./WorkspaceActions"
77

88
constrenderComponent=async(props:Partial<WorkspaceActionsProps>={})=>{

‎site/src/components/WorkspaceActions/WorkspaceActions.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import Button from "@material-ui/core/Button"
22
importPopoverfrom"@material-ui/core/Popover"
33
import{makeStyles}from"@material-ui/core/styles"
44
import{FC,useEffect,useMemo,useRef,useState}from"react"
5+
import{getWorkspaceStatus,WorkspaceStateEnum,WorkspaceStatus}from"util/workspace"
56
import{Workspace}from"../../api/typesGenerated"
6-
import{getWorkspaceStatus,WorkspaceStatus}from"../../util/workspace"
77
import{CloseDropdown,OpenDropdown}from"../DropdownArrows/DropdownArrows"
88
import{
99
ActionLoadingButton,
@@ -15,12 +15,7 @@ import {
1515
StopButton,
1616
UpdateButton,
1717
}from"./ActionCtas"
18-
import{
19-
ButtonMapping,
20-
ButtonTypesEnum,
21-
WorkspaceStateActions,
22-
WorkspaceStateEnum,
23-
}from"./constants"
18+
import{ButtonMapping,ButtonTypesEnum,WorkspaceStateActions}from"./constants"
2419
import{DropdownContent}from"./DropdownContent/DropdownContent"
2520

2621
/**

‎site/src/components/WorkspaceActions/constants.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
11
import{ReactNode}from"react"
2-
3-
// all the possible states returned by the API
4-
exportenumWorkspaceStateEnum{
5-
starting="Starting",
6-
started="Started",
7-
stopping="Stopping",
8-
stopped="Stopped",
9-
canceling="Canceling",
10-
canceled="Canceled",
11-
deleting="Deleting",
12-
deleted="Deleted",
13-
queued="Queued",
14-
error="Error",
15-
loading="Loading",
16-
}
2+
import{WorkspaceStateEnum}from"util/workspace"
173

184
// the button types we have
195
exportenumButtonTypesEnum{

‎site/src/util/workspace.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,21 @@ import * as TypesGen from "../api/typesGenerated"
66

77
dayjs.extend(utc)
88

9+
// all the possible states returned by the API
10+
exportenumWorkspaceStateEnum{
11+
starting="Starting",
12+
started="Started",
13+
stopping="Stopping",
14+
stopped="Stopped",
15+
canceling="Canceling",
16+
canceled="Canceled",
17+
deleting="Deleting",
18+
deleted="Deleted",
19+
queued="Queued",
20+
error="Error",
21+
loading="Loading",
22+
}
23+
924
exporttypeWorkspaceStatus=
1025
|"queued"
1126
|"started"

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp