in src/utils.ts [376:408]
public static GET_INDEX_BY_POSITION(
elements: number[],
widthOfElement: number,
position: number,
offset: number = 0): number {
elements = elements || [];
const length: number = elements.length;
if (!Utils.IS_VALUE_EMPTY(elements[0])
&& !Utils.IS_VALUE_EMPTY(elements[1])
&& position <= elements[1] * widthOfElement + offset) {
return 0;
} else if (
!Utils.IS_VALUE_EMPTY(elements[length - 1])
&& position >= elements[length - 1] * widthOfElement + offset) {
return length - 1;
}
for (let i: number = 1; i < length; i++) {
const left: number = elements[i] * widthOfElement + offset;
const right: number = elements[i + 1] * widthOfElement + offset;
if (position >= left && position <= right) {
return i;
}
}
return 0;
}