Skip to content
Snippets Groups Projects
Commit 79e1457d authored by Chris Beer's avatar Chris Beer
Browse files

Add a hack to get our window view click handlers working right

parent 5dd569d0
No related branches found
No related tags found
No related merge requests found
...@@ -59,8 +59,6 @@ export class WindowViewSettings extends Component { ...@@ -59,8 +59,6 @@ export class WindowViewSettings extends Component {
classes, handleClose, t, windowViewType, viewTypes, classes, handleClose, t, windowViewType, viewTypes,
} = this.props; } = this.props;
if (viewTypes.length === 0) return null;
const iconMap = { const iconMap = {
book: BookViewIcon, book: BookViewIcon,
gallery: GalleryViewIcon, gallery: GalleryViewIcon,
...@@ -68,29 +66,30 @@ export class WindowViewSettings extends Component { ...@@ -68,29 +66,30 @@ export class WindowViewSettings extends Component {
single: SingleIcon, single: SingleIcon,
}; };
/** */ /** Suspiciously similar to a component, yet if it is invoked through JSX
const ViewItem = ({ Icon, value }) => ( none of the click handlers work? */
const menuItem = ({ value, Icon }) => (
<MenuItem <MenuItem
key={value}
className={classes.MenuItem} className={classes.MenuItem}
ref={ref => this.handleSelectedRef(ref)} ref={windowViewType === value && (ref => this.handleSelectedRef(ref))}
onClick={() => { this.handleChange(value); handleClose(); }} onClick={() => { this.handleChange(value); handleClose(); }}
> >
<FormControlLabel <FormControlLabel
value={value} value={value}
classes={{ label: windowViewType === value ? classes.selectedLabel : classes.label }} classes={{ label: windowViewType === value ? classes.selectedLabel : classes.label }}
control={Icon && <Icon color={windowViewType === value ? 'secondary' : undefined} />} control={<Icon color={windowViewType === value ? 'secondary' : undefined} />}
label={t(value)} label={t(value)}
labelPlacement="bottom" labelPlacement="bottom"
/> />
</MenuItem> </MenuItem>
); );
if (viewTypes.length === 0) return null;
return ( return (
<> <>
<ListSubheader role="presentation" disableSticky tabIndex="-1">{t('view')}</ListSubheader> <ListSubheader role="presentation" disableSticky tabIndex="-1">{t('view')}</ListSubheader>
{viewTypes.map(value => ( { viewTypes.map(value => menuItem({ Icon: iconMap[value], value })) }
<ViewItem Icon={iconMap[value]} key={value} value={value} />
))}
</> </>
); );
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment