Code coverage report for src/bulkselection/bulkselection.component.js

Statements: 84.85% (28 / 33)      Branches: 66.67% (10 / 15)      Functions: 100% (6 / 6)      Lines: 84.85% (28 / 33)      Ignored: none     

All files » src/bulkselection/ » bulkselection.component.js
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 601                     36 36 36 36 36   36 36   36 4 4 4   36 3 1   2     36 40 40   38 38   2 2           36 212 212     212   212            
angular.module('patternfly.bulkselection').component('pfBulkSelection', {
 
  bindings: {
    totalRecords: '=',
    selectedRecordCount: '=',
    updateSelectionFn: '<'
  },
  templateUrl: 'bulkselection/bulkselection.html',
  controller: function () {
    'use strict';
 
    var ctrl = this;
    var BULKSELECTION_NONE = 'none';
    var BULKSELECTION_ALL = 'all';
    var BULKSELECTION_PARTIAL = 'partial';
    ctrl.menuIsOpen = false;
 
    ctrl.$onInit = function () {
      ctrl.setBulkSelectionState(BULKSELECTION_NONE);
    };
    ctrl.updateBulkSelection = function (bulkSelectAction) {
      ctrl.menuIsOpen = false;
      ctrl.setBulkSelectionState (bulkSelectAction);
      ctrl.updateSelectionFn(ctrl.bulkSelection);
    };
    ctrl.toggleBulkSelection = function () {
      if (ctrl.selectedRecordCount > 0 || ctrl.bulkSelection === BULKSELECTION_ALL) {
        ctrl.updateBulkSelection(BULKSELECTION_NONE);
      } else {
        ctrl.updateBulkSelection(BULKSELECTION_ALL);
      }
    };
    ctrl.setBulkSelectionState = function(state) {
      ctrl.bulkSelection = state;
      switch (state) {
      case BULKSELECTION_NONE:
        ctrl.menuClass = 'fa-square-o';
        break;
      case BULKSELECTION_ALL:
        ctrl.menuClass = 'fa-check-square all-selected';
        break;
      case BULKSELECTION_PARTIAL:
        ctrl.menuClass = 'fa-minus-square-o partially-selected';
        break;
      }
    };
    ctrl.$doCheck = function () {
      var recordsSelectedCount = ctrl.totalRecords - ctrl.selectedRecordCount;
      Iif (ctrl.selectedRecordCount === 0) {
        ctrl.setBulkSelectionState(BULKSELECTION_NONE);
      }
      Iif (recordsSelectedCount > 0 && ctrl.selectedRecordCount > 0 ) {
        ctrl.setBulkSelectionState(BULKSELECTION_PARTIAL);
      } else Iif (recordsSelectedCount === 0) {
        ctrl.setBulkSelectionState(BULKSELECTION_ALL);
      }
    };
  }
});