UNPKG

pddl-gantt

Version:

Plan visualization for AI-Planning plans. The package includes HTML components for Gantt, swimlane and line plot visualization of plan originating from AI Planning solvers.

86 lines 4.57 kB
/* -------------------------------------------------------------------------------------------- * Copyright (c) Jan Dolejsi 2020. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. * ------------------------------------------------------------------------------------------ */ 'use strict'; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonDomainVizConfiguration = void 0; class JsonDomainVizConfiguration { constructor(configuration, customVisualizationScriptLoader, customVisualization) { this.configuration = configuration; this.customVisualizationScriptLoader = customVisualizationScriptLoader; this.customVisualization = customVisualization; } static withCustomVisualizationScript(configuration, customDomainVisualizationScript) { // set up the script loader callback, if the script is provided let customDomainVisualizationScriptLoader; if (customDomainVisualizationScript !== undefined) { customDomainVisualizationScriptLoader = () => customDomainVisualizationScript; } else { customDomainVisualizationScriptLoader = undefined; } return new JsonDomainVizConfiguration(configuration, customDomainVisualizationScriptLoader); } static withCustomVisualization(configuration, customDomainVisualization) { return new JsonDomainVizConfiguration(configuration, undefined, customDomainVisualization); } shouldDisplay(planStep) { var _a, _b, _c; return (_c = !((_b = (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.excludeActions) === null || _b === void 0 ? void 0 : _b.some(pattern => this.matches(pattern, planStep.getActionName())))) !== null && _c !== void 0 ? _c : true; } shouldIgnoreActionParameter(actionName, parameterName) { var _a, _b; const applicableSetting = (_b = (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.ignoreActionParameters) === null || _b === void 0 ? void 0 : _b.find(entry => this.matches(entry.action, actionName)); if (!applicableSetting) { return false; } return parameterName.match(new RegExp(applicableSetting.parameterPattern, "i")) !== null; } matches(pattern, actionName) { return !!actionName.match(new RegExp(pattern, "i")); } getCustomVisualizationScriptPath() { var _a; return (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.customVisualization; } getCustomVisualizationScript() { var _a, _b; return __awaiter(this, void 0, void 0, function* () { if (this.customVisualizationScript !== undefined) { return this.customVisualizationScript; } else if (((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.customVisualization) && this.customVisualizationScriptLoader) { return this.customVisualizationScript = yield this.customVisualizationScriptLoader((_b = this.configuration) === null || _b === void 0 ? void 0 : _b.customVisualization); } else { return undefined; } }); } getCustomVisualization() { return __awaiter(this, void 0, void 0, function* () { if (this.customVisualization) { return this.customVisualization; } else { const script = yield this.getCustomVisualizationScript(); if (script !== undefined) { return this.customVisualization = eval(script); } } return undefined; }); } } exports.JsonDomainVizConfiguration = JsonDomainVizConfiguration; //# sourceMappingURL=JsonDomainVizConfiguration.js.map