aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/CollectionView.tsx
diff options
context:
space:
mode:
authorbob <bcz@cs.brown.edu>2019-06-20 17:46:56 -0400
committerbob <bcz@cs.brown.edu>2019-06-20 17:46:56 -0400
commite495d4e32402384dbf7bb72945e83c912fce892b (patch)
treee063f397de53788a969bce5196d2c14d7bf14eff /src/client/views/collections/CollectionView.tsx
parent46a2a9e1f10b63feeb21a1e186daeaef2ccbcda4 (diff)
first shot at templates...
Diffstat (limited to 'src/client/views/collections/CollectionView.tsx')
-rw-r--r--src/client/views/collections/CollectionView.tsx37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/client/views/collections/CollectionView.tsx b/src/client/views/collections/CollectionView.tsx
index 68eefab4c..6d3301ce4 100644
--- a/src/client/views/collections/CollectionView.tsx
+++ b/src/client/views/collections/CollectionView.tsx
@@ -14,6 +14,10 @@ import { CollectionFreeFormView } from './collectionFreeForm/CollectionFreeFormV
import { CollectionSchemaView } from "./CollectionSchemaView";
import { CollectionStackingView } from './CollectionStackingView';
import { CollectionTreeView } from "./CollectionTreeView";
+import { Doc } from '../../../new_fields/Doc';
+import { FormattedTextBox } from '../nodes/FormattedTextBox';
+import { Docs } from '../../documents/Documents';
+import { List } from '../../../new_fields/List';
export const COLLECTION_BORDER_WIDTH = 2;
library.add(faTh);
@@ -54,6 +58,39 @@ export class CollectionView extends React.Component<FieldViewProps> {
subItems.push({ description: "Treeview", event: undoBatch(() => this.props.Document.viewType = CollectionViewType.Tree), icon: "tree" });
subItems.push({ description: "Stacking", event: undoBatch(() => this.props.Document.viewType = CollectionViewType.Stacking), icon: "th-list" });
ContextMenu.Instance.addItem({ description: "View Modes...", subitems: subItems });
+ ContextMenu.Instance.addItem({
+ description: "Add Description Template", event: undoBatch(() => {
+ Doc.GetProto(this.props.Document).description = "my first templated box";
+ let template = Doc.MakeAlias(this.props.Document);
+ template.layout = FormattedTextBox.LayoutString("description");
+ template.x = 0;
+ template.y = 0;
+ template.width = 100;
+ template.height = 25;
+ Doc.AddDocToList(this.props.Document, "data", template);
+ }), icon: "project-diagram"
+ });
+ ContextMenu.Instance.addItem({
+ description: "Add Summary Template", event: undoBatch(() => {
+ Doc.GetProto(this.props.Document).summary = "my first templated box";
+ let template = Doc.MakeAlias(this.props.Document);
+ template.layout = FormattedTextBox.LayoutString("summary");
+ template.x = 0;
+ template.y = 0;
+ template.width = 100;
+ template.height = 25;
+ Doc.AddDocToList(this.props.Document, "data", template);
+ }), icon: "project-diagram"
+ });
+ ContextMenu.Instance.addItem({
+ description: "Apply Template", event: undoBatch(() => {
+ let otherdoc = Docs.TextDocument({ width: 100, height: 50, title: "applied template" });
+ Doc.GetProto(otherdoc).description = "THIS DESCRIPTION IS REALLY IMPORTANT!";
+ Doc.GetProto(otherdoc).summary = "THIS SUMMARY IS MEANINGFUL!";
+ Doc.GetProto(otherdoc).layout = this.props.Document;
+ this.props.addDocTab && this.props.addDocTab(otherdoc, "onRight");
+ }), icon: "project-diagram"
+ });
}
}