This page lists answers to Frequently Asked Questions related to Kendo UI Builder.

Please see the Mobile FAQ page for items related to the JSDO and the JSDO integration with the Kendo UI DataSource.

What is the recommended way to create the Backend/Business Entities and Services?

Please see the following thread and related document for info on this item:

 

How to use the Hierarchical Data Grid and Stacked Data Grids templates?

In the current version of Kendo UI Builder, the Hierarchical Data Grid and the Stacked Data Grids templates, expect a data source for resources defined from a Business Entity with a dataset with parent/child temp-tables with a relationship.

The following post in the Forum provides information about creating a Business Entity with multiple tables:

https://community.progress.com/community_groups/openedge_kendo_ui_builder/f/255/t/34884

 Note: When creating the data provider in Kendo UI Builder, you can use the option "Create Data Sources for child tables" to automatically create both the parent and child data sources.

 

How to use the Foreign Key support in Kendo UI Builder 2.0?

Kendo UI Builder 2.0 provides Foreign Key support in the form of a placeholder field. Use the following steps to use the functionality:

  • Create individual Business Entities for the main table (child table - example: Customer) and for the related table (parent table - example: Salesrep).
  • Use the Field Annotations tab in the Define Service Interface wizard to add foreignkey annotations to the main table (ex: Customer). The wizard provides support to point to the schema of the parent table (ex: Salesrep).
  • The generated annotation would look like the following:
    • @openapi.openedge.entity.foreignkey (name="SalesrepFK", fields="SalesRep", parent="Salesrep.ttSalesrep", parentFields="SalesRep").
    • Note: The annotation can also be entered manually without the wizard as long the right format is used.
  • Define the data provider and data sources in Kendo UI Builder.
  • Edit the Data Source for the main table (ex: Customer). A field of the form "SalesrepFK" (Lookup) will be listed in the Included Fields. This field is a placeholder field that is used to create lookup editor type.
    • Change the Display Field property to point to the desired description field for the resource. For example, RepName.
  • Create a view using template with a form (Data Grid Form and Data Grid Separate Form). Use the SalesrepFK field in the form. Kendo UI Builder will then generate code with a lookup for it.

Notes:

  • The Foreign Key support in Kendo UI Builder 2.0 is only available in templates with a form. It is not available for a grid.

The following article and sample code shows how to add a custom DropDownList to a grid:

 

How to add custom JavaScript files to Kendo UI Builder 2.0?

An approach to add custom JavaScript files to Kendo UI Builder is to wrap the desired JavaScript functions using an AngularJS module/service. The custom JavaScript file would be placed in the src/scripts/extensions folder then code can be accessed from the controller (controller.public.js) by using the AngularJS service.

See the following article for details on how to add a custom module and service:

https://community.progress.com/community_groups/openedge_kendo_ui_builder/w/openedgekendouibuilder/2924.how-to-add-a-custom-module-and-service-in-kendo-ui-builder-2-0

 

How to disable the initial read in a Kendo UI Grid?

The autoBind property of the Kendo UI Grid can be set to false to disable the initial read. Following data operations on the data source such as filter and sorting would perform the initial read.

Link: https://docs.telerik.com/kendo-ui/api/javascript/ui/grid#configuration-autoBind

This autoBind property can be set in the construct() of the controller in controller.public.js.

In a built-in view, the grid options are specified via this.$model.options.

Use the following statement:

        this.$model.options.autoBind = false;

In a custom view created using the blank view template, the grid options are specified via this.$components.grid0.options.

Use the following statement:

       this.$components.grid0.options.autoBind = false;

You can check the controller.js file fto see how te grid options are specified for a given view.

 

Where to find the documentation for Custom Templates

Kendo UI Builder 2.0.1 introduces the support of Custom Templates that can be defined by developers.

Documentation for the this functionality can be found online:

https://documentation.progress.com/output/kuib/oeov/#page/oe%2Fcustom-templates.html

 

How to implement user roles in Kendo UI Builder 2.1 with the OpenEdge backend

Kendo UI Builder 2.1 provides support for User Roles.

The following link provides information on how to set use roles with the OpenEdge backend:

https://community.progress.com/community_groups/openedge_kendo_ui_builder/w/openedgekendouibuilder/2939.how-to-implement-user-roles-in-kendo-ui-builder-2-1-with-an-openedge-backend