From fd613140e169912f44966fdc6f25fafd85bae7a1 Mon Sep 17 00:00:00 2001
From: anika-ahluwalia <anika.ahluwalia@gmail.com>
Date: Sun, 28 Jun 2020 02:31:02 -0500
Subject: started adding date types

---
 .../views/collections/CollectionSchemaCells.tsx    | 49 +++++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

(limited to 'src/client/views/collections/CollectionSchemaCells.tsx')

diff --git a/src/client/views/collections/CollectionSchemaCells.tsx b/src/client/views/collections/CollectionSchemaCells.tsx
index 593962e73..0a2c538c2 100644
--- a/src/client/views/collections/CollectionSchemaCells.tsx
+++ b/src/client/views/collections/CollectionSchemaCells.tsx
@@ -16,7 +16,7 @@ import { EditableView } from "../EditableView";
 import { FieldView, FieldViewProps } from "../nodes/FieldView";
 import "./CollectionSchemaView.scss";
 import { CollectionView, Flyout } from "./CollectionView";
-import { NumCast, StrCast, BoolCast, FieldValue, Cast } from "../../../fields/Types";
+import { NumCast, StrCast, BoolCast, FieldValue, Cast, DateCast } from "../../../fields/Types";
 import { Docs } from "../../documents/Documents";
 import { library } from '@fortawesome/fontawesome-svg-core';
 import { faExpand } from '@fortawesome/free-solid-svg-icons';
@@ -32,6 +32,8 @@ import { DocumentIconContainer } from "../nodes/DocumentIcon";
 import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
 import { ContentFittingDocumentView } from "../nodes/ContentFittingDocumentView";
 import ReactDOM from "react-dom";
+import DatePicker from "react-datepicker";
+import "react-datepicker/dist/react-datepicker.css";
 const path = require('path');
 
 library.add(faExpand);
@@ -225,6 +227,9 @@ export class CollectionSchemaCell extends React.Component<CellProps> {
         if (type === "list") {
             contents = typeof field === "object" ? doc ? StrCast(field) === "" ? "--" : StrCast(field) : `--${typeof field}--` : `--${typeof field}--`;
         }
+        if (type === "date") {
+            contents = typeof field === "object" ? doc ? StrCast(field) === "" ? "--" : StrCast(field) : `--${typeof field}--` : `--${typeof field}--`;
+        }
 
 
         let className = "collectionSchemaView-cellWrapper";
@@ -340,6 +345,48 @@ export class CollectionSchemaStringCell extends CollectionSchemaCell {
     }
 }
 
+@observer
+export class CollectionSchemaDateCell extends CollectionSchemaCell {
+    private prop: FieldViewProps = {
+        Document: this.props.rowProps.original,
+        DataDoc: this.props.rowProps.original,
+        LibraryPath: [],
+        dropAction: "alias",
+        bringToFront: emptyFunction,
+        rootSelected: returnFalse,
+        fieldKey: this.props.rowProps.column.id as string,
+        ContainingCollectionView: this.props.CollectionView,
+        ContainingCollectionDoc: this.props.CollectionView && this.props.CollectionView.props.Document,
+        isSelected: returnFalse,
+        select: emptyFunction,
+        renderDepth: this.props.renderDepth + 1,
+        ScreenToLocalTransform: Transform.Identity,
+        focus: emptyFunction,
+        active: returnFalse,
+        whenActiveChanged: emptyFunction,
+        PanelHeight: returnZero,
+        PanelWidth: returnZero,
+        NativeHeight: returnZero,
+        NativeWidth: returnZero,
+        addDocTab: this.props.addDocTab,
+        pinToPres: this.props.pinToPres,
+        ContentScaling: returnOne,
+        docFilters: returnEmptyFilter
+    };
+    @observable private _field = this.prop.Document[this.prop.fieldKey];
+
+    handleChange = (date: any) => {
+        this.prop.Document[this.prop.fieldKey] = date;
+    }
+
+    render() {
+        return <DatePicker
+            selected={Cast(this.prop.Document[this.prop.fieldKey], Date)}
+            onChange={this.handleChange}
+        />;
+    }
+}
+
 @observer
 export class CollectionSchemaDocCell extends CollectionSchemaCell {
 
-- 
cgit v1.2.3-70-g09d2

