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

7.8.1
TopLogic Release

2024-06-24

Enhancement

Major
#27963
TL-Script: Access to the label of a specialized object in a given language
#27998
TL script function for filtering according to authorizations
#27999
Save composition references in different tables
#28049
OpenAPI interface in the user context
#28079
Preload for ForeignKeyStorage
Detail
#28005
Add model meta properties
#28012
TL script: Query whether object is transient
#28014
Improved number and image display on tiles and text alignment
#28017
Core theme: Reducing the spacing and adjusting the width of subtitles in forms
#28018
Improved display of dropdown buttons
#28036
Migration processors for model mapping
#28041
Extension of the TL icon font
#28051
Fast identifier allocation for high demand
#28057
KBCache for accesses and roles "by name"
#28058
Configurable copyright header in generated wrapper classes
#28061
Value conversion when setting values in transient objects
#28063
Define database column for HTML attributes
#28074
Cache application values of primitive types in the persistence layer
#28080
TL-Script: Deep Copy in batch mode with preload
Nice to have
#27867
Core-Theme: Script-Recorder Icons
#28050
Extract TL-Sync into own project
#28089
Rendering safety: Catching errors when rendering template variables

Bugfix

Major
#27750
Missing save request when closing dialog
#28035
Core theme: "comfort/compact" theme reduces the size of all charts
Detail
#27839
Duplicate tooltips on sidebar buttons
#27959
Updates of icons in form headers defective
#27996
Delete does not appear in the context menu of multi-selection components
#28002
Unchanged calculated default value is overwritten when saving
#28003
Application crashes, if some themes or some layouts have errors
#28004
Error when saving new classifiers in a TLEnum
#28011
Incorrect classification of association endings in compositions
#28013
Script Recorder: Saving scripts does not show the file name field
#28015
Core theme: The compact version is usually selected as the default
#28021
Buttons in the declarative form are not at the same height
#28024
Session IDs only in hashed form in the log and monitor
#28027
Calculated attributes are not evaluated in transient objects
#28028
Order of calculated columns is not taken into account in the standard columns
#28030
No replay for version upgrade from TL-6 to TL-7.8
#28048
Sequence of migration instructions is incorrect
#28062
A module always loads all its types unnecessarily
#28075
Missing "abstract" property for TLProperty's
Nice to have
#28006
Addition of missing @TemplateType annotations for ThemeVar variables
#28043
Error in SQL migration utility
#28072
Migration for #27517 (User Management) crashes with inconsistencies
#28090
IDEFileSystemCache logs errors with fast creation and subsequent deletion
Bugfix (User-visible)

Detail

#27996

Delete does not appear in the context menu of multi-selection components

ContextMenuDifaV7MultiSelect

The table-specific context menu entries are no longer displayed.

Analysis

Example tl:GridComponent: The context menu is created by tl:ContextMenuOpener. It uses ContentControl.createContextMenu(String) for this purpose. The ContentControl is the one for the grid. And this uses ComponentContextMenuFactory.Provider which was created by tl :PlainComponentContextMenuFactory. There is an extra derivation GridContextMenuFactory.Provider. The reason is that the Config Property getComponentControlProvider on the grid has tl:ControlRepresentableCP as its default. And the property getContextMenuFactory only has the PlainComponentContextMenuFactory.

tl:GridContextMenuFactory is also stored separately in tl:GridTableConfig, a derivation of tl:TableConfig. The tl:TableData accesses this and the tl:TableControl accesses it. However, the latter is never called by the tl:ContextMenuOpener. It always calls ContentControl.createContextMenu(String) instead of TableControl.createContextMenu(String) as described above.

The reason for this is the HTML structure: The HTML attribute data-context-menu must be set for a context menu to be opened. This is only set on the HTML tag for the entire component. But since #27350 ("Render tables via HTML templates") it is no longer set on the table lines(tr tags). As a result, nothing is found on the tr tag when searching outside the HTML tree, but only on the tag for the entire component. As a result, the tl:TableControl and therefore also the tl:GridContextMenuFactory are never called.

Test

  • In the demo, select an object with several children in the tree.
  • Select several of these children in the grid next to it.
  • Open the context menu on one of the selected children.
  • Among other things, there must be a "Delete" button.
  • This must delete exactly the selected children.
  • Select several children again.
  • Open the context menu on an unselected child.
  • Among other things, there must be a "Delete" button.
  • This may only delete this one unselected child.
  • 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