sp-dev-fx-webparts/samples/react-birthdays
Hugo Bernier e1c92f493b Updated readme and package version 2021-06-27 00:53:49 -04:00
..
assets Updated readme and package version 2021-06-27 00:53:49 -04:00
config Updated readme and package version 2021-06-27 00:53:49 -04:00
src Enhance webpart to show birthday and anniversary. Upgrade libraries. 2021-06-17 09:06:14 +05:30
teams Enhance webpart to show birthday and anniversary. Upgrade libraries. 2021-06-17 09:06:14 +05:30
.editorconfig React-Birthdays Web Part (#716) 2018-12-28 17:47:35 +02:00
.gitignore Enhance webpart to show birthday and anniversary. Upgrade libraries. 2021-06-17 09:06:14 +05:30
.yo-rc.json React-Carousel and New Version of Happy Birthday Web Part (#914) 2019-07-28 13:19:30 +03:00
README.md Updated readme and package version 2021-06-27 00:53:49 -04:00
gulpfile.js React-Birthdays Web Part (#716) 2018-12-28 17:47:35 +02:00
package-lock.json Enhance webpart to show birthday and anniversary. Upgrade libraries. 2021-06-17 09:06:14 +05:30
package.json Updated readme and package version 2021-06-27 00:53:49 -04:00
tsconfig.json React-Carousel and New Version of Happy Birthday Web Part (#914) 2019-07-28 13:19:30 +03:00
tslint.json React-Birthdays Web Part (#716) 2018-12-28 17:47:35 +02:00

README.md

Birthdays

Summary

The Web Part Birthdays shows the upcoming birthdays in the company, the web part reads birthdays from a list located on the tenant's root site with title "Birthdays."

Now is possible to the user select an image for the background in the properties of the webpart.

There is an Azure function available that get AAD user birthdays, this function creates a list on the tenant root site, if it does not exist. See the local.settings.json for details on the required application variable located in SyncUsersBirthdaysFunction folder.

But you can synchronize the Birthdays list with other applications HR Systems, or other sources

Birthdays Web Part

Birthdays Web Part

Compatibility

SPFx 1.12.1 Node.js LTS v14 | LTS v12 | LTS v10 SharePoint Online Teams N/A: Untested with Microsoft Teams Workbench Hosted: Does not work with local workbench

Applies to

Prerequisites

Existing list in tenant root site, with the Title "Birthdays" and columns:

Column Internal Name Type Required comments
JobTitle Text no
Birthday DateTime true
userAADGUID Text no required if used Azure Function to get Birthdays from AAD
Title Text true
email Text true

IMPORTANT: After create a column Index on column "Birthday"

Solution

Solution Author(s)
react Birthday Web Part João Mendes
react Birthday Web Part Sajal Maity

Version history

Version Date Comments
1.0.0 November 6, 2018 Initial release
1.1.0 July 23, 2019 new version
2.0.0 June 16, 2021 Upgraded to SPFx 1.12.1

Minimal Path to Awesome

  • Clone this repository
  • in the command line run:
    • npm install
    • gulp build
    • gulp bundle --ship
    • gulp package-solution --ship
    • Add and Deploy Package to AppCatalog
    • Go to API Management - from SharePoint Admin Center new experience, and Approve the Permission Require to Use Graph API SCOPES

Features

This project contains sample Birthday web parts built on the SharePoint Framework using React and an Azure Function to get user Birthdays from AAD. This sample illustrates the following concepts on top of the SharePoint Framework:

  • using React for building SharePoint Framework client-side web parts
  • using React components for building Birthday web part
  • using MSGraph API to get data from SharePoint Lists
  • using MSGraph API to read users from AAD
  • using @PnP/PnPjs to create a List, add, update, delete Items.

Disclaimer

THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.

Help

We do not support samples, but we this community is always willing to help, and we want to improve these samples. We use GitHub to track issues, which makes it easy for community members to volunteer their time and help resolve issues.

If you encounter any issues while using this sample, create a new issue.

For questions regarding this sample, create a new question.

Finally, if you have an idea for improvement, make a suggestion.