From 2a0f30be1ba52184108539121c1204aff17a13af Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 12 Jun 2025 00:27:55 +0400 Subject: [PATCH] Switch to a new pathSource event. The `data:path:SOURCE_ID` doesn't work as it triggers rebuilds of symbols in ComponentDataCollection --- packages/core/src/data_sources/model/DataRecord.ts | 2 +- packages/core/src/data_sources/types.ts | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/core/src/data_sources/model/DataRecord.ts b/packages/core/src/data_sources/model/DataRecord.ts index 83dad3e08..d0ce687e3 100644 --- a/packages/core/src/data_sources/model/DataRecord.ts +++ b/packages/core/src/data_sources/model/DataRecord.ts @@ -118,7 +118,7 @@ export default class DataRecord ext const paths = this.getPaths(prop); const data = { dataSource, dataRecord: this, path: paths[0], options }; em.trigger(DataSourcesEvents.path, data); - em.trigger(`${DataSourcesEvents.path}:${dataSource.id}`, data); + em.trigger(`${DataSourcesEvents.pathSource}:${dataSource.id}`, data); paths.forEach((path) => em.trigger(`${DataSourcesEvents.path}:${path}`, { ...data, path })); } diff --git a/packages/core/src/data_sources/types.ts b/packages/core/src/data_sources/types.ts index ad88c6409..e557e707b 100644 --- a/packages/core/src/data_sources/types.ts +++ b/packages/core/src/data_sources/types.ts @@ -86,10 +86,17 @@ export enum DataSourcesEvents { /** * @event `data:path` Data record path update. * @example - * editor.on('data:path:SOURCE_ID:RECORD_ID:PROP_NAME', ({ dataSource, dataRecord, path }) => { ... }); + * editor.on('data:path:SOURCE_ID.RECORD_ID.PROP_NAME', ({ dataSource, dataRecord, path }) => { ... }); */ path = 'data:path', + /** + * @event `data:pathSource` Data record path update per source. + * @example + * editor.on('data:pathSource:SOURCE_ID', ({ dataSource, dataRecord, path }) => { ... }); + */ + pathSource = 'data:pathSource:', + /** * @event `data` Catch-all event for all the events mentioned above. * @example