import { StateAction } from "../StateManager.js"; export class DataUnitAction implements StateAction{ private _type: Action; private _payload: any; constructor(type: Action, payload?:any){ this._type = type; this._payload = payload; } public get type(): Action{ return this._type; } public get payload(): any{ return this._payload; } } export interface ExecutionContext{ before?: (action: DataUnitAction) => DataUnitAction; after?: (action: DataUnitAction) => void; } export enum Action{ MULTIPLE_EDITION_CHANGED = "multipleEditionChanged", LOADING_METADATA = "loadingMetadata", METADATA_LOADED = "metadataLoaded", LOADING_DATA = "loadingData", DATA_LOADED = "dataLoaded", PAGINATION_UPDATED = "paginationUpdated", SAVING_DATA = "savingData", DATA_SAVED = "dataSaved", SAVING_ERROR = "savingError", SAVING_CANCELED = "savingCanceled", REMOVING_RECORDS = "removingRecords", RECORDS_REMOVED = "recordsRemoved", RECORDS_ADDED = "recordsAdded", RECORDS_COPIED = "recordsCopied", CHANGING_DATA = "changingData", WAITING_CHANGE_CANCELED = "waitingChangeCanceled", DATA_CHANGED = "dataChanged", DATA_RESOLVED = "dataResolved", EDITION_CANCELED = "editionCanceled", CHANGE_UNDONE = "changeUndone", CHANGE_REDONE = "changeRedone", SELECTION_CHANGED = "selectionChanged", NEXT_SELECTED = "nextSelected", PREVIOUS_SELECTED = "previousSelected", STATE_CHANGED = "stateChanged", LOADING_RECORD = "loadingRecord", RECORD_LOADED = "recordLoaded", CHILD_CHANGED = "childChanged", FIELD_INVALIDATED = "fieldInvalidated", INVALIDATE_CLEAN = "invalidateClean", LOADING_PROPERTY_ADDED = "loadingPropertyAdded", LOADING_PROPERTIES_CLEANED = "loadingPropertiesCleaned" }