Browse Source

Start DataSource callbacks

data-source-schema
Artur Arseniev 5 months ago
parent
commit
e98fa39646
  1. 11
      packages/core/src/data_sources/types.ts
  2. 4
      packages/core/src/editor/types.ts

11
packages/core/src/data_sources/types.ts

@ -1,6 +1,7 @@
import { Model, Collection, ObjectAny } from '../common';
import { Model, Collection, ObjectAny, AddOptions, RemoveOptions } from '../common';
import DataRecord from './model/DataRecord';
import DataRecords from './model/DataRecords';
import DataSource from './model/DataSource';
import DataVariable, { DataVariableProps } from './model/DataVariable';
import { DataConditionProps, DataCondition } from './model/conditional_variables/DataCondition';
@ -175,6 +176,8 @@ export type DeepPartialDot<T> = {
: never;
};
export type DataSourceEvent = `${DataSourcesEvents}`;
/**{START_EVENTS}*/
export enum DataSourcesEvents {
/**
@ -243,5 +246,11 @@ export enum DataSourcesEvents {
}
/**{END_EVENTS}*/
export interface DataSourcesEventCallback {
[DataSourcesEvents.add]: [DataSource, AddOptions];
[DataSourcesEvents.remove]: [DataSource, RemoveOptions];
[DataSourcesEvents.update]: [DataSource, AddOptions];
}
// need this to avoid the TS documentation generator to break
export default DataSourcesEvents;

4
packages/core/src/editor/types.ts

@ -4,6 +4,7 @@ import { BlocksEventCallback } from '../block_manager/types';
import { CanvasEvent } from '../canvas';
import { CommandEvent } from '../commands';
import { LiteralUnion } from '../common';
import { DataSourceEvent, DataSourcesEventCallback } from '../data_sources/types';
import { ComponentEvent } from '../dom_components';
import { KeymapEvent } from '../keymaps';
import { ModalEvent } from '../modal_dialog';
@ -16,6 +17,7 @@ import EditorModel from './model/Editor';
type GeneralEvent = 'canvasScroll' | 'undo' | 'redo' | 'load' | 'update';
type EditorBuiltInEvents =
| DataSourceEvent
| ComponentEvent
| BlockEvent
| AssetEvent
@ -35,7 +37,7 @@ export type EditorConfigType = EditorConfig & { pStylePrefix?: string };
export type EditorModelParam<T extends keyof EditorModel, N extends number> = Parameters<EditorModel[T]>[N];
export interface EditorEventCallbacks extends BlocksEventCallback {
export interface EditorEventCallbacks extends BlocksEventCallback, DataSourcesEventCallback {
[key: string]: any[];
}

Loading…
Cancel
Save