diff --git a/application-engine/src/main/resources/petriNets/engine-processes/menu/tabbed_case_view_configuration.xml b/application-engine/src/main/resources/petriNets/engine-processes/menu/tabbed_case_view_configuration.xml index 15917693c98..f801c2bf6ac 100644 --- a/application-engine/src/main/resources/petriNets/engine-processes/menu/tabbed_case_view_configuration.xml +++ b/application-engine/src/main/resources/petriNets/engine-processes/menu/tabbed_case_view_configuration.xml @@ -335,6 +335,28 @@ sort + + headers_sort_mode_active + Active columns for sorting + Example: "meta-title,meta-creationDate" + + sortModeActive: f.this; + + String trimmed = sortModeActive.value?.replaceAll("\\s","") + if (sortModeActive.value != trimmed) { + change sortModeActive value { trimmed } + } + + + + headers_sort_mode_direction + Default sort direction + + + + + desc + headers_options_holder @@ -447,6 +469,11 @@ <i18nString name="view_configuration_type">Vybrať zobrazenie</i18nString> <i18nString name="settings">Nastavenie</i18nString> <i18nString name="associated_view">Asociované zobrazenie</i18nString> + <i18nString name="headers_sort_mode_active">Aktívne stĺpce pre zoradenie</i18nString> + <i18nString name="headers_sort_mode_active_desc">Napríklad: "meta-title,meta-creationDate"</i18nString> + <i18nString name="headers_sort_mode_direction">Predvolený smer zoradenia</i18nString> + <i18nString name="ascending">Vzostupne</i18nString> + <i18nString name="descending">Zostupne</i18nString> </i18n> <i18n locale="de"> <i18nString name="create_case_button_title">Schaltflächentitel "Neuer Fall"</i18nString> @@ -482,6 +509,11 @@ <i18nString name="view_configuration_type">Wählen Sie einen Ansichtstyp</i18nString> <i18nString name="settings">Einstellungen</i18nString> <i18nString name="associated_view">zugehörige Ansicht</i18nString> + <i18nString name="headers_sort_mode_active">Aktive Spalten zum Sortieren</i18nString> + <i18nString name="headers_sort_mode_active_desc">Beispiel: "meta-title,meta-creationDate"</i18nString> + <i18nString name="headers_sort_mode_direction">Standard-Sortierrichtung</i18nString> + <i18nString name="ascending">Aufsteigend</i18nString> + <i18nString name="descending">Absteigend</i18nString> </i18n> <transition> @@ -850,6 +882,37 @@ <appearance>outline</appearance> </layout> </dataRef> + <dataRef> + <id>headers_sort_mode_active</id> + <logic> + <behavior>editable</behavior> + </logic> + <layout> + <x>0</x> + <y>2</y> + <rows>1</rows> + <cols>4</cols> + <offset>0</offset> + <template>material</template> + <appearance>outline</appearance> + </layout> + </dataRef> + <dataRef> + <id>headers_sort_mode_direction</id> + <logic> + <behavior>editable</behavior> + <behavior>required</behavior> + </logic> + <layout> + <x>4</x> + <y>2</y> + <rows>1</rows> + <cols>1</cols> + <offset>0</offset> + <template>material</template> + <appearance>outline</appearance> + </layout> + </dataRef> </dataGroup> <dataGroup> <id>associated_view</id> diff --git a/application-engine/src/main/resources/petriNets/engine-processes/menu/tabbed_task_view_configuration.xml b/application-engine/src/main/resources/petriNets/engine-processes/menu/tabbed_task_view_configuration.xml index 1a19b505db1..0e6ff962a4f 100644 --- a/application-engine/src/main/resources/petriNets/engine-processes/menu/tabbed_task_view_configuration.xml +++ b/application-engine/src/main/resources/petriNets/engine-processes/menu/tabbed_task_view_configuration.xml @@ -274,6 +274,28 @@ </options> <init>sort</init> </data> + <data type="text" immediate="true"> + <id>headers_sort_mode_active</id> + <title name="headers_sort_mode_active">Active columns for sorting + Example: "meta-title,meta-caseTitle" + + sortModeActive: f.this; + + String trimmed = sortModeActive.value?.replaceAll("\\s","") + if (sortModeActive.value != trimmed) { + change sortModeActive value { trimmed } + } + + + + headers_sort_mode_direction + Default sort direction + + + + + desc + headers_options_holder @@ -342,6 +364,11 @@ <i18nString name="view_header">Zobrazenie úloh</i18nString> <i18nString name="item_settings_general">Všeobecné</i18nString> <i18nString name="remove_filter">Vymazať filter</i18nString> + <i18nString name="headers_sort_mode_active">Aktívne stĺpce pre zoradenie</i18nString> + <i18nString name="headers_sort_mode_active_desc">Napríklad: "meta-title,meta-caseTitle"</i18nString> + <i18nString name="headers_sort_mode_direction">Predvolený smer zoradenia</i18nString> + <i18nString name="ascending">Vzostupne</i18nString> + <i18nString name="descending">Zostupne</i18nString> </i18n> <i18n locale="de"> <i18nString name="filter_autocomplete_selection">Neue Filter auswählen</i18nString> @@ -368,6 +395,11 @@ <i18nString name="item_settings">Menüeintrageinstellungen</i18nString> <i18nString name="view_header">Aufgabenansicht</i18nString> <i18nString name="remove_filter">Filter entfernen</i18nString> + <i18nString name="headers_sort_mode_active">Aktive Spalten zum Sortieren</i18nString> + <i18nString name="headers_sort_mode_active_desc">Beispiel: "meta-title,meta-caseTitle"</i18nString> + <i18nString name="headers_sort_mode_direction">Standard-Sortierrichtung</i18nString> + <i18nString name="ascending">Aufsteigend</i18nString> + <i18nString name="descending">Absteigend</i18nString> </i18n> <transition> @@ -676,6 +708,37 @@ <appearance>outline</appearance> </layout> </dataRef> + <dataRef> + <id>headers_sort_mode_active</id> + <logic> + <behavior>editable</behavior> + </logic> + <layout> + <x>0</x> + <y>2</y> + <rows>1</rows> + <cols>4</cols> + <offset>0</offset> + <template>material</template> + <appearance>outline</appearance> + </layout> + </dataRef> + <dataRef> + <id>headers_sort_mode_direction</id> + <logic> + <behavior>editable</behavior> + <behavior>required</behavior> + </logic> + <layout> + <x>4</x> + <y>2</y> + <rows>1</rows> + <cols>1</cols> + <offset>0</offset> + <template>material</template> + <appearance>outline</appearance> + </layout> + </dataRef> </dataGroup> </transition> <place> diff --git a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedCaseViewBody.java b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedCaseViewBody.java index dd6fbc801fd..acf83813346 100644 --- a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedCaseViewBody.java +++ b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedCaseViewBody.java @@ -25,6 +25,8 @@ public class TabbedCaseViewBody extends ViewBody { private boolean allowHeaderTableMode = true; private List<String> headersMode = new ArrayList<>(List.of("sort", "edit", "search")); private String headersDefaultMode = "sort"; + private List<String> headersSortModeActive; + private String headersSortModeDirection = "desc"; private List<String> defaultHeaders; private boolean isHeaderModeChangeable = true; private boolean useDefaultHeaders = true; @@ -64,6 +66,10 @@ protected ToDataSetOutcome toDataSetInternal(ToDataSetOutcome outcome) { this.headersMode == null ? new ArrayList<>() : this.headersMode); outcome.putDataSetEntry(TabbedCaseViewConstants.FIELD_HEADERS_DEFAULT_MODE, FieldType.ENUMERATION_MAP, this.headersDefaultMode); + outcome.putDataSetEntry(TabbedCaseViewConstants.FIELD_HEADERS_SORT_MODE_ACTIVE, FieldType.TEXT, + this.headersSortModeActive != null ? String.join(",", this.headersSortModeActive) : null); + outcome.putDataSetEntry(TabbedCaseViewConstants.FIELD_HEADERS_SORT_MODE_DIRECTION, FieldType.ENUMERATION_MAP, + this.headersSortModeDirection); outcome.putDataSetEntry(TabbedCaseViewConstants.FIELD_DEFAULT_HEADERS, FieldType.TEXT, this.defaultHeaders != null ? String.join(",", this.defaultHeaders) : null); outcome.putDataSetEntry(TabbedCaseViewConstants.FIELD_IS_HEADER_MODE_CHANGEABLE, FieldType.BOOLEAN, diff --git a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedCaseViewConstants.java b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedCaseViewConstants.java index ca8e392d756..993c7467005 100644 --- a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedCaseViewConstants.java +++ b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedCaseViewConstants.java @@ -17,6 +17,8 @@ public class TabbedCaseViewConstants extends ViewConstants { public static final String FIELD_ALLOW_HEADER_TABLE_MODE = "allow_header_table_mode"; public static final String FIELD_HEADERS_MODE = "headers_mode"; public static final String FIELD_HEADERS_DEFAULT_MODE = "headers_default_mode"; + public static final String FIELD_HEADERS_SORT_MODE_ACTIVE = "headers_sort_mode_active"; + public static final String FIELD_HEADERS_SORT_MODE_DIRECTION = "headers_sort_mode_direction"; public static final String FIELD_IS_HEADER_MODE_CHANGEABLE = "is_header_mode_changeable"; public static final String FIELD_USE_CASE_DEFAULT_HEADERS = "use_case_default_headers"; } diff --git a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedTaskViewBody.java b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedTaskViewBody.java index 26846664402..7db48762253 100644 --- a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedTaskViewBody.java +++ b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedTaskViewBody.java @@ -20,6 +20,8 @@ public class TabbedTaskViewBody extends ViewBody { private String viewSearchType = "fulltext_advanced"; private List<String> headersMode = new ArrayList<>(List.of("sort", "edit")); private String headersDefaultMode = "sort"; + private List<String> headersSortModeActive; + private String headersSortModeDirection = "desc"; private boolean isHeaderModeChangeable = true; private boolean allowHeaderTableMode = true; private boolean useDefaultHeaders = true; @@ -55,6 +57,10 @@ protected ToDataSetOutcome toDataSetInternal(ToDataSetOutcome outcome) { this.useDefaultHeaders); outcome.putDataSetEntry(TabbedTaskViewConstants.FIELD_DEFAULT_HEADERS, FieldType.TEXT, this.defaultHeaders != null ? String.join(",", this.defaultHeaders) : null); + outcome.putDataSetEntry(TabbedTaskViewConstants.FIELD_HEADERS_SORT_MODE_ACTIVE, FieldType.TEXT, + this.headersSortModeActive != null ? String.join(",", this.headersSortModeActive) : null); + outcome.putDataSetEntry(TabbedTaskViewConstants.FIELD_HEADERS_SORT_MODE_DIRECTION, FieldType.ENUMERATION_MAP, + this.headersSortModeDirection); outcome.putDataSetEntry(TabbedTaskViewConstants.FIELD_SHOW_MORE_MENU, FieldType.BOOLEAN, this.showMoreMenu); diff --git a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedTaskViewConstants.java b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedTaskViewConstants.java index db5ad865a66..f37ec7bf64f 100644 --- a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedTaskViewConstants.java +++ b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/workflow/domain/menu/configurations/TabbedTaskViewConstants.java @@ -9,6 +9,8 @@ public class TabbedTaskViewConstants extends ViewConstants { public static final String FIELD_DEFAULT_HEADERS = "default_headers"; public static final String FIELD_HEADERS_MODE = "headers_mode"; public static final String FIELD_HEADERS_DEFAULT_MODE = "headers_default_mode"; + public static final String FIELD_HEADERS_SORT_MODE_ACTIVE = "headers_sort_mode_active"; + public static final String FIELD_HEADERS_SORT_MODE_DIRECTION = "headers_sort_mode_direction"; public static final String FIELD_IS_HEADER_MODE_CHANGEABLE = "is_header_mode_changeable"; public static final String FIELD_ALLOW_HEADER_TABLE_MODE = "allow_header_table_mode"; public static final String FIELD_USE_DEFAULT_HEADERS = "use_default_headers";