sap.m.TablePersoDialog
See original GitHub issueOpenUI5 version: 1.52.9 Browser/version (+device/version): Chrome Any other tested browsers/devices(OK/FAIL): None URL (minimal example if possible): None User/password (if required and possible - do not post any confidential information here): None Steps to reproduce the problem:
- Navigate to a page that uses Table Personalization.
- Navigate away from the application
- Reenter the same page with the Table Personalization
What is the expected result?
That the page loads with out issue
What happens instead?
Since the introduction of Stable IDs in the sap.m.TablePersoDialog the content of this._oColumnItemTemplate does not get deregistered. This causes the applySettings of the ManagedObject to never be called and witch then causes an infinite loop.
Any other information? (attach screenshot if possible)
this._oColumnItemTemplate = new InputListItem(this.getId() + "-li", { label: "{Personalization>text}", content: new sap.m.CheckBox(this.getId() + "-cb", { selected: "{Personalization>visible}", select: this._fnUpdateCheckBoxes }) }).addStyleClass("sapMPersoDialogLI");
Console Error: Uncaught (in promise) Error: Error: adding element with duplicate id ‘application-Account-zepapfull-component—worklist–table-PersoDialog-cb’ at constructor.u.registerElement (Core-dbg.js:2828) at f.g.register (Core-dbg.js:530) at ManagedObject-dbg.js:486 at f.constructor (ManagedObject-dbg.js:516) at f.constructor (Element-dbg.js:99) at f.constructor (Control-dbg.js:141) at new f (Metadata-dbg.js:346) at constructor.d.init (TablePersoDialog-dbg.js:150) at ManagedObject-dbg.js:497 at constructor (ManagedObject-dbg.js:516)
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (1 by maintainers)
Hey @pdominique,
My solution was to destroy the TablePersoDialog in the
onExit
hook of the view. Im not sure why the controller does not handle this automatically.Sorry for not responding sooner but I hope this helps.
Thanks, we’re in contact with SAP and this is what they are suggesting. I’ll try to explicitly call destroy and see if this fixes our issue.