aboutsummaryrefslogtreecommitdiff
path: root/src/fields
diff options
context:
space:
mode:
Diffstat (limited to 'src/fields')
-rw-r--r--src/fields/Doc.ts2
-rw-r--r--src/fields/InkField.ts11
-rw-r--r--src/fields/Proxy.ts2
-rw-r--r--src/fields/RichTextUtils.ts2
-rw-r--r--src/fields/util.ts2
5 files changed, 15 insertions, 4 deletions
diff --git a/src/fields/Doc.ts b/src/fields/Doc.ts
index 725221a66..fe044c035 100644
--- a/src/fields/Doc.ts
+++ b/src/fields/Doc.ts
@@ -102,7 +102,7 @@ export namespace Field {
export function Copy(field: any) {
return field instanceof ObjectField ? ObjectField.MakeCopy(field) : field;
}
- UndoManager.SetFieldPrinter(toJavascriptString);
+ UndoManager.SetFieldPrinter(toString);
}
export type FieldType = number | string | boolean | ObjectField | RefField;
export type Opt<T> = T | undefined;
diff --git a/src/fields/InkField.ts b/src/fields/InkField.ts
index c4f5f7a24..46704eb2b 100644
--- a/src/fields/InkField.ts
+++ b/src/fields/InkField.ts
@@ -89,6 +89,17 @@ export class InkField extends ObjectField {
[ToString]() {
return 'InkField';
}
+
+ public static getBounds(stroke: InkData, pad?: boolean) {
+ const padding = pad ? [-20000, 20000] : [];
+ const xs = [...padding, ...stroke.map(p => p.X)];
+ const ys = [...padding, ...stroke.map(p => p.Y)];
+ const right = Math.max(...xs);
+ const left = Math.min(...xs);
+ const bottom = Math.max(...ys);
+ const top = Math.min(...ys);
+ return { right, left, bottom, top, width: right - left, height: bottom - top };
+ }
}
ScriptingGlobals.add('InkField', InkField);
diff --git a/src/fields/Proxy.ts b/src/fields/Proxy.ts
index 4f8058ce4..83b5672b3 100644
--- a/src/fields/Proxy.ts
+++ b/src/fields/Proxy.ts
@@ -45,7 +45,7 @@ export class ProxyField<T extends RefField> extends ObjectField {
return Field.toScriptString(this[ToValue]()?.value); // not sure this is quite right since it doesn't recreate a proxy field, but better than 'invalid' ?
}
[ToString]() {
- return 'ProxyField';
+ return Field.toString(this[ToValue]()?.value);
}
@serializable(primitive())
diff --git a/src/fields/RichTextUtils.ts b/src/fields/RichTextUtils.ts
index 5eb60a2f8..3763dcd2c 100644
--- a/src/fields/RichTextUtils.ts
+++ b/src/fields/RichTextUtils.ts
@@ -164,7 +164,7 @@ export namespace RichTextUtils {
const inlineObjectMap = await parseInlineObjects(document);
const title = document.title!;
const { text, paragraphs } = GoogleApiClientUtils.Docs.Utils.extractText(document);
- let state = FormattedTextBox.blankState();
+ let state = EditorState.create(new FormattedTextBox({} as any).config);
const structured = parseLists(paragraphs);
let position = 3;
diff --git a/src/fields/util.ts b/src/fields/util.ts
index 9361430cb..a6499c3e3 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -443,7 +443,7 @@ export function containedFieldChangedHandler(container: List<FieldType> | Doc, p
});
lastValue = ObjectField.MakeCopy((container as any)[prop as any]);
},
- prop: 'remove ' + (diff.items?.length ?? 0) + ' items from list',
+ prop: 'remove ' + (diff.items?.length ?? 0) + ' items from list(' + ((container as any)?.title ?? '') + ':' + prop + ')',
},
diff?.items
);