Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 5efda1e

Browse files
drawer looks better
1 parent ee5504e commit 5efda1e

File tree

2 files changed

+39
-25
lines changed

2 files changed

+39
-25
lines changed

src/components/StreamBrowser.js

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,32 @@
11
import React from 'react';
2-
import { List, ListItem, Typography, withStyles } from '@material-ui/core';
2+
import {
3+
List,
4+
ListItem,
5+
ListItemText,
6+
LinearProgress,
7+
Typography,
8+
withStyles,
9+
} from '@material-ui/core';
310
import Hyperlink from './Hyperlink';
411

512
const StreamBrowser = withStyles(theme => ({
6-
popover: {
13+
browser: {
714
padding: theme.spacing.unit * 2.5,
815
},
9-
}))(({ streams, onNavigate, classes }) => (
10-
<div className={classes.popover}>
16+
}))(({ streams, onNavigate, classes, loading }) => (
17+
<div className={classes.browser}>
1118
<Typography variant={'title'}>Stream Browser</Typography>
12-
{streams.length ? (
19+
{loading ? (
20+
<LinearProgress />
21+
) : streams.length ? (
1322
<List>
1423
{streams.map(({ title, href }) => (
1524
<ListItem button key={href}>
16-
<Hyperlink href={href} onNavigate={onNavigate}>
17-
<span>{title}</span>
18-
</Hyperlink>
25+
<ListItemText>
26+
<Hyperlink href={href} onNavigate={onNavigate}>
27+
{title}
28+
</Hyperlink>
29+
</ListItemText>
1930
</ListItem>
2031
))}
2132
</List>

src/stream-store/views/StreamMessage.js

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
Card,
55
CardActions,
66
CardContent,
7-
Popover,
7+
Drawer,
88
Tab,
99
Tabs,
1010
withStyles,
@@ -107,11 +107,15 @@ const StreamMessageJson = withStyles({
107107
textDecoration: 'underline',
108108
},
109109
},
110+
drawerPaper: {
111+
width: 480,
112+
},
110113
})(
111114
class StreamMessageJson extends PureComponent {
112115
state = {
113-
anchorElement: undefined,
114116
streams: [],
117+
loading: false,
118+
open: false,
115119
};
116120

117121
_handlePotentialStreamIdClick = async (
@@ -121,7 +125,8 @@ const StreamMessageJson = withStyles({
121125
const { authorization, links } = this.props;
122126

123127
this.setState({
124-
anchorElement,
128+
loading: true,
129+
open: true,
125130
});
126131

127132
if (!links[rels.browse]) {
@@ -152,12 +157,13 @@ const StreamMessageJson = withStyles({
152157
{},
153158
),
154159
),
160+
loading: false,
155161
});
156162
};
157163

158164
_handlePotentialStreamIdClose = () =>
159165
this.setState({
160-
anchorElement: undefined,
166+
open: false,
161167
});
162168

163169
_renderNode = ({
@@ -200,33 +206,30 @@ const StreamMessageJson = withStyles({
200206
);
201207

202208
render() {
203-
const { json, onNavigate } = this.props;
204-
const { anchorElement, streams } = this.state;
209+
const { json, onNavigate, classes } = this.props;
210+
const { streams, loading, open } = this.state;
205211
return (
206212
<div>
207213
<Inspector
208214
data={json}
209215
expandLevel={32}
210216
nodeRenderer={this._renderNode}
211217
/>
212-
<Popover
213-
open={!!anchorElement}
214-
anchorEl={anchorElement}
218+
<Drawer
219+
variant={'temporary'}
220+
open={open}
215221
onClose={this._handlePotentialStreamIdClose}
216-
transformOrigin={{
217-
vertical: 'bottom',
218-
horizontal: 'center',
219-
}}
220-
anchorOrigin={{
221-
vertical: 'top',
222-
horizontal: 'center',
222+
anchor={'right'}
223+
classes={{
224+
paper: classes.drawerPaper,
223225
}}
224226
>
225227
<StreamBrowser
226228
streams={streams}
227229
onNavigate={onNavigate}
230+
loading={loading}
228231
/>
229-
</Popover>
232+
</Drawer>
230233
</div>
231234
);
232235
}

0 commit comments

Comments
 (0)