hof 22.0.0-timeout-warning-beta.1 → 22.0.0-timeout-warning-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nyc_output/39365c14-40b7-4634-b733-940b72a11984.json +1 -0
- package/.nyc_output/processinfo/{39337dba-f075-4b5c-ad46-31665a16d443.json → 39365c14-40b7-4634-b733-940b72a11984.json} +1 -1
- package/.nyc_output/processinfo/index.json +1 -1
- package/frontend/themes/gov-uk/client-js/session-timeout-dialog.js +43 -55
- package/package.json +1 -1
- package/sandbox/public/js/bundle.js +43 -55
- package/.nyc_output/39337dba-f075-4b5c-ad46-31665a16d443.json +0 -1
@@ -299,6 +299,9 @@ helpers.documentReady(characterCount);
|
|
299
299
|
helpers.documentReady(validation);
|
300
300
|
|
301
301
|
},{"../../../toolkit":12,"./cookieSettings":1,"./govuk-cookies":2,"./session-timeout-dialog":4,"./skip-to-main":5,"govuk-frontend":13}],4:[function(require,module,exports){
|
302
|
+
/* eslint max-len: 0 */
|
303
|
+
'use strict';
|
304
|
+
|
302
305
|
const $ = require('jquery');
|
303
306
|
|
304
307
|
// Modal dialog prototype
|
@@ -318,8 +321,8 @@ window.GOVUK.sessionDialog = {
|
|
318
321
|
$timer: $('#js-modal-dialog .timer'),
|
319
322
|
$accessibleTimer: $('#js-modal-dialog .at-timer'),
|
320
323
|
|
321
|
-
secondsSessionTimeout: parseInt($('#js-modal-dialog').data('session-timeout') || 1800),
|
322
|
-
secondsTimeoutWarning: parseInt($('#js-modal-dialog').data('session-timeout-warning') || 300),
|
324
|
+
secondsSessionTimeout: parseInt($('#js-modal-dialog').data('session-timeout'), 10 || 1800),
|
325
|
+
secondsTimeoutWarning: parseInt($('#js-modal-dialog').data('session-timeout-warning'), 10 || 300),
|
323
326
|
timeoutRedirectUrl: $('#js-modal-dialog').data('url-redirect'),
|
324
327
|
timeSessionRefreshed: new Date(),
|
325
328
|
|
@@ -327,18 +330,18 @@ window.GOVUK.sessionDialog = {
|
|
327
330
|
window.GOVUK.sessionDialog.$closeButton.on('click', function (e) {
|
328
331
|
e.preventDefault();
|
329
332
|
window.GOVUK.sessionDialog.closeDialog();
|
330
|
-
})
|
333
|
+
});
|
331
334
|
|
332
335
|
// Close modal when ESC pressed
|
333
336
|
$(document).keydown(function (e) {
|
334
337
|
if (window.GOVUK.sessionDialog.isDialogOpen() && e.keyCode === 27) {
|
335
338
|
window.GOVUK.sessionDialog.closeDialog();
|
336
339
|
}
|
337
|
-
})
|
340
|
+
});
|
338
341
|
},
|
339
342
|
|
340
343
|
isDialogOpen: function () {
|
341
|
-
return window.GOVUK.sessionDialog.el
|
344
|
+
return window.GOVUK.sessionDialog.el.open;
|
342
345
|
},
|
343
346
|
|
344
347
|
isConfigured: function () {
|
@@ -382,7 +385,7 @@ window.GOVUK.sessionDialog = {
|
|
382
385
|
if (window.GOVUK.sessionDialog.$lastFocusedEl) {
|
383
386
|
window.setTimeout(function () {
|
384
387
|
window.GOVUK.sessionDialog.$lastFocusedEl.focus();
|
385
|
-
}, 0)
|
388
|
+
}, 0);
|
386
389
|
}
|
387
390
|
},
|
388
391
|
|
@@ -405,51 +408,46 @@ window.GOVUK.sessionDialog = {
|
|
405
408
|
},
|
406
409
|
|
407
410
|
numberToWords: function (n) {
|
408
|
-
|
409
|
-
let
|
410
|
-
let
|
411
|
-
let
|
412
|
-
let
|
413
|
-
let
|
414
|
-
let
|
415
|
-
let
|
416
|
-
|
417
|
-
|
418
|
-
let i
|
419
|
-
let word
|
420
|
-
let words = 'and'
|
421
|
-
|
422
|
-
if (parseInt(string) === 0) {
|
411
|
+
const string = n.toString();
|
412
|
+
let start;
|
413
|
+
let end;
|
414
|
+
let chunk;
|
415
|
+
let ints;
|
416
|
+
let i;
|
417
|
+
let word;
|
418
|
+
let words = 'and';
|
419
|
+
|
420
|
+
if (parseInt(string, 10) === 0) {
|
423
421
|
return 'zero';
|
424
422
|
}
|
425
423
|
|
426
424
|
/* Array of units as words */
|
427
|
-
units = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'];
|
425
|
+
const units = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'];
|
428
426
|
|
429
427
|
/* Array of tens as words */
|
430
|
-
tens = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
|
428
|
+
const tens = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
|
431
429
|
|
432
430
|
/* Array of scales as words */
|
433
|
-
scales = ['', 'thousand', 'million', 'billion', 'trillion', 'quadrillion', 'quintillion', 'sextillion', 'septillion', 'octillion', 'nonillion', 'decillion', 'undecillion', 'duodecillion', 'tredecillion', 'quatttuor-decillion', 'quindecillion', 'sexdecillion', 'septen-decillion', 'octodecillion', 'novemdecillion', 'vigintillion', 'centillion'];
|
431
|
+
const scales = ['', 'thousand', 'million', 'billion', 'trillion', 'quadrillion', 'quintillion', 'sextillion', 'septillion', 'octillion', 'nonillion', 'decillion', 'undecillion', 'duodecillion', 'tredecillion', 'quatttuor-decillion', 'quindecillion', 'sexdecillion', 'septen-decillion', 'octodecillion', 'novemdecillion', 'vigintillion', 'centillion'];
|
434
432
|
|
435
433
|
/* Split user arguemnt into 3 digit chunks from right to left */
|
436
434
|
start = string.length;
|
437
|
-
chunks = [];
|
435
|
+
const chunks = [];
|
438
436
|
while (start > 0) {
|
439
437
|
end = start;
|
440
438
|
chunks.push(string.slice((start = Math.max(0, start - 3)), end));
|
441
439
|
}
|
442
440
|
|
443
441
|
/* Check if function has enough scale words to be able to stringify the user argument */
|
444
|
-
chunksLen = chunks.length
|
442
|
+
const chunksLen = chunks.length;
|
445
443
|
if (chunksLen > scales.length) {
|
446
444
|
return '';
|
447
445
|
}
|
448
446
|
|
449
447
|
/* Stringify each integer in each chunk */
|
450
|
-
words = []
|
448
|
+
words = [];
|
451
449
|
for (i = 0; i < chunksLen; i++) {
|
452
|
-
chunk = parseInt(chunks[i]);
|
450
|
+
chunk = parseInt(chunks[i], 10);
|
453
451
|
|
454
452
|
if (chunk) {
|
455
453
|
/* Split chunk into array of individual integers */
|
@@ -461,22 +459,22 @@ window.GOVUK.sessionDialog = {
|
|
461
459
|
}
|
462
460
|
|
463
461
|
/* Add scale word if chunk is not zero and array item exists */
|
464
|
-
if ((word
|
462
|
+
if ((word === scales[i])) {
|
465
463
|
words.push(word);
|
466
464
|
}
|
467
465
|
|
468
466
|
/* Add unit word if array item exists */
|
469
|
-
if ((word
|
467
|
+
if ((word === units[ints[0]])) {
|
470
468
|
words.push(word);
|
471
469
|
}
|
472
470
|
|
473
471
|
/* Add tens word if array item exists */
|
474
|
-
if ((word
|
472
|
+
if ((word === tens[ints[1]])) {
|
475
473
|
words.push(word);
|
476
474
|
}
|
477
475
|
|
478
476
|
/* Add hundreds word if array item exists */
|
479
|
-
if ((word
|
477
|
+
if ((word === units[ints[2]])) {
|
480
478
|
words.push(word + ' hundred');
|
481
479
|
}
|
482
480
|
}
|
@@ -502,7 +500,7 @@ window.GOVUK.sessionDialog = {
|
|
502
500
|
},
|
503
501
|
|
504
502
|
pluralise: function (n, unit) {
|
505
|
-
return n
|
503
|
+
return n === 1 ? unit : unit + 's';
|
506
504
|
},
|
507
505
|
|
508
506
|
numericSpan: function (n, unit) {
|
@@ -518,7 +516,7 @@ window.GOVUK.sessionDialog = {
|
|
518
516
|
countdownAtText: function (minutes, seconds) {
|
519
517
|
const minutesText = window.GOVUK.sessionDialog.timeToWords(minutes, 'minute');
|
520
518
|
const secondsText = window.GOVUK.sessionDialog.timeToWords(seconds, 'second');
|
521
|
-
return minutes > 0 ? minutesText :
|
519
|
+
return minutes > 0 ? minutesText : secondsText;
|
522
520
|
},
|
523
521
|
|
524
522
|
startCountdown: function () {
|
@@ -537,11 +535,8 @@ window.GOVUK.sessionDialog = {
|
|
537
535
|
const timerExpired = secondsUntilSessionTimeout <= window.GOVUK.sessionDialog.secondsFinalWarning;
|
538
536
|
|
539
537
|
if (!timerExpired) {
|
540
|
-
|
541
538
|
const minutesLeft = parseInt(secondsUntilSessionTimeout / 60, 10);
|
542
539
|
const secondsLeft = parseInt(secondsUntilSessionTimeout % 60, 10);
|
543
|
-
|
544
|
-
|
545
540
|
const atMinutesText = window.GOVUK.sessionDialog.timeToWords(minutesLeft, 'minute');
|
546
541
|
const atSecondsText = window.GOVUK.sessionDialog.timeToWords(secondsLeft, 'second');
|
547
542
|
|
@@ -552,14 +547,13 @@ window.GOVUK.sessionDialog = {
|
|
552
547
|
const countdownText = window.GOVUK.sessionDialog.countdownText(minutesLeft, secondsLeft);
|
553
548
|
const text = window.GOVUK.sessionDialog.warningTextPrefix + '<strong>' + countdownText + '</strong>' + window.GOVUK.sessionDialog.warningTextSuffix;
|
554
549
|
const countdownAtText = window.GOVUK.sessionDialog.countdownAtText(atMinutesText, atSecondsText);
|
555
|
-
const atText = window.GOVUK.sessionDialog.warningTextPrefix + countdownAtText + window.GOVUK.sessionDialog.warningTextSuffix
|
550
|
+
const atText = window.GOVUK.sessionDialog.warningTextPrefix + countdownAtText + window.GOVUK.sessionDialog.warningTextSuffix + 'bgbhj ' + window.GOVUK.sessionDialog.warningText;
|
556
551
|
const extraText = '\n' + window.GOVUK.sessionDialog.warningTextExtra;
|
557
552
|
|
558
553
|
$timer.html(text + ' ' + extraText);
|
559
554
|
|
560
555
|
// Update screen reader friendly content every 20 secs
|
561
556
|
if (secondsLeft % 20 === 0) {
|
562
|
-
|
563
557
|
// Read out the extra content only once.
|
564
558
|
// Don't read out on iOS VoiceOver which stalls on the longer text
|
565
559
|
if (!timerRunOnce && !iOS) {
|
@@ -570,9 +564,9 @@ window.GOVUK.sessionDialog = {
|
|
570
564
|
}
|
571
565
|
}
|
572
566
|
|
573
|
-
window.GOVUK.sessionDialog.addTimer(countdown,20);
|
567
|
+
window.GOVUK.sessionDialog.addTimer(countdown, 20);
|
574
568
|
}
|
575
|
-
})()
|
569
|
+
})();
|
576
570
|
},
|
577
571
|
|
578
572
|
// Clears all timers
|
@@ -583,7 +577,7 @@ window.GOVUK.sessionDialog = {
|
|
583
577
|
},
|
584
578
|
|
585
579
|
refreshSession: function () {
|
586
|
-
$.get(
|
580
|
+
$.get('');
|
587
581
|
window.GOVUK.sessionDialog.timeSessionRefreshed = new Date();
|
588
582
|
window.GOVUK.sessionDialog.controller();
|
589
583
|
},
|
@@ -616,20 +610,16 @@ window.GOVUK.sessionDialog = {
|
|
616
610
|
|
617
611
|
const secondsUntilSessionTimeout = window.GOVUK.sessionDialog.secondsUntilSessionTimeout();
|
618
612
|
|
619
|
-
//timed out - redirect
|
620
613
|
if (secondsUntilSessionTimeout <= 0) {
|
614
|
+
// timed out - redirect
|
621
615
|
window.GOVUK.sessionDialog.redirect();
|
622
|
-
}
|
623
|
-
|
624
|
-
//timeout warning - show countdown and schedule redirect
|
625
|
-
else if (secondsUntilSessionTimeout <= window.GOVUK.sessionDialog.secondsTimeoutWarning) {
|
616
|
+
} else if (secondsUntilSessionTimeout <= window.GOVUK.sessionDialog.secondsTimeoutWarning) {
|
617
|
+
// timeout warning - show countdown and schedule redirect
|
626
618
|
window.GOVUK.sessionDialog.openDialog();
|
627
619
|
window.GOVUK.sessionDialog.startCountdown();
|
628
|
-
window.GOVUK.sessionDialog.addTimer(window.GOVUK.sessionDialog.controller,window.GOVUK.sessionDialog.secondsUntilSessionTimeout());
|
629
|
-
}
|
630
|
-
|
631
|
-
//wait for warning
|
632
|
-
else {
|
620
|
+
window.GOVUK.sessionDialog.addTimer(window.GOVUK.sessionDialog.controller, window.GOVUK.sessionDialog.secondsUntilSessionTimeout());
|
621
|
+
} else {
|
622
|
+
// wait for warning
|
633
623
|
window.GOVUK.sessionDialog.addTimer(window.GOVUK.sessionDialog.controller, window.GOVUK.sessionDialog.secondsUntilTimeoutWarning());
|
634
624
|
}
|
635
625
|
},
|
@@ -641,9 +631,7 @@ window.GOVUK.sessionDialog = {
|
|
641
631
|
window.GOVUK.sessionDialog.controller();
|
642
632
|
}
|
643
633
|
}
|
644
|
-
}
|
645
|
-
|
646
|
-
window.GOVUK = GOVUK;
|
634
|
+
};
|
647
635
|
|
648
636
|
},{"jquery":14}],5:[function(require,module,exports){
|
649
637
|
const skipToMain = function () {
|