@hpcc-js/eclwatch 2.72.13 → 2.72.16

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.
@@ -1 +1 @@
1
- {"version":3,"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/WUStatus.ts","../src/WUResult.ts","../src/WUTimeline.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__spreadArray","to","from","pack","ar","l","slice","concat","ECLArchiveViewer","_super","_this","_directoryPane","DirectoryTree","_fileEditorPane","Editor","text","rowClick","render","transformArchiveTreeData","json","ret","label","name","children","_children","map","transformNode","node","_node","filter","content","trim","JSON","stringify","updateDirectoryPane","contentStr","parse","e","xml2json","_data","data","enter","domNode","element","addWidget","update","hash","hashSum","baseUrl","wuid","_prevHash","_contentStr","Workunit","attach","fetchArchive","then","resp","relativeSizes","directoryWidthRatio","SplitPanel","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","_class","publish","publishProxy","LegendVertex","_icon","on","click","kind","Vertex","WUGraphLegend","icon","d3Local","_disabled2","disabled","_","retVal","push","forEach","toggle","context","items","_g","selectAll","append","attr","each","set","textbox_shape_colorStroke","textbox_shape_colorFill","iconAnchor","faChar","count","tooltip","mouseover","mouseout","merge","bbox","get","icon_shape_colorFill","getBBox","d3Select","width","exit","remove","height","Legend","faCharFactory","WUScopeController","subgraphsMap","rSubgraphsMap","verticesMap","rVerticesMap","edgesMap","rEdgesMap","kindMap","_disabled","clear","masterGraph","graphDB","graphGui","walk","item","UtilSubgraph","UtilVertex","RawValue","subgraphs","vertices","edges","hierarchy","subgraph","appendSubgraph","showMinMax","minState","appendVertex","UtilEdge","appendEdge","format","labelTpl","obj","lpos","indexOf","rpos","substring","console","warn","split","join","createSubgraph","sg","Id","Subgraph","title","minClick","id","createVertex","vertex","v","attrs","rawAttrs","ScopeType","parent_1","parent","Icon","shape_colorFill","shape_colorStroke","image_colorFill","icon_image_colorFill","annotations","hasAttr","annotationIcons","isSpill","edge","sourceKind","source","targetKind","spansSubgraph","createEdge","sourceV","targetV","strokeDasharray","weight","Edge","sourceVertex","targetVertex","sourceMarker","targetMarker","child","filterLegend","this_1","BaseScope","ScopeName","Properties","Property","Notes","Note","filterPartial","_i","_a","vShow","vHide","_b","childVertices_1","inEdges","some","outEdges","dummyDetails","Name","Formatted","Measure","Creator","CreatorType","dummyScope","dummyVertex","_c","vHide_1","_d","_e","dummyEdgeScope","_f","filterEmptySubgraphs","emptySubgraphs","removeObsoleteSubgraphs","graphData","clone","calcLegend","parseInt","formatRow","columns","row","formattedAttrs","idx","undefined","activityData","edgeData","subgraphData","calcGraphTooltip","scope","parentScope","calcTooltip","WUGraph","_partialAll","Button","stateClick","_maxAll","_toggleGraph","ToggleButton","selected","viewClick","_toggleActivities","_toggleEdges","_toggleSubgraphs","_graph","GraphWidget","layout","applyScaleOnLayout","showToolbar","allowDragging","_activities","Table","pagination","_edges","_subgraphs","_legend","_gc","highlightVerticies","_view","Carousel","widgets","topOverlay","widget","buttons","Spacer","iconBarButtons","loadGraph","w","selection","centerOnItem","tooltipHTML","sourceB","sourceTB","active","fetchScopeGraph","graphID","subgraphID","_prevScopeGraph","_prevHashSum","Promise","resolve","startProgress","fetchGraphs","graphs","graphs_1","graph","finishProgress","scopeGraph","_element","callback","scopedGraph","ChartPanel","safeEncode","toString","replace","STATUS","STATUS_ACTIVE","Store","wuResult","schema","renderHtml","_cache","_filter","_columns","schema2Columns","root","rowFormatter","RowFormatter","parentNode","prefix","keyed","column","field","leafID","className","sortable","isSet","reduce","prev","childNode","charWidth","formatter","cell","html","isChildDataset","propCount","firstPropType","rowToTable","__row","table","domConstruct","border","cellspacing","tr","innerHTML","tr1","tr2","td","val","getIdentity","__hpcc_id","_request","start","end","totalLength","cacheKey","fetchRows","rows","Total","formattedRow","__hpcc_orig","fetchRange","options","Deferred","response","QueryResults","WUResult","opts","resultName","sequence","nodeGroup","logicalFile","userID","user","password","calcResult","resultHash","_prevResultHash","_result","Result","attachLogicalFile","fetch","abortController","AbortController","result","signal","storeHash","_prevStoreHash","result_1","fetchXMLSchema","_localStore","_dgrid","col","sel","Common","WUStatus","zoomable","zoomToFitLimit","hierarchyRankDirection","attachWorkunit","_wu","_wuHandle","release","watch","changes","lazyRender","icon_diameter","icon_shape_colorStroke","textbox_text_colorFill","updateVertex","color","updateVertexStatus","level","completeColor","isFailed","_create","CREATE","_compile","COMPILE","_execute","EXECUTE","_complete","COMPLETE","strokeColor","showArc","e1","e2","e3","StateID","WUStateID","Blocked","Wait","Scheduled","UploadingFiled","Compiling","Submitted","Compiled","Aborting","Running","Aborted","Archived","Completed","Failed","DebugPaused","DebugRunning","Paused","Unknown","zoomToFit","Graph","WUTimeline","_palette","Palette","ordinal","titleColumn","iconColumn","colorColumn","seriesColumn","timePattern","tickFormat","tooltipTimeFormat","fetchScopes","request","fetchDetails","scopes","whenStarted","timeElapsed","Date","toISOString","ReactTimelineSeries","ScopeFilter","MaxDepth","ScopeTypes","NestedFilter","Depth","PropertiesToReturn","AllProperties","AllStatistics","AllHints","ScopeOptions","IncludeId","IncludeScope","IncludeScopeType","PropertyOptions","IncludeName","IncludeRawValue","IncludeFormatted","IncludeMeasure","IncludeCreator","IncludeCreatorType"],"mappings":"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","sourcesContent":["export const PKG_NAME = \"@hpcc-js/eclwatch\";\r\nexport const PKG_VERSION = \"2.72.13\";\r\nexport const BUILD_VERSION = \"2.103.3\";\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 (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { 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 { 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 { 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 { 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"]}
1
+ {"version":3,"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/WUStatus.ts","../src/WUResult.ts","../src/WUTimeline.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__metadata","metadataKey","metadataValue","metadata","__spreadArray","to","from","pack","ar","l","slice","concat","ECLArchiveViewer","_super","_this","_directoryPane","DirectoryTree","_fileEditorPane","Editor","text","rowClick","render","transformArchiveTreeData","json","ret","label","name","children","_children","map","transformNode","node","_node","filter","content","trim","JSON","stringify","updateDirectoryPane","contentStr","parse","e","xml2json","_data","data","enter","domNode","element","addWidget","update","hash","hashSum","baseUrl","wuid","_prevHash","_contentStr","Workunit","attach","fetchArchive","then","resp","relativeSizes","directoryWidthRatio","SplitPanel","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","_class","publish","publishProxy","LegendVertex","_icon","on","click","kind","Vertex","WUGraphLegend","icon","d3Local","_disabled2","disabled","_","retVal","push","forEach","toggle","context","items","_g","selectAll","append","attr","each","set","textbox_shape_colorStroke","textbox_shape_colorFill","iconAnchor","faChar","count","tooltip","mouseover","mouseout","merge","bbox","get","icon_shape_colorFill","getBBox","d3Select","width","exit","remove","height","Legend","faCharFactory","WUScopeController","subgraphsMap","rSubgraphsMap","verticesMap","rVerticesMap","edgesMap","rEdgesMap","kindMap","_disabled","clear","masterGraph","graphDB","graphGui","walk","item","UtilSubgraph","UtilVertex","RawValue","subgraphs","vertices","edges","hierarchy","subgraph","appendSubgraph","showMinMax","minState","appendVertex","UtilEdge","appendEdge","format","labelTpl","obj","lpos","indexOf","rpos","substring","console","warn","split","join","createSubgraph","sg","Id","Subgraph","title","minClick","id","createVertex","vertex","v","attrs","rawAttrs","ScopeType","parent_1","parent","Icon","shape_colorFill","shape_colorStroke","image_colorFill","icon_image_colorFill","annotations","hasAttr","annotationIcons","isSpill","edge","sourceKind","source","targetKind","spansSubgraph","createEdge","sourceV","targetV","strokeDasharray","weight","Edge","sourceVertex","targetVertex","sourceMarker","targetMarker","child","filterLegend","this_1","BaseScope","ScopeName","Properties","Property","Notes","Note","filterPartial","_i","_a","vShow","vHide","_b","childVertices_1","inEdges","some","outEdges","dummyDetails","Name","Formatted","Measure","Creator","CreatorType","dummyScope","dummyVertex","_c","vHide_1","_d","_e","dummyEdgeScope","_f","filterEmptySubgraphs","emptySubgraphs","removeObsoleteSubgraphs","graphData","clone","calcLegend","parseInt","formatRow","columns","row","formattedAttrs","idx","undefined","activityData","edgeData","subgraphData","calcGraphTooltip","scope","parentScope","calcTooltip","WUGraph","_partialAll","Button","stateClick","_maxAll","_toggleGraph","ToggleButton","selected","viewClick","_toggleActivities","_toggleEdges","_toggleSubgraphs","_graph","GraphWidget","layout","applyScaleOnLayout","showToolbar","allowDragging","_activities","Table","pagination","_edges","_subgraphs","_legend","_gc","highlightVerticies","_view","Carousel","widgets","topOverlay","widget","buttons","Spacer","iconBarButtons","loadGraph","w","selection","centerOnItem","tooltipHTML","sourceB","sourceTB","active","fetchScopeGraph","graphID","subgraphID","_prevScopeGraph","_prevHashSum","Promise","resolve","startProgress","fetchGraphs","graphs","graphs_1","graph","finishProgress","scopeGraph","_element","callback","scopedGraph","ChartPanel","safeEncode","toString","replace","STATUS","STATUS_ACTIVE","Store","wuResult","schema","renderHtml","_cache","_filter","_columns","schema2Columns","root","rowFormatter","RowFormatter","parentNode","prefix","keyed","column","field","leafID","className","sortable","isSet","reduce","prev","childNode","charWidth","formatter","cell","html","isChildDataset","propCount","firstPropType","rowToTable","__row","table","domConstruct","border","cellspacing","tr","innerHTML","tr1","tr2","td","val","getIdentity","__hpcc_id","_request","start","end","totalLength","cacheKey","fetchRows","rows","Total","formattedRow","__hpcc_orig","fetchRange","options","Deferred","response","QueryResults","WUResult","opts","resultName","sequence","nodeGroup","logicalFile","userID","user","password","calcResult","resultHash","_prevResultHash","_result","Result","attachLogicalFile","fetch","abortController","AbortController","result","signal","storeHash","_prevStoreHash","result_1","fetchXMLSchema","_localStore","_dgrid","col","sel","Common","WUStatus","zoomable","zoomToFitLimit","hierarchyRankDirection","attachWorkunit","_wu","_wuHandle","release","watch","changes","lazyRender","icon_diameter","icon_shape_colorStroke","textbox_text_colorFill","updateVertex","color","updateVertexStatus","level","completeColor","isFailed","_create","CREATE","_compile","COMPILE","_execute","EXECUTE","_complete","COMPLETE","strokeColor","showArc","e1","e2","e3","StateID","WUStateID","Blocked","Wait","Scheduled","UploadingFiled","Compiling","Submitted","Compiled","Aborting","Running","Aborted","Archived","Completed","Failed","DebugPaused","DebugRunning","Paused","Unknown","zoomToFit","Graph","WUTimeline","_palette","Palette","ordinal","titleColumn","iconColumn","colorColumn","seriesColumn","timePattern","tickFormat","tooltipTimeFormat","fetchScopes","request","fetchDetails","scopes","whenStarted","timeElapsed","Date","toISOString","ReactTimelineSeries","ScopeFilter","MaxDepth","ScopeTypes","NestedFilter","Depth","PropertiesToReturn","AllProperties","AllStatistics","AllHints","ScopeOptions","IncludeId","IncludeScope","IncludeScopeType","PropertyOptions","IncludeName","IncludeRawValue","IncludeFormatted","IncludeMeasure","IncludeCreator","IncludeCreatorType"],"mappings":"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","sourcesContent":["export const PKG_NAME = \"@hpcc-js/eclwatch\";\r\nexport const PKG_VERSION = \"2.72.16\";\r\nexport const BUILD_VERSION = \"2.103.6\";\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 (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { 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 { 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 { 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 { 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"]}