mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-12 09:00:40 +00:00
Fix edge case problems in corpus analysis
This commit is contained in:
@ -161,24 +161,15 @@ class ResultsList extends List {
|
||||
/**
|
||||
* Creates cpos either from ranges or not.
|
||||
*/
|
||||
helperCreateCpos(cpos_ranges, cpos_values) {
|
||||
let lc;
|
||||
let c;
|
||||
let rc;
|
||||
if (cpos_ranges) {
|
||||
/**
|
||||
* Python range like function from MDN
|
||||
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Sequence_generator_(range)
|
||||
*/
|
||||
const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
|
||||
lc = range(cpos_values.lc[0], cpos_values.lc[1], 1)
|
||||
c = range(cpos_values.c[0], cpos_values.c[1], 1)
|
||||
rc = range(cpos_values.rc[0], cpos_values.rc[1], 1)
|
||||
} else {
|
||||
lc = cpos_values.lc;
|
||||
c = cpos_values.c;
|
||||
rc = cpos_values.rc;
|
||||
}
|
||||
helperCreateCpos(cpos_values) {
|
||||
let lc, c, rc;
|
||||
/**
|
||||
* Python range like function from MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Sequence_generator_(range)
|
||||
*/
|
||||
const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
|
||||
lc = cpos_values.lc ? range(cpos_values.lc[0], cpos_values.lc[1], 1) : [];
|
||||
c = range(cpos_values.c[0], cpos_values.c[1], 1);
|
||||
rc = cpos_values.rc ? range(cpos_values.rc[0], cpos_values.rc[1], 1) : [];
|
||||
return {lc: lc, c: c, rc: rc};
|
||||
}
|
||||
|
||||
@ -398,8 +389,7 @@ class ResultsList extends List {
|
||||
])
|
||||
let uniqueS = new Set();
|
||||
let uniqueContextS = new Set();
|
||||
let {lc, c, rc} = this.helperCreateCpos(results.inspectResultsData.cpos_ranges,
|
||||
results.inspectResultsData.matches[0]);
|
||||
let {lc, c, rc} = this.helperCreateCpos(results.inspectResultsData.matches[0]);
|
||||
// Create sentence strings as tokens.
|
||||
let tokenHTMLArray = [];
|
||||
let htmlTokenStr = ``;
|
||||
@ -680,8 +670,7 @@ class ResultsList extends List {
|
||||
createResultRowElement(item, chunk, client, imported=false) {
|
||||
// Gather values from item.
|
||||
let values = item.values();
|
||||
let {lc, c, rc} = this.helperCreateCpos(chunk.cpos_ranges,
|
||||
values)
|
||||
let {lc, c, rc} = this.helperCreateCpos(values)
|
||||
// Get infos for full match row.
|
||||
let matchRowElement = document.createElement("tr");
|
||||
matchRowElement.setAttribute("data-index", values.index)
|
||||
@ -845,4 +834,4 @@ class ResultsList extends List {
|
||||
export {
|
||||
ViewEventListener,
|
||||
ResultsList
|
||||
};
|
||||
};
|
||||
|
Reference in New Issue
Block a user