Upgrading from 2022 to 2024 q2

1 Answer 35 Views
Grid MultiSelect
Lee
Top achievements
Rank 2
Bronze
Bronze
Bronze
Lee asked on 16 Jul 2024, 10:54 PM | edited on 17 Jul 2024, 06:31 PM

I am trying to upgrade my Kendo UI Jquery installation from 2022 to 2024 and it is not going smoothly. One issue I'm having is that now my grids with locked columns do not span the whole width of their container. In the old version, the k-grid-table would expand to fill the width of the k-grid-content but now it seems that the columns retain their width, rather than growing like they used to. So now there is a large white space between the last column and the vertical scrollbar. I did notice that if I remove the inline style in the developer tools that is applied to the k-grid-table in the unlocked section, it fixes it. 

Another issue I just discovered is on the multiselect. It seems that the class that used to be applied when the list was expanded is not there anymore ".k-state-border-down". I used this to target the down arrow and change it to a checkmark but now it seems there is no class to target in CSS. How would I change the arrow icon when the multiselect is expanded?

 

Old Version:

New Version: 

 

How do I fix this, and is there documentation somewhere on all of the breaking changes between the two versions and how to fix them? 

Mani
Top achievements
Rank 1
Iron
commented on 29 Jul 2024, 10:59 AM | edited

Hi Lee

I am also upgrading to latest version So I have downloaded the latest version from Telerik account, after that I noticed that the file names are changed. So How can I remove my old paths and include the new paths of css & Js files in my layout page. I didn't find any solution from the documentation itself too.

Note:- I am upgrading Kendo UI for Jquery 2022.1.119 to 2024.2.514

Lee
Top achievements
Rank 2
Bronze
Bronze
Bronze
commented on 29 Jul 2024, 12:40 PM | edited

Hi @Mani. I just updated from that version too. I'm not sure I understand your question correctly but I'll try to answer.

You should have a link to the css in the header of your layout.html (or layout.cshtml) file. Your project might have multiple layout files that are used depending on the page. For example, one of my projects has both layout.cshtml and noNavLayout.cshtml because some pages on the site don't have a navigation. The javascript link goes at the end of the body of that file. If you just need to change the path, you can do it there. Some of the css, like bootstrap-v4, I don't think exist anymore. Here are my new paths: 

    <link rel="stylesheet" href="/kendo/styles/font-icons/index.css" />
    <link rel="stylesheet" href="/kendo/styles/bootstrap-main.css" />

    <script src="/kendo/js/kendo.all.min.js"></script>

    <script src=`kendo/js/cultures/kendo.culture.${locale}.min.js`></script>

If you need more help let me know.

1 Answer, 1 is accepted

Sort by
0
Yordan
Telerik team
answered on 19 Jul 2024, 03:33 PM

Hello Lee,

Thank you for the provided details.

Here is a KB article that shows how to remove trailing spaces with locked columns:

Here is a modified Dojo example that accommodates locked columns (without having an empty column at the end)

For the Multiselect issue, `k-state-` classes are not supported any more.

I suggest you try to target the icon using the `open` and `close` events of the Multiselect.

Here is a Dojo Example of how to change the icon dynamically:

Components that have major rendering changes should also have `Appearance` section in the documentation.

Here is an article where you can see all breaking changes version to version: 

Regards,
Yordan
Progress Telerik

Do you have a stake in the designеr-developer collaboration process? If so, take our survey to share your perspective and become part of this global research. You’ll be among the first to know once the results are out.
-> Start The State of Designer-Developer Collaboration Survey 2024

Lee
Top achievements
Rank 2
Bronze
Bronze
Bronze
commented on 19 Jul 2024, 04:37 PM

Thank you. I created a bug ticket for the issue with the extra space in the grid as that used to work correctly in Version 2022 but now it does not. I appreciate the workaround but that is too cumbersome to have to do every time. 
Yordan
Telerik team
commented on 24 Jul 2024, 02:09 PM

Lee
Top achievements
Rank 2
Bronze
Bronze
Bronze
commented on 24 Jul 2024, 08:41 PM

I think I found the issue. In the new version, role="grid" was changed to role="none" in the table header and completely removed in the body of the table. One of my CSS files was targeting that to add a "min-width: 100%" to the tables. 

2021:

2024:

Yordan
Telerik team
commented on 29 Jul 2024, 08:34 AM

Hello Lee,

I have investigated your "min-width" approach, and indeed it seems to remove the trailing spaces. 

Regarding the role attribute, that is also by design. Further details can be found in this thread. Using a grid attribute to add custom CSS is not optimal since there is always a possibility of changes in the rendering.

If you still want to use the same approach, you can select all tables through the "k-table" class and achieve the same thing when adding the "min-width: 100%". Here is a simple Dojo example: Untitled | Kendo UI Dojo (telerik.com)

However, I suggest you use the approach with setting the non-locked columns' width to "auto", as it is more stable than relying on a piece of the Grid's rendering. Here is the same Dojo, but using this approach: Untitled | Kendo UI Dojo (telerik.com)

Tags
Grid MultiSelect
Asked by
Lee
Top achievements
Rank 2
Bronze
Bronze
Bronze
Answers by
Yordan
Telerik team
Share this question
or