@next-core/easyops-runtime 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/menu/computeMenuData.js +7 -0
- package/dist/cjs/menu/computeMenuData.js.map +1 -1
- package/dist/cjs/menu/fetchMenuById.js +23 -16
- package/dist/cjs/menu/fetchMenuById.js.map +1 -1
- package/dist/cjs/menu/interfaces.js.map +1 -1
- package/dist/esm/menu/computeMenuData.js +14 -4
- package/dist/esm/menu/computeMenuData.js.map +1 -1
- package/dist/esm/menu/fetchMenuById.js +23 -16
- package/dist/esm/menu/fetchMenuById.js.map +1 -1
- package/dist/esm/menu/interfaces.js.map +1 -1
- package/dist/types/menu/interfaces.d.ts +1 -0
- package/package.json +4 -4
|
@@ -6,7 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.computeMenuData = computeMenuData;
|
|
7
7
|
exports.computeMenuItems = computeMenuItems;
|
|
8
8
|
var _constants = require("./constants.js");
|
|
9
|
+
var _general = require("@next-core/utils/general");
|
|
9
10
|
function computeMenuData(data, overrideAppId, runtimeContext, helpers) {
|
|
11
|
+
if ("titleDataSource" in data && (0, _general.isObject)(data.titleDataSource) && Object.entries(data.titleDataSource).every(([key, value]) => value === null || value === "")) {
|
|
12
|
+
delete data.titleDataSource;
|
|
13
|
+
}
|
|
14
|
+
if ("if" in data && data.if === null) {
|
|
15
|
+
delete data.if;
|
|
16
|
+
}
|
|
10
17
|
let newRuntimeContext = runtimeContext;
|
|
11
18
|
if (overrideAppId !== runtimeContext.app.id) {
|
|
12
19
|
var _helpers$getStoryboar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeMenuData.js","names":["_constants","require","computeMenuData","data","overrideAppId","runtimeContext","helpers","newRuntimeContext","app","id","_helpers$getStoryboar","overrideApp","window","STANDALONE_MICRO_APPS","symbolOverrideApp","getStoryboardByAppId","appendI18nNamespace","symbolMenuI18nNamespace","asyncComputeRealValue","ignoreSymbols","computeMenuItems","items","Promise","all","map","children","rest","computedRest","computedChildren","symbolAppId"],"sources":["../../../src/menu/computeMenuData.ts"],"sourcesContent":["import type {\n RuntimeContext,\n RuntimeHelpers,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\ntype RuntimeMenuRestRawData = Omit<RuntimeMenuRawData, \"app\" | \"items\">;\ntype RuntimeMenuItemRestRawData = Omit<RuntimeMenuItemRawData, \"children\">;\n\nexport function computeMenuData<\n T extends RuntimeMenuRestRawData | RuntimeMenuItemRestRawData\n>(\n data: T,\n overrideAppId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<T> {\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? data[symbolOverrideApp]\n : helpers.getStoryboardByAppId(overrideAppId)?.app;\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace],\n };\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true,\n }) as Promise<T>;\n}\n\nexport function computeMenuItems(\n items: RuntimeMenuItemRawData[],\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<RuntimeMenuItemRawData[]> {\n return Promise.all(\n items.map(async ({ children, ...rest }) => {\n const [computedRest, computedChildren] = await Promise.all([\n computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers),\n children && (await computeMenuItems(children, runtimeContext, helpers)),\n ]);\n return {\n ...computedRest,\n children: computedChildren,\n };\n })\n );\n}\n"],"mappings":";;;;;;;AAMA,IAAAA,UAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"file":"computeMenuData.js","names":["_constants","require","_general","computeMenuData","data","overrideAppId","runtimeContext","helpers","isObject","titleDataSource","Object","entries","every","key","value","if","newRuntimeContext","app","id","_helpers$getStoryboar","overrideApp","window","STANDALONE_MICRO_APPS","symbolOverrideApp","getStoryboardByAppId","appendI18nNamespace","symbolMenuI18nNamespace","asyncComputeRealValue","ignoreSymbols","computeMenuItems","items","Promise","all","map","children","rest","computedRest","computedChildren","symbolAppId"],"sources":["../../../src/menu/computeMenuData.ts"],"sourcesContent":["import type {\n RuntimeContext,\n RuntimeHelpers,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\nimport { isObject } from \"@next-core/utils/general\";\n\ntype RuntimeMenuRestRawData = Omit<RuntimeMenuRawData, \"app\" | \"items\">;\ntype RuntimeMenuItemRestRawData = Omit<RuntimeMenuItemRawData, \"children\">;\n\nexport function computeMenuData<\n T extends RuntimeMenuRestRawData | RuntimeMenuItemRestRawData\n>(\n data: T,\n overrideAppId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<T> {\n if (\n \"titleDataSource\" in data &&\n isObject(data.titleDataSource) &&\n Object.entries(data.titleDataSource).every(\n ([key, value]) => value === null || value === \"\"\n )\n ) {\n delete data.titleDataSource;\n }\n if (\"if\" in data && data.if === null) {\n delete data.if;\n }\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? data[symbolOverrideApp]\n : helpers.getStoryboardByAppId(overrideAppId)?.app;\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace],\n };\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true,\n }) as Promise<T>;\n}\n\nexport function computeMenuItems(\n items: RuntimeMenuItemRawData[],\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<RuntimeMenuItemRawData[]> {\n return Promise.all(\n items.map(async ({ children, ...rest }) => {\n const [computedRest, computedChildren] = await Promise.all([\n computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers),\n children && (await computeMenuItems(children, runtimeContext, helpers)),\n ]);\n return {\n ...computedRest,\n children: computedChildren,\n };\n })\n );\n}\n"],"mappings":";;;;;;;AAMA,IAAAA,UAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAKO,SAASE,eAAeA,CAG7BC,IAAO,EACPC,aAAqB,EACrBC,cAA8B,EAC9BC,OAAuB,EACX;EACZ,IACE,iBAAiB,IAAIH,IAAI,IACzB,IAAAI,iBAAQ,EAACJ,IAAI,CAACK,eAAe,CAAC,IAC9BC,MAAM,CAACC,OAAO,CAACP,IAAI,CAACK,eAAe,CAAC,CAACG,KAAK,CACxC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAKA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,EAChD,CAAC,EACD;IACA,OAAOV,IAAI,CAACK,eAAe;EAC7B;EACA,IAAI,IAAI,IAAIL,IAAI,IAAIA,IAAI,CAACW,EAAE,KAAK,IAAI,EAAE;IACpC,OAAOX,IAAI,CAACW,EAAE;EAChB;EACA,IAAIC,iBAAiB,GAAGV,cAAc;EACtC,IAAID,aAAa,KAAKC,cAAc,CAACW,GAAG,CAACC,EAAE,EAAE;IAAA,IAAAC,qBAAA;IAC3C,MAAMC,WAAW,GAAGC,MAAM,CAACC,qBAAqB,GAC5ClB,IAAI,CAACmB,4BAAiB,CAAC,IAAAJ,qBAAA,GACvBZ,OAAO,CAACiB,oBAAoB,CAACnB,aAAa,CAAC,cAAAc,qBAAA,uBAA3CA,qBAAA,CAA6CF,GAAG;IACpDD,iBAAiB,GAAG;MAClB,GAAGV,cAAc;MACjBc,WAAW;MACXK,mBAAmB,EAAErB,IAAI,CAACsB,kCAAuB;IACnD,CAAC;EACH;EACA,OAAOnB,OAAO,CAACoB,qBAAqB,CAACvB,IAAI,EAAEY,iBAAiB,EAAE;IAC5DY,aAAa,EAAE;EACjB,CAAC,CAAC;AACJ;AAEO,SAASC,gBAAgBA,CAC9BC,KAA+B,EAC/BxB,cAA8B,EAC9BC,OAAuB,EACY;EACnC,OAAOwB,OAAO,CAACC,GAAG,CAChBF,KAAK,CAACG,GAAG,CAAC,OAAO;IAAEC,QAAQ;IAAE,GAAGC;EAAK,CAAC,KAAK;IACzC,MAAM,CAACC,YAAY,EAAEC,gBAAgB,CAAC,GAAG,MAAMN,OAAO,CAACC,GAAG,CAAC,CACzD7B,eAAe,CAACgC,IAAI,EAAEA,IAAI,CAACG,sBAAW,CAAC,EAAEhC,cAAc,EAAEC,OAAO,CAAC,EACjE2B,QAAQ,KAAK,MAAML,gBAAgB,CAACK,QAAQ,EAAE5B,cAAc,EAAEC,OAAO,CAAC,CAAC,CACxE,CAAC;IACF,OAAO;MACL,GAAG6B,YAAY;MACfF,QAAQ,EAAEG;IACZ,CAAC;EACH,CAAC,CACH,CAAC;AACH"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.fetchMenuById = fetchMenuById;
|
|
7
7
|
exports.getMenuById = getMenuById;
|
|
8
8
|
var _cmdbSdk = require("@next-api-sdk/cmdb-sdk");
|
|
9
|
+
var _microAppSdk = require("@next-api-sdk/micro-app-sdk");
|
|
9
10
|
var _lodash = require("lodash");
|
|
10
11
|
var _runtime = require("@next-core/runtime");
|
|
11
12
|
var _mergeMenu = require("./mergeMenu.js");
|
|
@@ -16,6 +17,24 @@ var _getMenusOfStandaloneApp = require("./getMenusOfStandaloneApp.js");
|
|
|
16
17
|
var _checkPermissions = require("../checkPermissions.js");
|
|
17
18
|
const menuPromises = new Map();
|
|
18
19
|
const menuCache = new Map();
|
|
20
|
+
function walkMenuItems(menuItems) {
|
|
21
|
+
return menuItems === null || menuItems === void 0 ? void 0 : menuItems.filter(_runtime.checkIfOfComputed).map(item => {
|
|
22
|
+
const children = walkMenuItems(item.children);
|
|
23
|
+
return item.type === "group" ? {
|
|
24
|
+
type: "group",
|
|
25
|
+
title: item.text,
|
|
26
|
+
childLayout: item.childLayout,
|
|
27
|
+
items: children
|
|
28
|
+
} : children !== null && children !== void 0 && children.length ? {
|
|
29
|
+
type: "subMenu",
|
|
30
|
+
childLayout: item.childLayout,
|
|
31
|
+
title: item.text,
|
|
32
|
+
icon: item.icon,
|
|
33
|
+
items: children,
|
|
34
|
+
defaultExpanded: item.defaultExpanded
|
|
35
|
+
} : item;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
19
38
|
function getMenuById(menuId) {
|
|
20
39
|
return menuCache.get(menuId);
|
|
21
40
|
}
|
|
@@ -27,7 +46,9 @@ function fetchMenuById(menuId, runtimeContext, helpers) {
|
|
|
27
46
|
return promise;
|
|
28
47
|
}
|
|
29
48
|
async function _fetchMenuById(menuId, runtimeContext, helpers) {
|
|
30
|
-
const menuList = window.STANDALONE_MICRO_APPS ? (0, _getMenusOfStandaloneApp.getMenusOfStandaloneApp)(menuId, runtimeContext.app.id, helpers) : (await (0,
|
|
49
|
+
const menuList = window.STANDALONE_MICRO_APPS ? (0, _getMenusOfStandaloneApp.getMenusOfStandaloneApp)(menuId, runtimeContext.app.id, helpers) : runtimeContext.flags["three-level-menu-layout"] ? (await (0, _microAppSdk.InstalledMicroAppApi_getMenusInfo)(menuId, {
|
|
50
|
+
menuObjectId: "EASYOPS_STORYBOARD_MENU"
|
|
51
|
+
})).menus : (await (0, _cmdbSdk.InstanceApi_postSearch)("EASYOPS_STORYBOARD_MENU", {
|
|
31
52
|
page: 1,
|
|
32
53
|
page_size: 200,
|
|
33
54
|
fields: {
|
|
@@ -79,21 +100,7 @@ async function _fetchMenuById(menuId, runtimeContext, helpers) {
|
|
|
79
100
|
const finalMenuData = {
|
|
80
101
|
title: await (0, _fetchMenuTitle.fetchMenuTitle)(computedMenuData),
|
|
81
102
|
...(0, _lodash.pick)(computedMenuData, ["icon", "link", "defaultCollapsed", "defaultCollapsedBreakpoint"]),
|
|
82
|
-
menuItems: computedMenuItems
|
|
83
|
-
var _item$children;
|
|
84
|
-
const children = (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.filter(_runtime.checkIfOfComputed);
|
|
85
|
-
return item.type === "group" ? {
|
|
86
|
-
type: "group",
|
|
87
|
-
title: item.text,
|
|
88
|
-
items: children
|
|
89
|
-
} : children !== null && children !== void 0 && children.length ? {
|
|
90
|
-
type: "subMenu",
|
|
91
|
-
title: item.text,
|
|
92
|
-
icon: item.icon,
|
|
93
|
-
items: children,
|
|
94
|
-
defaultExpanded: item.defaultExpanded
|
|
95
|
-
} : item;
|
|
96
|
-
})
|
|
103
|
+
menuItems: walkMenuItems(computedMenuItems)
|
|
97
104
|
};
|
|
98
105
|
|
|
99
106
|
// Todo(steve): reconsider the menu cache strategy
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchMenuById.js","names":["_cmdbSdk","require","_lodash","_runtime","_mergeMenu","_reorderMenuItems","_computeMenuData","_fetchMenuTitle","_getMenusOfStandaloneApp","_checkPermissions","menuPromises","Map","menuCache","getMenuById","menuId","get","fetchMenuById","runtimeContext","helpers","promise","_fetchMenuById","menuList","window","STANDALONE_MICRO_APPS","getMenusOfStandaloneApp","app","id","
|
|
1
|
+
{"version":3,"file":"fetchMenuById.js","names":["_cmdbSdk","require","_microAppSdk","_lodash","_runtime","_mergeMenu","_reorderMenuItems","_computeMenuData","_fetchMenuTitle","_getMenusOfStandaloneApp","_checkPermissions","menuPromises","Map","menuCache","walkMenuItems","menuItems","filter","checkIfOfComputed","map","item","children","type","title","text","childLayout","items","length","icon","defaultExpanded","getMenuById","menuId","get","fetchMenuById","runtimeContext","helpers","promise","_fetchMenuById","menuList","window","STANDALONE_MICRO_APPS","getMenusOfStandaloneApp","app","id","flags","InstalledMicroAppApi_getMenusInfo","menuObjectId","menus","InstanceApi_postSearch","page","page_size","fields","link","titleDataSource","defaultCollapsed","defaultCollapsedBreakpoint","injectMenuGroupId","dynamicItems","itemsResolve","i18n","query","$eq","$size","$gt","list","menuData","mergeMenu","Error","reorderMenuItems","restMenuData","newRuntimeContext","pendingPermissionsPreCheck","preCheckPermissionsForAny","tplStateStoreId","forEachItem","rootAppId","appId","computedMenuData","computedMenuItems","Promise","all","computeMenuData","computeMenuItems","finalMenuData","fetchMenuTitle","pick","set"],"sources":["../../../src/menu/fetchMenuById.ts"],"sourcesContent":["import { InstanceApi_postSearch } from \"@next-api-sdk/cmdb-sdk\";\nimport { InstalledMicroAppApi_getMenusInfo } from \"@next-api-sdk/micro-app-sdk\";\nimport { pick } from \"lodash\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { mergeMenu } from \"./mergeMenu.js\";\nimport { reorderMenuItems } from \"./reorderMenuItems.js\";\nimport type {\n MenuRawData,\n RuntimeContext,\n RuntimeHelpers,\n RuntimeMenuItemRawData,\n} from \"./interfaces.js\";\nimport { computeMenuItems, computeMenuData } from \"./computeMenuData.js\";\nimport { fetchMenuTitle } from \"./fetchMenuTitle.js\";\nimport { getMenusOfStandaloneApp } from \"./getMenusOfStandaloneApp.js\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\n\nconst menuPromises = new Map<string, Promise<void>>();\n\nconst menuCache = new Map<string, unknown>();\n\nfunction walkMenuItems(menuItems: RuntimeMenuItemRawData[]): unknown[] {\n return menuItems?.filter(checkIfOfComputed).map((item) => {\n const children = walkMenuItems(item.children!);\n return item.type === \"group\"\n ? {\n type: \"group\",\n title: item.text,\n childLayout: item.childLayout,\n items: children,\n }\n : children?.length\n ? {\n type: \"subMenu\",\n childLayout: item.childLayout,\n title: item.text,\n icon: item.icon,\n items: children,\n defaultExpanded: item.defaultExpanded,\n }\n : item;\n });\n}\n\nexport function getMenuById(menuId: string) {\n return menuCache.get(menuId);\n}\n\nexport function fetchMenuById(\n menuId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n) {\n let promise = menuPromises.get(menuId);\n if (!promise) {\n promise = _fetchMenuById(menuId, runtimeContext, helpers);\n }\n return promise;\n}\n\nasync function _fetchMenuById(\n menuId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n) {\n const menuList = window.STANDALONE_MICRO_APPS\n ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers)\n : runtimeContext.flags[\"three-level-menu-layout\"]\n ? ((\n await InstalledMicroAppApi_getMenusInfo(menuId, {\n menuObjectId: \"EASYOPS_STORYBOARD_MENU\",\n })\n ).menus as MenuRawData[])\n : ((\n await InstanceApi_postSearch(\"EASYOPS_STORYBOARD_MENU\", {\n page: 1,\n page_size: 200,\n fields: {\n menuId: true,\n title: true,\n icon: true,\n link: true,\n titleDataSource: true,\n defaultCollapsed: true,\n defaultCollapsedBreakpoint: true,\n type: true,\n injectMenuGroupId: true,\n dynamicItems: true,\n itemsResolve: true,\n items: true,\n i18n: true,\n \"items.children\": true,\n \"app.appId\": true,\n },\n query: {\n menuId: {\n $eq: menuId,\n },\n app: {\n $size: {\n $gt: 0,\n },\n },\n },\n })\n ).list as MenuRawData[]);\n\n const menuData = await mergeMenu(menuList, runtimeContext, helpers);\n if (!menuData) {\n throw new Error(`Menu not found: ${menuId}`);\n }\n\n reorderMenuItems(menuData);\n\n const { items, app, ...restMenuData } = menuData;\n const newRuntimeContext: RuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [\n ...runtimeContext.pendingPermissionsPreCheck,\n preCheckPermissionsForAny([items, restMenuData]),\n ],\n };\n delete newRuntimeContext.tplStateStoreId;\n delete newRuntimeContext.forEachItem;\n const rootAppId = app[0].appId;\n\n const [computedMenuData, computedMenuItems] = await Promise.all([\n computeMenuData(restMenuData, rootAppId, newRuntimeContext, helpers),\n computeMenuItems(items, newRuntimeContext, helpers),\n ]);\n\n const finalMenuData = {\n title: await fetchMenuTitle(computedMenuData),\n ...pick(computedMenuData, [\n \"icon\",\n \"link\",\n \"defaultCollapsed\",\n \"defaultCollapsedBreakpoint\",\n ]),\n menuItems: walkMenuItems(computedMenuItems),\n };\n\n // Todo(steve): reconsider the menu cache strategy\n menuCache.set(menuId, finalMenuData);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":["_constants","require"],"sources":["../../../src/menu/interfaces.ts"],"sourcesContent":["import type { MetaI18n, MicroApp, ResolveConf } from \"@next-core/types\";\nimport type {\n RuntimeHooksMenuHelpers,\n __secret_internals,\n} from \"@next-core/runtime\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\nexport type RuntimeContext = __secret_internals.RuntimeContext;\n\nexport type RuntimeHelpers = RuntimeHooksMenuHelpers;\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n app: [\n {\n appId: string;\n }\n ];\n icon?: unknown;\n link?: string;\n titleDataSource?: TitleDataSource;\n items?: MenuItemRawData[];\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n defaultCollapsed?: boolean;\n defaultCollapsedBreakpoint?: number;\n dynamicItems?: boolean;\n itemsResolve?: ResolveConf;\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = Omit<SidebarMenuSimpleItem, \"type\"> & {\n children?: MenuItemRawData[];\n type?: \"default\" | \"group\";\n sort?: number;\n if?: string | boolean;\n defaultExpanded?: boolean;\n groupId?: string;\n};\n\ninterface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\n/** 侧边栏基本菜单项的配置。 */\nexport interface SidebarMenuSimpleItem {\n /** 菜单项文本。 */\n text: string;\n\n /** 菜单项对应的系统内地址。 */\n // to?: LocationDescriptor;\n to?: unknown;\n\n /** 菜单项对应的外部链接地址。 */\n href?: string;\n\n /** 菜单项的图标。 */\n // icon?: MenuIcon;\n icon?: unknown;\n\n /** 菜单项链接打开的目标。 */\n target?: string;\n\n type?: \"default\";\n\n /** 高亮菜单项时是否使用精确匹配来对比当前地址和菜单项地址。 */\n exact?: boolean;\n\n /** 设置额外包含的匹配高亮菜单项的地址列表。 */\n activeIncludes?: string[];\n\n /** 设置需要被排除的匹配高亮菜单项的地址列表。 */\n activeExcludes?: string[];\n\n /** 设置匹配高亮菜单项时是否还对 search 参数进行比较。 */\n activeMatchSearch?: boolean;\n\n /** @internal */\n key?: string;\n}\n\nexport interface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolAppId]: string;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface RuntimeMenuRawData extends MenuRawData {\n items: RuntimeMenuItemRawData[];\n // [symbolShouldCache]?: boolean;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n"],"mappings":";;AAKA,IAAAA,UAAA,GAAAC,OAAA"}
|
|
1
|
+
{"version":3,"file":"interfaces.js","names":["_constants","require"],"sources":["../../../src/menu/interfaces.ts"],"sourcesContent":["import type { MetaI18n, MicroApp, ResolveConf } from \"@next-core/types\";\nimport type {\n RuntimeHooksMenuHelpers,\n __secret_internals,\n} from \"@next-core/runtime\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\nexport type RuntimeContext = __secret_internals.RuntimeContext;\n\nexport type RuntimeHelpers = RuntimeHooksMenuHelpers;\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n app: [\n {\n appId: string;\n }\n ];\n icon?: unknown;\n link?: string;\n titleDataSource?: TitleDataSource;\n items?: MenuItemRawData[];\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n defaultCollapsed?: boolean;\n defaultCollapsedBreakpoint?: number;\n dynamicItems?: boolean;\n itemsResolve?: ResolveConf;\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = Omit<SidebarMenuSimpleItem, \"type\"> & {\n children?: MenuItemRawData[];\n type?: \"default\" | \"group\";\n childLayout?: \"default\" | \"category\";\n sort?: number;\n if?: string | boolean;\n defaultExpanded?: boolean;\n groupId?: string;\n};\n\ninterface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\n/** 侧边栏基本菜单项的配置。 */\nexport interface SidebarMenuSimpleItem {\n /** 菜单项文本。 */\n text: string;\n\n /** 菜单项对应的系统内地址。 */\n // to?: LocationDescriptor;\n to?: unknown;\n\n /** 菜单项对应的外部链接地址。 */\n href?: string;\n\n /** 菜单项的图标。 */\n // icon?: MenuIcon;\n icon?: unknown;\n\n /** 菜单项链接打开的目标。 */\n target?: string;\n\n type?: \"default\";\n\n /** 高亮菜单项时是否使用精确匹配来对比当前地址和菜单项地址。 */\n exact?: boolean;\n\n /** 设置额外包含的匹配高亮菜单项的地址列表。 */\n activeIncludes?: string[];\n\n /** 设置需要被排除的匹配高亮菜单项的地址列表。 */\n activeExcludes?: string[];\n\n /** 设置匹配高亮菜单项时是否还对 search 参数进行比较。 */\n activeMatchSearch?: boolean;\n\n /** @internal */\n key?: string;\n}\n\nexport interface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolAppId]: string;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface RuntimeMenuRawData extends MenuRawData {\n items: RuntimeMenuItemRawData[];\n // [symbolShouldCache]?: boolean;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n"],"mappings":";;AAKA,IAAAA,UAAA,GAAAC,OAAA"}
|
|
@@ -3,7 +3,17 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
3
3
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
4
4
|
var _excluded = ["children"];
|
|
5
5
|
import { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from "./constants.js";
|
|
6
|
+
import { isObject } from "@next-core/utils/general";
|
|
6
7
|
export function computeMenuData(data, overrideAppId, runtimeContext, helpers) {
|
|
8
|
+
if ("titleDataSource" in data && isObject(data.titleDataSource) && Object.entries(data.titleDataSource).every(_ref => {
|
|
9
|
+
var [key, value] = _ref;
|
|
10
|
+
return value === null || value === "";
|
|
11
|
+
})) {
|
|
12
|
+
delete data.titleDataSource;
|
|
13
|
+
}
|
|
14
|
+
if ("if" in data && data.if === null) {
|
|
15
|
+
delete data.if;
|
|
16
|
+
}
|
|
7
17
|
var newRuntimeContext = runtimeContext;
|
|
8
18
|
if (overrideAppId !== runtimeContext.app.id) {
|
|
9
19
|
var _helpers$getStoryboar;
|
|
@@ -19,18 +29,18 @@ export function computeMenuData(data, overrideAppId, runtimeContext, helpers) {
|
|
|
19
29
|
}
|
|
20
30
|
export function computeMenuItems(items, runtimeContext, helpers) {
|
|
21
31
|
return Promise.all(items.map( /*#__PURE__*/function () {
|
|
22
|
-
var
|
|
32
|
+
var _ref3 = _asyncToGenerator(function* (_ref2) {
|
|
23
33
|
var {
|
|
24
34
|
children
|
|
25
|
-
} =
|
|
26
|
-
rest = _objectWithoutProperties(
|
|
35
|
+
} = _ref2,
|
|
36
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
27
37
|
var [computedRest, computedChildren] = yield Promise.all([computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers), children && (yield computeMenuItems(children, runtimeContext, helpers))]);
|
|
28
38
|
return _objectSpread(_objectSpread({}, computedRest), {}, {
|
|
29
39
|
children: computedChildren
|
|
30
40
|
});
|
|
31
41
|
});
|
|
32
42
|
return function (_x) {
|
|
33
|
-
return
|
|
43
|
+
return _ref3.apply(this, arguments);
|
|
34
44
|
};
|
|
35
45
|
}()));
|
|
36
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeMenuData.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp","computeMenuData","data","overrideAppId","runtimeContext","helpers","newRuntimeContext","app","id","_helpers$getStoryboar","overrideApp","window","STANDALONE_MICRO_APPS","getStoryboardByAppId","_objectSpread","appendI18nNamespace","asyncComputeRealValue","ignoreSymbols","computeMenuItems","items","Promise","all","map","
|
|
1
|
+
{"version":3,"file":"computeMenuData.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp","isObject","computeMenuData","data","overrideAppId","runtimeContext","helpers","titleDataSource","Object","entries","every","_ref","key","value","if","newRuntimeContext","app","id","_helpers$getStoryboar","overrideApp","window","STANDALONE_MICRO_APPS","getStoryboardByAppId","_objectSpread","appendI18nNamespace","asyncComputeRealValue","ignoreSymbols","computeMenuItems","items","Promise","all","map","_ref3","_asyncToGenerator","_ref2","children","rest","_objectWithoutProperties","_excluded","computedRest","computedChildren","_x","apply","arguments"],"sources":["../../../src/menu/computeMenuData.ts"],"sourcesContent":["import type {\n RuntimeContext,\n RuntimeHelpers,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\nimport { isObject } from \"@next-core/utils/general\";\n\ntype RuntimeMenuRestRawData = Omit<RuntimeMenuRawData, \"app\" | \"items\">;\ntype RuntimeMenuItemRestRawData = Omit<RuntimeMenuItemRawData, \"children\">;\n\nexport function computeMenuData<\n T extends RuntimeMenuRestRawData | RuntimeMenuItemRestRawData\n>(\n data: T,\n overrideAppId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<T> {\n if (\n \"titleDataSource\" in data &&\n isObject(data.titleDataSource) &&\n Object.entries(data.titleDataSource).every(\n ([key, value]) => value === null || value === \"\"\n )\n ) {\n delete data.titleDataSource;\n }\n if (\"if\" in data && data.if === null) {\n delete data.if;\n }\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? data[symbolOverrideApp]\n : helpers.getStoryboardByAppId(overrideAppId)?.app;\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace],\n };\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true,\n }) as Promise<T>;\n}\n\nexport function computeMenuItems(\n items: RuntimeMenuItemRawData[],\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<RuntimeMenuItemRawData[]> {\n return Promise.all(\n items.map(async ({ children, ...rest }) => {\n const [computedRest, computedChildren] = await Promise.all([\n computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers),\n children && (await computeMenuItems(children, runtimeContext, helpers)),\n ]);\n return {\n ...computedRest,\n children: computedChildren,\n };\n })\n );\n}\n"],"mappings":";;;;AAMA,SACEA,WAAW,EACXC,uBAAuB,EACvBC,iBAAiB,QACZ,gBAAgB;AACvB,SAASC,QAAQ,QAAQ,0BAA0B;AAKnD,OAAO,SAASC,eAAeA,CAG7BC,IAAO,EACPC,aAAqB,EACrBC,cAA8B,EAC9BC,OAAuB,EACX;EACZ,IACE,iBAAiB,IAAIH,IAAI,IACzBF,QAAQ,CAACE,IAAI,CAACI,eAAe,CAAC,IAC9BC,MAAM,CAACC,OAAO,CAACN,IAAI,CAACI,eAAe,CAAC,CAACG,KAAK,CACxCC,IAAA;IAAA,IAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,IAAA;IAAA,OAAKE,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,EAAE;EAAA,CAClD,CAAC,EACD;IACA,OAAOV,IAAI,CAACI,eAAe;EAC7B;EACA,IAAI,IAAI,IAAIJ,IAAI,IAAIA,IAAI,CAACW,EAAE,KAAK,IAAI,EAAE;IACpC,OAAOX,IAAI,CAACW,EAAE;EAChB;EACA,IAAIC,iBAAiB,GAAGV,cAAc;EACtC,IAAID,aAAa,KAAKC,cAAc,CAACW,GAAG,CAACC,EAAE,EAAE;IAAA,IAAAC,qBAAA;IAC3C,IAAMC,WAAW,GAAGC,MAAM,CAACC,qBAAqB,GAC5ClB,IAAI,CAACH,iBAAiB,CAAC,IAAAkB,qBAAA,GACvBZ,OAAO,CAACgB,oBAAoB,CAAClB,aAAa,CAAC,cAAAc,qBAAA,uBAA3CA,qBAAA,CAA6CF,GAAG;IACpDD,iBAAiB,GAAAQ,aAAA,CAAAA,aAAA,KACZlB,cAAc;MACjBc,WAAW;MACXK,mBAAmB,EAAErB,IAAI,CAACJ,uBAAuB;IAAC,EACnD;EACH;EACA,OAAOO,OAAO,CAACmB,qBAAqB,CAACtB,IAAI,EAAEY,iBAAiB,EAAE;IAC5DW,aAAa,EAAE;EACjB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,gBAAgBA,CAC9BC,KAA+B,EAC/BvB,cAA8B,EAC9BC,OAAuB,EACY;EACnC,OAAOuB,OAAO,CAACC,GAAG,CAChBF,KAAK,CAACG,GAAG;IAAA,IAAAC,KAAA,GAAAC,iBAAA,CAAC,WAAAC,KAAA,EAAiC;MAAA,IAA1B;UAAEC;QAAkB,CAAC,GAAAD,KAAA;QAANE,IAAI,GAAAC,wBAAA,CAAAH,KAAA,EAAAI,SAAA;MAClC,IAAM,CAACC,YAAY,EAAEC,gBAAgB,CAAC,SAASX,OAAO,CAACC,GAAG,CAAC,CACzD5B,eAAe,CAACkC,IAAI,EAAEA,IAAI,CAACtC,WAAW,CAAC,EAAEO,cAAc,EAAEC,OAAO,CAAC,EACjE6B,QAAQ,WAAWR,gBAAgB,CAACQ,QAAQ,EAAE9B,cAAc,EAAEC,OAAO,CAAC,CAAC,CACxE,CAAC;MACF,OAAAiB,aAAA,CAAAA,aAAA,KACKgB,YAAY;QACfJ,QAAQ,EAAEK;MAAgB;IAE9B,CAAC;IAAA,iBAAAC,EAAA;MAAA,OAAAT,KAAA,CAAAU,KAAA,OAAAC,SAAA;IAAA;EAAA,IACH,CAAC;AACH"}
|
|
@@ -3,6 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
4
4
|
var _excluded = ["items", "app"];
|
|
5
5
|
import { InstanceApi_postSearch } from "@next-api-sdk/cmdb-sdk";
|
|
6
|
+
import { InstalledMicroAppApi_getMenusInfo } from "@next-api-sdk/micro-app-sdk";
|
|
6
7
|
import { pick } from "lodash";
|
|
7
8
|
import { checkIfOfComputed } from "@next-core/runtime";
|
|
8
9
|
import { mergeMenu } from "./mergeMenu.js";
|
|
@@ -13,6 +14,24 @@ import { getMenusOfStandaloneApp } from "./getMenusOfStandaloneApp.js";
|
|
|
13
14
|
import { preCheckPermissionsForAny } from "../checkPermissions.js";
|
|
14
15
|
var menuPromises = new Map();
|
|
15
16
|
var menuCache = new Map();
|
|
17
|
+
function walkMenuItems(menuItems) {
|
|
18
|
+
return menuItems === null || menuItems === void 0 ? void 0 : menuItems.filter(checkIfOfComputed).map(item => {
|
|
19
|
+
var children = walkMenuItems(item.children);
|
|
20
|
+
return item.type === "group" ? {
|
|
21
|
+
type: "group",
|
|
22
|
+
title: item.text,
|
|
23
|
+
childLayout: item.childLayout,
|
|
24
|
+
items: children
|
|
25
|
+
} : children !== null && children !== void 0 && children.length ? {
|
|
26
|
+
type: "subMenu",
|
|
27
|
+
childLayout: item.childLayout,
|
|
28
|
+
title: item.text,
|
|
29
|
+
icon: item.icon,
|
|
30
|
+
items: children,
|
|
31
|
+
defaultExpanded: item.defaultExpanded
|
|
32
|
+
} : item;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
16
35
|
export function getMenuById(menuId) {
|
|
17
36
|
return menuCache.get(menuId);
|
|
18
37
|
}
|
|
@@ -28,7 +47,9 @@ function _fetchMenuById(_x, _x2, _x3) {
|
|
|
28
47
|
}
|
|
29
48
|
function _fetchMenuById2() {
|
|
30
49
|
_fetchMenuById2 = _asyncToGenerator(function* (menuId, runtimeContext, helpers) {
|
|
31
|
-
var menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers) : (yield
|
|
50
|
+
var menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers) : runtimeContext.flags["three-level-menu-layout"] ? (yield InstalledMicroAppApi_getMenusInfo(menuId, {
|
|
51
|
+
menuObjectId: "EASYOPS_STORYBOARD_MENU"
|
|
52
|
+
})).menus : (yield InstanceApi_postSearch("EASYOPS_STORYBOARD_MENU", {
|
|
32
53
|
page: 1,
|
|
33
54
|
page_size: 200,
|
|
34
55
|
fields: {
|
|
@@ -79,21 +100,7 @@ function _fetchMenuById2() {
|
|
|
79
100
|
var finalMenuData = _objectSpread(_objectSpread({
|
|
80
101
|
title: yield fetchMenuTitle(computedMenuData)
|
|
81
102
|
}, pick(computedMenuData, ["icon", "link", "defaultCollapsed", "defaultCollapsedBreakpoint"])), {}, {
|
|
82
|
-
menuItems: computedMenuItems
|
|
83
|
-
var _item$children;
|
|
84
|
-
var children = (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.filter(checkIfOfComputed);
|
|
85
|
-
return item.type === "group" ? {
|
|
86
|
-
type: "group",
|
|
87
|
-
title: item.text,
|
|
88
|
-
items: children
|
|
89
|
-
} : children !== null && children !== void 0 && children.length ? {
|
|
90
|
-
type: "subMenu",
|
|
91
|
-
title: item.text,
|
|
92
|
-
icon: item.icon,
|
|
93
|
-
items: children,
|
|
94
|
-
defaultExpanded: item.defaultExpanded
|
|
95
|
-
} : item;
|
|
96
|
-
})
|
|
103
|
+
menuItems: walkMenuItems(computedMenuItems)
|
|
97
104
|
});
|
|
98
105
|
|
|
99
106
|
// Todo(steve): reconsider the menu cache strategy
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchMenuById.js","names":["InstanceApi_postSearch","pick","checkIfOfComputed","mergeMenu","reorderMenuItems","computeMenuItems","computeMenuData","fetchMenuTitle","getMenusOfStandaloneApp","preCheckPermissionsForAny","menuPromises","Map","menuCache","getMenuById","menuId","get","fetchMenuById","runtimeContext","helpers","promise","_fetchMenuById","_x","_x2","_x3","_fetchMenuById2","apply","arguments","_asyncToGenerator","menuList","window","STANDALONE_MICRO_APPS","app","id","
|
|
1
|
+
{"version":3,"file":"fetchMenuById.js","names":["InstanceApi_postSearch","InstalledMicroAppApi_getMenusInfo","pick","checkIfOfComputed","mergeMenu","reorderMenuItems","computeMenuItems","computeMenuData","fetchMenuTitle","getMenusOfStandaloneApp","preCheckPermissionsForAny","menuPromises","Map","menuCache","walkMenuItems","menuItems","filter","map","item","children","type","title","text","childLayout","items","length","icon","defaultExpanded","getMenuById","menuId","get","fetchMenuById","runtimeContext","helpers","promise","_fetchMenuById","_x","_x2","_x3","_fetchMenuById2","apply","arguments","_asyncToGenerator","menuList","window","STANDALONE_MICRO_APPS","app","id","flags","menuObjectId","menus","page","page_size","fields","link","titleDataSource","defaultCollapsed","defaultCollapsedBreakpoint","injectMenuGroupId","dynamicItems","itemsResolve","i18n","query","$eq","$size","$gt","list","menuData","Error","concat","restMenuData","_objectWithoutProperties","_excluded","newRuntimeContext","_objectSpread","pendingPermissionsPreCheck","tplStateStoreId","forEachItem","rootAppId","appId","computedMenuData","computedMenuItems","Promise","all","finalMenuData","set"],"sources":["../../../src/menu/fetchMenuById.ts"],"sourcesContent":["import { InstanceApi_postSearch } from \"@next-api-sdk/cmdb-sdk\";\nimport { InstalledMicroAppApi_getMenusInfo } from \"@next-api-sdk/micro-app-sdk\";\nimport { pick } from \"lodash\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { mergeMenu } from \"./mergeMenu.js\";\nimport { reorderMenuItems } from \"./reorderMenuItems.js\";\nimport type {\n MenuRawData,\n RuntimeContext,\n RuntimeHelpers,\n RuntimeMenuItemRawData,\n} from \"./interfaces.js\";\nimport { computeMenuItems, computeMenuData } from \"./computeMenuData.js\";\nimport { fetchMenuTitle } from \"./fetchMenuTitle.js\";\nimport { getMenusOfStandaloneApp } from \"./getMenusOfStandaloneApp.js\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\n\nconst menuPromises = new Map<string, Promise<void>>();\n\nconst menuCache = new Map<string, unknown>();\n\nfunction walkMenuItems(menuItems: RuntimeMenuItemRawData[]): unknown[] {\n return menuItems?.filter(checkIfOfComputed).map((item) => {\n const children = walkMenuItems(item.children!);\n return item.type === \"group\"\n ? {\n type: \"group\",\n title: item.text,\n childLayout: item.childLayout,\n items: children,\n }\n : children?.length\n ? {\n type: \"subMenu\",\n childLayout: item.childLayout,\n title: item.text,\n icon: item.icon,\n items: children,\n defaultExpanded: item.defaultExpanded,\n }\n : item;\n });\n}\n\nexport function getMenuById(menuId: string) {\n return menuCache.get(menuId);\n}\n\nexport function fetchMenuById(\n menuId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n) {\n let promise = menuPromises.get(menuId);\n if (!promise) {\n promise = _fetchMenuById(menuId, runtimeContext, helpers);\n }\n return promise;\n}\n\nasync function _fetchMenuById(\n menuId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n) {\n const menuList = window.STANDALONE_MICRO_APPS\n ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers)\n : runtimeContext.flags[\"three-level-menu-layout\"]\n ? ((\n await InstalledMicroAppApi_getMenusInfo(menuId, {\n menuObjectId: \"EASYOPS_STORYBOARD_MENU\",\n })\n ).menus as MenuRawData[])\n : ((\n await InstanceApi_postSearch(\"EASYOPS_STORYBOARD_MENU\", {\n page: 1,\n page_size: 200,\n fields: {\n menuId: true,\n title: true,\n icon: true,\n link: true,\n titleDataSource: true,\n defaultCollapsed: true,\n defaultCollapsedBreakpoint: true,\n type: true,\n injectMenuGroupId: true,\n dynamicItems: true,\n itemsResolve: true,\n items: true,\n i18n: true,\n \"items.children\": true,\n \"app.appId\": true,\n },\n query: {\n menuId: {\n $eq: menuId,\n },\n app: {\n $size: {\n $gt: 0,\n },\n },\n },\n })\n ).list as MenuRawData[]);\n\n const menuData = await mergeMenu(menuList, runtimeContext, helpers);\n if (!menuData) {\n throw new Error(`Menu not found: ${menuId}`);\n }\n\n reorderMenuItems(menuData);\n\n const { items, app, ...restMenuData } = menuData;\n const newRuntimeContext: RuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [\n ...runtimeContext.pendingPermissionsPreCheck,\n preCheckPermissionsForAny([items, restMenuData]),\n ],\n };\n delete newRuntimeContext.tplStateStoreId;\n delete newRuntimeContext.forEachItem;\n const rootAppId = app[0].appId;\n\n const [computedMenuData, computedMenuItems] = await Promise.all([\n computeMenuData(restMenuData, rootAppId, newRuntimeContext, helpers),\n computeMenuItems(items, newRuntimeContext, helpers),\n ]);\n\n const finalMenuData = {\n title: await fetchMenuTitle(computedMenuData),\n ...pick(computedMenuData, [\n \"icon\",\n \"link\",\n \"defaultCollapsed\",\n \"defaultCollapsedBreakpoint\",\n ]),\n menuItems: walkMenuItems(computedMenuItems),\n };\n\n // Todo(steve): reconsider the menu cache strategy\n menuCache.set(menuId, finalMenuData);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../src/menu/interfaces.ts"],"sourcesContent":["import type { MetaI18n, MicroApp, ResolveConf } from \"@next-core/types\";\nimport type {\n RuntimeHooksMenuHelpers,\n __secret_internals,\n} from \"@next-core/runtime\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\nexport type RuntimeContext = __secret_internals.RuntimeContext;\n\nexport type RuntimeHelpers = RuntimeHooksMenuHelpers;\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n app: [\n {\n appId: string;\n }\n ];\n icon?: unknown;\n link?: string;\n titleDataSource?: TitleDataSource;\n items?: MenuItemRawData[];\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n defaultCollapsed?: boolean;\n defaultCollapsedBreakpoint?: number;\n dynamicItems?: boolean;\n itemsResolve?: ResolveConf;\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = Omit<SidebarMenuSimpleItem, \"type\"> & {\n children?: MenuItemRawData[];\n type?: \"default\" | \"group\";\n sort?: number;\n if?: string | boolean;\n defaultExpanded?: boolean;\n groupId?: string;\n};\n\ninterface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\n/** 侧边栏基本菜单项的配置。 */\nexport interface SidebarMenuSimpleItem {\n /** 菜单项文本。 */\n text: string;\n\n /** 菜单项对应的系统内地址。 */\n // to?: LocationDescriptor;\n to?: unknown;\n\n /** 菜单项对应的外部链接地址。 */\n href?: string;\n\n /** 菜单项的图标。 */\n // icon?: MenuIcon;\n icon?: unknown;\n\n /** 菜单项链接打开的目标。 */\n target?: string;\n\n type?: \"default\";\n\n /** 高亮菜单项时是否使用精确匹配来对比当前地址和菜单项地址。 */\n exact?: boolean;\n\n /** 设置额外包含的匹配高亮菜单项的地址列表。 */\n activeIncludes?: string[];\n\n /** 设置需要被排除的匹配高亮菜单项的地址列表。 */\n activeExcludes?: string[];\n\n /** 设置匹配高亮菜单项时是否还对 search 参数进行比较。 */\n activeMatchSearch?: boolean;\n\n /** @internal */\n key?: string;\n}\n\nexport interface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolAppId]: string;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface RuntimeMenuRawData extends MenuRawData {\n items: RuntimeMenuItemRawData[];\n // [symbolShouldCache]?: boolean;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n"],"mappings":"AAKA,SACEA,WAAW,EACXC,uBAAuB,EACvBC,iBAAiB,QACZ,gBAAgB;;AAMvB;;AAuBA;;
|
|
1
|
+
{"version":3,"file":"interfaces.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../src/menu/interfaces.ts"],"sourcesContent":["import type { MetaI18n, MicroApp, ResolveConf } from \"@next-core/types\";\nimport type {\n RuntimeHooksMenuHelpers,\n __secret_internals,\n} from \"@next-core/runtime\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\nexport type RuntimeContext = __secret_internals.RuntimeContext;\n\nexport type RuntimeHelpers = RuntimeHooksMenuHelpers;\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n app: [\n {\n appId: string;\n }\n ];\n icon?: unknown;\n link?: string;\n titleDataSource?: TitleDataSource;\n items?: MenuItemRawData[];\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n defaultCollapsed?: boolean;\n defaultCollapsedBreakpoint?: number;\n dynamicItems?: boolean;\n itemsResolve?: ResolveConf;\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = Omit<SidebarMenuSimpleItem, \"type\"> & {\n children?: MenuItemRawData[];\n type?: \"default\" | \"group\";\n childLayout?: \"default\" | \"category\";\n sort?: number;\n if?: string | boolean;\n defaultExpanded?: boolean;\n groupId?: string;\n};\n\ninterface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\n/** 侧边栏基本菜单项的配置。 */\nexport interface SidebarMenuSimpleItem {\n /** 菜单项文本。 */\n text: string;\n\n /** 菜单项对应的系统内地址。 */\n // to?: LocationDescriptor;\n to?: unknown;\n\n /** 菜单项对应的外部链接地址。 */\n href?: string;\n\n /** 菜单项的图标。 */\n // icon?: MenuIcon;\n icon?: unknown;\n\n /** 菜单项链接打开的目标。 */\n target?: string;\n\n type?: \"default\";\n\n /** 高亮菜单项时是否使用精确匹配来对比当前地址和菜单项地址。 */\n exact?: boolean;\n\n /** 设置额外包含的匹配高亮菜单项的地址列表。 */\n activeIncludes?: string[];\n\n /** 设置需要被排除的匹配高亮菜单项的地址列表。 */\n activeExcludes?: string[];\n\n /** 设置匹配高亮菜单项时是否还对 search 参数进行比较。 */\n activeMatchSearch?: boolean;\n\n /** @internal */\n key?: string;\n}\n\nexport interface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolAppId]: string;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface RuntimeMenuRawData extends MenuRawData {\n items: RuntimeMenuItemRawData[];\n // [symbolShouldCache]?: boolean;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n"],"mappings":"AAKA,SACEA,WAAW,EACXC,uBAAuB,EACvBC,iBAAiB,QACZ,gBAAgB;;AAMvB;;AAuBA;;AAiBA"}
|
|
@@ -29,6 +29,7 @@ export interface MenuRawData {
|
|
|
29
29
|
export type MenuItemRawData = Omit<SidebarMenuSimpleItem, "type"> & {
|
|
30
30
|
children?: MenuItemRawData[];
|
|
31
31
|
type?: "default" | "group";
|
|
32
|
+
childLayout?: "default" | "category";
|
|
32
33
|
sort?: number;
|
|
33
34
|
if?: string | boolean;
|
|
34
35
|
defaultExpanded?: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-core/easyops-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/easyops-runtime",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"repository": {
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@next-api-sdk/api-gateway-sdk": "^1.1.0",
|
|
44
44
|
"@next-api-sdk/cmdb-sdk": "^1.1.0",
|
|
45
|
-
"@next-api-sdk/micro-app-sdk": "^1.1
|
|
45
|
+
"@next-api-sdk/micro-app-sdk": "^1.2.1",
|
|
46
46
|
"@next-api-sdk/micro-app-standalone-sdk": "^1.1.0",
|
|
47
47
|
"@next-core/http": "^1.0.6",
|
|
48
|
-
"@next-core/runtime": "^1.
|
|
48
|
+
"@next-core/runtime": "^1.14.0",
|
|
49
49
|
"@next-core/types": "^1.3.0",
|
|
50
50
|
"@next-core/utils": "^1.5.2",
|
|
51
51
|
"js-yaml": "^3.14.1",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"@next-core/build-next-libs": "^1.0.5",
|
|
56
56
|
"@next-core/test-next": "^1.0.6"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "1f4fb165de7f1f1a9dd2de5586748b5d08d21d7c"
|
|
59
59
|
}
|