Share via


SharePoint Framework Extension: Leverage Power Apps

PowerApps is an enterprise service that lets you connect, create, and share business apps with your team in minutes and help to build highly tailored application with optimize user experience. You can expedite the business solution with Power Apps as well as SharePoint Online.

Problem Statement

We are creating a solution for audit department. Audit department need to maintain the reports as well as reference document during audit process.

Blueprint approach

Let’s gets start, how we can design and implement such problem statement in optimize way.

Solution Approach

1.  Create Library to store content and List or Library to store all reference documents. 2.  Design SPFx extension solution to deploy at specific library, which will call Modal Dialog with Iframe. 3.  Design Power Apps form calls the same from Modal Dialog with Iframe section. 4.  PowerApps form then saves the data into SharePoint Online List or Library.

Prerequisites

1.      Office 365 subscription

Office 365 Subscription should have access to PowerApps.

2. SPFX environment set up

3. Visual Studio Code

Install visual studio code for code editor - https://code.visualstudio.com/

Implementation approach

**1. Create Schema **

  • Login to SharePoint Online Teams or Communication site
  • Create Library with name: Audit Report
  • Create a List with name: Audit Reference

First, Let’s start with power apps form creation

2. Navigate to PowerApps Form

**3. Create Canvas App **

Click on ‘Canvas app from blank’.

4**. Power App Name**

  • Select app name as ‘Audit Report Reference’, click ‘Create’.

5. Update the app size.

Go to file from menu bar, then select settings -> click on ‘screen size + orientation’ -> select custom give width as 1024 and height as 550.

Click Apply and back button.

6. Rename the Screen

Rename default Screen1 as ‘EditScreen’. Clicking on 3 dots will give option to rename.

7. Insert Form and Rename to Edit Form

Click on ‘insert’ from menu bar. Select ‘Edit’ form.

Rename form1 as ‘EditFrom’

8. Connect to SharePoint Online Data source

 Click on ‘connect to data’.

Search for SharePoint in data source options. And select SharePoint.

Type/paste your site URL, and click ‘connect’.

Select the list ‘Audit Reference’. Click ‘Connect’.

9. Change Form DataSource and Form Mode

Select ‘EditForm’, and select data source as ‘Auditreference’ and default mode as ‘New’ from right pane properties.

10. Populate Fields at Form

Edit form populate with fields.

Select datacardvalue of ‘Title’ field.

11. Modify the default formula of Control

Change the default formula as ‘Param("Input")’

12. Add Button Control and Set Navigation

Select ‘EditScreen’. Click on ‘insert ’ on menu bar. Click on button.

Button will get added to screen, rename the button as ‘Save’, in left side tree view.

Place (Drag and drop) the button below the screen,

Select the button and Change the button text as ‘Save’

13. Add new screen for display message

  • Select ‘Insert’ in menu bar. Add new blank screen.
  • Rename that screen as ‘DisplayScreen’ in left side tree view.
  • Select displayScreen and add a label from menu bar insert option.
  • Rename the label as ‘DisplayMessage’.
  • Select label text option and give text as ‘Reference saved successfully, Please click close button to exit the window’
  • Select label. From menu bar select home, change the font size to 24. Alignment as center aligned.
  • Change the text color to blue.
  • Update the label position, size and padding in label properties as shown in below screenshot.

14. Update Navigation

Select EditScreen. Then select ‘Save button’ and update ‘OnSelect’ Property to ‘SubmitForm(EditForm);Navigate(DisplayScreen,ScreenTransition.Fade)’

15. Save and publish the PowerApps form

Go to ‘File’ from menu bar. Click on Save & Publish

Store the app id , we need to use the same in SPfx Extension.

Let’s Start with SharePoint Extension i.e. List View Command Set

16. Create and SPFX Extention Solution

Navigate to folder structure and type Code . 

Command "yo @microsoft/sharepoint"

Create SPFx Extension Solution with below selected options

Set Command Name and Description

After couple of seconds, you will get below congratulation message. SharePoint Framework extension solution created successfully.

17. Set Extension to specific Library

You can add extension to specific library as per below command  and use RowAccessor to get Row or Item values.

Add Reference “RowAccessor”

18. Add Modal Dialog Reference TSX file

19. Add Index file to call out Modal Dialog Window

20. Remove unused command set

21. Modify the Template and Registration ID to Document Library

22. Build, Bundle and Package the Solution

  • npm install "react-iframe" --save
  • gulp build
  • gulp bundle --ship
  • gulp package-solution –ship

23. Deploy package to app catalog

Login to SharePoint site and redirect to ‘Site Contents’.

Click on ‘Apps for SharePoint’.

Click on ‘Upload’ button

Select .sppkg package from your solution and click on ‘Ok’

Click on ‘Deploy’ in dialog window.

Verify for successful deployment.  Also verify for deployment errors.

24. Add an app to SharePoint site

Redirect to ‘Site Contents’.

Click on ‘New’ then ‘App’.

Add the solution ‘m-365-Bangalore-client-side-solution’.

Verify app is available in SharePoint ‘site contents’

SPFx solution can be dowload from GitHub also https://github.com/manoj1201/SPFXExtwithPowerapps

Output

Finally, How output  look like

1. Select Item at Library and select List View extension

2. ListView exrension will browse the power apps canvas form

3. Once you submit the form. It will redirect to save message.

4. Browse the list and find the reference document.

How easy and quick it was to build a custom PowerApps solution with SharePoint Framework Extension.

Hope you have enjoyed and learned something new in this article. Thanks for reading and stay tuned for the next article.