Merge pull request #11 from petkir/master

FI
This commit is contained in:
Peter Paul Kirschner 2021-03-24 23:48:53 +01:00 committed by GitHub
commit d114e659b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 43 additions and 24 deletions

View File

@ -84,9 +84,14 @@ The Web Part checks the user's permissions for the View, Add, Edit, and Delete e
![calendar](assets/screen9.png)
## Used SharePoint Framework Version
## Compatibility
![SPFx 1.10](https://img.shields.io/badge/SPFx-1.10.0-green.svg)
![Node.js LTS 6.x | LTS 8.x](https://img.shields.io/badge/Node.js-LTS%206.x%20%7C%20LTS%208.x-green.svg)
![SharePoint Online](https://img.shields.io/badge/SharePoint-Online-yellow.svg)
![Teams N/A: Untested with Microsoft Teams](https://img.shields.io/badge/Teams-N%2FA-lightgrey.svg "Untested with Microsoft Teams")
![Workbench Hosted: Does not work with local workbench](https://img.shields.io/badge/Workbench-Hosted-yellow.svg "Does not work with local workbench")
![1.10.0](https://img.shields.io/badge/version-1.10.0-green.svg)
## Applies to
@ -100,7 +105,7 @@ Property |Type|Required| comments
--------------------|----|--------|----------
Site Url of Calendar List | Text| yes|
Calendar list| Choice/Dropdown | yes| this is filled with all list of type "event list" created
Start Date | Date | yes | Event Date
Start Date | Date | yes | Event Date
End Date| Date| yes | Event Date
## Solution
@ -109,11 +114,12 @@ The Web Part Use PnPjs library, Office-ui-fabric-react components. react Big-Cal
Solution|Author(s)
--------|---------
Calendar Web PArt|[Mohammed Amer](https://www.linkedin.com/in/mohammad3mer/) ([@https://twitter.com/Mohammad3mer](https://twitter.com/Mohammad3mer))
Calendar Web Part|Abderahman Moujahid
Calendar Web Part|Hugo Bernier ([@bernier](https://twitter.com/bernierh), [Tahoe Ninjas](https://tahoeninjas.blog/))
Calendar Web Part|João Mendes
Calendar Web Part|Mohamed Derhalli
Calendar Web Part (Upgrade)|Hugo Bernier ([@bernier](https://twitter.com/bernierh), [Tahoe Ninjas](https://tahoeninjas.blog/))
Calendar Web Part|Nanddeep Nachan ([@NanddeepNachan](https://twitter.com/NanddeepNachan))
Calendar Web Part|Abderahman Moujahid
## Version history
@ -128,6 +134,7 @@ Version|Date|Comments
1.0.6|December 3, 2020|Fixed all-day events (#1623)
1.0.7|December 4, 2020|Fixed styling Year view + Dutch localization
1.0.8|December 24, 2020|Fixed timezone difference (#1646)
1.0.9|March 16, 2021|Fixed issue deleting events (#1773)
## Disclaimer

View File

@ -189,6 +189,13 @@
"company": "",
"pictureUrl": "https://avatars.githubusercontent.com/u/36161889?s=460\u0026u=afdd5f6681bc375ee3811482dec79824c12d8170\u0026v=4",
"name": "Abderahman Moujahid"
},
{
"gitHubAccount": "mohammadamer",
"company": "Atea Global Services",
"pictureUrl": "https://avatars.githubusercontent.com/u/19314043?s=460&u=79acb7fd0ad466e1040ddd8a739fa93385018b81&v=4",
"name": "Mohammed Amer",
"twitter": "Mohammad3mer"
}
],
"references": [
@ -204,4 +211,4 @@
}
]
}
]
]

View File

@ -3,7 +3,7 @@
"solution": {
"name": "react-calendar-client-side-solution",
"id": "3a13208b-3874-4036-9262-4edd22e88187",
"version": "1.0.8.0",
"version": "1.0.9.0",
"includeClientSideAssets": true,
"skipFeatureDeployment": true,
"isDomainIsolated": false

View File

@ -1,6 +1,6 @@
{
"name": "react-calendar",
"version": "1.0.2",
"version": "1.0.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,7 +1,7 @@
{
"name": "react-calendar",
"main": "lib/index.js",
"version": "1.0.4",
"version": "1.0.9",
"private": true,
"engines": {
"node": ">=0.10.0"

View File

@ -176,7 +176,7 @@ export class Event extends React.Component<IEventProps, IEventState> {
}
else {
if (this.state.eventData.EventType == '1') { // recurrence exception
eventData.RecurrenceID = eventData.EventDate.toString();
eventData.RecurrenceID = eventData.EventDate;
eventData.MasterSeriesItemID = eventData.ID.toString();
eventData.EventType = "4";
eventData.fRecurrence = true;

View File

@ -20,6 +20,6 @@ export interface IEventData {
fRecurrence?: string | boolean;
EventType?: string;
UID?: string;
RecurrenceID?: string;
RecurrenceID?: Date;
MasterSeriesItemID?: string;
}

View File

@ -91,7 +91,7 @@ export default class spservices {
UID: newEvent.UID,
RecurrenceData: newEvent.RecurrenceData ? await this.deCodeHtmlEntities(newEvent.RecurrenceData) : "",
MasterSeriesItemID: newEvent.MasterSeriesItemID,
RecurrenceID: newEvent.RecurrenceID ? await this.getUtcTime(newEvent.RecurrenceID) : undefined,
RecurrenceID: newEvent.RecurrenceID ? newEvent.RecurrenceID : undefined,
});
}
catch (error) {
@ -240,7 +240,7 @@ export default class spservices {
switch (event.EventType.toString()) {
case '4': // Exception Recurrence Event
results = await web.lists.getById(listId).items.getById(event.Id).update({
Title: `Delete: ${event.title}`,
Title: `Deleted: ${event.title}`,
EventType: '3',
});
break;
@ -251,9 +251,10 @@ export default class spservices {
await this.deleteRecurrenceExceptions(event, siteUrl, listId);
await web.lists.getById(listId).items.getById(event.Id).delete();
} else {
// delete a single recurrence Exception. add new entry with eventtype 3
event.RecurrenceID = event.EventDate.toString();
//Applying the Standard funactionality of SharePoint When deleting for deleting one occurrence of recurrent event by
// 1) adding prefix "Deleted" to event title 2) Set RecurrenceID to event Date 3) Set MasterSeriesItemID to event ID 4)Set fRecurrence to true 5) Set event type to 3
event.title = `Deleted: ${event.title}`;
event.RecurrenceID = event.EventDate;
event.MasterSeriesItemID = event.ID.toString();
event.fRecurrence = true;
event.EventType = '3';
@ -532,7 +533,7 @@ export default class spservices {
Duration: event.Duration,
RecurrenceData: event.RecurrenceData ? await this.deCodeHtmlEntities(event.RecurrenceData) : "",
fRecurrence: event.fRecurrence,
RecurrenceID: event.RecurrenceID ? await this.getLocalTime(event.RecurrenceID) : undefined,
RecurrenceID: event.RecurrenceID ? event.RecurrenceID : undefined,
MasterSeriesItemID: event.MasterSeriesItemID,
UID: event.UID.replace("{", "").replace("}", ""),
});

View File

@ -39,9 +39,9 @@ The Placeholder and FilePicker are components from the [sp-dev-fx-controls-react
## Compatibility
![SPFx 1.4.0](https://img.shields.io/badge/SPFx-1.4.0-green.svg)
![SPFx 1.4.0](https://img.shields.io/badge/SPFx-1.4.0-green.svg)
![Node.js LTS 6.x](https://img.shields.io/badge/Node.js-LTS%206.x-green.svg)
![SharePoint 2016 | 2019 | Online](https://img.shields.io/badge/SharePoint-2016%20%7C%202019%20%7C%20Online-green.svg)
![SharePoint 2019 | Online](https://img.shields.io/badge/SharePoint-2019%20%7C%20Online-yellow.svg)
![Teams No: Not designed for Microsoft Teams](https://img.shields.io/badge/Teams-No-red.svg "Not designed for Microsoft Teams")
![Workbench Local | Hosted](https://img.shields.io/badge/Workbench-Local%20%7C%20Hosted-green.svg)
@ -92,7 +92,7 @@ Version|Date|Comments
## Usage
* PNP Placeholder control if not Configured
* PNP WebpartTitle control (toggle Show/Hide in property pane)
* PNP WebPartTitle control (toggle Show/Hide in property pane)
* PNP FilePicker control to pick Images (is mocked on local workbench)
* Office UI Fabric

View File

@ -5,7 +5,7 @@
A RSS Reader original based on work completed by Olivier Carpentier's from: https://github.com/OlivierCC/spfx-40-fantastics/tree/master/src/webparts/rssReader
Root project: https://github.com/OlivierCC/spfx-40-fantastics
React RSS Reader utilizes SharePoint Framework v1.7.0 with no dependency on jQuery or a RSS Feed library. This project does utilize https://sharepoint.github.io/sp-dev-fx-property-controls/, and Moment React for date manipulation. Handlebar template option derived from React Search Refiners: https://github.com/SharePoint/sp-dev-fx-webparts/tree/master/samples/react-search-refiners.
React RSS Reader utilizes SharePoint Framework v1.11.0 with no dependency on jQuery or a RSS Feed library. This project does utilize https://sharepoint.github.io/sp-dev-fx-property-controls/, and Moment React for date manipulation. Handlebar template option derived from React Search Refiners (PnP Modern Search): https://microsoft-search.github.io/pnp-modern-search/. Use NodeJS version 10 to compile or rebuild the spfx solution.
Main features include:
@ -58,10 +58,14 @@ Version|Date|Comments
- Clone this repository
### SPFx
- In the command line run:
- In the command line, with a version of Node 10, i.e. 10.16.3, run:
- `npm install`
- `gulp serve`
- To bundle and package the installable .sppkg, run:
- `gulp bundle --ship`
- `gulp package-solution --ship`
## Web Parts Configuration
### RSS Reader Web Part

View File

@ -17,10 +17,10 @@
"groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Other
"group": { "default": "Social Tools" },
"title": { "default": "Rss Reader" },
"description": { "default": "Basic Rss Reader utilizing FeedEK" },
"description": { "default": "Basic Rss Reader" },
"officeFabricIconFontName": "InternetSharing",
"properties": {
"feedUrl": "https://techcommunity.microsoft.com/gxcuf89792/rss/board?board.id=Office365Blog",
"feedUrl": "https://www.reddit.com/r/Office365/.rss?format=xml",
"feedService": 2,
"feedServiceUrl": "",
"feedServiceApiKey": "",