reorderValues(valuesArr, oldPosition, newPosition, movedBelow) {
    if (!_.isArray(valuesArr) || _.isEmpty(valuesArr)) {
      return;
    }

    const draggedRowData = valuesArr[oldPosition];
    //insert element at new position
    valuesArr.splice(newPosition, 0, draggedRowData);
    //remove element from old position (if was moved above, after insertion it's at +1 index)
    valuesArr.splice(movedBelow ? oldPosition : oldPosition + 1, 1);
  }
Reorder values in array based on the old and new position
@param {any} valuesArr - An array of values.
@param {number} oldPosition - The index of the value in array before reordering.
@param {number} newPosition - The index of the value in array after reordering.
@param {boolean|any} movedBelow - Whether or not the value is moved below.
@returns {void}