Skip to content

Commit

Permalink
[Enhancement] make panel tab a factory (#172) (#1412)
Browse files Browse the repository at this point in the history
Signed-off-by: Shan He <heshan0131@gmail.com>
  • Loading branch information
heshan0131 committed Mar 21, 2021
1 parent 173811a commit cdcc0ee
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 21 deletions.
2 changes: 1 addition & 1 deletion src/components/index.js
Expand Up @@ -54,7 +54,7 @@ export {
} from './side-panel/panel-header';
export {default as PanelHeaderActionFactory} from './side-panel/panel-header-action';
export {CollapseButtonFactory, default as SidebarFactory} from './side-panel/side-bar';
export {default as PanelToggleFactory} from './side-panel/panel-toggle';
export {default as PanelToggleFactory, PanelTabFactory} from './side-panel/panel-toggle';

export {AddDataButtonFactory, default as LayerManagerFactory} from './side-panel/layer-manager';
export {default as LayerPanelFactory} from './side-panel/layer-panel/layer-panel';
Expand Down
46 changes: 26 additions & 20 deletions src/components/side-panel/panel-toggle.js
Expand Up @@ -40,28 +40,34 @@ const PanelHeaderBottom = styled.div.attrs({
min-height: 30px;
`;

const PanelTab = styled.div.attrs({
className: 'side-panel__tab'
})`
align-items: flex-end;
border-bottom-style: solid;
border-bottom-width: 2px;
border-bottom-color: ${props =>
props.active ? props.theme.panelToggleBorderColor : 'transparent'};
color: ${props => (props.active ? props.theme.subtextColorActive : props.theme.panelTabColor)};
display: flex;
justify-content: center;
margin-right: ${props => props.theme.panelToggleMarginRight}px;
padding-bottom: ${props => props.theme.panelToggleBottomPadding}px;
width: ${props => props.theme.panelTabWidth};
export function PanelTabFactory() {
const PanelTab = styled.div.attrs({
className: 'side-panel__tab'
})`
align-items: flex-end;
border-bottom-style: solid;
border-bottom-width: 2px;
border-bottom-color: ${props =>
props.active ? props.theme.panelToggleBorderColor : 'transparent'};
color: ${props => (props.active ? props.theme.subtextColorActive : props.theme.panelTabColor)};
display: flex;
justify-content: center;
margin-right: ${props => props.theme.panelToggleMarginRight}px;
padding-bottom: ${props => props.theme.panelToggleBottomPadding}px;
width: ${props => props.theme.panelTabWidth};
:hover {
cursor: pointer;
color: ${props => props.theme.textColorHl};
}
:hover {
cursor: pointer;
color: ${props => props.theme.textColorHl};
}
`;
`;

return PanelTab;
}

const PanelToggleFactory = () => {
PanelToggleFactory.deps = [PanelTabFactory];
function PanelToggleFactory(PanelTab) {
const PanelToggle = ({panels, activePanel, togglePanel}) => (
<PanelHeaderBottom>
{panels.map(panel => (
Expand Down

0 comments on commit cdcc0ee

Please sign in to comment.