aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/CollectionSchemaCells.tsx
diff options
context:
space:
mode:
authoranika-ahluwalia <anika.ahluwalia@gmail.com>2020-06-28 02:31:02 -0500
committeranika-ahluwalia <anika.ahluwalia@gmail.com>2020-06-28 02:31:02 -0500
commitfd613140e169912f44966fdc6f25fafd85bae7a1 (patch)
treea06a69a10db950a68879acb2b9975fb21bbd1eae /src/client/views/collections/CollectionSchemaCells.tsx
parentaf7b4994fa97a2aee0a2e90b30d21d4b030bd2b7 (diff)
started adding date types
Diffstat (limited to 'src/client/views/collections/CollectionSchemaCells.tsx')
-rw-r--r--src/client/views/collections/CollectionSchemaCells.tsx49
1 files changed, 48 insertions, 1 deletions
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";
@@ -341,6 +346,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 {
_overlayDisposer?: () => void;