diff options
Diffstat (limited to 'src/fields')
| -rw-r--r-- | src/fields/Doc.ts | 2 | ||||
| -rw-r--r-- | src/fields/InkField.ts | 11 | ||||
| -rw-r--r-- | src/fields/Proxy.ts | 2 | ||||
| -rw-r--r-- | src/fields/RichTextUtils.ts | 2 | ||||
| -rw-r--r-- | src/fields/util.ts | 2 |
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 ); |
