View Issue Details

IDProjectCategoryView StatusLast Update
0019162MediaMonkey 5Extensions frameworkpublic2022-10-10 00:20
Reporterzvezdan Assigned To 
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionreopened 
Target Version5.0.4Fixed in Version5.0.4 
Summary0019162: navigate methods of all navigationHandlers should notify when view switch finished
DescriptionThere are many navigationHandlers that returns undefined, e.g. dbFolder, Year and so on.

The navigate methods of these navigationHandlers should return Promise with navUtils.navigateNodePath with resolveWhenFinished = true.
TagsNo tags attached.
Fixed in build2668

Activities

Ludek

2022-06-13 12:54

developer   ~0068494

Last edited: 2022-06-13 13:49

Fixed in build 5.0.4.2652

BTW: As a workaround there is 'viewchange' method that can be listened on document.body, usage e.g. in filterEditor.js, searchBar.js etc.
image.png (12,335 bytes)   
image.png (12,335 bytes)   

zvezdan

2022-06-13 14:12

updater   ~0068500

I am not sure that listening on 'viewchange' on document.body is the best way since it could fire for so many reasons. I am currently trying to use:
app.listen(window.currentTabControl.multiviewControl.mainControl.controlClass.dataSource, 'change' ...

and:
app.listen(window.currentTabControl.mediatree.controlClass.dataSource, 'change' ...

but neither is perfect. I am waiting to see how your fix is applied and if it is better.

Ludek

2022-06-13 19:47

developer   ~0068505

Last edited: 2022-06-13 19:48

Listening 'viewchange' on document.body is better way as in MM5 the nodes can be navigated even if the Media tree is disabled (e.g. via breadcrumbs or via node grids) and 'viewchange' will always fire.

My fix in 2652 was just adding the Promise (as return value of all navigationHandlers)

zvezdan

2022-06-21 09:27

updater   ~0068642

This doesn't work always, tried with dbFolder. I copied your window.navigationHandlers.dbFolder.navigate function to my script, added true as the second resolveWhenFinished argument to navigateNodePath(nodePath), and now it works fine.

By the way, it would be nice if you modify this particular navigate method to conditionally accept the first argument (path) as a string. I could continue using my modification of that method, but it would be better if you do that in the built-in script.

peke

2022-09-30 19:20

developer   ~0069590

Last edited: 2022-09-30 19:20

Implementation verified 2667

@Ludek please close/triage after reviewing @Zvezdan question at 0019162:0068642

Ludek

2022-10-04 17:54

developer   ~0069636

Fixed in 2668

peke

2022-10-10 00:20

developer   ~0069725

Verified 2670