@@ -190,6 +190,8 @@ export class ChartDataModel extends BeanStub {
190
190
}
191
191
192
192
private getAllColumnsFromRanges ( ) : Set < Column > {
193
+
194
+
193
195
let columns = this . dimensionCellRange || this . valueCellRange ? [ ] : this . referenceCellRange . columns ;
194
196
195
197
if ( this . dimensionCellRange ) {
@@ -326,7 +328,7 @@ export class ChartDataModel extends BeanStub {
326
328
return 'id-' + Math . random ( ) . toString ( 36 ) . substr ( 2 , 16 ) ;
327
329
}
328
330
329
- private updateData ( ) : void {
331
+ public updateData ( ) : void {
330
332
const { startRow, endRow } = this . getRowIndexes ( ) ;
331
333
const selectedDimension = this . getSelectedDimension ( ) ;
332
334
const selectedValueCols = this . getSelectedValueCols ( ) ;
@@ -353,6 +355,9 @@ export class ChartDataModel extends BeanStub {
353
355
private resetColumnState ( ) : void {
354
356
const { dimensionCols, valueCols } = this . getAllChartColumns ( ) ;
355
357
const allCols = this . pivotChart ? _ . convertToSet ( this . columnController . getAllDisplayedColumns ( ) ) : this . getAllColumnsFromRanges ( ) ;
358
+
359
+ const isInitialising = this . valueColState . length < 1 ;
360
+
356
361
this . dimensionColState = [ ] ;
357
362
this . valueColState = [ ] ;
358
363
@@ -384,12 +389,12 @@ export class ChartDataModel extends BeanStub {
384
389
385
390
this . dimensionColState . unshift ( defaultCategory ) ;
386
391
387
- const valueColumnsFromRange = this . valueCellRange . columns . slice ( ) ;
392
+ const valueColumnsFromReferenceRange = this . referenceCellRange . columns . filter ( c => valueCols . has ( c ) ) ;
388
393
389
394
valueCols . forEach ( column => {
390
- if ( _ . includes ( this . valueCellRange . columns , column ) ) {
391
- // ensure that columns included in the specified cell range are added in the order they were specified
392
- column = valueColumnsFromRange . shift ( ) ;
395
+ // first time the value cell range is set, preserve the column order from the supplied range
396
+ if ( isInitialising && _ . includes ( this . referenceCellRange . columns , column ) ) {
397
+ column = valueColumnsFromReferenceRange . shift ( ) ;
393
398
}
394
399
395
400
this . valueColState . push ( {
0 commit comments