I recently started doing some testing to resize docks using the new system.perspective.alterDock function, and it seems that it can only be applied to one dock at a time when I tested it on 8.1.21. Is this expected behavior, or is there some way to get the size change to stick?
The environment I'm testing in has left, top, and right docks, and I'd like to be able to specify sizes for all 3 at the same time depending on the situation.
alterDock takes a dockID as a required parameter. Are your docks the same ID and only 1 is being affected? If this is your case, I would create 3 unique dockIDs and call the function 3 times.
ex.
dockConfig = {}
system.perspective.alterDock(leftDock, dockConfig)
system.perspective.alterDock(rightDock, dockConfig)
system.perspective.alterDock(topDock, dockConfig)
Each dock has it's own unique ID. Here's an example of the script I'm trying to run:
def runAction(self, event):
system.perspective.alterDock('topMenu', {'size':100})
system.perspective.alterDock('leftMenu', {'size':640})
system.perspective.alterDock('settings', {'size':500})
When the button with this script assigned is pressed you can barely catch a glimpse of the first two docks resizing before returning to their original size and only the last dock called retains the change.
This is also happening in 8.1.20. Only 1 dock changes. ( the last alterDock line is the one that works as expected)
Before I even begin trying to replicate this, I need more information about the layout within the session.
Are all of these docks on the same side? Two on the left and one on the top? Is any dock open/expanded when this is invoked? Which dock is expanded? What are the dimensions of the docks before you attempt to modify them? All of these docks are all attached to the current page, correct? Did you leave the page and then navigate back to it?
The docks are on different sides, each dock is configured on Shared settings so they are attached to all pages, and leaving the page causes the one dock that had the size increased return to its previous size. Here are the original specifics of each dock:
Dock ID: leftMenu
Dock Location: left side
Display: auto
Resizable?: false
Content: push
Size: 320
Auto Breakpoint 1,600
Handle: hide
Dock ID: topMenu
Dock Location: top side
Display: visible
Resizable?: false
Content: push
Size: 50
Handle: hide
Dock ID: settings
Dock Location: right side
Display: onDemand
Resizable?: false
Modal?: false
Content: cover
Size: 250
Handle: hide
I've opened a ticket to get this resolved.
Ignition 8.1.21
I have the same issue with alter dock when I try to alter viewParams of multiple docks
Is there any progress on this ticket ?
I Hope this could be fixed soon. Most of our application need to alter multiple docks.
As a workaround we have to copy some dock settings for lots of view, but it's not very smart, readable and simple to maintain.
1 Like