Merge pull request #3548 from mempool/simon/updating-node-map-loading

Update channels map indexing indicator
This commit is contained in:
wiz 2023-03-23 13:46:34 +09:00 committed by GitHub
commit addf3e2521
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 46 additions and 36 deletions

View File

@ -101,8 +101,15 @@ export class NodeFeeChartComponent implements OnInit {
} }
prepareChartOptions(outgoingData, incomingData): void { prepareChartOptions(outgoingData, incomingData): void {
let sum = outgoingData.reduce((accumulator, object) => {
return accumulator + object.count;
}, 0);
sum += incomingData.reduce((accumulator, object) => {
return accumulator + object.count;
}, 0);
let title: object; let title: object;
if (outgoingData.length === 0) { if (sum === 0) {
title = { title = {
textStyle: { textStyle: {
color: 'grey', color: 'grey',
@ -115,7 +122,7 @@ export class NodeFeeChartComponent implements OnInit {
} }
this.chartOptions = { this.chartOptions = {
title: outgoingData.length === 0 ? title : undefined, title: sum === 0 ? title : undefined,
animation: false, animation: false,
grid: { grid: {
top: 30, top: 30,
@ -151,7 +158,7 @@ export class NodeFeeChartComponent implements OnInit {
`; `;
} }
}, },
xAxis: outgoingData.length === 0 ? undefined : { xAxis: sum === 0 ? undefined : {
type: 'category', type: 'category',
axisLine: { onZero: true }, axisLine: { onZero: true },
axisLabel: { axisLabel: {
@ -163,7 +170,7 @@ export class NodeFeeChartComponent implements OnInit {
}, },
data: outgoingData.map(bucket => bucket.label) data: outgoingData.map(bucket => bucket.label)
}, },
legend: outgoingData.length === 0 ? undefined : { legend: sum === 0 ? undefined : {
padding: 10, padding: 10,
data: [ data: [
{ {
@ -184,7 +191,7 @@ export class NodeFeeChartComponent implements OnInit {
}, },
], ],
}, },
yAxis: outgoingData.length === 0 ? undefined : [ yAxis: sum === 0 ? undefined : [
{ {
type: 'value', type: 'value',
axisLabel: { axisLabel: {
@ -202,7 +209,7 @@ export class NodeFeeChartComponent implements OnInit {
}, },
}, },
], ],
series: outgoingData.length === 0 ? undefined : [ series: sum === 0 ? undefined : [
{ {
zlevel: 0, zlevel: 0,
name: $localize`Outgoing Fees`, name: $localize`Outgoing Fees`,

View File

@ -75,13 +75,13 @@ export class NodeStatisticsChartComponent implements OnInit {
prepareChartOptions(data) { prepareChartOptions(data) {
let title: object; let title: object;
if (data.channels.length === 0) { if (data.channels.length < 2) {
title = { title = {
textStyle: { textStyle: {
color: 'grey', color: 'grey',
fontSize: 15 fontSize: 15
}, },
text: `Loading`, text: $localize`No data to display yet. Try again later.`,
left: 'center', left: 'center',
top: 'center' top: 'center'
}; };
@ -135,14 +135,14 @@ export class NodeStatisticsChartComponent implements OnInit {
return tooltip; return tooltip;
} }
}, },
xAxis: data.channels.length === 0 ? undefined : { xAxis: data.channels.length < 2 ? undefined : {
type: 'time', type: 'time',
splitNumber: this.isMobile() ? 5 : 10, splitNumber: this.isMobile() ? 5 : 10,
axisLabel: { axisLabel: {
hideOverlap: true, hideOverlap: true,
} }
}, },
legend: data.channels.length === 0 ? undefined : { legend: data.channels.length < 2 ? undefined : {
padding: 10, padding: 10,
data: [ data: [
{ {
@ -167,7 +167,7 @@ export class NodeStatisticsChartComponent implements OnInit {
'Capacity': true, 'Capacity': true,
} }
}, },
yAxis: data.channels.length === 0 ? undefined : [ yAxis: data.channels.length < 2 ? undefined : [
{ {
type: 'value', type: 'value',
axisLabel: { axisLabel: {
@ -198,7 +198,7 @@ export class NodeStatisticsChartComponent implements OnInit {
} }
} }
], ],
series: data.channels.length === 0 ? [] : [ series: data.channels.length < 2 ? [] : [
{ {
zlevel: 1, zlevel: 1,
name: $localize`:@@807cf11e6ac1cde912496f764c176bdfdd6b7e19:Channels`, name: $localize`:@@807cf11e6ac1cde912496f764c176bdfdd6b7e19:Channels`,

View File

@ -18,8 +18,5 @@
<div class="text-center loading-spinner" [class]="style" *ngIf="isLoading && !disableSpinner"> <div class="text-center loading-spinner" [class]="style" *ngIf="isLoading && !disableSpinner">
<div class="spinner-border text-light"></div> <div class="spinner-border text-light"></div>
</div> </div>
<div *ngIf="showIndexingInProgress" class="indexing-message">
<span class="badge badge-pill badge-warning" i18n="lightning.indexing-in-progress">Indexing in progress</span>
</div>
</ng-container> </ng-container>
</div> </div>

View File

@ -36,7 +36,6 @@ export class NodesChannelsMap implements OnInit {
channelCurve = 0; channelCurve = 0;
nodeSize = 4; nodeSize = 4;
isLoading = false; isLoading = false;
showIndexingInProgress = false;
chartInstance = undefined; chartInstance = undefined;
chartOptions: EChartsOption = {}; chartOptions: EChartsOption = {};
@ -205,15 +204,21 @@ export class NodesChannelsMap implements OnInit {
prepareChartOptions(nodes, channels) { prepareChartOptions(nodes, channels) {
let title: object; let title: object;
if (channels.length === 0 && !this.placeholder) { if (channels.length === 0) {
this.chartOptions = null; if (!this.placeholder) {
this.showIndexingInProgress = true;
this.isLoading = false; this.isLoading = false;
return; title = {
} textStyle: {
color: 'white',
// empty map fallback fontSize: 18
if (channels.length === 0 && this.placeholder) { },
text: $localize`No data to display yet. Try again later.`,
left: 'center',
top: 'center'
};
this.zoom = 1.5;
this.center = [0, 20];
} else { // used for Node and Channel preview components
title = { title = {
textStyle: { textStyle: {
color: 'white', color: 'white',
@ -226,6 +231,7 @@ export class NodesChannelsMap implements OnInit {
this.zoom = 1.5; this.zoom = 1.5;
this.center = [0, 20]; this.center = [0, 20];
} }
}
this.chartOptions = { this.chartOptions = {
silent: this.style === 'widget', silent: this.style === 'widget',