Environment
- AtroCore version: 2.3.10
- Application: AtroPIM
- Browser: Chromium-based browser
- Installation: Docker on Windows
Steps to reproduce
- Create a Channel and multiple Listings related to that Channel.
- Configure the Channel's Listings relationship panel without the Channel column.
- Open the Channel detail view and expand the Listings panel.
- The counter correctly displays, for example,
20 / 99.
- 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.
Environment
Steps to reproduce
20 / 99.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:
The same records are displayed correctly in the top-level Listing list.
Root cause
The custom Listing classification field calls
this.$el.parent().hide()whenchannelIdis unavailable:In a list view,
this.$el.parent()is the complete table row. A relationship list does not necessarily selectchannelIdwhen 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.jsProposed 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.