index.d.ts 79 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814
  1. declare namespace google {
  2. /** Legacy https://developers.google.com/chart/interactive/docs/basic_load_libs#updateloader */
  3. function load(visualization: "visualization", version: string | number, options: LoadOptions): void;
  4. function setOnLoadCallback(handler: Function): void;
  5. function setOnLoadCallback(handler: () => void): void;
  6. // https://developers.google.com/chart/interactive/docs/basic_load_libs
  7. namespace charts {
  8. /** Loads with `safeMode` enabled. */
  9. function safeLoad(options: LoadOptions): Promise<void>;
  10. function load(options: LoadOptions): Promise<void>;
  11. function load(version: string | number, options: LoadOptions): Promise<void>;
  12. /** Legacy https://developers.google.com/chart/interactive/docs/basic_load_libs#updateloader */
  13. function load(visualization: "visualization", version: string | number, options: LoadOptions): Promise<void>;
  14. function setOnLoadCallback(handler: Function): void;
  15. }
  16. export interface LoadOptions {
  17. packages?: string | string[] | undefined;
  18. language?: string | undefined;
  19. callback?: Function | undefined;
  20. mapsApiKey?: string | undefined;
  21. safeMode?: boolean | undefined;
  22. /** not documented */
  23. debug?: boolean | undefined;
  24. /** not documented */
  25. pseudo?: boolean | undefined;
  26. /** not documented, looks for charts-version in url query params */
  27. enableUrlSettings?: boolean | undefined;
  28. }
  29. // https://developers.google.com/chart/interactive/docs/reference
  30. namespace visualization {
  31. export function dataTableToCsv(data: DataTable | DataView): string;
  32. export function arrayToDataTable(data: any[], firstRowIsData?: boolean): DataTable;
  33. export interface ChartSpecs {
  34. chartType: string;
  35. container?: HTMLElement | undefined;
  36. containerId?: string | undefined;
  37. options?: Object | undefined;
  38. dataTable?: Object | undefined;
  39. dataSourceUrl?: string | undefined;
  40. query?: string | undefined;
  41. refreshInterval?: number | undefined;
  42. view?: any;
  43. }
  44. export interface ErrorEventObject {
  45. id: string;
  46. message: string;
  47. detailedMessage?: string | undefined;
  48. options?: any;
  49. }
  50. // #region ChartWrapper
  51. // https://developers.google.com/chart/interactive/docs/reference#chartwrapperobject
  52. export class ChartWrapper {
  53. constructor(spec?: ChartSpecs);
  54. draw(container_ref?: HTMLElement): void;
  55. toJSON(): string;
  56. clone(): ChartWrapper;
  57. getDataSourceUrl(): string;
  58. getDataTable(): DataTable;
  59. getChartType(): string;
  60. getChartName(): string;
  61. getChart(): ChartBase | null;
  62. getContainerId(): string;
  63. getQuery(): string;
  64. getRefreshInterval(): number;
  65. getOption(key: string, default_val?: string): any;
  66. getOptions(): Object;
  67. getView(): any;
  68. setDataSourceUrl(url: string): void;
  69. setDataTable(table: DataTable): void;
  70. setChartType(type: string): void;
  71. setChartName(name: string): void;
  72. setContainerId(id: string): void;
  73. setQuery(query: string): void;
  74. setRefreshInterval(interval: number): void;
  75. setOption(key: string, value: any): void;
  76. setOptions(options: Object): void;
  77. setView(view_spec: string): void;
  78. }
  79. // #endregion
  80. // #region data
  81. // https://developers.google.com/chart/interactive/docs/reference#google_visualization_data_group
  82. export interface GroupKeyOptions {
  83. column: number;
  84. type: string;
  85. modifier?: ((value: any) => any) | undefined;
  86. label?: string | undefined;
  87. id?: string | undefined;
  88. }
  89. export interface GroupColumnOptions {
  90. column: number;
  91. aggregation: (values: any[]) => any;
  92. type: string;
  93. label?: string | undefined;
  94. id?: string | undefined;
  95. }
  96. namespace data {
  97. // https://developers.google.com/chart/interactive/docs/reference#data_modifier_functions
  98. function month(value: Date): number;
  99. // https://developers.google.com/chart/interactive/docs/reference#group
  100. function sum(values: readonly number[]): number;
  101. function avg(values: readonly number[]): number;
  102. function min(
  103. values: readonly number[] | readonly string[] | readonly Date[],
  104. ): number | string | Date | null;
  105. function max(
  106. values: readonly number[] | readonly string[] | readonly Date[],
  107. ): number | string | Date | null;
  108. function count(values: readonly any[]): number;
  109. function group(
  110. data: DataTable | DataView,
  111. keys: ReadonlyArray<number | GroupKeyOptions>,
  112. columns?: readonly GroupColumnOptions[],
  113. ): DataTable;
  114. // https://developers.google.com/chart/interactive/docs/reference#join
  115. function join(
  116. dataA: DataTable | DataView,
  117. dataB: DataTable | DataView,
  118. joinMethod: "full" | "inner" | "left" | "right",
  119. keys: ReadonlyArray<[number | string, number | string]>,
  120. columnsA: ReadonlyArray<number | string>,
  121. columnsB: ReadonlyArray<number | string>,
  122. ): DataTable;
  123. }
  124. // #endregion
  125. // #region DataTable
  126. // https://developers.google.com/chart/interactive/docs/reference#DataTable
  127. export class DataTable {
  128. constructor(data?: any, version?: any);
  129. addColumn(type: string, label?: string, id?: string): number;
  130. addColumn(descriptionObject: DataTableColumnDescription): number;
  131. addRow(cellObject: DataObjectCell): number;
  132. addRow(cellArray?: any[]): number;
  133. addRows(numberOfEmptyRows: number): number;
  134. addRows(rows: DataObjectCell[][]): number;
  135. addRows(rows: any[][]): number;
  136. clone(): DataTable;
  137. getColumnId(columnIndex: number): string;
  138. getColumnIndex(columnIdentifier: number | string): number;
  139. getColumnLabel(columnIndex: number): string;
  140. getColumnPattern(columnIndex: number): string;
  141. getColumnProperties(columnIndex: number): Properties;
  142. getColumnProperty(columnIndex: number, name: string): any;
  143. getColumnRange(columnIndex: number): { min: any; max: any };
  144. getColumnRole(columnIndex: number): string;
  145. getColumnType(columnIndex: number): string;
  146. getDistinctValues(columnIndex: number): any[];
  147. getFilteredRows(filters: DataTableCellFilter[]): number[];
  148. getFormattedValue(rowIndex: number, columnIndex: number): string;
  149. getNumberOfColumns(): number;
  150. getNumberOfRows(): number;
  151. getProperty(rowIndex: number, columnIndex: number, name: string): any;
  152. getProperties(rowIndex: number, columnIndex: number): Properties;
  153. getRowProperties(rowIndex: number): Properties;
  154. getRowProperty(rowIndex: number, name: string): any;
  155. getSortedRows(sortColumn: number): number[];
  156. getSortedRows(sortColumn: SortByColumn): number[];
  157. getSortedRows(sortColumns: number[]): number[];
  158. getSortedRows(sortColumns: SortByColumn[]): number[];
  159. getTableProperties(): Properties;
  160. getTableProperty(name: string): any;
  161. getValue(rowIndex: number, columnIndex: number): any;
  162. insertColumn(columnIndex: number, type: string, label?: string, id?: string): void;
  163. insertRows(rowIndex: number, numberOfEmptyRows: number): void;
  164. insertRows(rowIndex: number, rows: DataObjectCell[][]): void;
  165. insertRows(rowIndex: number, rows: any[][]): void;
  166. removeColumn(columnIndex: number): void;
  167. removeColumns(columnIndex: number, numberOfColumns: number): void;
  168. removeRow(rowIndex: number): void;
  169. removeRows(rowIndex: number, numberOfRows: number): void;
  170. setCell(
  171. rowIndex: number,
  172. columnIndex: number,
  173. value?: any,
  174. formattedValue?: string,
  175. properties?: Properties,
  176. ): void;
  177. setColumnLabel(columnIndex: number, label: string): void;
  178. setColumnProperty(columnIndex: number, name: string, value: any): void;
  179. setColumnProperties(columnIndex: number, properties: Properties): void;
  180. setFormattedValue(rowIndex: number, columnIndex: number, formattedValue: string | null): void;
  181. setProperty(rowIndex: number, columnIndex: number, name: string, value: any): void;
  182. setProperties(rowIndex: number, columnIndex: number, properties: Properties): void;
  183. setRowProperty(rowIndex: number, name: string, value: any): void;
  184. setRowProperties(rowIndex: number, properties: Properties): void;
  185. setTableProperty(name: string, value: any): void;
  186. setTableProperties(properties: Properties): void;
  187. setValue(rowIndex: number, columnIndex: number, value: any): void;
  188. sort(sortColumn: number): number[];
  189. sort(sortColumn: SortByColumn): number[];
  190. sort(sortColumns: number[]): number[];
  191. sort(sortColumns: SortByColumn[]): number[];
  192. toJSON(): string;
  193. }
  194. export interface Properties {
  195. [property: string]: any;
  196. }
  197. export interface SortByColumn {
  198. column: number;
  199. desc: boolean;
  200. }
  201. export interface DataTableColumnDescription {
  202. type?: string | undefined;
  203. label?: string | undefined;
  204. id?: string | undefined;
  205. role?: string | undefined;
  206. pattern?: string | undefined;
  207. p?: any;
  208. }
  209. export interface DataObject {
  210. cols: DataObjectColumn[];
  211. rows: DataObjectRow[];
  212. p: any;
  213. }
  214. export interface DataObjectColumn {
  215. type: string;
  216. id?: string | undefined;
  217. label?: string | undefined;
  218. pattern?: string | undefined;
  219. p?: any;
  220. }
  221. export interface DataObjectRow {
  222. c: DataObjectCell[];
  223. p?: any;
  224. }
  225. export interface DataTableCellFilter {
  226. column: number;
  227. value?: any;
  228. minValue?: any;
  229. maxValue?: any;
  230. test?: ((value: any, row?: number, column?: number, data?: DataTable | DataView) => boolean) | undefined;
  231. }
  232. export interface DataObjectCell {
  233. v?: any;
  234. f?: string | undefined;
  235. p?: any;
  236. }
  237. export interface DataTableCellValueFilter extends DataTableCellFilter {
  238. value: any;
  239. }
  240. export interface DataTableCellRangeFilter extends DataTableCellFilter {
  241. minValue?: any;
  242. maxValue?: any;
  243. }
  244. // #endregion
  245. // #region Query
  246. // https://developers.google.com/chart/interactive/docs/reference#query
  247. export class Query {
  248. constructor(dataSourceUrl: string, options?: QueryOptions);
  249. abort(): void;
  250. setRefreshInterval(intervalSeconds: number): void;
  251. setTimeout(timeoutSeconds: number): void;
  252. setQuery(queryString: string): void;
  253. send(callback: (response: QueryResponse) => void): void;
  254. }
  255. export interface QueryOptions {
  256. sendMethod?: string | undefined;
  257. makeRequestParams?: Object | undefined;
  258. }
  259. // #endregion
  260. // #region QueryResponse
  261. // https://developers.google.com/chart/interactive/docs/reference#queryresponse
  262. export class QueryResponse {
  263. constructor(responseObject: Object);
  264. getDataTable(): DataTable;
  265. getDetailedMessage(): string;
  266. getMessage(): string;
  267. getReasons(): string[];
  268. hasWarning(): boolean;
  269. isError(): boolean;
  270. }
  271. // #endregion
  272. // #region DataView
  273. // https://developers.google.com/chart/interactive/docs/reference#DataView
  274. export class DataView {
  275. constructor(data: DataTable | DataView);
  276. getColumnId(columnIndex: number): String;
  277. getColumnLabel(columnIndex: number): string;
  278. getColumnPattern(columnIndex: number): string;
  279. getColumnProperty(columnIndex: number, name: string): any;
  280. getColumnRange(columnIndex: number): { min: any; max: any };
  281. getColumnType(columnIndex: number): string;
  282. getDistinctValues(columnIndex: number): any[];
  283. getFilteredRows(filters: DataTableCellFilter[]): number[];
  284. getFormattedValue(rowIndex: number, columnIndex: number): string;
  285. getNumberOfColumns(): number;
  286. getNumberOfRows(): number;
  287. getProperty(rowIndex: number, columnIndex: number, name: string): any;
  288. getProperties(rowIndex: number, columnIndex: number): Properties;
  289. getRowProperty(rowIndex: number, name: string): any;
  290. getSortedRows(sortColumn: number): number[];
  291. getSortedRows(sortColumn: SortByColumn): number[];
  292. getSortedRows(sortColumns: number[]): number[];
  293. getSortedRows(sortColumns: SortByColumn[]): number[];
  294. getTableProperty(name: string): any;
  295. getValue(rowIndex: number, columnIndex: number): any;
  296. getTableColumnIndex(viewColumnIndex: number): number;
  297. getTableRowIndex(viewRowIndex: number): number;
  298. getViewColumnIndex(tableColumnIndex: number): number;
  299. getViewColumns(): number[];
  300. getViewColumns(): ColumnSpec[];
  301. getViewRowIndex(tableRowIndex: number): number;
  302. getViewRows(): number[];
  303. hideColumns(columnIndexes: number[]): void;
  304. hideRows(min: number, max: number): void;
  305. hideRows(rowIndexes: number[]): void;
  306. setColumns(columnIndexes: number[]): void;
  307. setColumns(columnIndexes: ColumnSpec[]): void;
  308. setColumns(columnIndexes: any[]): void;
  309. setRows(min: number, max: number): void;
  310. setRows(rowIndexes: number[]): void;
  311. toDataTable(): DataTable;
  312. toJSON(): string;
  313. }
  314. export interface ColumnSpec {
  315. calc?: ((data: DataTable, row: number) => any) | undefined;
  316. type?: string | undefined;
  317. label?: string | undefined;
  318. id?: string | undefined;
  319. sourceColumn?: number | undefined;
  320. properties?: Properties | undefined;
  321. role?: string | undefined;
  322. }
  323. // #endregion
  324. // #region GeoChart
  325. // https://developers.google.com/chart/interactive/docs/gallery/geochart
  326. export class GeoChart extends ChartBaseRenderable {
  327. draw(data: DataTable | DataView, options: GeoChartOptions): void;
  328. }
  329. // https://developers.google.com/chart/interactive/docs/gallery/geochart?hl=fr&csw=1#Configuration_Options
  330. export interface GeoChartOptions {
  331. backgroundColor?: string | ChartStrokeFill | undefined;
  332. colorAxis?: ChartColorAxis | undefined;
  333. datalessRegionColor?: string | undefined;
  334. defaultColor?: string | undefined;
  335. displayMode?: string | undefined;
  336. enableRegionInteractivity?: boolean | undefined;
  337. height?: number | undefined;
  338. keepAspectRatio?: boolean | undefined;
  339. legend?: ChartLegend | "none" | undefined;
  340. region?: string | undefined;
  341. magnifyingGlass?: GeoChartMagnifyingGlass | undefined;
  342. markerOpacity?: number | undefined;
  343. resolution?: string | undefined;
  344. sizeAxis?: ChartSizeAxis | undefined;
  345. tooltip?: ChartTooltip | undefined;
  346. width?: number | undefined;
  347. }
  348. export interface GeoChartMagnifyingGlass {
  349. enable?: boolean | undefined;
  350. zoomFactor?: number | undefined;
  351. }
  352. export interface GeoChartRegionClickEvent {
  353. region: string;
  354. }
  355. export interface GeoChartSelection {
  356. row: number;
  357. }
  358. // #endregion
  359. // #region Common
  360. export interface ChartAnnotations {
  361. boxStyle?: ChartBoxStyle | undefined;
  362. textStyle?: ChartTextStyle | undefined;
  363. datum?: ChartStemAndStyle | undefined;
  364. domain?: ChartStemAndStyle | undefined;
  365. highContrast?: boolean | undefined;
  366. stem?: ChartStem | undefined;
  367. style?: string | undefined; // 'line' or 'point'
  368. }
  369. export interface ChartBarColumnAnnotations extends ChartAnnotations {
  370. alwaysOutside?: boolean | undefined;
  371. }
  372. export interface ChartStemAndStyle {
  373. stem?: ChartStem | undefined;
  374. style?: string | undefined;
  375. }
  376. export interface ChartStem {
  377. color?: string | undefined;
  378. length?: number | undefined;
  379. }
  380. export interface ChartBoxStyle {
  381. stroke?: string | undefined;
  382. strokeWidth?: number | undefined;
  383. rx?: number | undefined;
  384. ry?: number | undefined;
  385. gradient?: {
  386. color1: string;
  387. color2: string;
  388. x1: string;
  389. y1: string;
  390. x2: string;
  391. y2: string;
  392. useObjectBoundingBoxUnits?: boolean | undefined;
  393. } | undefined;
  394. }
  395. export interface ChartTextStyle {
  396. fontName?: string | undefined;
  397. fontSize?: number | undefined;
  398. bold?: boolean | undefined;
  399. italic?: boolean | undefined;
  400. color?: string | undefined;
  401. auraColor?: string | undefined;
  402. opacity?: number | undefined;
  403. }
  404. export interface ChartCrosshair {
  405. color?: string | undefined;
  406. focused?: {
  407. color?: string | undefined;
  408. opacity?: number | undefined;
  409. } | undefined;
  410. opacity?: number | undefined;
  411. orientation?: ChartOrientation | undefined;
  412. selected?: {
  413. color?: string | undefined;
  414. opacity?: number | undefined;
  415. } | undefined;
  416. trigger?: string | undefined;
  417. }
  418. export interface ChartExplorer {
  419. actions?: string[] | undefined;
  420. axis?: string | undefined;
  421. keepInBounds?: boolean | undefined;
  422. maxZoomIn?: number | undefined;
  423. maxZoomOut?: number | undefined;
  424. zoomDelta?: number | undefined;
  425. }
  426. export interface ChartStrokeFill extends ChartStroke, ChartFill {
  427. }
  428. export interface ChartStroke {
  429. stroke?: string | undefined;
  430. strokeWidth?: number | undefined;
  431. }
  432. export interface ChartStrokeOpacity extends ChartStroke {
  433. strokeOpacity?: number | undefined;
  434. }
  435. export interface ChartFill {
  436. fill?: string | undefined;
  437. fillOpacity?: number | undefined;
  438. }
  439. export interface ChartArea {
  440. backgroundColor?: string | ChartStrokeFill | undefined;
  441. top?: number | string | undefined;
  442. left?: number | string | undefined;
  443. right?: number | string | undefined;
  444. bottom?: number | string | undefined;
  445. width?: number | string | undefined;
  446. height?: number | string | undefined;
  447. }
  448. export type ChartOrientation = "vertical" | "horizontal";
  449. export type ChartAxisTitlesPosition = "in" | "out" | "none";
  450. export type ChartSelectionMode = "single" | "multiple";
  451. export type ChartLegendPosition = "bottom" | "left" | "in" | "none" | "right" | "top";
  452. export type ChartLegendAlignment = "start" | "center" | "end";
  453. export interface ChartLegend {
  454. alignment?: ChartLegendAlignment | undefined;
  455. maxLines?: number | undefined;
  456. position?: ChartLegendPosition | undefined;
  457. textStyle?: ChartTextStyle | undefined;
  458. numberFormat?: string | undefined;
  459. }
  460. // https://developers.google.com/chart/interactive/docs/animation
  461. export interface TransitionAnimation {
  462. duration?: number | undefined;
  463. easing?: string | undefined; // linear, in, out, inAndOut
  464. startup?: boolean | undefined;
  465. }
  466. export interface ChartAxis {
  467. baseline?: number | undefined; // This option is only supported for a continuous axis. https://developers.google.com/chart/interactive/docs/customizing_axes#Terminology
  468. baselineColor?: string | undefined; // google's documentation on this is wrong, specifies it as a number. The color of the baseline for the horizontal axis. Can be any HTML color string, for example: 'red' or '#00cc00'
  469. direction?: number | undefined; // The direction in which the values along the horizontal axis grow. Specify -1 to reverse the order of the values.
  470. format?: string | undefined; // icu pattern set http://icu-project.org/apiref/icu4c/classDecimalFormat.html#_details
  471. gridlines?: ChartGridlines | undefined;
  472. minorGridlines?: ChartGridlines | undefined;
  473. logScale?: boolean | undefined;
  474. textPosition?: string | undefined;
  475. textStyle?: ChartTextStyle | undefined;
  476. ticks?: any[] | undefined;
  477. title?: string | undefined;
  478. titleTextStyle?: ChartTextStyle | undefined;
  479. allowContainerBoundaryTextCutoff?: boolean | undefined;
  480. slantedText?: boolean | undefined;
  481. slantedTextAngle?: number | undefined;
  482. maxAlternation?: number | undefined;
  483. maxTextLines?: number | undefined;
  484. minTextSpacing?: number | undefined;
  485. showTextEvery?: number | undefined;
  486. maxValue?: number | Date | number[] | undefined;
  487. minValue?: number | Date | number[] | undefined;
  488. viewWindowMode?: string | undefined;
  489. viewWindow?: ChartViewWindow | undefined;
  490. }
  491. export interface ChartGridlines {
  492. color?: string | undefined;
  493. count?: number | undefined;
  494. }
  495. export interface ChartViewWindow {
  496. max?: number | Date | number[] | undefined;
  497. min?: number | Date | number[] | undefined;
  498. }
  499. export interface ChartTooltip {
  500. isHtml?: boolean | undefined;
  501. showColorCode?: boolean | undefined;
  502. textStyle?: ChartTextStyle | undefined;
  503. trigger?: string | undefined;
  504. ignoreBounds?: boolean | undefined;
  505. }
  506. export interface ChartBoundingBox {
  507. left: number;
  508. top: number;
  509. width: number;
  510. height: number;
  511. }
  512. export interface ChartColorAxis {
  513. minValue?: number | undefined;
  514. maxValue?: number | undefined;
  515. values?: number[] | undefined;
  516. colors?: string[] | undefined;
  517. legend?: ChartLegend | undefined;
  518. }
  519. export type ChartPointShape = "circle" | "triangle" | "square" | "diamond" | "star" | "polygon";
  520. export interface ChartLayoutInterface {
  521. getBoundingBox(id: string): ChartBoundingBox;
  522. getChartAreaBoundingBox(): ChartBoundingBox;
  523. getHAxisValue(position: number, axisIndex?: number): number;
  524. getVAxisValue(position: number, axisIndex?: number): number;
  525. getXLocation(position: number, axisIndex?: number): number;
  526. getYLocation(position: number, axisIndex?: number): number;
  527. }
  528. export interface GroupWidth {
  529. groupWidth: any; // number | string
  530. }
  531. export interface ChartSelection {
  532. column?: number | null | undefined;
  533. row?: number | null | undefined;
  534. }
  535. export interface Candlestick {
  536. hollowIsRising?: boolean | undefined;
  537. fallingColor?: ChartStrokeFill | undefined;
  538. risingColor?: ChartStrokeFill | undefined;
  539. }
  540. export interface ChartSeriesOptionsBase {
  541. color?: string | undefined;
  542. }
  543. // https://developers.google.com/chart/interactive/docs/gallery/trendlines
  544. export interface ChartTrendlineOptions {
  545. type?: "linear" | "exponential" | "polynomial" | undefined;
  546. degree?: number | undefined;
  547. color?: string | undefined;
  548. lineWidth?: number | undefined;
  549. opacity?: number | undefined;
  550. pointSize?: number | undefined;
  551. pointsVisible?: boolean | undefined;
  552. labelInLegend?: string | undefined;
  553. visibleInLegend?: boolean | undefined;
  554. showR2?: boolean | undefined;
  555. }
  556. export interface ChartAction {
  557. id: string | number;
  558. text: string;
  559. action: () => void;
  560. }
  561. abstract class ChartBase {
  562. constructor(element: Element);
  563. getContainer(): Element;
  564. getSelection(): ChartSelection[];
  565. setSelection(selection?: ChartSelection[] | null): void;
  566. }
  567. abstract class ChartBaseClearable extends ChartBase {
  568. clearChart(): void;
  569. }
  570. abstract class ChartBaseRenderable extends ChartBaseClearable {
  571. getImageURI(): string;
  572. }
  573. abstract class CoreChartBase extends ChartBaseRenderable {
  574. getAction(id: string | number): ChartAction;
  575. getBoundingBox(id: string): ChartBoundingBox;
  576. getChartAreaBoundingBox(): ChartBoundingBox;
  577. getChartLayoutInterface(): ChartLayoutInterface;
  578. getHAxisValue(position: number, axisIndex?: number): number;
  579. getVAxisValue(position: number, axisIndex?: number): number;
  580. getXLocation(position: number, axisIndex?: number): number;
  581. getYLocation(position: number, axisIndex?: number): number;
  582. removeAction(id: string | number): void;
  583. setAction(action: ChartAction): void;
  584. }
  585. // #endregion
  586. // #region ScatterChart
  587. // https://developers.google.com/chart/interactive/docs/gallery/scatterchart
  588. export class ScatterChart extends CoreChartBase {
  589. draw(data: DataTable | DataView, options?: ScatterChartOptions): void;
  590. }
  591. export interface ScatterChartOptions {
  592. aggregationTarget?: string | undefined;
  593. animation?: TransitionAnimation | undefined;
  594. annotations?: ChartAnnotations | undefined;
  595. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  596. backgroundColor?: string | ChartStrokeFill | undefined;
  597. chartArea?: ChartArea | undefined;
  598. colors?: string[] | undefined;
  599. crosshair?: ChartCrosshair | undefined;
  600. curveType?: "none" | "function" | undefined;
  601. dataOpacity?: number | undefined;
  602. enableInteractivity?: boolean | undefined;
  603. explorer?: ChartExplorer | undefined;
  604. fontSize?: number | undefined;
  605. fontName?: string | undefined;
  606. forceIFrame?: boolean | undefined;
  607. hAxis?: ChartAxis | undefined;
  608. height?: number | undefined;
  609. legend?: ChartLegend | "none" | undefined;
  610. lineWidth?: number | undefined;
  611. orientation?: ChartOrientation | undefined;
  612. pointShape?: ChartPointShape | undefined;
  613. pointSize?: number | undefined;
  614. pointsVisible?: boolean | undefined;
  615. selectionMode?: ChartSelectionMode | undefined;
  616. series?: any;
  617. theme?: string | undefined;
  618. trendlines?: { [key: number]: ChartTrendlineOptions } | undefined;
  619. title?: string | undefined;
  620. titlePosition?: string | undefined;
  621. titleTextStyle?: ChartTextStyle | undefined;
  622. tooltip?: ChartTooltip | undefined;
  623. vAxis?: ChartAxis | undefined;
  624. width?: number | undefined;
  625. }
  626. // #endregion
  627. // #region ColumnChart
  628. // https://developers.google.com/chart/interactive/docs/gallery/columnchart
  629. export class ColumnChart extends CoreChartBase {
  630. draw(data: DataTable | DataView, options: ColumnChartOptions): void;
  631. }
  632. // https://developers.google.com/chart/interactive/docs/gallery/columnchart#configuration-options
  633. export interface ColumnChartOptions {
  634. aggregationTarget?: string | undefined;
  635. animation?: TransitionAnimation | undefined;
  636. annotations?: ChartBarColumnAnnotations | undefined;
  637. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  638. backgroundColor?: string | ChartStrokeFill | undefined;
  639. bar?: GroupWidth | undefined;
  640. chartArea?: ChartArea | undefined;
  641. colors?: string[] | undefined;
  642. enableInteractivity?: boolean | undefined;
  643. explorer?: ChartExplorer | undefined;
  644. focusTarget?: string | undefined;
  645. fontSize?: number | undefined;
  646. fontName?: string | undefined;
  647. hAxis?: ChartAxis | undefined;
  648. height?: number | undefined;
  649. isStacked?: boolean | "percent" | "relative" | "absolute" | undefined;
  650. legend?: ChartLegend | "none" | undefined;
  651. reverseCategories?: boolean | undefined;
  652. selectionMode?: ChartSelectionMode | undefined;
  653. series?: any;
  654. theme?: string | undefined;
  655. title?: string | undefined;
  656. titlePosition?: string | undefined;
  657. titleTextStyle?: ChartTextStyle | undefined;
  658. tooltip?: ChartTooltip | undefined;
  659. vAxes?: any;
  660. vAxis?: ChartAxis | undefined;
  661. width?: number | undefined;
  662. }
  663. // #endregion
  664. // #region LineChart
  665. // https://developers.google.com/chart/interactive/docs/gallery/linechart
  666. export class LineChart extends CoreChartBase {
  667. draw(data: DataTable | DataView, options: LineChartOptions): void;
  668. }
  669. export interface LineChartSeriesOptions extends ChartSeriesOptionsBase {
  670. annotations?: ChartAnnotations | undefined;
  671. curveType?: "none" | "function" | undefined;
  672. pointShape?: ChartPointShape | undefined;
  673. pointSize?: number | undefined;
  674. pointsVisible?: boolean | undefined;
  675. lineWidth?: number | undefined;
  676. lineDashStyle?: number[] | undefined;
  677. visibleInLegend?: boolean | undefined;
  678. labelInLegend?: string | undefined;
  679. targetAxisIndex?: number | undefined;
  680. }
  681. // https://developers.google.com/chart/interactive/docs/gallery/intervals#combining-interval-styles
  682. export interface Intervals {
  683. style?: "area" | "bars" | "boxes" | "line" | "points" | "sticks" | undefined;
  684. color?: string | undefined;
  685. barWidth?: number | undefined;
  686. boxWidth?: number | undefined;
  687. lineWidth?: number | undefined;
  688. pointSize?: number | undefined;
  689. fillOpacity?: number | undefined;
  690. }
  691. // https://developers.google.com/chart/interactive/docs/gallery/linechart#Configuration_Options
  692. export interface LineChartOptions {
  693. aggregationTarget?: string | undefined;
  694. animation?: TransitionAnimation | undefined;
  695. annotations?: ChartAnnotations | undefined;
  696. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  697. backgroundColor?: string | ChartStrokeFill | undefined;
  698. chartArea?: ChartArea | undefined;
  699. colors?: string[] | undefined;
  700. crosshair?: ChartCrosshair | undefined;
  701. curveType?: "none" | "function" | undefined;
  702. dataOpacity?: number | undefined;
  703. enableInteractivity?: boolean | undefined;
  704. explorer?: ChartExplorer | undefined;
  705. focusTarget?: string | undefined;
  706. fontSize?: number | undefined;
  707. fontName?: string | undefined;
  708. hAxis?: ChartAxis | undefined;
  709. height?: number | undefined;
  710. interpolateNulls?: boolean | undefined;
  711. legend?: ChartLegend | "none" | undefined;
  712. lineWidth?: number | undefined;
  713. min?: number | undefined;
  714. orientation?: ChartOrientation | undefined;
  715. reverseCategories?: boolean | undefined;
  716. selectionMode?: ChartSelectionMode | undefined;
  717. series?: LineChartSeriesOptions[] | { [key: number]: LineChartSeriesOptions } | undefined;
  718. domainAxis?: { type: string } | undefined;
  719. trendlines?: { [key: number]: ChartTrendlineOptions } | undefined;
  720. pointShape?: ChartPointShape | undefined;
  721. pointSize?: number | undefined;
  722. pointsVisible?: boolean | undefined;
  723. intervals?: Intervals | undefined;
  724. interval?: any;
  725. theme?: string | undefined;
  726. title?: string | undefined;
  727. titlePosition?: string | undefined;
  728. titleTextStyle?: ChartTextStyle | undefined;
  729. tooltip?: ChartTooltip | undefined;
  730. vAxes?: any;
  731. vAxis?: ChartAxis | undefined;
  732. width?: number | undefined;
  733. }
  734. // #endregion
  735. // #region BarChart
  736. // https://developers.google.com/chart/interactive/docs/gallery/barchart#configuration-options
  737. export interface BarChartOptions {
  738. aggregationTarget?: string | undefined;
  739. animation?: TransitionAnimation | undefined;
  740. annotations?: ChartBarColumnAnnotations | undefined;
  741. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  742. backgroundColor?: string | ChartStrokeFill | undefined;
  743. bar?: GroupWidth | undefined;
  744. chartArea?: ChartArea | undefined;
  745. colors?: string[] | undefined;
  746. dataOpacity?: number | undefined;
  747. enableInteractivity?: boolean | undefined;
  748. focusTarget?: string | undefined;
  749. fontSize?: number | undefined;
  750. fontName?: string | undefined;
  751. hAxes?: any;
  752. hAxis?: ChartAxis | undefined;
  753. height?: number | undefined;
  754. isStacked?: boolean | "percent" | "relative" | "absolute" | undefined;
  755. legend?: ChartLegend | "none" | undefined;
  756. reverseCategories?: boolean | undefined;
  757. series?: any;
  758. theme?: string | undefined;
  759. title?: string | undefined;
  760. titlePosition?: string | undefined;
  761. titleTextStyle?: ChartTextStyle | undefined;
  762. tooltip?: ChartTooltip | undefined;
  763. vAxes?: any;
  764. vAxis?: ChartAxis | undefined;
  765. width?: number | undefined;
  766. }
  767. // https://developers.google.com/chart/interactive/docs/gallery/barchart
  768. export class BarChart extends CoreChartBase {
  769. draw(data: DataTable | DataView, options: BarChartOptions): void;
  770. }
  771. // #endregion
  772. // #region Histogram
  773. // https://developers.google.com/chart/interactive/docs/gallery/histogram
  774. export class Histogram extends CoreChartBase {
  775. draw(data: DataTable | DataView, options: HistogramOptions): void;
  776. }
  777. // https://developers.google.com/chart/interactive/docs/gallery/histogram#configuration-options
  778. export interface HistogramOptions {
  779. animation?: TransitionAnimation | undefined;
  780. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  781. backgroundColor?: string | ChartStrokeFill | undefined;
  782. bar?: GroupWidth | undefined;
  783. chartArea?: ChartArea | undefined;
  784. colors?: string[] | undefined;
  785. dataOpacity?: number | undefined;
  786. enableInteractivity?: boolean | undefined;
  787. focusTarget?: string | undefined;
  788. fontSize?: number | undefined;
  789. fontName?: string | undefined;
  790. hAxis?: ChartAxis | undefined;
  791. histogram?: HistogramHistogramOptions | undefined;
  792. height?: number | undefined;
  793. interpolateNulls?: boolean | undefined;
  794. isStacked?: boolean | "percent" | "relative" | "absolute" | undefined;
  795. legend?: ChartLegend | "none" | undefined;
  796. orientation?: ChartOrientation | undefined;
  797. reverseCategories?: boolean | undefined;
  798. series?: any;
  799. theme?: string | undefined;
  800. title?: string | undefined;
  801. titlePosition?: string | undefined;
  802. titleTextStyle?: ChartTextStyle | undefined;
  803. tooltip?: ChartTooltip | undefined;
  804. vAxes?: any;
  805. vAxis?: ChartAxis | undefined;
  806. width?: number | undefined;
  807. }
  808. export interface HistogramHistogramOptions {
  809. bucketSize?: number | undefined;
  810. hideBucketItems?: boolean | undefined;
  811. lastBucketPercentile?: number | undefined;
  812. }
  813. // #endregion
  814. // #region AreaChart
  815. // https://developers.google.com/chart/interactive/docs/gallery/areachart
  816. export class AreaChart extends CoreChartBase {
  817. draw(data: DataTable | DataView, options: AreaChartOptions): void;
  818. }
  819. // https://developers.google.com/chart/interactive/docs/gallery/areachart#configuration-options
  820. export interface AreaChartOptions {
  821. aggregationTarget?: string | undefined;
  822. animation?: TransitionAnimation | undefined;
  823. annotations?: ChartAnnotations | undefined;
  824. areaOpacity?: number | undefined;
  825. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  826. backgroundColor?: string | ChartStrokeFill | undefined;
  827. chartArea?: ChartArea | undefined;
  828. colors?: string[] | undefined;
  829. crosshair?: ChartCrosshair | undefined;
  830. dataOpacity?: number | undefined;
  831. enableInteractivity?: boolean | undefined;
  832. explorer?: ChartExplorer | undefined;
  833. focusTarget?: string | undefined;
  834. fontSize?: number | undefined;
  835. fontName?: string | undefined;
  836. hAxis?: ChartAxis | undefined;
  837. height?: number | undefined;
  838. interpolateNulls?: boolean | undefined;
  839. isStacked?: boolean | "percent" | "relative" | "absolute" | undefined;
  840. legend?: ChartLegend | "none" | undefined;
  841. lineWidth?: number | undefined;
  842. orientation?: ChartOrientation | undefined;
  843. pointSize?: number | undefined;
  844. reverseCategories?: boolean | undefined;
  845. selectionMode?: ChartSelectionMode | undefined;
  846. series?: any;
  847. theme?: string | undefined;
  848. title?: string | undefined;
  849. titlePosition?: string | undefined;
  850. titleTextStyle?: ChartTextStyle | undefined;
  851. tooltip?: ChartTooltip | undefined;
  852. vAxes?: any;
  853. vAxis?: ChartAxis | undefined;
  854. width?: number | undefined;
  855. }
  856. // #endregion
  857. // #region AnnotationChart
  858. // https://developers.google.com/chart/interactive/docs/gallery/annotationchart
  859. export class AnnotationChart extends ChartBaseClearable {
  860. draw(data: DataTable | DataView, options: AnnotationChartOptions, state?: any): void;
  861. setVisibleChartRange(start: Date, end: Date): void;
  862. getVisibleChartRange(): { start: Date; end: Date };
  863. hideDataColumns(columnIndexes: number | number[]): void;
  864. showDataColumns(columnIndexes: number | number[]): void;
  865. }
  866. // https://developers.google.com/chart/interactive/docs/gallery/annotationchart#Configuration_Options
  867. export interface AnnotationChartOptions {
  868. allowHtml?: boolean | undefined;
  869. allValuesSuffix?: string | undefined;
  870. annotationsWidth?: number | undefined;
  871. colors?: string[] | undefined;
  872. dateFormat?: string | undefined;
  873. displayAnnotations?: boolean | undefined;
  874. displayAnnotationsFilter?: boolean | undefined;
  875. displayDateBarSeparator?: boolean | undefined;
  876. displayExactValues?: boolean | undefined;
  877. displayLegendDots?: boolean | undefined;
  878. displayLegendValues?: boolean | undefined;
  879. displayRangeSelector?: boolean | undefined;
  880. displayZoomButtons?: boolean | undefined;
  881. fill?: number | undefined;
  882. legendPosition?: "sameRow" | "newRow" | undefined;
  883. max?: number | undefined;
  884. min?: number | undefined;
  885. numberFormats?: any;
  886. scaleColumns?: number[] | undefined;
  887. scaleFormat?: string | undefined;
  888. scaleType?: string | undefined;
  889. thickness?: number | undefined;
  890. zoomEndTime?: Date | undefined;
  891. zoomStartTime?: Date | undefined;
  892. }
  893. // #endregion
  894. // #region SteppedAreaChart
  895. // https://developers.google.com/chart/interactive/docs/gallery/areachart
  896. export class SteppedAreaChart extends CoreChartBase {
  897. draw(data: DataTable | DataView, options: SteppedAreaChartOptions): void;
  898. }
  899. // https://developers.google.com/chart/interactive/docs/gallery/steppedareachart#configuration-options
  900. export interface SteppedAreaChartOptions {
  901. aggregationTarget?: string | undefined;
  902. animation?: TransitionAnimation | undefined;
  903. areaOpacity?: number | undefined;
  904. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  905. backgroundColor?: string | ChartStrokeFill | undefined;
  906. chartArea?: ChartArea | undefined;
  907. colors?: string[] | undefined;
  908. connectSteps?: boolean | undefined;
  909. enableInteractivity?: boolean | undefined;
  910. focusTarget?: string | undefined;
  911. fontSize?: number | undefined;
  912. fontName?: string | undefined;
  913. hAxis?: ChartAxis | undefined;
  914. height?: number | undefined;
  915. interpolateNulls?: boolean | undefined;
  916. isStacked?: boolean | "percent" | "relative" | "absolute" | undefined;
  917. legend?: ChartLegend | "none" | undefined;
  918. reverseCategories?: boolean | undefined;
  919. selectionMode?: ChartSelectionMode | undefined;
  920. series?: any;
  921. theme?: string | undefined;
  922. title?: string | undefined;
  923. titlePosition?: string | undefined;
  924. titleTextStyle?: ChartTextStyle | undefined;
  925. tooltip?: ChartTooltip | undefined;
  926. vAxes?: any;
  927. vAxis?: ChartAxis | undefined;
  928. width?: number | undefined;
  929. }
  930. // #endregion
  931. // #region PieChart
  932. // https://developers.google.com/chart/interactive/docs/gallery/piechart
  933. export class PieChart extends CoreChartBase {
  934. draw(data: DataTable | DataView, options: PieChartOptions): void;
  935. }
  936. export interface PieChartLegend {
  937. alignment?: ChartLegendAlignment | undefined;
  938. maxLines?: number | undefined;
  939. position?: "bottom" | "labeled" | "left" | "none" | "right" | "top" | undefined;
  940. textStyle?: ChartTextStyle | undefined;
  941. numberFormat?: string | undefined;
  942. }
  943. // https://developers.google.com/chart/interactive/docs/gallery/piechart#configuration-options
  944. export interface PieChartOptions {
  945. backgroundColor?: string | ChartStrokeFill | undefined;
  946. chartArea?: ChartArea | undefined;
  947. colors?: string[] | undefined;
  948. enableInteractivity?: boolean | undefined;
  949. fontSize?: number | undefined;
  950. fontName?: string | undefined;
  951. height?: number | undefined;
  952. is3D?: boolean | undefined;
  953. legend?: PieChartLegend | "none" | undefined;
  954. pieHole?: number | undefined;
  955. pieSliceBorderColor?: string | undefined;
  956. pieSliceText?: string | undefined;
  957. pieSliceTextStyle?: ChartTextStyle | undefined;
  958. pieStartAngle?: number | undefined;
  959. reverseCategories?: boolean | undefined;
  960. pieResidueSliceColor?: string | undefined;
  961. pieResidueSliceLabel?: string | undefined;
  962. slices?: any;
  963. sliceVisibilityThreshold?: number | undefined;
  964. title?: string | undefined;
  965. titleTextStyle?: ChartTextStyle | undefined;
  966. tooltip?: ChartTooltip | undefined;
  967. width?: number | undefined;
  968. }
  969. // #endregion
  970. // #region BubbleChart
  971. // https://developers.google.com/chart/interactive/docs/gallery/scatterchart
  972. export class BubbleChart extends CoreChartBase {
  973. draw(data: DataTable | DataView, options?: BubbleChartOptions): void;
  974. }
  975. export interface BubbleChartOptions {
  976. animation?: TransitionAnimation | undefined;
  977. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  978. backgroundColor?: string | ChartStrokeFill | undefined;
  979. bubble?: ChartBubble | undefined;
  980. chartArea?: ChartArea | undefined;
  981. colors?: string[] | undefined;
  982. colorAxis?: ChartColorAxis | undefined;
  983. enableInteractivity?: boolean | undefined;
  984. explorer?: ChartExplorer | undefined;
  985. fontSize?: number | undefined;
  986. fontName?: string | undefined;
  987. forceIFrame?: boolean | undefined;
  988. hAxis?: ChartAxis | undefined;
  989. height?: number | undefined;
  990. legend?: ChartLegend | "none" | undefined;
  991. selectionMode?: ChartSelectionMode | undefined;
  992. series?: any;
  993. sizeAxis?: ChartSizeAxis | undefined;
  994. sortBubblesBySize?: boolean | undefined;
  995. theme?: string | undefined;
  996. title?: string | undefined;
  997. titlePosition?: string | undefined;
  998. titleTextStyle?: ChartTextStyle | undefined;
  999. tooltip?: ChartTooltip | undefined;
  1000. vAxis?: ChartAxis | undefined;
  1001. width?: number | undefined;
  1002. }
  1003. export interface ChartBubble {
  1004. opacity?: number | undefined;
  1005. stroke?: string | undefined;
  1006. textStyle?: ChartTextStyle | undefined;
  1007. }
  1008. export interface ChartSizeAxis {
  1009. maxSize?: number | undefined;
  1010. maxValue?: number | undefined;
  1011. minSize?: number | undefined;
  1012. minValue?: number | undefined;
  1013. }
  1014. // #endregion
  1015. // #region TreeMap
  1016. // https://developers.google.com/chart/interactive/docs/gallery/treemap
  1017. export class TreeMap extends ChartBaseClearable {
  1018. draw(data: DataTable | DataView, options?: TreeMapOptions): void;
  1019. goUpAndDraw(): void;
  1020. getMaxPossibleDepth(): number;
  1021. }
  1022. // https://developers.google.com/chart/interactive/docs/gallery/treemap#Configuration_Options
  1023. export interface TreeMapOptions {
  1024. fontColor?: string | undefined;
  1025. fontFamily?: string | undefined;
  1026. fontSize?: number | undefined;
  1027. forceIFrame?: boolean | undefined;
  1028. headerColor?: string | undefined;
  1029. headerHeight?: number | undefined;
  1030. headerHighlightColor?: string | undefined;
  1031. hintOpacity?: number | undefined;
  1032. maxColor?: string | undefined;
  1033. maxDepth?: number | undefined;
  1034. maxHighlightColor?: string | undefined;
  1035. maxPostDepth?: number | undefined;
  1036. maxColorValue?: number | undefined;
  1037. midColor?: string | undefined;
  1038. midHighlightColor?: string | undefined;
  1039. minColor?: string | undefined;
  1040. minHighlightColor?: string | undefined;
  1041. minColorValue?: number | undefined;
  1042. showScale?: boolean | undefined;
  1043. showTooltips?: boolean | undefined;
  1044. textStyle?: ChartTextStyle | undefined;
  1045. title?: string | undefined;
  1046. titleTextStyle?: ChartTextStyle | undefined;
  1047. useWeightedAverageForAggregation?: boolean | undefined;
  1048. }
  1049. // #endregion
  1050. // #region Table
  1051. // https://developers.google.com/chart/interactive/docs/gallery/table
  1052. export class Table extends ChartBaseClearable {
  1053. draw(data: DataTable | DataView, options?: TableOptions): void;
  1054. getSortInfo(): TableSortInfo;
  1055. }
  1056. // https://developers.google.com/chart/interactive/docs/gallery/table#Configuration_Options
  1057. export interface TableOptions {
  1058. allowHtml?: boolean | undefined;
  1059. alternatingRowStyle?: boolean | undefined;
  1060. cssClassNames?: CssClassNames | undefined;
  1061. firstRowNumber?: number | undefined;
  1062. frozenColumns?: number | undefined;
  1063. height?: string | number | undefined;
  1064. page?: string | undefined;
  1065. pageSize?: number | undefined;
  1066. pagingButtons?: number | "both" | "prev" | "next" | "auto" | undefined;
  1067. rtlTable?: boolean | undefined;
  1068. scrollLeftStartPosition?: number | undefined;
  1069. showRowNumber?: boolean | undefined;
  1070. sort?: string | undefined;
  1071. sortAscending?: boolean | undefined;
  1072. sortColumn?: number | undefined;
  1073. startPage?: number | undefined;
  1074. width?: string | number | undefined;
  1075. }
  1076. export interface CssClassNames {
  1077. headerRow?: string | undefined;
  1078. tableRow?: string | undefined;
  1079. oddTableRow?: string | undefined;
  1080. selectedTableRow?: string | undefined;
  1081. hoverTableRow?: string | undefined;
  1082. headerCell?: string | undefined;
  1083. tableCell?: string | undefined;
  1084. rowNumberCell?: string | undefined;
  1085. }
  1086. export interface TableSortInfo {
  1087. column: number;
  1088. ascending: boolean;
  1089. sortedIndexes: number[];
  1090. }
  1091. // #endregion
  1092. // #region Timeline
  1093. // https://developers.google.com/chart/interactive/docs/gallery/timeline
  1094. export class Timeline {
  1095. constructor(element: Element);
  1096. draw(data: DataTable | DataView, options?: TimelineOptions): void;
  1097. clearChart(): void;
  1098. getSelection(): ChartSelection[];
  1099. }
  1100. // https://developers.google.com/chart/interactive/docs/gallery/timeline#Configuration_Options
  1101. export interface TimelineOptions {
  1102. avoidOverlappingGridLines?: boolean | undefined;
  1103. backgroundColor?: string | ChartStrokeFill | undefined;
  1104. colors?: string[] | undefined;
  1105. enableInteractivity?: boolean | undefined;
  1106. fontName?: string | undefined;
  1107. fontSize?: number | undefined;
  1108. forceIFrame?: boolean | undefined;
  1109. height?: number | undefined;
  1110. timeline?: {
  1111. barLabelStyle?: LabelStyle | undefined;
  1112. colorByRowLabel?: boolean | undefined;
  1113. groupByRowLabel?: boolean | undefined;
  1114. rowLabelStyle?: LabelStyle | null | undefined;
  1115. showBarLabels?: boolean | undefined;
  1116. showRowLabels?: boolean | undefined;
  1117. singleColor?: string | null | undefined;
  1118. } | undefined;
  1119. tooltip?: {
  1120. isHtml?: boolean | undefined;
  1121. trigger?: "focus" | "none" | undefined;
  1122. textStyle?: ChartTextStyle | undefined;
  1123. } | undefined;
  1124. width?: number | undefined;
  1125. }
  1126. export interface LabelStyle {
  1127. color: string;
  1128. fontName: string;
  1129. fontSize: number;
  1130. }
  1131. // #endregion
  1132. // #region CandlestickChart
  1133. // https://developers.google.com/chart/interactive/docs/gallery/candlestickchart
  1134. export class CandlestickChart extends CoreChartBase {
  1135. draw(data: DataTable | DataView, options: CandlestickChartOptions): void;
  1136. }
  1137. // https://developers.google.com/chart/interactive/docs/gallery/candlestickchart#Configuration_Options
  1138. export interface CandlestickChartOptions {
  1139. aggregationTarget?: string | undefined;
  1140. animation?: TransitionAnimation | undefined;
  1141. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  1142. backgroundColor?: string | ChartStrokeFill | undefined;
  1143. bar?: GroupWidth | undefined;
  1144. candlestick?: Candlestick | undefined;
  1145. chartArea?: ChartArea | undefined;
  1146. colors?: string[] | undefined;
  1147. enableInteractivity?: boolean | undefined;
  1148. focusTarget?: string | undefined;
  1149. fontSize?: number | undefined;
  1150. fontName?: string | undefined;
  1151. hAxis?: ChartAxis | undefined;
  1152. height?: number | undefined;
  1153. legend?: ChartLegend | "none" | undefined;
  1154. orientation?: ChartOrientation | undefined;
  1155. reverseCategories?: boolean | undefined;
  1156. selectionMode?: ChartSelectionMode | undefined;
  1157. series?: any;
  1158. theme?: string | undefined;
  1159. title?: string | undefined;
  1160. titlePosition?: string | undefined;
  1161. titleTextStyle?: ChartTextStyle | undefined;
  1162. tooltip?: ChartTooltip | undefined;
  1163. vAxes?: any;
  1164. vAxis?: ChartAxis | undefined;
  1165. width?: number | undefined;
  1166. }
  1167. // #endregion
  1168. // #region ComboChart
  1169. // https://developers.google.com/chart/interactive/docs/gallery/combochart
  1170. export class ComboChart extends CoreChartBase {
  1171. draw(data: DataTable | DataView, options: ComboChartOptions): void;
  1172. }
  1173. // https://developers.google.com/chart/interactive/docs/gallery/combochart#configuration-options
  1174. export interface ComboChartOptions {
  1175. aggregationTarget?: string | undefined;
  1176. animation?: TransitionAnimation | undefined;
  1177. annotations?: ChartAnnotations | undefined;
  1178. areaOpacity?: number | undefined;
  1179. axisTitlesPosition?: ChartAxisTitlesPosition | undefined;
  1180. backgroundColor?: string | ChartStrokeFill | undefined;
  1181. bar?: GroupWidth | undefined;
  1182. candlestick?: Candlestick | undefined;
  1183. chartArea?: ChartArea | undefined;
  1184. colors?: string[] | undefined;
  1185. crosshair?: ChartCrosshair | undefined;
  1186. curveType?: "none" | "function" | undefined;
  1187. dataOpacity?: number | undefined;
  1188. enableInteractivity?: boolean | undefined;
  1189. focusTarget?: string | undefined;
  1190. fontSize?: number | undefined;
  1191. fontName?: string | undefined;
  1192. forceIFrame?: boolean | undefined;
  1193. hAxis?: ChartAxis | undefined;
  1194. height?: number | undefined;
  1195. interpolateNulls?: boolean | undefined;
  1196. isStacked?: boolean | undefined;
  1197. legend?: ChartLegend | "none" | undefined;
  1198. lineDashStyle?: number[] | undefined;
  1199. lineWidth?: number | undefined;
  1200. orientation?: ChartOrientation | undefined;
  1201. pointShape?: ChartPointShape | undefined;
  1202. pointSize?: number | undefined;
  1203. pointsVisible?: boolean | undefined;
  1204. reverseCategories?: boolean | undefined;
  1205. selectionMode?: ChartSelectionMode | undefined;
  1206. series?: any;
  1207. seriesType?: string | undefined;
  1208. theme?: string | undefined;
  1209. title?: string | undefined;
  1210. titlePosition?: string | undefined;
  1211. titleTextStyle?: ChartTextStyle | undefined;
  1212. tooltip?: ChartTooltip | undefined;
  1213. vAxes?: any;
  1214. vAxis?: ChartAxis | undefined;
  1215. width?: number | undefined;
  1216. }
  1217. // #endregion
  1218. // #region Dashboard
  1219. // https://developers.google.com/chart/interactive/docs/gallery/controls#dashboard
  1220. export class Dashboard {
  1221. constructor(containerRef: HTMLElement);
  1222. bind(
  1223. controls: ControlWrapper | ControlWrapper[],
  1224. charts: ChartWrapper | ChartWrapper[],
  1225. ): google.visualization.Dashboard;
  1226. draw(data: DataTable | DataView): void;
  1227. getSelection(): Object[];
  1228. }
  1229. // #endregion
  1230. // #region ControlWrapper
  1231. // https://developers.google.com/chart/interactive/docs/gallery/controls#controlwrapperobject
  1232. export class ControlWrapper {
  1233. constructor(opt_spec?: ControlWrapperOptions);
  1234. draw(): void;
  1235. toJSON(): string;
  1236. clone(): ControlWrapper;
  1237. getControlType(): string;
  1238. getControlName(): string;
  1239. getControl(): ControlWrapper;
  1240. getContainerId(): string;
  1241. getOption(key: string, opt_default_val?: any): any;
  1242. getOptions(): Object;
  1243. getState(): Object;
  1244. setControlType(type: string): void;
  1245. setControlName(name: string): void;
  1246. setContainerId(id: number): void;
  1247. setOption(key: string, value: string): void;
  1248. setOptions(options_obj: Object): void;
  1249. setState(state_obj: Object): void;
  1250. }
  1251. export interface ControlWrapperOptions {
  1252. controlType: string;
  1253. containerId: string;
  1254. options?: Object | undefined;
  1255. state?: Object | undefined;
  1256. }
  1257. // #endregion
  1258. // #region calendar
  1259. // https://developers.google.com/chart/interactive/docs/gallery/calendar
  1260. export class Calendar extends ChartBaseClearable {
  1261. draw(data: DataTable | DataView, options?: CalendarOptions): void;
  1262. getBoundingBox(id: string): Object;
  1263. }
  1264. // https://developers.google.com/chart/interactive/docs/gallery/calendar#Configuration_Options
  1265. export interface CalendarOptions {
  1266. calendar?: {
  1267. cellColor?: ChartStrokeOpacity | undefined;
  1268. cellSize?: number | undefined;
  1269. dayOfWeekLabel?: ChartTextStyle | undefined;
  1270. dayOfWeekRightSpace?: number | undefined;
  1271. daysOfWeek?: string | undefined;
  1272. focusedCellColor?: ChartStrokeOpacity | undefined;
  1273. monthLabel?: ChartTextStyle | undefined;
  1274. monthOutlineColor?: ChartStrokeOpacity | undefined;
  1275. underMonthSpace?: number | undefined;
  1276. underYearSpace?: number | undefined;
  1277. unusedMonthOutlineColor?: ChartStrokeOpacity | undefined;
  1278. yearLabel?: ChartTextStyle | undefined;
  1279. } | undefined;
  1280. colorAxis?: {
  1281. colors?: string[] | undefined;
  1282. maxValue?: number | undefined;
  1283. minValue?: number | undefined;
  1284. values?: number[] | undefined;
  1285. } | undefined;
  1286. forceIFrame?: boolean | undefined;
  1287. height?: number | undefined;
  1288. noDataPattern?: {
  1289. backgroundColor: string;
  1290. color: string;
  1291. } | undefined;
  1292. tooltip?: {
  1293. isHtml: boolean;
  1294. } | undefined;
  1295. width?: number | undefined;
  1296. title?: string | undefined;
  1297. }
  1298. // #endregion
  1299. // #region Map
  1300. // https://developers.google.com/chart/interactive/docs/gallery/map
  1301. export class Map extends ChartBase {
  1302. draw(data: DataTable | DataView, options?: MapOptions): void;
  1303. }
  1304. // https://developers.google.com/chart/interactive/docs/gallery/map#Configuration_Options
  1305. export interface MapOptions {
  1306. enableScrollWheel?: boolean | undefined;
  1307. icons?: Object | undefined;
  1308. lineColor?: string | undefined;
  1309. lineWidth?: number | undefined;
  1310. maps: {
  1311. mapTypeId: {
  1312. name?: string | undefined;
  1313. styles?: any[] | undefined;
  1314. };
  1315. };
  1316. mapType?: string | undefined;
  1317. mapTypeIds?: any[] | undefined;
  1318. showInfoWindow?: boolean | undefined;
  1319. showLine?: boolean | undefined;
  1320. showTooltip?: boolean | undefined;
  1321. useMapTypeControl?: boolean | undefined;
  1322. zoomLevel?: number | undefined;
  1323. }
  1324. // #endregion
  1325. // #region Events
  1326. namespace events {
  1327. function addListener(visualization: any, eventName: string, callback: Function): any;
  1328. function addListener(visualization: any, eventName: string, callback: (...args: any[]) => void): any;
  1329. function addOneTimeListener(visualization: any, eventName: string, callback: Function): any;
  1330. function addOneTimeListener(visualization: any, eventName: string, callback: (...args: any[]) => void): any;
  1331. function removeListener(listener: any): void;
  1332. function removeAllListeners(visualization: any): void;
  1333. function trigger(visualization: any, eventName: string, args?: any): void;
  1334. }
  1335. // #endregion
  1336. // #region Formatter
  1337. class DefaultFormatter {
  1338. /**
  1339. * Reformats the data in the specified column.
  1340. *
  1341. * @param data - A DataTable containing the data to reformat. You cannot use a DataView here.
  1342. * @param columnIndex - The zero-based index of the column to format. To format multiple columns, you must call this method multiple times, with different colIndex values.
  1343. */
  1344. format(data: DataTable, columnIndex: number): void;
  1345. }
  1346. export interface ArrowFormatOptions {
  1347. /**
  1348. * A number indicating the base value, used to compare against the cell value. If the cell value is higher, the cell will include a green up arrow; if the cell value is lower, it will include a red down arrow; if the same, no arrow.
  1349. */
  1350. base?: number | undefined;
  1351. }
  1352. /**
  1353. * Adds an up or down arrow, indicating whether the cell value is above or below a specified value.
  1354. */
  1355. export class ArrowFormat extends DefaultFormatter {
  1356. constructor(options?: ArrowFormatOptions);
  1357. }
  1358. export interface BarFormatOptions {
  1359. /**
  1360. * A number that is the base value to compare the cell value against. If the cell value is higher, it will be drawn to the right of the base; if lower, it will be drawn to the left. Default value is 0.
  1361. */
  1362. base?: number | undefined;
  1363. /**
  1364. * A string indicating the negative value section of bars. Possible values are 'red', 'green' and 'blue'; default value is 'red'.
  1365. */
  1366. colorNegative?: string | undefined;
  1367. /**
  1368. * A string indicating the color of the positive value section of bars. Possible values are 'red', 'green' and 'blue'. Default is 'blue'.
  1369. */
  1370. colorPositive?: string | undefined;
  1371. /**
  1372. * A boolean indicating if to draw a 1 pixel dark base line when negative values are present. The dark line is there to enhance visual scanning of the bars. Default value is 'false'.
  1373. */
  1374. drawZeroLine?: boolean | undefined;
  1375. /**
  1376. * The maximum number value for the bar range. Default value is the highest value in the table.
  1377. */
  1378. max?: number | undefined;
  1379. /**
  1380. * The minimum number value for the bar range. Default value is the lowest value in the table.
  1381. */
  1382. min?: number | undefined;
  1383. /**
  1384. * If true, shows values and bars; if false, shows only bars. Default value is true.
  1385. */
  1386. showValue?: boolean | undefined;
  1387. /**
  1388. * Thickness of each bar, in pixels. Default value is 100.
  1389. */
  1390. width?: number | undefined;
  1391. }
  1392. /**
  1393. * Adds a colored bar, the direction and color of which indicates whether the cell value is above or below a specified value.
  1394. */
  1395. export class BarFormat extends DefaultFormatter {
  1396. constructor(options?: BarFormatOptions);
  1397. }
  1398. /**
  1399. * Colors a cell according to whether the values fall within a specified range.
  1400. */
  1401. export class ColorFormat extends DefaultFormatter {
  1402. constructor();
  1403. /**
  1404. * Specifies a foreground color and/or background color to a cell, depending on the cell value. Any cell with a value in the specified from—to range will be assigned color and bgcolor. It is important to realize that the range is non-inclusive, because creating a range from 1—1,000 and a second from 1,000— 2,000 will not cover the value 1,000!
  1405. *
  1406. * @param from - [String, Number, Date, DateTime, or TimeOfDay] The lower boundary (inclusive) of the range, or null. If null, it will match -∞. String boundaries are compared alphabetically against string values.
  1407. * @param to - [String, Number, Date, DateTime, or TimeOfDay] The high boundary (non-inclusive) of the range, or null. If null, it will match +∞. String boundaries are compared alphabetically against string values.
  1408. * @param color - The color to apply to text in matching cells. Values can be either '#RRGGBB' values or defined color constants, (example: '#FF0000' or 'red').
  1409. * @param bgcolor - The color to apply to the background of matching cells. Values can be either '#RRGGBB' values or defined color constants, (example: '#FF0000' or 'red').
  1410. */
  1411. addRange(from: any, to: any, color: string, bgcolor: string): void;
  1412. /**
  1413. * Assigns a background color from a range, according to the cell value. The color is scaled to match the cell's value within a range from a lower boundary color to an upper boundary color. Note that this method cannot compare string values, as addRange() can. Tip: Color ranges are often hard for viewers to gauge accurately; the simplest and easiest to read range is from a fully saturated color to white (e.g., #FF0000—FFFFFF).
  1414. *
  1415. * @param from - [Number, Date, DateTime, or TimeOfDay] The lower boundary (inclusive) of the range, or null. If null, it will match -∞.
  1416. * @param to - [Number, Date, DateTime, or TimeOfDay] The higher boundary (non-inclusive) of the range, or null. If null, it will match +∞.
  1417. * @param color - The color to apply to text in matching cells. This color is the same for all cells, no matter what their value.
  1418. * @param fromBgColor - The background color for cells holding values at the low end of the gradient. Values can be either '#RRGGBB' values or defined color constants, (example: '#FF0000' or 'red').
  1419. * @param toBgColor - The background color for cells holding values at the high end of the gradient. Values can be either '#RRGGBB' values or defined color constants, (example: '#FF0000' or 'red').
  1420. */
  1421. addGradientRange(from: any, to: any, color: string, fromBgColor: string, toBgColor: string): void;
  1422. }
  1423. export interface DateFormatOptions {
  1424. /**
  1425. * A quick formatting option for the date. The following string values are supported, reformatting the date February 28, 2016 as shown:
  1426. * - 'short' - Short format: e.g., "2/28/16"
  1427. * - 'medium' - Medium format: e.g., "Feb 28, 2016"
  1428. * - 'long' - Long format: e.g., "February 28, 2016"
  1429. * You cannot specify both formatType and pattern.
  1430. */
  1431. formatType?: string | undefined;
  1432. /**
  1433. * A custom format pattern to apply to the value, similar to the ICU date and time format.
  1434. * You cannot specify both formatType and pattern.
  1435. * @example
  1436. * var formatter3 = new google.visualization.DateFormat({pattern: "EEE, MMM d, ''yy"});
  1437. */
  1438. pattern?: string | undefined;
  1439. /**
  1440. * The time zone in which to display the date value. This is a numeric value, indicating GMT + this number of time zones (can be negative). Date object are created by default with the assumed time zone of the computer on which they are created; this option is used to display that value in a different time zone. For example, if you created a Date object of 5pm noon on a computer located in Greenwich, England, and specified timeZone to be -5 (options['timeZone'] = -5, or Eastern Pacific Time in the US), the value displayed would be 12 noon.
  1441. */
  1442. timeZone?: number | undefined;
  1443. }
  1444. /**
  1445. * Formats a Date or DateTime value in several different ways, including "January 1, 2009," "1/1/09" and "Jan 1, 2009."
  1446. */
  1447. export class DateFormat extends DefaultFormatter {
  1448. constructor(options: DateFormatOptions);
  1449. /**
  1450. * Returns the formatted value of a given value. This method does not require a DataTable.
  1451. */
  1452. formatValue(value: Date): string;
  1453. }
  1454. export interface NumberFormatOptions {
  1455. /**
  1456. * A character to use as the decimal marker. The default is a dot (.).
  1457. */
  1458. decimalSymbol?: string | undefined;
  1459. /**
  1460. * A number specifying how many digits to display after the decimal. The default is 2. If you specify more digits than the number contains, it will display zeros for the smaller values. Truncated values will be rounded (5 rounded up).
  1461. */
  1462. fractionDigits?: number | undefined;
  1463. /**
  1464. * A character to be used to group digits to the left of the decimal into sets of three. Default is a comma (,).
  1465. */
  1466. groupingSymbol?: string | undefined;
  1467. /**
  1468. * The text color for negative values. No default value. Values can be any acceptable HTML color value, such as "red" or "#FF0000".
  1469. */
  1470. negativeColor?: string | undefined;
  1471. /**
  1472. * A boolean, where true indicates that negative values should be surrounded by parentheses. Default is true.
  1473. */
  1474. negativeParens?: boolean | undefined;
  1475. /**
  1476. * A format string. When provided, all other options are ignored, except negativeColor.
  1477. * The format string is a subset of the ICU pattern set. For instance, {pattern:'#,###%'} will result in output values "1,000%", "750%", and "50%" for values 10, 7.5, and 0.5.
  1478. */
  1479. pattern?: string | undefined;
  1480. /**
  1481. * A string prefix for the value, for example "$".
  1482. */
  1483. prefix?: string | undefined;
  1484. /**
  1485. * A string suffix for the value, for example "%".
  1486. */
  1487. suffix?: string | undefined;
  1488. }
  1489. /**
  1490. * Formats various aspects of numeric values.
  1491. */
  1492. export class NumberFormat extends DefaultFormatter {
  1493. constructor(options?: NumberFormatOptions);
  1494. /**
  1495. * Returns the formatted value of a given value. This method does not require a DataTable.
  1496. */
  1497. formatValue(value: number): string;
  1498. }
  1499. /**
  1500. * Concatenates cell values on the same row into a specified cell, along with arbitrary text.
  1501. */
  1502. export class PatternFormat {
  1503. /**
  1504. * Constructor.
  1505. * Does not take an options object. Instead, it takes a string pattern parameter.
  1506. * This is a string that describes which column values to put into the destination column, along with any arbitrary text. Embed placeholders in your string to indicate a value from another column to embed. The placeholders are {#}, where # is a the index of a source column to use. The index is an index in the srcColumnIndices array from the format() method below. To include a literal { or } character, escape it like this: \{ or \}. To include a literal \ mark, escape it as \\.
  1507. */
  1508. constructor(pattern: string);
  1509. /**
  1510. * The standard formatting call, with a few additional parameters
  1511. *
  1512. * @param dataTable - The DataTable on which to operate.
  1513. * @param srcColumnIndices - An array of one or more (zero-based) column indices to pull as the sources from the underlying DataTable. This will be used as a data source for the pattern parameter in the constructor. The column numbers do not have to be in sorted order.
  1514. * @param opt_dstColumnIndex - The destination column to place the output of the pattern manipulation. If not specified, the first element in srcColumIndices will be used as the destination.
  1515. */
  1516. format(data: DataTable, srcColumnIndices: number[], opt_dstColumnIndex?: number): void;
  1517. }
  1518. // #endregion
  1519. // #region OrgChart
  1520. // https://developers.google.com/chart/interactive/docs/gallery/orgchart
  1521. export class OrgChart extends ChartBase {
  1522. draw(data: DataTable | DataView, options: OrgChartOptions): void;
  1523. collapse(row: number, collapsed: boolean): void;
  1524. getChildrenIndexes(row: number): number[];
  1525. getCollapsedNodes(): number[];
  1526. }
  1527. // https://developers.google.com/chart/interactive/docs/gallery/orgchart#Configuration_Options
  1528. export interface OrgChartOptions {
  1529. allowCollapse?: boolean | undefined;
  1530. allowHtml?: boolean | undefined;
  1531. color?: string | undefined;
  1532. nodeClass?: string | undefined;
  1533. selectedNodeClass?: string | undefined;
  1534. selectionColor?: string | undefined;
  1535. /**
  1536. * Chart size
  1537. * @default 'medium'
  1538. */
  1539. size?: string | undefined;
  1540. }
  1541. // #endregion
  1542. // #region Gantt
  1543. // https://developers.google.com/chart/interactive/docs/gallery/ganttchart
  1544. export class Gantt extends ChartBaseClearable {
  1545. draw(data: DataTable | DataView, options: GanttChartOptions): void;
  1546. }
  1547. // https://developers.google.com/chart/interactive/docs/gallery/ganttchart#configuration-options
  1548. export interface GanttChartOptions {
  1549. backgroundColor?: ChartFill | undefined;
  1550. gantt?: GanttOptions | undefined;
  1551. width?: number | undefined;
  1552. height?: number | undefined;
  1553. }
  1554. export interface GanttOptions {
  1555. arrow?: GanttArrow | undefined;
  1556. barCornerRadius?: number | undefined;
  1557. barHeight?: number | undefined;
  1558. criticalPathEnabled?: boolean | undefined;
  1559. criticalPathStyle?: ChartStroke | undefined;
  1560. defaultStartDate?: Date | number | undefined;
  1561. innerGridHorizLine?: ChartStroke | undefined;
  1562. innerGridTrack?: ChartFill | undefined;
  1563. innerGridDarkTrack?: ChartFill | undefined;
  1564. labelMaxWidth?: number | undefined;
  1565. labelStyle?: LabelStyle | undefined;
  1566. percentEnabled?: boolean | undefined;
  1567. percentStyle?: ChartFill | undefined;
  1568. shadowEnabled?: boolean | undefined;
  1569. shadowStyle?: ChartFill | undefined;
  1570. shadowOffset?: number | undefined;
  1571. sortTasks?: boolean | undefined;
  1572. trackHeight?: number | undefined;
  1573. }
  1574. export interface GanttArrow {
  1575. angle?: number | undefined;
  1576. color?: string | undefined;
  1577. length?: number | undefined;
  1578. radius?: number | undefined;
  1579. spaceAfter?: number | undefined;
  1580. width?: number | undefined;
  1581. }
  1582. // #endregion
  1583. // #region Gauge
  1584. // https://developers.google.com/chart/interactive/docs/gallery/gauge
  1585. // Note: can't extend ChartBaseClearable because Gauge doesn't have getSelection(), setSelection()
  1586. export class Gauge {
  1587. constructor(element: Element);
  1588. getContainer(): Element;
  1589. clearChart(): void;
  1590. draw(data: DataTable | DataView, options: GaugeChartOptions): void;
  1591. }
  1592. // https://developers.google.com/chart/interactive/docs/gallery/gauge#configuration-options
  1593. export interface GaugeChartOptions {
  1594. animation?: TransitionAnimation | undefined;
  1595. forceIFrame?: boolean | undefined;
  1596. width?: number | undefined;
  1597. height?: number | undefined;
  1598. max?: number | undefined;
  1599. min?: number | undefined;
  1600. majorTicks?: string[] | undefined;
  1601. minorTicks?: number | undefined;
  1602. greenColor?: string | undefined;
  1603. greenFrom?: number | undefined;
  1604. greenTo?: number | undefined;
  1605. redColor?: string | undefined;
  1606. redFrom?: number | undefined;
  1607. redTo?: number | undefined;
  1608. yellowColor?: string | undefined;
  1609. yellowFrom?: number | undefined;
  1610. yellowTo?: number | undefined;
  1611. }
  1612. // #endregion
  1613. // #region Sankey
  1614. // https://developers.google.com/chart/interactive/docs/gallery/sankey
  1615. export class Sankey extends ChartBaseClearable {
  1616. draw(data: DataTable | DataView, options: SankeyChartOptions): void;
  1617. }
  1618. // https://developers.google.com/chart/interactive/docs/gallery/sankey#configuration-options
  1619. export interface SankeyChartOptions {
  1620. width?: number | undefined;
  1621. forceIFrame?: boolean | undefined;
  1622. height?: number | undefined;
  1623. sankey?: {
  1624. iterations?: number | undefined;
  1625. link?: {
  1626. color?: string | ChartStrokeFill | undefined;
  1627. colorMode?: "none" | "source" | "target" | "gradient" | undefined;
  1628. colors?: string[] | undefined;
  1629. } | undefined;
  1630. node?: {
  1631. colorMode?: "unique" | undefined;
  1632. colors?: string[] | undefined;
  1633. interactivity?: boolean | undefined;
  1634. label?: ChartTextStyle | undefined;
  1635. labelPadding?: number | undefined;
  1636. nodePadding?: number | undefined;
  1637. width?: number | undefined;
  1638. } | undefined;
  1639. tooltip?: ChartTooltip | undefined;
  1640. } | undefined;
  1641. }
  1642. // #endregion
  1643. }
  1644. }