From a17b76ac75f506f5da6fe8adf9c36632b60d4226 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sat, 26 Sep 2020 14:56:02 +0200 Subject: refactor to use app-rooted js imports --- frontend/views/graph/components/page.form.js | 185 --------------------------- 1 file changed, 185 deletions(-) delete mode 100644 frontend/views/graph/components/page.form.js (limited to 'frontend/views/graph/components/page.form.js') diff --git a/frontend/views/graph/components/page.form.js b/frontend/views/graph/components/page.form.js deleted file mode 100644 index 38fee18..0000000 --- a/frontend/views/graph/components/page.form.js +++ /dev/null @@ -1,185 +0,0 @@ -import React, { Component } from 'react' -import { Link } from 'react-router-dom' - -import { session } from '../../../session' - -import { TextInput, ColorInput, LabelDescription, TextArea, Checkbox, SubmitButton, Loader } from '../../../common' - -const newPage = (data) => ({ - path: '', - title: '', - username: session('username'), - description: '', - settings: { - x: 0.05, - y: 0.05, - background_color: '#000000', - }, - ...data, -}) - -export default class PageForm extends Component { - state = { - title: "", - submitTitle: "", - data: { ...newPage() }, - errorFields: new Set([]), - } - - componentDidMount() { - const { graph, data, isNew } = this.props - const title = isNew ? 'new page' : 'editing ' + data.title - const submitTitle = isNew ? "Create Page" : "Save Changes" - this.setState({ - title, - submitTitle, - errorFields: new Set([]), - data: { - ...newPage({ graph_id: graph.id }), - ...data, - }, - }) - } - - handleChange(e) { - const { errorFields } = this.state - const { name, value } = e.target - if (errorFields.has(name)) { - errorFields.delete(name) - } - let sanitizedValue = value - if (name === 'path') { - sanitizedValue = sanitizedValue.toLowerCase().replace(/ /, '-').replace(/[!@#$%^&*()[\]{}]/, '-').replace(/-+/, '-') - } - this.setState({ - errorFields, - data: { - ...this.state.data, - [name]: sanitizedValue, - } - }) - } - - handleSelect(name, value) { - const { errorFields } = this.state - if (errorFields.has(name)) { - errorFields.delete(name) - } - this.setState({ - errorFields, - data: { - ...this.state.data, - [name]: value, - } - }) - } - - handleSettingsChange(e) { - const { name, value } = e.target - this.setState({ - data: { - ...this.state.data, - settings: { - ...this.state.data.settings, - [name]: value, - } - } - }) - } - - handleSubmit(e) { - e.preventDefault() - const { isNew, onSubmit } = this.props - const { data } = this.state - const requiredKeys = "path title".split(" ") - const validKeys = "graph_id path title username description settings".split(" ") - const validData = validKeys.reduce((a,b) => { a[b] = data[b]; return a }, {}) - const errorFields = requiredKeys.filter(key => !validData[key]) - if (errorFields.length) { - console.log('error', errorFields, validData) - this.setState({ errorFields: new Set(errorFields) }) - } else { - if (isNew) { - // side effect: set username if we're creating a new page - // session.set('username', data.username) - } else { - validData.id = data.id - } - console.log('submit', validData) - onSubmit(validData) - } - } - - handleDelete() { - const { data } = this.state - console.log(data) - if (confirm('Really delete this page?')) { - actions.page.delete(page_id) - } - } - - render() { - const { graph, isNew } = this.props - const { title, submitTitle, errorFields, data } = this.state - return ( -
-

{title}

-
- - - {'Page URL: /' + graph.path + '/'}{data.path} - - - -