Skip to content

feat(quantic): add quantic-load-more-results component - #8163

Draft
mmitiche wants to merge 2 commits into
mainfrom
feat/SFINT-6883-load-more-results
Draft

feat(quantic): add quantic-load-more-results component#8163
mmitiche wants to merge 2 commits into
mainfrom
feat/SFINT-6883-load-more-results

Conversation

@mmitiche

@mmitiche mmitiche commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Jira

SFINT-6883

What

Adds quantic-load-more-results, a new production LWC (plus its example-community wrapper for E2E coverage) that lets users append the next batch of search/insight results on click, as an alternative to quantic-pager.

Where to look

  • quanticLoadMoreResults.js/.html/.css — the component itself: builds resultList + querySummary off the existing headless bundle, computes the running "showing X of Y" summary and progress bar, and announces via AriaLiveRegion when the last batch has just loaded (guarded by searchResponseId staying constant across the load-more fetch, per headless's actual reducer behavior).
  • exampleQuanticLoadMoreResults — example-community wrapper used purely to give Playwright a real page to drive the component against.
  • playwright/page-object/searchObject.ts (mockSearchWithLoadMoreSequence) — the E2E mock backing the append/aria-live assertions; returns a distinct result batch (and thus distinct render keys) per response while keeping searchUid constant, mirroring real load-more semantics.

Note

E2E suite (fixture, page object, spec) is authored and type-checks cleanly but has not been executed against a live Salesforce scratch org in the environment this was built in — recommend running it once before merge.

Adds the quantic-load-more-results component, an alternative to
quantic-pager, that lets users load additional results by clicking a
button. It shows a running summary (X of Y results), a progress bar,
and announces via aria-live when the last batch has been loaded.

- New production component quanticLoadMoreResults, built on the
  existing headless ResultList/QuerySummary controllers (no
  per-engine branching needed for Search vs Insight).
- New example-community wrapper for E2E coverage and manual testing.
- New labels (EN/FR/ES) for the button, running summary, and
  aria-live announcement.
- JSDoc cross-reference added to quantic-pager documenting the two
  components are alternatives, not to be combined.
- Adds SearchObject.mockSearchWithLoadMoreSequence(), a small e2e
  test helper needed to simulate a load-more response sequence.
…results

Fixes PR review findings on the quantic-load-more-results feature:

- mockSearchWithLoadMoreSequence now returns a distinct batch of result
  uniqueIds per response instead of repeating the same results array,
  matching how a real load-more response differs from the initial page.
  This avoids duplicate for:each keys in quanticResultList
  (searchResponseId + uniqueId), which previously masked whether the
  e2e append/aria-live assertions were exercising real behavior.
- Removed the unreachable _zero variant of the
  quantic_ShowingResultsOfLoadMore label (and its fr/es translations):
  the summary block only renders when querySummaryState.hasResults is
  true, which is false whenever lastResult is 0, so the _zero string
  could never be shown.
- Added a trailing newline to quanticLoadMoreResults.js-meta.xml to
  match sibling generated meta.xml files.
@changeset-bot

changeset-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 9b040ec

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@coveo/quantic Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@svcsnykcoveo

svcsnykcoveo commented Aug 4, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@pkg-pr-new

pkg-pr-new Bot commented Aug 4, 2026

Copy link
Copy Markdown
@coveo/atomic

npm i https://pkg.pr.new/@coveo/atomic@8163

@coveo/atomic-hosted-page

npm i https://pkg.pr.new/@coveo/atomic-hosted-page@8163

@coveo/atomic-legacy

npm i https://pkg.pr.new/@coveo/atomic-legacy@8163

@coveo/atomic-react

npm i https://pkg.pr.new/@coveo/atomic-react@8163

@coveo/auth

npm i https://pkg.pr.new/@coveo/auth@8163

@coveo/bueno

npm i https://pkg.pr.new/@coveo/bueno@8163

@coveo/create-atomic

npm i https://pkg.pr.new/@coveo/create-atomic@8163

@coveo/create-atomic-component

npm i https://pkg.pr.new/@coveo/create-atomic-component@8163

@coveo/create-atomic-component-project

npm i https://pkg.pr.new/@coveo/create-atomic-component-project@8163

@coveo/create-atomic-result-component

npm i https://pkg.pr.new/@coveo/create-atomic-result-component@8163

@coveo/create-atomic-rollup-plugin

npm i https://pkg.pr.new/@coveo/create-atomic-rollup-plugin@8163

@coveo/create-ui

npm i https://pkg.pr.new/@coveo/create-ui@8163

@coveo/headless

npm i https://pkg.pr.new/@coveo/headless@8163

@coveo/headless-react

npm i https://pkg.pr.new/@coveo/headless-react@8163

@coveo/relay

npm i https://pkg.pr.new/@coveo/relay@8163

@coveo/shopify

npm i https://pkg.pr.new/@coveo/shopify@8163

commit: 9b040ec

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🔗 Scratch Orgs ready to test this PR:

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants