Selection dialogs, such as those opened for pop-up select fields, should persist user-specific adjustments to dialog size and any table settings (e.g., column selection, sorting, etc.) in the same way as standard dialogs.
The saved settings should be discarded when user settings are reset—again, just like standard dialogs.
In addition, it should be possible to configure the initial dialog size for these dialogs on an application-wide basis.
Implementation
`SelectDialogConfig` is now a `ConfigurationItem`, so that, among other things, the height and width of the dialog can be configured. Dialog sizes and table configurations modified by the user are stored in a ` PersonalConfiguration` for the ` SelectField`. The changes are discarded when user settings are reset.\\ If a SelectField has a SELECT_DIALOG_TABLE_PROVIDER_PROPERTY, then this table configuration is used. This allows the form table and the SelectDialog table to be configured independently of each other. If the dialog does not have its own table configuration, it uses the TABLE_CONFIGURATION_PROVIDER. With the exception of filters, both tables are then configured identically and use the same PersonalConfiguration.
Test
Without dialog configuration
For this test, the SelectField priorityTable can be used in an A-object. The SelectDialog’s table does not have its own table configuration but uses that of the form table. Apart from filters, any changes to the configuration (e.g., column order, displayed columns, etc.) made in the form table must also be visible in the SelectDialog’s table. Conversely, changes to the configuration of the table in the SelectDialog must also be visible in the form table (Note: Changes are only visible there once you exit edit mode by saving or canceling, or when you log in again).
With Dialog Configuration
For this test, the `SelectField priorityTableDialogConfig ` can be used in a C object. The SelectDialog table has its own table configuration, which is independent of the form table’s configuration. Changes to one of the configurations (e.g., column order, displayed columns, etc.) must not be visible in the other table.
Dialog Size
To do this, you can use the SelectDialog of the priorityTable or priorityTableDialogConfig. If the size of the dialog is changed, it must be preserved when the dialog is reopened.
Code Migration
AbstractSelectDialog.AbstractSelectDialog(SelectField targetField, SelectDialogConfig config) now requires a SelectDialogConfig as a parameter to access the configured dialog size.\\ TableSelectDialogProvider.TableSelectDialogProvider(TableSelectDialogConfig config) now requires a ` TableSelectDialogConfig ` as a parameter instead of a ` SelectDialogConfig`. Additionally, ` TableSelectDialogProvider.createDefaultTableDialogConfig()` now returns a ` TableSelectDialogConfig ` instead of a ` DefaultSelectDialogConfig` .