aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/DocumentView.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/nodes/DocumentView.tsx')
-rw-r--r--src/client/views/nodes/DocumentView.tsx71
1 files changed, 37 insertions, 34 deletions
diff --git a/src/client/views/nodes/DocumentView.tsx b/src/client/views/nodes/DocumentView.tsx
index 5ed49185b..dc048843f 100644
--- a/src/client/views/nodes/DocumentView.tsx
+++ b/src/client/views/nodes/DocumentView.tsx
@@ -45,57 +45,60 @@ import React = require("react");
export type DocAfterFocusFunc = (notFocused: boolean) => boolean;
export type DocFocusFunc = (doc: Doc, willZoom?: boolean, scale?: number, afterFocus?: DocAfterFocusFunc, dontCenter?: boolean, focused?: boolean) => void;
-export interface DocumentViewProps {
+export interface DocumentViewSharedProps {
ContainingCollectionView: Opt<CollectionView>;
ContainingCollectionDoc: Opt<Doc>;
- docFilters: () => string[];
+ Document: Doc;
+ DataDoc?: Doc;
contentsActive?: (setActive: () => boolean) => void;
+ onClick?: () => ScriptField;
+ dropAction?: dropActionType;
+ backgroundHalo?: (doc: Doc) => boolean;
+ docFilters: () => string[];
docRangeFilters: () => string[];
searchFilterDocs: () => Doc[];
- FreezeDimensions?: boolean;
+ rootSelected: (outsideReaction?: boolean) => boolean; // whether the root of a template has been selected
+ renderDepth: number;
+ addDocTab: (doc: Doc, where: string) => boolean;
+ addDocument?: (doc: Doc | Doc[]) => boolean;
+ removeDocument?: (doc: Doc | Doc[]) => boolean;
+ moveDocument?: (doc: Doc | Doc[], targetCollection: Doc | undefined, addDocument: (document: Doc | Doc[]) => boolean) => boolean;
+ pinToPres: (document: Doc) => void;
+ layerProvider?: (doc: Doc, assign?: boolean) => boolean;
+ styleProvider?: (doc: Opt<Doc>, props: DocumentViewProps, property: string) => any;
+ ScreenToLocalTransform: () => Transform;
+ bringToFront: (doc: Doc, sendToBack?: boolean) => void;
+ parentActive: (outsideReaction: boolean) => boolean;
+ whenActiveChanged: (isActive: boolean) => void;
+ LayoutTemplateString?: string;
+ dontRegisterView?: boolean;
+ focus: DocFocusFunc;
+ ignoreAutoHeight?: boolean;
+ PanelWidth: () => number;
+ PanelHeight: () => number;
NativeWidth?: () => number;
NativeHeight?: () => number;
- Document: Doc;
- DataDoc?: Doc;
- layerProvider?: (doc: Doc, assign?: boolean) => boolean;
+ ContentScaling: () => number;
+ ChromeHeight?: () => number;
+ pointerEvents?: string;
+}
+export interface DocumentViewProps extends DocumentViewSharedProps {
+ // properties specific to DocumentViews but not to FieldView
+ FreezeDimensions?: boolean;
+ fitToBox?: boolean;
+ treeViewDoc?: Doc;
+ dragDivName?: string;
+ contentsPointerEvents?: string;
getView?: (view: DocumentView) => any;
- LayoutTemplateString?: string;
LayoutTemplate?: () => Opt<Doc>;
- fitToBox?: boolean;
- ignoreAutoHeight?: boolean;
contextMenuItems?: () => { script: ScriptField, label: string }[];
- rootSelected: (outsideReaction?: boolean) => boolean; // whether the root of a template has been selected
- onClick?: () => ScriptField;
onDoubleClick?: () => ScriptField;
onPointerDown?: () => ScriptField;
onPointerUp?: () => ScriptField;
- treeViewDoc?: Doc;
- dropAction?: dropActionType;
- dragDivName?: string;
nudge?: (x: number, y: number) => void;
- addDocument?: (doc: Doc | Doc[]) => boolean;
- removeDocument?: (doc: Doc | Doc[]) => boolean;
- moveDocument?: (doc: Doc | Doc[], targetCollection: Doc | undefined, addDocument: (document: Doc | Doc[]) => boolean) => boolean;
- ScreenToLocalTransform: () => Transform;
setupDragLines?: (snapToDraggedDoc: boolean) => void;
- renderDepth: number;
- ContentScaling: () => number;
- PanelWidth: () => number;
- PanelHeight: () => number;
- pointerEvents?: string;
- contentsPointerEvents?: string;
- focus: DocFocusFunc;
- parentActive: (outsideReaction: boolean) => boolean;
- whenActiveChanged: (isActive: boolean) => void;
- bringToFront: (doc: Doc, sendToBack?: boolean) => void;
- addDocTab: (doc: Doc, where: string) => boolean;
- pinToPres: (document: Doc) => void;
- backgroundHalo?: (doc: Doc) => boolean;
- styleProvider?: (doc: Opt<Doc>, props: DocumentViewProps, property: string) => any;
forceHideLinkButton?: () => boolean;
opacity?: () => number | undefined;
- ChromeHeight?: () => number;
- dontRegisterView?: boolean;
layoutKey?: string;
radialMenu?: String[];
display?: string;