Skip to content

Commit 9a215d2

Browse files
authored
feat(MindMap): redesign MindMap component (#5006)
* doc: 更新示例 * refactor: 更新本地化 * chore: bump version 9.1.0
1 parent 2b1c587 commit 9a215d2

File tree

5 files changed

+65
-58
lines changed

5 files changed

+65
-58
lines changed

src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
<PackageReference Include="BootstrapBlazor.MaterialDesign.Extensions" Version="9.0.0" />
4949
<PackageReference Include="BootstrapBlazor.MeiliSearch" Version="9.1.4" />
5050
<PackageReference Include="BootstrapBlazor.Mermaid" Version="9.0.3" />
51-
<PackageReference Include="BootstrapBlazor.MindMap" Version="9.0.0" />
51+
<PackageReference Include="BootstrapBlazor.MindMap" Version="9.1.0" />
5252
<PackageReference Include="BootstrapBlazor.MouseFollower" Version="9.0.1" />
5353
<PackageReference Include="BootstrapBlazor.OnScreenKeyboard" Version="9.0.1" />
5454
<PackageReference Include="BootstrapBlazor.PdfReader" Version="9.0.0" />

src/BootstrapBlazor.Server/Components/Samples/MindMaps.razor

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,37 @@
88
<PackageTips Name="BootstrapBlazor.MindMap" />
99

1010
<DemoBlock Title="@Localizer["MindMapNormalTitle"]" Introduction="@Localizer["MindMapDescription"]" Name="MindMapNormal">
11-
<MindMap @ref="_mindMap" Options="_options" Data="@Data" OnReceive="@OnReceive" OnError="@OnError" StyleCss="height: 55vh;" />
11+
<section ignore>
12+
<div class="row g-3 form-inline">
13+
<div class="col-12 col-sm-6">
14+
<Select @bind-Value="_options.Layout" ShowLabel="true" DisplayText="@Localizer["MindMapLayout"]"></Select>
15+
</div>
16+
<div class="col-12 col-sm-6">
17+
<Select @bind-Value="_options.Theme" ShowLabel="true" DisplayText="@Localizer["MindMapTheme"]"></Select>
18+
</div>
19+
</div>
20+
</section>
21+
<MindMap Options="_options" Data="@Data" OnReceive="@OnReceive" @ref="MindMap"></MindMap>
1222
<div class="row g-3 mt-3">
1323
<div class="col-12">
14-
<Button Text="@Localizer["Sample1ButtonText"]" OnClick="Sample" />
15-
<Button Text="@Localizer["Sample2ButtonText"]" OnClick="Sample2" />
16-
<Button Text="@Localizer["ExportButtonText"]" OnClick="Export" />
17-
<Button Text="@Localizer["ExportJsonButtonText"]" OnClick="ExportJson" />
18-
<Button Text="@Localizer["GetFullDataButtonText"]" OnClick="GetFullData" />
19-
<Button Text="@Localizer["GetDataButtonText"]" OnClick="GetData" />
20-
<Button Text="@Localizer["SetDataButtonText"]" OnClick="SetData" />
21-
<Button Text="@Localizer["ResetButtonText"]" OnClick="Reset" />
22-
</div>
23-
<div class="col-12 col-sm-3 mt-3">
24-
<Select @bind-Value="_options.Layout" ShowLabel="true" />
25-
</div>
26-
<div class="col-12 col-sm-3 mt-3">
27-
<Select @bind-Value="_options.Theme" ShowLabel="true" />
24+
<Button Text="@Localizer["Sample1ButtonText"]" OnClick="Sample"></Button>
25+
<Button Text="@Localizer["Sample2ButtonText"]" OnClick="Sample2"></Button>
26+
<Button Text="@Localizer["ExportButtonText"]" OnClick="ExportImage"></Button>
27+
<Button Text="@Localizer["ExportJsonButtonText"]" OnClick="ExportJson"></Button>
28+
<Button Text="@Localizer["GetFullDataButtonText"]" OnClick="GetFullData"></Button>
29+
<Button Text="@Localizer["GetDataButtonText"]" OnClick="GetData"></Button>
30+
<Button Text="@Localizer["SetDataButtonText"]" OnClick="SetData"></Button>
31+
<Button Text="@Localizer["ResetButtonText"]" OnClick="Reset"></Button>
32+
<Button Text="@Localizer["FitButtonText"]" OnClick="Fit"></Button>
2833
</div>
2934
<div class="col-12">
30-
<Textarea @bind-Value="_result" rows="10" />
35+
<Textarea @bind-Value="@_result" rows="10"></Textarea>
3136
</div>
32-
</div>
37+
</div>
3338
</DemoBlock>
3439

35-
<AttributeTable Items="@GetAttributes()" />
40+
<AttributeTable Items="@GetAttributes()"></AttributeTable>
3641

37-
<AttributeTable Title="@Localizer["OptionsText"]" Items="@GetOptionsAttributes()" />
42+
<AttributeTable Title="@Localizer["OptionsText"]" Items="@GetOptionsAttributes()"></AttributeTable>
3843

39-
<AttributeTable Title="@Localizer["NodeDataText"]" Items="@GetNodeDataAttributes()" />
44+
<AttributeTable Title="@Localizer["NodeDataText"]" Items="@GetNodeDataAttributes()"></AttributeTable>

src/BootstrapBlazor.Server/Components/Samples/MindMaps.razor.cs

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ public partial class MindMaps
1414
[NotNull]
1515
private MessageService? MessageService { get; set; }
1616

17-
private MindMap _mindMap = default!;
18-
1917
private readonly MindMapOption _options = new();
2018

21-
private string _result = "";
19+
private string? _result;
20+
21+
[NotNull]
22+
private MindMap? MindMap { get; set; }
2223

2324
/// <summary>
2425
/// 初始化数据
@@ -95,21 +96,21 @@ private Task OnError(string message)
9596
return Task.CompletedTask;
9697
}
9798

98-
async Task Export()
99+
async Task ExportImage()
99100
{
100-
await _mindMap.Export();
101+
await MindMap.Export();
101102
await ShowBottomMessage("下载Png");
102103
}
103104

104105
async Task ExportJson()
105106
{
106-
await _mindMap.Export("json", WithConfig: false);
107+
await MindMap.Export("json", withConfig: false);
107108
await ShowBottomMessage("下载Json");
108109
}
109110

110111
async Task ExportPng()
111112
{
112-
await _mindMap.Export(IsDownload: false, WithConfig: false);
113+
await MindMap.Export(download: false, withConfig: false);
113114
await ShowBottomMessage("已导出Png");
114115
}
115116

@@ -119,16 +120,27 @@ private Task ShowBottomMessage(string message) => MessageService.Show(new Messag
119120
Icon = "fa-solid fa-circle-info",
120121
});
121122

122-
Task GetFullData() => _mindMap.GetData();
123+
async Task GetFullData()
124+
{
125+
_result = await MindMap.GetData(true);
126+
}
123127

124-
Task GetData() => _mindMap.GetData(false);
128+
async Task GetData()
129+
{
130+
_result = await MindMap.GetData(false);
131+
}
125132

126133
async Task SetData()
127134
{
128-
if (_result != null) await _mindMap.SetData(_result);
135+
if (!string.IsNullOrEmpty(_result))
136+
{
137+
await MindMap.SetData(_result);
138+
}
129139
}
130140

131-
Task Reset() => _mindMap.Reset();
141+
Task Reset() => MindMap.Reset();
142+
143+
Task Fit() => MindMap.Fit();
132144

133145
async Task Sample()
134146
{
@@ -221,22 +233,6 @@ private AttributeItem[] GetAttributes() =>
221233
DefaultValue = " — "
222234
},
223235
new()
224-
{
225-
Name = nameof(MindMap.SetTheme),
226-
Description = Localizer[nameof(MindMap.SetTheme)],
227-
Type = "Task",
228-
ValueList = " — ",
229-
DefaultValue = " — "
230-
},
231-
new()
232-
{
233-
Name = nameof(MindMap.SetLayout),
234-
Description = Localizer[nameof(MindMap.SetTheme)],
235-
Type = "Task",
236-
ValueList = " — ",
237-
DefaultValue = " — "
238-
},
239-
new()
240236
{
241237
Name = nameof(MindMap.Options),
242238
Description = Localizer[nameof(MindMap.Options)],

src/BootstrapBlazor.Server/Locales/en-US.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6308,14 +6308,17 @@
63086308
"MindMapTitle": "Mind Map",
63096309
"MindMapDescription": "The shortcut key tab adds a new node, the mouse can drag node arrangement",
63106310
"MindMapNormalTitle": "Basic usage",
6311+
"MindMapLayout": "Layout",
6312+
"MindMapTheme": "Theme",
63116313
"Sample1ButtonText": "Example 1",
63126314
"Sample2ButtonText": "Example 2: week arrangement",
6313-
"ExportButtonText": "Download as PNG",
6314-
"ExportJsonButtonText": "Download as JSON",
6315-
"GetFullDataButtonText": "Export object",
6316-
"GetDataButtonText": "Export the JSON object",
6317-
"SetDataButtonText": "Import data (JSON)",
6315+
"ExportButtonText": "ExportPng",
6316+
"ExportJsonButtonText": "ExportJSON",
6317+
"GetFullDataButtonText": "GetFullData",
6318+
"GetDataButtonText": "GetData",
6319+
"SetDataButtonText": "SetData",
63186320
"ResetButtonText": "Reset",
6321+
"FitButtonText": "Fit",
63196322
"NodeDataText": "NodeData",
63206323
"Data": "Data",
63216324
"ShowUI": "Show default UI",

src/BootstrapBlazor.Server/Locales/zh-CN.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6308,14 +6308,17 @@
63086308
"MindMapTitle": "Mind Map 思维导图",
63096309
"MindMapDescription": "快捷键Tab添加新节点,鼠标可拖动节点排列",
63106310
"MindMapNormalTitle": "基本用法",
6311+
"MindMapLayout": "布局",
6312+
"MindMapTheme": "主题",
63116313
"Sample1ButtonText": "例子1",
63126314
"Sample2ButtonText": "一周安排",
6313-
"ExportButtonText": "下载为PNG",
6314-
"ExportJsonButtonText": "下载为json",
6315-
"GetFullDataButtonText": "导出对象",
6316-
"GetDataButtonText": "导出json对象",
6317-
"SetDataButtonText": "导入数据(json)",
6315+
"ExportButtonText": "导出 PNG",
6316+
"ExportJsonButtonText": "导出 Json",
6317+
"GetFullDataButtonText": "GetFullData",
6318+
"GetDataButtonText": "GetData",
6319+
"SetDataButtonText": "SetData",
63186320
"ResetButtonText": "复位",
6321+
"FitButtonText": "自适应",
63196322
"NodeDataText": "节点数据",
63206323
"Data": "初始数据",
63216324
"ShowUI": "显示内置UI",

0 commit comments

Comments
 (0)