UNPKG

@nocobase/flow-engine

Version:

A standalone flow engine for NocoBase, managing workflows, models, and actions.

98 lines (96 loc) 3.42 kB
/** * This file is part of the NocoBase (R) project. * Copyright (c) 2020-2024 NocoBase Co., Ltd. * Authors: NocoBase Team. * * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. * For more information, please refer to: https://www.nocobase.com/agreement. */ var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var ViewNavigation_exports = {}; __export(ViewNavigation_exports, { ViewNavigation: () => ViewNavigation, generatePathnameFromViewParams: () => generatePathnameFromViewParams }); module.exports = __toCommonJS(ViewNavigation_exports); function generatePathnameFromViewParams(viewParams) { if (!viewParams || viewParams.length === 0) { return "/admin"; } const segments = ["admin"]; viewParams.forEach((viewParam, index) => { if (index > 0) { segments.push("view"); } segments.push(viewParam.viewUid); if (viewParam.tabUid) { segments.push("tab", viewParam.tabUid); } if (viewParam.filterByTk) { segments.push("filterbytk", viewParam.filterByTk); } if (viewParam.sourceId) { segments.push("sourceid", viewParam.sourceId); } }); return "/" + segments.join("/"); } __name(generatePathnameFromViewParams, "generatePathnameFromViewParams"); const _ViewNavigation = class _ViewNavigation { viewStack; ctx; constructor(ctx, viewParams) { this.viewStack = [...viewParams]; this.ctx = ctx; } changeTo(viewParam) { if (this.viewStack.length === 0) { this.viewStack.push(viewParam); } else { this.viewStack[this.viewStack.length - 1] = { ...this.viewStack[this.viewStack.length - 1], ...viewParam }; } const newPathname = generatePathnameFromViewParams(this.viewStack); this.ctx.router.navigate(newPathname, { replace: true }); } navigateTo(viewParam, opts) { const newViewPathname = generatePathnameFromViewParams([...this.viewStack, viewParam]); const newPathname = newViewPathname; if (location.pathname.endsWith(newPathname)) { return this.ctx.router.navigate(-1); } this.ctx.router.navigate(newPathname, opts); if (this.viewStack.length === 0) { this.viewStack.push(viewParam); } } back() { const pathname = generatePathnameFromViewParams(this.viewStack); if (location.pathname.endsWith(pathname)) { this.ctx.router.navigate(-1); } } }; __name(_ViewNavigation, "ViewNavigation"); let ViewNavigation = _ViewNavigation; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { ViewNavigation, generatePathnameFromViewParams });