constants.ts 3.07 KB
Newer Older
1 2 3 4

import {ValidatorFn} from '@angular/forms';
import {AbstractControl} from '@angular/forms';

5
export const COURSEFIELDS_RECEIVED = 'COURSEFIELDS_RECEIVED';
6
export const COURSEFIELDS_SELECTED_SAVE = 'COURSEFIELDS_SELECTED_SAVE';
7

8 9
export const SECTORFIELDS_RECEIVED = 'SECTORFIELDS_RECEIVED';
export const SECTORFIELDS_SELECTED_SAVE = 'SECTORFIELDS_SELECTED_SAVE';
10
export const SECTORFIELDS_INIT = 'SECTORFIELDS_INIT';
11

12 13
export const REGIONSCHOOLS_RECEIVED = 'REGIONSCHOOLS_RECEIVED';
export const REGIONSCHOOLS_SELECTED_SAVE = 'REGIONSCHOOLS_SELECTED_SAVE';
14
export const REGIONSCHOOLS_ORDER_SAVE = 'REGIONSCHOOLS_ORDER_SAVE';
15
export const REGIONSCHOOLS_INIT = 'REGIONSCHOOLS_INIT';
16

17 18
export const SECTORCOURSES_RECEIVED = 'SECTORCOURSES_RECEIVED';
export const SECTORCOURSES_SELECTED_SAVE = 'SECTORCOURSES_SELECTED_SAVE';
19
export const SECTORCOURSES_INIT = 'SECTORCOURSES_INIT';
20

21
export const STUDENTDATAFIELDS_SAVE = 'STUDENTDATAFIELDS_SAVE';
22
export const STUDENTDATAFIELDS_INIT = 'STUDENTDATAFIELDS_INIT';
23

Open Source Developer's avatar
Open Source Developer committed
24
export const EPALCLASSES_SAVE = 'EPALCLASSES_SAVE';
25
export const EPALCLASSES_INIT = 'EPALCLASSES_INIT';
Open Source Developer's avatar
Open Source Developer committed
26

27
export const LOGININFO_SAVE = 'LOGININFO_SAVE';
28
export const PROFILE_SAVE = 'PROFILE_SAVE';
29
export const STATEMENTAGREE_SAVE = 'STATEMENTAGREE_SAVE';
Open Source Developer's avatar
Open Source Developer committed
30

Open Source Developer's avatar
Open Source Developer committed
31 32 33 34
export const LOGININFO_RECEIVED = 'LOGININFO_RECEIVED';

export const USERINFOS_RECEIVED = 'USERINFOS_RECEIVED';
export const USERINFO_SELECTED_SAVE = 'USERINFO_SELECTED_SAVE';
35

36
export const LOGININFO_INIT = 'LOGININFO_INIT';
37

38
export const CRITERIA_RECEIVED = 'CRITERIA_RECEIVED';
39
export const CRITERIA_SAVE = 'CRITERIA_SAVE';
40
export const CRITERIA_INIT = 'CRITERIA_INIT';
41

42 43 44 45 46
export const VALID_NAMES_PATTERN = '^[A-Za-zΑ-ΩΆΈΉΊΙΎΌΏα-ωάέήίΐύόώ -]*$';
export const VALID_UCASE_NAMES_PATTERN = '^[A-ZΑ-Ω -]*$';
export const VALID_ADDRESS_PATTERN = '^[0-9A-Za-zΑ-ΩΆΈΉΊΎΌΏα-ωάέήίύόώ\/. -]*$';
export const VALID_ADDRESSTK_PATTERN = '^[0-9]{1,5}$';
export const VALID_DIGITS_PATTERN = '^[0-9]*$';
47
export const VALID_TELEPHONE_PATTERN = '^2[0-9]{0,10}$';
48
export const VALID_YEAR_PATTERN = '^(19[6789][0-9]|20[0-1][0-9])$';
49
export const VALID_CAPACITY_PATTERN = '[0-9]*$';
50

51
export const VALID_EMAIL_PATTERN = '[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}';
52 53

export const VALID_DATE_PATTERN = '([1-9]|0[1-9]|[12][0-9]|3[01])[- /.]([1-9]|0[1-9]|1[012])[- /.](19|20)[0-9][0-9]';
54 55 56

export const SCHOOL_ROLE = 'director';
export const STUDENT_ROLE = 'student';
57 58
export const PDE_ROLE = 'pde';
export const DIDE_ROLE = 'dide';
59
export const MINISTRY_ROLE = 'supervisor';
60
export const FIRST_SCHOOL_YEAR = 1950;
61 62 63 64 65

export function maxValue(max: Number): ValidatorFn {
  return (control: AbstractControl): {[key: string]: any} => {
    const input = control.value,
          isValid = input > 99;
66
    if(isValid)
67
        return { 'maxValue': {max} }
68
    else
69 70 71
        return null;
  };
}
Open Source Developer's avatar
Open Source Developer committed
72 73 74 75 76

export function minValue(min: Number): ValidatorFn {
  return (control: AbstractControl): {[key: string]: any} => {
    const input = control.value,
          isValid = input < 1;
77
    if(isValid)
Open Source Developer's avatar
Open Source Developer committed
78
        return { 'minValue': {min} }
79
    else
Open Source Developer's avatar
Open Source Developer committed
80 81 82
        return null;
  };
}