aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/TreeView.tsx
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2024-01-03 23:44:28 -0500
committerbobzel <zzzman@gmail.com>2024-01-03 23:44:28 -0500
commit2ea594a4c1ff221200e0795fb07d30b603177a67 (patch)
treeb1f8869320a460b88e7a832f6679b9fdb84e6e28 /src/client/views/collections/TreeView.tsx
parent3f7b73ee8a3f75cd688ee7ddc7b54d90b00bee67 (diff)
cleaned up screenToLocalTransform in several places by making it additional methods. cleaned up styleProider api a bit to take DocumentViewInternalProps, not DocumentViewProps..
Diffstat (limited to 'src/client/views/collections/TreeView.tsx')
-rw-r--r--src/client/views/collections/TreeView.tsx18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/client/views/collections/TreeView.tsx b/src/client/views/collections/TreeView.tsx
index f2ceaa681..01b80e209 100644
--- a/src/client/views/collections/TreeView.tsx
+++ b/src/client/views/collections/TreeView.tsx
@@ -27,7 +27,7 @@ import { UndoManager, undoBatch, undoable } from '../../util/UndoManager';
import { EditableView } from '../EditableView';
import { ObservableReactComponent } from '../ObservableReactComponent';
import { StyleProp } from '../StyleProvider';
-import { DocumentView, DocumentViewInternal, DocumentViewProps, OpenWhere, StyleProviderFunc } from '../nodes/DocumentView';
+import { DocumentView, DocumentViewInternal, DocumentViewInternalProps, DocumentViewProps, OpenWhere, StyleProviderFunc } from '../nodes/DocumentView';
import { FieldViewProps } from '../nodes/FieldView';
import { KeyValueBox } from '../nodes/KeyValueBox';
import { FormattedTextBox } from '../nodes/formattedText/FormattedTextBox';
@@ -172,6 +172,8 @@ export class TreeView extends ObservableReactComponent<TreeViewProps> {
return this._docRef?.IsSelected;
}
+ ScreenToLocalTransform = () => this._props.ScreenToLocalTransform();
+
childDocList(field: string) {
const layout = Cast(Doc.LayoutField(this.Document), Doc, null);
return DocListCast(this._props.dataDoc?.[field], DocListCast(layout?.[field], DocListCast(this.Document[field])));
@@ -447,11 +449,11 @@ export class TreeView extends ObservableReactComponent<TreeViewProps> {
}
refTransform = (ref: HTMLDivElement | undefined | null) => {
- if (!ref) return this._props.ScreenToLocalTransform();
+ if (!ref) return this.ScreenToLocalTransform();
const { scale, translateX, translateY } = Utils.GetScreenTransform(ref);
const outerXf = Utils.GetScreenTransform(this.treeView.MainEle());
- const offset = this._props.ScreenToLocalTransform().transformDirection(outerXf.translateX - translateX, outerXf.translateY - translateY);
- return this._props.ScreenToLocalTransform().translate(offset[0], offset[1]);
+ const offset = this.ScreenToLocalTransform().transformDirection(outerXf.translateX - translateX, outerXf.translateY - translateY);
+ return this.ScreenToLocalTransform().translate(offset[0], offset[1]);
};
docTransform = () => this.refTransform(this._dref?.ContentRef?.current);
getTransform = () => this.refTransform(this._tref.current);
@@ -511,7 +513,7 @@ export class TreeView extends ObservableReactComponent<TreeViewProps> {
this._props.dragAction,
this._props.addDocTab,
this.titleStyleProvider,
- this._props.ScreenToLocalTransform,
+ this.ScreenToLocalTransform,
this._props.isContentActive,
expandedWidth,
this._props.renderDepth,
@@ -671,7 +673,7 @@ export class TreeView extends ObservableReactComponent<TreeViewProps> {
StrCast(this.Document.childDragAction, this._props.dragAction) as dropActionType,
this._props.addDocTab,
this.titleStyleProvider,
- this._props.ScreenToLocalTransform,
+ this.ScreenToLocalTransform,
this._props.isContentActive,
this._props.panelWidth,
this._props.renderDepth,
@@ -865,7 +867,7 @@ export class TreeView extends ObservableReactComponent<TreeViewProps> {
e.preventDefault();
}
};
- titleStyleProvider = (doc: Doc | undefined, props: Opt<DocumentViewProps>, property: string): any => {
+ titleStyleProvider = (doc: Doc | undefined, props: Opt<DocumentViewInternalProps | FieldViewProps>, property: string): any => {
if (!doc || doc !== this.Document) return this._props?.treeView?._props.styleProvider?.(doc, props, property); // properties are inherited from the CollectionTreeView, not the hierarchical parent in the treeView
const treeView = this.treeView;
@@ -897,7 +899,7 @@ export class TreeView extends ObservableReactComponent<TreeViewProps> {
}
return treeView._props.styleProvider?.(doc, props, property);
};
- embeddedStyleProvider = (doc: Doc | undefined, props: Opt<DocumentViewProps>, property: string): any => {
+ embeddedStyleProvider = (doc: Doc | undefined, props: Opt<DocumentViewInternalProps | FieldViewProps>, property: string): any => {
if (property.startsWith(StyleProp.Decorations)) return null;
return this._props?.treeView?._props.styleProvider?.(doc, props, property); // properties are inherited from the CollectionTreeView, not the hierarchical parent in the treeView
};