From bec89018d0ee73a8abaa5e01f2262bd95bc687f7 Mon Sep 17 00:00:00 2001
From: bob <bcz@cs.brown.edu>
Date: Thu, 17 Jan 2019 16:56:03 -0500
Subject: added collectionfreeformview

---
 src/views/nodes/FieldTextBox.tsx | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

(limited to 'src/views/nodes/FieldTextBox.tsx')

diff --git a/src/views/nodes/FieldTextBox.tsx b/src/views/nodes/FieldTextBox.tsx
index 4615940bd..5df3e6012 100644
--- a/src/views/nodes/FieldTextBox.tsx
+++ b/src/views/nodes/FieldTextBox.tsx
@@ -11,15 +11,27 @@ interface IProps {
     test:string;
 }
 
+// FieldTextBox: Displays an editable plain text node that maps to a specified Key of a Document
+//
+//  HTML Markup:  <FieldTextBox Doc={Document's ID} FieldKey={Key's name + "Key"}
+// 
+//  In Code, the node's HTML is specified in the document's parameterized structure as:
+//        document.SetField(KeyStore.Layout,  "<FieldTextBox doc={doc} fieldKey={<KEYNAME>Key} />");
+//  and the node's binding to the specified document KEYNAME as:
+//        document.SetField(KeyStore.LayoutKeys, new ListField([KeyStore.<KEYNAME>]));
+//  The Jsx parser at run time will bind:
+//        'fieldKey' property to the Key stored in LayoutKeys
+//    and 'doc' property to the document that is being rendered
+//
+//  When rendered() by React, this extracts the TextController from the Document stored at the 
+//  specified Key and assigns it to an HTML input node.  When changes are made tot his node, 
+//  this will edit the document and assign the new value to that field.
+//
 @observer
 export class FieldTextBox extends React.Component<IProps, IProps> {
-    readonly doc:Document;
-    readonly fieldKey:Key;
 
     constructor(props:IProps) {
         super(props);
-        this.doc = props.doc;
-        this.fieldKey = props.fieldKey;
         this.onChange = this.onChange.bind(this);
     }
 
-- 
cgit v1.2.3-70-g09d2

