Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#18316 closed defect (fixed)

resizing of dijitDialog with dijitDialogPaneActionBar

Reported by: gerhard presser Owned by: bill
Priority: undecided Milestone: 1.10.4
Component: Dijit Version: 1.10.0
Keywords: Cc:
Blocked By: Blocking:

Description

we are using the dijit/Dialog to display a large form. to save the data there buttons on the bottom of the dialog wrapped in dijitDialogPaneActionBar as described in e.g. http://dojotoolkit.org/reference-guide/1.10/dijit/Dialog.html

if the browser window gets resized and the dialog doesn't fit any more, the first thing to disapear is the dijitDialogPaneActionBar.

we where able to reproduce this issue with nick nisi at the london workshops using dojo's new ConfirmDialog?.

http://download.dojotoolkit.org/release-1.10.1/dojo-release-1.10.1/dijit/tests/test_ConfirmDialog.html

just show the dialog and then resize your browser-window till the dialog barely fits.

we could track it down to somewhere in dijit/layout/utils#layoutChildren() where just the content and the title-bar are used to calculate dimensions.

Change History (8)

comment:1 Changed 5 years ago by bill

Component: GeneralDijit
Milestone: tbd1.11
Owner: set to bill
Status: newassigned

comment:2 Changed 5 years ago by bill

There are actually two cases here.

In the old style of using dijitDialogPaneActionBar, like in the example on http://dojotoolkit.org/reference-guide/1.10/dijit/Dialog.html, the dijitDialogPaneActionBar is inside this.containerNode, so you get one scrollbar on containerNode and you need to scroll down to get to the buttons. Not ideal, but hard to improve.

For ConfirmDialog? (and widgets with similar templates) you are right that Dialog#resize() should take this.actionBarNode into account too, since this.actionBarNode is a sibling of this.containerNode.

I will address the second issue, so that the buttons will always be visible and the scrollbar will just be on this.containerNode.

I suggest that if you haven't already, then after getting this fix that you subclass Dialog in the same way that ConfirmDialog? does, defining actionBarTemplate with your dijitDialogPaneActionBar code snippet. That's so the actionBarNode becomes a sibling of containerNode.

comment:3 Changed 5 years ago by gerhard presser

should be OK for me

comment:4 Changed 5 years ago by bill

Milestone: 1.111.10.4

comment:5 Changed 5 years ago by Bill Keese <bill@…>

Resolution: fixed
Status: assignedclosed

In 75beb510e39890698644704370158968ef14402f/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:6 Changed 5 years ago by Bill Keese <bill@…>

In faeb44607344d0b0b0d102689c4f291391937063/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:7 Changed 5 years ago by Bill Keese <bill@…>

In 7d95180cfb30eb41c0f838d7327443119f18896f/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:8 Changed 5 years ago by Bill Keese <bill@…>

In 90220de2bf642d5cc99e9198c9c2ee024bd3143c/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 
Note: See TracTickets for help on using tickets.