<template> <div class="api-docs__nav"> <ul class="api-docs__nav-list"> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-introduction' }" @click.prevent="navigate('section-introduction')" >{{ $t('apiDocs.intro') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-authentication' }" @click.prevent="navigate('section-authentication')" >{{ $t('apiDocs.authent') }}</a > </li> <li v-for="table in database.tables" :key="table.id"> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id }" @click.prevent="navigate('section-table-' + table.id)" >{{ $t('apiDocs.table', table) }} <small>(id: {{ table.id }})</small></a > <ul class="api-docs__nav-sub" :class="{ open: navActive === 'section-table-' + table.id || navActive === 'section-table-' + table.id + '-fields' || navActive === 'section-table-' + table.id + '-field-list' || navActive === 'section-table-' + table.id + '-list' || navActive === 'section-table-' + table.id + '-get' || navActive === 'section-table-' + table.id + '-create' || navActive === 'section-table-' + table.id + '-update' || navActive === 'section-table-' + table.id + '-move' || navActive === 'section-table-' + table.id + '-delete', }" > <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id + '-fields', }" @click.prevent="navigate('section-table-' + table.id + '-fields')" >{{ $t('apiDocs.fields') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id + '-field-list', }" @click.prevent=" navigate('section-table-' + table.id + '-field-list') " >{{ $t('apiDocs.listFields') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id + '-list', }" @click.prevent="navigate('section-table-' + table.id + '-list')" >{{ $t('apiDocs.listRows') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id + '-get', }" @click.prevent="navigate('section-table-' + table.id + '-get')" >{{ $t('apiDocs.getRow') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id + '-create', }" @click.prevent="navigate('section-table-' + table.id + '-create')" >{{ $t('apiDocs.createRow') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id + '-update', }" @click.prevent="navigate('section-table-' + table.id + '-update')" >{{ $t('apiDocs.updateRow') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id + '-move', }" @click.prevent="navigate('section-table-' + table.id + '-move')" >{{ $t('apiDocs.moveRow') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-table-' + table.id + '-delete', }" @click.prevent="navigate('section-table-' + table.id + '-delete')" >{{ $t('apiDocs.deleteRow') }}</a > </li> </ul> </li> <li> <a class="api-docs__nav-link" @click.prevent="navigate('section-upload-file')" >{{ $t('apiDocs.fileUploads') }}</a > <ul class="api-docs__nav-sub" :class="{ open: navActive === 'section-upload-file' || navActive === 'section-upload-file-via-url', }" > <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-upload-file', }" @click.prevent="navigate('section-upload-file')" >{{ $t('apiDocs.uploadFile') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-upload-file-via-url', }" @click.prevent="navigate('section-upload-file-via-url')" >{{ $t('apiDocs.uploadFileViaUrl') }}</a > </li> </ul> </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-filters' }" @click.prevent="navigate('section-filters')" >{{ $t('apiDocs.filters') }}</a > </li> <li> <a class="api-docs__nav-link" :class="{ active: navActive === 'section-errors' }" @click.prevent="navigate('section-errors')" >{{ $t('apiDocs.errors') }}</a > </li> </ul> </div> </template> <script> export default { name: 'APIDocsMenu', components: {}, props: { database: { type: Object, required: true, }, navigate: { type: Function, required: true, }, navActive: { type: String, required: true, }, }, } </script>