This guide explains how to create a pop-up window like a pop-up form that appears when a user clicks a button. This feature is useful for displaying additional information or to include an edit form without navigating away from the current screen.
Let’s be more specific about our goal.
Here’s an example of what we want:
1. Click on the button New Project
2. Here becomes visible the Form
As you can see, when the pop-up appears, the background color turns light gray. That's an additional tip to make this functionality look better!
3. You have the opportunity to fill in the fields and click on the Submit button to create a new project
4. Otherwise, click on Cancel to close the pop-up form
Let’s dive into it and explain how we can achieve this functionality.
Step by step guide
Step 1
Add a button to the screen you want to create the pop-up.
i) Click on Insert
ii) Click on Button
iii) Position the button where you want it to appear on the screen
Set its properties as you prefer, change the size, and the color, and choose a text to call your button. For this example it’s 'New Project'.
Step 2
Define the button’s action.
To make the form visible wherever the button is clicked, we have to set the OnSelect property of the button, the formula:
‘Set(isForm1Visible, true)’
‘isForm1Visible’ is a variable we created to control the visibility of the pop-up
* if you want to create more than 1 pop-up form in your app you have to use different variables to control the visibility. For example isForm1Visible, isForm2Visible, isForm3Visible etc.
i) Click on Property dropdown and go to the OnSelect
ii) Define the formula: Set(isForm1Visible, true)
Step 3
Add a container that will include the Label ‘Form’ at the top, the fields of the form, and 2 buttons for submit and cancel at the bottom.
Like this:
i) Click on Insert
ii) Click on Container
iii) Place the container in the middle of the screen
Control Container’s visibility
iv) Click on Form_Container
v) Click on Visible Property and set the variable ‘isForm1Visible’
iv) Click on Fill Visual background color.
v) Click on the white color
Step 4
Add a label at the top and 2 buttons at the bottom of the container.
i) Click on Form_Container
ii) Click on Insert
iii) Click on Button
iv) Place the button at the bottom of the container and adjust the size, the color, and the display name.
Do the same for the Submit button as you see
v) Click on Insert
vi) Click on Text label
Step 5
Add the edit form inside the container.
i) Click on Insert
ii) Click on Edit form
iii) Click on a Database you want to connect your form
Control form’s visibility
iv) Click on Form1
v) Click on Visible Property and set the variable isForm1Visible
Step 6
Make the preferable changes to the fields of the form.
i) Click on the dropdown of Columns Property to change the way that fields appear
ii) Click on 1 to appear 1 field in each row
iii) Click on 'number selected' to edit the fields that you want to appear in your form
iv) Click on '+Add field' if you want to include a field that didn't appear by default
v) Choose the field you want to add
vi) Click on Add
vii) Click on a Datacard if you want to make changes to it
Ensure that you unlocked the Datacard so to be able to make changes
- Click on Advanced
- Click on Unlock to change properties.
viii) Position the edit form inside the container so that there is free space at the top and at the bottom of the container where the label and buttons are placed
Step 7
Make the button ‘Submit’ functional.
We want to make the submission process smooth, with clear feedback to the user about the success or failure of their submission.
i) Click on Submit Button
ii) Click on OnSelect Property
iii) Set the formula
Code applied to the submit button:
SubmitForm(Form1);
If(
Form1.Valid,
ResetForm(Form1);
Set(isForm1Visible, false);
Notify("Form submitted successfully!", NotificationType.Success),
Notify("Form submission failed. Please check the required fields.", NotificationType.Error)
)
Let’s break this down:
- SubmitForm(Form1);
Triggers the submission of ‘Form1’. It attempts to save the data entered in the form to the connected data source.
- If(Form1.Valid,...);
Check if ‘Form1’ is valid. It returns true if all required fields are filled out correctly according to the form’s validation rules.
- ResetForm(Form1);
If the form is valid, this command clears all the input fields, preparing the form for a new entry.
- Set(isForm1Visible, false);
The pop-up form gets hidden after a successful submission.
- Notify("Form submitted successfully!" NotificationType.Success)
The notify function shows a notification with a success message to the user.
- Notify("Form submission failed. Please check the required fields.", NotificationType.Error)
If the form is not valid, a failure message is shown, indicating that the form submission failed, prompting the user to check the required fields.
Step 8
Make the button ‘Cancel’ functional.
i) Click on Cancel Button
ii) Click on OnSelect Property
iii) Set the formula
- Set(isForm1Visible, false)
Hides the form, when the cancel button is clicked. Provides users the option to exit the form if they decide not to make any changes.
Step 9
Add a rectangle to use as a background color when the pop-up appears.
** The rectangle has to be added outside the form container
i) Click on the screen you added the pop-up
ii) Click on Insert
iii) Click on Rectangle
iv) Click on More options
v) Click on Send backward until it appears down the form container you created previously
vi) This is the right order so that the rectangle appears in the background of the form
vii) Resize the rectangle so it covers the whole screen
viii) Click on Color
ix) Set a light gray color
x) Click on Property dropdown
xi) Click on Visible
xii) Set the variable 'isForm1Visible' that controls when the rectangle will appear or disappear
Conclusion
Creating a pop-up window in Powerapps involves designing a hidden form, setting up a button to toggle its visibility, and adding functionality like submission or cancellation.
By using variables to manage the visibility of the pop-up and connecting actions to buttons, you can effectively improve your app’s interactivity and provide a better user experience.
If you are intrested in learing more about PowerApps you can check the following tutorials: