@@ -45,58 +45,59 @@ To ensure tooltips are displayed only when text is ellipsed, use JavaScript to c
4545
4646``` razor
4747@inject IJSRuntime JS
48-
49- <script suppress-error="BL9992">
50- window.isTextOverflowing = () => {
51- const el = document.querySelector('.example-cb .k-input-inner');
52- if (!el) {
53- return;
54- }
55-
56- return el.scrollWidth > el.clientWidth;
57- };
58- </script>
48+ @inject IJSRuntime JS
5949
6050@if (SelectedHobbyId != 0)
6151{
62- <TelerikTooltip TargetSelector="#products-multiselect[title]"/>
52+ <TelerikTooltip TargetSelector="#products-multiselect[title]" />
6353}
6454
6555@{
66- <span
67- id="@(IsCurrentOverflowing ? "products-multiselect" : "products-multiselect-none")"
68- @onmouseenter="OnMouseEnter"
69- title="@CurrentHobbyName">
56+ <span id="@(IsCurrentOverflowing ? "products-multiselect" : "products-multiselect-none")"
57+ @onmouseenter="OnMouseEnter"
58+ title="@CurrentHobbyName">
7059 <TelerikComboBox @bind-Value="@SelectedHobbyId"
71- Data="@Hobbies"
72- Placeholder="Select your favourite sport..."
73- TextField="@nameof(HobbiesDto.HobbyName)"
74- ValueField="@nameof(HobbiesDto.HobbyId)"
75- Filterable="true"
76- Width="20%"
77- Class="example-cb">
60+ Data="@Hobbies"
61+ Placeholder="Select your favourite sport..."
62+ TextField="@nameof(HobbiesDto.HobbyName)"
63+ ValueField="@nameof(HobbiesDto.HobbyId)"
64+ Filterable="true"
65+ Width="20%"
66+ Class="example-cb">
7867 </TelerikComboBox>
7968 </span>
8069}
8170
82- @code {
83- public int SelectedHobbyId { get; set; }
71+ <script suppress-error="BL9992">
72+ window.isTextOverflowing = () => {
73+ const el = document.querySelector('.example-cb .k-input-inner');
74+ if (!el) {
75+ return;
76+ }
8477
78+ return el.scrollWidth > el.clientWidth;
79+ };
80+ </script>
81+
82+ @code {
83+ private int SelectedHobbyId { get; set; }
8584 private bool IsCurrentOverflowing { get; set; } = false;
86- private string CurrentHobbyName => FindCurrentHobby()? .HobbyName;
85+ private string CurrentHobbyName => FindCurrentHobby()! .HobbyName;
8786
88- private async Task OnMouseEnter() {
89- @if (SelectedHobbyId != 0) {
87+ private async Task OnMouseEnter()
88+ {
89+ @if (SelectedHobbyId != 0)
90+ {
9091 IsCurrentOverflowing = await JS.InvokeAsync<bool>("isTextOverflowing");
9192 }
9293 }
9394
94- public HobbiesDto? FindCurrentHobby()
95+ private HobbiesDto? FindCurrentHobby()
9596 {
9697 return Hobbies.FirstOrDefault(x => x.HobbyId == SelectedHobbyId);
9798 }
9899
99- public IEnumerable<HobbiesDto> Hobbies { get; set; } = new List<HobbiesDto>()
100+ private IEnumerable<HobbiesDto> Hobbies { get; set; } = new List<HobbiesDto>()
100101 {
101102 new HobbiesDto(1, "This is a test for a very very very very long sentance."),
102103 new HobbiesDto(2, "This is some long test sentance."),
@@ -118,7 +119,6 @@ To ensure tooltips are displayed only when text is ellipsed, use JavaScript to c
118119 public string HobbyName { get; set; }
119120 }
120121}
121- ```
122122
123123### MultiSelect Implementation
124124
0 commit comments