@@ -81,16 +81,11 @@ export default class SankeyController extends DatasetController {
81
81
* @return {Array<SankeyParsedData> }
82
82
*/
83
83
parseObjectData ( meta , data , start , count ) {
84
- // https://github.com/chartjs/Chart.js/pull/8379
85
- if ( count === 0 ) {
86
- return [ ] ;
87
- }
88
- const me = this ;
89
84
const { xScale, yScale} = meta ;
90
85
const parsed = [ ] ; /* Array<SankeyParsedData> */
91
- const nodes = me . _nodes = buildNodesFromRawData ( data ) ;
86
+ const nodes = this . _nodes = buildNodesFromRawData ( data ) ;
92
87
/* getDataset() => SankeyControllerDatasetOptions */
93
- const { column, priority, size} = me . getDataset ( ) ;
88
+ const { column, priority, size} = this . getDataset ( ) ;
94
89
if ( priority ) {
95
90
for ( const node of nodes . values ( ) ) {
96
91
if ( node . key in priority ) {
@@ -109,8 +104,8 @@ export default class SankeyController extends DatasetController {
109
104
110
105
const { maxX, maxY} = layout ( nodes , data , ! ! priority , validateSizeValue ( size ) ) ;
111
106
112
- me . _maxX = maxX ;
113
- me . _maxY = maxY ;
107
+ this . _maxX = maxX ;
108
+ this . _maxY = maxY ;
114
109
115
110
for ( let i = 0 , ilen = data . length ; i < ilen ; ++ i ) {
116
111
const dataPoint = data [ i ] ;
@@ -134,18 +129,16 @@ export default class SankeyController extends DatasetController {
134
129
}
135
130
136
131
getMinMax ( scale ) {
137
- const me = this ;
138
132
return {
139
133
min : 0 ,
140
- max : scale === this . _cachedMeta . xScale ? this . _maxX : me . _maxY
134
+ max : scale === this . _cachedMeta . xScale ? this . _maxX : this . _maxY
141
135
} ;
142
136
}
143
137
144
138
update ( mode ) {
145
- const me = this ;
146
- const meta = me . _cachedMeta ;
139
+ const { data} = this . _cachedMeta ;
147
140
148
- me . updateElements ( meta . data , 0 , meta . data . length , mode ) ;
141
+ this . updateElements ( data , 0 , data . length , mode ) ;
149
142
}
150
143
151
144
/**
@@ -155,20 +148,19 @@ export default class SankeyController extends DatasetController {
155
148
* @param {"resize" | "reset" | "none" | "hide" | "show" | "normal" | "active" } mode
156
149
*/
157
150
updateElements ( elems , start , count , mode ) {
158
- const me = this ;
159
- const { xScale, yScale} = me . _cachedMeta ;
160
- const firstOpts = me . resolveDataElementOptions ( start , mode ) ;
161
- const sharedOptions = me . getSharedOptions ( mode , elems [ start ] , firstOpts ) ;
162
- const dataset = me . getDataset ( ) ;
151
+ const { xScale, yScale} = this . _cachedMeta ;
152
+ const firstOpts = this . resolveDataElementOptions ( start , mode ) ;
153
+ const sharedOptions = this . getSharedOptions ( mode , elems [ start ] , firstOpts ) ;
154
+ const dataset = this . getDataset ( ) ;
163
155
const borderWidth = valueOrDefault ( dataset . borderWidth , 1 ) / 2 + 0.5 ;
164
156
const nodeWidth = valueOrDefault ( dataset . nodeWidth , 10 ) ;
165
157
166
158
for ( let i = start ; i < start + count ; i ++ ) {
167
159
/* getParsed(idx: number) => SankeyParsedData */
168
- const parsed = me . getParsed ( i ) ;
160
+ const parsed = this . getParsed ( i ) ;
169
161
const custom = parsed . _custom ;
170
162
const y = yScale . getPixelForValue ( parsed . y ) ;
171
- me . updateElement (
163
+ this . updateElement (
172
164
elems [ i ] ,
173
165
i ,
174
166
{
@@ -180,27 +172,26 @@ export default class SankeyController extends DatasetController {
180
172
to : custom . to ,
181
173
progress : mode === 'reset' ? 0 : 1 ,
182
174
height : Math . abs ( yScale . getPixelForValue ( parsed . y + custom . height ) - y ) ,
183
- options : me . resolveDataElementOptions ( i , mode )
175
+ options : this . resolveDataElementOptions ( i , mode )
184
176
} ,
185
177
mode ) ;
186
178
}
187
179
188
- me . updateSharedOptions ( sharedOptions , mode ) ;
180
+ this . updateSharedOptions ( sharedOptions , mode ) ;
189
181
}
190
182
191
183
_drawLabels ( ) {
192
- const me = this ;
193
- const ctx = me . _ctx ;
194
- const nodes = me . _nodes || new Map ( ) ;
195
- const dataset = me . getDataset ( ) ; /* SankeyControllerDatasetOptions */
184
+ const ctx = this . _ctx ;
185
+ const nodes = this . _nodes || new Map ( ) ;
186
+ const dataset = this . getDataset ( ) ; /* SankeyControllerDatasetOptions */
196
187
const size = validateSizeValue ( dataset . size ) ;
197
188
const borderWidth = valueOrDefault ( dataset . borderWidth , 1 ) ;
198
189
const nodeWidth = valueOrDefault ( dataset . nodeWidth , 10 ) ;
199
190
const labels = dataset . labels ;
200
- const { xScale, yScale} = me . _cachedMeta ;
191
+ const { xScale, yScale} = this . _cachedMeta ;
201
192
202
193
ctx . save ( ) ;
203
- const chartArea = me . chart . chartArea ;
194
+ const chartArea = this . chart . chartArea ;
204
195
for ( const node of nodes . values ( ) ) {
205
196
const x = xScale . getPixelForValue ( node . x ) ;
206
197
const y = yScale . getPixelForValue ( node . y ) ;
@@ -232,13 +223,12 @@ export default class SankeyController extends DatasetController {
232
223
* @private
233
224
*/
234
225
_drawLabel ( label , y , height , ctx , textX ) {
235
- const me = this ;
236
- const font = toFont ( me . options . font , me . chart . options . font ) ;
226
+ const font = toFont ( this . options . font , this . chart . options . font ) ;
237
227
const lines = isNullOrUndef ( label ) ? [ ] : toTextLines ( label ) ;
238
228
const linesLength = lines . length ;
239
229
const middle = y + height / 2 ;
240
230
const textHeight = font . lineHeight ;
241
- const padding = valueOrDefault ( me . options . padding , textHeight / 2 ) ;
231
+ const padding = valueOrDefault ( this . options . padding , textHeight / 2 ) ;
242
232
243
233
ctx . font = font . string ;
244
234
@@ -253,12 +243,11 @@ export default class SankeyController extends DatasetController {
253
243
}
254
244
255
245
_drawNodes ( ) {
256
- const me = this ;
257
- const ctx = me . _ctx ;
258
- const nodes = me . _nodes || new Map ( ) ;
259
- const dataset = me . getDataset ( ) ; /* SankeyControllerDatasetOptions */
246
+ const ctx = this . _ctx ;
247
+ const nodes = this . _nodes || new Map ( ) ;
248
+ const dataset = this . getDataset ( ) ; /* SankeyControllerDatasetOptions */
260
249
const size = validateSizeValue ( dataset . size ) ;
261
- const { xScale, yScale} = me . _cachedMeta ;
250
+ const { xScale, yScale} = this . _cachedMeta ;
262
251
const borderWidth = valueOrDefault ( dataset . borderWidth , 1 ) ;
263
252
const nodeWidth = valueOrDefault ( dataset . nodeWidth , 10 ) ;
264
253
@@ -285,9 +274,8 @@ export default class SankeyController extends DatasetController {
285
274
* That's where the drawing process happens
286
275
*/
287
276
draw ( ) {
288
- const me = this ;
289
- const ctx = me . _ctx ;
290
- const data = me . getMeta ( ) . data || [ ] ; /* Array<Flow> */
277
+ const ctx = this . _ctx ;
278
+ const data = this . getMeta ( ) . data || [ ] ; /* Array<Flow> */
291
279
292
280
for ( let i = 0 , ilen = data . length ; i < ilen ; ++ i ) {
293
281
const flow = data [ i ] ; /* Flow at index i */
@@ -296,15 +284,15 @@ export default class SankeyController extends DatasetController {
296
284
}
297
285
298
286
/* draw SankeyNodes on the canvas */
299
- me . _drawNodes ( ) ;
287
+ this . _drawNodes ( ) ;
300
288
301
289
/* draw Flow elements on the canvas */
302
290
for ( let i = 0 , ilen = data . length ; i < ilen ; ++ i ) {
303
291
data [ i ] . draw ( ctx ) ;
304
292
}
305
293
306
294
/* draw labels (for SankeyNodes) on the canvas */
307
- me . _drawLabels ( ) ;
295
+ this . _drawLabels ( ) ;
308
296
}
309
297
}
310
298
@@ -355,7 +343,6 @@ SankeyController.overrides = {
355
343
intersect : true
356
344
} ,
357
345
datasets : {
358
- color : ( ) => '#efefef' ,
359
346
clip : false ,
360
347
parsing : true
361
348
} ,
0 commit comments