@@ -213,28 +213,9 @@ module.exports = function(Chart) {
213
213
214
214
updateElement : function ( rectangle , index , reset ) {
215
215
var me = this ;
216
- var chart = me . chart ;
217
- var meta = me . getMeta ( ) ;
218
- var dataset = me . getDataset ( ) ;
219
- var custom = rectangle . custom || { } ;
220
- var rectangleOptions = chart . options . elements . rectangle ;
221
-
222
- rectangle . _xScale = me . getScaleForId ( meta . xAxisID ) ;
223
- rectangle . _yScale = me . getScaleForId ( meta . yAxisID ) ;
224
- rectangle . _datasetIndex = me . index ;
225
216
rectangle . _index = index ;
226
-
227
- rectangle . _model = {
228
- datasetLabel : dataset . label ,
229
- label : chart . data . labels [ index ] ,
230
- borderSkipped : custom . borderSkipped ? custom . borderSkipped : rectangleOptions . borderSkipped ,
231
- backgroundColor : custom . backgroundColor ? custom . backgroundColor : helpers . valueAtIndexOrDefault ( dataset . backgroundColor , index , rectangleOptions . backgroundColor ) ,
232
- borderColor : custom . borderColor ? custom . borderColor : helpers . valueAtIndexOrDefault ( dataset . borderColor , index , rectangleOptions . borderColor ) ,
233
- borderWidth : custom . borderWidth ? custom . borderWidth : helpers . valueAtIndexOrDefault ( dataset . borderWidth , index , rectangleOptions . borderWidth )
234
- } ;
235
-
217
+ me . updateRectangle ( rectangle ) ;
236
218
me . updateElementGeometry ( rectangle , index , reset ) ;
237
-
238
219
rectangle . pivot ( ) ;
239
220
} ,
240
221
@@ -474,16 +455,38 @@ module.exports = function(Chart) {
474
455
} ,
475
456
476
457
removeHoverStyle : function ( rectangle ) {
477
- var dataset = this . chart . data . datasets [ rectangle . _datasetIndex ] ;
458
+ this . updateRectangle ( rectangle ) ;
459
+ } ,
460
+
461
+ updateRectangle : function ( rectangle , options ) {
462
+ var me = this ;
463
+ var chart = this . chart ;
464
+ var dataset = this . getDataset ( ) ;
478
465
var index = rectangle . _index ;
479
466
var custom = rectangle . custom || { } ;
480
- var model = rectangle . _model ;
481
- var rectangleElementOptions = this . chart . options . elements . rectangle ;
467
+ var meta = me . getMeta ( ) ;
468
+ options = options ? options : this . getElementOptions ( ) ;
482
469
483
- model . backgroundColor = custom . backgroundColor ? custom . backgroundColor : helpers . valueAtIndexOrDefault ( dataset . backgroundColor , index , rectangleElementOptions . backgroundColor ) ;
484
- model . borderColor = custom . borderColor ? custom . borderColor : helpers . valueAtIndexOrDefault ( dataset . borderColor , index , rectangleElementOptions . borderColor ) ;
485
- model . borderWidth = custom . borderWidth ? custom . borderWidth : helpers . valueAtIndexOrDefault ( dataset . borderWidth , index , rectangleElementOptions . borderWidth ) ;
470
+ rectangle . _xScale = me . getScaleForId ( meta . xAxisID ) ;
471
+ rectangle . _yScale = me . getScaleForId ( meta . yAxisID ) ;
472
+ rectangle . _datasetIndex = me . index ;
473
+
474
+ if ( ! rectangle . _model ) {
475
+ rectangle . _model = { } ;
476
+ }
477
+
478
+ rectangle . _model . datasetLabel = dataset . label ;
479
+ rectangle . _model . label = chart . data . labels [ index ] ;
480
+ rectangle . _model . borderSkipped = custom . borderSkipped ? custom . borderSkipped : options . borderSkipped ;
481
+ rectangle . _model . backgroundColor = custom . backgroundColor ? custom . backgroundColor : helpers . valueAtIndexOrDefault ( dataset . backgroundColor , index , options . backgroundColor ) ;
482
+ rectangle . _model . borderColor = custom . borderColor ? custom . borderColor : helpers . valueAtIndexOrDefault ( dataset . borderColor , index , options . borderColor ) ;
483
+ rectangle . _model . borderWidth = custom . borderWidth ? custom . borderWidth : helpers . valueAtIndexOrDefault ( dataset . borderWidth , index , options . borderWidth ) ;
484
+ } ,
485
+
486
+ getElementOptions : function ( ) {
487
+ return this . chart . options . elements . rectangle ;
486
488
}
489
+
487
490
} ) ;
488
491
489
492
Chart . controllers . horizontalBar = Chart . controllers . bar . extend ( {
0 commit comments