From d192242065ee35ca922c1433a5ea5eb83422261c Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sat, 27 Jun 2020 17:03:30 +0200 Subject: building... --- .../frontend/views/align/align.actions.js | 5 + .../frontend/views/align/align.container.js | 36 +++++ animism-align/frontend/views/align/align.css | 38 +++++ .../frontend/views/align/align.reducer.js | 17 +++ animism-align/frontend/views/index.js | 4 +- .../frontend/views/index/components/graph.form.js | 153 --------------------- .../frontend/views/index/containers/graph.edit.js | 53 ------- .../frontend/views/index/containers/graph.index.js | 53 ------- .../frontend/views/index/containers/graph.new.js | 44 ------ .../frontend/views/index/index.container.js | 36 ----- animism-align/frontend/views/index/index.css | 38 ----- .../views/paragraph/components/paragraph.form.js | 153 +++++++++++++++++++++ .../views/paragraph/containers/paragraph.edit.js | 53 +++++++ .../views/paragraph/containers/paragraph.index.js | 53 +++++++ .../views/paragraph/containers/paragraph.new.js | 44 ++++++ .../frontend/views/paragraph/paragraph.reducer.js | 20 +++ animism-align/frontend/views/site/site.actions.js | 9 ++ animism-align/frontend/views/site/site.reducer.js | 12 ++ .../views/timestamp/components/timestamp.form.js | 153 +++++++++++++++++++++ .../views/timestamp/containers/timestamp.edit.js | 53 +++++++ .../views/timestamp/containers/timestamp.index.js | 53 +++++++ .../views/timestamp/containers/timestamp.new.js | 44 ++++++ .../frontend/views/timestamp/timestamp.reducer.js | 20 +++ 23 files changed, 764 insertions(+), 380 deletions(-) create mode 100644 animism-align/frontend/views/align/align.actions.js create mode 100644 animism-align/frontend/views/align/align.container.js create mode 100644 animism-align/frontend/views/align/align.css create mode 100644 animism-align/frontend/views/align/align.reducer.js delete mode 100644 animism-align/frontend/views/index/components/graph.form.js delete mode 100644 animism-align/frontend/views/index/containers/graph.edit.js delete mode 100644 animism-align/frontend/views/index/containers/graph.index.js delete mode 100644 animism-align/frontend/views/index/containers/graph.new.js delete mode 100644 animism-align/frontend/views/index/index.container.js delete mode 100644 animism-align/frontend/views/index/index.css create mode 100644 animism-align/frontend/views/paragraph/components/paragraph.form.js create mode 100644 animism-align/frontend/views/paragraph/containers/paragraph.edit.js create mode 100644 animism-align/frontend/views/paragraph/containers/paragraph.index.js create mode 100644 animism-align/frontend/views/paragraph/containers/paragraph.new.js create mode 100644 animism-align/frontend/views/paragraph/paragraph.reducer.js create mode 100644 animism-align/frontend/views/timestamp/components/timestamp.form.js create mode 100644 animism-align/frontend/views/timestamp/containers/timestamp.edit.js create mode 100644 animism-align/frontend/views/timestamp/containers/timestamp.index.js create mode 100644 animism-align/frontend/views/timestamp/containers/timestamp.new.js create mode 100644 animism-align/frontend/views/timestamp/timestamp.reducer.js (limited to 'animism-align/frontend/views') diff --git a/animism-align/frontend/views/align/align.actions.js b/animism-align/frontend/views/align/align.actions.js new file mode 100644 index 0000000..10dec44 --- /dev/null +++ b/animism-align/frontend/views/align/align.actions.js @@ -0,0 +1,5 @@ +import * as types from '../../types' +import { store, history } from '../../store' +import { api, post, pad, preloadImage } from '../../util' +import actions from '../../actions' +import { session } from '../../session' diff --git a/animism-align/frontend/views/align/align.container.js b/animism-align/frontend/views/align/align.container.js new file mode 100644 index 0000000..af966c5 --- /dev/null +++ b/animism-align/frontend/views/align/align.container.js @@ -0,0 +1,36 @@ +import React, { Component } from 'react' +import { Route } from 'react-router-dom' +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import './align.css' + +import actions from '../../actions' +import { Header } from '../../common' +// import * as uploadActions from './upload.actions' + +// import GraphIndex from './containers/graph.index' +// import GraphNew from './containers/graph.new' +// import GraphEdit from './containers/graph.edit' + +class Container extends Component { + componentDidMount() { + } + render() { + return ( +
+
+
+
+
+
+
+ ) + } +} + +export default Container + + // + // + // diff --git a/animism-align/frontend/views/align/align.css b/animism-align/frontend/views/align/align.css new file mode 100644 index 0000000..028f6c2 --- /dev/null +++ b/animism-align/frontend/views/align/align.css @@ -0,0 +1,38 @@ +* { + +} +.index { + width: 100%; + height: 100%; + background: linear-gradient( + -45deg, + rgba(0, 0, 64, 0.5), + rgba(128, 0, 64, 0.5) + ); + padding: 1rem; +} +.index > div { + display: inline-block; + padding: 1rem; + max-height: calc(100% - 2rem); + overflow: scroll; + background: rgba(64,12,64,0.9); + box-shadow: 3px 3px 6px rgba(0,0,0,0.4), + inset 0 0 60px rgba(128,255,255,0.1); +} +.graphIndex { + min-width: 20rem; + display: flex; + flex-direction: column; +} +.graphIndex > * { + margin-bottom: 0.5rem; +} +.graphIndex > div { + display: flex; + flex-direction: row; + justify-content: space-between +} +.graphIndex > div > a:first-child { + color: #fff; +} \ No newline at end of file diff --git a/animism-align/frontend/views/align/align.reducer.js b/animism-align/frontend/views/align/align.reducer.js new file mode 100644 index 0000000..d1e8889 --- /dev/null +++ b/animism-align/frontend/views/align/align.reducer.js @@ -0,0 +1,17 @@ +import * as types from '../../types' +import { session, getDefault, getDefaultInt } from '../../session' + +import { crudState, crudReducer } from '../../api/crud.reducer' + +const initialState = { + options: { + } +} + +export default function alignReducer(state = initialState, action) { + // console.log(action.type, action) + switch (action.type) { + default: + return state + } +} diff --git a/animism-align/frontend/views/index.js b/animism-align/frontend/views/index.js index c50ab80..9af42ce 100644 --- a/animism-align/frontend/views/index.js +++ b/animism-align/frontend/views/index.js @@ -1,4 +1,2 @@ -export { default as index } from './index/index.container' -export { default as graph } from './graph/graph.container' -export { default as page } from './page/page.container' +export { default as align } from './align/align.container' export { default as upload } from './upload/upload.container' diff --git a/animism-align/frontend/views/index/components/graph.form.js b/animism-align/frontend/views/index/components/graph.form.js deleted file mode 100644 index d90b663..0000000 --- a/animism-align/frontend/views/index/components/graph.form.js +++ /dev/null @@ -1,153 +0,0 @@ -import React, { Component } from 'react' -import { Link } from 'react-router-dom' - -import { session } from '../../../session' - -import { TextInput, LabelDescription, TextArea, Checkbox, SubmitButton, Loader } from '../../../common' - -const newGraph = () => ({ - path: '', - title: '', - username: session('username'), - description: '', -}) - -export default class GraphForm extends Component { - state = { - title: "", - submitTitle: "", - data: { ...newGraph() }, - errorFields: new Set([]), - } - - componentDidMount() { - const { data, isNew } = this.props - const title = isNew ? 'new project' : 'editing ' + data.title - const submitTitle = isNew ? "Create Graph" : "Save Changes" - this.setState({ - title, - submitTitle, - errorFields: new Set([]), - data: { - ...newGraph(), - ...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, - } - }) - } - - handleSubmit(e) { - e.preventDefault() - const { isNew, onSubmit } = this.props - const { data } = this.state - const requiredKeys = "title username path description".split(" ") - const validKeys = "title username path description".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 graph - session.set('username', data.username) - } else { - validData.id = data.id - } - console.log('submit', validData) - onSubmit(validData) - } - } - - render() { - const { isNew } = this.props - const { title, submitTitle, errorFields, data } = this.state - return ( -
-

{title}

-
- - - {data.path - ? 'Project URLs will be: /' + data.path + '/example' - : 'Enter the base path for this project.'} - - - -