From 10c6b24c2b0f01944ac5dfb815ef83b18486697e Mon Sep 17 00:00:00 2001 From: Gregor Eichelberger Date: Wed, 11 Mar 2026 23:28:56 +0100 Subject: [PATCH 1/2] Add freetext filter input support Add a freetext branch in filter value rendering using a creatable dropdown. --- src/components/shared/TableFilters.tsx | 46 ++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/components/shared/TableFilters.tsx b/src/components/shared/TableFilters.tsx index 575797042a..5c5b4712cd 100644 --- a/src/components/shared/TableFilters.tsx +++ b/src/components/shared/TableFilters.tsx @@ -493,6 +493,52 @@ const FilterSwitch = ({ /> ); + case "freetext": + return ( +
+ 0 + ? filter.options.map(option => { + if (!filter.translatable) { + return { + ...option, + label: option.label.substr(0, 40), + }; + } else { + return { + ...option, + label: t(option.label as ParseKeys).substr(0, 40), + }; + } + }) + : [] + } + required={true} + handleChange={element => handleChange("secondFilter", element!.value)} + placeholder={ + !!filter.options && filter.options.length > 0 + ? t( + "TABLE_FILTERS.FILTER_VALUE_SELECTION.PLACEHOLDER", + ) + : t( + "TABLE_FILTERS.FILTER_SELECTION.NO_OPTIONS", + ) + } + autoFocus + defaultOpen + openMenuOnFocus + menuIsOpen={openSecondFilterMenu} + handleMenuIsOpen={setOpenSecondFilterMenu} + skipTranslate={!filter.translatable} + customCSS={{ width: 200, optionPaddingTop: 5 }} + /> + {/* For text filter, there is no secondary filter, so nothing is shown here */} +
+ ) // This should never happen default: return null; From ac1fd5b8450d36f998f146e771f5028083166228 Mon Sep 17 00:00:00 2001 From: Gregor Eichelberger Date: Thu, 12 Mar 2026 23:24:53 +0100 Subject: [PATCH 2/2] Add read/write access labels for filter Add missing READ_ACCESS and WRITE_ACCESS labels for events and series filters in en_US locale. This ensures permission filter labels render correctly instead of fallback keys. --- src/components/shared/TableFilters.tsx | 2 +- .../adminui/languages/lang-en_US.json | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/components/shared/TableFilters.tsx b/src/components/shared/TableFilters.tsx index 5c5b4712cd..2acf436d0e 100644 --- a/src/components/shared/TableFilters.tsx +++ b/src/components/shared/TableFilters.tsx @@ -538,7 +538,7 @@ const FilterSwitch = ({ /> {/* For text filter, there is no secondary filter, so nothing is shown here */} - ) + ); // This should never happen default: return null; diff --git a/src/i18n/org/opencastproject/adminui/languages/lang-en_US.json b/src/i18n/org/opencastproject/adminui/languages/lang-en_US.json index 875c235f63..b7f2fc3a40 100644 --- a/src/i18n/org/opencastproject/adminui/languages/lang-en_US.json +++ b/src/i18n/org/opencastproject/adminui/languages/lang-en_US.json @@ -1886,6 +1886,12 @@ }, "WORKFLOW_STATE": { "LABEL": "Workflow state" + }, + "READ_ACCESS": { + "LABEL": "Read Access" + }, + "WRITE_ACCESS": { + "LABEL": "Write Access" } }, "JOBS": { @@ -1930,6 +1936,12 @@ }, "CREATION_DATE": { "LABEL": "Creation date" + }, + "READ_ACCESS": { + "LABEL": "Read Access" + }, + "WRITE_ACCESS": { + "LABEL": "Write Access" } }, "SERVERS": {