Skip to content

Commit 1623d40

Browse files
authored
Merge branch 'pnp:dev' into dev
2 parents 401ca3b + c0e6dd8 commit 1623d40

29 files changed

+7176
-9695
lines changed

.yo-rc.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,15 @@
55
"libraryId": "92b1e52c-a5fa-490a-bcf4-76080f39442c",
66
"environment": "spo",
77
"isDomainIsolated": false,
8-
"isCreatingSolution": true,
8+
"isCreatingSolution": false,
99
"packageManager": "npm",
10-
"componentType": "webpart"
10+
"plusBeta": false,
11+
"nodeVersion": "16.15.0",
12+
"sdksVersions": {
13+
"@microsoft/microsoft-graph-client": "3.0.2",
14+
"@microsoft/teams-js": "2.4.1"
15+
},
16+
"componentType": "extension",
17+
"extensionType": "ApplicationCustomizer"
1118
}
1219
}

CHANGELOG.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,28 @@
1414
"`DynamicForm`: Add `respectETag` option to `DynamicForm` [#1395](https://github.com/pnp/sp-dev-fx-controls-react/issues/1395)",
1515
"`MonacoEditor`: Fixed minor typos and misleading instructions [#1415](https://github.com/pnp/sp-dev-fx-controls-react/pull/1415)",
1616
"SharePoint Framework v1.16.1 support [#1427](https://github.com/pnp/sp-dev-fx-controls-react/issues/1427)",
17-
"`RichText`: `label` property is missing [#1375](https://github.com/pnp/sp-dev-fx-controls-react/issues/1375)"
17+
"`RichText`: `label` property is missing [#1375](https://github.com/pnp/sp-dev-fx-controls-react/issues/1375)",
18+
"`PeoplePicker`: PeopleSearch service should also find people by userPrincipalName when group transitive membership check is used. [#1446](https://github.com/pnp/sp-dev-fx-controls-react/pull/1446)",
19+
"Update the SPFx source project to add an extension + form customizer [#1410](https://github.com/pnp/sp-dev-fx-controls-react/issues/1410)",
20+
"`AdaptiveCardDesignerHost`: Add Sample Data to Adaptive Card Editor [#1425](https://github.com/pnp/sp-dev-fx-controls-react/pull/1425)",
21+
"`AdaptiveCardHost`: Logic to prevent re-renders (flicker) [#1425](https://github.com/pnp/sp-dev-fx-controls-react/pull/1425)"
1822
],
1923
"fixes": [
2024
"`DateTimePicker`: broken link for `getErrorMessage` property fixed [#1277](https://github.com/pnp/sp-dev-fx-controls-react/pull/1381)",
2125
"`ProgressStepsIndicator`: Fix missing image reference in Progress Steps Indicator [#1409](https://github.com/pnp/sp-dev-fx-controls-react/issues/1409)",
2226
"`DynamicForm`: Dynamicform is hanging on the loading screen if the list has a single value list lookup field [#1393](https://github.com/pnp/sp-dev-fx-controls-react/issues/1393)",
2327
"`ListView`: Update ListView control docs to use a valid field for the icon [#1398](https://github.com/pnp/sp-dev-fx-controls-react/pull/1398)",
2428
"`Accordion`: Fixing Accordion control documentation image issue [#1408](https://github.com/pnp/sp-dev-fx-controls-react/issues/1408)",
25-
"`DynamicForm`: Cannot read properties of undefined (reading 'startsWith') when submitting the form with `contentType={undefined]` [#1431](https://github.com/pnp/sp-dev-fx-controls-react/issues/1431)"
29+
"`DynamicForm`: Cannot read properties of undefined (reading 'startsWith') when submitting the form with `contentType={undefined]` [#1431](https://github.com/pnp/sp-dev-fx-controls-react/issues/1431)",
30+
"`FilePicker`: Fix site breadcrumb navigation [#1368](https://github.com/pnp/sp-dev-fx-controls-react/issues/1368)"
2631
]
2732
},
2833
"contributions": [
34+
"[araver](https://github.com/araver)",
2935
"[Brian Krainer Jacobsen](https://github.com/krainer)",
3036
"[Edin Kapic](https://github.com/ekapic)",
37+
"[Eduard Paul](https://github.com/eduardpaul)",
38+
"[Fredrik Ekström](https://github.com/FredrikEkstroem)",
3139
"[Harminder Singh](https://github.com/HarminderSethi)",
3240
"[Hugo Bernier](https://github.com/hugoabernier)",
3341
"[João Mendes](https://github.com/joaojmendes)",

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## 3.13.0
44

5+
### New control(s)
6+
7+
- `UploadFiles`: New Upload Files control [#1388](https://github.com/pnp/sp-dev-fx-controls-react/pull/1388)
8+
59
### Enhancements
610

711
- `ListItemPicker`: use list name as well as GUID to point to list [#1355](https://github.com/pnp/sp-dev-fx-controls-react/issues/1355)
@@ -12,6 +16,8 @@
1216
- `MonacoEditor`: Fixed minor typos and misleading instructions [#1415](https://github.com/pnp/sp-dev-fx-controls-react/pull/1415)
1317
- SharePoint Framework v1.16.1 support [#1427](https://github.com/pnp/sp-dev-fx-controls-react/issues/1427)
1418
- `RichText`: `label` property is missing [#1375](https://github.com/pnp/sp-dev-fx-controls-react/issues/1375)
19+
- `PeoplePicker`: PeopleSearch service should also find people by userPrincipalName when group transitive membership check is used. [#1446](https://github.com/pnp/sp-dev-fx-controls-react/pull/1446)
20+
- Update the SPFx source project to add an extension + form customizer [#1410](https://github.com/pnp/sp-dev-fx-controls-react/issues/1410)
1521

1622
### Fixes
1723

@@ -24,7 +30,7 @@
2430

2531
### Contributors
2632

27-
Special thanks to our contributors (in alphabetical order): [Brian Krainer Jacobsen](https://github.com/krainer), [Edin Kapic](https://github.com/ekapic), [Harminder Singh](https://github.com/HarminderSethi), [Hugo Bernier](https://github.com/hugoabernier), [João Mendes](https://github.com/joaojmendes), [mgitta](https://github.com/mgitta), [Michaël Maillot](https://github.com/michaelmaillot), [mikezimm](https://github.com/mikezimm).
33+
Special thanks to our contributors (in alphabetical order): [Brian Krainer Jacobsen](https://github.com/krainer), [Edin Kapic](https://github.com/ekapic), [Eduard Paul](https://github.com/eduardpaul), [Harminder Singh](https://github.com/HarminderSethi), [Hugo Bernier](https://github.com/hugoabernier), [João Mendes](https://github.com/joaojmendes), [mgitta](https://github.com/mgitta), [Michaël Maillot](https://github.com/michaelmaillot), [mikezimm](https://github.com/mikezimm).
2834

2935
## 3.12.0
3036

config/config.json

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
"version": "2.0",
44
"bundles": {
55
"controls-test-web-part": {
6-
"components": [{
7-
"entrypoint": "./lib/webparts/controlsTest/ControlsTestWebPart.js",
8-
"manifest": "./src/webparts/controlsTest/ControlsTestWebPart.manifest.json"
9-
}]
6+
"components": [
7+
{
8+
"entrypoint": "./lib/webparts/controlsTest/ControlsTestWebPart.js",
9+
"manifest": "./src/webparts/controlsTest/ControlsTestWebPart.manifest.json"
10+
}
11+
]
1012
},
1113
"ootb-fields-field-customizer": {
1214
"components": [
@@ -15,11 +17,29 @@
1517
"manifest": "./src/extensions/ootbFields/OotbFieldsFieldCustomizer.manifest.json"
1618
}
1719
]
20+
},
21+
"controls-test-form-customizer": {
22+
"components": [
23+
{
24+
"entrypoint": "./lib/extensions/testForm/TestFormCustomizer.js",
25+
"manifest": "./src/extensions/testForm/TestFormCustomizer.manifest.json"
26+
}
27+
]
28+
},
29+
"app-controls-test-application-customizer": {
30+
"components": [
31+
{
32+
"entrypoint": "./lib/extensions/testApp/TestApplicationCustomizer.js",
33+
"manifest": "./src/extensions/testApp/TestApplicationCustomizer.manifest.json"
34+
}
35+
]
1836
}
1937
},
2038
"externals": {},
2139
"localizedResources": {
2240
"ControlStrings": "lib/loc/{locale}.js",
23-
"ControlsTestWebPartStrings": "lib/webparts/controlsTest/loc/{locale}.js"
41+
"ControlsTestWebPartStrings": "lib/webparts/controlsTest/loc/{locale}.js",
42+
"ControlsTestFormCustomizerStrings": "lib/extensions/testForm/loc/{locale}.js",
43+
"TestApplicationCustomizerStrings": "lib/extensions/testApp/loc/{locale}.js"
2444
}
2545
}

config/package-solution.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,21 @@
1313
"termsOfUseUrl": "",
1414
"websiteUrl": "",
1515
"mpnId": "Undefined-1.13.0"
16-
}
16+
},
17+
"features": [
18+
{
19+
"title": "sp-dev-fx-controls-react Feature",
20+
"description": "The feature that activates elements of the sp-dev-fx-controls-react solution.",
21+
"id": "d7493d69-72ce-4892-a4ae-643166acae22",
22+
"version": "1.0.0.0",
23+
"assets": {
24+
"elementManifests": [
25+
"elements.xml",
26+
"ClientSideInstance.xml"
27+
]
28+
}
29+
}
30+
]
1731
},
1832
"paths": {
1933
"zippedPackage": "solution/sp-dev-fx-controls-react.sppkg"

config/serve.json

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,64 @@
22
"$schema": "https://developer.microsoft.com/json-schemas/core-build/serve.schema.json",
33
"port": 4321,
44
"initialPage": "https://enter-your-SharePoint-site/_layouts/workbench.aspx",
5-
"https": true
5+
"https": true,
6+
"serveConfigurations": {
7+
"default": {
8+
"pageUrl": "https://enter-your-SharePoint-site.sharepoint.com/sites/mySite/_layouts/15/SPListForm.aspx",
9+
"formCustomizer": {
10+
"componentId": "f9c6b930-8d5d-4550-bfd9-ed5f6ca443a8",
11+
"PageType": 8,
12+
"RootFolder": "/sites/mySite/Lists/MyList",
13+
"properties": {
14+
"sampleText": "Value"
15+
}
16+
}
17+
},
18+
"testForm_NewForm": {
19+
"pageUrl": "https://enter-your-SharePoint-site.sharepoint.com/sites/mySite/_layouts/15/SPListForm.aspx",
20+
"formCustomizer": {
21+
"componentId": "f9c6b930-8d5d-4550-bfd9-ed5f6ca443a8",
22+
"PageType": 8,
23+
"RootFolder": "/sites/mySite/Lists/MyList",
24+
"properties": {
25+
"sampleText": "Value"
26+
}
27+
}
28+
},
29+
"testForm_EditForm": {
30+
"pageUrl": "https://enter-your-SharePoint-site.sharepoint.com/sites/mySite/_layouts/15/SPListForm.aspx",
31+
"formCustomizer": {
32+
"componentId": "f9c6b930-8d5d-4550-bfd9-ed5f6ca443a8",
33+
"PageType": 6,
34+
"RootFolder": "/sites/mySite/Lists/MyList",
35+
"ID": 1,
36+
"properties": {
37+
"sampleText": "Value"
38+
}
39+
}
40+
},
41+
"testForm_ViewForm": {
42+
"pageUrl": "https://enter-your-SharePoint-site.sharepoint.com/sites/mySite/_layouts/15/SPListForm.aspx",
43+
"formCustomizer": {
44+
"componentId": "f9c6b930-8d5d-4550-bfd9-ed5f6ca443a8",
45+
"PageType": 4,
46+
"RootFolder": "/sites/mySite/Lists/MyList",
47+
"ID": 1,
48+
"properties": {
49+
"sampleText": "Value"
50+
}
51+
}
52+
},
53+
"testApp": {
54+
"pageUrl": "https://enter-your-SharePoint-site.sharepoint.com/sites/mySite/SitePages/myPage.aspx",
55+
"customActions": {
56+
"ca9eac70-7343-4972-88d6-672d50e9cf38": {
57+
"location": "ClientSideExtension.ApplicationCustomizer",
58+
"properties": {
59+
"testMessage": "Test message"
60+
}
61+
}
62+
}
63+
}
64+
}
665
}

docs/documentation/docs/about/release-notes.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## 3.13.0
44

5+
### New control(s)
6+
7+
- `UploadFiles`: New Upload Files control [#1388](https://github.com/pnp/sp-dev-fx-controls-react/pull/1388)
8+
59
### Enhancements
610

711
- `ListItemPicker`: use list name as well as GUID to point to list [#1355](https://github.com/pnp/sp-dev-fx-controls-react/issues/1355)
@@ -12,6 +16,8 @@
1216
- `MonacoEditor`: Fixed minor typos and misleading instructions [#1415](https://github.com/pnp/sp-dev-fx-controls-react/pull/1415)
1317
- SharePoint Framework v1.16.1 support [#1427](https://github.com/pnp/sp-dev-fx-controls-react/issues/1427)
1418
- `RichText`: `label` property is missing [#1375](https://github.com/pnp/sp-dev-fx-controls-react/issues/1375)
19+
- `PeoplePicker`: PeopleSearch service should also find people by userPrincipalName when group transitive membership check is used. [#1446](https://github.com/pnp/sp-dev-fx-controls-react/pull/1446)
20+
- Update the SPFx source project to add an extension + form customizer [#1410](https://github.com/pnp/sp-dev-fx-controls-react/issues/1410)
1521

1622
### Fixes
1723

@@ -24,7 +30,7 @@
2430

2531
### Contributors
2632

27-
Special thanks to our contributors (in alphabetical order): [Brian Krainer Jacobsen](https://github.com/krainer), [Edin Kapic](https://github.com/ekapic), [Harminder Singh](https://github.com/HarminderSethi), [Hugo Bernier](https://github.com/hugoabernier), [João Mendes](https://github.com/joaojmendes), [mgitta](https://github.com/mgitta), [Michaël Maillot](https://github.com/michaelmaillot), [mikezimm](https://github.com/mikezimm).
33+
Special thanks to our contributors (in alphabetical order): [Brian Krainer Jacobsen](https://github.com/krainer), [Edin Kapic](https://github.com/ekapic), [Eduard Paul](https://github.com/eduardpaul), [Harminder Singh](https://github.com/HarminderSethi), [Hugo Bernier](https://github.com/hugoabernier), [João Mendes](https://github.com/joaojmendes), [mgitta](https://github.com/mgitta), [Michaël Maillot](https://github.com/michaelmaillot), [mikezimm](https://github.com/mikezimm).
2834

2935
## 3.12.0
3036

docs/documentation/docs/guides/mpa.md

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,51 @@ The shortest way to prepare your local copy of the project for development and t
66

77
Before you start contributing to this project, you will need Node.js. This project has been tested with the 10.x version of Node.js and the version of NPM that comes with it. You can use [Node Version Manager](https://github.com/nvm-sh/nvm) to switch between different versions of Node.js.
88

9-
## Get the local version of the CLI
9+
## Get the local version of the project
1010

1111
- fork this repository
1212
- clone your fork
13-
- in the command line:
14-
- run `npm install` to restore dependencies
15-
- run `gulp serve` to serve your project
16-
- Start making your changes
13+
- in the command line, run the following commands:
14+
- `npm install` to restore dependencies
15+
- `npm install -g gulp-cli` in order to run `gulp` commands (run `npm list -g gulp-cli` to check if already installed on your machine or not)
16+
- `gulp serve` to serve your project (or `npm run serve` if you want to use [`spfx-fast-serve`](https://github.com/s-KaiNet/spfx-fast-serve))
17+
- Start making your changes
18+
19+
### Run the project locally
20+
21+
As this project embeds a SPFx solution, you have the ability to test all the controls on your machine.
22+
23+
!!! warning
24+
As long as you have access to a SharePoint Online environment (for v2 and after), you can test the components from your machine. But to test the web part as a Teams Tab, you have to first deploy the SPFx solution (and sync it to Teams). You also have to deploy the [SharePoint Framework library for Microsoft Graph Toolkit](https://learn.microsoft.com/en-us/graph/toolkit/get-started/mgt-spfx) v2.9.0. So be sure to be at least **SharePoint Administrator**.
25+
26+
#### SPFx web part
27+
28+
The web part is called *ControlsTest* and is available for both SharePoint Online and Teams. To test it on SharePoint, go to the workbench page (<https://[SHAREPOINT_SITE].sharepoint.com/_layouts/15/workbench.aspx>) and add the web part.
29+
30+
To test it on Teams, once the project deployed on the tenant accordingly, add the web part as a Tab (from a team for example).
31+
32+
To update the host component, open the *ControlsTest* React component located in the following project's relative path: *src\webparts\controlsTest\components\ControlsTest.tsx*.
33+
34+
#### SPFx application customizer
35+
36+
This extension is called *TestApplicationCustomizer*. To test it, go to the following URL (after updating the parameters):
37+
38+
<https://[SHAREPOINT_SITE].sharepoint.com?loadSPFX=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&customActions={"ca9eac70-7343-4972-88d6-672d50e9cf38":{"location":"ClientSideExtension.ApplicationCustomizer"}}>
39+
40+
To update the host component, open the *TestApp* React component located in the following project's relative path: *src\extensions\testApp\TestApp.tsx*.
41+
42+
#### SPFx form customizer
43+
44+
This extension is called *TestForm*. To test it, you have to configure it first:
45+
46+
1. Open the *serve.json* file (located in the *config* folder)
47+
2. Replace the `rootFolder` property (under `serveConfigurations` ==> `default` ==> `formCustomizer`), which contains a server relative URL, to target the list on which you want to test the extension
48+
49+
Then go to the following URL (after updating the parameters):
50+
51+
<https://[SHAREPOINT_SITE].sharepoint.com/_layouts/15/SPListForm.aspx?debugManifestsFile=https://localhost:4321/temp/manifests.js&loadSPFX=true&componentId=f9c6b930-8d5d-4550-bfd9-ed5f6ca443a8&PageType=8&RootFolder=[OPTIONAL_SERVER_RELATIVE_URL]/Lists/[LIST_NAME]>
52+
53+
To update the host component, open the *TestForm* React component located in the following project's relative path: *src\extensions\testForm\components\TestForm.tsx*.
1754

1855
### Documentation
1956

0 commit comments

Comments
 (0)