Skip to content

Commit 8a92200

Browse files
committed
chore: switch from editor.commit to dispatch newEditEventV2
1 parent 6df84d9 commit 8a92200

File tree

2 files changed

+22
-38
lines changed

2 files changed

+22
-38
lines changed

oscd-editor-template-generator.spec.ts

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,7 @@ import { restore, SinonSpy, spy } from 'sinon';
44

55
import TemplateGenerator from './oscd-editor-template-generator.js';
66
import { lNodeSelection } from './oscd-editor-template-generator.testfiles.js';
7-
import {
8-
EditV2,
9-
Insert,
10-
Transactor,
11-
TransactedCallback,
12-
} from '@omicronenergy/oscd-api';
7+
import { Insert } from '@omicronenergy/oscd-api';
138

149
customElements.define('template-generator', TemplateGenerator);
1510

@@ -20,21 +15,14 @@ export const sclDocString = `<?xml version="1.0" encoding="UTF-8"?>
2015

2116
describe('TemplateGenerator', () => {
2217
let element: TemplateGenerator;
23-
let editor: Transactor<EditV2> & { commit: SinonSpy };
18+
let editEventListener: SinonSpy;
19+
afterEach(restore);
20+
2421
beforeEach(async () => {
25-
editor = {
26-
commit: spy(),
27-
undo: () => undefined,
28-
redo: () => undefined,
29-
past: [],
30-
future: [],
31-
subscribe: (txCallback: TransactedCallback<EditV2>) => {
32-
return () => txCallback;
33-
},
34-
};
35-
element = await fixture(
36-
html`<template-generator .editor=${editor}></template-generator>`,
37-
);
22+
element = await fixture(html`<template-generator></template-generator>`);
23+
24+
editEventListener = spy();
25+
element.addEventListener('oscd-edit-v2', editEventListener);
3826
});
3927

4028
it('displays no action button', () =>
@@ -244,9 +232,9 @@ describe('TemplateGenerator', () => {
244232
- PhyNam
245233
- Proxy
246234
*/
247-
const edits = editor.commit.args[0][0];
248-
expect(edits).to.have.lengthOf(5);
249-
edits.forEach((edit: Insert) => {
235+
const { edit } = editEventListener.args[0][0].detail;
236+
expect(edit).to.have.lengthOf(5);
237+
edit.forEach((edit: Insert) => {
250238
expect(edit).to.have.property(
251239
'parent',
252240
element.doc?.querySelector('DataTypeTemplates'),
@@ -270,10 +258,10 @@ describe('TemplateGenerator', () => {
270258
confirmButton.click();
271259

272260
// expect one more call for the DTT section
273-
const edits = editor.commit.args[0][0];
274-
expect(edits).to.have.lengthOf(6);
275-
expect(edits[0]).to.have.property('parent', element.doc?.documentElement);
276-
expect(edits[0])
261+
const { edit } = editEventListener.args[0][0].detail;
262+
expect(edit).to.have.lengthOf(6);
263+
expect(edit[0]).to.have.property('parent', element.doc?.documentElement);
264+
expect(edit[0])
277265
.property('node')
278266
.to.have.property('tagName', 'DataTypeTemplates');
279267
});
@@ -342,9 +330,9 @@ describe('TemplateGenerator', () => {
342330
stVal
343331
subVal
344332
*/
345-
const edits = editor.commit.args[0][0];
346-
expect(edits).to.have.lengthOf(30);
347-
const elms = edits.map((edit: { node: Element }) => edit.node);
333+
const { edit } = editEventListener.args[0][0].detail;
334+
expect(edit).to.have.lengthOf(30);
335+
const elms = edit.map((edit: { node: Element }) => edit.node);
348336
expect(
349337
elms.filter((e: { tagName: string }) => e.tagName === 'LNodeType'),
350338
).to.have.lengthOf(1);
@@ -426,8 +414,8 @@ describe('TemplateGenerator', () => {
426414
confirmButton.click();
427415
await element.updateComplete;
428416

429-
const inserts = editor.commit.args[0][0];
430-
const insertedDOs = inserts.filter(
417+
const { edit } = editEventListener.args[0][0].detail;
418+
const insertedDOs = edit.filter(
431419
(insert: Insert) => (insert.node as Element).tagName === 'DOType',
432420
);
433421
const expectedIds = [

oscd-editor-template-generator.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import { PreviewDialog } from './components/preview-dialog.js';
2727

2828
import { cdClasses, lnClass74 } from './constants.js';
2929
import { NodeData, getSelectionByPath, processEnums } from './foundation.js';
30-
import { EditV2, Transactor } from '@omicronenergy/oscd-api';
30+
import { newEditEventV2 } from '@omicronenergy/oscd-api/utils.js';
3131

3232
let lastLNodeType = 'LPHD';
3333
let lastSelection = {};
@@ -50,9 +50,6 @@ export default class TemplateGenerator extends ScopedElementsMixin(LitElement) {
5050
'preview-dialog': PreviewDialog,
5151
};
5252

53-
@property({ type: Object })
54-
editor!: Transactor<EditV2>;
55-
5653
@property({ attribute: false })
5754
doc?: XMLDocument;
5855

@@ -158,8 +155,7 @@ export default class TemplateGenerator extends ScopedElementsMixin(LitElement) {
158155
if (newLNodeType) {
159156
this.addedLNode = newLNodeType.getAttribute('id') ?? '';
160157
}
161-
162-
this.editor.commit(inserts);
158+
this.dispatchEvent(newEditEventV2(inserts));
163159
}
164160

165161
async reset() {

0 commit comments

Comments
 (0)