@types/cal-heatmap
Advanced tools
Comparing version 3.5.30 to 3.5.31
@@ -1,2 +0,2 @@ | ||
// Type definitions for cal-heatmap v3.5.4 | ||
// Type definitions for cal-heatmap v3.5.4 | ||
// Project: https://github.com/wa0x6e/cal-heatmap | ||
@@ -6,510 +6,512 @@ // Definitions by: Chris Baker <https://github.com/RetroChrisB/> | ||
/// <reference types="d3" /> | ||
import * as d3 from "d3"; | ||
declare namespace CalHeatMap | ||
{ | ||
interface CalHeatMapStatic | ||
declare global { | ||
namespace CalHeatMap | ||
{ | ||
new (): CalHeatMap; | ||
} | ||
interface CalHeatMapStatic | ||
{ | ||
new (): CalHeatMap; | ||
} | ||
interface CalHeatMap | ||
{ | ||
/** | ||
* Initialise the CalHeatMap with the specified options | ||
* @param {InitOptions} options The CalHeatMap options | ||
*/ | ||
init(options?: InitOptions): void; | ||
interface CalHeatMap | ||
{ | ||
/** | ||
* Initialise the CalHeatMap with the specified options | ||
* @param {InitOptions} options The CalHeatMap options | ||
*/ | ||
init(options?: InitOptions): void; | ||
options: RuntimeOptions; | ||
options: RuntimeOptions; | ||
// Various update mode when using the update() API | ||
/** Reset the whole calendar data before inserting the new data. */ | ||
RESET_ALL_ON_UPDATE: number; | ||
/** | ||
* Update only the dates (subDomain) you pass in the data argument, replace their value by the new ones. | ||
* All other dates are leaved untouched. | ||
*/ | ||
RESET_SINGLE_ON_UPDATE: number; | ||
/** | ||
* Instead of replacing a date's value by a new one, increment it by the new value. All other dates are leaved untouched. | ||
* That's the one you want to use of you're populating the calendar in realtime! | ||
*/ | ||
APPEND_ON_UPDATE: number; | ||
// Various update mode when using the update() API | ||
/** Reset the whole calendar data before inserting the new data. */ | ||
RESET_ALL_ON_UPDATE: number; | ||
/** | ||
* Update only the dates (subDomain) you pass in the data argument, replace their value by the new ones. | ||
* All other dates are leaved untouched. | ||
*/ | ||
RESET_SINGLE_ON_UPDATE: number; | ||
/** | ||
* Instead of replacing a date's value by a new one, increment it by the new value. All other dates are leaved untouched. | ||
* That's the one you want to use of you're populating the calendar in realtime! | ||
*/ | ||
APPEND_ON_UPDATE: number; | ||
/** | ||
* Shift the calendar n domains back | ||
* @param {number} n The number of domains to shift back. The default is 1. | ||
*/ | ||
previous(n?: number): void; | ||
/** | ||
* Shift the calendar n domains forward | ||
* @param {number} n The number of domains to shift forward. The default is 1. | ||
*/ | ||
next(n?: number): void; | ||
/** | ||
* Jump the calendar to the specified date | ||
* This method will shift the calendar backward or forward, until the domain containing the specified date is visible. | ||
* @param {Date} date The date to jump to. | ||
* @param {boolean} reset Whether to set the domain with the specified as the calendar's first domain. | ||
*/ | ||
jumpTo(date: Date, reset?: boolean): void; | ||
/** Reset the calendar back to the start date */ | ||
rewind(): void; | ||
/** | ||
* Update the calendar with new data | ||
* Use update() when you want to refresh the calendar with a new set of data. | ||
* Particularly useful if you're filling the calendar in realtime, or if you want to display a subset of the current data. | ||
* @param {string|Object} data Accept the same format as the data option. | ||
* @param {} afterLoad Whether to execute the afterLoad() callback to convert your data into the json object, expected by cal-heatmap. | ||
* It can also directly takes a function, in case your data can not be converted with the afterLoad() function you defined. | ||
* @param {} updateMode Define how to insert the new data into the calendar. | ||
* Accepted values are: | ||
* Instance.RESET_ALL_ON_UPDATE (default) Reset the whole calendar data before inserting the new data. | ||
* Instance.RESET_SINGLE_ON_UPDATE Update only the dates (subDomain) you pass in the data argument, | ||
* replace their value by the new ones. All other dates are leaved untouched. | ||
* Instance.APPEND_ON_UPDATE Instead of replacing a date's value by a new one, increment it by the new value. | ||
* All other dates are leaved untouched. That's the one you want to use of you're | ||
* populating the calendar in realtime! | ||
*/ | ||
update(data: string | Object, afterLoad?: boolean | Function, updateMode?: number): void; | ||
/** | ||
* Change the highlighted dates. | ||
* Takes an array of Date object. Can also accepts the now string, equivalent to Date.now(). | ||
* @param {string|Date|Date[]} dates The date or dates to highlight. | ||
*/ | ||
highlight(dates: string | Date | Date[]): void; | ||
/** | ||
* Return the SVG source code with the appropriate CSS | ||
* The returned string code is valid and ready to be placed in a .svg file. | ||
* @returns SVG source code with the appropriate CSS. | ||
*/ | ||
getSVG(): string; | ||
/** | ||
* Change the legend settings and/or threshold | ||
* When called without arguments, setLegend() will just redraw the legend. | ||
* @param {} legend Same as legend : an array of thresholds | ||
* @param {} legendColor Same as legendColors : an object with the heatmap's colors, or an array of 2 colors | ||
*/ | ||
setLegend(legend?: number[], legendColors?: LegendColor | string[]): void; | ||
/** | ||
* Remove the legend from the calendar | ||
* Settings are kept and you can re-add the legend with the same settings using showLegend(). | ||
*/ | ||
removeLegend(): void; | ||
/** Display the legend, if not already shown. */ | ||
showLegend(): void; | ||
/** | ||
* Remove the calendar from the DOM | ||
* Remember to self-assign the result of destroy() to your calendar instance, or it'll lead to a memory leak. | ||
* @param {Function} callback function that will be executed when the calendar is removed from the DOM, at the end of the animation. | ||
* @returns always returns null. | ||
*/ | ||
destroy(callback?: Function): CalHeatMap; | ||
} | ||
/** | ||
* Shift the calendar n domains back | ||
* @param {number} n The number of domains to shift back. The default is 1. | ||
*/ | ||
previous(n?: number): void; | ||
/** | ||
* Shift the calendar n domains forward | ||
* @param {number} n The number of domains to shift forward. The default is 1. | ||
*/ | ||
next(n?: number): void; | ||
/** | ||
* Jump the calendar to the specified date | ||
* This method will shift the calendar backward or forward, until the domain containing the specified date is visible. | ||
* @param {Date} date The date to jump to. | ||
* @param {boolean} reset Whether to set the domain with the specified as the calendar's first domain. | ||
*/ | ||
jumpTo(date: Date, reset?: boolean): void; | ||
/** Reset the calendar back to the start date */ | ||
rewind(): void; | ||
/** | ||
* Update the calendar with new data | ||
* Use update() when you want to refresh the calendar with a new set of data. | ||
* Particularly useful if you're filling the calendar in realtime, or if you want to display a subset of the current data. | ||
* @param {string|Object} data Accept the same format as the data option. | ||
* @param {} afterLoad Whether to execute the afterLoad() callback to convert your data into the json object, expected by cal-heatmap. | ||
* It can also directly takes a function, in case your data can not be converted with the afterLoad() function you defined. | ||
* @param {} updateMode Define how to insert the new data into the calendar. | ||
* Accepted values are: | ||
* Instance.RESET_ALL_ON_UPDATE (default) Reset the whole calendar data before inserting the new data. | ||
* Instance.RESET_SINGLE_ON_UPDATE Update only the dates (subDomain) you pass in the data argument, | ||
* replace their value by the new ones. All other dates are leaved untouched. | ||
* Instance.APPEND_ON_UPDATE Instead of replacing a date's value by a new one, increment it by the new value. | ||
* All other dates are leaved untouched. That's the one you want to use of you're | ||
* populating the calendar in realtime! | ||
*/ | ||
update(data: string | Object, afterLoad?: boolean | Function, updateMode?: number): void; | ||
/** | ||
* Change the highlighted dates. | ||
* Takes an array of Date object. Can also accepts the now string, equivalent to Date.now(). | ||
* @param {string|Date|Date[]} dates The date or dates to highlight. | ||
*/ | ||
highlight(dates: string | Date | Date[]): void; | ||
/** | ||
* Return the SVG source code with the appropriate CSS | ||
* The returned string code is valid and ready to be placed in a .svg file. | ||
* @returns SVG source code with the appropriate CSS. | ||
*/ | ||
getSVG(): string; | ||
/** | ||
* Change the legend settings and/or threshold | ||
* When called without arguments, setLegend() will just redraw the legend. | ||
* @param {} legend Same as legend : an array of thresholds | ||
* @param {} legendColor Same as legendColors : an object with the heatmap's colors, or an array of 2 colors | ||
*/ | ||
setLegend(legend?: number[], legendColors?: LegendColor | string[]): void; | ||
/** | ||
* Remove the legend from the calendar | ||
* Settings are kept and you can re-add the legend with the same settings using showLegend(). | ||
*/ | ||
removeLegend(): void; | ||
/** Display the legend, if not already shown. */ | ||
showLegend(): void; | ||
/** | ||
* Remove the calendar from the DOM | ||
* Remember to self-assign the result of destroy() to your calendar instance, or it'll lead to a memory leak. | ||
* @param {Function} callback function that will be executed when the calendar is removed from the DOM, at the end of the animation. | ||
* @returns always returns null. | ||
*/ | ||
destroy(callback?: Function): CalHeatMap; | ||
} | ||
interface LegendColor | ||
{ | ||
/** Color of the smallest value on the legend */ | ||
min: string; | ||
/** Color of the highest value on the legend */ | ||
max: string; | ||
/** Color for the dates with value == 0 */ | ||
empty?: string; | ||
/** Base color of the date cells */ | ||
base?: string; | ||
/** Color for the special value */ | ||
overflow?: string; | ||
} | ||
interface LegendColor | ||
{ | ||
/** Color of the smallest value on the legend */ | ||
min: string; | ||
/** Color of the highest value on the legend */ | ||
max: string; | ||
/** Color for the dates with value == 0 */ | ||
empty?: string; | ||
/** Base color of the date cells */ | ||
base?: string; | ||
/** Color for the special value */ | ||
overflow?: string; | ||
} | ||
interface InitOptions | ||
{ | ||
// ================================================ | ||
// Presentation | ||
// ================================================ | ||
interface InitOptions | ||
{ | ||
// ================================================ | ||
// Presentation | ||
// ================================================ | ||
/** DOM node to insert the calendar in. Default: "#cal-heatmap" */ | ||
itemSelector?: string | HTMLElement | Element | EventTarget; | ||
/** DOM node to insert the calendar in. Default: "#cal-heatmap" */ | ||
itemSelector?: string | HTMLElement | Element | EventTarget; | ||
/** | ||
* Type of domain. Default: "hour" | ||
* Valid domains: {"hour", "day", "week", "month", "year"} | ||
*/ | ||
domain?: string; | ||
/** | ||
* Type of domain. Default: "hour" | ||
* Valid domains: {"hour", "day", "week", "month", "year"} | ||
*/ | ||
domain?: string; | ||
/** | ||
* Type of subDomain. Default: "min" | ||
* Valid subDomains: {"min", "x_min", "hour", "x_hour", "day", "x_day", "week", "x_week", "month", "x_month"} | ||
*/ | ||
subDomain?: string; | ||
/** | ||
* Type of subDomain. Default: "min" | ||
* Valid subDomains: {"min", "x_min", "hour", "x_hour", "day", "x_day", "week", "x_week", "month", "x_month"} | ||
*/ | ||
subDomain?: string; | ||
/** Number of domain to display. Default: 12 */ | ||
range?: number; | ||
/** Number of domain to display. Default: 12 */ | ||
range?: number; | ||
/** Size of each subDomain cell, in pixels. Default: 10 */ | ||
cellSize?: number; | ||
/** Size of each subDomain cell, in pixels. Default: 10 */ | ||
cellSize?: number; | ||
/** Space between each subDomain cell, in pixel. Default: 2 */ | ||
cellPadding?: number; | ||
/** Space between each subDomain cell, in pixel. Default: 2 */ | ||
cellPadding?: number; | ||
/** subDomain cell's border radius, for rounder corner, in pixel. Default: 0 */ | ||
cellRadius?: number; | ||
/** subDomain cell's border radius, for rounder corner, in pixel. Default: 0 */ | ||
cellRadius?: number; | ||
/** Space between each domain, in pixel. Default: 2 */ | ||
domainGutter?: number; | ||
/** Space between each domain, in pixel. Default: 2 */ | ||
domainGutter?: number; | ||
/** | ||
* Margin around each domain, in pixel. Default: [0,0,0,0] | ||
* Ordered like in CSS (top, right, bottom, left), it also accepts CSS like values | ||
*/ | ||
domainMargin?: number | number[]; | ||
/** | ||
* Margin around each domain, in pixel. Default: [0,0,0,0] | ||
* Ordered like in CSS (top, right, bottom, left), it also accepts CSS like values | ||
*/ | ||
domainMargin?: number | number[]; | ||
/** | ||
* Whether to enable domain dynamic width and height. Default: true | ||
* Some domain>subdomain couple, like month>days, doesn't always have the same number of | ||
* subDomain cells. Some months have 6 weeks, some only 4. | ||
* With dynamic dimension enabled, the domain width and height will be adjusted to fit the | ||
* domain content, whereas when it's disabled, all domains will have the same dimension : the biggest. | ||
*/ | ||
domainDynamicDimension?: boolean; | ||
/** | ||
* Whether to enable domain dynamic width and height. Default: true | ||
* Some domain>subdomain couple, like month>days, doesn't always have the same number of | ||
* subDomain cells. Some months have 6 weeks, some only 4. | ||
* With dynamic dimension enabled, the domain width and height will be adjusted to fit the | ||
* domain content, whereas when it's disabled, all domains will have the same dimension : the biggest. | ||
*/ | ||
domainDynamicDimension?: boolean; | ||
/** To display the calendar vertically, with each domain one under the other. Default: false */ | ||
verticalOrientation?: boolean; | ||
/** To display the calendar vertically, with each domain one under the other. Default: false */ | ||
verticalOrientation?: boolean; | ||
/** Position and alignment of the domain label. */ | ||
label?: Label; | ||
/** Position and alignment of the domain label. */ | ||
label?: Label; | ||
/** | ||
* Control the number of columns to split the domain dates into. Default: null | ||
* Each domain is split into an arbitrary number of columns (or rows depending on the | ||
* reading direction). You can overwrite that number with colLimit, and force all dates on the | ||
* same line, or split them into more columns. | ||
* That setting limit the maximum number of columns, and doesn't necessary means that each rows will | ||
* contains that number of columns. | ||
*/ | ||
colLimit?: number; | ||
/** | ||
* Control the number of columns to split the domain dates into. Default: null | ||
* Each domain is split into an arbitrary number of columns (or rows depending on the | ||
* reading direction). You can overwrite that number with colLimit, and force all dates on the | ||
* same line, or split them into more columns. | ||
* That setting limit the maximum number of columns, and doesn't necessary means that each rows will | ||
* contains that number of columns. | ||
*/ | ||
colLimit?: number; | ||
/** Control the number of rows to split the domain dates into. Default: null | ||
* If rowLimit and colLimit are both used, rowLimit will be ignored. */ | ||
rowLimit?: number; | ||
/** Control the number of rows to split the domain dates into. Default: null | ||
* If rowLimit and colLimit are both used, rowLimit will be ignored. */ | ||
rowLimit?: number; | ||
/** Whether to display a tooltip when hovering over a date. Default: false */ | ||
tooltip?: boolean; | ||
/** Whether to display a tooltip when hovering over a date. Default: false */ | ||
tooltip?: boolean; | ||
// ================================================ | ||
// Data | ||
// ================================================ | ||
// ================================================ | ||
// Data | ||
// ================================================ | ||
/** | ||
* Starting date of the calendar. Default: new Date() | ||
* It doesn't have to be precise, the calendar will not start at that date, but at the first domain containing that date. | ||
*/ | ||
start?: Date; | ||
/** | ||
* Data used to fill the calendar. Default: "" | ||
* String is interpreted as a URL to an API, which should be returning the data used to fill the calendar. | ||
*/ | ||
/** | ||
* Starting date of the calendar. Default: new Date() | ||
* It doesn't have to be precise, the calendar will not start at that date, but at the first domain containing that date. | ||
*/ | ||
start?: Date; | ||
/** | ||
* Data used to fill the calendar. Default: "" | ||
* String is interpreted as a URL to an API, which should be returning the data used to fill the calendar. | ||
*/ | ||
data?: string | Object; | ||
data?: string | Object; | ||
/** | ||
* Engine used to parse the data. Default: json | ||
* Valid values: | ||
* "json" - Interpret the data as json. | ||
* "csv" - Interpret the data as csv. | ||
* "tsv" - Interpret the data exactly like csv, but are delimited with a tab character, instead of comma. | ||
* "txt" - Just return the data as a string. | ||
*/ | ||
dataType?: string; | ||
/** | ||
* Engine used to parse the data. Default: json | ||
* Valid values: | ||
* "json" - Interpret the data as json. | ||
* "csv" - Interpret the data as csv. | ||
* "tsv" - Interpret the data exactly like csv, but are delimited with a tab character, instead of comma. | ||
* "txt" - Just return the data as a string. | ||
*/ | ||
dataType?: string; | ||
/** | ||
* Highlight selected subDomain cells. Default: false | ||
* Takes an array of Date object. Can also accepts the now string, equivalent to Date.now(). | ||
*/ | ||
highlight?: string | string[] | Date[] | any[]; | ||
/** | ||
* Highlight selected subDomain cells. Default: false | ||
* Takes an array of Date object. Can also accepts the now string, equivalent to Date.now(). | ||
*/ | ||
highlight?: string | string[] | Date[] | any[]; | ||
/** Whether to start the week on Monday, instead of Sunday. Default: true */ | ||
weekStartOnMonday?: boolean; | ||
/** Whether to start the week on Monday, instead of Sunday. Default: true */ | ||
weekStartOnMonday?: boolean; | ||
/** | ||
* Lower limit of the domain navigation, preventing navigating beyond a certain date. Default: null | ||
* When set, calling previous() will only work only until the leftmost domain containing minDate. | ||
* Like with start, minDate does not have to be precise, and just have to be a date inside the domain. | ||
* previous() will always return true, unless the domain containing minDate is reached, in which case, it'll return false. | ||
*/ | ||
minDate?: Date; | ||
/** | ||
* Lower limit of the domain navigation, preventing navigating beyond a certain date. Default: null | ||
* When set, calling previous() will only work only until the leftmost domain containing minDate. | ||
* Like with start, minDate does not have to be precise, and just have to be a date inside the domain. | ||
* previous() will always return true, unless the domain containing minDate is reached, in which case, it'll return false. | ||
*/ | ||
minDate?: Date; | ||
/** Upper limit of the domain navigation, preventing navigating beyond a certain date. Default: null */ | ||
maxDate?: Date; | ||
/** Upper limit of the domain navigation, preventing navigating beyond a certain date. Default: null */ | ||
maxDate?: Date; | ||
/** | ||
* Whether to consider missing date:value couple in the data source as equal to 0. Default: false | ||
* By default, when the a date is not associated to a value, it's considered as null, and rendered as a no value cell. | ||
* You should ask yourself, if the API is not returning result for a date, is it because there is really no value | ||
* associated to this date, or because it's supposed to be equal to 0, and it's skipped in order to save bandwidth ? | ||
*/ | ||
considerMissingDataAsZero?: boolean; | ||
/** | ||
* Whether to consider missing date:value couple in the data source as equal to 0. Default: false | ||
* By default, when the a date is not associated to a value, it's considered as null, and rendered as a no value cell. | ||
* You should ask yourself, if the API is not returning result for a date, is it because there is really no value | ||
* associated to this date, or because it's supposed to be equal to 0, and it's skipped in order to save bandwidth ? | ||
*/ | ||
considerMissingDataAsZero?: boolean; | ||
// ================================================ | ||
// Legend | ||
// ================================================ | ||
// ================================================ | ||
// Legend | ||
// ================================================ | ||
/** Assign each range of values to a color. Default: [10, 20, 30, 40] */ | ||
legend?: number[]; | ||
/** Assign each range of values to a color. Default: [10, 20, 30, 40] */ | ||
legend?: number[]; | ||
/** Whether to display the legend. Default: true */ | ||
displayLegend?: boolean; | ||
/** Whether to display the legend. Default: true */ | ||
displayLegend?: boolean; | ||
/** Size of the legend cells, in pixels. Default: 10 */ | ||
legendCellSize?: number; | ||
/** Size of the legend cells, in pixels. Default: 10 */ | ||
legendCellSize?: number; | ||
/** Padding between each legend cell, in pixels. Default: 2 */ | ||
legendCellPadding?: number; | ||
/** Padding between each legend cell, in pixels. Default: 2 */ | ||
legendCellPadding?: number; | ||
/** Margin around the legend, in pixels. Default: [10, 0, 0, 0] */ | ||
legendMargin?: number | number[]; | ||
/** Margin around the legend, in pixels. Default: [10, 0, 0, 0] */ | ||
legendMargin?: number | number[]; | ||
/** | ||
* Vertical position of the legend. Default: "bottom" | ||
* Valid values: | ||
* "top" - Place the legend above the calendar | ||
* "center" - Place the legend on the calendar's side | ||
* Use with legendHorizontalPosition, to position the legend on the left (default) or on the right. | ||
* "bottom" - Place the legend on below the calendar | ||
*/ | ||
legendVerticalPosition?: string; | ||
/** | ||
* Vertical position of the legend. Default: "bottom" | ||
* Valid values: | ||
* "top" - Place the legend above the calendar | ||
* "center" - Place the legend on the calendar's side | ||
* Use with legendHorizontalPosition, to position the legend on the left (default) or on the right. | ||
* "bottom" - Place the legend on below the calendar | ||
*/ | ||
legendVerticalPosition?: string; | ||
/** | ||
* Horizontal position of the legend. Default: "left" | ||
* Valid values: | ||
* "left" - Align the legend to the left | ||
* "center" - Center the legend | ||
* "right" - Align the legend to the right | ||
*/ | ||
legendHorizontalPosition?: string; | ||
/** | ||
* Horizontal position of the legend. Default: "left" | ||
* Valid values: | ||
* "left" - Align the legend to the left | ||
* "center" - Center the legend | ||
* "right" - Align the legend to the right | ||
*/ | ||
legendHorizontalPosition?: string; | ||
/** | ||
* Orientation of the legend. Default: "horizontal" | ||
* legendOrientation is best used together with legendHorizontalPosition when the legend is positioned on the side. | ||
* Valid values: | ||
* "horizontal" - Legend is displayed horizontally, from left to right | ||
* "vertical" - Legend is displayed vertically, from top to bottom | ||
*/ | ||
legendOrientation?: string; | ||
/** | ||
* Orientation of the legend. Default: "horizontal" | ||
* legendOrientation is best used together with legendHorizontalPosition when the legend is positioned on the side. | ||
* Valid values: | ||
* "horizontal" - Legend is displayed horizontally, from left to right | ||
* "vertical" - Legend is displayed vertically, from top to bottom | ||
*/ | ||
legendOrientation?: string; | ||
/** | ||
* Set of colors to automagically compute the heatmap colors. | ||
* Instead of relying on the CSS for your heatmap's colors, you can also set the heatmap's colors directly with | ||
* cal-heatmap on initialization, or even dynamically change them after. | ||
* All legend settings can be changed dynamically after calendar initialisation, with setLegend(). | ||
*/ | ||
legendColors?: LegendColor | string[]; | ||
/** | ||
* Set of colors to automagically compute the heatmap colors. | ||
* Instead of relying on the CSS for your heatmap's colors, you can also set the heatmap's colors directly with | ||
* cal-heatmap on initialization, or even dynamically change them after. | ||
* All legend settings can be changed dynamically after calendar initialisation, with setLegend(). | ||
*/ | ||
legendColors?: LegendColor | string[]; | ||
// ================================================ | ||
// i18n | ||
// ================================================ | ||
// ================================================ | ||
// i18n | ||
// ================================================ | ||
/** | ||
* Name of the entity you're representing on the calendar. | ||
* Takes an array of string, with the first index as the singular form, and the second index the plural form. | ||
* For the lazy, you can also pass a simple string, ar a single element array, and it'll automatically guess | ||
* the plural form, as long as it's the singular form plus the "s" suffix. | ||
*/ | ||
itemName?: string | string[]; | ||
/** | ||
* Format of the title displayed when hovering a subDomain. | ||
* Some template strings are available, and enclosed in braces. | ||
* {name} Name of the entity represented in the calendar (see itemName) | ||
* {count} The value associated to the date. | ||
* {date} The date of the cell. It's automatically formatted according to the type of subDomain. | ||
* See subDomainDateFormat to further customize that date formatting. | ||
* {connector} An English preposition placed before a datetime (on Monday, at 15:00, etc.). Each subDomain | ||
* have their own default connector, corresponding to the default date format. | ||
*/ | ||
subDomainTitleFormat?: SubDomainFormatTemplates; | ||
/** | ||
* Format of the {date} template string inside subDomainTitleFormat. | ||
* {date} is by default formatted according to the subDomain type. | ||
* subDomainFormat can accept any string with directive accepted by d3.time.format(), like "%Y-%m-%d". | ||
* As d3.time.format() will only output English dates, subDomainDateFormat can also accept a function, | ||
* with the subDomain date as the argument. | ||
*/ | ||
subDomainDateFormat?: string | Function; | ||
/** | ||
* Format of the text inside a subDomain cell. | ||
* Disabled by default, you can display a text inside each subDomain cell. | ||
* Works exactly like subDomainDateFormat, except that the function takes the cell value as second argument. | ||
*/ | ||
subDomainTextFormat?: string | Function; | ||
/** | ||
* Format of the domain label. | ||
* Works exactly like subDomainDateFormat, and will format the domain label with any string accepted by d3.time.format(), or a function. | ||
* To not display the domain label, set domainLabelFormat to "" (empty string). | ||
*/ | ||
domainLabelFormat?: string | Function; | ||
/** | ||
* Formatting of the legend title, displayed when hovering a legend cell. | ||
* Some template strings are available, and enclosed in braces. | ||
* {name} Name of the entity represented in the calendar (see itemName) | ||
* {min} The first value of the legend array. | ||
* {max} The last value of the legend array. | ||
* {down} The lower bound of a color | ||
* {up} The upper bound of a color | ||
*/ | ||
legendTitleFormat?: LegendTitleTemplates; | ||
/** | ||
* Name of the entity you're representing on the calendar. | ||
* Takes an array of string, with the first index as the singular form, and the second index the plural form. | ||
* For the lazy, you can also pass a simple string, ar a single element array, and it'll automatically guess | ||
* the plural form, as long as it's the singular form plus the "s" suffix. | ||
*/ | ||
itemName?: string | string[]; | ||
/** | ||
* Format of the title displayed when hovering a subDomain. | ||
* Some template strings are available, and enclosed in braces. | ||
* {name} Name of the entity represented in the calendar (see itemName) | ||
* {count} The value associated to the date. | ||
* {date} The date of the cell. It's automatically formatted according to the type of subDomain. | ||
* See subDomainDateFormat to further customize that date formatting. | ||
* {connector} An English preposition placed before a datetime (on Monday, at 15:00, etc.). Each subDomain | ||
* have their own default connector, corresponding to the default date format. | ||
*/ | ||
subDomainTitleFormat?: SubDomainFormatTemplates; | ||
/** | ||
* Format of the {date} template string inside subDomainTitleFormat. | ||
* {date} is by default formatted according to the subDomain type. | ||
* subDomainFormat can accept any string with directive accepted by d3.time.format(), like "%Y-%m-%d". | ||
* As d3.time.format() will only output English dates, subDomainDateFormat can also accept a function, | ||
* with the subDomain date as the argument. | ||
*/ | ||
subDomainDateFormat?: string | Function; | ||
/** | ||
* Format of the text inside a subDomain cell. | ||
* Disabled by default, you can display a text inside each subDomain cell. | ||
* Works exactly like subDomainDateFormat, except that the function takes the cell value as second argument. | ||
*/ | ||
subDomainTextFormat?: string | Function; | ||
/** | ||
* Format of the domain label. | ||
* Works exactly like subDomainDateFormat, and will format the domain label with any string accepted by d3.time.format(), or a function. | ||
* To not display the domain label, set domainLabelFormat to "" (empty string). | ||
*/ | ||
domainLabelFormat?: string | Function; | ||
/** | ||
* Formatting of the legend title, displayed when hovering a legend cell. | ||
* Some template strings are available, and enclosed in braces. | ||
* {name} Name of the entity represented in the calendar (see itemName) | ||
* {min} The first value of the legend array. | ||
* {max} The last value of the legend array. | ||
* {down} The lower bound of a color | ||
* {up} The upper bound of a color | ||
*/ | ||
legendTitleFormat?: LegendTitleTemplates; | ||
// ================================================ | ||
// Other | ||
// ================================================ | ||
// ================================================ | ||
// Other | ||
// ================================================ | ||
/** Animation duration, in milliseconds. Default value: 500 */ | ||
animationDuration?: number; | ||
/** | ||
* Will attach the previous() event to the specified element, on a mouse click, shifting the calendar one domain back. Default value: false | ||
* If you want to shift by more than one domain, see the previous() method. | ||
*/ | ||
previousSelector?: string | HTMLElement; | ||
/** | ||
* Will attach the next() event to the specified element, on a mouse click, shifting the calendar one domain forward. Default value: false | ||
* If you want to shift by more than one domain, see the next() method. | ||
*/ | ||
nextSelector?: string | HTMLElement; | ||
/** | ||
* The calendar instance namespace. | ||
* If you have more than one instance of Cal-Heatmap, you should assign each instance its own namespace, in order to isolate each instance event handler. | ||
*/ | ||
itemNamespace?: string; | ||
/** Animation duration, in milliseconds. Default value: 500 */ | ||
animationDuration?: number; | ||
/** | ||
* Will attach the previous() event to the specified element, on a mouse click, shifting the calendar one domain back. Default value: false | ||
* If you want to shift by more than one domain, see the previous() method. | ||
*/ | ||
previousSelector?: string | HTMLElement; | ||
/** | ||
* Will attach the next() event to the specified element, on a mouse click, shifting the calendar one domain forward. Default value: false | ||
* If you want to shift by more than one domain, see the next() method. | ||
*/ | ||
nextSelector?: string | HTMLElement; | ||
/** | ||
* The calendar instance namespace. | ||
* If you have more than one instance of Cal-Heatmap, you should assign each instance its own namespace, in order to isolate each instance event handler. | ||
*/ | ||
itemNamespace?: string; | ||
// ================================================ | ||
// Events | ||
// ================================================ | ||
// ================================================ | ||
// Events | ||
// ================================================ | ||
/** Called after a mouse click event on a subDomain cell. */ | ||
onClick?: (date: Date, value: number) => void; | ||
/** Called after drawing the empty calendar, and before filling it with data. */ | ||
afterLoad?: () => void; | ||
/** | ||
* Called after shifting the calendar one domain back. | ||
* The date argument is the start date of the domain that was added. | ||
*/ | ||
afterLoadPreviousDomain?: (date: Date) => void; | ||
/** | ||
* Called after shifting the calendar one domain forward. | ||
* The date argument is the start date of the domain that was added. | ||
*/ | ||
afterLoadNextDomain?: (date: Date) => void; | ||
/** | ||
* Called after drawing and filling the calendar. | ||
* Useful in case you're loading data via ajax, as it's loading data asynchronously. This event will wait for the ajax | ||
* request to complete before triggering. | ||
* This event will only trigger once, on the initial setup. See afterLoadPreviousDomain and afterLoadNextDomain for | ||
* callback events after a domain navigation. | ||
*/ | ||
onComplete?: () => void; | ||
/** | ||
* Called after getting the data from source, but before filling the calendar. | ||
* This callback must return a json object formatted in the expected data format. | ||
* afterLoadData() is used to do some works on the data, especially when the data source is not returning data in the expected format. | ||
*/ | ||
afterLoadData?: (data: any) => DataFormat; | ||
/** | ||
* Triggered after previous(), when the incoming domain is containing minDate. | ||
* When the leftmost domain set by minDate is loaded into the calendar, onMinDomainReached() will be triggered with true as argument. | ||
* This event is useful if you want to disable your previous button, since there is no more previous domains to load. | ||
* In order to reverse the action, onMinDomainReached() will be called with false as argument afer next(), only once, and only if the | ||
* leftmost domain is not the lower limit domain anymore. | ||
*/ | ||
onMinDomainReached?: (reached: boolean) => void; | ||
/** | ||
* Triggered after next(), when the incoming domain is containing maxDate. | ||
* See onMinDomainReached(). | ||
*/ | ||
onMaxDomainReached?: (reached: boolean) => void; | ||
} | ||
/** Called after a mouse click event on a subDomain cell. */ | ||
onClick?: (date: Date, value: number) => void; | ||
/** Called after drawing the empty calendar, and before filling it with data. */ | ||
afterLoad?: () => void; | ||
/** | ||
* Called after shifting the calendar one domain back. | ||
* The date argument is the start date of the domain that was added. | ||
*/ | ||
afterLoadPreviousDomain?: (date: Date) => void; | ||
/** | ||
* Called after shifting the calendar one domain forward. | ||
* The date argument is the start date of the domain that was added. | ||
*/ | ||
afterLoadNextDomain?: (date: Date) => void; | ||
/** | ||
* Called after drawing and filling the calendar. | ||
* Useful in case you're loading data via ajax, as it's loading data asynchronously. This event will wait for the ajax | ||
* request to complete before triggering. | ||
* This event will only trigger once, on the initial setup. See afterLoadPreviousDomain and afterLoadNextDomain for | ||
* callback events after a domain navigation. | ||
*/ | ||
onComplete?: () => void; | ||
/** | ||
* Called after getting the data from source, but before filling the calendar. | ||
* This callback must return a json object formatted in the expected data format. | ||
* afterLoadData() is used to do some works on the data, especially when the data source is not returning data in the expected format. | ||
*/ | ||
afterLoadData?: (data: any) => DataFormat; | ||
/** | ||
* Triggered after previous(), when the incoming domain is containing minDate. | ||
* When the leftmost domain set by minDate is loaded into the calendar, onMinDomainReached() will be triggered with true as argument. | ||
* This event is useful if you want to disable your previous button, since there is no more previous domains to load. | ||
* In order to reverse the action, onMinDomainReached() will be called with false as argument afer next(), only once, and only if the | ||
* leftmost domain is not the lower limit domain anymore. | ||
*/ | ||
onMinDomainReached?: (reached: boolean) => void; | ||
/** | ||
* Triggered after next(), when the incoming domain is containing maxDate. | ||
* See onMinDomainReached(). | ||
*/ | ||
onMaxDomainReached?: (reached: boolean) => void; | ||
} | ||
interface RuntimeOptions extends InitOptions | ||
{ | ||
/** Margin around each domain, in pixels. Ordered like in CSS (top, right, bottom, left) */ | ||
domainMargin: number[]; | ||
/** Margin around the legend, in pixels. Ordered like in CSS (top, right, bottom, left) */ | ||
legendMargin: number[]; | ||
/** List of dates to highlight */ | ||
highlight: Date[]; | ||
/** | ||
* Name of the items to represent in the calendar. | ||
* First index is singular form, and the second index, the plural form. | ||
*/ | ||
itemName: string[]; | ||
} | ||
interface RuntimeOptions extends InitOptions | ||
{ | ||
/** Margin around each domain, in pixels. Ordered like in CSS (top, right, bottom, left) */ | ||
domainMargin: number[]; | ||
/** Margin around the legend, in pixels. Ordered like in CSS (top, right, bottom, left) */ | ||
legendMargin: number[]; | ||
/** List of dates to highlight */ | ||
highlight: Date[]; | ||
/** | ||
* Name of the items to represent in the calendar. | ||
* First index is singular form, and the second index, the plural form. | ||
*/ | ||
itemName: string[]; | ||
} | ||
interface LegendTitleTemplates | ||
{ | ||
/** Formatting of the smallest (leftmost) value of the legend. Default value: "less than {min} {name}" */ | ||
lower?: string; | ||
/** Formatting of all the value but the first and the last. Default value: "between {down} and {up} {name}" */ | ||
inner?: string; | ||
/** Formatting of the biggest (rightmost) value of the legend. Default value: "more than {max} {name}" */ | ||
upper?: string; | ||
} | ||
interface LegendTitleTemplates | ||
{ | ||
/** Formatting of the smallest (leftmost) value of the legend. Default value: "less than {min} {name}" */ | ||
lower?: string; | ||
/** Formatting of all the value but the first and the last. Default value: "between {down} and {up} {name}" */ | ||
inner?: string; | ||
/** Formatting of the biggest (rightmost) value of the legend. Default value: "more than {max} {name}" */ | ||
upper?: string; | ||
} | ||
interface SubDomainFormatTemplates | ||
{ | ||
/** Format of the title when there is no value associated to the date. Default value: "{date}" */ | ||
empty?: string; | ||
/** Format of the title when it's associated to a value. Default value: "{count} {name} {connector} {date}" */ | ||
filled?: string; | ||
} | ||
interface SubDomainFormatTemplates | ||
{ | ||
/** Format of the title when there is no value associated to the date. Default value: "{date}" */ | ||
empty?: string; | ||
/** Format of the title when it's associated to a value. Default value: "{count} {name} {connector} {date}" */ | ||
filled?: string; | ||
} | ||
interface DataFormat | ||
{ | ||
/** timestamp are in seconds, value can be any number (integer or float) */ | ||
[timestamp: string]: number; | ||
} | ||
interface DataFormat | ||
{ | ||
/** timestamp are in seconds, value can be any number (integer or float) */ | ||
[timestamp: string]: number; | ||
} | ||
interface LabelOffset | ||
{ | ||
x: number; | ||
y: number; | ||
} | ||
interface LabelOffset | ||
{ | ||
x: number; | ||
y: number; | ||
} | ||
/** Position and alignment of the domain label. */ | ||
interface Label | ||
{ | ||
/** | ||
* Position of the label, relative to the domain. Default: "bottom" | ||
* Valid values: {"top", "right", "bottom", "left"} | ||
*/ | ||
position?: string; | ||
/** Position and alignment of the domain label. */ | ||
interface Label | ||
{ | ||
/** | ||
* Position of the label, relative to the domain. Default: "bottom" | ||
* Valid values: {"top", "right", "bottom", "left"} | ||
*/ | ||
position?: string; | ||
/** | ||
* Horizontal align of the domain. Default: "center" | ||
* Valid values: {"left", "center", "right"} | ||
*/ | ||
align?: string; | ||
/** | ||
* Rotation for a vertical label. Default: null | ||
* Valid values: {null, "left", "right"} | ||
*/ | ||
rotate?: string; | ||
/** | ||
* Only used when label is rotated, defines the width of the label. Default: 100 | ||
* Valid values: any intger | ||
*/ | ||
width?: number; | ||
/** | ||
* More control about label positioning, if the default value does not fit your need, | ||
* especially when label is rotated, or when using a big font-size. Default: {x:0, y:0} | ||
*/ | ||
offset?: LabelOffset; | ||
/** | ||
* Height of the domain label in pixels. | ||
* By leaving it to null, the label will be set to 2 times the height of the subDomain cell. | ||
* If you want to remove the label, set domainLabelFormat to "" (empty string), instead | ||
* of setting the label height to 0. Default: null | ||
* Valid values: any integer | ||
*/ | ||
height?: number; | ||
/** | ||
* Horizontal align of the domain. Default: "center" | ||
* Valid values: {"left", "center", "right"} | ||
*/ | ||
align?: string; | ||
/** | ||
* Rotation for a vertical label. Default: null | ||
* Valid values: {null, "left", "right"} | ||
*/ | ||
rotate?: string; | ||
/** | ||
* Only used when label is rotated, defines the width of the label. Default: 100 | ||
* Valid values: any intger | ||
*/ | ||
width?: number; | ||
/** | ||
* More control about label positioning, if the default value does not fit your need, | ||
* especially when label is rotated, or when using a big font-size. Default: {x:0, y:0} | ||
*/ | ||
offset?: LabelOffset; | ||
/** | ||
* Height of the domain label in pixels. | ||
* By leaving it to null, the label will be set to 2 times the height of the subDomain cell. | ||
* If you want to remove the label, set domainLabelFormat to "" (empty string), instead | ||
* of setting the label height to 0. Default: null | ||
* Valid values: any integer | ||
*/ | ||
height?: number; | ||
} | ||
} | ||
var CalHeatMap: CalHeatMap.CalHeatMapStatic; | ||
} | ||
declare var CalHeatMap: CalHeatMap.CalHeatMapStatic; |
{ | ||
"name": "@types/cal-heatmap", | ||
"version": "3.5.30", | ||
"description": "TypeScript definitions for cal-heatmap v3.5.4", | ||
"version": "3.5.31", | ||
"description": "TypeScript definitions for cal-heatmap", | ||
"license": "MIT", | ||
@@ -14,7 +14,7 @@ "author": "Chris Baker <https://github.com/RetroChrisB/>", | ||
"dependencies": { | ||
"@types/d3": "^3.5.36" | ||
"@types/d3": "^3" | ||
}, | ||
"peerDependencies": {}, | ||
"typings": "index.d.ts", | ||
"typesPublisherContentHash": "87c8a030c2bf413da99327836bb86ca55961804aa00f7cffb9a2b2abe61f5f90" | ||
"typesPublisherContentHash": "76663f8ea9dfffe9543b7041b5dd4a9d2f20b0ed63ce78904c94ecc4675ec0b7", | ||
"typeScriptVersion": "2.0" | ||
} |
@@ -5,15 +5,13 @@ # Installation | ||
# Summary | ||
This package contains type definitions for cal-heatmap v3.5.4 (https://github.com/wa0x6e/cal-heatmap). | ||
This package contains type definitions for cal-heatmap (https://github.com/wa0x6e/cal-heatmap). | ||
# Details | ||
Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/types-2.0/cal-heatmap | ||
Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/cal-heatmap | ||
Additional Details | ||
* Last updated: Thu, 27 Oct 2016 20:42:31 GMT | ||
* File structure: Global | ||
* Library Dependencies: d3 | ||
* Module Dependencies: none | ||
* Global values: CalHeatMap | ||
* Last updated: Thu, 19 Jan 2017 14:46:19 GMT | ||
* Dependencies: d3 | ||
* Global values: none | ||
# Credits | ||
These definitions were written by Chris Baker <https://github.com/RetroChrisB/>. |
{ | ||
"authors": "Chris Baker <https://github.com/RetroChrisB/>", | ||
"definitionFilename": "index.d.ts", | ||
"libraryDependencies": [ | ||
"d3" | ||
], | ||
"moduleDependencies": [], | ||
"libraryMajorVersion": "3", | ||
"libraryMinorVersion": "5", | ||
"libraryName": "cal-heatmap v3.5.4", | ||
"typingsPackageName": "cal-heatmap", | ||
"projectName": "https://github.com/wa0x6e/cal-heatmap", | ||
"name": "cal-heatmap", | ||
"libraryName": "cal-heatmap", | ||
"sourceRepoURL": "https://www.github.com/DefinitelyTyped/DefinitelyTyped", | ||
"sourceBranch": "types-2.0", | ||
"kind": "Global", | ||
"globals": [ | ||
"CalHeatMap" | ||
], | ||
"declaredModules": [], | ||
"files": [ | ||
"index.d.ts" | ||
], | ||
"hasPackageJson": true, | ||
"contentHash": "87c8a030c2bf413da99327836bb86ca55961804aa00f7cffb9a2b2abe61f5f90" | ||
"data": { | ||
"authors": "Chris Baker <https://github.com/RetroChrisB/>", | ||
"dependencies": { | ||
"d3": 3 | ||
}, | ||
"pathMappings": { | ||
"d3": 3 | ||
}, | ||
"libraryMajorVersion": 3, | ||
"libraryMinorVersion": 5, | ||
"typeScriptVersion": "2.0", | ||
"libraryName": "cal-heatmap", | ||
"typingsPackageName": "cal-heatmap", | ||
"projectName": "https://github.com/wa0x6e/cal-heatmap", | ||
"sourceRepoURL": "https://www.github.com/DefinitelyTyped/DefinitelyTyped", | ||
"globals": [], | ||
"declaredModules": [ | ||
"cal-heatmap/." | ||
], | ||
"files": [ | ||
"index.d.ts" | ||
], | ||
"hasPackageJson": false, | ||
"contentHash": "76663f8ea9dfffe9543b7041b5dd4a9d2f20b0ed63ce78904c94ecc4675ec0b7" | ||
}, | ||
"isLatest": true | ||
} |
24039
490
17
Updated@types/d3@^3