diff options
author | srichman333 <sarah_n_richman@brown.edu> | 2024-03-31 13:24:39 -0400 |
---|---|---|
committer | srichman333 <sarah_n_richman@brown.edu> | 2024-03-31 13:24:39 -0400 |
commit | c254b38690e27b32d3ac6316af9bb37d6d3e86aa (patch) | |
tree | 0f94869895530d5f8b16631aa164bbcf4cd3e9d4 /src/fields/ScriptField.ts | |
parent | 4c4ab22252aba8f08d8a384e2bd0c6696db9b43b (diff) | |
parent | 1e37adacfe5b44a71ed7d7dfd785c6c2d0808eae (diff) |
Merge branch 'master' into dataviz-ai-sarah
Diffstat (limited to 'src/fields/ScriptField.ts')
-rw-r--r-- | src/fields/ScriptField.ts | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/fields/ScriptField.ts b/src/fields/ScriptField.ts index 9021c8896..8b51088b2 100644 --- a/src/fields/ScriptField.ts +++ b/src/fields/ScriptField.ts @@ -198,14 +198,22 @@ export class ComputedField extends ScriptField { } _lastComputedResult: FieldResult; - value = computedFn((doc: Doc) => this._valueOutsideReaction(doc)); - _valueOutsideReaction = (doc: Doc) => { - this._lastComputedResult = - this._cachedResult ?? (this.script.compiled && this.script.run({ this: doc, self: doc, value: '', _setCacheResult_: this.setCacheResult, _last_: this._lastComputedResult, _readOnly_: true }, console.log).result); - return this._lastComputedResult; - }; + value = (doc:Doc) => (this._lastComputedResult = this._cachedResult ?? + computedFn((doc: Doc) => + this.script.compiled && + this.script.run( { + this: doc, + //value: '', + _setCacheResult_: this.setCacheResult, + _last_: this._lastComputedResult, + _readOnly_: true, + }, + console.log + ).result + )(doc) + ); // prettier-ignore - [ToValue](doc: Doc) { if (ComputedField.useComputed) return { value: this._valueOutsideReaction(doc) }; } // prettier-ignore + [ToValue](doc: Doc) { if (ComputedField.useComputed) return { value: this.value(doc) }; } // prettier-ignore [Copy](): ObjectField { return new ComputedField(this.script, this.setterscript, this.rawscript); } // prettier-ignore public static MakeFunction(script: string, params: object = {}, capturedVariables?: { [name: string]: Doc | string | number | boolean }, setterscript?: string) { |