Skip to content

Commit 541f7c6

Browse files
committed
添加上下文菜单helper
1 parent c5c8313 commit 541f7c6

File tree

8 files changed

+101
-7
lines changed

8 files changed

+101
-7
lines changed

ClientApp/projects/util-angular/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "util-angular",
3-
"version": "16.0.12",
3+
"version": "16.0.17",
44
"author": "何镇汐 <xiadao521@qq.com>",
55
"repository": {
66
"type": "git",

ClientApp/projects/util-angular/src/lib/base/component-base.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
//Licensed under the MIT license
44
//================================================
55
import { Injector, Component } from '@angular/core';
6+
import { NzContextMenuService, NzDropdownMenuComponent } from 'ng-zorro-antd/dropdown';
67
import { Util } from "../util";
78

89
/**
@@ -24,4 +25,13 @@ export abstract class ComponentBase {
2425
constructor(injector: Injector) {
2526
this.util = new Util(injector);
2627
}
28+
29+
/**
30+
* 创建上下文菜单
31+
* @param $event 鼠标事件
32+
* @param menu 下拉菜单组件
33+
*/
34+
createContextMenu($event: MouseEvent, menu: NzDropdownMenuComponent) {
35+
this.util.contextMenu.create($event, menu);
36+
}
2737
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//============== 服务基类=========================
2+
//Copyright 2023 何镇汐
3+
//Licensed under the MIT license
4+
//================================================
5+
import { Injector } from '@angular/core';
6+
import { Util } from "../util";
7+
8+
/**
9+
* 服务基类
10+
*/
11+
export abstract class ServiceBase {
12+
/**
13+
* 公共操作
14+
*/
15+
protected util: Util;
16+
17+
/**
18+
* 初始化服务
19+
* @param injector 注入器
20+
*/
21+
constructor(injector: Injector) {
22+
this.util = new Util(injector);
23+
}
24+
}

ClientApp/projects/util-angular/src/lib/common/change-detector.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export class ChangeDetector {
2121
*/
2222
detectChanges() {
2323
let detector: ChangeDetectorRef = this.util.ioc.get(ChangeDetectorRef);
24-
return detector.detectChanges();
24+
if (detector)
25+
detector.detectChanges();
2526
}
2627
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
//============== 上下文菜单操作 ==========================
2+
//Copyright 2023 何镇汐
3+
//Licensed under the MIT license
4+
//========================================================
5+
import { NzContextMenuService, NzDropdownMenuComponent } from 'ng-zorro-antd/dropdown';
6+
import { Util } from "../util";
7+
8+
/**
9+
* 上下文菜单操作
10+
*/
11+
export class ContextMenu {
12+
/**
13+
* 上下文菜单服务
14+
*/
15+
private _service: NzContextMenuService;
16+
17+
/**
18+
* 初始化上下文菜单操作
19+
* @param util 公共操作
20+
*/
21+
constructor(private util: Util) {
22+
this._service = this.util.ioc.get(NzContextMenuService);
23+
}
24+
25+
/**
26+
* 创建上下文菜单
27+
* @param $event 鼠标事件
28+
* @param menu 下拉菜单组件
29+
*/
30+
create($event: MouseEvent, menu: NzDropdownMenuComponent) {
31+
if (!this._service)
32+
return;
33+
this._service.create($event, menu);
34+
}
35+
36+
/**
37+
* 关闭上下文菜单
38+
*/
39+
close() {
40+
if (!this._service)
41+
return;
42+
this._service.close();
43+
}
44+
}

ClientApp/projects/util-angular/src/lib/util.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { ChangeDetector } from "./common/change-detector";
2323
import { Event } from "./common/event";
2424
import { EventBus } from "./common/eventbus";
2525
import { SessionService } from "./common/session.service";
26+
import { ContextMenu } from "./common/context-menu";
2627
import { TenantService } from "./tenant/tenant.service";
2728
import { AppConfig } from './config/app-config';
2829
import { DefaultConfig } from "./config/default-config";
@@ -104,6 +105,10 @@ export class Util {
104105
* 事件总线操作
105106
*/
106107
private _eventbus: EventBus;
108+
/**
109+
* 上下文菜单操作
110+
*/
111+
private _contextMenu: ContextMenu;
107112
/**
108113
* 用户会话操作
109114
*/
@@ -299,6 +304,15 @@ export class Util {
299304
return this._eventbus;
300305
};
301306

307+
/**
308+
* 上下文菜单操作
309+
*/
310+
get contextMenu() {
311+
if (!this._contextMenu)
312+
this._contextMenu = new ContextMenu(this);
313+
return this._contextMenu;
314+
};
315+
302316
/**
303317
* 用户会话操作
304318
*/

ClientApp/projects/util-angular/src/public-api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ export * from "./lib/base/tree-table-query-component-base";
6666
export * from "./lib/base/edit-component-base";
6767
export * from "./lib/base/tree-edit-component-base";
6868
export * from "./lib/base/table-edit-component-base";
69+
export * from "./lib/base/service-base";
6970

7071
//导出ng-zorro
7172
export * from "./lib/zorro/table.extend.directive";

Util.Angular.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<PackageReference Include="Util.Data.Core" Version="7.1.66" />
12-
<PackageReference Include="Util.Domain.Biz" Version="7.1.66" />
13-
<PackageReference Include="Util.Logging.Serilog" Version="7.1.66" />
14-
<PackageReference Include="Util.Ui.NgAlain" Version="7.1.66" />
15-
<PackageReference Include="Util.Ui.NgZorro" Version="7.1.66" />
11+
<PackageReference Include="Util.Data.Core" Version="7.1.92" />
12+
<PackageReference Include="Util.Domain.Biz" Version="7.1.92" />
13+
<PackageReference Include="Util.Logging.Serilog" Version="7.1.92" />
14+
<PackageReference Include="Util.Ui.NgAlain" Version="7.1.92" />
15+
<PackageReference Include="Util.Ui.NgZorro" Version="7.1.92" />
1616
</ItemGroup>
1717

1818
<ItemGroup>

0 commit comments

Comments
 (0)