Skip to content

Commit 2aac9ed

Browse files
authored
dropdown button update (#31)
1 parent ca953bf commit 2aac9ed

File tree

7 files changed

+49
-15
lines changed

7 files changed

+49
-15
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@dynamods/dynamo-home",
3-
"version": "1.0.18",
3+
"version": "1.0.19",
44
"description": "Dynamo Home",
55
"author": "Autodesk Inc.",
66
"main": "index.tsx",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
.wideDropdown {
2-
width: 200px;
2+
width: 185px;
33
}

src/components/Samples/PageSamples.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { CustomSampleFirstCellRenderer } from "./CustomSampleFirstCellRenderer";
88
import { SamplesGrid } from './SamplesGrid';
99
import { openFile, showSamplesCommand, saveHomePageSettings } from '../../functions/utility';
1010
import { useSettings } from '../SettingsContext';
11-
import { CustomDropdown } from "../Sidebar/CustomDropDown";
11+
import { CustomDropdown } from '../Sidebar/CustomDropDown';
1212
import styles from './PageSamples.module.css';
1313

1414
export const SamplesPage = ({ samplesViewMode }) => {
@@ -133,10 +133,13 @@ export const SamplesPage = ({ samplesViewMode }) => {
133133
placeholder={<FormattedMessage id="samples.showsamples.text" />}
134134
onSelectionChange={handleShowSamplesClick}
135135
options={[
136-
{ label: <FormattedMessage id="samples.showsamples.files.text" />, value: 'open-files' },
136+
{ label: <FormattedMessage id="samples.showsamples.files.text" />, value: 'open-graphs' },
137137
{ label: <FormattedMessage id="samples.showsamples.datasets.text" />, value: 'open-datasets' }
138138
]}
139139
className={styles.wideDropdown}
140+
showDivider={false}
141+
wholeButtonActionable={true}
142+
disableArrowHoverShadow={true}
140143
/>
141144
</div>
142145
</div>

src/components/Sidebar/CustomDropDown.module.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,4 +113,8 @@
113113
height: 100%;
114114
background-color: #9B9B9B;
115115
margin: 0px;
116+
}
117+
118+
.no-hover-shadow .arrow-container:hover {
119+
box-shadow: none !important;
116120
}

src/components/Sidebar/CustomDropDown.tsx

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,21 @@ import { useState, useRef, useEffect } from 'react';
22
import styles from './CustomDropDown.module.css';
33
import { OpenArrow } from '../Common/Arrow';
44

5-
export const CustomDropdown = ({ id, options, placeholder, onSelectionChange, className }: Dropdown & { className?: string }) => {
5+
export const CustomDropdown = ({
6+
id,
7+
options,
8+
placeholder,
9+
onSelectionChange,
10+
className,
11+
showDivider = true,
12+
wholeButtonActionable = false,
13+
disableArrowHoverShadow = false
14+
}: Dropdown & {
15+
className?: string,
16+
showDivider?: boolean,
17+
wholeButtonActionable?: boolean,
18+
disableArrowHoverShadow?: boolean
19+
}) => {
620
const [isOpen, setIsOpen] = useState(false);
721
const [lastSelected, setLastSelected] = useState(options[0]);
822
const dropdownRef = useRef(null);
@@ -43,14 +57,27 @@ export const CustomDropdown = ({ id, options, placeholder, onSelectionChange, cl
4357
}, [isOpen]);
4458

4559
return (
46-
<div className={`${styles['custom-dropdown']} ${isOpen ? styles.open : ''} ${className}`} ref={dropdownRef}>
47-
<div className={styles['dropdown-selected']} onClick={handleDefaultAction}>
60+
<div
61+
className={`
62+
${styles['custom-dropdown']}
63+
${isOpen ? styles.open : ''}
64+
${disableArrowHoverShadow ? styles['no-hover-shadow'] : ''}
65+
${className}
66+
`}
67+
ref={dropdownRef}>
68+
<div
69+
className={styles['dropdown-selected']}
70+
onClick={wholeButtonActionable ? toggleDropdown : undefined}
71+
>
4872
<span>{placeholder}</span>
49-
<span className={styles['vertical-line']}></span>
50-
<div className={styles['arrow-container']} onClick={(e) => {
51-
e.stopPropagation();
52-
toggleDropdown();
53-
}}>
73+
{showDivider && <span className={styles['vertical-line']}></span>}
74+
<div
75+
className={styles['arrow-container']}
76+
onClick={wholeButtonActionable ? undefined : (e) => {
77+
e.stopPropagation();
78+
toggleDropdown();
79+
}}
80+
>
5481
<OpenArrow isOpen={isOpen} color={arrowColor} />
5582
</div>
5683
</div>

src/functions/utility.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export function showSamplesCommand(value: ShowSamplesCommand) {
4848
if (value === 'open-graphs' && window.chrome?.webview !== undefined) {
4949
window.chrome.webview.hostObjects.scriptObject.ShowSampleFilesInFolder();
5050
}
51-
if (value == 'open-datasets' && window.chrome?.webview !== undefined) {
51+
if (value === 'open-datasets' && window.chrome?.webview !== undefined) {
5252
window.chrome.webview.hostObjects.scriptObject.ShowSampleDatasetsInFolder();
5353
}
5454
}

0 commit comments

Comments
 (0)