diff --git a/src/App.tsx b/src/App.tsx index 58e73c5..e6ea857 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -40,22 +40,6 @@ export class App extends React.Component { }; } - componentDidMount() { - const queryString = window.location.search; - const urlParams = new URLSearchParams(queryString); - const state = urlParams.get('state'); - - if (state === null) { - return; - } - - fetch(state) - .then((response) => response.json()) - .then((data: IEditorState) => { - this.LoadState(data); - }); - } - public NewEditor() { // Fetch the configuration from the API fetchConfiguration().then((configuration: Configuration) => { @@ -102,22 +86,18 @@ export class App extends React.Component { const result = reader.result as string; const editorState: IEditorState = JSON.parse(result); - this.LoadState(editorState); + Revive(editorState); + + this.setState({ + configuration: editorState.configuration, + history: editorState.history, + historyCurrentStep: editorState.historyCurrentStep, + isLoaded: true + } as IAppState); }); reader.readAsText(file); } - private LoadState(editorState: IEditorState) { - Revive(editorState); - - this.setState({ - configuration: editorState.configuration, - history: editorState.history, - historyCurrentStep: editorState.historyCurrentStep, - isLoaded: true - } as IAppState); - } - public render() { if (this.state.isLoaded) { return ( diff --git a/src/tests/resources/state.json b/src/tests/resources/state.json deleted file mode 100644 index 2152cd1..0000000 --- a/src/tests/resources/state.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "isSidebarOpen": true, - "isElementsSidebarOpen": false, - "isHistoryOpen": false, - "configuration": { - "AvailableContainers": [ - { - "Type": "Chassis", - "Width": 500, - "Style": { - "fillOpacity": 0, - "borderWidth": 2, - "stroke": "red" - } - }, - { - "Type": "Trou", - "Width": 300, - "Style": { - "fillOpacity": 0, - "borderWidth": 2, - "stroke": "green" - } - }, - { - "Type": "Montant", - "Width": 100, - "Style": { - "fillOpacity": 0, - "borderWidth": 2, - "stroke": "blue", - "transform": "translateX(-50%)", - "transformOrigin": "center", - "transformBox": "fill-box" - } - } - ], - "AvailableSymbols": [ - { - "Height": 0, - "Image": { - "Base64Image": null, - "Name": null, - "Svg": null, - "Url": "https://www.manutan.fr/img/S/GRP/ST/AIG3930272.jpg" - }, - "Name": "Poteau structure", - "Width": 0, - "XPositionReference": 1 - }, - { - "Height": 0, - "Image": { - "Base64Image": null, - "Name": null, - "Svg": null, - "Url": "https://e7.pngegg.com/pngimages/647/127/png-clipart-svg-working-group-information-world-wide-web-internet-structure.png" - }, - "Name": "Joint de structure", - "Width": 0, - "XPositionReference": 0 - } - ], - "MainContainer": { - "Height": 200, - "Width": 1000 - } - }, - "history": [ - { - "MainContainer": { - "children": [], - "properties": { - "id": "main", - "parentId": "null", - "x": 0, - "y": 0, - "width": 1000, - "height": 200, - "fillOpacity": 0, - "stroke": "black" - }, - "userData": {} - }, - "TypeCounters": {} - }, - { - "MainContainer": { - "children": [ - { - "children": [], - "properties": { - "id": "Chassis-0", - "parentId": "main", - "x": 0, - "y": 0, - "width": 500, - "height": 200, - "fillOpacity": 0, - "borderWidth": 2, - "stroke": "red" - }, - "userData": { - "type": "Chassis" - } - } - ], - "properties": { - "id": "main", - "parentId": "null", - "x": 0, - "y": 0, - "width": 1000, - "height": 200, - "fillOpacity": 0, - "stroke": "black" - }, - "userData": {} - }, - "TypeCounters": { - "Chassis": 0 - }, - "SelectedContainerId": "main" - }, - { - "MainContainer": { - "children": [ - { - "children": [], - "properties": { - "id": "Chassis-0", - "parentId": "main", - "x": 0, - "y": 0, - "width": 500, - "height": 200, - "fillOpacity": 0, - "borderWidth": 2, - "stroke": "red" - }, - "userData": { - "type": "Chassis" - } - }, - { - "children": [], - "properties": { - "id": "Chassis-1", - "parentId": "main", - "x": 500, - "y": 0, - "width": 500, - "height": 200, - "fillOpacity": 0, - "borderWidth": 2, - "stroke": "red" - }, - "userData": { - "type": "Chassis" - } - } - ], - "properties": { - "id": "main", - "parentId": "null", - "x": 0, - "y": 0, - "width": 1000, - "height": 200, - "fillOpacity": 0, - "stroke": "black" - }, - "userData": {} - }, - "TypeCounters": { - "Chassis": 1 - }, - "SelectedContainerId": "main" - } - ], - "historyCurrentStep": 2 -} \ No newline at end of file