Skip to content

Commit 1d3ada8

Browse files
committed
Amélioration de la gestion des états d'identité en ajustant les paramètres 'lazy' et 'immediate' dans les requêtes HTTP et en ajoutant des mises à jour réactives dans les composants
1 parent 0f62d39 commit 1d3ada8

File tree

6 files changed

+30
-15
lines changed

6 files changed

+30
-15
lines changed

nuxt.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ export default defineNuxtConfig({
123123
target: SESAME_APP_API_URL,
124124
secure: false,
125125
changeOrigin: true,
126+
xfwd: true,
126127
}
127128
},
128129
cors: false,

src/components/2pan/index.vue

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,12 @@ const route = useRoute()
275275
const { pagination, onRequest, initializePagination } = usePagination()
276276
initializePagination(props.total)
277277
278+
watch(() => props.data, async () => {
279+
if (pagination.value) {
280+
pagination.value.rowsNumber = props.total
281+
}
282+
})
283+
278284
const emit = defineEmits(['create', 'refresh', 'read', 'update', 'delete'])
279285
const { debug } = useDebug()
280286

src/composables/usePagination.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default function usePagination() {
1313
rowsPerPage: 16,
1414
sortBy: 'metadata.lastUpdatedAt',
1515
descending: true,
16-
})
16+
}) as Ref<QTableProps['pagination']>
1717

1818
async function initializePagination(total: number = 0) {
1919
if (!pagination.value) return

src/pages/identities/index.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ const {
111111
} = await useHttp<Response>('/management/identities', {
112112
method: 'get',
113113
query: queryWithoutRead,
114+
onResponse: () => {
115+
const identityStateStore = useIdentityStateStore()
116+
identityStateStore.fetchAllStateCount()
117+
},
114118
})
115119
116120
if (error.value) {

src/pages/identities/readonly.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ q-page.container
1919
:titleKey=["inetOrgPerson.cn"]
2020
:crud="crud"
2121
:actions="actions"
22-
hide-left-buttons="true"
22+
:hide-left-buttons="true"
2323
:defaultRightPanelButton="false"
2424
)
2525
template(#right-panel-title-before="props")
@@ -101,6 +101,10 @@ const {
101101
} = await useHttp<Response>('/management/identities', {
102102
method: 'get',
103103
query: queryWithoutRead,
104+
onResponse: () => {
105+
const identityStateStore = useIdentityStateStore()
106+
identityStateStore.fetchAllStateCount()
107+
},
104108
})
105109
106110
if (error.value) {

src/stores/identityState.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export const useIdentityStateStore = defineStore('identityStates', {
4040
async fetchTotalCount() {
4141
try {
4242
const { data } = await useHttp<any>('/management/identities/count?limit=99999999', {
43-
lazy: true,
43+
lazy: false,
4444
immediate: false,
4545
});
4646
this.total = data.value?.data;
@@ -52,8 +52,8 @@ export const useIdentityStateStore = defineStore('identityStates', {
5252
async fetchToCompleteCount() {
5353
try {
5454
const { data } = await useHttp<any>(`/management/identities/count?filters[@state][]=${IdentityState.TO_COMPLETE}&limit=99999999`, {
55-
lazy: true,
56-
immediate: false,
55+
lazy: false,
56+
immediate: true,
5757
});
5858
this[IdentityState.TO_COMPLETE] = data.value?.data;
5959
} catch (error) {
@@ -63,8 +63,8 @@ export const useIdentityStateStore = defineStore('identityStates', {
6363
async fetchToValidateCount() {
6464
try {
6565
const { data } = await useHttp<any>(`/management/identities/count?filters[@state][]=${IdentityState.TO_VALIDATE}&limit=99999999`, {
66-
lazy: true,
67-
immediate: false,
66+
lazy: false,
67+
immediate: true,
6868
});
6969
this[IdentityState.TO_VALIDATE] = data.value?.data;
7070
} catch (error) {
@@ -74,8 +74,8 @@ export const useIdentityStateStore = defineStore('identityStates', {
7474
async fetchOnErrorCount() {
7575
try {
7676
const { data } = await useHttp<any>(`/management/identities/count?filters[@state][]=${IdentityState.ON_ERROR}&limit=99999999`, {
77-
lazy: true,
78-
immediate: false,
77+
lazy: false,
78+
immediate: true,
7979
});
8080
this[IdentityState.ON_ERROR] = data.value?.data;
8181
} catch (error) {
@@ -85,8 +85,8 @@ export const useIdentityStateStore = defineStore('identityStates', {
8585
async fetchToSyncCount() {
8686
try {
8787
const { data } = await useHttp<any>(`/management/identities/count?filters[@state][]=${IdentityState.TO_SYNC}&limit=99999999`, {
88-
lazy: true,
89-
immediate: false,
88+
lazy: false,
89+
immediate: true,
9090
});
9191
this[IdentityState.TO_SYNC] = data.value?.data;
9292
} catch (error) {
@@ -96,8 +96,8 @@ export const useIdentityStateStore = defineStore('identityStates', {
9696
async fetchProcessingCount() {
9797
try {
9898
const { data } = await useHttp<any>(`/management/identities/count?filters[@state][]=${IdentityState.PROCESSING}&limit=99999999`, {
99-
lazy: true,
100-
immediate: false,
99+
lazy: false,
100+
immediate: true,
101101
});
102102
this[IdentityState.PROCESSING] = data.value?.data;
103103
} catch (error) {
@@ -107,8 +107,8 @@ export const useIdentityStateStore = defineStore('identityStates', {
107107
async fetchSyncedCount() {
108108
try {
109109
const { data } = await useHttp<any>(`/management/identities/count?filters[@state][]=${IdentityState.SYNCED}&limit=99999999`, {
110-
lazy: true,
111-
immediate: false,
110+
lazy: false,
111+
immediate: true,
112112
});
113113
this[IdentityState.SYNCED] = data.value?.data;
114114
} catch (error) {

0 commit comments

Comments
 (0)