7de7e4ac by Jeremy Groot

preferred tool updates

1 parent 74ce347e
...@@ -28,37 +28,36 @@ if( $is_preview ) { ...@@ -28,37 +28,36 @@ if( $is_preview ) {
28 28
29 $postal_lookup = []; 29 $postal_lookup = [];
30 $row = 0; 30 $row = 0;
31
31 if (($handle = fopen(wp_get_upload_dir()['basedir']."/terriroties.csv", "r")) !== FALSE) { 32 if (($handle = fopen(wp_get_upload_dir()['basedir']."/terriroties.csv", "r")) !== FALSE) {
32 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 33 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
33
34 $row++; 34 $row++;
35
36 if($row == 1) { 35 if($row == 1) {
37 continue; 36 continue;
38 } 37 }
39 38 $postal_lookup[] = ['GEOKEY'=>$data[0],'PREFERRED'=>$data[3]];
40 $postal_lookup[] = ['GEOKEY'=>$data[0],'TERRITORY'=>$data[1],'1ST'=>$data[2],'PREFERRED'=>$data[3],'REGION'=>$data[4]];
41
42 } 39 }
43 fclose($handle); 40 fclose($handle);
44 } 41 }
45 42
46
47 ?> 43 ?>
48 <div id="<?php echo esc_attr($id); ?>" class="<?php echo esc_attr($className); ?>"> 44 <div id="<?php echo esc_attr($id); ?>" class="<?php echo esc_attr($className); ?>">
49 45
46
47 <div class='postal-code-inputs'>
48 <label>
49 <span class='label'>Enter Full Postal Code:</span>
50 <input type='text' class='postal-code-search' />
51 </label>
52
53 <label>
54 <span class='label'>Preferred?</span>
55 <input type='text' class='preferred' />
56
57 </label>
58 </div>
59
50 <input type='hidden' class='postal-search-data' value='<?= json_encode($postal_lookup) ?>' /> 60 <input type='hidden' class='postal-search-data' value='<?= json_encode($postal_lookup) ?>' />
51 61
52 <table class='postal-search-results'>
53 <thead>
54 <tr class="header"><td>GEOKEY</td><td>TERRITORY</td><td>1ST</td><td>PREFERRED</td><td>REGION</td></tr>
55 </thead>
56 <tbody>
57 <?php foreach($postal_lookup as $pl) { ?>
58 <tr data-preferred="<?= $pl['PREFERRED'] ?>" class="header"><td><?= $pl['GEOKEY'] ?></td><td><?= $pl['TERRITORY'] ?></td><td><?= $pl['1ST'] ?></td><td><?= $pl['PREFERRED'] ?></td><td><?= $pl['REGION'] ?></td></tr>
59 <?php } ?>
60 </tbody>
61 </table>
62
63 </div> 62 </div>
64 63
......
...@@ -14654,6 +14654,8 @@ table.dataTable + .bottom { ...@@ -14654,6 +14654,8 @@ table.dataTable + .bottom {
14654 14654
14655 .postal-code-inputs { 14655 .postal-code-inputs {
14656 display: flex; 14656 display: flex;
14657 align-items: baseline;
14658 gap: 1rem;
14657 } 14659 }
14658 .postal-code-inputs > div { 14660 .postal-code-inputs > div {
14659 padding-right: 3rem; 14661 padding-right: 3rem;
...@@ -14661,6 +14663,13 @@ table.dataTable + .bottom { ...@@ -14661,6 +14663,13 @@ table.dataTable + .bottom {
14661 .postal-code-inputs > input { 14663 .postal-code-inputs > input {
14662 font-size: 1rem; 14664 font-size: 1rem;
14663 } 14665 }
14666 .postal-code-inputs span {
14667 padding-left: 0;
14668 color: #000;
14669 text-align: left;
14670 font-family: Helvetica;
14671 font-size: 20px;
14672 }
14664 14673
14665 .strategic-child-page { 14674 .strategic-child-page {
14666 display: flex; 14675 display: flex;
......
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
1 // import Fuse from 'fuse.js' 1 import Fuse from 'fuse.js'
2 import DataTable from 'datatables.net-dt'; 2 // import DataTable from 'datatables.net-dt';
3 3
4 (function( $ ) { 4 (function( $ ) {
5 5
6 // var list = JSON.parse($('.postal-search-data').val()); 6 var list = JSON.parse($('.postal-search-data').val());
7
8 // const fuseOptions = {
9 // // isCaseSensitive: false,
10 // // includeScore: false,
11 // // shouldSort: true,
12 // // includeMatches: false,
13 // // findAllMatches: false,
14 // // minMatchCharLength: 1,
15 // // location: 0,
16 // threshold: 0.2,
17 // // distance: 100,
18 // // useExtendedSearch: false,
19 // // ignoreLocation: false,
20 // // ignoreFieldNorm: false,
21 // // fieldNormWeight: 1,
22 // keys: [
23 // "GEOKEY",
24 // "TERRITORY"
25 // ]
26 // };
27 7
28 // const fuse = new Fuse(list, fuseOptions); 8 const fuseOptions = {
9 // isCaseSensitive: false,
10 // includeScore: false,
11 // shouldSort: true,
12 // includeMatches: false,
13 // findAllMatches: false,
14 // minMatchCharLength: 1,
15 // location: 0,
16 threshold: 0.2,
17 // distance: 100,
18 // useExtendedSearch: false,
19 // ignoreLocation: false,
20 // ignoreFieldNorm: false,
21 // fieldNormWeight: 1,
22 keys: [
23 "GEOKEY"
24 ]
25 };
29 26
30 var table = new DataTable('.postal-search-results', 27 const fuse = new Fuse(list, fuseOptions);
31 {
32 responsive: true,
33 paging:true,
34 "lengthMenu":-1,
35 "oLanguage": {
36 "sSearch": "Enter Full Postal Code:"
37 }
38 }
39 );
40
41 // function searchFuse(searchPattern) {
42 // return fuse.search(searchPattern);
43 // }
44 28
29 // var table = new DataTable('.postal-search-results',
30 // {
31 // responsive: true,
32 // paging:true,
33 // "lengthMenu":-1,
34 // "oLanguage": {
35 // "sSearch": "Enter Full Postal Code:"
36 // }
37 // }
38 // );
39
45 // $('.search-postal-preferred').on('change', function() { 40 // $('.search-postal-preferred').on('change', function() {
46 // var preferred = $(this).find('option:selected').val(); 41 // var preferred = $(this).find('option:selected').val();
47 // $('.postal-search-results tr').removeClass('hidden'); 42 // $('.postal-search-results tr').removeClass('hidden');
...@@ -49,7 +44,6 @@ import DataTable from 'datatables.net-dt'; ...@@ -49,7 +44,6 @@ import DataTable from 'datatables.net-dt';
49 // $('.postal-search-results tr').each(function() { 44 // $('.postal-search-results tr').each(function() {
50 // if(!$(this).hasClass('header')) { 45 // if(!$(this).hasClass('header')) {
51 // var _preferred = $(this).data('preferred'); 46 // var _preferred = $(this).data('preferred');
52 // console.log(_preferred);
53 // if(preferred != _preferred) { 47 // if(preferred != _preferred) {
54 // $(this).addClass('hidden'); 48 // $(this).addClass('hidden');
55 // } 49 // }
...@@ -58,29 +52,27 @@ import DataTable from 'datatables.net-dt'; ...@@ -58,29 +52,27 @@ import DataTable from 'datatables.net-dt';
58 // } 52 // }
59 // }); 53 // });
60 54
61 // $('.postal-code-search').on('keyup', function() { 55 $('.postal-code-search').on('keyup', function() {
62 56
63 // var results = searchFuse($(this).val()); 57 if($(this).val().length < 3) {
58 $('.preferred').val('');
59 } else {
64 60
65 // $('.postal-search-results tr').remove(); 61 var results = fuse.search($(this).val());
66 // $('.postal-search-results').append(
67 // '<tr class="header"><td>GEOKEY</td><td>TERRITORY</td><td>1ST</td><td>PREFERRED</td><td>REGION</td></tr>'
68 // );
69 62
70 // if(results.length > 200) { 63 for(var i = 0;i < results.length;++i) {
71 // $('.postal-search-results').append("<tr><td>Result set to large</td><td></td><td></td><td></td><td></td></tr>");
72 // } else {
73 // if(results.length == 0) {
74 // $('.postal-search-results').append("<tr><td>No Results Found</td><td></td><td></td><td></td><td></td></tr>");
75 // } else {
76 // for(var i = 0;i < results.length;++i) {
77 // $('.postal-search-results').append(
78 // '<tr data-preferred="'+results[i].item['PREFERRED']+'"><td>'+results[i].item.GEOKEY+'</td><td>'+results[i].item.TERRITORY+'</td><td>'+results[i].item['1ST']+'</td><td>'+results[i].item['PREFERRED']+'</td><td>'+results[i].item['REGION']+'</td></tr>'
79 // );
80 // }
81 // }
82 // }
83 64
84 // }); 65 if(results[i].item['PREFERRED'] == 'YES') {
66 $('.preferred').val('YES');
67 } else if(results[i].item['PREFERRED'] == 'NO') {
68 $('.preferred').val('NO');
69 } else {
70 $('.preferred').val('UNKNOWN');
71 }
72 }
73
74 }
75
76 });
85 77
86 }( jQuery )); 78 }( jQuery ));
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -447,12 +447,21 @@ table.dataTable + .bottom { ...@@ -447,12 +447,21 @@ table.dataTable + .bottom {
447 447
448 .postal-code-inputs { 448 .postal-code-inputs {
449 display: flex; 449 display: flex;
450 align-items: baseline;
451 gap:1rem;
450 & > div { 452 & > div {
451 padding-right:3rem; 453 padding-right:3rem;
452 } 454 }
453 & > input { 455 & > input {
454 font-size: 1rem; 456 font-size: 1rem;
455 } 457 }
458 span {
459 padding-left:0;
460 color: #000;
461 text-align: left;
462 font-family: Helvetica;
463 font-size: 20px;
464 }
456 } 465 }
457 466
458 .strategic-child-page { 467 .strategic-child-page {
......