Skip to content

MWPW-192158: Shared item loading layer for bulk publish#751

Open
Andrei4226 wants to merge 14 commits intomainfrom
MWPW-192158
Open

MWPW-192158: Shared item loading layer for bulk publish#751
Andrei4226 wants to merge 14 commits intomainfrom
MWPW-192158

Conversation

@Andrei4226
Copy link
Copy Markdown
Contributor

@Andrei4226 Andrei4226 commented Apr 9, 2026

Resolves https://jira.corp.adobe.com/browse/MWPW-192158
QA Checklist: https://wiki.corp.adobe.com/display/adobedotcom/M@S+Engineering+QA+Use+Cases

Extracts the shared item selection UI and data-loading logic from the Translation area into common/, making it reusable across features (Bulk Publish, Translations etc.). Decouples all UI components from Store.translationProjects via a new getItemsSelectionStore() abstraction.
Adds portable data-loading utils, shared rendering helpers and full unit test coverage.

Please review all functionalities from the "Select Items" section in the Translation area.

Please do the steps below before submitting your PR for a code review or QA

  • C1. Cover code with Unit Tests
  • C2. Add a Nala test (double check with #fishbags if nala test is needed)
  • C3. Verify all Checks are green (unit tests, nala tests)
  • C4. PR description contains working Test Page link where the feature can be tested
  • C5: you are ready to do a demo from Test Page in PR (bonus: write a working demo script that you'll use on Thursday, you can eventually put in your PR)
  • C.6 read your Jira one more time to validate that you've addressed all AC's and nothing is missing

🧪 Nala E2E Tests

Nala tests run automatically when you open this PR.

To run Nala tests again:

  1. Add the run nala label to this PR (in the right sidebar)
  2. Tests will run automatically on the current commit
  3. Any future commits will also trigger tests as long as the label remains

To stop automatic Nala tests:

  • Remove the run nala label

Note: Tests only run on commits if the run nala label is present. Add the label whenever you need tests to run on new changes.

Test URLs:

@aem-code-sync
Copy link
Copy Markdown

aem-code-sync Bot commented Apr 9, 2026

Hello, I'm the AEM Code Sync Bot and I will run some actions to deploy your branch.
In case there are problems, just click the checkbox below to rerun the respective action.

  • Re-sync branch
Commits

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 9, 2026

Codecov Report

❌ Patch coverage is 96.53179% with 30 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.47%. Comparing base (dc998b7) to head (c25b633).

Files with missing lines Patch % Lines
studio/src/common/utils/item-loading.js 96.79% 13 Missing ⚠️
...tudio/src/translation/mas-collapsible-table-row.js 73.07% 7 Missing ⚠️
studio/src/common/items-selection-store.js 77.27% 5 Missing ⚠️
studio/src/common/components/mas-selected-items.js 91.17% 3 Missing ⚠️
...io/src/common/components/mas-select-items-table.js 96.29% 1 Missing ⚠️
studio/src/common/utils/items-loader.js 98.68% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #751      +/-   ##
==========================================
+ Coverage   87.42%   87.47%   +0.04%     
==========================================
  Files         210      215       +5     
  Lines       62921    63468     +547     
==========================================
+ Hits        55010    55516     +506     
- Misses       7911     7952      +41     
Files with missing lines Coverage Δ
...io/src/common/components/mas-items-selector.css.js 100.00% <100.00%> (ø)
studio/src/common/components/mas-items-selector.js 95.45% <100.00%> (ø)
...rc/common/components/mas-search-and-filters.css.js 100.00% <ø> (ø)
...io/src/common/components/mas-search-and-filters.js 96.40% <100.00%> (ø)
...rc/common/components/mas-select-items-table.css.js 100.00% <100.00%> (ø)
...io/src/common/components/mas-selected-items.css.js 100.00% <100.00%> (ø)
...src/common/styles/translation-common-styles.css.js 100.00% <100.00%> (ø)
studio/src/common/utils/item-loading-browser.js 100.00% <100.00%> (ø)
studio/src/common/utils/render-utils.js 100.00% <100.00%> (ø)
studio/src/translation/mas-translation-editor.js 95.70% <100.00%> (+0.09%) ⬆️
... and 6 more

... and 5 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dc998b7...c25b633. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread studio/src/common/utils/item-loading.js
Comment thread studio/src/common/utils/item-loading.js
Copy link
Copy Markdown
Contributor

@honstar honstar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Andrei4226 Andrei4226 requested a review from honstar April 14, 2026 12:50
Comment thread studio/src/common/utils/translation-items-loader.js Outdated
Comment thread studio/src/common/utils/translation-items-loader.js Outdated
Comment thread studio/src/translation/mas-translation-editor.js
Comment thread studio/src/common/utils/translation-items-loader.js Outdated
@Andrei4226 Andrei4226 requested a review from yesil April 17, 2026 09:27
Comment thread studio/src/common/utils/items-loader.js
Comment thread studio/src/common/utils/translation-items-loader.js Outdated
Comment thread studio/src/common/utils/translation-items-loader.js Outdated
Comment thread studio/src/common/items-selection-store.js Outdated
Comment thread studio/src/common/utils/item-loading.js
Comment thread studio/src/common/utils/item-loading.js
Comment thread studio/src/translation/mas-collapsible-table-row.js
@Andrei4226 Andrei4226 requested a review from yesil April 28, 2026 06:05
return null;
}
}
import Store from '../../store.js';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Andrei4226 (re-posting on current HEAD since the original thread is now outdated) — thanks for inverting the getDisplayName dependency, that part is great. The file itself wasn't renamed though, and the content is now fully generic (no translation-specific imports left). Could you rename it to something like items-loader.js so the filename matches what it actually does? Otherwise future readers will assume it's still translation-only.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.
I missed this renaming, now it’s much clearer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants