Pending Review
Last Updated: 11 Oct 2019 14:20 by ADMIN
Anna
Created on: 04 Oct 2019 15:27
Category: Notification
Type: Bug Report
0
Notifications shown with "appendTo" wrongly removed

Reproduction

Run dojo at https://dojo.telerik.com/@GaloisGirl/UtuZIyOd

Current behavior

All three notifications are removed after one second

Expected behavior

The blue notification should be removed after 2 seconds, the orange one after 1 second, the red one never.

Analysis

The bug only occurs with the appendTo option.

In the showStatic method, we clearly see all displayed notifications are iterated over and being attached the _hideStatic method. In my example:

  1. the blue notification is shown and scheduled to be hidden after 2s
  2. the red notification is shown, none is scheduler do be hidden, because autoHideAfter is 0
  3. the orange notification is shown, and the blue one, the red one, and the orange one are scheduled to be hidden after 1s.

The 2018.1.117 code does not feature this loop and the bug is not present.

 

1 comment
ADMIN
Dimitar
Posted on: 11 Oct 2019 14:20

Hi Anna,

Thank you for your feedback. Indeed there is a change in the observed behavior when using 2018.1.117 and 2019.3.917. The change was released with 2018.3.1017 (R3 2018 SP1). I discussed it with my colleague who implemented it. The change is intentional and was justified with the following explanation:

"The Notification widget allows to show static notifications in multiple containers. However, events are being attached only to the last notification element. As a result, hiding all of the opened static notifications is not possible."

So the behavior observed in this Dojo with 2018.1.117 originates from an issue in Kendo Notification. Note that the autoHideAfter is an option of the Notification widget and it controls all currently displayed notification elements. Although it appeared working in the previous version, this was a coincidence and I would not recommend this setup. Instead of that, we would recommend getting all notifications via getNotifications method and removing them based on their index. The following Dojo snippet shows how to remove notifications one by one based on their index, when pressing removeMessages button.

I hope the above is helpful. Feel free to contact us again, if you have any questions.

Regards,
Dimitar
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.