Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"packages/openscd": "0.37.0",
"packages/core": "0.1.4",
".": "0.39.0"
".": "0.40.0"
}
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## [0.40.0](https://github.com/openscd/open-scd/compare/v0.39.0...v0.40.0) (2025-07-31)


### Features

* Make layout parts overwriteable ([#1692](https://github.com/openscd/open-scd/issues/1692)) ([b3822d2](https://github.com/openscd/open-scd/commit/b3822d27416baff13b358fca50f6a7dfe0eee50c))


### Bug Fixes

* **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))
* **Settings:** Allow missmatched nsdoc import ([#1690](https://github.com/openscd/open-scd/issues/1690)) ([287d0f0](https://github.com/openscd/open-scd/commit/287d0f070ca1deaa88148ce16c67aa51407f4000))

## [0.39.0](https://github.com/openscd/open-scd/compare/v0.38.1...v0.39.0) (2025-05-28)


Expand Down
2 changes: 1 addition & 1 deletion packages/compas-open-scd/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "compas-open-scd",
"version": "0.39.0-1",
"version": "0.40.0-1",
"repository": "https://github.com/openscd/open-scd.git",
"description": "OpenSCD CoMPAS Edition",
"directory": "packages/compas-open-scd",
Expand Down
20 changes: 18 additions & 2 deletions packages/openscd/src/addons/Layout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -403,11 +403,27 @@ export class OscdLayout extends LitElement {
slot="navigationIcon"
@click=${() => (this.menuUI.open = true)}
></mwc-icon-button>
<div slot="title" id="title">${this.docName}</div>
${this.menu.map(this.renderActionItem)}
${this.renderTitle()}
${this.renderActionItems()}
</mwc-top-app-bar-fixed>`;
}

/**
* Renders the title section in the top bar
* Make sure to use slot="title" for the returned template
*/
protected renderTitle(): TemplateResult {
return html`<div slot="title" id="title">${this.docName}</div>`;
}

/**
* Renders the action items for the top bar
* Make sure to use slot="actionItems" for each element
*/
protected renderActionItems(): TemplateResult {
return html`${this.menu.map(this.renderActionItem)}`;
}

protected renderMenuContent(): TemplateResult {
return html`
<div id="menuContent">
Expand Down
3 changes: 1 addition & 2 deletions packages/openscd/src/addons/Settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ export class OscdSettings extends LitElement {
if (!this.isEqual(nsdVersion, nsdocVersion)) {
this.dispatchEvent(
newLogEvent({
kind: 'error',
kind: 'warning',
title: get('settings.invalidNsdocVersion', {
id: id,
filename: event.detail.filename,
Expand All @@ -262,7 +262,6 @@ export class OscdSettings extends LitElement {
}),
})
);
return;
}

this.setSetting(id as keyof Settings, event.detail.nsdoc);
Expand Down
19 changes: 19 additions & 0 deletions packages/openscd/test/integration/Setting.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,25 @@ describe('Oscd-Settings', () => {
);
});

it('upload .nsdoc file with missmatched nsd version using event and log event fired', async () => {
settings.settingsUI.show();
await settings.settingsUI.updateComplete;

const nsdocFile = await fetch('/test/testfiles/nsdoc/IEC_61850-7-2-B-5.nsdoc').then(
response => response.text()
);

logger.dispatchEvent(newLoadNsdocEvent(nsdocFile, 'IEC_61850-7-2-B-5.nsdoc'));

await logger.requestUpdate();
await logger.updateComplete;

expect(logger.log.length).to.be.equal(1);
expect(logger.log[0].title).to.be.equal(
"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)"
);
});

it('upload .nsdoc file with wrong version using event and log event fired', async () => {
settings.settingsUI.show();
await settings.settingsUI.updateComplete;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<NSDoc id="IEC 61850-7-2"
version="2007"
revision="B"
release="5"
lang="en">
</NSDoc>
18 changes: 18 additions & 0 deletions packages/openscd/test/unit/Setting.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import '../../src/addons/Settings.js';
import { OscdSettings, defaults } from '../../src/addons/Settings.js';

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

describe('OSCD-Settings', () => {
let element: OscdSettings;
Expand Down Expand Up @@ -69,6 +70,23 @@ describe('OSCD-Settings', () => {
await expect(element).shadowDom.to.equalSnapshot();
});

it('loads .nsdoc file with missmatched nsd version', async () => {
element.settingsUI.show();
await element.settingsUI.updateComplete;

const nsdocFile = await fetch(
'/test/testfiles/nsdoc/IEC_61850-7-2-B-5.nsdoc'
).then(response => response.text());

element.setSetting('IEC 61850-7-2', nsdocFile);

await element.requestUpdate();
await element.updateComplete

expect(localStorage.getItem('IEC 61850-7-2')).to.eql(nsdocFile);
await expect(element).shadowDom.to.equalSnapshot();
});

it('saves chosen .nsdoc file and looks like latest snapshot', async () => {
element.settingsUI.show();
await element.settingsUI.updateComplete;
Expand Down
Loading