AutorÃa | Ultima modificación | Ver Log |
YUI.add('moodle-core-maintenancemodetimer', function (Y, NAME) {/*** Maintenance mode timer display.** @module moodle-core-maintenancemodetimer*/var MAINTENANCEMODETIMER = function() {MAINTENANCEMODETIMER.superclass.constructor.apply(this, arguments);};Y.extend(MAINTENANCEMODETIMER, Y.Base, {timeleftinsec: 0,maintenancenode: Y.one('.box.maintenancewarning'),/*** Initialise timer if maintenancemode set.** @method initializer* @param config {Array} array with timeleftinsec set.*/initializer: function(config) {if (this.maintenancenode) {this.timeleftinsec = config.timeleftinsec;this.maintenancenode.setAttribute('aria-live', 'polite');Y.later(1000, this, 'updatetimer', null, true);}},/*** Decrement time left and update display text.** @method updatetimer*/updatetimer: function() {this.timeleftinsec -= 1;if (this.timeleftinsec <= 0) {this.maintenancenode.set('text', M.util.get_string('sitemaintenance', 'admin'));} else {var a = {};a.sec = this.timeleftinsec % 60;a.min = Math.floor(this.timeleftinsec / 60) % 60;a.hour = Math.floor(this.timeleftinsec / 3600);if (a.hour > 0) {this.maintenancenode.set('text', M.util.get_string('maintenancemodeisscheduledlong', 'admin', a));} else {this.maintenancenode.set('text', M.util.get_string('maintenancemodeisscheduled', 'admin', a));}}// Set error class to highlight the importance.if (this.timeleftinsec < 30) {this.maintenancenode.addClass('alert-error').addClass('alert-danger').removeClass('alert-warning');} else {this.maintenancenode.addClass('alert-warning').removeClass('alert-error').removeClass('alert-danger');}}});M.core = M.core || {};M.core.maintenancemodetimer = M.core.maintenancemodetimer || function(config) {return new MAINTENANCEMODETIMER(config);};}, '@VERSION@', {"requires": ["base", "node"]});