Filter by public/private (#21797)
This commit is contained in:
@@ -69,6 +69,15 @@
|
|||||||
const perPage = 30;
|
const perPage = 30;
|
||||||
let currentPage = 1;
|
let currentPage = 1;
|
||||||
|
|
||||||
|
const isPublicModel = (model) => {
|
||||||
|
return (model?.access_grants ?? []).some(
|
||||||
|
(g) =>
|
||||||
|
g.principal_type === 'user' &&
|
||||||
|
g.principal_id === '*' &&
|
||||||
|
g.permission === 'read'
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
$: if (models) {
|
$: if (models) {
|
||||||
filteredModels = models
|
filteredModels = models
|
||||||
.filter((m) => searchValue === '' || m.name.toLowerCase().includes(searchValue.toLowerCase()))
|
.filter((m) => searchValue === '' || m.name.toLowerCase().includes(searchValue.toLowerCase()))
|
||||||
@@ -77,6 +86,8 @@
|
|||||||
if (viewOption === 'disabled') return !(m?.is_active ?? true);
|
if (viewOption === 'disabled') return !(m?.is_active ?? true);
|
||||||
if (viewOption === 'visible') return !(m?.meta?.hidden ?? false);
|
if (viewOption === 'visible') return !(m?.meta?.hidden ?? false);
|
||||||
if (viewOption === 'hidden') return m?.meta?.hidden === true;
|
if (viewOption === 'hidden') return m?.meta?.hidden === true;
|
||||||
|
if (viewOption === 'public') return isPublicModel(m);
|
||||||
|
if (viewOption === 'private') return !isPublicModel(m);
|
||||||
return true; // All
|
return true; // All
|
||||||
})
|
})
|
||||||
.sort((a, b) => {
|
.sort((a, b) => {
|
||||||
|
|||||||
@@ -16,7 +16,9 @@
|
|||||||
{ value: 'enabled', label: $i18n.t('Enabled') },
|
{ value: 'enabled', label: $i18n.t('Enabled') },
|
||||||
{ value: 'disabled', label: $i18n.t('Disabled') },
|
{ value: 'disabled', label: $i18n.t('Disabled') },
|
||||||
{ value: 'visible', label: $i18n.t('Visible') },
|
{ 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>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user