Skip to content

Commit efc66a6

Browse files
committed
Add labels to commit dropdown
1 parent 64ef947 commit efc66a6

File tree

2 files changed

+39
-34
lines changed

2 files changed

+39
-34
lines changed

src/components/copy-button.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import React from 'react';
2-
31
import Tooltip from 'react-bootstrap/Tooltip';
42
import OverlayTrigger from 'react-bootstrap/OverlayTrigger';
53
import { CopyIcon } from '@primer/octicons-react';
@@ -24,7 +22,11 @@ export default function CopyButton({
2422
};
2523

2624
return (
27-
<button className="copy-btn button-svg-with-hover" onClick={onCopy}>
25+
<button
26+
type="button"
27+
className="copy-btn button-svg-with-hover"
28+
onClick={onCopy}
29+
>
2830
<OverlayTrigger
2931
placement={'right'}
3032
trigger={['hover', 'focus']}

src/components/extended-reality/visualization/page-setup/bottom-bar/evolution/evolution-rendering-buttons.tsx

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useRef } from 'react';
21
import {
32
useCommitTreeStateStore,
43
SelectedCommit,
@@ -8,6 +7,8 @@ import { useVisibilityServiceStore } from 'explorviz-frontend/src/stores/visibil
87
import { useShallow } from 'zustand/react/shallow';
98
import Dropdown from 'react-bootstrap/Dropdown';
109
import { DropdownButton } from 'react-bootstrap';
10+
import { useState } from 'react';
11+
import { useToastHandlerStore } from 'explorviz-frontend/src/stores/toast-handler';
1112

1213
interface IArgs {
1314
selectedAppName: string;
@@ -21,13 +22,19 @@ export default function EvolutionRenderingButtons(args: IArgs) {
2122
}))
2223
);
2324

25+
const [modeLabel, setModeLabel] = useState<string>('Show Evolution Only');
26+
2427
const renderingService = useRenderingServiceStore(
2528
useShallow((state) => ({
2629
triggerRenderingForSelectedCommits:
2730
state.triggerRenderingForSelectedCommits,
2831
}))
2932
);
3033

34+
const showErrorToastMessage = useToastHandlerStore(
35+
(state) => state.showErrorToastMessage
36+
);
37+
3138
const visService = useVisibilityServiceStore(
3239
useShallow((state) => ({
3340
configuration: state._evolutionModeRenderingConfiguration,
@@ -38,10 +45,6 @@ export default function EvolutionRenderingButtons(args: IArgs) {
3845
}))
3946
);
4047

41-
const checkboxValues = useRef(
42-
visService.getCloneOfEvolutionModeRenderingConfiguration()
43-
);
44-
4548
const unselectAllSelectedCommits = () => {
4649
commitTreeState.resetSelectedCommits();
4750
renderingService.triggerRenderingForSelectedCommits();
@@ -64,6 +67,11 @@ export default function EvolutionRenderingButtons(args: IArgs) {
6467
evolutionMode.renderStatic = true;
6568
evolutionMode.renderOnlyDifferences = false;
6669
} else if (x === 'difference') {
70+
if (args.selectedCommits.size < 2) {
71+
showErrorToastMessage(
72+
'Cannot show differences, less than 2 commits selected'
73+
);
74+
}
6775
evolutionMode.renderStatic = true;
6876
evolutionMode.renderOnlyDifferences = true;
6977
}
@@ -92,54 +100,49 @@ export default function EvolutionRenderingButtons(args: IArgs) {
92100
<div className="col-md-auto">
93101
<DropdownButton
94102
id="dropdown-basic-button"
95-
title="Dropdown button"
103+
title={modeLabel}
96104
variant="secondary"
97105
drop="end"
98106
>
99107
<Dropdown.Item
100-
key="Show Runtime Only"
101-
onClick={() => changeAnalysisMode('dynamic')}
108+
key="Show Evolution Only"
109+
onClick={() => {
110+
changeAnalysisMode('static');
111+
setModeLabel('Show Evolution Only');
112+
}}
102113
>
103-
Show Runtime Only
114+
Show Evolution Only
104115
</Dropdown.Item>
105116
<Dropdown.Item
106-
key="Show Evolution Only"
107-
onClick={() => changeAnalysisMode('static')}
117+
key="Show Runtime Only"
118+
onClick={() => {
119+
changeAnalysisMode('dynamic');
120+
setModeLabel('Show Runtime Only');
121+
}}
108122
>
109-
Show Evolution Only
123+
Show Runtime Only
110124
</Dropdown.Item>
111125
<Dropdown.Item
112126
key="Show Runtime + Evolution"
113-
onClick={() => changeAnalysisMode('static+dynamic')}
127+
onClick={() => {
128+
changeAnalysisMode('static+dynamic');
129+
setModeLabel('Show Runtime + Evolution');
130+
}}
114131
>
115132
Show Runtime + Evolution
116133
</Dropdown.Item>
117134
<Dropdown.Item
118135
key="Evolution (Differences Only)"
119-
onClick={() => changeAnalysisMode('difference')}
136+
onClick={() => {
137+
changeAnalysisMode('difference');
138+
setModeLabel('Evolution (Differences Only)');
139+
}}
120140
>
121141
Evolution (Differences Only)
122142
</Dropdown.Item>
123143
</DropdownButton>
124144
</div>
125145
)}
126-
{args.selectedCommits.get(args.selectedAppName)?.length === 2 && (
127-
<div className="col-md-auto">
128-
<div className="d-flex">
129-
<div style={{ marginRight: '4rem' }}>Only show differences</div>
130-
<div className="d-flex">
131-
<label className="wide-checkbox-container">
132-
<input
133-
type="checkbox"
134-
checked={visService.configuration.renderOnlyDifferences}
135-
onChange={() => changeAnalysisMode('difference')}
136-
/>
137-
<span className="wide-checkbox"></span>
138-
</label>
139-
</div>
140-
</div>
141-
</div>
142-
)}
143146
</div>
144147
)}
145148
</div>

0 commit comments

Comments
 (0)