Redesigning Desk

The problem with the full-width mode is that it still shows the data in a containerized view for example, see the image below. I wish section 1, 2 and 3 were gone or re-arranged in a certain way so that it uses the entire page.

It would be better utilization of the screen space if we use something like Github Project Kanban View. I would recommend accross all views in ERPNext like list, calendar, image, Kanban, report, etc.

What I mean by Horizontal Bar is that it is all the way to the bottom and then user has to scroll down to the bottom to move to the right if a report has lot of columns and records more than the screen could fit vertically.

This is what I mean by Better Grouping in Reporting view -

Look how this grouping should be reflected in the graph view.


Hi @scmmishra my question is: if we create new custom form (called X), can we add form X under dashboard of Sales Order (or any other Standard Form)?
Please check below image for more info.

1 Like

Hi, you can toggle the sidebar too. From the Menu or the keyboard shortcut Ctrl + K
That along with full screen mode will look something like this

1 Like

As of now you cannot. However you can create a Github issue and we can add it to the product roadmap

If my understanding is good, we have now 4 types of widgets that can be added in a workspace/page: 1)the persistent sidebar (if it is considered as a widget?) 2) the dashboard 3) Shortcuts section 4) Masters section. Is the possibility of a custom/HTML/JS widget with any random/user-defined content on the table?

Can maybe a navigation drawer be considered?

The persistent sidebar is not a widget.

frappe.widget can be exposed on the client, then technically anyone can make widgets by extending the BaseWidget class. However it’s not enabled as of now since the API is relatively new. However in the future we’ll have options to extend it.

Navigation drawer? can you explain more?

The navigation drawer is a UI panel that shows your app’s main navigation menu. The drawer appears when the user touches the drawer icon in the app bar or when the user swipes a finger from the left edge of the screen.

Somethin link this: W3Schools Tryit Editor

Thanks to lockdown, I had time to explore the page feature and what I was discribing can pretty much be achieved with a little JS/HTML. Below is my result. But the Widget API will make it much easier and maybe later a Layout API to define the whole HTML structure for each page.


It looks great!

There’s a widget group api that is made along with widgets, it can be used to define the layout and uses CSS grids. At the moment, it’s pretty rudimentary however I’ll be adding more features to it making it more powerful.

Your dashboard looks interesting, I’ll sure make sure the new widgets API is extensible allowing custom apps to make their own widgets with the release


Because i use it in french in my company i worked on translations, i think it is ok, i will make a PR.
PS : thanks for your work, the feature is cool!
NB : Done there

Hi @scmmishra issue opened please consider it in your road map

1 Like

Could you please consider the following in full-screen mode -

  1. The side bar contracts to the left automatically and is visible when we move the mouse pointer and/or has a small button to open like a menu drawer.
  2. Whole page width is being used in full-screen mode.
  3. The horizontal bar overlaps the page so that we don’t have to scroll down all the way to move to the right and then move up again.
  4. The list header stays fixed at the top and only the data moves up/down
1 Like

No plans for these anytime soon. Largely we have a lot of UI improvements in the roadmap, this does not align with it right now.

You can already do that with ‘Toggle Full Width’ option

Is this for reports? We’ll be making more changes to improve navigation and discovery, stay tuned.

The currently active icon can take a different color. Like the ERPNext blue. Just a suggestion

I’ve been trying out the new Desk, and its Shortcuts and stuff for about a week now. It makes so much sense now! Awesome work! However, I have came across few ideas you might look into. Those are:

  1. User made shortcuts should respect the filters applied, when navigating using the shortcut. For example: “Completed Tasks” shortcut with a filter of status = Completed should not take you to Tasks list of all the tasks with all sorts of statuses.

  2. Now that we have these shortcuts, Frappe framework should add new logics to the filter. For example, “Today”. So we can create shortcuts such as “Tasks due today”. Or “After today”, for things like Upcoming events, scheduled communications for the upcoming days so employees can really allocate their work load.

  3. Also, “XXX to / of Me” logic. So we can create one Shortcut that works for everyone. Like “Quotations Assigned to Me”, or “Quotations I need to make Today”.

Beautiful work guys!

Regarding the permission to display cards on desk:

I think there should be a special permission specially for Administrator (not System Manager) role to define what cards to show/not show.

This is because sometimes the company doesn’t want anyone (including the System Manager who basically is also a user) to change the configuration of the instance. For ex. not to set the integration or customization. These are meant to be done at Administrator level (when installing the site).

So if the Administrator has hidden the Integration card, even the System Manager can not see it.
I try to see with the code, but it seems the permission is set to System Manager level which includes System Manager and Administrator.

Disclaimer: I’m not a coder so I can’t do the change right away.

Yeah, we’ve noticed this. We’re gonna fix it soon. I’ve created a issue about this on Github just now. Thanks for the feedback

This is a good suggestion, we will definitely consider this as a more generic feature in filters

Technically the filters support these even right now. For instance the opportunity card on CRM page has a filter that shows opportunity assigned to you. The filter looks like this {"_assign": ["like", '%' + frappe.session.user + '%']}

So for a filter like, created today we can have {"creation": frappe.datetime.now_datetime(true)} and it should work.

However I am yet to figure out how to expose this to users without confusing them. This requires certain knowledge of JavaScript and Frappe Client API

Thanks for your suggestions and the lovely feedback

1 Like

The customizations done are per user. Everyone will have a different config. Right now we don’t see us adding this additional layer allowing administrators to change it globally. Maybe in the future

You guys truly rock, and I know you’re gonna bring this to the system very quickly :slight_smile:

I will be experimenting with the filter you suggested, but I hope you guys bring it to the front-end of the system.

Thanks again guys.

1 Like

Will it be having feature to resize widgets ?