Question

Client side coding in Freedom UI

Hi Community,

 

We couldn't find more articles regarding the client side coding of freedom ui form page in documentation, mainly because it is already promoting no code platform. However, we've able to achieve so many complex client requirements before through the help of client side coding in classic ui. Could you please help us know the counterpart of the following classic ui functionality in freedom ui.

 

1. "dependencies" in attributes to Call custom function

2. "lookupListConfig" attributes for custom filter in lookup

3. "filterMethod" in detail for custom filter of detail

4. ESQ in client side

5. asyncValidate

6. ProcessModuleUtilities to call business process from client side

7. ServiceHelper to call source code schema function

 

Thank you so much.

 

Like 0

Like

5 comments

Hello,

 

As for 1-3 - there are no particular examples of implementing the same in Freedom UI unfortunately.

 

4. ESQ in Freedom UI is "replaced" with the sdk.Model class (see examples here https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…)

 

5. validator example in Freedom UI can be found here https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

 

6. An example of calling the business process from the client-side can be retrieved manually: you can add a button clicking which will trigger a business process (setup is performed in the designer). The autogenerated code of the click handler for a button can be then reviewed and the same functionality implemented.

 

7. As for calling ServiceHelper - you can add a separate module as a dependency to your list or form page (like

 

define("Accounts_FormPage", /**SCHEMA_DEPS*/["UsrSomeCustomModule"]/**SCHEMA_DEPS*/, function/**SCHEMA_ARGS*/()/**SCHEMA_ARGS*/ {

...

)

 

and in that UsrSomeCustomModule implements service calling like in the classic UI and calls the method that calls the service as: UsrSomeCustomModule.MethodFromTheCustomModule.

Thank you Oleg,

 

Is there any other work around for 1,2 and 3?

 

Regarding number 6, we need to call the business process from client code as there are few extra processes to prepare the parameter that needs to be passed on business process. 

Fulgen Ninofranco,

 

 

As for 1-3 the only workaround is using business rules for filtration, this is the only workaround for the moment.

 

As for the 6th - you can also setup the process to be triggered with passing some parameters, so it will give an example of such a code.

Hi Oleg, 



In case we need to filter a lookup inside an editable grid, is that possible with Business Rules too? 

We used to do this with Business Rules in the detail.

#1 For change events on the page the equivalent is just handing the change request and checking if the change is for the column you're handling it for. See https://customerfx.com/article/responding-to-an-event-when-a-field-is-c…

 

#2 For filtering lookups there are filtering business rules available, however, if you need to filter a lookup in code, see https://customerfx.com/article/dynamically-filtering-a-lookup-on-a-crea…

 

#3 For filtering lists (equivalent to details), the article I listed for #2 works for filtering a list as well. All things like lists and lookups request a datasource to retrieve it's data, so you can handle that request and apply filters to it as needed. Also, you can add filters to lists easily in the designer as well with no code. I've not tried the approach with filtering a lookup in an editable list. There are a few things in editable lists that aren't yet possible as far as I know (such as validation, applying rules etc)

 

#4 Using the model class is the ESQ equivalent. See

https://customerfx.com/article/querying-data-using-filter-conditions-vi…

or 

https://customerfx.com/article/retrieving-a-record-via-the-model-class-…

 

#5 Validators are the equivalent. They can async or synchronous. See https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

 

#6 You can start processes easily with no code. However, if you need to start them via code, see https://customerfx.com/article/starting-a-process-from-client-side-code…

 

#7 For Freedom UI equivalent of calling a configuration web service, see https://customerfx.com/article/calling-configuration-web-services-from-…

 

Ryan

Show all comments