@hpcc-js/api 3.3.7 → 3.3.9

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 CHANGED
@@ -1,7 +1,12 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
1
3
  import { Palette, hsl, Widget, map, selection, select, format } from "@hpcc-js/common";
2
- const PKG_NAME = "@hpcc-js/api", PKG_VERSION = "3.2.0", BUILD_VERSION = "3.2.1";
4
+ const PKG_NAME = "@hpcc-js/api";
5
+ const PKG_VERSION = "3.2.0";
6
+ const BUILD_VERSION = "3.2.1";
3
7
  function I1DChart() {
4
8
  }
9
+ __name(I1DChart, "I1DChart");
5
10
  I1DChart.prototype._dataFamily = "1D";
6
11
  I1DChart.prototype._palette = Palette.rainbow("default");
7
12
  I1DChart.prototype.click = function(row, column, selected) {
@@ -10,6 +15,7 @@ I1DChart.prototype.dblclick = function(row, column, selected) {
10
15
  };
11
16
  function I2DChart() {
12
17
  }
18
+ __name(I2DChart, "I2DChart");
13
19
  I2DChart.prototype._dataFamily = "2D";
14
20
  I2DChart.prototype._palette = Palette.ordinal("default");
15
21
  I2DChart.prototype.fillColor = function(row, column, value, origRow) {
@@ -27,6 +33,7 @@ I2DChart.prototype.dblclick = function(row, column, selected) {
27
33
  };
28
34
  function I2DAggrChart() {
29
35
  }
36
+ __name(I2DAggrChart, "I2DAggrChart");
30
37
  I2DAggrChart.prototype._palette = Palette.rainbow("default");
31
38
  I2DAggrChart.prototype.fillColor = function(row, column, value) {
32
39
  return this._palette(row.length);
@@ -43,43 +50,54 @@ I2DAggrChart.prototype.dblclick = function(row, column, selected) {
43
50
  };
44
51
  function IGraph() {
45
52
  }
53
+ __name(IGraph, "IGraph");
46
54
  IGraph.prototype._dataFamily = "graph";
47
55
  IGraph.prototype.vertex_click = function(_row, _col, _sel, more) {
48
- more && more.vertex;
56
+ if (more && more.vertex) ;
49
57
  };
50
58
  IGraph.prototype.vertex_dblclick = function(_row, _col, _sel, more) {
51
- more && more.vertex;
59
+ if (more && more.vertex) ;
52
60
  };
53
61
  IGraph.prototype.edge_click = function(_row, _col, _sel, more) {
54
- more && more.edge;
62
+ if (more && more.edge) ;
55
63
  };
56
64
  IGraph.prototype.edge_dblclick = function(_row, _col, _sel, more) {
57
- more && more.edge;
65
+ if (more && more.edge) ;
58
66
  };
59
67
  function instanceOfIHighlight(w) {
60
- return typeof w.highlightColumn == "function";
68
+ return typeof w.highlightColumn === "function";
61
69
  }
70
+ __name(instanceOfIHighlight, "instanceOfIHighlight");
62
71
  function IInput() {
63
72
  }
73
+ __name(IInput, "IInput");
64
74
  IInput.prototype = Object.create(Widget.prototype);
65
75
  IInput.prototype.constructor = IInput;
66
76
  IInput.prototype.isValid = function() {
67
- return !(this.validate() && !new RegExp(this.validate()).test(this.value()));
77
+ if (this.validate()) {
78
+ const re = new RegExp(this.validate());
79
+ if (!re.test(this.value())) {
80
+ return false;
81
+ }
82
+ }
83
+ return true;
68
84
  };
69
85
  IInput.prototype.hasValue = function() {
70
- if (typeof this.type == "function") {
86
+ if (typeof this.type === "function") {
71
87
  switch (this.type()) {
72
88
  case "radio":
73
89
  case "checkbox":
74
- if (this.value() && this.value() !== "false")
75
- return !0;
90
+ if (this.value() && this.value() !== "false") {
91
+ return true;
92
+ }
76
93
  break;
77
94
  default:
78
- if (this.value())
79
- return !0;
95
+ if (this.value()) {
96
+ return true;
97
+ }
80
98
  break;
81
99
  }
82
- return !1;
100
+ return false;
83
101
  }
84
102
  return this.value() !== "";
85
103
  };
@@ -104,7 +122,9 @@ IInput.prototype.disable = function(disable) {
104
122
  });
105
123
  };
106
124
  IInput.prototype.setFocus = function() {
107
- this._inputElement.length && this._inputElement[0].node().focus();
125
+ if (this._inputElement.length) {
126
+ this._inputElement[0].node().focus();
127
+ }
108
128
  };
109
129
  IInput.prototype.publish("name", "", "string", "HTML name for the input");
110
130
  IInput.prototype.publish("label", "", "string", "Descriptive label");
@@ -112,6 +132,7 @@ IInput.prototype.publish("value", "", "string", "Input Current Value");
112
132
  IInput.prototype.publish("validate", null, "string", "Input Validation");
113
133
  function INDChart() {
114
134
  }
135
+ __name(INDChart, "INDChart");
115
136
  INDChart.prototype._dataFamily = "ND";
116
137
  INDChart.prototype._palette = Palette.ordinal("default");
117
138
  INDChart.prototype.fillColor = function(row, column, value, origRow) {
@@ -128,86 +149,158 @@ INDChart.prototype.click = function(row, column, selected) {
128
149
  INDChart.prototype.dblclick = function(row, column, selected) {
129
150
  };
130
151
  function tip() {
131
- let direction = d3TipDirection, offset = d3TipOffset, html = d3TipHTML, rootElement = functor(document.body), node = initNode(), svg = null, point = null, target = null;
132
- const tip2 = function(vis) {
133
- if (svg = getSVGNode(vis), !svg) return;
152
+ let direction = d3TipDirection;
153
+ let offset = d3TipOffset;
154
+ let html = d3TipHTML;
155
+ let rootElement = functor(document.body);
156
+ let node = initNode();
157
+ let svg = null;
158
+ let point = null;
159
+ let target = null;
160
+ const tip2 = /* @__PURE__ */ __name(function(vis) {
161
+ svg = getSVGNode(vis);
162
+ if (!svg) return;
134
163
  point = svg.createSVGPoint();
135
164
  const re = rootElement();
136
- re && node && re.appendChild(node);
137
- };
165
+ if (!re) return;
166
+ if (!node) return;
167
+ re.appendChild(node);
168
+ }, "tip2");
138
169
  tip2.show = function(d, idx, arr) {
139
170
  target = arr[idx];
140
- const args = Array.prototype.slice.call(arguments), content = html.apply(this, args);
141
- if (content === null)
171
+ const args = Array.prototype.slice.call(arguments);
172
+ const content = html.apply(this, args);
173
+ if (content === null) {
142
174
  return tip2;
143
- const poffset = offset.apply(this, args), nodel = getNodeEl();
144
- let i = directions.length, coords;
175
+ }
176
+ const poffset = offset.apply(this, args);
177
+ const nodel = getNodeEl();
178
+ let i = directions.length;
179
+ let coords;
145
180
  const root_bbox = rootElement().getBoundingClientRect();
146
- for (nodel.html(content).style("opacity", 1).style("pointer-events", "all"); i--; ) nodel.classed(directions[i], !1);
147
- let placement_success = !1;
181
+ nodel.html(content).style("opacity", 1).style("pointer-events", "all");
182
+ while (i--) nodel.classed(directions[i], false);
183
+ let placement_success = false;
148
184
  const placement_overflow = {};
149
185
  let least_overflow_direction = directions[0];
150
- for (let i2 = 0; i2 < directions.length && (placement_success = _placement_attempt(directions[i2]), !placement_success); i2++)
151
- ;
152
- if (placement_success)
153
- nodel.classed("notick", !1);
154
- else {
155
- nodel.classed("notick", !0);
156
- const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]), left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);
186
+ for (let i2 = 0; i2 < directions.length; i2++) {
187
+ placement_success = _placement_attempt(directions[i2]);
188
+ if (placement_success) break;
189
+ }
190
+ if (!placement_success) {
191
+ nodel.classed("notick", true);
192
+ const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);
193
+ const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);
157
194
  _placement_attempt(least_overflow_direction, top_offset, left_offset);
195
+ } else {
196
+ nodel.classed("notick", false);
158
197
  }
159
198
  return tip2;
160
199
  function _horizontal_adjustment(overflow_obj) {
161
- return overflow_obj.left > overflow_obj.right ? overflow_obj.left > 0 ? -overflow_obj.left : 0 : overflow_obj.right > 0 ? overflow_obj.right : 0;
200
+ if (overflow_obj.left > overflow_obj.right) {
201
+ return overflow_obj.left > 0 ? -overflow_obj.left : 0;
202
+ } else {
203
+ return overflow_obj.right > 0 ? overflow_obj.right : 0;
204
+ }
162
205
  }
206
+ __name(_horizontal_adjustment, "_horizontal_adjustment");
163
207
  function _vertical_adjustment(overflow_obj) {
164
- return overflow_obj.top > overflow_obj.bottom ? overflow_obj.top > 0 ? -overflow_obj.top : 0 : overflow_obj.bottom;
208
+ if (overflow_obj.top > overflow_obj.bottom) {
209
+ return overflow_obj.top > 0 ? -overflow_obj.top : 0;
210
+ } else {
211
+ return overflow_obj.bottom;
212
+ }
165
213
  }
214
+ __name(_vertical_adjustment, "_vertical_adjustment");
166
215
  function _placement_attempt(_dir, _top_offset, _left_offset) {
167
- _top_offset = _top_offset || 0, _left_offset = _left_offset || 0, nodel.style("white-space", "nowrap"), coords = directionCallbacks.get(_dir).apply(this), nodel.classed(_dir, !0).style("top", coords.top + poffset[0] - _top_offset + "px").style("left", coords.left + poffset[1] - _left_offset + "px");
168
- const nodel_bbox = nodel.node().getBoundingClientRect(), 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;
169
- return placement_overflow[_dir] = {
216
+ _top_offset = _top_offset ? _top_offset : 0;
217
+ _left_offset = _left_offset ? _left_offset : 0;
218
+ nodel.style("white-space", "nowrap");
219
+ coords = directionCallbacks.get(_dir).apply(this);
220
+ nodel.classed(_dir, true).style("top", coords.top + poffset[0] - _top_offset + "px").style("left", coords.left + poffset[1] - _left_offset + "px");
221
+ const nodel_bbox = nodel.node().getBoundingClientRect();
222
+ 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;
223
+ placement_overflow[_dir] = {
170
224
  top: root_bbox.top - nodel_bbox.top,
171
225
  right: nodel_bbox.right - root_bbox.right,
172
226
  bottom: nodel_bbox.bottom - root_bbox.bottom,
173
227
  left: root_bbox.left - nodel_bbox.left
174
- }, nodel.style("white-space", "normal"), placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir]).filter((side) => placement_overflow[_dir][side] > 0).reduce((sum, side) => {
228
+ };
229
+ nodel.style("white-space", "normal");
230
+ placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir]).filter((side) => placement_overflow[_dir][side] > 0).reduce((sum, side) => {
175
231
  const side_overflow = placement_overflow[_dir][side];
176
232
  return sum + side_overflow;
177
- }, 0), placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow && (least_overflow_direction = _dir), ret || nodel.classed(_dir, !1), ret;
233
+ }, 0);
234
+ if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {
235
+ least_overflow_direction = _dir;
236
+ }
237
+ if (!ret) {
238
+ nodel.classed(_dir, false);
239
+ }
240
+ return ret;
178
241
  }
179
- }, tip2.hide = function() {
180
- return getNodeEl().style("opacity", 0).style("pointer-events", "none"), tip2;
181
- }, tip2.attr = function(n, v) {
182
- if (arguments.length < 2 && typeof n == "string")
242
+ __name(_placement_attempt, "_placement_attempt");
243
+ };
244
+ tip2.hide = function() {
245
+ const nodel = getNodeEl();
246
+ nodel.style("opacity", 0).style("pointer-events", "none");
247
+ return tip2;
248
+ };
249
+ tip2.attr = function(n, v) {
250
+ if (arguments.length < 2 && typeof n === "string") {
183
251
  return getNodeEl().attr(n);
252
+ }
184
253
  const args = Array.prototype.slice.call(arguments);
185
- return selection.prototype.attr.apply(getNodeEl(), args), tip2;
186
- }, tip2.style = function(n, v) {
187
- if (arguments.length < 2 && typeof n == "string")
254
+ selection.prototype.attr.apply(getNodeEl(), args);
255
+ return tip2;
256
+ };
257
+ tip2.style = function(n, v) {
258
+ if (arguments.length < 2 && typeof n === "string") {
188
259
  return getNodeEl().style(n);
260
+ }
189
261
  const args = Array.prototype.slice.call(arguments);
190
- return selection.prototype.style.apply(getNodeEl(), args), tip2;
191
- }, tip2.direction = function(v) {
192
- return arguments.length ? (direction = v == null ? v : functor(v), tip2) : direction;
193
- }, tip2.offset = function(v) {
194
- return arguments.length ? (offset = v == null ? v : functor(v), tip2) : offset;
195
- }, tip2.html = function(v) {
196
- return arguments.length ? (html = v == null ? v : functor(v), tip2) : html;
197
- }, tip2.rootElement = function(v) {
198
- return arguments.length ? (rootElement = functor(v), tip2) : rootElement;
199
- }, tip2.destroy = function() {
200
- return node && (getNodeEl().remove(), node = null), tip2;
262
+ selection.prototype.style.apply(getNodeEl(), args);
263
+ return tip2;
264
+ };
265
+ tip2.direction = function(v) {
266
+ if (!arguments.length) return direction;
267
+ direction = v == null ? v : functor(v);
268
+ return tip2;
269
+ };
270
+ tip2.offset = function(v) {
271
+ if (!arguments.length) return offset;
272
+ offset = v == null ? v : functor(v);
273
+ return tip2;
274
+ };
275
+ tip2.html = function(v) {
276
+ if (!arguments.length) return html;
277
+ html = v == null ? v : functor(v);
278
+ return tip2;
279
+ };
280
+ tip2.rootElement = function(v) {
281
+ if (!arguments.length) return rootElement;
282
+ rootElement = functor(v);
283
+ return tip2;
284
+ };
285
+ tip2.destroy = function() {
286
+ if (node) {
287
+ getNodeEl().remove();
288
+ node = null;
289
+ }
290
+ return tip2;
201
291
  };
202
292
  function d3TipDirection() {
203
293
  return "n";
204
294
  }
295
+ __name(d3TipDirection, "d3TipDirection");
205
296
  function d3TipOffset() {
206
297
  return [0, 0];
207
298
  }
299
+ __name(d3TipOffset, "d3TipOffset");
208
300
  function d3TipHTML() {
209
301
  return " ";
210
302
  }
303
+ __name(d3TipHTML, "d3TipHTML");
211
304
  const directionCallbacks = map({
212
305
  n: directionNorth,
213
306
  s: directionSouth,
@@ -217,7 +310,8 @@ function tip() {
217
310
  ne: directionNorthEast,
218
311
  sw: directionSouthWest,
219
312
  se: directionSouthEast
220
- }), directions = directionCallbacks.keys();
313
+ });
314
+ const directions = directionCallbacks.keys();
221
315
  function directionNorth() {
222
316
  const bbox = getScreenBBox(window);
223
317
  return {
@@ -225,6 +319,7 @@ function tip() {
225
319
  left: bbox.n.x - node.offsetWidth / 2
226
320
  };
227
321
  }
322
+ __name(directionNorth, "directionNorth");
228
323
  function directionSouth() {
229
324
  const bbox = getScreenBBox(window);
230
325
  return {
@@ -232,6 +327,7 @@ function tip() {
232
327
  left: bbox.s.x - node.offsetWidth / 2
233
328
  };
234
329
  }
330
+ __name(directionSouth, "directionSouth");
235
331
  function directionEast() {
236
332
  const bbox = getScreenBBox(window);
237
333
  return {
@@ -239,6 +335,7 @@ function tip() {
239
335
  left: bbox.e.x + 8
240
336
  };
241
337
  }
338
+ __name(directionEast, "directionEast");
242
339
  function directionWest() {
243
340
  const bbox = getScreenBBox(window);
244
341
  return {
@@ -246,6 +343,7 @@ function tip() {
246
343
  left: bbox.w.x - node.offsetWidth - 8
247
344
  };
248
345
  }
346
+ __name(directionWest, "directionWest");
249
347
  function directionNorthWest() {
250
348
  const bbox = getScreenBBox(window);
251
349
  return {
@@ -253,6 +351,7 @@ function tip() {
253
351
  left: bbox.nw.x - node.offsetWidth
254
352
  };
255
353
  }
354
+ __name(directionNorthWest, "directionNorthWest");
256
355
  function directionNorthEast() {
257
356
  const bbox = getScreenBBox(window);
258
357
  return {
@@ -260,6 +359,7 @@ function tip() {
260
359
  left: bbox.ne.x
261
360
  };
262
361
  }
362
+ __name(directionNorthEast, "directionNorthEast");
263
363
  function directionSouthWest() {
264
364
  const bbox = getScreenBBox(window);
265
365
  return {
@@ -267,6 +367,7 @@ function tip() {
267
367
  left: bbox.sw.x - node.offsetWidth
268
368
  };
269
369
  }
370
+ __name(directionSouthWest, "directionSouthWest");
270
371
  function directionSouthEast() {
271
372
  const bbox = getScreenBBox(window);
272
373
  return {
@@ -274,71 +375,133 @@ function tip() {
274
375
  left: bbox.se.x
275
376
  };
276
377
  }
378
+ __name(directionSouthEast, "directionSouthEast");
277
379
  function initNode() {
278
380
  const div = select(document.createElement("div"));
279
- return div.attr("class", "d3-tip").style("position", "absolute").style("top", "0px").style("opacity", 0).style("pointer-events", "none").style("box-sizing", "border-box"), div.node();
381
+ div.attr("class", "d3-tip").style("position", "absolute").style("top", "0px").style("opacity", 0).style("pointer-events", "none").style("box-sizing", "border-box");
382
+ return div.node();
280
383
  }
384
+ __name(initNode, "initNode");
281
385
  function getSVGNode(element) {
282
386
  const svgNode = element.node();
283
- return svgNode ? svgNode.tagName.toLowerCase() === "svg" ? svgNode : svgNode.ownerSVGElement : null;
387
+ if (!svgNode) return null;
388
+ if (svgNode.tagName.toLowerCase() === "svg") return svgNode;
389
+ return svgNode.ownerSVGElement;
284
390
  }
391
+ __name(getSVGNode, "getSVGNode");
285
392
  function getNodeEl() {
286
- return node == null && (node = initNode(), rootElement().appendChild(node)), select(node);
393
+ if (node == null) {
394
+ node = initNode();
395
+ rootElement().appendChild(node);
396
+ }
397
+ return select(node);
287
398
  }
399
+ __name(getNodeEl, "getNodeEl");
288
400
  function getScreenBBox(targetShape) {
289
401
  let targetel = target || targetShape;
290
- for (; targetel.getCTM == null && targetel.parentNode != null; )
402
+ while (targetel.getCTM == null && targetel.parentNode != null) {
291
403
  targetel = targetel.parentNode;
292
- const bbox = {}, matrix = targetel.getCTM(), tbbox = targetel.getBBox(), width = tbbox.width, height = tbbox.height, x = tbbox.x, y = tbbox.y;
293
- return point.x = x, point.y = y, bbox.nw = point.matrixTransform(matrix), point.x += width, bbox.ne = point.matrixTransform(matrix), point.y += height, bbox.se = point.matrixTransform(matrix), point.x -= width, bbox.sw = point.matrixTransform(matrix), point.y -= height / 2, bbox.w = point.matrixTransform(matrix), point.x += width, bbox.e = point.matrixTransform(matrix), point.x -= width / 2, point.y -= height / 2, bbox.n = point.matrixTransform(matrix), point.y += height, bbox.s = point.matrixTransform(matrix), bbox;
404
+ }
405
+ const bbox = {};
406
+ const matrix = targetel.getCTM();
407
+ const tbbox = targetel.getBBox();
408
+ const width = tbbox.width;
409
+ const height = tbbox.height;
410
+ const x = tbbox.x;
411
+ const y = tbbox.y;
412
+ point.x = x;
413
+ point.y = y;
414
+ bbox.nw = point.matrixTransform(matrix);
415
+ point.x += width;
416
+ bbox.ne = point.matrixTransform(matrix);
417
+ point.y += height;
418
+ bbox.se = point.matrixTransform(matrix);
419
+ point.x -= width;
420
+ bbox.sw = point.matrixTransform(matrix);
421
+ point.y -= height / 2;
422
+ bbox.w = point.matrixTransform(matrix);
423
+ point.x += width;
424
+ bbox.e = point.matrixTransform(matrix);
425
+ point.x -= width / 2;
426
+ point.y -= height / 2;
427
+ bbox.n = point.matrixTransform(matrix);
428
+ point.y += height;
429
+ bbox.s = point.matrixTransform(matrix);
430
+ return bbox;
294
431
  }
432
+ __name(getScreenBBox, "getScreenBBox");
295
433
  function functor(v) {
296
- return typeof v == "function" ? v : function() {
434
+ return typeof v === "function" ? v : function() {
297
435
  return v;
298
436
  };
299
437
  }
438
+ __name(functor, "functor");
300
439
  return tip2;
301
440
  }
441
+ __name(tip, "tip");
302
442
  function ITooltip() {
303
- if (this.tooltip = tip(), this.tooltipLabelFormat_exists() && (this._labelFormatter = format(this.tooltipLabelFormat())), this.tooltipValueFormat_exists() && (this._valueFormatter = format(this.tooltipValueFormat())), this.layerEnter) {
443
+ this.tooltip = tip();
444
+ if (this.tooltipLabelFormat_exists()) {
445
+ this._labelFormatter = format(this.tooltipLabelFormat());
446
+ }
447
+ if (this.tooltipValueFormat_exists()) {
448
+ this._valueFormatter = format(this.tooltipValueFormat());
449
+ }
450
+ if (this.layerEnter) {
304
451
  const layerEnter = this.layerEnter;
305
452
  this.layerEnter = function(_base, svgElement, _domElement) {
306
- this._parentOverlay || (this._parentOverlay = _base._parentOverlay), this.tooltipEnter(svgElement), layerEnter.apply(this, arguments);
453
+ if (!this._parentOverlay) {
454
+ this._parentOverlay = _base._parentOverlay;
455
+ }
456
+ this.tooltipEnter(svgElement);
457
+ layerEnter.apply(this, arguments);
307
458
  };
308
459
  const layerUpdate = this.layerUpdate;
309
460
  this.layerUpdate = function(_base) {
310
- layerUpdate.apply(this, arguments), this.tooltipUpdate();
461
+ layerUpdate.apply(this, arguments);
462
+ this.tooltipUpdate();
311
463
  };
312
464
  const layerExit = this.layerExit;
313
465
  this.layerExit = function(_base) {
314
- this.tooltipExit(), layerExit.apply(this, arguments);
466
+ this.tooltipExit();
467
+ layerExit.apply(this, arguments);
315
468
  };
316
469
  } else {
317
470
  const enter = this.enter;
318
471
  this.enter = function(_domNode, element) {
319
- this.tooltipEnter(element), enter.apply(this, arguments);
472
+ this.tooltipEnter(element);
473
+ enter.apply(this, arguments);
320
474
  };
321
475
  const update = this.update;
322
476
  this.update = function(_domNode, _element) {
323
- update.apply(this, arguments), this.tooltipUpdate();
477
+ update.apply(this, arguments);
478
+ this.tooltipUpdate();
324
479
  };
325
480
  const exit = this.exit;
326
481
  this.exit = function(_domNode, _element) {
327
- this.tooltipExit(), exit.apply(this, arguments);
482
+ this.tooltipExit();
483
+ exit.apply(this, arguments);
328
484
  };
329
485
  }
330
486
  }
487
+ __name(ITooltip, "ITooltip");
331
488
  ITooltip.prototype = Object.create(Widget.prototype);
332
489
  ITooltip.prototype.constructor = ITooltip;
333
490
  ITooltip.prototype.tooltipEnter = function(element) {
334
491
  const overlayElement = this.parentOverlay();
335
- overlayElement.empty() || this.tooltip.rootElement(overlayElement.node().parentNode), element.call(this.tooltip);
492
+ if (!overlayElement.empty()) {
493
+ this.tooltip.rootElement(overlayElement.node().parentNode);
494
+ }
495
+ element.call(this.tooltip);
336
496
  };
337
497
  ITooltip.prototype.tooltipUpdate = function() {
338
498
  this.tooltip.offset(() => {
339
499
  if (event && this.tooltipFollowMouse()) {
340
500
  const d3tipElement = document.querySelector(".d3-tip");
341
- return d3tipElement.style.display = "block", d3tipElement.style.left = this.tooltipOffset() + event.clientX + "px", d3tipElement.style.top = event.clientY + "px", [];
501
+ d3tipElement.style.display = "block";
502
+ d3tipElement.style.left = this.tooltipOffset() + event.clientX + "px";
503
+ d3tipElement.style.top = event.clientY + "px";
504
+ return [];
342
505
  }
343
506
  switch (this.tooltip.direction()()) {
344
507
  case "e":
@@ -348,12 +511,19 @@ ITooltip.prototype.tooltipUpdate = function() {
348
511
  }
349
512
  });
350
513
  let classed = this.tooltip.attr("class");
351
- classed && (classed = classed.split(" notick").join("") + (this.tooltipTick() ? "" : " notick") + (this.tooltipStyle() === "none" ? " hidden" : ""), classed = classed.split(" ").filter(function(_class) {
352
- return _class.indexOf("ITooltip-tooltipStyle-") !== 0;
353
- }).join(" "), classed += " ITooltip-tooltipStyle-" + this.tooltipStyle(), this.tooltip.attr("class", classed));
514
+ if (classed) {
515
+ classed = classed.split(" notick").join("") + (this.tooltipTick() ? "" : " notick") + (this.tooltipStyle() === "none" ? " hidden" : "");
516
+ classed = classed.split(" ").filter(function(_class) {
517
+ return _class.indexOf("ITooltip-tooltipStyle-") !== 0;
518
+ }).join(" ");
519
+ classed += " ITooltip-tooltipStyle-" + this.tooltipStyle();
520
+ this.tooltip.attr("class", classed);
521
+ }
354
522
  };
355
523
  ITooltip.prototype.tooltipExit = function() {
356
- this.tooltip && this.tooltip.destroy();
524
+ if (this.tooltip) {
525
+ this.tooltip.destroy();
526
+ }
357
527
  };
358
528
  ITooltip.prototype._tooltipHTML = function(d) {
359
529
  return d;
@@ -362,25 +532,55 @@ ITooltip.prototype.tooltipHTML = function(_) {
362
532
  return this.tooltip.html(_);
363
533
  };
364
534
  ITooltip.prototype.tooltipFormat = function(opts = {}) {
365
- switch (opts.label = opts.label === void 0 ? "" : opts.label, this._labelFormatter ? opts.label = this._labelFormatter(opts.label) || "" : this.formatData && this.parseData && (opts.label = this.formatData(this.parseData(opts.label))), opts.series = opts.series || "", opts.value instanceof Date ? opts.value = opts.value || "" : this._valueFormatter ? opts.value = this._valueFormatter(opts.value) || "" : this.formatValue && this.parseValue && (opts.value = this.formatValue(this.parseValue(opts.value))), this.tooltipStyle()) {
535
+ opts.label = opts.label === void 0 ? "" : opts.label;
536
+ if (this._labelFormatter) {
537
+ opts.label = this._labelFormatter(opts.label) || "";
538
+ } else if (this.formatData && this.parseData) {
539
+ opts.label = this.formatData(this.parseData(opts.label));
540
+ }
541
+ opts.series = opts.series || "";
542
+ if (opts.value instanceof Date) {
543
+ opts.value = opts.value || "";
544
+ } else if (this._valueFormatter) {
545
+ opts.value = this._valueFormatter(opts.value) || "";
546
+ } else if (this.formatValue && this.parseValue) {
547
+ opts.value = this.formatValue(this.parseValue(opts.value));
548
+ }
549
+ switch (this.tooltipStyle()) {
366
550
  case "none":
367
551
  break;
368
552
  case "series-table":
369
553
  let html = '<table class="ITooltip-series-table"><thead><tr><th colspan="2">' + opts.label + "</th></tr></thead><tbody>";
370
- return opts.arr.forEach(function(row) {
371
- html += "<tr>", html += "<td>", html += '<div class="series-table-row-color" style="background-color:' + row.color + '"></div>', html += '<div class="series-table-row-label">' + row.label + "</div>", html += "</td>", html += '<td><div class="series-table-row-value">' + row.value + "</div></td>", html += "</tr>";
372
- }), html += "</tbody>", html += "</table>", html;
554
+ opts.arr.forEach(function(row) {
555
+ html += "<tr>";
556
+ html += "<td>";
557
+ html += '<div class="series-table-row-color" style="background-color:' + row.color + '"></div>';
558
+ html += '<div class="series-table-row-label">' + row.label + "</div>";
559
+ html += "</td>";
560
+ html += '<td><div class="series-table-row-value">' + row.value + "</div></td>";
561
+ html += "</tr>";
562
+ });
563
+ html += "</tbody>";
564
+ html += "</table>";
565
+ return html;
373
566
  default:
374
- return opts.series ? "<span style='color:" + this.tooltipSeriesColor() + "'>" + opts.series + "</span> / <span style='color:" + this.tooltipLabelColor() + "'>" + opts.label + "</span>: <span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>" : opts.label !== "" ? "<span style='color:" + this.tooltipLabelColor() + "'>" + opts.label + "</span>: <span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>" : "<span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>";
567
+ if (opts.series) {
568
+ 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>";
569
+ }
570
+ if (opts.label !== "") {
571
+ return "<span style='color:" + this.tooltipLabelColor() + "'>" + opts.label + "</span>: <span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>";
572
+ }
573
+ return "<span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>";
375
574
  }
376
575
  };
377
576
  ITooltip.prototype.tooltipKeyValueFormat = function(titleKey, obj) {
378
577
  let body = "";
379
- for (const key in obj)
578
+ for (const key in obj) {
380
579
  if (key !== titleKey) {
381
580
  const value = obj && obj[key] ? obj[key] : "";
382
581
  body += `<tr><td style="${this.tooltipLabelColor_exists() ? "color:" + this.tooltipLabelColor() : ""}">${key}</td><td style="font-weight:normal">${value}</td></tr>`;
383
582
  }
583
+ }
384
584
  return `<table>
385
585
  <thead>
386
586
  <tr><th colspan="2" style="font-weight:bold;font-size:16px">${obj[titleKey]}</th></tr>
@@ -391,26 +591,33 @@ ITooltip.prototype.tooltipKeyValueFormat = function(titleKey, obj) {
391
591
  </table>`;
392
592
  };
393
593
  ITooltip.prototype.publish("tooltipStyle", "default", "set", "Style mode", ["default", "none", "series-table"], {});
394
- ITooltip.prototype.publish("tooltipFollowMouse", !1, "boolean", "If true, the tooltip will follow mouse movement", null, {});
594
+ ITooltip.prototype.publish("tooltipFollowMouse", false, "boolean", "If true, the tooltip will follow mouse movement", null, {});
395
595
  ITooltip.prototype.publish("tooltipLabelFormat", void 0, "string", "Format of tooltip label(s) (the domain axis)", null, {});
396
596
  ITooltip.prototype.publish("tooltipValueFormat", void 0, "string", "Number format of tooltip value(s)", null, {});
397
597
  ITooltip.prototype.publish("tooltipSeriesColor", "#EAFFFF", "html-color", "Color of tooltip series text", null, {});
398
598
  ITooltip.prototype.publish("tooltipLabelColor", "#CCFFFF", "html-color", "Color of tooltip label text (the domain axis)", null, {});
399
599
  ITooltip.prototype.publish("tooltipValueColor", "white", "html-color", "Color of tooltip value(s)", null, {});
400
- ITooltip.prototype.publish("tooltipTick", !0, "boolean", "Show tooltip tick", null, {});
600
+ ITooltip.prototype.publish("tooltipTick", true, "boolean", "Show tooltip tick", null, {});
401
601
  ITooltip.prototype.publish("tooltipOffset", 8, "number", "Offset from the cursor", null, {});
402
602
  const tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;
403
603
  ITooltip.prototype.tooltipLabelFormat = function(_) {
404
604
  const retVal = tooltipLabelFormat.apply(this, arguments);
405
- return arguments.length && (this._labelFormatter = format(_)), retVal;
605
+ if (arguments.length) {
606
+ this._labelFormatter = format(_);
607
+ }
608
+ return retVal;
406
609
  };
407
610
  const tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;
408
611
  ITooltip.prototype.tooltipValueFormat = function(_) {
409
612
  const retVal = tooltipValueFormat.apply(this, arguments);
410
- return arguments.length && (this._valueFormatter = format(_)), retVal;
613
+ if (arguments.length) {
614
+ this._valueFormatter = format(_);
615
+ }
616
+ return retVal;
411
617
  };
412
618
  function ITree() {
413
619
  }
620
+ __name(ITree, "ITree");
414
621
  ITree.prototype.constructor = ITree;
415
622
  ITree.prototype.click = function(row, column, selected) {
416
623
  };
@@ -432,4 +639,4 @@ export {
432
639
  instanceOfIHighlight
433
640
  };
434
641
  //# sourceMappingURL=index.js.map
435
- (function(){"use strict";try{if(typeof document<"u"){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(r){console.error("vite-plugin-css-injected-by-js",r)}})();
642
+ !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","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 = \"@hpcc-js/api\";\nexport const PKG_VERSION = \"3.2.0\";\nexport const BUILD_VERSION = \"3.2.1\";\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":["d3Hsl","tip","i","d3Format"],"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 = \"@hpcc-js/api\";\nexport const PKG_VERSION = \"3.2.0\";\nexport const BUILD_VERSION = \"3.2.1\";\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":["d3Hsl","tip","i","d3Format"],"mappings":"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"}
@@ -1,10 +1,3 @@
1
- (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@hpcc-js/common")):typeof define=="function"&&define.amd?define(["exports","@hpcc-js/common"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global["@hpcc-js/api"]={},global["@hpcc-js/common"]))})(this,function(exports2,common){"use strict";const PKG_NAME="@hpcc-js/api",PKG_VERSION="3.2.0",BUILD_VERSION="3.2.1";function I1DChart(){}I1DChart.prototype._dataFamily="1D",I1DChart.prototype._palette=common.Palette.rainbow("default"),I1DChart.prototype.click=function(row,column,selected){},I1DChart.prototype.dblclick=function(row,column,selected){};function I2DChart(){}I2DChart.prototype._dataFamily="2D",I2DChart.prototype._palette=common.Palette.ordinal("default"),I2DChart.prototype.fillColor=function(row,column,value,origRow){return this._palette(row[0])},I2DChart.prototype.strokeColor=function(row,column,value,origRow){return common.hsl(this.fillColor(row,column,value,origRow)).darker().toString()},I2DChart.prototype.textColor=function(row,column,value,origRow){return common.Palette.textColor(this.fillColor(row,column,value,origRow))},I2DChart.prototype.click=function(row,column,selected){},I2DChart.prototype.dblclick=function(row,column,selected){};function I2DAggrChart(){}I2DAggrChart.prototype._palette=common.Palette.rainbow("default"),I2DAggrChart.prototype.fillColor=function(row,column,value){return this._palette(row.length)},I2DAggrChart.prototype.strokeColor=function(row,column,value){return common.hsl(this.fillColor(row,column,value)).darker().toString()},I2DAggrChart.prototype.textColor=function(row,column,value){return common.Palette.textColor(this.fillColor(row,column,value))},I2DAggrChart.prototype.click=function(row,column,selected){},I2DAggrChart.prototype.dblclick=function(row,column,selected){};function IGraph(){}IGraph.prototype._dataFamily="graph",IGraph.prototype.vertex_click=function(_row,_col,_sel,more){more&&more.vertex},IGraph.prototype.vertex_dblclick=function(_row,_col,_sel,more){more&&more.vertex},IGraph.prototype.edge_click=function(_row,_col,_sel,more){more&&more.edge},IGraph.prototype.edge_dblclick=function(_row,_col,_sel,more){more&&more.edge};function instanceOfIHighlight(w){return typeof w.highlightColumn=="function"}function IInput(){}IInput.prototype=Object.create(common.Widget.prototype),IInput.prototype.constructor=IInput,IInput.prototype.isValid=function(){return!(this.validate()&&!new RegExp(this.validate()).test(this.value()))},IInput.prototype.hasValue=function(){if(typeof this.type=="function"){switch(this.type()){case"radio":case"checkbox":if(this.value()&&this.value()!=="false")return!0;break;default:if(this.value())return!0;break}return!1}return this.value()!==""},IInput.prototype.blur=function(_w){},IInput.prototype.keyup=function(_w){},IInput.prototype.focus=function(_w){},IInput.prototype.click=function(_w){},IInput.prototype.dblclick=function(_w){},IInput.prototype.change=function(_w,complete){},IInput.prototype.resetValue=function(w){w.value(w._inputElement[0].node().value)},IInput.prototype.disable=function(disable){this._inputElement.forEach(function(e,idx){e.attr("disabled",disable?"disabled":null)})},IInput.prototype.setFocus=function(){this._inputElement.length&&this._inputElement[0].node().focus()},IInput.prototype.publish("name","","string","HTML name for the input"),IInput.prototype.publish("label","","string","Descriptive label"),IInput.prototype.publish("value","","string","Input Current Value"),IInput.prototype.publish("validate",null,"string","Input Validation");function INDChart(){}INDChart.prototype._dataFamily="ND",INDChart.prototype._palette=common.Palette.ordinal("default"),INDChart.prototype.fillColor=function(row,column,value,origRow){return this._palette(column)},INDChart.prototype.strokeColor=function(row,column,value,origRow){return common.hsl(this.fillColor(row,column,value,origRow)).darker().toString()},INDChart.prototype.textColor=function(row,column,value,origRow){return common.Palette.textColor(this.fillColor(row,column,value,origRow))},INDChart.prototype.click=function(row,column,selected){},INDChart.prototype.dblclick=function(row,column,selected){};function tip(){let direction=d3TipDirection,offset=d3TipOffset,html=d3TipHTML,rootElement=functor(document.body),node=initNode(),svg=null,point=null,target=null;const tip2=function(vis){if(svg=getSVGNode(vis),!svg)return;point=svg.createSVGPoint();const re=rootElement();re&&node&&re.appendChild(node)};tip2.show=function(d,idx,arr){target=arr[idx];const args=Array.prototype.slice.call(arguments),content=html.apply(this,args);if(content===null)return tip2;const poffset=offset.apply(this,args),nodel=getNodeEl();let i=directions.length,coords;const root_bbox=rootElement().getBoundingClientRect();for(nodel.html(content).style("opacity",1).style("pointer-events","all");i--;)nodel.classed(directions[i],!1);let placement_success=!1;const placement_overflow={};let least_overflow_direction=directions[0];for(let i2=0;i2<directions.length&&(placement_success=_placement_attempt(directions[i2]),!placement_success);i2++);if(placement_success)nodel.classed("notick",!1);else{nodel.classed("notick",!0);const top_offset=_vertical_adjustment(placement_overflow[least_overflow_direction]),left_offset=_horizontal_adjustment(placement_overflow[least_overflow_direction]);_placement_attempt(least_overflow_direction,top_offset,left_offset)}return tip2;function _horizontal_adjustment(overflow_obj){return overflow_obj.left>overflow_obj.right?overflow_obj.left>0?-overflow_obj.left:0:overflow_obj.right>0?overflow_obj.right:0}function _vertical_adjustment(overflow_obj){return overflow_obj.top>overflow_obj.bottom?overflow_obj.top>0?-overflow_obj.top:0:overflow_obj.bottom}function _placement_attempt(_dir,_top_offset,_left_offset){_top_offset=_top_offset||0,_left_offset=_left_offset||0,nodel.style("white-space","nowrap"),coords=directionCallbacks.get(_dir).apply(this),nodel.classed(_dir,!0).style("top",coords.top+poffset[0]-_top_offset+"px").style("left",coords.left+poffset[1]-_left_offset+"px");const nodel_bbox=nodel.node().getBoundingClientRect(),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;return placement_overflow[_dir]={top:root_bbox.top-nodel_bbox.top,right:nodel_bbox.right-root_bbox.right,bottom:nodel_bbox.bottom-root_bbox.bottom,left:root_bbox.left-nodel_bbox.left},nodel.style("white-space","normal"),placement_overflow[_dir].total_overflow=Object.keys(placement_overflow[_dir]).filter(side=>placement_overflow[_dir][side]>0).reduce((sum,side)=>{const side_overflow=placement_overflow[_dir][side];return sum+side_overflow},0),placement_overflow[least_overflow_direction].total_overflow>placement_overflow[_dir].total_overflow&&(least_overflow_direction=_dir),ret||nodel.classed(_dir,!1),ret}},tip2.hide=function(){return getNodeEl().style("opacity",0).style("pointer-events","none"),tip2},tip2.attr=function(n,v){if(arguments.length<2&&typeof n=="string")return getNodeEl().attr(n);const args=Array.prototype.slice.call(arguments);return common.selection.prototype.attr.apply(getNodeEl(),args),tip2},tip2.style=function(n,v){if(arguments.length<2&&typeof n=="string")return getNodeEl().style(n);const args=Array.prototype.slice.call(arguments);return common.selection.prototype.style.apply(getNodeEl(),args),tip2},tip2.direction=function(v){return arguments.length?(direction=v==null?v:functor(v),tip2):direction},tip2.offset=function(v){return arguments.length?(offset=v==null?v:functor(v),tip2):offset},tip2.html=function(v){return arguments.length?(html=v==null?v:functor(v),tip2):html},tip2.rootElement=function(v){return arguments.length?(rootElement=functor(v),tip2):rootElement},tip2.destroy=function(){return node&&(getNodeEl().remove(),node=null),tip2};function d3TipDirection(){return"n"}function d3TipOffset(){return[0,0]}function d3TipHTML(){return" "}const directionCallbacks=common.map({n:directionNorth,s:directionSouth,e:directionEast,w:directionWest,nw:directionNorthWest,ne:directionNorthEast,sw:directionSouthWest,se:directionSouthEast}),directions=directionCallbacks.keys();function directionNorth(){const bbox=getScreenBBox(window);return{top:bbox.n.y-node.offsetHeight,left:bbox.n.x-node.offsetWidth/2}}function directionSouth(){const bbox=getScreenBBox(window);return{top:bbox.s.y+8,left:bbox.s.x-node.offsetWidth/2}}function directionEast(){const bbox=getScreenBBox(window);return{top:bbox.e.y-node.offsetHeight/2,left:bbox.e.x+8}}function directionWest(){const bbox=getScreenBBox(window);return{top:bbox.w.y-node.offsetHeight/2,left:bbox.w.x-node.offsetWidth-8}}function directionNorthWest(){const bbox=getScreenBBox(window);return{top:bbox.nw.y-node.offsetHeight,left:bbox.nw.x-node.offsetWidth}}function directionNorthEast(){const bbox=getScreenBBox(window);return{top:bbox.ne.y-node.offsetHeight,left:bbox.ne.x}}function directionSouthWest(){const bbox=getScreenBBox(window);return{top:bbox.sw.y,left:bbox.sw.x-node.offsetWidth}}function directionSouthEast(){const bbox=getScreenBBox(window);return{top:bbox.se.y,left:bbox.se.x}}function initNode(){const div=common.select(document.createElement("div"));return div.attr("class","d3-tip").style("position","absolute").style("top","0px").style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),div.node()}function getSVGNode(element){const svgNode=element.node();return svgNode?svgNode.tagName.toLowerCase()==="svg"?svgNode:svgNode.ownerSVGElement:null}function getNodeEl(){return node==null&&(node=initNode(),rootElement().appendChild(node)),common.select(node)}function getScreenBBox(targetShape){let targetel=target||targetShape;for(;targetel.getCTM==null&&targetel.parentNode!=null;)targetel=targetel.parentNode;const bbox={},matrix=targetel.getCTM(),tbbox=targetel.getBBox(),width=tbbox.width,height=tbbox.height,x=tbbox.x,y=tbbox.y;return point.x=x,point.y=y,bbox.nw=point.matrixTransform(matrix),point.x+=width,bbox.ne=point.matrixTransform(matrix),point.y+=height,bbox.se=point.matrixTransform(matrix),point.x-=width,bbox.sw=point.matrixTransform(matrix),point.y-=height/2,bbox.w=point.matrixTransform(matrix),point.x+=width,bbox.e=point.matrixTransform(matrix),point.x-=width/2,point.y-=height/2,bbox.n=point.matrixTransform(matrix),point.y+=height,bbox.s=point.matrixTransform(matrix),bbox}function functor(v){return typeof v=="function"?v:function(){return v}}return tip2}function ITooltip(){if(this.tooltip=tip(),this.tooltipLabelFormat_exists()&&(this._labelFormatter=common.format(this.tooltipLabelFormat())),this.tooltipValueFormat_exists()&&(this._valueFormatter=common.format(this.tooltipValueFormat())),this.layerEnter){const layerEnter=this.layerEnter;this.layerEnter=function(_base,svgElement,_domElement){this._parentOverlay||(this._parentOverlay=_base._parentOverlay),this.tooltipEnter(svgElement),layerEnter.apply(this,arguments)};const layerUpdate=this.layerUpdate;this.layerUpdate=function(_base){layerUpdate.apply(this,arguments),this.tooltipUpdate()};const layerExit=this.layerExit;this.layerExit=function(_base){this.tooltipExit(),layerExit.apply(this,arguments)}}else{const enter=this.enter;this.enter=function(_domNode,element){this.tooltipEnter(element),enter.apply(this,arguments)};const update=this.update;this.update=function(_domNode,_element){update.apply(this,arguments),this.tooltipUpdate()};const exit=this.exit;this.exit=function(_domNode,_element){this.tooltipExit(),exit.apply(this,arguments)}}}ITooltip.prototype=Object.create(common.Widget.prototype),ITooltip.prototype.constructor=ITooltip,ITooltip.prototype.tooltipEnter=function(element){const overlayElement=this.parentOverlay();overlayElement.empty()||this.tooltip.rootElement(overlayElement.node().parentNode),element.call(this.tooltip)},ITooltip.prototype.tooltipUpdate=function(){this.tooltip.offset(()=>{if(event&&this.tooltipFollowMouse()){const d3tipElement=document.querySelector(".d3-tip");return d3tipElement.style.display="block",d3tipElement.style.left=this.tooltipOffset()+event.clientX+"px",d3tipElement.style.top=event.clientY+"px",[]}switch(this.tooltip.direction()()){case"e":return[0,this.tooltipOffset()];default:return[-this.tooltipOffset(),0]}});let classed=this.tooltip.attr("class");classed&&(classed=classed.split(" notick").join("")+(this.tooltipTick()?"":" notick")+(this.tooltipStyle()==="none"?" hidden":""),classed=classed.split(" ").filter(function(_class){return _class.indexOf("ITooltip-tooltipStyle-")!==0}).join(" "),classed+=" ITooltip-tooltipStyle-"+this.tooltipStyle(),this.tooltip.attr("class",classed))},ITooltip.prototype.tooltipExit=function(){this.tooltip&&this.tooltip.destroy()},ITooltip.prototype._tooltipHTML=function(d){return d},ITooltip.prototype.tooltipHTML=function(_){return this.tooltip.html(_)},ITooltip.prototype.tooltipFormat=function(opts={}){switch(opts.label=opts.label===void 0?"":opts.label,this._labelFormatter?opts.label=this._labelFormatter(opts.label)||"":this.formatData&&this.parseData&&(opts.label=this.formatData(this.parseData(opts.label))),opts.series=opts.series||"",opts.value instanceof Date?opts.value=opts.value||"":this._valueFormatter?opts.value=this._valueFormatter(opts.value)||"":this.formatValue&&this.parseValue&&(opts.value=this.formatValue(this.parseValue(opts.value))),this.tooltipStyle()){case"none":break;case"series-table":let html='<table class="ITooltip-series-table"><thead><tr><th colspan="2">'+opts.label+"</th></tr></thead><tbody>";return opts.arr.forEach(function(row){html+="<tr>",html+="<td>",html+='<div class="series-table-row-color" style="background-color:'+row.color+'"></div>',html+='<div class="series-table-row-label">'+row.label+"</div>",html+="</td>",html+='<td><div class="series-table-row-value">'+row.value+"</div></td>",html+="</tr>"}),html+="</tbody>",html+="</table>",html;default:return opts.series?"<span style='color:"+this.tooltipSeriesColor()+"'>"+opts.series+"</span> / <span style='color:"+this.tooltipLabelColor()+"'>"+opts.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+opts.value+"</span>":opts.label!==""?"<span style='color:"+this.tooltipLabelColor()+"'>"+opts.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+opts.value+"</span>":"<span style='color:"+this.tooltipValueColor()+"'>"+opts.value+"</span>"}},ITooltip.prototype.tooltipKeyValueFormat=function(titleKey,obj){let body="";for(const key in obj)if(key!==titleKey){const value=obj&&obj[key]?obj[key]:"";body+=`<tr><td style="${this.tooltipLabelColor_exists()?"color:"+this.tooltipLabelColor():""}">${key}</td><td style="font-weight:normal">${value}</td></tr>`}return`<table>
2
- <thead>
3
- <tr><th colspan="2" style="font-weight:bold;font-size:16px">${obj[titleKey]}</th></tr>
4
- </thead>
5
- <tbody>
6
- ${body}
7
- </tbody>
8
- </table>`},ITooltip.prototype.publish("tooltipStyle","default","set","Style mode",["default","none","series-table"],{}),ITooltip.prototype.publish("tooltipFollowMouse",!1,"boolean","If true, the tooltip will follow mouse movement",null,{}),ITooltip.prototype.publish("tooltipLabelFormat",void 0,"string","Format of tooltip label(s) (the domain axis)",null,{}),ITooltip.prototype.publish("tooltipValueFormat",void 0,"string","Number format of tooltip value(s)",null,{}),ITooltip.prototype.publish("tooltipSeriesColor","#EAFFFF","html-color","Color of tooltip series text",null,{}),ITooltip.prototype.publish("tooltipLabelColor","#CCFFFF","html-color","Color of tooltip label text (the domain axis)",null,{}),ITooltip.prototype.publish("tooltipValueColor","white","html-color","Color of tooltip value(s)",null,{}),ITooltip.prototype.publish("tooltipTick",!0,"boolean","Show tooltip tick",null,{}),ITooltip.prototype.publish("tooltipOffset",8,"number","Offset from the cursor",null,{});const tooltipLabelFormat=ITooltip.prototype.tooltipLabelFormat;ITooltip.prototype.tooltipLabelFormat=function(_){const retVal=tooltipLabelFormat.apply(this,arguments);return arguments.length&&(this._labelFormatter=common.format(_)),retVal};const tooltipValueFormat=ITooltip.prototype.tooltipValueFormat;ITooltip.prototype.tooltipValueFormat=function(_){const retVal=tooltipValueFormat.apply(this,arguments);return arguments.length&&(this._valueFormatter=common.format(_)),retVal};function ITree(){}ITree.prototype.constructor=ITree,ITree.prototype.click=function(row,column,selected){},ITree.prototype.dblclick=function(row,column,selected){},ITree.prototype._palette=common.Palette.ordinal("default"),exports2.BUILD_VERSION=BUILD_VERSION,exports2.I1DChart=I1DChart,exports2.I2DAggrChart=I2DAggrChart,exports2.I2DChart=I2DChart,exports2.IGraph=IGraph,exports2.IInput=IInput,exports2.INDChart=INDChart,exports2.ITooltip=ITooltip,exports2.ITree=ITree,exports2.PKG_NAME=PKG_NAME,exports2.PKG_VERSION=PKG_VERSION,exports2.instanceOfIHighlight=instanceOfIHighlight,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
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.2.1",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.2.0",t.instanceOfIHighlight=s,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
9
2
  //# sourceMappingURL=index.umd.cjs.map
10
- (function(){"use strict";try{if(typeof document<"u"){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(r){console.error("vite-plugin-css-injected-by-js",r)}})();
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)}}();
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.cjs","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 = \"@hpcc-js/api\";\nexport const PKG_VERSION = \"3.2.0\";\nexport const BUILD_VERSION = \"3.2.1\";\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":["Palette","d3Hsl","Widget","tip","i","selection","map","select","d3Format"],"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 = \"@hpcc-js/api\";\nexport const PKG_VERSION = \"3.2.0\";\nexport const BUILD_VERSION = \"3.2.1\";\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.3.7",
3
+ "version": "3.3.9",
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.3.7"
40
+ "@hpcc-js/common": "^3.3.9"
41
41
  },
42
42
  "devDependencies": {
43
- "@hpcc-js/esbuild-plugins": "^1.4.7",
43
+ "@hpcc-js/esbuild-plugins": "^1.4.9",
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": "44cd47dfe0d954df395002c2d5ce222a73d73f2a"
60
+ "gitHead": "92489547b0e57f479a691236b1a47e977b43cf2e"
61
61
  }