aboutsummaryrefslogtreecommitdiff
path: root/src/new_fields/util.ts
diff options
context:
space:
mode:
authorbob <bcz@cs.brown.edu>2020-02-07 15:17:16 -0500
committerbob <bcz@cs.brown.edu>2020-02-07 15:17:16 -0500
commit87b0356e39b66139e621917e6bac81619c60d38d (patch)
treef6dfbf35b343df9452ec583babd56f615d30c5f5 /src/new_fields/util.ts
parent10476052270245c9f57979487336af40fb24139f (diff)
parentf3374e5db522b47529ce52ac57e0a9c498666ff7 (diff)
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/new_fields/util.ts')
-rw-r--r--src/new_fields/util.ts41
1 files changed, 23 insertions, 18 deletions
diff --git a/src/new_fields/util.ts b/src/new_fields/util.ts
index 45ec676b2..52bb7afcd 100644
--- a/src/new_fields/util.ts
+++ b/src/new_fields/util.ts
@@ -1,5 +1,5 @@
import { UndoManager } from "../client/util/UndoManager";
-import { Doc, Field, FieldResult, UpdatingFromServer } from "./Doc";
+import { Doc, Field, FieldResult, UpdatingFromServer, LayoutSym } from "./Doc";
import { SerializationHelper } from "../client/util/SerializationHelper";
import { ProxyField, PrefetchProxy } from "./Proxy";
import { RefField } from "./RefField";
@@ -104,41 +104,46 @@ let layoutProps = ["panX", "panY", "width", "height", "nativeWidth", "nativeHeig
"LODdisable", "chromeStatus", "viewType", "gridGap", "xMargin", "yMargin", "autoHeight"];
export function setter(target: any, in_prop: string | symbol | number, value: any, receiver: any): boolean {
let prop = in_prop;
- if (typeof prop === "string" && prop !== "__id" && prop !== "__fields" &&
+ if (typeof prop === "string" && prop !== "__id" && prop !== "__LAYOUT__" && prop !== "__fields" &&
((prop as string).startsWith("_") || layoutProps.includes(prop))) {
if (!prop.startsWith("_")) {
console.log(prop + " is deprecated - switch to _" + prop);
prop = "_" + prop;
}
- const resolvedLayout = getFieldImpl(target, getFieldImpl(target, "layoutKey", receiver), receiver);
- if (resolvedLayout instanceof Doc) {
- let x = resolvedLayout[Id];
- let layout = (resolvedLayout.layout as string).split("'")[1];
- let expanded = getFieldImpl(target, layout + "-layout[" + x + "]", receiver);
- expanded && (expanded[prop] = value);
- // resolvedLayout[prop] = value;
+ if (target.__LAYOUT__) {
+ target.__LAYOUT__[prop] = value;
return true;
}
+ // const resolvedLayout = getFieldImpl(target, getFieldImpl(target, "layoutKey", receiver), receiver);
+ // if (resolvedLayout instanceof Doc) {
+ // let x = resolvedLayout[Id];
+ // let layout = (resolvedLayout.layout as string).split("'")[1];
+ // let expanded = getFieldImpl(target, layout + "-layout[" + x + "]", receiver);
+ // //expanded && (expanded[prop] = value);
+ // // resolvedLayout[prop] = value;
+ // return true;
+ // }
}
return _setter(target, prop, value, receiver);
}
export function getter(target: any, in_prop: string | symbol | number, receiver: any): any {
let prop = in_prop;
- if (typeof prop === "string" && prop !== "__id" && prop !== "__fields" &&
+ if (typeof prop === "string" && prop !== "__id" && prop !== "__LAYOUT__" && prop !== "__fields" &&
((prop as string).startsWith("_") || layoutProps.includes(prop))) {
if (!prop.startsWith("_")) {
console.log(prop + " is deprecated - switch to _" + prop);
prop = "_" + prop;
}
- const resolvedLayout = getFieldImpl(target, getFieldImpl(target, "layoutKey", receiver), receiver);
- if (resolvedLayout instanceof Doc) {
- let x = resolvedLayout[Id];
- let layout = (resolvedLayout.layout as string).split("'")[1];
- let expanded = getFieldImpl(target, layout + "-layout[" + x + "]", receiver);
- return (expanded || resolvedLayout)?.[prop];
- //return resolvedLayout[prop];
- }
+ if (target.__LAYOUT__) return target.__LAYOUT__[prop];
+ // const resolvedLayout = getFieldImpl(target, getFieldImpl(target, "layoutKey", receiver), receiver);
+ // if (resolvedLayout instanceof Doc) {
+ // let x = resolvedLayout[Id];
+ // let layout = (resolvedLayout.layout as string).split("'")[1];
+ // let expanded = getFieldImpl(target, layout + "-layout[" + x + "]", receiver);
+ // return (expanded)?.[prop];
+ // //return resolvedLayout[prop];
+ // }
}
if (prop === "then") {//If we're being awaited
return undefined;