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

Commit86b0cb7

Browse files
committed
add update policy to workspace stats
1 parent262050a commit86b0cb7

File tree

6 files changed

+48
-8
lines changed

6 files changed

+48
-8
lines changed

‎site/src/components/Dashboard/DashboardProvider.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,11 @@ export const useIsWorkspaceActionsEnabled = (): boolean => {
122122
constallowWorkspaceActions=experiments.includes("workspace_actions");
123123
returnallowWorkspaceActions&&allowAdvancedScheduling;
124124
};
125+
126+
exportconstuseTemplatePoliciesEnabled=():boolean=>{
127+
const{ entitlements, experiments}=useDashboard();
128+
return(
129+
entitlements.features.access_control.enabled&&
130+
experiments.includes("template_update_policies")
131+
);
132+
};

‎site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsPage.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,15 @@ import { useTemplateSettings } from "../TemplateSettingsLayout";
1010
import{TemplateSettingsPageView}from"./TemplateSettingsPageView";
1111
import{templateByNameKey}from"api/queries/templates";
1212
import{useOrganizationId}from"hooks";
13-
import{useDashboard}from"components/Dashboard/DashboardProvider";
13+
import{useTemplatePoliciesEnabled}from"components/Dashboard/DashboardProvider";
1414

1515
exportconstTemplateSettingsPage:FC=()=>{
1616
const{template:templateName}=useParams()as{template:string};
1717
constnavigate=useNavigate();
1818
constorgId=useOrganizationId();
1919
const{ template}=useTemplateSettings();
2020
constqueryClient=useQueryClient();
21-
const{ entitlements, experiments}=useDashboard();
22-
constaccessControlEnabled=
23-
entitlements.features["advanced_template_scheduling"].enabled&&
24-
experiments.includes("template_update_policies");
21+
constaccessControlEnabled=useTemplatePoliciesEnabled();
2522

2623
const{
2724
mutate:updateTemplate,

‎site/src/pages/WorkspacePage/Workspace.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ export const Workspace: FC<React.PropsWithChildren<WorkspaceProps>> = ({
191191
quotaBudget={quotaBudget}
192192
handleUpdate={handleUpdate}
193193
canUpdateWorkspace={canUpdateWorkspace}
194+
canChangeVersions={canChangeVersions}
194195
maxDeadlineDecrease={scheduleProps.maxDeadlineDecrease}
195196
maxDeadlineIncrease={scheduleProps.maxDeadlineIncrease}
196197
onDeadlineMinus={scheduleProps.onDeadlineMinus}

‎site/src/pages/WorkspacePage/WorkspaceActions/constants.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ export const actionsByWorkspaceStatus = (
4343
};
4444
}
4545
if(
46-
workspace.template_require_active_version&&
4746
workspace.outdated&&
48-
!canChangeVersions
47+
((workspace.template_require_active_version&&!canChangeVersions)||
48+
workspace.automatic_updates==="always")
4949
){
5050
if(status==="running"){
5151
return{

‎site/src/pages/WorkspacePage/WorkspaceStats.tsx

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ import {
2626
PopoverTrigger,
2727
usePopover,
2828
}from"components/Popover/Popover";
29+
import{useTemplatePoliciesEnabled}from"components/Dashboard/DashboardProvider";
30+
import{
31+
HelpTooltip,
32+
HelpTooltipText,
33+
}from"components/HelpTooltip/HelpTooltip";
34+
import{Stack}from"components/Stack/Stack";
2935

3036
constLanguage={
3137
workspaceDetails:"Workspace Details",
@@ -37,13 +43,15 @@ const Language = {
3743
upToDate:"Up to date",
3844
byLabel:"Last built by",
3945
costLabel:"Daily cost",
46+
updatePolicy:"Update policy",
4047
};
4148

4249
exportinterfaceWorkspaceStatsProps{
4350
workspace:Workspace;
4451
maxDeadlineIncrease:number;
4552
maxDeadlineDecrease:number;
4653
canUpdateWorkspace:boolean;
54+
canChangeVersions:boolean;
4755
quotaBudget?:number;
4856
onDeadlinePlus:(hours:number)=>void;
4957
onDeadlineMinus:(hours:number)=>void;
@@ -56,6 +64,7 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
5664
maxDeadlineDecrease,
5765
maxDeadlineIncrease,
5866
canUpdateWorkspace,
67+
canChangeVersions,
5968
handleUpdate,
6069
onDeadlineMinus,
6170
onDeadlinePlus,
@@ -67,6 +76,13 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
6776
conststyles=useStyles();
6877
constdeadlinePlusEnabled=maxDeadlineIncrease>=1;
6978
constdeadlineMinusEnabled=maxDeadlineDecrease>=1;
79+
consttemplatePoliciesEnabled=useTemplatePoliciesEnabled();
80+
constworkspaceUpdatePolicy=():string=>{
81+
if(workspace.template_require_active_version&&!canChangeVersions){
82+
return"Always";
83+
}
84+
returnupperFirst(workspace.automatic_updates);
85+
};
7086

7187
return(
7288
<>
@@ -198,6 +214,25 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
198214
}`}
199215
/>
200216
)}
217+
{templatePoliciesEnabled&&(
218+
<Stackdirection="row"spacing={0.5}>
219+
<StatsItem
220+
className={styles.statsItem}
221+
label={Language.updatePolicy}
222+
value={workspaceUpdatePolicy()}
223+
/>
224+
{workspace.automatic_updates==="never"&&
225+
workspace.template_require_active_version&&
226+
!canChangeVersions&&(
227+
<HelpTooltip>
228+
<HelpTooltipText>
229+
Your workspace has not opted in to automatic updates but
230+
your template requires updating to the active version.
231+
</HelpTooltipText>
232+
</HelpTooltip>
233+
)}
234+
</Stack>
235+
)}
201236
</Stats>
202237
</>
203238
);

‎site/src/pages/WorkspaceSettingsPage/WorkspaceSettingsPage.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const WorkspaceSettingsPage = () => {
2020

2121
constmutation=useMutation({
2222
mutationFn:async(formValues:WorkspaceSettingsFormValues)=>{
23-
console.log("in here",formValues.automatic_updates);
2423
awaitpatchWorkspace(workspace.id,{name:formValues.name});
2524
awaitupdateWorkspaceAutomaticUpdates(
2625
workspace.id,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp