Example #1
0
  renderAllegation: function (categoryId, officerAllegations, allegation) {
    var firstOfficerAllegation = CollectionUtil.first(officerAllegations);

    return (
      <div key={ categoryId }>
        <OfficerAllegationItem officerAllegation={ firstOfficerAllegation } officerAllegations={ officerAllegations }
          allegation={ allegation }/>
      </div>
    );
  },
Example #2
0
var ComplaintPagePresenter = function (data, categoryHashId) {
  var categoryId = CollectionUtil.first(HashUtil.decode(categoryHashId));

  var officerAllegations = function () {
    var officerAllegations = u.fetch(data, 'allegation.officer_allegation_set', []);
    officerAllegations.sort(function (a, b) {
      return b.officer['allegations_count'] - a.officer['allegations_count'];
    });

    return officerAllegations;
  };

  var getAgainstOfficerAllegations = function () {
    return officerAllegations().filter(function (officerAllegation) {
      return u.fetch(officerAllegation, 'cat.id', 0) == categoryId;
    });
  };

  var getAccompliceOfficerAllegations = function () {
    return officerAllegations().filter(function (officerAllegation) {
      return u.fetch(officerAllegation, 'cat.id', 0) != categoryId;
    });
  };

  var currentOfficerAllegation = function () {
    var againstOfficerAllegations = getAgainstOfficerAllegations();
    return againstOfficerAllegations && againstOfficerAllegations[0];
  };

  var numberOfOfficerAllegations = function () {
    return Object.keys(CollectionUtil.groupBy(officerAllegations(), function (officerAllegation) {
      return u.fetch(officerAllegation, 'cat.id');
    })).length;
  };

  return {
    accompliceOfficerAllegation: getAccompliceOfficerAllegations(),
    againstOfficerAllegations: getAgainstOfficerAllegations(),
    allegation: u.fetch(data, 'allegation', {}),
    complainingWitnesses: u.fetch(data, 'complaining_witnesses'),
    currentOfficerAllegation: currentOfficerAllegation(),
    officerAllegations: officerAllegations(),
    isInvalidCategory: !currentOfficerAllegation(),
    numberOfOfficerAllegations: numberOfOfficerAllegations()
  };
};
Example #3
0
 it('should return first element if collection is not empty', function () {
   var items = [1, 2];
   CollectionUtil.first(items).should.be.equal(1);
 });
Example #4
0
    it('should return null if collection is empty', function () {
      var items = [];

      var first = CollectionUtil.first(items);
      should(first).be.exactly(null);
    });