Filter by public/private (#21797)

This commit is contained in:
Peter L Jones
2026-02-23 20:09:13 +00:00
committed by GitHub
parent 1808d7fd2f
commit a52e6c2d57
2 changed files with 14 additions and 1 deletions

View File

@@ -69,6 +69,15 @@
const perPage = 30;
let currentPage = 1;
const isPublicModel = (model) => {
return (model?.access_grants ?? []).some(
(g) =>
g.principal_type === 'user' &&
g.principal_id === '*' &&
g.permission === 'read'
);
};
$: if (models) {
filteredModels = models
.filter((m) => searchValue === '' || m.name.toLowerCase().includes(searchValue.toLowerCase()))
@@ -77,6 +86,8 @@
if (viewOption === 'disabled') return !(m?.is_active ?? true);
if (viewOption === 'visible') return !(m?.meta?.hidden ?? false);
if (viewOption === 'hidden') return m?.meta?.hidden === true;
if (viewOption === 'public') return isPublicModel(m);
if (viewOption === 'private') return !isPublicModel(m);
return true; // All
})
.sort((a, b) => {

View File

@@ -16,7 +16,9 @@
{ value: 'enabled', label: $i18n.t('Enabled') },
{ value: 'disabled', label: $i18n.t('Disabled') },
{ value: 'visible', label: $i18n.t('Visible') },
{ value: 'hidden', label: $i18n.t('Hidden') }
{ value: 'hidden', label: $i18n.t('Hidden') },
{ value: 'public', label: $i18n.t('Public') },
{ value: 'private', label: $i18n.t('Private') }
];
</script>