-
Notifications
You must be signed in to change notification settings - Fork 39
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
feat(plugins/Subscription): Create 'Subscription' plugin for GOOSE subscriptions #549
Conversation
This is exciting! 🎉 I'm not familiar with ABB IEDs. I thought I'd have a play anyway. When there are many devices or transmit messages in the left pane, then it would be convenient if the right pane was "sticky" such that when the left-hand side is scrolled, and a new IED is selected then the right-hand side remains in view (the user doesn't have to scroll to the top on the RHS). Otherwise, if I understand correctly, the user must constantly scroll up and down if working with IEDs at the bottom of the stack. Here's an example file: ArcFlash_IEC61850_GOOSE_2-section.scd.zip |
Hi @danyill , good suggestion! I can take a quick look at that! |
@danyill I implemented the scrollable lists, I would love to have your feedback! |
Scrollabe lists are the 💣 👍 I'm not sure what's in scope for this feature. Should we be showing additional fields? e.g. for all dataset items which are subscribed? For SEL relays it is useful to know the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought I should read the code and as I did I had a few minor comments, use as you wish 😉
I have tried it out for the first time and have some UI remarks before diving into the code:
|
Point 4, I created an issue: #559. It takes some more work to finish it :) |
As @Flurb mentioned small improvements and bugs can be solved in this pull-request. Bigger improvements require a seperate issues. By doing so we have small improvements (more easy to review). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The plugin is nice!! Thank you for that. I found a bug and would love to have the german translation added. Everything else are comments.
Thanks for this @Flurb this seems like a very important feature 🎉 🎺 Should I review this or #569? Off the top of my head from a UI point of view
I'm quite interested in having a subscription plugin for SEL relays where the |
I think @JakobVogelsang already reviewed both, am I right Jakob?
This was already the plan, I'm not sure if we already have an issue for that. Can you check this? :)
Good suggestion, create an issue for that :)
You mean while still being scrollable? Why do you want that? Or maybe I'm not getting it :)
This is already implemented, we have 3 lists on the right: Fully subscribed, partially subscribed and not subscribed. IEDs that are inside the not subscribed/partially subscribed can be fully subscribed. IEDs in the Fully subscribed section can be unsubscribed. I hope this answers all your questions :) |
Thanks @Flurb I have created some issues. @JakobVogelsang asked me to review... but I may have missed the moment. Anyway, from a style/user-facing perspective:
The height of the GOOSE publisher on Chrome is greater than the contained elements. This gives us a scrollbar on the publisher where we don't need it and a scrollbar on the overall window which is too many scrollbars. They are also the default scrollbars which are intrusive. Perhaps not zero width but less width might be nice. Probably a CSS change is required which would remove the scrollbars for this case. Even so, there is the case with more IEDs/GSEControls it will extend. In this case:
To be very concrete, what I was thinking of was something less visually intrusive, i.e. mwc-list::-webkit-scrollbar {
width: 5px;
height: 8px;
background-color: var(--base3);
}
mwc-list::-webkit-scrollbar-thumb {
background: var(--primary);
} This way the scrollbars blend into the selection at the top and for the subscribing pane (I may not have the colours exactly right). I accept that I am a pedant and apologise and beg forgiveness 🙏 A reasonable person will simply respond to this feedback with, "You didn't do that in #568 so why should I?" |
I"m used to seeing subscriptions at the DO/FCDA level so I can see exactly what items in the dataset are subscribed to and how they are used in the device (the Maybe we should be able to expand the partially and full and edit the individual items. I'm not sure if this is in scope here. |
There will be an extra plugin for that, that will be similar but will allow you to connect single |
Thanks again for the very detailed review!!! As often, I think you are making a very good point. The scroll bares in windows are a pain. With iOS it is not a problem...don't know how it is with Linux based operating systems. I also think this should be handled globally in the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed it from a UI/functionality point of view. This is a super important feature which I expect to be looking at in detail in future, thanks! 🎉
* Added event handling * Intermediate commit * Intermediate commit * Small variable fix * Refactor * Refactoring * Create subscribe/unsubscribe actions * Intermediate commit * Intermediate commit * Intermediate commit * Added correct subscribing/unsubscribing * Refactor * Refactoring * Added goose-message unit tests * Added ied-element unit tests * Added publisher goose list unit tests * Remove console.log * Remove serviceType * Remove unused import * Added add/clear icon toggle to ied-element * Fixing bug * Moving newGOOSESelectEvent dispatch * Subscribe/Unsubscribe now work on both LN0 and LN * Refactoring * refactor: use complex actions to subscribe and unsubscribe * fix(plugins/Subscription): Empty 'Inputs' element after unsubscribing GOOSE should be deleted Co-authored-by: Jakob Vogelsang <jakob-vogelsang@posteo.de>
Resolves #525