Browse Source

Fix TS

data-source-import-policy
Artur Arseniev 2 months ago
parent
commit
e53cc6d60d
  1. 7
      packages/core/src/dom_components/model/ModelResolverWatcher.ts
  2. 10
      packages/core/test/specs/data_sources/import_policy.ts

7
packages/core/src/dom_components/model/ModelResolverWatcher.ts

@ -53,12 +53,13 @@ export class ModelResolverWatcher<T extends ObjectHash> {
addDataValues(values: ObjectAny | undefined, options: DataWatchersOptions = {}) {
if (!values) return {};
values = this.applyImportPolicy(values, options);
const evaluatedValues = this.evaluateValues(values);
const nextValues = this.applyImportPolicy(values, options);
if (!nextValues) return {};
const evaluatedValues = this.evaluateValues(nextValues);
const shouldSkipWatcherUpdates = options.skipWatcherUpdates || options.fromDataSource;
if (!shouldSkipWatcherUpdates) {
this.updateListeners(values);
this.updateListeners(nextValues);
}
return evaluatedValues;

10
packages/core/test/specs/data_sources/import_policy.ts

@ -34,6 +34,14 @@ const makeConditionVar = () => ({
ifFalse: 'blue',
});
type BaseRecord = {
id: string;
title: string;
color: string;
content: string;
mutable?: boolean;
};
describe('Data source import policy', () => {
let editor: Editor;
let em: EditorModel;
@ -45,7 +53,7 @@ describe('Data source import policy', () => {
};
const addBaseDataSource = (
record = { id: 'rec1', title: 'Initial Title', color: 'red', content: 'Dynamic Content' },
record: BaseRecord = { id: 'rec1', title: 'Initial Title', color: 'red', content: 'Dynamic Content' },
) => {
dsm.add({
id: 'records',

Loading…
Cancel
Save