diff --git a/public/images/arrow-down.svg b/public/images/arrow-down.svg
new file mode 100644
index 0000000..b15f9a9
--- /dev/null
+++ b/public/images/arrow-down.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/src/Components/SVG/Elements/Symbol.tsx b/src/Components/SVG/Elements/Symbol.tsx
index 6a971de..f63f66a 100644
--- a/src/Components/SVG/Elements/Symbol.tsx
+++ b/src/Components/SVG/Elements/Symbol.tsx
@@ -1,7 +1,7 @@
import { Interweave } from 'interweave';
import * as React from 'react';
import { ISymbolModel } from '../../../Interfaces/ISymbolModel';
-import { DIMENSION_MARGIN } from '../../../utils/default';
+import { DIMENSION_MARGIN, SYMBOL_MARGIN } from '../../../utils/default';
interface ISymbolProps {
model: ISymbolModel
@@ -30,8 +30,14 @@ export function Symbol(props: ISymbolProps): JSX.Element {
return (
);
diff --git a/src/Components/SymbolProperties/SymbolForm.tsx b/src/Components/SymbolProperties/SymbolForm.tsx
index 31c8315..a747af3 100644
--- a/src/Components/SymbolProperties/SymbolForm.tsx
+++ b/src/Components/SymbolProperties/SymbolForm.tsx
@@ -2,6 +2,8 @@ import * as React from 'react';
import { ISymbolModel } from '../../Interfaces/ISymbolModel';
import { RestoreX, TransformX } from '../../utils/svg';
import { InputGroup } from '../InputGroup/InputGroup';
+import { TextInputGroup } from '../InputGroup/TextInputGroup';
+import { PositionReferenceSelector } from '../RadioGroupButtons/PositionReferenceSelector';
interface ISymbolFormProps {
symbol: ISymbolModel
@@ -20,15 +22,17 @@ export function SymbolForm(props: ISymbolFormProps): JSX.Element {
type='string'
value={props.symbol.id.toString()}
isDisabled={true} />
- props.onChange('x', RestoreX(Number(event.target.value), props.symbol.width, props.symbol.config.XPositionReference))} />
- props.onChange('x', RestoreX(Number(value), props.symbol.width, props.symbol.config.PositionReference))} />
+ props.onChange('height', Number(event.target.value))} />
- props.onChange('height', Number(value))} />
+ props.onChange('width', Number(event.target.value))} />
+ onChange={(value) => props.onChange('width', Number(value))} />
);
}
diff --git a/src/Interfaces/IAvailableSymbol.ts b/src/Interfaces/IAvailableSymbol.ts
index 064a8f1..a9adf92 100644
--- a/src/Interfaces/IAvailableSymbol.ts
+++ b/src/Interfaces/IAvailableSymbol.ts
@@ -9,5 +9,5 @@ export interface IAvailableSymbol {
Image: IImage
Width?: number
Height?: number
- XPositionReference?: PositionReference
+ PositionReference?: PositionReference
}
diff --git a/src/utils/default.ts b/src/utils/default.ts
index 6c351b9..5ffb68c 100644
--- a/src/utils/default.ts
+++ b/src/utils/default.ts
@@ -63,6 +63,7 @@ export const SHOW_CHILDREN_DIMENSIONS = true;
export const SHOW_BORROWER_DIMENSIONS = true;
export const SHOW_DIMENSIONS_PER_DEPTH = false;
export const DIMENSION_MARGIN = 50;
+export const SYMBOL_MARGIN = 25;
export const NOTCHES_LENGTH = 10;
/// SYMBOL DEFAULTS ///
diff --git a/test-server/http.js b/test-server/http.js
index b5cc6bc..90da3f5 100644
--- a/test-server/http.js
+++ b/test-server/http.js
@@ -241,6 +241,18 @@ const GetSVGLayoutConfiguration = () => {
Name: 'Poteau structure',
PositionReference: 1
},
+ {
+ Width: 32,
+ Height: 32,
+ Image: {
+ Base64Image: null,
+ Name: 'Arrow',
+ Svg: null,
+ Url: './images/arrow-down.svg'
+ },
+ Name: 'Arrow',
+ PositionReference: 1
+ },
{
Width: 32,
Height: 32,