@hpcc-js/api 3.4.0 → 3.4.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/dist/index.js +3 -551
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +3 -2
- package/dist/index.umd.cjs.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,551 +1,3 @@
|
|
|
1
|
-
import { Palette, Widget, format, hsl, map, select, selection } from "@hpcc-js/common";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const PKG_NAME = "@hpcc-js/api";
|
|
5
|
-
const PKG_VERSION = "3.4.0";
|
|
6
|
-
const BUILD_VERSION = "3.15.0";
|
|
7
|
-
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region src/I1DChart.ts
|
|
10
|
-
function I1DChart() {}
|
|
11
|
-
I1DChart.prototype._dataFamily = "1D";
|
|
12
|
-
I1DChart.prototype._palette = Palette.rainbow("default");
|
|
13
|
-
I1DChart.prototype.click = function(row, column, selected) {};
|
|
14
|
-
I1DChart.prototype.dblclick = function(row, column, selected) {};
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/I2DChart.ts
|
|
18
|
-
function I2DChart() {}
|
|
19
|
-
I2DChart.prototype._dataFamily = "2D";
|
|
20
|
-
I2DChart.prototype._palette = Palette.ordinal("default");
|
|
21
|
-
I2DChart.prototype.fillColor = function(row, column, value, origRow) {
|
|
22
|
-
return this._palette(row[0]);
|
|
23
|
-
};
|
|
24
|
-
I2DChart.prototype.strokeColor = function(row, column, value, origRow) {
|
|
25
|
-
return hsl(this.fillColor(row, column, value, origRow)).darker().toString();
|
|
26
|
-
};
|
|
27
|
-
I2DChart.prototype.textColor = function(row, column, value, origRow) {
|
|
28
|
-
return Palette.textColor(this.fillColor(row, column, value, origRow));
|
|
29
|
-
};
|
|
30
|
-
I2DChart.prototype.click = function(row, column, selected) {};
|
|
31
|
-
I2DChart.prototype.dblclick = function(row, column, selected) {};
|
|
32
|
-
|
|
33
|
-
//#endregion
|
|
34
|
-
//#region src/I2DAggrChart.ts
|
|
35
|
-
function I2DAggrChart() {}
|
|
36
|
-
I2DAggrChart.prototype._palette = Palette.rainbow("default");
|
|
37
|
-
I2DAggrChart.prototype.fillColor = function(row, column, value) {
|
|
38
|
-
return this._palette(row.length);
|
|
39
|
-
};
|
|
40
|
-
I2DAggrChart.prototype.strokeColor = function(row, column, value) {
|
|
41
|
-
return hsl(this.fillColor(row, column, value)).darker().toString();
|
|
42
|
-
};
|
|
43
|
-
I2DAggrChart.prototype.textColor = function(row, column, value) {
|
|
44
|
-
return Palette.textColor(this.fillColor(row, column, value));
|
|
45
|
-
};
|
|
46
|
-
I2DAggrChart.prototype.click = function(row, column, selected) {};
|
|
47
|
-
I2DAggrChart.prototype.dblclick = function(row, column, selected) {};
|
|
48
|
-
|
|
49
|
-
//#endregion
|
|
50
|
-
//#region src/IGraph.ts
|
|
51
|
-
function IGraph() {}
|
|
52
|
-
IGraph.prototype._dataFamily = "graph";
|
|
53
|
-
IGraph.prototype.vertex_click = function(_row, _col, _sel, more) {
|
|
54
|
-
if (more && more.vertex) {}
|
|
55
|
-
};
|
|
56
|
-
IGraph.prototype.vertex_dblclick = function(_row, _col, _sel, more) {
|
|
57
|
-
if (more && more.vertex) {}
|
|
58
|
-
};
|
|
59
|
-
IGraph.prototype.edge_click = function(_row, _col, _sel, more) {
|
|
60
|
-
if (more && more.edge) {}
|
|
61
|
-
};
|
|
62
|
-
IGraph.prototype.edge_dblclick = function(_row, _col, _sel, more) {
|
|
63
|
-
if (more && more.edge) {}
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
//#endregion
|
|
67
|
-
//#region src/IHighlight.ts
|
|
68
|
-
function instanceOfIHighlight(w) {
|
|
69
|
-
return typeof w.highlightColumn === "function";
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
//#endregion
|
|
73
|
-
//#region src/IInput.ts
|
|
74
|
-
function IInput() {}
|
|
75
|
-
IInput.prototype = Object.create(Widget.prototype);
|
|
76
|
-
IInput.prototype.constructor = IInput;
|
|
77
|
-
IInput.prototype.isValid = function() {
|
|
78
|
-
if (this.validate()) {
|
|
79
|
-
if (!new RegExp(this.validate()).test(this.value())) return false;
|
|
80
|
-
}
|
|
81
|
-
return true;
|
|
82
|
-
};
|
|
83
|
-
IInput.prototype.hasValue = function() {
|
|
84
|
-
if (typeof this.type === "function") {
|
|
85
|
-
switch (this.type()) {
|
|
86
|
-
case "radio":
|
|
87
|
-
case "checkbox":
|
|
88
|
-
if (this.value() && this.value() !== "false") return true;
|
|
89
|
-
break;
|
|
90
|
-
default:
|
|
91
|
-
if (this.value()) return true;
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
return this.value() !== "";
|
|
97
|
-
};
|
|
98
|
-
IInput.prototype.blur = function(_w) {};
|
|
99
|
-
IInput.prototype.keyup = function(_w) {};
|
|
100
|
-
IInput.prototype.focus = function(_w) {};
|
|
101
|
-
IInput.prototype.click = function(_w) {};
|
|
102
|
-
IInput.prototype.dblclick = function(_w) {};
|
|
103
|
-
IInput.prototype.change = function(_w, complete) {};
|
|
104
|
-
IInput.prototype.resetValue = function(w) {
|
|
105
|
-
w.value(w._inputElement[0].node().value);
|
|
106
|
-
};
|
|
107
|
-
IInput.prototype.disable = function(disable) {
|
|
108
|
-
this._inputElement.forEach(function(e, idx) {
|
|
109
|
-
e.attr("disabled", disable ? "disabled" : null);
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
IInput.prototype.setFocus = function() {
|
|
113
|
-
if (this._inputElement.length) this._inputElement[0].node().focus();
|
|
114
|
-
};
|
|
115
|
-
IInput.prototype.publish("name", "", "string", "HTML name for the input");
|
|
116
|
-
IInput.prototype.publish("label", "", "string", "Descriptive label");
|
|
117
|
-
IInput.prototype.publish("value", "", "string", "Input Current Value");
|
|
118
|
-
IInput.prototype.publish("validate", null, "string", "Input Validation");
|
|
119
|
-
|
|
120
|
-
//#endregion
|
|
121
|
-
//#region src/INDChart.ts
|
|
122
|
-
function INDChart() {}
|
|
123
|
-
INDChart.prototype._dataFamily = "ND";
|
|
124
|
-
INDChart.prototype._palette = Palette.ordinal("default");
|
|
125
|
-
INDChart.prototype.fillColor = function(row, column, value, origRow) {
|
|
126
|
-
return this._palette(column);
|
|
127
|
-
};
|
|
128
|
-
INDChart.prototype.strokeColor = function(row, column, value, origRow) {
|
|
129
|
-
return hsl(this.fillColor(row, column, value, origRow)).darker().toString();
|
|
130
|
-
};
|
|
131
|
-
INDChart.prototype.textColor = function(row, column, value, origRow) {
|
|
132
|
-
return Palette.textColor(this.fillColor(row, column, value, origRow));
|
|
133
|
-
};
|
|
134
|
-
INDChart.prototype.click = function(row, column, selected) {};
|
|
135
|
-
INDChart.prototype.dblclick = function(row, column, selected) {};
|
|
136
|
-
|
|
137
|
-
//#endregion
|
|
138
|
-
//#region src/Tooltip.ts
|
|
139
|
-
function tip() {
|
|
140
|
-
let direction = d3TipDirection;
|
|
141
|
-
let offset = d3TipOffset;
|
|
142
|
-
let html = d3TipHTML;
|
|
143
|
-
let rootElement = functor(document.body);
|
|
144
|
-
let node = initNode();
|
|
145
|
-
let svg = null;
|
|
146
|
-
let point = null;
|
|
147
|
-
let target = null;
|
|
148
|
-
const tip$1 = function(vis) {
|
|
149
|
-
svg = getSVGNode(vis);
|
|
150
|
-
if (!svg) return;
|
|
151
|
-
point = svg.createSVGPoint();
|
|
152
|
-
const re = rootElement();
|
|
153
|
-
if (!re) return;
|
|
154
|
-
if (!node) return;
|
|
155
|
-
re.appendChild(node);
|
|
156
|
-
};
|
|
157
|
-
tip$1.show = function(d, idx, arr) {
|
|
158
|
-
target = arr[idx];
|
|
159
|
-
const args = Array.prototype.slice.call(arguments);
|
|
160
|
-
const content = html.apply(this, args);
|
|
161
|
-
if (content === null) return tip$1;
|
|
162
|
-
const poffset = offset.apply(this, args);
|
|
163
|
-
const nodel = getNodeEl();
|
|
164
|
-
let i = directions.length;
|
|
165
|
-
let coords;
|
|
166
|
-
const root_bbox = rootElement().getBoundingClientRect();
|
|
167
|
-
nodel.html(content).style("opacity", 1).style("pointer-events", "all");
|
|
168
|
-
while (i--) nodel.classed(directions[i], false);
|
|
169
|
-
let placement_success = false;
|
|
170
|
-
const placement_overflow = {};
|
|
171
|
-
let least_overflow_direction = directions[0];
|
|
172
|
-
for (let i$1 = 0; i$1 < directions.length; i$1++) {
|
|
173
|
-
placement_success = _placement_attempt(directions[i$1]);
|
|
174
|
-
if (placement_success) break;
|
|
175
|
-
}
|
|
176
|
-
if (!placement_success) {
|
|
177
|
-
nodel.classed("notick", true);
|
|
178
|
-
const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);
|
|
179
|
-
const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);
|
|
180
|
-
_placement_attempt(least_overflow_direction, top_offset, left_offset);
|
|
181
|
-
} else nodel.classed("notick", false);
|
|
182
|
-
return tip$1;
|
|
183
|
-
function _horizontal_adjustment(overflow_obj) {
|
|
184
|
-
if (overflow_obj.left > overflow_obj.right) return overflow_obj.left > 0 ? -overflow_obj.left : 0;
|
|
185
|
-
else return overflow_obj.right > 0 ? overflow_obj.right : 0;
|
|
186
|
-
}
|
|
187
|
-
function _vertical_adjustment(overflow_obj) {
|
|
188
|
-
if (overflow_obj.top > overflow_obj.bottom) return overflow_obj.top > 0 ? -overflow_obj.top : 0;
|
|
189
|
-
else return overflow_obj.bottom;
|
|
190
|
-
}
|
|
191
|
-
function _placement_attempt(_dir, _top_offset, _left_offset) {
|
|
192
|
-
_top_offset = _top_offset ? _top_offset : 0;
|
|
193
|
-
_left_offset = _left_offset ? _left_offset : 0;
|
|
194
|
-
nodel.style("white-space", "nowrap");
|
|
195
|
-
coords = directionCallbacks.get(_dir).apply(this);
|
|
196
|
-
nodel.classed(_dir, true).style("top", coords.top + poffset[0] - _top_offset + "px").style("left", coords.left + poffset[1] - _left_offset + "px");
|
|
197
|
-
const nodel_bbox = nodel.node().getBoundingClientRect();
|
|
198
|
-
const ret = nodel_bbox.top > root_bbox.top && nodel_bbox.left > root_bbox.left && nodel_bbox.bottom < root_bbox.bottom && nodel_bbox.right < root_bbox.right;
|
|
199
|
-
placement_overflow[_dir] = {
|
|
200
|
-
top: root_bbox.top - nodel_bbox.top,
|
|
201
|
-
right: nodel_bbox.right - root_bbox.right,
|
|
202
|
-
bottom: nodel_bbox.bottom - root_bbox.bottom,
|
|
203
|
-
left: root_bbox.left - nodel_bbox.left
|
|
204
|
-
};
|
|
205
|
-
nodel.style("white-space", "normal");
|
|
206
|
-
placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir]).filter((side) => placement_overflow[_dir][side] > 0).reduce((sum, side) => {
|
|
207
|
-
return sum + placement_overflow[_dir][side];
|
|
208
|
-
}, 0);
|
|
209
|
-
if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) least_overflow_direction = _dir;
|
|
210
|
-
if (!ret) nodel.classed(_dir, false);
|
|
211
|
-
return ret;
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
tip$1.hide = function() {
|
|
215
|
-
getNodeEl().style("opacity", 0).style("pointer-events", "none");
|
|
216
|
-
return tip$1;
|
|
217
|
-
};
|
|
218
|
-
tip$1.attr = function(n, v) {
|
|
219
|
-
if (arguments.length < 2 && typeof n === "string") return getNodeEl().attr(n);
|
|
220
|
-
const args = Array.prototype.slice.call(arguments);
|
|
221
|
-
selection.prototype.attr.apply(getNodeEl(), args);
|
|
222
|
-
return tip$1;
|
|
223
|
-
};
|
|
224
|
-
tip$1.style = function(n, v) {
|
|
225
|
-
if (arguments.length < 2 && typeof n === "string") return getNodeEl().style(n);
|
|
226
|
-
const args = Array.prototype.slice.call(arguments);
|
|
227
|
-
selection.prototype.style.apply(getNodeEl(), args);
|
|
228
|
-
return tip$1;
|
|
229
|
-
};
|
|
230
|
-
tip$1.direction = function(v) {
|
|
231
|
-
if (!arguments.length) return direction;
|
|
232
|
-
direction = v == null ? v : functor(v);
|
|
233
|
-
return tip$1;
|
|
234
|
-
};
|
|
235
|
-
tip$1.offset = function(v) {
|
|
236
|
-
if (!arguments.length) return offset;
|
|
237
|
-
offset = v == null ? v : functor(v);
|
|
238
|
-
return tip$1;
|
|
239
|
-
};
|
|
240
|
-
tip$1.html = function(v) {
|
|
241
|
-
if (!arguments.length) return html;
|
|
242
|
-
html = v == null ? v : functor(v);
|
|
243
|
-
return tip$1;
|
|
244
|
-
};
|
|
245
|
-
tip$1.rootElement = function(v) {
|
|
246
|
-
if (!arguments.length) return rootElement;
|
|
247
|
-
rootElement = functor(v);
|
|
248
|
-
return tip$1;
|
|
249
|
-
};
|
|
250
|
-
tip$1.destroy = function() {
|
|
251
|
-
if (node) {
|
|
252
|
-
getNodeEl().remove();
|
|
253
|
-
node = null;
|
|
254
|
-
}
|
|
255
|
-
return tip$1;
|
|
256
|
-
};
|
|
257
|
-
function d3TipDirection() {
|
|
258
|
-
return "n";
|
|
259
|
-
}
|
|
260
|
-
function d3TipOffset() {
|
|
261
|
-
return [0, 0];
|
|
262
|
-
}
|
|
263
|
-
function d3TipHTML() {
|
|
264
|
-
return " ";
|
|
265
|
-
}
|
|
266
|
-
const directionCallbacks = map({
|
|
267
|
-
n: directionNorth,
|
|
268
|
-
s: directionSouth,
|
|
269
|
-
e: directionEast,
|
|
270
|
-
w: directionWest,
|
|
271
|
-
nw: directionNorthWest,
|
|
272
|
-
ne: directionNorthEast,
|
|
273
|
-
sw: directionSouthWest,
|
|
274
|
-
se: directionSouthEast
|
|
275
|
-
});
|
|
276
|
-
const directions = directionCallbacks.keys();
|
|
277
|
-
function directionNorth() {
|
|
278
|
-
const bbox = getScreenBBox(window);
|
|
279
|
-
return {
|
|
280
|
-
top: bbox.n.y - node.offsetHeight,
|
|
281
|
-
left: bbox.n.x - node.offsetWidth / 2
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
function directionSouth() {
|
|
285
|
-
const bbox = getScreenBBox(window);
|
|
286
|
-
return {
|
|
287
|
-
top: bbox.s.y + 8,
|
|
288
|
-
left: bbox.s.x - node.offsetWidth / 2
|
|
289
|
-
};
|
|
290
|
-
}
|
|
291
|
-
function directionEast() {
|
|
292
|
-
const bbox = getScreenBBox(window);
|
|
293
|
-
return {
|
|
294
|
-
top: bbox.e.y - node.offsetHeight / 2,
|
|
295
|
-
left: bbox.e.x + 8
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
function directionWest() {
|
|
299
|
-
const bbox = getScreenBBox(window);
|
|
300
|
-
return {
|
|
301
|
-
top: bbox.w.y - node.offsetHeight / 2,
|
|
302
|
-
left: bbox.w.x - node.offsetWidth - 8
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
function directionNorthWest() {
|
|
306
|
-
const bbox = getScreenBBox(window);
|
|
307
|
-
return {
|
|
308
|
-
top: bbox.nw.y - node.offsetHeight,
|
|
309
|
-
left: bbox.nw.x - node.offsetWidth
|
|
310
|
-
};
|
|
311
|
-
}
|
|
312
|
-
function directionNorthEast() {
|
|
313
|
-
const bbox = getScreenBBox(window);
|
|
314
|
-
return {
|
|
315
|
-
top: bbox.ne.y - node.offsetHeight,
|
|
316
|
-
left: bbox.ne.x
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
function directionSouthWest() {
|
|
320
|
-
const bbox = getScreenBBox(window);
|
|
321
|
-
return {
|
|
322
|
-
top: bbox.sw.y,
|
|
323
|
-
left: bbox.sw.x - node.offsetWidth
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
function directionSouthEast() {
|
|
327
|
-
const bbox = getScreenBBox(window);
|
|
328
|
-
return {
|
|
329
|
-
top: bbox.se.y,
|
|
330
|
-
left: bbox.se.x
|
|
331
|
-
};
|
|
332
|
-
}
|
|
333
|
-
function initNode() {
|
|
334
|
-
const div = select(document.createElement("div"));
|
|
335
|
-
div.attr("class", "d3-tip").style("position", "absolute").style("top", "0px").style("opacity", 0).style("pointer-events", "none").style("box-sizing", "border-box");
|
|
336
|
-
return div.node();
|
|
337
|
-
}
|
|
338
|
-
function getSVGNode(element) {
|
|
339
|
-
const svgNode = element.node();
|
|
340
|
-
if (!svgNode) return null;
|
|
341
|
-
if (svgNode.tagName.toLowerCase() === "svg") return svgNode;
|
|
342
|
-
return svgNode.ownerSVGElement;
|
|
343
|
-
}
|
|
344
|
-
function getNodeEl() {
|
|
345
|
-
if (node == null) {
|
|
346
|
-
node = initNode();
|
|
347
|
-
rootElement().appendChild(node);
|
|
348
|
-
}
|
|
349
|
-
return select(node);
|
|
350
|
-
}
|
|
351
|
-
function getScreenBBox(targetShape) {
|
|
352
|
-
let targetel = target || targetShape;
|
|
353
|
-
while (targetel.getCTM == null && targetel.parentNode != null) targetel = targetel.parentNode;
|
|
354
|
-
const bbox = {};
|
|
355
|
-
const matrix = targetel.getCTM();
|
|
356
|
-
const tbbox = targetel.getBBox();
|
|
357
|
-
const width = tbbox.width;
|
|
358
|
-
const height = tbbox.height;
|
|
359
|
-
const x = tbbox.x;
|
|
360
|
-
const y = tbbox.y;
|
|
361
|
-
point.x = x;
|
|
362
|
-
point.y = y;
|
|
363
|
-
bbox.nw = point.matrixTransform(matrix);
|
|
364
|
-
point.x += width;
|
|
365
|
-
bbox.ne = point.matrixTransform(matrix);
|
|
366
|
-
point.y += height;
|
|
367
|
-
bbox.se = point.matrixTransform(matrix);
|
|
368
|
-
point.x -= width;
|
|
369
|
-
bbox.sw = point.matrixTransform(matrix);
|
|
370
|
-
point.y -= height / 2;
|
|
371
|
-
bbox.w = point.matrixTransform(matrix);
|
|
372
|
-
point.x += width;
|
|
373
|
-
bbox.e = point.matrixTransform(matrix);
|
|
374
|
-
point.x -= width / 2;
|
|
375
|
-
point.y -= height / 2;
|
|
376
|
-
bbox.n = point.matrixTransform(matrix);
|
|
377
|
-
point.y += height;
|
|
378
|
-
bbox.s = point.matrixTransform(matrix);
|
|
379
|
-
return bbox;
|
|
380
|
-
}
|
|
381
|
-
function functor(v) {
|
|
382
|
-
return typeof v === "function" ? v : function() {
|
|
383
|
-
return v;
|
|
384
|
-
};
|
|
385
|
-
}
|
|
386
|
-
return tip$1;
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
//#endregion
|
|
390
|
-
//#region src/ITooltip.ts
|
|
391
|
-
function ITooltip() {
|
|
392
|
-
this.tooltip = tip();
|
|
393
|
-
if (this.tooltipLabelFormat_exists()) this._labelFormatter = format(this.tooltipLabelFormat());
|
|
394
|
-
if (this.tooltipValueFormat_exists()) this._valueFormatter = format(this.tooltipValueFormat());
|
|
395
|
-
if (this.layerEnter) {
|
|
396
|
-
const layerEnter = this.layerEnter;
|
|
397
|
-
this.layerEnter = function(_base, svgElement, _domElement) {
|
|
398
|
-
if (!this._parentOverlay) this._parentOverlay = _base._parentOverlay;
|
|
399
|
-
this.tooltipEnter(svgElement);
|
|
400
|
-
layerEnter.apply(this, arguments);
|
|
401
|
-
};
|
|
402
|
-
const layerUpdate = this.layerUpdate;
|
|
403
|
-
this.layerUpdate = function(_base) {
|
|
404
|
-
layerUpdate.apply(this, arguments);
|
|
405
|
-
this.tooltipUpdate();
|
|
406
|
-
};
|
|
407
|
-
const layerExit = this.layerExit;
|
|
408
|
-
this.layerExit = function(_base) {
|
|
409
|
-
this.tooltipExit();
|
|
410
|
-
layerExit.apply(this, arguments);
|
|
411
|
-
};
|
|
412
|
-
} else {
|
|
413
|
-
const enter = this.enter;
|
|
414
|
-
this.enter = function(_domNode, element) {
|
|
415
|
-
this.tooltipEnter(element);
|
|
416
|
-
enter.apply(this, arguments);
|
|
417
|
-
};
|
|
418
|
-
const update = this.update;
|
|
419
|
-
this.update = function(_domNode, _element) {
|
|
420
|
-
update.apply(this, arguments);
|
|
421
|
-
this.tooltipUpdate();
|
|
422
|
-
};
|
|
423
|
-
const exit = this.exit;
|
|
424
|
-
this.exit = function(_domNode, _element) {
|
|
425
|
-
this.tooltipExit();
|
|
426
|
-
exit.apply(this, arguments);
|
|
427
|
-
};
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
ITooltip.prototype = Object.create(Widget.prototype);
|
|
431
|
-
ITooltip.prototype.constructor = ITooltip;
|
|
432
|
-
ITooltip.prototype.tooltipEnter = function(element) {
|
|
433
|
-
const overlayElement = this.parentOverlay();
|
|
434
|
-
if (!overlayElement.empty()) this.tooltip.rootElement(overlayElement.node().parentNode);
|
|
435
|
-
element.call(this.tooltip);
|
|
436
|
-
};
|
|
437
|
-
ITooltip.prototype.tooltipUpdate = function() {
|
|
438
|
-
this.tooltip.offset(() => {
|
|
439
|
-
if (event && this.tooltipFollowMouse()) {
|
|
440
|
-
const d3tipElement = document.querySelector(".d3-tip");
|
|
441
|
-
d3tipElement.style.display = "block";
|
|
442
|
-
d3tipElement.style.left = this.tooltipOffset() + event.clientX + "px";
|
|
443
|
-
d3tipElement.style.top = event.clientY + "px";
|
|
444
|
-
return [];
|
|
445
|
-
}
|
|
446
|
-
switch (this.tooltip.direction()()) {
|
|
447
|
-
case "e": return [0, this.tooltipOffset()];
|
|
448
|
-
default: return [-this.tooltipOffset(), 0];
|
|
449
|
-
}
|
|
450
|
-
});
|
|
451
|
-
let classed = this.tooltip.attr("class");
|
|
452
|
-
if (classed) {
|
|
453
|
-
classed = classed.split(" notick").join("") + (this.tooltipTick() ? "" : " notick") + (this.tooltipStyle() === "none" ? " hidden" : "");
|
|
454
|
-
classed = classed.split(" ").filter(function(_class) {
|
|
455
|
-
return _class.indexOf("ITooltip-tooltipStyle-") !== 0;
|
|
456
|
-
}).join(" ");
|
|
457
|
-
classed += " ITooltip-tooltipStyle-" + this.tooltipStyle();
|
|
458
|
-
this.tooltip.attr("class", classed);
|
|
459
|
-
}
|
|
460
|
-
};
|
|
461
|
-
ITooltip.prototype.tooltipExit = function() {
|
|
462
|
-
if (this.tooltip) this.tooltip.destroy();
|
|
463
|
-
};
|
|
464
|
-
ITooltip.prototype._tooltipHTML = function(d) {
|
|
465
|
-
return d;
|
|
466
|
-
};
|
|
467
|
-
ITooltip.prototype.tooltipHTML = function(_) {
|
|
468
|
-
return this.tooltip.html(_);
|
|
469
|
-
};
|
|
470
|
-
ITooltip.prototype.tooltipFormat = function(opts = {}) {
|
|
471
|
-
opts.label = opts.label === void 0 ? "" : opts.label;
|
|
472
|
-
if (this._labelFormatter) opts.label = this._labelFormatter(opts.label) || "";
|
|
473
|
-
else if (this.formatData && this.parseData) opts.label = this.formatData(this.parseData(opts.label));
|
|
474
|
-
opts.series = opts.series || "";
|
|
475
|
-
if (opts.value instanceof Date) opts.value = opts.value || "";
|
|
476
|
-
else if (this._valueFormatter) opts.value = this._valueFormatter(opts.value) || "";
|
|
477
|
-
else if (this.formatValue && this.parseValue) opts.value = this.formatValue(this.parseValue(opts.value));
|
|
478
|
-
switch (this.tooltipStyle()) {
|
|
479
|
-
case "none": break;
|
|
480
|
-
case "series-table":
|
|
481
|
-
let html = "<table class=\"ITooltip-series-table\"><thead><tr><th colspan=\"2\">" + opts.label + "</th></tr></thead><tbody>";
|
|
482
|
-
opts.arr.forEach(function(row) {
|
|
483
|
-
html += "<tr>";
|
|
484
|
-
html += "<td>";
|
|
485
|
-
html += "<div class=\"series-table-row-color\" style=\"background-color:" + row.color + "\"></div>";
|
|
486
|
-
html += "<div class=\"series-table-row-label\">" + row.label + "</div>";
|
|
487
|
-
html += "</td>";
|
|
488
|
-
html += "<td><div class=\"series-table-row-value\">" + row.value + "</div></td>";
|
|
489
|
-
html += "</tr>";
|
|
490
|
-
});
|
|
491
|
-
html += "</tbody>";
|
|
492
|
-
html += "</table>";
|
|
493
|
-
return html;
|
|
494
|
-
default:
|
|
495
|
-
if (opts.series) return "<span style='color:" + this.tooltipSeriesColor() + "'>" + opts.series + "</span> / <span style='color:" + this.tooltipLabelColor() + "'>" + opts.label + "</span>: <span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>";
|
|
496
|
-
if (opts.label !== "") return "<span style='color:" + this.tooltipLabelColor() + "'>" + opts.label + "</span>: <span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>";
|
|
497
|
-
return "<span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>";
|
|
498
|
-
}
|
|
499
|
-
};
|
|
500
|
-
ITooltip.prototype.tooltipKeyValueFormat = function(titleKey, obj) {
|
|
501
|
-
let body = "";
|
|
502
|
-
for (const key in obj) if (key !== titleKey) {
|
|
503
|
-
const value = obj && obj[key] ? obj[key] : "";
|
|
504
|
-
body += `<tr><td style="${this.tooltipLabelColor_exists() ? "color:" + this.tooltipLabelColor() : ""}">${key}</td><td style="font-weight:normal">${value}</td></tr>`;
|
|
505
|
-
}
|
|
506
|
-
return `<table>
|
|
507
|
-
<thead>
|
|
508
|
-
<tr><th colspan="2" style="font-weight:bold;font-size:16px">${obj[titleKey]}</th></tr>
|
|
509
|
-
</thead>
|
|
510
|
-
<tbody>
|
|
511
|
-
${body}
|
|
512
|
-
</tbody>
|
|
513
|
-
</table>`;
|
|
514
|
-
};
|
|
515
|
-
ITooltip.prototype.publish("tooltipStyle", "default", "set", "Style mode", [
|
|
516
|
-
"default",
|
|
517
|
-
"none",
|
|
518
|
-
"series-table"
|
|
519
|
-
], {});
|
|
520
|
-
ITooltip.prototype.publish("tooltipFollowMouse", false, "boolean", "If true, the tooltip will follow mouse movement", null, {});
|
|
521
|
-
ITooltip.prototype.publish("tooltipLabelFormat", void 0, "string", "Format of tooltip label(s) (the domain axis)", null, {});
|
|
522
|
-
ITooltip.prototype.publish("tooltipValueFormat", void 0, "string", "Number format of tooltip value(s)", null, {});
|
|
523
|
-
ITooltip.prototype.publish("tooltipSeriesColor", "#EAFFFF", "html-color", "Color of tooltip series text", null, {});
|
|
524
|
-
ITooltip.prototype.publish("tooltipLabelColor", "#CCFFFF", "html-color", "Color of tooltip label text (the domain axis)", null, {});
|
|
525
|
-
ITooltip.prototype.publish("tooltipValueColor", "white", "html-color", "Color of tooltip value(s)", null, {});
|
|
526
|
-
ITooltip.prototype.publish("tooltipTick", true, "boolean", "Show tooltip tick", null, {});
|
|
527
|
-
ITooltip.prototype.publish("tooltipOffset", 8, "number", "Offset from the cursor", null, {});
|
|
528
|
-
var tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;
|
|
529
|
-
ITooltip.prototype.tooltipLabelFormat = function(_) {
|
|
530
|
-
const retVal = tooltipLabelFormat.apply(this, arguments);
|
|
531
|
-
if (arguments.length) this._labelFormatter = format(_);
|
|
532
|
-
return retVal;
|
|
533
|
-
};
|
|
534
|
-
var tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;
|
|
535
|
-
ITooltip.prototype.tooltipValueFormat = function(_) {
|
|
536
|
-
const retVal = tooltipValueFormat.apply(this, arguments);
|
|
537
|
-
if (arguments.length) this._valueFormatter = format(_);
|
|
538
|
-
return retVal;
|
|
539
|
-
};
|
|
540
|
-
|
|
541
|
-
//#endregion
|
|
542
|
-
//#region src/ITree.ts
|
|
543
|
-
function ITree() {}
|
|
544
|
-
ITree.prototype.constructor = ITree;
|
|
545
|
-
ITree.prototype.click = function(row, column, selected) {};
|
|
546
|
-
ITree.prototype.dblclick = function(row, column, selected) {};
|
|
547
|
-
ITree.prototype._palette = Palette.ordinal("default");
|
|
548
|
-
|
|
549
|
-
//#endregion
|
|
550
|
-
export { BUILD_VERSION, I1DChart, I2DAggrChart, I2DChart, IGraph, IInput, INDChart, ITooltip, ITree, PKG_NAME, PKG_VERSION, instanceOfIHighlight };
|
|
551
|
-
//# sourceMappingURL=index.js.map!function(){try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('.d3-tip{color:#fff;z-index:10;background:#000000a8;border-radius:2px;padding:12px;font-weight:700;line-height:1;pointer-events:none!important}.d3-tip.hidden{visibility:hidden}.d3-tip:after{content:" ";box-sizing:border-box;border:4px solid #000000a8;width:8px;height:8px;margin:0;display:inline-block;position:absolute;pointer-events:none!important}.d3-tip.n:after{border-top-width:8px;border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%;left:calc(50% - 4px)}.d3-tip.e:after{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;border-right-width:8px;top:calc(50% - 4px);left:-12px}.d3-tip.s{margin-top:8px}.d3-tip.s:after{border-top-color:#0000;border-bottom-width:8px;border-left-color:#0000;border-right-color:#0000;top:-12px;left:calc(50% - 4px)}.d3-tip.w:after{border-top-color:#0000;border-bottom-color:#0000;border-left-width:8px;border-right-color:#0000;top:calc(50% - 4px);left:100%}.d3-tip.notick:after{border-color:#0000!important}.common_Widget .over{stroke:#000000a8;opacity:.66}.d3-tip.ITooltip-tooltipStyle-series-table{padding:0}.d3-tip .ITooltip-series-table th,.d3-tip .ITooltip-series-table td{text-align:left;border:1px solid #d1d1d1;padding:6px}.d3-tip .ITooltip-series-table .series-table-row-color{width:10px;height:10px;margin-right:10px;display:inline-block}.d3-tip .ITooltip-series-table .series-table-row-label{display:inline-block}.d3-tip .ITooltip-series-table th{background-color:#b3b3b3}.d3-tip .ITooltip-series-table td{color:#555;background-color:#fff;font-weight:400}.d3-tip .ITooltip-series-table td:first-child{border-right:0}table.ITooltip-series-table td:last-child{border-left:1px dotted #a3a3a3}\n/*$vite$:1*/')),document.head.appendChild(t)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}}();
|
|
1
|
+
var t=Object.defineProperty,o=(o,e)=>t(o,"name",{value:e,configurable:!0});import{Palette as e,hsl as l,Widget as i,map as n,selection as r,select as p,format as s}from"@hpcc-js/common";const a="@hpcc-js/api",u="3.4.2",c="3.16.0";function f(){}function h(){}function y(){}function d(){}function b(t){return"function"==typeof t.highlightColumn}function m(){}function g(){}function v(){let t=h,e=y,l=d,i=I(document.body),s=E(),a=null,u=null,c=null;const f=/* @__PURE__ */o(function(t){if(a=T(t),!a)return;u=a.createSVGPoint();const o=i();o&&s&&o.appendChild(s)},"tip2");function h(){return"n"}function y(){return[0,0]}function d(){return" "}f.show=function(t,o,n){c=n[o];const r=Array.prototype.slice.call(arguments),p=l.apply(this,r);if(null===p)return f;const s=e.apply(this,r),a=V();let u,h=m.length;const y=i().getBoundingClientRect();for(a.html(p).style("opacity",1).style("pointer-events","all");h--;)a.classed(m[h],!1);let d=!1;const g={};let v=m[0];for(let e=0;e<m.length&&(d=C(m[e]),!d);e++);if(d)a.classed("notick",!1);else{a.classed("notick",!0);const t=w(g[v]),o=x(g[v]);C(v,t,o)}return f;function x(t){return t.left>t.right?t.left>0?-t.left:0:t.right>0?t.right:0}function w(t){return t.top>t.bottom?t.top>0?-t.top:0:t.bottom}function C(t,o,e){o=o||0,e=e||0,a.style("white-space","nowrap"),u=b.get(t).apply(this),a.classed(t,!0).style("top",u.top+s[0]-o+"px").style("left",u.left+s[1]-e+"px");const l=a.node().getBoundingClientRect(),i=l.top>y.top&&l.left>y.left&&l.bottom<y.bottom&&l.right<y.right;return g[t]={top:y.top-l.top,right:l.right-y.right,bottom:l.bottom-y.bottom,left:y.left-l.left},a.style("white-space","normal"),g[t].total_overflow=Object.keys(g[t]).filter(o=>g[t][o]>0).reduce((o,e)=>o+g[t][e],0),g[v].total_overflow>g[t].total_overflow&&(v=t),i||a.classed(t,!1),i}},f.hide=function(){return V().style("opacity",0).style("pointer-events","none"),f},f.attr=function(t,o){if(arguments.length<2&&"string"==typeof t)return V().attr(t);const e=Array.prototype.slice.call(arguments);return r.prototype.attr.apply(V(),e),f},f.style=function(t,o){if(arguments.length<2&&"string"==typeof t)return V().style(t);const e=Array.prototype.slice.call(arguments);return r.prototype.style.apply(V(),e),f},f.direction=function(o){return arguments.length?(t=null==o?o:I(o),f):t},f.offset=function(t){return arguments.length?(e=null==t?t:I(t),f):e},f.html=function(t){return arguments.length?(l=null==t?t:I(t),f):l},f.rootElement=function(t){return arguments.length?(i=I(t),f):i},f.destroy=function(){return s&&(V().remove(),s=null),f},o(h,"d3TipDirection"),o(y,"d3TipOffset"),o(d,"d3TipHTML");const b=n({n:g,s:v,e:x,w:w,nw:C,ne:_,sw:k,se:F}),m=b.keys();function g(){const t=S(window);return{top:t.n.y-s.offsetHeight,left:t.n.x-s.offsetWidth/2}}function v(){const t=S(window);return{top:t.s.y+8,left:t.s.x-s.offsetWidth/2}}function x(){const t=S(window);return{top:t.e.y-s.offsetHeight/2,left:t.e.x+8}}function w(){const t=S(window);return{top:t.w.y-s.offsetHeight/2,left:t.w.x-s.offsetWidth-8}}function C(){const t=S(window);return{top:t.nw.y-s.offsetHeight,left:t.nw.x-s.offsetWidth}}function _(){const t=S(window);return{top:t.ne.y-s.offsetHeight,left:t.ne.x}}function k(){const t=S(window);return{top:t.sw.y,left:t.sw.x-s.offsetWidth}}function F(){const t=S(window);return{top:t.se.y,left:t.se.x}}function E(){const t=p(document.createElement("div"));return t.attr("class","d3-tip").style("position","absolute").style("top","0px").style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),t.node()}function T(t){const o=t.node();return o?"svg"===o.tagName.toLowerCase()?o:o.ownerSVGElement:null}function V(){return null==s&&(s=E(),i().appendChild(s)),p(s)}function S(t){let o=c||t;for(;null==o.getCTM&&null!=o.parentNode;)o=o.parentNode;const e={},l=o.getCTM(),i=o.getBBox(),n=i.width,r=i.height,p=i.x,s=i.y;return u.x=p,u.y=s,e.nw=u.matrixTransform(l),u.x+=n,e.ne=u.matrixTransform(l),u.y+=r,e.se=u.matrixTransform(l),u.x-=n,e.sw=u.matrixTransform(l),u.y-=r/2,e.w=u.matrixTransform(l),u.x+=n,e.e=u.matrixTransform(l),u.x-=n/2,u.y-=r/2,e.n=u.matrixTransform(l),u.y+=r,e.s=u.matrixTransform(l),e}function I(t){return"function"==typeof t?t:function(){return t}}return o(g,"directionNorth"),o(v,"directionSouth"),o(x,"directionEast"),o(w,"directionWest"),o(C,"directionNorthWest"),o(_,"directionNorthEast"),o(k,"directionSouthWest"),o(F,"directionSouthEast"),o(E,"initNode"),o(T,"getSVGNode"),o(V,"getNodeEl"),o(S,"getScreenBBox"),o(I,"functor"),f}function x(){if(this.tooltip=v(),this.tooltipLabelFormat_exists()&&(this._labelFormatter=s(this.tooltipLabelFormat())),this.tooltipValueFormat_exists()&&(this._valueFormatter=s(this.tooltipValueFormat())),this.layerEnter){const t=this.layerEnter;this.layerEnter=function(o,e,l){this._parentOverlay||(this._parentOverlay=o._parentOverlay),this.tooltipEnter(e),t.apply(this,arguments)};const o=this.layerUpdate;this.layerUpdate=function(t){o.apply(this,arguments),this.tooltipUpdate()};const e=this.layerExit;this.layerExit=function(t){this.tooltipExit(),e.apply(this,arguments)}}else{const t=this.enter;this.enter=function(o,e){this.tooltipEnter(e),t.apply(this,arguments)};const o=this.update;this.update=function(t,e){o.apply(this,arguments),this.tooltipUpdate()};const e=this.exit;this.exit=function(t,o){this.tooltipExit(),e.apply(this,arguments)}}}o(f,"I1DChart"),f.prototype._dataFamily="1D",f.prototype._palette=e.rainbow("default"),f.prototype.click=function(t,o,e){},f.prototype.dblclick=function(t,o,e){},o(h,"I2DChart"),h.prototype._dataFamily="2D",h.prototype._palette=e.ordinal("default"),h.prototype.fillColor=function(t,o,e,l){return this._palette(t[0])},h.prototype.strokeColor=function(t,o,e,i){return l(this.fillColor(t,o,e,i)).darker().toString()},h.prototype.textColor=function(t,o,l,i){return e.textColor(this.fillColor(t,o,l,i))},h.prototype.click=function(t,o,e){},h.prototype.dblclick=function(t,o,e){},o(y,"I2DAggrChart"),y.prototype._palette=e.rainbow("default"),y.prototype.fillColor=function(t,o,e){return this._palette(t.length)},y.prototype.strokeColor=function(t,o,e){return l(this.fillColor(t,o,e)).darker().toString()},y.prototype.textColor=function(t,o,l){return e.textColor(this.fillColor(t,o,l))},y.prototype.click=function(t,o,e){},y.prototype.dblclick=function(t,o,e){},o(d,"IGraph"),d.prototype._dataFamily="graph",d.prototype.vertex_click=function(t,o,e,l){l&&l.vertex},d.prototype.vertex_dblclick=function(t,o,e,l){l&&l.vertex},d.prototype.edge_click=function(t,o,e,l){l&&l.edge},d.prototype.edge_dblclick=function(t,o,e,l){l&&l.edge},o(b,"instanceOfIHighlight"),o(m,"IInput"),m.prototype=Object.create(i.prototype),m.prototype.constructor=m,m.prototype.isValid=function(){if(this.validate()){if(!new RegExp(this.validate()).test(this.value()))return!1}return!0},m.prototype.hasValue=function(){if("function"==typeof this.type){switch(this.type()){case"radio":case"checkbox":if(this.value()&&"false"!==this.value())return!0;break;default:if(this.value())return!0}return!1}return""!==this.value()},m.prototype.blur=function(t){},m.prototype.keyup=function(t){},m.prototype.focus=function(t){},m.prototype.click=function(t){},m.prototype.dblclick=function(t){},m.prototype.change=function(t,o){},m.prototype.resetValue=function(t){t.value(t._inputElement[0].node().value)},m.prototype.disable=function(t){this._inputElement.forEach(function(o,e){o.attr("disabled",t?"disabled":null)})},m.prototype.setFocus=function(){this._inputElement.length&&this._inputElement[0].node().focus()},m.prototype.publish("name","","string","HTML name for the input"),m.prototype.publish("label","","string","Descriptive label"),m.prototype.publish("value","","string","Input Current Value"),m.prototype.publish("validate",null,"string","Input Validation"),o(g,"INDChart"),g.prototype._dataFamily="ND",g.prototype._palette=e.ordinal("default"),g.prototype.fillColor=function(t,o,e,l){return this._palette(o)},g.prototype.strokeColor=function(t,o,e,i){return l(this.fillColor(t,o,e,i)).darker().toString()},g.prototype.textColor=function(t,o,l,i){return e.textColor(this.fillColor(t,o,l,i))},g.prototype.click=function(t,o,e){},g.prototype.dblclick=function(t,o,e){},o(v,"tip"),o(x,"ITooltip"),x.prototype=Object.create(i.prototype),x.prototype.constructor=x,x.prototype.tooltipEnter=function(t){const o=this.parentOverlay();o.empty()||this.tooltip.rootElement(o.node().parentNode),t.call(this.tooltip)},x.prototype.tooltipUpdate=function(){this.tooltip.offset(()=>{if(event&&this.tooltipFollowMouse()){const t=document.querySelector(".d3-tip");return t.style.display="block",t.style.left=this.tooltipOffset()+event.clientX+"px",t.style.top=event.clientY+"px",[]}return"e"===this.tooltip.direction()()?[0,this.tooltipOffset()]:[-this.tooltipOffset(),0]});let t=this.tooltip.attr("class");t&&(t=t.split(" notick").join("")+(this.tooltipTick()?"":" notick")+("none"===this.tooltipStyle()?" hidden":""),t=t.split(" ").filter(function(t){return 0!==t.indexOf("ITooltip-tooltipStyle-")}).join(" "),t+=" ITooltip-tooltipStyle-"+this.tooltipStyle(),this.tooltip.attr("class",t))},x.prototype.tooltipExit=function(){this.tooltip&&this.tooltip.destroy()},x.prototype._tooltipHTML=function(t){return t},x.prototype.tooltipHTML=function(t){return this.tooltip.html(t)},x.prototype.tooltipFormat=function(t={}){switch(t.label=void 0===t.label?"":t.label,this._labelFormatter?t.label=this._labelFormatter(t.label)||"":this.formatData&&this.parseData&&(t.label=this.formatData(this.parseData(t.label))),t.series=t.series||"",t.value instanceof Date?t.value=t.value||"":this._valueFormatter?t.value=this._valueFormatter(t.value)||"":this.formatValue&&this.parseValue&&(t.value=this.formatValue(this.parseValue(t.value))),this.tooltipStyle()){case"none":break;case"series-table":let o='<table class="ITooltip-series-table"><thead><tr><th colspan="2">'+t.label+"</th></tr></thead><tbody>";return t.arr.forEach(function(t){o+="<tr>",o+="<td>",o+='<div class="series-table-row-color" style="background-color:'+t.color+'"></div>',o+='<div class="series-table-row-label">'+t.label+"</div>",o+="</td>",o+='<td><div class="series-table-row-value">'+t.value+"</div></td>",o+="</tr>"}),o+="</tbody>",o+="</table>",o;default:return t.series?"<span style='color:"+this.tooltipSeriesColor()+"'>"+t.series+"</span> / <span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":""!==t.label?"<span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":"<span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>"}},x.prototype.tooltipKeyValueFormat=function(t,o){let e="";for(const l in o)if(l!==t){const t=o&&o[l]?o[l]:"";e+=`<tr><td style="${this.tooltipLabelColor_exists()?"color:"+this.tooltipLabelColor():""}">${l}</td><td style="font-weight:normal">${t}</td></tr>`}return`<table>\n <thead>\n <tr><th colspan="2" style="font-weight:bold;font-size:16px">${o[t]}</th></tr>\n </thead>\n <tbody>\n ${e}\n </tbody>\n </table>`},x.prototype.publish("tooltipStyle","default","set","Style mode",["default","none","series-table"],{}),x.prototype.publish("tooltipFollowMouse",!1,"boolean","If true, the tooltip will follow mouse movement",null,{}),x.prototype.publish("tooltipLabelFormat",void 0,"string","Format of tooltip label(s) (the domain axis)",null,{}),x.prototype.publish("tooltipValueFormat",void 0,"string","Number format of tooltip value(s)",null,{}),x.prototype.publish("tooltipSeriesColor","#EAFFFF","html-color","Color of tooltip series text",null,{}),x.prototype.publish("tooltipLabelColor","#CCFFFF","html-color","Color of tooltip label text (the domain axis)",null,{}),x.prototype.publish("tooltipValueColor","white","html-color","Color of tooltip value(s)",null,{}),x.prototype.publish("tooltipTick",!0,"boolean","Show tooltip tick",null,{}),x.prototype.publish("tooltipOffset",8,"number","Offset from the cursor",null,{});const w=x.prototype.tooltipLabelFormat;x.prototype.tooltipLabelFormat=function(t){const o=w.apply(this,arguments);return arguments.length&&(this._labelFormatter=s(t)),o};const C=x.prototype.tooltipValueFormat;function _(){}x.prototype.tooltipValueFormat=function(t){const o=C.apply(this,arguments);return arguments.length&&(this._valueFormatter=s(t)),o},o(_,"ITree"),_.prototype.constructor=_,_.prototype.click=function(t,o,e){},_.prototype.dblclick=function(t,o,e){},_.prototype._palette=e.ordinal("default");export{c as BUILD_VERSION,f as I1DChart,y as I2DAggrChart,h as I2DChart,d as IGraph,m as IInput,g as INDChart,x as ITooltip,_ as ITree,a as PKG_NAME,u as PKG_VERSION,b as instanceOfIHighlight};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
3
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('.d3-tip{line-height:1;font-weight:700;padding:12px;background:#000000a8;color:#fff;border-radius:2px;pointer-events:none!important;z-index:10}.d3-tip.hidden{visibility:hidden}.d3-tip:after{content:" ";box-sizing:border-box;display:inline-block;border:4px solid rgba(0,0,0,.66);position:absolute;pointer-events:none!important;width:8px;height:8px;margin:0}.d3-tip.n:after{top:100%;left:calc(50% - 4px);border-top-width:8px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.d3-tip.e:after{top:calc(50% - 4px);left:-12px;border-top-color:transparent;border-right-width:8px;border-bottom-color:transparent;border-left-color:transparent}.d3-tip.s{margin-top:8px}.d3-tip.s:after{top:-12px;left:calc(50% - 4px);border-top-color:transparent;border-right-color:transparent;border-bottom-width:8px;border-left-color:transparent}.d3-tip.w:after{top:calc(50% - 4px);left:100%;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-width:8px}.d3-tip.notick:after{border-color:transparent!important}.common_Widget .over{stroke:#000000a8;opacity:.66}.d3-tip.ITooltip-tooltipStyle-series-table{padding:0}.d3-tip .ITooltip-series-table th,.d3-tip .ITooltip-series-table td{padding:6px;text-align:left;border:1px solid #D1D1D1}.d3-tip .ITooltip-series-table .series-table-row-color{display:inline-block;height:10px;width:10px;margin-right:10px}.d3-tip .ITooltip-series-table .series-table-row-label{display:inline-block}.d3-tip .ITooltip-series-table th{background-color:#b3b3b3}.d3-tip .ITooltip-series-table td{background-color:#fff;color:#555;font-weight:400}.d3-tip .ITooltip-series-table td:first-child{border-right:0}table.ITooltip-series-table td:last-child{border-left:1px dotted #A3A3A3}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["tip: any","bbox: any","d3tipElement: HTMLDivElement"],"sources":["../src/__package__.ts","../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../src/ITooltip.ts","../src/ITree.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { Palette } from \"@hpcc-js/common\";\n\nexport function I1DChart() {\n}\nI1DChart.prototype._dataFamily = \"1D\";\nI1DChart.prototype._palette = Palette.rainbow(\"default\");\n\n// Events ---\nI1DChart.prototype.click = function (row, column, selected) {\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DChart() {\n}\nI2DChart.prototype._dataFamily = \"2D\";\nI2DChart.prototype._palette = Palette.ordinal(\"default\");\n\nI2DChart.prototype.fillColor = function (row: any[], column, value, origRow): string {\n return this._palette(row[0]);\n};\n\nI2DChart.prototype.strokeColor = function (row: any[], column, value, origRow): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nI2DChart.prototype.textColor = function (row: any[], column, value, origRow): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nI2DChart.prototype.click = function (row: object, column, selected) {\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DAggrChart() {\n}\nI2DAggrChart.prototype._palette = Palette.rainbow(\"default\");\n\nI2DAggrChart.prototype.fillColor = function (row: any[][], column, value): string {\n return this._palette(row.length);\n};\n\nI2DAggrChart.prototype.strokeColor = function (row: any[][], column, value): string {\n return d3Hsl(this.fillColor(row, column, value)).darker().toString();\n};\n\nI2DAggrChart.prototype.textColor = function (row: any[][], column, value): string {\n return Palette.textColor(this.fillColor(row, column, value));\n};\n\n// Events ---\nI2DAggrChart.prototype.click = function (row: object[], column, selected) {\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n};\n","export function IGraph() {\n}\nIGraph.prototype._dataFamily = \"graph\";\n\n// Events ---\nIGraph.prototype.vertex_click = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n","export interface IHighlight {\n highlightColumn(column: string): this;\n}\n\nexport function instanceOfIHighlight(w: any): w is IHighlight {\n return typeof (w as any).highlightColumn === \"function\";\n}\n","import { Widget } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function IInput() {\n}\nIInput.prototype = Object.create(Widget.prototype);\nIInput.prototype.constructor = IInput;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\n// Implementation ---\nIInput.prototype.isValid = function () {\n if (this.validate()) {\n const re = new RegExp(this.validate());\n if (!re.test(this.value())) {\n return false;\n }\n }\n return true;\n};\n\nIInput.prototype.hasValue = function () {\n if (typeof (this as any).type === \"function\") {\n switch ((this as any).type()) {\n case \"radio\":\n /* falls through */\n case \"checkbox\":\n if (this.value() && this.value() !== \"false\") {\n return true;\n }\n break;\n default:\n if (this.value()) {\n return true;\n }\n break;\n }\n return false;\n }\n return this.value() !== \"\";\n};\n\n// Events ---\nIInput.prototype.blur = function (_w) {\n};\nIInput.prototype.keyup = function (_w) {\n};\nIInput.prototype.focus = function (_w) {\n};\nIInput.prototype.click = function (_w) {\n};\nIInput.prototype.dblclick = function (_w) {\n};\nIInput.prototype.change = function (_w, complete: boolean) {\n};\n\nIInput.prototype.resetValue = function (w) {\n w.value(w._inputElement[0].node().value);\n};\n\nIInput.prototype.disable = function (disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n};\n\nIInput.prototype.setFocus = function () {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n};\n\nexport interface IInput {\n name: { (): string; (_: string): IInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): IInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): IInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): IInput };\n validate_exists: () => boolean;\n}\nIInput.prototype.publish(\"name\", \"\", \"string\", \"HTML name for the input\");\nIInput.prototype.publish(\"label\", \"\", \"string\", \"Descriptive label\");\nIInput.prototype.publish(\"value\", \"\", \"string\", \"Input Current Value\");\nIInput.prototype.publish(\"validate\", null, \"string\", \"Input Validation\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function INDChart() {\n}\nINDChart.prototype._dataFamily = \"ND\";\nINDChart.prototype._palette = Palette.ordinal(\"default\");\n\nINDChart.prototype.fillColor = function (row: any[], column: string, value: number, origRow: any): string {\n return this._palette(column);\n};\n\nINDChart.prototype.strokeColor = function (row: any[], column: string, value: number, origRow: any): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nINDChart.prototype.textColor = function (row: any[], column: string, value: number, origRow: any): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nINDChart.prototype.click = function (row, column, selected) {\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n};\n","// Based on https://github.com/GordonSmith/d3-tip forked from https://github.com/Caged/d3-tip\n\nimport { map } from \"d3-collection\";\nimport { select, selection } from \"d3-selection\";\n\nexport function tip() {\n let direction = d3TipDirection;\n let offset = d3TipOffset;\n let html = d3TipHTML;\n let rootElement = functor(document.body);\n let node = initNode();\n let svg = null;\n let point = null;\n let target = null;\n\n const tip: any = function (vis) {\n svg = getSVGNode(vis);\n if (!svg) return;\n point = svg.createSVGPoint();\n const re = rootElement();\n if (!re) return;\n if (!node) return;\n re.appendChild(node);\n };\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function (d, idx, arr) {\n target = arr[idx];\n const args = Array.prototype.slice.call(arguments) as [];\n const content = html.apply(this, args);\n if (content === null) {\n return tip;\n }\n const poffset = offset.apply(this, args);\n const nodel = getNodeEl();\n let i = directions.length;\n let coords;\n const root_bbox = rootElement().getBoundingClientRect();\n nodel.html(content)\n .style(\"opacity\", 1).style(\"pointer-events\", \"all\");\n\n while (i--) nodel.classed(directions[i], false);\n let placement_success = false;\n const placement_overflow = {};\n let least_overflow_direction = directions[0];\n for (let i = 0; i < directions.length; i++) {\n placement_success = _placement_attempt(directions[i]);\n if (placement_success) break;\n }\n if (!placement_success) {\n nodel.classed(\"notick\", true);\n const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);\n const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);\n _placement_attempt(least_overflow_direction, top_offset, left_offset);\n } else {\n nodel.classed(\"notick\", false);\n }\n return tip;\n\n function _horizontal_adjustment(overflow_obj) {\n if (overflow_obj.left > overflow_obj.right) {\n return overflow_obj.left > 0 ? -overflow_obj.left : 0;\n } else {\n return overflow_obj.right > 0 ? overflow_obj.right : 0;\n }\n }\n function _vertical_adjustment(overflow_obj) {\n if (overflow_obj.top > overflow_obj.bottom) {\n return overflow_obj.top > 0 ? -overflow_obj.top : 0;\n } else {\n return overflow_obj.bottom;\n }\n }\n\n function _placement_attempt(this: any, _dir, _top_offset?, _left_offset?) {\n _top_offset = _top_offset ? _top_offset : 0;\n _left_offset = _left_offset ? _left_offset : 0;\n nodel.style(\"white-space\", \"nowrap\");\n coords = directionCallbacks.get(_dir).apply(this);\n nodel.classed(_dir, true)\n .style(\"top\", (coords.top + poffset[0] - _top_offset) + \"px\")\n .style(\"left\", (coords.left + poffset[1] - _left_offset) + \"px\");\n const nodel_bbox = nodel.node().getBoundingClientRect();\n const ret = nodel_bbox.top > root_bbox.top\n && nodel_bbox.left > root_bbox.left\n && nodel_bbox.bottom < root_bbox.bottom\n && nodel_bbox.right < root_bbox.right\n ;\n placement_overflow[_dir] = {\n top: root_bbox.top - nodel_bbox.top,\n right: nodel_bbox.right - root_bbox.right,\n bottom: nodel_bbox.bottom - root_bbox.bottom,\n left: root_bbox.left - nodel_bbox.left\n };\n nodel.style(\"white-space\", \"normal\");\n placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir])\n .filter(side => placement_overflow[_dir][side] > 0)\n .reduce((sum, side) => {\n const side_overflow = placement_overflow[_dir][side];\n return sum + side_overflow;\n }, 0);\n if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {\n least_overflow_direction = _dir;\n }\n if (!ret) {\n nodel.classed(_dir, false);\n }\n return ret;\n }\n };\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function () {\n const nodel = getNodeEl();\n nodel.style(\"opacity\", 0).style(\"pointer-events\", \"none\");\n return tip;\n };\n\n // Public: Proxy attr calls to the d3 tip container.\n // Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().attr(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.attr.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Proxy style calls to the d3 tip container.\n // Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value \n tip.style = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().style(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.style.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function (v) {\n if (!arguments.length) return direction;\n direction = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function (v) {\n if (!arguments.length) return offset;\n offset = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function (v) {\n if (!arguments.length) return html;\n html = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the root element anchor of the tooltip\n //\n // v - root element of the tooltip\n //\n // Returns root node of tip\n tip.rootElement = function (v) {\n if (!arguments.length) return rootElement;\n rootElement = functor(v);\n\n return tip;\n };\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function () {\n if (node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n };\n\n function d3TipDirection() { return \"n\"; }\n function d3TipOffset() { return [0, 0]; }\n function d3TipHTML() { return \" \"; }\n\n const directionCallbacks = map({\n n: directionNorth,\n s: directionSouth,\n e: directionEast,\n w: directionWest,\n nw: directionNorthWest,\n ne: directionNorthEast,\n sw: directionSouthWest,\n se: directionSouthEast\n });\n const directions = directionCallbacks.keys();\n\n function directionNorth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n };\n }\n\n function directionSouth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.s.y + 8,\n left: bbox.s.x - node.offsetWidth / 2\n };\n }\n\n function directionEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x + 8\n };\n }\n\n function directionWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth - 8\n };\n }\n\n function directionNorthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n };\n }\n\n function directionNorthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n };\n }\n\n function directionSouthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n };\n }\n\n function directionSouthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.se.y,\n left: bbox.se.x\n };\n }\n\n function initNode() {\n const div = select(document.createElement(\"div\"));\n div\n .attr(\"class\", \"d3-tip\")\n .style(\"position\", \"absolute\")\n .style(\"top\", \"0px\")\n .style(\"opacity\", 0)\n .style(\"pointer-events\", \"none\")\n .style(\"box-sizing\", \"border-box\");\n\n return div.node();\n }\n\n function getSVGNode(element) {\n const svgNode = element.node();\n if (!svgNode) return null;\n if (svgNode.tagName.toLowerCase() === \"svg\") return svgNode;\n return svgNode.ownerSVGElement;\n }\n\n function getNodeEl() {\n if (node == null) {\n node = initNode();\n // re-add node to DOM\n rootElement().appendChild(node);\n }\n return select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast),\n // nw(northwest), sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox(targetShape) {\n let targetel = target || targetShape;\n\n while (targetel.getCTM == null && targetel.parentNode != null) {\n targetel = targetel.parentNode;\n }\n\n const bbox: any = {};\n const matrix = targetel.getCTM();\n const tbbox = targetel.getBBox();\n const width = tbbox.width;\n const height = tbbox.height;\n const x = tbbox.x;\n const y = tbbox.y;\n\n point.x = x;\n point.y = y;\n bbox.nw = point.matrixTransform(matrix);\n point.x += width;\n bbox.ne = point.matrixTransform(matrix);\n point.y += height;\n bbox.se = point.matrixTransform(matrix);\n point.x -= width;\n bbox.sw = point.matrixTransform(matrix);\n point.y -= height / 2;\n bbox.w = point.matrixTransform(matrix);\n point.x += width;\n bbox.e = point.matrixTransform(matrix);\n point.x -= width / 2;\n point.y -= height / 2;\n bbox.n = point.matrixTransform(matrix);\n point.y += height;\n bbox.s = point.matrixTransform(matrix);\n\n return bbox;\n }\n\n // Private - replace D3JS 3.X d3.functor() function\n function functor(v) {\n return typeof v === \"function\" ? v : function () {\n return v;\n };\n }\n\n return tip;\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip.ts\";\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\n// Use old school class declaration as this is a mixin ---\nexport function ITooltip(this: any) {\n this.tooltip = tip();\n\n if (this.tooltipLabelFormat_exists()) {\n this._labelFormatter = d3Format(this.tooltipLabelFormat() as string);\n }\n\n if (this.tooltipValueFormat_exists()) {\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\n }\n\n if (this.layerEnter) {\n const layerEnter = this.layerEnter;\n this.layerEnter = function (_base, svgElement, _domElement) {\n if (!this._parentOverlay) {\n this._parentOverlay = _base._parentOverlay;\n }\n this.tooltipEnter(svgElement);\n layerEnter.apply(this, arguments);\n };\n const layerUpdate = this.layerUpdate;\n this.layerUpdate = function (_base) {\n layerUpdate.apply(this, arguments);\n this.tooltipUpdate();\n };\n const layerExit = this.layerExit;\n this.layerExit = function (_base) {\n this.tooltipExit();\n layerExit.apply(this, arguments);\n };\n } else {\n const enter = this.enter;\n this.enter = function (_domNode, element) {\n this.tooltipEnter(element);\n enter.apply(this, arguments);\n };\n const update = this.update;\n this.update = function (_domNode, _element) {\n update.apply(this, arguments);\n this.tooltipUpdate();\n };\n const exit = this.exit;\n this.exit = function (_domNode, _element) {\n this.tooltipExit();\n exit.apply(this, arguments);\n };\n }\n}\nITooltip.prototype = Object.create(Widget.prototype);\nITooltip.prototype.constructor = ITooltip;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\nITooltip.prototype.tooltipEnter = function (element) {\n const overlayElement = this.parentOverlay();\n if (!overlayElement.empty()) {\n this.tooltip.rootElement(overlayElement.node().parentNode);\n }\n element.call(this.tooltip);\n};\n\nITooltip.prototype.tooltipUpdate = function () {\n this.tooltip.offset(() => {\n if (event && this.tooltipFollowMouse()) {\n const d3tipElement: HTMLDivElement = document.querySelector(\".d3-tip\"); // d3Tip offers no reference to the '.d3-tip' element...?\n d3tipElement.style.display = \"block\";\n d3tipElement.style.left = this.tooltipOffset() + ((event as any).clientX) + \"px\";\n d3tipElement.style.top = (event as any).clientY + \"px\";\n return [];\n }\n switch (this.tooltip.direction()()) {\n case \"e\":\n return [0, this.tooltipOffset()];\n default:\n return [-this.tooltipOffset(), 0];\n }\n });\n\n let classed = this.tooltip.attr(\"class\");\n if (classed) {\n classed = classed.split(\" notick\").join(\"\") + (this.tooltipTick() ? \"\" : \" notick\") + (this.tooltipStyle() === \"none\" ? \" hidden\" : \"\");\n classed = classed.split(\" \")\n .filter(function (_class) {\n return _class.indexOf(\"ITooltip-tooltipStyle-\") !== 0;\n })\n .join(\" \")\n ;\n classed += \" ITooltip-tooltipStyle-\" + this.tooltipStyle();\n this.tooltip\n .attr(\"class\", classed)\n ;\n }\n};\n\nITooltip.prototype.tooltipExit = function () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n};\n\nITooltip.prototype._tooltipHTML = function (d) {\n return d;\n};\n\nITooltip.prototype.tooltipHTML = function (_) {\n return this.tooltip.html(_);\n};\n\nITooltip.prototype.tooltipFormat = function (opts: { label?: string | number, series?: string | number, value?: Date | string | number, arr?: Array<{ color: string, label: string, value: string }> } = {}) {\n opts.label = opts.label === undefined ? \"\" : opts.label;\n if (this._labelFormatter) {\n opts.label = this._labelFormatter(opts.label) || \"\";\n } else if (this.formatData && this.parseData) {\n opts.label = this.formatData(this.parseData(opts.label));\n }\n opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else if (this._valueFormatter) {\n opts.value = this._valueFormatter(opts.value) || \"\";\n } else if (this.formatValue && this.parseValue) {\n opts.value = this.formatValue(this.parseValue(opts.value));\n }\n switch (this.tooltipStyle()) {\n case \"none\":\n break;\n case \"series-table\":\n let html = '<table class=\"ITooltip-series-table\">'\n + \"<thead>\"\n + '<tr><th colspan=\"2\">' + opts.label + \"</th></tr>\"\n + \"</thead>\"\n + \"<tbody>\";\n opts.arr.forEach(function (row) {\n html += \"<tr>\";\n html += \"<td>\";\n html += '<div class=\"series-table-row-color\" style=\"background-color:' + row.color + '\"></div>';\n html += '<div class=\"series-table-row-label\">' + row.label + \"</div>\";\n html += \"</td>\";\n html += '<td><div class=\"series-table-row-value\">' + row.value + \"</div></td>\";\n html += \"</tr>\";\n });\n html += \"</tbody>\";\n html += \"</table>\";\n return html;\n default:\n if (opts.series) {\n return \"<span style='color:\" + this.tooltipSeriesColor() + \"'>\" + opts.series + \"</span> / <span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n if (opts.label !== \"\") {\n return \"<span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n return \"<span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n};\n\nITooltip.prototype.tooltipKeyValueFormat = function (titleKey: string, obj: object): string {\n let body = \"\";\n for (const key in obj) {\n if (key !== titleKey) {\n const value = obj && obj[key] ? obj[key] : \"\";\n body += `<tr><td style=\"${this.tooltipLabelColor_exists() ? \"color:\" + this.tooltipLabelColor() : \"\"}\">${key}</td><td style=\"font-weight:normal\">${value}</td></tr>`;\n }\n }\n return `<table>\n <thead>\n <tr><th colspan=\"2\" style=\"font-weight:bold;font-size:16px\">${obj[titleKey]}</th></tr>\n </thead>\n <tbody>\n ${body}\n </tbody>\n </table>`;\n};\n\nexport interface ITooltip {\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipLabelFormat: (_?) => string | ITooltip;\n tooltipLabelFormat_exists: () => boolean;\n tooltipValueFormat: (_?) => string | ITooltip;\n tooltipValueFormat_exists: () => boolean;\n tooltipSeriesColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor_exists: () => boolean;\n tooltipValueColor: { (): string; (_: string): ITooltip; };\n tooltipTick: { (): boolean; (_: boolean): ITooltip; };\n tooltipOffset: { (): number; (_: number): ITooltip; };\n tooltipOffset_default: { (): number; (_: number): ITooltip; };\n}\nITooltip.prototype.publish(\"tooltipStyle\", \"default\", \"set\", \"Style mode\", [\"default\", \"none\", \"series-table\"], {});\nITooltip.prototype.publish(\"tooltipFollowMouse\", false, \"boolean\", \"If true, the tooltip will follow mouse movement\", null, {});\nITooltip.prototype.publish(\"tooltipLabelFormat\", undefined, \"string\", \"Format of tooltip label(s) (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueFormat\", undefined, \"string\", \"Number format of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipSeriesColor\", \"#EAFFFF\", \"html-color\", \"Color of tooltip series text\", null, {});\nITooltip.prototype.publish(\"tooltipLabelColor\", \"#CCFFFF\", \"html-color\", \"Color of tooltip label text (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueColor\", \"white\", \"html-color\", \"Color of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipTick\", true, \"boolean\", \"Show tooltip tick\", null, {});\nITooltip.prototype.publish(\"tooltipOffset\", 8, \"number\", \"Offset from the cursor\", null, {});\n\nconst tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;\nITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {\n const retVal = tooltipLabelFormat.apply(this, arguments);\n if (arguments.length) {\n this._labelFormatter = d3Format(_);\n }\n return retVal;\n};\n\nconst tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;\nITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {\n const retVal = tooltipValueFormat.apply(this, arguments);\n if (arguments.length) {\n this._valueFormatter = d3Format(_);\n }\n return retVal;\n};\n","import { Palette } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function ITree() {\n}\nITree.prototype.constructor = ITree;\n\n// Events ---\nITree.prototype.click = function (row, column, selected) {\n};\n\nITree.prototype.dblclick = function (row, column, selected) {\n};\n\nITree.prototype._palette = Palette.ordinal(\"default\");\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/__package__.ts","../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../src/ITooltip.ts","../src/ITree.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { Palette } from \"@hpcc-js/common\";\n\nexport function I1DChart() {\n}\nI1DChart.prototype._dataFamily = \"1D\";\nI1DChart.prototype._palette = Palette.rainbow(\"default\");\n\n// Events ---\nI1DChart.prototype.click = function (row, column, selected) {\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DChart() {\n}\nI2DChart.prototype._dataFamily = \"2D\";\nI2DChart.prototype._palette = Palette.ordinal(\"default\");\n\nI2DChart.prototype.fillColor = function (row: any[], column, value, origRow): string {\n return this._palette(row[0]);\n};\n\nI2DChart.prototype.strokeColor = function (row: any[], column, value, origRow): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nI2DChart.prototype.textColor = function (row: any[], column, value, origRow): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nI2DChart.prototype.click = function (row: object, column, selected) {\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DAggrChart() {\n}\nI2DAggrChart.prototype._palette = Palette.rainbow(\"default\");\n\nI2DAggrChart.prototype.fillColor = function (row: any[][], column, value): string {\n return this._palette(row.length);\n};\n\nI2DAggrChart.prototype.strokeColor = function (row: any[][], column, value): string {\n return d3Hsl(this.fillColor(row, column, value)).darker().toString();\n};\n\nI2DAggrChart.prototype.textColor = function (row: any[][], column, value): string {\n return Palette.textColor(this.fillColor(row, column, value));\n};\n\n// Events ---\nI2DAggrChart.prototype.click = function (row: object[], column, selected) {\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n};\n","export function IGraph() {\n}\nIGraph.prototype._dataFamily = \"graph\";\n\n// Events ---\nIGraph.prototype.vertex_click = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n","export interface IHighlight {\n highlightColumn(column: string): this;\n}\n\nexport function instanceOfIHighlight(w: any): w is IHighlight {\n return typeof (w as any).highlightColumn === \"function\";\n}\n","import { Widget } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function IInput() {\n}\nIInput.prototype = Object.create(Widget.prototype);\nIInput.prototype.constructor = IInput;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\n// Implementation ---\nIInput.prototype.isValid = function () {\n if (this.validate()) {\n const re = new RegExp(this.validate());\n if (!re.test(this.value())) {\n return false;\n }\n }\n return true;\n};\n\nIInput.prototype.hasValue = function () {\n if (typeof (this as any).type === \"function\") {\n switch ((this as any).type()) {\n case \"radio\":\n /* falls through */\n case \"checkbox\":\n if (this.value() && this.value() !== \"false\") {\n return true;\n }\n break;\n default:\n if (this.value()) {\n return true;\n }\n break;\n }\n return false;\n }\n return this.value() !== \"\";\n};\n\n// Events ---\nIInput.prototype.blur = function (_w) {\n};\nIInput.prototype.keyup = function (_w) {\n};\nIInput.prototype.focus = function (_w) {\n};\nIInput.prototype.click = function (_w) {\n};\nIInput.prototype.dblclick = function (_w) {\n};\nIInput.prototype.change = function (_w, complete: boolean) {\n};\n\nIInput.prototype.resetValue = function (w) {\n w.value(w._inputElement[0].node().value);\n};\n\nIInput.prototype.disable = function (disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n};\n\nIInput.prototype.setFocus = function () {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n};\n\nexport interface IInput {\n name: { (): string; (_: string): IInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): IInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): IInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): IInput };\n validate_exists: () => boolean;\n}\nIInput.prototype.publish(\"name\", \"\", \"string\", \"HTML name for the input\");\nIInput.prototype.publish(\"label\", \"\", \"string\", \"Descriptive label\");\nIInput.prototype.publish(\"value\", \"\", \"string\", \"Input Current Value\");\nIInput.prototype.publish(\"validate\", null, \"string\", \"Input Validation\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function INDChart() {\n}\nINDChart.prototype._dataFamily = \"ND\";\nINDChart.prototype._palette = Palette.ordinal(\"default\");\n\nINDChart.prototype.fillColor = function (row: any[], column: string, value: number, origRow: any): string {\n return this._palette(column);\n};\n\nINDChart.prototype.strokeColor = function (row: any[], column: string, value: number, origRow: any): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nINDChart.prototype.textColor = function (row: any[], column: string, value: number, origRow: any): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nINDChart.prototype.click = function (row, column, selected) {\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n};\n","// Based on https://github.com/GordonSmith/d3-tip forked from https://github.com/Caged/d3-tip\n\nimport { map } from \"d3-collection\";\nimport { select, selection } from \"d3-selection\";\n\nexport function tip() {\n let direction = d3TipDirection;\n let offset = d3TipOffset;\n let html = d3TipHTML;\n let rootElement = functor(document.body);\n let node = initNode();\n let svg = null;\n let point = null;\n let target = null;\n\n const tip: any = function (vis) {\n svg = getSVGNode(vis);\n if (!svg) return;\n point = svg.createSVGPoint();\n const re = rootElement();\n if (!re) return;\n if (!node) return;\n re.appendChild(node);\n };\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function (d, idx, arr) {\n target = arr[idx];\n const args = Array.prototype.slice.call(arguments) as [];\n const content = html.apply(this, args);\n if (content === null) {\n return tip;\n }\n const poffset = offset.apply(this, args);\n const nodel = getNodeEl();\n let i = directions.length;\n let coords;\n const root_bbox = rootElement().getBoundingClientRect();\n nodel.html(content)\n .style(\"opacity\", 1).style(\"pointer-events\", \"all\");\n\n while (i--) nodel.classed(directions[i], false);\n let placement_success = false;\n const placement_overflow = {};\n let least_overflow_direction = directions[0];\n for (let i = 0; i < directions.length; i++) {\n placement_success = _placement_attempt(directions[i]);\n if (placement_success) break;\n }\n if (!placement_success) {\n nodel.classed(\"notick\", true);\n const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);\n const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);\n _placement_attempt(least_overflow_direction, top_offset, left_offset);\n } else {\n nodel.classed(\"notick\", false);\n }\n return tip;\n\n function _horizontal_adjustment(overflow_obj) {\n if (overflow_obj.left > overflow_obj.right) {\n return overflow_obj.left > 0 ? -overflow_obj.left : 0;\n } else {\n return overflow_obj.right > 0 ? overflow_obj.right : 0;\n }\n }\n function _vertical_adjustment(overflow_obj) {\n if (overflow_obj.top > overflow_obj.bottom) {\n return overflow_obj.top > 0 ? -overflow_obj.top : 0;\n } else {\n return overflow_obj.bottom;\n }\n }\n\n function _placement_attempt(this: any, _dir, _top_offset?, _left_offset?) {\n _top_offset = _top_offset ? _top_offset : 0;\n _left_offset = _left_offset ? _left_offset : 0;\n nodel.style(\"white-space\", \"nowrap\");\n coords = directionCallbacks.get(_dir).apply(this);\n nodel.classed(_dir, true)\n .style(\"top\", (coords.top + poffset[0] - _top_offset) + \"px\")\n .style(\"left\", (coords.left + poffset[1] - _left_offset) + \"px\");\n const nodel_bbox = nodel.node().getBoundingClientRect();\n const ret = nodel_bbox.top > root_bbox.top\n && nodel_bbox.left > root_bbox.left\n && nodel_bbox.bottom < root_bbox.bottom\n && nodel_bbox.right < root_bbox.right\n ;\n placement_overflow[_dir] = {\n top: root_bbox.top - nodel_bbox.top,\n right: nodel_bbox.right - root_bbox.right,\n bottom: nodel_bbox.bottom - root_bbox.bottom,\n left: root_bbox.left - nodel_bbox.left\n };\n nodel.style(\"white-space\", \"normal\");\n placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir])\n .filter(side => placement_overflow[_dir][side] > 0)\n .reduce((sum, side) => {\n const side_overflow = placement_overflow[_dir][side];\n return sum + side_overflow;\n }, 0);\n if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {\n least_overflow_direction = _dir;\n }\n if (!ret) {\n nodel.classed(_dir, false);\n }\n return ret;\n }\n };\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function () {\n const nodel = getNodeEl();\n nodel.style(\"opacity\", 0).style(\"pointer-events\", \"none\");\n return tip;\n };\n\n // Public: Proxy attr calls to the d3 tip container.\n // Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().attr(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.attr.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Proxy style calls to the d3 tip container.\n // Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value \n tip.style = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().style(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.style.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function (v) {\n if (!arguments.length) return direction;\n direction = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function (v) {\n if (!arguments.length) return offset;\n offset = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function (v) {\n if (!arguments.length) return html;\n html = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the root element anchor of the tooltip\n //\n // v - root element of the tooltip\n //\n // Returns root node of tip\n tip.rootElement = function (v) {\n if (!arguments.length) return rootElement;\n rootElement = functor(v);\n\n return tip;\n };\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function () {\n if (node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n };\n\n function d3TipDirection() { return \"n\"; }\n function d3TipOffset() { return [0, 0]; }\n function d3TipHTML() { return \" \"; }\n\n const directionCallbacks = map({\n n: directionNorth,\n s: directionSouth,\n e: directionEast,\n w: directionWest,\n nw: directionNorthWest,\n ne: directionNorthEast,\n sw: directionSouthWest,\n se: directionSouthEast\n });\n const directions = directionCallbacks.keys();\n\n function directionNorth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n };\n }\n\n function directionSouth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.s.y + 8,\n left: bbox.s.x - node.offsetWidth / 2\n };\n }\n\n function directionEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x + 8\n };\n }\n\n function directionWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth - 8\n };\n }\n\n function directionNorthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n };\n }\n\n function directionNorthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n };\n }\n\n function directionSouthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n };\n }\n\n function directionSouthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.se.y,\n left: bbox.se.x\n };\n }\n\n function initNode() {\n const div = select(document.createElement(\"div\"));\n div\n .attr(\"class\", \"d3-tip\")\n .style(\"position\", \"absolute\")\n .style(\"top\", \"0px\")\n .style(\"opacity\", 0)\n .style(\"pointer-events\", \"none\")\n .style(\"box-sizing\", \"border-box\");\n\n return div.node();\n }\n\n function getSVGNode(element) {\n const svgNode = element.node();\n if (!svgNode) return null;\n if (svgNode.tagName.toLowerCase() === \"svg\") return svgNode;\n return svgNode.ownerSVGElement;\n }\n\n function getNodeEl() {\n if (node == null) {\n node = initNode();\n // re-add node to DOM\n rootElement().appendChild(node);\n }\n return select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast),\n // nw(northwest), sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox(targetShape) {\n let targetel = target || targetShape;\n\n while (targetel.getCTM == null && targetel.parentNode != null) {\n targetel = targetel.parentNode;\n }\n\n const bbox: any = {};\n const matrix = targetel.getCTM();\n const tbbox = targetel.getBBox();\n const width = tbbox.width;\n const height = tbbox.height;\n const x = tbbox.x;\n const y = tbbox.y;\n\n point.x = x;\n point.y = y;\n bbox.nw = point.matrixTransform(matrix);\n point.x += width;\n bbox.ne = point.matrixTransform(matrix);\n point.y += height;\n bbox.se = point.matrixTransform(matrix);\n point.x -= width;\n bbox.sw = point.matrixTransform(matrix);\n point.y -= height / 2;\n bbox.w = point.matrixTransform(matrix);\n point.x += width;\n bbox.e = point.matrixTransform(matrix);\n point.x -= width / 2;\n point.y -= height / 2;\n bbox.n = point.matrixTransform(matrix);\n point.y += height;\n bbox.s = point.matrixTransform(matrix);\n\n return bbox;\n }\n\n // Private - replace D3JS 3.X d3.functor() function\n function functor(v) {\n return typeof v === \"function\" ? v : function () {\n return v;\n };\n }\n\n return tip;\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip.ts\";\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\n// Use old school class declaration as this is a mixin ---\nexport function ITooltip(this: any) {\n this.tooltip = tip();\n\n if (this.tooltipLabelFormat_exists()) {\n this._labelFormatter = d3Format(this.tooltipLabelFormat() as string);\n }\n\n if (this.tooltipValueFormat_exists()) {\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\n }\n\n if (this.layerEnter) {\n const layerEnter = this.layerEnter;\n this.layerEnter = function (_base, svgElement, _domElement) {\n if (!this._parentOverlay) {\n this._parentOverlay = _base._parentOverlay;\n }\n this.tooltipEnter(svgElement);\n layerEnter.apply(this, arguments);\n };\n const layerUpdate = this.layerUpdate;\n this.layerUpdate = function (_base) {\n layerUpdate.apply(this, arguments);\n this.tooltipUpdate();\n };\n const layerExit = this.layerExit;\n this.layerExit = function (_base) {\n this.tooltipExit();\n layerExit.apply(this, arguments);\n };\n } else {\n const enter = this.enter;\n this.enter = function (_domNode, element) {\n this.tooltipEnter(element);\n enter.apply(this, arguments);\n };\n const update = this.update;\n this.update = function (_domNode, _element) {\n update.apply(this, arguments);\n this.tooltipUpdate();\n };\n const exit = this.exit;\n this.exit = function (_domNode, _element) {\n this.tooltipExit();\n exit.apply(this, arguments);\n };\n }\n}\nITooltip.prototype = Object.create(Widget.prototype);\nITooltip.prototype.constructor = ITooltip;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\nITooltip.prototype.tooltipEnter = function (element) {\n const overlayElement = this.parentOverlay();\n if (!overlayElement.empty()) {\n this.tooltip.rootElement(overlayElement.node().parentNode);\n }\n element.call(this.tooltip);\n};\n\nITooltip.prototype.tooltipUpdate = function () {\n this.tooltip.offset(() => {\n if (event && this.tooltipFollowMouse()) {\n const d3tipElement: HTMLDivElement = document.querySelector(\".d3-tip\"); // d3Tip offers no reference to the '.d3-tip' element...?\n d3tipElement.style.display = \"block\";\n d3tipElement.style.left = this.tooltipOffset() + ((event as any).clientX) + \"px\";\n d3tipElement.style.top = (event as any).clientY + \"px\";\n return [];\n }\n switch (this.tooltip.direction()()) {\n case \"e\":\n return [0, this.tooltipOffset()];\n default:\n return [-this.tooltipOffset(), 0];\n }\n });\n\n let classed = this.tooltip.attr(\"class\");\n if (classed) {\n classed = classed.split(\" notick\").join(\"\") + (this.tooltipTick() ? \"\" : \" notick\") + (this.tooltipStyle() === \"none\" ? \" hidden\" : \"\");\n classed = classed.split(\" \")\n .filter(function (_class) {\n return _class.indexOf(\"ITooltip-tooltipStyle-\") !== 0;\n })\n .join(\" \")\n ;\n classed += \" ITooltip-tooltipStyle-\" + this.tooltipStyle();\n this.tooltip\n .attr(\"class\", classed)\n ;\n }\n};\n\nITooltip.prototype.tooltipExit = function () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n};\n\nITooltip.prototype._tooltipHTML = function (d) {\n return d;\n};\n\nITooltip.prototype.tooltipHTML = function (_) {\n return this.tooltip.html(_);\n};\n\nITooltip.prototype.tooltipFormat = function (opts: { label?: string | number, series?: string | number, value?: Date | string | number, arr?: Array<{ color: string, label: string, value: string }> } = {}) {\n opts.label = opts.label === undefined ? \"\" : opts.label;\n if (this._labelFormatter) {\n opts.label = this._labelFormatter(opts.label) || \"\";\n } else if (this.formatData && this.parseData) {\n opts.label = this.formatData(this.parseData(opts.label));\n }\n opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else if (this._valueFormatter) {\n opts.value = this._valueFormatter(opts.value) || \"\";\n } else if (this.formatValue && this.parseValue) {\n opts.value = this.formatValue(this.parseValue(opts.value));\n }\n switch (this.tooltipStyle()) {\n case \"none\":\n break;\n case \"series-table\":\n let html = '<table class=\"ITooltip-series-table\">'\n + \"<thead>\"\n + '<tr><th colspan=\"2\">' + opts.label + \"</th></tr>\"\n + \"</thead>\"\n + \"<tbody>\";\n opts.arr.forEach(function (row) {\n html += \"<tr>\";\n html += \"<td>\";\n html += '<div class=\"series-table-row-color\" style=\"background-color:' + row.color + '\"></div>';\n html += '<div class=\"series-table-row-label\">' + row.label + \"</div>\";\n html += \"</td>\";\n html += '<td><div class=\"series-table-row-value\">' + row.value + \"</div></td>\";\n html += \"</tr>\";\n });\n html += \"</tbody>\";\n html += \"</table>\";\n return html;\n default:\n if (opts.series) {\n return \"<span style='color:\" + this.tooltipSeriesColor() + \"'>\" + opts.series + \"</span> / <span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n if (opts.label !== \"\") {\n return \"<span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n return \"<span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n};\n\nITooltip.prototype.tooltipKeyValueFormat = function (titleKey: string, obj: object): string {\n let body = \"\";\n for (const key in obj) {\n if (key !== titleKey) {\n const value = obj && obj[key] ? obj[key] : \"\";\n body += `<tr><td style=\"${this.tooltipLabelColor_exists() ? \"color:\" + this.tooltipLabelColor() : \"\"}\">${key}</td><td style=\"font-weight:normal\">${value}</td></tr>`;\n }\n }\n return `<table>\n <thead>\n <tr><th colspan=\"2\" style=\"font-weight:bold;font-size:16px\">${obj[titleKey]}</th></tr>\n </thead>\n <tbody>\n ${body}\n </tbody>\n </table>`;\n};\n\nexport interface ITooltip {\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipLabelFormat: (_?) => string | ITooltip;\n tooltipLabelFormat_exists: () => boolean;\n tooltipValueFormat: (_?) => string | ITooltip;\n tooltipValueFormat_exists: () => boolean;\n tooltipSeriesColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor_exists: () => boolean;\n tooltipValueColor: { (): string; (_: string): ITooltip; };\n tooltipTick: { (): boolean; (_: boolean): ITooltip; };\n tooltipOffset: { (): number; (_: number): ITooltip; };\n tooltipOffset_default: { (): number; (_: number): ITooltip; };\n}\nITooltip.prototype.publish(\"tooltipStyle\", \"default\", \"set\", \"Style mode\", [\"default\", \"none\", \"series-table\"], {});\nITooltip.prototype.publish(\"tooltipFollowMouse\", false, \"boolean\", \"If true, the tooltip will follow mouse movement\", null, {});\nITooltip.prototype.publish(\"tooltipLabelFormat\", undefined, \"string\", \"Format of tooltip label(s) (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueFormat\", undefined, \"string\", \"Number format of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipSeriesColor\", \"#EAFFFF\", \"html-color\", \"Color of tooltip series text\", null, {});\nITooltip.prototype.publish(\"tooltipLabelColor\", \"#CCFFFF\", \"html-color\", \"Color of tooltip label text (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueColor\", \"white\", \"html-color\", \"Color of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipTick\", true, \"boolean\", \"Show tooltip tick\", null, {});\nITooltip.prototype.publish(\"tooltipOffset\", 8, \"number\", \"Offset from the cursor\", null, {});\n\nconst tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;\nITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {\n const retVal = tooltipLabelFormat.apply(this, arguments);\n if (arguments.length) {\n this._labelFormatter = d3Format(_);\n }\n return retVal;\n};\n\nconst tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;\nITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {\n const retVal = tooltipValueFormat.apply(this, arguments);\n if (arguments.length) {\n this._valueFormatter = d3Format(_);\n }\n return retVal;\n};\n","import { Palette } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function ITree() {\n}\nITree.prototype.constructor = ITree;\n\n// Events ---\nITree.prototype.click = function (row, column, selected) {\n};\n\nITree.prototype.dblclick = function (row, column, selected) {\n};\n\nITree.prototype._palette = Palette.ordinal(\"default\");\n"],"names":["PKG_NAME","PKG_VERSION","BUILD_VERSION","I1DChart","I2DChart","I2DAggrChart","IGraph","instanceOfIHighlight","w","highlightColumn","IInput","INDChart","tip","direction","d3TipDirection","offset","d3TipOffset","html","d3TipHTML","rootElement","functor","document","body","node","initNode","svg","point","target","vis","getSVGNode","createSVGPoint","re","appendChild","show","d","idx","arr","args","Array","prototype","slice","call","arguments","content","apply","this","poffset","nodel","getNodeEl","coords","i","directions","length","root_bbox","getBoundingClientRect","style","classed","placement_success","placement_overflow","least_overflow_direction","_placement_attempt","top_offset","_vertical_adjustment","left_offset","_horizontal_adjustment","overflow_obj","left","right","top","bottom","_dir","_top_offset","_left_offset","directionCallbacks","get","nodel_bbox","ret","total_overflow","Object","keys","filter","side","reduce","sum","hide","attr","n","v","selection","destroy","remove","__name","map","directionNorth","s","directionSouth","e","directionEast","directionWest","nw","directionNorthWest","ne","directionNorthEast","sw","directionSouthWest","se","directionSouthEast","bbox","getScreenBBox","window","y","offsetHeight","x","offsetWidth","div","select","createElement","element","svgNode","tagName","toLowerCase","ownerSVGElement","targetShape","targetel","getCTM","parentNode","matrix","tbbox","getBBox","width","height","matrixTransform","ITooltip","tooltip","tooltipLabelFormat_exists","_labelFormatter","d3Format","tooltipLabelFormat","tooltipValueFormat_exists","_valueFormatter","tooltipValueFormat","layerEnter","_base","svgElement","_domElement","_parentOverlay","tooltipEnter","layerUpdate","tooltipUpdate","layerExit","tooltipExit","enter","_domNode","update","_element","exit","_dataFamily","_palette","Palette","rainbow","click","row","column","selected","dblclick","ordinal","fillColor","value","origRow","strokeColor","d3Hsl","darker","toString","textColor","vertex_click","_row","_col","_sel","more","vertex","vertex_dblclick","edge_click","edge","edge_dblclick","create","Widget","constructor","isValid","validate","RegExp","test","hasValue","type","blur","_w","keyup","focus","change","complete","resetValue","_inputElement","disable","forEach","setFocus","publish","overlayElement","parentOverlay","empty","event","tooltipFollowMouse","d3tipElement","querySelector","display","tooltipOffset","clientX","clientY","split","join","tooltipTick","tooltipStyle","_class","indexOf","_tooltipHTML","tooltipHTML","_","tooltipFormat","opts","label","formatData","parseData","series","Date","formatValue","parseValue","color","tooltipSeriesColor","tooltipLabelColor","tooltipValueColor","tooltipKeyValueFormat","titleKey","obj","key","tooltipLabelColor_exists","retVal","ITree"],"mappings":"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"}
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
!function(t,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@hpcc-js/common")):"function"==typeof define&&define.amd?define(["exports","@hpcc-js/common"],o):o((t="undefined"!=typeof globalThis?globalThis:t||self)["@hpcc-js/api"]={},t["@hpcc-js/common"])}(this,function(t,o){var e,l,n,i=Object.create,r=Object.defineProperty,p=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;n=null!=(e=o)?i(a(e)):{},o=((t,o,e,l)=>{if(o&&"object"==typeof o||"function"==typeof o)for(var n,i=s(o),a=0,c=i.length;a<c;a++)n=i[a],u.call(t,n)||n===e||r(t,n,{get:(t=>o[t]).bind(null,n),enumerable:!(l=p(o,n))||l.enumerable});return t})(!l&&e&&e.__esModule?n:r(n,"default",{value:e,enumerable:!0}),e);function c(){}function f(){}function h(){}function y(){}function d(){}function b(){}function m(){if(this.tooltip=function(){let t=function(){return"n"},e=function(){return[0,0]},l=function(){return" "},n=d(document.body),i=f(),r=null,p=null,s=null;const a=function(t){if(r=function(t){const o=t.node();return o?"svg"===o.tagName.toLowerCase()?o:o.ownerSVGElement:null}(t),!r)return;p=r.createSVGPoint();const o=n();o&&i&&o.appendChild(i)};a.show=function(t,o,i){s=i[o];const r=Array.prototype.slice.call(arguments),p=l.apply(this,r);if(null===p)return a;const f=e.apply(this,r),y=h();let d,b=c.length;const m=n().getBoundingClientRect();for(y.html(p).style("opacity",1).style("pointer-events","all");b--;)y.classed(c[b],!1);let g=!1;const v={};let x=c[0];for(let e=0;e<c.length&&(g=C(c[e]),!g);e++);if(g)y.classed("notick",!1);else{y.classed("notick",!0);const t=(w=v[x]).top>w.bottom?w.top>0?-w.top:0:w.bottom,o=function(t){return t.left>t.right?t.left>0?-t.left:0:t.right>0?t.right:0}(v[x]);C(x,t,o)}var w;return a;function C(t,o,e){o=o||0,e=e||0,y.style("white-space","nowrap"),d=u.get(t).apply(this),y.classed(t,!0).style("top",d.top+f[0]-o+"px").style("left",d.left+f[1]-e+"px");const l=y.node().getBoundingClientRect(),n=l.top>m.top&&l.left>m.left&&l.bottom<m.bottom&&l.right<m.right;return v[t]={top:m.top-l.top,right:l.right-m.right,bottom:l.bottom-m.bottom,left:m.left-l.left},y.style("white-space","normal"),v[t].total_overflow=Object.keys(v[t]).filter(o=>v[t][o]>0).reduce((o,e)=>o+v[t][e],0),v[x].total_overflow>v[t].total_overflow&&(x=t),n||y.classed(t,!1),n}},a.hide=function(){return h().style("opacity",0).style("pointer-events","none"),a},a.attr=function(t,e){if(arguments.length<2&&"string"==typeof t)return h().attr(t);const l=Array.prototype.slice.call(arguments);return o.selection.prototype.attr.apply(h(),l),a},a.style=function(t,e){if(arguments.length<2&&"string"==typeof t)return h().style(t);const l=Array.prototype.slice.call(arguments);return o.selection.prototype.style.apply(h(),l),a},a.direction=function(o){return arguments.length?(t=null==o?o:d(o),a):t},a.offset=function(t){return arguments.length?(e=null==t?t:d(t),a):e},a.html=function(t){return arguments.length?(l=null==t?t:d(t),a):l},a.rootElement=function(t){return arguments.length?(n=d(t),a):n},a.destroy=function(){return i&&(h().remove(),i=null),a};const u=(0,o.map)({n:function(){const t=y(window);return{top:t.n.y-i.offsetHeight,left:t.n.x-i.offsetWidth/2}},s:function(){const t=y(window);return{top:t.s.y+8,left:t.s.x-i.offsetWidth/2}},e:function(){const t=y(window);return{top:t.e.y-i.offsetHeight/2,left:t.e.x+8}},w:function(){const t=y(window);return{top:t.w.y-i.offsetHeight/2,left:t.w.x-i.offsetWidth-8}},nw:function(){const t=y(window);return{top:t.nw.y-i.offsetHeight,left:t.nw.x-i.offsetWidth}},ne:function(){const t=y(window);return{top:t.ne.y-i.offsetHeight,left:t.ne.x}},sw:function(){const t=y(window);return{top:t.sw.y,left:t.sw.x-i.offsetWidth}},se:function(){const t=y(window);return{top:t.se.y,left:t.se.x}}}),c=u.keys();function f(){const t=(0,o.select)(document.createElement("div"));return t.attr("class","d3-tip").style("position","absolute").style("top","0px").style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),t.node()}function h(){return null==i&&(i=f(),n().appendChild(i)),(0,o.select)(i)}function y(t){let o=s||t;for(;null==o.getCTM&&null!=o.parentNode;)o=o.parentNode;const e={},l=o.getCTM(),n=o.getBBox(),i=n.width,r=n.height,a=n.x,u=n.y;return p.x=a,p.y=u,e.nw=p.matrixTransform(l),p.x+=i,e.ne=p.matrixTransform(l),p.y+=r,e.se=p.matrixTransform(l),p.x-=i,e.sw=p.matrixTransform(l),p.y-=r/2,e.w=p.matrixTransform(l),p.x+=i,e.e=p.matrixTransform(l),p.x-=i/2,p.y-=r/2,e.n=p.matrixTransform(l),p.y+=r,e.s=p.matrixTransform(l),e}function d(t){return"function"==typeof t?t:function(){return t}}return a}(),this.tooltipLabelFormat_exists()&&(this._labelFormatter=(0,o.format)(this.tooltipLabelFormat())),this.tooltipValueFormat_exists()&&(this._valueFormatter=(0,o.format)(this.tooltipValueFormat())),this.layerEnter){const t=this.layerEnter;this.layerEnter=function(o,e,l){this._parentOverlay||(this._parentOverlay=o._parentOverlay),this.tooltipEnter(e),t.apply(this,arguments)};const o=this.layerUpdate;this.layerUpdate=function(t){o.apply(this,arguments),this.tooltipUpdate()};const e=this.layerExit;this.layerExit=function(t){this.tooltipExit(),e.apply(this,arguments)}}else{const t=this.enter;this.enter=function(o,e){this.tooltipEnter(e),t.apply(this,arguments)};const o=this.update;this.update=function(t,e){o.apply(this,arguments),this.tooltipUpdate()};const e=this.exit;this.exit=function(t,o){this.tooltipExit(),e.apply(this,arguments)}}}c.prototype._dataFamily="1D",c.prototype._palette=o.Palette.rainbow("default"),c.prototype.click=function(t,o,e){},c.prototype.dblclick=function(t,o,e){},f.prototype._dataFamily="2D",f.prototype._palette=o.Palette.ordinal("default"),f.prototype.fillColor=function(t,o,e,l){return this._palette(t[0])},f.prototype.strokeColor=function(t,e,l,n){return(0,o.hsl)(this.fillColor(t,e,l,n)).darker().toString()},f.prototype.textColor=function(t,e,l,n){return o.Palette.textColor(this.fillColor(t,e,l,n))},f.prototype.click=function(t,o,e){},f.prototype.dblclick=function(t,o,e){},h.prototype._palette=o.Palette.rainbow("default"),h.prototype.fillColor=function(t,o,e){return this._palette(t.length)},h.prototype.strokeColor=function(t,e,l){return(0,o.hsl)(this.fillColor(t,e,l)).darker().toString()},h.prototype.textColor=function(t,e,l){return o.Palette.textColor(this.fillColor(t,e,l))},h.prototype.click=function(t,o,e){},h.prototype.dblclick=function(t,o,e){},y.prototype._dataFamily="graph",y.prototype.vertex_click=function(t,o,e,l){l&&l.vertex},y.prototype.vertex_dblclick=function(t,o,e,l){l&&l.vertex},y.prototype.edge_click=function(t,o,e,l){l&&l.edge},y.prototype.edge_dblclick=function(t,o,e,l){l&&l.edge},d.prototype=Object.create(o.Widget.prototype),d.prototype.constructor=d,d.prototype.isValid=function(){return!(this.validate()&&!new RegExp(this.validate()).test(this.value()))},d.prototype.hasValue=function(){if("function"==typeof this.type){switch(this.type()){case"radio":case"checkbox":if(this.value()&&"false"!==this.value())return!0;break;default:if(this.value())return!0}return!1}return""!==this.value()},d.prototype.blur=function(t){},d.prototype.keyup=function(t){},d.prototype.focus=function(t){},d.prototype.click=function(t){},d.prototype.dblclick=function(t){},d.prototype.change=function(t,o){},d.prototype.resetValue=function(t){t.value(t._inputElement[0].node().value)},d.prototype.disable=function(t){this._inputElement.forEach(function(o,e){o.attr("disabled",t?"disabled":null)})},d.prototype.setFocus=function(){this._inputElement.length&&this._inputElement[0].node().focus()},d.prototype.publish("name","","string","HTML name for the input"),d.prototype.publish("label","","string","Descriptive label"),d.prototype.publish("value","","string","Input Current Value"),d.prototype.publish("validate",null,"string","Input Validation"),b.prototype._dataFamily="ND",b.prototype._palette=o.Palette.ordinal("default"),b.prototype.fillColor=function(t,o,e,l){return this._palette(o)},b.prototype.strokeColor=function(t,e,l,n){return(0,o.hsl)(this.fillColor(t,e,l,n)).darker().toString()},b.prototype.textColor=function(t,e,l,n){return o.Palette.textColor(this.fillColor(t,e,l,n))},b.prototype.click=function(t,o,e){},b.prototype.dblclick=function(t,o,e){},m.prototype=Object.create(o.Widget.prototype),m.prototype.constructor=m,m.prototype.tooltipEnter=function(t){const o=this.parentOverlay();o.empty()||this.tooltip.rootElement(o.node().parentNode),t.call(this.tooltip)},m.prototype.tooltipUpdate=function(){this.tooltip.offset(()=>{if(event&&this.tooltipFollowMouse()){const t=document.querySelector(".d3-tip");return t.style.display="block",t.style.left=this.tooltipOffset()+event.clientX+"px",t.style.top=event.clientY+"px",[]}return"e"===this.tooltip.direction()()?[0,this.tooltipOffset()]:[-this.tooltipOffset(),0]});let t=this.tooltip.attr("class");t&&(t=t.split(" notick").join("")+(this.tooltipTick()?"":" notick")+("none"===this.tooltipStyle()?" hidden":""),t=t.split(" ").filter(function(t){return 0!==t.indexOf("ITooltip-tooltipStyle-")}).join(" "),t+=" ITooltip-tooltipStyle-"+this.tooltipStyle(),this.tooltip.attr("class",t))},m.prototype.tooltipExit=function(){this.tooltip&&this.tooltip.destroy()},m.prototype._tooltipHTML=function(t){return t},m.prototype.tooltipHTML=function(t){return this.tooltip.html(t)},m.prototype.tooltipFormat=function(t={}){switch(t.label=void 0===t.label?"":t.label,this._labelFormatter?t.label=this._labelFormatter(t.label)||"":this.formatData&&this.parseData&&(t.label=this.formatData(this.parseData(t.label))),t.series=t.series||"",t.value instanceof Date?t.value=t.value||"":this._valueFormatter?t.value=this._valueFormatter(t.value)||"":this.formatValue&&this.parseValue&&(t.value=this.formatValue(this.parseValue(t.value))),this.tooltipStyle()){case"none":break;case"series-table":let o='<table class="ITooltip-series-table"><thead><tr><th colspan="2">'+t.label+"</th></tr></thead><tbody>";return t.arr.forEach(function(t){o+="<tr>",o+="<td>",o+='<div class="series-table-row-color" style="background-color:'+t.color+'"></div>',o+='<div class="series-table-row-label">'+t.label+"</div>",o+="</td>",o+='<td><div class="series-table-row-value">'+t.value+"</div></td>",o+="</tr>"}),o+="</tbody>",o+="</table>",o;default:return t.series?"<span style='color:"+this.tooltipSeriesColor()+"'>"+t.series+"</span> / <span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":""!==t.label?"<span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":"<span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>"}},m.prototype.tooltipKeyValueFormat=function(t,o){let e="";for(const l in o)if(l!==t){const t=o&&o[l]?o[l]:"";e+=`<tr><td style="${this.tooltipLabelColor_exists()?"color:"+this.tooltipLabelColor():""}">${l}</td><td style="font-weight:normal">${t}</td></tr>`}return`<table>\n <thead>\n <tr><th colspan="2" style="font-weight:bold;font-size:16px">${o[t]}</th></tr>\n </thead>\n <tbody>\n ${e}\n </tbody>\n </table>`},m.prototype.publish("tooltipStyle","default","set","Style mode",["default","none","series-table"],{}),m.prototype.publish("tooltipFollowMouse",!1,"boolean","If true, the tooltip will follow mouse movement",null,{}),m.prototype.publish("tooltipLabelFormat",void 0,"string","Format of tooltip label(s) (the domain axis)",null,{}),m.prototype.publish("tooltipValueFormat",void 0,"string","Number format of tooltip value(s)",null,{}),m.prototype.publish("tooltipSeriesColor","#EAFFFF","html-color","Color of tooltip series text",null,{}),m.prototype.publish("tooltipLabelColor","#CCFFFF","html-color","Color of tooltip label text (the domain axis)",null,{}),m.prototype.publish("tooltipValueColor","white","html-color","Color of tooltip value(s)",null,{}),m.prototype.publish("tooltipTick",!0,"boolean","Show tooltip tick",null,{}),m.prototype.publish("tooltipOffset",8,"number","Offset from the cursor",null,{});var g=m.prototype.tooltipLabelFormat;m.prototype.tooltipLabelFormat=function(t){const e=g.apply(this,arguments);return arguments.length&&(this._labelFormatter=(0,o.format)(t)),e};var v=m.prototype.tooltipValueFormat;function x(){}m.prototype.tooltipValueFormat=function(t){const e=v.apply(this,arguments);return arguments.length&&(this._valueFormatter=(0,o.format)(t)),e},x.prototype.constructor=x,x.prototype.click=function(t,o,e){},x.prototype.dblclick=function(t,o,e){},x.prototype._palette=o.Palette.ordinal("default"),t.BUILD_VERSION="3.15.0",t.I1DChart=c,t.I2DAggrChart=h,t.I2DChart=f,t.IGraph=y,t.IInput=d,t.INDChart=b,t.ITooltip=m,t.ITree=x,t.PKG_NAME="@hpcc-js/api",t.PKG_VERSION="3.4.0",t.instanceOfIHighlight=function(t){return"function"==typeof t.highlightColumn}});
|
|
2
|
-
//# sourceMappingURL=index.umd.cjs.map
|
|
1
|
+
!function(t,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@hpcc-js/common")):"function"==typeof define&&define.amd?define(["exports","@hpcc-js/common"],o):o((t="undefined"!=typeof globalThis?globalThis:t||self)["@hpcc-js/api"]={},t["@hpcc-js/common"])}(this,function(t,o){"use strict";var e=Object.defineProperty,l=(t,o)=>e(t,"name",{value:o,configurable:!0});function i(){}function n(){}function r(){}function p(){}function s(t){return"function"==typeof t.highlightColumn}function a(){}function u(){}function c(){let t=c,e=f,i=h,n=T(document.body),r=k(),p=null,s=null,a=null;const u=l(function(t){if(p=F(t),!p)return;s=p.createSVGPoint();const o=n();o&&r&&o.appendChild(r)},"tip2");function c(){return"n"}function f(){return[0,0]}function h(){return" "}u.show=function(t,o,l){a=l[o];const r=Array.prototype.slice.call(arguments),p=i.apply(this,r);if(null===p)return u;const s=e.apply(this,r),c=E();let f,h=d.length;const b=n().getBoundingClientRect();for(c.html(p).style("opacity",1).style("pointer-events","all");h--;)c.classed(d[h],!1);let m=!1;const g={};let v=d[0];for(let e=0;e<d.length&&(m=C(d[e]),!m);e++);if(m)c.classed("notick",!1);else{c.classed("notick",!0);const t=w(g[v]),o=x(g[v]);C(v,t,o)}return u;function x(t){return t.left>t.right?t.left>0?-t.left:0:t.right>0?t.right:0}function w(t){return t.top>t.bottom?t.top>0?-t.top:0:t.bottom}function C(t,o,e){o=o||0,e=e||0,c.style("white-space","nowrap"),f=y.get(t).apply(this),c.classed(t,!0).style("top",f.top+s[0]-o+"px").style("left",f.left+s[1]-e+"px");const l=c.node().getBoundingClientRect(),i=l.top>b.top&&l.left>b.left&&l.bottom<b.bottom&&l.right<b.right;return g[t]={top:b.top-l.top,right:l.right-b.right,bottom:l.bottom-b.bottom,left:b.left-l.left},c.style("white-space","normal"),g[t].total_overflow=Object.keys(g[t]).filter(o=>g[t][o]>0).reduce((o,e)=>o+g[t][e],0),g[v].total_overflow>g[t].total_overflow&&(v=t),i||c.classed(t,!1),i}},u.hide=function(){return E().style("opacity",0).style("pointer-events","none"),u},u.attr=function(t,e){if(arguments.length<2&&"string"==typeof t)return E().attr(t);const l=Array.prototype.slice.call(arguments);return o.selection.prototype.attr.apply(E(),l),u},u.style=function(t,e){if(arguments.length<2&&"string"==typeof t)return E().style(t);const l=Array.prototype.slice.call(arguments);return o.selection.prototype.style.apply(E(),l),u},u.direction=function(o){return arguments.length?(t=null==o?o:T(o),u):t},u.offset=function(t){return arguments.length?(e=null==t?t:T(t),u):e},u.html=function(t){return arguments.length?(i=null==t?t:T(t),u):i},u.rootElement=function(t){return arguments.length?(n=T(t),u):n},u.destroy=function(){return r&&(E().remove(),r=null),u},l(c,"d3TipDirection"),l(f,"d3TipOffset"),l(h,"d3TipHTML");const y=o.map({n:b,s:m,e:g,w:v,nw:x,ne:w,sw:C,se:_}),d=y.keys();function b(){const t=I(window);return{top:t.n.y-r.offsetHeight,left:t.n.x-r.offsetWidth/2}}function m(){const t=I(window);return{top:t.s.y+8,left:t.s.x-r.offsetWidth/2}}function g(){const t=I(window);return{top:t.e.y-r.offsetHeight/2,left:t.e.x+8}}function v(){const t=I(window);return{top:t.w.y-r.offsetHeight/2,left:t.w.x-r.offsetWidth-8}}function x(){const t=I(window);return{top:t.nw.y-r.offsetHeight,left:t.nw.x-r.offsetWidth}}function w(){const t=I(window);return{top:t.ne.y-r.offsetHeight,left:t.ne.x}}function C(){const t=I(window);return{top:t.sw.y,left:t.sw.x-r.offsetWidth}}function _(){const t=I(window);return{top:t.se.y,left:t.se.x}}function k(){const t=o.select(document.createElement("div"));return t.attr("class","d3-tip").style("position","absolute").style("top","0px").style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),t.node()}function F(t){const o=t.node();return o?"svg"===o.tagName.toLowerCase()?o:o.ownerSVGElement:null}function E(){return null==r&&(r=k(),n().appendChild(r)),o.select(r)}function I(t){let o=a||t;for(;null==o.getCTM&&null!=o.parentNode;)o=o.parentNode;const e={},l=o.getCTM(),i=o.getBBox(),n=i.width,r=i.height,p=i.x,u=i.y;return s.x=p,s.y=u,e.nw=s.matrixTransform(l),s.x+=n,e.ne=s.matrixTransform(l),s.y+=r,e.se=s.matrixTransform(l),s.x-=n,e.sw=s.matrixTransform(l),s.y-=r/2,e.w=s.matrixTransform(l),s.x+=n,e.e=s.matrixTransform(l),s.x-=n/2,s.y-=r/2,e.n=s.matrixTransform(l),s.y+=r,e.s=s.matrixTransform(l),e}function T(t){return"function"==typeof t?t:function(){return t}}return l(b,"directionNorth"),l(m,"directionSouth"),l(g,"directionEast"),l(v,"directionWest"),l(x,"directionNorthWest"),l(w,"directionNorthEast"),l(C,"directionSouthWest"),l(_,"directionSouthEast"),l(k,"initNode"),l(F,"getSVGNode"),l(E,"getNodeEl"),l(I,"getScreenBBox"),l(T,"functor"),u}function f(){if(this.tooltip=c(),this.tooltipLabelFormat_exists()&&(this._labelFormatter=o.format(this.tooltipLabelFormat())),this.tooltipValueFormat_exists()&&(this._valueFormatter=o.format(this.tooltipValueFormat())),this.layerEnter){const t=this.layerEnter;this.layerEnter=function(o,e,l){this._parentOverlay||(this._parentOverlay=o._parentOverlay),this.tooltipEnter(e),t.apply(this,arguments)};const o=this.layerUpdate;this.layerUpdate=function(t){o.apply(this,arguments),this.tooltipUpdate()};const e=this.layerExit;this.layerExit=function(t){this.tooltipExit(),e.apply(this,arguments)}}else{const t=this.enter;this.enter=function(o,e){this.tooltipEnter(e),t.apply(this,arguments)};const o=this.update;this.update=function(t,e){o.apply(this,arguments),this.tooltipUpdate()};const e=this.exit;this.exit=function(t,o){this.tooltipExit(),e.apply(this,arguments)}}}l(i,"I1DChart"),i.prototype._dataFamily="1D",i.prototype._palette=o.Palette.rainbow("default"),i.prototype.click=function(t,o,e){},i.prototype.dblclick=function(t,o,e){},l(n,"I2DChart"),n.prototype._dataFamily="2D",n.prototype._palette=o.Palette.ordinal("default"),n.prototype.fillColor=function(t,o,e,l){return this._palette(t[0])},n.prototype.strokeColor=function(t,e,l,i){return o.hsl(this.fillColor(t,e,l,i)).darker().toString()},n.prototype.textColor=function(t,e,l,i){return o.Palette.textColor(this.fillColor(t,e,l,i))},n.prototype.click=function(t,o,e){},n.prototype.dblclick=function(t,o,e){},l(r,"I2DAggrChart"),r.prototype._palette=o.Palette.rainbow("default"),r.prototype.fillColor=function(t,o,e){return this._palette(t.length)},r.prototype.strokeColor=function(t,e,l){return o.hsl(this.fillColor(t,e,l)).darker().toString()},r.prototype.textColor=function(t,e,l){return o.Palette.textColor(this.fillColor(t,e,l))},r.prototype.click=function(t,o,e){},r.prototype.dblclick=function(t,o,e){},l(p,"IGraph"),p.prototype._dataFamily="graph",p.prototype.vertex_click=function(t,o,e,l){l&&l.vertex},p.prototype.vertex_dblclick=function(t,o,e,l){l&&l.vertex},p.prototype.edge_click=function(t,o,e,l){l&&l.edge},p.prototype.edge_dblclick=function(t,o,e,l){l&&l.edge},l(s,"instanceOfIHighlight"),l(a,"IInput"),a.prototype=Object.create(o.Widget.prototype),a.prototype.constructor=a,a.prototype.isValid=function(){if(this.validate()){if(!new RegExp(this.validate()).test(this.value()))return!1}return!0},a.prototype.hasValue=function(){if("function"==typeof this.type){switch(this.type()){case"radio":case"checkbox":if(this.value()&&"false"!==this.value())return!0;break;default:if(this.value())return!0}return!1}return""!==this.value()},a.prototype.blur=function(t){},a.prototype.keyup=function(t){},a.prototype.focus=function(t){},a.prototype.click=function(t){},a.prototype.dblclick=function(t){},a.prototype.change=function(t,o){},a.prototype.resetValue=function(t){t.value(t._inputElement[0].node().value)},a.prototype.disable=function(t){this._inputElement.forEach(function(o,e){o.attr("disabled",t?"disabled":null)})},a.prototype.setFocus=function(){this._inputElement.length&&this._inputElement[0].node().focus()},a.prototype.publish("name","","string","HTML name for the input"),a.prototype.publish("label","","string","Descriptive label"),a.prototype.publish("value","","string","Input Current Value"),a.prototype.publish("validate",null,"string","Input Validation"),l(u,"INDChart"),u.prototype._dataFamily="ND",u.prototype._palette=o.Palette.ordinal("default"),u.prototype.fillColor=function(t,o,e,l){return this._palette(o)},u.prototype.strokeColor=function(t,e,l,i){return o.hsl(this.fillColor(t,e,l,i)).darker().toString()},u.prototype.textColor=function(t,e,l,i){return o.Palette.textColor(this.fillColor(t,e,l,i))},u.prototype.click=function(t,o,e){},u.prototype.dblclick=function(t,o,e){},l(c,"tip"),l(f,"ITooltip"),f.prototype=Object.create(o.Widget.prototype),f.prototype.constructor=f,f.prototype.tooltipEnter=function(t){const o=this.parentOverlay();o.empty()||this.tooltip.rootElement(o.node().parentNode),t.call(this.tooltip)},f.prototype.tooltipUpdate=function(){this.tooltip.offset(()=>{if(event&&this.tooltipFollowMouse()){const t=document.querySelector(".d3-tip");return t.style.display="block",t.style.left=this.tooltipOffset()+event.clientX+"px",t.style.top=event.clientY+"px",[]}return"e"===this.tooltip.direction()()?[0,this.tooltipOffset()]:[-this.tooltipOffset(),0]});let t=this.tooltip.attr("class");t&&(t=t.split(" notick").join("")+(this.tooltipTick()?"":" notick")+("none"===this.tooltipStyle()?" hidden":""),t=t.split(" ").filter(function(t){return 0!==t.indexOf("ITooltip-tooltipStyle-")}).join(" "),t+=" ITooltip-tooltipStyle-"+this.tooltipStyle(),this.tooltip.attr("class",t))},f.prototype.tooltipExit=function(){this.tooltip&&this.tooltip.destroy()},f.prototype._tooltipHTML=function(t){return t},f.prototype.tooltipHTML=function(t){return this.tooltip.html(t)},f.prototype.tooltipFormat=function(t={}){switch(t.label=void 0===t.label?"":t.label,this._labelFormatter?t.label=this._labelFormatter(t.label)||"":this.formatData&&this.parseData&&(t.label=this.formatData(this.parseData(t.label))),t.series=t.series||"",t.value instanceof Date?t.value=t.value||"":this._valueFormatter?t.value=this._valueFormatter(t.value)||"":this.formatValue&&this.parseValue&&(t.value=this.formatValue(this.parseValue(t.value))),this.tooltipStyle()){case"none":break;case"series-table":let o='<table class="ITooltip-series-table"><thead><tr><th colspan="2">'+t.label+"</th></tr></thead><tbody>";return t.arr.forEach(function(t){o+="<tr>",o+="<td>",o+='<div class="series-table-row-color" style="background-color:'+t.color+'"></div>',o+='<div class="series-table-row-label">'+t.label+"</div>",o+="</td>",o+='<td><div class="series-table-row-value">'+t.value+"</div></td>",o+="</tr>"}),o+="</tbody>",o+="</table>",o;default:return t.series?"<span style='color:"+this.tooltipSeriesColor()+"'>"+t.series+"</span> / <span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":""!==t.label?"<span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":"<span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>"}},f.prototype.tooltipKeyValueFormat=function(t,o){let e="";for(const l in o)if(l!==t){const t=o&&o[l]?o[l]:"";e+=`<tr><td style="${this.tooltipLabelColor_exists()?"color:"+this.tooltipLabelColor():""}">${l}</td><td style="font-weight:normal">${t}</td></tr>`}return`<table>\n <thead>\n <tr><th colspan="2" style="font-weight:bold;font-size:16px">${o[t]}</th></tr>\n </thead>\n <tbody>\n ${e}\n </tbody>\n </table>`},f.prototype.publish("tooltipStyle","default","set","Style mode",["default","none","series-table"],{}),f.prototype.publish("tooltipFollowMouse",!1,"boolean","If true, the tooltip will follow mouse movement",null,{}),f.prototype.publish("tooltipLabelFormat",void 0,"string","Format of tooltip label(s) (the domain axis)",null,{}),f.prototype.publish("tooltipValueFormat",void 0,"string","Number format of tooltip value(s)",null,{}),f.prototype.publish("tooltipSeriesColor","#EAFFFF","html-color","Color of tooltip series text",null,{}),f.prototype.publish("tooltipLabelColor","#CCFFFF","html-color","Color of tooltip label text (the domain axis)",null,{}),f.prototype.publish("tooltipValueColor","white","html-color","Color of tooltip value(s)",null,{}),f.prototype.publish("tooltipTick",!0,"boolean","Show tooltip tick",null,{}),f.prototype.publish("tooltipOffset",8,"number","Offset from the cursor",null,{});const h=f.prototype.tooltipLabelFormat;f.prototype.tooltipLabelFormat=function(t){const e=h.apply(this,arguments);return arguments.length&&(this._labelFormatter=o.format(t)),e};const y=f.prototype.tooltipValueFormat;function d(){}f.prototype.tooltipValueFormat=function(t){const e=y.apply(this,arguments);return arguments.length&&(this._valueFormatter=o.format(t)),e},l(d,"ITree"),d.prototype.constructor=d,d.prototype.click=function(t,o,e){},d.prototype.dblclick=function(t,o,e){},d.prototype._palette=o.Palette.ordinal("default"),t.BUILD_VERSION="3.16.0",t.I1DChart=i,t.I2DAggrChart=r,t.I2DChart=n,t.IGraph=p,t.IInput=a,t.INDChart=u,t.ITooltip=f,t.ITree=d,t.PKG_NAME="@hpcc-js/api",t.PKG_VERSION="3.4.2",t.instanceOfIHighlight=s,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
|
|
2
|
+
//# sourceMappingURL=index.umd.cjs.map
|
|
3
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('.d3-tip{line-height:1;font-weight:700;padding:12px;background:#000000a8;color:#fff;border-radius:2px;pointer-events:none!important;z-index:10}.d3-tip.hidden{visibility:hidden}.d3-tip:after{content:" ";box-sizing:border-box;display:inline-block;border:4px solid rgba(0,0,0,.66);position:absolute;pointer-events:none!important;width:8px;height:8px;margin:0}.d3-tip.n:after{top:100%;left:calc(50% - 4px);border-top-width:8px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.d3-tip.e:after{top:calc(50% - 4px);left:-12px;border-top-color:transparent;border-right-width:8px;border-bottom-color:transparent;border-left-color:transparent}.d3-tip.s{margin-top:8px}.d3-tip.s:after{top:-12px;left:calc(50% - 4px);border-top-color:transparent;border-right-color:transparent;border-bottom-width:8px;border-left-color:transparent}.d3-tip.w:after{top:calc(50% - 4px);left:100%;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-width:8px}.d3-tip.notick:after{border-color:transparent!important}.common_Widget .over{stroke:#000000a8;opacity:.66}.d3-tip.ITooltip-tooltipStyle-series-table{padding:0}.d3-tip .ITooltip-series-table th,.d3-tip .ITooltip-series-table td{padding:6px;text-align:left;border:1px solid #D1D1D1}.d3-tip .ITooltip-series-table .series-table-row-color{display:inline-block;height:10px;width:10px;margin-right:10px}.d3-tip .ITooltip-series-table .series-table-row-label{display:inline-block}.d3-tip .ITooltip-series-table th{background-color:#b3b3b3}.d3-tip .ITooltip-series-table td{background-color:#fff;color:#555;font-weight:400}.d3-tip .ITooltip-series-table td:first-child{border-right:0}table.ITooltip-series-table td:last-child{border-left:1px dotted #A3A3A3}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
|
package/dist/index.umd.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.cjs","names":["tip: any","bbox: any","d3tipElement: HTMLDivElement"],"sources":["../src/__package__.ts","../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../src/ITooltip.ts","../src/ITree.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { Palette } from \"@hpcc-js/common\";\n\nexport function I1DChart() {\n}\nI1DChart.prototype._dataFamily = \"1D\";\nI1DChart.prototype._palette = Palette.rainbow(\"default\");\n\n// Events ---\nI1DChart.prototype.click = function (row, column, selected) {\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DChart() {\n}\nI2DChart.prototype._dataFamily = \"2D\";\nI2DChart.prototype._palette = Palette.ordinal(\"default\");\n\nI2DChart.prototype.fillColor = function (row: any[], column, value, origRow): string {\n return this._palette(row[0]);\n};\n\nI2DChart.prototype.strokeColor = function (row: any[], column, value, origRow): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nI2DChart.prototype.textColor = function (row: any[], column, value, origRow): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nI2DChart.prototype.click = function (row: object, column, selected) {\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DAggrChart() {\n}\nI2DAggrChart.prototype._palette = Palette.rainbow(\"default\");\n\nI2DAggrChart.prototype.fillColor = function (row: any[][], column, value): string {\n return this._palette(row.length);\n};\n\nI2DAggrChart.prototype.strokeColor = function (row: any[][], column, value): string {\n return d3Hsl(this.fillColor(row, column, value)).darker().toString();\n};\n\nI2DAggrChart.prototype.textColor = function (row: any[][], column, value): string {\n return Palette.textColor(this.fillColor(row, column, value));\n};\n\n// Events ---\nI2DAggrChart.prototype.click = function (row: object[], column, selected) {\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n};\n","export function IGraph() {\n}\nIGraph.prototype._dataFamily = \"graph\";\n\n// Events ---\nIGraph.prototype.vertex_click = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n","export interface IHighlight {\n highlightColumn(column: string): this;\n}\n\nexport function instanceOfIHighlight(w: any): w is IHighlight {\n return typeof (w as any).highlightColumn === \"function\";\n}\n","import { Widget } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function IInput() {\n}\nIInput.prototype = Object.create(Widget.prototype);\nIInput.prototype.constructor = IInput;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\n// Implementation ---\nIInput.prototype.isValid = function () {\n if (this.validate()) {\n const re = new RegExp(this.validate());\n if (!re.test(this.value())) {\n return false;\n }\n }\n return true;\n};\n\nIInput.prototype.hasValue = function () {\n if (typeof (this as any).type === \"function\") {\n switch ((this as any).type()) {\n case \"radio\":\n /* falls through */\n case \"checkbox\":\n if (this.value() && this.value() !== \"false\") {\n return true;\n }\n break;\n default:\n if (this.value()) {\n return true;\n }\n break;\n }\n return false;\n }\n return this.value() !== \"\";\n};\n\n// Events ---\nIInput.prototype.blur = function (_w) {\n};\nIInput.prototype.keyup = function (_w) {\n};\nIInput.prototype.focus = function (_w) {\n};\nIInput.prototype.click = function (_w) {\n};\nIInput.prototype.dblclick = function (_w) {\n};\nIInput.prototype.change = function (_w, complete: boolean) {\n};\n\nIInput.prototype.resetValue = function (w) {\n w.value(w._inputElement[0].node().value);\n};\n\nIInput.prototype.disable = function (disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n};\n\nIInput.prototype.setFocus = function () {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n};\n\nexport interface IInput {\n name: { (): string; (_: string): IInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): IInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): IInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): IInput };\n validate_exists: () => boolean;\n}\nIInput.prototype.publish(\"name\", \"\", \"string\", \"HTML name for the input\");\nIInput.prototype.publish(\"label\", \"\", \"string\", \"Descriptive label\");\nIInput.prototype.publish(\"value\", \"\", \"string\", \"Input Current Value\");\nIInput.prototype.publish(\"validate\", null, \"string\", \"Input Validation\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function INDChart() {\n}\nINDChart.prototype._dataFamily = \"ND\";\nINDChart.prototype._palette = Palette.ordinal(\"default\");\n\nINDChart.prototype.fillColor = function (row: any[], column: string, value: number, origRow: any): string {\n return this._palette(column);\n};\n\nINDChart.prototype.strokeColor = function (row: any[], column: string, value: number, origRow: any): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nINDChart.prototype.textColor = function (row: any[], column: string, value: number, origRow: any): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nINDChart.prototype.click = function (row, column, selected) {\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n};\n","// Based on https://github.com/GordonSmith/d3-tip forked from https://github.com/Caged/d3-tip\n\nimport { map } from \"d3-collection\";\nimport { select, selection } from \"d3-selection\";\n\nexport function tip() {\n let direction = d3TipDirection;\n let offset = d3TipOffset;\n let html = d3TipHTML;\n let rootElement = functor(document.body);\n let node = initNode();\n let svg = null;\n let point = null;\n let target = null;\n\n const tip: any = function (vis) {\n svg = getSVGNode(vis);\n if (!svg) return;\n point = svg.createSVGPoint();\n const re = rootElement();\n if (!re) return;\n if (!node) return;\n re.appendChild(node);\n };\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function (d, idx, arr) {\n target = arr[idx];\n const args = Array.prototype.slice.call(arguments) as [];\n const content = html.apply(this, args);\n if (content === null) {\n return tip;\n }\n const poffset = offset.apply(this, args);\n const nodel = getNodeEl();\n let i = directions.length;\n let coords;\n const root_bbox = rootElement().getBoundingClientRect();\n nodel.html(content)\n .style(\"opacity\", 1).style(\"pointer-events\", \"all\");\n\n while (i--) nodel.classed(directions[i], false);\n let placement_success = false;\n const placement_overflow = {};\n let least_overflow_direction = directions[0];\n for (let i = 0; i < directions.length; i++) {\n placement_success = _placement_attempt(directions[i]);\n if (placement_success) break;\n }\n if (!placement_success) {\n nodel.classed(\"notick\", true);\n const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);\n const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);\n _placement_attempt(least_overflow_direction, top_offset, left_offset);\n } else {\n nodel.classed(\"notick\", false);\n }\n return tip;\n\n function _horizontal_adjustment(overflow_obj) {\n if (overflow_obj.left > overflow_obj.right) {\n return overflow_obj.left > 0 ? -overflow_obj.left : 0;\n } else {\n return overflow_obj.right > 0 ? overflow_obj.right : 0;\n }\n }\n function _vertical_adjustment(overflow_obj) {\n if (overflow_obj.top > overflow_obj.bottom) {\n return overflow_obj.top > 0 ? -overflow_obj.top : 0;\n } else {\n return overflow_obj.bottom;\n }\n }\n\n function _placement_attempt(this: any, _dir, _top_offset?, _left_offset?) {\n _top_offset = _top_offset ? _top_offset : 0;\n _left_offset = _left_offset ? _left_offset : 0;\n nodel.style(\"white-space\", \"nowrap\");\n coords = directionCallbacks.get(_dir).apply(this);\n nodel.classed(_dir, true)\n .style(\"top\", (coords.top + poffset[0] - _top_offset) + \"px\")\n .style(\"left\", (coords.left + poffset[1] - _left_offset) + \"px\");\n const nodel_bbox = nodel.node().getBoundingClientRect();\n const ret = nodel_bbox.top > root_bbox.top\n && nodel_bbox.left > root_bbox.left\n && nodel_bbox.bottom < root_bbox.bottom\n && nodel_bbox.right < root_bbox.right\n ;\n placement_overflow[_dir] = {\n top: root_bbox.top - nodel_bbox.top,\n right: nodel_bbox.right - root_bbox.right,\n bottom: nodel_bbox.bottom - root_bbox.bottom,\n left: root_bbox.left - nodel_bbox.left\n };\n nodel.style(\"white-space\", \"normal\");\n placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir])\n .filter(side => placement_overflow[_dir][side] > 0)\n .reduce((sum, side) => {\n const side_overflow = placement_overflow[_dir][side];\n return sum + side_overflow;\n }, 0);\n if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {\n least_overflow_direction = _dir;\n }\n if (!ret) {\n nodel.classed(_dir, false);\n }\n return ret;\n }\n };\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function () {\n const nodel = getNodeEl();\n nodel.style(\"opacity\", 0).style(\"pointer-events\", \"none\");\n return tip;\n };\n\n // Public: Proxy attr calls to the d3 tip container.\n // Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().attr(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.attr.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Proxy style calls to the d3 tip container.\n // Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value \n tip.style = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().style(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.style.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function (v) {\n if (!arguments.length) return direction;\n direction = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function (v) {\n if (!arguments.length) return offset;\n offset = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function (v) {\n if (!arguments.length) return html;\n html = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the root element anchor of the tooltip\n //\n // v - root element of the tooltip\n //\n // Returns root node of tip\n tip.rootElement = function (v) {\n if (!arguments.length) return rootElement;\n rootElement = functor(v);\n\n return tip;\n };\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function () {\n if (node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n };\n\n function d3TipDirection() { return \"n\"; }\n function d3TipOffset() { return [0, 0]; }\n function d3TipHTML() { return \" \"; }\n\n const directionCallbacks = map({\n n: directionNorth,\n s: directionSouth,\n e: directionEast,\n w: directionWest,\n nw: directionNorthWest,\n ne: directionNorthEast,\n sw: directionSouthWest,\n se: directionSouthEast\n });\n const directions = directionCallbacks.keys();\n\n function directionNorth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n };\n }\n\n function directionSouth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.s.y + 8,\n left: bbox.s.x - node.offsetWidth / 2\n };\n }\n\n function directionEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x + 8\n };\n }\n\n function directionWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth - 8\n };\n }\n\n function directionNorthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n };\n }\n\n function directionNorthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n };\n }\n\n function directionSouthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n };\n }\n\n function directionSouthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.se.y,\n left: bbox.se.x\n };\n }\n\n function initNode() {\n const div = select(document.createElement(\"div\"));\n div\n .attr(\"class\", \"d3-tip\")\n .style(\"position\", \"absolute\")\n .style(\"top\", \"0px\")\n .style(\"opacity\", 0)\n .style(\"pointer-events\", \"none\")\n .style(\"box-sizing\", \"border-box\");\n\n return div.node();\n }\n\n function getSVGNode(element) {\n const svgNode = element.node();\n if (!svgNode) return null;\n if (svgNode.tagName.toLowerCase() === \"svg\") return svgNode;\n return svgNode.ownerSVGElement;\n }\n\n function getNodeEl() {\n if (node == null) {\n node = initNode();\n // re-add node to DOM\n rootElement().appendChild(node);\n }\n return select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast),\n // nw(northwest), sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox(targetShape) {\n let targetel = target || targetShape;\n\n while (targetel.getCTM == null && targetel.parentNode != null) {\n targetel = targetel.parentNode;\n }\n\n const bbox: any = {};\n const matrix = targetel.getCTM();\n const tbbox = targetel.getBBox();\n const width = tbbox.width;\n const height = tbbox.height;\n const x = tbbox.x;\n const y = tbbox.y;\n\n point.x = x;\n point.y = y;\n bbox.nw = point.matrixTransform(matrix);\n point.x += width;\n bbox.ne = point.matrixTransform(matrix);\n point.y += height;\n bbox.se = point.matrixTransform(matrix);\n point.x -= width;\n bbox.sw = point.matrixTransform(matrix);\n point.y -= height / 2;\n bbox.w = point.matrixTransform(matrix);\n point.x += width;\n bbox.e = point.matrixTransform(matrix);\n point.x -= width / 2;\n point.y -= height / 2;\n bbox.n = point.matrixTransform(matrix);\n point.y += height;\n bbox.s = point.matrixTransform(matrix);\n\n return bbox;\n }\n\n // Private - replace D3JS 3.X d3.functor() function\n function functor(v) {\n return typeof v === \"function\" ? v : function () {\n return v;\n };\n }\n\n return tip;\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip.ts\";\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\n// Use old school class declaration as this is a mixin ---\nexport function ITooltip(this: any) {\n this.tooltip = tip();\n\n if (this.tooltipLabelFormat_exists()) {\n this._labelFormatter = d3Format(this.tooltipLabelFormat() as string);\n }\n\n if (this.tooltipValueFormat_exists()) {\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\n }\n\n if (this.layerEnter) {\n const layerEnter = this.layerEnter;\n this.layerEnter = function (_base, svgElement, _domElement) {\n if (!this._parentOverlay) {\n this._parentOverlay = _base._parentOverlay;\n }\n this.tooltipEnter(svgElement);\n layerEnter.apply(this, arguments);\n };\n const layerUpdate = this.layerUpdate;\n this.layerUpdate = function (_base) {\n layerUpdate.apply(this, arguments);\n this.tooltipUpdate();\n };\n const layerExit = this.layerExit;\n this.layerExit = function (_base) {\n this.tooltipExit();\n layerExit.apply(this, arguments);\n };\n } else {\n const enter = this.enter;\n this.enter = function (_domNode, element) {\n this.tooltipEnter(element);\n enter.apply(this, arguments);\n };\n const update = this.update;\n this.update = function (_domNode, _element) {\n update.apply(this, arguments);\n this.tooltipUpdate();\n };\n const exit = this.exit;\n this.exit = function (_domNode, _element) {\n this.tooltipExit();\n exit.apply(this, arguments);\n };\n }\n}\nITooltip.prototype = Object.create(Widget.prototype);\nITooltip.prototype.constructor = ITooltip;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\nITooltip.prototype.tooltipEnter = function (element) {\n const overlayElement = this.parentOverlay();\n if (!overlayElement.empty()) {\n this.tooltip.rootElement(overlayElement.node().parentNode);\n }\n element.call(this.tooltip);\n};\n\nITooltip.prototype.tooltipUpdate = function () {\n this.tooltip.offset(() => {\n if (event && this.tooltipFollowMouse()) {\n const d3tipElement: HTMLDivElement = document.querySelector(\".d3-tip\"); // d3Tip offers no reference to the '.d3-tip' element...?\n d3tipElement.style.display = \"block\";\n d3tipElement.style.left = this.tooltipOffset() + ((event as any).clientX) + \"px\";\n d3tipElement.style.top = (event as any).clientY + \"px\";\n return [];\n }\n switch (this.tooltip.direction()()) {\n case \"e\":\n return [0, this.tooltipOffset()];\n default:\n return [-this.tooltipOffset(), 0];\n }\n });\n\n let classed = this.tooltip.attr(\"class\");\n if (classed) {\n classed = classed.split(\" notick\").join(\"\") + (this.tooltipTick() ? \"\" : \" notick\") + (this.tooltipStyle() === \"none\" ? \" hidden\" : \"\");\n classed = classed.split(\" \")\n .filter(function (_class) {\n return _class.indexOf(\"ITooltip-tooltipStyle-\") !== 0;\n })\n .join(\" \")\n ;\n classed += \" ITooltip-tooltipStyle-\" + this.tooltipStyle();\n this.tooltip\n .attr(\"class\", classed)\n ;\n }\n};\n\nITooltip.prototype.tooltipExit = function () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n};\n\nITooltip.prototype._tooltipHTML = function (d) {\n return d;\n};\n\nITooltip.prototype.tooltipHTML = function (_) {\n return this.tooltip.html(_);\n};\n\nITooltip.prototype.tooltipFormat = function (opts: { label?: string | number, series?: string | number, value?: Date | string | number, arr?: Array<{ color: string, label: string, value: string }> } = {}) {\n opts.label = opts.label === undefined ? \"\" : opts.label;\n if (this._labelFormatter) {\n opts.label = this._labelFormatter(opts.label) || \"\";\n } else if (this.formatData && this.parseData) {\n opts.label = this.formatData(this.parseData(opts.label));\n }\n opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else if (this._valueFormatter) {\n opts.value = this._valueFormatter(opts.value) || \"\";\n } else if (this.formatValue && this.parseValue) {\n opts.value = this.formatValue(this.parseValue(opts.value));\n }\n switch (this.tooltipStyle()) {\n case \"none\":\n break;\n case \"series-table\":\n let html = '<table class=\"ITooltip-series-table\">'\n + \"<thead>\"\n + '<tr><th colspan=\"2\">' + opts.label + \"</th></tr>\"\n + \"</thead>\"\n + \"<tbody>\";\n opts.arr.forEach(function (row) {\n html += \"<tr>\";\n html += \"<td>\";\n html += '<div class=\"series-table-row-color\" style=\"background-color:' + row.color + '\"></div>';\n html += '<div class=\"series-table-row-label\">' + row.label + \"</div>\";\n html += \"</td>\";\n html += '<td><div class=\"series-table-row-value\">' + row.value + \"</div></td>\";\n html += \"</tr>\";\n });\n html += \"</tbody>\";\n html += \"</table>\";\n return html;\n default:\n if (opts.series) {\n return \"<span style='color:\" + this.tooltipSeriesColor() + \"'>\" + opts.series + \"</span> / <span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n if (opts.label !== \"\") {\n return \"<span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n return \"<span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n};\n\nITooltip.prototype.tooltipKeyValueFormat = function (titleKey: string, obj: object): string {\n let body = \"\";\n for (const key in obj) {\n if (key !== titleKey) {\n const value = obj && obj[key] ? obj[key] : \"\";\n body += `<tr><td style=\"${this.tooltipLabelColor_exists() ? \"color:\" + this.tooltipLabelColor() : \"\"}\">${key}</td><td style=\"font-weight:normal\">${value}</td></tr>`;\n }\n }\n return `<table>\n <thead>\n <tr><th colspan=\"2\" style=\"font-weight:bold;font-size:16px\">${obj[titleKey]}</th></tr>\n </thead>\n <tbody>\n ${body}\n </tbody>\n </table>`;\n};\n\nexport interface ITooltip {\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipLabelFormat: (_?) => string | ITooltip;\n tooltipLabelFormat_exists: () => boolean;\n tooltipValueFormat: (_?) => string | ITooltip;\n tooltipValueFormat_exists: () => boolean;\n tooltipSeriesColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor_exists: () => boolean;\n tooltipValueColor: { (): string; (_: string): ITooltip; };\n tooltipTick: { (): boolean; (_: boolean): ITooltip; };\n tooltipOffset: { (): number; (_: number): ITooltip; };\n tooltipOffset_default: { (): number; (_: number): ITooltip; };\n}\nITooltip.prototype.publish(\"tooltipStyle\", \"default\", \"set\", \"Style mode\", [\"default\", \"none\", \"series-table\"], {});\nITooltip.prototype.publish(\"tooltipFollowMouse\", false, \"boolean\", \"If true, the tooltip will follow mouse movement\", null, {});\nITooltip.prototype.publish(\"tooltipLabelFormat\", undefined, \"string\", \"Format of tooltip label(s) (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueFormat\", undefined, \"string\", \"Number format of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipSeriesColor\", \"#EAFFFF\", \"html-color\", \"Color of tooltip series text\", null, {});\nITooltip.prototype.publish(\"tooltipLabelColor\", \"#CCFFFF\", \"html-color\", \"Color of tooltip label text (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueColor\", \"white\", \"html-color\", \"Color of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipTick\", true, \"boolean\", \"Show tooltip tick\", null, {});\nITooltip.prototype.publish(\"tooltipOffset\", 8, \"number\", \"Offset from the cursor\", null, {});\n\nconst tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;\nITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {\n const retVal = tooltipLabelFormat.apply(this, arguments);\n if (arguments.length) {\n this._labelFormatter = d3Format(_);\n }\n return retVal;\n};\n\nconst tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;\nITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {\n const retVal = tooltipValueFormat.apply(this, arguments);\n if (arguments.length) {\n this._valueFormatter = d3Format(_);\n }\n return retVal;\n};\n","import { Palette } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function ITree() {\n}\nITree.prototype.constructor = ITree;\n\n// Events ---\nITree.prototype.click = function (row, column, selected) {\n};\n\nITree.prototype.dblclick = function (row, column, selected) {\n};\n\nITree.prototype._palette = Palette.ordinal(\"default\");\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.cjs","sources":["../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../src/ITooltip.ts","../src/ITree.ts","../src/__package__.ts"],"sourcesContent":["import { Palette } from \"@hpcc-js/common\";\n\nexport function I1DChart() {\n}\nI1DChart.prototype._dataFamily = \"1D\";\nI1DChart.prototype._palette = Palette.rainbow(\"default\");\n\n// Events ---\nI1DChart.prototype.click = function (row, column, selected) {\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DChart() {\n}\nI2DChart.prototype._dataFamily = \"2D\";\nI2DChart.prototype._palette = Palette.ordinal(\"default\");\n\nI2DChart.prototype.fillColor = function (row: any[], column, value, origRow): string {\n return this._palette(row[0]);\n};\n\nI2DChart.prototype.strokeColor = function (row: any[], column, value, origRow): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nI2DChart.prototype.textColor = function (row: any[], column, value, origRow): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nI2DChart.prototype.click = function (row: object, column, selected) {\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DAggrChart() {\n}\nI2DAggrChart.prototype._palette = Palette.rainbow(\"default\");\n\nI2DAggrChart.prototype.fillColor = function (row: any[][], column, value): string {\n return this._palette(row.length);\n};\n\nI2DAggrChart.prototype.strokeColor = function (row: any[][], column, value): string {\n return d3Hsl(this.fillColor(row, column, value)).darker().toString();\n};\n\nI2DAggrChart.prototype.textColor = function (row: any[][], column, value): string {\n return Palette.textColor(this.fillColor(row, column, value));\n};\n\n// Events ---\nI2DAggrChart.prototype.click = function (row: object[], column, selected) {\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n};\n","export function IGraph() {\n}\nIGraph.prototype._dataFamily = \"graph\";\n\n// Events ---\nIGraph.prototype.vertex_click = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n","export interface IHighlight {\n highlightColumn(column: string): this;\n}\n\nexport function instanceOfIHighlight(w: any): w is IHighlight {\n return typeof (w as any).highlightColumn === \"function\";\n}\n","import { Widget } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function IInput() {\n}\nIInput.prototype = Object.create(Widget.prototype);\nIInput.prototype.constructor = IInput;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\n// Implementation ---\nIInput.prototype.isValid = function () {\n if (this.validate()) {\n const re = new RegExp(this.validate());\n if (!re.test(this.value())) {\n return false;\n }\n }\n return true;\n};\n\nIInput.prototype.hasValue = function () {\n if (typeof (this as any).type === \"function\") {\n switch ((this as any).type()) {\n case \"radio\":\n /* falls through */\n case \"checkbox\":\n if (this.value() && this.value() !== \"false\") {\n return true;\n }\n break;\n default:\n if (this.value()) {\n return true;\n }\n break;\n }\n return false;\n }\n return this.value() !== \"\";\n};\n\n// Events ---\nIInput.prototype.blur = function (_w) {\n};\nIInput.prototype.keyup = function (_w) {\n};\nIInput.prototype.focus = function (_w) {\n};\nIInput.prototype.click = function (_w) {\n};\nIInput.prototype.dblclick = function (_w) {\n};\nIInput.prototype.change = function (_w, complete: boolean) {\n};\n\nIInput.prototype.resetValue = function (w) {\n w.value(w._inputElement[0].node().value);\n};\n\nIInput.prototype.disable = function (disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n};\n\nIInput.prototype.setFocus = function () {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n};\n\nexport interface IInput {\n name: { (): string; (_: string): IInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): IInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): IInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): IInput };\n validate_exists: () => boolean;\n}\nIInput.prototype.publish(\"name\", \"\", \"string\", \"HTML name for the input\");\nIInput.prototype.publish(\"label\", \"\", \"string\", \"Descriptive label\");\nIInput.prototype.publish(\"value\", \"\", \"string\", \"Input Current Value\");\nIInput.prototype.publish(\"validate\", null, \"string\", \"Input Validation\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function INDChart() {\n}\nINDChart.prototype._dataFamily = \"ND\";\nINDChart.prototype._palette = Palette.ordinal(\"default\");\n\nINDChart.prototype.fillColor = function (row: any[], column: string, value: number, origRow: any): string {\n return this._palette(column);\n};\n\nINDChart.prototype.strokeColor = function (row: any[], column: string, value: number, origRow: any): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nINDChart.prototype.textColor = function (row: any[], column: string, value: number, origRow: any): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nINDChart.prototype.click = function (row, column, selected) {\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n};\n","// Based on https://github.com/GordonSmith/d3-tip forked from https://github.com/Caged/d3-tip\n\nimport { map } from \"d3-collection\";\nimport { select, selection } from \"d3-selection\";\n\nexport function tip() {\n let direction = d3TipDirection;\n let offset = d3TipOffset;\n let html = d3TipHTML;\n let rootElement = functor(document.body);\n let node = initNode();\n let svg = null;\n let point = null;\n let target = null;\n\n const tip: any = function (vis) {\n svg = getSVGNode(vis);\n if (!svg) return;\n point = svg.createSVGPoint();\n const re = rootElement();\n if (!re) return;\n if (!node) return;\n re.appendChild(node);\n };\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function (d, idx, arr) {\n target = arr[idx];\n const args = Array.prototype.slice.call(arguments) as [];\n const content = html.apply(this, args);\n if (content === null) {\n return tip;\n }\n const poffset = offset.apply(this, args);\n const nodel = getNodeEl();\n let i = directions.length;\n let coords;\n const root_bbox = rootElement().getBoundingClientRect();\n nodel.html(content)\n .style(\"opacity\", 1).style(\"pointer-events\", \"all\");\n\n while (i--) nodel.classed(directions[i], false);\n let placement_success = false;\n const placement_overflow = {};\n let least_overflow_direction = directions[0];\n for (let i = 0; i < directions.length; i++) {\n placement_success = _placement_attempt(directions[i]);\n if (placement_success) break;\n }\n if (!placement_success) {\n nodel.classed(\"notick\", true);\n const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);\n const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);\n _placement_attempt(least_overflow_direction, top_offset, left_offset);\n } else {\n nodel.classed(\"notick\", false);\n }\n return tip;\n\n function _horizontal_adjustment(overflow_obj) {\n if (overflow_obj.left > overflow_obj.right) {\n return overflow_obj.left > 0 ? -overflow_obj.left : 0;\n } else {\n return overflow_obj.right > 0 ? overflow_obj.right : 0;\n }\n }\n function _vertical_adjustment(overflow_obj) {\n if (overflow_obj.top > overflow_obj.bottom) {\n return overflow_obj.top > 0 ? -overflow_obj.top : 0;\n } else {\n return overflow_obj.bottom;\n }\n }\n\n function _placement_attempt(this: any, _dir, _top_offset?, _left_offset?) {\n _top_offset = _top_offset ? _top_offset : 0;\n _left_offset = _left_offset ? _left_offset : 0;\n nodel.style(\"white-space\", \"nowrap\");\n coords = directionCallbacks.get(_dir).apply(this);\n nodel.classed(_dir, true)\n .style(\"top\", (coords.top + poffset[0] - _top_offset) + \"px\")\n .style(\"left\", (coords.left + poffset[1] - _left_offset) + \"px\");\n const nodel_bbox = nodel.node().getBoundingClientRect();\n const ret = nodel_bbox.top > root_bbox.top\n && nodel_bbox.left > root_bbox.left\n && nodel_bbox.bottom < root_bbox.bottom\n && nodel_bbox.right < root_bbox.right\n ;\n placement_overflow[_dir] = {\n top: root_bbox.top - nodel_bbox.top,\n right: nodel_bbox.right - root_bbox.right,\n bottom: nodel_bbox.bottom - root_bbox.bottom,\n left: root_bbox.left - nodel_bbox.left\n };\n nodel.style(\"white-space\", \"normal\");\n placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir])\n .filter(side => placement_overflow[_dir][side] > 0)\n .reduce((sum, side) => {\n const side_overflow = placement_overflow[_dir][side];\n return sum + side_overflow;\n }, 0);\n if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {\n least_overflow_direction = _dir;\n }\n if (!ret) {\n nodel.classed(_dir, false);\n }\n return ret;\n }\n };\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function () {\n const nodel = getNodeEl();\n nodel.style(\"opacity\", 0).style(\"pointer-events\", \"none\");\n return tip;\n };\n\n // Public: Proxy attr calls to the d3 tip container.\n // Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().attr(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.attr.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Proxy style calls to the d3 tip container.\n // Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value \n tip.style = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().style(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.style.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function (v) {\n if (!arguments.length) return direction;\n direction = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function (v) {\n if (!arguments.length) return offset;\n offset = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function (v) {\n if (!arguments.length) return html;\n html = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the root element anchor of the tooltip\n //\n // v - root element of the tooltip\n //\n // Returns root node of tip\n tip.rootElement = function (v) {\n if (!arguments.length) return rootElement;\n rootElement = functor(v);\n\n return tip;\n };\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function () {\n if (node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n };\n\n function d3TipDirection() { return \"n\"; }\n function d3TipOffset() { return [0, 0]; }\n function d3TipHTML() { return \" \"; }\n\n const directionCallbacks = map({\n n: directionNorth,\n s: directionSouth,\n e: directionEast,\n w: directionWest,\n nw: directionNorthWest,\n ne: directionNorthEast,\n sw: directionSouthWest,\n se: directionSouthEast\n });\n const directions = directionCallbacks.keys();\n\n function directionNorth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n };\n }\n\n function directionSouth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.s.y + 8,\n left: bbox.s.x - node.offsetWidth / 2\n };\n }\n\n function directionEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x + 8\n };\n }\n\n function directionWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth - 8\n };\n }\n\n function directionNorthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n };\n }\n\n function directionNorthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n };\n }\n\n function directionSouthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n };\n }\n\n function directionSouthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.se.y,\n left: bbox.se.x\n };\n }\n\n function initNode() {\n const div = select(document.createElement(\"div\"));\n div\n .attr(\"class\", \"d3-tip\")\n .style(\"position\", \"absolute\")\n .style(\"top\", \"0px\")\n .style(\"opacity\", 0)\n .style(\"pointer-events\", \"none\")\n .style(\"box-sizing\", \"border-box\");\n\n return div.node();\n }\n\n function getSVGNode(element) {\n const svgNode = element.node();\n if (!svgNode) return null;\n if (svgNode.tagName.toLowerCase() === \"svg\") return svgNode;\n return svgNode.ownerSVGElement;\n }\n\n function getNodeEl() {\n if (node == null) {\n node = initNode();\n // re-add node to DOM\n rootElement().appendChild(node);\n }\n return select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast),\n // nw(northwest), sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox(targetShape) {\n let targetel = target || targetShape;\n\n while (targetel.getCTM == null && targetel.parentNode != null) {\n targetel = targetel.parentNode;\n }\n\n const bbox: any = {};\n const matrix = targetel.getCTM();\n const tbbox = targetel.getBBox();\n const width = tbbox.width;\n const height = tbbox.height;\n const x = tbbox.x;\n const y = tbbox.y;\n\n point.x = x;\n point.y = y;\n bbox.nw = point.matrixTransform(matrix);\n point.x += width;\n bbox.ne = point.matrixTransform(matrix);\n point.y += height;\n bbox.se = point.matrixTransform(matrix);\n point.x -= width;\n bbox.sw = point.matrixTransform(matrix);\n point.y -= height / 2;\n bbox.w = point.matrixTransform(matrix);\n point.x += width;\n bbox.e = point.matrixTransform(matrix);\n point.x -= width / 2;\n point.y -= height / 2;\n bbox.n = point.matrixTransform(matrix);\n point.y += height;\n bbox.s = point.matrixTransform(matrix);\n\n return bbox;\n }\n\n // Private - replace D3JS 3.X d3.functor() function\n function functor(v) {\n return typeof v === \"function\" ? v : function () {\n return v;\n };\n }\n\n return tip;\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip.ts\";\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\n// Use old school class declaration as this is a mixin ---\nexport function ITooltip(this: any) {\n this.tooltip = tip();\n\n if (this.tooltipLabelFormat_exists()) {\n this._labelFormatter = d3Format(this.tooltipLabelFormat() as string);\n }\n\n if (this.tooltipValueFormat_exists()) {\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\n }\n\n if (this.layerEnter) {\n const layerEnter = this.layerEnter;\n this.layerEnter = function (_base, svgElement, _domElement) {\n if (!this._parentOverlay) {\n this._parentOverlay = _base._parentOverlay;\n }\n this.tooltipEnter(svgElement);\n layerEnter.apply(this, arguments);\n };\n const layerUpdate = this.layerUpdate;\n this.layerUpdate = function (_base) {\n layerUpdate.apply(this, arguments);\n this.tooltipUpdate();\n };\n const layerExit = this.layerExit;\n this.layerExit = function (_base) {\n this.tooltipExit();\n layerExit.apply(this, arguments);\n };\n } else {\n const enter = this.enter;\n this.enter = function (_domNode, element) {\n this.tooltipEnter(element);\n enter.apply(this, arguments);\n };\n const update = this.update;\n this.update = function (_domNode, _element) {\n update.apply(this, arguments);\n this.tooltipUpdate();\n };\n const exit = this.exit;\n this.exit = function (_domNode, _element) {\n this.tooltipExit();\n exit.apply(this, arguments);\n };\n }\n}\nITooltip.prototype = Object.create(Widget.prototype);\nITooltip.prototype.constructor = ITooltip;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\nITooltip.prototype.tooltipEnter = function (element) {\n const overlayElement = this.parentOverlay();\n if (!overlayElement.empty()) {\n this.tooltip.rootElement(overlayElement.node().parentNode);\n }\n element.call(this.tooltip);\n};\n\nITooltip.prototype.tooltipUpdate = function () {\n this.tooltip.offset(() => {\n if (event && this.tooltipFollowMouse()) {\n const d3tipElement: HTMLDivElement = document.querySelector(\".d3-tip\"); // d3Tip offers no reference to the '.d3-tip' element...?\n d3tipElement.style.display = \"block\";\n d3tipElement.style.left = this.tooltipOffset() + ((event as any).clientX) + \"px\";\n d3tipElement.style.top = (event as any).clientY + \"px\";\n return [];\n }\n switch (this.tooltip.direction()()) {\n case \"e\":\n return [0, this.tooltipOffset()];\n default:\n return [-this.tooltipOffset(), 0];\n }\n });\n\n let classed = this.tooltip.attr(\"class\");\n if (classed) {\n classed = classed.split(\" notick\").join(\"\") + (this.tooltipTick() ? \"\" : \" notick\") + (this.tooltipStyle() === \"none\" ? \" hidden\" : \"\");\n classed = classed.split(\" \")\n .filter(function (_class) {\n return _class.indexOf(\"ITooltip-tooltipStyle-\") !== 0;\n })\n .join(\" \")\n ;\n classed += \" ITooltip-tooltipStyle-\" + this.tooltipStyle();\n this.tooltip\n .attr(\"class\", classed)\n ;\n }\n};\n\nITooltip.prototype.tooltipExit = function () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n};\n\nITooltip.prototype._tooltipHTML = function (d) {\n return d;\n};\n\nITooltip.prototype.tooltipHTML = function (_) {\n return this.tooltip.html(_);\n};\n\nITooltip.prototype.tooltipFormat = function (opts: { label?: string | number, series?: string | number, value?: Date | string | number, arr?: Array<{ color: string, label: string, value: string }> } = {}) {\n opts.label = opts.label === undefined ? \"\" : opts.label;\n if (this._labelFormatter) {\n opts.label = this._labelFormatter(opts.label) || \"\";\n } else if (this.formatData && this.parseData) {\n opts.label = this.formatData(this.parseData(opts.label));\n }\n opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else if (this._valueFormatter) {\n opts.value = this._valueFormatter(opts.value) || \"\";\n } else if (this.formatValue && this.parseValue) {\n opts.value = this.formatValue(this.parseValue(opts.value));\n }\n switch (this.tooltipStyle()) {\n case \"none\":\n break;\n case \"series-table\":\n let html = '<table class=\"ITooltip-series-table\">'\n + \"<thead>\"\n + '<tr><th colspan=\"2\">' + opts.label + \"</th></tr>\"\n + \"</thead>\"\n + \"<tbody>\";\n opts.arr.forEach(function (row) {\n html += \"<tr>\";\n html += \"<td>\";\n html += '<div class=\"series-table-row-color\" style=\"background-color:' + row.color + '\"></div>';\n html += '<div class=\"series-table-row-label\">' + row.label + \"</div>\";\n html += \"</td>\";\n html += '<td><div class=\"series-table-row-value\">' + row.value + \"</div></td>\";\n html += \"</tr>\";\n });\n html += \"</tbody>\";\n html += \"</table>\";\n return html;\n default:\n if (opts.series) {\n return \"<span style='color:\" + this.tooltipSeriesColor() + \"'>\" + opts.series + \"</span> / <span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n if (opts.label !== \"\") {\n return \"<span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n return \"<span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n};\n\nITooltip.prototype.tooltipKeyValueFormat = function (titleKey: string, obj: object): string {\n let body = \"\";\n for (const key in obj) {\n if (key !== titleKey) {\n const value = obj && obj[key] ? obj[key] : \"\";\n body += `<tr><td style=\"${this.tooltipLabelColor_exists() ? \"color:\" + this.tooltipLabelColor() : \"\"}\">${key}</td><td style=\"font-weight:normal\">${value}</td></tr>`;\n }\n }\n return `<table>\n <thead>\n <tr><th colspan=\"2\" style=\"font-weight:bold;font-size:16px\">${obj[titleKey]}</th></tr>\n </thead>\n <tbody>\n ${body}\n </tbody>\n </table>`;\n};\n\nexport interface ITooltip {\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipLabelFormat: (_?) => string | ITooltip;\n tooltipLabelFormat_exists: () => boolean;\n tooltipValueFormat: (_?) => string | ITooltip;\n tooltipValueFormat_exists: () => boolean;\n tooltipSeriesColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor_exists: () => boolean;\n tooltipValueColor: { (): string; (_: string): ITooltip; };\n tooltipTick: { (): boolean; (_: boolean): ITooltip; };\n tooltipOffset: { (): number; (_: number): ITooltip; };\n tooltipOffset_default: { (): number; (_: number): ITooltip; };\n}\nITooltip.prototype.publish(\"tooltipStyle\", \"default\", \"set\", \"Style mode\", [\"default\", \"none\", \"series-table\"], {});\nITooltip.prototype.publish(\"tooltipFollowMouse\", false, \"boolean\", \"If true, the tooltip will follow mouse movement\", null, {});\nITooltip.prototype.publish(\"tooltipLabelFormat\", undefined, \"string\", \"Format of tooltip label(s) (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueFormat\", undefined, \"string\", \"Number format of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipSeriesColor\", \"#EAFFFF\", \"html-color\", \"Color of tooltip series text\", null, {});\nITooltip.prototype.publish(\"tooltipLabelColor\", \"#CCFFFF\", \"html-color\", \"Color of tooltip label text (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueColor\", \"white\", \"html-color\", \"Color of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipTick\", true, \"boolean\", \"Show tooltip tick\", null, {});\nITooltip.prototype.publish(\"tooltipOffset\", 8, \"number\", \"Offset from the cursor\", null, {});\n\nconst tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;\nITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {\n const retVal = tooltipLabelFormat.apply(this, arguments);\n if (arguments.length) {\n this._labelFormatter = d3Format(_);\n }\n return retVal;\n};\n\nconst tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;\nITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {\n const retVal = tooltipValueFormat.apply(this, arguments);\n if (arguments.length) {\n this._valueFormatter = d3Format(_);\n }\n return retVal;\n};\n","import { Palette } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function ITree() {\n}\nITree.prototype.constructor = ITree;\n\n// Events ---\nITree.prototype.click = function (row, column, selected) {\n};\n\nITree.prototype.dblclick = function (row, column, selected) {\n};\n\nITree.prototype._palette = Palette.ordinal(\"default\");\n","export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n"],"names":["I1DChart","I2DChart","I2DAggrChart","IGraph","instanceOfIHighlight","w","highlightColumn","IInput","INDChart","tip","direction","d3TipDirection","offset","d3TipOffset","html","d3TipHTML","rootElement","functor","document","body","node","initNode","svg","point","target","vis","getSVGNode","createSVGPoint","re","appendChild","show","d","idx","arr","args","Array","prototype","slice","call","arguments","content","apply","this","poffset","nodel","getNodeEl","coords","i","directions","length","root_bbox","getBoundingClientRect","style","classed","placement_success","placement_overflow","least_overflow_direction","_placement_attempt","top_offset","_vertical_adjustment","left_offset","_horizontal_adjustment","overflow_obj","left","right","top","bottom","_dir","_top_offset","_left_offset","directionCallbacks","get","nodel_bbox","ret","total_overflow","Object","keys","filter","side","reduce","sum","hide","attr","n","v","selection","destroy","remove","__name","map","directionNorth","s","directionSouth","e","directionEast","directionWest","nw","directionNorthWest","ne","directionNorthEast","sw","directionSouthWest","se","directionSouthEast","bbox","getScreenBBox","window","y","offsetHeight","x","offsetWidth","div","select","createElement","element","svgNode","tagName","toLowerCase","ownerSVGElement","targetShape","targetel","getCTM","parentNode","matrix","tbbox","getBBox","width","height","matrixTransform","ITooltip","tooltip","tooltipLabelFormat_exists","_labelFormatter","d3Format","tooltipLabelFormat","tooltipValueFormat_exists","_valueFormatter","tooltipValueFormat","layerEnter","_base","svgElement","_domElement","_parentOverlay","tooltipEnter","layerUpdate","tooltipUpdate","layerExit","tooltipExit","enter","_domNode","update","_element","exit","_dataFamily","_palette","Palette","rainbow","click","row","column","selected","dblclick","ordinal","fillColor","value","origRow","strokeColor","d3Hsl","darker","toString","textColor","vertex_click","_row","_col","_sel","more","vertex","vertex_dblclick","edge_click","edge","edge_dblclick","create","Widget","constructor","isValid","validate","RegExp","test","hasValue","type","blur","_w","keyup","focus","change","complete","resetValue","_inputElement","disable","forEach","setFocus","publish","overlayElement","parentOverlay","empty","event","tooltipFollowMouse","d3tipElement","querySelector","display","tooltipOffset","clientX","clientY","split","join","tooltipTick","tooltipStyle","_class","indexOf","_tooltipHTML","tooltipHTML","_","tooltipFormat","opts","label","formatData","parseData","series","Date","formatValue","parseValue","color","tooltipSeriesColor","tooltipLabelColor","tooltipValueColor","tooltipKeyValueFormat","titleKey","obj","key","tooltipLabelColor_exists","retVal","ITree"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hpcc-js/api",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.2",
|
|
4
4
|
"description": "hpcc-js - Viz api",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.umd.cjs",
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
"update-major": "npx --yes npm-check-updates -u"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@hpcc-js/common": "^3.5.
|
|
40
|
+
"@hpcc-js/common": "^3.5.2"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@hpcc-js/esbuild-plugins": "^1.
|
|
43
|
+
"@hpcc-js/esbuild-plugins": "^1.7.0",
|
|
44
44
|
"d3-collection": "^1",
|
|
45
45
|
"d3-color": "3.1.0",
|
|
46
46
|
"d3-format": "^1",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"url": "https://github.com/hpcc-systems/Visualization/issues"
|
|
58
58
|
},
|
|
59
59
|
"homepage": "https://github.com/hpcc-systems/Visualization",
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "5e5fc8d746e6a42c58da2ec4f55f2f7cbaeff611"
|
|
61
61
|
}
|