aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2023-04-27 22:53:45 -0400
committerbobzel <zzzman@gmail.com>2023-04-27 22:53:45 -0400
commitd3dc9938b38e89b2215d13fbc5bc92d33502e818 (patch)
treeddc670eb92f4a99448f086d8941e51b4fb6fb53c
parent773164e71dd6420d5ee669b138f2b6ba05164874 (diff)
one more fix to setting on data/layout for undefined values on '_' fields.
-rw-r--r--src/client/views/collections/collectionSchema/SchemaTableCell.tsx2
-rw-r--r--src/fields/Doc.ts8
2 files changed, 7 insertions, 3 deletions
diff --git a/src/client/views/collections/collectionSchema/SchemaTableCell.tsx b/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
index 003831094..f17f4a73c 100644
--- a/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
+++ b/src/client/views/collections/collectionSchema/SchemaTableCell.tsx
@@ -263,7 +263,7 @@ export class SchemaBoolCell extends React.Component<SchemaTableCellProps> {
<EditableView
contents={<FieldView {...fieldProps} />}
editing={this.selected ? undefined : false}
- GetValue={() => (color === 'black' ? '=' : '') + Field.toKeyValueString(this.props.Document, this.props.fieldKey)}
+ GetValue={() => Field.toKeyValueString(this.props.Document, this.props.fieldKey)}
SetValue={undoBatch((value: string, shiftDown?: boolean, enterKey?: boolean) => {
if (shiftDown && enterKey) {
this.props.setColumnValues(this.props.fieldKey.replace(/^_/, ''), value);
diff --git a/src/fields/Doc.ts b/src/fields/Doc.ts
index b0033b977..22d0664ce 100644
--- a/src/fields/Doc.ts
+++ b/src/fields/Doc.ts
@@ -29,9 +29,13 @@ import JSZip = require('jszip');
import * as JSZipUtils from '../JSZipUtils';
export namespace Field {
export function toKeyValueString(doc: Doc, key: string): string {
- const onDelegate = Object.keys(doc).includes(key);
+ const onDelegate = Object.keys(doc).includes(key.replace(/^_/, ''));
const field = ComputedField.WithoutComputed(() => FieldValue(doc[key]));
- return !Field.IsField(field) ? '' : (onDelegate ? '=' : '') + (field instanceof ComputedField ? `:=${field.script.originalScript}` : field instanceof ScriptField ? `$=${field.script.originalScript}` : Field.toScriptString(field));
+ return !Field.IsField(field)
+ ? key.startsWith('_')
+ ? '='
+ : ''
+ : (onDelegate ? '=' : '') + (field instanceof ComputedField ? `:=${field.script.originalScript}` : field instanceof ScriptField ? `$=${field.script.originalScript}` : Field.toScriptString(field));
}
export function toScriptString(field: Field): string {
switch (typeof field) {