Skip to content

Listing rows are hidden in Channel relationship panels when channelId is not selected #743

Description

@Streetblock

Environment

  • AtroCore version: 2.3.10
  • Application: AtroPIM
  • Browser: Chromium-based browser
  • Installation: Docker on Windows

Steps to reproduce

  1. Create a Channel and multiple Listings related to that Channel.
  2. Configure the Channel's Listings relationship panel without the Channel column.
  3. Open the Channel detail view and expand the Listings panel.
  4. The counter correctly displays, for example, 20 / 99.
  5. Click Show 20 more or refresh the relationship panel.

Expected behavior

The loaded Listing rows should be visible in the relationship table.

Actual behavior

The counter and pagination are displayed, but all loaded Listing rows remain invisible.

The API returns the records correctly and the table rows exist in the DOM, but each row has an inline style:

<tr class="list-row" style="display: none;">

The same records are displayed correctly in the top-level Listing list.

Root cause

The custom Listing classification field calls this.$el.parent().hide() when channelId is unavailable:

if (this.model.get('channelId')) {
    this.$el.parent().show();
} else {
    this.$el.parent().hide();
}

In a list view, this.$el.parent() is the complete table row. A relationship list does not necessarily select channelId when the Channel column is absent, so the classification field hides an otherwise valid Listing row.

The behavior is in:

client/modules/pim/src/views/listing/fields/classification.js

Proposed fix

Skip this detail/edit-specific parent visibility logic in list views. The existing behavior outside list views remains unchanged.

A tested fix branch is available at Streetblock:agent/fix-hidden-listing-rows.

Workaround

Open the top-level Listing list or include the Channel field in the relationship list query/layout.

This report supersedes atrocore/atrocore#1426, which was filed in the Core repository before the PIM-specific root cause was identified.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions