Skip to content

Commit 9b469cb

Browse files
committed
refactor: update pan-informations component and its usage in identities table
- Changed component name from `sesame-core-pan-informations` to `sesame-pages-identities-pan-informations`. - Enhanced tooltip formatting and added additional information for creation and last modification dates. - Improved data handling with optional chaining for metadata properties.
1 parent 18f0042 commit 9b469cb

File tree

3 files changed

+54
-25
lines changed

3 files changed

+54
-25
lines changed

apps/web/src/components/core/pan-informations.vue

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,30 @@
11
<template lang="pug">
22
q-bar.row.items-left
33
span
4-
q-tooltip.text-body2.bg-green-8.text-white(anchor="top middle" self="bottom middle")
5-
span Créé par: {{ data.metadata.createdBy }}
4+
q-tooltip.text-body1.bg-green-8.text-white(anchor="top middle" self="bottom middle")
5+
i Créé par&nbsp;:&nbsp;
6+
b.font-bold {{ data?.metadata?.createdBy || 'N/A' }}
67
br
7-
span Créé le: {{ $dayjs(data.metadata.createdAt).format('DD/MM/YYYY HH:mm:ss') }}
8+
i Date de création&nbsp;:&nbsp;
9+
b.font-bold {{ $dayjs(data?.metadata?.createdAt).format('DD/MM/YYYY HH:mm:ss') }}
10+
br
11+
small Créé par: Date de création initiale de l'identité.
812
q-icon(name="mdi-database-plus" size="16px" left)
9-
small {{ data.metadata.createdBy || 'N/A' }},&nbsp;
10-
small &nbsp;{{ $dayjs(data.metadata.createdAt || 'N/A').fromNow() }}
13+
small {{ data?.metadata?.createdBy || 'N/A' }},&nbsp;
14+
small &nbsp;{{ $dayjs(data?.metadata?.createdAt || 'N/A').fromNow() }}
1115
q-separator.q-mx-sm(vertical inset)
1216
span
13-
q-tooltip.text-body2.bg-orange-8.text-white(anchor="top middle" self="bottom middle" )
14-
span Dernière modification par: {{ data.metadata.lastUpdatedBy }}
17+
q-tooltip.text-body1.bg-orange-8.text-white(anchor="top middle" self="bottom middle" )
18+
i Dernière modification effectuée par&nbsp;:&nbsp;
19+
b.font-bold {{ data?.metadata?.lastUpdatedBy || 'N/A' }}
20+
br
21+
i Dernière modification le&nbsp;:&nbsp;
22+
b.font-bold {{ $dayjs(data?.metadata?.lastUpdatedAt).format('DD/MM/YYYY HH:mm:ss') }}
1523
br
16-
span Dernière modification le: {{ $dayjs(data.metadata.lastUpdatedAt).format('DD/MM/YYYY HH:mm:ss') }}
24+
small Dernière modification: Quand l'identité à été modifiée pour la dernière fois.
1725
q-icon(name="mdi-database-clock" size="16px" left)
18-
small {{ data.metadata.lastUpdatedBy || 'N/A' }},&nbsp;
19-
small {{ $dayjs(data.metadata.lastUpdatedAt || 'N/A').fromNow() }}
26+
small {{ data?.metadata?.lastUpdatedBy || 'N/A' }},&nbsp;
27+
small {{ $dayjs(data?.metadata?.lastUpdatedAt || 'N/A').fromNow() }}
2028
q-separator.q-mx-sm(vertical inset v-if="$slots.hasOwnProperty('actions-left')")
2129
slot(name="actions-left")
2230
q-space
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<template lang="pug">
2+
sesame-core-pan-informations(:data="data")
3+
template(#actions-right)
4+
span
5+
q-tooltip.text-body1.bg-lime-9.text-white(anchor="top middle" self="bottom middle")
6+
i Dernier import&nbsp;:&nbsp;
7+
b.font-bold {{ data?.lastSync ? $dayjs(data?.lastSync).format('DD/MM/YYYY HH:mm:ss') : 'N/A' }}
8+
br
9+
small Dernier import: Quand l'api à été utilisée pour importer des données d'une identité.
10+
q-icon(name="mdi-database-import" size="16px" left)
11+
small {{ data?.lastSync ? $dayjs(data?.lastSync).fromNow() : 'N/A' }}
12+
q-separator.q-mx-sm(vertical inset)
13+
span
14+
q-tooltip.text-body1.bg-purple-8.text-white(anchor="top middle" self="bottom middle")
15+
i Dernière synchronisation&nbsp;:&nbsp;
16+
b.font-bold {{ data?.lastBackendSync ? $dayjs(data?.lastBackendSync).format('DD/MM/YYYY HH:mm:ss') : 'N/A' }}
17+
br
18+
small Dernière synchronisation: Quand le(s) backend(s) à été utilisé(s) pour synchroniser des données d'une identité.
19+
q-icon(name="mdi-database-export" size="16px" left)
20+
small {{ data?.lastBackendSync ? $dayjs(data?.lastBackendSync).fromNow() : 'N/A' }}
21+
</template>
22+
23+
<script lang="ts">
24+
export default defineNuxtComponent({
25+
name: 'SesamePagesIdentitiesPanInformationsComponent',
26+
props: {
27+
data: {
28+
type: Object as PropType<Record<string, any>>,
29+
required: true,
30+
},
31+
},
32+
})
33+
</script>

apps/web/src/pages/identities/table/[_id]/index.vue

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -174,22 +174,10 @@
174174
:readonly="identity.state === IdentityState.TO_SYNC || !hasPermission('/management/identities', 'update')"
175175
:mode="isNew ? 'create' : 'update'"
176176
)
177-
sesame-core-pan-informations(
177+
sesame-pages-identities-pan-informations(
178178
v-if="identity?._id"
179179
:data="identity"
180180
)
181-
template(#actions-right)
182-
span
183-
q-tooltip.text-body2.bg-lime-8.text-white(anchor="top middle" self="bottom middle")
184-
span Dernier import: {{ identity.lastSync ? $dayjs(identity.lastSync).format('DD/MM/YYYY HH:mm:ss') : 'N/A' }}
185-
q-icon(name="mdi-database-import" size="16px" left)
186-
small {{ identity.lastSync ? $dayjs(identity.lastSync).fromNow() : 'N/A' }}
187-
q-separator.q-mx-sm(vertical inset)
188-
span
189-
q-tooltip.text-body2.bg-purple-8.text-white(anchor="top middle" self="bottom middle")
190-
span Dernière synchronisation: {{ identity.lastBackendSync ? $dayjs(identity.lastBackendSync).format('DD/MM/YYYY HH:mm:ss') : 'N/A' }}
191-
q-icon(name="mdi-database-export" size="16px" left)
192-
small {{ identity.lastBackendSync ? $dayjs(identity.lastBackendSync).fromNow() : 'N/A' }}
193181
q-tab-panel.q-pa-none.column.no-wrap.full-height(v-for="t in tabs" :key="t" :name="t")
194182
.col.overflow-auto(style="min-height: 0")
195183
sesame-core-jsonforms-renderer.full-width(
@@ -202,12 +190,12 @@
202190
:readonly="identity.state === IdentityState.TO_SYNC || !hasPermission('/management/identities', 'update')"
203191
:mode="isNew ? 'create' : 'update'"
204192
)
205-
sesame-core-pan-informations(
193+
sesame-pages-identities-pan-informations(
206194
v-if="identity?._id"
207195
:data="identity"
208196
)
209197
q-dialog(v-model="resetPasswordModal" persistent medium)
210-
q-card(style="width:800px")
198+
q-card(style="width: 800px")
211199
q-toolbar.bg-primary(flat)
212200
q-toolbar-title Définir un nouveau mot de passe
213201
q-btn(icon="mdi-close" flat dense @click="resetPasswordModal = false")

0 commit comments

Comments
 (0)