Manageiq-ui-classic: Missing Comparison Sections (depending on navigation steps)

Created on 26 Sep 2019  路  5Comments  路  Source: ManageIQ/manageiq-ui-classic

When comparing various items (VMs, Hosts, Templates...), displayed in a nested list, _Comparison Sections_ accordion is missing, it is not possible to change between the sections, only _Workload_ section is available.

Steps to reproduce: (one of possible scenarios)

  1. _Compute > Infrastructure > Datastores_
  2. Display some datastore's textual summary (click on some datastore)
  3. Click on _Managed VMs_ from _Relationships_ table
  4. Choose at least 2 VM(s) (check the checkboxes)
  5. _Configuration > Compare Selected items_
    => Comparison Sections accordion is missing
    miss_acc

Expected result:
Comparison Sections present, as it is for example for comparing VMs, displayed in _Compute > Infrastructure > Virtual Machines_:
comparison_section


Additional info:
I've tested the presence of the issue in: 5.9, 5.10, 5.11 and it is present for all of them.

The presence of this issue depends also on navigation steps, it works for some items displayed in a nested list (for example VMs displayed from a provider's details page).

If you will not be able to reproduce this, it may be because of a different issue: https://bugzilla.redhat.com/show_bug.cgi?id=1733120 (fixed)

bug help wanted

All 5 comments

@h-kataria @himdel @martinpovolny What do you think about this issue? Does it make sense to work on this or are we already working on moving Compare screen to React? Thanks in advance :)

I think the cause is that Datastore controller doesn't really know how to render listnavs for vm or template.

So, I think it may make sense to wait, otherwise we need a way for controller A to use controller B code to display a listnav that controller B would display normally (for any combination of A and B where A has a nested list of B), and we tried that already in https://github.com/ManageIQ/manageiq-ui-classic/issues/2913 without much progress.

(That said, I only know about the generic case, I haven't really looked if the Comparison listnav would be a simpler case.)

@himdel I am asking myself, if it is really necessary for Datastore controller (and probably some others) to know how to render listnavs for displaying missing _Comparison Sections_ . We just need to render the appropriate div with _Comparison Sections_, nothing else. That shouldn't be so difficult. The appropriate template is just not rendered. In explorer screens, it happens through replace_right_cell_text method.

Feel free to try :).

As far as I can tell, it involves rendering layouts/listnav/compare_secions, which only happens in VmCommon#replace_right_cell now, but theoretically only depends on making sure to provide the right values for @lastaction, @drift_obj, @sb[:compare_db], @sections_tree and @explorer.

Not sure if any of that can work without having layouts/listnav rendered in the first place, with @compare set to true and a bunch of layout logic in render_listnav_filename which will probably be wrong in some places.

@ZitaNemeckova can you take a look if this can be easily fixed as per https://github.com/ManageIQ/manageiq-ui-classic/issues/6239#issuecomment-566614604

Was this page helpful?
0 / 5 - 0 ratings