aboutsummaryrefslogtreecommitdiff
path: root/src/controllers/FieldUpdatedArgs.ts
blob: f258c53e23f9a0e00d7bf7e1ea2df3af16746d14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { FieldController, Opt } from "./FieldController";
import { DocumentController } from "./DocumentController";
import { KeyController } from "./KeyController";

export enum FieldUpdatedAction {
    Add,
    Remove,
    Replace,
    Update
}

export interface FieldUpdatedArgs {
    field: FieldController;
    action: FieldUpdatedAction;
}

export interface DocumentUpdatedArgs {
    field: DocumentController;
    key: KeyController;

    oldValue: Opt<FieldController>;
    newValue: Opt<FieldController>;

    fieldArgs?: FieldUpdatedArgs;

    action: FieldUpdatedAction;
}