Skip to content
Snippets Groups Projects
Commit 8586196a authored by ml bonhomme's avatar ml bonhomme :bee: Committed by Erwan Rouchet
Browse files

Remove CorpusWorkerActivity view

parent 2bc2dec4
No related branches found
No related tags found
1 merge request!1589Remove CorpusWorkerActivity view
......@@ -3,8 +3,5 @@ import { UUID } from '@/types'
import { WorkerActivityStats } from '@/types/process'
import { unique } from '.'
// List workers activity statistics for a corpus
export const listCorpusWorkersActivity = unique(async (corpusId: UUID): Promise<WorkerActivityStats[]> => (await axios.get(`corpus/${corpusId}/activity-stats/`)).data)
// List workers activity statistics for a process
export const listProcessWorkersActivity = unique(async (processId: UUID): Promise<WorkerActivityStats[]> => (await axios.get(`process/${processId}/activity-stats/`)).data)
......@@ -236,19 +236,6 @@
View entities
</router-link>
<!-- Workers statistics for administrable corpora -->
<component
:is="hasAdminPrivilege ? 'router-link' : 'a'"
v-if="!elementId"
:disabled="!hasAdminPrivilege || null"
class="dropdown-item"
:to="hasAdminPrivilege ? { name: 'corpus-workers-activity', params: { corpusId } } : ''"
:title="hasAdminPrivilege ? 'Display statistics about workers activity on this corpus.' : executeDisabledTitle"
>
<i class="icon-chart"></i>
Workers activity
</component>
<template v-if="isVerified && hasFeature('selection')">
<!-- Select/Unselect button for elements -->
<a
......
......@@ -48,7 +48,6 @@ const PonosAgents = () => import(/* webpackChunkName: "users" */ '@/views/Proces
const GroupCreate = () => import(/* webpackChunkName: "users" */ '@/views/Group/Create')
const GroupManage = () => import(/* webpackChunkName: "users" */ '@/views/Group/Manage')
const UserProfile = () => import(/* webpackChunkName: "users" */ '@/views/Auth/Profile')
const CorpusWorkersActivity = () => import(/* webpackChunkName: "users" */ '@/views/Corpus/WorkersActivity')
const ProcessWorkersActivity = () => import(/* webpackChunkName: "users" */ '@/views/Process/WorkersActivity')
/* eslint-enable no-inline-comments */
......@@ -120,13 +119,6 @@ const routes = [
component: EntityList,
props: true
},
{
path: `/corpus/:corpusId(${UUID})/workers-activity`,
name: 'corpus-workers-activity',
component: CorpusWorkersActivity,
meta: { requiresLogin: true, requiresVerified: true },
props: true
},
{
path: `/entity/:id(${UUID})`,
name: 'entity-details',
......
<template>
<main class="container is-fluid">
<div class="subtitle is-5 m-0">Project</div>
<router-link
v-if="corpus"
class="is-size-4 has-text-weight-bold"
:to="{ name: 'navigation', params: { corpusId } }"
>
{{ corpus.name }}
</router-link>
<hr />
<h2 class="title is-4">Workers activity</h2>
<div v-if="loading" class="loading-content loader"></div>
<template v-else-if="!activities">
<div class="notification is-danger">
An error occurred while fetching workers activity.
</div>
</template>
<template v-else-if="!activities.length">
<div class="notification is-warning">
No workers activity found on this corpus.
</div>
</template>
<template v-else>
<WorkerStats
v-for="(stats, index) in activities"
:key="index"
:stats="stats"
/>
</template>
</main>
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue'
import { listCorpusWorkersActivity } from '@/api'
import { errorParser } from '@/helpers'
import { corporaMixin } from '@/mixins'
import { useNotificationStore } from '@/stores'
import { UUID } from '@/types'
import { WorkerActivityStats } from '@/types/process'
import WorkerStats from '@/components/Corpus/WorkerStats.vue'
export default defineComponent({
components: {
WorkerStats
},
mixins: [
corporaMixin
],
props: {
corpusId: {
type: String as PropType<UUID>,
required: true
}
},
data: () => ({
loading: false,
activities: null as WorkerActivityStats[] | null
}),
created () {
this.fetchActivities()
},
methods: {
async fetchActivities () {
this.loading = true
try {
this.activities = await listCorpusWorkersActivity(this.corpusId)
} catch (e) {
useNotificationStore().notify({ type: 'error', text: `An error occurred retrieving activities: ${errorParser(e)}` })
} finally {
this.loading = false
}
}
}
})
</script>
<style scoped>
.loading-content {
font-size: 2.5rem;
margin: 2.5rem auto 0 auto;
}
</style>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment