import { Picker } from '../util';


export interface SortParams {
    sortByKey: string,
    sortDirection: string,
}
export enum SortDirection {
    ASC = 'ASC',
    DESC = 'DESC'
}
export enum EduEventSortKey {
    NAME = 'DisplayNameCombined',
    REGISTRATION = 'RegistrationDeadline',
    START = 'StartDate',
    TYPE = 'EventEducationType',
    CAPACITY = 'CapacityCourse',
};
export enum EduEventMySortKey {
    NAME = 'DisplayNameCombined',
    START = 'StartDate',
    TYPE = 'EventEducationType',
    CAPACITY = 'CapacityCourse',
    UNIT = 'UnitFullName',
    RELATION = 'RelationType',
};

export enum CampEventSortKey {
    NAME = 'DisplayName',
    START = 'StartDate',
    END = 'EndDate',
    UNIT = 'Unit',
    REGISTRATION_NUMBER = 'RegistrationNumber',
    STATE = 'EventCampState',
    LOCATION = 'Location',
    PERSON_LEADER = 'PersonLeader',
    MOBILE_CONTACT_DISPLAY = 'MobileContactDisplay',

}

export enum GenEventSortKey {
    NAME = 'DisplayName',
    START = 'StartDate',
    END = 'EndDate',
    UNIT = 'Unit',
    REGISTRATION_NUMBER = 'RegistrationNumber',
    TYPE = 'EventGeneralType',
    SCOPE = 'EventGeneralScope',
    STATE = 'EventGeneralState',
};
export enum CongEventSortKey {
    NAME = 'Event',
    START = 'StartDate',
    END = 'EndDate',
    UNIT = 'Unit',
    LOCATION = 'Location',
    TYPE = 'EventCongressType',
};

export enum CampParticipantSortKey {
    NAME = 'Person',
    BIRTHDAY = 'Birthday',
    AGE = 'Age',
    STREET = 'Street',
    Assurance = 'Assurance',
    CATEGORY = 'Category',
    UNIT_REGISTRATION_NUMBER = 'UnitRegistrationNumber',
    ESTIMATE = 'Estimate',
    REAL = 'Real',
    DAYS = 'Days',
    NOTE = 'Note'
};
export enum CampMultiPersonAddSortKey {
    NAME = 'DisplayName',
    BIRTHDAY = 'Birthday',
    REGISTRATION_NUMBER = 'RegistrationNumber',
    UNIT = 'Unit',
    ISPARTICIPANT = 'IsParticipant',
    MEMBERSHIP_TYPE = 'MembershipType',
    MEMBERSHIP_CATEGORY = 'MembershipCategory',
};
export enum GenParticipantSortKey {
    NAME = 'Person',
    BIRTHDAY = 'Birthday',
    STREET = 'Street',
    CATEGORY = 'ParticipantCategory',
    UNIT_REGISTRATION_NUMBER = 'UnitRegistrationNumber',
    DAYS = 'Days',
    NOTE = 'Note'
};

export const formattedGenParticipantSortKeys: Array<Picker> = [
    { key: GenParticipantSortKey.NAME, label: 'Účastník' },
    { key: GenParticipantSortKey.BIRTHDAY, label: 'Datum narození' },
    { key: GenParticipantSortKey.STREET, label: 'Adresa' },
    { key: GenParticipantSortKey.CATEGORY, label: 'Kategorie' },
    { key: GenParticipantSortKey.UNIT_REGISTRATION_NUMBER, label: 'Jednotka' },
    { key: GenParticipantSortKey.DAYS, label: 'Počet dnů' },
    { key: GenParticipantSortKey.NOTE, label: 'Poznámka' }
];

export const formattedCampParticipantSortKeys: Array<Picker> = [
    { key: CampParticipantSortKey.NAME, label: 'Účastník' },
    { key: CampParticipantSortKey.BIRTHDAY, label: 'Datum narození' },
    { key: CampParticipantSortKey.AGE, label: 'Věk' },
    { key: CampParticipantSortKey.Assurance, label: 'Pojišťovna' },
    { key: CampParticipantSortKey.STREET, label: 'Adresa' },
    { key: CampParticipantSortKey.CATEGORY, label: 'Kategorie' },
    { key: CampParticipantSortKey.UNIT_REGISTRATION_NUMBER, label: 'Jednotka' },
    { key: CampParticipantSortKey.ESTIMATE, label: 'Předpokládaná účast' },
    { key: CampParticipantSortKey.REAL, label: 'Skutečná účast' },
    { key: CampParticipantSortKey.DAYS, label: 'Skutečný počet dnů' },
    { key: CampParticipantSortKey.NOTE, label: 'Poznámka' }
];
export const formattedCampMultiPersonAddSortKeys: Array<Picker> = [
    { key: CampMultiPersonAddSortKey.NAME, label: 'Jméno' },
    // { key: CampMultiPersonAddSortKey.BIRTHDAY, label: 'Datum narození' },
    { key: CampMultiPersonAddSortKey.REGISTRATION_NUMBER, label: 'Evidenční číslo' },
    { key: CampMultiPersonAddSortKey.UNIT, label: 'Jednotka' },
    { key: CampMultiPersonAddSortKey.ISPARTICIPANT, label: 'Je účastník' },
    { key: CampMultiPersonAddSortKey.MEMBERSHIP_CATEGORY, label: 'Výchovná kategorie' },
    { key: CampMultiPersonAddSortKey.MEMBERSHIP_TYPE, label: 'Typ členství' },
];

export const formattedSortDirection: Array<Picker> = [
    { key: SortDirection.ASC, label: 'Vzestupně' },
    { key: SortDirection.DESC, label: 'Sestupně' }
];
export const formattedCampEventSortKeys: Array<Picker> = [
    { key: CampEventSortKey.NAME, label: 'Dle jména' },
    { key: CampEventSortKey.START, label: 'Dle začátku' },
    { key: CampEventSortKey.END, label: 'Dle konce' },
    { key: CampEventSortKey.REGISTRATION_NUMBER, label: 'Dle evidenčního čísla' },
    { key: CampEventSortKey.UNIT, label: 'Dle jednotky' },
    { key: CampEventSortKey.STATE, label: 'Dle stavu' },
    { key: CampEventSortKey.LOCATION, label: 'Dle místa' },
    { key: CampEventSortKey.PERSON_LEADER, label: 'Dle vedúcího' },
    { key: CampEventSortKey.MOBILE_CONTACT_DISPLAY, label: 'Dle telefonního čísla' },
];
export const formattedCongEventSortKeys: Array<Picker> = [
    { key: CongEventSortKey.NAME, label: 'Dle jména' },
    { key: CongEventSortKey.START, label: 'Dle začátku' },
    { key: CongEventSortKey.END, label: 'Dle konce' },
    { key: CongEventSortKey.UNIT, label: 'Dle jednotky' },
    { key: CongEventSortKey.LOCATION, label: 'Dle místa' },
    { key: CongEventSortKey.TYPE, label: 'Dle typu' },
];

export const formattedGenEventSortKeys: Array<Picker> = [
    { key: GenEventSortKey.NAME, label: 'Dle jména' },
    { key: GenEventSortKey.START, label: 'Dle začátku' },
    { key: GenEventSortKey.END, label: 'Dle konce' },
    { key: GenEventSortKey.REGISTRATION_NUMBER, label: 'Dle evidenčního čísla' },
    { key: GenEventSortKey.UNIT, label: 'Dle jednotky' },
    { key: GenEventSortKey.TYPE, label: 'Dle typu' },
    { key: GenEventSortKey.SCOPE, label: 'Dle rozsahu' },
    { key: GenEventSortKey.STATE, label: 'Dle stavu' },
]

export const formattedEduEventSortKeys: Array<Picker> = [
    { key: EduEventSortKey.NAME, label: 'Dle jména' },
    { key: EduEventSortKey.REGISTRATION, label: 'Dle přihlašování' },
    { key: EduEventSortKey.START, label: 'Dle začátku kurzu' },
    { key: EduEventSortKey.TYPE, label: 'Dle typu' },
    { key: EduEventSortKey.CAPACITY, label: 'Dle kapacity' },
];
export const formattedEduEventMySortKeys: Array<Picker> = [
    { key: EduEventMySortKey.NAME, label: 'Dle jména' },
    { key: EduEventMySortKey.START, label: 'Dle začátku kurzu' },
    { key: EduEventMySortKey.TYPE, label: 'Dle typu' },
    { key: EduEventMySortKey.CAPACITY, label: 'Dle kapacity' },
    { key: EduEventMySortKey.UNIT, label: 'Dle jednotky' },
    { key: EduEventMySortKey.RELATION, label: 'Dle vztahu k akci' },
];
