sp-dev-fx-webparts/samples/react-timeline
Hugo Bernier c24aacbd7f Updated telemetry link 2023-03-12 21:16:15 -04:00
..
.devcontainer Added SPFx 1.10 containers 2022-02-15 00:50:11 -05:00
assets Changed docs links to learn 2022-10-24 09:42:45 -04:00
config Support for localization 2020-07-10 14:19:07 +00:00
sharepoint/assets
src Support for localization 2020-07-10 14:19:07 +00:00
teams
.editorconfig
.gitignore
.yo-rc.json
README.md Updated telemetry link 2023-03-12 21:16:15 -04:00
gulpfile.js
package-lock.json Support for localization 2020-07-10 14:19:07 +00:00
package.json Support for localization 2020-07-10 14:19:07 +00:00
tsconfig.json
tslint.json

README.md

page_type products languages extensions
sample
office-sp
javascript
typescript
contentType technologies platforms createdDate
samples
SharePoint Framework
React
07/08/2020 12:00:00 AM

Timeline

Summary

This sample displays list of events in chronological order. It is typically a graphic design showing a long bar labelled with dates paralleling it, and coexisting events. This web part helps to draw the timeline based from SharePoint list with pre-defined schema.

Web part preview

When added to SharePoint site, the source list containing timeline information, layout, date format, and sort direction can be configured from web part properties.

SharePoint list schema

Users with "Manage Web" permissions will be able to add, edit, and delete events from web part.

Event CRUD

Layouts

The sample helps to represent the timeline in 2 layouts:

Vertical layout

Represents the events vertically one below other.

Vertical layout

Horizontal layout

Represents the events horizontally one after other.

Horizontal layout

SharePoint Asset

A SharePoint list (named "Timeline") is provisioned to store the timeline information, along with supported site columns and content type. The schema of the list is as below. List Schema

  • The "Title" column stores the event title.
  • The "Event Date" column represents the date of event.
  • The "Picture" column stores the url of image to be displayed for the event.
  • The "Link" column represents the url to event.
  • The "Description" column represents the more information about the event.

The sample also provisions sample data to the "Timeline" list, which can be used as an example to start using the web part. List Sample Data

NPM Packages Used

Below NPM package is used to develop this sample.

  1. @pnp/sp (https://www.npmjs.com/package/@pnp/sp)
  2. @pnp/spfx-controls-react (https://pnp.github.io/sp-dev-fx-controls-react/)
  3. @pnp/spfx-property-controls (https://pnp.github.io/sp-dev-fx-property-controls/)
  4. Moment (https://www.npmjs.com/package/moment)

Compatibility

⚠️ Important
Every SPFx version is only compatible with specific version(s) of Node.js. In order to be able to build this sample, please ensure that the version of Node on your workstation matches one of the versions listed in this section. This sample will not work on a different version of Node.
Refer to https://aka.ms/spfx-matrix for more information on SPFx compatibility.

SPFx 1.10 Node.js v10 | v8 Compatible with SharePoint Online Does not work with SharePoint 2019 Does not work with SharePoint 2016 (Feature Pack 2) Local Workbench Compatible Hosted Workbench Compatible Compatible with Remote Containers

Applies to

Contributors

Version history

Version Date Comments
1.0.0 July 08, 2020 Initial release

Prerequisites

  • SharePoint Online tenant
  • Site Collection created under the /sites/ or /

Minimal Path to Awesome

This sample can also be opened with VS Code Remote Development. Visit https://aka.ms/spfx-devcontainer for further instructions.

Features

This sample web part displays list of events in chronological order with data stored in a SharePoint list.

  • SharePoint assets provisioning
  • Creating extensible services
  • Using @pnp/sp

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.