@adminforth/background-jobs 1.13.0 → 1.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build.log +2 -2
- package/custom/JobInfoPopup.vue +8 -6
- package/custom/JobsList.vue +31 -5
- package/dist/custom/JobInfoPopup.vue +8 -6
- package/dist/custom/JobsList.vue +31 -5
- package/package.json +1 -1
package/build.log
CHANGED
|
@@ -13,5 +13,5 @@ custom/tsconfig.json
|
|
|
13
13
|
custom/useBackgroundJobApi.ts
|
|
14
14
|
custom/utils.ts
|
|
15
15
|
|
|
16
|
-
sent
|
|
17
|
-
total size is
|
|
16
|
+
sent 22,184 bytes received 172 bytes 44,712.00 bytes/sec
|
|
17
|
+
total size is 21,551 speedup is 0.96
|
package/custom/JobInfoPopup.vue
CHANGED
|
@@ -134,12 +134,14 @@ function handleJobStateFieldUpdate(data: JobStateFieldUpdate) {
|
|
|
134
134
|
return;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
props.job.state[data.fieldName] = data.value;
|
|
138
|
+
if (jobStore.currentJob?.id === props.job.id) {
|
|
139
|
+
jobStore.updateCurrentJob({
|
|
140
|
+
state: {
|
|
141
|
+
...props.job.state,
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
}
|
|
143
145
|
}
|
|
144
146
|
|
|
145
147
|
function handleTaskStateFieldUpdate(data: TaskStateFieldUpdate) {
|
package/custom/JobsList.vue
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
class="p-4"
|
|
6
6
|
v-for="job in props.jobs" :key="job.id"
|
|
7
7
|
:beforeCloseFunction="onBeforeClose"
|
|
8
|
-
:beforeOpenFunction="onBeforeOpen"
|
|
8
|
+
:beforeOpenFunction="() => onBeforeOpen(job)"
|
|
9
9
|
removeFromDomOnClose
|
|
10
10
|
>
|
|
11
11
|
<template #trigger>
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
</div>
|
|
31
31
|
</template>
|
|
32
32
|
<JobInfoPopup
|
|
33
|
-
|
|
33
|
+
v-if="loadedJobs[job.id]"
|
|
34
|
+
:job="loadedJobs[job.id]"
|
|
34
35
|
:meta="meta"
|
|
35
36
|
:closeModal="closeModal"
|
|
36
37
|
/>
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
|
|
43
44
|
<script setup lang="ts">
|
|
44
45
|
import type { IJob } from './utils';
|
|
45
|
-
import { getTimeAgoString } from '@/utils';
|
|
46
|
+
import { callAdminForthApi, getTimeAgoString } from '@/utils';
|
|
46
47
|
import { ProgressBar, Modal } from '@/afcl';
|
|
47
48
|
import JobInfoPopup from './JobInfoPopup.vue';
|
|
48
49
|
import StateToIcon from './StateToIcon.vue';
|
|
@@ -78,9 +79,34 @@ const props = defineProps<{
|
|
|
78
79
|
|
|
79
80
|
|
|
80
81
|
const isModalOpen = ref(false);
|
|
82
|
+
const loadedJobs = ref<Record<string, IJob>>({});
|
|
81
83
|
|
|
82
|
-
function onBeforeOpen() {
|
|
84
|
+
async function onBeforeOpen(job: IJob) {
|
|
83
85
|
props.closeDropdown();
|
|
86
|
+
try {
|
|
87
|
+
const res = await callAdminForthApi({
|
|
88
|
+
path: `/plugin/get-background-job-info`,
|
|
89
|
+
method: 'POST',
|
|
90
|
+
body: { jobId: job.id },
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
if (res?.ok && res.job) {
|
|
94
|
+
loadedJobs.value[job.id] = res.job;
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
console.log('[background-jobs] failed to load full job info', {
|
|
99
|
+
jobId: job.id,
|
|
100
|
+
response: res,
|
|
101
|
+
});
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.log('[background-jobs] failed to load full job info', {
|
|
104
|
+
error,
|
|
105
|
+
jobId: job.id,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
loadedJobs.value[job.id] = job;
|
|
84
110
|
}
|
|
85
111
|
|
|
86
112
|
function onBeforeClose() {
|
|
@@ -88,4 +114,4 @@ function onBeforeClose() {
|
|
|
88
114
|
}
|
|
89
115
|
|
|
90
116
|
|
|
91
|
-
</script>
|
|
117
|
+
</script>
|
|
@@ -134,12 +134,14 @@ function handleJobStateFieldUpdate(data: JobStateFieldUpdate) {
|
|
|
134
134
|
return;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
props.job.state[data.fieldName] = data.value;
|
|
138
|
+
if (jobStore.currentJob?.id === props.job.id) {
|
|
139
|
+
jobStore.updateCurrentJob({
|
|
140
|
+
state: {
|
|
141
|
+
...props.job.state,
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
}
|
|
143
145
|
}
|
|
144
146
|
|
|
145
147
|
function handleTaskStateFieldUpdate(data: TaskStateFieldUpdate) {
|
package/dist/custom/JobsList.vue
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
class="p-4"
|
|
6
6
|
v-for="job in props.jobs" :key="job.id"
|
|
7
7
|
:beforeCloseFunction="onBeforeClose"
|
|
8
|
-
:beforeOpenFunction="onBeforeOpen"
|
|
8
|
+
:beforeOpenFunction="() => onBeforeOpen(job)"
|
|
9
9
|
removeFromDomOnClose
|
|
10
10
|
>
|
|
11
11
|
<template #trigger>
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
</div>
|
|
31
31
|
</template>
|
|
32
32
|
<JobInfoPopup
|
|
33
|
-
|
|
33
|
+
v-if="loadedJobs[job.id]"
|
|
34
|
+
:job="loadedJobs[job.id]"
|
|
34
35
|
:meta="meta"
|
|
35
36
|
:closeModal="closeModal"
|
|
36
37
|
/>
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
|
|
43
44
|
<script setup lang="ts">
|
|
44
45
|
import type { IJob } from './utils';
|
|
45
|
-
import { getTimeAgoString } from '@/utils';
|
|
46
|
+
import { callAdminForthApi, getTimeAgoString } from '@/utils';
|
|
46
47
|
import { ProgressBar, Modal } from '@/afcl';
|
|
47
48
|
import JobInfoPopup from './JobInfoPopup.vue';
|
|
48
49
|
import StateToIcon from './StateToIcon.vue';
|
|
@@ -78,9 +79,34 @@ const props = defineProps<{
|
|
|
78
79
|
|
|
79
80
|
|
|
80
81
|
const isModalOpen = ref(false);
|
|
82
|
+
const loadedJobs = ref<Record<string, IJob>>({});
|
|
81
83
|
|
|
82
|
-
function onBeforeOpen() {
|
|
84
|
+
async function onBeforeOpen(job: IJob) {
|
|
83
85
|
props.closeDropdown();
|
|
86
|
+
try {
|
|
87
|
+
const res = await callAdminForthApi({
|
|
88
|
+
path: `/plugin/get-background-job-info`,
|
|
89
|
+
method: 'POST',
|
|
90
|
+
body: { jobId: job.id },
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
if (res?.ok && res.job) {
|
|
94
|
+
loadedJobs.value[job.id] = res.job;
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
console.log('[background-jobs] failed to load full job info', {
|
|
99
|
+
jobId: job.id,
|
|
100
|
+
response: res,
|
|
101
|
+
});
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.log('[background-jobs] failed to load full job info', {
|
|
104
|
+
error,
|
|
105
|
+
jobId: job.id,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
loadedJobs.value[job.id] = job;
|
|
84
110
|
}
|
|
85
111
|
|
|
86
112
|
function onBeforeClose() {
|
|
@@ -88,4 +114,4 @@ function onBeforeClose() {
|
|
|
88
114
|
}
|
|
89
115
|
|
|
90
116
|
|
|
91
|
-
</script>
|
|
117
|
+
</script>
|