@comicrelief/storybook 1.30.2 → 1.30.4

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.
Files changed (50) hide show
  1. package/build/index.js +1 -1
  2. package/coverage/clover.xml +177 -0
  3. package/coverage/coverage-final.json +9 -0
  4. package/coverage/lcov-report/base.css +212 -0
  5. package/coverage/lcov-report/index.html +125 -0
  6. package/coverage/lcov-report/prettify.css +1 -0
  7. package/coverage/lcov-report/prettify.js +1 -0
  8. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  9. package/coverage/lcov-report/sorter.js +158 -0
  10. package/coverage/lcov-report/src/components/FileUp/FileUp.js.html +543 -0
  11. package/coverage/lcov-report/src/components/FileUp/index.html +73 -0
  12. package/coverage/lcov-report/src/components/FileUp/src/service/S3FileUploadService.js.html +177 -0
  13. package/coverage/lcov-report/src/components/FileUp/src/service/index.html +73 -0
  14. package/coverage/lcov-report/src/components/SchoolsLookUp/SchoolsLookUp.js.html +1725 -0
  15. package/coverage/lcov-report/src/components/SchoolsLookUp/index.html +73 -0
  16. package/coverage/lcov-report/src/utils/index.html +73 -0
  17. package/coverage/lcov-report/src/utils/newid.js.html +63 -0
  18. package/coverage/lcov-report/tests/mocks/enzyme.js.html +69 -0
  19. package/coverage/lcov-report/tests/mocks/fileMock.js.html +48 -0
  20. package/coverage/lcov-report/tests/mocks/index.html +112 -0
  21. package/coverage/lcov-report/tests/mocks/shim.js.html +54 -0
  22. package/coverage/lcov-report/tests/mocks/styleMock.js.html +48 -0
  23. package/coverage/lcov.info +400 -0
  24. package/cypress/snapshots/All Specs/__diff_output__/Browser Support message -- should load default story.diff.png +0 -0
  25. package/cypress/snapshots/All Specs/__diff_output__/Checkbox Field -- should click checkbox.diff.png +0 -0
  26. package/cypress/snapshots/All Specs/__diff_output__/Checkbox Field -- should load default story.diff.png +0 -0
  27. package/cypress/snapshots/All Specs/__diff_output__/Cookie Consent Message -- should load default story.diff.png +0 -0
  28. package/cypress/snapshots/All Specs/__diff_output__/File Upload -- should load default story.diff.png +0 -0
  29. package/package.json +1 -1
  30. package/src/components/PostcodeLookup/PostcodeLookup.js +6 -1
  31. package/cypress/snapshots/All Specs/__diff_output__/Grants Infographics -- should load default story.diff.png +0 -0
  32. package/cypress/snapshots/All Specs/__diff_output__/Input Field -- should load Checkbox story.diff.png +0 -0
  33. package/cypress/snapshots/All Specs/__diff_output__/Input Field -- should load Email Field story.diff.png +0 -0
  34. package/cypress/snapshots/All Specs/__diff_output__/Input Field -- should load Number Field story.diff.png +0 -0
  35. package/cypress/snapshots/All Specs/__diff_output__/Input Field -- should load Number Field with all props possible story.diff.png +0 -0
  36. package/cypress/snapshots/All Specs/__diff_output__/Input Field -- should load Optional text Field with only required props story.diff.png +0 -0
  37. package/cypress/snapshots/All Specs/__diff_output__/Input Field -- should load Telephone Field story.diff.png +0 -0
  38. package/cypress/snapshots/All Specs/__diff_output__/Input Field -- should load Text Field story.diff.png +0 -0
  39. package/cypress/snapshots/All Specs/__diff_output__/Input Field -- should load Text Field with inline button story.diff.png +0 -0
  40. package/cypress/snapshots/All Specs/__diff_output__/Just In Time Message -- should load default story.diff.png +0 -0
  41. package/cypress/snapshots/All Specs/__diff_output__/Marketing Consent -- should load default story.diff.png +0 -0
  42. package/cypress/snapshots/All Specs/__diff_output__/Postcode Lookup -- should load default story.diff.png +0 -0
  43. package/cypress/snapshots/All Specs/__diff_output__/Postcode Lookup -- should load results.diff.png +0 -0
  44. package/cypress/snapshots/All Specs/__diff_output__/Radio Buttons -- should load default story.diff.png +0 -0
  45. package/cypress/snapshots/All Specs/__diff_output__/Schools Lookup -- should load EDCO selected school story.diff.png +0 -0
  46. package/cypress/snapshots/All Specs/__diff_output__/Schools Lookup -- should load manual fields errors story.diff.png +0 -0
  47. package/cypress/snapshots/All Specs/__diff_output__/Schools Lookup -- should load manually entered school story.diff.png +0 -0
  48. package/cypress/snapshots/All Specs/__diff_output__/Schools Lookup -- should load nothing is selected story.diff.png +0 -0
  49. package/cypress/snapshots/All Specs/__diff_output__/Schools Lookup -- should load results.diff.png +0 -0
  50. package/yarn-error.log +0 -15344
@@ -0,0 +1,1725 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>Code coverage report for src/components/SchoolsLookUp/SchoolsLookUp.js</title>
5
+ <meta charset="utf-8" />
6
+ <link rel="stylesheet" href="../../../prettify.css" />
7
+ <link rel="stylesheet" href="../../../base.css" />
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+ <style type='text/css'>
10
+ .coverage-summary .sorter {
11
+ background-image: url(../../../sort-arrow-sprite.png);
12
+ }
13
+ </style>
14
+ </head>
15
+ <body>
16
+ <div class='wrapper'>
17
+ <div class='pad1'>
18
+ <h1>
19
+ <a href="../../../index.html">All files</a> / <a href="index.html">src/components/SchoolsLookUp</a> SchoolsLookUp.js
20
+ </h1>
21
+ <div class='clearfix'>
22
+ </div>
23
+ </div>
24
+ <div class='status-line medium'></div>
25
+ <pre><table class="coverage">
26
+ <tr><td class="line-count quiet">1
27
+ 2
28
+ 3
29
+ 4
30
+ 5
31
+ 6
32
+ 7
33
+ 8
34
+ 9
35
+ 10
36
+ 11
37
+ 12
38
+ 13
39
+ 14
40
+ 15
41
+ 16
42
+ 17
43
+ 18
44
+ 19
45
+ 20
46
+ 21
47
+ 22
48
+ 23
49
+ 24
50
+ 25
51
+ 26
52
+ 27
53
+ 28
54
+ 29
55
+ 30
56
+ 31
57
+ 32
58
+ 33
59
+ 34
60
+ 35
61
+ 36
62
+ 37
63
+ 38
64
+ 39
65
+ 40
66
+ 41
67
+ 42
68
+ 43
69
+ 44
70
+ 45
71
+ 46
72
+ 47
73
+ 48
74
+ 49
75
+ 50
76
+ 51
77
+ 52
78
+ 53
79
+ 54
80
+ 55
81
+ 56
82
+ 57
83
+ 58
84
+ 59
85
+ 60
86
+ 61
87
+ 62
88
+ 63
89
+ 64
90
+ 65
91
+ 66
92
+ 67
93
+ 68
94
+ 69
95
+ 70
96
+ 71
97
+ 72
98
+ 73
99
+ 74
100
+ 75
101
+ 76
102
+ 77
103
+ 78
104
+ 79
105
+ 80
106
+ 81
107
+ 82
108
+ 83
109
+ 84
110
+ 85
111
+ 86
112
+ 87
113
+ 88
114
+ 89
115
+ 90
116
+ 91
117
+ 92
118
+ 93
119
+ 94
120
+ 95
121
+ 96
122
+ 97
123
+ 98
124
+ 99
125
+ 100
126
+ 101
127
+ 102
128
+ 103
129
+ 104
130
+ 105
131
+ 106
132
+ 107
133
+ 108
134
+ 109
135
+ 110
136
+ 111
137
+ 112
138
+ 113
139
+ 114
140
+ 115
141
+ 116
142
+ 117
143
+ 118
144
+ 119
145
+ 120
146
+ 121
147
+ 122
148
+ 123
149
+ 124
150
+ 125
151
+ 126
152
+ 127
153
+ 128
154
+ 129
155
+ 130
156
+ 131
157
+ 132
158
+ 133
159
+ 134
160
+ 135
161
+ 136
162
+ 137
163
+ 138
164
+ 139
165
+ 140
166
+ 141
167
+ 142
168
+ 143
169
+ 144
170
+ 145
171
+ 146
172
+ 147
173
+ 148
174
+ 149
175
+ 150
176
+ 151
177
+ 152
178
+ 153
179
+ 154
180
+ 155
181
+ 156
182
+ 157
183
+ 158
184
+ 159
185
+ 160
186
+ 161
187
+ 162
188
+ 163
189
+ 164
190
+ 165
191
+ 166
192
+ 167
193
+ 168
194
+ 169
195
+ 170
196
+ 171
197
+ 172
198
+ 173
199
+ 174
200
+ 175
201
+ 176
202
+ 177
203
+ 178
204
+ 179
205
+ 180
206
+ 181
207
+ 182
208
+ 183
209
+ 184
210
+ 185
211
+ 186
212
+ 187
213
+ 188
214
+ 189
215
+ 190
216
+ 191
217
+ 192
218
+ 193
219
+ 194
220
+ 195
221
+ 196
222
+ 197
223
+ 198
224
+ 199
225
+ 200
226
+ 201
227
+ 202
228
+ 203
229
+ 204
230
+ 205
231
+ 206
232
+ 207
233
+ 208
234
+ 209
235
+ 210
236
+ 211
237
+ 212
238
+ 213
239
+ 214
240
+ 215
241
+ 216
242
+ 217
243
+ 218
244
+ 219
245
+ 220
246
+ 221
247
+ 222
248
+ 223
249
+ 224
250
+ 225
251
+ 226
252
+ 227
253
+ 228
254
+ 229
255
+ 230
256
+ 231
257
+ 232
258
+ 233
259
+ 234
260
+ 235
261
+ 236
262
+ 237
263
+ 238
264
+ 239
265
+ 240
266
+ 241
267
+ 242
268
+ 243
269
+ 244
270
+ 245
271
+ 246
272
+ 247
273
+ 248
274
+ 249
275
+ 250
276
+ 251
277
+ 252
278
+ 253
279
+ 254
280
+ 255
281
+ 256
282
+ 257
283
+ 258
284
+ 259
285
+ 260
286
+ 261
287
+ 262
288
+ 263
289
+ 264
290
+ 265
291
+ 266
292
+ 267
293
+ 268
294
+ 269
295
+ 270
296
+ 271
297
+ 272
298
+ 273
299
+ 274
300
+ 275
301
+ 276
302
+ 277
303
+ 278
304
+ 279
305
+ 280
306
+ 281
307
+ 282
308
+ 283
309
+ 284
310
+ 285
311
+ 286
312
+ 287
313
+ 288
314
+ 289
315
+ 290
316
+ 291
317
+ 292
318
+ 293
319
+ 294
320
+ 295
321
+ 296
322
+ 297
323
+ 298
324
+ 299
325
+ 300
326
+ 301
327
+ 302
328
+ 303
329
+ 304
330
+ 305
331
+ 306
332
+ 307
333
+ 308
334
+ 309
335
+ 310
336
+ 311
337
+ 312
338
+ 313
339
+ 314
340
+ 315
341
+ 316
342
+ 317
343
+ 318
344
+ 319
345
+ 320
346
+ 321
347
+ 322
348
+ 323
349
+ 324
350
+ 325
351
+ 326
352
+ 327
353
+ 328
354
+ 329
355
+ 330
356
+ 331
357
+ 332
358
+ 333
359
+ 334
360
+ 335
361
+ 336
362
+ 337
363
+ 338
364
+ 339
365
+ 340
366
+ 341
367
+ 342
368
+ 343
369
+ 344
370
+ 345
371
+ 346
372
+ 347
373
+ 348
374
+ 349
375
+ 350
376
+ 351
377
+ 352
378
+ 353
379
+ 354
380
+ 355
381
+ 356
382
+ 357
383
+ 358
384
+ 359
385
+ 360
386
+ 361
387
+ 362
388
+ 363
389
+ 364
390
+ 365
391
+ 366
392
+ 367
393
+ 368
394
+ 369
395
+ 370
396
+ 371
397
+ 372
398
+ 373
399
+ 374
400
+ 375
401
+ 376
402
+ 377
403
+ 378
404
+ 379
405
+ 380
406
+ 381
407
+ 382
408
+ 383
409
+ 384
410
+ 385
411
+ 386
412
+ 387
413
+ 388
414
+ 389
415
+ 390
416
+ 391
417
+ 392
418
+ 393
419
+ 394
420
+ 395
421
+ 396
422
+ 397
423
+ 398
424
+ 399
425
+ 400
426
+ 401
427
+ 402
428
+ 403
429
+ 404
430
+ 405
431
+ 406
432
+ 407
433
+ 408
434
+ 409
435
+ 410
436
+ 411
437
+ 412
438
+ 413
439
+ 414
440
+ 415
441
+ 416
442
+ 417
443
+ 418
444
+ 419
445
+ 420
446
+ 421
447
+ 422
448
+ 423
449
+ 424
450
+ 425
451
+ 426
452
+ 427
453
+ 428
454
+ 429
455
+ 430
456
+ 431
457
+ 432
458
+ 433
459
+ 434
460
+ 435
461
+ 436
462
+ 437
463
+ 438
464
+ 439
465
+ 440
466
+ 441
467
+ 442
468
+ 443
469
+ 444
470
+ 445
471
+ 446
472
+ 447
473
+ 448
474
+ 449
475
+ 450
476
+ 451
477
+ 452
478
+ 453
479
+ 454
480
+ 455
481
+ 456
482
+ 457
483
+ 458
484
+ 459
485
+ 460
486
+ 461
487
+ 462
488
+ 463
489
+ 464
490
+ 465
491
+ 466
492
+ 467
493
+ 468
494
+ 469
495
+ 470
496
+ 471
497
+ 472
498
+ 473
499
+ 474
500
+ 475
501
+ 476
502
+ 477
503
+ 478
504
+ 479
505
+ 480
506
+ 481
507
+ 482
508
+ 483
509
+ 484
510
+ 485
511
+ 486
512
+ 487
513
+ 488
514
+ 489
515
+ 490
516
+ 491
517
+ 492
518
+ 493
519
+ 494
520
+ 495
521
+ 496
522
+ 497
523
+ 498
524
+ 499
525
+ 500
526
+ 501
527
+ 502
528
+ 503
529
+ 504
530
+ 505
531
+ 506
532
+ 507
533
+ 508
534
+ 509
535
+ 510
536
+ 511
537
+ 512
538
+ 513
539
+ 514
540
+ 515
541
+ 516
542
+ 517
543
+ 518
544
+ 519
545
+ 520
546
+ 521
547
+ 522
548
+ 523
549
+ 524
550
+ 525
551
+ 526
552
+ 527
553
+ 528
554
+ 529
555
+ 530
556
+ 531
557
+ 532
558
+ 533
559
+ 534
560
+ 535
561
+ 536
562
+ 537
563
+ 538
564
+ 539
565
+ 540
566
+ 541
567
+ 542
568
+ 543
569
+ 544
570
+ 545
571
+ 546
572
+ 547
573
+ 548
574
+ 549
575
+ 550
576
+ 551
577
+ 552
578
+ 553
579
+ 554
580
+ 555
581
+ 556
582
+ 557
583
+ 558
584
+ 559
585
+ 560
586
+ 561</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-yes">1x</span>
594
+ <span class="cline-any cline-yes">1x</span>
595
+ <span class="cline-any cline-yes">1x</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-yes">6x</span>
604
+ <span class="cline-any cline-yes">6x</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-yes">6x</span>
607
+ <span class="cline-any cline-yes">2x</span>
608
+ <span class="cline-any cline-yes">4x</span>
609
+ <span class="cline-any cline-yes">1x</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-yes">3x</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-yes">6x</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-yes">6x</span>
623
+ <span class="cline-any cline-yes">6x</span>
624
+ <span class="cline-any cline-yes">6x</span>
625
+ <span class="cline-any cline-yes">6x</span>
626
+ <span class="cline-any cline-yes">6x</span>
627
+ <span class="cline-any cline-yes">6x</span>
628
+ <span class="cline-any cline-yes">6x</span>
629
+ <span class="cline-any cline-yes">6x</span>
630
+ <span class="cline-any cline-yes">6x</span>
631
+ <span class="cline-any cline-yes">6x</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-no">&nbsp;</span>
640
+ <span class="cline-any cline-no">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-yes">3x</span>
652
+ <span class="cline-any cline-yes">3x</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-yes">3x</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-yes">3x</span>
664
+ <span class="cline-any cline-no">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-yes">3x</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-yes">2x</span>
675
+ <span class="cline-any cline-no">&nbsp;</span>
676
+ <span class="cline-any cline-neutral">&nbsp;</span>
677
+ <span class="cline-any cline-yes">2x</span>
678
+ <span class="cline-any cline-yes">2x</span>
679
+ <span class="cline-any cline-neutral">&nbsp;</span>
680
+ <span class="cline-any cline-yes">2x</span>
681
+ <span class="cline-any cline-yes">2x</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-no">&nbsp;</span>
685
+ <span class="cline-any cline-no">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-no">&nbsp;</span>
696
+ <span class="cline-any cline-no">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-neutral">&nbsp;</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-no">&nbsp;</span>
709
+ <span class="cline-any cline-no">&nbsp;</span>
710
+ <span class="cline-any cline-no">&nbsp;</span>
711
+ <span class="cline-any cline-no">&nbsp;</span>
712
+ <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-no">&nbsp;</span>
721
+ <span class="cline-any cline-no">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-no">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-yes">6x</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-yes">6x</span>
737
+ <span class="cline-any cline-yes">6x</span>
738
+ <span class="cline-any cline-yes">6x</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-yes">6x</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-yes">6x</span>
751
+ <span class="cline-any cline-yes">6x</span>
752
+ <span class="cline-any cline-yes">6x</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-neutral">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-no">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-no">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-neutral">&nbsp;</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-yes">3x</span>
778
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-neutral">&nbsp;</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-neutral">&nbsp;</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-neutral">&nbsp;</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-neutral">&nbsp;</span>
794
+ <span class="cline-any cline-neutral">&nbsp;</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-neutral">&nbsp;</span>
800
+ <span class="cline-any cline-yes">36x</span>
801
+ <span class="cline-any cline-yes">4x</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-yes">32x</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-neutral">&nbsp;</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-yes">6x</span>
814
+ <span class="cline-any cline-yes">6x</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-neutral">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-yes">6x</span>
847
+ <span class="cline-any cline-neutral">&nbsp;</span>
848
+ <span class="cline-any cline-yes">6x</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-neutral">&nbsp;</span>
857
+ <span class="cline-any cline-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-neutral">&nbsp;</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
+ <span class="cline-any cline-neutral">&nbsp;</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-neutral">&nbsp;</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-yes">1x</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-yes">1x</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-no">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-yes">1x</span>
924
+ <span class="cline-any cline-yes">1x</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-yes">3x</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-neutral">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-neutral">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-neutral">&nbsp;</span>
944
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
+ <span class="cline-any cline-neutral">&nbsp;</span>
946
+ <span class="cline-any cline-neutral">&nbsp;</span>
947
+ <span class="cline-any cline-neutral">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-neutral">&nbsp;</span>
954
+ <span class="cline-any cline-neutral">&nbsp;</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-yes">15x</span>
957
+ <span class="cline-any cline-yes">15x</span>
958
+ <span class="cline-any cline-yes">15x</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-yes">15x</span>
961
+ <span class="cline-any cline-yes">15x</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-yes">15x</span>
964
+ <span class="cline-any cline-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
967
+ <span class="cline-any cline-neutral">&nbsp;</span>
968
+ <span class="cline-any cline-neutral">&nbsp;</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-neutral">&nbsp;</span>
975
+ <span class="cline-any cline-neutral">&nbsp;</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-neutral">&nbsp;</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-neutral">&nbsp;</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-neutral">&nbsp;</span>
984
+ <span class="cline-any cline-neutral">&nbsp;</span>
985
+ <span class="cline-any cline-neutral">&nbsp;</span>
986
+ <span class="cline-any cline-neutral">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-neutral">&nbsp;</span>
989
+ <span class="cline-any cline-neutral">&nbsp;</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-neutral">&nbsp;</span>
994
+ <span class="cline-any cline-neutral">&nbsp;</span>
995
+ <span class="cline-any cline-neutral">&nbsp;</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-neutral">&nbsp;</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-no">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-neutral">&nbsp;</span>
1002
+ <span class="cline-any cline-neutral">&nbsp;</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-no">&nbsp;</span>
1006
+ <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-neutral">&nbsp;</span>
1008
+ <span class="cline-any cline-neutral">&nbsp;</span>
1009
+ <span class="cline-any cline-neutral">&nbsp;</span>
1010
+ <span class="cline-any cline-neutral">&nbsp;</span>
1011
+ <span class="cline-any cline-neutral">&nbsp;</span>
1012
+ <span class="cline-any cline-neutral">&nbsp;</span>
1013
+ <span class="cline-any cline-neutral">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-neutral">&nbsp;</span>
1016
+ <span class="cline-any cline-neutral">&nbsp;</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-neutral">&nbsp;</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-neutral">&nbsp;</span>
1025
+ <span class="cline-any cline-neutral">&nbsp;</span>
1026
+ <span class="cline-any cline-neutral">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-neutral">&nbsp;</span>
1032
+ <span class="cline-any cline-neutral">&nbsp;</span>
1033
+ <span class="cline-any cline-neutral">&nbsp;</span>
1034
+ <span class="cline-any cline-neutral">&nbsp;</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-neutral">&nbsp;</span>
1038
+ <span class="cline-any cline-neutral">&nbsp;</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-neutral">&nbsp;</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-neutral">&nbsp;</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-neutral">&nbsp;</span>
1055
+ <span class="cline-any cline-neutral">&nbsp;</span>
1056
+ <span class="cline-any cline-neutral">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-neutral">&nbsp;</span>
1059
+ <span class="cline-any cline-neutral">&nbsp;</span>
1060
+ <span class="cline-any cline-yes">1x</span>
1061
+ <span class="cline-any cline-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-neutral">&nbsp;</span>
1064
+ <span class="cline-any cline-neutral">&nbsp;</span>
1065
+ <span class="cline-any cline-neutral">&nbsp;</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-neutral">&nbsp;</span>
1068
+ <span class="cline-any cline-neutral">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-neutral">&nbsp;</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-neutral">&nbsp;</span>
1075
+ <span class="cline-any cline-neutral">&nbsp;</span>
1076
+ <span class="cline-any cline-neutral">&nbsp;</span>
1077
+ <span class="cline-any cline-neutral">&nbsp;</span>
1078
+ <span class="cline-any cline-neutral">&nbsp;</span>
1079
+ <span class="cline-any cline-neutral">&nbsp;</span>
1080
+ <span class="cline-any cline-neutral">&nbsp;</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-neutral">&nbsp;</span>
1083
+ <span class="cline-any cline-neutral">&nbsp;</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-neutral">&nbsp;</span>
1087
+ <span class="cline-any cline-neutral">&nbsp;</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-neutral">&nbsp;</span>
1092
+ <span class="cline-any cline-neutral">&nbsp;</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-neutral">&nbsp;</span>
1095
+ <span class="cline-any cline-neutral">&nbsp;</span>
1096
+ <span class="cline-any cline-neutral">&nbsp;</span>
1097
+ <span class="cline-any cline-yes">1x</span>
1098
+ <span class="cline-any cline-neutral">&nbsp;</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-neutral">&nbsp;</span>
1101
+ <span class="cline-any cline-neutral">&nbsp;</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-neutral">&nbsp;</span>
1104
+ <span class="cline-any cline-neutral">&nbsp;</span>
1105
+ <span class="cline-any cline-neutral">&nbsp;</span>
1106
+ <span class="cline-any cline-neutral">&nbsp;</span>
1107
+ <span class="cline-any cline-neutral">&nbsp;</span>
1108
+ <span class="cline-any cline-neutral">&nbsp;</span>
1109
+ <span class="cline-any cline-neutral">&nbsp;</span>
1110
+ <span class="cline-any cline-neutral">&nbsp;</span>
1111
+ <span class="cline-any cline-neutral">&nbsp;</span>
1112
+ <span class="cline-any cline-neutral">&nbsp;</span>
1113
+ <span class="cline-any cline-neutral">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-neutral">&nbsp;</span>
1116
+ <span class="cline-any cline-neutral">&nbsp;</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-neutral">&nbsp;</span>
1119
+ <span class="cline-any cline-neutral">&nbsp;</span>
1120
+ <span class="cline-any cline-neutral">&nbsp;</span>
1121
+ <span class="cline-any cline-neutral">&nbsp;</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-neutral">&nbsp;</span>
1124
+ <span class="cline-any cline-neutral">&nbsp;</span>
1125
+ <span class="cline-any cline-neutral">&nbsp;</span>
1126
+ <span class="cline-any cline-neutral">&nbsp;</span>
1127
+ <span class="cline-any cline-neutral">&nbsp;</span>
1128
+ <span class="cline-any cline-neutral">&nbsp;</span>
1129
+ <span class="cline-any cline-neutral">&nbsp;</span>
1130
+ <span class="cline-any cline-neutral">&nbsp;</span>
1131
+ <span class="cline-any cline-neutral">&nbsp;</span>
1132
+ <span class="cline-any cline-neutral">&nbsp;</span>
1133
+ <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-neutral">&nbsp;</span>
1135
+ <span class="cline-any cline-neutral">&nbsp;</span>
1136
+ <span class="cline-any cline-neutral">&nbsp;</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-neutral">&nbsp;</span>
1139
+ <span class="cline-any cline-neutral">&nbsp;</span>
1140
+ <span class="cline-any cline-neutral">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-neutral">&nbsp;</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-neutral">&nbsp;</span>
1145
+ <span class="cline-any cline-neutral">&nbsp;</span>
1146
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { Component } from 'react';
1147
+ import axios from 'axios';
1148
+ import propTypes from 'prop-types';
1149
+ import Icon from 'react-fontawesome';
1150
+ import { AsyncTypeahead, Menu, MenuItem } from 'react-bootstrap-typeahead';
1151
+ import './SchoolsLookUp.scss';
1152
+ &nbsp;
1153
+ const SHOW_EDCO_LOOKUP = 'SHOW_EDCO_LOOKUP';
1154
+ const SHOW_MANUAL_LOOKUP = 'SHOW_MANUAL_LOOKUP';
1155
+ const HIDE_LOOKUP = 'HIDE_LOOKUP';
1156
+ &nbsp;
1157
+ class SchoolsLookUp extends Component {
1158
+ /**
1159
+ * SchoolsLookUp constructor.
1160
+ * @param {object} props
1161
+ */
1162
+ constructor(props) {
1163
+ super(props);
1164
+ const { selectedEstablishment, establishmentNameValue } = props;
1165
+ let lookup;
1166
+ if (selectedEstablishment &amp;&amp; selectedEstablishment.id) {
1167
+ lookup = HIDE_LOOKUP;
1168
+ } else if (establishmentNameValue || this.hasError(props)) {
1169
+ lookup = SHOW_MANUAL_LOOKUP;
1170
+ } else {
1171
+ lookup = SHOW_EDCO_LOOKUP;
1172
+ }
1173
+ this.state = {
1174
+ options: [],
1175
+ query: '',
1176
+ isSearching: false,
1177
+ isDefaultOptionHighlighted: true,
1178
+ lookup,
1179
+ lookupFetchError: false,
1180
+ };
1181
+ &nbsp;
1182
+ this.handleChange = this.handleChange.bind(this);
1183
+ this.handleSearch = this.handleSearch.bind(this);
1184
+ this.handleLookup = this.handleLookup.bind(this);
1185
+ this.handleManual = this.handleManual.bind(this);
1186
+ this.handleBlur = this.handleBlur.bind(this);
1187
+ this.handleDefaultOptionHoverOff = this.handleDefaultOptionHoverOff.bind(this);
1188
+ this.handleInputChange = this.handleInputChange.bind(this);
1189
+ this.renderMenu = this.renderMenu.bind(this);
1190
+ this.renderSingleInput = this.renderSingleInput.bind(this);
1191
+ this.renderEstablishmentDetails = this.renderEstablishmentDetails.bind(this);
1192
+ }
1193
+ &nbsp;
1194
+ /**
1195
+ * Component lifecycle event triggered whenever props change
1196
+ * @param {object} props
1197
+ */
1198
+ <span class="fstat-no" title="function not covered" > co</span>mponentWillReceiveProps(nextProps) {
1199
+ <span class="cstat-no" title="statement not covered" > if (this.hasError(nextProps)) {</span>
1200
+ <span class="cstat-no" title="statement not covered" > this.handleLookup(SHOW_MANUAL_LOOKUP);</span>
1201
+ }
1202
+ }
1203
+ &nbsp;
1204
+ /**
1205
+ * Check whether any field has error or all are valid
1206
+ * @param {object} props
1207
+ * @return {boolean}
1208
+ */
1209
+ hasError(props) {
1210
+ const { establishmentNameErrorMessage, address1ErrorMessage, address2ErrorMessage,
1211
+ address3ErrorMessage, townErrorMessage, postcodeErrorMessage } = props;
1212
+ const hasError = establishmentNameErrorMessage || address1ErrorMessage || address2ErrorMessage ||
1213
+ address3ErrorMessage || townErrorMessage || postcodeErrorMessage;
1214
+ return Boolean(hasError);
1215
+ }
1216
+ &nbsp;
1217
+ /**
1218
+ * Handle click event.
1219
+ * @param {string} lookup
1220
+ * @param {object} event
1221
+ */
1222
+ handleLookup(lookup, event) {
1223
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (event) {
1224
+ <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
1225
+ }
1226
+ this.setState({ lookup });
1227
+ }
1228
+ &nbsp;
1229
+ /**
1230
+ * Handle search event.
1231
+ * @param {string} query
1232
+ */
1233
+ handleSearch(query) {
1234
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!query) {
1235
+ <span class="cstat-no" title="statement not covered" > return;</span>
1236
+ }
1237
+ this.setState({ isSearching: true });
1238
+ axios.get(this.props.data + query)
1239
+ .then((response) =&gt; {
1240
+ const options = response.data.data.schools;
1241
+ this.setState({ query, options, isSearching: false, lookupFetchError: false });
1242
+ }).catch(<span class="fstat-no" title="function not covered" >(e</span>rr) =&gt; {
1243
+ // For now, ensure this is not a validation etc. error
1244
+ <span class="cstat-no" title="statement not covered" > if (err.message === 'Network Error' &amp;&amp; err.response === undefined) {</span>
1245
+ <span class="cstat-no" title="statement not covered" > this.setState({ query, isSearching: false, lookupFetchError: true, lookup: SHOW_MANUAL_LOOKUP });</span>
1246
+ }
1247
+ });
1248
+ }
1249
+ &nbsp;
1250
+ /**
1251
+ * Handle change event.
1252
+ * @param data
1253
+ */
1254
+ <span class="fstat-no" title="function not covered" > ha</span>ndleChange(data) {
1255
+ <span class="cstat-no" title="statement not covered" > if (!data || !data[0] || data[0].id === 0) {</span>
1256
+ <span class="cstat-no" title="statement not covered" > return;</span>
1257
+ }
1258
+ const {
1259
+ selectedEstablishmentIdentifier,
1260
+ establishmentIdIdentifier,
1261
+ establishmentNameIdentifier,
1262
+ address1Identifier,
1263
+ address2Identifier,
1264
+ address3Identifier,
1265
+ townIdentifier,
1266
+ postcodeIdentifier,
1267
+ onChange,
1268
+ } = <span class="cstat-no" title="statement not covered" >this.props;</span>
1269
+ const selectedEstablishment = <span class="cstat-no" title="statement not covered" >data[0];</span>
1270
+ <span class="cstat-no" title="statement not covered" > onChange(selectedEstablishmentIdentifier, { target: { value: selectedEstablishment } });</span>
1271
+ const mappedData = <span class="cstat-no" title="statement not covered" >{</span>
1272
+ [establishmentIdIdentifier]: selectedEstablishment.id,
1273
+ [establishmentNameIdentifier]: selectedEstablishment.name,
1274
+ [address1Identifier]: selectedEstablishment.address_1,
1275
+ [address2Identifier]: selectedEstablishment.address_2,
1276
+ [address3Identifier]: selectedEstablishment.address_3,
1277
+ [townIdentifier]: selectedEstablishment.town,
1278
+ [postcodeIdentifier]: selectedEstablishment.post_code,
1279
+ };
1280
+ <span class="cstat-no" title="statement not covered" > Object.keys(mappedData).forEach(<span class="fstat-no" title="function not covered" >(i</span>dentifier) =&gt; {</span>
1281
+ <span class="cstat-no" title="statement not covered" > onChange(identifier, { target: { value: mappedData[identifier] } });</span>
1282
+ });
1283
+ // display selection and reset fetched schools
1284
+ <span class="cstat-no" title="statement not covered" > this.setState({ lookup: HIDE_LOOKUP, isDefaultOptionHighlighted: false });</span>
1285
+ }
1286
+ &nbsp;
1287
+ /**
1288
+ * Handle change event.
1289
+ * @param {string} identifier
1290
+ * @param {object} event
1291
+ */
1292
+ handleManual(identifier, event) {
1293
+ const { onChange, establishmentIdIdentifier,
1294
+ establishmentIdValue, selectedEstablishmentIdentifier } = this.props;
1295
+ // reset selected school on manual entry
1296
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (establishmentIdValue) {
1297
+ onChange(establishmentIdIdentifier, { target: { value: '' } });
1298
+ onChange(selectedEstablishmentIdentifier, { target: { value: {} } });
1299
+ }
1300
+ onChange(identifier, event);
1301
+ }
1302
+ &nbsp;
1303
+ /**
1304
+ * Handle blur event.
1305
+ * @param {string} identifier
1306
+ */
1307
+ handleBlur(identifier) {
1308
+ const {
1309
+ validateField,
1310
+ } = this.props;
1311
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (validateField) {
1312
+ validateField(identifier);
1313
+ }
1314
+ }
1315
+ &nbsp;
1316
+ /**
1317
+ * Handle changing text value inside search box
1318
+ * @param {string} query
1319
+ */
1320
+ <span class="fstat-no" title="function not covered" > ha</span>ndleInputChange(query) {
1321
+ <span class="cstat-no" title="statement not covered" > this.setState({ query, isDefaultOptionHighlighted: true });</span>
1322
+ }
1323
+ &nbsp;
1324
+ /**
1325
+ * Handle hovering off default option
1326
+ */
1327
+ <span class="fstat-no" title="function not covered" > ha</span>ndleDefaultOptionHoverOff() {
1328
+ <span class="cstat-no" title="statement not covered" > this.setState({ isDefaultOptionHighlighted: false });</span>
1329
+ }
1330
+ &nbsp;
1331
+ /**
1332
+ * Render menu item children.
1333
+ * @param option
1334
+ * @return {XML}
1335
+ */
1336
+ static renderMenuItemChildren(option) {
1337
+ return (
1338
+ &lt;div key={option.id}&gt;
1339
+ &lt;span&gt;{option.name}&lt;/span&gt;
1340
+ {option.post_code ?
1341
+ &lt;span&gt;, {option.post_code}&lt;/span&gt;:
1342
+ <span class="branch-1 cbranch-no" title="branch not covered" > null</span>
1343
+ }
1344
+ &lt;/div&gt;
1345
+ );
1346
+ }
1347
+ &nbsp;
1348
+ /**
1349
+ * Render single input
1350
+ * @param {string} labelText
1351
+ * @param {string} identifier
1352
+ * @param {string} value
1353
+ * @param {string} errorMessage
1354
+ * @param {boolean} required
1355
+ * @param {boolean} readOnly
1356
+ * @return {XML}
1357
+ */
1358
+ renderSingleInput(labelText, identifier, value, errorMessage, required, readOnly) {
1359
+ // avoid rendering read only with empty value
1360
+ if (readOnly === true &amp;&amp; !value) {
1361
+ return null;
1362
+ }
1363
+ return (
1364
+ &lt;div className={`${readOnly === false &amp;&amp; errorMessage ? <span class="branch-0 cbranch-no" title="branch not covered" >'validation__wrapper':</span> ''}`}&gt;
1365
+ {readOnly === false ?
1366
+ &lt;div&gt;
1367
+ &lt;label htmlFor={identifier} className={`${required === true ? 'required' : ''}`}&gt;{labelText}&lt;/label&gt;
1368
+ &lt;input
1369
+ id={identifier}
1370
+ name={identifier}
1371
+ value={value}
1372
+ type="text"
1373
+ onChange={event =&gt; this.handleManual(identifier, event)}
1374
+ onBlur={event =&gt; this.handleBlur(identifier, event)}
1375
+ required={required}
1376
+ /&gt;
1377
+ {errorMessage ?
1378
+ <span class="branch-0 cbranch-no" title="branch not covered" > &lt;div className="validation__message"&gt;</span>
1379
+ &lt;span&gt;
1380
+ {errorMessage}
1381
+ &lt;/span&gt;
1382
+ &lt;/div&gt;:
1383
+ null
1384
+ }
1385
+ &lt;/div&gt;:
1386
+ &lt;p&gt;{value}&lt;/p&gt;
1387
+ }
1388
+ &lt;/div&gt;
1389
+ );
1390
+ }
1391
+ &nbsp;
1392
+ /**
1393
+ * Render establishment details inputs whether read only or not
1394
+ * @param {object} establishmentDetails
1395
+ * @param {boolean} readOnly
1396
+ * @return {XML}
1397
+ */
1398
+ renderEstablishmentDetails(establishmentDetails, readOnly) {
1399
+ const {
1400
+ establishmentNameLabelText, establishmentNameIdentifier, establishmentNameErrorMessage, establishmentNameRequired,
1401
+ address1LabelText, address1Identifier, address1ErrorMessage, address1Required,
1402
+ address2LabelText, address2Identifier, address2ErrorMessage, address2Required,
1403
+ address3LabelText, address3Identifier, address3ErrorMessage, address3Required,
1404
+ townLabelText, townIdentifier, townErrorMessage, townRequired,
1405
+ postcodeRequired, postcodeLabelText, postcodeIdentifier, postcodeErrorMessage,
1406
+ } = this.props;
1407
+ &nbsp;
1408
+ return (
1409
+ &lt;div className="schoolDetails"&gt;
1410
+ {this.renderSingleInput(
1411
+ establishmentNameLabelText,
1412
+ establishmentNameIdentifier,
1413
+ establishmentDetails[establishmentNameIdentifier],
1414
+ establishmentNameErrorMessage,
1415
+ establishmentNameRequired,
1416
+ readOnly,
1417
+ )}
1418
+ &nbsp;
1419
+ {this.renderSingleInput(
1420
+ address1LabelText,
1421
+ address1Identifier,
1422
+ establishmentDetails[address1Identifier],
1423
+ address1ErrorMessage,
1424
+ address1Required,
1425
+ readOnly,
1426
+ )}
1427
+ &nbsp;
1428
+ {this.renderSingleInput(
1429
+ address2LabelText,
1430
+ address2Identifier,
1431
+ establishmentDetails[address2Identifier],
1432
+ address2ErrorMessage,
1433
+ address2Required,
1434
+ readOnly,
1435
+ )}
1436
+ &nbsp;
1437
+ {this.renderSingleInput(
1438
+ address3LabelText,
1439
+ address3Identifier,
1440
+ establishmentDetails[address3Identifier],
1441
+ address3ErrorMessage,
1442
+ address3Required,
1443
+ readOnly,
1444
+ )}
1445
+ &nbsp;
1446
+ {this.renderSingleInput(
1447
+ townLabelText,
1448
+ townIdentifier,
1449
+ establishmentDetails[townIdentifier],
1450
+ townErrorMessage,
1451
+ townRequired,
1452
+ readOnly,
1453
+ )}
1454
+ &nbsp;
1455
+ {this.renderSingleInput(
1456
+ postcodeLabelText,
1457
+ postcodeIdentifier,
1458
+ establishmentDetails[postcodeIdentifier],
1459
+ postcodeErrorMessage,
1460
+ postcodeRequired,
1461
+ readOnly,
1462
+ )}
1463
+ &nbsp;
1464
+ &lt;/div&gt;
1465
+ );
1466
+ }
1467
+ &nbsp;
1468
+ /**
1469
+ * Render whole menu
1470
+ * Render default option and search results
1471
+ * Render nothing in case searching is still in progress
1472
+ * @param {object} results
1473
+ * @param {object} menuProps
1474
+ * @return {XML}
1475
+ */
1476
+ renderMenu(results, menuProps) {
1477
+ const { isSearching, isDefaultOptionHighlighted } = this.state;
1478
+ // do not show results until search is complete
1479
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (menuProps.emptyLabel === 'Searching...' || isSearching === true || results.length === 0
1480
+ ) {
1481
+ <span class="cstat-no" title="statement not covered" > return &lt;div /&gt;;</span>
1482
+ }
1483
+ const MenuHeader = props =&gt; &lt;li {...props} className={isDefaultOptionHighlighted ? 'default-selection' : <span class="branch-1 cbranch-no" title="branch not covered" >''}</span> /&gt;;
1484
+ return (
1485
+ &lt;Menu {...menuProps}&gt;
1486
+ {results.length &gt; 0 ?
1487
+ &lt;div&gt;
1488
+ &lt;MenuHeader key="defaultSelection" onMouseLeave={this.handleDefaultOptionHoverOff}&gt;
1489
+ Please select a school from the list below
1490
+ &lt;/MenuHeader&gt;
1491
+ {
1492
+ results.map((result, index) =&gt; (
1493
+ &lt;div key={index} onMouseEnter={this.handleDefaultOptionHoverOff}&gt;
1494
+ &lt;MenuItem option={result} position={index}&gt;
1495
+ {SchoolsLookUp.renderMenuItemChildren(result)}
1496
+ &lt;/MenuItem&gt;
1497
+ &lt;/div&gt;
1498
+ ))
1499
+ }
1500
+ &lt;/div&gt;:
1501
+ <span class="branch-1 cbranch-no" title="branch not covered" > null</span>
1502
+ }
1503
+ &lt;/Menu&gt;
1504
+ );
1505
+ }
1506
+ &nbsp;
1507
+ /**
1508
+ * Render Component.
1509
+ * @return {XML}
1510
+ */
1511
+ render() {
1512
+ const {
1513
+ establishmentNameValue, address1Value, address2Value, address3Value, townValue, postcodeValue,
1514
+ establishmentNameIdentifier, address1Identifier, address2Identifier, address3Identifier,
1515
+ townIdentifier, postcodeIdentifier, min, selectedEstablishment, disabled, placeholder, extraClasses, titleCopy,
1516
+ } = this.props;
1517
+ const { lookup, options, isSearching, query } = this.state;
1518
+ const orEnterManuallyCopy = 'Or enter details manually';
1519
+ &nbsp;
1520
+ const haslookupFetchError = this.state.lookupFetchError;
1521
+ const lookupFetchErrorMsg = "Sorry, there appears to be a problem. Please enter the school\'s details manually:";
1522
+ &nbsp;
1523
+ return (
1524
+ &lt;div data-test-id="SchoolsLookUp" className={`SchoolsLookUp ${extraClasses}`}&gt;
1525
+ {!haslookupFetchError &amp;&amp; &lt;p className="schoolsLookUp-title"&gt;
1526
+ &lt;label htmlFor="schoolsLookUp"&gt;{titleCopy}&lt;/label&gt;
1527
+ &lt;/p&gt;}
1528
+ &nbsp;
1529
+ {(!haslookupFetchError &amp;&amp; lookup === HIDE_LOOKUP) &amp;&amp;
1530
+ &lt;div&gt;
1531
+ {this.renderEstablishmentDetails(
1532
+ {
1533
+ [establishmentNameIdentifier]: selectedEstablishment.name,
1534
+ [address1Identifier]: selectedEstablishment.address_1,
1535
+ [address2Identifier]: selectedEstablishment.address_2,
1536
+ [address3Identifier]: selectedEstablishment.address_3,
1537
+ [townIdentifier]: selectedEstablishment.town,
1538
+ [postcodeIdentifier]: selectedEstablishment.post_code,
1539
+ },
1540
+ true,
1541
+ )}
1542
+ &lt;button name="edit" className="SchoolsLookUp-link" onClick={this.handleLookup.bind(this, SHOW_MANUAL_LOOKUP)}&gt;
1543
+ Edit
1544
+ &lt;/button&gt;
1545
+ &lt;/div&gt;}
1546
+ &nbsp;
1547
+ {(!haslookupFetchError &amp;&amp; lookup !== HIDE_LOOKUP) &amp;&amp;
1548
+ &lt;div className="schoolsLookUp-search"&gt;
1549
+ {/* Disable caching as it ignores a lot of results */}
1550
+ &lt;AsyncTypeahead
1551
+ type="text"
1552
+ minLength={min}
1553
+ bsSize="large"
1554
+ emptyLabel=""
1555
+ onSearch={this.handleSearch}
1556
+ onChange={this.handleChange}
1557
+ onInputChange={this.handleInputChange}
1558
+ className="schoolsLookUpForm"
1559
+ labelKey={<span class="fstat-no" title="function not covered" >op</span>tion =&gt; <span class="cstat-no" title="statement not covered" >`${option.id !== 0 ? `${option.name} ${option.post_code}` : ''}`}</span>
1560
+ placeholder={placeholder}
1561
+ renderMenu={this.renderMenu}
1562
+ options={options}
1563
+ useCache={false}
1564
+ disabled={disabled}
1565
+ filterBy={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >true}</span>
1566
+ isLoading={isSearching}
1567
+ /&gt;
1568
+ {isSearching &amp;&amp;
1569
+ &lt;div&gt;
1570
+ &lt;Icon name="spinner" spin /&gt;
1571
+ &lt;span&gt;Loading...&lt;/span&gt;
1572
+ &lt;/div&gt;
1573
+ }
1574
+ &nbsp;
1575
+ {!haslookupFetchError &amp;&amp;!isSearching &amp;&amp; query.length &gt; min &amp;&amp; options.length === 0 ?
1576
+ &lt;p className="font--red"&gt;
1577
+ {"Sorry, we can't find this. If the school or postcode you entered is correct then please add the address manually below."}
1578
+ &lt;/p&gt;:
1579
+ null
1580
+ }
1581
+ &lt;/div&gt;
1582
+ }
1583
+ {!haslookupFetchError &amp;&amp; lookup === SHOW_EDCO_LOOKUP ?
1584
+ &lt;button name="enterManually" className="SchoolsLookUp-link" onClick={this.handleLookup.bind(this, SHOW_MANUAL_LOOKUP)}&gt;
1585
+ {orEnterManuallyCopy}
1586
+ &lt;/button&gt;:
1587
+ null
1588
+ }
1589
+ &nbsp;
1590
+ {haslookupFetchError &amp;&amp;
1591
+ <span class="branch-1 cbranch-no" title="branch not covered" > &lt;div className="validation__message"&gt;</span>
1592
+ &lt;span&gt;
1593
+ {lookupFetchErrorMsg}
1594
+ &lt;/span&gt;
1595
+ &lt;/div&gt;
1596
+ }
1597
+ &nbsp;
1598
+ {lookup === SHOW_MANUAL_LOOKUP ?
1599
+ &lt;div className="SchoolsLookUp-maunal"&gt;
1600
+ {!haslookupFetchError &amp;&amp; &lt;p&gt;{orEnterManuallyCopy}&lt;/p&gt;}
1601
+ {this.renderEstablishmentDetails(
1602
+ {
1603
+ [establishmentNameIdentifier]: establishmentNameValue,
1604
+ [address1Identifier]: address1Value,
1605
+ [address2Identifier]: address2Value,
1606
+ [address3Identifier]: address3Value,
1607
+ [townIdentifier]: townValue,
1608
+ [postcodeIdentifier]: postcodeValue,
1609
+ },
1610
+ false,
1611
+ )}
1612
+ &lt;/div&gt;:
1613
+ null
1614
+ }
1615
+ &lt;/div&gt;
1616
+ );
1617
+ }
1618
+ }
1619
+ &nbsp;
1620
+ SchoolsLookUp.defaultProps = {
1621
+ selectedEstablishmentIdentifier: 'selectedEstablishment',
1622
+ selectedEstablishment: {},
1623
+ establishmentIdIdentifier: 'establishmentId',
1624
+ establishmentNameLabelText: 'Establishment name',
1625
+ establishmentNameIdentifier: 'establishmentName',
1626
+ establishmentNameErrorMessage: '',
1627
+ establishmentNameRequired: true,
1628
+ address1LabelText: 'Address line 1',
1629
+ address1Identifier: 'address1',
1630
+ address1ErrorMessage: '',
1631
+ address1Required: true,
1632
+ address2LabelText: 'Address line 2',
1633
+ address2Identifier: 'address2',
1634
+ address2Value: '',
1635
+ address2ErrorMessage: '',
1636
+ address2Required: false,
1637
+ address3LabelText: 'Address line 3',
1638
+ address3Identifier: 'address3',
1639
+ address3Value: '',
1640
+ address3ErrorMessage: '',
1641
+ address3Required: false,
1642
+ townLabelText: 'Town',
1643
+ townIdentifier: 'town',
1644
+ townErrorMessage: '',
1645
+ townRequired: true,
1646
+ postcodeLabelText: 'Postcode',
1647
+ postcodeIdentifier: 'postcode',
1648
+ postcodeErrorMessage: '',
1649
+ postcodeRequired: true,
1650
+ disabled: false,
1651
+ validateField: <span class="fstat-no" title="function not covered" >()</span> =&gt; {},
1652
+ placeholder: 'Type to start search',
1653
+ extraClasses: '',
1654
+ titleCopy: 'Enter the name or postcode of your school or nursery',
1655
+ };
1656
+ &nbsp;
1657
+ SchoolsLookUp.propTypes = {
1658
+ data: propTypes.string.isRequired,
1659
+ min: propTypes.number.isRequired,
1660
+ onChange: propTypes.func.isRequired,
1661
+ establishmentIdValue: propTypes.oneOfType([
1662
+ propTypes.string,
1663
+ propTypes.number,
1664
+ ]).isRequired,
1665
+ establishmentNameValue: propTypes.string.isRequired,
1666
+ address1Value: propTypes.string.isRequired,
1667
+ address2Value: propTypes.string,
1668
+ address3Value: propTypes.string,
1669
+ townValue: propTypes.string.isRequired,
1670
+ postcodeValue: propTypes.string.isRequired,
1671
+ placeholder: propTypes.string.isRequired,
1672
+ selectedEstablishmentIdentifier: propTypes.string,
1673
+ selectedEstablishment: propTypes.object,
1674
+ establishmentIdIdentifier: propTypes.string,
1675
+ establishmentNameLabelText: propTypes.string,
1676
+ establishmentNameRequired: propTypes.bool,
1677
+ establishmentNameIdentifier: propTypes.string,
1678
+ establishmentNameErrorMessage: propTypes.string,
1679
+ address1LabelText: propTypes.string,
1680
+ address1Required: propTypes.bool,
1681
+ address1Identifier: propTypes.string,
1682
+ address1ErrorMessage: propTypes.string,
1683
+ address2LabelText: propTypes.string,
1684
+ address2Required: propTypes.bool,
1685
+ address2Identifier: propTypes.string,
1686
+ address2ErrorMessage: propTypes.string,
1687
+ address3LabelText: propTypes.string,
1688
+ address3Required: propTypes.bool,
1689
+ address3Identifier: propTypes.string,
1690
+ address3ErrorMessage: propTypes.string,
1691
+ townLabelText: propTypes.string,
1692
+ townRequired: propTypes.bool,
1693
+ townIdentifier: propTypes.string,
1694
+ townErrorMessage: propTypes.string,
1695
+ postcodeLabelText: propTypes.string,
1696
+ postcodeRequired: propTypes.bool,
1697
+ postcodeIdentifier: propTypes.string,
1698
+ postcodeErrorMessage: propTypes.string,
1699
+ validateField: propTypes.func,
1700
+ disabled: propTypes.bool,
1701
+ extraClasses: propTypes.string.isRequired,
1702
+ titleCopy: propTypes.string,
1703
+ };
1704
+ &nbsp;
1705
+ export default SchoolsLookUp;
1706
+ &nbsp;</pre></td></tr>
1707
+ </table></pre>
1708
+ <div class='push'></div><!-- for sticky footer -->
1709
+ </div><!-- /wrapper -->
1710
+ <div class='footer quiet pad2 space-top1 center small'>
1711
+ Code coverage
1712
+ generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Tue Nov 01 2022 13:40:05 GMT+0000 (Greenwich Mean Time)
1713
+ </div>
1714
+ </div>
1715
+ <script src="../../../prettify.js"></script>
1716
+ <script>
1717
+ window.onload = function () {
1718
+ if (typeof prettyPrint === 'function') {
1719
+ prettyPrint();
1720
+ }
1721
+ };
1722
+ </script>
1723
+ <script src="../../../sorter.js"></script>
1724
+ </body>
1725
+ </html>