Skip to content

feat: add React cross-site events sample - #6481

Open
vystartasv wants to merge 2 commits into
pnp:mainfrom
vystartasv:feat/react-events-aggregator
Open

feat: add React cross-site events sample#6481
vystartasv wants to merge 2 commits into
pnp:mainfrom
vystartasv:feat/react-events-aggregator

Conversation

@vystartasv

Copy link
Copy Markdown
Contributor

Description

Adds a read-only React web part that aggregates Microsoft 365 group calendar views from a bounded set of SharePoint team-site sources.

What changed

  • Added Graph calendarView integration through PnPjs Graph.
  • Added bounded siteUrl|groupId source configuration.
  • Added site URL validation and per-source result/error states.
  • Added timezone-safe date normalization and display formatting.
  • Added loading, empty, partial-failure, access-denied, retry, responsive, and accessible UI states.
  • Added deterministic tests covering validation, date ranges, normalization, formatting, and error classification.
  • Added README documenting Graph permissions, admin consent, tenant validation, and read-only scope.
  • Added .nvmrc and valid PnP gallery metadata.

How was this tested?

  • npm ci
  • npm test — 10/10 tests passed across 5 suites.
  • npm run build / gulp bundle --ship — TypeScript, Sass, lint, and webpack passed.
  • gulp package-solution --ship — production .sppkg generated and validated.
  • Reviewed the diff for scope, secrets, debug output, and generated artifacts.

Tenant validation requested

Graph calendar permissions, group/site correspondence, tenant consent, timezone behavior, and responsive rendering still require validation in a real SharePoint Online tenant. No tenant screenshots are fabricated.

@vystartasv

Copy link
Copy Markdown
Contributor Author

Could someone with a SharePoint Online tenant please validate this sample with two representative Microsoft 365 team-site calendars and add real screenshots to assets/ or this PR if possible?

Please check Graph permission/admin-consent behavior, site URL/group ID pairing, calendarView results, time zones, partial failures, access-denied and retry states, and narrow responsive layouts. The implementation is read-only and does not create/update/delete events. Local tests, TypeScript, lint, webpack, and production packaging pass. Positive or negative findings are welcome. Thank you!

@github-actions

Copy link
Copy Markdown
Contributor

Sample PR validation for #6481

⚠️ Validation status: warnings

We automatically validate all pull requests against our contribution guidance to ensure that all samples provide a consistent experience to our community.

In order to merge this PR in a timely manner, the following criteria must be met:

Validation Status
Pull request affects only one folder ✅ Succeeded
Sample folder name follows naming convention ✅ Succeeded
README.md contains visitor stat image ⚠️ Warning
Sample requires a .nvmrc file ✅ Succeeded
Sample requires a README.md ✅ Succeeded
Sample requires a screenshot .png in assets folder ⚠️ Warning
No .sppkg file ✅ Succeeded
No node_modules folder ✅ Succeeded
No lib folder ✅ Succeeded
No upgrade reports ✅ Succeeded

@vystartasv please address the above issues and push new changes to this branch.
For more information, see the contribution guidance.

@github-actions

Copy link
Copy Markdown
Contributor

Sample PR validation for #6481

⚠️ Validation status: warnings

We automatically validate all pull requests against our contribution guidance to ensure that all samples provide a consistent experience to our community.

In order to merge this PR in a timely manner, the following criteria must be met:

Validation Status
Pull request affects only one folder ✅ Succeeded
Sample folder name follows naming convention ✅ Succeeded
README.md contains visitor stat image ✅ Succeeded
Sample requires a .nvmrc file ✅ Succeeded
Sample requires a README.md ✅ Succeeded
Sample requires a screenshot .png in assets folder ⚠️ Warning
No .sppkg file ✅ Succeeded
No node_modules folder ✅ Succeeded
No lib folder ✅ Succeeded
No upgrade reports ✅ Succeeded

@vystartasv please address the above issues and push new changes to this branch.
For more information, see the contribution guidance.

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.

1 participant