tsichart-core 1.0.4 → 2.0.0-beta.1

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.
Files changed (133) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +80 -0
  3. package/dist/index.d.ts +1744 -0
  4. package/dist/index.js +14284 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +14209 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/{tsiclient.css → styles/index.css} +9388 -9387
  9. package/dist/styles/index.css.map +1 -0
  10. package/package.json +115 -125
  11. package/README.MD +0 -171
  12. package/dist/AggregateExpression.d.ts +0 -13
  13. package/dist/AggregateExpression.js +0 -70
  14. package/dist/AvailabilityChart-vciRThEz.js +0 -488
  15. package/dist/AvailabilityChart.d.ts +0 -59
  16. package/dist/AvailabilityChart.js +0 -26
  17. package/dist/ChartComponent-BxPbycj0.js +0 -302
  18. package/dist/ChartComponent-L_dR-Eny.d.ts +0 -80
  19. package/dist/ChartComponentData-ClzAtU_E.d.ts +0 -47
  20. package/dist/ChartDataOptions-DBu_M5gU.d.ts +0 -38
  21. package/dist/ChartDataOptions-rcIzlQJO.js +0 -49
  22. package/dist/ChartVisualizationComponent-CswB2P7Z.d.ts +0 -8
  23. package/dist/ChartVisualizationComponent-NsvZCsc-.js +0 -23
  24. package/dist/ColorPicker-CUZt1uup.js +0 -120
  25. package/dist/ColorPicker.d.ts +0 -28
  26. package/dist/ColorPicker.js +0 -6
  27. package/dist/Component-C9fQU2ia.js +0 -401
  28. package/dist/Component-CdI_Pyko.d.ts +0 -226
  29. package/dist/ContextMenu-CP1qV7pP.js +0 -197
  30. package/dist/DateTimeButton-Ck71nL87.d.ts +0 -16
  31. package/dist/DateTimeButton-DnqhATyX.js +0 -38
  32. package/dist/DateTimeButtonRange-CT1zOoCf.js +0 -71
  33. package/dist/DateTimeButtonRange.d.ts +0 -19
  34. package/dist/DateTimeButtonRange.js +0 -15
  35. package/dist/DateTimeButtonSingle-DZk5fW35.js +0 -48
  36. package/dist/DateTimeButtonSingle.d.ts +0 -17
  37. package/dist/DateTimeButtonSingle.js +0 -14
  38. package/dist/DateTimePicker-CuGwz86U.js +0 -532
  39. package/dist/DateTimePicker.d.ts +0 -69
  40. package/dist/DateTimePicker.js +0 -13
  41. package/dist/EllipsisMenu-CNWSo-qQ.js +0 -116
  42. package/dist/EllipsisMenu.d.ts +0 -20
  43. package/dist/EllipsisMenu.js +0 -6
  44. package/dist/Enums-CEhu18PC.d.ts +0 -12
  45. package/dist/EventsTable-mjoOfc0E.js +0 -553
  46. package/dist/EventsTable.d.ts +0 -34
  47. package/dist/EventsTable.js +0 -10
  48. package/dist/GeoProcessGraphic-CSsTL4zj.js +0 -145
  49. package/dist/GeoProcessGraphic.d.ts +0 -34
  50. package/dist/GeoProcessGraphic.js +0 -7
  51. package/dist/Grid-ByDh3Qdn.js +0 -874
  52. package/dist/Grid.d.ts +0 -43
  53. package/dist/Grid.js +0 -6
  54. package/dist/GroupedBarChart-DrSrSHNj.js +0 -579
  55. package/dist/GroupedBarChart.d.ts +0 -22
  56. package/dist/GroupedBarChart.js +0 -17
  57. package/dist/GroupedBarChartData-CpJKvTDQ.js +0 -121
  58. package/dist/GroupedBarChartData-DK30DLVh.d.ts +0 -20
  59. package/dist/Heatmap-BbWcAgp6.js +0 -524
  60. package/dist/Heatmap.d.ts +0 -31
  61. package/dist/Heatmap.js +0 -14
  62. package/dist/Hierarchy-BsvoKnCY.js +0 -260
  63. package/dist/Hierarchy.d.ts +0 -39
  64. package/dist/Hierarchy.js +0 -6
  65. package/dist/HierarchyNavigation-C5yoj--u.js +0 -336
  66. package/dist/HierarchyNavigation.d.ts +0 -34
  67. package/dist/HierarchyNavigation.js +0 -6
  68. package/dist/HistoryPlayback-DIhAsAOi.d.ts +0 -68
  69. package/dist/HistoryPlayback-DiflRzRf.js +0 -175
  70. package/dist/Interfaces-CdAVFIA6.d.ts +0 -6
  71. package/dist/Legend-CQ5yaF8f.js +0 -497
  72. package/dist/LineChart-DcUenMrZ.js +0 -3181
  73. package/dist/LineChart.d.ts +0 -163
  74. package/dist/LineChart.js +0 -18
  75. package/dist/ModelAutocomplete-sxVy4m65.js +0 -100
  76. package/dist/ModelAutocomplete.d.ts +0 -12
  77. package/dist/ModelAutocomplete.js +0 -7
  78. package/dist/ModelSearch-DEg5KwKw.js +0 -189
  79. package/dist/ModelSearch.d.ts +0 -23
  80. package/dist/ModelSearch.js +0 -9
  81. package/dist/PieChart-DDxMXcXE.js +0 -258
  82. package/dist/PieChart.d.ts +0 -26
  83. package/dist/PieChart.js +0 -17
  84. package/dist/PlaybackControls-DSoUncDP.js +0 -195
  85. package/dist/PlaybackControls.d.ts +0 -39
  86. package/dist/PlaybackControls.js +0 -13
  87. package/dist/ProcessGraphic-1f-FoGDy.js +0 -154
  88. package/dist/ProcessGraphic.d.ts +0 -31
  89. package/dist/ProcessGraphic.js +0 -7
  90. package/dist/README.MD +0 -171
  91. package/dist/ScatterPlot-BAn6r8ml.js +0 -924
  92. package/dist/ScatterPlot.d.ts +0 -115
  93. package/dist/ScatterPlot.js +0 -17
  94. package/dist/SingleDateTimePicker-BrFB5iPu.js +0 -213
  95. package/dist/SingleDateTimePicker.d.ts +0 -45
  96. package/dist/SingleDateTimePicker.js +0 -12
  97. package/dist/Slider-BpNCqoBD.js +0 -186
  98. package/dist/Slider.d.ts +0 -31
  99. package/dist/Slider.js +0 -6
  100. package/dist/TemporalXAxisComponent-BsTQyVO6.js +0 -129
  101. package/dist/TemporalXAxisComponent-DohbI08i.d.ts +0 -23
  102. package/dist/TimezonePicker-DHkC2iKE.js +0 -58
  103. package/dist/TimezonePicker.d.ts +0 -16
  104. package/dist/TimezonePicker.js +0 -10
  105. package/dist/Tooltip-B-mIKo4g.js +0 -104
  106. package/dist/TsqExpression.d.ts +0 -36
  107. package/dist/TsqExpression.js +0 -89
  108. package/dist/UXClient-BTulvzpq.js +0 -230
  109. package/dist/UXClient.d.ts +0 -74
  110. package/dist/UXClient.js +0 -47
  111. package/dist/Utils-CdKMmmwx.js +0 -1138
  112. package/dist/Utils-ChzaAbch.d.ts +0 -104
  113. package/dist/Utils.d.ts +0 -7
  114. package/dist/Utils.js +0 -7
  115. package/dist/_tslib-DYvz7dIO.js +0 -96
  116. package/dist/package.json +0 -125
  117. package/dist/pikaday-C_DS7oEN.js +0 -1252
  118. package/dist/tsiclient.cjs.js +0 -3
  119. package/dist/tsiclient.cjs.js.LICENSE.txt +0 -19
  120. package/dist/tsiclient.cjs.js.map +0 -1
  121. package/dist/tsiclient.d.ts +0 -46
  122. package/dist/tsiclient.esm.js +0 -3
  123. package/dist/tsiclient.esm.js.LICENSE.txt +0 -19
  124. package/dist/tsiclient.esm.js.map +0 -1
  125. package/dist/tsiclient.js +0 -58
  126. package/dist/tsiclient.min.css +0 -6
  127. package/dist/tsiclient.min.css.map +0 -1
  128. package/dist/tsiclient.umd.js +0 -3
  129. package/dist/tsiclient.umd.js.LICENSE.txt +0 -19
  130. package/dist/tsiclient.umd.js.map +0 -1
  131. package/dist/tsiclient.umd.min.js +0 -3
  132. package/dist/tsiclient.umd.min.js.LICENSE.txt +0 -19
  133. package/dist/tsiclient.umd.min.js.map +0 -1
@@ -1,258 +0,0 @@
1
- import { _ as __extends, a as __assign } from './_tslib-DYvz7dIO.js';
2
- import * as d3 from 'd3';
3
- import { U as Utils, T as TooltipMeasureFormat } from './Utils-CdKMmmwx.js';
4
- import { L as Legend } from './Legend-CQ5yaF8f.js';
5
- import { C as ContextMenu } from './ContextMenu-CP1qV7pP.js';
6
- import { C as ChartComponentData } from './Grid-ByDh3Qdn.js';
7
- import { G as GroupedBarChartData } from './GroupedBarChartData-CpJKvTDQ.js';
8
- import { T as Tooltip } from './Tooltip-B-mIKo4g.js';
9
- import { C as ChartVisualizationComponent } from './ChartVisualizationComponent-NsvZCsc-.js';
10
- import { S as Slider } from './Slider-BpNCqoBD.js';
11
-
12
- var PieChartData = /** @class */ (function (_super) {
13
- __extends(PieChartData, _super);
14
- function PieChartData() {
15
- var _this = _super.call(this) || this;
16
- _this.visibleValuesSum = 0;
17
- return _this;
18
- }
19
- PieChartData.prototype.mergeDataToDisplayStateAndTimeArrays = function (data, timestamp, aggregateExpressionOptions) {
20
- if (aggregateExpressionOptions === void 0) { aggregateExpressionOptions = null; }
21
- ChartComponentData.prototype.mergeDataToDisplayStateAndTimeArrays.call(this, data, aggregateExpressionOptions);
22
- this.timestamp = Utils.getValueOrDefault({ '': timestamp }, '', this.allTimestampsArray[0]);
23
- _super.prototype.setValuesAtTimestamp.call(this);
24
- this.setAllTimestampsArray();
25
- };
26
- PieChartData.prototype.updateFlatValueArray = function (timestamp) {
27
- var _this = this;
28
- this.visibleValuesSum = 0;
29
- var values = [];
30
- Object.keys(this.valuesAtTimestamp).forEach(function (aggKey) {
31
- Object.keys(_this.valuesAtTimestamp[aggKey].splitBys).forEach(function (splitBy, splitByI) {
32
- var value = 0;
33
- if (_this.getSplitByVisible(aggKey, splitBy) && _this.valuesAtTimestamp[aggKey].splitBys[splitBy].measurements != undefined)
34
- value = _this.valuesAtTimestamp[aggKey].splitBys[splitBy].measurements[_this.getVisibleMeasure(aggKey, splitBy)];
35
- values.push({
36
- aggKey: aggKey,
37
- splitBy: splitBy,
38
- val: value,
39
- splitByI: splitByI
40
- });
41
- _this.visibleValuesSum += Math.abs(value);
42
- });
43
- });
44
- this.flatValueArray = values;
45
- };
46
- return PieChartData;
47
- }(GroupedBarChartData));
48
-
49
- var PieChart = /** @class */ (function (_super) {
50
- __extends(PieChart, _super);
51
- function PieChart(renderTarget) {
52
- var _this = _super.call(this, renderTarget) || this;
53
- _this.chartComponentData = new PieChartData();
54
- _this.chartMargins = {
55
- top: 20,
56
- bottom: 28,
57
- left: 0,
58
- right: 0
59
- };
60
- return _this;
61
- }
62
- PieChart.prototype.PieChart = function () { };
63
- PieChart.prototype.render = function (data, options, aggregateExpressionOptions) {
64
- var _this = this;
65
- _super.prototype.render.call(this, data, options, aggregateExpressionOptions);
66
- this.chartComponentData.mergeDataToDisplayStateAndTimeArrays(this.data, this.chartOptions.timestamp, this.aggregateExpressionOptions);
67
- (options && options.timestamp != undefined) ? options.timestamp : this.chartComponentData.allTimestampsArray[0];
68
- var targetElement = d3.select(this.renderTarget)
69
- .classed("tsi-pieChart", true);
70
- if (this.svgSelection == null) {
71
- this.svgSelection = targetElement.append("svg")
72
- .attr("class", "tsi-pieChartSVG tsi-chartSVG")
73
- .attr('title', this.getString('Pie chart'));
74
- var g = this.svgSelection.append("g");
75
- var tooltip = new Tooltip(d3.select(this.renderTarget));
76
- d3.select(this.renderTarget).append('div').classed('tsi-sliderWrapper', true);
77
- this.draw = function (isFromResize, event) {
78
- if (isFromResize === void 0) { isFromResize = false; }
79
- // Determine the number of timestamps present, add margin for slider
80
- if (_this.chartComponentData.allTimestampsArray.length > 1)
81
- _this.chartMargins.bottom = 68;
82
- if (_this.chartOptions.legend == "compact") {
83
- _this.chartMargins.top = 68;
84
- }
85
- else {
86
- _this.chartMargins.top = 20;
87
- }
88
- _this.width = _this.getWidth();
89
- var height = +targetElement.node().getBoundingClientRect().height;
90
- if (!isFromResize) {
91
- _this.chartWidth = _this.getChartWidth();
92
- }
93
- var chartHeight = height;
94
- var usableHeight = height - _this.chartMargins.bottom - _this.chartMargins.top;
95
- var outerRadius = (Math.min(usableHeight, _this.chartWidth) - 10) / 2;
96
- var innerRadius = _this.chartOptions.arcWidthRatio &&
97
- (_this.chartOptions.arcWidthRatio < 1 && _this.chartOptions.arcWidthRatio > 0) ?
98
- outerRadius - (outerRadius * _this.chartOptions.arcWidthRatio) :
99
- 0;
100
- _this.svgSelection
101
- .attr("width", _this.chartWidth)
102
- .attr("height", chartHeight);
103
- _this.svgSelection.select("g").attr("transform", "translate(" + (_this.chartWidth / 2) + "," + (chartHeight / 2) + ")");
104
- var timestamp = (_this.chartOptions.timestamp != undefined) ? _this.chartOptions.timestamp : _this.chartComponentData.allTimestampsArray[0];
105
- _this.chartComponentData.updateFlatValueArray(timestamp);
106
- _super.prototype.themify.call(_this, targetElement, _this.chartOptions.theme);
107
- if (!_this.chartOptions.hideChartControlPanel && _this.chartControlsPanel === null) {
108
- _this.chartControlsPanel = Utils.createControlPanel(_this.renderTarget, _this.CONTROLSWIDTH, _this.chartMargins.top, _this.chartOptions);
109
- }
110
- else if (_this.chartOptions.hideChartControlPanel && _this.chartControlsPanel !== null) {
111
- _this.removeControlPanel();
112
- }
113
- if (_this.ellipsisItemsExist() && !_this.chartOptions.hideChartControlPanel) {
114
- _this.drawEllipsisMenu();
115
- _this.chartControlsPanel.style("top", Math.max((_this.chartMargins.top - 24), 0) + 'px');
116
- }
117
- else {
118
- _this.removeControlPanel();
119
- }
120
- var labelMouseover = function (aggKey, splitBy) {
121
- if (splitBy === void 0) { splitBy = null; }
122
- //filter out the selected timeseries/splitby
123
- var selectedFilter = function (d, j) {
124
- return !(d.data.aggKey == aggKey && (splitBy == null || d.data.splitBy == splitBy));
125
- };
126
- _this.svgSelection.selectAll(".tsi-pie-path")
127
- .filter(selectedFilter)
128
- .attr("stroke-opacity", .3)
129
- .attr("fill-opacity", .3);
130
- };
131
- var labelMouseout = function (aggregateKey, splitBy) {
132
- _this.svgSelection.selectAll(".tsi-pie-path")
133
- .attr("stroke-opacity", 1)
134
- .attr("fill-opacity", 1);
135
- };
136
- function drawTooltip(d, mousePosition) {
137
- var xPos = mousePosition[0];
138
- var yPos = mousePosition[1];
139
- tooltip.render(self.chartOptions.theme);
140
- var color = Utils.colorSplitBy(self.chartComponentData.displayState, d.data.splitByI, d.data.aggKey, self.chartOptions.keepSplitByColor);
141
- tooltip.draw(d, self.chartComponentData, xPos, yPos, __assign(__assign({}, self.chartMargins), { top: 0, bottom: 0 }), function (text) {
142
- self.tooltipFormat(self.convertToTimeValueFormat(d.data), text, TooltipMeasureFormat.SingleValue);
143
- }, null, 20, 20, color);
144
- }
145
- _this.legendObject.draw(_this.chartOptions.legend, _this.chartComponentData, labelMouseover, _this.svgSelection, _this.chartOptions, labelMouseout, null, event);
146
- var pie = d3.pie()
147
- .sort(null)
148
- .value(function (d) {
149
- return Math.abs(d.val);
150
- });
151
- d3.arc()
152
- .outerRadius(outerRadius)
153
- .innerRadius(innerRadius);
154
- var arc = g.selectAll(".tsi-pie-arc")
155
- .data(pie(_this.chartComponentData.flatValueArray));
156
- var arcEntered = arc
157
- .enter().append("g")
158
- .merge(arc)
159
- .attr("class", "tsi-pie-arc");
160
- var self = _this;
161
- var drawArc = d3.arc()
162
- .innerRadius(innerRadius)
163
- .outerRadius(outerRadius);
164
- function arcTween(a) {
165
- var i = d3.interpolate(this._current, a);
166
- this._current = i(0);
167
- return function (t) {
168
- return drawArc(i(t));
169
- };
170
- }
171
- var self = _this;
172
- function pathMouseout(event, d) {
173
- if (self.contextMenu && self.contextMenu.contextMenuVisible)
174
- return;
175
- tooltip.hide();
176
- labelMouseout(d.data.aggKey, d.data.splitBy);
177
- self.legendObject.legendElement.selectAll('.tsi-splitByLabel').classed("inFocus", false);
178
- }
179
- function pathMouseInteraction(event, d) {
180
- if (this.contextMenu && this.contextMenu.contextMenuVisible)
181
- return;
182
- pathMouseout(event, d);
183
- labelMouseover(d.data.aggKey, d.data.splitBy);
184
- self.legendObject.legendElement.selectAll('.tsi-splitByLabel').filter(function (filteredSplitBy) {
185
- return (d3.select(this.parentNode).datum() == d.data.aggKey) && (filteredSplitBy == d.data.splitBy);
186
- }).classed("inFocus", true);
187
- drawTooltip(d, d3.pointer(event, self.svgSelection.node()));
188
- }
189
- var mouseOutArcOnContextMenuClick = function () {
190
- arcEntered.selectAll("path").each(pathMouseout);
191
- };
192
- arcEntered.each(function () {
193
- var pathElem = d3.select(this).selectAll(".tsi-pie-path").data(function (d) { return [d]; });
194
- pathElem.enter()
195
- .append("path")
196
- .attr("class", "tsi-pie-path")
197
- .attr("d", drawArc)
198
- .on("mouseover", pathMouseInteraction)
199
- .on("mousemove", pathMouseInteraction)
200
- .on("mouseout", pathMouseout)
201
- .on("contextmenu", function (event, d) {
202
- if (self.chartComponentData.displayState[d.data.aggKey].contextMenuActions &&
203
- self.chartComponentData.displayState[d.data.aggKey].contextMenuActions.length) {
204
- var mousePosition = d3.pointer(event, targetElement.node());
205
- event.preventDefault();
206
- self.contextMenu.draw(self.chartComponentData, self.renderTarget, self.chartOptions, mousePosition, d.data.aggKey, d.data.splitBy, mouseOutArcOnContextMenuClick, new Date(self.chartComponentData.timestamp));
207
- }
208
- })
209
- .each(function (d) { this._current = d; })
210
- .merge(pathElem)
211
- .transition()
212
- .duration(self.TRANSDURATION)
213
- .ease(d3.easeExp)
214
- .attrTween("d", arcTween)
215
- .attr("fill", function (d) {
216
- return Utils.colorSplitBy(self.chartComponentData.displayState, d.data.splitByI, d.data.aggKey, self.chartOptions.keepSplitByColor);
217
- })
218
- .attr("class", "tsi-pie-path");
219
- });
220
- arc.exit().remove();
221
- /******************** Temporal Slider ************************/
222
- if (_this.chartComponentData.allTimestampsArray.length > 1) {
223
- d3.select(_this.renderTarget).select('.tsi-sliderWrapper').classed('tsi-hidden', false);
224
- slider.render(_this.chartComponentData.allTimestampsArray.map(function (ts) {
225
- var action = function () {
226
- _this.chartOptions.timestamp = ts;
227
- _this.render(_this.chartComponentData.data, _this.chartOptions, _this.aggregateExpressionOptions);
228
- };
229
- return { label: Utils.timeFormat(_this.chartComponentData.usesSeconds, _this.chartComponentData.usesMillis, _this.chartOptions.offset, _this.chartOptions.is24HourTime, null, null, _this.chartOptions.dateLocale)(new Date(ts)), action: action };
230
- }), _this.chartOptions, _this.chartWidth, Utils.timeFormat(_this.chartComponentData.usesSeconds, _this.chartComponentData.usesMillis, _this.chartOptions.offset, _this.chartOptions.is24HourTime, null, null, _this.chartOptions.dateLocale)(new Date(_this.chartComponentData.timestamp)));
231
- }
232
- else {
233
- slider.remove();
234
- d3.select(_this.renderTarget).select('.tsi-sliderWrapper').classed('tsi-hidden', true);
235
- }
236
- };
237
- this.legendObject = new Legend(this.draw, this.renderTarget, this.CONTROLSWIDTH);
238
- this.contextMenu = new ContextMenu(this.draw, this.renderTarget);
239
- // temporal slider
240
- var slider = new Slider(d3.select(this.renderTarget).select('.tsi-sliderWrapper').node());
241
- window.addEventListener("resize", function () {
242
- if (!_this.chartOptions.suppressResizeListener)
243
- _this.draw();
244
- });
245
- }
246
- this.draw();
247
- this.gatedShowGrid();
248
- d3.select("html").on("click." + Utils.guid(), function (event) {
249
- if (_this.ellipsisContainer && event.target != _this.ellipsisContainer.select(".tsi-ellipsisButton").node()) {
250
- _this.ellipsisMenu.setMenuVisibility(false);
251
- }
252
- });
253
- this.legendPostRenderProcess(this.chartOptions.legend, this.svgSelection, true);
254
- };
255
- return PieChart;
256
- }(ChartVisualizationComponent));
257
-
258
- export { PieChart as P };
@@ -1,26 +0,0 @@
1
- import { G as GroupedBarChartData } from './GroupedBarChartData-DK30DLVh.js';
2
- import { C as ChartVisualizationComponent } from './ChartVisualizationComponent-CswB2P7Z.js';
3
- import './ChartComponentData-ClzAtU_E.js';
4
- import './ChartComponent-L_dR-Eny.js';
5
- import './Enums-CEhu18PC.js';
6
- import './Component-CdI_Pyko.js';
7
- import './Interfaces-CdAVFIA6.js';
8
- import './EllipsisMenu.js';
9
-
10
- declare class PieChartData extends GroupedBarChartData {
11
- flatValueArray: any;
12
- visibleValuesSum: number;
13
- constructor();
14
- mergeDataToDisplayStateAndTimeArrays(data: any, timestamp: any, aggregateExpressionOptions?: any): void;
15
- updateFlatValueArray(timestamp: any): void;
16
- }
17
-
18
- declare class PieChart extends ChartVisualizationComponent {
19
- private contextMenu;
20
- chartComponentData: PieChartData;
21
- constructor(renderTarget: Element);
22
- PieChart(): void;
23
- render(data: any, options: any, aggregateExpressionOptions: any): void;
24
- }
25
-
26
- export { PieChart as default };
package/dist/PieChart.js DELETED
@@ -1,17 +0,0 @@
1
- export { P as default } from './PieChart-DDxMXcXE.js';
2
- import './_tslib-DYvz7dIO.js';
3
- import 'd3';
4
- import './Utils-CdKMmmwx.js';
5
- import 'moment-timezone';
6
- import './Legend-CQ5yaF8f.js';
7
- import './Component-C9fQU2ia.js';
8
- import './ContextMenu-CP1qV7pP.js';
9
- import './Grid-ByDh3Qdn.js';
10
- import './GroupedBarChartData-CpJKvTDQ.js';
11
- import './Tooltip-B-mIKo4g.js';
12
- import './ChartVisualizationComponent-NsvZCsc-.js';
13
- import './ChartComponent-BxPbycj0.js';
14
- import 'split.js';
15
- import './EllipsisMenu-CNWSo-qQ.js';
16
- import './ChartDataOptions-rcIzlQJO.js';
17
- import './Slider-BpNCqoBD.js';
@@ -1,195 +0,0 @@
1
- import { _ as __extends } from './_tslib-DYvz7dIO.js';
2
- import * as d3 from 'd3';
3
- import { C as Component } from './Component-C9fQU2ia.js';
4
- import { U as Utils } from './Utils-CdKMmmwx.js';
5
- import { T as TemporalXAxisComponent } from './TemporalXAxisComponent-BsTQyVO6.js';
6
-
7
- var PlaybackControls = /** @class */ (function (_super) {
8
- __extends(PlaybackControls, _super);
9
- function PlaybackControls(renderTarget, initialTimeStamp) {
10
- if (initialTimeStamp === void 0) { initialTimeStamp = null; }
11
- var _this = _super.call(this, renderTarget) || this;
12
- _this.handleRadius = 7;
13
- _this.minimumPlaybackInterval = 1000; // 1 second
14
- _this.playbackInterval = null;
15
- _this.selectedTimeStamp = initialTimeStamp;
16
- return _this;
17
- }
18
- Object.defineProperty(PlaybackControls.prototype, "currentTimeStamp", {
19
- get: function () {
20
- return this.selectedTimeStamp;
21
- },
22
- enumerable: false,
23
- configurable: true
24
- });
25
- PlaybackControls.prototype.render = function (start, end, onSelectTimeStamp, options, playbackSettings) {
26
- var _this = this;
27
- this.end = end;
28
- this.selectTimeStampCallback = onSelectTimeStamp;
29
- this.chartOptions.setOptions(options);
30
- this.playbackSettings = playbackSettings;
31
- this.timeFormatter = Utils.timeFormat(true, false, this.chartOptions.offset, this.chartOptions.is24HourTime, null, null, this.chartOptions.dateLocale);
32
- var targetElement = d3.select(this.renderTarget);
33
- _super.prototype.themify.call(this, targetElement, this.chartOptions.theme);
34
- targetElement.html('');
35
- var sliderContainer = targetElement.append('div')
36
- .classed('tsi-playback-timeline', true);
37
- var sliderContainerWidth = sliderContainer.node().clientWidth;
38
- var sliderContainerHeight = sliderContainer.node().clientHeight;
39
- this.trackXOffset = this.handleRadius + 8;
40
- this.trackYOffset = Math.floor(sliderContainerHeight / 2);
41
- this.trackWidth = sliderContainerWidth - (2 * this.trackXOffset);
42
- this.timeStampToPosition = d3.scaleTime()
43
- .domain([start, end])
44
- .range([0, this.trackWidth]);
45
- var timeAxisContainer = sliderContainer.append('div')
46
- .classed('tsi-playback-axis', true)
47
- .style('top', "".concat(this.trackYOffset + 6, "px"))
48
- .style('left', "".concat(this.trackXOffset, "px"))
49
- .style('width', "".concat(this.trackWidth, "px"));
50
- var timeAxis = new TimeAxis(timeAxisContainer.node());
51
- timeAxis.render(this.chartOptions, this.timeStampToPosition);
52
- var gWrapper = sliderContainer
53
- .append('svg')
54
- .append('g');
55
- sliderContainer.append('div')
56
- .classed('tsi-playback-input', true)
57
- .style('left', "".concat(this.trackXOffset, "px"))
58
- .style('width', "".concat(this.trackWidth, "px"));
59
- this.track = gWrapper
60
- .append('g')
61
- .classed('tsi-playback-track', true);
62
- gWrapper.call(d3.drag()
63
- .container(sliderContainer.select('.tsi-playback-input').node())
64
- .on('start.interrupt', function () { gWrapper.interrupt(); })
65
- .on('start drag', function (event) {
66
- _this.onDrag(event.x);
67
- })
68
- .on('end', function () {
69
- _this.onDragEnd();
70
- }));
71
- this.track.append('line')
72
- .classed('tsi-left-of-handle', true)
73
- .attr('y1', this.trackYOffset)
74
- .attr('y2', this.trackYOffset);
75
- this.track.append('line')
76
- .classed('tsi-right-of-handle', true)
77
- .attr('y1', this.trackYOffset)
78
- .attr('y2', this.trackYOffset);
79
- this.handleElement = gWrapper.append('circle')
80
- .classed('tsi-playback-handle', true)
81
- .attr('r', this.handleRadius)
82
- .attr('cy', this.trackYOffset);
83
- this.controlsContainer = targetElement.append('div')
84
- .classed('tsi-playback-buttons', true);
85
- this.playButton = this.controlsContainer.append('button')
86
- .classed('tsi-play-button', this.playbackInterval === null)
87
- .classed('tsi-pause-button', this.playbackInterval !== null)
88
- .on('click', function () {
89
- if (_this.playbackInterval === null) {
90
- _this.play();
91
- }
92
- else {
93
- _this.pause();
94
- }
95
- });
96
- this.controlsContainer.append('span')
97
- .classed('tsi-playback-timestamp', true)
98
- .style('margin', "0 ".concat(this.trackXOffset, "px"));
99
- this.selectedTimeStamp = this.selectedTimeStamp || start;
100
- var handlePosition = this.timeStampToPosition(this.selectedTimeStamp);
101
- this.updateSelection(handlePosition, this.selectedTimeStamp);
102
- };
103
- PlaybackControls.prototype.play = function () {
104
- if (this.playbackInterval === null) {
105
- // Default to an interval if one is not provided. Also, the interval should
106
- // not be lower than the minimum playback interval.
107
- var playbackIntervalMs = Math.max(this.playbackSettings.intervalMillis || this.minimumPlaybackInterval, this.minimumPlaybackInterval);
108
- this.next();
109
- this.playbackInterval = window.setInterval(this.next.bind(this), playbackIntervalMs);
110
- this.playButton
111
- .classed('tsi-play-button', false)
112
- .classed('tsi-pause-button', true);
113
- }
114
- };
115
- PlaybackControls.prototype.pause = function () {
116
- // Pause only if component is in 'play' mode (i.e. an interval has ben set)
117
- // otherwise, do nothing.
118
- if (this.playbackInterval !== null) {
119
- window.clearInterval(this.playbackInterval);
120
- this.playbackInterval = null;
121
- this.playButton
122
- .classed('tsi-play-button', true)
123
- .classed('tsi-pause-button', false);
124
- }
125
- };
126
- PlaybackControls.prototype.next = function () {
127
- // If we've reached the end of the available time stamps, do nothing until
128
- // the end moves forward.
129
- if (this.selectedTimeStamp.valueOf() === this.end.valueOf()) {
130
- return;
131
- }
132
- var newValue = this.selectedTimeStamp.valueOf() + this.playbackSettings.stepSizeMillis;
133
- newValue = Math.min(newValue, this.end.valueOf());
134
- this.selectedTimeStamp = new Date(newValue);
135
- var handlePosition = this.timeStampToPosition(this.selectedTimeStamp);
136
- this.updateSelection(handlePosition, this.selectedTimeStamp);
137
- this.selectTimeStampCallback(this.selectedTimeStamp);
138
- };
139
- PlaybackControls.prototype.clamp = function (number, min, max) {
140
- var clamped = Math.max(number, min);
141
- return Math.min(clamped, max);
142
- };
143
- PlaybackControls.prototype.onDrag = function (positionX) {
144
- this.wasPlayingWhenDragStarted = this.wasPlayingWhenDragStarted ||
145
- (this.playbackInterval !== null);
146
- this.pause();
147
- var handlePosition = this.clamp(positionX, 0, this.trackWidth);
148
- this.selectedTimeStamp = this.timeStampToPosition.invert(handlePosition);
149
- this.updateSelection(handlePosition, this.selectedTimeStamp);
150
- };
151
- PlaybackControls.prototype.onDragEnd = function () {
152
- this.selectTimeStampCallback(this.selectedTimeStamp);
153
- if (this.wasPlayingWhenDragStarted) {
154
- this.play();
155
- this.wasPlayingWhenDragStarted = false;
156
- }
157
- };
158
- PlaybackControls.prototype.updateSelection = function (handlePositionX, timeStamp) {
159
- this.track.select('.tsi-left-of-handle')
160
- .attr('x1', this.trackXOffset)
161
- .attr('x2', this.trackXOffset + handlePositionX);
162
- this.track.select('.tsi-right-of-handle')
163
- .attr('x1', this.trackXOffset + handlePositionX)
164
- .attr('x2', this.trackXOffset + this.trackWidth);
165
- this.handleElement
166
- .attr('cx', this.trackXOffset + handlePositionX);
167
- this.controlsContainer
168
- .select('.tsi-playback-timestamp')
169
- .text(this.timeFormatter(timeStamp));
170
- };
171
- return PlaybackControls;
172
- }(Component));
173
- var TimeAxis = /** @class */ (function (_super) {
174
- __extends(TimeAxis, _super);
175
- function TimeAxis(renderTarget) {
176
- return _super.call(this, renderTarget) || this;
177
- }
178
- TimeAxis.prototype.render = function (options, timeScale) {
179
- this.chartOptions.setOptions(options);
180
- this.x = timeScale;
181
- if (this.chartOptions.xAxisHidden) {
182
- return;
183
- }
184
- var targetElement = d3.select(this.renderTarget);
185
- targetElement.html('');
186
- this.chartWidth = targetElement.node().clientWidth;
187
- this.xAxis = targetElement.append('svg')
188
- .classed('xAxis', true)
189
- .data([this.x]);
190
- this.drawXAxis(0, true, true);
191
- };
192
- return TimeAxis;
193
- }(TemporalXAxisComponent));
194
-
195
- export { PlaybackControls as P };
@@ -1,39 +0,0 @@
1
- import { C as Component } from './Component-CdI_Pyko.js';
2
- import './Enums-CEhu18PC.js';
3
- import './Interfaces-CdAVFIA6.js';
4
-
5
- interface IPlaybackSettings {
6
- intervalMillis: number;
7
- stepSizeMillis: number;
8
- }
9
- declare class PlaybackControls extends Component {
10
- private playbackInterval;
11
- private playButton;
12
- private handleElement;
13
- private controlsContainer;
14
- private track;
15
- private trackXOffset;
16
- private trackYOffset;
17
- private trackWidth;
18
- private timeFormatter;
19
- private selectedTimeStamp;
20
- private selectTimeStampCallback;
21
- private timeStampToPosition;
22
- private playbackSettings;
23
- private end;
24
- private wasPlayingWhenDragStarted;
25
- readonly handleRadius: number;
26
- readonly minimumPlaybackInterval: number;
27
- constructor(renderTarget: Element, initialTimeStamp?: Date);
28
- get currentTimeStamp(): Date;
29
- render(start: Date, end: Date, onSelectTimeStamp: (d: Date) => {}, options: any, playbackSettings: IPlaybackSettings): void;
30
- play(): void;
31
- pause(): void;
32
- next(): void;
33
- private clamp;
34
- private onDrag;
35
- private onDragEnd;
36
- private updateSelection;
37
- }
38
-
39
- export { PlaybackControls as default };
@@ -1,13 +0,0 @@
1
- export { P as default } from './PlaybackControls-DSoUncDP.js';
2
- import './_tslib-DYvz7dIO.js';
3
- import 'd3';
4
- import './Component-C9fQU2ia.js';
5
- import './Utils-CdKMmmwx.js';
6
- import 'moment-timezone';
7
- import './TemporalXAxisComponent-BsTQyVO6.js';
8
- import './ChartVisualizationComponent-NsvZCsc-.js';
9
- import './ChartComponent-BxPbycj0.js';
10
- import './Grid-ByDh3Qdn.js';
11
- import 'split.js';
12
- import './EllipsisMenu-CNWSo-qQ.js';
13
- import './ChartDataOptions-rcIzlQJO.js';