Skip to content

Commit 79ea2ec

Browse files
authored
Merge pull request #394 from com-pas/chore/sync-open-scd-0.40.0
chore: Sync with upstream open scd 0.40.0
2 parents 7f8d47b + 8cf3f06 commit 79ea2ec

File tree

9 files changed

+450
-6
lines changed

9 files changed

+450
-6
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"packages/openscd": "0.37.0",
33
"packages/core": "0.1.4",
4-
".": "0.39.0"
4+
".": "0.40.0"
55
}

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Changelog
22

3+
## [0.40.0](https://github.com/openscd/open-scd/compare/v0.39.0...v0.40.0) (2025-07-31)
4+
5+
6+
### Features
7+
8+
* Make layout parts overwriteable ([#1692](https://github.com/openscd/open-scd/issues/1692)) ([b3822d2](https://github.com/openscd/open-scd/commit/b3822d27416baff13b358fca50f6a7dfe0eee50c))
9+
10+
11+
### Bug Fixes
12+
13+
* **communication-plugin:** Offer only valid connected aps as move targets ([#1685](https://github.com/openscd/open-scd/issues/1685)) ([bfd43ba](https://github.com/openscd/open-scd/commit/bfd43bab3e164d15f7aa2bafe5d0d428df9d10e7))
14+
* **Settings:** Allow missmatched nsdoc import ([#1690](https://github.com/openscd/open-scd/issues/1690)) ([287d0f0](https://github.com/openscd/open-scd/commit/287d0f070ca1deaa88148ce16c67aa51407f4000))
15+
316
## [0.39.0](https://github.com/openscd/open-scd/compare/v0.38.1...v0.39.0) (2025-05-28)
417

518

packages/compas-open-scd/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "compas-open-scd",
3-
"version": "0.39.0-1",
3+
"version": "0.40.0-1",
44
"repository": "https://github.com/openscd/open-scd.git",
55
"description": "OpenSCD CoMPAS Edition",
66
"directory": "packages/compas-open-scd",

packages/openscd/src/addons/Layout.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -403,11 +403,27 @@ export class OscdLayout extends LitElement {
403403
slot="navigationIcon"
404404
@click=${() => (this.menuUI.open = true)}
405405
></mwc-icon-button>
406-
<div slot="title" id="title">${this.docName}</div>
407-
${this.menu.map(this.renderActionItem)}
406+
${this.renderTitle()}
407+
${this.renderActionItems()}
408408
</mwc-top-app-bar-fixed>`;
409409
}
410410

411+
/**
412+
* Renders the title section in the top bar
413+
* Make sure to use slot="title" for the returned template
414+
*/
415+
protected renderTitle(): TemplateResult {
416+
return html`<div slot="title" id="title">${this.docName}</div>`;
417+
}
418+
419+
/**
420+
* Renders the action items for the top bar
421+
* Make sure to use slot="actionItems" for each element
422+
*/
423+
protected renderActionItems(): TemplateResult {
424+
return html`${this.menu.map(this.renderActionItem)}`;
425+
}
426+
411427
protected renderMenuContent(): TemplateResult {
412428
return html`
413429
<div id="menuContent">

packages/openscd/src/addons/Settings.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ export class OscdSettings extends LitElement {
253253
if (!this.isEqual(nsdVersion, nsdocVersion)) {
254254
this.dispatchEvent(
255255
newLogEvent({
256-
kind: 'error',
256+
kind: 'warning',
257257
title: get('settings.invalidNsdocVersion', {
258258
id: id,
259259
filename: event.detail.filename,
@@ -262,7 +262,6 @@ export class OscdSettings extends LitElement {
262262
}),
263263
})
264264
);
265-
return;
266265
}
267266

268267
this.setSetting(id as keyof Settings, event.detail.nsdoc);

packages/openscd/test/integration/Setting.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,25 @@ describe('Oscd-Settings', () => {
6363
);
6464
});
6565

66+
it('upload .nsdoc file with missmatched nsd version using event and log event fired', async () => {
67+
settings.settingsUI.show();
68+
await settings.settingsUI.updateComplete;
69+
70+
const nsdocFile = await fetch('/test/testfiles/nsdoc/IEC_61850-7-2-B-5.nsdoc').then(
71+
response => response.text()
72+
);
73+
74+
logger.dispatchEvent(newLoadNsdocEvent(nsdocFile, 'IEC_61850-7-2-B-5.nsdoc'));
75+
76+
await logger.requestUpdate();
77+
await logger.updateComplete;
78+
79+
expect(logger.log.length).to.be.equal(1);
80+
expect(logger.log[0].title).to.be.equal(
81+
"The version of IEC 61850-7-2 NSD (2007B3) does not correlate with the version of the corresponding NSDoc (IEC_61850-7-2-B-5.nsdoc, 2007B5)"
82+
);
83+
});
84+
6685
it('upload .nsdoc file with wrong version using event and log event fired', async () => {
6786
settings.settingsUI.show();
6887
await settings.settingsUI.updateComplete;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<NSDoc id="IEC 61850-7-2"
3+
version="2007"
4+
revision="B"
5+
release="5"
6+
lang="en">
7+
</NSDoc>

packages/openscd/test/unit/Setting.test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import '../../src/addons/Settings.js';
66
import { OscdSettings, defaults } from '../../src/addons/Settings.js';
77

88
import { Button } from '@material/mwc-button';
9+
import { LogEvent } from '@openscd/core/foundation/deprecated/history.js';
910

1011
describe('OSCD-Settings', () => {
1112
let element: OscdSettings;
@@ -69,6 +70,23 @@ describe('OSCD-Settings', () => {
6970
await expect(element).shadowDom.to.equalSnapshot();
7071
});
7172

73+
it('loads .nsdoc file with missmatched nsd version', async () => {
74+
element.settingsUI.show();
75+
await element.settingsUI.updateComplete;
76+
77+
const nsdocFile = await fetch(
78+
'/test/testfiles/nsdoc/IEC_61850-7-2-B-5.nsdoc'
79+
).then(response => response.text());
80+
81+
element.setSetting('IEC 61850-7-2', nsdocFile);
82+
83+
await element.requestUpdate();
84+
await element.updateComplete
85+
86+
expect(localStorage.getItem('IEC 61850-7-2')).to.eql(nsdocFile);
87+
await expect(element).shadowDom.to.equalSnapshot();
88+
});
89+
7290
it('saves chosen .nsdoc file and looks like latest snapshot', async () => {
7391
element.settingsUI.show();
7492
await element.settingsUI.updateComplete;

0 commit comments

Comments
 (0)