Skip to content

Commit 07230e3

Browse files
ca-dstee-re
authored andcommitted
feat: add edit-event from V1 API
1 parent 16c541f commit 07230e3

File tree

4 files changed

+45
-24
lines changed

4 files changed

+45
-24
lines changed

edit-event-v2.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { EditV2 } from './editv2.js';
2+
3+
export type EditDetailV2<E extends EditV2 = EditV2> = {
4+
edit: E;
5+
title?: string;
6+
squash?: boolean;
7+
};
8+
9+
export type EditEventV2<E extends EditV2 = EditV2> = CustomEvent<
10+
EditDetailV2<E>
11+
>;
12+
13+
export type EditEventOptions = {
14+
title?: string;
15+
squash?: boolean;
16+
};
17+
18+
export function newEditEventV2<E extends EditV2>(
19+
edit: E,
20+
options?: EditEventOptions,
21+
): EditEventV2<E> {
22+
return new CustomEvent<EditDetailV2<E>>('oscd-edit-v2', {
23+
composed: true,
24+
bubbles: true,
25+
detail: { ...options, edit },
26+
});
27+
}
28+
29+
declare global {
30+
interface ElementEventMap {
31+
['oscd-edit-v2']: EditEventV2<EditV2>;
32+
}
33+
}

edit-event.ts

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,17 @@
1-
import { EditV2 } from './editv2.js';
1+
import { Edit } from './editv1.js';
22

3-
export type EditDetailV2<E extends EditV2 = EditV2> = {
4-
edit: E;
5-
title?: string;
6-
squash?: boolean;
7-
};
3+
export type EditEvent<E extends Edit = Edit> = CustomEvent<E>;
84

9-
export type EditEventV2<E extends EditV2 = EditV2> = CustomEvent<
10-
EditDetailV2<E>
11-
>;
12-
13-
export type EditEventOptions = {
14-
title?: string;
15-
squash?: boolean;
16-
};
17-
18-
export function newEditEventV2<E extends EditV2>(
19-
edit: E,
20-
options?: EditEventOptions,
21-
): EditEventV2<E> {
22-
return new CustomEvent<EditDetailV2<E>>('oscd-edit-v2', {
5+
export function newEditEvent<E extends Edit>(edit: E): EditEvent<E> {
6+
return new CustomEvent<E>('oscd-edit-v2', {
237
composed: true,
248
bubbles: true,
25-
detail: { ...options, edit },
9+
detail: edit,
2610
});
2711
}
2812

2913
declare global {
3014
interface ElementEventMap {
31-
['oscd-edit-v2']: EditEventV2;
15+
['oscd-edit']: EditEvent<Edit>;
3216
}
3317
}

oscd-api.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ export type {
2323
TransactedCallback,
2424
} from './Transactor.js';
2525

26+
export type { EditEvent } from './edit-event.js';
27+
2628
export type {
2729
EditDetailV2,
2830
EditEventOptions,
2931
EditEventV2,
30-
} from './edit-event.js';
32+
} from './edit-event-v2.js';
3133

3234
export type { OpenDetail, OpenEvent } from './open-event.js';

utils.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export {
1919

2020
export { convertEdit } from './convertEdit.js';
2121

22-
export { newEditEventV2 } from './edit-event.js';
22+
export { newEditEvent } from './edit-event.js';
23+
24+
export { newEditEventV2 } from './edit-event-v2.js';
2325

2426
export { newOpenEvent } from './open-event.js';

0 commit comments

Comments
 (0)