Opened 11 years ago

Closed 8 years ago

#7009 closed Bug (fixed)

Fix for hide/collapse of fieldsets in admin when fieldsets are added dynamically

Reported by: punteney Owned by: nobody
Component: contrib.admin Version: master
Severity: Normal Keywords: javascript collapsing fieldsets
Cc: punteney@…, email@… Triage Stage: Design decision needed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: yes


Currently in CollapsedFieldsets.js when it's initialized it gets gets an array of the fieldsets on the pages and then for the ones that are expand/contract it passes the the index number of that array to the onclick function to determine what fieldset should be displayed or hidden. Then in the show and hide function it queries the document again for all the fieldsets and selects the appropriate one based on the fieldset_index that was passed on to it. This breaks if a fieldset is dynamically added or removed from the page after the initialization as the array of fieldsets is now a different length (in my case it's an option to toggle the YUI rich text editor on or off that causes the problem to occur).

The attached patch changes it so an id is created for the fieldset if it doesn't have one and then the id is passed along with the fieldset_index to the show and hide functions. The correct fieldset is then found through the document.getElementById so as to be always be the correct one even if fieldsets are added or removed.

Attachments (1)

collapsedFieldsets_by_id.diff (3.6 KB) - added by punteney 11 years ago.
Updated patch for the nfa (changing "berror" to "berrors")

Download all attachments as: .zip

Change History (9)

comment:1 Changed 11 years ago by punteney

Updated patch to include passing the fieldset id to the show function from within the uncollapse_all function as well.

comment:2 Changed 11 years ago by flosch

Cc: email@… added

comment:3 Changed 11 years ago by Eric Holscher

milestone: 1.0 maybe
Triage Stage: UnreviewedDesign decision needed

Changed 11 years ago by punteney

Updated patch for the nfa (changing "berror" to "berrors")

comment:4 Changed 11 years ago by Jacob

milestone: 1.0 maybepost-1.0

comment:5 Changed 10 years ago by (none)

milestone: post-1.0

Milestone post-1.0 deleted

comment:3 Changed 8 years ago by Julien Phalip

Severity: Normal
Type: Bug

comment:4 Changed 8 years ago by Julien Phalip

UI/UX: set

comment:5 Changed 8 years ago by Alex Gaynor

Easy pickings: unset
Resolution: fixed
Status: newclosed

I dont' think any of this is valid, following Zain's GSOC to add dynamic fieldsets to django's admin directly.

Note: See TracTickets for help on using tickets.
Back to Top