Add global edit history page
This commit is contained in:
parent
91270ff6a0
commit
70fa8725b4
@ -6,7 +6,9 @@ import * as editHistoryService from '../services/editHistory';
|
|||||||
const getGlobalEditHistory = asyncController(async (req: express.Request, res: express.Response) => {
|
const getGlobalEditHistory = asyncController(async (req: express.Request, res: express.Response) => {
|
||||||
try {
|
try {
|
||||||
const result = await editHistoryService.getGlobalEditHistory();
|
const result = await editHistoryService.getGlobalEditHistory();
|
||||||
res.send(result);
|
res.send({
|
||||||
|
history: result
|
||||||
|
});
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
res.send({ error: 'Database error' });
|
res.send({ error: 'Database error' });
|
||||||
|
@ -9,6 +9,7 @@ import MapApp from './map-app';
|
|||||||
import { Building } from './models/building';
|
import { Building } from './models/building';
|
||||||
import { User } from './models/user';
|
import { User } from './models/user';
|
||||||
import AboutPage from './pages/about';
|
import AboutPage from './pages/about';
|
||||||
|
import ChangesPage from './pages/changes';
|
||||||
import ContactPage from './pages/contact';
|
import ContactPage from './pages/contact';
|
||||||
import ContributorAgreementPage from './pages/contributor-agreement';
|
import ContributorAgreementPage from './pages/contributor-agreement';
|
||||||
import DataAccuracyPage from './pages/data-accuracy';
|
import DataAccuracyPage from './pages/data-accuracy';
|
||||||
@ -112,6 +113,7 @@ class App extends React.Component<AppProps, AppState> {
|
|||||||
<Route exact path="/data-accuracy.html" component={DataAccuracyPage} />
|
<Route exact path="/data-accuracy.html" component={DataAccuracyPage} />
|
||||||
<Route exact path="/data-extracts.html" component={DataExtracts} />
|
<Route exact path="/data-extracts.html" component={DataExtracts} />
|
||||||
<Route exact path="/contact.html" component={ContactPage} />
|
<Route exact path="/contact.html" component={ContactPage} />
|
||||||
|
<Route exact path="/history.html" component={ChangesPage} />
|
||||||
<Route exact path={App.mapAppPaths} render={(props) => (
|
<Route exact path={App.mapAppPaths} render={(props) => (
|
||||||
<MapApp
|
<MapApp
|
||||||
{...props}
|
{...props}
|
||||||
|
41
app/src/frontend/pages/changes.tsx
Normal file
41
app/src/frontend/pages/changes.tsx
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import React, { useEffect, useState } from 'react';
|
||||||
|
|
||||||
|
import { BuildingEditSummary } from '../building/edit-history/building-edit-summary';
|
||||||
|
import { EditHistoryEntry } from '../models/edit-history-entry';
|
||||||
|
|
||||||
|
const ChangesPage = () => {
|
||||||
|
const [history, setHistory] = useState<EditHistoryEntry[]>(undefined);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const fetchData = async () => {
|
||||||
|
const res = await fetch(`/api/history`);
|
||||||
|
const data = await res.json();
|
||||||
|
|
||||||
|
setHistory(data.history);
|
||||||
|
};
|
||||||
|
|
||||||
|
fetchData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<article>
|
||||||
|
<section className="main-col">
|
||||||
|
<h1>Global edit history</h1>
|
||||||
|
|
||||||
|
<ul className="edit-history-list">
|
||||||
|
{history && history.map(entry => (
|
||||||
|
<li key={`${entry.revision_id}`} className="edit-history-list-element">
|
||||||
|
<BuildingEditSummary
|
||||||
|
historyEntry={entry}
|
||||||
|
showBuildingId={true}
|
||||||
|
hyperlinkCategories={true}
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ChangesPage;
|
Loading…
Reference in New Issue
Block a user