__calculateNavList() {
    const start = 1;
    const finish = this.count;
    // If there are more pages then we want to display we have to redo the list each time
    // Else we can just return the same list every time.
    if (this.count > this.__visiblePages) {
      // Calculate left side of current page and right side
      const pos3 = this.current - 1;
      const pos4 = this.current;
      const pos5 = this.current + 1;
      //  if pos 3 is lower than 4 we have a predefined list of elements
      if (pos4 <= 4) {
        const list = /** @type {(number|'...')[]} */ (
          [...Array(this.__visiblePages)].map((_, idx) => start + idx)
        );
        list.push('...');
        list.push(this.count);
        return list;
      }
      //  if we are close to the end of the list with the current page then we have again a predefined list
      if (finish - pos4 <= 3) {
        const list = /** @type {(number|'...')[]} */ ([]);
        list.push(1);
        list.push('...');
        const listRemaining = [...Array(this.__visiblePages)].map(
          (_, idx) => this.count - this.__visiblePages + 1 + idx,
        );
        return list.concat(listRemaining);
      }

      return [start, '...', pos3, pos4, pos5, '...', finish];
    }
    return [...Array(finish - start + 1)].map((_, idx) => start + idx);
  }
Calculate nav list based on current page selection.
@returns {(number|'...')[]}
@private