diff options
author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-02-09 19:13:24 -0500 |
---|---|---|
committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-02-09 19:13:24 -0500 |
commit | 11134bc5ce01d0a025d311a4f83e67ff6e63ce1c (patch) | |
tree | e401d8004481b3d664c751ae2e668c72b6be7aac /src/views/nodes/FieldView.tsx | |
parent | c06745a99ed85b215d0ae48bfb2af7c955f0b016 (diff) |
Moved client code to client folder
Diffstat (limited to 'src/views/nodes/FieldView.tsx')
-rw-r--r-- | src/views/nodes/FieldView.tsx | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/views/nodes/FieldView.tsx b/src/views/nodes/FieldView.tsx deleted file mode 100644 index 3a7652284..000000000 --- a/src/views/nodes/FieldView.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React = require("react") -import { Document } from "../../fields/Document"; -import { observer } from "mobx-react"; -import { computed } from "mobx"; -import { Field, Opt, FieldWaiting, FieldValue } from "../../fields/Field"; -import { TextField } from "../../fields/TextField"; -import { NumberField } from "../../fields/NumberField"; -import { RichTextField } from "../../fields/RichTextField"; -import { FormattedTextBox } from "./FormattedTextBox"; -import { ImageField } from "../../fields/ImageField"; -import { ImageBox } from "./ImageBox"; -import { Key } from "../../fields/Key"; -import { DocumentView } from "./DocumentView"; - -// -// these properties get assigned through the render() method of the DocumentView when it creates this node. -// However, that only happens because the properties are "defined" in the markup for the field view. -// See the LayoutString method on each field view : ImageBox, FormattedTextBox, etc. -// -export interface FieldViewProps { - fieldKey: Key; - doc: Document; - DocumentViewForField: Opt<DocumentView> -} - -@observer -export class FieldView extends React.Component<FieldViewProps> { - public static LayoutString(fieldType: string) { return `<${fieldType} doc={Document} DocumentViewForField={DocumentView} fieldKey={DataKey} />`; } - @computed - get field(): FieldValue<Field> { - const { doc, fieldKey } = this.props; - return doc.Get(fieldKey); - } - render() { - const field = this.field; - if (!field) { - return <p>{'<null>'}</p> - } - if (field instanceof TextField) { - return <p>{field.Data}</p> - } - else if (field instanceof RichTextField) { - return <FormattedTextBox {...this.props} /> - } - else if (field instanceof ImageField) { - return <ImageBox {...this.props} /> - } - else if (field instanceof NumberField) { - return <p>{field.Data}</p> - } else if (field != FieldWaiting) { - return <p>{field.GetValue}</p> - } else - return <p> {"Waiting for server..."} </p> - } - -}
\ No newline at end of file |