@carbon/charts 0.30.20 → 0.30.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/build/demo/data/bar.d.ts +174 -0
- package/build/demo/data/bubble.d.ts +41 -0
- package/build/demo/data/donut.d.ts +23 -0
- package/build/demo/data/line.d.ts +70 -0
- package/build/demo/data/pie.d.ts +13 -0
- package/build/demo/data/scatter.d.ts +31 -0
- package/build/demo/data/step.d.ts +4 -0
- package/build/demo/data/time-series-axis.d.ts +55 -3
- package/build/src/components/axes/grid.d.ts +3 -3
- package/build/src/components/axes/two-dimensional-axes.d.ts +3 -0
- package/build/src/components/essentials/threshold.d.ts +17 -0
- package/build/src/components/graphs/bar.d.ts +1 -1
- package/build/src/components/graphs/scatter.d.ts +1 -0
- package/build/src/components/graphs/skeleton.d.ts +22 -0
- package/build/src/components/index.d.ts +2 -0
- package/build/src/interfaces/axis-scales.d.ts +11 -0
- package/build/src/interfaces/charts.d.ts +4 -0
- package/build/src/interfaces/components.d.ts +21 -0
- package/build/src/interfaces/enums.d.ts +9 -0
- package/build/src/interfaces/events.d.ts +7 -0
- package/build/src/model.d.ts +1 -0
- package/build/src/services/scales-cartesian.d.ts +9 -1
- package/build/stories/tutorials/event-listeners.d.ts +1 -0
- package/build/stories/tutorials/getting-started/angular.d.ts +1 -0
- package/build/stories/tutorials/getting-started/react.d.ts +1 -0
- package/build/stories/tutorials/getting-started/vanilla.d.ts +1 -0
- package/build/stories/tutorials/getting-started/vue.d.ts +1 -0
- package/build/stories/tutorials/index.d.ts +6 -0
- package/build/stories/tutorials/tabular-data-format.d.ts +1 -0
- package/bundle.js +1 -1
- package/charts/bar-grouped.js +4 -2
- package/charts/bar-grouped.js.map +1 -1
- package/charts/bar-simple.js +4 -2
- package/charts/bar-simple.js.map +1 -1
- package/charts/bar-stacked.js +4 -2
- package/charts/bar-stacked.js.map +1 -1
- package/charts/bubble.js +4 -2
- package/charts/bubble.js.map +1 -1
- package/charts/donut.js +4 -2
- package/charts/donut.js.map +1 -1
- package/charts/line.js +4 -2
- package/charts/line.js.map +1 -1
- package/charts/pie.js +4 -2
- package/charts/pie.js.map +1 -1
- package/charts/scatter.js +4 -2
- package/charts/scatter.js.map +1 -1
- package/components/axes/axis.js +24 -13
- package/components/axes/axis.js.map +1 -1
- package/components/axes/grid.d.ts +3 -3
- package/components/axes/grid.js +27 -9
- package/components/axes/grid.js.map +1 -1
- package/components/axes/two-dimensional-axes.d.ts +3 -0
- package/components/axes/two-dimensional-axes.js +30 -0
- package/components/axes/two-dimensional-axes.js.map +1 -1
- package/components/axes/zero-line.js +15 -1
- package/components/axes/zero-line.js.map +1 -1
- package/components/essentials/threshold.d.ts +17 -0
- package/components/essentials/threshold.js +165 -0
- package/components/essentials/threshold.js.map +1 -0
- package/components/graphs/bar-grouped.js +3 -1
- package/components/graphs/bar-grouped.js.map +1 -1
- package/components/graphs/bar-simple.js +1 -1
- package/components/graphs/bar-simple.js.map +1 -1
- package/components/graphs/bar-stacked.js +1 -1
- package/components/graphs/bar-stacked.js.map +1 -1
- package/components/graphs/bar.d.ts +1 -1
- package/components/graphs/bar.js +1 -1
- package/components/graphs/bar.js.map +1 -1
- package/components/graphs/donut.js +6 -0
- package/components/graphs/donut.js.map +1 -1
- package/components/graphs/scatter.d.ts +1 -0
- package/components/graphs/scatter.js +28 -0
- package/components/graphs/scatter.js.map +1 -1
- package/components/graphs/skeleton.d.ts +22 -0
- package/components/graphs/skeleton.js +241 -0
- package/components/graphs/skeleton.js.map +1 -0
- package/components/index.d.ts +2 -0
- package/components/index.js +2 -0
- package/components/index.js.map +1 -1
- package/configuration.js +2 -1
- package/configuration.js.map +1 -1
- package/demo/data/bar.d.ts +174 -0
- package/demo/data/bar.js +188 -2
- package/demo/data/bar.js.map +1 -1
- package/demo/data/bubble.d.ts +41 -0
- package/demo/data/bubble.js +43 -0
- package/demo/data/bubble.js.map +1 -1
- package/demo/data/bundle.js +1 -1
- package/demo/data/donut.d.ts +23 -0
- package/demo/data/donut.js +25 -0
- package/demo/data/donut.js.map +1 -1
- package/demo/data/index.js +177 -0
- package/demo/data/index.js.map +1 -1
- package/demo/data/line.d.ts +70 -0
- package/demo/data/line.js +73 -0
- package/demo/data/line.js.map +1 -1
- package/demo/data/pie.d.ts +13 -0
- package/demo/data/pie.js +15 -0
- package/demo/data/pie.js.map +1 -1
- package/demo/data/scatter.d.ts +31 -0
- package/demo/data/scatter.js +33 -0
- package/demo/data/scatter.js.map +1 -1
- package/demo/data/step.d.ts +4 -0
- package/demo/data/step.js +15 -0
- package/demo/data/step.js.map +1 -1
- package/demo/data/time-series-axis.d.ts +55 -3
- package/demo/data/time-series-axis.js +61 -3
- package/demo/data/time-series-axis.js.map +1 -1
- package/demo/styles.css +292 -0
- package/demo/styles.css.map +1 -1
- package/demo/styles.min.css +1 -1
- package/demo/styles.min.css.map +1 -1
- package/demo/tsconfig.tsbuildinfo +248 -245
- package/interfaces/axis-scales.d.ts +11 -0
- package/interfaces/axis-scales.js.map +1 -1
- package/interfaces/charts.d.ts +4 -0
- package/interfaces/charts.js.map +1 -1
- package/interfaces/components.d.ts +21 -0
- package/interfaces/components.js.map +1 -1
- package/interfaces/enums.d.ts +9 -0
- package/interfaces/enums.js +10 -0
- package/interfaces/enums.js.map +1 -1
- package/interfaces/events.d.ts +7 -0
- package/interfaces/events.js +8 -0
- package/interfaces/events.js.map +1 -1
- package/model.d.ts +1 -0
- package/model.js +3 -0
- package/model.js.map +1 -1
- package/package.json +1 -1
- package/services/scales-cartesian.d.ts +9 -1
- package/services/scales-cartesian.js +33 -0
- package/services/scales-cartesian.js.map +1 -1
- package/services/time-series.js +8 -7
- package/services/time-series.js.map +1 -1
- package/styles/components/_skeleton.scss +57 -0
- package/styles/components/_threshold.scss +49 -0
- package/styles/components/index.scss +2 -0
- package/styles/graphs/_scatter.scss +4 -0
- package/styles-g10.css +76 -0
- package/styles-g10.css.map +1 -1
- package/styles-g10.min.css +1 -1
- package/styles-g10.min.css.map +1 -1
- package/styles-g100.css +76 -0
- package/styles-g100.css.map +1 -1
- package/styles-g100.min.css +1 -1
- package/styles-g100.min.css.map +1 -1
- package/styles-g90.css +76 -0
- package/styles-g90.css.map +1 -1
- package/styles-g90.min.css +1 -1
- package/styles-g90.min.css.map +1 -1
- package/styles.css +76 -0
- package/styles.css.map +1 -1
- package/styles.min.css +1 -1
- package/styles.min.css.map +1 -1
- package/tools.js +6 -0
- package/tools.js.map +1 -1
- package/tsconfig.tsbuildinfo +145 -82
package/charts/bar-grouped.js
CHANGED
|
@@ -15,8 +15,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
import { AxisChart } from "../axis-chart";
|
|
16
16
|
import * as Configuration from "../configuration";
|
|
17
17
|
import { Tools } from "../tools";
|
|
18
|
+
import { Skeletons } from "../interfaces/enums";
|
|
18
19
|
// Components
|
|
19
|
-
import { Grid, GroupedBar, TwoDimensionalAxes, ZeroLine, TooltipBar } from "../components/index";
|
|
20
|
+
import { Grid, GroupedBar, TwoDimensionalAxes, ZeroLine, TooltipBar, Skeleton } from "../components/index";
|
|
20
21
|
var GroupedBarChart = /** @class */ (function (_super) {
|
|
21
22
|
__extends(GroupedBarChart, _super);
|
|
22
23
|
function GroupedBarChart(holder, chartConfigs) {
|
|
@@ -34,7 +35,8 @@ var GroupedBarChart = /** @class */ (function (_super) {
|
|
|
34
35
|
new TwoDimensionalAxes(this.model, this.services),
|
|
35
36
|
new Grid(this.model, this.services),
|
|
36
37
|
new GroupedBar(this.model, this.services),
|
|
37
|
-
new ZeroLine(this.model, this.services)
|
|
38
|
+
new ZeroLine(this.model, this.services),
|
|
39
|
+
new Skeleton(this.model, this.services, { skeleton: Skeletons.VERT_OR_HORIZ })
|
|
38
40
|
];
|
|
39
41
|
var components = this.getAxisChartComponents(graphFrameComponents);
|
|
40
42
|
components.push(new TooltipBar(this.model, this.services));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-grouped.js","sourceRoot":"","sources":["bar-grouped.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bar-grouped.js","sourceRoot":"","sources":["bar-grouped.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,UAAU,EAKV,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAE7B;IAAqC,mCAAS;IAC7C,yBAAY,MAAe,EAAE,YAA0C;QAAvE,YACC,kBAAM,MAAM,EAAE,YAAY,CAAC,SAa3B;QAXA,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,eAAe,EACrC,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,uCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAG;YAC5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;SAC9E,CAAC;QAEF,IAAM,UAAU,GAAU,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,sBAAC;AAAD,CAAC,AA/BD,CAAqC,SAAS,GA+B7C","sourcesContent":["// Internal Imports\nimport { AxisChart } from \"../axis-chart\";\nimport * as Configuration from \"../configuration\";\nimport {\n\tBarChartOptions,\n\tChartConfig\n} from \"../interfaces/index\";\nimport { Tools } from \"../tools\";\nimport { Skeletons } from \"../interfaces/enums\";\n\n// Components\nimport {\n\tGrid,\n\tGroupedBar,\n\tTwoDimensionalAxes,\n\tZeroLine,\n\tTooltipBar,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tTooltip,\n\tLegend,\n\tLayoutComponent,\n\tSkeleton\n} from \"../components/index\";\n\nexport class GroupedBarChart extends AxisChart {\n\tconstructor(holder: Element, chartConfigs: ChartConfig<BarChartOptions>) {\n\t\tsuper(holder, chartConfigs);\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.groupedBarChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents = [\n\t\t\tnew TwoDimensionalAxes(this.model, this.services),\n\t\t\tnew Grid(this.model, this.services),\n\t\t\tnew GroupedBar(this.model, this.services),\n\t\t\tnew ZeroLine(this.model, this.services),\n\t\t\tnew Skeleton(this.model, this.services, { skeleton: Skeletons.VERT_OR_HORIZ })\n\t\t];\n\n\t\tconst components: any[] = this.getAxisChartComponents(graphFrameComponents);\n\t\tcomponents.push(new TooltipBar(this.model, this.services));\n\t\treturn components;\n\t}\n}\n"]}
|
package/charts/bar-simple.js
CHANGED
|
@@ -15,8 +15,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
import { AxisChart } from "../axis-chart";
|
|
16
16
|
import * as Configuration from "../configuration";
|
|
17
17
|
import { Tools } from "../tools";
|
|
18
|
+
import { Skeletons } from "../interfaces/enums";
|
|
18
19
|
// Components
|
|
19
|
-
import { Grid, SimpleBar, TwoDimensionalAxes, ZeroLine, TooltipBar } from "../components/index";
|
|
20
|
+
import { Grid, SimpleBar, TwoDimensionalAxes, ZeroLine, TooltipBar, Skeleton } from "../components/index";
|
|
20
21
|
var SimpleBarChart = /** @class */ (function (_super) {
|
|
21
22
|
__extends(SimpleBarChart, _super);
|
|
22
23
|
function SimpleBarChart(holder, chartConfigs) {
|
|
@@ -34,7 +35,8 @@ var SimpleBarChart = /** @class */ (function (_super) {
|
|
|
34
35
|
new TwoDimensionalAxes(this.model, this.services),
|
|
35
36
|
new Grid(this.model, this.services),
|
|
36
37
|
new SimpleBar(this.model, this.services),
|
|
37
|
-
new ZeroLine(this.model, this.services)
|
|
38
|
+
new ZeroLine(this.model, this.services),
|
|
39
|
+
new Skeleton(this.model, this.services, { skeleton: Skeletons.VERT_OR_HORIZ })
|
|
38
40
|
];
|
|
39
41
|
var components = this.getAxisChartComponents(graphFrameComponents);
|
|
40
42
|
components.push(new TooltipBar(this.model, this.services));
|
package/charts/bar-simple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-simple.js","sourceRoot":"","sources":["bar-simple.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bar-simple.js","sourceRoot":"","sources":["bar-simple.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,QAAQ,EACR,UAAU,EAKV,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAE7B;IAAoC,kCAAS;IAC5C,wBAAY,MAAe,EAAE,YAA0C;QAAvE,YACC,kBAAM,MAAM,EAAE,YAAY,CAAC,SAa3B;QAXA,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,cAAc,EACpC,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,sCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAG;YAC5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;SAC9E,CAAC;QAEF,IAAM,UAAU,GAAU,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,qBAAC;AAAD,CAAC,AA/BD,CAAoC,SAAS,GA+B5C","sourcesContent":["// Internal Imports\nimport { AxisChart } from \"../axis-chart\";\nimport * as Configuration from \"../configuration\";\nimport {\n\tBarChartOptions,\n\tChartConfig\n} from \"../interfaces/index\";\nimport { Tools } from \"../tools\";\nimport { Skeletons } from \"../interfaces/enums\";\n\n// Components\nimport {\n\tGrid,\n\tSimpleBar,\n\tTwoDimensionalAxes,\n\tZeroLine,\n\tTooltipBar,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tTooltip,\n\tLegend,\n\tLayoutComponent,\n\tSkeleton\n} from \"../components/index\";\n\nexport class SimpleBarChart extends AxisChart {\n\tconstructor(holder: Element, chartConfigs: ChartConfig<BarChartOptions>) {\n\t\tsuper(holder, chartConfigs);\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.simpleBarChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents = [\n\t\t\tnew TwoDimensionalAxes(this.model, this.services),\n\t\t\tnew Grid(this.model, this.services),\n\t\t\tnew SimpleBar(this.model, this.services),\n\t\t\tnew ZeroLine(this.model, this.services),\n\t\t\tnew Skeleton(this.model, this.services, { skeleton: Skeletons.VERT_OR_HORIZ })\n\t\t];\n\n\t\tconst components: any[] = this.getAxisChartComponents(graphFrameComponents);\n\t\tcomponents.push(new TooltipBar(this.model, this.services));\n\t\treturn components;\n\t}\n}\n"]}
|
package/charts/bar-stacked.js
CHANGED
|
@@ -15,8 +15,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
import { AxisChart } from "../axis-chart";
|
|
16
16
|
import * as Configuration from "../configuration";
|
|
17
17
|
import { Tools } from "../tools";
|
|
18
|
+
import { Skeletons } from "../interfaces/enums";
|
|
18
19
|
// Components
|
|
19
|
-
import { Grid, StackedBar, TwoDimensionalAxes, TooltipBar } from "../components/index";
|
|
20
|
+
import { Grid, StackedBar, TwoDimensionalAxes, TooltipBar, Skeleton } from "../components/index";
|
|
20
21
|
var StackedBarChart = /** @class */ (function (_super) {
|
|
21
22
|
__extends(StackedBarChart, _super);
|
|
22
23
|
function StackedBarChart(holder, chartConfigs) {
|
|
@@ -33,7 +34,8 @@ var StackedBarChart = /** @class */ (function (_super) {
|
|
|
33
34
|
var graphFrameComponents = [
|
|
34
35
|
new TwoDimensionalAxes(this.model, this.services),
|
|
35
36
|
new Grid(this.model, this.services),
|
|
36
|
-
new StackedBar(this.model, this.services)
|
|
37
|
+
new StackedBar(this.model, this.services),
|
|
38
|
+
new Skeleton(this.model, this.services, { skeleton: Skeletons.VERT_OR_HORIZ })
|
|
37
39
|
];
|
|
38
40
|
var components = this.getAxisChartComponents(graphFrameComponents);
|
|
39
41
|
components.push(new TooltipBar(this.model, this.services));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-stacked.js","sourceRoot":"","sources":["bar-stacked.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bar-stacked.js","sourceRoot":"","sources":["bar-stacked.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,IAAI,EACJ,UAAU,EACV,kBAAkB,EAKlB,UAAU,EACV,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAE7B;IAAqC,mCAAS;IAC7C,yBAAY,MAAe,EAAE,YAA8C;QAA3E,YACC,kBAAM,MAAM,EAAE,YAAY,CAAC,SAa3B;QAXA,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,eAAe,EACrC,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,uCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAG;YAC5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;SAC9E,CAAC;QAEF,IAAM,UAAU,GAAU,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,sBAAC;AAAD,CAAC,AA9BD,CAAqC,SAAS,GA8B7C","sourcesContent":["// Internal Imports\nimport { AxisChart } from \"../axis-chart\";\nimport * as Configuration from \"../configuration\";\nimport {\n\tChartConfig,\n\tScatterChartOptions\n} from \"../interfaces/index\";\nimport { Tools } from \"../tools\";\nimport { Skeletons } from \"../interfaces/enums\";\n\n// Components\nimport {\n\tGrid,\n\tStackedBar,\n\tTwoDimensionalAxes,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tTooltip,\n\tLegend,\n\tLayoutComponent,\n\tTooltipBar,\n\tSkeleton\n} from \"../components/index\";\n\nexport class StackedBarChart extends AxisChart {\n\tconstructor(holder: Element, chartConfigs: ChartConfig<ScatterChartOptions>) {\n\t\tsuper(holder, chartConfigs);\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.stackedBarChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents = [\n\t\t\tnew TwoDimensionalAxes(this.model, this.services),\n\t\t\tnew Grid(this.model, this.services),\n\t\t\tnew StackedBar(this.model, this.services),\n\t\t\tnew Skeleton(this.model, this.services, { skeleton: Skeletons.VERT_OR_HORIZ })\n\t\t];\n\n\t\tconst components: any[] = this.getAxisChartComponents(graphFrameComponents);\n\t\tcomponents.push(new TooltipBar(this.model, this.services));\n\t\treturn components;\n\t}\n}\n"]}
|
package/charts/bubble.js
CHANGED
|
@@ -15,8 +15,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
import { AxisChart } from "../axis-chart";
|
|
16
16
|
import * as Configuration from "../configuration";
|
|
17
17
|
import { Tools } from "../tools";
|
|
18
|
+
import { Skeletons } from "../interfaces/enums";
|
|
18
19
|
// Components
|
|
19
|
-
import { Grid, Ruler, Bubble, TwoDimensionalAxes, TooltipScatter } from "../components/index";
|
|
20
|
+
import { Grid, Ruler, Bubble, TwoDimensionalAxes, TooltipScatter, Skeleton } from "../components/index";
|
|
20
21
|
var BubbleChart = /** @class */ (function (_super) {
|
|
21
22
|
__extends(BubbleChart, _super);
|
|
22
23
|
function BubbleChart(holder, chartConfigs) {
|
|
@@ -34,7 +35,8 @@ var BubbleChart = /** @class */ (function (_super) {
|
|
|
34
35
|
new TwoDimensionalAxes(this.model, this.services),
|
|
35
36
|
new Grid(this.model, this.services),
|
|
36
37
|
new Ruler(this.model, this.services),
|
|
37
|
-
new Bubble(this.model, this.services)
|
|
38
|
+
new Bubble(this.model, this.services),
|
|
39
|
+
new Skeleton(this.model, this.services, { skeleton: Skeletons.GRID })
|
|
38
40
|
];
|
|
39
41
|
var components = this.getAxisChartComponents(graphFrameComponents);
|
|
40
42
|
components.push(new TooltipScatter(this.model, this.services));
|
package/charts/bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubble.js","sourceRoot":"","sources":["bubble.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bubble.js","sourceRoot":"","sources":["bubble.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,kBAAkB,EAKlB,cAAc,EACd,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAE7B;IAAiC,+BAAS;IACzC,qBAAY,MAAe,EAAE,YAA6C;QAA1E,YACC,kBAAM,MAAM,EAAE,YAAY,CAAC,SAa3B;QAXA,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,WAAW,EACjC,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,mCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAG;YAC5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACrC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;SACrE,CAAC;QAEF,IAAM,UAAU,GAAU,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,kBAAC;AAAD,CAAC,AA/BD,CAAiC,SAAS,GA+BzC","sourcesContent":["// Internal Imports\nimport { AxisChart } from \"../axis-chart\";\nimport * as Configuration from \"../configuration\";\nimport {\n\tChartConfig,\n\tBubbleChartOptions\n} from \"../interfaces/index\";\nimport { Tools } from \"../tools\";\nimport { Skeletons } from \"../interfaces/enums\";\n\n// Components\nimport {\n\tGrid,\n\tRuler,\n\tBubble,\n\tTwoDimensionalAxes,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tTooltip,\n\tLegend,\n\tLayoutComponent,\n\tTooltipScatter,\n\tSkeleton\n} from \"../components/index\";\n\nexport class BubbleChart extends AxisChart {\n\tconstructor(holder: Element, chartConfigs: ChartConfig<BubbleChartOptions>) {\n\t\tsuper(holder, chartConfigs);\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.bubbleChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents = [\n\t\t\tnew TwoDimensionalAxes(this.model, this.services),\n\t\t\tnew Grid(this.model, this.services),\n\t\t\tnew Ruler(this.model, this.services),\n\t\t\tnew Bubble(this.model, this.services),\n\t\t\tnew Skeleton(this.model, this.services, { skeleton: Skeletons.GRID })\n\t\t];\n\n\t\tconst components: any[] = this.getAxisChartComponents(graphFrameComponents);\n\t\tcomponents.push(new TooltipScatter(this.model, this.services));\n\t\treturn components;\n\t}\n}\n"]}
|
package/charts/donut.js
CHANGED
|
@@ -15,8 +15,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
import { PieChart } from "./pie";
|
|
16
16
|
import * as Configuration from "../configuration";
|
|
17
17
|
import { Tools } from "../tools";
|
|
18
|
+
import { Skeletons } from "../interfaces/enums";
|
|
18
19
|
// Components
|
|
19
|
-
import { Donut, TooltipPie } from "../components/index";
|
|
20
|
+
import { Donut, Skeleton, TooltipPie } from "../components/index";
|
|
20
21
|
var DonutChart = /** @class */ (function (_super) {
|
|
21
22
|
__extends(DonutChart, _super);
|
|
22
23
|
function DonutChart(holder, chartConfigs) {
|
|
@@ -31,7 +32,8 @@ var DonutChart = /** @class */ (function (_super) {
|
|
|
31
32
|
DonutChart.prototype.getComponents = function () {
|
|
32
33
|
// Specify what to render inside the graph-frame
|
|
33
34
|
var graphFrameComponents = [
|
|
34
|
-
new Donut(this.model, this.services)
|
|
35
|
+
new Donut(this.model, this.services),
|
|
36
|
+
new Skeleton(this.model, this.services, { skeleton: Skeletons.DONUT })
|
|
35
37
|
];
|
|
36
38
|
var components = this.getChartComponents(graphFrameComponents);
|
|
37
39
|
components.push(new TooltipPie(this.model, this.services));
|
package/charts/donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"donut.js","sourceRoot":"","sources":["donut.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"donut.js","sourceRoot":"","sources":["donut.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,KAAK,EAIL,QAAQ,EACR,UAAU,EACV,MAAM,qBAAqB,CAAC;AAE7B;IAAgC,8BAAQ;IACvC,oBAAY,MAAe,EAAE,YAA0C;QAAvE,YACC,kBAAM,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,SAajC;QAXA,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,UAAU,EAChC,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,kCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAG;YAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;SACtE,CAAC;QAEF,IAAM,UAAU,GAAU,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QACxE,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,iBAAC;AAAD,CAAC,AA5BD,CAAgC,QAAQ,GA4BvC","sourcesContent":["// Internal Imports\nimport { PieChart } from \"./pie\";\nimport * as Configuration from \"../configuration\";\nimport {\n\tChartConfig,\n\tPieChartOptions\n} from \"../interfaces/index\";\nimport { Tools } from \"../tools\";\nimport { Skeletons } from \"../interfaces/enums\";\n\n// Components\nimport {\n\tDonut,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tLegend,\n\tLayoutComponent,\n\tSkeleton,\n\tTooltipPie\n} from \"../components/index\";\n\nexport class DonutChart extends PieChart {\n\tconstructor(holder: Element, chartConfigs: ChartConfig<PieChartOptions>) {\n\t\tsuper(holder, chartConfigs, true);\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.donutChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents = [\n\t\t\tnew Donut(this.model, this.services),\n\t\t\tnew Skeleton(this.model, this.services, { skeleton: Skeletons.DONUT })\n\t\t];\n\n\t\tconst components: any[] = this.getChartComponents(graphFrameComponents);\n\t\tcomponents.push(new TooltipPie(this.model, this.services));\n\t\treturn components;\n\t}\n}\n"]}
|
package/charts/line.js
CHANGED
|
@@ -15,8 +15,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
import { AxisChart } from "../axis-chart";
|
|
16
16
|
import * as Configuration from "../configuration";
|
|
17
17
|
import { Tools } from "../tools";
|
|
18
|
+
import { Skeletons } from "../interfaces/enums";
|
|
18
19
|
// Components
|
|
19
|
-
import { Grid, Line, Ruler, Scatter, TwoDimensionalAxes, TooltipScatter } from "../components/index";
|
|
20
|
+
import { Grid, Line, Ruler, Scatter, TwoDimensionalAxes, TooltipScatter, Skeleton } from "../components/index";
|
|
20
21
|
var LineChart = /** @class */ (function (_super) {
|
|
21
22
|
__extends(LineChart, _super);
|
|
22
23
|
function LineChart(holder, chartConfigs) {
|
|
@@ -35,7 +36,8 @@ var LineChart = /** @class */ (function (_super) {
|
|
|
35
36
|
new Grid(this.model, this.services),
|
|
36
37
|
new Ruler(this.model, this.services),
|
|
37
38
|
new Line(this.model, this.services),
|
|
38
|
-
new Scatter(this.model, this.services)
|
|
39
|
+
new Scatter(this.model, this.services, { handleThresholds: true }),
|
|
40
|
+
new Skeleton(this.model, this.services, { skeleton: Skeletons.GRID })
|
|
39
41
|
];
|
|
40
42
|
var components = this.getAxisChartComponents(graphFrameComponents);
|
|
41
43
|
components.push(new TooltipScatter(this.model, this.services));
|
package/charts/line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.js","sourceRoot":"","sources":["line.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"line.js","sourceRoot":"","sources":["line.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,kBAAkB,EAKlB,cAAc,EACd,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAE7B;IAA+B,6BAAS;IACvC,mBAAY,MAAe,EAAE,YAA2C;QAAxE,YACC,kBAAM,MAAM,EAAE,YAAY,CAAC,SAa3B;QAXA,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,SAAS,EAC/B,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,iCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAG;YAC5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;YAClE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;SACrE,CAAC;QAEF,IAAM,UAAU,GAAU,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,gBAAC;AAAD,CAAC,AAhCD,CAA+B,SAAS,GAgCvC","sourcesContent":["// Internal Imports\nimport { AxisChart } from \"../axis-chart\";\nimport * as Configuration from \"../configuration\";\nimport {\n\tChartConfig,\n\tLineChartOptions\n} from \"../interfaces/index\";\nimport { Tools } from \"../tools\";\nimport { Skeletons } from \"../interfaces/enums\";\n\n// Components\nimport {\n\tGrid,\n\tLine,\n\tRuler,\n\tScatter,\n\tTwoDimensionalAxes,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tTooltip,\n\tLegend,\n\tLayoutComponent,\n\tTooltipScatter,\n\tSkeleton\n} from \"../components/index\";\n\nexport class LineChart extends AxisChart {\n\tconstructor(holder: Element, chartConfigs: ChartConfig<LineChartOptions>) {\n\t\tsuper(holder, chartConfigs);\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.lineChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents = [\n\t\t\tnew TwoDimensionalAxes(this.model, this.services),\n\t\t\tnew Grid(this.model, this.services),\n\t\t\tnew Ruler(this.model, this.services),\n\t\t\tnew Line(this.model, this.services),\n\t\t\tnew Scatter(this.model, this.services, { handleThresholds: true }),\n\t\t\tnew Skeleton(this.model, this.services, { skeleton: Skeletons.GRID })\n\t\t];\n\n\t\tconst components: any[] = this.getAxisChartComponents(graphFrameComponents);\n\t\tcomponents.push(new TooltipScatter(this.model, this.services));\n\t\treturn components;\n\t}\n}\n"]}
|
package/charts/pie.js
CHANGED
|
@@ -16,10 +16,11 @@ import { PieChartModel } from "../model-pie";
|
|
|
16
16
|
import { Chart } from "../chart";
|
|
17
17
|
import * as Configuration from "../configuration";
|
|
18
18
|
import { Tools } from "../tools";
|
|
19
|
+
import { Skeletons } from "../interfaces/enums";
|
|
19
20
|
// Components
|
|
20
21
|
import { Pie,
|
|
21
22
|
// the imports below are needed because of typescript bug (error TS4029)
|
|
22
|
-
TooltipPie } from "../components/index";
|
|
23
|
+
TooltipPie, Skeleton } from "../components/index";
|
|
23
24
|
var PieChart = /** @class */ (function (_super) {
|
|
24
25
|
__extends(PieChart, _super);
|
|
25
26
|
// TODO - Optimize the use of "extending"
|
|
@@ -41,7 +42,8 @@ var PieChart = /** @class */ (function (_super) {
|
|
|
41
42
|
PieChart.prototype.getComponents = function () {
|
|
42
43
|
// Specify what to render inside the graph-frame
|
|
43
44
|
var graphFrameComponents = [
|
|
44
|
-
new Pie(this.model, this.services)
|
|
45
|
+
new Pie(this.model, this.services),
|
|
46
|
+
new Skeleton(this.model, this.services, { skeleton: Skeletons.PIE })
|
|
45
47
|
];
|
|
46
48
|
// get the base chart components and export with tooltip
|
|
47
49
|
var components = this.getChartComponents(graphFrameComponents);
|
package/charts/pie.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pie.js","sourceRoot":"","sources":["pie.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"pie.js","sourceRoot":"","sources":["pie.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,GAAG;AACH,wEAAwE;AACxE,UAAU,EAGV,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAE7B;IAA8B,4BAAK;IAGlC,yCAAyC;IACzC,kBAAY,MAAe,EAAE,YAA0C,EAAE,SAAiB;QAAjB,0BAAA,EAAA,iBAAiB;QAA1F,YACC,kBAAM,MAAM,EAAE,YAAY,CAAC,SAkB3B;QAtBD,WAAK,GAAG,IAAI,aAAa,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;QAMxC,yCAAyC;QACzC,IAAI,SAAS,EAAE;;SAEd;QAED,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,QAAQ,EAC9B,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,gCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAG;YAC5B,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC;SACpE,CAAC;QAEF,wDAAwD;QACxD,IAAM,UAAU,GAAU,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QACxE,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,eAAC;AAAD,CAAC,AArCD,CAA8B,KAAK,GAqClC","sourcesContent":["// Internal Imports\nimport { PieChartModel } from \"../model-pie\";\nimport { Chart } from \"../chart\";\nimport * as Configuration from \"../configuration\";\nimport {\n\tChartConfig,\n\tPieChartOptions\n} from \"../interfaces/index\";\nimport { Tools } from \"../tools\";\nimport { Skeletons } from \"../interfaces/enums\";\n\n// Components\nimport {\n\tPie,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tTooltipPie,\n\tLegend,\n\tLayoutComponent,\n\tSkeleton\n} from \"../components/index\";\n\nexport class PieChart extends Chart {\n\tmodel = new PieChartModel(this.services);\n\n\t// TODO - Optimize the use of \"extending\"\n\tconstructor(holder: Element, chartConfigs: ChartConfig<PieChartOptions>, extending = false) {\n\t\tsuper(holder, chartConfigs);\n\n\t\t// TODO - Optimize the use of \"extending\"\n\t\tif (extending) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.pieChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents = [\n\t\t\tnew Pie(this.model, this.services),\n\t\t\tnew Skeleton(this.model, this.services, { skeleton: Skeletons.PIE })\n\t\t];\n\n\t\t// get the base chart components and export with tooltip\n\t\tconst components: any[] = this.getChartComponents(graphFrameComponents);\n\t\tcomponents.push(new TooltipPie(this.model, this.services));\n\t\treturn components;\n\t}\n}\n"]}
|
package/charts/scatter.js
CHANGED
|
@@ -15,8 +15,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
import { AxisChart } from "../axis-chart";
|
|
16
16
|
import * as Configuration from "../configuration";
|
|
17
17
|
import { Tools } from "../tools";
|
|
18
|
+
import { Skeletons } from "../interfaces/enums";
|
|
18
19
|
// Components
|
|
19
|
-
import { Grid, Ruler, Scatter, TwoDimensionalAxes, TooltipScatter } from "../components/index";
|
|
20
|
+
import { Grid, Ruler, Scatter, TwoDimensionalAxes, TooltipScatter, Skeleton } from "../components/index";
|
|
20
21
|
var ScatterChart = /** @class */ (function (_super) {
|
|
21
22
|
__extends(ScatterChart, _super);
|
|
22
23
|
function ScatterChart(holder, chartConfigs) {
|
|
@@ -34,7 +35,8 @@ var ScatterChart = /** @class */ (function (_super) {
|
|
|
34
35
|
new TwoDimensionalAxes(this.model, this.services),
|
|
35
36
|
new Grid(this.model, this.services),
|
|
36
37
|
new Ruler(this.model, this.services),
|
|
37
|
-
new Scatter(this.model, this.services)
|
|
38
|
+
new Scatter(this.model, this.services),
|
|
39
|
+
new Skeleton(this.model, this.services, { skeleton: Skeletons.GRID })
|
|
38
40
|
];
|
|
39
41
|
var components = this.getAxisChartComponents(graphFrameComponents);
|
|
40
42
|
components.push(new TooltipScatter(this.model, this.services));
|
package/charts/scatter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scatter.js","sourceRoot":"","sources":["scatter.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"scatter.js","sourceRoot":"","sources":["scatter.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,aAAa;AACb,OAAO,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,kBAAkB,EAKlB,cAAc,EACd,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAE7B;IAAkC,gCAAS;IAC1C,sBAAY,MAAe,EAAE,YAA8C;QAA3E,YACC,kBAAM,MAAM,EAAE,YAAY,CAAC,SAa3B;QAXA,2CAA2C;QAC3C,iCAAiC;QACjC,KAAI,CAAC,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,wBAAwB,CAC7B,aAAa,CAAC,OAAO,CAAC,YAAY,EAClC,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QAEF,6CAA6C;QAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;IACjC,CAAC;IAED,oCAAa,GAAb;QACC,gDAAgD;QAChD,IAAM,oBAAoB,GAAG;YAC5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACtC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;SACrE,CAAC;QAEF,IAAM,UAAU,GAAU,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,mBAAC;AAAD,CAAC,AA/BD,CAAkC,SAAS,GA+B1C","sourcesContent":["// Internal Imports\nimport { AxisChart } from \"../axis-chart\";\nimport * as Configuration from \"../configuration\";\nimport {\n\tChartConfig,\n\tScatterChartOptions\n} from \"../interfaces/index\";\nimport { Tools } from \"../tools\";\nimport { Skeletons } from \"../interfaces/enums\";\n\n// Components\nimport {\n\tGrid,\n\tRuler,\n\tScatter,\n\tTwoDimensionalAxes,\n\t// the imports below are needed because of typescript bug (error TS4029)\n\tTooltip,\n\tLegend,\n\tLayoutComponent,\n\tTooltipScatter,\n\tSkeleton\n} from \"../components/index\";\n\nexport class ScatterChart extends AxisChart {\n\tconstructor(holder: Element, chartConfigs: ChartConfig<ScatterChartOptions>) {\n\t\tsuper(holder, chartConfigs);\n\n\t\t// Merge the default options for this chart\n\t\t// With the user provided options\n\t\tthis.model.setOptions(\n\t\t\tTools.mergeDefaultChartOptions(\n\t\t\t\tConfiguration.options.scatterChart,\n\t\t\t\tchartConfigs.options\n\t\t\t)\n\t\t);\n\n\t\t// Initialize data, services, components etc.\n\t\tthis.init(holder, chartConfigs);\n\t}\n\n\tgetComponents() {\n\t\t// Specify what to render inside the graph-frame\n\t\tconst graphFrameComponents = [\n\t\t\tnew TwoDimensionalAxes(this.model, this.services),\n\t\t\tnew Grid(this.model, this.services),\n\t\t\tnew Ruler(this.model, this.services),\n\t\t\tnew Scatter(this.model, this.services),\n\t\t\tnew Skeleton(this.model, this.services, { skeleton: Skeletons.GRID })\n\t\t];\n\n\t\tconst components: any[] = this.getAxisChartComponents(graphFrameComponents);\n\t\tcomponents.push(new TooltipScatter(this.model, this.services));\n\t\treturn components;\n\t}\n}\n"]}
|
package/components/axes/axis.js
CHANGED
|
@@ -110,21 +110,26 @@ var Axis = /** @class */ (function (_super) {
|
|
|
110
110
|
numberOfTicks = this.getNumberOfFittingTicks(height, tickHeight, Configuration.tickSpaceRatioVertical);
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
+
// scale continuous
|
|
114
|
+
// remove 0 ticks for skeleton
|
|
115
|
+
if (scale.ticks().length === 1 && scale.ticks()[0] === 0) {
|
|
116
|
+
numberOfTicks = 0;
|
|
117
|
+
}
|
|
113
118
|
axis.ticks(numberOfTicks);
|
|
114
119
|
if (isTimeScaleType) {
|
|
115
|
-
|
|
116
|
-
.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
if (!scale.ticks(numberOfTicks).length) {
|
|
121
|
+
axis.tickValues([]);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
var tickValues = scale.nice(numberOfTicks).ticks(numberOfTicks);
|
|
125
|
+
// Remove labels on the edges
|
|
126
|
+
// If there are more than 2 labels to show
|
|
127
|
+
if (Tools.getProperty(options, "timeScale", "addSpaceOnEdges") && tickValues.length > 2) {
|
|
128
|
+
tickValues.splice(tickValues.length - 1, 1);
|
|
129
|
+
tickValues.splice(0, 1);
|
|
130
|
+
}
|
|
131
|
+
axis.tickValues(tickValues);
|
|
126
132
|
}
|
|
127
|
-
axis.tickValues(tickValues);
|
|
128
133
|
}
|
|
129
134
|
}
|
|
130
135
|
// create the right ticks formatter
|
|
@@ -170,9 +175,10 @@ var Axis = /** @class */ (function (_super) {
|
|
|
170
175
|
break;
|
|
171
176
|
}
|
|
172
177
|
// Position the axis title
|
|
178
|
+
// check that data exists, if they don't, doesn't show the title axis
|
|
173
179
|
if (axisOptions.title) {
|
|
174
180
|
var axisTitleRef = DOMUtils.appendOrSelect(container, "text.axis-title")
|
|
175
|
-
.html(axisOptions.title);
|
|
181
|
+
.html(this.model.isDataEmpty() ? "" : axisOptions.title);
|
|
176
182
|
switch (axisPosition) {
|
|
177
183
|
case AxisPositions.LEFT:
|
|
178
184
|
axisTitleRef.attr("transform", "rotate(-90)")
|
|
@@ -258,6 +264,11 @@ var Axis = /** @class */ (function (_super) {
|
|
|
258
264
|
.style("text-anchor", null);
|
|
259
265
|
}
|
|
260
266
|
}
|
|
267
|
+
// we don't need to show axes on empty state and on skeleton state
|
|
268
|
+
// because the Skeleton component draws them
|
|
269
|
+
if (this.model.isDataEmpty()) {
|
|
270
|
+
container.attr("opacity", 0);
|
|
271
|
+
}
|
|
261
272
|
// Add event listeners to elements drawn
|
|
262
273
|
this.addEventListeners();
|
|
263
274
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axis.js","sourceRoot":"","sources":["axis.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport {\n\tAxisPositions,\n\tEvents,\n\tScaleTypes,\n\tRoles\n} from \"../../interfaces\";\nimport { Tools } from \"../../tools\";\nimport { ChartModel } from \"../../model\";\nimport { DOMUtils } from \"../../services\";\nimport * as Configuration from \"../../configuration\";\nimport { computeTimeIntervalName, formatTick, isTickPrimary } from \"../../services/time-series\";\n\n// D3 Imports\nimport { select } from \"d3-selection\";\nimport { axisBottom, axisLeft, axisRight, axisTop } from \"d3-axis\";\n\nexport class Axis extends Component {\n\ttype = \"axes\";\n\n\tmargins: any;\n\n\tscale: any;\n\tscaleType: ScaleTypes;\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\n\t\tif (configs) {\n\t\t\tthis.configs = configs;\n\t\t}\n\n\t\tthis.margins = this.configs.margins;\n\t}\n\n\trender(animate = true) {\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst options = this.model.getOptions();\n\t\tconst axisOptions = Tools.getProperty(options, \"axes\", axisPosition);\n\t\tconst numberOfTicksProvided = Tools.getProperty(axisOptions, \"ticks\", \"number\");\n\t\tconst isNumberOfTicksProvided = numberOfTicksProvided !== null;\n\t\tconst isVerticalAxis = axisPosition === AxisPositions.LEFT || axisPosition === AxisPositions.RIGHT;\n\t\tconst timeScaleOptions = Tools.getProperty(options, \"timeScale\");\n\n\t\tconst svg = this.getContainerSVG();\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(this.parent, { useAttrs: true });\n\n\t\tlet startPosition, endPosition;\n\t\tif (axisPosition === AxisPositions.BOTTOM || axisPosition === AxisPositions.TOP) {\n\t\t\tstartPosition = this.configs.axes[AxisPositions.LEFT] ? this.margins.left : 0;\n\t\t\tendPosition = this.configs.axes[AxisPositions.RIGHT] ? width - this.margins.right : width;\n\t\t} else {\n\t\t\tstartPosition = height - this.margins.bottom;\n\t\t\tendPosition = this.margins.top;\n\t\t}\n\n\t\t// Grab the scale off of the Scales service\n\t\tconst scale = this.services.cartesianScales.getScaleByPosition(axisPosition);\n\n\t\tif (this.scaleType === ScaleTypes.LABELS) {\n\t\t\tscale.rangeRound([startPosition, endPosition]);\n\t\t} else {\n\t\t\tscale.range([startPosition, endPosition]);\n\t\t}\n\n\t\t// Identify the corresponding d3 axis function\n\t\tlet axisFunction;\n\t\tswitch (axisPosition) {\n\t\t\tcase AxisPositions.LEFT:\n\t\t\t\taxisFunction = axisLeft;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\taxisFunction = axisBottom;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\taxisFunction = axisRight;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.TOP:\n\t\t\t\taxisFunction = axisTop;\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Add axis into the parent\n\t\tconst container = DOMUtils.appendOrSelect(svg, `g.axis.${axisPosition}`);\n\t\tconst axisRefExists = !container.select(`g.ticks`).empty();\n\t\tlet axisRef = DOMUtils.appendOrSelect(container, `g.ticks`);\n\t\tif (!axisRefExists) {\n\t\t\taxisRef.attr(\"role\", `${Roles.GRAPHICS_OBJECT} ${Roles.GROUP}`);\n\t\t}\n\n\t\t// We draw the invisible axis because of the async nature of d3 transitions\n\t\t// To be able to tell the final width & height of the axis when initiaing the transition\n\t\t// The invisible axis is updated instantly and without a transition\n\t\tconst invisibleAxisRef = DOMUtils.appendOrSelect(container, `g.ticks.invisible`)\n\t\t\t.style(\"opacity\", \"0\")\n\t\t\t.attr(\"aria-hidden\", true);\n\n\t\t// Append to DOM a fake tick to get the right computed font height\n\t\tconst fakeTick = DOMUtils.appendOrSelect(invisibleAxisRef, `g.tick`);\n\t\tconst fakeTickText = DOMUtils.appendOrSelect(fakeTick, `text`).text(\"0\");\n\t\tconst tickHeight = DOMUtils.getSVGElementSize(fakeTickText.node(), { useBBox: true }).height;\n\t\tfakeTick.remove();\n\n\t\tconst isTimeScaleType = this.scaleType === ScaleTypes.TIME || axisOptions.scaleType === ScaleTypes.TIME;\n\t\tconst scaleType = this.scaleType || axisOptions.scaleType || ScaleTypes.LINEAR;\n\n\t\t// Initialize axis object\n\t\tconst axis = axisFunction(scale).tickSizeOuter(0);\n\n\t\tif (scale.ticks) {\n\t\t\tlet numberOfTicks;\n\n\t\t\tif (isNumberOfTicksProvided) {\n\t\t\t\tnumberOfTicks = numberOfTicksProvided;\n\t\t\t} else {\n\t\t\t\tnumberOfTicks = Configuration.axis.ticks.number;\n\t\t\t\tif (isVerticalAxis) {\n\t\t\t\t\t// Set how many ticks based on height\n\t\t\t\t\tnumberOfTicks = this.getNumberOfFittingTicks(height, tickHeight, Configuration.tickSpaceRatioVertical);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\taxis.ticks(numberOfTicks);\n\n\t\t\tif (isTimeScaleType) {\n\t\t\t\tlet tickValues = scale\n\t\t\t\t\t.ticks(numberOfTicks)\n\t\t\t\t\t.concat(scale.domain())\n\t\t\t\t\t.map(date => +date)\n\t\t\t\t\t.sort();\n\t\t\t\ttickValues = Tools.removeArrayDuplicates(tickValues);\n\n\t\t\t\t// Remove labels on the edges\n\t\t\t\t// If there are more than 2 labels to show\n\t\t\t\tif (Tools.getProperty(options, \"timeScale\", \"addSpaceOnEdges\") && tickValues.length > 2) {\n\t\t\t\t\ttickValues.splice(tickValues.length - 1, 1);\n\t\t\t\t\ttickValues.splice(0, 1);\n\t\t\t\t}\n\n\t\t\t\taxis.tickValues(tickValues);\n\t\t\t}\n\t\t}\n\n\t\t// create the right ticks formatter\n\t\tlet formatter;\n\t\tconst userProvidedFormatter = Tools.getProperty(axisOptions, \"ticks\", \"formatter\");\n\t\tif (isTimeScaleType) {\n\t\t\tconst timeInterval = computeTimeIntervalName(axis.tickValues());\n\t\t\tif (userProvidedFormatter === null) {\n\t\t\t\tformatter = (t: number, i: number) => formatTick(t, i, timeInterval, timeScaleOptions);\n\t\t\t} else {\n\t\t\t\tformatter = (t: number, i: number) => {\n\t\t\t\t\tconst defaultFormattedValue = formatTick(t, i, timeInterval, timeScaleOptions);\n\t\t\t\t\treturn userProvidedFormatter(t, i, defaultFormattedValue);\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\tif (userProvidedFormatter === null) {\n\t\t\t\tif (scaleType === ScaleTypes.LINEAR) {\n\t\t\t\t\tformatter = t => t.toLocaleString();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tformatter = userProvidedFormatter;\n\t\t\t}\n\t\t}\n\n\t\t// Set ticks formatter\n\t\taxis.tickFormat(formatter);\n\n\t\t// Position and transition the axis\n\t\tswitch (axisPosition) {\n\t\t\tcase AxisPositions.LEFT:\n\t\t\t\taxisRef.attr(\"transform\", `translate(${this.margins.left}, 0)`);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\taxisRef.attr(\"transform\", `translate(0, ${height - this.margins.bottom})`);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\taxisRef.attr(\"transform\", `translate(${width - this.margins.right}, 0)`);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.TOP:\n\t\t\t\taxisRef.attr(\"transform\", `translate(0, ${this.margins.top})`);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Position the axis title\n\t\tif (axisOptions.title) {\n\t\t\tconst axisTitleRef = DOMUtils.appendOrSelect(container, `text.axis-title`)\n\t\t\t\t.html(axisOptions.title);\n\n\t\t\tswitch (axisPosition) {\n\t\t\t\tcase AxisPositions.LEFT:\n\t\t\t\t\taxisTitleRef.attr(\"transform\", \"rotate(-90)\")\n\t\t\t\t\t\t.attr(\"y\", 0)\n\t\t\t\t\t\t.attr(\"x\", -(scale.range()[0] / 2))\n\t\t\t\t\t\t.attr(\"dy\", \"1em\")\n\t\t\t\t\t\t.style(\"text-anchor\", \"middle\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\t\taxisTitleRef.attr(\"transform\", `translate(${this.margins.left / 2 + scale.range()[1] / 2}, ${height})`)\n\t\t\t\t\t\t.style(\"text-anchor\", \"middle\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\t\taxisTitleRef.attr(\"transform\", \"rotate(90)\")\n\t\t\t\t\t\t.attr(\"y\", -width)\n\t\t\t\t\t\t.attr(\"x\", scale.range()[0] / 2)\n\t\t\t\t\t\t.attr(\"dy\", \"1em\")\n\t\t\t\t\t\t.style(\"text-anchor\", \"middle\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.TOP:\n\t\t\t\t\tconst { height: titleHeight } = DOMUtils.getSVGElementSize(axisTitleRef, { useBBox: true });\n\t\t\t\t\taxisTitleRef.attr(\"transform\", `translate(${this.margins.left / 2 + scale.range()[1] / 2}, ${titleHeight / 2})`)\n\t\t\t\t\t\t.style(\"text-anchor\", \"middle\");\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Apply new axis to the axis element\n\t\tif (isTimeScaleType) {\n\t\t\tconst timeInterval = computeTimeIntervalName(axis.tickValues());\n\t\t\tconst showDayName = timeScaleOptions.showDayName;\n\t\t\tconst axisRefSelection = axisRef;\n\n\t\t\tif (animate) {\n\t\t\t\taxisRef = axisRef.transition(this.services.transitions.getTransition(\"axis-update\", animate));\n\t\t\t}\n\t\t\taxisRef = axisRef.call(axis);\n\n\t\t\t// Manipulate tick labels to make bold those that are in long format\n\t\t\tconst ticks = axisRefSelection.selectAll(\".tick\").data(axis.tickValues(), scale).order().select(\"text\");\n\t\t\tticks.style(\"font-weight\", (tickValue: number, i: number) => {\n\t\t\t\treturn isTickPrimary(tickValue, i, timeInterval, showDayName) ? \"bold\" : \"normal\";\n\t\t\t});\n\t\t} else {\n\t\t\tif (!animate || !axisRefExists) {\n\t\t\t\taxisRef = axisRef.call(axis);\n\t\t\t} else {\n\t\t\t\taxisRef = axisRef\n\t\t\t\t\t.transition(this.services.transitions.getTransition(\"axis-update\"))\n\t\t\t\t\t.call(axis);\n\t\t\t}\n\t\t}\n\n\t\tinvisibleAxisRef.call(axis);\n\n\t\tif (axisPosition === AxisPositions.BOTTOM || axisPosition === AxisPositions.TOP) {\n\t\t\tlet rotateTicks = false;\n\n\t\t\t// If we're dealing with a discrete scale type\n\t\t\t// We're able to grab the spacing between the ticks\n\t\t\tif (scale.step) {\n\t\t\t\tconst textNodes = invisibleAxisRef.selectAll(\"g.tick text\").nodes();\n\n\t\t\t\t// If any ticks are any larger than the scale step size\n\t\t\t\trotateTicks = textNodes.some(textNode => DOMUtils.getSVGElementSize(textNode, { useBBox: true }).width >= scale.step());\n\t\t\t} else {\n\t\t\t\t// When dealing with a continuous scale\n\t\t\t\t// We need to calculate an estimated size of the ticks\n\t\t\t\tconst minTickSize = Tools.getProperty(axisOptions, \"ticks\", \"rotateIfSmallerThan\") || Configuration.axis.ticks.rotateIfSmallerThan;\n\t\t\t\tconst ticksNumber = isTimeScaleType ? axis.tickValues().length : scale.ticks().length;\n\t\t\t\tconst estimatedTickSize = width / ticksNumber / 2;\n\n\t\t\t\trotateTicks = estimatedTickSize < minTickSize;\n\t\t\t}\n\n\t\t\tif (rotateTicks) {\n\t\t\t\tif (!isNumberOfTicksProvided) {\n\t\t\t\t\taxis.ticks(this.getNumberOfFittingTicks(width, tickHeight, Configuration.tickSpaceRatioHorizontal));\n\n\t\t\t\t\tinvisibleAxisRef.call(axis);\n\t\t\t\t\taxisRef.call(axis);\n\t\t\t\t}\n\n\t\t\t\tcontainer.selectAll(\"g.ticks g.tick text\")\n\t\t\t\t\t.attr(\"transform\", `rotate(45)`)\n\t\t\t\t\t.style(\"text-anchor\", axisPosition === AxisPositions.TOP ? \"end\" : \"start\");\n\t\t\t} else {\n\t\t\t\tcontainer.selectAll(\"g.ticks g.tick text\")\n\t\t\t\t\t.attr(\"transform\", null)\n\t\t\t\t\t.style(\"text-anchor\", null);\n\t\t\t}\n\t\t}\n\n\t\t// Add event listeners to elements drawn\n\t\tthis.addEventListeners();\n\t}\n\n\taddEventListeners() {\n\t\tconst svg = this.getContainerSVG();\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst container = DOMUtils.appendOrSelect(svg, `g.axis.${axisPosition}`);\n\n\t\tconst self = this;\n\t\tcontainer.selectAll(\"g.tick text\")\n\t\t\t.on(\"mouseover\", function(datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_MOUSEOVER, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on(\"mousemove\", function(datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_MOUSEMOVE, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on(\"click\", function(datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_CLICK, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on(\"mouseout\", function(datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_MOUSEOUT, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tgetInvisibleAxisRef() {\n\t\tconst { position: axisPosition } = this.configs;\n\n\t\treturn this.getContainerSVG()\n\t\t\t.select(`g.axis.${axisPosition} g.ticks.invisible`);\n\t}\n\n\tgetTitleRef() {\n\t\tconst { position: axisPosition } = this.configs;\n\n\t\treturn this.getContainerSVG()\n\t\t\t.select(`g.axis.${axisPosition} text.axis-title`);\n\t}\n\n\tgetNumberOfFittingTicks(size, tickSize, spaceRatio) {\n\t\tconst numberOfTicksFit = Math.floor(size / (tickSize * spaceRatio));\n\t\treturn Tools.clamp(numberOfTicksFit, 2, Configuration.axis.ticks.number);\n\t}\n\n\tdestroy() {\n\t\tconst svg = this.getContainerSVG();\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst container = DOMUtils.appendOrSelect(svg, `g.axis.${axisPosition}`);\n\n\t\t// Remove event listeners\n\t\tcontainer.selectAll(\"g.tick text\")\n\t\t\t.on(\"mouseover\", null)\n\t\t\t.on(\"mousemove\", null)\n\t\t\t.on(\"mouseout\", null);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"axis.js","sourceRoot":"","sources":["axis.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport {\n\tAxisPositions,\n\tEvents,\n\tScaleTypes,\n\tRoles\n} from \"../../interfaces\";\nimport { Tools } from \"../../tools\";\nimport { ChartModel } from \"../../model\";\nimport { DOMUtils } from \"../../services\";\nimport * as Configuration from \"../../configuration\";\nimport { computeTimeIntervalName, formatTick, isTickPrimary } from \"../../services/time-series\";\n\n// D3 Imports\nimport { select } from \"d3-selection\";\nimport { axisBottom, axisLeft, axisRight, axisTop } from \"d3-axis\";\n\nexport class Axis extends Component {\n\ttype = \"axes\";\n\n\tmargins: any;\n\n\tscale: any;\n\tscaleType: ScaleTypes;\n\n\tconstructor(model: ChartModel, services: any, configs?: any) {\n\t\tsuper(model, services, configs);\n\n\t\tif (configs) {\n\t\t\tthis.configs = configs;\n\t\t}\n\n\t\tthis.margins = this.configs.margins;\n\t}\n\n\trender(animate = true) {\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst options = this.model.getOptions();\n\t\tconst axisOptions = Tools.getProperty(options, \"axes\", axisPosition);\n\t\tconst numberOfTicksProvided = Tools.getProperty(axisOptions, \"ticks\", \"number\");\n\t\tconst isNumberOfTicksProvided = numberOfTicksProvided !== null;\n\t\tconst isVerticalAxis = axisPosition === AxisPositions.LEFT || axisPosition === AxisPositions.RIGHT;\n\t\tconst timeScaleOptions = Tools.getProperty(options, \"timeScale\");\n\n\t\tconst svg = this.getContainerSVG();\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(this.parent, { useAttrs: true });\n\n\t\tlet startPosition, endPosition;\n\t\tif (axisPosition === AxisPositions.BOTTOM || axisPosition === AxisPositions.TOP) {\n\t\t\tstartPosition = this.configs.axes[AxisPositions.LEFT] ? this.margins.left : 0;\n\t\t\tendPosition = this.configs.axes[AxisPositions.RIGHT] ? width - this.margins.right : width;\n\t\t} else {\n\t\t\tstartPosition = height - this.margins.bottom;\n\t\t\tendPosition = this.margins.top;\n\t\t}\n\n\t\t// Grab the scale off of the Scales service\n\t\tconst scale = this.services.cartesianScales.getScaleByPosition(axisPosition);\n\n\t\tif (this.scaleType === ScaleTypes.LABELS) {\n\t\t\tscale.rangeRound([startPosition, endPosition]);\n\t\t} else {\n\t\t\tscale.range([startPosition, endPosition]);\n\t\t}\n\n\t\t// Identify the corresponding d3 axis function\n\t\tlet axisFunction;\n\t\tswitch (axisPosition) {\n\t\t\tcase AxisPositions.LEFT:\n\t\t\t\taxisFunction = axisLeft;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\taxisFunction = axisBottom;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\taxisFunction = axisRight;\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.TOP:\n\t\t\t\taxisFunction = axisTop;\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Add axis into the parent\n\t\tconst container = DOMUtils.appendOrSelect(svg, `g.axis.${axisPosition}`);\n\t\tconst axisRefExists = !container.select(`g.ticks`).empty();\n\t\tlet axisRef = DOMUtils.appendOrSelect(container, `g.ticks`);\n\t\tif (!axisRefExists) {\n\t\t\taxisRef.attr(\"role\", `${Roles.GRAPHICS_OBJECT} ${Roles.GROUP}`);\n\t\t}\n\n\t\t// We draw the invisible axis because of the async nature of d3 transitions\n\t\t// To be able to tell the final width & height of the axis when initiaing the transition\n\t\t// The invisible axis is updated instantly and without a transition\n\t\tconst invisibleAxisRef = DOMUtils.appendOrSelect(container, `g.ticks.invisible`)\n\t\t\t.style(\"opacity\", \"0\")\n\t\t\t.attr(\"aria-hidden\", true);\n\n\t\t// Append to DOM a fake tick to get the right computed font height\n\t\tconst fakeTick = DOMUtils.appendOrSelect(invisibleAxisRef, `g.tick`);\n\t\tconst fakeTickText = DOMUtils.appendOrSelect(fakeTick, `text`).text(\"0\");\n\t\tconst tickHeight = DOMUtils.getSVGElementSize(fakeTickText.node(), { useBBox: true }).height;\n\t\tfakeTick.remove();\n\n\t\tconst isTimeScaleType = this.scaleType === ScaleTypes.TIME || axisOptions.scaleType === ScaleTypes.TIME;\n\t\tconst scaleType = this.scaleType || axisOptions.scaleType || ScaleTypes.LINEAR;\n\n\t\t// Initialize axis object\n\t\tconst axis = axisFunction(scale).tickSizeOuter(0);\n\n\t\tif (scale.ticks) {\n\t\t\tlet numberOfTicks;\n\n\t\t\tif (isNumberOfTicksProvided) {\n\t\t\t\tnumberOfTicks = numberOfTicksProvided;\n\t\t\t} else {\n\t\t\t\tnumberOfTicks = Configuration.axis.ticks.number;\n\t\t\t\tif (isVerticalAxis) {\n\t\t\t\t\t// Set how many ticks based on height\n\t\t\t\t\tnumberOfTicks = this.getNumberOfFittingTicks(height, tickHeight, Configuration.tickSpaceRatioVertical);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// scale continuous\n\t\t\t// remove 0 ticks for skeleton\n\t\t\tif (scale.ticks().length === 1 && scale.ticks()[0] === 0) {\n\t\t\t\tnumberOfTicks = 0;\n\t\t\t}\n\n\t\t\taxis.ticks(numberOfTicks);\n\n\t\t\tif (isTimeScaleType) {\n\t\t\t\tif (!scale.ticks(numberOfTicks).length) {\n\t\t\t\t\taxis.tickValues([]);\n\t\t\t\t} else {\n\t\t\t\t\tconst tickValues = scale.nice(numberOfTicks).ticks(numberOfTicks);\n\n // Remove labels on the edges\n // If there are more than 2 labels to show\n if (Tools.getProperty(options, \"timeScale\", \"addSpaceOnEdges\") && tickValues.length > 2) {\n tickValues.splice(tickValues.length - 1, 1);\n tickValues.splice(0, 1);\n }\n\n axis.tickValues(tickValues);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// create the right ticks formatter\n\t\tlet formatter;\n\t\tconst userProvidedFormatter = Tools.getProperty(axisOptions, \"ticks\", \"formatter\");\n\t\tif (isTimeScaleType) {\n\t\t\tconst timeInterval = computeTimeIntervalName(axis.tickValues());\n\t\t\tif (userProvidedFormatter === null) {\n\t\t\t\tformatter = (t: number, i: number) => formatTick(t, i, timeInterval, timeScaleOptions);\n\t\t\t} else {\n\t\t\t\tformatter = (t: number, i: number) => {\n\t\t\t\t\tconst defaultFormattedValue = formatTick(t, i, timeInterval, timeScaleOptions);\n\t\t\t\t\treturn userProvidedFormatter(t, i, defaultFormattedValue);\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\tif (userProvidedFormatter === null) {\n\t\t\t\tif (scaleType === ScaleTypes.LINEAR) {\n\t\t\t\t\tformatter = t => t.toLocaleString();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tformatter = userProvidedFormatter;\n\t\t\t}\n\t\t}\n\n\t\t// Set ticks formatter\n\t\taxis.tickFormat(formatter);\n\n\t\t// Position and transition the axis\n\t\tswitch (axisPosition) {\n\t\t\tcase AxisPositions.LEFT:\n\t\t\t\taxisRef.attr(\"transform\", `translate(${this.margins.left}, 0)`);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\taxisRef.attr(\"transform\", `translate(0, ${height - this.margins.bottom})`);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\taxisRef.attr(\"transform\", `translate(${width - this.margins.right}, 0)`);\n\t\t\t\tbreak;\n\t\t\tcase AxisPositions.TOP:\n\t\t\t\taxisRef.attr(\"transform\", `translate(0, ${this.margins.top})`);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Position the axis title\n\t\t// check that data exists, if they don't, doesn't show the title axis\n\t\tif (axisOptions.title) {\n\t\t\tconst axisTitleRef = DOMUtils.appendOrSelect(container, `text.axis-title`)\n\t\t\t\t.html(this.model.isDataEmpty() ? \"\" : axisOptions.title);\n\n\t\t\tswitch (axisPosition) {\n\t\t\t\tcase AxisPositions.LEFT:\n\t\t\t\t\taxisTitleRef.attr(\"transform\", \"rotate(-90)\")\n\t\t\t\t\t\t.attr(\"y\", 0)\n\t\t\t\t\t\t.attr(\"x\", -(scale.range()[0] / 2))\n\t\t\t\t\t\t.attr(\"dy\", \"1em\")\n\t\t\t\t\t\t.style(\"text-anchor\", \"middle\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\t\taxisTitleRef.attr(\"transform\", `translate(${this.margins.left / 2 + scale.range()[1] / 2}, ${height})`)\n\t\t\t\t\t\t.style(\"text-anchor\", \"middle\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\t\taxisTitleRef.attr(\"transform\", \"rotate(90)\")\n\t\t\t\t\t\t.attr(\"y\", -width)\n\t\t\t\t\t\t.attr(\"x\", scale.range()[0] / 2)\n\t\t\t\t\t\t.attr(\"dy\", \"1em\")\n\t\t\t\t\t\t.style(\"text-anchor\", \"middle\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.TOP:\n\t\t\t\t\tconst { height: titleHeight } = DOMUtils.getSVGElementSize(axisTitleRef, { useBBox: true });\n\t\t\t\t\taxisTitleRef.attr(\"transform\", `translate(${this.margins.left / 2 + scale.range()[1] / 2}, ${titleHeight / 2})`)\n\t\t\t\t\t\t.style(\"text-anchor\", \"middle\");\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Apply new axis to the axis element\n\t\tif (isTimeScaleType) {\n\t\t\tconst timeInterval = computeTimeIntervalName(axis.tickValues());\n\t\t\tconst showDayName = timeScaleOptions.showDayName;\n\t\t\tconst axisRefSelection = axisRef;\n\n\t\t\tif (animate) {\n\t\t\t\taxisRef = axisRef.transition(this.services.transitions.getTransition(\"axis-update\", animate));\n\t\t\t}\n\t\t\taxisRef = axisRef.call(axis);\n\n\t\t\t// Manipulate tick labels to make bold those that are in long format\n\t\t\tconst ticks = axisRefSelection.selectAll(\".tick\").data(axis.tickValues(), scale).order().select(\"text\");\n\t\t\tticks.style(\"font-weight\", (tickValue: number, i: number) => {\n\t\t\t\treturn isTickPrimary(tickValue, i, timeInterval, showDayName) ? \"bold\" : \"normal\";\n\t\t\t});\n\t\t} else {\n\t\t\tif (!animate || !axisRefExists) {\n\t\t\t\taxisRef = axisRef.call(axis);\n\t\t\t} else {\n\t\t\t\taxisRef = axisRef\n\t\t\t\t\t.transition(this.services.transitions.getTransition(\"axis-update\"))\n\t\t\t\t\t.call(axis);\n\t\t\t}\n\t\t}\n\n\t\tinvisibleAxisRef.call(axis);\n\n\t\tif (axisPosition === AxisPositions.BOTTOM || axisPosition === AxisPositions.TOP) {\n\t\t\tlet rotateTicks = false;\n\n\t\t\t// If we're dealing with a discrete scale type\n\t\t\t// We're able to grab the spacing between the ticks\n\t\t\tif (scale.step) {\n\t\t\t\tconst textNodes = invisibleAxisRef.selectAll(\"g.tick text\").nodes();\n\n\t\t\t\t// If any ticks are any larger than the scale step size\n\t\t\t\trotateTicks = textNodes.some(textNode => DOMUtils.getSVGElementSize(textNode, { useBBox: true }).width >= scale.step());\n\t\t\t} else {\n\t\t\t\t// When dealing with a continuous scale\n\t\t\t\t// We need to calculate an estimated size of the ticks\n\t\t\t\tconst minTickSize = Tools.getProperty(axisOptions, \"ticks\", \"rotateIfSmallerThan\") || Configuration.axis.ticks.rotateIfSmallerThan;\n\t\t\t\tconst ticksNumber = isTimeScaleType ? axis.tickValues().length : scale.ticks().length;\n\t\t\t\tconst estimatedTickSize = width / ticksNumber / 2;\n\n\t\t\t\trotateTicks = estimatedTickSize < minTickSize;\n\t\t\t}\n\n\t\t\tif (rotateTicks) {\n\t\t\t\tif (!isNumberOfTicksProvided) {\n\t\t\t\t\taxis.ticks(this.getNumberOfFittingTicks(width, tickHeight, Configuration.tickSpaceRatioHorizontal));\n\n\t\t\t\t\tinvisibleAxisRef.call(axis);\n\t\t\t\t\taxisRef.call(axis);\n\t\t\t\t}\n\n\t\t\t\tcontainer.selectAll(\"g.ticks g.tick text\")\n\t\t\t\t\t.attr(\"transform\", `rotate(45)`)\n\t\t\t\t\t.style(\"text-anchor\", axisPosition === AxisPositions.TOP ? \"end\" : \"start\");\n\t\t\t} else {\n\t\t\t\tcontainer.selectAll(\"g.ticks g.tick text\")\n\t\t\t\t\t.attr(\"transform\", null)\n\t\t\t\t\t.style(\"text-anchor\", null);\n\t\t\t}\n\t\t}\n\n\t\t// we don't need to show axes on empty state and on skeleton state\n\t\t// because the Skeleton component draws them\n\t\tif (this.model.isDataEmpty()) {\n\t\t\tcontainer.attr(\"opacity\", 0);\n\t\t}\n\n\t\t// Add event listeners to elements drawn\n\t\tthis.addEventListeners();\n\t}\n\n\taddEventListeners() {\n\t\tconst svg = this.getContainerSVG();\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst container = DOMUtils.appendOrSelect(svg, `g.axis.${axisPosition}`);\n\n\t\tconst self = this;\n\t\tcontainer.selectAll(\"g.tick text\")\n\t\t\t.on(\"mouseover\", function(datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_MOUSEOVER, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on(\"mousemove\", function(datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_MOUSEMOVE, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on(\"click\", function(datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_CLICK, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on(\"mouseout\", function(datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Axis.LABEL_MOUSEOUT, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tgetInvisibleAxisRef() {\n\t\tconst { position: axisPosition } = this.configs;\n\n\t\treturn this.getContainerSVG()\n\t\t\t.select(`g.axis.${axisPosition} g.ticks.invisible`);\n\t}\n\n\tgetTitleRef() {\n\t\tconst { position: axisPosition } = this.configs;\n\n\t\treturn this.getContainerSVG()\n\t\t\t.select(`g.axis.${axisPosition} text.axis-title`);\n\t}\n\n\tgetNumberOfFittingTicks(size, tickSize, spaceRatio) {\n\t\tconst numberOfTicksFit = Math.floor(size / (tickSize * spaceRatio));\n\t\treturn Tools.clamp(numberOfTicksFit, 2, Configuration.axis.ticks.number);\n\t}\n\n\tdestroy() {\n\t\tconst svg = this.getContainerSVG();\n\t\tconst { position: axisPosition } = this.configs;\n\t\tconst container = DOMUtils.appendOrSelect(svg, `g.axis.${axisPosition}`);\n\n\t\t// Remove event listeners\n\t\tcontainer.selectAll(\"g.tick text\")\n\t\t\t.on(\"mouseover\", null)\n\t\t\t.on(\"mousemove\", null)\n\t\t\t.on(\"mouseout\", null);\n\t}\n}\n"]}
|
|
@@ -2,9 +2,9 @@ import { Component } from "../component";
|
|
|
2
2
|
export declare class Grid extends Component {
|
|
3
3
|
type: string;
|
|
4
4
|
backdrop: any;
|
|
5
|
-
render(): void;
|
|
6
|
-
drawXGrid(): void;
|
|
7
|
-
drawYGrid(): void;
|
|
5
|
+
render(animate?: boolean): void;
|
|
6
|
+
drawXGrid(animate: boolean): void;
|
|
7
|
+
drawYGrid(animate: boolean): void;
|
|
8
8
|
/**
|
|
9
9
|
* Returns the threshold for the gridline tooltips based on the mouse location.
|
|
10
10
|
* Calculated based on the mouse position between the two closest gridlines or edges of chart.
|
package/components/axes/grid.js
CHANGED
|
@@ -24,15 +24,16 @@ var Grid = /** @class */ (function (_super) {
|
|
|
24
24
|
_this.type = "grid";
|
|
25
25
|
return _this;
|
|
26
26
|
}
|
|
27
|
-
Grid.prototype.render = function () {
|
|
27
|
+
Grid.prototype.render = function (animate) {
|
|
28
|
+
if (animate === void 0) { animate = true; }
|
|
28
29
|
// Draw the backdrop
|
|
29
30
|
this.drawBackdrop();
|
|
30
31
|
DOMUtils.appendOrSelect(this.backdrop, "g.x.grid");
|
|
31
32
|
DOMUtils.appendOrSelect(this.backdrop, "g.y.grid");
|
|
32
|
-
this.drawXGrid();
|
|
33
|
-
this.drawYGrid();
|
|
33
|
+
this.drawXGrid(animate);
|
|
34
|
+
this.drawYGrid(animate);
|
|
34
35
|
};
|
|
35
|
-
Grid.prototype.drawXGrid = function () {
|
|
36
|
+
Grid.prototype.drawXGrid = function (animate) {
|
|
36
37
|
var svg = this.parent;
|
|
37
38
|
var height = this.backdrop.attr("height");
|
|
38
39
|
var mainXScale = this.services.cartesianScales.getMainXScale();
|
|
@@ -43,11 +44,18 @@ var Grid = /** @class */ (function (_super) {
|
|
|
43
44
|
var numberOfTicks = Tools.getProperty(this.model.getOptions(), "grid", "x", "numberOfTicks");
|
|
44
45
|
xGrid.ticks(numberOfTicks);
|
|
45
46
|
var g = svg.select(".x.grid")
|
|
46
|
-
.attr("transform", "translate(" + -this.backdrop.attr("x") + ", " + height + ")")
|
|
47
|
-
|
|
47
|
+
.attr("transform", "translate(" + -this.backdrop.attr("x") + ", " + height + ")");
|
|
48
|
+
if (animate) {
|
|
49
|
+
var transition = this.services.transitions.getTransition("grid-update");
|
|
50
|
+
g.transition(transition)
|
|
51
|
+
.call(xGrid);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
g.call(xGrid);
|
|
55
|
+
}
|
|
48
56
|
this.cleanGrid(g);
|
|
49
57
|
};
|
|
50
|
-
Grid.prototype.drawYGrid = function () {
|
|
58
|
+
Grid.prototype.drawYGrid = function (animate) {
|
|
51
59
|
var svg = this.parent;
|
|
52
60
|
var width = this.backdrop.attr("width");
|
|
53
61
|
var mainYScale = this.services.cartesianScales.getMainYScale();
|
|
@@ -58,8 +66,15 @@ var Grid = /** @class */ (function (_super) {
|
|
|
58
66
|
var numberOfTicks = Tools.getProperty(this.model.getOptions(), "grid", "y", "numberOfTicks");
|
|
59
67
|
yGrid.ticks(numberOfTicks);
|
|
60
68
|
var g = svg.select(".y.grid")
|
|
61
|
-
.attr("transform", "translate(0, " + -this.backdrop.attr("y") + ")")
|
|
62
|
-
|
|
69
|
+
.attr("transform", "translate(0, " + -this.backdrop.attr("y") + ")");
|
|
70
|
+
if (animate) {
|
|
71
|
+
var transition = this.services.transitions.getTransition("grid-update");
|
|
72
|
+
g.transition(transition)
|
|
73
|
+
.call(yGrid);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
g.call(yGrid);
|
|
77
|
+
}
|
|
63
78
|
this.cleanGrid(g);
|
|
64
79
|
};
|
|
65
80
|
/**
|
|
@@ -77,6 +92,9 @@ var Grid = /** @class */ (function (_super) {
|
|
|
77
92
|
// find the 2 gridlines on either side of the mouse
|
|
78
93
|
var floor = -1;
|
|
79
94
|
var ceiling;
|
|
95
|
+
if (!gridlinesX.length) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
80
98
|
gridlinesX.forEach(function (line, i) {
|
|
81
99
|
if (mousePos[0] >= +Tools.getTranslationValues(line).tx) {
|
|
82
100
|
floor++;
|