-
Notifications
You must be signed in to change notification settings - Fork 281
[Remove Vuetify from Studio] Buttons, dropdowns, and dialog in channel editor root page #5668
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
base: unstable
Are you sure you want to change the base?
[Remove Vuetify from Studio] Buttons, dropdowns, and dialog in channel editor root page #5668
Conversation
|
👋 Thanks for contributing! We will assign a reviewer within the next two weeks. In the meantime, please ensure that:
We'll be in touch! 😊 |
|
hi @MisRob, On small screens, the Edit channel option goes into the three-dots menu. The original code showed a red error icon when the channel has no language set. Since KDropdownMenu only accepts strings for option labels, I am thinking to use an emoji instead: let label = this.$tr('editChannel');
if (!this.currentChannel.language) {
label = `${label} ⚠️`;
}Is this okay, or would you prefer something like "Edit channel (incomplete)"? |
|
one more thing I wanted to ask about original code had some duplication where users could access the same thing from both the Share dropdown and three-dots menu:
|
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.
Pull request overview
This PR migrates the channel editor toolbar from Vuetify to KDS (Kolibri Design System) components as part of the larger effort to remove Vuetify from Studio. The changes replace VTooltip, VBtn, VList, and BaseMenu with their KDS equivalents (KTooltip, KButton, KIconButton, and KDropdownMenu).
Changes:
- Replaced Vuetify tooltips, buttons, and dropdown menus with KDS components
- Refactored menu logic into computed properties (
shareMenuOptions,channelMenuOptions) and handler methods (handleShareMenuSelect,handleChannelMenuSelect) - Updated tests to verify computed properties instead of DOM manipulation
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| contentcuration/contentcuration/frontend/channelEdit/views/TreeView/TreeViewBase.vue | Migrated toolbar buttons, dropdowns, and tooltips from Vuetify to KDS components; added computed properties for menu options and handler methods for menu selections |
| contentcuration/contentcuration/frontend/channelEdit/views/TreeView/tests/TreeViewBase.spec.js | Updated tests to check computed properties directly instead of testing DOM elements; removed obsolete component stubs for BaseMenu and MessageDialog |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
contentcuration/contentcuration/frontend/channelEdit/views/TreeView/TreeViewBase.vue
Show resolved
Hide resolved
contentcuration/contentcuration/frontend/channelEdit/views/TreeView/TreeViewBase.vue
Show resolved
Hide resolved
contentcuration/contentcuration/frontend/channelEdit/views/TreeView/TreeViewBase.vue
Show resolved
Hide resolved
|
Hi @vtushar06,
Emoji sounds creative ;)!
Yes, as you mentioned, let's keep the options exactly the same now. I am not sure what was the original decision, it may be intentional - and not exactly in scope of this project. |
...tcuration/contentcuration/frontend/channelEdit/views/TreeView/__tests__/TreeViewBase.spec.js
Show resolved
Hide resolved
|
Before we assign a maintainer, I will first try inviting the community review ;) 📢 ✨ Community Review guidance for both authors and reviewers. |
|
Hii @MisRob! Thank you,
...
I suggest keeping the emoji approach because the warning appears after the text, which is more natural for an indicator |
|
Hey @vtushar06 ! I am still learning testing , I see the tests now check the computed properties directly |
|
hey @abhiraj75, In our codebase, we're still migrating from old test patterns. The TreeViewBase tests use wrapper.vm computed properties, which is what was approved as not in this PR scope. But best practice going forward is to test user-observable behavior (what appears on screen) rather than internal handler calls. |


Summary
Migrated channel editor toolbar from Vuetify to KDS components, replacing
VTooltip,VBtn,VList, andBaseMenuwith KDS equivalents.Changes:
VTooltipwithKTooltip(error count + publish button tooltips)VBtnwithKButtonfor Publish buttonBaseMenu + VListwithKButton + KDropdownMenufor Share dropdownVBtn + BaseMenu + VListwithKIconButton + KDropdownMenufor three-dots menushareMenuOptionsandchannelMenuOptionscomputed propertieshandleShareMenuSelectandhandleChannelMenuSelectmethodsScreenshots:









…
…
…
…
…
…
…
…
…
References
Closes #5597
…
Reviewer guidance
a@a.com/a…