Skip to content

Commit ccb22ab

Browse files
committed
better postcode replacement
1 parent 52685a2 commit ccb22ab

File tree

1 file changed

+30
-30
lines changed
  • findthatpostcode/static/js

1 file changed

+30
-30
lines changed

findthatpostcode/static/js/csv.js

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ var stages = [
1111
function hide_stage(stage, show_top) {
1212
var stage_el = document.getElementById('stage-' + stage);
1313
Array.from(stage_el.getElementsByClassName('contents'))
14-
.forEach(i => i.classList.add("dn"));
15-
if(show_top){
14+
.forEach(i => i.classList.add("dn"));
15+
if (show_top) {
1616
Array.from(stage_el.getElementsByClassName('contents-top'))
1717
.forEach(i => i.classList.remove("dn"));
1818
} else {
@@ -29,10 +29,10 @@ function show_stage(stage) {
2929
.forEach(i => i.classList.add("dn"));
3030
}
3131

32-
function set_stage(stage){
32+
function set_stage(stage) {
3333
current_stage = stage;
3434
var previous_stages = stages.slice(0, stages.indexOf(stage));
35-
var next_stages = stages.slice(stages.indexOf(stage)+1);
35+
var next_stages = stages.slice(stages.indexOf(stage) + 1);
3636

3737
previous_stages.forEach(s => hide_stage(s, true));
3838
next_stages.forEach(s => hide_stage(s, false));
@@ -41,15 +41,15 @@ function set_stage(stage){
4141

4242
function clean_postcode(pc) {
4343
if (typeof pc === 'string' || pc instanceof String) {
44-
pc = pc.toUpperCase().replace(/[^A-Z0-9]/, '');
44+
pc = pc.toUpperCase().replace(/[^A-Z0-9]/gi, '');
4545
return pc.slice(0, -3) + " " + pc.slice(-3);
4646
}
4747
return pc;
4848
}
4949

5050
function hash_postcode(pc, length) {
5151
length = length || DEFAULT_HASH_LENGTH;
52-
pc = pc.toLowerCase().replace(/[^a-z0-9]/, '');
52+
pc = pc.toLowerCase().replace(/[^a-z0-9]/gi, '');
5353
var pchash = CryptoJS.MD5(pc);
5454
return pchash.toString(CryptoJS.enc.Hex).slice(0, length);
5555
}
@@ -73,7 +73,7 @@ function update_fields_list(results, div) {
7373
var li = document.createElement('li');
7474
li.classList.add('mb2');
7575
var label = document.createElement('label');
76-
label.setAttribute('for', "field-"+f_slug);
76+
label.setAttribute('for', "field-" + f_slug);
7777
label.classList.add('pointer');
7878
var span = document.createElement('span');
7979
span.innerText = f;
@@ -82,7 +82,7 @@ function update_fields_list(results, div) {
8282
radio.setAttribute('type', 'radio');
8383
radio.setAttribute('name', 'postcode_field');
8484
radio.setAttribute('value', f);
85-
radio.setAttribute('id', "field-"+f_slug);
85+
radio.setAttribute('id', "field-" + f_slug);
8686
radio.classList.add('dn');
8787

8888
if (f_slug.includes("postcode") | f_slug.includes("postal-code")) {
@@ -97,7 +97,7 @@ function update_fields_list(results, div) {
9797
set_stage('select-fields');
9898
}
9999
}
100-
100+
101101
var field_ul = document.createElement('ul');
102102
field_ul.classList.add('list', 'pa0', 'ma0');
103103
let values_seen = []
@@ -108,7 +108,7 @@ function update_fields_list(results, div) {
108108
field_li.appendChild(document.createTextNode('"' + r[f] + '"'));
109109
values_seen.push(r[f]);
110110
}
111-
if(values_seen.length >= 5){
111+
if (values_seen.length >= 5) {
112112
break;
113113
}
114114
}
@@ -131,7 +131,7 @@ function get_results(hashes, fields_to_add) {
131131
return formData;
132132
});
133133
var rows_done = 0;
134-
return Promise.all(formDatas.map(formData =>
134+
return Promise.all(formDatas.map(formData =>
135135
fetch(hash_url, {
136136
method: 'POST',
137137
body: formData,
@@ -145,9 +145,9 @@ function get_results(hashes, fields_to_add) {
145145
document.getElementById("progress-bar-inner").style.width = percent_done;
146146
return Object.fromEntries(
147147
data.data.map(i => [
148-
i["id"],
148+
i["id"],
149149
Object.fromEntries(
150-
Object.entries(i).filter(v => v[0]!="id")
150+
Object.entries(i).filter(v => v[0] != "id")
151151
)
152152
])
153153
);
@@ -156,31 +156,31 @@ function get_results(hashes, fields_to_add) {
156156
console.log('Error: ', error)
157157
})
158158
))
159-
.then(data => Object.assign({}, ...data))
159+
.then(data => Object.assign({}, ...data))
160160
}
161161

162-
function parse_fields_to_add(fields){
162+
function parse_fields_to_add(fields) {
163163

164-
if(fields.includes("latlng")){
164+
if (fields.includes("latlng")) {
165165
fields.splice(fields.indexOf("latlng"), 1, "lat", "long");
166166
}
167167

168-
if(fields.includes("estnrth")){
168+
if (fields.includes("estnrth")) {
169169
fields.splice(fields.indexOf("estnrth"), 1, "oseast1m", "osnrth1m");
170170
}
171171

172-
if(fields.includes("lep")){
172+
if (fields.includes("lep")) {
173173
fields.splice(fields.indexOf("lep"), 1, "lep1", "lep2");
174174
}
175175

176-
if(fields.includes("lep_name")){
176+
if (fields.includes("lep_name")) {
177177
fields.splice(fields.indexOf("lep_name"), 1, "lep1_name", "lep2_name");
178178
}
179179
return fields;
180180
}
181181

182182
function openSaveFileDialog(data, filename, mimetype) {
183-
// from: https://github.com/mholt/PapaParse/issues/175#issuecomment-395978144
183+
// from: https://github.com/mholt/PapaParse/issues/175#issuecomment-395978144
184184

185185
if (!data) return;
186186

@@ -208,11 +208,11 @@ function openSaveFileDialog(data, filename, mimetype) {
208208

209209
}
210210

211-
function create_new_file(results, new_data, column_name, fields_to_add){
211+
function create_new_file(results, new_data, column_name, fields_to_add) {
212212
return Papa.unparse({
213213
fields: results.meta.fields.concat(fields_to_add),
214214
data: results.data.map(row => Object.assign(
215-
row,
215+
row,
216216
new_data[clean_postcode(row[column_name])]
217217
))
218218
});
@@ -223,14 +223,14 @@ function click_download(results, filename) {
223223

224224
var hashes = new Set(
225225
Array.from(results.data)
226-
.filter(r => r[column_name])
227-
.map(r => hash_postcode(r[column_name])
228-
)
226+
.filter(r => r[column_name])
227+
.map(r => hash_postcode(r[column_name])
228+
)
229229
);
230230
var fields_to_add = parse_fields_to_add(
231231
Array.from(document.getElementsByName("fields"))
232-
.filter(i => i.checked)
233-
.map(i => i.value)
232+
.filter(i => i.checked)
233+
.map(i => i.value)
234234
);
235235
document.getElementById("result").classList.remove("dn");
236236

@@ -246,11 +246,11 @@ function click_download(results, filename) {
246246
}
247247

248248
document.addEventListener('DOMContentLoaded', function (event) {
249-
document.getElementById('reset-select-postcode-field').onclick = function(ev){
249+
document.getElementById('reset-select-postcode-field').onclick = function (ev) {
250250
ev.preventDefault();
251251
set_stage('select-postcode-field');
252252
}
253-
document.getElementById('reset-select-file').onclick = function(ev){
253+
document.getElementById('reset-select-file').onclick = function (ev) {
254254
ev.preventDefault();
255255
set_stage('select-file');
256256
}
@@ -270,7 +270,7 @@ document.addEventListener('DOMContentLoaded', function (event) {
270270
var preview = document.getElementById('csvpreview');
271271
// update_fields_table(results, preview.getElementsByTagName('table')[0]);
272272
update_fields_list(results, preview);
273-
document.getElementById("fetch_postcodes").onclick = function(ev){
273+
document.getElementById("fetch_postcodes").onclick = function (ev) {
274274
ev.preventDefault();
275275
click_download(results, file.files[0].name);
276276
}

0 commit comments

Comments
 (0)