public static GET_INDEX_BY_POSITION()

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;
    }