diff --git a/src/components/shared/TableFilters.tsx b/src/components/shared/TableFilters.tsx
index 575797042a..2acf436d0e 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;
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": {