Skip to content

Commit 587b4b1

Browse files
committed
support last_payload and last_insert in ui
1 parent 761801f commit 587b4b1

File tree

4 files changed

+29
-17
lines changed

4 files changed

+29
-17
lines changed

ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"typescript": "^3.7.4"
3737
},
3838
"scripts": {
39-
"generate-client": "docker run --rm -v ${PWD}/src:/out -v ${PWD}/../../docs:/in openapitools/openapi-generator-cli generate -i /in/openapi.json -g typescript-fetch -o /out/client",
39+
"generate-client": "docker run --rm -v ${PWD}/src:/out -v ${PWD}/../docs:/in openapitools/openapi-generator-cli generate -i /in/openapi.json -g typescript-fetch -o /out/client",
4040
"start": "react-scripts start",
4141
"build": "react-scripts build",
4242
"test": "react-scripts test",

ui/src/client/models/Stream.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,18 @@ export interface Stream {
4343
* @memberof Stream
4444
*/
4545
updated?: string;
46+
/**
47+
*
48+
* @type {string}
49+
* @memberof Stream
50+
*/
51+
readonly lastInsert?: string;
52+
/**
53+
*
54+
* @type {{ [key: string]: string; }}
55+
* @memberof Stream
56+
*/
57+
readonly lastPayload?: { [key: string]: string; };
4658
}
4759

4860
export function StreamFromJSON(json: any): Stream {
@@ -59,6 +71,8 @@ export function StreamFromJSONTyped(json: any, ignoreDiscriminator: boolean): St
5971
'key': !exists(json, 'key') ? undefined : json['key'],
6072
'created': !exists(json, 'created') ? undefined : json['created'],
6173
'updated': !exists(json, 'updated') ? undefined : json['updated'],
74+
'lastInsert': !exists(json, 'last_insert') ? undefined : json['last_insert'],
75+
'lastPayload': !exists(json, 'last_payload') ? undefined : json['last_payload'],
6276
};
6377
}
6478

ui/src/pages/Data.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export const DataPage: React.FC<MainProps> = props => {
2929
dispatch(fetchRequest(params.key));
3030
}, [dispatch]);
3131

32+
// TODO tjt: move data formatting to store
3233
const payloadColumnsSet = new Set(data.map((datum: Data) => Object.keys(datum.payload || {})).flat());
3334
const payloadColumns = [...payloadColumnsSet].sort();
3435

ui/src/pages/Streams.tsx

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useEffect } from 'react';
22
import { useDispatch, useSelector } from 'react-redux';
3-
import { Table, Header, Popup } from 'semantic-ui-react';
3+
import { Table, Header, Popup, Label } from 'semantic-ui-react';
44
import { History } from 'history';
55
import moment from 'moment';
66

@@ -23,39 +23,36 @@ export const StreamsPage: React.FC<MainProps> = ({ history }) => {
2323
return (
2424
<>
2525
<Header as="h1">dlphn.streams</Header>
26-
<Table celled selectable fixed>
26+
<Table celled selectable>
2727
<Table.Header>
2828
<Table.Row>
29-
<Table.HeaderCell>id</Table.HeaderCell>
3029
<Table.HeaderCell>key</Table.HeaderCell>
31-
<Table.HeaderCell>created</Table.HeaderCell>
32-
<Table.HeaderCell>updated</Table.HeaderCell>
30+
<Table.HeaderCell>last payload</Table.HeaderCell>
31+
<Table.HeaderCell>last insert</Table.HeaderCell>
3332
</Table.Row>
3433
</Table.Header>
3534

3635
<Table.Body>
37-
{loading && data.length === 0 && (
36+
{loading && (
3837
<Table.Row>
39-
<Table.Cell colSpan={4}>loading...</Table.Cell>
38+
<Table.Cell colSpan={3}>loading...</Table.Cell>
4039
</Table.Row>
4140
)}
4241
{data.map((stream: Stream) => (
4342
<Table.Row key={stream.id} onClick={() => history.push(`/streams/${stream.key}/data`)}>
44-
<Table.Cell>{stream.id}</Table.Cell>
4543
<Table.Cell>{stream.key}</Table.Cell>
4644
<Table.Cell>
47-
<Popup
48-
size="mini"
49-
content={stream.created}
50-
trigger={<div>{moment(stream.created).fromNow()}</div>}
51-
inverted
52-
/>
45+
<Label color="blue">
46+
{Object.entries(stream.lastPayload || {})
47+
.map(([k, v]) => `${k}: ${v}`)
48+
.join(', ')}
49+
</Label>
5350
</Table.Cell>
5451
<Table.Cell>
5552
<Popup
5653
size="mini"
57-
content={stream.updated}
58-
trigger={<div>{moment(stream.updated).fromNow()}</div>}
54+
content={stream.lastInsert}
55+
trigger={<span>{moment(stream.lastInsert).fromNow()}</span>}
5956
inverted
6057
/>
6158
</Table.Cell>

0 commit comments

Comments
 (0)