WorkWith (Standard) Abstract Layout Editor Layout Object

Objective

There are cases in which developers want to change the disposition of elements inside WorkWith objects generated by K2BEntityServices. For this purpose K2BTools has a default layout that can be modified by the user. Using this object the developer can change how all Work With objects are generated. The developer can also create a copy of the object to change how some objects are generated.

This page shows how to modify the Layout Object used in the generation of Web Forms when the Responsive generator is used.

Note: This page applies to WorkWith nodes where the "Edit Mode" property is different from "Master-Detail".

How it works

In WorkWith nodes there is a property named Responsive LayoutObject. Its default value is "WWLayoutFlat". You can edit the "WWLayoutFlat" object or create a new web panel and set it as the Responsive Layout Object.

The images below show how Work With objects are generated.

WWResponsiveLayoutObject
WorkWith Responsive Layout Object

WWResponsiveLayoutObjectRT
WorkWith in runtime

Customizing Layout Objects

In order to customize the layout object, you must know which components K2BTools expects to be in the Web Panel.

Component Type Control Name Usage
Textblock Description Will be replaced by the WorkWith Title.
Textblock FirstRowFixedData Will be replaced by the contents of the first row of the FixedData section (if any).
Textblock BottomFixedData Will be replaced by the contents of the FixedData section (if any), except its first row.
Textblock HiddenItems The hidden items generated will be placed here.
Textblock FormSectionTop Will be replaced by the contents of a FormSection with Layout = "Top", if it is present in the instance.
Textblock FormSectionBottom Will be replaced by the contents of a FormSection with Layout = "Bottom", if it is present in the instance.
Textblock FormSectionLeft Will be replaced by the contents of a FormSection with Layout = "Left", if it is present in the instance.
Textblock FormSectionRight Will be replaced by the contents of a FormSection with Layout = "Right", if it is present in the instance.
Textblock LeftActions Will be replaced by a table containing the Action nodes with Position = "Top (Left)".
Textblock TopActions Will be replaced by a table containing the Action nodes with Position= "Top".
Textblock RightActions Will be replaced by a table containing the Action nodes with Position= "Top (Right)".
Textblock GridActionsLeft Will be replaced by a table containing the Action nodes with Position= "Grid-Associated (Left)".
Textblock GridActionsRight Will be replaced by a table containing the Action nodes with Position = "Grid-Associated (Right)".
Textblock BottomActions Will be replaced by a table containing the Action nodes with Position = "Bottom".
Textblock DownloadActionsSection Will be replaced by a table containing the Action nodes with Potion="Downloads Section"
Textblock ContentViewToolbar Will be replaced by a table containing the actions for switching between "GridView" and Business Analysis View
Textblock BusinessAnalysisViewRegion Will be replaced by a webcomponent contaning the Business Analysis View of the grid.
Textblock ConditionalConfirm Will be replaced by a table containing the confirm component with its Cancel and Ok buttons.
Grid MainGrid Will be replaced by the WorkWith grid.
Table FiltersContainer Will be replaced by the contents of the Filters node in the instance.
Table OrderByContainer Will be replaced by the contents of the Orders node in the instance.
Table PagingContainer Will be replaced by the grid's paging controls.
Textblock RuntimeColumnManagement Will be replaced by the runtime column selection controls if grid settings is not used.
Textblock GridSettings Will be replaced by the grid settings menu, if it is active in the interface. To implement it, the Grid settings layout object set in the "Grid settings layout" property will be used.

Responsive Sizes

Then modifying this object, responsive sizes properties may be modified in tables other than the ones specified above (new tables may be added). The values for these properties will be used in all generated Web Panels.