@hpcc-js/api 2.9.1 → 2.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es6.js +213 -264
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +213 -264
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -16
- package/dist/index.min.js.map +1 -1
- package/package.json +4 -4
- package/src/I1DChart.ts +0 -2
- package/src/I2DAggrChart.ts +0 -2
- package/src/I2DChart.ts +0 -2
- package/src/IGraph.ts +0 -4
- package/src/IInput.ts +59 -59
- package/src/INDChart.ts +0 -2
- package/src/ITooltip.ts +140 -145
- package/src/ITree.ts +10 -10
- package/src/__package__.ts +2 -2
- package/types/IInput.d.ts +5 -17
- package/types/IInput.d.ts.map +1 -1
- package/types/ITooltip.d.ts +5 -26
- package/types/ITooltip.d.ts.map +1 -1
- package/types/ITree.d.ts +1 -5
- package/types/ITree.d.ts.map +1 -1
- package/types/__package__.d.ts +2 -2
- package/types/__package__.d.ts.map +1 -1
- package/types-3.4/IInput.d.ts +5 -17
- package/types-3.4/ITooltip.d.ts +5 -26
- package/types-3.4/ITree.d.ts +1 -5
- package/types-3.4/__package__.d.ts +2 -2
package/dist/index.es6.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es6.js","sources":["../src/__package__.ts","../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../../../node_modules/tslib/tslib.es6.js","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../../../node_modules/style-inject/dist/style-inject.es.js","../src/ITooltip.ts","../src/ITree.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/api\";\r\nexport const PKG_VERSION = \"2.9.1\";\r\nexport const BUILD_VERSION = \"2.102.4\";\r\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 console.log(\"Click: \" + JSON.stringify(row) + \", \" + column + \", \" + selected);\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n console.log(\"Double click: \" + JSON.stringify(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 console.log(\"Click: \" + JSON.stringify(row) + \", \" + column + \", \" + selected);\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n console.log(\"Double click: \" + JSON.stringify(row) + \", \" + 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 console.log(\"Click: \" + JSON.stringify(row) + \", \" + column + \", \" + selected);\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n console.log(\"Double click: \" + JSON.stringify(row) + \", \" + 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 console.log(\"Vertex click: \" + more.vertex.id());\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n console.log(\"Vertex double click: \" + more.vertex.id());\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n console.log(\"Edge click: \" + more.edge.id());\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n console.log(\"Edge double click: \" + more.edge.id());\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Widget } from \"@hpcc-js/common\";\n\nexport abstract class IInput extends Widget {\n _inputElement;\n\n constructor() {\n super();\n }\n\n abstract target(): any;\n abstract target(_: any): this;\n\n // Implementation ---\n isValid() {\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\n hasValue() {\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 ---\n blur(_w) {\n }\n keyup(_w) {\n }\n focus(_w) {\n }\n click(_w) {\n }\n dblclick(_w) {\n }\n change(_w, complete: boolean) {\n }\n\n resetValue(w) {\n w.value(w._inputElement[0].node().value);\n }\n\n disable(disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n }\n\n setFocus() {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n }\n\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 console.log(\"Click: \" + JSON.stringify(row) + \", \" + column + \", \" + selected);\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n console.log(\"Double click: \" + JSON.stringify(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);\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(_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 // eslint-disable-next-line no-unused-vars\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 // eslint-disable-next-line no-unused-vars\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","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip\";\n\n// const tip = _tip.tip || _tip.default || _tip;\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\nexport abstract class ITooltip extends Widget {\n protected _valueFormatter;\n layerEnter;\n layerUpdate;\n layerExit;\n tooltip = tip();\n\n constructor() {\n super();\n\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\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 }\n\n abstract target(): any;\n abstract target(_: any): this;\n\n tooltipEnter(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\n tooltipUpdate() {\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\n tooltipExit() {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n }\n\n _tooltipHTML(d) {\n return d;\n }\n\n tooltipHTML(_) {\n return this.tooltip.html(_);\n }\n\n tooltipFormat(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 opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else {\n opts.value = this._valueFormatter(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\n tooltipKeyValueFormat(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\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipValueFormat: (_?) => string | ITooltip;\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(\"tooltipValueFormat\", \",.2f\", \"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\", 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 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\nexport class ITree {\n _palette;\n\n // Events ---\n click(row, column, selected) {\n console.log(\"Click: \" + JSON.stringify(row) + \", \" + column + \", \" + selected);\n }\n\n dblclick(row, column, selected) {\n console.log(\"Double click: \" + JSON.stringify(row) + \", \" + column + \", \" + selected);\n }\n}\nITree.prototype._palette = Palette.ordinal(\"default\");\n"],"names":["d3Hsl","d3Format"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es6.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","../../../node_modules/style-inject/dist/style-inject.es.js","../src/ITooltip.ts","../src/ITree.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/api\";\r\nexport const PKG_VERSION = \"2.10.1\";\r\nexport const BUILD_VERSION = \"2.103.1\";\r\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);\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(_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 // eslint-disable-next-line no-unused-vars\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 // eslint-disable-next-line no-unused-vars\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","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip\";\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() {\n this.tooltip = tip();\n\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\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 opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else {\n opts.value = this._valueFormatter(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 tooltipValueFormat: (_?) => string | ITooltip;\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(\"tooltipValueFormat\", \",.2f\", \"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\", 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 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","d3Format"],"mappings":"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"}
|