4
1
mirror of https://github.com/Qortal/qortal-ui.git synced 2025-02-14 11:15:50 +00:00

block Pirate Chain from multi trade

This commit is contained in:
kennycud 2024-09-05 17:41:27 -07:00
parent 3b378c6e56
commit 3fc0281655

View File

@ -500,7 +500,7 @@ class TradePortal extends LitElement {
this._openOrdersGrid = this.shadowRoot.getElementById('openOrdersGrid') this._openOrdersGrid = this.shadowRoot.getElementById('openOrdersGrid')
this._openOrdersGrid.addEventListener("selected-items-changed", function(event){ this._openOrdersGrid.addEventListener("selected-items-changed", function(event){
_this.fillBuyForm(event.detail.value); _this.fillBuyFormMultiple(event.detail.value);
}); });
this._openOrdersGrid.querySelector('#priceColumn').headerRenderer = function (root) { this._openOrdersGrid.querySelector('#priceColumn').headerRenderer = function (root) {
@ -738,6 +738,25 @@ class TradePortal extends LitElement {
` `
} }
coinGridSelection() {
if(this.selectedCoin == 'PIRATECHAIN') {
return html``
}
else {
return html`
<vaadin-grid-selection-column></vaadin-grid-selection-column>
`
}
}
clickHandler(data) {
if(this.selectedCoin == 'PIRATECHAIN') {
this.fillBuyFormSingle(data)
}
}
openTradesTemplate() { openTradesTemplate() {
return html` return html`
<div class="open-trades myhover"> <div class="open-trades myhover">
@ -756,14 +775,14 @@ class TradePortal extends LitElement {
aria-label="Open Orders" aria-label="Open Orders"
.items="${this.listedCoins.get(this.selectedCoin).openFilteredOrders}" .items="${this.listedCoins.get(this.selectedCoin).openFilteredOrders}"
> >
<vaadin-grid-selection-column></vaadin-grid-selection-column> ${this.coinGridSelection()}
<vaadin-grid-column <vaadin-grid-column
auto-width auto-width
resizable resizable
header="${translate("tradepage.tchange8")} (QORT)" header="${translate("tradepage.tchange8")} (QORT)"
id="qortAmountColumn" id="qortAmountColumn"
.renderer=${(root, column, data) => { .renderer=${(root, column, data) => {
render(html`<span style="cursor: pointer;" >${this.round(data.item.qortAmount)}</span>`, root) render(html`<span style="cursor: pointer;" @click="${() => this.clickHandler(data)}">${this.round(data.item.qortAmount)}</span>`, root)
}} }}
> >
</vaadin-grid-column> </vaadin-grid-column>
@ -773,7 +792,7 @@ class TradePortal extends LitElement {
header="${translate("tradepage.tchange9")} (${this.listedCoins.get(this.selectedCoin).coinCode})" header="${translate("tradepage.tchange9")} (${this.listedCoins.get(this.selectedCoin).coinCode})"
id="priceColumn" id="priceColumn"
.renderer=${(root, column, data) => { .renderer=${(root, column, data) => {
render(html`<span style="cursor: pointer;" >${this.round(data.item.price)}</span>`, root) render(html`<span style="cursor: pointer;" @click="${() => this.clickHandler(data)}">${this.round(data.item.price)}</span>`, root)
}} }}
> >
</vaadin-grid-column> </vaadin-grid-column>
@ -783,7 +802,7 @@ class TradePortal extends LitElement {
header="${translate("tradepage.tchange10")} (${this.listedCoins.get(this.selectedCoin).coinCode})" header="${translate("tradepage.tchange10")} (${this.listedCoins.get(this.selectedCoin).coinCode})"
id="foreignAmountColumn" id="foreignAmountColumn"
.renderer=${(root, column, data) => { .renderer=${(root, column, data) => {
render(html`<span style="cursor: pointer;" >${data.item.foreignAmount}</span>`, root) render(html`<span style="cursor: pointer;" @click="${() => this.clickHandler(data)}">${data.item.foreignAmount}</span>`, root)
}} }}
> >
</vaadin-grid-column> </vaadin-grid-column>
@ -793,7 +812,7 @@ class TradePortal extends LitElement {
header="${translate("tradepage.tchange13")}" header="${translate("tradepage.tchange13")}"
id="qortalCreatorColumn" id="qortalCreatorColumn"
.renderer=${(root, column, data) => { .renderer=${(root, column, data) => {
render(html`<span style="cursor: pointer;" >${data.item.qortalCreator}</span>`, root) render(html`<span style="cursor: pointer;" @click="${() => this.clickHandler(data)}">${data.item.qortalCreator}</span>`, root)
}} }}
> >
</vaadin-grid-column> </vaadin-grid-column>
@ -1557,7 +1576,7 @@ class TradePortal extends LitElement {
const qortalATAddresses = qortalATAddressesString.split(','); const qortalATAddresses = qortalATAddressesString.split(',');
const itemsToSelect = this.tradesPresenceCleaned.filter((order) => qortalATAddresses.includes(order.qortalAtAddress)); const itemsToSelect = this.tradesPresenceCleaned.filter((order) => qortalATAddresses.includes(order.qortalAtAddress));
this._openOrdersGrid.selectedItems = [...itemsToSelect]; this._openOrdersGrid.selectedItems = [...itemsToSelect];
this.fillBuyForm(itemsToSelect); this.fillBuyFormMultiple(itemsToSelect);
} }
async reRenderMyOpenOrders() { async reRenderMyOpenOrders() {
@ -1566,7 +1585,16 @@ class TradePortal extends LitElement {
this.isLoadingMyOpenOrders = false this.isLoadingMyOpenOrders = false
} }
fillBuyForm(sellerRequests) { fillBuyFormSingle(sellerRequest) {
this.shadowRoot.getElementById('buyAmountInput').value = parseFloat(sellerRequest.item.qortAmount)
this.shadowRoot.getElementById('buyPriceInput').value = this.round(parseFloat(sellerRequest.item.foreignAmount) / parseFloat(sellerRequest.item.qortAmount))
this.shadowRoot.getElementById('buyTotalInput').value = parseFloat(sellerRequest.item.foreignAmount)
this.shadowRoot.getElementById('qortalAtAddress').value = sellerRequest.item.qortalAtAddress
const buyFunds = this.round(parseFloat(sellerRequest.item.foreignAmount))
this.fillBuyForm(buyFunds)
}
fillBuyFormMultiple(sellerRequests) {
let qortalATAddresses = []; let qortalATAddresses = [];
let qortAmount = 0; let qortAmount = 0;
let foreignAmount = 0; let foreignAmount = 0;
@ -1583,6 +1611,10 @@ class TradePortal extends LitElement {
this.shadowRoot.getElementById('qortalAtAddress').value = qortalATAddresses this.shadowRoot.getElementById('qortalAtAddress').value = qortalATAddresses
const buyFunds = this.round(foreignAmount) const buyFunds = this.round(foreignAmount)
this.fillBuyForm(buyFunds)
}
fillBuyForm(buyFunds) {
const haveFunds = this.round(parseFloat(this.listedCoins.get(this.selectedCoin).balance)) const haveFunds = this.round(parseFloat(this.listedCoins.get(this.selectedCoin).balance))
if (Number(haveFunds) > Number(buyFunds)) { if (Number(haveFunds) > Number(buyFunds)) {
@ -2355,11 +2387,21 @@ class TradePortal extends LitElement {
} }
const makeRequest = async () => { const makeRequest = async () => {
return await parentEpml.request('tradeBotRespondMultipleRequest', {
addresses: qortalAtAddress.split(','), if( this.selectedCoin == 'PIRATECHAIN') {
foreignKey: _foreignKey, return await parentEpml.request('tradeBotRespondRequest', {
receivingAddress: this.selectedAddress.address atAddress: qortalAtAddress,
}) foreignKey: _foreignKey,
receivingAddress: this.selectedAddress.address
})
}
else {
return await parentEpml.request('tradeBotRespondMultipleRequest', {
addresses: qortalAtAddress.split(','),
foreignKey: _foreignKey,
receivingAddress: this.selectedAddress.address
})
}
} }
const manageResponse = (response) => { const manageResponse = (response) => {
@ -2673,7 +2715,9 @@ class TradePortal extends LitElement {
filterPresenceList() filterPresenceList()
this.listedCoins.get(message.data.relatedCoin).openFilteredOrders = this.tradesPresenceCleaned this.listedCoins.get(message.data.relatedCoin).openFilteredOrders = this.tradesPresenceCleaned
this.reRenderOpenFilteredOrders() this.reRenderOpenFilteredOrders()
this.reSelectOpenOrders() if( this.selectedCoin != 'PIRATECHAIN') {
this.reSelectOpenOrders()
}
return null return null
default: default:
break break