Browse Source

Load pages from offset

digibyte
AlphaX-Projects 3 years ago committed by GitHub
parent
commit
81706d923e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 24
      qortal-ui-plugins/plugins/core/qdn/websites.src.js

24
qortal-ui-plugins/plugins/core/qdn/websites.src.js

@ -22,6 +22,7 @@ class Websites extends LitElement {
identifier: { type: String },
loading: { type: Boolean },
resources: { type: Array },
pageRes: { type: Array },
followedNames: { type: Array },
blockedNames: { type: Array },
relayMode: { type: Boolean },
@ -223,6 +224,7 @@ class Websites extends LitElement {
this.identifier = null
this.selectedAddress = {}
this.resources = []
this.pageRes = []
this.followedNames = []
this.blockedNames = []
this.relayMode = null
@ -585,11 +587,21 @@ class Websites extends LitElement {
getArbitraryResources = async () => {
const resources = await parentEpml.request('apiCall', {
url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true`
url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=false&includemetadata=false`
})
this.resources = resources
}
async getData(offset) {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
let jsonUrl = `${nodeUrl}/arbitrary/resources?service=WEBSITE&default=true&limit=20&offset=${offset}&reverse=false&includestatus=true&includemetadata=true`;
const jsonRes = await fetch(jsonUrl);
const jsonData = await jsonRes.json();
this.pageRes = jsonData;
}
async updateItemsFromPage(page) {
if (page === undefined) {
return
@ -611,7 +623,14 @@ class Websites extends LitElement {
this.pages.forEach((pageNumber) => {
const pageBtn = document.createElement('button')
pageBtn.textContent = pageNumber
let offset = 1;
pageBtn.addEventListener('click', (e) => {
if (parseInt(e.target.textContent) > 1) {
offset = (parseInt(e.target.textContent) - 1) * 20;
} else {
offset = 0;
}
this.getData(offset);
this.updateItemsFromPage(parseInt(e.target.textContent))
})
if (pageNumber === page) {
@ -654,12 +673,13 @@ class Websites extends LitElement {
let start = (page - 1) * this.resourcesGrid.pageSize
let end = page * this.resourcesGrid.pageSize
this.resourcesGrid.items = this.resources.slice(start, end)
this.resourcesGrid.items = this.pageRes
}
async showWebsites() {
await this.getArbitraryResources()
await this.getResourcesGrid()
await this.getData(0)
await this.updateItemsFromPage(1, true)
}

Loading…
Cancel
Save