[UI Customizer] New plugin - Test/feedback/ideas wanted

@FormerLurker tried it on Windows 10 using Firefox - it performs better in Firefox than in Chrome - better FPS, less mem and more "responsive" to resizes etc.

I will retest.

1 Like

I am not sure if its since newsest version, but using UI Customizer the lines in the GCode viewer are kind of blurry. Disabling the plugin solves the blurriness for me.

Yes this is probably due to resizing it

I upgraded to the latest version from yesterday and on my iPhone, I don’t see the wrench for settings. I see it on desktop.

Here’s what it look like on my iPhone.this is the latest version of the plugin.

Thats running the latest version - as of right now that is:

The wrapping of the many top icons is something im looking into - I might make it scrollable or something similar - but the dropdown menu should always be there.

Could you try and use the "Report af bug" in the settings window (do it on a computer - its the same stuff it reports)

Thank you for the work on the UI Customization plugin, it is awesome with what you did and how it is making everything function so well. Your plugin made it easier to monitor the temp and webcam at the same time without the need to keep moving back and forth between tabs. Would there be a way to make the GCode Viewer in its own layout like the webcam so it can be monitor to get the visual of the printer and also the layer information like how many it has done and how many layer are left. I want to bring it out so I can place it in a row to best utilize the free space.

I think I saw Laze planning on doing something like my consolidated tabs plugin or the consolidate temp control plugin I made. In theory you could do what you ask now with the combination of UI Customizer and one of these, but some users have reported some issues, but I have seen other where they are working fine. I'd be happy to work with Laze to be able to work out any plugin conflicts associated between our two plugins so they could co-exist.

1 Like

Yes of course - I have tried and will probally soon send a couple of MR your way - I think I have worked out most of the bugs.

Maybe we should just jmerge our work into one - as you know the biggest problems is manipulating the DOM when another plugin is doing the same. I did a couple of quick tests and its not alot work to implement both consolidating tabs and making them into widgets.

But for now im stuck with alot of private projects and not alot of time - hopefully next week will give me more time :slight_smile:

1 Like

The biggest issues I typically run into with DOM manipulation is dealing with TouchUI, Pretty GCode, and Dashboard plugin conflicts. Until your plugin came around mine were probably the only ones that came anywhere close to allowing so much freedom in layout. I had at one point considered using gridstack.js implementation to use as a barebone layout management with drag/drop/resize and consolidate both tabs and sidebar items into one free for all "put it where you want it" solution. Just ran into issue with getting gridstack to play nice with the core jquery libraries bundled with OctoPrint.

As you have already figured out there are several things in core OctoPrint that don't resize so well. I do think I remember seeing the new dashboard maintainers talking about working on a UIPlugin mixin implementations with widgets, etc. that would be based on Vue.js, but not sure if they have gotten anywhere with that yet. I think it would be beneficial overall to possibly do a UIPlugin mixin just to migrate to a newer bootstrap version for better responsiveness.

1 Like

Yes the best solution is probably starting the huge work of a real new frontend framework as a part of the core development/OctoPrint.

Dropping jQuery would be best but it would break almost every plug-in but maybe a cleanup of the plugins available wouldn't be that bad :see_no_evil::grinning_face_with_smiling_eyes:

With my plugin I just wanted to start work on getting the responsive stuff work and it just grew.

I hopefully will have more time the next couple of weeks and will try and look into your plugins and send you some MR so our joint efforts will be used to the max. That way your plugins can do what they do and I will focus on other features instead of implementing stuff that you already have done. Maybe later we can look into joining forces on more features. I don't hope you feel like I was trying to steal or point fingers at your work, I was just tired of getting mails and bug reports from people installing 40 plugins doing the same and complaining about a bug they couldn't describe.

So for now I think we should look into getting the consolidated plugins to play nice with my plugin.

PS I really appreciate your plugins and huge amounts of work for the community. :muscle::muscle::muscle:

That's still dependent on what Gina decides for a framework, Vue vs React. We're still waiting on that decision but that wouldn't stop anyone (including us) from writing our own in whatever framework we want. That was the whole point of the UIPlugin implementation was to allow this and I think Gina was hoping someone would step up and start laying the ground work to potentially sway her decision.

This would effect quite a few of my plugins as I'm an old schooler that utilizes jQuery a lot and haven't kept up with the times since moving into IT Manager role at the full time job.

Not at all, but instantly when you added the pop-up for my two plugins I started getting people complaining at me. I'd be more than happy to give up consolidated tabs, consolidated temp control, and widescreen plugins in favor of yours as I have plenty of issues to deal with across the full collection of plugins I have out there.

The big difference has been the approach, I was making plugins as individual components whereas you went "whole hog" and put it all into one. You've basically made the following plugins obsolete as they've been implemented in yours and I'm considering just retiring them and adding notes to just use your plugin to get rid of the support overhead.

image

  • Widescreen
  • Floating NavBar
  • Tab Order
  • DragonOrder
1 Like

Thanks - this thread is turning into a personal conversation so I sent you an PM :slight_smile:

As jneillii said, I am working on a dashboard v2 which uses the UI plugin mixin. It uses vuejs in place of knockout and material components in place of bootstrap. It will be based on a widget layout that is fully customisable.

I saw some talk in this thread about how to deal with plugins when replacing the UI with a different framework, and thought I would shed some light on how I am planning to deal with it. I am planning to replace all the functionality of the default UI in dashboard. To allow plugins to integrate I am providing an API that plugin developers can use to add their own widgets or layouts. As a fallback a am working on a way to allow the embedding of different parts of the default UI (including plugins and the default octoprint UI). The idea is initially the embedding would be used and over time more plugin developers would add support.

2 Likes

Sounds to me like this would the equivalent of what Gina was planning for OctoPrint 2.0.0 and know she was considering Vue. There's a good chance that your dashboard UI could become the front runner for merging into core assuming Gina does decide vue over react, or at least might help in some planning stages of that development.

I personally have been looking forward to your v2, can't wait to see how you guys are getting along.