Skip to content

Commit ca6eca8

Browse files
Merge pull request #117 from stavroskasidis/release/1.13
Release/1.13
2 parents 88f4309 + 2c5eaba commit ca6eca8

File tree

8 files changed

+53
-21
lines changed

8 files changed

+53
-21
lines changed

BlazorContextMenu.sln

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 16
4-
VisualStudioVersion = 16.0.28621.142
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.1.32228.430
55
MinimumVisualStudioVersion = 15.0.26124.0
66
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorContextMenu", "BlazorContextMenu\BlazorContextMenu.csproj", "{40AD3140-7529-4E0F-8E7F-8F989A1D1B28}"
77
EndProject

BlazorContextMenu/BlazorContextMenu.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<Copyright />
1717
<PackageTags>blazor blazor-component blazor-context-menu context-menu contextmenu menu blazor-menu blazorcontextmenu razor razor-components razorcomponents</PackageTags>
1818
<VersionSuffix>$(VersionSuffix)</VersionSuffix>
19-
<Version>1.12.0</Version>
19+
<Version>1.13.0</Version>
2020
<Version Condition=" '$(VersionSuffix)' != '' ">$(Version)-$(VersionSuffix)</Version>
2121
<Product>Blazor.ContextMenu</Product>
2222
</PropertyGroup>

BlazorContextMenu/wwwroot/blazorContextMenu.js

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,10 @@ var blazorContextMenu = function (blazorContextMenu) {
3838
function recurse(element, className, found) {
3939
for (var i = 0; i < element.children.length && !found; i++) {
4040
var el = element.children[i];
41-
var classes = el.className != undefined ? el.className.split(" ") : [];
42-
for (var j = 0, jl = classes.length; j < jl; j++) {
43-
if (classes[j] == className) {
44-
found = true;
45-
foundElement = element.children[i];
46-
break;
47-
}
41+
if (el.classList.contains(className)) {
42+
found = true;
43+
foundElement = element.children[i];
44+
break;
4845
}
4946
if (found)
5047
break;
@@ -60,11 +57,8 @@ var blazorContextMenu = function (blazorContextMenu) {
6057
function recurse(element, className) {
6158
for (var i = 0; i < element.children.length; i++) {
6259
var el = element.children[i];
63-
var classes = el.className != undefined ? el.className.split(" ") : [];
64-
for (var j = 0, jl = classes.length; j < jl; j++) {
65-
if (classes[j] == className) {
66-
foundElements.push(element.children[i]);
67-
}
60+
if (el.classList.contains(className)) {
61+
foundElements.push(element.children[i]);
6862
}
6963
recurse(element.children[i], className);
7064
}
@@ -107,15 +101,15 @@ var blazorContextMenu = function (blazorContextMenu) {
107101
//openingMenu = true;
108102
var menu = document.getElementById(menuId);
109103
if (!menu) throw new Error("No context menu with id '" + menuId + "' was found");
110-
addToOpenMenus(menu,menuId, null);
104+
addToOpenMenus(menu, menuId, null);
111105
showMenuCommon(menu, menuId, x, y, null, null);
112106
}
113107

114108
blazorContextMenu.OnContextMenu = function (e, menuId, stopPropagation) {
115109
//openingMenu = true;
116110
var menu = document.getElementById(menuId);
117111
if (!menu) throw new Error("No context menu with id '" + menuId + "' was found");
118-
addToOpenMenus(menu,menuId, e.target);
112+
addToOpenMenus(menu, menuId, e.target);
119113
var triggerDotnetRef = JSON.parse(e.currentTarget.dataset["dotnetref"]);
120114
showMenuCommon(menu, menuId, e.x, e.y, e.target, triggerDotnetRef);
121115
e.preventDefault();

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,13 @@ public class Startup
244244
</details>
245245
246246
## Release Notes
247-
<details open="open"><summary>1.12</summary>
247+
<details open="open"><summary>1.13</summary>
248+
249+
>- Fix for [#114](https://github.com/stavroskasidis/BlazorContextMenu/issues/114).
250+
</details>
251+
252+
253+
<details><summary>1.12</summary>
248254

249255
>- Fix for [#110](https://github.com/stavroskasidis/BlazorContextMenu/issues/110). Contributed by [SebastianWachsmuth](https://github.com/SebastianWachsmuth).
250256
</details>

TestApps/BlazorContextMenu.TestAppsCommon/CommonIndex.razor

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@
7171
<p id="test13-trigger">Right-Click me (menu5 hides on mouseup)</p>
7272
</ContextMenuTrigger>
7373

74+
<ContextMenuTrigger MenuId="menu6">
75+
<p id="test14-trigger">Right-Click me (menu6 - items contain nested components)</p>
76+
</ContextMenuTrigger>
77+
7478

7579
<ContextMenu Id="menu1" Template="dark" OnAppearing="OnAppearingMenu1">
7680
<Item Id="menu1-item1" OnClick="FetchDataClick">Fetch Data</Item>
@@ -118,8 +122,13 @@
118122
</ContextMenu>
119123

120124
<ContextMenu Id="menu5" AutoHideEvent="AutoHideEvent.MouseUp" >
121-
<Item Id="menu4-item1" OnClick="OnClick">Item 1</Item>
122-
<Item Id="menu4-item2" OnClick="OnClick">Item 2</Item>
125+
<Item Id="menu5-item1" OnClick="OnClick">Item 1</Item>
126+
<Item Id="menu5-item2" OnClick="OnClick">Item 2</Item>
127+
</ContextMenu>
128+
129+
<ContextMenu Id="menu6" >
130+
<Item Id="menu6-item1" OnClick="OnClick"><ItemChild>Item 1</ItemChild></Item>
131+
<Item Id="menu6-item2" OnClick="OnClick"><ItemChild>Item 2</ItemChild></Item>
123132
</ContextMenu>
124133

125134
<div>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1,5" stroke-linecap="round" stroke-linejoin="round" class="feather mr-4 inline-block feather-eye"><!--!--><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>
2+
3+
@ChildContent
4+
5+
@code {
6+
[Parameter] public RenderFragment ChildContent { get; set; }
7+
}

TestApps/BlazorContextMenu.TestAppsCommon/wwwroot/css/site.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@ div.dark-menu {
156156
.dark-menu .dark-menu-item--disabled,
157157
.dark-menu .dark-menu-item {
158158
background-color: #444;
159-
backdrop-filter: blur(2px) contrast(.3);
160159
}
161160

162161
.dark-menu .dark-menu-item--disabled:hover,

Tests/BlazorContextMenu.TestsCommon/CommonTests/TestAppIndexTests.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,5 +412,22 @@ public async Task Menu5_TriggerAndMouseDownOnHeader_MenuStaysOpen()
412412
var display = menuElement.GetCssValue("display");
413413
Assert.Equal(expectedDisplay, display);
414414
}
415+
416+
[Fact]
417+
public async Task Menu6_TriggerAndClickOutside_MenuCloses()
418+
{
419+
//Arrange
420+
var expectedDisplay = "none";
421+
422+
//Act
423+
await OpenContextMenuAt("test14-trigger", MouseButtonTrigger.Right);
424+
var headerElement = Browser.FindElement(By.Id("header"));
425+
headerElement.Click();
426+
427+
//Assert
428+
var menuElement = Browser.FindElement(By.Id("menu6"));
429+
var display = menuElement.GetCssValue("display");
430+
Assert.Equal(expectedDisplay, display);
431+
}
415432
}
416433
}

0 commit comments

Comments
 (0)