Skip to content

Commit

Permalink
Merge pull request #99 from GokceOzkan/master
Browse files Browse the repository at this point in the history
Tooltip component and enum added
  • Loading branch information
emncnozge authored Oct 21, 2024
2 parents b5a22c7 + a4d878e commit 7e07af7
Show file tree
Hide file tree
Showing 4 changed files with 120 additions and 0 deletions.
39 changes: 39 additions & 0 deletions SiemensIXBlazor.Tests/TooltipTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// -----------------------------------------------------------------------
// SPDX-FileCopyrightText: 2024 Siemens AG
//
// SPDX-License-Identifier: MIT
//
// This source code is licensed under the MIT license found in the
// LICENSE file in the root directory of this source tree.
// -----------------------------------------------------------------------


using Bunit;
using Microsoft.AspNetCore.Components;
using SiemensIXBlazor.Components;
using SiemensIXBlazor.Enums.Tooltip;
using Xunit;

namespace SiemensIXBlazor.Tests
{
public class TooltipTests : TestContextBase
{
[Fact]
public void TooltipRendersCorrectly()
{
// Arrange
var cut = RenderComponent<Tooltip>(
("Id", "tooltipId"),
("TitleContent", "Test Tooltip"),
("Interactive", true),
("Placement", TooltipVariant.bottom),
("For", "testElement")
);

// Assert
cut.MarkupMatches("<ix-tooltip id=\"tooltipId\" title-content=\"Test Tooltip\" interactive placement=\"bottom\" for=\"testElement\"></ix-tooltip>");
}


}
}
37 changes: 37 additions & 0 deletions SiemensIXBlazor/Components/Tooltip/Tooltip.Razor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// -----------------------------------------------------------------------
// SPDX-FileCopyrightText: 2024 Siemens AG
//
// SPDX-License-Identifier: MIT
//
// This source code is licensed under the MIT license found in the
// LICENSE file in the root directory of this source tree.
// -----------------------------------------------------------------------



using Microsoft.AspNetCore.Components;
using Microsoft.JSInterop;
using SiemensIXBlazor.Enums.Chip;
using SiemensIXBlazor.Enums.Tooltip;
using SiemensIXBlazor.Interops;

namespace SiemensIXBlazor.Components
{
public partial class Tooltip
{
[Parameter, EditorRequired]
public string Id { get; set; } = string.Empty;
[Parameter]
public bool Interactive { get; set; } = false;
[Parameter]
public string? TitleContent { get; set; }
[Parameter]
public TooltipVariant Placement { get; set; } = TooltipVariant.top;
[Parameter]
public string? For { get; set; }
[Parameter]
public RenderFragment? ChildContent { get; set; }
private BaseInterop _interop;
}
}

25 changes: 25 additions & 0 deletions SiemensIXBlazor/Components/Tooltip/Tooltip.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@* -----------------------------------------------------------------------
// SPDX-FileCopyrightText: 2024 Siemens AG
//
// SPDX-License-Identifier: MIT
//
// This source code is licensed under the MIT license found in the
// LICENSE file in the root directory of this source tree.
// -----------------------------------------------------------------------
*@

@using Microsoft.JSInterop;
@namespace SiemensIXBlazor.Components
@inject IJSRuntime JSRuntime
@inherits IXBaseComponent

<ix-tooltip @attributes="UserAttributes"
id="@Id"
placement="@Placement"
title-content="@TitleContent"
interactive="@Interactive"
for="@For"
style="@Style"
class="@Class">
@ChildContent
</ix-tooltip>
19 changes: 19 additions & 0 deletions SiemensIXBlazor/Enums/Tooltip/TooltipVariant.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// -----------------------------------------------------------------------
// SPDX-FileCopyrightText: 2024 Siemens AG
//
// SPDX-License-Identifier: MIT
//
// This source code is licensed under the MIT license found in the
// LICENSE file in the root directory of this source tree.
// ---

namespace SiemensIXBlazor.Enums.Tooltip
{
public enum TooltipVariant
{
bottom,
left,
right,
top
}
}

0 comments on commit 7e07af7

Please sign in to comment.