# All files / src/app/shared/models cd-table-selection.ts

100% Statements 11/11
100% Branches 2/2
100% Functions 4/4
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    2991x
    610x

    610x

    91x
    975x
    975x
    975x

    91x
    101x

    91x
     export class CdTableSelection {
      selected: any[] = [];
      hasMultiSelection: boolean;
      hasSingleSelection: boolean;
      hasSelection: boolean;

      constructor() {
        this.update();
      }

      /**
       * Recalculate the variables based on the current number
       * of selected rows.
       */
      update() {
        this.hasSelection = this.selected.length > 0;
        this.hasSingleSelection = this.selected.length === 1;
        this.hasMultiSelection = this.selected.length > 1;
      }

      /**
       * Get the first selected row.
       * @return {any | null}
       */
      first() {
        return this.hasSelection ? this.selected[0] : null;
      }
    }