While the latest update broke some functionality in the code editor (have to use SHIFT-ENTER now instead of ENTER, ugghh...), I do have to give BIG KUDOS to the product team for adding the (experimental) "enhance Group control":
While I have not used it much, I will have to say that so far this is AWESOME and GREATLY helps out when trying to create "composite controls" by combining other controls together. And while this doesn't quite go as far as what I'd like to see in a "container" control (in the ideas section), it does go a LONG way toward it.
For those who haven't used it yet, here's a few highlights (all benefits from my perspective) from what I've found:
The BIGGEST benefit is that now the properties on the new Group do NOT automatically override the underlying properties of the controls within the group, which means that:
When moving or resizing the group, the X, Y, Width, and Height properties of the controls do NOT get wiped out - this is the BIG one. No longer will you spend a lot of time writing forumlas for your underlying controls just to accidently move the group and see ALL those forumlas WIPED OUT. 🙂 The new Group control still has its own X and Y, but you need to access these directly if you want to use them (Parent.X, etc) as you SHOULD have to. 🙂 BIG Advantage here that will now save me a LOT of time.
X, Y of underlying controls are RELATIVE to X, Y of the Group - this is also great. So when I move the group, the X, Y (including forumlas) underneath are kept the same, but are interpreted as relative to the bounding box of the group. If you want a control to be positioned exactly at the top left of the bounding box for the group, just set its X and Y to both 0. Less calculations.
Changing the size of the group changes the viewport that the controls within it are visible - So if my controls have widths that are outside of the group's width (and height), then only the portion that fits within the group are visible. I actually like this.
Visible attribute on the group, when set to false DOES make the controls within it not visible, but does NOT change the Visible properties on the items themselves (including any formulas within) - This is also GREAT.
Other advantages I've seen include:
You can add items to an existing group - without having to "re group" them (which previously would create a NEW group without any settings you did have on the original group). Probably the 2nd biggest advantage in my opinion. Previously when you "regrouped" to add another member you'd also have to go back and make sure that any code that referenced the group (ie: to change its Visible status) worked with the new name (sometimes if you named the new one the same name PowerApps would figure it out for you, but many times it would not). BIG advantage here IMHO.
And yes, you can copy and paste an existing control into a group also.
Appear to be able to have Group of groups - Yes, you can now have a group that implements say a Dialog, and within it have a group for a Title bar (perhaps with a background rectangle, text for title, cancel, etc buttons), etc. I haven't done much with this, but it is VERY welcome. I've tried at least 3 levels deep of this (though not extensively) and it works well fro my initial testing.
Anyways, I wanted to give KUDOS to the team for adding this! BIG productivity advantage, and appears to be a solution to one of my top 10 frustrations of creating apps with PowerApps (probably actually in the top 3, along with a need for macro functionality to share code). 🙂
Would LOVE to see the ability to add "Custom Properties" to the new group. This could be as simple as a "property" on the group maybe called "Custom Properties" that allows you to enter a collection (accessible to group members with "Parent.'Custom Properties' maybe), though there are perhaps better way (though I'd be fine with this). That would really make the ability to create "composite controls" complete.
Thanks again for this addition! Definitely makes the ability to develop and maintain code in PowerApps MUCH better!
Now I just have to find time to go back and rebuild some of the formulas in my existing composite controls using groups to take advantage of this (and get rid of my current approach of using a transparent rectangle to achieve SOME of the same things but that was not nearly as good of a solution as the new groups). 🙂
Postnote - PLEASE fix the ENTER key though that was broken in the update... 🙂 And also get TAB to work appropriately in the code editor window... 🙂