onSort()

in metron-interface/metron-config/src/app/sensors/sensor-parser-list/sensor-parser-list.component.ts [84:119]


  onSort($event: SortEvent) {
    switch ($event.sortBy) {
      case 'sensorName':
        this.sensors.sort((obj1: SensorParserConfigHistory, obj2: SensorParserConfigHistory) => {
          if ($event.sortOrder === Sort.ASC) {
            return obj1.sensorName.localeCompare(obj2.sensorName);
          }
          return obj2.sensorName.localeCompare(obj1.sensorName);
        });
        break;
      case 'parserClassName':
        this.sensors.sort((obj1: SensorParserConfigHistory, obj2: SensorParserConfigHistory) => {
          if ($event.sortOrder === Sort.ASC) {
            return this.getParserType(obj1.config).localeCompare(this.getParserType(obj2.config));
          }
          return this.getParserType(obj2.config).localeCompare(this.getParserType(obj1.config));
        });
        break;
      case 'status':
      case 'modifiedBy':
      case 'modifiedByDate':
      case 'latency':
      case 'throughput':
        this.sensors.sort((obj1: SensorParserConfigHistory, obj2: SensorParserConfigHistory) => {
          if (!obj1[$event.sortBy] || !obj1[$event.sortBy]) {
            return 0;
          }
          if ($event.sortOrder === Sort.ASC) {
            return obj1[$event.sortBy].localeCompare(obj2[$event.sortBy]);
          }

          return obj2[$event.sortBy].localeCompare(obj1[$event.sortBy]);
        });
        break;
    }
  }