Skip to content

Commit 6f6a37f

Browse files
fix E2203 (#421)
1 parent 6eff0e6 commit 6f6a37f

File tree

7 files changed

+55
-31
lines changed

7 files changed

+55
-31
lines changed
Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
<card-analytics contentClass="sales-range" [isMenuVisible]="false">
2-
<dx-range-selector
3-
[dataSource]="data"
4-
[(value)]="visualRange"
5-
(onValueChanged)="onRangeChanged($event)"
6-
>
7-
<dxo-scale
8-
minorTickInterval="day"
9-
tickInterval="month"
10-
valueType="datetime"
2+
@if (data && data.length > 0) {
3+
<dx-range-selector
4+
[dataSource]="data"
5+
[(value)]="visualRange"
6+
(onValueChanged)="onRangeChanged($event)"
117
>
12-
<dxo-minor-tick [visible]="false"></dxo-minor-tick>
13-
<dxo-marker [visible]="false"></dxo-marker>
14-
<dxo-label format="MMM yyyy"></dxo-label>
15-
</dxo-scale>
16-
<dxo-size [height]="90"></dxo-size>
8+
<dxo-scale
9+
minorTickInterval="day"
10+
tickInterval="month"
11+
valueType="datetime"
12+
>
13+
<dxo-minor-tick [visible]="false"></dxo-minor-tick>
14+
<dxo-marker [visible]="false"></dxo-marker>
15+
<dxo-label format="MMM yyyy"></dxo-label>
16+
</dxo-scale>
17+
<dxo-size [height]="90"></dxo-size>
1718

18-
<dxo-loading-indicator [show]="true"></dxo-loading-indicator>
19-
20-
<dxo-chart>
21-
<dxi-series type="line" argumentField="date" valueField="total">
22-
</dxi-series>
23-
</dxo-chart>
24-
</dx-range-selector>
19+
<dxo-chart>
20+
<dxi-series type="line" argumentField="date" valueField="total">
21+
</dxi-series>
22+
</dxo-chart>
23+
</dx-range-selector>
24+
} @else {
25+
<dx-load-indicator class="centered"></dx-load-indicator>
26+
}
2527
</card-analytics>

packages/angular/src/app/components/utils/sales-range-card/sales-range-card.component.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
@use "sass:math";
33

44
:host {
5+
.centered {
6+
margin: auto;
7+
display: block;
8+
}
9+
510
::ng-deep .card.sales-range {
611
margin-top: 20px;
712

packages/angular/src/app/components/utils/sales-range-card/sales-range-card.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
import { CardAnalyticsComponent } from '../../library/card-analytics/card-analytics.component';
88
import { DxRangeSelectorModule } from 'devextreme-angular/ui/range-selector';
99
import { Sale } from 'src/app/types/analytics';
10+
import { DxLoadIndicatorModule } from 'devextreme-angular';
1011

1112
@Component({
1213
selector: 'sales-range-card',
@@ -15,6 +16,7 @@ import { Sale } from 'src/app/types/analytics';
1516
imports: [
1617
CardAnalyticsComponent,
1718
DxRangeSelectorModule,
19+
DxLoadIndicatorModule
1820
],
1921
})
2022
export class SalesRangeCardComponent {
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.card .centered {
2+
margin: auto;
3+
display: block;
4+
}
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
1-
import RangeSelector, { Chart, Label, LoadingIndicator, Marker, MinorTick, Scale, Series, Size, RangeSelectorTypes } from 'devextreme-react/range-selector';
1+
import RangeSelector, { Chart, Label, Marker, MinorTick, Scale, Series, Size, RangeSelectorTypes } from 'devextreme-react/range-selector';
2+
import LoadIndicator from 'devextreme-react/load-indicator';
23
import React from 'react';
34
import { CardAnalytics } from '../../library/card-analytics/CardAnalytics';
45
import { Sale } from '../../../types/analytics';
56

7+
import './SalesRangeCard.scss';
8+
69
export const SalesRangeCard = ({ datasource, range, onRangeChanged }: {
710
datasource: Sale[], range: Date[], onRangeChanged: (e: RangeSelectorTypes.ValueChangedEvent) => void
811
}) => (
912
<CardAnalytics title='' contentClass='sales-range' menuVisible={false}>
10-
<RangeSelector id='range' dataSource={datasource} value={range} onValueChanged={onRangeChanged}>
13+
{datasource.length > 0 && <RangeSelector id='range' dataSource={datasource} value={range} onValueChanged={onRangeChanged}>
1114
<Scale minorTickInterval='day' tickInterval='month' valueType='datetime'>
1215
<MinorTick visible={false} />
1316
<Marker visible={false} />
1417
<Label format='MMM yyyy' />
1518
</Scale>
1619
<Size height={90} />
17-
<LoadingIndicator show />
1820
<Chart>
1921
<Series type='line' argumentField='date' valueField='total' />
2022
</Chart>
21-
</RangeSelector>
23+
</RangeSelector>}
24+
{datasource.length === 0 && <LoadIndicator className='centered' />}
2225
</CardAnalytics>
2326
);

packages/vue/src/components/utils/sales-range-card.vue

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
selected-range-update-mode="reset"
55
:is-menu-visible="false"
66
>
7+
<dx-load-indicator
8+
v-if="!props.data || props.data.length === 0"
9+
class="centered"
10+
/>
711
<dx-range-selector
12+
v-if="props.data && props.data.length > 0"
813
:data-source="props.data"
914
:value="props.value"
1015
@value-changed="(e) => emit('range-changed', e)"
@@ -20,8 +25,6 @@
2025
</dx-scale>
2126
<dx-size :height="90" />
2227

23-
<dx-loading-indicator :show="false" />
24-
2528
<dx-range-selector-chart>
2629
<dx-series
2730
type="line"
@@ -40,11 +43,11 @@ import {
4043
DxMinorTick,
4144
DxSize,
4245
DxMarker,
43-
DxLoadingIndicator,
4446
DxChart as DxRangeSelectorChart,
4547
DxLabel as DxRangeSelectorLabel,
4648
DxSeries,
4749
} from 'devextreme-vue/range-selector';
50+
import { DxLoadIndicator } from 'devextreme-vue/load-indicator';
4851
4952
import { Sales, SalesByState } from '@/types/analytics';
5053
import CardAnalytics from '@/components/library/card-analytics.vue';
@@ -57,6 +60,11 @@ const props = defineProps<{
5760
}>();
5861
</script>
5962
<style scoped lang="scss">
63+
.centered {
64+
margin: auto;
65+
display: block;
66+
}
67+
6068
:deep(.sales-range) {
6169
margin-top: 20px;
6270

packages/vue/src/pages/analytics-sales-analysis.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ import SalesRangeCard from '@/components/utils/sales-range-card.vue';
5050
import SalesByRangeCard from '@/components/utils/sales-by-range-card.vue';
5151
import SalesPerformanceCard from '@/components/utils/sales-performance-card.vue';
5252
53-
const sales = ref<Sales | null>(null);
54-
const salesByDateAndCategory = ref<Sales | null>(null);
55-
const salesByCategory = ref<SalesByStateAndCity | null>(null);
53+
const sales = ref<Sales>([]);
54+
const salesByDateAndCategory = ref<Sales>([]);
55+
const salesByCategory = ref<SalesByStateAndCity>([]);
5656
5757
const visualRange = ref<[Date, Date]>([]);
5858

0 commit comments

Comments
 (0)