1/*
2 * Constants used by our imagediff-viewing Javascript code.
3 */
4var module = angular.module(
5    'ConstantsModule',
6    []
7);
8
9module.constant('constants', (function() {
10  return {
11    // NOTE: Keep these in sync with ../column.py
12    KEY__EXTRACOLUMNHEADERS__HEADER_TEXT: 'headerText',
13    KEY__EXTRACOLUMNHEADERS__HEADER_URL: 'headerUrl',
14    KEY__EXTRACOLUMNHEADERS__IS_FILTERABLE: 'isFilterable',
15    KEY__EXTRACOLUMNHEADERS__IS_SORTABLE: 'isSortable',
16    KEY__EXTRACOLUMNHEADERS__USE_FREEFORM_FILTER: 'useFreeformFilter',
17    KEY__EXTRACOLUMNHEADERS__VALUES_AND_COUNTS: 'valuesAndCounts',
18
19    // NOTE: Keep these in sync with ../imagediffdb.py
20    KEY__DIFFERENCES__MAX_DIFF_PER_CHANNEL: 'maxDiffPerChannel',
21    KEY__DIFFERENCES__NUM_DIFF_PIXELS: 'numDifferingPixels',
22    KEY__DIFFERENCES__PERCENT_DIFF_PIXELS: 'percentDifferingPixels',
23    KEY__DIFFERENCES__PERCEPTUAL_DIFF: 'perceptualDifference',
24    KEY__DIFFERENCES__DIFF_URL: 'diffUrl',
25    KEY__DIFFERENCES__WHITE_DIFF_URL: 'whiteDiffUrl',
26
27    // NOTE: Keep these in sync with ../imagepair.py
28    KEY__IMAGEPAIRS__DIFFERENCES: 'differenceData',
29    KEY__IMAGEPAIRS__EXPECTATIONS: 'expectations',
30    KEY__IMAGEPAIRS__EXTRACOLUMNS: 'extraColumns',
31    KEY__IMAGEPAIRS__IMAGE_A_URL: 'imageAUrl',
32    KEY__IMAGEPAIRS__IMAGE_B_URL: 'imageBUrl',
33    KEY__IMAGEPAIRS__IS_DIFFERENT: 'isDifferent',
34    KEY__IMAGEPAIRS__SOURCE_JSON_FILE: 'sourceJsonFile',
35
36    // NOTE: Keep these in sync with ../imagepairset.py
37    KEY__ROOT__EXTRACOLUMNHEADERS: 'extraColumnHeaders',
38    KEY__ROOT__EXTRACOLUMNORDER: 'extraColumnOrder',
39    KEY__ROOT__HEADER: 'header',
40    KEY__ROOT__IMAGEPAIRS: 'imagePairs',
41    KEY__ROOT__IMAGESETS: 'imageSets',
42    //
43    KEY__IMAGESETS__FIELD__BASE_URL: 'baseUrl',
44    KEY__IMAGESETS__FIELD__DESCRIPTION: 'description',
45    KEY__IMAGESETS__SET__DIFFS: 'diffs',
46    KEY__IMAGESETS__SET__IMAGE_A: 'imageA',
47    KEY__IMAGESETS__SET__IMAGE_B: 'imageB',
48    KEY__IMAGESETS__SET__WHITEDIFFS: 'whiteDiffs',
49
50    // NOTE: Keep these in sync with ../results.py
51    KEY__EXPECTATIONS__BUGS: 'bugs',
52    KEY__EXPECTATIONS__IGNOREFAILURE: 'ignore-failure',
53    KEY__EXPECTATIONS__REVIEWED: 'reviewed-by-human',
54    //
55    KEY__EXTRACOLUMNS__BUILDER: 'builder',
56    KEY__EXTRACOLUMNS__CONFIG: 'config',
57    KEY__EXTRACOLUMNS__RESULT_TYPE: 'resultType',
58    KEY__EXTRACOLUMNS__TEST: 'test',
59    //
60    KEY__HEADER__DATAHASH: 'dataHash',
61    KEY__HEADER__IS_EDITABLE: 'isEditable',
62    KEY__HEADER__IS_EXPORTED: 'isExported',
63    KEY__HEADER__IS_STILL_LOADING: 'resultsStillLoading',
64    KEY__HEADER__RESULTS_ALL: 'all',
65    KEY__HEADER__RESULTS_FAILURES: 'failures',
66    KEY__HEADER__SCHEMA_VERSION: 'schemaVersion',
67    KEY__HEADER__SET_A_DESCRIPTIONS: 'setA',
68    KEY__HEADER__SET_B_DESCRIPTIONS: 'setB',
69    KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE: 'timeNextUpdateAvailable',
70    KEY__HEADER__TIME_UPDATED: 'timeUpdated',
71    KEY__HEADER__TYPE: 'type',
72    VALUE__HEADER__SCHEMA_VERSION: 5,
73    //
74    KEY__RESULT_TYPE__FAILED: 'failed',
75    KEY__RESULT_TYPE__FAILUREIGNORED: 'failure-ignored',
76    KEY__RESULT_TYPE__NOCOMPARISON: 'no-comparison',
77    KEY__RESULT_TYPE__SUCCEEDED: 'succeeded',
78    //
79    KEY__SET_DESCRIPTIONS__DIR: 'dir',
80    KEY__SET_DESCRIPTIONS__REPO_REVISION: 'repoRevision',
81    KEY__SET_DESCRIPTIONS__SECTION: 'section',
82
83    // NOTE: Keep these in sync with ../server.py
84    KEY__EDITS__MODIFICATIONS: 'modifications',
85    KEY__EDITS__OLD_RESULTS_HASH: 'oldResultsHash',
86    KEY__EDITS__OLD_RESULTS_TYPE: 'oldResultsType',
87    KEY__LIVE_EDITS__MODIFICATIONS: 'modifications',
88    KEY__LIVE_EDITS__SET_A_DESCRIPTIONS: 'setA',
89    KEY__LIVE_EDITS__SET_B_DESCRIPTIONS: 'setB',
90
91    // These are just used on the client side, no need to sync with server code.
92    KEY__IMAGEPAIRS__ROWSPAN: 'rowspan',
93    URL_KEY__SCHEMA_VERSION: 'urlSchemaVersion',
94    URL_VALUE__SCHEMA_VERSION__CURRENT: 1,
95
96    // Utility constants only used on the client side.
97    ASC: 'asc',
98    DESC: 'desc',
99  }
100})())
101