@@ -21,7 +21,7 @@ var Color = require('../../components/color');
21
21
22
22
module . exports = function plot ( gd , wrappedTraceHolders ) {
23
23
24
- var table = gd . _fullLayout . _paper . selectAll ( '.table' )
24
+ var table = gd . _fullLayout . _paper . selectAll ( '.' + c . cn . table )
25
25
. data ( wrappedTraceHolders . map ( function ( wrappedTraceHolder ) {
26
26
var traceHolder = gup . unwrap ( wrappedTraceHolder ) ;
27
27
var trace = traceHolder . trace ;
@@ -32,7 +32,7 @@ module.exports = function plot(gd, wrappedTraceHolders) {
32
32
33
33
table . enter ( )
34
34
. append ( 'g' )
35
- . classed ( ' table' , true )
35
+ . classed ( c . cn . table , true )
36
36
. attr ( 'overflow' , 'visible' )
37
37
. style ( 'box-sizing' , 'content-box' )
38
38
. style ( 'position' , 'absolute' )
@@ -48,12 +48,12 @@ module.exports = function plot(gd, wrappedTraceHolders) {
48
48
return 'translate(' + d . translateX + ',' + d . translateY + ')' ;
49
49
} ) ;
50
50
51
- var tableControlView = table . selectAll ( '.tableControlView' )
51
+ var tableControlView = table . selectAll ( '.' + c . cn . tableControlView )
52
52
. data ( gup . repeat , gup . keyFun ) ;
53
53
54
54
tableControlView . enter ( )
55
55
. append ( 'g' )
56
- . classed ( ' tableControlView' , true )
56
+ . classed ( c . cn . tableControlView , true )
57
57
. style ( 'box-sizing' , 'content-box' )
58
58
. on ( 'mousemove' , function ( d ) { tableControlView . filter ( function ( dd ) { return d === dd ; } ) . call ( renderScrollbarKit , gd ) ; } )
59
59
. on ( 'mousewheel' , function ( d ) {
@@ -71,12 +71,12 @@ module.exports = function plot(gd, wrappedTraceHolders) {
71
71
72
72
// scrollBackground merely ensures that mouse events are captured even on crazy fast scrollwheeling
73
73
// otherwise rendering glitches may occur
74
- var scrollBackground = tableControlView . selectAll ( '.scrollBackground' )
74
+ var scrollBackground = tableControlView . selectAll ( '.' + c . cn . scrollBackground )
75
75
. data ( gup . repeat , gup . keyFun ) ;
76
76
77
77
scrollBackground . enter ( )
78
78
. append ( 'rect' )
79
- . classed ( ' scrollBackground' , true )
79
+ . classed ( c . cn . scrollBackground , true )
80
80
. attr ( 'fill' , 'none' ) ;
81
81
82
82
scrollBackground
@@ -86,12 +86,12 @@ module.exports = function plot(gd, wrappedTraceHolders) {
86
86
tableControlView
87
87
. each ( function ( d ) { Drawing . setClipUrl ( d3 . select ( this ) , scrollAreaBottomClipKey ( gd , d ) ) ; } ) ;
88
88
89
- var yColumn = tableControlView . selectAll ( '.yColumn' )
89
+ var yColumn = tableControlView . selectAll ( '.' + c . cn . yColumn )
90
90
. data ( function ( vm ) { return vm . columns ; } , gup . keyFun ) ;
91
91
92
92
yColumn . enter ( )
93
93
. append ( 'g' )
94
- . classed ( ' yColumn' , true ) ;
94
+ . classed ( c . cn . yColumn , true ) ;
95
95
96
96
yColumn
97
97
. attr ( 'transform' , function ( d ) { return 'translate(' + d . x + ' 0)' ; } )
@@ -137,12 +137,12 @@ module.exports = function plot(gd, wrappedTraceHolders) {
137
137
138
138
yColumn . each ( function ( d ) { Drawing . setClipUrl ( d3 . select ( this ) , columnBoundaryClipKey ( gd , d ) ) ; } ) ;
139
139
140
- var columnBlock = yColumn . selectAll ( '.columnBlock' )
140
+ var columnBlock = yColumn . selectAll ( '.' + c . cn . columnBlock )
141
141
. data ( splitData . splitToPanels , gup . keyFun ) ;
142
142
143
143
columnBlock . enter ( )
144
144
. append ( 'g' )
145
- . classed ( ' columnBlock' , true )
145
+ . classed ( c . cn . columnBlock , true )
146
146
. attr ( 'id' , function ( d ) { return d . key ; } ) ;
147
147
148
148
columnBlock
@@ -170,20 +170,20 @@ module.exports = function plot(gd, wrappedTraceHolders) {
170
170
renderColumnCellTree ( gd , tableControlView , headerColumnBlock , columnBlock ) ;
171
171
renderColumnCellTree ( gd , tableControlView , cellsColumnBlock , columnBlock ) ;
172
172
173
- var scrollAreaClip = tableControlView . selectAll ( '.scrollAreaClip' )
173
+ var scrollAreaClip = tableControlView . selectAll ( '.' + c . cn . scrollAreaClip )
174
174
. data ( gup . repeat , gup . keyFun ) ;
175
175
176
176
scrollAreaClip . enter ( )
177
177
. append ( 'clipPath' )
178
- . classed ( ' scrollAreaClip' , true )
178
+ . classed ( c . cn . scrollAreaClip , true )
179
179
. attr ( 'id' , function ( d ) { return scrollAreaBottomClipKey ( gd , d ) ; } ) ;
180
180
181
- var scrollAreaClipRect = scrollAreaClip . selectAll ( '.scrollAreaClipRect' )
181
+ var scrollAreaClipRect = scrollAreaClip . selectAll ( '.' + c . cn . scrollAreaClipRect )
182
182
. data ( gup . repeat , gup . keyFun ) ;
183
183
184
184
scrollAreaClipRect . enter ( )
185
185
. append ( 'rect' )
186
- . classed ( ' scrollAreaClipRect' , true )
186
+ . classed ( c . cn . scrollAreaClipRect , true )
187
187
. attr ( 'x' , - c . overdrag )
188
188
. attr ( 'y' , - c . uplift )
189
189
. attr ( 'fill' , 'none' ) ;
@@ -192,30 +192,30 @@ module.exports = function plot(gd, wrappedTraceHolders) {
192
192
. attr ( 'width' , function ( d ) { return d . width + 2 * c . overdrag ; } )
193
193
. attr ( 'height' , function ( d ) { return d . height + c . uplift ; } ) ;
194
194
195
- var columnBoundary = yColumn . selectAll ( '.columnBoundary' )
195
+ var columnBoundary = yColumn . selectAll ( '.' + c . cn . columnBoundary )
196
196
. data ( gup . repeat , gup . keyFun ) ;
197
197
198
198
columnBoundary . enter ( )
199
199
. append ( 'g' )
200
- . classed ( ' columnBoundary' , true ) ;
200
+ . classed ( c . cn . columnBoundary , true ) ;
201
201
202
- var columnBoundaryClippath = yColumn . selectAll ( '.columnBoundaryClippath' )
202
+ var columnBoundaryClippath = yColumn . selectAll ( '.' + c . cn . columnBoundaryClippath )
203
203
. data ( gup . repeat , gup . keyFun ) ;
204
204
205
205
// SVG spec doesn't mandate wrapping into a <defs> and doesn't seem to cause a speed difference
206
206
columnBoundaryClippath . enter ( )
207
207
. append ( 'clipPath' )
208
- . classed ( ' columnBoundaryClippath' , true ) ;
208
+ . classed ( c . cn . columnBoundaryClippath , true ) ;
209
209
210
210
columnBoundaryClippath
211
211
. attr ( 'id' , function ( d ) { return columnBoundaryClipKey ( gd , d ) ; } ) ;
212
212
213
- var columnBoundaryRect = columnBoundaryClippath . selectAll ( '.columnBoundaryRect' )
213
+ var columnBoundaryRect = columnBoundaryClippath . selectAll ( '.' + c . cn . columnBoundaryRect )
214
214
. data ( gup . repeat , gup . keyFun ) ;
215
215
216
216
columnBoundaryRect . enter ( )
217
217
. append ( 'rect' )
218
- . classed ( ' columnBoundaryRect' , true )
218
+ . classed ( c . cn . columnBoundaryRect , true )
219
219
. attr ( 'fill' , 'none' ) ;
220
220
221
221
columnBoundaryRect
@@ -245,12 +245,12 @@ function renderScrollbarKit(tableControlView, gd, bypassVisibleBar) {
245
245
return firstRowAnchor ( blocks , blocks . length - 1 ) + rowsHeight ( blocks [ blocks . length - 1 ] , Infinity ) ;
246
246
}
247
247
248
- var scrollbarKit = tableControlView . selectAll ( '.scrollbarKit' )
248
+ var scrollbarKit = tableControlView . selectAll ( '.' + c . cn . scrollbarKit )
249
249
. data ( gup . repeat , gup . keyFun ) ;
250
250
251
251
scrollbarKit . enter ( )
252
252
. append ( 'g' )
253
- . classed ( ' scrollbarKit' , true )
253
+ . classed ( c . cn . scrollbarKit , true )
254
254
. style ( 'shape-rendering' , 'geometricPrecision' ) ;
255
255
256
256
scrollbarKit
@@ -272,31 +272,31 @@ function renderScrollbarKit(tableControlView, gd, bypassVisibleBar) {
272
272
return 'translate(' + xPosition + ' ' + headerHeight ( d ) + ')' ;
273
273
} ) ;
274
274
275
- var scrollbar = scrollbarKit . selectAll ( '.scrollbar' )
275
+ var scrollbar = scrollbarKit . selectAll ( '.' + c . cn . scrollbar )
276
276
. data ( gup . repeat , gup . keyFun ) ;
277
277
278
278
scrollbar . enter ( )
279
279
. append ( 'g' )
280
- . classed ( ' scrollbar' , true ) ;
280
+ . classed ( c . cn . scrollbar , true ) ;
281
281
282
- var scrollbarSlider = scrollbar . selectAll ( '.scrollbarSlider' )
282
+ var scrollbarSlider = scrollbar . selectAll ( '.' + c . cn . scrollbarSlider )
283
283
. data ( gup . repeat , gup . keyFun ) ;
284
284
285
285
scrollbarSlider . enter ( )
286
286
. append ( 'g' )
287
- . classed ( ' scrollbarSlider' , true ) ;
287
+ . classed ( c . cn . scrollbarSlider , true ) ;
288
288
289
289
scrollbarSlider
290
290
. attr ( 'transform' , function ( d ) {
291
291
return 'translate(0 ' + d . scrollbarState . topY + ')' ;
292
292
} ) ;
293
293
294
- var scrollbarGlyph = scrollbarSlider . selectAll ( '.scrollbarGlyph' )
294
+ var scrollbarGlyph = scrollbarSlider . selectAll ( '.' + c . cn . scrollbarGlyph )
295
295
. data ( gup . repeat , gup . keyFun ) ;
296
296
297
297
scrollbarGlyph . enter ( )
298
298
. append ( 'line' )
299
- . classed ( ' scrollbarGlyph' , true )
299
+ . classed ( c . cn . scrollbarGlyph , true )
300
300
. attr ( 'stroke' , 'black' )
301
301
. attr ( 'stroke-width' , c . scrollbarWidth )
302
302
. attr ( 'stroke-linecap' , 'round' )
@@ -318,12 +318,12 @@ function renderScrollbarKit(tableControlView, gd, bypassVisibleBar) {
318
318
. transition ( ) . delay ( c . scrollbarHideDelay ) . duration ( c . scrollbarHideDuration )
319
319
. attr ( 'stroke-opacity' , 0 ) ;
320
320
321
- var scrollbarCaptureZone = scrollbar . selectAll ( '.scrollbarCaptureZone' )
321
+ var scrollbarCaptureZone = scrollbar . selectAll ( '.' + c . cn . scrollbarCaptureZone )
322
322
. data ( gup . repeat , gup . keyFun ) ;
323
323
324
324
scrollbarCaptureZone . enter ( )
325
325
. append ( 'line' )
326
- . classed ( ' scrollbarCaptureZone' , true )
326
+ . classed ( c . cn . scrollbarCaptureZone , true )
327
327
. attr ( 'stroke' , 'white' )
328
328
. attr ( 'stroke-opacity' , 0.01 ) // some browser might get rid of a 0 opacity element
329
329
. attr ( 'stroke-width' , c . scrollbarCaptureWidth )
@@ -385,12 +385,12 @@ function renderColumnCellTree(gd, tableControlView, columnBlock, allColumnBlock)
385
385
386
386
function renderColumnCells ( columnBlock ) {
387
387
388
- var columnCells = columnBlock . selectAll ( '.columnCells' )
388
+ var columnCells = columnBlock . selectAll ( '.' + c . cn . columnCells )
389
389
. data ( gup . repeat , gup . keyFun ) ;
390
390
391
391
columnCells . enter ( )
392
392
. append ( 'g' )
393
- . classed ( ' columnCells' , true ) ;
393
+ . classed ( c . cn . columnCells , true ) ;
394
394
395
395
columnCells . exit ( )
396
396
. remove ( ) ;
@@ -400,12 +400,12 @@ function renderColumnCells(columnBlock) {
400
400
401
401
function renderColumnCell ( columnCells ) {
402
402
403
- var columnCell = columnCells . selectAll ( '.columnCell' )
403
+ var columnCell = columnCells . selectAll ( '.' + c . cn . columnCell )
404
404
. data ( splitData . splitToCells , function ( d ) { return d . keyWithinBlock ; } ) ;
405
405
406
406
columnCell . enter ( )
407
407
. append ( 'g' )
408
- . classed ( ' columnCell' , true ) ;
408
+ . classed ( c . cn . columnCell , true ) ;
409
409
410
410
columnCell . exit ( )
411
411
. remove ( ) ;
@@ -415,24 +415,24 @@ function renderColumnCell(columnCells) {
415
415
416
416
function renderCellRect ( columnCell ) {
417
417
418
- var cellRect = columnCell . selectAll ( '.cellRect' )
418
+ var cellRect = columnCell . selectAll ( '.' + c . cn . cellRect )
419
419
. data ( gup . repeat , function ( d ) { return d . keyWithinBlock ; } ) ;
420
420
421
421
cellRect . enter ( )
422
422
. append ( 'rect' )
423
- . classed ( ' cellRect' , true ) ;
423
+ . classed ( c . cn . cellRect , true ) ;
424
424
425
425
return cellRect ;
426
426
}
427
427
428
428
function renderCellText ( cellTextHolder ) {
429
429
430
- var cellText = cellTextHolder . selectAll ( '.cellText' )
430
+ var cellText = cellTextHolder . selectAll ( '.' + c . cn . cellText )
431
431
. data ( gup . repeat , function ( d ) { return d . keyWithinBlock ; } ) ;
432
432
433
433
cellText . enter ( )
434
434
. append ( 'text' )
435
- . classed ( ' cellText' , true )
435
+ . classed ( c . cn . cellText , true )
436
436
. style ( 'cursor' , function ( ) { return 'auto' ; } )
437
437
. on ( 'mousedown' , function ( ) { d3 . event . stopPropagation ( ) ; } ) ;
438
438
@@ -441,12 +441,12 @@ function renderCellText(cellTextHolder) {
441
441
442
442
function renderCellTextHolder ( columnCell ) {
443
443
444
- var cellTextHolder = columnCell . selectAll ( '.cellTextHolder' )
444
+ var cellTextHolder = columnCell . selectAll ( '.' + c . cn . cellTextHolder )
445
445
. data ( gup . repeat , function ( d ) { return d . keyWithinBlock ; } ) ;
446
446
447
447
cellTextHolder . enter ( )
448
448
. append ( 'g' )
449
- . classed ( ' cellTextHolder' , true )
449
+ . classed ( c . cn . cellTextHolder , true )
450
450
. style ( 'shape-rendering' , 'geometricPrecision' ) ;
451
451
452
452
return cellTextHolder ;
@@ -692,7 +692,7 @@ function makeDragRow(gd, allTableControlView, optionalMultiplier, optionalPositi
692
692
var tableControlView = allTableControlView . filter ( function ( dd ) { return d . key === dd . key ; } ) ;
693
693
var multiplier = optionalMultiplier || d . scrollbarState . dragMultiplier ;
694
694
d . scrollY = optionalPosition === void ( 0 ) ? d . scrollY + multiplier * d3 . event . dy : optionalPosition ;
695
- var cellsColumnBlock = tableControlView . selectAll ( '.yColumn' ) . selectAll ( '.columnBlock' ) . filter ( cellsBlock ) ;
695
+ var cellsColumnBlock = tableControlView . selectAll ( '.' + c . cn . yColumn ) . selectAll ( '.' + c . cn . columnBlock ) . filter ( cellsBlock ) ;
696
696
updateBlockYPosition ( gd , cellsColumnBlock , tableControlView ) ;
697
697
} ;
698
698
}
@@ -749,7 +749,7 @@ function wrapTextMaker(columnBlock, element, tableControlView) {
749
749
cellTextHolder . selectAll ( 'tspan.line' ) . remove ( ) ;
750
750
751
751
// resupply text, now wrapped
752
- populateCellText ( cellTextHolder . select ( '.cellText' ) , tableControlView , columnBlock ) ;
752
+ populateCellText ( cellTextHolder . select ( '.' + c . cn . cellText ) , tableControlView , columnBlock ) ;
753
753
d3 . select ( element . parentNode . parentNode ) . call ( setCellHeightAndPositionY ) ;
754
754
} ;
755
755
}
@@ -774,7 +774,7 @@ function updateYPositionMaker(columnBlock, element, tableControlView, gd, d) {
774
774
l . rows [ rowIndex ] . rowHeight = finalHeight ;
775
775
776
776
columnBlock
777
- . selectAll ( '.columnCell' )
777
+ . selectAll ( '.' + c . cn . columnCell )
778
778
. call ( setCellHeightAndPositionY ) ;
779
779
780
780
updateBlockYPosition ( null , columnBlock . filter ( cellsBlock ) , 0 ) ;
@@ -791,10 +791,10 @@ function updateYPositionMaker(columnBlock, element, tableControlView, gd, d) {
791
791
var element = this ;
792
792
var columnCellElement = element . parentNode ;
793
793
var box = columnCellElement . getBoundingClientRect ( ) ;
794
- var rectBox = d3 . select ( element . parentNode ) . select ( '.cellRect' ) . node ( ) . getBoundingClientRect ( ) ;
794
+ var rectBox = d3 . select ( element . parentNode ) . select ( '.' + c . cn . cellRect ) . node ( ) . getBoundingClientRect ( ) ;
795
795
var currentTransform = element . transform . baseVal . consolidate ( ) ;
796
796
var yPosition = rectBox . top - box . top + ( currentTransform ? currentTransform . matrix . f : c . cellPad ) ;
797
- return 'translate(' + xPosition ( d , d3 . select ( element . parentNode ) . select ( '.cellTextHolder' ) . node ( ) . getBoundingClientRect ( ) . width ) + ' ' + yPosition + ')' ;
797
+ return 'translate(' + xPosition ( d , d3 . select ( element . parentNode ) . select ( '.' + c . cn . cellTextHolder ) . node ( ) . getBoundingClientRect ( ) . width ) + ' ' + yPosition + ')' ;
798
798
} ) ;
799
799
800
800
d . settledY = true ;
@@ -819,7 +819,7 @@ function setCellHeightAndPositionY(columnCell) {
819
819
var yOffset = rowAnchor + headerHeight ;
820
820
return 'translate(0 ' + yOffset + ')' ;
821
821
} )
822
- . selectAll ( '.cellRect' )
822
+ . selectAll ( '.' + c . cn . cellRect )
823
823
. attr ( 'height' , function ( d ) { return getRow ( getBlock ( d ) , d . key ) . rowHeight ; } ) ;
824
824
}
825
825
0 commit comments