mirror of https://github.com/doccano/doccano.git
pythondatasetsactive-learningtext-annotationdatasetnatural-language-processingdata-labelingmachine-learningannotation-tool
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
2.7 KiB
109 lines
2.7 KiB
<template>
|
|
<v-app>
|
|
<the-header>
|
|
<template #leftDrawerIcon>
|
|
<v-app-bar-nav-icon @click="drawerLeft = !drawerLeft" />
|
|
</template>
|
|
</the-header>
|
|
|
|
<v-navigation-drawer
|
|
v-model="drawerLeft"
|
|
app
|
|
clipped
|
|
color=""
|
|
>
|
|
<the-side-bar
|
|
:link="getLink"
|
|
:role="getCurrentUserRole"
|
|
/>
|
|
</v-navigation-drawer>
|
|
|
|
<v-content>
|
|
<v-overlay :value="loading">
|
|
<v-progress-circular indeterminate size="64" />
|
|
</v-overlay>
|
|
<v-container fluid>
|
|
<v-row
|
|
no-gutters
|
|
class="d-none d-sm-flex"
|
|
>
|
|
<v-col>
|
|
<approve-button
|
|
:approved="approved"
|
|
:disabled="currentDoc ? false : true"
|
|
/>
|
|
<filter-button />
|
|
<guideline-button />
|
|
</v-col>
|
|
<v-spacer />
|
|
<v-col>
|
|
<paginator />
|
|
</v-col>
|
|
</v-row>
|
|
<v-row justify="center">
|
|
<v-col cols="12" md="9">
|
|
<nuxt />
|
|
</v-col>
|
|
<v-col cols="12" md="3">
|
|
<metadata-box
|
|
v-if="currentDoc && !loading"
|
|
:metadata="JSON.parse(currentDoc.meta)"
|
|
/>
|
|
</v-col>
|
|
</v-row>
|
|
</v-container>
|
|
</v-content>
|
|
|
|
<bottom-navigator class="d-flex d-sm-none" />
|
|
</v-app>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapActions, mapGetters, mapState } from 'vuex'
|
|
import BottomNavigator from '@/components/containers/annotation/BottomNavigator'
|
|
import GuidelineButton from '@/components/containers/annotation/GuidelineButton'
|
|
import MetadataBox from '@/components/organisms/annotation/MetadataBox'
|
|
import FilterButton from '@/components/containers/annotation/FilterButton'
|
|
import ApproveButton from '@/components/containers/annotation/ApproveButton'
|
|
import Paginator from '~/components/containers/annotation/Paginator'
|
|
import TheHeader from '~/components/organisms/layout/TheHeader'
|
|
import TheSideBar from '~/components/organisms/layout/TheSideBar'
|
|
|
|
export default {
|
|
middleware: ['check-auth', 'auth'],
|
|
|
|
components: {
|
|
TheSideBar,
|
|
TheHeader,
|
|
BottomNavigator,
|
|
Paginator,
|
|
GuidelineButton,
|
|
FilterButton,
|
|
ApproveButton,
|
|
MetadataBox
|
|
},
|
|
data() {
|
|
return {
|
|
drawerLeft: null
|
|
}
|
|
},
|
|
|
|
computed: {
|
|
...mapGetters('projects', ['getLink', 'getCurrentUserRole']),
|
|
...mapState('documents', ['loading']),
|
|
...mapGetters('documents', ['currentDoc', 'approved'])
|
|
},
|
|
|
|
created() {
|
|
this.setCurrentProject(this.$route.params.id)
|
|
},
|
|
|
|
methods: {
|
|
...mapActions('projects', ['setCurrentProject'])
|
|
},
|
|
|
|
validate({ params }) {
|
|
return /^\d+$/.test(params.id)
|
|
}
|
|
}
|
|
</script>
|