Added "autoHideSeconds" setting in mw.notify()
authorrlot <rj23@protonmail.com>
Fri, 13 Jan 2017 16:46:17 +0000 (17:46 +0100)
committerrlot <rj23@protonmail.com>
Fri, 13 Jan 2017 20:18:49 +0000 (21:18 +0100)
"autoHideSeconds" is now option of Notification, instead of global variable.

Bug: T155228
Change-Id: If0d141b67515546f1605f24c2f4a50a05d5f2ba4

resources/src/mediawiki/mediawiki.notification.js

index e1287db..7a3fb0a 100644 (file)
@@ -71,6 +71,7 @@
                $notificationContent.appendTo( $notification );
 
                // Private state parameters, meant for internal use only
+               // autoHideSeconds: Number of seconds to wait before auto-hiding notifications.
                // isOpen: Set to true after .start() is called to avoid double calls.
                //         Set back to false after .close() to avoid duplicating the close animation.
                // isPaused: false after .resume(), true after .pause(). Avoids duplicating or breaking the hide timeouts.
@@ -79,6 +80,8 @@
                //          to stop replacement of a tagged notification with another notification using the same message.
                // options: The options passed to the notification with a little sanitization. Used by various methods.
                // $notification: jQuery object containing the notification DOM node.
+               // Set hide delay
+               this.autoHideSeconds = options.autoHideSeconds;
                this.isOpen = false;
                this.isPaused = true;
                this.message = message;
                                // Already finished, so don't try to re-clear it
                                delete notif.timeout;
                                notif.close();
-                       }, notification.autoHideSeconds * 1000 );
+                       }, this.autoHideSeconds * 1000 );
                }
        };
 
                 *   A boolean indicating whether the notifification should automatically
                 *   be hidden after shown. Or if it should persist.
                 *
+                * - autoHideSeconds:
+                *   Number of seconds to wait before auto-hiding notifications.
+                *
                 * - tag:
                 *   An optional string. When a notification is tagged only one message
                 *   with that tag will be displayed. Trying to display a new notification
                 */
                defaults: {
                        autoHide: true,
+                       autoHideSeconds: 5,
                        tag: false,
                        title: undefined,
                        type: false
                },
 
-               /**
-                * @property {number}
-                * Number of seconds to wait before auto-hiding notifications.
-                */
-               autoHideSeconds: 5,
-
                /**
                 * @property {number}
                 * Maximum number of notifications to count down auto-hide timers for.