WorkWithPlus 13.15

Release date: Wednesday, June 3, 2020

Major optimizations in List objects (reducing the size of cs/java and js by more than 50% in most cases)

A very important optimization was done in the implementation of Title Filters and Title Sorting, decreasing substantially the number of User Controls added in the Form. WorkWithPlus unified all the User Controls that were added for each column that had Title Filters or sorting, into only one User Control. This significantly reduces the size of the cs/java and js file (over 50% in most cases), which directly impacts the build time and performance of those Web Panels.

You can visualize some metrics of the optimization below:

List with 24 columns Including Title Filter and Sorting Including only Sorting
GeneXus code lines added by WorkWithPlus in the events 54% fewer 57% fewer
Javascript file generated by GeneXus 76% smaller 84% smaller
Java /.cs file generated by GeneXus 60% smaller 69% smaller

 

List with 10 columns Including Title Filter and Sorting Including only Sorting
GeneXus code lines added by WorkWithPlus in the events 38% fewer 35% fewer
Javascript file generated by GeneXus 58% smaller 63% smaller
Java /.cs file generated by GeneXus 43% smaller 45% smaller

 

List with 5 columns Including Title Filter and Sorting Including only Sorting
GeneXus code lines added by WorkWithPlus in the events 24% fewer 20% fewer
Javascript file generated by GeneXus 43% smaller 40% smaller
Java /.cs file generated by GeneXus 30% smaller 26% smaller

 

In order to have this new implementation of Title Filters and sorting, you have to perform the following steps:

  1. Import the XML named 'Optimization8File.xml' located in <GeneXus_Installation>\Packages\Patterns\WorkWithPlus\Resources
  2. Set the property 'Optimization Number' as 8 or higher. This property is located in WorkWithPlus Settings -> Template node.
  3. After setting 'Optimization Number' as 8, when saving the WorkWithPlus Settings, you should select the following option, in order to update every instance with the new optimization:

WWP13.15_Img1

Comment: If you have the following errors when applying, you should import the XML named  'ObjectsToImportVersion13.xml' located in <GeneXus_Installation>\Packages\Patterns\WorkWithPlus\Resources:

WWP13.15_Img2

'Section' control in Abstract Layout

When adding a 'Section' node in an instance, instead of adding an HTML control, it will add a 'Section' control in Abstract Layout. In order to have this new behavior for 'Section' node, the property 'Optimization Number' within WorkWithPlus Settings -> Template node has to have value 8 or higher.

New value for property 'Optimization Number'

The value '8' was added for the property 'Optimization Number' within WorkWithPlus Settings -> Template node. If you set this value, you will get the following optimizations:

  • Use only one User Control for all the Title Filter and Sorting of the columns of the grids (detailed above with the metrics)
  • When adding a 'Section' node, WorkWithPlus will insert in the form a 'Section' control in Abstract Layout (also detailed above).

Before setting 'Optimization Number' as 8, you need to import the XML named 'Optimization8File.xml' located in <GeneXus_Installation>\Packages\Patterns\WorkWithPlus\Resources

Property 'Custom Properties' for Table Regular, Responsive and Flex

A new property was added for ´Table' node. Applies for 'Regular' tables, 'Responsive' tables, and ´Flex´ controls. This property gives the option to assign specific properties to the control, properties that are not available within the Table/Flex node. This should be used in just a few cases. Detailed info: Custom Properties 

Type 'Section' for User Zones (UserTable node)

When adding a User Zone (UserTable node), a new option for 'Type' property was added. This option is 'Section' and will insert a 'Section' control in the Form, as a User Zone.

Fontawesome 5.13

From WorkWithPlus 13.15 onwards, the version of Fontawesome that will be used when selecting the User Control 'WorkWithPlusUtilities_F5' 5 is 5.13.

Issue with Columns Selector as Popup

When using Columns Selector as a popup instead of a dropdown, the variable named Window was not being defined by WorkWithPlus.

Compatibility with GeneXus Beta version and GeneXus 16 U10

WorkWithPlus is now compatible with the latest GeneXus Beta version released up to the moment, and also is compatible with GeneXus 16 U10.

Issue with GAM and Web Component based on 'List' template 

When you had a Web Component based on a List template, WorkWithPlus automatically changed the property 'Integrated Security Level' to None, but it didn't change that property to the Procedure associated with the dynamic lists in the Title Filter.

Pagination Bar and Totalizer outside scroll

From this version onwards, the Pagination Bar will be outside the scroll of the grid, when the grid contains a horizontal scroll 

PaginationBarOutsideScroll

If you already have a KB with WorkWithPlus and you want to have the Pagination Bar outside the scroll of the grid, you need to add the following classes to the Theme object:

  • Rename the class SectionGrid>div,.SectionGrid>div.Table to: SectionGrid>div:not(.gx-grid),.SectionGrid>div.Table 
  • Remove property from renamed class:
    • overflow: auto
  • Add the class SectionGrid>div>div>div>div.gx-grid, .SectionGrid>div.gx-grid with the properties:
    • overflow: auto
  • Add the following property in the class: ColumnSettingsContainer:
    • position: relative

If the Grid style of your application has borders that surround the grid (like the following image) 

GridStyleBorderColor

  • In the class mentioned above (SectionGrid>div>div>div>div.gx-grid, .SectionGrid>div.gx-grid) also add:
    • Border left color: GridLineColor
    • Border right color: GridLineColor
    • Custom Css Properties: border-left-style: solid;border-left-width: 1px;border-right-style: solid;border-right-width: 1px;
  • Add the class SectionGrid>div>div>div>div.gx-grid>.WorkWith, .SectionGrid>div.gx-grid>.WorkWith (only if it is one of the grids mentioned above) with the property:
    • Custom Css Properties: border-left-style: none;border-right-style: none;
  • Rename the class SectionGrid .gx-grid, .SectionGrid div.Section to: SectionGrid>div>div>div>div.gx-grid, .SectionGrid div.Section (only if it is one of the grids mentioned above)

Issue with Wizard step numbers when hiding a step by code

When creating a Web Panel or Transaction based on the templates 'TransactionBulletWizard' or 'TransactionArrowWizards', and adding user code to hide a step, the numbers of the steps changed after clicking in Next button, so they were inconsistent with the first load of the steps.

In order to hide a tab and have a correct behavior of Next and Previous button, you need to add user code in the events associated with Next and Previous, like the following sample:

Start or Refresh Event:

If <CONDITION_TO_HIDE_TAB>
    GXUITabsPanel_Steps.HideTab(<TAB_NUMBER_TO_HIDE>)
Endif

'WizardNext' Event (at the bottom of the code generated automatically by WorkWithPlus):

If <CONDITION_TO_HIDE_TAB> and &TabsActivePage = <TAB_NUMBER_TO_HIDE>
    &TabsActivePage += 1
    GXUITabsPanel_Steps.SelectTab(&TabsActivePage)
EndIf

'WizardPrevious' Event (at the bottom of the code generated automatically by WorkWithPlus):

If <CONDITION_TO_HIDE_TAB> and &TabsActivePage = <TAB_NUMBER_TO_HIDE>
    &TabsActivePage -= 1
    GXUITabsPanel_Steps.SelectTab(&TabsActivePage)
EndIf

Property  'Empty Grid Caption' in WorkWithPlus Settings -> Transaction Templates -> 'Subor level' node

A new property named 'Empty Grid Caption' was added for 'Subor level' nodes in transaction templates. This property specifies the caption to display in the grids when they don't have records to display. It only applies when the template is used in Web Panels.

Issue with Title Filter with multiple options, edit in line and Tags

When having a grid with edit in line, and one of the columns with Tags and multiple selection in the Title Filter, the filter of the column does not appear.

DVelop Combo supports searching with and without accent

From this version onwards, the search inside the DVelop Combo control will search the words with or without accents

Issue with DVelop Combo control and Inferred attributes 

When having a foreign key attribute displayed as DVelop Combo, the inferred attributes were not being updated when changing the value of the control

Issue with 'New' option of DVelop Combo and inferred attributes

When having a foreign key attribute displayed as DVelop Combo, and clicking in the 'New' option in order to create a new record and select it, the inferred attributes were not being updated when creating the new record.

Issue with Standard Action 'Copy Record' and GXTest

When having a Transaction named 'Item', with GXTest enabled and the Standard Action 'Copy record' included in the instance, it threw an error when applying the pattern.

Issue when updating the User Data of the vertical menu

After changing the name of the user that is displayed at the top of the vertical menu (for example in the GAM backend), the menu didn't reflect the change until you made Refresh of the browser.

Issue with a grid with grouping at runtime and action with a multi-row selection

When having a grid with the option to group the records by different columns, and also an action with multi-row selection, the grouping didn't work properly.

Issue with Horizontal menu in Extra Small browser

When displaying a horizontal menu in an extra small browser and one of the submenus had multiple options, no scroll was added, so some options were not visible.

Issue with filter with dynamic operators inside a Flex container

When adding a filter with dynamic operators inside a Flex container, the description of the filter was not being displayed.

Issue with the property 'Merge with previous' in controls inside a Flex container.

When setting the property 'Merge with previous cell' as true to some control inside a Flex container, the controls were not being merged into one cell.

GAM Logout action behavior

When making logout from Master Page in order to log in with another user, WorkWithPlus changed the code so that it navigates to the 'Home object' of the application (set in GAM backend settings). If this property is not set, it will navigate to the Home object.

GAM Login object to call

After setting the credentials and clicking in the Login button, WorkWithPlus changed the code so that if it wasn't referred from a page of the application it navigates to the 'Home object' of the application (set in GAM backend settings). If this property is not set, it will navigate to the Home object.

Compatibility improvement with GeneXus 16 U9 (WorkWithPlus 13.15.0.1106)

Using GeneXus 16 U9 with WorkWithPlus, there were some cases were when after making 'Apply instance' it saved the object (when there were no changes to impact). This was improved so that after applying instance to an instance that didn't suffer changes, the object is not modified (the result of applying instance is 'skipped' to all associated objects).

Esthetic issue in Card Templates (WorkWithPlus 13.15.0.1108)

An esthetic issue was solved for templates 'Simple Cards', 'Cards with small image', and 'Cards with big image'. This issue occurred only when running the Design System Wizard in WorkWithPlus 13.15 prior to setup WorkWithPus 13.15.0.1107.

Esthetic issue in template 'Nested KPIs Progress Circle'  (WorkWithPlus 13.15.0.1108)

An esthetic issue was solved for template 'Nested KPIs Progress Circle'.