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 @@
+
+
+
+ {{ name }} ({{ type }})
+
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