Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

Moderators: martimiz, UncleCheese, Sean, Ed, biapar, Willr, Ingo, swaiba

Set popup width in nested popup window


Go to End


8 Posts   3451 Views

Avatar
PieterV

Community Member, 4 Posts

26 August 2010 at 11:30am

I am having a problem with setting the width of a nested popup window.

The first window i was able to set its width via $DataObjectManager->set_popup_width(800); but this did not work when setting the width of the window that pops up inside this window.

The code: http://pastebin.com/PR4rXDsF

Does anyone know a fix for this? i also tried globally setting all window widths via DataObjectManager::set_popup_width(800); in my config file but this did not change the nested windows width either.

Any help would be appreciated.

Avatar
UncleCheese

Forum Moderator, 4102 Posts

26 August 2010 at 11:58am

Don't you want $manager->setPopupWidth()?

Avatar
PieterV

Community Member, 4 Posts

26 August 2010 at 12:11pm

If i change my code from "set_popup_width(800)" to "setPopupWidth(800)" the nested window still does not use the set width. Both functions give me the same result: the first window resizes correctly but the child window does not.

Any ideas of ways to test what the problem could be?

Avatar
UncleCheese

Forum Moderator, 4102 Posts

26 August 2010 at 12:21pm

Ohh.. No, it doesn't work for nested DOM.

Avatar
PieterV

Community Member, 4 Posts

26 August 2010 at 12:32pm

Edited: 26/08/2010 12:34pm

Ooh, do you know if there is a work around for this? or a way to set the default popup width for all windows that the nested window would get set to?

The problem is the SimpleHTMLEditorField is wider than the window, so it sets ugly scroll bars and makes its hard to use. I only need it another 100px really.

Thanks for your help!

Avatar
PieterV

Community Member, 4 Posts

26 August 2010 at 4:27pm

So i have fixed the problem, but i needed to hack the data object core js files, "dataobject_manager.js" and "dataobjectmanager_popup.js".

Below is the updated code for "dataobject_manager.js"
http://pastebin.com/eDCvtatx
I made changes on lines 31, 46 and 61

The other change was to delete line 5 from "dataobjectmanager_popup.js", the line that sets the iframe width.

These changes make it so the width for the nested popup is correctly set via $manager->setPopupWidth().

Avatar
kuenkuen82

Community Member, 41 Posts

6 December 2010 at 11:10pm

Thanks PieterV, the JS works quite well. Any tips on how I should increase the height of the popup? In chrome it seems to stick to the bottom

Avatar
Ray

Community Member, 5 Posts

25 July 2011 at 3:23am

For anyone who uses the above posted javascript to fix nested popup widths, please be aware that you'll need to replace all instances of:
'#srch_fld' to '.srch_fld'
and
'#srch_clear' to '.srch_clear'

as they've changed to classes.

You'll also need to hack the Headings function in TableListField.php in order to make sorting work properly, but that's a different story...