Power Apps: Simulate a Pop Up in the Screen

Introduction

Power Apps natively do not have an option to show Pop-Ups. Many times, we would need to use a pop-up to display information/warning to the end-users, accept input from the users, get confirmations from the user via button clicks, etc.

In this article, we will see how to simulate a PopUp that will be used to get the confirmation from the user through a button

Scenario

We have a Power App Screen that shows the Monthly Invoice details as a Gallery which is picked from a SharePoint List. We will have the option to delete the records and we have to ensure that on the click of the delete icon, the user is asked for a confirmation whether to go ahead and delete the records.

We will try to implement this User Confirmation as a Pop Up with Yes/No buttons in the Pop-up and based on the user selecting Yes, we will delete the item.

Graphical user interface

Description automatically generated

Implementation

We will get started with creating a Power App by the name Canvas App Pop Up

Graphical user interface, application, Teams

Description automatically generated

We will then add a header and add a Gallery to hold the information which we will fetch from SharePoint.

Graphical user interface, text, application, email

Description automatically generated

Set the Data Source

So as to pick the data from SharePoint, we will add a Data Source from the Properties tab. We will select the Monthly Invoices List as the data source for the Invoice Gallery

Graphical user interface, text, application

Description automatically generated

Note: In case you are adding the Data source for the first time, you can search for the SharePoint Data Source, specify the Site and select the List from which you want to pull the data, which will create the Data source object for you

Graphical user interface, text, application, email

Description automatically generated

Update the Gallery

As we used the “Image, Subtitle,Title” template for the gallery, we will remove the image control as it’s not used and add a few labels to house the remaining fields retrieved from SharePoint so that it will eventually look like this:

Graphical user interface, application

Description automatically generated

We will then add a Delete Icon, on whose click we will bring up the Confirmation Pop Up.

Graphical user interface

Description automatically generated

Add the Pop-Up Controls

To simulate a pop-up screen, we will add the below controls:

  • Rectangle: Acts as a hover background with transparent colour that keeps the background gallery out of focus. To keep the gallery Out of Focus, we can simulate a disabled feel by adding a rectangle and setting its colour to transparent custom colour
Graphical user interface, application

Description automatically generated
  • Button: Disabled button as a Container for the Yes/No Buttons. To make the pop up with rounded corners, rectangle do not have a property that can be leveraged to make rounded corners. So, we will add a button and set it to disabled and set its Border radius which will give a Rounded Corner Pop Up. We Yeswill also remove the text from this button so that it looks more like rounded container.
Graphical user interface, application

Description automatically generated
  • Yes, No Buttons: For accepting User Confirmation when a Delete is pressed
Graphical user interface

Description automatically generated

Grouping the Pop-Up Controls

So as to hide the Set of Pop-Up controls together, we will group them so that the visibility toggle can be applied to the group to implement the Show/Hide of Pop Up

Graphical user interface

Description automatically generated

Controlling the Pop-Up Visibility

To control the visibility of the Pop up we will set a few expressions on the controls that will toggle the visibility. In the Delete Icon’s OnSelect, we will set the Visibility toggle variable “ShowPopUp” to true.

UpdateContext({ShowPopUp:true});
Graphical user interface

Description automatically generated

For the OnSelect of the No Button, we will update the toggle variable to False with the expression

UpdateContext({ShowPopUp:false})
Graphical user interface, application

Description automatically generated

Finally, we will add the Variable value of ShowPopUp to the Visible property of the Group so that the entire controls with Show/Hide based on the toggle variable’s value

Graphical user interface

Description automatically generated

Finally, we will add the Record deletion logic to the OnSelect of the Yes Button as the user has confirmed deletion with the below expression:

Remove(‘Monthly Invoices’,Gallery_InvoiceDetails.Selected);
UpdateContext({ShowPopUp:false});
Graphical user interface, application

Description automatically generated

Test the Pop Up

We will test the Implementation by playing the app and clicking on delete will open the pop-up and based on the Yes button confirmation the record will be deleted and on No, the Pop up will be closed without deletion

Summary

Thus, we saw how to create a nice-looking pop-up that can be used to accept confirmations from the user before performing data-sensitive operations. We can also use the pop-up to accept inputs from users which can be used for subsequent data operations.

Related Articles

Author

Author

Priyaranjan KS is a Modern Workplace Architect primarily focused on developing and architecting solutions around Office 365,Power Platform and Azure.He is also a Microsoft Most Valuable Professional(MVP) and a Microsoft Certified Trainer(MCT)

Latest Articles