Is it possible to freeze left sidebar menu for all time?

I want to freeze desk’s left sidebar menu for all time. Is it possible?

What do you mean by “freeze”?

@Patrick.St When I open Item entry form or other entry form, I want left sides module menu still there.

1 Like

Sorry for not answering your question. But you might reconsider.
For opened form, the sidebar is occupied for other informations and menu (like assign to, tags, etc).
If you keep the sidebar menu (the module choices) the screen will be full of sidebars :wink:

Hi @rahy. what if I hide the sidebar in Role doctype and replace it with the Module sidebar? Is it possible to do it through customization?

I have a requirement from my client that they want to go to other module quickly without going back to the home screen again, and they don’t need the form sidebar or list sidebar. Appreciate if anyone has any idea. Thanks.

2 Likes

@Liam, Exactly my clients requirement.

1 Like

I also have this requirement for Dashboard View. The left side menu dissappears when I go to: https://dev.canobiagtech.com/app/dashboard-view/Project

Is there any way to fix this?

1 Like

Never tried that but I think it is possible (don’t know how yet).
The sidebar is hidden when you click on the three-lines next to the Title. So I guess it is possible to manipulate this with code.

Comes to think of it, maybe it’s better to default hide this form sidebar. And always display the workspace sidebar menu instead. So if required, the form sidebar can still be toggled to display.

Maybe someone proficient with code can try it.

1 Like

@Liam , @Cross_X sorry to summon you but have you found any solution for the same, im trying to modify fulll sidebar but dont know how to code for. i am using js to rewrite entire sidebar section but it is not the solution that works everytime.

1 Like

@Liam not yet… I thinks need to create custom app for this

Did you manage to do it?

You can create a second sidebar by using a custom app and its hooks.py to inject JavaScript to desk. The JavaScript method to get the modules in sidebar menu is:

frappe.boot.workspaces

You can input this in your browser console to see what it returns

Hi Emily,
i didn’t find this javascript method could you attach its file path please

The name may have changed, but if you type frappe.boot in the browser inspector, you can see all information including “allowed_workspaces”

The JS are bundled together but here’s how they actually build it

Emily Thanks for your quick reply !
i found the allowed_workspaces within frappe.boot but i am searching for the code that render the sidebar once i will find it i will have to inject it to the desk but i also have to run it in each page render do you have an idea how i can do this ?
I already override some js controller but this case require a deeper understanding of how frappe js code works

thanks

Go to desk, open your browser inspector
Open the Sources tab > Show Navigator > Page
Navigate to apps > frappe > frappe/public/js > frappe > desk.js
In desk.js, line 264 setup_workspaces()

Due to version differences, above steps may change

@Steven_Athouel , Did you got the solution of this case ? I’m also looking for the same.