diff --git a/MediaGalleryUi/Model/SearchCriteria/CollectionProcessor/FilterProcessor/ContentField.php b/MediaGalleryUi/Model/SearchCriteria/CollectionProcessor/FilterProcessor/ContentField.php
new file mode 100644
index 000000000000..785c3078cdbe
--- /dev/null
+++ b/MediaGalleryUi/Model/SearchCriteria/CollectionProcessor/FilterProcessor/ContentField.php
@@ -0,0 +1,48 @@
+getAssetIdsByContentStatus = $getAssetIdsByContentStatus;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function apply(Filter $filter, AbstractDb $collection): bool
+ {
+ $collection->addFieldToFilter(
+ 'main_table.id',
+ ['in' => $this->getAssetIdsByContentStatus->execute($filter->getField(), $filter->getValue())]
+ );
+
+ return true;
+ }
+}
diff --git a/MediaGalleryUi/Test/Mftf/ActionGroup/AdminMediaGalleryApplySelectFilterActionGroup.xml b/MediaGalleryUi/Test/Mftf/ActionGroup/AdminMediaGalleryApplySelectFilterActionGroup.xml
new file mode 100644
index 000000000000..6ddb6311c1a7
--- /dev/null
+++ b/MediaGalleryUi/Test/Mftf/ActionGroup/AdminMediaGalleryApplySelectFilterActionGroup.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ Applies select filter to the media gallery grid
+
+
+
+
+
+
+
+
+
+
diff --git a/MediaGalleryUi/Test/Mftf/ActionGroup/AdminOpenMediaGalleryFromPageNoEditorActionGroup.xml b/MediaGalleryUi/Test/Mftf/ActionGroup/AdminOpenMediaGalleryFromPageNoEditorActionGroup.xml
index 8cb4661d4c4c..0b2540de5288 100644
--- a/MediaGalleryUi/Test/Mftf/ActionGroup/AdminOpenMediaGalleryFromPageNoEditorActionGroup.xml
+++ b/MediaGalleryUi/Test/Mftf/ActionGroup/AdminOpenMediaGalleryFromPageNoEditorActionGroup.xml
@@ -5,6 +5,7 @@
* See COPYING.txt for license details.
*/
-->
+
diff --git a/MediaGalleryUi/Test/Mftf/Section/AdminEnhancedMediaGalleryFiltersSection.xml b/MediaGalleryUi/Test/Mftf/Section/AdminEnhancedMediaGalleryFiltersSection.xml
index cad354a2123d..e554791438c1 100644
--- a/MediaGalleryUi/Test/Mftf/Section/AdminEnhancedMediaGalleryFiltersSection.xml
+++ b/MediaGalleryUi/Test/Mftf/Section/AdminEnhancedMediaGalleryFiltersSection.xml
@@ -18,6 +18,8 @@
+
+
diff --git a/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryDisabledContentFilterTest.xml b/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryDisabledContentFilterTest.xml
new file mode 100644
index 000000000000..a268bf282c52
--- /dev/null
+++ b/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryDisabledContentFilterTest.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryEnabledContentFilterTest.xml b/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryEnabledContentFilterTest.xml
new file mode 100644
index 000000000000..ca9100283610
--- /dev/null
+++ b/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryEnabledContentFilterTest.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryStoreViewCategoryFilterTest.xml b/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryStoreViewCategoryFilterTest.xml
new file mode 100644
index 000000000000..1e1d4c1fdb4a
--- /dev/null
+++ b/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryStoreViewCategoryFilterTest.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryStoreViewContentFilterTest.xml b/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryStoreViewContentFilterTest.xml
new file mode 100644
index 000000000000..44a90d316657
--- /dev/null
+++ b/MediaGalleryUi/Test/Mftf/Test/AdminMediaGalleryStoreViewContentFilterTest.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MediaGalleryUi/Ui/Component/Listing/Filters/Options/Status.php b/MediaGalleryUi/Ui/Component/Listing/Filters/Options/Status.php
new file mode 100644
index 000000000000..31c658a6c420
--- /dev/null
+++ b/MediaGalleryUi/Ui/Component/Listing/Filters/Options/Status.php
@@ -0,0 +1,27 @@
+ '1', 'label' => __('Enabled')],
+ ['value' => '0', 'label' => __('Disabled')]
+ ];
+ }
+}
diff --git a/MediaGalleryUi/Ui/Component/Listing/Filters/Options/Store.php b/MediaGalleryUi/Ui/Component/Listing/Filters/Options/Store.php
new file mode 100644
index 000000000000..cf49377c1983
--- /dev/null
+++ b/MediaGalleryUi/Ui/Component/Listing/Filters/Options/Store.php
@@ -0,0 +1,42 @@
+options !== null) {
+ return $this->options;
+ }
+
+ $this->currentOptions['All Store Views']['label'] = __('All Store Views');
+ $this->currentOptions['All Store Views']['value'] = self::ALL_STORE_VIEWS;
+
+ $this->generateCurrentOptions();
+
+ $this->options = array_values($this->currentOptions);
+
+ return $this->options;
+ }
+}
diff --git a/MediaGalleryUi/etc/adminhtml/di.xml b/MediaGalleryUi/etc/adminhtml/di.xml
index 9e1c78e9927e..434674ff8c9b 100644
--- a/MediaGalleryUi/etc/adminhtml/di.xml
+++ b/MediaGalleryUi/etc/adminhtml/di.xml
@@ -6,6 +6,11 @@
*/
-->
+
+
+ Magento\MediaContentApi\Api\GetAssetIdsByContentFieldInterface
+
+
@@ -13,13 +18,14 @@
- Magento\MediaGalleryUi\Model\SearchCriteria\CollectionProcessor\FilterProcessor\Keyword
- Magento\MediaGalleryUi\Model\SearchCriteria\CollectionProcessor\FilterProcessor\EntityType
- Magento\MediaGalleryUi\Model\SearchCriteria\CollectionProcessor\FilterProcessor\Duplicated
+ - Magento\MediaGalleryUi\Model\SearchCriteria\CollectionProcessor\FilterProcessor\ContentField
+ - Magento\MediaGalleryUi\Model\SearchCriteria\CollectionProcessor\FilterProcessor\ContentField
-
diff --git a/MediaGalleryUi/view/adminhtml/ui_component/media_gallery_listing.xml b/MediaGalleryUi/view/adminhtml/ui_component/media_gallery_listing.xml
index 770deb9bc67c..3d6c0f025fd8 100644
--- a/MediaGalleryUi/view/adminhtml/ui_component/media_gallery_listing.xml
+++ b/MediaGalleryUi/view/adminhtml/ui_component/media_gallery_listing.xml
@@ -122,6 +122,25 @@
entity_type
+
+
+
+
+ All
+ content_status
+
+
+
+
+ 0
+
+
+ store_id
+
+ componentType = column, index = ${ $.index }:visible
+
+
+
entity_type
+
+
+
+
+ All
+ content_status
+
+
+
+
+ 0
+
+
+ store_id
+
+ componentType = column, index = ${ $.index }:visible
+
+
+