Skip to content

Commit ac7523d

Browse files
committed
1. 补齐 <util-dropdown-menu> 相关标签的属性.
2. 补齐 <util-menu> 相关标签的属性. 3. 补齐 <util-result> 相关标签的属性. 4. 补齐 <util-space> 相关标签的属性. 5. 补齐 <util-tab> 相关标签的属性. 6. 补齐 <util-tag> 相关标签的属性. 7. 修复表单组件使用 *nzSpaceItem 引用变量作用域导致的问题.
1 parent e90f41f commit ac7523d

File tree

131 files changed

+2869
-1144
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+2869
-1144
lines changed

build/version.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<VersionMajor>8</VersionMajor>
44
<VersionMinor>0</VersionMinor>
5-
<VersionPatch>15</VersionPatch>
5+
<VersionPatch>16</VersionPatch>
66
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)</VersionPrefix>
77
<VersionSuffix></VersionSuffix>
88
</PropertyGroup>

src/Util.Ui.Angular/Builders/AngularTagBuilder.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using Util.Ui.Configs;
44
using Util.Ui.Extensions;
55

6-
namespace Util.Ui.Angular.Builders;
6+
namespace Util.Ui.Angular.Builders;
77

88
/// <summary>
99
/// Angular标签生成器
@@ -38,6 +38,7 @@ public override void ConfigBase( Config config ) {
3838
base.ConfigBase( config );
3939
this.Angular( config );
4040
ConfigId( config );
41+
ConfigOnContextmenu( config );
4142
}
4243

4344
/// <summary>
@@ -48,6 +49,13 @@ protected virtual void ConfigId( Config config ) {
4849
this.Id( config );
4950
}
5051

52+
/// <summary>
53+
/// 配置右键上下文菜单事件
54+
/// </summary>
55+
protected virtual void ConfigOnContextmenu( Config config ) {
56+
AttributeIfNotEmpty( "(contextmenu)", _config.GetValue( UiConst.OnContextmenu ) );
57+
}
58+
5159
/// <summary>
5260
/// 配置内容元素
5361
/// </summary>

src/Util.Ui.Angular/Configs/AngularConst.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ public static class AngularConst {
2525
/// </summary>
2626
public const string NgSwitchDefault = "ng-switch-default";
2727
/// <summary>
28+
/// *ngTemplateOutlet指令
29+
/// </summary>
30+
public const string NgTemplateOutlet = "ng-template-outlet";
31+
/// <summary>
2832
/// ngFor指令
2933
/// </summary>
3034
public const string NgFor = "ng-for";
@@ -473,6 +477,10 @@ public static class AngularConst {
473477
/// </summary>
474478
public const string BindSeparator = "bind-separator";
475479
/// <summary>
480+
/// 查询参数处理方式
481+
/// </summary>
482+
public const string BindQueryParamsHandling = "bind-query-params-handling";
483+
/// <summary>
476484
/// 自动生成
477485
/// </summary>
478486
public const string BindAutoGenerate = "bind-auto-generate";
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System.ComponentModel;
2+
3+
namespace Util.Ui.NgZorro.Enums;
4+
5+
/// <summary>
6+
/// 路由器链接查询参数处理方式
7+
/// </summary>
8+
public enum QueryParamsHandling {
9+
/// <summary>
10+
/// merge, 将新参数与当前参数合并
11+
/// </summary>
12+
[Description( "merge" )]
13+
Merge,
14+
/// <summary>
15+
/// preserve, 保留当前参数
16+
/// </summary>
17+
[Description( "preserve" )]
18+
Preserve
19+
}

src/Util.Ui.Angular/Extensions/TagBuilderExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ public static class TagBuilderExtensions {
1616
/// <param name="builder">生成器实例</param>
1717
/// <param name="config">配置</param>
1818
public static TBuilder Angular<TBuilder>( this TBuilder builder, Config config ) where TBuilder : TagBuilder {
19-
builder.NgIf( config )
19+
builder
20+
.NgIf( config )
2021
.NgSwitch( config ).NgSwitchCase( config ).NgSwitchDefault( config )
2122
.NgFor( config )
2223
.NgClass( config )

src/Util.Ui.Angular/TagHelpers/AngularTagHelperBase.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,8 @@ public abstract class AngularTagHelperBase : TagHelperBase {
5050
/// [acl],访问控制
5151
/// </summary>
5252
public string BindAcl { get; set; }
53+
/// <summary>
54+
/// (contextmenu),右键上下文菜单事件,类型: EventEmitter&lt;MouseEvent>
55+
/// </summary>
56+
public string OnContextmenu { get; set; }
5357
}

src/Util.Ui.NgZorro/Components/Base/ButtonBuilderBase.cs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -126,17 +126,6 @@ public TBuilder Icon( AntDesignIcon icon ) {
126126
return (TBuilder)this;
127127
}
128128

129-
/// <summary>
130-
/// 配置路由链接
131-
/// </summary>
132-
public TBuilder RouterLink() {
133-
AttributeIfNotEmpty( "routerLink", _config.GetValue( AngularConst.RouterLink ) );
134-
AttributeIfNotEmpty( "[routerLink]", _config.GetValue( AngularConst.BindRouterLink ) );
135-
AttributeIfNotEmpty( "routerLinkActive", _config.GetValue( AngularConst.RouterLinkActive ) );
136-
AttributeIfNotEmpty( "[routerLinkActive]", _config.GetValue( AngularConst.BindRouterLinkActive ) );
137-
return (TBuilder)this;
138-
}
139-
140129
/// <summary>
141130
/// 配置下拉菜单
142131
/// </summary>
@@ -714,7 +703,7 @@ public TBuilder OnVisibleChange() {
714703
/// </summary>
715704
protected TBuilder ConfigButton() {
716705
EnableExtend();
717-
return Type().Size().Shape().Disabled().Danger().Loading().Ghost().Block().Icon().RouterLink()
706+
return Type().Size().Shape().Disabled().Danger().Loading().Ghost().Block().Icon()
718707
.DropdownMenu().DropdownMenuPlacement().DropdownMenuTrigger().DropdownMenuClickHide()
719708
.DropdownMenuVisible().DropdownMenuOverlayClassName().DropdownMenuOverlayStyle()
720709
.SpaceItem().Tooltip( _config ).Popconfirm( _config ).Popover( _config )
@@ -725,7 +714,8 @@ protected TBuilder ConfigButton() {
725714
.TextStart().TextStop().TextAdd().TextRemove()
726715
.TextOpen().TextClose().TextSend().TextClear()
727716
.TextImport().TextExport().TextReset().TextUnedit()
728-
.Text().OnClick().OnVisibleChange();
717+
.Text()
718+
.OnClick().OnVisibleChange();
729719
}
730720

731721
/// <summary>
@@ -791,8 +781,8 @@ protected void DisableButton() {
791781
/// </summary>
792782
protected string GetFullscreenWrapClass() {
793783
var className = _config.GetValue( UiConst.FullscreenWrapClass );
794-
if (className.IsEmpty()) {
795-
if(_config.Contains( UiConst.FullscreenPack ) || _config.Contains( UiConst.FullscreenTitle ) )
784+
if ( className.IsEmpty() ) {
785+
if ( _config.Contains( UiConst.FullscreenPack ) || _config.Contains( UiConst.FullscreenTitle ) )
796786
return ",null";
797787
return null;
798788
}
@@ -804,7 +794,7 @@ protected string GetFullscreenWrapClass() {
804794
/// </summary>
805795
protected string GetFullscreenPack() {
806796
var isPack = _config.GetBoolValue( UiConst.FullscreenPack );
807-
if (isPack.IsEmpty()) {
797+
if ( isPack.IsEmpty() ) {
808798
if ( _config.Contains( UiConst.FullscreenTitle ) )
809799
return ",true";
810800
return null;

src/Util.Ui.NgZorro/Components/Base/ButtonTagHelperBase.cs

Lines changed: 69 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Util.Ui.NgZorro.Enums;
1+
using Util.Ui.Enums;
2+
using Util.Ui.NgZorro.Enums;
23

34
namespace Util.Ui.NgZorro.Components.Base;
45

@@ -23,7 +24,7 @@ public abstract class ButtonTagHelperBase : TooltipTagHelperBase {
2324
/// </summary>
2425
public bool FullscreenPack { get; set; }
2526
/// <summary>
26-
/// 扩展属性,内容文本,支持i18n
27+
/// 扩展属性,内容文本,支持多语言
2728
/// </summary>
2829
public string Text { get; set; }
2930
/// <summary>
@@ -143,31 +144,15 @@ public abstract class ButtonTagHelperBase : TooltipTagHelperBase {
143144
/// </summary>
144145
public bool TextUnedit { get; set; }
145146
/// <summary>
146-
/// routerLink,路由链接,当按钮类型为链接时可用
147-
/// </summary>
148-
public string RouterLink { get; set; }
149-
/// <summary>
150-
/// [routerLink],路由链接,当按钮类型为链接时可用
151-
/// </summary>
152-
public string BindRouterLink { get; set; }
153-
/// <summary>
154-
/// routerLinkActive,活动路由链接,设置当前活动路由链接的css类,当按钮类型为链接时可用
155-
/// </summary>
156-
public string RouterLinkActive { get; set; }
157-
/// <summary>
158-
/// [routerLinkActive],活动路由链接,设置当前活动路由链接的css类,当按钮类型为链接时可用
159-
/// </summary>
160-
public string BindRouterLinkActive { get; set; }
161-
/// <summary>
162147
/// [nzDropdownMenu],设置下拉菜单
163148
/// </summary>
164149
public string DropdownMenu { get; set; }
165150
/// <summary>
166-
/// nzPlacement,下拉菜单弹出位置
151+
/// nzPlacement,下拉菜单弹出位置, 可选值: bottomLeft' | 'bottomCenter' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight'
167152
/// </summary>
168153
public DropdownMenuPlacement DropdownMenuPlacement { get; set; }
169154
/// <summary>
170-
/// [nzPlacement],下拉菜单弹出位置
155+
/// [nzPlacement],下拉菜单弹出位置, 可选值: bottomLeft' | 'bottomCenter' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight'
171156
/// </summary>
172157
public string BindDropdownMenuPlacement { get; set; }
173158
/// <summary>
@@ -207,6 +192,70 @@ public abstract class ButtonTagHelperBase : TooltipTagHelperBase {
207192
/// </summary>
208193
public bool SpaceItem { get; set; }
209194
/// <summary>
195+
/// 扩展属性,是否查询表单链接,折叠时显示`展开`文本,展开时显示`收起`文本
196+
/// </summary>
197+
public bool IsSearch { get; set; }
198+
/// <summary>
199+
/// 扩展属性,显示表格设置,参数值为表格标识
200+
/// </summary>
201+
public string ShowTableSettings { get; set; }
202+
/// <summary>
203+
/// href,链接地址
204+
/// </summary>
205+
public string Href { get; set; }
206+
/// <summary>
207+
/// [href],链接地址
208+
/// </summary>
209+
public string BindHref { get; set; }
210+
/// <summary>
211+
/// target,链接打开目标, 可选值: '_self' | '_blank' | '_parent' | '_top'
212+
/// </summary>
213+
public ATarget Target { get; set; }
214+
/// <summary>
215+
/// [target],链接打开目标, 可选值: '_self' | '_blank' | '_parent' | '_top'
216+
/// </summary>
217+
public string BindTarget { get; set; }
218+
/// <summary>
219+
/// rel,指定当前文档与被链接文档的关系
220+
/// </summary>
221+
public string Rel { get; set; }
222+
/// <summary>
223+
/// [rel],指定当前文档与被链接文档的关系
224+
/// </summary>
225+
public string BindRel { get; set; }
226+
/// <summary>
227+
/// routerLink,路由链接地址
228+
/// </summary>
229+
public string RouterLink { get; set; }
230+
/// <summary>
231+
/// [routerLink],路由链接地址
232+
/// </summary>
233+
public string BindRouterLink { get; set; }
234+
/// <summary>
235+
/// routerLinkActive,设置当前活动路由链接的css类
236+
/// </summary>
237+
public string RouterLinkActive { get; set; }
238+
/// <summary>
239+
/// [routerLinkActive],设置当前活动路由链接的css类
240+
/// </summary>
241+
public string BindRouterLinkActive { get; set; }
242+
/// <summary>
243+
/// [queryParams],路由查询参数
244+
/// </summary>
245+
public string QueryParams { get; set; }
246+
/// <summary>
247+
/// queryParamsHandling,路由链接查询参数处理方式, 可选值: 'merge' | 'preserve', merge 将新参数与当前参数合并, preserve 保留当前参数.
248+
/// </summary>
249+
public QueryParamsHandling QueryParamsHandling { get; set; }
250+
/// <summary>
251+
/// [queryParamsHandling],路由链接查询参数处理方式, 可选值: 'merge' | 'preserve', merge 将新参数与当前参数合并, preserve 保留当前参数.
252+
/// </summary>
253+
public string BindQueryParamsHandling { get; set; }
254+
/// <summary>
255+
/// *nzTabLink nz-tab-link, 选项卡路由联动
256+
/// </summary>
257+
public string TabLink { get; set; }
258+
/// <summary>
210259
/// (click),单击事件
211260
/// </summary>
212261
public string OnClick { get; set; }

src/Util.Ui.NgZorro/Components/Base/FormControlBuilderBase.cs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
using Util.Ui.NgZorro.Components.Forms.Configs;
77
using Util.Ui.NgZorro.Components.Tables.Configs;
88
using Util.Ui.NgZorro.Configs;
9+
using Util.Ui.NgZorro.Extensions;
910
using Config = Util.Ui.Configs.Config;
1011

11-
namespace Util.Ui.NgZorro.Components.Base;
12+
namespace Util.Ui.NgZorro.Components.Base;
1213

1314
/// <summary>
1415
/// 表单控件标签生成器基类
@@ -29,7 +30,7 @@ public abstract class FormControlBuilderBase<TBuilder> : AngularTagBuilder where
2930
/// <param name="config">配置</param>
3031
/// <param name="tagName">标签名称,范例:div</param>
3132
/// <param name="renderMode">渲染模式</param>
32-
protected FormControlBuilderBase( Config config, string tagName, TagRenderMode renderMode = TagRenderMode.Normal ) : base( config,tagName, renderMode ) {
33+
protected FormControlBuilderBase( Config config, string tagName, TagRenderMode renderMode = TagRenderMode.Normal ) : base( config, tagName, renderMode ) {
3334
_config = config;
3435
FormItemShareConfig = GetShareConfig();
3536
}
@@ -150,6 +151,16 @@ public virtual TBuilder Pattern() {
150151
return (TBuilder)this;
151152
}
152153

154+
/// <summary>
155+
/// 配置间距项
156+
/// </summary>
157+
public virtual TBuilder SpaceItem() {
158+
if ( FormItemShareConfig.FormItemCreated )
159+
return (TBuilder)this;
160+
this.SpaceItem( FormItemShareConfig.SpaceItem );
161+
return (TBuilder)this;
162+
}
163+
153164
/// <summary>
154165
/// 配置表单属性
155166
/// </summary>
@@ -158,7 +169,7 @@ protected TBuilder ConfigForm() {
158169
.Required().RequiredMessage()
159170
.MinLength().MinLengthMessage()
160171
.MaxLength().EmailMessage()
161-
.Pattern()
172+
.Pattern().SpaceItem()
162173
.TableEdit().ValidationExtend();
163174
}
164175

@@ -203,7 +214,7 @@ public TBuilder ValidationExtend() {
203214
/// </summary>
204215
protected TBuilder AutocompleteOff() {
205216
var options = NgZorroOptionsService.GetOptions();
206-
if( options.EnableAutocompleteOff )
217+
if ( options.EnableAutocompleteOff )
207218
Attribute( "autocomplete", "off" );
208219
return (TBuilder)this;
209220
}

src/Util.Ui.NgZorro/Components/Base/FormControlRenderBase.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,10 @@ protected void SetControlId() {
8989
/// </summary>
9090
protected virtual TagBuilder GetFormItem() {
9191
TagBuilder builder = new EmptyContainerTagBuilder();
92-
if ( _config.Id == _shareConfig.Id && _shareConfig.AutoCreateFormItem == true )
93-
builder = new FormItemBuilder( _config.CopyRemoveAttributes() );
92+
if (_config.Id == _shareConfig.Id && _shareConfig.AutoCreateFormItem == true) {
93+
builder = new FormItemBuilder(_config.CopyRemoveAttributes());
94+
_shareConfig.FormItemCreated = true;
95+
}
9496
builder.Config();
9597
return builder;
9698
}

0 commit comments

Comments
 (0)