|
@@ -1,9 +1,11 @@
|
|
|
<script setup lang="ts">
|
|
|
import { defineAsyncComponent, ref, onMounted } from "vue";
|
|
|
import { useRoute } from "vue-router";
|
|
|
+import { storeToRefs } from "pinia";
|
|
|
import { useModalsStore } from "@/stores/modals";
|
|
|
import { useUserAuthStore } from "@/stores/userAuth";
|
|
|
import { TableColumn, TableFilter, TableEvents } from "@/types/advancedTable";
|
|
|
+import { useConfigStore } from "@/stores/config";
|
|
|
|
|
|
const AdvancedTable = defineAsyncComponent(
|
|
|
() => import("@/components/AdvancedTable.vue")
|
|
@@ -12,6 +14,9 @@ const ProfilePicture = defineAsyncComponent(
|
|
|
() => import("@/components/ProfilePicture.vue")
|
|
|
);
|
|
|
|
|
|
+const configStore = useConfigStore();
|
|
|
+const { oidcAuthentication } = storeToRefs(configStore);
|
|
|
+
|
|
|
const route = useRoute();
|
|
|
|
|
|
const columnDefault = ref<TableColumn>({
|
|
@@ -63,14 +68,18 @@ const columns = ref<TableColumn[]>([
|
|
|
minWidth: 230,
|
|
|
defaultWidth: 230
|
|
|
},
|
|
|
- {
|
|
|
- name: "oidcSub",
|
|
|
- displayName: "OIDC sub",
|
|
|
- properties: ["services.oidc.sub"],
|
|
|
- sortProperty: "services.oidc.sub",
|
|
|
- minWidth: 115,
|
|
|
- defaultWidth: 115
|
|
|
- },
|
|
|
+ ...(oidcAuthentication.value
|
|
|
+ ? [
|
|
|
+ {
|
|
|
+ name: "oidcSub",
|
|
|
+ displayName: "OIDC sub",
|
|
|
+ properties: ["services.oidc.sub"],
|
|
|
+ sortProperty: "services.oidc.sub",
|
|
|
+ minWidth: 115,
|
|
|
+ defaultWidth: 115
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ : []),
|
|
|
{
|
|
|
name: "role",
|
|
|
displayName: "Role",
|
|
@@ -126,13 +135,17 @@ const filters = ref<TableFilter[]>([
|
|
|
filterTypes: ["contains", "exact", "regex"],
|
|
|
defaultFilterType: "contains"
|
|
|
},
|
|
|
- {
|
|
|
- name: "oidcSub",
|
|
|
- displayName: "OIDC sub",
|
|
|
- property: "services.oidc.sub",
|
|
|
- filterTypes: ["contains", "exact", "regex"],
|
|
|
- defaultFilterType: "contains"
|
|
|
- },
|
|
|
+ ...(oidcAuthentication.value
|
|
|
+ ? [
|
|
|
+ {
|
|
|
+ name: "oidcSub",
|
|
|
+ displayName: "OIDC sub",
|
|
|
+ property: "services.oidc.sub",
|
|
|
+ filterTypes: ["contains", "exact", "regex"],
|
|
|
+ defaultFilterType: "contains"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ : []),
|
|
|
{
|
|
|
name: "role",
|
|
|
displayName: "Role",
|
|
@@ -266,7 +279,7 @@ onMounted(() => {
|
|
|
slotProps.item._id
|
|
|
}}</span>
|
|
|
</template>
|
|
|
- <template #column-oidcSub="slotProps">
|
|
|
+ <template v-if="oidcAuthentication" #column-oidcSub="slotProps">
|
|
|
<span
|
|
|
v-if="slotProps.item.services.oidc"
|
|
|
:title="slotProps.item.services.oidc.sub"
|