Skip to content

Commit af43dbe

Browse files
ca-dstee-re
authored andcommitted
feat: add OpenEvent
Resolves #30 .
1 parent e40c8c5 commit af43dbe

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

open-event.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export type OpenDetail = {
2+
doc: XMLDocument;
3+
docName: string;
4+
};
5+
6+
/** Represents the intent to open `doc` with filename `docName`. */
7+
export type OpenEvent = CustomEvent<OpenDetail>;
8+
9+
export function newOpenEvent(doc: XMLDocument, docName: string): OpenEvent {
10+
return new CustomEvent<OpenDetail>('oscd-open', {
11+
bubbles: true,
12+
composed: true,
13+
detail: { doc, docName },
14+
});
15+
}
16+
17+
declare global {
18+
interface ElementEventMap {
19+
['oscd-open']: OpenEvent;
20+
}
21+
}

oscd-api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,5 @@ export type {
2828
EditEventOptions,
2929
EditEventV2,
3030
} from './edit-event.js';
31+
32+
export type { OpenDetail, OpenEvent } from './open-event.js';

utils.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ export {
2020
export { convertEdit } from './convertEdit.js';
2121

2222
export { newEditEventV2 } from './edit-event.js';
23+
24+
export { newOpenEvent } from './open-event.js';

0 commit comments

Comments
 (0)