Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup unused control blocks #620

Merged
merged 16 commits into from
Apr 6, 2022

Conversation

danyill
Copy link
Collaborator

@danyill danyill commented Mar 20, 2022

This is part of #290 (comment) and deals with the initial request.
It is the second of at least three discrete panels for the Cleanup editor and resolves:

  • ReportControl with no or invalid datSet
  • LogControl with no or invalid datSet
  • GSEControl with no or invalid datSet
  • SampledValueControl with no or invalid datSet

Bearing in mind that for ReportControl having no or an invalid datSet may be fine in an ICD file or if datasets are dynamically allocated.

What I did:

  • Add to Cleanup editor a new section: "Control Blocks with a missing or invalid dataset" which covers GSEControl, LogControl, ReportControl and SampledValueControl (why did the standard not make this SVControl?!)
  • Provide the optional ability to remove SMV/GSE addresses at the same time (as a default).
    The goal is that each atomic operation should if possible result in a conforming file that can be validated (?hmmm... there are problems here but this margin is too small to explain them)
  • Provide the ability to edit ReportControl, SMVControl and GSEControl elements from each list item.
  • Provide a caution/warning icon if a GSEControl or SampledValueControl is mapped to an address in Communication > ConnectedAP SCL section
  • Made this editor more responsive for small form factor devices or very large screens using flex.
    In particular, flex made it easier to ensure that the rows are the same height - I think this gives the best "organisation" for the different cleanup functions.

Unsolved:

  • My CSS-fu is weak but is weaker with CSS Grid so we're using flex now. I would prefer the checkbox above the button on small screens but have struggled to make flex do my bidding for all form factors.
  • I am not sure how to eliminate the scrollbars associated with the filtered-list. They shouldn't be there and yet they are... ❓
    I think this is due to a mwc-ripple element (from the Firefox scroll button) but I am not sure how to diagnose further.
  • I thought about using a WizardCheckBox for the bottom checkbox but initialising to a checked item and the ability to disable it weren't there. Perhaps I just didn't understand them. Things which were @state I thought should be @property. Conscious that I understand almost nothing I did not let this hold me up but I can go back to it on request... 😕
  • For removing the relevant sections in the Communication > ConnectedAP section, Figure 22 of IEC 61850-6 Ed 2.1 shows a link between tAddress and tControlBlock. As far as I can tell, this is an error 🐛 or at least I can't see where those semantics are defined.
    image

Things I'm still working on:

  • Tests
  • Seeing if my flex and CSS have too much cruft
  • Contemplating form and style 👔

As always, any reviews and comments are gratefully accepted.

(FWIW after this the templates section and deal with:

  • LNodes that are invalid reference
  • LNodeType, DOType, DAType and EnumType that are not referenced)

@danyill
Copy link
Collaborator Author

danyill commented Mar 20, 2022

I think the scrollbars caused by the ripple is similar to this issue and may be caused by improper semantics or using elements in a way that material-web does not like

@JakobVogelsang
Copy link
Collaborator

Looks promising. Thank you for the contribution. I have only one UI remark: The elements Ropert, GSEControl and SampledValuesControl do look very alike in the list. May the icons we have for those might be usefull? Or having three seperate lists?

@danyill
Copy link
Collaborator Author

danyill commented Mar 21, 2022

Looks promising. Thank you for the contribution. I have only one UI remark: The elements Ropert, GSEControl and SampledValuesControl do look very alike in the list. May the icons we have for those might be usefull? Or having three seperate lists?

Thanks 😉
I need to let it gestate for a little and then I can make some more improvements.

  1. I recall that you can filter by the control block type in the list because of the marvellous filter and the identity function.
  2. I feel like three (four if we include LogControl) lists is too much here when the function performed is identical.
  3. I'd be happy to add the icons to each element. I think you mean these ones:
    image
  4. I guess another option is to have a set of tick boxes or radio buttons up the top to filter on the control block type?
    I'll add the icons first and then let's see what we think. Since in most other places in the UI we expect the user to search with the filter (e.g. in the unreferenced datasets for manufacturer, device type or device name) I think we should reinforce that pattern. It also keeps the UI uncluttered.

@JakobVogelsang
Copy link
Collaborator

I like the fourth point. We have actually a very nice code example with the log how this filtering can be done with CSS. Also, a good learning experience - it was for me !!!

@JakobVogelsang
Copy link
Collaborator

To the SCL related question above:

Be careful as the name tControlBlock is missleading. This is a complex type purely used in the Communication section. You are mixing it with tConntrolWithTriggerOpt and tControl that are complex types used to define commons of control blocks in the IED section

@danyill
Copy link
Collaborator Author

danyill commented Mar 22, 2022

The elements Ropert, GSEControl and SampledValuesControl do look very alike in the list. May the icons we have for those might be usefull? Or having three seperate lists?

I like the fourth point. We have actually a very nice code example with the log how this filtering can be done with CSS. Also, a good learning experience - it was for me !!!

Thanks for your feedback. 👍

I have mocked up an interface as I think you suggested:

image

  1. For the icon to exist the checkboxes must return to the right. OK, I'll choose a max-width of about 700px to prevent visual drifting.
  2. I am having a small battle with the CSS to the filtering but I hope to soon be victorious. The purple is selected in the picture above.
  3. I think the existing log interface is a little buggy. Partly because the colours don't change for me in Chrome as I click on the buttons but I can work around that here. More bothersome is that sometimes the "hover shadow" doesn't leave when the mouse cursor goes away from the button. I may try to figure this out.

To the SCL related question above:

Be careful as the name tControlBlock is missleading. This is a complex type purely used in the Communication section. You are mixing it with tConntrolWithTriggerOpt and tControl that are complex types used to define commons of control blocks in the IED section

OK. My line of thought is that following this diagram I expected to find a definition of tAddress which contained or referenced tControlBlock which I think must have tCBName and yet it does not.

Incidentally, on that topic should this function also be removing the items in the red square in the picture below if the tick box at the bottom is checked?

image

In which case the tick box would say: "Remove dependent elements" or similar. WDYT. Are there other elements we should consider?

I currently think the default action, even in the cleanup should be to result in a conforming file which means if the following reference the control block they should be removed:

  • tServiceSettings
  • tReportSettings
  • tGSESettings
  • tSMVSettings

Should this also include relevant ExtRef elements in the Inputs section?

Hmm... I think I need to do some refactoring so this won't be ready for code review for a little while yet.

* Add filtering for control types (incomplete)
* Add icons for each item
@danyill
Copy link
Collaborator Author

danyill commented Mar 22, 2022

I currently think the default action, even in the cleanup should be to result in a conforming file which means if the following reference the control block they should be removed:

  • tServiceSettings

  • tReportSettings

  • tGSESettings

  • tSMVSettings

Should this also include relevant ExtRef elements in the Inputs section?

Interestingly, removeReportControlAction in the Wizard reportcontrol.ts does not do any of this either.
Perhaps it doesn't need to? Perhaps "undefined references" should be its own stage of cleanup/validation.
While a file may pass schema validation without this it seems messy to me.

@JakobVogelsang
Copy link
Collaborator

Hi @danyill,

you got it right, we do not check everything when adding, editing and removing things. This is why I am so careful to not call it a system configuration tool. OpenSCD is at this time and stage an incomplete SCL editor. We are heading towards the goal to become a complete SCL editor, which I think can be done in a couple of months. There are two things we decided to do it like that. 1. There are usecase where global validity checks are not needed, or in other works were a pure SCL editor makes sence to have already. 2. I did not have confidence/knowledge at the beginning to do all the needed checks. Those checks I know not need to be installed globally so they are usable by all plugin authors. If you want to see some first things we check globally have a look at Editing, where we check duplicate name attribute within the same parent and for global unique id attributes.

As the plugin author, you can decide how you want to deliver the Cleanup editor. If you want to make it complete from the beginning, I can offer you to add some IEC 61850 requirements on the issues you are working on. For me, it is approvable if you don't violate the schema.

Best regards,
Jakob

@danyill
Copy link
Collaborator Author

danyill commented Mar 23, 2022

Thank you for this feedback.

  1. I have now finished the UI work associated with the feedback above (icons and filters). I hope you like it!

  2. I have refactored each cleanup into a separate file (possibly introducing regressions or cruft particularly for the CSS)

  3. I would be grateful for a quick usability review to see how the filters work/feel with the checklist (in the particular the check all button). The test/testfiles/cleanup.scd should give a flavour. For a more difficult case, I'm using this:

    IOP_2019_HV_v9_ed2.1.scd.zip

    I think the UI is more interesting and better (but also more complex). The CSS filtering is neat.

    I am now too close to it to understand whether it is easy to use or clean or intuitive.

@JakobVogelsang
Copy link
Collaborator

Thank you for this feedback.

1. I have now finished the UI work associated with the feedback above (icons and filters). I hope you like it!

2. I have refactored each cleanup into a separate file (possibly introducing regressions or cruft particularly for the CSS)

3. I would be grateful for a quick usability review to see how the filters work/feel with the checklist (in the particular the check all button). The `test/testfiles/cleanup.scd` should give a flavour. For a more difficult case, I'm using this:
   [IOP_2019_HV_v9_ed2.1.scd.zip](https://github.com/openscd/open-scd/files/8337160/IOP_2019_HV_v9_ed2.1.scd.zip)
   I think the UI is more interesting and better (but also more complex). The CSS filtering is neat.
   I am now too close to it to understand whether it is easy to use or clean or intuitive.

Hi @danyill,

I had a look at the UI and like it a lot. The buttons work very intuitively, and you would get my approval on this already. I had an idea how to solve the discussion with dynamic reporting: why not filter our report control blocks per default. I think this way the tool would signalize that removing those are not very common.

Furthermore, I had a first glimpse at the code and this is looking promising too! Isn't it crazy how performant the CSS filtering works! This stuff is great, unfortunately harder to test as well. We need visual regression test at the end.

What do you think can I start with code review? Or do you want to add/edit/remove something first?

@JakobVogelsang
Copy link
Collaborator

JakobVogelsang commented Mar 24, 2022

The elements Ropert, GSEControl and SampledValuesControl do look very alike in the list. May the icons we have for those might be usefull? Or having three seperate lists?

I like the fourth point. We have actually a very nice code example with the log how this filtering can be done with CSS. Also, a good learning experience - it was for me !!!

Thanks for your feedback. 👍

I have mocked up an interface as I think you suggested:

image

1. For the icon to exist the checkboxes must return to the right. OK, I'll choose a max-width of about 700px to prevent visual drifting.

2. I am having a small battle with the CSS to the filtering but I hope to soon be victorious. The purple is selected in the picture above.

3. I think the existing log interface is a little buggy. Partly because the colours don't change for me in Chrome as I click on the buttons but I can work around that here. More bothersome is that _sometimes_ the "hover shadow" doesn't leave when the mouse cursor goes away from the button. I may try to figure this out.

To the SCL related question above:
Be careful as the name tControlBlock is missleading. This is a complex type purely used in the Communication section. You are mixing it with tConntrolWithTriggerOpt and tControl that are complex types used to define commons of control blocks in the IED section

OK. My line of thought is that following this diagram I expected to find a definition of tAddress which contained or referenced tControlBlock which I think must have tCBName and yet it does not.

Incidentally, on that topic should this function also be removing the items in the red square in the picture below if the tick box at the bottom is checked?

image

In which case the tick box would say: "Remove dependent elements" or similar. WDYT. Are there other elements we should consider?

I currently think the default action, even in the cleanup should be to result in a conforming file which means if the following reference the control block they should be removed:

* `tServiceSettings`

* `tReportSettings`

* `tGSESettings`

* `tSMVSettings`

Should this also include relevant ExtRef elements in the Inputs section?

Hmm... I think I need to do some refactoring so this won't be ready for code review for a little while yet.

For this feature I would should as a minimum consider the followings:

  1. Removing DataSet: nothing as there cannot be any valid ExtRef to a DataSet that is not used by a control block
  2. Removing GOOSE/SMV: as a minimum, remove the GSE and the SMV element in the Communication section.
  3. Removing ReportControl: as a minimum nothing

We do not need to remove anything from the Service section. The settings there tell you what you can and cannot do in the IED the Service section resides in.

A SCT should in addition consider the ReportSettings, LogSettings, GSESettings and SMVSettings. If any of the control block setting and the control block name there is Fix !! which is also the default!! the SCT may not be able to remove those from the SCL file.

@danyill
Copy link
Collaborator Author

danyill commented Mar 24, 2022

I had a look at the UI and like it a lot. The buttons work very intuitively, and you would get my approval on this already. I had an idea how to solve the discussion with dynamic reporting: why not filter our report control blocks per default. I think this way the tool would signalize that removing those are not very common.

Thank you.
That is a good idea 💡 It shall be as you wish. In fact it already is 🧚‍♂️

Furthermore, I had a first glimpse at the code and this is looking promising too! Isn't it crazy how performant the CSS filtering works! This stuff is great, unfortunately harder to test as well. We need visual regression test at the end.

It is quite performant although I have to iterate over all items and add them to a class. Hmmm there may be an easier way to do that all in one go?

I think it may be beyond my ability to add visual tests at this time at least as part of this PR.

What do you think can I start with code review? Or do you want to add/edit/remove something first?

I am sorry for the delay ⏳, I am but a 🐌 who dreams of being a 🐇

What I want to do:

  1. split apart the cleanup containers in the code (done now)
  2. make the tests separate (done now)
  3. add some tests for this new set of control block cleanup (this weekend)
  4. leave it two days for contemplation (I really best study the flex: clamp statement to see if what I've done is in any way defendable for instance)

but if you want to review, at any time I will be most pleased 🙏 . I think it is now in a half reasonable state...

I've done the first two and pushed them now so at least it is not all horribly munged into one file. I think that will improve review and maintenance.

For this feature I would should as a minimum consider the followings:

Removing DataSet: nothing as there cannot be any valid ExtRef to a DataSet that is not used by a control block
Removing GOOSE/SMV: as a minimum, remove the GSE and the SMV element in the Communication section.
Removing ReportControl: as a minimum nothing

We are in luck, I think that is what I have done 🎉

Incidentally:

  • I do not know what is happening with tests.
  • CI on Github sometimes takes more than an hour
  • The snapshots are also doing something a bit odd, SMV and subscription sld-drawing seem to refresh even though I'm very confident I haven't touched these...

@danyill danyill marked this pull request as ready for review March 27, 2022 18:09
Copy link
Collaborator Author

@danyill danyill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few questions from me.

@danyill
Copy link
Collaborator Author

danyill commented Mar 27, 2022

Things not done:

  • When we have checks on the checklist items, they disappear if we click on the "detail view" icon to take a peek which is not great (and as a user would enrage me 😡). I played with some localStorage to try and find a workaround but was not successful so far.

  • I haven't written tests for the "detail view" icon associated with each list item for either the dataset or control block cleaning.

  • I haven't written tests for the enable and disable of the Remove Address button, I think this is mainly cosmetic.

Copy link
Collaborator

@JakobVogelsang JakobVogelsang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Close to be merged. Most comments are just a hint, except the

  • variable names
  • property definition
  • import order

I did not see any bugs!! GREAT work on this one, and thank you very much for your contribution!!

src/editors/cleanup/datasets-container.ts Outdated Show resolved Hide resolved
src/editors/cleanup/datasets-container.ts Show resolved Hide resolved
src/editors/cleanup/datasets-container.ts Show resolved Hide resolved
src/editors/cleanup/control-blocks-container.ts Outdated Show resolved Hide resolved
src/editors/cleanup/control-blocks-container.ts Outdated Show resolved Hide resolved
src/translations/de.ts Outdated Show resolved Hide resolved
src/translations/en.ts Show resolved Hide resolved
@JakobVogelsang
Copy link
Collaborator

  • f

On a global scale, this is the same issue as the performance issues we discuss at the moment. We need to have a closer look, when do we re-render what. As a dirty quick solution, you could use a global variable. An object, probably to save the control block identity as the object key and the selected status as the value of the object.

@danyill
Copy link
Collaborator Author

danyill commented Mar 31, 2022

👍 Thank you for this feedback, I hope to respond and improve over the weekend.

@danyill
Copy link
Collaborator Author

danyill commented Apr 2, 2022

As a dirty quick solution, you could use a global variable. An object, probably to save the control block identity as the object key and the selected status as the value of the object.

I think we'll skip the dirty quick solution for now or address this in a separate issue/PR.

Copy link
Collaborator

@JakobVogelsang JakobVogelsang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@JakobVogelsang JakobVogelsang merged commit e63f11f into openscd:main Apr 6, 2022
JakobVogelsang pushed a commit to JakobVogelsang/open-scd that referenced this pull request Jun 7, 2022
* ci: add github actions for test, build and deploy (openscd#347)

* ci: add test github action on push

* ci: fix incorrect worksflows path

* ci: fix syntax error in test action

* ci: add test and build action for pull requests

* ci: add github action to deploy on openscd.github.io

* feat(wizards/fcda): add data(FCDA) to existing DataSets (openscd#338)

* feat(foundation): add object/array depth utility function

This function returns the (possibly infinite) depth of the nested Array/Object given as the first argument, or zero if not given an Array or Object as an argument.

* feat: add finder-list component

This adds a finder-list component modeled after the previous finder-pane but with the "getContents" method renamed to "read" and an additional boolean attribute "multi" which may be set to allow simultaneous selection of multiple entries at every level of the hierarchy.

* refactor(menu/Help): replace finder-pane with finder-list

* refactor: remove finder-pane

* feat(finder-list): add methods to overwrite list item text and search field label

* test(finder-list): update snapshots

* chore(package): upgrade lockfile

* fix(finder-list): fix getPaths with provided depth

* test(finder-list): getTitle and getDisplayString

* fix(finder-list): don't display leaf node content

* feat(filtered-list): add abbr to search field (openscd#339)

* feat(wizards/fcda): add create FCDAs capability (openscd#345)

* feat(wizard/foundation): add function for data model navigation

* feat(wizards/fcda): add create wizard based in finder-list

* test(wizards/fcda): refactor unit tests

* feat(wizarding/dataset): add ADD FCDA button to edit wizard

* test(wizards/fcda): add integration test

* refactor(wizards/fcda): change create function name

Co-authored-by: Jakob Vogelsang <jakob.vogelsang@omicronenergy.com>
Co-authored-by: Jakob Vogelsang <jakob-vogelsang@posteo.de>

* fix(editor-container): some UI related issues (openscd#357)

* fix(editor-container): prevent margin collapse

* refactor(editor-container): remove child slot name

* fix(editor-container): make sure focus is triggered for slotted elements

* fix(editor-container): make sure menu is in the right upper corner

* feat(wizards/dataset): delete deselected FCDA (openscd#358)

* refactor(wizards/fcda): select all FCDA of wizard initialization

* fix(foundation): fCDAIndentity

* feat(wizards/fcda): remove unselected FCDA with update action

* fix(editor-container): minor UI issues (openscd#371)

* fix(editor-container): missing tabindex on root editor-container

* test: adapt snapshots

* refactor(substation-editor): remove unused section close tag

* fix(editor-container): remove overflow set padding to prevent margin collapse

* refactor(foundation): make reference within editor-action optional  (openscd#325)

* refactor(foundation): change EditorAction api make reference optional

* refactor(Editor): get reference onAction with undefined reference

* test(Editing): add integration test

* fix(lnodetype-wizard): fix getReference with addig LNodeType from template

* refactor(templates): remove reference from create actions

* refactor(communication): remove reference from create actions

* refactor(substation): remove reference from create action

* refactor(templates): remove reference from create action

* refactor(communication mapping): remove reference from create action

* refactor(iedimport): remove reference from create action

* feat(menu/UpdateDescritionABB): update ABB ExtRef with internal signal description (openscd#374)

* fix(foundation): extRefIdentity definition

* feat(menu/UpdateDescriptionABB): add with unit tests

* test(menu/UpdateDescriptionABB): add integration tests

* refactor(menu/UpdateDescriptionABB): add translations

* test(menu/UpdateDescriptionABB): improve unit tests

* refactor(menu/updatedescABB): minor improvement triggered by review

* refactor(menu/updatedescABB): minor improvement triggered by review

* style(filted-list): remove dotted underlining in filter field (openscd#398)

* refactor(editor-container): replace with more generic action-pane (openscd#400)

* feat: add action-pane component

The new action-pane component is the extraction of the pure user interface part of the old editor-container component, meant to replace the latter while being usable in a more generic way.

* refactor: use action-pane in place of editor-container

* refactor(zeroline): use action pane (openscd#399)

* refactor(zeroline): allow adding child elements to action-pane

* style(action-pane): adapt styling

* test(action-pane): add unit tests

Co-authored-by: Jakob Vogelsang <jakob-vogelsang@posteo.de>

* First version Single Line Diagram editor (openscd#376)

* Added initial Single Line Diagram editor

* Fixing unit tests

* First batch

* Every element is a group now

* Bit of refactoring

* Bit of refactoring

* Refactoring

* Added Connectivity Node route drawing

* Some refactoring

* refactoring

* Added terminal check for Connectivity Nodes

* Very small refactoring

* Finalized BusBar

* First try using equipment icons

* Added elements

* refactoring

* Added first SingleLineDiagram unit test

* Fixing build

* Added unit tests for foundation

* Remove panzoom temporary, because it's not working correctly during testing

* Small refactoring

* Added different text size for different components

* Remove text from Connectivity Node

* Added unit tests

* Added terminals

* small refactoring

* Refactoring

* Refactoring

* More refactoring

* More refactoring

* More refactoring + adding Panzoom

* Review comment

* Work after review

* Removed embedded SVG implementation

* refactor: make eslint happy

* refactor(SingleLineDiagram): filter for ConnecitvityNode grounded

* refactor(editors/singlelinediagram/sld-drawing): make use of the transform attribute

* test(editors/singlelinediagram/sld-drawing): remove osolet tests

* refactor(SingleLineDiagram): hide overflow of SLD

* refactor: use identity string as identifier

* refactor(singlelinediagram/sld-drawing): import connectivityNode directly

* feat(icons): add two winding power transformer icon

* refactor(SingleLineDiagram): simplify position/coordinates handling

* refactor: simplify bas bar length calculation

* feat(SingleLineDiagram): add PowerTransformer to SLD

* fix(SingleLineDiagram): not connected route in SLD Editor (openscd#391)

* Intermediate commit

* Added default dimensions for ConductingEquipment

* Slow revert

* Make ESLint happy

* Small refactoring

* Removed drawRoute alias

Co-authored-by: Rob Tjalma <rob@tjalma.com>

* Added terminal and Connectivity Node information (openscd#402)

* Added terminal/connectivity node information

* Removed console.log

* Some refactoring

* Small refactoring

* fix(translations/de): add missing German translations

Thank you very much for adding these nice wizards to translate! 👍

Co-authored-by: Rob Tjalma <rob@tjalma.com>
Co-authored-by: Christian Dinkel <chhildeb@gmail.com>

Co-authored-by: Rob Tjalma <rob@tjalma.com>
Co-authored-by: Jakob Vogelsang <jakob.vogelsang@omicronenergy.com>
Co-authored-by: Christian Dinkel <chhildeb@gmail.com>

* test: replace karma with web-test-runner (openscd#401)

* chore: add initial web-test-runner config

* refactor: distrubute custom element import statements (openscd#395)

* refactor: distribute custom element imports

* test: import statements in unit and integratons tests

* fix: add missing import statements

Co-authored-by: Christian Dinkel <chhildeb@gmail.com>

* chore: remove karma config

* test: remove karma path definition to testfiles

* test: downgrade open-wc/testing and wtr to avoid lit2.0 collision

* test: await equalSnapshot

* chore: update package and package-lock

* chore: update package-lock after rebase

* test: remove karma base path

* test: add unit and integration test group

* test: add missing --group on script test

* chore(web-test-runner): run tests directly on *.ts files

* refactor: remove escapes from pattern string definition - conflit with wtr snapshot generation

* test: remove karma snapshots add wtr snapshots

* chore: update package-lock

* test: make zero-line unit test fail save

* chore: move snowpack config to snopack.config file

Co-authored-by: Jakob Vogelsang <jakob.vogelsang@omicronenergy.com>
Co-authored-by: Jakob Vogelsang <jakob-vogelsang@posteo.de>

* refactor(SingleLineDiagram): improvements in perormance and visualizasion (openscd#403)

* feat(SingleLineDiagram): add ortho-connector pathfinding algorithm

* refactor(SingleLineDiagram): move to new ortho-connecotr

* test(SingleLineDiagram): fix and add unit tests

* Small unit test fix

* refactor(sld-drawing): rebase to main

* test: disable invalid SingleLineDiagram.test.ts

* test: remove invalid SingleLineDiagram test

* refactor(ortho-connector): improve performance

* test(connectivitynode): add snapshot test

* test(wizards/terminal): add snapshot test

* fix(singlelinediagram/foundation): fail save connectivitynode allocation

Co-authored-by: Rob Tjalma <rob@tjalma.com>

* feat(SingleLineDiagram): open onclick ConductingEquipment edit wizard

* Added Edit Wizard to ConductingEquipments

* Whole g element is now clickable

* fix(SingleLineDiagram/sld-drawing): make click event on ConductingEquipment optional

Co-authored-by: Rob Tjalma <rob@tjalma.com>
Co-authored-by: Jakob Vogelsang <jakob.vogelsang@omicronenergy.com>

* chore(release): 0.8.0

* Small fix for connecting routes to Connectivity Nodes

* refactor: add action-icon (openscd#436)

* feat(action-icon): add new web-component

* refactor(conducting-equipment-editor): use action-icon (openscd#417)

* refactor(conducting-equipment-editor): use action-icon

* fix(condicting-equpment-editor): add missing import statement

* refactor(ied-editor): use action-icon (openscd#418)

* refactor(communication/connectedap-editor): use action-icon (openscd#420)

* style(action-icon): make sure footer transform does not effect parent CSS (openscd#419)

* fix(action-icon): make sure footer transform does not effect other CSS

* refactor(action-icon): improve styling

* refactor(action-icon): adjust action timing for header

* test(action-icon): adapt snapshots

* style(action-icon): minor changes

Co-authored-by: Jakob Vogelsang <jakob.vogelsang@omicronenergy.com>
Co-authored-by: Jakob Vogelsang <jakob-vogelsang@posteo.de>

* fix(wizards/fcda): remove incorrect iedName from FCDA (openscd#446)

* style(zeroline/ied-editor): allow longer IED name (openscd#447)

* Initial test with 12 characters

* Allow footer text in action-icon to be full size

* feat(editors/SingleLineDiagram): allow selecting the Substation element (openscd#449)

* Added selector on Substation so the User can select wihich Substation to show.

Signed-off-by: Dennis Labordus <dennis.labordus@alliander.com>

* Refactor drawing the SLD. And fixed bug of missing cNodes.

Signed-off-by: Dennis Labordus <dennis.labordus@alliander.com>

* Fixed review comments.

Signed-off-by: Dennis Labordus <dennis.labordus@alliander.com>

* Fixed review comments.

Signed-off-by: Dennis Labordus <dennis.labordus@alliander.com>

* Fixed review comments.

Signed-off-by: Dennis Labordus <dennis.labordus@alliander.com>

* chore(snowpack.config): exclude git folder

* feat(editors/SingleLineDiagram): allow updating X/Y coordinates in SLD for Busbar/ConductingEquipment/PowerTransformer (openscd#455)

* In SLD X/Y Coordinates can be updated with a Dialog. Also made changes to drawing the SLD regarding groups.
* In SLD X/Y Coordinates can be updated with a Dialog. Also made changes to drawing the SLD regarding groups.
* Auto size the SVG and configure the panzoom.
* Added more tests for the wizards of SLD.
* Updated German translation for new labels.
* Fixed entering negative or invalid numbers, will set coordinate to zero.
* Review comments.

* feat(editors/ied): add read only data model structure (openscd#423)

* Added IED Container

* Added tests

* Added Access Point container

* Added Server container

* Added LDevice container

* Added LN Container

* Added DO container

* Fixing unit tests IED container

* Fixing Unit tests AccessPoint container

* Fixing Unit tests Server container

* Fix unit tests LDevice container

* Added padding

* fix broken test

* Fixing LN container unit tests

* Added IED drop down

* Small addition

* Added integration test for IED filter

* Small refactoring

* IED list is now ordered alphabetically

* Refactoring

* Added check for available IEDs

* First batch of review adjustments

* Second batch of review stuff

* Some more refactoring

* Batch review comments

* Batch review comments

* refactor(editors/IED): add german translation

* feat(editors/ied): add DO elements to IED editor (openscd#454)

* Added DO/SDO elements

* Added DO/SDO/DOI/SDI

* Added unit tests ln-container

* Made methods private in ln-container

* Added do-container snapshot tests

* Added batch of do-container unit tests

* Review comments

Co-authored-by: Rob Tjalma <rob@tjalma.com>

* Added basic DA container for DA/DAI show

* Added BDA container

* Added value css

* Added Enum container

* Refactoring

* Refactoring + Adding Unit Tests

* Added Enum Tests

* Small refactoring

* First review comments + Added toggle action

* Bugfix when showing DA data

* Small refactoring

* Added toggle test for ln-container

* refactor(ied/da-container,do-container): code improvements

* Added consistent toggle functionality

* Added da container unit tests

* Added da container unit tests

* Small typo

* Revert browserLogs to false

Co-authored-by: Jakob Vogelsang <jakob.vogelsang@omicronenergy.com>
Co-authored-by: Jakob Vogelsang <jakob-vogelsang@posteo.de>

* When switching substation viewbox also recalculated and panzoom reset.

* fix(editors/template/lnodetype): fix incorrect pattern for lnClass (openscd#469)

* fix(editors/template/lnodetype-wizards): fix incorrect pattern for lnClass

* test(editors/template/lnodetype): update snapshot

* refactor(editors/connectedap-editor): move wizards to wizard library (openscd#448)

* refactor(wizards/connectedap): move wizards

* refactor(wizards/connectedap): edit wizard and its imports

* test(wizards/connectedap): move wizarding tests to unit test

* refactor(wizards/connectedap): update action and its tests

* refactor(wizards/connectedap): create wizard its action and tests

* test(connected-ap): remove leftover snapshot

* refactor(wizards/connected-ap): better function naming

* test(wizards/connectedap): better naming

* feat(foundation): allow dynamic wizards (openscd#471)

* feat(foundation): allow dynamic wizards

* test: adapt tests

* feat(UpdateDescriptionSEL): add menu type plugin for SEL specific IEDs (openscd#424)

* feat(menu/UpdateDescriptionSEL): add plug-in menu type plugin

* feat(menu/UpdateDescriptionSEL): add unit tests

* refactor(menu/UpdateDescriptionSEL): add better csv parser

* test(menu/UpdateDescriptionSEL): update open-scd snapshot

* feat(zeroline): show SampledValueControl for IED and whole project (openscd#477)

* feat(wizards/sampledvaluecontrol): add select wizard

* feat(zeroline-pane): add button to trigger SMV select wizard

* feat(zeroline/ied-editor): access SampledValueControl elements

* feat(editors/ied): Changed icon of IED Editor (openscd#481)

* Fix test of SampledValueControl (openscd#482)

* feat(editors/ied): Add toggle for LDevice child elements (openscd#484)

* chore(package): update dependency to close security issue

* chore(release): 0.8.1

* fix(Help): hot-fix incorrect import statement

* chore(release): 0.8.2

* test(editors/IED): Added some missing unit tests (openscd#487)

* Add missing LN unit test

* Added next few unit tests

* Added some more unit tests for IED edtiro

* fix(editors/SingleLineDiagram): added check if a substation is available/selected before drawing

* feat(wizards/reportcontrol): added new IED wizard to update name/description (openscd#494)

* Added first version of IED Wizard.
* Added function to update reference to IED Name.
* Updated values referring to the IED Name.
* Updated values referring to the IED Name.
* Processed review comments.
* Fixed and improved tests.

* fix(editors): In IED and SLD Editors fixed preserving the selection (IED or Substation) (openscd#501)

* Fix reseting the select field when opening a Wizard in both SLD Editor and IED Editor.
* Fix reseting the select field when opening a Wizard in both SLD Editor and IED Editor.
* Fix reseting the select field when opening a Wizard in both SLD Editor and IED Editor.
* Refactor by saving name, not element, and query element using name.
* Added some extra comments.

* feat(wizards/reportcontrol): allow basic ReportControl manipulation capability (openscd#505)

* feat(wizards): add OptFields edit wizard

* feat(wizards): add edit wizard for TrgOps element

* feat(wizards/reportcontrol): add edit wizard for ReportControl element

* test(wizard/reportcontrol): remove unused import statements

* refactor(wizards/reportcontrol): minor improvements

* feat(wizards/reportcontrol): add select wizard

* feat(zeroline/ied-editor): add show report action (openscd#438)

* test: fix issues triggered by rebase onto main

* feat(wizards/reportcontrol): access edit wizard from select wizard (openscd#492)

* feat(wizards/reportcontrol): access edit wizard from select wizard

* test(wizards/reportcontrol): fix issues found in review

* feat(wizards/reportcontrol): add remove option to edit wizard (openscd#493)

* feat(wizards/reportcontrol): add remove option to edit wizard

* test(wizards/reportcontrol): fix rebase issues

* feat(wizards/reportcontrol): add related sub-wizards (openscd#499)

* refactor(wizards/trgops): remove intPd manipulation as it collides with dynamic reports

* refactor(wizards/dataset): disable name update and move action button to bottom

* refactor(wiazrds/fcda): adapt for dynamic sub-wizards

* feat(translation): add scl terms

* feat(wiazrds/reportcontrol): add related sub wizards

* test(wizards/reportcontrol): update snapshot

* refactor(wizards/reportcontrol): better naming

* refactor(zeroline/ied-editor): re-arange action buttons

* fix(wizards/dataset): correct display of FCDA for DataSet within LN

* fix(zeroline): incorrect tooltips

* refactor(editors/substation/conductingequipment): change earth-switch symbol (openscd#460)

* Add earth switch icon

* Revise earth switch detection logic. Closes openscd#459

* Reduce viewbox to 25x25 px for ES icon

* Remove bottom line from ES

* Add test for ERS type logic. Adjust logic for XSWI LNode

* Flip ERS icon

* lint

* revert changes to single line diagram

* Add docstring

* Respond to review comments.
Support prefix attribute for LNs.
Support fully qualified LN without IED name specified.

* Respond to review comments, correct errors

* Move ERS arm to LHS, starting from grounded side

* Add docstring

* fix(wizards/fcda): make sure lnInst is non empty string (openscd#512)

* fix(wizards/fcda): make sure lnInst is non empty string

* refactor(wizards/fcda): improve readablity

* refactor(wizards/gsecontrol): use dynamic sub-wizards (openscd#507)

* test(testfiles/gsecontrol): remove unused information

* refactor(wizards/gsecontrol): use dynamic sub-wizards

* refactor(zeroline-pane): use dynamic sub-wizard for GSEControl select wizard

* refactor(zeroline/ied-editor): use dynamic sub-wizard for GSEControl select wizard

* refactor(wizards/gse,dataset): fix primary action icon, label

* refactor(wizards/dataset): little sugar for the linter, well done linter

* feat(wizards/sampledvaluecontrol): add edit wizards accessable from selection (openscd#510)

* feat(translation): add/fix SCL terms

* feat(wizards/sampledvaluecontrol): add edit wizard

* feat(zeroline): start sampledvaluecontrol as subwizard

* refactor(wizards/sampledvaluecontrol): import statements and update action

* test(wizards/sampledvaluecontrol): add integration tests

* fix(zeroline): remove incorrect SubWizard trigger

* fix(wizards/sampledvaluecontrol): add missing pattern

* feat(editors/SingleLineDiagram) Allow edit/move of bays (openscd#504)

feat(editors/SingleLineDiagram) Allow edit/move of bays (openscd#504)

* style: make landing buttons reactive (openscd#527)

The fact that the landing buttons only look nice if I have exactly two of them has been bothering me for a long time.

This patch finally fixes that by making the display of the landing buttons reactive.

* style(action-pane): clip heading label (openscd#528)

this prevents long headings from extending across the right pane border on small screens

* style: center landing icons (openscd#529)

Make sure to center the landing icons on the page

* feat(settings): load nsdoc to local storage (openscd#502)

* Implemented adding document to localStorage

* Refactor

* Fix unit tests

* Adding unit tests

* Refactor

* Refactor translation

* Fixing snapshot test

* Review comments

* Added version text for NSDocs

* Review comments

* Merge with stash

* feat(wizards/settings): Added Nsdoc plugin + Show LN names (openscd#516)

* Added first version nsdoc plugin

* Added plugin

* Refactoring

* Refactoring with Jakob

* Added LN name

* Removed multiple usages of DOMParser

* Added refactored nsdoc foundation

* Added tests

* Changed name of testfile to lowercase

* Fixed double names

* review comments

* Review comment

Co-authored-by: Dennis Labordus <dennis.labordus@alliander.com>

* fix(menu/Help): incorrect import of markup parser (openscd#531)

* feat(wizards/smv): add edit wizard and allow access from sampledvaluecontrol wizard (openscd#519)

* fix(wiazrds/address): wrong wizard input definition

* fix(translation): complex action title

* feat(wizards/smv): add edit wizard

* feat(wiazrds/sampledvaluecontrol): allow access to scm wizard

* chore(release): 0.9.0

* refactor(editor/communication): move wizards to wizard library (openscd#489)

* refactor(wizards/subnetwork): move wizards

* refactor(editors/communication/subnetwork-editor): minor changes/doc

* refactor(editors/communication/subnetwork-editor): use action-pane

* refactor(editors/communication): minor code improvements

* refactor(editors/foundation): remove selectors

* refactor(editors/communication/subnetwork-editor): fail save selector

* refactor(wizards/subnetwork): update edit wizard

* refactor(wizards/subnetwork): create wizard and its tests

* refactor(editors/communication/subnetwork-editor): minor improvements

* refactor(editors/communication/subnetwork-editor): remove code duplication

* style(editors/communication/subnetwork-editor): adjust CSS

* refactor: resolve review comments

Co-authored-by: cad <cad@sdf.org>

* refactor(plugins): improve extensions dialog UI (openscd#538)

* feat(editors/IED): display IED data attributes namespace description (openscd#522)

* Implemented adding document to localStorage

* Refactor

* Fix unit tests

* Adding unit tests

* Refactor

* Refactor translation

* Fixing snapshot test

* Review comments

* Added version text for NSDocs

* Review comments

* Merge with stash

* feat(wizards/settings): Added Nsdoc plugin + Show LN names (openscd#516)

* Added first version nsdoc plugin

* Added plugin

* Refactoring

* Refactoring with Jakob

* Added LN name

* Removed multiple usages of DOMParser

* Added refactored nsdoc foundation

* Added tests

* Changed name of testfile to lowercase

* Fixed double names

* review comments

* Added DO/DA description show

* Fix unit tests

* Changed referenceInfoTags variable name

* Review comment

* Removed the dots between toggle icon and info icon

* Refactor

* Added unit tests

* Added unit tests

* Removed not used nsdocs (yet)

* Fixing weird console error

* Added SDO support

* Added BDA support

* Extended BDA support

* Small refactoring

* partial 8-1 support

* Refactoring

* Small refactoring

* Added DA 61850-8-1 support unit tests

* Added unit tests

* Added unit tests

* Added separate SDO getDataDescription

* Refactor getDataDescription signature

* Review comments

* Refactoring

* Added comments

* Fixing unit tests

Co-authored-by: Dennis Labordus <dennis.labordus@alliander.com>

* feat(wizard-checkbox): web component for xs:boolean XML attributes (openscd#537)

* feat(wizard-checkbox): web component for xs:boolean attributes

* feat(foundation): add wizard-checkbox to WizardInputs

* refactor(wizard/gsecontrol): use wizard-checkbox

* refactor(wizard-checkbox): improvements triggered by review

* refactor(wizard/optfields): use wizard-checkbox

* refactor(wizard/trgops): use wizard-checkbox

* refactor(wizard/reportcontrol): use wizard-checkbox

* refactor(wizard/sampledvaluecontrol): use wizard-checkbox

* refactor(wizard/da,bda): use wizard-checkbox

* refactor(editors/template/lnodetype): use wizard-checkbox

* refactor(wizards/abstractda): use wizard-checkbox

* refactor(wizards/foundation): remove unused function

* feat(wizard/sampledvaluecontrol): allow removing including referenced elements (openscd#536)

* feat(Settings): Handle difference in version before uploading nsdoc file (openscd#541)

feat(Settings): Handle difference in version before uploading nsdoc file

* chore(release): 0.10.0

* fix(Settings): remove 'undefined' when no NSDoc version can be read

* feat(wizards/smvopts): add edit wizard (openscd#547)

* feat(translations): add smvOpts related

* feat(wizards/smvopts): add edit wizard

* feat(wizards/sampledvaluecontrol): add smvopts button

* fix(translation): spelling

Co-authored-by: danyill <danyill@users.noreply.github.com>

* fix(translations): spelling

Co-authored-by: danyill <danyill@users.noreply.github.com>

Co-authored-by: danyill <danyill@users.noreply.github.com>

* fix(editors/template): three minor issues (openscd#565)

* fix(public/templates): wrong unit value

* fix(edits/template/lnodetype): DO must not have attribute bType

* fix(editors/template/dotype): missing namespace def for new DOType

* refactor(editors/template): use subwizard option (openscd#566)

* fix(editors/template): create element with NS definition (openscd#567)

* fix(wizard/foundation/limits): abstractDataAttributeName (openscd#573)

* fix(wizard/foundation/limits): abstractDataAttributeName

* test(wizards/abstractdabda): snapshot update

* test(wizards/da,bda): fix snapshots

* feat(plugins/IED): Added Functional Constraint value to DA Container.

* refactor(foundation): rename Update to Replace

* feat(wizards/reportcontrol): add create wizard (openscd#544)

* refactor(wizards/trgops): improve code for better sharing

* refactor(wizards/optfields): improve code for better sharing

* feat(icons): add report control

* feat(foundation): add function that gives unique names

* refactor(wizards/fcda): move finder-list definition

* add to optfields commit

* add to trgops commit

* feat(wizards/reportcontrol): add create wizard and location selector

* refactor(wizards/reportcontrol): restrict parent selection to IED

* refactor(wizards/reportcontrol): better naming

* fix(wizards/reportcontrol): fix invalid parent handling

* feat(wizards/reportcontrol): hide add report button with missing valid parent

* test(wizards/reportcontrol): improve unit tests

* test(wizards/reportcontrol): add integration tests

* test: remove dead snapshot definitions

* fix: merge conflicts

* fix(wizards/reportcontrol): wrong rptID definition

* fix(wizards/reportcontrol): configuration revision handling

* fix(icons): remove unused icon

* chore(release): 0.11.0

* feat(Editing): check globally for ID uniqueness

* feat(plugins/IED): Add icon set to IED editor containers

* style(wizard-checkbox): highlight human readable information (openscd#581)

* fix(editors/template): properly update xxxType list after add/editing (openscd#582)

* fix(action-pane): adjust css rules for icon slot (openscd#594)

* fix(editors/template): on id attribute update adopt references as well (openscd#590)

* fix(editors/templates/lnodetype): make sure to update referenced lnType on id change

fixup-with-first

* fix(editors/template/dotype): make sure to uo update referenced type on id change

fixup-with-second

fixup-with-first

* fix(editors/template/datype): make sure to update ids references on id update

fixup-with-third

* fix(editors/template/enumtype): update id references on id attribute update

* fix(translations): in-cooperate review comments

* feat(editors/Substation): Add PowerTransformer Components to Substation Editor

* refactor(wizards/reportcontrol): use report update action

* fix(plugin/IED) da-container/do-container snapshot files keep refreshing when building OpenSCD

* feat(plugins/SampledValues): Create Sampled Values tab in Subscription plugin

* feat(editors/cleanup): unreferenced DataSet (openscd#568)

* Initial efforts

* Tidying and type definitions

* Tidy up last lot of types

* Revert snowpack to version 3.2.1

* Revert "Revert snowpack to version 3.2.1"

This reverts commit 1ccfe02.

* Remove vaadin-grid

* Fix up package-lock.json for node version

* Implement using mwc-list

* Translations and tidying of code

* Remove Cleanup editor from defaults

* Add open-scd integration test snapshot and unit test file

* Respond to feedback:
* Convert ids to classes
* Show number of datasets and number to be removed
* Ensure button is disabled if no datasets selected and simplify logic
* Update snapshot
* Restore deleted snapshots

* Include LogControl in checks
More fully qualify references

* Ensure security of dataset references

* Improve dataset sorting

* Improve styling

* Fix functionality regression, update tooltip, add LogControl to testfile

* Improve tests

* Make button outlined and adjust location

* Update snapshots

* Respond to and incorporate review comments

* Tidying

* Rebase leftovers and error in translations

* Respond to review comments

* Fix broken import

* Update snapshots

* feat(plugins/SampledValues): Small bug fix + Added Integration tests

* feat(plugins/Subscription): Create 'Subscription' plugin for GOOSE subscriptions

* refactor(plugins/Communication): Add styling for Communication section

* feat(editors/template/lnodetype-wizards): make use of -7-420 NSD

* refactor(wizards/ConductingEquipment): Correct earth switch symbol application to ConductingEquipment

* feat(wizard-dialog): allow used-defined actions in menu

* refactor(editors/template/enumtype): move buttons in content to menuA…

* fix(wizard-dialog): make sure to close on non empty editor action

* refactor(wizards/reportcontrol): remove mwc-button from dialog content

* chore(release): 0.12.0

* refactor(editors/templates/lnodetype): use menu actions (openscd#622)

* refactor(editor/template/datype): use menu actions (openscd#621)

* refactor(wizards/gsecontrol): remove button from wizard content (openscd#624)

* refactor(wizards/sampledvaluecontrol): remove mwc-button from wizards content (openscd#625)

* refactor(wizards/templates/lnodetype): remove mwc-buttons from wizard content (openscd#626)

* refactor(editors/template/dotype): dotype/sdo wizards use menu actions (openscd#628)

* refactor(editors/template/dotype): refactor sdo wizard remove button from content

* refactor(editors/template/dotype): refactor dotype wizard remove button from content

* refactor(wizards/dataset): remove mwc-button from wizard content (openscd#631)

* Refactor da bda wizards use menu actions (openscd#630)

* refactor(wizards/da): remove mwc-button from wizard content

* refactor(wizards/bda): remove mwc-button from wizard content

* fix: merge issue

* feat(wizard-dialog): wizard-dialog content definition through `WizardInput` objects

* refactor(wizards/reportcontrol): add translation for add report log message (openscd#635)

* refactor(setting/nsdoc): Loading NSDoc Files through Custom Event (openscd#644)

Refactor loading NSDoc File through Custom Event. And added some integration tests.

* fix(wizards/subnetwork): incorrect title for create wizard (openscd#645)

* feat(ied-editor/ln-node): Changed description of LN Node in IED Editor (openscd#647)

* Changed description of LN Node in IED Editor.
* Fixed test.

* feat(editors/subscriber): use filtered lists (openscd#638)

* refactor(subscriber/subscriber-ied-list): split into functions

* refactor(editors/subscribe): remove ied-element-subscriber

* refactor(editors/subscriber): add filtered list to goose list

* fix(editors/subscriber): add missing import statement

* style(editors/subscriber): fix broken CSS rule

* refactor(editors/substation): show all ieds in the list

* refactor(editors/subscriber): remove unused console.log

* test(editors/Subscriber): fix integration tests

* feat(wizards/reportcontrol): add copy to other IEDs  (openscd#632)

* feat(foundation/scl): add existFcdaReference

* feat(wizards/reportcontrol): add copy menu action

* test(wizards/reportcontrol): adopt snapshots

* git commit -m"feat(wizards/reportcontrol): add translation"

* git commit -m"test(wizards/reportcontrol): add first integration tests"

* test(wizards/reportcontrol): add another integration test

* test(wizards/reportcontrol): fix snapshots

* docs: clarify build dependencies and scripts

* chore(release): 0.13.0

* fix(editors/subscription): several styling issues (openscd#661)

* fix(editors/subscription): several style issues

* style(editors/subscription): use common font-weight

* fix(editors/subscription): remove unused import statement

* test(editors/subscription): update snapshots

* test(editors/subscription): update snapshots

* fix(filtered-list): allow filter nested list-item s (openscd#660)

* fix(filtered-list): allow filter nested mwc-...-list-item s

* refactor(filtered-list): exclude noninteractive from onFilter

* chore: add issue templates for bug and feature request (openscd#666)

* feat(editors/cleanup): remove unused control blocks (openscd#620)

* Initial UI implementation with flexbox to improve responsiveness

* Implement optional removal of SMV/GSE addresses

* Faff

* wip on review comments
* Add filtering for control types (incomplete)
* Add icons for each item

* Complete implementation of CSS filtering

* Refactor into separate cleanup files

* Fix tests and update snapshots

* Make ReportControl elements deselected by default

* Simplify and refactor portions into methods

* Simplify CSS

* wip on tests

* Complete initial round of tests

* Typo

* Fix snapshot slyly sneaking in

* Linting

* Update following review comments

* fix(editors): Changed selectors in Substation and IED Editors and updated IED and Substation Wizards. (openscd#671)

* feat(editors/Subscription): When undo / redo actions Subscription / SMV plugin, lists are not refreshed

* feat (iededitor/infowizards): Add Info Wizards for DO/DA in IED Editor.

* chore(release): 0.14.0

* feat(wizards/dai): Change DAI values (openscd#687)

* Added custom inline edit textfield

* Added foundation functions

* Refactoring

* Refactoring

* Added Fieldtype

* Implemented custom validation

* refactoring

* Implemented working CustomField

* refactoring

* Implemented visible string

* Added Float fields

* Added Custom Field unit test

* Added unit tests

* Partial refactoring. Inline > dialog

* Implemented working dialog

* Added BOOLEAN

* 0,1 to false,true

* Added last unit test

* Removed console.logs

* Review comments

* Added await to all snapshot tests

* Fixed snapshots

* Fix snapshot test

* feat(wizards/gsecontrol): add create wizards (openscd#654)

* refactor(wizards/address): change content input definition

* refactor(wizards/gsecontrol): change content input definition

* refactor(wizard/gsecontrol): better naming

* refactor(wizards/address): change content function api

* feat(wizards/foundation/scl): add function to get unique MAC and APPID

* feat(wizards/foundation/scl): communication connection checks

* feat(wizards/gsecontrol): add create wizards

* test(wizards/gsecontrol): add unit tests

* test(wizards/gsecontrol): update snapshot

* test(wizards/gsecontrol): add integration tests

* test(wiazrds/foundation/scl): increate timeout in critical tests

* test(wiazrds/foundation/scl): remove time extensive tests

* fix review commit

* refactor(editors/gsecontrol): add warning message with missing communication connection

* fix(src/translations/en): spelling error

Co-authored-by: danyill <danyill@users.noreply.github.com>

* test(test/unit/wizards/foundation/scl): spelling

Co-authored-by: danyill <danyill@users.noreply.github.com>

* fix(test/unit/wizards/foundation/scl): incorrect element tag

Co-authored-by: danyill <danyill@users.noreply.github.com>

* fix(test/unit/wizards/foundation/scl): incorrect element tag

Co-authored-by: danyill <danyill@users.noreply.github.com>

* test(test/unit/wizards/foundation/scl): fix spelling

Co-authored-by: danyill <danyill@users.noreply.github.com>

* test(test/unit/wizards/foundation/scl): fix spelling

Co-authored-by: danyill <danyill@users.noreply.github.com>

* test(test/unit/wizards/foundation/scl): fix spelling

Co-authored-by: danyill <danyill@users.noreply.github.com>

* refactor: triggered by review

Co-authored-by: danyill <danyill@users.noreply.github.com>

* feat(wizards): Changed label of rptID (openscd#697)

* Changed label of rptID.

Signed-off-by: Dennis Labordus <dennis.labordus@alliander.com>

* Set DE label correctly.

Signed-off-by: Dennis Labordus <dennis.labordus@alliander.com>

* fix(wizard-dialog): remove initialFocus from action buttons (openscd#702)

* bug(iededitor): Fixed processing SDI Elements with structs in DA/DO Containers.

* fix(wizard-dialog): avoid header overlap with extra action buttons (openscd#703)

* feat(iededitor): Added implementation to change enum values in IED Editor.

* feat(substation): read only Function and SubFunction container (openscd#700)

* feat(zeroline): add showfunctions toggle button

* feat(zeroline): write toggle buttons state to localhost

* feat(zeroline/function-editor): add function-editor web-component

* feat(zeroline): add function-editor to zeroline

* refactor: linter format

* test(zeroline): add snapshot tests

* refactor(zeroline): pass showfunction though properties

* feat(zeroline): add read-only subfuction-editor (openscd#706)

* refactor(editors/substation): move zeroline-pane back to editor (openscd#716)

* refactor(action-pane): improve styling (openscd#715)

* chore(release): 0.15.0

* feat(Subscription): Select by Subscriber in Subscriptions Editor

* feat(editors/substation): show read-only `EqFunction` and `EqSubFunction` (openscd#720)

* feat(editors/substation/conductingequipment): allow to toggle action-icon/action-pane use

* feat(editors/substation/powertransformer): allow to toggle action-icon/action-pane use

* refactor(editors/substation): pass showfunctions to ConductingEquipment/PowerTransformer

* fix: missing import statements

* fix: typos

* feat(editors/substation): add eq-function-editor (openscd#722)

* feat(editors/substation/eqfunction): add action-pane based editor

* feat(editors/substation): show read-only eqfunction

* refactor: review request

* feat(editors/substation): add read-only eq-sub-function-editor (openscd#726)

* refactor(editors/substation/sub-function-editor): rename custom element

* refactor(editors/substation/...function-editor): restrict access to properties and methods

* bug(wizards): Update attributes of Terminal when updating Voltage Level/Bay name. (openscd#712)

* Update attributes of Terminal when updating VoltageLevel/Bay name.
* Added extra reference tests.
* Small change.
* Improved version that will include parent names when needed to search for matching references.
* Fixed review comment.

* feat(Subscription): Add edit button or hyperlink to GSEControl dialog in the Subscription Editor

* feat(editor/ied): Add wizard/action to remove IED including references (openscd#732)

* Add action to remove IED, including references.
* Updated German translations.
* Fixed small issues.
* Added remove button to IED Editor.
* Refactor cleanup Inputs and add logic to removing IED.
* Updated comments.

* feat(editor/ied): Show the technical path to a DO/DA

* chore(release): 0.16.0

* fix(menu/subscriberinfo): fix lnInst attribute for lnClass LLN0 (openscd#749)

* fix(wizards/conductingequipment): on create earth switch add missing ground cNode (openscd#753)

* feat(editors/substation): add read-only l-node-editor (openscd#730)

* feat(editors/substation): add read-only l-node-editor

* feat(editors/subtation): add l-node-editor to ConductingEquipment

* feat(editors/subtation): add l-node-editor to PowerTransformer

* feat(editors/subtation): add l-node-editor to EqSubFunction

* feat(editors/subtation): add l-node-editor to EqFunction

* feat(editors/subtation): add l-node-editor to SubFunction

* feat(editors/subtation): add l-node-editor to Function

* feat(editors/subtation): add l-node-editor to Bay

* feat(editors/subtation): add l-node-editor to VoltageLevel

* feat(editors/subtation): add l-node-editor to Substation

* merge with first

* style(action-icon): propper highlight of focused secondary items

* fix(editors/substation): unify rendering of LNode container

* feat(action-icon): add hideActions property (openscd#752)

* feat(action-icon): add noaction property

* test(editors/substation/l-node-editor): update snapshot

* refactor(action-icon): resolve review comments

* refactor(action-pane): remove h5 and h6 max to h4 (openscd#755)

* feat(wizards/function): add create wizards for Function, SubFunction, EqFunction and EqSubFunction element (openscd#731)

* feat(wizards/function): add create wizard

* feat(wizard/wizard-library): add create wizard for Function element

* feat(wizards/subfunction): add create wizard (openscd#733)

* feat(wizards/subfunction): add create wizard

* feat(editors/substation/sub-function-editor): add add button

* feat(wizards/eqfunction): add create wizard (openscd#737)

* feat(wizards/eqsubfunction): add create wizard (openscd#757)

* test(editors/substation): update snapshots

* ci: delete travis.yml (openscd#759)

Since we're no longer running tests on Travis CI we should no longer need this file IMO.

* feat(editors/substation): remove button to function type editors (openscd#761)

* feat(editors/substation/function-editor): add remove button

* feat(editors/substation/sub-function-editor): add remove button

* feat(editors/substation/eq-function-editor): add remove button

* feat(editors/substation/eq-sub-function-editor): add remove button

* feat(wizards): add function type create wizards (openscd#768)

* feat(wizards/function): add edit wizard (openscd#762)

* feat(wizards/function): add edit wizard

* test(editors/substation/function-editor): make linter happy

* refactor(wizards/function): review comments

* feat(wizards/subfunction): add edit wizard (openscd#763)

* feat(wizards/eqfunction): add edit wizard (openscd#764)

* feat(wizards/eqfunction): add edit wizard

* refactor(wizards/eqfunction): review comments

* feat(wizards/eqsubfunction): add edit wizard (openscd#765)

* feat(wizards/eqsubfunction): add edit wizard

* refactor(wizards/eqsubfunction): review comments

* refactor(foundation): change menu action API (openscd#769)

* refactor(foundation): change menu action API

* fix(wizards/ied): add missing import statement

* feat(editor/substation/l-node-editor): add remove button (openscd#771)

* feat(editor/substation/l-node-editor): add remmove button

* refactor(editors/substation/l-node-editor): better naming

* fix(wizard-diagram, wizard-select, wizard-checkbox):  disabled attribute (openscd#781)

* fix(wizard-textfield): make disabled work properly

* fix(wizard-checkbox): make disabled work properly

* fix(wizard-select): make disabled work properly

* refactor(editors/cleanup): show edit button on hover (openscd#747)

* Show edit button using CSS instead of JS, partially closes openscd#746

* Add hover css to dataset container, update snapshot for control blocks

* feat(editors/subtation): allow instantiation of LNode from LNodeType's (openscd#766)

* refactor(foundation): change menu action API

* feat(wizards/lnode): add create wizards

* feat(wizards/wizard-library): add LNode create wizard to library

* test(editors/substation): test LNode instatiotion with function type editors

* refactor(wizards/lnode): combine reference type and instace type wizard

* fix(wizard-libraray): import statement

* refactor(wizards/lnode): triggered by review

* refactor(wizards/lnode): better uniqueLnInst function

* refactor(wizards/lnode): better search for uniqeu lnInst

* test(wizards/lnode): better test unique lnInst selection

* fix(wizard-dialog): stabilize jump to initial page

This fixes the issue we had when opening the LNode instance reference create
wizard from the overflow menu of the LNodeType reference create wizard.

Co-authored-by: Christian Dinkel <christian.dinkel@omicronenergy.com>

* feat(wizards/lnode): add edit wizard (openscd#778)

* feat(wizards/lnode): add edit wizard

* test(wizards/lnode): add editing integration

* test(wizards/lnode): fix snapshots

* refactor(translation/de): better localization

* feat(wizards/substation/l-node-editor): add duplicate button (openscd#782)

* refactor(wizards/lnode): move lnInst generator function to foundation

* feat(editors/substation/l-node-editor): add copy content button

* refactor: on review comments

* chore(release): 0.17.0

* refactor(plugging,hosting): make plugin content loading synchronous (openscd#787)

* refactor(plugging,hosting): make plugin content loading synchronous

* chore(package): remove carehtml dependency

* refactor(Plugging,Hosting): make plugin content static

* fix(plugging): don't store content to localStorage

* test(open-scd): update snapshot

* fix(nsdoc/Plugging): pass nsdoc object to plugins again

Loading nsdoc from localStorage must not be asynchronous. It therefore can be used as is with the refactored plugin loading mechanism

* refactor(Plugging/Setting): avoid reloading nsdoc on re-render

* docs(plugging): add type annotations and doc links

Co-authored-by: Jakob Vogelsang <jakob-vogelsang@posteo.de>

* feat: prevent losing data on user navigation (openscd#800)

Co-authored-by: cad <christian.dinkel@omicronenergy.com>
Co-authored-by: Rob Tjalma <private@tjalma.com>
Co-authored-by: Rob Tjalma <rob@tjalma.com>
Co-authored-by: Christian Dinkel <chhildeb@gmail.com>
Co-authored-by: danyill <danyill@users.noreply.github.com>
Co-authored-by: Dennis Labordus <dennis.labordus@alliander.com>
Co-authored-by: cad <cad@sdf.org>
Co-authored-by: Juan Munoz <juancho0202@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants