Creating Canvas Powerapps.
I have a number of components with properties and parameters that interact (eg. date functions specific to my industry) .
I used component output properties to provide functions and those properties used other properties (passing parameters) within the same component. ie. FuncA with parameters a and b may call Func1 and Func2. (eg. property FuncA returns Self.Func1(a,b) * Self.Func2(b) + Self.Func3(a) etc.)
The new restriction means that a data output doesnt have parameters and may only reference the controls on the component (ie. not suitable for general purpose calculations) --> Any of my outputs (that were emulating an output function) that referenced other properties in the same component are now broken.
The output functions may only perform calculations using their own parameters and cannot call other functions in the component.
So... How do I build a base library of functions that can be called by other functions?
Previous documentation suggested 'user defined functions' defined in the app formulas section would be coming, and would be of the form...
udfTest(par1:Number , par2:Number, par3:Number):Number= (par1*par2)/par3
I was hoping that when this was released I could move code out of components and create a number of UDF procedures that were callable from within the app (and by components with app scope) and could call each other.
But trying to enter a udf (using the syntax above) fails. Have UDF's been implemented but using some other syntax??
Related to the above, I dont follow the documentation regarding input functions for components- how do I define a function in the app that has parameters that the input function can make a callback to (ie. a udf as mentioned above)?
from... "learn.microsoft.com/en-au/power-apps/maker/canvas-apps/component-properties""
"The app could define the function expression to return $"{firstname} {lastname}" or it could choose to define an expression for $"{lastname}, {firstname}". The component can just call the function the app maker has provided, and use the returned string."