| import * as d3 from 'd3'; |
|
|
| declare module 'd3-selection' { |
| export interface Selection<GElement extends d3.BaseType, Datum, PElement extends d3.BaseType, PDatum> { |
| attrs(attributes: { [key: string]: any }): this; |
| styles(styles: { [key: string]: any }): this; |
| } |
| export interface Transition<GElement extends d3.BaseType, Datum, PElement extends d3.BaseType, PDatum> { |
| attrs(attributes: { [key: string]: any }): this; |
| styles(styles: { [key: string]: any }): this; |
| } |
| } |
|
|
| (d3.selection.prototype as any).attrs = function(attrs: any) { |
| for (const name in attrs) { |
| this.attr(name, attrs[name]); |
| } |
| return this; |
| }; |
|
|
| (d3.selection.prototype as any).styles = function(styles: any) { |
| for (const name in styles) { |
| this.style(name, styles[name]); |
| } |
| return this; |
| }; |
|
|
| |
| if ((d3 as any).transition) { |
| ((d3 as any).transition.prototype as any).attrs = function(attrs: any) { |
| for (const name in attrs) { |
| this.attr(name, attrs[name]); |
| } |
| return this; |
| }; |
|
|
| ((d3 as any).transition.prototype as any).styles = function(styles: any) { |
| for (const name in styles) { |
| this.style(name, styles[name]); |
| } |
| return this; |
| }; |
| } |
|
|
|
|