TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.5.2
  4. #27264

7.5.2
TopLogic Release

2023-07-03

Enhancement

Major
#26283
In-app configured global dialogs
#27411
Smart Startup/Shutdown
#27431
Deploy App Archetype to MavenCentral
Detail
#27248
Predefine icons/cliques for buttons/dialogs with theme variables if possible
#27264
Selection components should not unpack one-element sets
#27267
ListModelBuilder shall return a collection in getModel(...).
#27365
Select default selection based on the last (current) selection
#27412
Bulk Dependency Update 2023/06

Bugfix

Major
#27388
No display of error text in composition tables
#27407
Selection of the grid disappears with F5
#27408
AbstractFlexDataManager logs warning when loading the same object multiple times
#27446
Incorrect license display for TopLogic modules in the license overview
Detail
#27230
Command release service: exception rule does not work
#27275
I18N string as name attribute returns error
#27306
Option providers still do not update calculated suggested values
#27312
Application tests: No recording of inputs in I18N string attributes in grid possible
#27326
Memory hole: Personal configuration is not cleared properly
#27340
Administration: Maintenance mode does not work properly
#27341
TL script: NPE when regular expressions evaluate to "null".
#27343
LayoutEditor: Component channel selection for dialog open buttons wrong
#27344
Unwanted inlining of properties when creating a new app
#27349
Disappearing design buttons in tiles
#27364
Scheduler: Task execution fails with longer results
#27381
Incorrect preassignment in the chart JS template
#27385
Incorrect calculation of the sort order in references
#27400
ResKey: Missing quoting of non-primitive arguments
#27403
Synthetic `UpdateChainLink` chain of `KBDataProducerTask` leads nowhere
#27427
Potential NullPointerException when sorting the results of a quick search
#27429
Assertion error when setting incompatible value in ComplexField
Enhancement

Detail

#27264

Selection components should not unpack one-element sets

Code migrationComponentChannel

Currently, the philosophy in Top-Logic is that in selection components (tl:TableComponent, tl:TreeComponent, tl:TreeTableComponent and tl:GridComponent) with multiple selections, one-element and empty selections are treated specially: Instead of a one-element set, the "one" element and for an empty selection, "null" is written to the selection channel.

Improvement

If the component supports a single-selection, getSelected() is either the selected object or null if nothing is selected.

If the component supports multiple selection, getSelected() is always a collection, possibly empty if nothing is selected.

Code migration

Components that have the selection of a tl:TableComponent, tl:TreeComponent, tl:TreeTableComponent or tl:GridComponent with multiple selection as model must be adapted because the selection is now always a collection.

Here, for example, a tl:TransformLinkingByExpression can be used. From a tl:CommandHandler configuration

target="selection(<component>)"

becomes

<target class="com.top_logic.model.search.providers.TransformLinkingByExpression" input="selection(<component>)" > <function><![CDATA[selection -> if ($selection.size() <= 1, $selection.singleElement(), null)]]></function> </target>

Ex.

In the demo, under Technical Demo > Components > Tables and Trees, there are examples of selection components with multiple selection and single selection.

Test

TestTreeTableMultiSelection.script.xml `, `TestTreeMultiSelection.script.xml, TestTableMultiSelection.script.xml, TestGridMultiSelection.script.xml.

  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • DE
  • Login