hof 22.0.0-timeout-warning-beta.1 → 22.0.0-timeout-warning-beta.3

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/model/index.js CHANGED
@@ -2,10 +2,10 @@
2
2
  'use strict';
3
3
 
4
4
  const _ = require('lodash');
5
- const request = require('request');
5
+ const axios = require('axios').default;
6
6
  const url = require('url');
7
7
  const EventEmitter = require('events').EventEmitter;
8
-
8
+ const axiosSetting = require('./apis/axios-settings');
9
9
  const REFERENCE = /^\$ref:/;
10
10
 
11
11
  function timeDiff(from, to, d) {
@@ -27,10 +27,10 @@ module.exports = class Model extends EventEmitter {
27
27
  this.set(attributes, {
28
28
  silent: true
29
29
  });
30
- this._request = request;
30
+ this._request = axios;
31
31
  }
32
32
 
33
- save(options, callback) {
33
+ async save(options, callback) {
34
34
  if (typeof options === 'function' && arguments.length === 1) {
35
35
  callback = options;
36
36
  options = {};
@@ -38,21 +38,18 @@ module.exports = class Model extends EventEmitter {
38
38
  options = {};
39
39
  }
40
40
 
41
- return this.prepare().then(data => {
42
- data = JSON.stringify(data);
43
- const reqConf = this.requestConfig(options);
44
- reqConf.method = options.method || 'POST';
45
-
46
- reqConf.headers = Object.assign({
47
- 'Content-Type': 'application/json',
48
- 'Content-Length': Buffer.byteLength(data)
49
- }, reqConf.headers || {});
50
-
51
- return this.request(reqConf, data, callback);
52
- });
41
+ let data = await this.prepare();
42
+ data = JSON.stringify(data);
43
+ const reqConf = this.requestConfig(options);
44
+ reqConf.method = options.method || 'POST';
45
+ reqConf.headers = Object.assign({
46
+ 'Content-Type': 'application/json',
47
+ 'Content-Length': Buffer.byteLength(data)
48
+ }, reqConf.headers || {});
49
+ return await this.request(reqConf, data, callback);
53
50
  }
54
51
 
55
- fetch(options, callback) {
52
+ async fetch(options, callback) {
56
53
  if (typeof options === 'function' && arguments.length === 1) {
57
54
  callback = options;
58
55
  options = {};
@@ -61,10 +58,10 @@ module.exports = class Model extends EventEmitter {
61
58
  }
62
59
  const reqConf = this.requestConfig(options);
63
60
  reqConf.method = options.method || 'GET';
64
- return this.request(reqConf, callback);
61
+ return await this.request(reqConf, callback);
65
62
  }
66
63
 
67
- delete(options, callback) {
64
+ async delete(options, callback) {
68
65
  if (typeof options === 'function' && arguments.length === 1) {
69
66
  callback = options;
70
67
  options = {};
@@ -73,7 +70,7 @@ module.exports = class Model extends EventEmitter {
73
70
  }
74
71
  const reqConf = this.requestConfig(options);
75
72
  reqConf.method = options.method || 'DELETE';
76
- return this.request(reqConf, callback);
73
+ return await this.request(reqConf, callback);
77
74
  }
78
75
 
79
76
  requestConfig(options) {
@@ -86,7 +83,7 @@ module.exports = class Model extends EventEmitter {
86
83
  });
87
84
  }
88
85
 
89
- request(originalSettings, body, callback) {
86
+ async request(originalSettings, body, callback) {
90
87
  if (typeof body === 'function' && arguments.length === 2) {
91
88
  callback = body;
92
89
  body = undefined;
@@ -94,96 +91,114 @@ module.exports = class Model extends EventEmitter {
94
91
 
95
92
  let settings = Object.assign({}, originalSettings);
96
93
  settings.timeout = settings.timeout || this.options.timeout;
97
- settings.uri = settings.uri || settings.url || url.format(settings);
98
- settings.body = settings.body || body || settings.data;
99
-
100
- settings = _.omit(settings, urlKeys, 'data', 'url');
94
+ settings = axiosSetting(settings, body);
95
+ settings = _.omit(settings, urlKeys);
101
96
  this.emit('sync', originalSettings);
102
97
 
103
- const promise = Promise.resolve().then(() => this.auth()).then(authData => {
104
- settings.auth = authData;
105
- if (typeof settings.auth === 'string') {
106
- const auth = settings.auth.split(':');
107
- settings.auth = {
108
- user: auth.shift(),
109
- pass: auth.join(':'),
98
+ try {
99
+ const authData = await this.auth();
100
+ let authVal = authData;
101
+ if (typeof authVal === 'string') {
102
+ const [user, ...rest] = authVal.split(':');
103
+ authVal = {
104
+ user,
105
+ pass: rest.join(':'),
110
106
  sendImmediately: true
111
107
  };
112
108
  }
113
- })
114
- .then(() => {
115
- const startTime = process.hrtime();
116
- let timeoutTimer;
117
-
118
- return new Promise((resolve, reject) => {
119
- const _callback = (err, data, statusCode) => {
120
- if (timeoutTimer) {
121
- clearTimeout(timeoutTimer);
122
- timeoutTimer = null;
123
- }
109
+ if (authVal) {
110
+ settings.headers = {
111
+ ...settings.headers,
112
+ Authorization: `Bearer ${authVal.bearer}`
113
+ };
114
+ }
124
115
 
125
- const endTime = process.hrtime();
126
- const responseTime = timeDiff(startTime, endTime);
116
+ const startTime = process.hrtime();
117
+ let timeoutTimer;
127
118
 
128
- if (err) {
129
- this.emit('fail', err, data, originalSettings, statusCode, responseTime);
130
- } else {
131
- this.emit('success', data, originalSettings, statusCode, responseTime);
132
- }
133
- if (err) {
134
- reject(err);
135
- } else {
136
- resolve(data);
137
- }
138
- };
139
-
140
- this._request(settings, (err, response) => {
141
- if (err) {
142
- if (err.code === 'ETIMEDOUT' || err.code === 'ESOCKETTIMEDOUT') {
143
- err.message = 'Connection timed out';
144
- err.status = 504;
145
- }
146
- err.status = err.status || (response && response.statusCode) || 503;
147
- return _callback(err, null, err.status);
148
- }
149
- return this.handleResponse(response, (error, data, status) => {
150
- if (error) {
119
+ if (timeoutTimer) {
120
+ clearTimeout(timeoutTimer);
121
+ timeoutTimer = null;
122
+ }
123
+
124
+ const data = await new Promise((resolve, reject) => {
125
+ const _callback = (err, responseData, statusCode) => {
126
+ if (timeoutTimer) {
127
+ clearTimeout(timeoutTimer);
128
+ timeoutTimer = null;
129
+ }
130
+
131
+ const endTime = process.hrtime();
132
+ const responseTime = timeDiff(startTime, endTime);
133
+ if (err) {
134
+ this.emit('fail', err, responseData, originalSettings, statusCode, responseTime);
135
+ reject(err);
136
+ } else {
137
+ this.emit('success', responseData, originalSettings, statusCode, responseTime);
138
+ resolve(responseData);
139
+ }
140
+ };
141
+
142
+ this._request(settings)
143
+ .then(response => {
144
+ return this.handleResponse(response)
145
+ .then(responseData => _callback(null, responseData, response.status))
146
+ .catch(error => {
151
147
  error.headers = response.headers;
152
- }
153
- _callback(error, data, status);
154
- });
148
+ _callback(error, null, response.status);
149
+ });
150
+ })
151
+ .catch(err => {
152
+ if (err.code === 'ETIMEDOUT' || err.code === 'ESOCKETTIMEDOUT') {
153
+ err.message = 'Connection timed out';
154
+ err.status = 504;
155
+ }
156
+ err.status = err.status || 503;
157
+ return _callback(err, null, err.status);
155
158
  });
156
- });
157
159
  });
158
160
 
159
- if (typeof callback === 'function') {
160
- return promise.then(data => callback(null, data), callback);
161
+ if (typeof callback === 'function') {
162
+ callback(null, data);
163
+ }
164
+ return data;
165
+ } catch (error) {
166
+ if (typeof callback === 'function') {
167
+ callback(error);
168
+ }
169
+ return error;
161
170
  }
162
- return promise;
163
171
  }
164
172
 
165
- handleResponse(response, callback) {
166
- let data = {};
173
+ async handleResponse(response) {
174
+ let data = null;
167
175
  try {
168
- data = JSON.parse(response.body || '{}');
176
+ if (typeof response.data === 'object') {
177
+ data = response.data;
178
+ } else if (typeof response.data === 'string' && response.data.trim() !== '') {
179
+ data = JSON.parse(response.data);
180
+ } else {
181
+ data = {};
182
+ }
169
183
  } catch (err) {
170
- err.status = response.statusCode;
171
- err.body = response.body;
172
- return callback(err, null, response.statusCode);
184
+ err.message = 'Failed to parse response data';
185
+ err.status = response.status;
186
+ err.body = response.data;
187
+ throw err;
173
188
  }
174
- return this.parseResponse(response.statusCode, data, callback);
189
+ return await this.parseResponse(response.status, data);
175
190
  }
176
191
 
177
- parseResponse(statusCode, data, callback) {
192
+ async parseResponse(statusCode, data) {
178
193
  if (statusCode < 400) {
179
194
  try {
180
- data = this.parse(data);
181
- callback(null, data, statusCode);
195
+ data = await this.parse(data);
196
+ return data;
182
197
  } catch (err) {
183
- callback(err, null, statusCode);
198
+ throw err;
184
199
  }
185
200
  } else {
186
- callback(this.parseError(statusCode, data), data, statusCode);
201
+ throw this.parseError(statusCode, data);
187
202
  }
188
203
  }
189
204
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hof",
3
3
  "description": "A bootstrap for HOF projects",
4
- "version": "22.0.0-timeout-warning-beta.1",
4
+ "version": "22.0.0-timeout-warning-beta.3",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
7
7
  "author": "HomeOffice",
@@ -21,13 +21,13 @@
21
21
  "url": "https://github.com/UKHomeOfficeForms/hof/issues"
22
22
  },
23
23
  "scripts": {
24
- "test": "yarn run unit && yarn run test:cookie-banner && yarn run test:functional && yarn run test:client && yarn run test:lint",
24
+ "test": "yarn run unit && yarn run test:jest && yarn run test:functional && yarn run test:client && yarn run test:lint",
25
25
  "unit": "LOG_LEVEL=error nyc _mocha \"test/**/*.spec.js\" \"sandbox/test/**/*.spec.js\"",
26
26
  "unit:nocov": "LOG_LEVEL=error mocha \"test/**/*.spec.js\" \"sandbox/test/**/*.spec.js\"",
27
27
  "test:lint": "eslint . --config ./node_modules/eslint-config-hof/default.js",
28
28
  "test:functional": "funkie mocha ./test/functional-tests --timeout 20000 --exit",
29
29
  "test:client": "karma start test/frontend/toolkit/karma.conf.js",
30
- "test:cookie-banner": "jest test/frontend/jest",
30
+ "test:jest": "jest test/frontend/jest",
31
31
  "test:acceptance": "TAGS=\"${TAGS:=@feature}\" yarn run test:cucumber",
32
32
  "test:acceptance_browser": "ACCEPTANCE_WITH_BROWSER=true TAGS=\"${TAGS:=@feature}\" yarn run test:cucumber",
33
33
  "test:cucumber": "cucumber-js -f @cucumber/pretty-formatter \"sandbox/test/_features/**/*.feature\" --require sandbox/test/_features/test.setup.js --require \"sandbox/test/_features/step_definitions/**/*.js\" --tags $TAGS",
@@ -36,6 +36,7 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "aliasify": "^2.1.0",
39
+ "axios": "^1.5.1",
39
40
  "bluebird": "^3.7.2",
40
41
  "body-parser": "^1.15.1",
41
42
  "browserify": "^17.0.0",
@@ -83,7 +84,6 @@
83
84
  "notifications-node-client": "^6.0.0",
84
85
  "redis": "^3.1.2",
85
86
  "reqres": "^3.0.1",
86
- "request": "^2.79.0",
87
87
  "rimraf": "^3.0.2",
88
88
  "sass": "^1.56.2",
89
89
  "serve-static": "^1.14.1",
@@ -286,7 +286,6 @@ var skipToMain = require('./skip-to-main');
286
286
  var cookie = require('./govuk-cookies');
287
287
  var cookieSettings = require('./cookieSettings');
288
288
  var sessionDialog = require('./session-timeout-dialog');
289
- GOVUK.sessionDialog.init();
290
289
 
291
290
  toolkit.detailsSummary();
292
291
 
@@ -299,6 +298,9 @@ helpers.documentReady(characterCount);
299
298
  helpers.documentReady(validation);
300
299
 
301
300
  },{"../../../toolkit":12,"./cookieSettings":1,"./govuk-cookies":2,"./session-timeout-dialog":4,"./skip-to-main":5,"govuk-frontend":13}],4:[function(require,module,exports){
301
+ /* eslint max-len: 0 */
302
+ 'use strict';
303
+
302
304
  const $ = require('jquery');
303
305
 
304
306
  // Modal dialog prototype
@@ -318,8 +320,8 @@ window.GOVUK.sessionDialog = {
318
320
  $timer: $('#js-modal-dialog .timer'),
319
321
  $accessibleTimer: $('#js-modal-dialog .at-timer'),
320
322
 
321
- secondsSessionTimeout: parseInt($('#js-modal-dialog').data('session-timeout') || 1800),
322
- secondsTimeoutWarning: parseInt($('#js-modal-dialog').data('session-timeout-warning') || 300),
323
+ secondsSessionTimeout: parseInt($('#js-modal-dialog').data('session-timeout'), 10 || 1800),
324
+ secondsTimeoutWarning: parseInt($('#js-modal-dialog').data('session-timeout-warning'), 10 || 300),
323
325
  timeoutRedirectUrl: $('#js-modal-dialog').data('url-redirect'),
324
326
  timeSessionRefreshed: new Date(),
325
327
 
@@ -327,18 +329,18 @@ window.GOVUK.sessionDialog = {
327
329
  window.GOVUK.sessionDialog.$closeButton.on('click', function (e) {
328
330
  e.preventDefault();
329
331
  window.GOVUK.sessionDialog.closeDialog();
330
- })
332
+ });
331
333
 
332
334
  // Close modal when ESC pressed
333
335
  $(document).keydown(function (e) {
334
336
  if (window.GOVUK.sessionDialog.isDialogOpen() && e.keyCode === 27) {
335
337
  window.GOVUK.sessionDialog.closeDialog();
336
338
  }
337
- })
339
+ });
338
340
  },
339
341
 
340
342
  isDialogOpen: function () {
341
- return window.GOVUK.sessionDialog.el['open'];
343
+ return window.GOVUK.sessionDialog.el && window.GOVUK.sessionDialog.el.open;
342
344
  },
343
345
 
344
346
  isConfigured: function () {
@@ -355,6 +357,8 @@ window.GOVUK.sessionDialog = {
355
357
  window.GOVUK.sessionDialog.saveLastFocusedEl();
356
358
  window.GOVUK.sessionDialog.makePageContentInert();
357
359
  window.GOVUK.sessionDialog.el.showModal();
360
+ window.GOVUK.sessionDialog.el.open = true;
361
+ console.log(window.GOVUK.sessionDialog.el)
358
362
  }
359
363
  },
360
364
 
@@ -362,6 +366,8 @@ window.GOVUK.sessionDialog = {
362
366
  if (window.GOVUK.sessionDialog.isDialogOpen()) {
363
367
  $('html, body').removeClass(window.GOVUK.sessionDialog.dialogIsOpenClass);
364
368
  window.GOVUK.sessionDialog.el.close();
369
+ window.GOVUK.sessionDialog.el.open = false;
370
+ console.log(window.GOVUK.sessionDialog.el)
365
371
  window.GOVUK.sessionDialog.setFocusOnLastFocusedEl();
366
372
  window.GOVUK.sessionDialog.removeInertFromPageContent();
367
373
  window.GOVUK.sessionDialog.refreshSession();
@@ -382,7 +388,7 @@ window.GOVUK.sessionDialog = {
382
388
  if (window.GOVUK.sessionDialog.$lastFocusedEl) {
383
389
  window.setTimeout(function () {
384
390
  window.GOVUK.sessionDialog.$lastFocusedEl.focus();
385
- }, 0)
391
+ }, 0);
386
392
  }
387
393
  },
388
394
 
@@ -405,51 +411,46 @@ window.GOVUK.sessionDialog = {
405
411
  },
406
412
 
407
413
  numberToWords: function (n) {
408
- let string = n.toString()
409
- let units
410
- let tens
411
- let scales
412
- let start
413
- let end
414
- let chunks
415
- let chunksLen
416
- let chunk
417
- let ints
418
- let i
419
- let word
420
- let words = 'and'
421
-
422
- if (parseInt(string) === 0) {
414
+ const string = n.toString();
415
+ let start;
416
+ let end;
417
+ let chunk;
418
+ let ints;
419
+ let i;
420
+ let word;
421
+ let words = 'and';
422
+
423
+ if (parseInt(string, 10) === 0) {
423
424
  return 'zero';
424
425
  }
425
426
 
426
427
  /* 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'];
428
+ const units = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'];
428
429
 
429
430
  /* Array of tens as words */
430
- tens = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
431
+ const tens = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
431
432
 
432
433
  /* 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'];
434
+ 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
435
 
435
- /* Split user arguemnt into 3 digit chunks from right to left */
436
+ /* Split user argument into 3 digit chunks from right to left */
436
437
  start = string.length;
437
- chunks = [];
438
+ const chunks = [];
438
439
  while (start > 0) {
439
440
  end = start;
440
441
  chunks.push(string.slice((start = Math.max(0, start - 3)), end));
441
442
  }
442
443
 
443
444
  /* Check if function has enough scale words to be able to stringify the user argument */
444
- chunksLen = chunks.length
445
+ const chunksLen = chunks.length;
445
446
  if (chunksLen > scales.length) {
446
447
  return '';
447
448
  }
448
449
 
449
450
  /* Stringify each integer in each chunk */
450
- words = []
451
+ words = [];
451
452
  for (i = 0; i < chunksLen; i++) {
452
- chunk = parseInt(chunks[i]);
453
+ chunk = parseInt(chunks[i], 10);
453
454
 
454
455
  if (chunk) {
455
456
  /* Split chunk into array of individual integers */
@@ -461,22 +462,22 @@ window.GOVUK.sessionDialog = {
461
462
  }
462
463
 
463
464
  /* Add scale word if chunk is not zero and array item exists */
464
- if ((word = scales[i])) {
465
+ if ((word === scales[i])) {
465
466
  words.push(word);
466
467
  }
467
468
 
468
469
  /* Add unit word if array item exists */
469
- if ((word = units[ints[0]])) {
470
+ if ((word === units[ints[0]])) {
470
471
  words.push(word);
471
472
  }
472
473
 
473
474
  /* Add tens word if array item exists */
474
- if ((word = tens[ints[1]])) {
475
+ if ((word === tens[ints[1]])) {
475
476
  words.push(word);
476
477
  }
477
478
 
478
479
  /* Add hundreds word if array item exists */
479
- if ((word = units[ints[2]])) {
480
+ if ((word === units[ints[2]])) {
480
481
  words.push(word + ' hundred');
481
482
  }
482
483
  }
@@ -502,7 +503,7 @@ window.GOVUK.sessionDialog = {
502
503
  },
503
504
 
504
505
  pluralise: function (n, unit) {
505
- return n == 1 ? unit : unit + 's';
506
+ return n === 1 ? unit : unit + 's';
506
507
  },
507
508
 
508
509
  numericSpan: function (n, unit) {
@@ -518,7 +519,7 @@ window.GOVUK.sessionDialog = {
518
519
  countdownAtText: function (minutes, seconds) {
519
520
  const minutesText = window.GOVUK.sessionDialog.timeToWords(minutes, 'minute');
520
521
  const secondsText = window.GOVUK.sessionDialog.timeToWords(seconds, 'second');
521
- return minutes > 0 ? minutesText : secondsText;
522
+ return minutes > 0 ? minutesText : secondsText;
522
523
  },
523
524
 
524
525
  startCountdown: function () {
@@ -537,11 +538,8 @@ window.GOVUK.sessionDialog = {
537
538
  const timerExpired = secondsUntilSessionTimeout <= window.GOVUK.sessionDialog.secondsFinalWarning;
538
539
 
539
540
  if (!timerExpired) {
540
-
541
541
  const minutesLeft = parseInt(secondsUntilSessionTimeout / 60, 10);
542
542
  const secondsLeft = parseInt(secondsUntilSessionTimeout % 60, 10);
543
-
544
-
545
543
  const atMinutesText = window.GOVUK.sessionDialog.timeToWords(minutesLeft, 'minute');
546
544
  const atSecondsText = window.GOVUK.sessionDialog.timeToWords(secondsLeft, 'second');
547
545
 
@@ -552,14 +550,13 @@ window.GOVUK.sessionDialog = {
552
550
  const countdownText = window.GOVUK.sessionDialog.countdownText(minutesLeft, secondsLeft);
553
551
  const text = window.GOVUK.sessionDialog.warningTextPrefix + '<strong>' + countdownText + '</strong>' + window.GOVUK.sessionDialog.warningTextSuffix;
554
552
  const countdownAtText = window.GOVUK.sessionDialog.countdownAtText(atMinutesText, atSecondsText);
555
- const atText = window.GOVUK.sessionDialog.warningTextPrefix + countdownAtText + window.GOVUK.sessionDialog.warningTextSuffix + 'bgbhj ' + window.GOVUK.sessionDialog.warningText;
553
+ const atText = window.GOVUK.sessionDialog.warningTextPrefix + countdownAtText + window.GOVUK.sessionDialog.warningTextSuffix + 'bgbhj ' + window.GOVUK.sessionDialog.warningText;
556
554
  const extraText = '\n' + window.GOVUK.sessionDialog.warningTextExtra;
557
555
 
558
556
  $timer.html(text + ' ' + extraText);
559
557
 
560
558
  // Update screen reader friendly content every 20 secs
561
559
  if (secondsLeft % 20 === 0) {
562
-
563
560
  // Read out the extra content only once.
564
561
  // Don't read out on iOS VoiceOver which stalls on the longer text
565
562
  if (!timerRunOnce && !iOS) {
@@ -570,9 +567,9 @@ window.GOVUK.sessionDialog = {
570
567
  }
571
568
  }
572
569
 
573
- window.GOVUK.sessionDialog.addTimer(countdown,20);
570
+ window.GOVUK.sessionDialog.addTimer(countdown, 20);
574
571
  }
575
- })()
572
+ })();
576
573
  },
577
574
 
578
575
  // Clears all timers
@@ -583,7 +580,7 @@ window.GOVUK.sessionDialog = {
583
580
  },
584
581
 
585
582
  refreshSession: function () {
586
- $.get("");
583
+ $.get('');
587
584
  window.GOVUK.sessionDialog.timeSessionRefreshed = new Date();
588
585
  window.GOVUK.sessionDialog.controller();
589
586
  },
@@ -616,20 +613,16 @@ window.GOVUK.sessionDialog = {
616
613
 
617
614
  const secondsUntilSessionTimeout = window.GOVUK.sessionDialog.secondsUntilSessionTimeout();
618
615
 
619
- //timed out - redirect
620
616
  if (secondsUntilSessionTimeout <= 0) {
617
+ // timed out - redirect
621
618
  window.GOVUK.sessionDialog.redirect();
622
- }
623
-
624
- //timeout warning - show countdown and schedule redirect
625
- else if (secondsUntilSessionTimeout <= window.GOVUK.sessionDialog.secondsTimeoutWarning) {
619
+ } else if (secondsUntilSessionTimeout <= window.GOVUK.sessionDialog.secondsTimeoutWarning) {
620
+ // timeout warning - show countdown and schedule redirect
626
621
  window.GOVUK.sessionDialog.openDialog();
627
622
  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 {
623
+ window.GOVUK.sessionDialog.addTimer(window.GOVUK.sessionDialog.controller, window.GOVUK.sessionDialog.secondsUntilSessionTimeout());
624
+ } else {
625
+ // wait for warning
633
626
  window.GOVUK.sessionDialog.addTimer(window.GOVUK.sessionDialog.controller, window.GOVUK.sessionDialog.secondsUntilTimeoutWarning());
634
627
  }
635
628
  },
@@ -641,9 +634,8 @@ window.GOVUK.sessionDialog = {
641
634
  window.GOVUK.sessionDialog.controller();
642
635
  }
643
636
  }
644
- }
645
-
646
- window.GOVUK = GOVUK;
637
+ };
638
+ window.GOVUK.sessionDialog.init();
647
639
 
648
640
  },{"jquery":14}],5:[function(require,module,exports){
649
641
  const skipToMain = function () {