diff --git a/frontend/src/components/PackageInfo/PackageDependency.vue b/frontend/src/components/PackageInfo/PackageDependency.vue new file mode 100644 index 0000000..e303973 --- /dev/null +++ b/frontend/src/components/PackageInfo/PackageDependency.vue @@ -0,0 +1,22 @@ + + + diff --git a/frontend/src/state.js b/frontend/src/state.js index acaa6d7..9eba9f0 100644 --- a/frontend/src/state.js +++ b/frontend/src/state.js @@ -1,3 +1,5 @@ import { ref } from 'vue' +export const packageList = ref([]) +export const packageIndex = ref([]) export const displayPackages = ref([]) diff --git a/frontend/src/views/Index.vue b/frontend/src/views/Index.vue index 2f3278e..0910b78 100644 --- a/frontend/src/views/Index.vue +++ b/frontend/src/views/Index.vue @@ -6,9 +6,8 @@ import Index from 'flexsearch/dist/module/index' import { requestPackageIndex } from '../api' -import { displayPackages } from '@/state' +import { packageIndex, displayPackages } from '@/state' -let packageIndex = null const searchIndex = new Index({ tokenize: 'forward' }) let searchInput = ref("") @@ -21,20 +20,20 @@ function updateSearchIndex(pkglist) { requestPackageIndex() .then((obj) => { - packageIndex = obj + packageIndex.value = obj displayPackages.value = obj updateSearchIndex(obj) }) watch(searchInput, async(newVal, oldVal) => { if (searchInput.value.length === 0) { - displayPackages.value = packageIndex + displayPackages.value = packageIndex.value } else { const searchResult = searchIndex.search(searchInput.value) const finalResult = [] searchResult.forEach((idx) => { - finalResult.push(packageIndex[idx]) + finalResult.push(packageIndex.value[idx]) }) displayPackages.value = finalResult } diff --git a/frontend/src/views/Package.vue b/frontend/src/views/Package.vue index 808e12c..d1577ba 100644 --- a/frontend/src/views/Package.vue +++ b/frontend/src/views/Package.vue @@ -3,10 +3,12 @@ import { ref } from 'vue' import { useRoute } from 'vue-router' import PackageActions from '@/components/PackageInfo/PackageActions.vue' +import PackageDependency from '@/components/PackageInfo/PackageDependency.vue' import ViewDetail from '@/components/PackageInfo/ViewDetail.vue' import moment from 'moment' -import { requestPackageInfo } from '@/api' + +import { requestPackageInfo, requestPackageList } from '@/api' import { calculateSize } from '@/utils/sizing' import { formatPackager } from '@/utils/packager' @@ -24,11 +26,29 @@ requestPackageInfo(route.params.packageName) .then(obj => { pkginfo.value = obj - depends.value = obj.depends.split('\n').filter((elem) => elem.length > 0) - optdepends.value = obj.optdepends.split('\n').filter((elem) => elem.length > 0) - makedepends.value = obj.makedepends.split('\n').filter((elem) => elem.length > 0) files.value = obj.files.split('\n').filter((elem) => elem.length > 0) builddate.value = moment.unix(obj.builddate).format('YYYY-MM-DD HH:MM:SS') + + const o_depends = obj.depends.split('\n').filter((elem) => elem.length > 0) + const o_optdepends = obj.optdepends.split('\n').filter((elem) => elem.length > 0) + const o_makedepends = obj.makedepends.split('\n').filter((elem) => elem.length > 0) + + requestPackageList() + .then((list) => { + list.forEach((bioarchPackageName) => { + function mapPackageDistribution(pkg) { + if (bioarchPackageName === pkg) { + return { name: pkg, dist: 'bioarch' } + } + else { + return { name: pkg, dist: 'arch' } + } + } + depends.value = o_depends.map(mapPackageDistribution) + optdepends.value = o_optdepends.map(mapPackageDistribution) + makedepends.value = o_makedepends.map(mapPackageDistribution) + }) + }) }) @@ -78,9 +98,9 @@ requestPackageInfo(route.params.packageName)

Dependencies

-

{{ dep }}

-

{{ optdep }} (optional)

-

{{ makedep }} (make)

+ + +

Package Content