@hpcc-js/eclwatch 2.73.21 → 2.73.24

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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/__package__.ts","../node_modules/tslib/tslib.es6.js","../src/ECLArchiveViewer.ts","../../../node_modules/style-inject/dist/style-inject.es.js","../src/WUGraphLegend.ts","../src/WUScopeController.ts","../src/WUGraph.ts","../src/WUResultStore.ts","../src/WUResult.ts","../src/WUStatus.ts","../src/WUTimeline.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/eclwatch\";\r\nexport const PKG_VERSION = \"2.73.21\";\r\nexport const BUILD_VERSION = \"2.104.24\";\r\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { Editor } from \"@hpcc-js/codemirror\";\nimport { Workunit } from \"@hpcc-js/comms\";\nimport { SplitPanel } from \"@hpcc-js/phosphor\";\nimport { DirectoryTree } from \"@hpcc-js/tree\";\nimport { hashSum, xml2json } from \"@hpcc-js/util\";\n\nexport class ECLArchiveViewer extends SplitPanel {\n private _prevHash;\n private _contentStr;\n public _directoryPane = new DirectoryTree();\n public _fileEditorPane = new Editor()\n .text(\"\")\n ;\n\n constructor() {\n super(\"horizontal\");\n this._directoryPane.rowClick = (text) => {\n this._fileEditorPane\n .text(text)\n .render()\n ;\n };\n }\n\n protected transformArchiveTreeData(json) {\n const ret = {\n label: json.name,\n children: json._children.map(transformNode).filter(n => n)\n };\n\n if (ret.children && ret.children[0] && ret.children[0].label === \"html\") {\n // must be parsererror\n return {\n label: \"root\",\n children: [\n {\n label: \"error\",\n content: JSON.stringify(ret, null, 4)\n }\n ]\n };\n }\n return ret;\n\n function transformNode(node) {\n const _node: any = {};\n _node.label = node.name + (node[\"$\"] && node[\"$\"].key ? ` (${node[\"$\"].key})` : \"\");\n if (node._children && node._children.length > 0) {\n _node.children = node._children.map(_node => {\n return transformNode(_node);\n })\n .filter(n => n)\n ;\n } else if (typeof node.content === \"string\" && node.content.trim()) {\n _node.content = node.content;\n } else {\n return false;\n }\n return _node;\n }\n }\n\n updateDirectoryPane(contentStr) {\n let json;\n if (contentStr) {\n try {\n json = JSON.parse(contentStr);\n } catch (e) {\n json = xml2json(contentStr);\n }\n }\n if (json) {\n const _data = this.transformArchiveTreeData(json);\n this._directoryPane\n .data(_data)\n .render()\n ;\n }\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this\n .addWidget(this._directoryPane)\n .addWidget(this._fileEditorPane)\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const hash = hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid()\n });\n\n if (this._prevHash !== hash || typeof this._contentStr === \"undefined\") {\n Workunit.attach({ baseUrl: this.baseUrl() }, this.wuid())\n .fetchArchive()\n .then(resp => {\n\n this._contentStr = resp;\n this.updateDirectoryPane(this._contentStr);\n\n this._prevHash = hash;\n });\n } else {\n this.updateDirectoryPane(this._contentStr);\n }\n\n this.relativeSizes([this.directoryWidthRatio(), 1 - this.directoryWidthRatio()]);\n }\n}\nECLArchiveViewer.prototype._class += \" eclwatch_ECLArchiveViewer\";\n\nexport interface ECLArchiveViewer {\n directoryPaneColor(): string;\n directoryPaneColor(_: string): this;\n directoryPaneHoverColor(): string;\n directoryPaneHoverColor(_: string): this;\n fontColor(): string;\n fontColor(_: string): this;\n fontFamily(): string;\n fontFamily(_: string): this;\n fontSize(): number;\n fontSize(_: number): this;\n fileIconSize(): number;\n fileIconSize(_: number): this;\n folderIconOpen(): string;\n folderIconOpen(_: string): this;\n folderIconClosed(): string;\n folderIconClosed(_: string): this;\n textFileIcon(): string;\n textFileIcon(_: string): this;\n codeFileIcon(): string;\n codeFileIcon(_: string): this;\n verticalScroll(): boolean;\n verticalScroll(_: boolean): this;\n directoryWidthRatio(): number;\n directoryWidthRatio(_: number): this;\n baseUrl(): string;\n baseUrl(_: string): this;\n wuid(): string;\n wuid(_: string): this;\n}\nECLArchiveViewer.prototype.publish(\"baseUrl\", \"\", \"string\", \"HPCC Platform Base URL\");\nECLArchiveViewer.prototype.publish(\"wuid\", \"\", \"string\", \"Workunit ID\");\nECLArchiveViewer.prototype.publish(\"directoryWidthRatio\", 0.38, \"number\", \"Default directory panel width ratio relative to the full width\");\nECLArchiveViewer.prototype.publish(\"contentString\", null, \"string\", \"XML/JSON archive content string\");\nECLArchiveViewer.prototype.publishProxy(\"directoryPaneColor\", \"_directoryPane\", \"backgroundColor\");\nECLArchiveViewer.prototype.publishProxy(\"directoryPaneHoverColor\", \"_directoryPane\", \"hoverBackgroundColor\");\nECLArchiveViewer.prototype.publishProxy(\"iconSize\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"fontColor\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"fontFamily\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"fontSize\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"folderIconOpen\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"folderIconClosed\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"textFileIcon\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"codeFileIcon\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"verticalScroll\", \"_directoryPane\");\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 { Vertex } from \"@hpcc-js/graph\";\nimport { Legend } from \"@hpcc-js/layout\";\nimport { local as d3Local, select as d3Select } from \"d3-selection\";\n\nimport \"../src/WUGraphLegend.css\";\n\nexport interface WUGraphLegendData {\n kind: number;\n faChar: string;\n label: string;\n count: number;\n}\n\nclass LegendVertex extends Vertex {\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._icon.on(\"click\", () => {\n this.click(this.data());\n });\n }\n\n click(kind: number) {\n }\n}\n\nexport class WUGraphLegend extends Legend {\n\n private icon = d3Local<Vertex>();\n protected _disabled2: { [kind: number]: boolean } = {\n /* TODO: Default some to disabled?\n 43: true,\n 71: true,\n 82: true,\n 88: true\n */\n };\n\n disabled(): number[];\n disabled(_: number[]): this;\n disabled(_?: number[]): number[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const key in this._disabled2) {\n if (this._disabled2[key]) {\n retVal.push(key);\n }\n }\n return retVal;\n }\n this._disabled2 = {};\n _.forEach(kind => this._disabled2[kind] = true);\n return this;\n }\n\n toggle(kind: number) {\n this._disabled2[kind] = !this._disabled2[kind];\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const context = this;\n const items = this._g.selectAll(\".legendItem\").data(this.data(), (d: any) => d.kind);\n items.enter().append(\"g\")\n .attr(\"class\", \"legendItem\")\n .each(function (this: HTMLElement, d) {\n context.icon.set(this, new LegendVertex()\n .target(this)\n .data(d.kind)\n .textbox_shape_colorStroke(\"none\")\n .textbox_shape_colorFill(\"none\")\n .iconAnchor(\"left\")\n .faChar(d.faChar)\n .text(`${d.label} (${d.count})`)\n .tooltip(`${d.kind} - ${d.label}`)\n .on(\"click\", kind => {\n context.toggle(kind);\n context.render();\n context.click(kind);\n })\n .on(\"mouseover\", kind => {\n context.mouseover(kind);\n })\n .on(\"mouseout\", kind => {\n context.mouseout(kind);\n })\n );\n })\n .merge(items)\n .each(function (this: HTMLElement, d, i) {\n const bbox = context.icon.get(this)\n .icon_shape_colorFill(context._disabled2[d.kind] ? \"gray\" : null)\n .render().getBBox();\n\n d3Select(this)\n .attr(\"transform\", `translate(${+bbox.width / 2}, ${i * 30})`)\n ;\n })\n ;\n items.exit()\n .each(function (this: HTMLElement, d) {\n context.icon.get(this)\n .target(null)\n .render();\n })\n .remove();\n const bbox = this.getBBox(true, true);\n this._g.attr(\"transform\", `translate(16, ${this.height() / 2 - bbox.height / 2})`);\n }\n\n // Events ---\n click(kind: number) {\n }\n\n mouseover(kind: number) {\n }\n\n mouseout(kind: number) {\n }\n}\nWUGraphLegend.prototype._class += \" eclwatch_WUGraphLegend\";\n","import { Icon } from \"@hpcc-js/common\";\nimport { BaseScope, ScopeEdge, ScopeGraph, ScopeSubgraph, ScopeVertex } from \"@hpcc-js/comms\";\nimport { Edge, IGraphData, Lineage, Subgraph, Vertex } from \"@hpcc-js/graph\";\nimport { Edge as UtilEdge, Subgraph as UtilSubgraph, Vertex as UtilVertex } from \"@hpcc-js/util\";\nimport { WUGraphLegendData } from \"./WUGraphLegend\";\n\nexport type VertexType = Vertex | Icon;\n\nexport interface MyGraphData {\n subgraphs: Subgraph[];\n vertices: VertexType[];\n edges: Edge[];\n hierarchy: Lineage[];\n}\n\nfunction faCharFactory(kind): string {\n switch (kind) {\n case \"2\": return \"\\uf0c7\"; // Disk Write\n case \"3\": return \"\\uf15d\"; // sort\n case \"5\": return \"\\uf0b0\"; // Filter\n case \"6\": return \"\\uf1e0\"; // Split\n case \"12\": return \"\\uf039\"; // First N\n case \"15\": return \"\\uf126\"; // Lightweight Join\n case \"17\": return \"\\uf126\"; // Lookup Join\n case \"22\": return \"\\uf1e6\"; // Pipe Output\n case \"23\": return \"\\uf078\"; // Funnel\n case \"25\": return \"\\uf0ce\"; // Inline Dataset\n case \"26\": return \"\\uf074\"; // distribute\n case \"29\": return \"\\uf005\"; // Store Internal Result\n case \"36\": return \"\\uf128\"; // If\n case \"44\": return \"\\uf0c7\"; // write csv\n case \"47\": return \"\\uf0c7\"; // write\n case \"54\": return \"\\uf013\"; // Workunit Read\n case \"56\": return \"\\uf0c7\"; // Spill\n case \"59\": return \"\\uf126\"; // Merge\n case \"61\": return \"\\uf0c7\"; // write xml\n case \"82\": return \"\\uf1c0\"; // Projected Disk Read Spill\n case \"88\": return \"\\uf1c0\"; // Projected Disk Read Spill\n case \"92\": return \"\\uf129\"; // Limted Index Read\n case \"93\": return \"\\uf129\"; // Limted Index Read\n case \"99\": return \"\\uf1c0\"; // CSV Read\n case \"105\": return \"\\uf1c0\"; // CSV Read\n\n case \"7\": return \"\\uf090\"; // Project\n case \"9\": return \"\\uf0e2\"; // Local Iterate\n case \"16\": return \"\\uf005\"; // Output Internal\n case \"19\": return \"\\uf074\"; // Hash Distribute\n case \"21\": return \"\\uf275\"; // Normalize\n case \"35\": return \"\\uf0c7\"; // CSV Write\n case \"37\": return \"\\uf0c7\"; // Index Write\n case \"71\": return \"\\uf1c0\"; // Disk Read Spill\n case \"133\": return \"\\uf0ce\"; // Inline Dataset\n case \"148\": return \"\\uf0ce\"; // Inline Dataset\n case \"168\": return \"\\uf275\"; // Local Denormalize\n }\n return \"\\uf063\";\n}\n\nexport class WUScopeController {\n private graphDB: ScopeGraph;\n private subgraphsMap: { [id: string]: Subgraph } = {};\n private rSubgraphsMap: { [id: string]: ScopeSubgraph } = {};\n private verticesMap: { [id: string]: VertexType } = {};\n private rVerticesMap: { [id: string]: ScopeVertex } = {};\n private edgesMap: { [id: string]: Edge } = {};\n private rEdgesMap: { [id: string]: ScopeEdge } = {};\n private kindMap: { [id: string]: ScopeVertex[] } = {};\n\n protected _disabled: { [kind: number]: boolean } = {};\n\n constructor() {\n }\n\n clear() {\n this.subgraphsMap = {};\n this.rSubgraphsMap = {};\n this.verticesMap = {};\n this.rVerticesMap = {};\n this.edgesMap = {};\n this.rEdgesMap = {};\n }\n\n set(masterGraph: ScopeGraph) {\n this.graphDB = masterGraph;\n this.graphGui(this.graphDB);\n\n this.kindMap = {};\n this.graphDB.walk(item => {\n if (item instanceof UtilSubgraph) {\n } else if (item instanceof UtilVertex) {\n const kind = item._.attr(\"Kind\").RawValue;\n if (!this.kindMap[kind]) {\n this.kindMap[kind] = [];\n }\n this.kindMap[kind].push(item);\n } else if (item instanceof UtilEdge) {\n }\n });\n }\n\n disabled(): number[];\n disabled(_: number[]): this;\n disabled(_?: number[]): number[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const key in this._disabled) {\n if (this._disabled[key]) {\n retVal.push(key);\n }\n }\n return retVal;\n }\n this._disabled = {};\n _.forEach(kind => this._disabled[kind] = true);\n return this;\n }\n\n graphGui(graphDB: ScopeGraph): IGraphData {\n const graphGui: MyGraphData = {\n subgraphs: [],\n vertices: [],\n edges: [],\n hierarchy: []\n };\n\n graphDB.walk((item) => {\n if (item instanceof UtilSubgraph) {\n const subgraph = this.appendSubgraph(item, graphGui.hierarchy, graphGui.subgraphs);\n subgraph.showMinMax(item.vertices.length > 3 || subgraph.minState() !== \"normal\");\n } else if (item instanceof UtilVertex) {\n this.appendVertex(item, graphGui.hierarchy, graphGui.vertices);\n } else if (item instanceof UtilEdge) {\n this.appendEdge(item, graphGui.edges);\n }\n });\n\n return graphGui;\n }\n\n format(labelTpl, obj) {\n let retVal = \"\";\n let lpos = labelTpl.indexOf(\"%\");\n let rpos = -1;\n while (lpos >= 0) {\n retVal += labelTpl.substring(rpos + 1, lpos);\n rpos = labelTpl.indexOf(\"%\", lpos + 1);\n if (rpos < 0) {\n console.warn(\"Invalid Label Template\");\n break;\n }\n const key = labelTpl.substring(lpos + 1, rpos);\n retVal += !key ? \"%\" : (obj[labelTpl.substring(lpos + 1, rpos)] || \"\");\n lpos = labelTpl.indexOf(\"%\", rpos + 1);\n }\n retVal += labelTpl.substring(rpos + 1, labelTpl.length);\n return retVal.split(\"\\\\n\").join(\"\\n\");\n }\n\n createSubgraph(subgraph: ScopeSubgraph): Subgraph {\n let sg = this.subgraphsMap[subgraph._.Id];\n if (!sg) {\n sg = new Subgraph()\n .title(subgraph._.Id)\n .on(\"minClick\", () => {\n this.minClick(sg);\n })\n ;\n this.subgraphsMap[subgraph._.Id] = sg;\n this.rSubgraphsMap[sg.id()] = subgraph;\n }\n return sg;\n }\n\n createVertex(vertex: ScopeVertex): VertexType {\n let v = this.verticesMap[vertex._.Id];\n if (!v) {\n const attrs = vertex._.rawAttrs();\n if (vertex._.ScopeType === \"dummy\") {\n const parent = this.subgraphsMap[vertex.parent._.Id];\n v = new Icon()\n .shape_colorFill(\"darkred\")\n .shape_colorStroke(\"darkred\")\n .image_colorFill(\"white\")\n .faChar(\"\\uf067\")\n .on(\"click\", () => {\n parent.minState(\"normal\");\n this.minClick(parent);\n })\n ;\n } else {\n v = new Vertex()\n .icon_shape_colorFill(\"#1f77b4\")\n .icon_image_colorFill(\"white\")\n .faChar(faCharFactory(attrs[\"Kind\"]))\n .text(attrs[\"Label\"])\n ;\n const annotations = [];\n if (vertex._.hasAttr(\"Definition\")) {\n annotations.push({\n faChar: \"\\uf036\",\n tooltip: \"Definition\",\n shape_colorFill: \"lightgray\",\n shape_colorStroke: \"lightgray\",\n image_colorFill: \"black\"\n });\n }\n if (vertex._.hasAttr(\"IsInternal\")) {\n annotations.push({\n faChar: \"\\uf085\",\n tooltip: \"IsInternal\",\n shape_colorFill: \"red\",\n shape_colorStroke: \"red\",\n image_colorFill: \"white\"\n });\n }\n v.annotationIcons(annotations);\n }\n this.verticesMap[vertex._.Id] = v;\n this.rVerticesMap[v.id()] = vertex;\n }\n return v;\n }\n\n isSpill(edge: ScopeEdge): boolean {\n const sourceKind = edge.source._.attr(\"Kind\").RawValue;\n const targetKind = edge.target._.attr(\"Kind\").RawValue;\n return sourceKind === \"2\" || targetKind === \"71\";\n }\n\n spansSubgraph(edge: ScopeEdge): boolean {\n return edge.source.parent._.Id !== edge.target.parent._.Id;\n }\n\n createEdge(edge: ScopeEdge): Edge | undefined {\n let e = this.edgesMap[edge._.Id];\n if (!e) {\n const attrs = edge._.rawAttrs();\n const sourceV = this.verticesMap[edge.source._.Id];\n const targetV = this.verticesMap[edge.target._.Id];\n if (sourceV && targetV) {\n const isSpill = this.isSpill(edge);\n const spansSubgraph = this.spansSubgraph(edge);\n\n const label = this.format(\"%Label%\\n%NumRowsProcessed%\", attrs);\n /* TODO: Add extra annotations once WUDetails is fixed...\n const numSlaves = parseInt(attrs[\"NumSlaves\"]);\n const numStarts = parseInt(attrs[\"NumStarts\"]);\n const numStops = parseInt(attrs[\"NumStops\"]);\n const started = numStarts > 0;\n const finished = numStops === numSlaves;\n const active = started && !finished;\n */\n\n let strokeDasharray = null;\n let weight = 100;\n if (attrs[\"IsDependency\"]) {\n weight = 10;\n strokeDasharray = \"1,5\";\n } else if (attrs[\"_childGraph\"]) {\n strokeDasharray = \"5,5\";\n } else if (isSpill) {\n weight = 25;\n strokeDasharray = \"5,5,10,5\";\n } else if (spansSubgraph) {\n weight = 5;\n strokeDasharray = \"5,5\";\n }\n e = new Edge()\n .sourceVertex(sourceV)\n .targetVertex(targetV)\n .sourceMarker(\"circle\")\n .targetMarker(\"arrow\")\n .weight(weight)\n .strokeDasharray(strokeDasharray)\n .text(label)\n ;\n this.edgesMap[edge._.Id] = e;\n this.rEdgesMap[e.id()] = edge;\n }\n }\n return e;\n }\n\n appendSubgraph(subgraph: ScopeSubgraph, hierarchy: Lineage[], subgraphs: Subgraph[]): Subgraph {\n const sg = this.createSubgraph(subgraph);\n subgraphs.push(sg);\n const parent = this.subgraphsMap[subgraph.parent._.Id];\n if (parent) {\n hierarchy.push({ parent, child: sg });\n }\n return sg;\n }\n\n appendVertex(vertex: ScopeVertex, hierarchy: Lineage[], vertices: VertexType[]): VertexType {\n const v = this.createVertex(vertex);\n vertices.push(v);\n const parent = this.subgraphsMap[vertex.parent._.Id];\n if (parent) {\n hierarchy.push({ parent, child: v });\n }\n return v;\n }\n\n appendEdge(edge: ScopeEdge, edges: Edge[]): Edge {\n const e = this.createEdge(edge);\n if (e) {\n edges.push(e);\n }\n return e;\n }\n\n filterLegend(graphDB: ScopeGraph) {\n for (let i = graphDB.vertices.length - 1; i >= 0; --i) {\n const vertex = graphDB.vertices[i];\n const kind = vertex._.attr(\"Kind\").RawValue;\n if (this._disabled[kind]) {\n vertex.remove(false, (source: BaseScope, target: BaseScope) => {\n return new BaseScope({\n ScopeName: vertex._.ScopeName + \":in\",\n Id: source.Id + \"->\" + target.Id,\n ScopeType: \"dummy-edge\",\n Properties: {\n Property: [vertex._.attr(\"Label\")]\n },\n Notes: {\n Note: []\n }\n });\n });\n }\n }\n }\n\n filterPartial(graphDB: ScopeGraph) {\n for (const subgraph of graphDB.subgraphs) {\n const sg = this.subgraphsMap[subgraph._.Id];\n switch (sg.minState()) {\n case \"partial\":\n const childVertices: ReadonlyArray<ScopeVertex> = subgraph.vertices;\n const vShow: ScopeVertex[] = [];\n const vHide: ScopeVertex[] = [];\n\n for (const vertex of childVertices) {\n if (vertex.inEdges.length === 0 || vertex.inEdges.some(edge => edge.source.parent !== edge.target.parent) ||\n vertex.outEdges.length === 0 || vertex.outEdges.some(edge => edge.source.parent !== edge.target.parent)) {\n vShow.push(vertex);\n } else {\n vHide.push(vertex);\n }\n }\n\n if (vHide.length > 1) {\n const dummyDetails = {\n ScopeName: subgraph._.ScopeName,\n Id: subgraph._.Id + \":dummy\",\n ScopeType: \"dummy\",\n Properties: {\n Property: [{\n Name: \"Activities\",\n RawValue: \"\" + vHide.length,\n Formatted: \"\" + vHide.length,\n Measure: \"count\",\n Creator: \"\",\n CreatorType: \"\"\n }]\n },\n Notes: {\n Note: []\n }\n };\n const dummyScope = new BaseScope(dummyDetails);\n const dummyVertex = subgraph.createVertex(dummyScope);\n\n for (const vertex of vHide) {\n for (const edge of vertex.inEdges) {\n if (vShow.indexOf(edge.source) >= 0) {\n const dummyEdgeScope = new BaseScope({\n ScopeName: edge.source._.ScopeName,\n Id: edge.source._.Id + \"->\" + dummyVertex._.Id,\n ScopeType: \"dummy-in\",\n Properties: {\n Property: []\n },\n Notes: {\n Note: []\n }\n });\n subgraph.createEdge(edge.source, dummyVertex, dummyEdgeScope);\n }\n }\n for (const edge of vertex.outEdges) {\n if (vShow.indexOf(edge.target) >= 0) {\n const dummyEdgeScope = new BaseScope({\n ScopeName: edge.target._.ScopeName,\n Id: dummyVertex._.Id + \"->\" + edge.target._.Id,\n ScopeType: \"dummy-out\",\n Properties: {\n Property: []\n },\n Notes: {\n Note: []\n }\n });\n subgraph.createEdge(dummyVertex, edge.target, dummyEdgeScope);\n }\n }\n }\n vHide.forEach(vertex => vertex.remove(true));\n }\n break;\n }\n }\n }\n\n filterEmptySubgraphs(graphDB: ScopeGraph) {\n while (true) {\n const emptySubgraphs = graphDB.subgraphs.filter(subgraph => subgraph.subgraphs.length === 0 && subgraph.vertices.length === 0);\n if (emptySubgraphs.length === 0) break;\n emptySubgraphs.forEach(subgraph => subgraph.remove(true));\n }\n }\n\n removeObsoleteSubgraphs(graphDB: ScopeGraph) {\n for (const subgraph of [...graphDB.subgraphs]) {\n if (subgraph.vertices.length === 0) {\n subgraph.remove(false);\n }\n }\n }\n\n graphData(): IGraphData {\n const graphDB = this.graphDB.clone();\n this.filterLegend(graphDB);\n this.filterPartial(graphDB);\n this.filterEmptySubgraphs(graphDB);\n this.removeObsoleteSubgraphs(graphDB);\n return this.graphGui(graphDB);\n }\n\n calcLegend(): WUGraphLegendData[] {\n const retVal: WUGraphLegendData[] = [];\n for (const kind in this.kindMap) {\n retVal.push({\n kind: parseInt(kind),\n faChar: faCharFactory(kind),\n label: this.kindMap[kind][0]._.attr(\"Label\").RawValue.split(\"\\n\")[0],\n count: this.kindMap[kind].length\n });\n }\n return retVal;\n }\n\n vertices(kind: number): VertexType[] {\n const retVal: VertexType[] = [];\n for (const v of this.kindMap[kind]) {\n retVal.push(this.verticesMap[v._.Id]);\n }\n return retVal;\n }\n\n formatRow(item: ScopeEdge | ScopeSubgraph | ScopeVertex, columns, row) {\n const attrs = item._.formattedAttrs();\n for (const key in attrs) {\n const idx = columns.indexOf(key);\n if (idx === -1) {\n columns.push(key);\n row.push(attrs[key]);\n } else {\n row[idx] = attrs[key];\n }\n }\n for (let i = 0; i < 100; ++i) {\n if (row[i] === undefined) {\n row[i] = \"\";\n }\n }\n return row;\n }\n\n activityData(): { columns: string[], data: any[][] } {\n const columns = [\"Id\", \"Kind\", \"Label\"];\n const data = this.graphDB.vertices.map(v => {\n const row = [parseInt(v._.Id.split(\"a\")[1])];\n return this.formatRow(v, columns, row);\n });\n return { columns, data };\n }\n\n edgeData(): { columns: string[], data: any[][] } {\n const columns = [\"Id\", \"Label\"];\n const data = this.graphDB.edges.map(e => {\n const row = [e._.Id];\n return this.formatRow(e, columns, row);\n });\n return { columns, data };\n }\n\n subgraphData(): { columns: string[], data: any[][] } {\n const columns = [\"Id\", \"Label\"];\n const data = this.graphDB.subgraphs.map(sg => {\n const row = [sg._.Id];\n return this.formatRow(sg, columns, row);\n });\n return { columns, data };\n }\n\n calcGraphTooltip(item: VertexType | Edge) {\n let scope;\n let parentScope;\n if (item instanceof Subgraph) {\n const subgraph = this.rSubgraphsMap[item.id()];\n scope = subgraph._;\n parentScope = subgraph.parent._;\n } else if (item instanceof Vertex || item instanceof Icon) {\n const vertex = this.rVerticesMap[item.id()];\n scope = vertex._;\n parentScope = vertex.parent._;\n } else if (item instanceof Edge) {\n const edge = this.rEdgesMap[item.id()];\n scope = edge._;\n parentScope = edge.parent._;\n }\n if (scope) {\n return scope.calcTooltip(parentScope);\n }\n return \"\";\n }\n\n subgraph(id: string): Subgraph | undefined {\n return this.subgraphsMap[id];\n }\n\n vertex(id: string): VertexType | undefined {\n return this.verticesMap[id];\n }\n\n edge(id: string): Edge {\n return this.edgesMap[id];\n }\n\n // Events ---\n minClick(sg: Subgraph) {\n }\n}\n","import { Button, Spacer, ToggleButton, Widget } from \"@hpcc-js/common\";\nimport { ScopeGraph, Workunit } from \"@hpcc-js/comms\";\nimport { Table } from \"@hpcc-js/dgrid\";\nimport { Graph as GraphWidget, Subgraph, Vertex } from \"@hpcc-js/graph\";\nimport { Carousel, ChartPanel } from \"@hpcc-js/layout\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { WUGraphLegend } from \"./WUGraphLegend\";\nimport { WUScopeController } from \"./WUScopeController\";\n\nimport \"../src/WUGraph.css\";\n\nexport class WUGraph extends ChartPanel {\n\n private _partialAll = new Button().faChar(\"fa-window-restore\").tooltip(\"Partial All\")\n .on(\"click\", () => {\n this.stateClick(this._partialAll);\n });\n\n private _maxAll = new Button().faChar(\"fa-window-maximize\").tooltip(\"Max All\")\n .on(\"click\", () => {\n this.stateClick(this._maxAll);\n });\n\n private _toggleGraph = new ToggleButton().faChar(\"fa-chain\").tooltip(\"Graph\")\n .selected(true)\n .on(\"click\", () => {\n this.viewClick(this._toggleGraph);\n });\n\n private _toggleActivities = new ToggleButton().faChar(\"fa-table\").tooltip(\"Activitiies\")\n .selected(false)\n .on(\"click\", () => {\n this.viewClick(this._toggleActivities);\n });\n\n private _toggleEdges = new ToggleButton().faChar(\"fa-table\").tooltip(\"Edges\")\n .selected(false)\n .on(\"click\", () => {\n this.viewClick(this._toggleEdges);\n });\n\n private _toggleSubgraphs = new ToggleButton().faChar(\"fa-table\").tooltip(\"Subgraphs\")\n .selected(false)\n .on(\"click\", () => {\n this.viewClick(this._toggleSubgraphs);\n });\n\n protected _graph = new GraphWidget()\n .layout(\"Hierarchy\")\n .applyScaleOnLayout(true)\n .showToolbar(false)\n .allowDragging(false)\n ;\n\n private _activities = new Table()\n .pagination(false)\n ;\n\n private _edges = new Table()\n .pagination(false)\n ;\n\n private _subgraphs = new Table()\n .pagination(false)\n ;\n\n protected _legend = new WUGraphLegend(this)\n .on(\"click\", kind => {\n this.render();\n })\n .on(\"mouseover\", kind => {\n const verticesMap: { [id: string]: boolean } = {};\n for (const vertex of this._gc.vertices(kind)) {\n verticesMap[vertex.id()] = true;\n }\n this._graph.highlightVerticies(verticesMap);\n })\n .on(\"mouseout\", kind => {\n this._graph.highlightVerticies();\n })\n ;\n\n protected _view = new Carousel().widgets([this._graph, this._activities, this._edges, this._subgraphs]);\n\n protected _gc = new WUScopeController();\n\n constructor() {\n super();\n this.topOverlay(false);\n this.widget(this._view);\n const buttons: Widget[] = [\n this._toggleGraph,\n this._toggleActivities,\n this._toggleEdges,\n this._toggleSubgraphs,\n new Spacer(),\n this._partialAll,\n this._maxAll,\n new Spacer(),\n ...this._graph.iconBarButtons(),\n new Spacer()];\n this.buttons(buttons.concat(this.buttons()));\n this._gc.minClick = (sg: Subgraph) => {\n this.loadGraph();\n this._graph.render(w => {\n this._graph\n .selection([sg])\n .centerOnItem(sg)\n ;\n });\n };\n\n this._graph.tooltipHTML((v: Vertex) => {\n return this._gc.calcGraphTooltip(v);\n });\n }\n\n stateClick(sourceB: Button) {\n switch (sourceB) {\n case this._partialAll:\n this._graph.data().subgraphs.forEach((sg: Subgraph) => {\n sg.minState(\"partial\");\n });\n break;\n case this._maxAll:\n this._graph.data().subgraphs.forEach((sg: Subgraph) => {\n sg.minState(\"normal\");\n });\n break;\n }\n this.render();\n }\n\n viewClick(sourceTB: ToggleButton) {\n this._toggleGraph.selected(sourceTB === this._toggleGraph);\n this._toggleActivities.selected(sourceTB === this._toggleActivities);\n this._toggleEdges.selected(sourceTB === this._toggleEdges);\n this._toggleSubgraphs.selected(sourceTB === this._toggleSubgraphs);\n switch (sourceTB) {\n case this._toggleGraph:\n this._view.active(0);\n break;\n case this._toggleActivities:\n this._view.active(1);\n break;\n case this._toggleEdges:\n this._view.active(2);\n break;\n case this._toggleSubgraphs:\n this._view.active(3);\n break;\n }\n this.render(w => {\n });\n }\n\n private _prevHashSum;\n private _prevScopeGraph: ScopeGraph;\n fetchScopeGraph(): Promise<ScopeGraph> {\n const hash = hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid(),\n graphID: this.graphID(),\n subgraphID: this.subgraphID()\n });\n if (!this._prevScopeGraph || this._prevHashSum !== hash) {\n this.startProgress();\n this._prevHashSum = hash;\n this._gc.clear();\n const wu = Workunit.attach({ baseUrl: this.baseUrl() }, this.wuid());\n return wu.fetchGraphs().then(graphs => {\n for (const graph of graphs) {\n if (graph.Name === this.graphID()) {\n this.finishProgress();\n return graph.fetchScopeGraph(this.subgraphID());\n }\n }\n }).then(scopeGraph => {\n this._prevScopeGraph = scopeGraph;\n return this._prevScopeGraph;\n });\n }\n return Promise.resolve(this._prevScopeGraph);\n }\n\n enter(domNode, _element) {\n super.enter(domNode, _element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n\n loadGraph() {\n this._gc.disabled(this._legend.disabled());\n this._graph\n .data(this._gc.graphData(), true)\n ;\n {\n const { columns, data } = this._gc.activityData();\n this._activities\n .columns(columns)\n .data(data)\n ;\n }\n {\n const { columns, data } = this._gc.edgeData();\n this._edges\n .columns(columns)\n .data(data)\n ;\n }\n {\n const { columns, data } = this._gc.subgraphData();\n this._subgraphs\n .columns(columns)\n .data(data)\n ;\n }\n }\n\n render(callback?: (w: Widget) => void): this {\n if (this.wuid() && this.graphID()) {\n this.fetchScopeGraph().then(scopedGraph => {\n this._gc.set(scopedGraph);\n this._legend.data(this._gc.calcLegend());\n this.loadGraph();\n super.render(callback);\n });\n } else {\n super.render(callback);\n }\n return this;\n }\n\n selection(_?) {\n if (!arguments.length) return this._graph.selection();\n const item = this._gc.vertex(_) || this._gc.edge(_) || this._gc.subgraph(_);\n if (item) {\n this._graph.selection([item]);\n }\n return this;\n }\n}\nWUGraph.prototype._class += \" eclwatch_WUGraph\";\n\nexport interface WUGraph {\n baseUrl(): string;\n baseUrl(_: string): this;\n wuid(): string;\n wuid(_: string): this;\n graphID(): string;\n graphID(_: string): this;\n subgraphID(): string;\n subgraphID(_: string): this;\n}\n\nWUGraph.prototype.publish(\"baseUrl\", \"\", \"string\", \"HPCC Platform Base URL\");\nWUGraph.prototype.publish(\"wuid\", \"\", \"string\", \"Workunit ID\");\nWUGraph.prototype.publish(\"graphID\", \"\", \"string\", \"Graph ID\");\nWUGraph.prototype.publish(\"subgraphID\", \"\", \"string\", \"Subgraph ID\");\n","import { ResultFilter, Result, XSDSchema, XSDXMLNode } from \"@hpcc-js/comms\";\nimport { ColumnType, Deferred, domConstruct, QueryResults, RowFormatter } from \"@hpcc-js/dgrid\";\n\nfunction entitiesEncode(str) {\n return String(str).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\");\n}\n\nfunction safeEncode(item) {\n switch (Object.prototype.toString.call(item)) {\n case \"[object Undefined]\":\n case \"[object Boolean]\":\n case \"[object Number]\":\n return item;\n case \"[object String]\":\n return entitiesEncode(item);\n default:\n console.warn(\"Unknown cell type: \" + Object.prototype.toString.call(item));\n }\n return item;\n}\n\nexport class Store {\n protected wuResult: Result;\n protected schema: XSDSchema;\n protected _columns: any[];\n protected _cache: { [key: string]: Promise<{ totalLength: number, data: any[] }> } = {};\n private rowFormatter: RowFormatter;\n protected _filter: ResultFilter = {};\n\n constructor(wuResult: Result, schema: XSDSchema, renderHtml: boolean, filter: ResultFilter = {}) {\n this.wuResult = wuResult;\n this.schema = schema;\n this._columns = this.schema2Columns(this.schema.root);\n this.rowFormatter = new RowFormatter(this._columns, renderHtml);\n this._filter = filter;\n }\n\n columns() {\n return this._columns;\n }\n\n schema2Columns(parentNode: XSDXMLNode, prefix: string = \"\"): ColumnType[] {\n if (!parentNode) return [];\n return parentNode.children().filter(node => node.name.indexOf(\"__hidden\", node.name.length - \"__hidden\".length) === -1).map((node, idx) => {\n const label = node.name;\n const keyed = node.attrs[\"hpcc:keyed\"];\n const column: ColumnType = {\n field: prefix + label,\n leafID: label,\n idx,\n label: label + (keyed ? \" (i)\" : \"\"),\n className: \"resultGridCell\",\n sortable: false,\n width: keyed ? 16 : 0,\n isSet: node.isSet\n };\n const children = this.schema2Columns(node, prefix + label + \"_\");\n if (children.length) {\n column.width += 10 + children.reduce((prev: number, childNode: ColumnType) => {\n return prev + childNode.width!;\n }, 0);\n column.children = children;\n } else {\n column.width += node.charWidth() * 9;\n column.formatter = (cell, row) => {\n switch (typeof cell) {\n case \"string\":\n return {\n html: cell.replace(/\\t/g, \"&nbsp;&nbsp;&nbsp;&nbsp;\").trim()\n };\n case \"undefined\":\n return \"\";\n }\n return cell;\n };\n }\n return column;\n });\n }\n\n isChildDataset(cell) {\n if (Object.prototype.toString.call(cell) !== \"[object Object]\") {\n return false;\n }\n let propCount = 0;\n let firstPropType = null;\n for (const key in cell) {\n if (!firstPropType) {\n firstPropType = Object.prototype.toString.call(cell[key]);\n }\n propCount++;\n }\n return propCount === 1 && firstPropType === \"[object Array]\";\n }\n\n rowToTable(cell, __row, node) {\n if (this.isChildDataset(cell)) { // Don't display \"Row\" as a header ---\n for (const key in cell) {\n this.rowToTable(cell[key], __row, node);\n }\n return;\n }\n\n const table = domConstruct.create(\"table\", { border: 1, cellspacing: 0, width: \"100%\" }, node);\n switch (Object.prototype.toString.call(cell)) {\n case \"[object Object]\":\n let tr = domConstruct.create(\"tr\", null, table);\n for (const key in cell) {\n domConstruct.create(\"th\", { innerHTML: safeEncode(key) }, tr);\n }\n tr = domConstruct.create(\"tr\", null, table);\n for (const key in cell) {\n switch (Object.prototype.toString.call(cell[key])) {\n case \"[object Object]\":\n case \"[object Array]\":\n this.rowToTable(cell[key], __row, node);\n break;\n default:\n domConstruct.create(\"td\", { innerHTML: safeEncode(cell[key]) }, tr);\n break;\n }\n }\n break;\n case \"[object Array]\":\n for (let i = 0; i < cell.length; ++i) {\n switch (Object.prototype.toString.call(cell[i])) {\n case \"[object Boolean]\":\n case \"[object Number]\":\n case \"[object String]\":\n // Item in Scalar ---\n const tr1 = domConstruct.create(\"tr\", null, table);\n domConstruct.create(\"td\", { innerHTML: safeEncode(cell[i]) }, tr1);\n break;\n default:\n // Child Dataset ---\n if (i === 0) {\n const tr2 = domConstruct.create(\"tr\", null, table);\n for (const key in cell[i]) {\n domConstruct.create(\"th\", { innerHTML: safeEncode(key) }, tr2);\n }\n }\n domConstruct.create(\"tr\", null, table);\n for (const key in cell[i]) {\n if (cell[i][key]) {\n if (Object.prototype.toString.call(cell[i][key]) === \"[object Object]\" || Object.prototype.toString.call(cell[i][key]) === \"[object Array]\") {\n const td = domConstruct.create(\"td\", null, tr1);\n this.rowToTable(cell[i][key], cell[i], td);\n } else if (key.indexOf(\"__html\", key.length - \"__html\".length) !== -1) {\n domConstruct.create(\"td\", { innerHTML: cell[i][key] }, tr1);\n } else if (key.indexOf(\"__javascript\", key.length - \"__javascript\".length) !== -1) {\n /*const td = */ domConstruct.create(\"td\", null, tr1);\n // this.injectJavascript(cell[i][key], cell[i], td);\n } else {\n const val = cell[i][key];\n domConstruct.create(\"td\", { innerHTML: safeEncode(val) }, tr1);\n }\n } else {\n domConstruct.create(\"td\", { innerHTML: \"\" }, tr1);\n }\n }\n }\n }\n break;\n }\n }\n\n getIdentity(row) {\n return row.__hpcc_id;\n }\n\n _request(start, end): Promise<{ totalLength: number, data: any[] }> {\n if (!this.wuResult) return Promise.resolve({ totalLength: 0, data: [] });\n const cacheKey = `${start}->${end}`;\n if (this._cache[cacheKey]) return this._cache[cacheKey];\n const retVal = this.wuResult.fetchRows(start, end - start, false, this._filter).then((rows: any[]) => {\n return {\n totalLength: this.wuResult.Total,\n data: rows.map((row, idx) => {\n const formattedRow: any = this.rowFormatter.format(row);\n formattedRow.__hpcc_id = start + idx;\n formattedRow.__hpcc_orig = row;\n return formattedRow;\n })\n };\n });\n this._cache[cacheKey] = retVal;\n return retVal;\n }\n\n fetchRange(options): Promise<any[]> {\n const retVal = new Deferred();\n this._request(options.start, options.end).then(response => retVal.resolve(response));\n return new QueryResults(retVal.then(response => response.data), {\n totalLength: retVal.then(response => response.totalLength)\n });\n }\n}\n","import { publish } from \"@hpcc-js/common\";\nimport { ResultFilter, IOptions, Result } from \"@hpcc-js/comms\";\nimport { Common } from \"@hpcc-js/dgrid\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { Store } from \"./WUResultStore\";\n\nexport class WUResult extends Common {\n\n protected _result: Result;\n protected _localStore: Store;\n\n constructor() {\n super();\n this.renderHtml(false);\n }\n\n @publish(\"\", \"string\", \"URL to WsWorkunits\")\n baseUrl: { (): string, (_: string): WUResult };\n @publish(undefined, \"string\", \"Workunit ID\")\n user: { (): string, (_: string): WUResult };\n @publish(undefined, \"string\", \"User ID\")\n password: { (): string, (_: string): WUResult };\n @publish(undefined, \"string\", \"Password\")\n wuid: { (): string, (_: string): WUResult };\n @publish(undefined, \"string\", \"Result Name\")\n resultName: { (): string, (_: string): WUResult };\n @publish(undefined, \"number\", \"Sequence Number\")\n sequence: { (): number, (_: number): WUResult };\n @publish(\"\", \"string\", \"NodeGroup\")\n nodeGroup: { (): string, (_: string): WUResult };\n @publish(\"\", \"string\", \"Logical File Name\")\n logicalFile: { (): string, (_: string): WUResult };\n @publish({}, \"object\", \"Filter\")\n filter: { (): ResultFilter, (_: ResultFilter): WUResult };\n\n hashSum(opts: any = {}) {\n return hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid(),\n resultName: this.resultName(),\n sequence: this.sequence(),\n nodeGroup: this.nodeGroup(),\n logicalFile: this.logicalFile(),\n userID: this.user(),\n password: this.password(),\n ...opts\n });\n }\n\n protected _prevResultHash: string;\n calcResult(): Result | null {\n const resultHash = this.hashSum();\n if (this._prevResultHash !== resultHash) {\n this._prevResultHash = resultHash;\n\n const opts: IOptions = {\n baseUrl: this.baseUrl(),\n userID: this.user(),\n password: this.password()\n };\n if (this.wuid() && this.resultName()) {\n this._result = Result.attach(opts, this.wuid(), this.resultName());\n } else if (this.wuid() && this.sequence() !== undefined) {\n this._result = Result.attach(opts, this.wuid(), this.sequence());\n } else if (this.logicalFile() && this.nodeGroup()) {\n this._result = Result.attachLogicalFile(opts, this.nodeGroup(), this.logicalFile());\n } else if (this.logicalFile()) {\n this._result = Result.attachLogicalFile(opts, \"\", this.logicalFile());\n }\n }\n return this._result;\n }\n\n fetch(row, count, abortController = new AbortController()): Promise<object[]> {\n const result = this.calcResult();\n if (result) {\n return result.fetchRows(row, count, false, {}, abortController.signal);\n }\n return Promise.resolve([]);\n }\n\n protected _prevStoreHash: string;\n protected _prevQueryHash: string;\n update(domNode, element) {\n super.update(domNode, element);\n const storeHash = this.hashSum({\n renderHtml: this.renderHtml(),\n filter: this.filter()\n });\n if (this._prevStoreHash !== storeHash) {\n this._prevStoreHash = storeHash;\n const result = this.calcResult();\n if (result) {\n result.fetchXMLSchema().then(schema => {\n this._localStore = new Store(result, schema, this.renderHtml(), this.filter());\n this._dgrid?.set(\"columns\", this._localStore.columns());\n this._dgrid?.set(\"collection\", this._localStore);\n });\n }\n }\n }\n\n click(row, col, sel) {\n }\n}\nWUResult.prototype._class += \" eclwatch_WUResult\";\n","import { Workunit, WUStateID } from \"@hpcc-js/comms\";\nimport { Edge, Graph, Vertex } from \"@hpcc-js/graph\";\nimport { hashSum, IObserverHandle } from \"@hpcc-js/util\";\n\nexport enum STATUS {\n CREATE = \"Created\",\n COMPILE = \"Compiled\",\n EXECUTE = \"Executed\",\n COMPLETE = \"Completed\"\n}\n\nexport enum STATUS_ACTIVE {\n CREATE = \"Creating\",\n COMPILE = \"Compiling\",\n EXECUTE = \"Executing\",\n COMPLETE = \"Completed\"\n}\n\nexport class WUStatus extends Graph {\n\n protected _wu: Workunit;\n protected _wuHandle: IObserverHandle;\n\n protected _create: Vertex;\n protected _compile: Vertex;\n protected _execute: Vertex;\n protected _complete: Vertex;\n\n constructor() {\n super();\n this\n .zoomable(false)\n .zoomToFitLimit(1)\n .layout(\"Hierarchy\")\n .hierarchyRankDirection(\"LR\")\n .showToolbar(false)\n .allowDragging(false)\n ;\n }\n\n private _prevHash;\n attachWorkunit() {\n const hash = hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid()\n });\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._wu = Workunit.attach({ baseUrl: this.baseUrl() }, this.wuid());\n if (this._wuHandle) {\n this._wuHandle.release();\n }\n this._wuHandle = this._wu.watch(changes => {\n this.lazyRender();\n });\n }\n }\n\n createVertex(faChar: string) {\n return new Vertex()\n .icon_diameter(32)\n .icon_shape_colorFill(\"none\")\n .icon_shape_colorStroke(\"none\")\n .icon_image_colorFill(\"darkgray\")\n .iconAnchor(\"middle\")\n .textbox_shape_colorFill(\"none\")\n .textbox_shape_colorStroke(\"none\")\n .textbox_text_colorFill(\"darkgray\")\n .faChar(faChar)\n ;\n }\n\n updateVertex(vertex: Vertex, color: string) {\n vertex\n .icon_image_colorFill(color)\n .textbox_text_colorFill(color)\n ;\n }\n\n updateVertexStatus(level: 0 | 1 | 2 | 3 | 4, active: boolean = false) {\n const completeColor = this._wu.isFailed() ? \"darkred\" : \"darkgreen\";\n this._create.text(STATUS.CREATE);\n this._compile.text(STATUS.COMPILE);\n this._execute.text(STATUS.EXECUTE);\n this._complete.text(STATUS.COMPLETE);\n switch (level) {\n case 0:\n this.updateVertex(this._create, \"darkgray\");\n this.updateVertex(this._compile, \"darkgray\");\n this.updateVertex(this._execute, \"darkgray\");\n this.updateVertex(this._complete, \"darkgray\");\n break;\n case 1:\n this._create.text(STATUS_ACTIVE.CREATE);\n this.updateVertex(this._create, active ? \"orange\" : completeColor);\n this.updateVertex(this._compile, \"darkgray\");\n this.updateVertex(this._execute, \"darkgray\");\n this.updateVertex(this._complete, \"darkgray\");\n break;\n case 2:\n this._compile.text(STATUS_ACTIVE.COMPILE);\n this.updateVertex(this._create, completeColor);\n this.updateVertex(this._compile, active ? \"orange\" : completeColor);\n this.updateVertex(this._execute, completeColor);\n this.updateVertex(this._complete, \"darkgray\");\n break;\n case 3:\n this._execute.text(STATUS_ACTIVE.EXECUTE);\n this.updateVertex(this._create, completeColor);\n this.updateVertex(this._compile, completeColor);\n this.updateVertex(this._execute, active ? \"orange\" : completeColor);\n this.updateVertex(this._complete, \"darkgray\");\n break;\n case 4:\n this.updateVertex(this._create, completeColor);\n this.updateVertex(this._compile, completeColor);\n this.updateVertex(this._execute, completeColor);\n this.updateVertex(this._complete, completeColor);\n break;\n }\n }\n\n createEdge(source, target) {\n return new Edge()\n .sourceVertex(source)\n .targetVertex(target)\n .strokeColor(\"black\")\n .showArc(false)\n ;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._create = this.createVertex(\"\\uf11d\");\n this._compile = this.createVertex(\"\\uf085\");\n this._execute = this.createVertex(\"\\uf275\");\n this._complete = this.createVertex(\"\\uf11e\");\n const e1 = this.createEdge(this._create, this._compile);\n const e2 = this.createEdge(this._compile, this._execute);\n const e3 = this.createEdge(this._execute, this._complete);\n this.data({\n vertices: [this._create, this._compile, this._execute, this._complete],\n edges: [e1, e2, e3]\n });\n }\n\n update(domNode, element) {\n this.attachWorkunit();\n switch (this._wu.StateID) {\n case WUStateID.Blocked:\n case WUStateID.Wait:\n case WUStateID.Scheduled:\n case WUStateID.UploadingFiled:\n this.updateVertexStatus(1);\n break;\n case WUStateID.Compiling:\n this.updateVertexStatus(2, true);\n break;\n case WUStateID.Submitted:\n this.updateVertexStatus(1, true);\n break;\n case WUStateID.Compiled:\n this.updateVertexStatus(2);\n break;\n case WUStateID.Aborting:\n case WUStateID.Running:\n this.updateVertexStatus(3, true);\n break;\n case WUStateID.Aborted:\n case WUStateID.Archived:\n case WUStateID.Completed:\n this.updateVertexStatus(4);\n break;\n case WUStateID.Failed:\n this.updateVertexStatus(4, false);\n break;\n case WUStateID.DebugPaused:\n case WUStateID.DebugRunning:\n case WUStateID.Paused:\n case WUStateID.Unknown:\n default:\n this.updateVertexStatus(0);\n break;\n }\n super.update(domNode, element);\n this.zoomToFit();\n }\n\n exit(domNode, element) {\n if (this._wuHandle) {\n this._wuHandle.release();\n }\n super.exit(domNode, element);\n }\n}\nWUStatus.prototype._class += \" eclwatch_WUStatus\";\n\nexport interface WUStatus {\n baseUrl(): string;\n baseUrl(_: string): this;\n wuid(): string;\n wuid(_: string): this;\n}\n\nWUStatus.prototype.publish(\"baseUrl\", \"\", \"string\", \"HPCC Platform Base URL\");\nWUStatus.prototype.publish(\"wuid\", \"\", \"string\", \"Workunit ID\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { Scope, Workunit, WUDetails } from \"@hpcc-js/comms\";\nimport { ReactTimelineSeries } from \"@hpcc-js/timeline\";\nimport { hashSum } from \"@hpcc-js/util\";\n\nimport \"../src/WUGraph.css\";\n\nconst columns = [\"label\", \"start\", \"end\", \"icon\", \"color\", \"series\"];\n\nexport class WUTimeline extends ReactTimelineSeries {\n\n protected _palette = Palette.ordinal(\"default\");\n\n constructor() {\n super();\n this\n .columns(columns)\n .titleColumn(\"label\")\n .iconColumn(\"icon\")\n .colorColumn(\"color\")\n .seriesColumn(\"series\")\n .timePattern(\"%Y-%m-%dT%H:%M:%S.%LZ\")\n .tickFormat(\"%H:%M\")\n .tooltipTimeFormat(\"%H:%M:%S.%L\")\n .tooltipHTML(d => {\n return d[columns.length].calcTooltip();\n })\n ;\n }\n\n private _prevHashSum;\n clear(): this {\n delete this._prevHashSum;\n return this;\n }\n fetchScopes() {\n const hash = hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid(),\n request: this.request()\n });\n if (this._prevHashSum !== hash) {\n this._prevHashSum = hash;\n const wu = Workunit.attach({ baseUrl: this.baseUrl() }, this.wuid());\n wu.fetchDetails(this.request()).then(scopes => {\n return scopes.filter(scope => scope.Id && scope.attr(\"WhenStarted\").RawValue).map((scope: Scope) => {\n const whenStarted = +scope.attr(\"WhenStarted\").RawValue / 1000;\n const timeElapsed = +scope.attr(\"TimeElapsed\").RawValue / 1000000;\n return [\n scope.Id,\n new Date(whenStarted).toISOString(),\n timeElapsed ? new Date(whenStarted + timeElapsed).toISOString() : undefined,\n null,\n this._palette(scope.ScopeType),\n scope.ScopeName.split(\"::\").join(\":\").split(\":\").slice(0, 1),\n scope\n ];\n });\n }).then(scopes => {\n this\n .data(scopes)\n .render()\n ;\n });\n }\n }\n\n enter(domNode, _element) {\n super.enter(domNode, _element);\n }\n\n update(domNode, element) {\n this.fetchScopes();\n super.update(domNode, element);\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n}\nWUTimeline.prototype._class += \" eclwatch_WUTimeline\";\n\nexport interface WUTimeline {\n baseUrl(): string;\n baseUrl(_: string): this;\n wuid(): string;\n wuid(_: string): this;\n request(): Partial<WUDetails.Request>;\n request(_: Partial<WUDetails.Request>): this;\n}\n\nWUTimeline.prototype.publish(\"baseUrl\", \"\", \"string\", \"HPCC Platform Base URL\");\nWUTimeline.prototype.publish(\"wuid\", \"\", \"string\", \"Workunit ID\");\nWUTimeline.prototype.publish(\"request\", {\n ScopeFilter: {\n MaxDepth: 3,\n ScopeTypes: [\"graph\", \"subgraph\"]\n },\n NestedFilter: {\n Depth: 0,\n ScopeTypes: []\n },\n PropertiesToReturn: {\n AllProperties: false,\n AllStatistics: true,\n AllHints: false,\n Properties: [\"WhenStarted\", \"TimeElapsed\"]\n },\n ScopeOptions: {\n IncludeId: true,\n IncludeScope: true,\n IncludeScopeType: true\n },\n PropertyOptions: {\n IncludeName: true,\n IncludeRawValue: true,\n IncludeFormatted: true,\n IncludeMeasure: true,\n IncludeCreator: false,\n IncludeCreatorType: false\n }\n}, \"object\", \"WUDetails Request\");\n"],"names":["DirectoryTree","Editor","xml2json","hashSum","Workunit","SplitPanel","Vertex","d3Local","d3Select","Legend","UtilSubgraph","UtilVertex","UtilEdge","Subgraph","Icon","Edge","BaseScope","Button","ToggleButton","GraphWidget","Table","Carousel","Spacer","ChartPanel","RowFormatter","domConstruct","Deferred","QueryResults","Result","publish","Common","STATUS","STATUS_ACTIVE","WUStateID","Graph","Palette","ReactTimelineSeries"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/__package__.ts","../node_modules/tslib/tslib.es6.js","../src/ECLArchiveViewer.ts","../../../node_modules/style-inject/dist/style-inject.es.js","../src/WUGraphLegend.ts","../src/WUScopeController.ts","../src/WUGraph.ts","../src/WUResultStore.ts","../src/WUResult.ts","../src/WUStatus.ts","../src/WUTimeline.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/eclwatch\";\nexport const PKG_VERSION = \"2.73.24\";\nexport const BUILD_VERSION = \"2.104.27\";\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { Editor } from \"@hpcc-js/codemirror\";\nimport { Workunit } from \"@hpcc-js/comms\";\nimport { SplitPanel } from \"@hpcc-js/phosphor\";\nimport { DirectoryTree } from \"@hpcc-js/tree\";\nimport { hashSum, xml2json } from \"@hpcc-js/util\";\n\nexport class ECLArchiveViewer extends SplitPanel {\n private _prevHash;\n private _contentStr;\n public _directoryPane = new DirectoryTree();\n public _fileEditorPane = new Editor()\n .text(\"\")\n ;\n\n constructor() {\n super(\"horizontal\");\n this._directoryPane.rowClick = (text) => {\n this._fileEditorPane\n .text(text)\n .render()\n ;\n };\n }\n\n protected transformArchiveTreeData(json) {\n const ret = {\n label: json.name,\n children: json._children.map(transformNode).filter(n => n)\n };\n\n if (ret.children && ret.children[0] && ret.children[0].label === \"html\") {\n // must be parsererror\n return {\n label: \"root\",\n children: [\n {\n label: \"error\",\n content: JSON.stringify(ret, null, 4)\n }\n ]\n };\n }\n return ret;\n\n function transformNode(node) {\n const _node: any = {};\n _node.label = node.name + (node[\"$\"] && node[\"$\"].key ? ` (${node[\"$\"].key})` : \"\");\n if (node._children && node._children.length > 0) {\n _node.children = node._children.map(_node => {\n return transformNode(_node);\n })\n .filter(n => n)\n ;\n } else if (typeof node.content === \"string\" && node.content.trim()) {\n _node.content = node.content;\n } else {\n return false;\n }\n return _node;\n }\n }\n\n updateDirectoryPane(contentStr) {\n let json;\n if (contentStr) {\n try {\n json = JSON.parse(contentStr);\n } catch (e) {\n json = xml2json(contentStr);\n }\n }\n if (json) {\n const _data = this.transformArchiveTreeData(json);\n this._directoryPane\n .data(_data)\n .render()\n ;\n }\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this\n .addWidget(this._directoryPane)\n .addWidget(this._fileEditorPane)\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const hash = hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid()\n });\n\n if (this._prevHash !== hash || typeof this._contentStr === \"undefined\") {\n Workunit.attach({ baseUrl: this.baseUrl() }, this.wuid())\n .fetchArchive()\n .then(resp => {\n\n this._contentStr = resp;\n this.updateDirectoryPane(this._contentStr);\n\n this._prevHash = hash;\n });\n } else {\n this.updateDirectoryPane(this._contentStr);\n }\n\n this.relativeSizes([this.directoryWidthRatio(), 1 - this.directoryWidthRatio()]);\n }\n}\nECLArchiveViewer.prototype._class += \" eclwatch_ECLArchiveViewer\";\n\nexport interface ECLArchiveViewer {\n directoryPaneColor(): string;\n directoryPaneColor(_: string): this;\n directoryPaneHoverColor(): string;\n directoryPaneHoverColor(_: string): this;\n fontColor(): string;\n fontColor(_: string): this;\n fontFamily(): string;\n fontFamily(_: string): this;\n fontSize(): number;\n fontSize(_: number): this;\n fileIconSize(): number;\n fileIconSize(_: number): this;\n folderIconOpen(): string;\n folderIconOpen(_: string): this;\n folderIconClosed(): string;\n folderIconClosed(_: string): this;\n textFileIcon(): string;\n textFileIcon(_: string): this;\n codeFileIcon(): string;\n codeFileIcon(_: string): this;\n verticalScroll(): boolean;\n verticalScroll(_: boolean): this;\n directoryWidthRatio(): number;\n directoryWidthRatio(_: number): this;\n baseUrl(): string;\n baseUrl(_: string): this;\n wuid(): string;\n wuid(_: string): this;\n}\nECLArchiveViewer.prototype.publish(\"baseUrl\", \"\", \"string\", \"HPCC Platform Base URL\");\nECLArchiveViewer.prototype.publish(\"wuid\", \"\", \"string\", \"Workunit ID\");\nECLArchiveViewer.prototype.publish(\"directoryWidthRatio\", 0.38, \"number\", \"Default directory panel width ratio relative to the full width\");\nECLArchiveViewer.prototype.publish(\"contentString\", null, \"string\", \"XML/JSON archive content string\");\nECLArchiveViewer.prototype.publishProxy(\"directoryPaneColor\", \"_directoryPane\", \"backgroundColor\");\nECLArchiveViewer.prototype.publishProxy(\"directoryPaneHoverColor\", \"_directoryPane\", \"hoverBackgroundColor\");\nECLArchiveViewer.prototype.publishProxy(\"iconSize\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"fontColor\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"fontFamily\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"fontSize\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"folderIconOpen\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"folderIconClosed\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"textFileIcon\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"codeFileIcon\", \"_directoryPane\");\nECLArchiveViewer.prototype.publishProxy(\"verticalScroll\", \"_directoryPane\");\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 { Vertex } from \"@hpcc-js/graph\";\nimport { Legend } from \"@hpcc-js/layout\";\nimport { local as d3Local, select as d3Select } from \"d3-selection\";\n\nimport \"../src/WUGraphLegend.css\";\n\nexport interface WUGraphLegendData {\n kind: number;\n faChar: string;\n label: string;\n count: number;\n}\n\nclass LegendVertex extends Vertex {\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._icon.on(\"click\", () => {\n this.click(this.data());\n });\n }\n\n click(kind: number) {\n }\n}\n\nexport class WUGraphLegend extends Legend {\n\n private icon = d3Local<Vertex>();\n protected _disabled2: { [kind: number]: boolean } = {\n /* TODO: Default some to disabled?\n 43: true,\n 71: true,\n 82: true,\n 88: true\n */\n };\n\n disabled(): number[];\n disabled(_: number[]): this;\n disabled(_?: number[]): number[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const key in this._disabled2) {\n if (this._disabled2[key]) {\n retVal.push(key);\n }\n }\n return retVal;\n }\n this._disabled2 = {};\n _.forEach(kind => this._disabled2[kind] = true);\n return this;\n }\n\n toggle(kind: number) {\n this._disabled2[kind] = !this._disabled2[kind];\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n const context = this;\n const items = this._g.selectAll(\".legendItem\").data(this.data(), (d: any) => d.kind);\n items.enter().append(\"g\")\n .attr(\"class\", \"legendItem\")\n .each(function (this: HTMLElement, d) {\n context.icon.set(this, new LegendVertex()\n .target(this)\n .data(d.kind)\n .textbox_shape_colorStroke(\"none\")\n .textbox_shape_colorFill(\"none\")\n .iconAnchor(\"left\")\n .faChar(d.faChar)\n .text(`${d.label} (${d.count})`)\n .tooltip(`${d.kind} - ${d.label}`)\n .on(\"click\", kind => {\n context.toggle(kind);\n context.render();\n context.click(kind);\n })\n .on(\"mouseover\", kind => {\n context.mouseover(kind);\n })\n .on(\"mouseout\", kind => {\n context.mouseout(kind);\n })\n );\n })\n .merge(items)\n .each(function (this: HTMLElement, d, i) {\n const bbox = context.icon.get(this)\n .icon_shape_colorFill(context._disabled2[d.kind] ? \"gray\" : null)\n .render().getBBox();\n\n d3Select(this)\n .attr(\"transform\", `translate(${+bbox.width / 2}, ${i * 30})`)\n ;\n })\n ;\n items.exit()\n .each(function (this: HTMLElement, d) {\n context.icon.get(this)\n .target(null)\n .render();\n })\n .remove();\n const bbox = this.getBBox(true, true);\n this._g.attr(\"transform\", `translate(16, ${this.height() / 2 - bbox.height / 2})`);\n }\n\n // Events ---\n click(kind: number) {\n }\n\n mouseover(kind: number) {\n }\n\n mouseout(kind: number) {\n }\n}\nWUGraphLegend.prototype._class += \" eclwatch_WUGraphLegend\";\n","import { Icon } from \"@hpcc-js/common\";\nimport { BaseScope, ScopeEdge, ScopeGraph, ScopeSubgraph, ScopeVertex } from \"@hpcc-js/comms\";\nimport { Edge, IGraphData, Lineage, Subgraph, Vertex } from \"@hpcc-js/graph\";\nimport { Edge as UtilEdge, Subgraph as UtilSubgraph, Vertex as UtilVertex } from \"@hpcc-js/util\";\nimport { WUGraphLegendData } from \"./WUGraphLegend\";\n\nexport type VertexType = Vertex | Icon;\n\nexport interface MyGraphData {\n subgraphs: Subgraph[];\n vertices: VertexType[];\n edges: Edge[];\n hierarchy: Lineage[];\n}\n\nfunction faCharFactory(kind): string {\n switch (kind) {\n case \"2\": return \"\\uf0c7\"; // Disk Write\n case \"3\": return \"\\uf15d\"; // sort\n case \"5\": return \"\\uf0b0\"; // Filter\n case \"6\": return \"\\uf1e0\"; // Split\n case \"12\": return \"\\uf039\"; // First N\n case \"15\": return \"\\uf126\"; // Lightweight Join\n case \"17\": return \"\\uf126\"; // Lookup Join\n case \"22\": return \"\\uf1e6\"; // Pipe Output\n case \"23\": return \"\\uf078\"; // Funnel\n case \"25\": return \"\\uf0ce\"; // Inline Dataset\n case \"26\": return \"\\uf074\"; // distribute\n case \"29\": return \"\\uf005\"; // Store Internal Result\n case \"36\": return \"\\uf128\"; // If\n case \"44\": return \"\\uf0c7\"; // write csv\n case \"47\": return \"\\uf0c7\"; // write\n case \"54\": return \"\\uf013\"; // Workunit Read\n case \"56\": return \"\\uf0c7\"; // Spill\n case \"59\": return \"\\uf126\"; // Merge\n case \"61\": return \"\\uf0c7\"; // write xml\n case \"82\": return \"\\uf1c0\"; // Projected Disk Read Spill\n case \"88\": return \"\\uf1c0\"; // Projected Disk Read Spill\n case \"92\": return \"\\uf129\"; // Limted Index Read\n case \"93\": return \"\\uf129\"; // Limted Index Read\n case \"99\": return \"\\uf1c0\"; // CSV Read\n case \"105\": return \"\\uf1c0\"; // CSV Read\n\n case \"7\": return \"\\uf090\"; // Project\n case \"9\": return \"\\uf0e2\"; // Local Iterate\n case \"16\": return \"\\uf005\"; // Output Internal\n case \"19\": return \"\\uf074\"; // Hash Distribute\n case \"21\": return \"\\uf275\"; // Normalize\n case \"35\": return \"\\uf0c7\"; // CSV Write\n case \"37\": return \"\\uf0c7\"; // Index Write\n case \"71\": return \"\\uf1c0\"; // Disk Read Spill\n case \"133\": return \"\\uf0ce\"; // Inline Dataset\n case \"148\": return \"\\uf0ce\"; // Inline Dataset\n case \"168\": return \"\\uf275\"; // Local Denormalize\n }\n return \"\\uf063\";\n}\n\nexport class WUScopeController {\n private graphDB: ScopeGraph;\n private subgraphsMap: { [id: string]: Subgraph } = {};\n private rSubgraphsMap: { [id: string]: ScopeSubgraph } = {};\n private verticesMap: { [id: string]: VertexType } = {};\n private rVerticesMap: { [id: string]: ScopeVertex } = {};\n private edgesMap: { [id: string]: Edge } = {};\n private rEdgesMap: { [id: string]: ScopeEdge } = {};\n private kindMap: { [id: string]: ScopeVertex[] } = {};\n\n protected _disabled: { [kind: number]: boolean } = {};\n\n constructor() {\n }\n\n clear() {\n this.subgraphsMap = {};\n this.rSubgraphsMap = {};\n this.verticesMap = {};\n this.rVerticesMap = {};\n this.edgesMap = {};\n this.rEdgesMap = {};\n }\n\n set(masterGraph: ScopeGraph) {\n this.graphDB = masterGraph;\n this.graphGui(this.graphDB);\n\n this.kindMap = {};\n this.graphDB.walk(item => {\n if (item instanceof UtilSubgraph) {\n } else if (item instanceof UtilVertex) {\n const kind = item._.attr(\"Kind\").RawValue;\n if (!this.kindMap[kind]) {\n this.kindMap[kind] = [];\n }\n this.kindMap[kind].push(item);\n } else if (item instanceof UtilEdge) {\n }\n });\n }\n\n disabled(): number[];\n disabled(_: number[]): this;\n disabled(_?: number[]): number[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const key in this._disabled) {\n if (this._disabled[key]) {\n retVal.push(key);\n }\n }\n return retVal;\n }\n this._disabled = {};\n _.forEach(kind => this._disabled[kind] = true);\n return this;\n }\n\n graphGui(graphDB: ScopeGraph): IGraphData {\n const graphGui: MyGraphData = {\n subgraphs: [],\n vertices: [],\n edges: [],\n hierarchy: []\n };\n\n graphDB.walk((item) => {\n if (item instanceof UtilSubgraph) {\n const subgraph = this.appendSubgraph(item, graphGui.hierarchy, graphGui.subgraphs);\n subgraph.showMinMax(item.vertices.length > 3 || subgraph.minState() !== \"normal\");\n } else if (item instanceof UtilVertex) {\n this.appendVertex(item, graphGui.hierarchy, graphGui.vertices);\n } else if (item instanceof UtilEdge) {\n this.appendEdge(item, graphGui.edges);\n }\n });\n\n return graphGui;\n }\n\n format(labelTpl, obj) {\n let retVal = \"\";\n let lpos = labelTpl.indexOf(\"%\");\n let rpos = -1;\n while (lpos >= 0) {\n retVal += labelTpl.substring(rpos + 1, lpos);\n rpos = labelTpl.indexOf(\"%\", lpos + 1);\n if (rpos < 0) {\n console.warn(\"Invalid Label Template\");\n break;\n }\n const key = labelTpl.substring(lpos + 1, rpos);\n retVal += !key ? \"%\" : (obj[labelTpl.substring(lpos + 1, rpos)] || \"\");\n lpos = labelTpl.indexOf(\"%\", rpos + 1);\n }\n retVal += labelTpl.substring(rpos + 1, labelTpl.length);\n return retVal.split(\"\\\\n\").join(\"\\n\");\n }\n\n createSubgraph(subgraph: ScopeSubgraph): Subgraph {\n let sg = this.subgraphsMap[subgraph._.Id];\n if (!sg) {\n sg = new Subgraph()\n .title(subgraph._.Id)\n .on(\"minClick\", () => {\n this.minClick(sg);\n })\n ;\n this.subgraphsMap[subgraph._.Id] = sg;\n this.rSubgraphsMap[sg.id()] = subgraph;\n }\n return sg;\n }\n\n createVertex(vertex: ScopeVertex): VertexType {\n let v = this.verticesMap[vertex._.Id];\n if (!v) {\n const attrs = vertex._.rawAttrs();\n if (vertex._.ScopeType === \"dummy\") {\n const parent = this.subgraphsMap[vertex.parent._.Id];\n v = new Icon()\n .shape_colorFill(\"darkred\")\n .shape_colorStroke(\"darkred\")\n .image_colorFill(\"white\")\n .faChar(\"\\uf067\")\n .on(\"click\", () => {\n parent.minState(\"normal\");\n this.minClick(parent);\n })\n ;\n } else {\n v = new Vertex()\n .icon_shape_colorFill(\"#1f77b4\")\n .icon_image_colorFill(\"white\")\n .faChar(faCharFactory(attrs[\"Kind\"]))\n .text(attrs[\"Label\"])\n ;\n const annotations = [];\n if (vertex._.hasAttr(\"Definition\")) {\n annotations.push({\n faChar: \"\\uf036\",\n tooltip: \"Definition\",\n shape_colorFill: \"lightgray\",\n shape_colorStroke: \"lightgray\",\n image_colorFill: \"black\"\n });\n }\n if (vertex._.hasAttr(\"IsInternal\")) {\n annotations.push({\n faChar: \"\\uf085\",\n tooltip: \"IsInternal\",\n shape_colorFill: \"red\",\n shape_colorStroke: \"red\",\n image_colorFill: \"white\"\n });\n }\n v.annotationIcons(annotations);\n }\n this.verticesMap[vertex._.Id] = v;\n this.rVerticesMap[v.id()] = vertex;\n }\n return v;\n }\n\n isSpill(edge: ScopeEdge): boolean {\n const sourceKind = edge.source._.attr(\"Kind\").RawValue;\n const targetKind = edge.target._.attr(\"Kind\").RawValue;\n return sourceKind === \"2\" || targetKind === \"71\";\n }\n\n spansSubgraph(edge: ScopeEdge): boolean {\n return edge.source.parent._.Id !== edge.target.parent._.Id;\n }\n\n createEdge(edge: ScopeEdge): Edge | undefined {\n let e = this.edgesMap[edge._.Id];\n if (!e) {\n const attrs = edge._.rawAttrs();\n const sourceV = this.verticesMap[edge.source._.Id];\n const targetV = this.verticesMap[edge.target._.Id];\n if (sourceV && targetV) {\n const isSpill = this.isSpill(edge);\n const spansSubgraph = this.spansSubgraph(edge);\n\n const label = this.format(\"%Label%\\n%NumRowsProcessed%\", attrs);\n /* TODO: Add extra annotations once WUDetails is fixed...\n const numSlaves = parseInt(attrs[\"NumSlaves\"]);\n const numStarts = parseInt(attrs[\"NumStarts\"]);\n const numStops = parseInt(attrs[\"NumStops\"]);\n const started = numStarts > 0;\n const finished = numStops === numSlaves;\n const active = started && !finished;\n */\n\n let strokeDasharray = null;\n let weight = 100;\n if (attrs[\"IsDependency\"]) {\n weight = 10;\n strokeDasharray = \"1,5\";\n } else if (attrs[\"_childGraph\"]) {\n strokeDasharray = \"5,5\";\n } else if (isSpill) {\n weight = 25;\n strokeDasharray = \"5,5,10,5\";\n } else if (spansSubgraph) {\n weight = 5;\n strokeDasharray = \"5,5\";\n }\n e = new Edge()\n .sourceVertex(sourceV)\n .targetVertex(targetV)\n .sourceMarker(\"circle\")\n .targetMarker(\"arrow\")\n .weight(weight)\n .strokeDasharray(strokeDasharray)\n .text(label)\n ;\n this.edgesMap[edge._.Id] = e;\n this.rEdgesMap[e.id()] = edge;\n }\n }\n return e;\n }\n\n appendSubgraph(subgraph: ScopeSubgraph, hierarchy: Lineage[], subgraphs: Subgraph[]): Subgraph {\n const sg = this.createSubgraph(subgraph);\n subgraphs.push(sg);\n const parent = this.subgraphsMap[subgraph.parent._.Id];\n if (parent) {\n hierarchy.push({ parent, child: sg });\n }\n return sg;\n }\n\n appendVertex(vertex: ScopeVertex, hierarchy: Lineage[], vertices: VertexType[]): VertexType {\n const v = this.createVertex(vertex);\n vertices.push(v);\n const parent = this.subgraphsMap[vertex.parent._.Id];\n if (parent) {\n hierarchy.push({ parent, child: v });\n }\n return v;\n }\n\n appendEdge(edge: ScopeEdge, edges: Edge[]): Edge {\n const e = this.createEdge(edge);\n if (e) {\n edges.push(e);\n }\n return e;\n }\n\n filterLegend(graphDB: ScopeGraph) {\n for (let i = graphDB.vertices.length - 1; i >= 0; --i) {\n const vertex = graphDB.vertices[i];\n const kind = vertex._.attr(\"Kind\").RawValue;\n if (this._disabled[kind]) {\n vertex.remove(false, (source: BaseScope, target: BaseScope) => {\n return new BaseScope({\n ScopeName: vertex._.ScopeName + \":in\",\n Id: source.Id + \"->\" + target.Id,\n ScopeType: \"dummy-edge\",\n Properties: {\n Property: [vertex._.attr(\"Label\")]\n },\n Notes: {\n Note: []\n }\n });\n });\n }\n }\n }\n\n filterPartial(graphDB: ScopeGraph) {\n for (const subgraph of graphDB.subgraphs) {\n const sg = this.subgraphsMap[subgraph._.Id];\n switch (sg.minState()) {\n case \"partial\":\n const childVertices: ReadonlyArray<ScopeVertex> = subgraph.vertices;\n const vShow: ScopeVertex[] = [];\n const vHide: ScopeVertex[] = [];\n\n for (const vertex of childVertices) {\n if (vertex.inEdges.length === 0 || vertex.inEdges.some(edge => edge.source.parent !== edge.target.parent) ||\n vertex.outEdges.length === 0 || vertex.outEdges.some(edge => edge.source.parent !== edge.target.parent)) {\n vShow.push(vertex);\n } else {\n vHide.push(vertex);\n }\n }\n\n if (vHide.length > 1) {\n const dummyDetails = {\n ScopeName: subgraph._.ScopeName,\n Id: subgraph._.Id + \":dummy\",\n ScopeType: \"dummy\",\n Properties: {\n Property: [{\n Name: \"Activities\",\n RawValue: \"\" + vHide.length,\n Formatted: \"\" + vHide.length,\n Measure: \"count\",\n Creator: \"\",\n CreatorType: \"\"\n }]\n },\n Notes: {\n Note: []\n }\n };\n const dummyScope = new BaseScope(dummyDetails);\n const dummyVertex = subgraph.createVertex(dummyScope);\n\n for (const vertex of vHide) {\n for (const edge of vertex.inEdges) {\n if (vShow.indexOf(edge.source) >= 0) {\n const dummyEdgeScope = new BaseScope({\n ScopeName: edge.source._.ScopeName,\n Id: edge.source._.Id + \"->\" + dummyVertex._.Id,\n ScopeType: \"dummy-in\",\n Properties: {\n Property: []\n },\n Notes: {\n Note: []\n }\n });\n subgraph.createEdge(edge.source, dummyVertex, dummyEdgeScope);\n }\n }\n for (const edge of vertex.outEdges) {\n if (vShow.indexOf(edge.target) >= 0) {\n const dummyEdgeScope = new BaseScope({\n ScopeName: edge.target._.ScopeName,\n Id: dummyVertex._.Id + \"->\" + edge.target._.Id,\n ScopeType: \"dummy-out\",\n Properties: {\n Property: []\n },\n Notes: {\n Note: []\n }\n });\n subgraph.createEdge(dummyVertex, edge.target, dummyEdgeScope);\n }\n }\n }\n vHide.forEach(vertex => vertex.remove(true));\n }\n break;\n }\n }\n }\n\n filterEmptySubgraphs(graphDB: ScopeGraph) {\n while (true) {\n const emptySubgraphs = graphDB.subgraphs.filter(subgraph => subgraph.subgraphs.length === 0 && subgraph.vertices.length === 0);\n if (emptySubgraphs.length === 0) break;\n emptySubgraphs.forEach(subgraph => subgraph.remove(true));\n }\n }\n\n removeObsoleteSubgraphs(graphDB: ScopeGraph) {\n for (const subgraph of [...graphDB.subgraphs]) {\n if (subgraph.vertices.length === 0) {\n subgraph.remove(false);\n }\n }\n }\n\n graphData(): IGraphData {\n const graphDB = this.graphDB.clone();\n this.filterLegend(graphDB);\n this.filterPartial(graphDB);\n this.filterEmptySubgraphs(graphDB);\n this.removeObsoleteSubgraphs(graphDB);\n return this.graphGui(graphDB);\n }\n\n calcLegend(): WUGraphLegendData[] {\n const retVal: WUGraphLegendData[] = [];\n for (const kind in this.kindMap) {\n retVal.push({\n kind: parseInt(kind),\n faChar: faCharFactory(kind),\n label: this.kindMap[kind][0]._.attr(\"Label\").RawValue.split(\"\\n\")[0],\n count: this.kindMap[kind].length\n });\n }\n return retVal;\n }\n\n vertices(kind: number): VertexType[] {\n const retVal: VertexType[] = [];\n for (const v of this.kindMap[kind]) {\n retVal.push(this.verticesMap[v._.Id]);\n }\n return retVal;\n }\n\n formatRow(item: ScopeEdge | ScopeSubgraph | ScopeVertex, columns, row) {\n const attrs = item._.formattedAttrs();\n for (const key in attrs) {\n const idx = columns.indexOf(key);\n if (idx === -1) {\n columns.push(key);\n row.push(attrs[key]);\n } else {\n row[idx] = attrs[key];\n }\n }\n for (let i = 0; i < 100; ++i) {\n if (row[i] === undefined) {\n row[i] = \"\";\n }\n }\n return row;\n }\n\n activityData(): { columns: string[], data: any[][] } {\n const columns = [\"Id\", \"Kind\", \"Label\"];\n const data = this.graphDB.vertices.map(v => {\n const row = [parseInt(v._.Id.split(\"a\")[1])];\n return this.formatRow(v, columns, row);\n });\n return { columns, data };\n }\n\n edgeData(): { columns: string[], data: any[][] } {\n const columns = [\"Id\", \"Label\"];\n const data = this.graphDB.edges.map(e => {\n const row = [e._.Id];\n return this.formatRow(e, columns, row);\n });\n return { columns, data };\n }\n\n subgraphData(): { columns: string[], data: any[][] } {\n const columns = [\"Id\", \"Label\"];\n const data = this.graphDB.subgraphs.map(sg => {\n const row = [sg._.Id];\n return this.formatRow(sg, columns, row);\n });\n return { columns, data };\n }\n\n calcGraphTooltip(item: VertexType | Edge) {\n let scope;\n let parentScope;\n if (item instanceof Subgraph) {\n const subgraph = this.rSubgraphsMap[item.id()];\n scope = subgraph._;\n parentScope = subgraph.parent._;\n } else if (item instanceof Vertex || item instanceof Icon) {\n const vertex = this.rVerticesMap[item.id()];\n scope = vertex._;\n parentScope = vertex.parent._;\n } else if (item instanceof Edge) {\n const edge = this.rEdgesMap[item.id()];\n scope = edge._;\n parentScope = edge.parent._;\n }\n if (scope) {\n return scope.calcTooltip(parentScope);\n }\n return \"\";\n }\n\n subgraph(id: string): Subgraph | undefined {\n return this.subgraphsMap[id];\n }\n\n vertex(id: string): VertexType | undefined {\n return this.verticesMap[id];\n }\n\n edge(id: string): Edge {\n return this.edgesMap[id];\n }\n\n // Events ---\n minClick(sg: Subgraph) {\n }\n}\n","import { Button, Spacer, ToggleButton, Widget } from \"@hpcc-js/common\";\nimport { ScopeGraph, Workunit } from \"@hpcc-js/comms\";\nimport { Table } from \"@hpcc-js/dgrid\";\nimport { Graph as GraphWidget, Subgraph, Vertex } from \"@hpcc-js/graph\";\nimport { Carousel, ChartPanel } from \"@hpcc-js/layout\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { WUGraphLegend } from \"./WUGraphLegend\";\nimport { WUScopeController } from \"./WUScopeController\";\n\nimport \"../src/WUGraph.css\";\n\nexport class WUGraph extends ChartPanel {\n\n private _partialAll = new Button().faChar(\"fa-window-restore\").tooltip(\"Partial All\")\n .on(\"click\", () => {\n this.stateClick(this._partialAll);\n });\n\n private _maxAll = new Button().faChar(\"fa-window-maximize\").tooltip(\"Max All\")\n .on(\"click\", () => {\n this.stateClick(this._maxAll);\n });\n\n private _toggleGraph = new ToggleButton().faChar(\"fa-chain\").tooltip(\"Graph\")\n .selected(true)\n .on(\"click\", () => {\n this.viewClick(this._toggleGraph);\n });\n\n private _toggleActivities = new ToggleButton().faChar(\"fa-table\").tooltip(\"Activitiies\")\n .selected(false)\n .on(\"click\", () => {\n this.viewClick(this._toggleActivities);\n });\n\n private _toggleEdges = new ToggleButton().faChar(\"fa-table\").tooltip(\"Edges\")\n .selected(false)\n .on(\"click\", () => {\n this.viewClick(this._toggleEdges);\n });\n\n private _toggleSubgraphs = new ToggleButton().faChar(\"fa-table\").tooltip(\"Subgraphs\")\n .selected(false)\n .on(\"click\", () => {\n this.viewClick(this._toggleSubgraphs);\n });\n\n protected _graph = new GraphWidget()\n .layout(\"Hierarchy\")\n .applyScaleOnLayout(true)\n .showToolbar(false)\n .allowDragging(false)\n ;\n\n private _activities = new Table()\n .pagination(false)\n ;\n\n private _edges = new Table()\n .pagination(false)\n ;\n\n private _subgraphs = new Table()\n .pagination(false)\n ;\n\n protected _legend = new WUGraphLegend(this)\n .on(\"click\", kind => {\n this.render();\n })\n .on(\"mouseover\", kind => {\n const verticesMap: { [id: string]: boolean } = {};\n for (const vertex of this._gc.vertices(kind)) {\n verticesMap[vertex.id()] = true;\n }\n this._graph.highlightVerticies(verticesMap);\n })\n .on(\"mouseout\", kind => {\n this._graph.highlightVerticies();\n })\n ;\n\n protected _view = new Carousel().widgets([this._graph, this._activities, this._edges, this._subgraphs]);\n\n protected _gc = new WUScopeController();\n\n constructor() {\n super();\n this.topOverlay(false);\n this.widget(this._view);\n const buttons: Widget[] = [\n this._toggleGraph,\n this._toggleActivities,\n this._toggleEdges,\n this._toggleSubgraphs,\n new Spacer(),\n this._partialAll,\n this._maxAll,\n new Spacer(),\n ...this._graph.iconBarButtons(),\n new Spacer()];\n this.buttons(buttons.concat(this.buttons()));\n this._gc.minClick = (sg: Subgraph) => {\n this.loadGraph();\n this._graph.render(w => {\n this._graph\n .selection([sg])\n .centerOnItem(sg)\n ;\n });\n };\n\n this._graph.tooltipHTML((v: Vertex) => {\n return this._gc.calcGraphTooltip(v);\n });\n }\n\n stateClick(sourceB: Button) {\n switch (sourceB) {\n case this._partialAll:\n this._graph.data().subgraphs.forEach((sg: Subgraph) => {\n sg.minState(\"partial\");\n });\n break;\n case this._maxAll:\n this._graph.data().subgraphs.forEach((sg: Subgraph) => {\n sg.minState(\"normal\");\n });\n break;\n }\n this.render();\n }\n\n viewClick(sourceTB: ToggleButton) {\n this._toggleGraph.selected(sourceTB === this._toggleGraph);\n this._toggleActivities.selected(sourceTB === this._toggleActivities);\n this._toggleEdges.selected(sourceTB === this._toggleEdges);\n this._toggleSubgraphs.selected(sourceTB === this._toggleSubgraphs);\n switch (sourceTB) {\n case this._toggleGraph:\n this._view.active(0);\n break;\n case this._toggleActivities:\n this._view.active(1);\n break;\n case this._toggleEdges:\n this._view.active(2);\n break;\n case this._toggleSubgraphs:\n this._view.active(3);\n break;\n }\n this.render(w => {\n });\n }\n\n private _prevHashSum;\n private _prevScopeGraph: ScopeGraph;\n fetchScopeGraph(): Promise<ScopeGraph> {\n const hash = hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid(),\n graphID: this.graphID(),\n subgraphID: this.subgraphID()\n });\n if (!this._prevScopeGraph || this._prevHashSum !== hash) {\n this.startProgress();\n this._prevHashSum = hash;\n this._gc.clear();\n const wu = Workunit.attach({ baseUrl: this.baseUrl() }, this.wuid());\n return wu.fetchGraphs().then(graphs => {\n for (const graph of graphs) {\n if (graph.Name === this.graphID()) {\n this.finishProgress();\n return graph.fetchScopeGraph(this.subgraphID());\n }\n }\n }).then(scopeGraph => {\n this._prevScopeGraph = scopeGraph;\n return this._prevScopeGraph;\n });\n }\n return Promise.resolve(this._prevScopeGraph);\n }\n\n enter(domNode, _element) {\n super.enter(domNode, _element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n\n loadGraph() {\n this._gc.disabled(this._legend.disabled());\n this._graph\n .data(this._gc.graphData(), true)\n ;\n {\n const { columns, data } = this._gc.activityData();\n this._activities\n .columns(columns)\n .data(data)\n ;\n }\n {\n const { columns, data } = this._gc.edgeData();\n this._edges\n .columns(columns)\n .data(data)\n ;\n }\n {\n const { columns, data } = this._gc.subgraphData();\n this._subgraphs\n .columns(columns)\n .data(data)\n ;\n }\n }\n\n render(callback?: (w: Widget) => void): this {\n if (this.wuid() && this.graphID()) {\n this.fetchScopeGraph().then(scopedGraph => {\n this._gc.set(scopedGraph);\n this._legend.data(this._gc.calcLegend());\n this.loadGraph();\n super.render(callback);\n });\n } else {\n super.render(callback);\n }\n return this;\n }\n\n selection(_?) {\n if (!arguments.length) return this._graph.selection();\n const item = this._gc.vertex(_) || this._gc.edge(_) || this._gc.subgraph(_);\n if (item) {\n this._graph.selection([item]);\n }\n return this;\n }\n}\nWUGraph.prototype._class += \" eclwatch_WUGraph\";\n\nexport interface WUGraph {\n baseUrl(): string;\n baseUrl(_: string): this;\n wuid(): string;\n wuid(_: string): this;\n graphID(): string;\n graphID(_: string): this;\n subgraphID(): string;\n subgraphID(_: string): this;\n}\n\nWUGraph.prototype.publish(\"baseUrl\", \"\", \"string\", \"HPCC Platform Base URL\");\nWUGraph.prototype.publish(\"wuid\", \"\", \"string\", \"Workunit ID\");\nWUGraph.prototype.publish(\"graphID\", \"\", \"string\", \"Graph ID\");\nWUGraph.prototype.publish(\"subgraphID\", \"\", \"string\", \"Subgraph ID\");\n","import { ResultFilter, Result, XSDSchema, XSDXMLNode } from \"@hpcc-js/comms\";\nimport { ColumnType, Deferred, domConstruct, QueryResults, RowFormatter } from \"@hpcc-js/dgrid\";\n\nfunction entitiesEncode(str) {\n return String(str).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\");\n}\n\nfunction safeEncode(item) {\n switch (Object.prototype.toString.call(item)) {\n case \"[object Undefined]\":\n case \"[object Boolean]\":\n case \"[object Number]\":\n return item;\n case \"[object String]\":\n return entitiesEncode(item);\n default:\n console.warn(\"Unknown cell type: \" + Object.prototype.toString.call(item));\n }\n return item;\n}\n\nexport class Store {\n protected wuResult: Result;\n protected schema: XSDSchema;\n protected _columns: any[];\n protected _cache: { [key: string]: Promise<{ totalLength: number, data: any[] }> } = {};\n private rowFormatter: RowFormatter;\n protected _filter: ResultFilter = {};\n\n constructor(wuResult: Result, schema: XSDSchema, renderHtml: boolean, filter: ResultFilter = {}) {\n this.wuResult = wuResult;\n this.schema = schema;\n this._columns = this.schema2Columns(this.schema.root);\n this.rowFormatter = new RowFormatter(this._columns, renderHtml);\n this._filter = filter;\n }\n\n columns() {\n return this._columns;\n }\n\n schema2Columns(parentNode: XSDXMLNode, prefix: string = \"\"): ColumnType[] {\n if (!parentNode) return [];\n return parentNode.children().filter(node => node.name.indexOf(\"__hidden\", node.name.length - \"__hidden\".length) === -1).map((node, idx) => {\n const label = node.name;\n const keyed = node.attrs[\"hpcc:keyed\"];\n const column: ColumnType = {\n field: prefix + label,\n leafID: label,\n idx,\n label: label + (keyed ? \" (i)\" : \"\"),\n className: \"resultGridCell\",\n sortable: false,\n width: keyed ? 16 : 0,\n isSet: node.isSet\n };\n const children = this.schema2Columns(node, prefix + label + \"_\");\n if (children.length) {\n column.width += 10 + children.reduce((prev: number, childNode: ColumnType) => {\n return prev + childNode.width!;\n }, 0);\n column.children = children;\n } else {\n column.width += node.charWidth() * 9;\n column.formatter = (cell, row) => {\n switch (typeof cell) {\n case \"string\":\n return {\n html: cell.replace(/\\t/g, \"&nbsp;&nbsp;&nbsp;&nbsp;\").trim()\n };\n case \"undefined\":\n return \"\";\n }\n return cell;\n };\n }\n return column;\n });\n }\n\n isChildDataset(cell) {\n if (Object.prototype.toString.call(cell) !== \"[object Object]\") {\n return false;\n }\n let propCount = 0;\n let firstPropType = null;\n for (const key in cell) {\n if (!firstPropType) {\n firstPropType = Object.prototype.toString.call(cell[key]);\n }\n propCount++;\n }\n return propCount === 1 && firstPropType === \"[object Array]\";\n }\n\n rowToTable(cell, __row, node) {\n if (this.isChildDataset(cell)) { // Don't display \"Row\" as a header ---\n for (const key in cell) {\n this.rowToTable(cell[key], __row, node);\n }\n return;\n }\n\n const table = domConstruct.create(\"table\", { border: 1, cellspacing: 0, width: \"100%\" }, node);\n switch (Object.prototype.toString.call(cell)) {\n case \"[object Object]\":\n let tr = domConstruct.create(\"tr\", null, table);\n for (const key in cell) {\n domConstruct.create(\"th\", { innerHTML: safeEncode(key) }, tr);\n }\n tr = domConstruct.create(\"tr\", null, table);\n for (const key in cell) {\n switch (Object.prototype.toString.call(cell[key])) {\n case \"[object Object]\":\n case \"[object Array]\":\n this.rowToTable(cell[key], __row, node);\n break;\n default:\n domConstruct.create(\"td\", { innerHTML: safeEncode(cell[key]) }, tr);\n break;\n }\n }\n break;\n case \"[object Array]\":\n for (let i = 0; i < cell.length; ++i) {\n switch (Object.prototype.toString.call(cell[i])) {\n case \"[object Boolean]\":\n case \"[object Number]\":\n case \"[object String]\":\n // Item in Scalar ---\n const tr1 = domConstruct.create(\"tr\", null, table);\n domConstruct.create(\"td\", { innerHTML: safeEncode(cell[i]) }, tr1);\n break;\n default:\n // Child Dataset ---\n if (i === 0) {\n const tr2 = domConstruct.create(\"tr\", null, table);\n for (const key in cell[i]) {\n domConstruct.create(\"th\", { innerHTML: safeEncode(key) }, tr2);\n }\n }\n domConstruct.create(\"tr\", null, table);\n for (const key in cell[i]) {\n if (cell[i][key]) {\n if (Object.prototype.toString.call(cell[i][key]) === \"[object Object]\" || Object.prototype.toString.call(cell[i][key]) === \"[object Array]\") {\n const td = domConstruct.create(\"td\", null, tr1);\n this.rowToTable(cell[i][key], cell[i], td);\n } else if (key.indexOf(\"__html\", key.length - \"__html\".length) !== -1) {\n domConstruct.create(\"td\", { innerHTML: cell[i][key] }, tr1);\n } else if (key.indexOf(\"__javascript\", key.length - \"__javascript\".length) !== -1) {\n /*const td = */ domConstruct.create(\"td\", null, tr1);\n // this.injectJavascript(cell[i][key], cell[i], td);\n } else {\n const val = cell[i][key];\n domConstruct.create(\"td\", { innerHTML: safeEncode(val) }, tr1);\n }\n } else {\n domConstruct.create(\"td\", { innerHTML: \"\" }, tr1);\n }\n }\n }\n }\n break;\n }\n }\n\n getIdentity(row) {\n return row.__hpcc_id;\n }\n\n _request(start, end): Promise<{ totalLength: number, data: any[] }> {\n if (!this.wuResult) return Promise.resolve({ totalLength: 0, data: [] });\n const cacheKey = `${start}->${end}`;\n if (this._cache[cacheKey]) return this._cache[cacheKey];\n const retVal = this.wuResult.fetchRows(start, end - start, false, this._filter).then((rows: any[]) => {\n return {\n totalLength: this.wuResult.Total,\n data: rows.map((row, idx) => {\n const formattedRow: any = this.rowFormatter.format(row);\n formattedRow.__hpcc_id = start + idx;\n formattedRow.__hpcc_orig = row;\n return formattedRow;\n })\n };\n });\n this._cache[cacheKey] = retVal;\n return retVal;\n }\n\n fetchRange(options): Promise<any[]> {\n const retVal = new Deferred();\n this._request(options.start, options.end).then(response => retVal.resolve(response));\n return new QueryResults(retVal.then(response => response.data), {\n totalLength: retVal.then(response => response.totalLength)\n });\n }\n}\n","import { publish } from \"@hpcc-js/common\";\nimport { ResultFilter, IOptions, Result } from \"@hpcc-js/comms\";\nimport { Common } from \"@hpcc-js/dgrid\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { Store } from \"./WUResultStore\";\n\nexport class WUResult extends Common {\n\n protected _result: Result;\n protected _localStore: Store;\n\n constructor() {\n super();\n this.renderHtml(false);\n }\n\n @publish(\"\", \"string\", \"URL to WsWorkunits\")\n baseUrl: { (): string, (_: string): WUResult };\n @publish(undefined, \"string\", \"Workunit ID\")\n user: { (): string, (_: string): WUResult };\n @publish(undefined, \"string\", \"User ID\")\n password: { (): string, (_: string): WUResult };\n @publish(undefined, \"string\", \"Password\")\n wuid: { (): string, (_: string): WUResult };\n @publish(undefined, \"string\", \"Result Name\")\n resultName: { (): string, (_: string): WUResult };\n @publish(undefined, \"number\", \"Sequence Number\")\n sequence: { (): number, (_: number): WUResult };\n @publish(\"\", \"string\", \"NodeGroup\")\n nodeGroup: { (): string, (_: string): WUResult };\n @publish(\"\", \"string\", \"Logical File Name\")\n logicalFile: { (): string, (_: string): WUResult };\n @publish({}, \"object\", \"Filter\")\n filter: { (): ResultFilter, (_: ResultFilter): WUResult };\n\n hashSum(opts: any = {}) {\n return hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid(),\n resultName: this.resultName(),\n sequence: this.sequence(),\n nodeGroup: this.nodeGroup(),\n logicalFile: this.logicalFile(),\n userID: this.user(),\n password: this.password(),\n ...opts\n });\n }\n\n protected _prevResultHash: string;\n calcResult(): Result | null {\n const resultHash = this.hashSum();\n if (this._prevResultHash !== resultHash) {\n this._prevResultHash = resultHash;\n\n const opts: IOptions = {\n baseUrl: this.baseUrl(),\n userID: this.user(),\n password: this.password()\n };\n if (this.wuid() && this.resultName()) {\n this._result = Result.attach(opts, this.wuid(), this.resultName());\n } else if (this.wuid() && this.sequence() !== undefined) {\n this._result = Result.attach(opts, this.wuid(), this.sequence());\n } else if (this.logicalFile() && this.nodeGroup()) {\n this._result = Result.attachLogicalFile(opts, this.nodeGroup(), this.logicalFile());\n } else if (this.logicalFile()) {\n this._result = Result.attachLogicalFile(opts, \"\", this.logicalFile());\n }\n }\n return this._result;\n }\n\n fetch(row, count, abortController = new AbortController()): Promise<object[]> {\n const result = this.calcResult();\n if (result) {\n return result.fetchRows(row, count, false, {}, abortController.signal);\n }\n return Promise.resolve([]);\n }\n\n protected _prevStoreHash: string;\n protected _prevQueryHash: string;\n update(domNode, element) {\n super.update(domNode, element);\n const storeHash = this.hashSum({\n renderHtml: this.renderHtml(),\n filter: this.filter()\n });\n if (this._prevStoreHash !== storeHash) {\n this._prevStoreHash = storeHash;\n const result = this.calcResult();\n if (result) {\n result.fetchXMLSchema().then(schema => {\n this._localStore = new Store(result, schema, this.renderHtml(), this.filter());\n this._dgrid?.set(\"columns\", this._localStore.columns());\n this._dgrid?.set(\"collection\", this._localStore);\n });\n }\n }\n }\n\n click(row, col, sel) {\n }\n}\nWUResult.prototype._class += \" eclwatch_WUResult\";\n","import { Workunit, WUStateID } from \"@hpcc-js/comms\";\nimport { Edge, Graph, Vertex } from \"@hpcc-js/graph\";\nimport { hashSum, IObserverHandle } from \"@hpcc-js/util\";\n\nexport enum STATUS {\n CREATE = \"Created\",\n COMPILE = \"Compiled\",\n EXECUTE = \"Executed\",\n COMPLETE = \"Completed\"\n}\n\nexport enum STATUS_ACTIVE {\n CREATE = \"Creating\",\n COMPILE = \"Compiling\",\n EXECUTE = \"Executing\",\n COMPLETE = \"Completed\"\n}\n\nexport class WUStatus extends Graph {\n\n protected _wu: Workunit;\n protected _wuHandle: IObserverHandle;\n\n protected _create: Vertex;\n protected _compile: Vertex;\n protected _execute: Vertex;\n protected _complete: Vertex;\n\n constructor() {\n super();\n this\n .zoomable(false)\n .zoomToFitLimit(1)\n .layout(\"Hierarchy\")\n .hierarchyRankDirection(\"LR\")\n .showToolbar(false)\n .allowDragging(false)\n ;\n }\n\n private _prevHash;\n attachWorkunit() {\n const hash = hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid()\n });\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._wu = Workunit.attach({ baseUrl: this.baseUrl() }, this.wuid());\n if (this._wuHandle) {\n this._wuHandle.release();\n }\n this._wuHandle = this._wu.watch(changes => {\n this.lazyRender();\n });\n }\n }\n\n createVertex(faChar: string) {\n return new Vertex()\n .icon_diameter(32)\n .icon_shape_colorFill(\"none\")\n .icon_shape_colorStroke(\"none\")\n .icon_image_colorFill(\"darkgray\")\n .iconAnchor(\"middle\")\n .textbox_shape_colorFill(\"none\")\n .textbox_shape_colorStroke(\"none\")\n .textbox_text_colorFill(\"darkgray\")\n .faChar(faChar)\n ;\n }\n\n updateVertex(vertex: Vertex, color: string) {\n vertex\n .icon_image_colorFill(color)\n .textbox_text_colorFill(color)\n ;\n }\n\n updateVertexStatus(level: 0 | 1 | 2 | 3 | 4, active: boolean = false) {\n const completeColor = this._wu.isFailed() ? \"darkred\" : \"darkgreen\";\n this._create.text(STATUS.CREATE);\n this._compile.text(STATUS.COMPILE);\n this._execute.text(STATUS.EXECUTE);\n this._complete.text(STATUS.COMPLETE);\n switch (level) {\n case 0:\n this.updateVertex(this._create, \"darkgray\");\n this.updateVertex(this._compile, \"darkgray\");\n this.updateVertex(this._execute, \"darkgray\");\n this.updateVertex(this._complete, \"darkgray\");\n break;\n case 1:\n this._create.text(STATUS_ACTIVE.CREATE);\n this.updateVertex(this._create, active ? \"orange\" : completeColor);\n this.updateVertex(this._compile, \"darkgray\");\n this.updateVertex(this._execute, \"darkgray\");\n this.updateVertex(this._complete, \"darkgray\");\n break;\n case 2:\n this._compile.text(STATUS_ACTIVE.COMPILE);\n this.updateVertex(this._create, completeColor);\n this.updateVertex(this._compile, active ? \"orange\" : completeColor);\n this.updateVertex(this._execute, completeColor);\n this.updateVertex(this._complete, \"darkgray\");\n break;\n case 3:\n this._execute.text(STATUS_ACTIVE.EXECUTE);\n this.updateVertex(this._create, completeColor);\n this.updateVertex(this._compile, completeColor);\n this.updateVertex(this._execute, active ? \"orange\" : completeColor);\n this.updateVertex(this._complete, \"darkgray\");\n break;\n case 4:\n this.updateVertex(this._create, completeColor);\n this.updateVertex(this._compile, completeColor);\n this.updateVertex(this._execute, completeColor);\n this.updateVertex(this._complete, completeColor);\n break;\n }\n }\n\n createEdge(source, target) {\n return new Edge()\n .sourceVertex(source)\n .targetVertex(target)\n .strokeColor(\"black\")\n .showArc(false)\n ;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._create = this.createVertex(\"\\uf11d\");\n this._compile = this.createVertex(\"\\uf085\");\n this._execute = this.createVertex(\"\\uf275\");\n this._complete = this.createVertex(\"\\uf11e\");\n const e1 = this.createEdge(this._create, this._compile);\n const e2 = this.createEdge(this._compile, this._execute);\n const e3 = this.createEdge(this._execute, this._complete);\n this.data({\n vertices: [this._create, this._compile, this._execute, this._complete],\n edges: [e1, e2, e3]\n });\n }\n\n update(domNode, element) {\n this.attachWorkunit();\n switch (this._wu.StateID) {\n case WUStateID.Blocked:\n case WUStateID.Wait:\n case WUStateID.Scheduled:\n case WUStateID.UploadingFiled:\n this.updateVertexStatus(1);\n break;\n case WUStateID.Compiling:\n this.updateVertexStatus(2, true);\n break;\n case WUStateID.Submitted:\n this.updateVertexStatus(1, true);\n break;\n case WUStateID.Compiled:\n this.updateVertexStatus(2);\n break;\n case WUStateID.Aborting:\n case WUStateID.Running:\n this.updateVertexStatus(3, true);\n break;\n case WUStateID.Aborted:\n case WUStateID.Archived:\n case WUStateID.Completed:\n this.updateVertexStatus(4);\n break;\n case WUStateID.Failed:\n this.updateVertexStatus(4, false);\n break;\n case WUStateID.DebugPaused:\n case WUStateID.DebugRunning:\n case WUStateID.Paused:\n case WUStateID.Unknown:\n default:\n this.updateVertexStatus(0);\n break;\n }\n super.update(domNode, element);\n this.zoomToFit();\n }\n\n exit(domNode, element) {\n if (this._wuHandle) {\n this._wuHandle.release();\n }\n super.exit(domNode, element);\n }\n}\nWUStatus.prototype._class += \" eclwatch_WUStatus\";\n\nexport interface WUStatus {\n baseUrl(): string;\n baseUrl(_: string): this;\n wuid(): string;\n wuid(_: string): this;\n}\n\nWUStatus.prototype.publish(\"baseUrl\", \"\", \"string\", \"HPCC Platform Base URL\");\nWUStatus.prototype.publish(\"wuid\", \"\", \"string\", \"Workunit ID\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { Scope, Workunit, WUDetails } from \"@hpcc-js/comms\";\nimport { ReactTimelineSeries } from \"@hpcc-js/timeline\";\nimport { hashSum } from \"@hpcc-js/util\";\n\nimport \"../src/WUGraph.css\";\n\nconst columns = [\"label\", \"start\", \"end\", \"icon\", \"color\", \"series\"];\n\nexport class WUTimeline extends ReactTimelineSeries {\n\n protected _palette = Palette.ordinal(\"default\");\n\n constructor() {\n super();\n this\n .columns(columns)\n .titleColumn(\"label\")\n .iconColumn(\"icon\")\n .colorColumn(\"color\")\n .seriesColumn(\"series\")\n .timePattern(\"%Y-%m-%dT%H:%M:%S.%LZ\")\n .tickFormat(\"%H:%M\")\n .tooltipTimeFormat(\"%H:%M:%S.%L\")\n .tooltipHTML(d => {\n return d[columns.length].calcTooltip();\n })\n ;\n }\n\n private _prevHashSum;\n clear(): this {\n delete this._prevHashSum;\n return this;\n }\n fetchScopes() {\n const hash = hashSum({\n baseUrl: this.baseUrl(),\n wuid: this.wuid(),\n request: this.request()\n });\n if (this._prevHashSum !== hash) {\n this._prevHashSum = hash;\n const wu = Workunit.attach({ baseUrl: this.baseUrl() }, this.wuid());\n wu.fetchDetails(this.request()).then(scopes => {\n return scopes.filter(scope => scope.Id && scope.attr(\"WhenStarted\").RawValue).map((scope: Scope) => {\n const whenStarted = +scope.attr(\"WhenStarted\").RawValue / 1000;\n const timeElapsed = +scope.attr(\"TimeElapsed\").RawValue / 1000000;\n return [\n scope.Id,\n new Date(whenStarted).toISOString(),\n timeElapsed ? new Date(whenStarted + timeElapsed).toISOString() : undefined,\n null,\n this._palette(scope.ScopeType),\n scope.ScopeName.split(\"::\").join(\":\").split(\":\").slice(0, 1),\n scope\n ];\n });\n }).then(scopes => {\n this\n .data(scopes)\n .render()\n ;\n });\n }\n }\n\n enter(domNode, _element) {\n super.enter(domNode, _element);\n }\n\n update(domNode, element) {\n this.fetchScopes();\n super.update(domNode, element);\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n}\nWUTimeline.prototype._class += \" eclwatch_WUTimeline\";\n\nexport interface WUTimeline {\n baseUrl(): string;\n baseUrl(_: string): this;\n wuid(): string;\n wuid(_: string): this;\n request(): Partial<WUDetails.Request>;\n request(_: Partial<WUDetails.Request>): this;\n}\n\nWUTimeline.prototype.publish(\"baseUrl\", \"\", \"string\", \"HPCC Platform Base URL\");\nWUTimeline.prototype.publish(\"wuid\", \"\", \"string\", \"Workunit ID\");\nWUTimeline.prototype.publish(\"request\", {\n ScopeFilter: {\n MaxDepth: 3,\n ScopeTypes: [\"graph\", \"subgraph\"]\n },\n NestedFilter: {\n Depth: 0,\n ScopeTypes: []\n },\n PropertiesToReturn: {\n AllProperties: false,\n AllStatistics: true,\n AllHints: false,\n Properties: [\"WhenStarted\", \"TimeElapsed\"]\n },\n ScopeOptions: {\n IncludeId: true,\n IncludeScope: true,\n IncludeScopeType: true\n },\n PropertyOptions: {\n IncludeName: true,\n IncludeRawValue: true,\n IncludeFormatted: true,\n IncludeMeasure: true,\n IncludeCreator: false,\n IncludeCreatorType: false\n }\n}, \"object\", \"WUDetails Request\");\n"],"names":["DirectoryTree","Editor","xml2json","hashSum","Workunit","SplitPanel","Vertex","d3Local","d3Select","Legend","UtilSubgraph","UtilVertex","UtilEdge","Subgraph","Icon","Edge","BaseScope","Button","ToggleButton","GraphWidget","Table","Carousel","Spacer","ChartPanel","RowFormatter","domConstruct","Deferred","QueryResults","Result","publish","Common","STATUS","STATUS_ACTIVE","WUStateID","Graph","Palette","ReactTimelineSeries"],"mappings":"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"}