Opened 16 years ago

Closed 13 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: dev
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

Description

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 16 years ago.
Updated patch for the nfa (changing "berror" to "berrors")

Download all attachments as: .zip

Change History (9)

comment:1 by punteney, 16 years ago

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

comment:2 by flosch, 16 years ago

Cc: email@… added

comment:3 by Eric Holscher, 16 years ago

milestone: 1.0 maybe
Triage Stage: UnreviewedDesign decision needed

by punteney, 16 years ago

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

comment:4 by Jacob, 16 years ago

milestone: 1.0 maybepost-1.0

comment:5 by (none), 15 years ago

milestone: post-1.0

Milestone post-1.0 deleted

comment:3 by Julien Phalip, 13 years ago

Severity: Normal
Type: Bug

comment:4 by Julien Phalip, 13 years ago

UI/UX: set

comment:5 by Alex Gaynor, 13 years ago

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