重新约定和上层的menu定义
This commit is contained in:
parent
fad31698e7
commit
6e82643e42
|
|
@ -10,7 +10,7 @@ interface IMenu<ED extends EntityDict & BaseEntityDict, T extends keyof ED> {
|
|||
name: string;
|
||||
entity: T;
|
||||
action: ED[T]['Action'];
|
||||
paths?: string[];
|
||||
paths: string[];
|
||||
}
|
||||
export declare class ContextMenuFactory<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>, AD extends CommonAspectDict<ED, Cxt> & Record<string, Aspect<ED, Cxt>>> extends Feature {
|
||||
cache: Cache<ED, Cxt, FrontCxt, AD>;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ var lodash_1 = require("oak-domain/lib/utils/lodash");
|
|||
var Feature_1 = require("../types/Feature");
|
||||
var relation_1 = require("oak-domain/lib/store/relation");
|
||||
;
|
||||
;
|
||||
var ContextMenuFactory = /** @class */ (function (_super) {
|
||||
tslib_1.__extends(ContextMenuFactory, _super);
|
||||
function ContextMenuFactory(cache, relationAuth, cascadePathGraph) {
|
||||
|
|
@ -69,7 +68,7 @@ var ContextMenuFactory = /** @class */ (function (_super) {
|
|||
(0, assert_1.default)(this.menus, '应当先调用setMenus才能动态判定菜单');
|
||||
var menus = this.menus.filter(function (menu) {
|
||||
var destEntity = menu.entity, paths = menu.paths, action = menu.action;
|
||||
var filters = paths ? _this.makeMenuFilters(destEntity, paths, entity, entityId) : [{}]; // 如果没有path,视为无法推断操作的filter,直接返回无任何限制
|
||||
var filters = paths.length > 0 ? _this.makeMenuFilters(destEntity, paths, entity, entityId) : [{}]; // 如果没有path,视为无法推断操作的filter,直接返回无任何限制
|
||||
if (filters.length > 0) {
|
||||
// 这里应该是or关系,paths表达的路径中只要有一条满足就可能满足
|
||||
var allows = filters.map(function (filter) {
|
||||
|
|
|
|||
|
|
@ -14,12 +14,9 @@ interface IMenu<ED extends EntityDict & BaseEntityDict, T extends keyof ED> {
|
|||
name: string;
|
||||
entity: T;
|
||||
action: ED[T]['Action'];
|
||||
paths?: string[];
|
||||
paths: string[];
|
||||
};
|
||||
|
||||
interface IMenuWrapper<ED extends EntityDict & BaseEntityDict, T extends keyof ED> extends IMenu<ED, T> {
|
||||
filtersMaker: (entity: keyof ED, entityId: string) => Array<ED[T]['Selection']['filter']>;
|
||||
};
|
||||
|
||||
export class ContextMenuFactory<
|
||||
ED extends EntityDict & BaseEntityDict,
|
||||
|
|
@ -101,7 +98,7 @@ export class ContextMenuFactory<
|
|||
const menus = this.menus.filter(
|
||||
(menu) => {
|
||||
const { entity: destEntity, paths, action } = menu;
|
||||
const filters = paths ? this.makeMenuFilters(destEntity, paths, entity, entityId) : [{}]; // 如果没有path,视为无法推断操作的filter,直接返回无任何限制
|
||||
const filters = paths.length > 0 ? this.makeMenuFilters(destEntity, paths, entity, entityId) : [{}]; // 如果没有path,视为无法推断操作的filter,直接返回无任何限制
|
||||
if (filters.length > 0) {
|
||||
// 这里应该是or关系,paths表达的路径中只要有一条满足就可能满足
|
||||
const allows = filters.map(
|
||||
|
|
|
|||
Loading…
Reference in New Issue