customSort()

in genai-for-marketing/frontend/src/app/campaign-list/campaign-list.component.ts [132:146]


  customSort(event: SortEvent) {
    event?.data?.sort((data1, data2) => {
      let value1 = data1[event?.field!];
      let value2 = data2[event?.field!];
      let result = null;

      if (value1 == null && value2 != null) result = -1;
      else if (value1 != null && value2 == null) result = 1;
      else if (value1 == null && value2 == null) result = 0;
      else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2);
      else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;

      return event?.order! * result;
    });
  }