builded flat toc, needed for infinite loading
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
@input="onClickPaginationItem"
|
@input="onClickPaginationItem"
|
||||||
>
|
>
|
||||||
<template v-slot:option="option">
|
<template v-slot:option="option">
|
||||||
<span v-for="l in option.level" :key="l" class="op-tab"/>
|
<span v-for="l in option.level" :key="l" class="op-tab" />
|
||||||
{{ option.label }}
|
{{ option.label }}
|
||||||
</template>
|
</template>
|
||||||
</v-select>
|
</v-select>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
@onLeaveLink="onLeaveLink"
|
@onLeaveLink="onLeaveLink"
|
||||||
/>
|
/>
|
||||||
<infinite-loading
|
<infinite-loading
|
||||||
|
v-if="toc"
|
||||||
:identifier="textid"
|
:identifier="textid"
|
||||||
@infinite="nextText"
|
@infinite="nextText"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -36,10 +36,27 @@ export default {
|
|||||||
setTocs (state, tocslist) {
|
setTocs (state, tocslist) {
|
||||||
console.log('setTocs', tocslist)
|
console.log('setTocs', tocslist)
|
||||||
tocslist.forEach((toc, i) => {
|
tocslist.forEach((toc, i) => {
|
||||||
state.editionsbyuuid[toc.uuid].toc = toc.toc
|
state.editionsbyuuid[toc.uuid].toc = Array.isArray(toc.toc) ? toc.toc : [toc.toc]
|
||||||
})
|
})
|
||||||
// console.log('corpus editionsbyuuid', state.editionsbyuuid)
|
// console.log('corpus editionsbyuuid', state.editionsbyuuid)
|
||||||
},
|
},
|
||||||
|
buildFlatTocs (state, eeuid) {
|
||||||
|
let recurseFlatToc = (state, eduuid, a) => {
|
||||||
|
// console.log('recurseFlatToc', a)
|
||||||
|
a.forEach((item, i) => {
|
||||||
|
state.editionsbyuuid[eduuid].flattoc.push(item.uuid)
|
||||||
|
if (item.children && item.children.length) {
|
||||||
|
recurseFlatToc(state, eduuid, item.children)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
state.editionsuuids.forEach((eduuid, i) => {
|
||||||
|
// console.log('buildFlatTocs', i, eduuid)
|
||||||
|
state.editionsbyuuid[eduuid].flattoc = []
|
||||||
|
recurseFlatToc(state, eduuid, state.editionsbyuuid[eduuid].toc)
|
||||||
|
console.log('buildFlatTocs DONE', eduuid, state.editionsbyuuid[eduuid].flattoc)
|
||||||
|
})
|
||||||
|
},
|
||||||
setPaginations (state, paginationslist) {
|
setPaginations (state, paginationslist) {
|
||||||
console.log('setPaginations', paginationslist)
|
console.log('setPaginations', paginationslist)
|
||||||
paginationslist.forEach((pagination, i) => {
|
paginationslist.forEach((pagination, i) => {
|
||||||
@@ -76,7 +93,9 @@ export default {
|
|||||||
.then((tocslist) => {
|
.then((tocslist) => {
|
||||||
console.log('all tocs returned: tocslist', tocslist)
|
console.log('all tocs returned: tocslist', tocslist)
|
||||||
commit('setTocs', tocslist)
|
commit('setTocs', tocslist)
|
||||||
|
// this.methods.testMethod()
|
||||||
|
// dispatch('buildFlatTocs')
|
||||||
|
commit('buildFlatTocs')
|
||||||
dispatch('getEditionsPaginations')
|
dispatch('getEditionsPaginations')
|
||||||
.then((paginationslist) => {
|
.then((paginationslist) => {
|
||||||
console.log('all paginations returned: paginationslist', paginationslist)
|
console.log('all paginations returned: paginationslist', paginationslist)
|
||||||
@@ -88,7 +107,7 @@ export default {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// get authors
|
// async get authors
|
||||||
getAuthors ({ dispatch, commit, state }) {
|
getAuthors ({ dispatch, commit, state }) {
|
||||||
return REST.get(`${window.apipath}/corpus`, {})
|
return REST.get(`${window.apipath}/corpus`, {})
|
||||||
// .then(({ data }) => {
|
// .then(({ data }) => {
|
||||||
@@ -100,7 +119,7 @@ export default {
|
|||||||
Promise.reject(error)
|
Promise.reject(error)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// get editionslist
|
// async get editionslist
|
||||||
getEditionsList ({ dispatch, commit, state }, authors) {
|
getEditionsList ({ dispatch, commit, state }, authors) {
|
||||||
return Promise.all(authors.map(function (author) {
|
return Promise.all(authors.map(function (author) {
|
||||||
return REST.get(`${window.apipath}/corpus/` + author.uuid, {})
|
return REST.get(`${window.apipath}/corpus/` + author.uuid, {})
|
||||||
@@ -121,7 +140,7 @@ export default {
|
|||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
},
|
},
|
||||||
// get tocslist
|
// async get tocslist
|
||||||
getEditionsTocs ({ dispatch, commit, state }) {
|
getEditionsTocs ({ dispatch, commit, state }) {
|
||||||
return Promise.all(state.editionsuuids.map(function (uuid) {
|
return Promise.all(state.editionsuuids.map(function (uuid) {
|
||||||
return REST.get(`${window.apipath}/texts/${uuid}/toc`, {})
|
return REST.get(`${window.apipath}/texts/${uuid}/toc`, {})
|
||||||
@@ -142,7 +161,7 @@ export default {
|
|||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
},
|
},
|
||||||
// get tocslist
|
// async get paginationslist
|
||||||
getEditionsPaginations ({ dispatch, commit, state }) {
|
getEditionsPaginations ({ dispatch, commit, state }) {
|
||||||
return Promise.all(state.editionsuuids.map(function (uuid) {
|
return Promise.all(state.editionsuuids.map(function (uuid) {
|
||||||
return REST.get(`${window.apipath}/texts/${uuid}/pagination`, {})
|
return REST.get(`${window.apipath}/texts/${uuid}/pagination`, {})
|
||||||
@@ -163,5 +182,43 @@ export default {
|
|||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
// ,
|
||||||
|
// buildFlatTocs ({ dispatch, commit, state }) {
|
||||||
|
// state.editionsuuids.forEach((eduuid, i) => {
|
||||||
|
// // console.log('buildFlatTocs', i, eduuid)
|
||||||
|
// dispatch('recurseFlatToc', state.editionsbyuuid[eduuid].toc)
|
||||||
|
// .then((ft) => {
|
||||||
|
// console.log('buildFlatTocs DONE', eduuid, ft)
|
||||||
|
// state.editionsbyuuid[eduuid].flattoc = ft
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
// recurseFlatToc ({ dispatch, commit, state }, a) {
|
||||||
|
// // console.log('recurseFlatToc', a)
|
||||||
|
// let na = []
|
||||||
|
// // a.forEach((item, i) => {
|
||||||
|
// return Promise.all(a.map(function (item) {
|
||||||
|
// console.log('item', item)
|
||||||
|
// na.push(item.uuid)
|
||||||
|
// if (item.children && item.children.length) {
|
||||||
|
// return dispatch('recurseFlatToc', item.children)
|
||||||
|
// .then((nna) => {
|
||||||
|
// console.log('recurseFlatToc: na, nna', na, nna)
|
||||||
|
// na.concat(nna)
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// // else {
|
||||||
|
// // return na
|
||||||
|
// // }
|
||||||
|
// }))
|
||||||
|
// // })
|
||||||
|
// // return na
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
testMethod () {
|
||||||
|
console.log('testmethod')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user