tsichart-core 1.0.5 → 2.0.0-beta.2
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/LICENSE +22 -22
- package/README.md +80 -0
- package/dist/index.d.ts +1744 -0
- package/dist/index.js +14284 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +14209 -0
- package/dist/index.mjs.map +1 -0
- package/dist/{tsiclient.css → styles/index.css} +9498 -9497
- package/dist/styles/index.css.map +1 -0
- package/package.json +115 -124
- package/README.MD +0 -171
- package/dist/AggregateExpression.d.ts +0 -13
- package/dist/AggregateExpression.js +0 -70
- package/dist/AvailabilityChart-C8ewvn3T.js +0 -488
- package/dist/AvailabilityChart.d.ts +0 -59
- package/dist/AvailabilityChart.js +0 -26
- package/dist/ChartComponent-Dg8P-BTZ.js +0 -302
- package/dist/ChartComponent-ONNW31RL.d.ts +0 -80
- package/dist/ChartComponentData-DBW8_FnY.d.ts +0 -47
- package/dist/ChartDataOptions-CNTSB636.js +0 -49
- package/dist/ChartDataOptions-D0BJuRZy.d.ts +0 -38
- package/dist/ChartVisualizationComponent-CTs5Q_sg.js +0 -23
- package/dist/ChartVisualizationComponent-CpR8xZla.d.ts +0 -8
- package/dist/ColorPicker-0p6vkATj.js +0 -120
- package/dist/ColorPicker.d.ts +0 -28
- package/dist/ColorPicker.js +0 -6
- package/dist/Component-BgifJdKl.js +0 -401
- package/dist/Component-DXwYPoSo.d.ts +0 -226
- package/dist/ContextMenu-wqGGgAzp.js +0 -197
- package/dist/DateTimeButton-D7N8XG0S.js +0 -38
- package/dist/DateTimeButton-DfJL5kvr.d.ts +0 -16
- package/dist/DateTimeButtonRange-BM_J646m.js +0 -71
- package/dist/DateTimeButtonRange.d.ts +0 -19
- package/dist/DateTimeButtonRange.js +0 -15
- package/dist/DateTimeButtonSingle-BxMSitQG.js +0 -48
- package/dist/DateTimeButtonSingle.d.ts +0 -17
- package/dist/DateTimeButtonSingle.js +0 -14
- package/dist/DateTimePicker-BgTi-DY9.js +0 -532
- package/dist/DateTimePicker.d.ts +0 -69
- package/dist/DateTimePicker.js +0 -13
- package/dist/EllipsisMenu-CxJ0LoVm.js +0 -116
- package/dist/EllipsisMenu.d.ts +0 -20
- package/dist/EllipsisMenu.js +0 -6
- package/dist/Enums-DWpaQlXk.d.ts +0 -12
- package/dist/EventsTable-CsnBvvIW.js +0 -553
- package/dist/EventsTable.d.ts +0 -34
- package/dist/EventsTable.js +0 -10
- package/dist/GeoProcessGraphic-CUBMHIHX.js +0 -145
- package/dist/GeoProcessGraphic.d.ts +0 -34
- package/dist/GeoProcessGraphic.js +0 -7
- package/dist/Grid-uoHKTet9.js +0 -874
- package/dist/Grid.d.ts +0 -43
- package/dist/Grid.js +0 -6
- package/dist/GroupedBarChart-Bc3cGhgz.js +0 -579
- package/dist/GroupedBarChart.d.ts +0 -22
- package/dist/GroupedBarChart.js +0 -17
- package/dist/GroupedBarChartData-B7BTM9JH.d.ts +0 -20
- package/dist/GroupedBarChartData-Ml5JJimg.js +0 -121
- package/dist/Heatmap-5gFc_AVW.js +0 -524
- package/dist/Heatmap.d.ts +0 -31
- package/dist/Heatmap.js +0 -14
- package/dist/Hierarchy-C5ueDsus.js +0 -260
- package/dist/Hierarchy.d.ts +0 -39
- package/dist/Hierarchy.js +0 -6
- package/dist/HierarchyNavigation-C3Pwt0D6.js +0 -336
- package/dist/HierarchyNavigation.d.ts +0 -34
- package/dist/HierarchyNavigation.js +0 -6
- package/dist/HistoryPlayback-D09bter3.js +0 -175
- package/dist/HistoryPlayback-DmJ6u7lU.d.ts +0 -68
- package/dist/Interfaces-R_1l9lIT.d.ts +0 -6
- package/dist/Legend-gCIrAytG.js +0 -497
- package/dist/LineChart-CzDp5ULB.js +0 -3181
- package/dist/LineChart.d.ts +0 -163
- package/dist/LineChart.js +0 -18
- package/dist/ModelAutocomplete-lU71Ndju.js +0 -100
- package/dist/ModelAutocomplete.d.ts +0 -12
- package/dist/ModelAutocomplete.js +0 -7
- package/dist/ModelSearch-OF4DygOJ.js +0 -189
- package/dist/ModelSearch.d.ts +0 -23
- package/dist/ModelSearch.js +0 -9
- package/dist/PieChart-XLc9Itne.js +0 -258
- package/dist/PieChart.d.ts +0 -26
- package/dist/PieChart.js +0 -17
- package/dist/PlaybackControls-DbG9gExy.js +0 -195
- package/dist/PlaybackControls.d.ts +0 -39
- package/dist/PlaybackControls.js +0 -13
- package/dist/ProcessGraphic-Cft1b4Mf.js +0 -154
- package/dist/ProcessGraphic.d.ts +0 -31
- package/dist/ProcessGraphic.js +0 -7
- package/dist/ScatterPlot-CdnqSHq2.js +0 -924
- package/dist/ScatterPlot.d.ts +0 -115
- package/dist/ScatterPlot.js +0 -17
- package/dist/SingleDateTimePicker-Ddr-ogTk.js +0 -213
- package/dist/SingleDateTimePicker.d.ts +0 -45
- package/dist/SingleDateTimePicker.js +0 -12
- package/dist/Slider-CX0nvlqx.js +0 -186
- package/dist/Slider.d.ts +0 -31
- package/dist/Slider.js +0 -6
- package/dist/TemporalXAxisComponent-DXmMekYq.js +0 -129
- package/dist/TemporalXAxisComponent-PIeiJYUr.d.ts +0 -23
- package/dist/TimezonePicker-CQpXR5eb.js +0 -58
- package/dist/TimezonePicker.d.ts +0 -16
- package/dist/TimezonePicker.js +0 -10
- package/dist/Tooltip-C13k0eeH.js +0 -104
- package/dist/TsqExpression.d.ts +0 -36
- package/dist/TsqExpression.js +0 -89
- package/dist/UXClient-Bn1afElm.js +0 -230
- package/dist/UXClient.d.ts +0 -74
- package/dist/UXClient.js +0 -47
- package/dist/Utils-BcQeZOM3.d.ts +0 -104
- package/dist/Utils-DDGqSryb.js +0 -1138
- package/dist/Utils.d.ts +0 -7
- package/dist/Utils.js +0 -7
- package/dist/_tslib-BYFmvNeL.js +0 -96
- package/dist/pikaday-jh_aVtJs.js +0 -1252
- package/dist/tsiclient.cjs.js +0 -3
- package/dist/tsiclient.cjs.js.LICENSE.txt +0 -19
- package/dist/tsiclient.cjs.js.map +0 -1
- package/dist/tsiclient.d.ts +0 -46
- package/dist/tsiclient.esm.js +0 -3
- package/dist/tsiclient.esm.js.LICENSE.txt +0 -19
- package/dist/tsiclient.esm.js.map +0 -1
- package/dist/tsiclient.js +0 -58
- package/dist/tsiclient.min.css +0 -6
- package/dist/tsiclient.min.css.map +0 -1
- package/dist/tsiclient.umd.js +0 -3
- package/dist/tsiclient.umd.js.LICENSE.txt +0 -19
- package/dist/tsiclient.umd.js.map +0 -1
- package/dist/tsiclient.umd.min.js +0 -3
- package/dist/tsiclient.umd.min.js.LICENSE.txt +0 -19
- package/dist/tsiclient.umd.min.js.map +0 -1
- package/tsiclient.css +0 -17323
- package/tsiclient.d.ts +0 -46
- package/tsiclient.js +0 -58
- package/tsiclient.min.css +0 -6
package/dist/ScatterPlot.d.ts
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { C as ChartVisualizationComponent } from './ChartVisualizationComponent-CpR8xZla.js';
|
|
2
|
-
import { G as GroupedBarChartData } from './GroupedBarChartData-B7BTM9JH.js';
|
|
3
|
-
import { T as TooltipMeasureFormat } from './Enums-DWpaQlXk.js';
|
|
4
|
-
import './ChartComponent-ONNW31RL.js';
|
|
5
|
-
import './Component-DXwYPoSo.js';
|
|
6
|
-
import './Interfaces-R_1l9lIT.js';
|
|
7
|
-
import './ChartComponentData-DBW8_FnY.js';
|
|
8
|
-
import './EllipsisMenu.js';
|
|
9
|
-
|
|
10
|
-
declare class ScatterPlotData extends GroupedBarChartData {
|
|
11
|
-
temporalDataArray: any;
|
|
12
|
-
extents: any;
|
|
13
|
-
private extentsSet;
|
|
14
|
-
constructor();
|
|
15
|
-
/******** SETS EXTENT OF EACH DATA MEASURE -- MEASURES UPDATED WHEN RENDER CALLED OUTSIDE OF TEMPORAL ********/
|
|
16
|
-
setExtents(measures: any, forceReset?: boolean): void;
|
|
17
|
-
/******** UPDATE EXTENTS BASED ON VISIBLE DATA ********/
|
|
18
|
-
updateExtents(measures: any): void;
|
|
19
|
-
/******** UPDATES CHART DATA, ALL TIMESTAMPS, AND VALUES AT THE CURRENT TIMESTAMP ********/
|
|
20
|
-
mergeDataToDisplayStateAndTimeArrays(data: any, timestamp: any, aggregateExpressionOptions?: any): void;
|
|
21
|
-
/******** UPDATES DATA TO BE DRAWN -- IF SCATTER IS TEMPORAL, FLATTENS ALL TIMESTAMP DATA ********/
|
|
22
|
-
updateTemporalDataArray(isTemporal: boolean): void;
|
|
23
|
-
/******** HELPER TO FETCH DATA AT THE CURRENT TIMESTAMP AND BUILD AN OBJECT FOR THAT TIMESTAMP ********/
|
|
24
|
-
private updateTemporal;
|
|
25
|
-
/******** OVERRIDES GROUPEDBARCHARTDATA -- UPDATES VALUES AT TIMESTAMP WITH MEASURES & TIMESTAMP********/
|
|
26
|
-
setValuesAtTimestamp(): void;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
declare class ScatterPlot extends ChartVisualizationComponent {
|
|
30
|
-
private activeDot;
|
|
31
|
-
private chartHeight;
|
|
32
|
-
private controlsOffset;
|
|
33
|
-
private focus;
|
|
34
|
-
private focusedAggKey;
|
|
35
|
-
private focusedSplitBy;
|
|
36
|
-
private focusedSite;
|
|
37
|
-
private g;
|
|
38
|
-
private height;
|
|
39
|
-
private measures;
|
|
40
|
-
private pointWrapper;
|
|
41
|
-
private lineWrapper;
|
|
42
|
-
private rMeasure;
|
|
43
|
-
private rScale;
|
|
44
|
-
private slider;
|
|
45
|
-
private sliderWrapper;
|
|
46
|
-
private targetElement;
|
|
47
|
-
private tooltip;
|
|
48
|
-
private voronoi;
|
|
49
|
-
private voronoiDiagram;
|
|
50
|
-
private voronoiGroup;
|
|
51
|
-
private xAxis;
|
|
52
|
-
private xMeasure;
|
|
53
|
-
private xScale;
|
|
54
|
-
private yAxis;
|
|
55
|
-
private yMeasure;
|
|
56
|
-
private yScale;
|
|
57
|
-
private xAxisLabel;
|
|
58
|
-
private yAxisLabel;
|
|
59
|
-
readonly lowOpacity = 0.15;
|
|
60
|
-
readonly standardOpacity = 0.6;
|
|
61
|
-
private focusOpacity;
|
|
62
|
-
readonly standardStroke = 1;
|
|
63
|
-
readonly lowStroke = 0.3;
|
|
64
|
-
chartComponentData: ScatterPlotData;
|
|
65
|
-
constructor(renderTarget: Element);
|
|
66
|
-
ScatterPlot(): void;
|
|
67
|
-
render(data: any, options: any, aggregateExpressionOptions: any, fromSlider?: boolean): void;
|
|
68
|
-
private getSliderWidth;
|
|
69
|
-
protected tooltipFormat(d: any, text: any, measureFormat: TooltipMeasureFormat, xyrMeasures: any): void;
|
|
70
|
-
/******** DRAW UPDATE FUNCTION ********/
|
|
71
|
-
draw: (isFromResize?: boolean, event?: any) => void;
|
|
72
|
-
/******** DRAW CONNECTING LINES BETWEEN POINTS ********/
|
|
73
|
-
private drawConnectingLines;
|
|
74
|
-
/******** CHECK VALIDITY OF EXTENTS ********/
|
|
75
|
-
private checkExtentValidity;
|
|
76
|
-
/******** CREATE VORONOI DIAGRAM FOR MOUSE EVENTS ********/
|
|
77
|
-
private drawVoronoi;
|
|
78
|
-
/******** STICKY/UNSTICKY DATA GROUPS ON VORONOI DIAGRAM CLICK ********/
|
|
79
|
-
private voronoiClick;
|
|
80
|
-
/******** UPDATE STICKY SPLITBY ********/
|
|
81
|
-
stickySeries: (aggregateKey: string, splitBy?: string) => void;
|
|
82
|
-
/******** HIGHLIGHT DOT TARGETED BY CROSSHAIRS WITH BLACK / WHITE STROKE BORDER ********/
|
|
83
|
-
private highlightDot;
|
|
84
|
-
/******** GET UNIQUE STRING HASH ID FOR EACH DOT USING DATA ATTRIBUTES ********/
|
|
85
|
-
private getClassHash;
|
|
86
|
-
/******** UNHIGHLIGHT ACTIVE DOT ********/
|
|
87
|
-
private unhighlightDot;
|
|
88
|
-
/******** EFFICIENTLY SWAP NEW FOCUSED GROUP WITH OLD FOCUSED GROUP ********/
|
|
89
|
-
private labelMouseMove;
|
|
90
|
-
/******** DRAW CROSSHAIRS, TOOLTIP, AND LEGEND FOCUS ********/
|
|
91
|
-
private voronoiMouseMove;
|
|
92
|
-
/******** HIDE TOOLTIP AND CROSSHAIRS ********/
|
|
93
|
-
private voronoiMouseOut;
|
|
94
|
-
/******** FILTER DATA BY VISIBLE AND STICKIED ********/
|
|
95
|
-
private getVoronoiData;
|
|
96
|
-
/******** HIGHLIGHT FOCUSED GROUP ********/
|
|
97
|
-
private labelMouseOver;
|
|
98
|
-
/******** UNHIGHLIGHT FOCUSED GROUP ********/
|
|
99
|
-
private labelMouseOut;
|
|
100
|
-
/******** FILTER DATA, ONLY KEEPING POINTS WITH ALL REQUIRED MEASURES ********/
|
|
101
|
-
private cleanData;
|
|
102
|
-
/******** UPDATE CHART DIMENSIONS ********/
|
|
103
|
-
private setWidthAndHeight;
|
|
104
|
-
/******** SCALE AND DRAW AXIS ********/
|
|
105
|
-
private drawAxis;
|
|
106
|
-
/******** DRAW X AND Y AXIS LABELS ********/
|
|
107
|
-
private drawAxisLabels;
|
|
108
|
-
/******** DRAW TOOLTIP IF ENABLED ********/
|
|
109
|
-
private drawTooltip;
|
|
110
|
-
/******** HELPERS TO FORMAT TIME DISPLAY ********/
|
|
111
|
-
private labelFormatUsesSeconds;
|
|
112
|
-
private labelFormatUsesMillis;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export { ScatterPlot as default };
|
package/dist/ScatterPlot.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export { S as default } from './ScatterPlot-CdnqSHq2.js';
|
|
2
|
-
import './_tslib-BYFmvNeL.js';
|
|
3
|
-
import 'd3';
|
|
4
|
-
import 'd3-voronoi';
|
|
5
|
-
import './ChartVisualizationComponent-CTs5Q_sg.js';
|
|
6
|
-
import './Utils-DDGqSryb.js';
|
|
7
|
-
import 'moment-timezone';
|
|
8
|
-
import './ChartComponent-Dg8P-BTZ.js';
|
|
9
|
-
import './Component-BgifJdKl.js';
|
|
10
|
-
import './Grid-uoHKTet9.js';
|
|
11
|
-
import 'split.js';
|
|
12
|
-
import './EllipsisMenu-CxJ0LoVm.js';
|
|
13
|
-
import './ChartDataOptions-CNTSB636.js';
|
|
14
|
-
import './Legend-gCIrAytG.js';
|
|
15
|
-
import './GroupedBarChartData-Ml5JJimg.js';
|
|
16
|
-
import './Tooltip-C13k0eeH.js';
|
|
17
|
-
import './Slider-CX0nvlqx.js';
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { _ as __extends } from './_tslib-BYFmvNeL.js';
|
|
2
|
-
import * as d3 from 'd3';
|
|
3
|
-
import { P as Pikaday } from './pikaday-jh_aVtJs.js';
|
|
4
|
-
import moment from 'moment';
|
|
5
|
-
import { C as ChartComponent } from './ChartComponent-Dg8P-BTZ.js';
|
|
6
|
-
import { U as Utils } from './Utils-DDGqSryb.js';
|
|
7
|
-
|
|
8
|
-
var SingleDateTimePicker = /** @class */ (function (_super) {
|
|
9
|
-
__extends(SingleDateTimePicker, _super);
|
|
10
|
-
function SingleDateTimePicker(renderTarget) {
|
|
11
|
-
var _this = _super.call(this, renderTarget) || this;
|
|
12
|
-
_this.isValid = true;
|
|
13
|
-
return _this;
|
|
14
|
-
}
|
|
15
|
-
SingleDateTimePicker.prototype.getMillis = function () {
|
|
16
|
-
return this.millis;
|
|
17
|
-
};
|
|
18
|
-
SingleDateTimePicker.prototype.render = function (chartOptions, minMillis, maxMillis, millis, onSet) {
|
|
19
|
-
var _this = this;
|
|
20
|
-
if (chartOptions === void 0) { chartOptions = {}; }
|
|
21
|
-
if (millis === void 0) { millis = null; }
|
|
22
|
-
if (onSet === void 0) { onSet = null; }
|
|
23
|
-
this.minMillis = minMillis;
|
|
24
|
-
this.maxMillis = maxMillis;
|
|
25
|
-
if (chartOptions.offset && (typeof chartOptions.offset == "string")) {
|
|
26
|
-
this.offsetName = chartOptions.offset;
|
|
27
|
-
}
|
|
28
|
-
if (millis === null) {
|
|
29
|
-
millis = this.maxMillis;
|
|
30
|
-
}
|
|
31
|
-
this.chartOptions.setOptions(chartOptions);
|
|
32
|
-
moment.locale(this.chartOptions.dateLocale);
|
|
33
|
-
this.millis = millis;
|
|
34
|
-
this.onSet = onSet;
|
|
35
|
-
this.targetElement = d3.select(this.renderTarget)
|
|
36
|
-
.classed("tsi-singleDateTimePicker", true);
|
|
37
|
-
this.targetElement.html('');
|
|
38
|
-
_super.prototype.themify.call(this, this.targetElement, this.chartOptions.theme);
|
|
39
|
-
this.targetElement.on('keydown', function (event) {
|
|
40
|
-
if (event.keyCode <= 40 && event.keyCode >= 37) { //arrow key
|
|
41
|
-
event.stopPropagation();
|
|
42
|
-
}
|
|
43
|
-
if (event.keyCode === 27 && _this.chartOptions.dTPIsModal) { //escape
|
|
44
|
-
_this.onSet();
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
this.timeControls = this.targetElement.append("div").classed("tsi-timeControlsContainer", true);
|
|
48
|
-
this.calendar = this.targetElement.append("div").classed("tsi-calendarPicker", true);
|
|
49
|
-
var saveButtonContainer = this.targetElement.append("div").classed("tsi-saveButtonContainer", true);
|
|
50
|
-
var self = this;
|
|
51
|
-
this.saveButton = saveButtonContainer.append("button").classed("tsi-saveButton", true).text(this.getString("Save"))
|
|
52
|
-
.on("click", function () {
|
|
53
|
-
if (_this.isValid) {
|
|
54
|
-
self.onSet(_this.millis);
|
|
55
|
-
}
|
|
56
|
-
})
|
|
57
|
-
.on('keydown', function (event) {
|
|
58
|
-
if (event.keyCode === 9 && !event.shiftKey && _this.chartOptions.dTPIsModal) { // tab
|
|
59
|
-
_this.timeInput.node().focus();
|
|
60
|
-
event.preventDefault();
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
this.targetElement.append("div").classed("tsi-errorMessageContainer", true);
|
|
64
|
-
this.createCalendar();
|
|
65
|
-
this.calendarPicker.draw();
|
|
66
|
-
this.createTimePicker();
|
|
67
|
-
this.updateDisplayedDateTime();
|
|
68
|
-
this.date = new Date(this.millis);
|
|
69
|
-
this.calendarPicker.draw();
|
|
70
|
-
if (this.chartOptions.dTPIsModal) {
|
|
71
|
-
this.timeInput.node().focus();
|
|
72
|
-
}
|
|
73
|
-
return;
|
|
74
|
-
};
|
|
75
|
-
//zero out everything but year, month and day
|
|
76
|
-
SingleDateTimePicker.prototype.roundDay = function (d) {
|
|
77
|
-
var offsetDate = Utils.offsetFromUTC(d, this.chartOptions.offset);
|
|
78
|
-
return new Date(offsetDate.getUTCFullYear(), offsetDate.getUTCMonth(), offsetDate.getUTCDate());
|
|
79
|
-
};
|
|
80
|
-
SingleDateTimePicker.prototype.setSelectedDate = function (d) {
|
|
81
|
-
this.calendarPicker.setDate(d, true);
|
|
82
|
-
this.setDate(d);
|
|
83
|
-
this.timeInput.node().value = this.createTimeString(Utils.offsetFromUTC(new Date(this.millis)));
|
|
84
|
-
};
|
|
85
|
-
SingleDateTimePicker.prototype.createCalendar = function () {
|
|
86
|
-
var _this = this;
|
|
87
|
-
var i18nOptions = {
|
|
88
|
-
previousMonth: this.getString('Previous Month'),
|
|
89
|
-
nextMonth: this.getString('Next Month'),
|
|
90
|
-
months: moment.localeData().months(),
|
|
91
|
-
weekdays: moment.localeData().weekdays(),
|
|
92
|
-
weekdaysShort: moment.localeData().weekdaysMin()
|
|
93
|
-
};
|
|
94
|
-
//@ts-ignore
|
|
95
|
-
this.calendarPicker = new Pikaday({
|
|
96
|
-
bound: false,
|
|
97
|
-
container: this.calendar.node(),
|
|
98
|
-
field: this.calendar.node(),
|
|
99
|
-
i18n: i18nOptions,
|
|
100
|
-
numberOfMonths: 1,
|
|
101
|
-
onSelect: function (d) {
|
|
102
|
-
_this.setSelectedDate(d);
|
|
103
|
-
_this.calendarPicker.draw();
|
|
104
|
-
_this.checkDateTimeValidity();
|
|
105
|
-
},
|
|
106
|
-
onDraw: function (d) {
|
|
107
|
-
_this.calendar.select(".pika-single").selectAll('button').attr('tabindex', -1);
|
|
108
|
-
},
|
|
109
|
-
minDate: this.convertToLocal(Utils.offsetFromUTC(new Date(this.minMillis), this.chartOptions.offset)),
|
|
110
|
-
maxDate: this.convertToLocal(Utils.offsetFromUTC(new Date(this.maxMillis), this.chartOptions.offset)),
|
|
111
|
-
defaultDate: this.convertToLocal(Utils.offsetFromUTC(new Date(this.millis), this.chartOptions.offset))
|
|
112
|
-
});
|
|
113
|
-
};
|
|
114
|
-
SingleDateTimePicker.prototype.setDate = function (d) {
|
|
115
|
-
var date = Utils.offsetFromUTC(new Date(this.millis), this.chartOptions.offset);
|
|
116
|
-
date.setUTCFullYear(d.getFullYear());
|
|
117
|
-
date.setUTCMonth(d.getMonth());
|
|
118
|
-
date.setUTCDate(d.getDate());
|
|
119
|
-
this.setMillis(date.valueOf(), true);
|
|
120
|
-
};
|
|
121
|
-
SingleDateTimePicker.prototype.setIsValid = function (isValid) {
|
|
122
|
-
this.isValid = isValid;
|
|
123
|
-
};
|
|
124
|
-
SingleDateTimePicker.prototype.setMillis = function (millis, shouldOffset) {
|
|
125
|
-
if (shouldOffset === void 0) { shouldOffset = true; }
|
|
126
|
-
var adjustedMillis = millis - (shouldOffset ? Utils.getOffsetMinutes(this.chartOptions.offset, millis) * 60 * 1000 : 0);
|
|
127
|
-
this.millis = adjustedMillis;
|
|
128
|
-
};
|
|
129
|
-
SingleDateTimePicker.prototype.displayErrors = function (rangeErrors) {
|
|
130
|
-
this.targetElement.select(".tsi-errorMessageContainer").selectAll(".tsi-errorMessage").remove();
|
|
131
|
-
if (rangeErrors.length != 0) {
|
|
132
|
-
this.targetElement.select(".tsi-errorMessageContainer").selectAll(".tsi-errorMessages")
|
|
133
|
-
.data(rangeErrors)
|
|
134
|
-
.enter()
|
|
135
|
-
.append("div")
|
|
136
|
-
.classed("tsi-errorMessage", true)
|
|
137
|
-
.text(function (d) { return d; });
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
SingleDateTimePicker.prototype.checkDateTimeValidity = function () {
|
|
141
|
-
var parsedMillis = this.parseUserInputDateTime();
|
|
142
|
-
var errorCheck = this.dateTimeIsValid(parsedMillis);
|
|
143
|
-
this.displayErrors(errorCheck.errors);
|
|
144
|
-
this.setIsValid(errorCheck.rangeIsValid);
|
|
145
|
-
};
|
|
146
|
-
SingleDateTimePicker.prototype.dateTimeIsValid = function (prospectiveMillis) {
|
|
147
|
-
var accumulatedErrors = [];
|
|
148
|
-
if (isNaN(prospectiveMillis)) {
|
|
149
|
-
accumulatedErrors.push('*time is invalid');
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
var firstDateTime = Utils.offsetFromUTC(new Date(this.minMillis), this.chartOptions.offset);
|
|
153
|
-
var lastDateTime = Utils.offsetFromUTC(new Date(this.maxMillis), this.chartOptions.offset);
|
|
154
|
-
if (prospectiveMillis < this.minMillis) {
|
|
155
|
-
accumulatedErrors.push("*date/time is before first possible date and time (" + this.getTimeFormat()(firstDateTime) + ")");
|
|
156
|
-
}
|
|
157
|
-
if (prospectiveMillis > this.maxMillis) {
|
|
158
|
-
accumulatedErrors.push("*date/time is after last possible date and time (" + this.getTimeFormat()(lastDateTime) + ")");
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
return {
|
|
162
|
-
rangeIsValid: (accumulatedErrors.length == 0),
|
|
163
|
-
errors: accumulatedErrors
|
|
164
|
-
};
|
|
165
|
-
};
|
|
166
|
-
SingleDateTimePicker.prototype.getTimeFormat = function () {
|
|
167
|
-
return Utils.timeFormat(true, true, this.chartOptions.offset, true, 0, null, this.chartOptions.dateLocale);
|
|
168
|
-
};
|
|
169
|
-
SingleDateTimePicker.prototype.parseUserInputDateTime = function () {
|
|
170
|
-
return Utils.parseUserInputDateTime(this.timeInput.node().value, this.chartOptions.offset);
|
|
171
|
-
};
|
|
172
|
-
SingleDateTimePicker.prototype.convertToCalendarDate = function (millis) {
|
|
173
|
-
return this.roundDay(Utils.adjustDateFromTimezoneOffset(Utils.offsetFromUTC(new Date(millis), this.chartOptions.offset)));
|
|
174
|
-
};
|
|
175
|
-
SingleDateTimePicker.prototype.updateDisplayedDateTime = function (fromInput) {
|
|
176
|
-
if (fromInput === void 0) { fromInput = false; }
|
|
177
|
-
var selectedDate = new Date(this.millis);
|
|
178
|
-
this.calendarPicker.setDate(this.convertToCalendarDate(this.millis), fromInput);
|
|
179
|
-
if (!fromInput) {
|
|
180
|
-
this.timeInput.node().value = this.createTimeString(Utils.offsetFromUTC(selectedDate));
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
SingleDateTimePicker.prototype.createTimeString = function (currDate) {
|
|
184
|
-
Utils.offsetFromUTC(currDate, this.chartOptions.offset);
|
|
185
|
-
return this.getTimeFormat()(currDate);
|
|
186
|
-
};
|
|
187
|
-
// convert to representation such that: convertedDate.toString() === originalDate.toISOString()
|
|
188
|
-
SingleDateTimePicker.prototype.convertToLocal = function (date) {
|
|
189
|
-
return new Date(date.valueOf() + date.getTimezoneOffset() * 60 * 1000);
|
|
190
|
-
};
|
|
191
|
-
SingleDateTimePicker.prototype.createTimePicker = function () {
|
|
192
|
-
var _this = this;
|
|
193
|
-
this.timeControls.append("h4").classed("tsi-timeLabel", true).text(this.getString('Date/Time'));
|
|
194
|
-
this.timeInput = this.timeControls.append('input').attr('class', 'tsi-dateTimeInput tsi-input')
|
|
195
|
-
.on('input', function () {
|
|
196
|
-
_this.checkDateTimeValidity();
|
|
197
|
-
if (_this.isValid) {
|
|
198
|
-
var parsedMillis = _this.parseUserInputDateTime();
|
|
199
|
-
_this.setMillis(parsedMillis, false);
|
|
200
|
-
_this.updateDisplayedDateTime(true);
|
|
201
|
-
}
|
|
202
|
-
})
|
|
203
|
-
.on('keydown', function (event) {
|
|
204
|
-
if (event.keyCode === 9 && event.shiftKey && _this.chartOptions.dTPIsModal) { // tab
|
|
205
|
-
_this.saveButton.node().focus();
|
|
206
|
-
event.preventDefault();
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
};
|
|
210
|
-
return SingleDateTimePicker;
|
|
211
|
-
}(ChartComponent));
|
|
212
|
-
|
|
213
|
-
export { SingleDateTimePicker as S };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { C as ChartComponent } from './ChartComponent-ONNW31RL.js';
|
|
2
|
-
import './Enums-DWpaQlXk.js';
|
|
3
|
-
import './Component-DXwYPoSo.js';
|
|
4
|
-
import './Interfaces-R_1l9lIT.js';
|
|
5
|
-
import './ChartComponentData-DBW8_FnY.js';
|
|
6
|
-
import './EllipsisMenu.js';
|
|
7
|
-
|
|
8
|
-
declare class SingleDateTimePicker extends ChartComponent {
|
|
9
|
-
private calendar;
|
|
10
|
-
private calendarPicker;
|
|
11
|
-
private timeControls;
|
|
12
|
-
private minMillis;
|
|
13
|
-
private maxMillis;
|
|
14
|
-
private millis;
|
|
15
|
-
private minutes;
|
|
16
|
-
private hours;
|
|
17
|
-
private onSet;
|
|
18
|
-
private targetElement;
|
|
19
|
-
private isValid;
|
|
20
|
-
private offsetName;
|
|
21
|
-
private date;
|
|
22
|
-
private timeInput;
|
|
23
|
-
private saveButton;
|
|
24
|
-
constructor(renderTarget: Element);
|
|
25
|
-
getMillis(): number;
|
|
26
|
-
render(chartOptions: any, minMillis: number, maxMillis: number, millis?: number, onSet?: any): void;
|
|
27
|
-
private roundDay;
|
|
28
|
-
private setSelectedDate;
|
|
29
|
-
private createCalendar;
|
|
30
|
-
private setDate;
|
|
31
|
-
private setIsValid;
|
|
32
|
-
private setMillis;
|
|
33
|
-
private displayErrors;
|
|
34
|
-
private checkDateTimeValidity;
|
|
35
|
-
private dateTimeIsValid;
|
|
36
|
-
private getTimeFormat;
|
|
37
|
-
private parseUserInputDateTime;
|
|
38
|
-
private convertToCalendarDate;
|
|
39
|
-
private updateDisplayedDateTime;
|
|
40
|
-
private createTimeString;
|
|
41
|
-
private convertToLocal;
|
|
42
|
-
private createTimePicker;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export { SingleDateTimePicker as default };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export { S as default } from './SingleDateTimePicker-Ddr-ogTk.js';
|
|
2
|
-
import './_tslib-BYFmvNeL.js';
|
|
3
|
-
import 'd3';
|
|
4
|
-
import './pikaday-jh_aVtJs.js';
|
|
5
|
-
import 'moment';
|
|
6
|
-
import './ChartComponent-Dg8P-BTZ.js';
|
|
7
|
-
import './Utils-DDGqSryb.js';
|
|
8
|
-
import 'moment-timezone';
|
|
9
|
-
import './Component-BgifJdKl.js';
|
|
10
|
-
import './Grid-uoHKTet9.js';
|
|
11
|
-
import 'split.js';
|
|
12
|
-
import './EllipsisMenu-CxJ0LoVm.js';
|
package/dist/Slider-CX0nvlqx.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { _ as __extends } from './_tslib-BYFmvNeL.js';
|
|
2
|
-
import * as d3 from 'd3';
|
|
3
|
-
import { U as Utils } from './Utils-DDGqSryb.js';
|
|
4
|
-
import { C as Component } from './Component-BgifJdKl.js';
|
|
5
|
-
|
|
6
|
-
var Slider = /** @class */ (function (_super) {
|
|
7
|
-
__extends(Slider, _super);
|
|
8
|
-
function Slider(renderTarget) {
|
|
9
|
-
var _this = _super.call(this, renderTarget) || this;
|
|
10
|
-
_this.sliderSVG = null;
|
|
11
|
-
_this.sliderTextDiv = null;
|
|
12
|
-
_this.margins = {
|
|
13
|
-
left: 60,
|
|
14
|
-
right: 60
|
|
15
|
-
};
|
|
16
|
-
_this.height = 55;
|
|
17
|
-
_this.setSelectedLabelAndGetLabelAction = function (h, useFirstValue) {
|
|
18
|
-
if (useFirstValue === void 0) { useFirstValue = false; }
|
|
19
|
-
//find the closest time and set position to that
|
|
20
|
-
var reduceFirstValue = useFirstValue ? _this.data[0] : { label: _this.selectedLabel, action: function () { } };
|
|
21
|
-
var newSelectedLabel = _this.data.reduce(function (prev, curr) {
|
|
22
|
-
var currDiff = Math.abs(_this.getXPositionOfLabel(curr.label) - h);
|
|
23
|
-
var prevDiff = Math.abs(_this.getXPositionOfLabel(prev.label) - h);
|
|
24
|
-
return (currDiff < prevDiff) ? curr : prev;
|
|
25
|
-
}, reduceFirstValue);
|
|
26
|
-
_this.selectedLabel = (newSelectedLabel != null) ? newSelectedLabel.label : _this.selectedLabel;
|
|
27
|
-
return newSelectedLabel;
|
|
28
|
-
};
|
|
29
|
-
_this.setSliderTextDivLabel = function () {
|
|
30
|
-
_this.sliderTextDiv.attr("aria-label", function () {
|
|
31
|
-
return _this.getString("Currently displayed time is") + ' ' + _this.selectedLabel + ". " +
|
|
32
|
-
_this.getString("Left arrow to go back in time") + ", " + _this.getString("right arrow to go forward");
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
return _this;
|
|
36
|
-
}
|
|
37
|
-
Slider.prototype.Slider = function () {
|
|
38
|
-
};
|
|
39
|
-
Slider.prototype.getXPositionOfLabel = function (label) {
|
|
40
|
-
if (this.data.map(function (d) { return d.label; }).indexOf(label) != -1) {
|
|
41
|
-
return this.xScale(label);
|
|
42
|
-
}
|
|
43
|
-
// find approximate position if ascending time periods and label is a time label as well
|
|
44
|
-
if ((Utils.parseTimeInput(label) > -1) && this.isAscendingTimePeriods && this.data.length > 1) {
|
|
45
|
-
var labelMillis = Utils.parseTimeInput(label);
|
|
46
|
-
for (var i = 0; i < this.data.length; i++) {
|
|
47
|
-
if (Utils.parseTimeInput(this.data[i].label) > labelMillis) {
|
|
48
|
-
return (this.xScale(this.data[i].label) + this.xScale(this.data[Math.max(i - 1, 0)].label)) / 2;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return this.xScale(this.data[this.data.length - 1].label);
|
|
52
|
-
}
|
|
53
|
-
return 0;
|
|
54
|
-
};
|
|
55
|
-
Slider.prototype.determineIfAscendingTimePeriods = function () {
|
|
56
|
-
var left = this.data.length > 0 ? Utils.parseTimeInput(this.data[0].label) : -1;
|
|
57
|
-
var isAscending = left !== -1;
|
|
58
|
-
for (var i = 0; isAscending && i < this.data.length - 1; i++) {
|
|
59
|
-
isAscending = left < (left = Utils.parseTimeInput(this.data[i + 1].label));
|
|
60
|
-
}
|
|
61
|
-
return isAscending;
|
|
62
|
-
};
|
|
63
|
-
Slider.prototype.render = function (data, options, width, selectedLabel) {
|
|
64
|
-
var _this = this;
|
|
65
|
-
if (selectedLabel === void 0) { selectedLabel = null; }
|
|
66
|
-
this.chartOptions.setOptions(options);
|
|
67
|
-
this.data = data;
|
|
68
|
-
this.isAscendingTimePeriods = this.determineIfAscendingTimePeriods();
|
|
69
|
-
this.width = width;
|
|
70
|
-
var marginsTotal = this.margins.left + this.margins.right;
|
|
71
|
-
this.sliderWidth = width - marginsTotal;
|
|
72
|
-
var targetElement = d3.select(this.renderTarget);
|
|
73
|
-
if (targetElement.style("position") == "static")
|
|
74
|
-
targetElement.style("position", "relative");
|
|
75
|
-
if (selectedLabel)
|
|
76
|
-
this.selectedLabel = selectedLabel;
|
|
77
|
-
this.xScale = d3.scalePoint()
|
|
78
|
-
.domain(data.map(function (d) { return d.label; }))
|
|
79
|
-
.range([0, this.sliderWidth]);
|
|
80
|
-
width = Math.max(width, marginsTotal);
|
|
81
|
-
var self = this;
|
|
82
|
-
if (this.sliderSVG == null) {
|
|
83
|
-
this.sliderSVG = targetElement.append("svg")
|
|
84
|
-
.attr("class", "tsi-sliderComponent");
|
|
85
|
-
var slider = this.sliderSVG.append("g")
|
|
86
|
-
.attr("class", "slider tsi-sliderG");
|
|
87
|
-
slider.append("line")
|
|
88
|
-
.attr("class", "slider-track tsi-sliderTrack")
|
|
89
|
-
.select(function () { return this.parentNode.appendChild(this.cloneNode(true)); })
|
|
90
|
-
.attr("class", "track-overlay tsi-sliderTrackOverlay")
|
|
91
|
-
.call(d3.drag()
|
|
92
|
-
.on("start.interrupt", function () { slider.interrupt(); })
|
|
93
|
-
.on("start drag", function (event, d) {
|
|
94
|
-
self.onDrag(event.x);
|
|
95
|
-
})
|
|
96
|
-
.on("end", function (event, d) {
|
|
97
|
-
self.onDragEnd(event.x);
|
|
98
|
-
}));
|
|
99
|
-
slider.insert("circle", ".track-overlay")
|
|
100
|
-
.attr("class", "handle tsi-sliderHandle")
|
|
101
|
-
.attr("r", 6);
|
|
102
|
-
this.sliderTextDiv = targetElement.append("div")
|
|
103
|
-
.attr("class", "tsi-sliderLabel")
|
|
104
|
-
.attr("tabindex", 0)
|
|
105
|
-
.attr("aria-label", selectedLabel)
|
|
106
|
-
.on("keydown", function (event) {
|
|
107
|
-
if (event.keyCode == 37) {
|
|
108
|
-
_this.moveLeft();
|
|
109
|
-
}
|
|
110
|
-
if (event.keyCode == 39) {
|
|
111
|
-
_this.moveRight();
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
this.themify(this.sliderSVG, this.chartOptions.theme);
|
|
116
|
-
this.sliderSVG.attr("width", width + "px");
|
|
117
|
-
var slider = this.sliderSVG.select(".tsi-sliderG")
|
|
118
|
-
.attr("transform", "translate(" + this.margins.left + "," + (this.height / 2) + ")");
|
|
119
|
-
slider.select(".tsi-sliderTrack")
|
|
120
|
-
.attr("x1", 0)
|
|
121
|
-
.attr("x2", this.sliderWidth)
|
|
122
|
-
.attr("y1", 0)
|
|
123
|
-
.attr("y2", 0);
|
|
124
|
-
slider.select(".tsi-sliderTrackOverlay")
|
|
125
|
-
.attr("x1", -20)
|
|
126
|
-
.attr("x2", this.sliderWidth + 20)
|
|
127
|
-
.attr("y1", 0)
|
|
128
|
-
.attr("y2", 0);
|
|
129
|
-
this.setStateFromLabel();
|
|
130
|
-
};
|
|
131
|
-
Slider.prototype.remove = function () {
|
|
132
|
-
if (this.sliderSVG)
|
|
133
|
-
this.sliderSVG.remove();
|
|
134
|
-
this.sliderSVG = null;
|
|
135
|
-
if (this.sliderTextDiv)
|
|
136
|
-
this.sliderTextDiv.remove();
|
|
137
|
-
};
|
|
138
|
-
Slider.prototype.onDrag = function (h) {
|
|
139
|
-
// find the closest time and set position to that
|
|
140
|
-
var newSelectedLabel = this.setSelectedLabelAndGetLabelAction(h);
|
|
141
|
-
if (!this.chartOptions.throttleSlider) {
|
|
142
|
-
newSelectedLabel.action(newSelectedLabel.label);
|
|
143
|
-
}
|
|
144
|
-
this.setStateFromLabel();
|
|
145
|
-
};
|
|
146
|
-
Slider.prototype.onDragEnd = function (h) {
|
|
147
|
-
if (this.chartOptions.throttleSlider) {
|
|
148
|
-
var newSelectedLabel = this.setSelectedLabelAndGetLabelAction(h, true);
|
|
149
|
-
newSelectedLabel.action(newSelectedLabel.label);
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
//set the position of the slider and text, and set the text, given a label
|
|
153
|
-
Slider.prototype.setStateFromLabel = function () {
|
|
154
|
-
this.sliderSVG.select(".handle").attr("cx", this.getXPositionOfLabel(this.selectedLabel));
|
|
155
|
-
this.sliderTextDiv.text(this.selectedLabel);
|
|
156
|
-
this.setSliderTextDivLabel();
|
|
157
|
-
//adjust until center lines up with
|
|
158
|
-
var centerDivOffset = this.sliderTextDiv.node().getBoundingClientRect().width / 2;
|
|
159
|
-
this.sliderTextDiv.style("right", (this.width - (this.margins.right + this.getXPositionOfLabel(this.selectedLabel))) - centerDivOffset + "px");
|
|
160
|
-
};
|
|
161
|
-
Slider.prototype.moveLeft = function () {
|
|
162
|
-
for (var i = 0; i < this.data.length; i++) {
|
|
163
|
-
if (this.data[i].label == this.selectedLabel) {
|
|
164
|
-
var newI = Math.max(0, i - 1);
|
|
165
|
-
this.selectedLabel = this.data[newI].label;
|
|
166
|
-
this.data[newI].action(this.selectedLabel);
|
|
167
|
-
this.setStateFromLabel();
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
Slider.prototype.moveRight = function () {
|
|
173
|
-
for (var i = 0; i < this.data.length; i++) {
|
|
174
|
-
if (this.data[i].label == this.selectedLabel) {
|
|
175
|
-
var newI = Math.min(this.data.length - 1, i + 1);
|
|
176
|
-
this.selectedLabel = this.data[newI].label;
|
|
177
|
-
this.data[newI].action(this.selectedLabel);
|
|
178
|
-
this.setStateFromLabel();
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
return Slider;
|
|
184
|
-
}(Component));
|
|
185
|
-
|
|
186
|
-
export { Slider as S };
|
package/dist/Slider.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { C as Component } from './Component-DXwYPoSo.js';
|
|
2
|
-
import './Enums-DWpaQlXk.js';
|
|
3
|
-
import './Interfaces-R_1l9lIT.js';
|
|
4
|
-
|
|
5
|
-
declare class Slider extends Component {
|
|
6
|
-
private sliderSVG;
|
|
7
|
-
sliderTextDiv: any;
|
|
8
|
-
private xScale;
|
|
9
|
-
private data;
|
|
10
|
-
private width;
|
|
11
|
-
private sliderWidth;
|
|
12
|
-
private selectedLabel;
|
|
13
|
-
private isAscendingTimePeriods;
|
|
14
|
-
private margins;
|
|
15
|
-
private height;
|
|
16
|
-
constructor(renderTarget: Element);
|
|
17
|
-
Slider(): void;
|
|
18
|
-
private getXPositionOfLabel;
|
|
19
|
-
private determineIfAscendingTimePeriods;
|
|
20
|
-
render(data: Array<any>, options: any, width: number, selectedLabel?: string): void;
|
|
21
|
-
remove(): void;
|
|
22
|
-
private onDrag;
|
|
23
|
-
private onDragEnd;
|
|
24
|
-
private setSelectedLabelAndGetLabelAction;
|
|
25
|
-
private setSliderTextDivLabel;
|
|
26
|
-
private setStateFromLabel;
|
|
27
|
-
private moveLeft;
|
|
28
|
-
private moveRight;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export { Slider as default };
|