You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -52,11 +52,11 @@ In addition to the standard CRUD events, draft-specific events are provided on d
52
52
### `NEW`
53
53
54
54
```js
55
-
srv.before('NEW', 'MyEntity.drafts', req=> {
55
+
srv.before('NEW', MyEntity.drafts, req=> {
56
56
req.data.ID=uuid()
57
57
}))
58
-
srv.after('EDIT', 'MyEntity.drafts', /*...*/)
59
-
srv.on('NEW', 'MyEntity.drafts', /*...*/)
58
+
srv.after('EDIT', MyEntity.drafts, /*...*/)
59
+
srv.on('NEW', MyEntity.drafts, /*...*/)
60
60
```
61
61
62
62
The `NEW` event is triggered when the user created a new draft.
@@ -67,23 +67,30 @@ You can modify the initial draft data in a `before` handler.
67
67
### `EDIT`
68
68
69
69
```js
70
-
srv.before('EDIT', 'MyEntity', /*...*/)
71
-
srv.after('EDIT', 'MyEntity', /*...*/)
72
-
srv.on('EDIT', 'MyEntity', /*...*/)
70
+
srv.before('EDIT', MyEntity, /*...*/)
71
+
srv.after('EDIT', MyEntity, /*...*/)
72
+
srv.on('EDIT', MyEntity, /*...*/)
73
73
```
74
74
75
75
The `EDIT` event is triggered when the user starts editing an active entity.
76
76
As a result, a new entry to `MyEntity.drafts` is created.
77
77
78
-
> [!note]
79
-
> For logical reasons handlers for the `EDIT` event are registered on the active entity, i.e. `MyEntity` in the code above, not on the `MyEntity.drafts` entity.
78
+
For logical reasons handlers for the `EDIT` event are registered on the active entity, i.e. `MyEntity` in the code above, not on the `MyEntity.drafts` entity.
79
+
80
+
You can also register handlers on the standard `CREATE` events for draft entities, which would be called whenever a new draft is created, be it via `NEW` or `EDIT`, like so:
81
+
82
+
```js
83
+
srv.before('CREATE', MyEntity.drafts, /*...*/)
84
+
srv.after('CREATE', MyEntity.drafts, /*...*/)
85
+
srv.on('CREATE', MyEntity.drafts, /*...*/)
86
+
```
80
87
81
88
82
89
### `DISCARD`
83
90
84
91
```js
85
-
srv.before('DISCARD', 'MyEntity.drafts', /*...*/)
86
-
srv.on('DISCARD', 'MyEntity.drafts', /*...*/)
92
+
srv.before('DISCARD', MyEntity.drafts, /*...*/)
93
+
srv.on('DISCARD', MyEntity.drafts, /*...*/)
87
94
```
88
95
89
96
The `DISCARD` event is triggered when the user discards a draft started before.
@@ -93,9 +100,9 @@ In this case, the draft entity is deleted and the active entity isn't changed.
93
100
### `PATCH`
94
101
95
102
```js
96
-
srv.before('PATCH', 'MyEntity.drafts', /*...*/)
97
-
srv.after('PATCH', 'MyEntity.drafts', /*...*/)
98
-
srv.on('PATCH', 'MyEntity.drafts', /*...*/)
103
+
srv.before('PATCH', MyEntity.drafts, /*...*/)
104
+
srv.after('PATCH', MyEntity.drafts, /*...*/)
105
+
srv.on('PATCH', MyEntity.drafts, /*...*/)
99
106
```
100
107
101
108
The `PATCH` event is triggered whenever the user edits a field in a draft.
@@ -105,9 +112,9 @@ It's actually an alias for the standard CRUD `UPDATE` event.
105
112
### `SAVE`
106
113
107
114
```js
108
-
srv.before('SAVE', 'MyEntity.drafts', /*...*/)
109
-
srv.after('SAVE', 'MyEntity.drafts', /*...*/)
110
-
srv.on('SAVE', 'MyEntity.drafts', /*...*/)
115
+
srv.before('SAVE', MyEntity.drafts, /*...*/)
116
+
srv.after('SAVE', MyEntity.drafts, /*...*/)
117
+
srv.on('SAVE', MyEntity.drafts, /*...*/)
111
118
```
112
119
113
120
The `SAVE` event is triggered when the user saves / activates a draft. This results in either a CREATE or an UPDATE on the active entity depending on whether the draft was created via `NEW` or `EDIT`.
0 commit comments