aboutsummaryrefslogtreecommitdiff
path: root/src/fields/Doc.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2025-03-27 12:12:20 -0400
committerbobzel <zzzman@gmail.com>2025-03-27 12:12:20 -0400
commitb1f85154edc250a18d0bc033df91ee1249975946 (patch)
tree1a96d9d48ef82e39acedbb92c0b68cf2c418f12a /src/fields/Doc.ts
parent64f65dd17f9dea4e0cee17600d2b0daa847bab73 (diff)
fix so that schemacellfield doesn't trigger a finalizeEdit when it's not editing. added 'red' color for template fields to schematablecell. fixed set field to allow setting data fields when field is an '_' and no template. fixed setting '=' when getting a keyValueString for empty fields with an '_' key.
Diffstat (limited to 'src/fields/Doc.ts')
-rw-r--r--src/fields/Doc.ts8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/fields/Doc.ts b/src/fields/Doc.ts
index 32c664969..65719374f 100644
--- a/src/fields/Doc.ts
+++ b/src/fields/Doc.ts
@@ -46,9 +46,7 @@ export namespace Field {
* @param schemaCell
* @returns string representation of the field
*/
- export function toKeyValueString(docIn: Doc, key: string, showComputedValue?: boolean, schemaCell?: boolean): string {
- const doc = key.startsWith('_') && Doc.Layout(docIn) !== docIn ? Doc.Layout(docIn) : docIn;
- const isOnDelegate = !key.startsWith('_') && doc === docIn && !Doc.IsDataProto(doc) && Object.keys(doc).includes(key.replace(/^_/, ''));
+ export function toKeyValueString(doc: Doc, key: string, showComputedValue?: boolean, schemaCell?: boolean): string {
const cfield = ComputedField.WithoutComputed(() => FieldValue(doc[key]));
const valFunc = (field: FieldType): string => {
const res =
@@ -66,7 +64,9 @@ export namespace Field {
.trim()
.replace(/^new List\((.*)\)$/, '$1');
};
- return !Field.IsField(cfield) ? '' : (isOnDelegate ? '=' : '') + valFunc(cfield);
+ const notOnTemplate = !key.startsWith('_') || Doc.Layout(doc) === doc;
+ const isOnDelegate = notOnTemplate && !Doc.IsDataProto(doc) && ((key.startsWith('_') && !Field.IsField(cfield)) || Object.keys(doc).includes(key.replace(/^_/, '')));
+ return (isOnDelegate ? '=' : '') + (!Field.IsField(cfield) ? '' : valFunc(cfield));
}
export function toScriptString(field: FieldType, schemaCell?: boolean) {
switch (typeof field) {