Skip to content

Commit 29a206e

Browse files
committed
Update identityForm actions and logs routing
1 parent 83b79ae commit 29a206e

File tree

4 files changed

+67
-19
lines changed

4 files changed

+67
-19
lines changed

src/components/identityForm/actions.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ async function sync() {
5757
}
5858
5959
function logs() {
60-
router.push(`/jobs?filters[=concernedTo]=${(props.identity as any)._id}`)
60+
router.push(`/jobs?filters[%concernedTo]=${(props.identity as any)._id}`)
6161
}
6262
6363
function back() {

src/components/identityForm/index.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ async function submit() {
7070
delete sanitizedIdentity.metadata
7171
if (sanitizedIdentity.additionalFields?.validations) delete sanitizedIdentity.additionalFields.validations
7272
73-
const { data: result, pending, error, refresh } = await useHttp(`/management/identities/${props.identity._id}`, {
73+
const { data: result, pending, error, refresh } = await useHttp<any>(`/management/identities/${props.identity._id}`, {
7474
method: 'PATCH',
7575
body: sanitizedIdentity,
7676
});
@@ -90,7 +90,7 @@ async function submit() {
9090
position: 'top-right',
9191
icon: 'mdi-check-circle-outline',
9292
})
93-
emits('refreshTarget')
93+
emits('refreshTarget', result.value.data)
9494
}
9595
}
9696
@@ -109,7 +109,7 @@ function getTabValidations(tab: string) {
109109
}
110110
111111
async function sync() {
112-
const { data: result, pending, error, refresh } = await useHttp(`/management/identities/${props.identity._id}/state`, {
112+
const { data: result, pending, error, refresh } = await useHttp<any>(`/management/identities/${props.identity._id}/state`, {
113113
method: 'PATCH',
114114
body: {
115115
state: IdentityState.TO_SYNC,
@@ -125,7 +125,7 @@ async function sync() {
125125
position: 'top-right',
126126
icon: 'mdi-check-circle-outline',
127127
})
128-
emits('refreshTarget')
128+
emits('refreshTarget', result.value.data)
129129
// props.identity. = result.value.data
130130
}
131131
}

src/pages/identities/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ div
5555
ref="form" @refresh="refresh"
5656
@submit="submit($event)"
5757
@sync="sync" @logs="logs"
58-
@refreshTarget="refreshTarget(target)"
58+
@refreshTarget="refreshTarget"
5959
)
6060
</template>
6161

src/pages/jobs/index.vue

Lines changed: 61 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,53 @@
11
<template lang="pug">
2-
div.fit
2+
div
33
//- .q-px-md
44
//- sesame-searchfilters(:fields="fieldsList")
5-
q-scroll-area.fit.q-px-lg
6-
q-timeline.q-px-lg
5+
q-timeline.q-px-lg
6+
q-infinite-scroll.q-px-lg(@load="load" :offset="250")
7+
template(#loading)
8+
.row.justify-center.q-my-md
9+
q-spinner-dots(color="primary" size="40px")
10+
711
q-timeline-entry(heading) November, 2017
812
q-timeline-entry(
9-
v-for="(job, key) in jobs.data" :key="key"
13+
v-for="(job, key) in jobs" :key="key"
1014
icon="mdi-account" color="orange"
1115
)
12-
template(#title) Titre
13-
template(#subtitle) Titre
14-
div
15-
pre(v-html="JSON.stringify(job, null, 2)")
16+
template(#title)
17+
span(v-text="'[' + job.jobId + ']'")
18+
| &nbsp; - &nbsp;
19+
span(v-text="job.params?.identity?.identity?.inetOrgPerson?.cn")
20+
| &nbsp;
21+
span(v-text="job.params?.identity?.identity?.inetOrgPerson?.givenName")
22+
template(#subtitle)
23+
q-card.bg-transparent(flat)
24+
q-card-actions
25+
div(v-text="job.action")
26+
q-space
27+
div
28+
q-icon(name="mdi-clock" size="20px" left)
29+
time(v-text="$dayjs(job.metadata?.createdAt).format('DD/MM/YYYY HH:mm:ss').toString()")
30+
q-card(flat)
31+
q-tabs(
32+
v-model="tabs[key]"
33+
align="justify"
34+
dense
35+
)
36+
q-tab(name="params") Paramètres d'appel
37+
q-tab(name="result") Résultat
38+
q-btn(
39+
v-if="tabs[key]"
40+
@click="delete tabs[key]"
41+
slot="right"
42+
color="primary"
43+
icon="mdi-close"
44+
flat
45+
)
46+
q-tab-panels.overflow-auto(v-model="tabs[key]" style="max-height: 300px")
47+
q-tab-panel(name="params")
48+
pre(v-html="JSON.stringify(job.params, null, 2)")
49+
q-tab-panel(name="result")
50+
pre(v-html="JSON.stringify(job.result, null, 2)")
1651
</template>
1752

1853
<script lang="ts" setup>
@@ -30,18 +65,31 @@ div.fit
3065
// }, [])
3166
// })
3267
68+
const scrollTargetRef = ref(null)
69+
const tabs = ref([])
70+
3371
const $route = useRoute();
3472
73+
const offset = ref(0);
3574
const query = computed(() => {
3675
return {
37-
limit: 100,
76+
limit: 10,
77+
skip: offset.value * 10,
3878
'sort[metadata.lastUpdatedAt]': 'desc',
3979
...$route.query,
4080
};
4181
});
4282
43-
const { data: jobs, pending, error, refresh } = await useHttp(`/core/jobs/`, {
44-
method: 'GET',
45-
query,
46-
});
83+
const jobs = ref<any>([]);
84+
85+
const load = async (index, done) => {
86+
offset.value = index;
87+
const { data, pending, error, refresh } = await useHttp<any>(`/core/jobs/`, {
88+
method: 'GET',
89+
query,
90+
});
91+
92+
jobs.value.push(...data.value.data);
93+
done(data.value.data.length === 0);
94+
}
4795
</script>

0 commit comments

Comments
 (0)