Hello,
I have customized a SharePoint form through Power Apps and I have added a field called Manager signatures. In this field, I have added a Pen input signature and a button.
What I want to achieve is the following:
If(SharePointForm1.Mode=New,false,true)
I have tried to implement the following:
1. Set the OnVisible button to the following function which caused an error: (PenInput3 represents my PenInput field)
If(SharePointForm1.Mode=New && IsBlank(PenInput3.Image), DisplayMode.Disabled, DisplayMode.Edit), false,true)
2. I have tried to follow the steps mentioned by Shane but unfortunately, nothing happens.
Can someone please explain in detail and provide an example to achieve the following scenario?
Any help will be greatly appreciated.
Thank you.
Solved! Go to Solution.
Hi @Julien2 ,
You need to set the Variable in the screen pop-up
UpdateContext({Popup:true});
UpdateContext({EmptySign:PenInput1.Image})
That way every time you initiate the pop-up the button should not appear as you have set the variable to reflect the current state (empty) of the pen input.
Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.
Hello @Julien2 ,
Firstly, I will give you something I do on the visibility of save buttons on sketches (Pen Input), so the theory is the same.
I set a Variable on screen OnVisible
UpdateContext({EmptyPlan:PlanDrawing.Image})
The Visible property of the save button
EmptyPlan<>PlanDrawing.Image
The moment anything is drawn, the save button becomes visible.
For the second question, I generally use a Flag field in the data source and set this to true when any action I do not want repeated is done. You can then do a lookup on this field and set the Pen visibility to.
Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.
Hello @WarrenBelz ,
I have followed the steps you mentioned and the button is now hidden when the PenInput is blank.
Unfortunately, when I have added to the visible property button my other condition which is about if the form is New hide the button, else show it. The button keeps showing even when the PenInput is blank either in the New form.
If(SharePointForm1.Mode=New && EmptyPlan<>PenInput3.Image , false,true)
So what would be the function to check for both conditions and make it work?
I would be most grateful if you could provide an example of the second question.
Looking forward to your response.
Thank you!
Hello @Julien2 ,
A bit strange that one - so will go back to basics and see if another approach will work.
Firstly, any expression that can only result in a Boolean (true/false) can be used directly on a control value of the same nature such as Visible. From what you have specified - you only want the button to be visible if: -
So try this on the Visible property of the Submit button.
SharePointForm1.Mode <> FormMode.New && EmptyPlan <> PenInput3.Image
I would probably change the Variable to EmptySig (my example was an earthing plan on a power pole).
Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.
Hello @WarrenBelz ,
Exactly, I want to display the button only if the FormMode is not New and there is input in the signature box.
I have changed the Visible property of the submit button the same as what you mentioned.
Currently, it takes effect on the New form and the button hide. But once I edit the form it displays back knowing that I did not add my signature to the box.
So while I open the Edit form it should be hidden until I make my signature.
Here is a screenshot:
(I have changed the variable name to EmptySig as you mentioned).
Any idea why this problem occurs?
Thank you!
Hi @Julien2 ,
To confirm what you need:
I am not sure why the current one does not work, however I will go another way.
Set a Variable when at App OnStart
Set(vShow,true)
Reset this variable when entering a new screen
Set(vShow,false)
Set it again when saving or exiting the new screen
Set(vShow,true)
Try this on the Visible property of the Submit button
vShow && EmptySign <> PenInput3.Image
I could have gone with a negative variable (one less step), but try this one.
Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.
Hello @WarrenBelz ,
Thank you for your support.
I have tried the way you mentioned, and actually what is working is only the visibility of the button if the form is new.
Concerning, the signature on the Edit form, now the button is invisible when it's blank but also it keeps invisible when the box is signed.
Here are the modifications that I did:
App OnStart:
FormScreen1 OnVisible:
SharePoint Form OnSuccess:
Demo:
Looking forward to your suggestions.
Thank you!
OK @Julien2 ,
Sorry for the late response.
Now I see the possible issue with your latest screenshot. One of the things I have found about signature controls is that they do not like being put inside cards, particularly ones that scroll with the screen. I have all mine in pop-ups (visible when needing to sign) and have an Image control in the card when they need to be viewed.
Try the pop-up (it solves all of your visible issues) - I just have a button in the card to Update (if signature there) or Sign if not present - you can make this invisible on new record. Just put a semi-transparent rectangle behind it to cover the screen.
You are also in a SharePointIntegration form and there are things about these that seem to at times behave differently to a standalone app.
Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.
Hi @WarrenBelz ,
I apologize for the late response.
According to your last post here are the modifications that I have made:
-I have removed the PenInput signature and the Image from the card and added a button which will redirect me to the PopUp screen, and I have set a variable to this button which is the following:
UpdateContext({PopUp:true})
The Popup consists of the following:
-Inside the popup, I have added the PenInput signature, image, and a submit button.
-I have set the visibility of the submit button to the following:
PopUp && EmptySign<>PenInput1.Image
The FormScreen variable:
Set(vShow,false);UpdateContext({EmptySign:PenInput1.Image})
Unfortunately, the button inside the Popup appears again even when the signature is not signed. Knowing that I am outside the SharePoint Form.
Please have a look at the demo and screenshot below:
Looking forward to your response.
Best regards,
Julien
OK @Julien2 ,
That is a bit strange - below is my production example using the same theory - save button not showing
and showing as soon as something is input into the pen capture control
Just to check the validity of your variable, add a label and put in the Text property
EmptySign = PenInput1.Image
Check this before you launch the pop-up - it should be true (you set it earlier). Put another one on the pop-up and see if it changes when you put something in the pen control.
Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.
User | Count |
---|---|
247 | |
106 | |
82 | |
51 | |
43 |