Skip to content

Commit 97f38df

Browse files
FS-4943 designer UI issue (#102)
* FS-4943: fixing ui issues in the designer * FS-4943: fix main UI changes in designer
1 parent 6797e7c commit 97f38df

File tree

4 files changed

+47
-9
lines changed

4 files changed

+47
-9
lines changed

designer/client/AdapterDesigner.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ export default class AdapterDesigner extends Component<Props, State> {
107107
<Prompt when={!error} message={`${i18n("leaveDesigner")}`}
108108
//@ts-ignore
109109
/><AdapterMenu id={this.id} updateDownloadedAt={this.updateDownloadedAt}
110-
//@ts-ignore
110+
//@ts-ignore
111111
updatePersona={this.updatePersona}/>
112112
<AdapterVisualisation downloadedAt={
113113
//@ts-ignore

designer/client/components/Visualization/AdapterVisualisation.tsx

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import React, {useContext, useEffect, useRef, useState} from "react";
44
import "../../../../digital-form-builder/designer/client/components/Visualisation/visualisation.scss";
55
import {getLayout, Pos} from "../../../../digital-form-builder/designer/client/components/Visualisation/getLayout";
66
import {AdapterPage} from "../Page";
7-
import {Info} from "../../../../digital-form-builder/designer/client/components/Visualisation/Info";
8-
import {Minimap} from "../../../../digital-form-builder/designer/client/components/Visualisation/Minimap";
97
import {AdapterDataContext} from "../../context/AdapterDataContext";
108
import {AdapterLines} from "./AdapterLines";
119

@@ -36,6 +34,7 @@ export const AdapterVisualisation = (props: Props) => {
3634

3735
const {updatedAt, downloadedAt, previewUrl, persona, id} = props;
3836
const {pages} = data;
37+
const scale = 0.05
3938

4039
const wrapperStyle = layout && {
4140
width: layout?.width,
@@ -61,9 +60,48 @@ export const AdapterVisualisation = (props: Props) => {
6160
</div>
6261
</div>
6362

64-
{layout && <Info downloadedAt={downloadedAt} updatedAt={updatedAt}/>}
63+
{layout &&
64+
<div style={{display: 'flex', justifyContent: 'space-between', width: '100%'}}>
65+
<div className="notification" style={{position: 'relative'}}>
66+
<p className="govuk-body">last downloaded at {downloadedAt}</p>
67+
<p className="govuk-body">last updated at {updatedAt}</p>
68+
</div>
69+
<div className="minimap" style={{position: 'relative'}}>
70+
<svg
71+
height={parseFloat(layout.height) * scale}
72+
width={parseFloat(layout.width) * scale}
73+
>
74+
{layout.edges.map((edge) => {
75+
const points = edge.points
76+
.map((points) => `${points.x * scale},${points.y * scale}`)
77+
.join(" ");
78+
return (
79+
<g key={points}>
80+
<polyline points={points}/>
81+
</g>
82+
);
83+
})}
6584

66-
{layout && <Minimap layout={layout}/>}
85+
{layout.nodes.map((node, index) => {
86+
// @ts-ignore
87+
return (
88+
<g key={node + index}><a id={node + index} xlinkHref={`#${node.node.label}`}>
89+
<rect
90+
x={parseFloat(node.left) * scale}
91+
y={parseFloat(node.top) * scale}
92+
width={node.node.width * scale}
93+
height={node.node.height * scale}
94+
//@ts-ignore
95+
title={node.node.label}
96+
/>
97+
</a>
98+
</g>
99+
);
100+
})}
101+
</svg>
102+
</div>
103+
</div>
104+
}
67105
</div>
68106
</>
69107
);

designer/client/components/menu/AdapterMenu.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export default function AdapterMenu({updateDownloadedAt, id}: Props) {
4444
const {selectedTab, handleTabChange} = useTabs();
4545

4646
return (
47-
<nav className="menu">
47+
<nav className="menu" style={{position: 'relative'}}>
4848
<div className="menu__row">
4949
<button data-testid="menu-form-details" onClick={formDetails.show}>
5050
{i18n("menu.formDetails")}

designer/client/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import ReactDOM from "react-dom";
33
import {LandingChoice, NewConfig} from "../../digital-form-builder/designer/client/pages/LandingPage";
44
import {SaveError} from "../../digital-form-builder/designer/client/pages/ErrorPages";
55
import {BrowserRouter as Router, Switch, Route} from "react-router-dom";
6-
import { ViewFundForms } from "./pages/landing-page";
6+
import {ViewFundForms} from "./pages/landing-page";
77
import AdapterDesigner from "./AdapterDesigner";
88
import {adapterInitI18n} from "./i18n";
99

@@ -17,7 +17,7 @@ export class CustomApp extends React.Component {
1717
render() {
1818
return (
1919
<Router basename="/app">
20-
<div id="app">
20+
<div id="app" style={{overflow: 'auto'}}>
2121
<Switch>
2222
<Route path="/designer/:id" component={AdapterDesigner}/>
2323
<Route path="/" exact>
@@ -27,7 +27,7 @@ export class CustomApp extends React.Component {
2727
<NewConfig/>
2828
</Route>
2929
<Route path="/choose-existing" exact>
30-
<ViewFundForms />
30+
<ViewFundForms/>
3131
</Route>
3232
<Route path="/save-error" exact>
3333
<SaveError/>

0 commit comments

Comments
 (0)