22
33import { type ES_TYPES } from '#mapping/esToAggTypeMap.js' ;
44
5- export const ConfigOptionalProperties = {
5+ export const configOptionalProperties = {
66 DOWNLOADS : 'downloads' ,
77 MATCHBOX : 'matchbox' ,
88 NETWORK_AGGREGATION : 'network' ,
99} as const ;
1010
11- export const ConfigRequiredProperties = {
11+ export const configRequiredProperties = {
1212 DOCUMENT_TYPE : 'documentType' ,
1313 EXTENDED : 'extended' ,
1414 FACETS : 'facets' ,
1515 INDEX : 'index' ,
1616 TABLE : 'table' ,
1717} as const ;
1818
19- export const DataFieldProperties = {
19+ export const dataFieldProperties = {
2020 ACCESSOR : 'accessor' ,
2121 CAN_CHANGE_SHOW : 'canChangeShow' ,
2222 DISPLAY_FORMAT : 'displayFormat' ,
@@ -37,130 +37,129 @@ export const DataFieldProperties = {
3737 UNIT : 'unit' ,
3838} as const ;
3939
40- export const DownloadProperties = {
40+ export const downloadProperties = {
4141 ALLOW_CUSTOM_MAX_DOWNLOAD_ROWS : 'allowCustomMaxRows' ,
4242 MAX_DOWNLOAD_ROWS : 'maxRows' ,
4343} as const ;
4444
45- export const FacetsProperties = {
45+ export const facetsProperties = {
4646 AGGS : 'aggregations' ,
4747} as const ;
4848
49- export const TableProperties = {
49+ export const tableProperties = {
5050 COLUMNS : 'columns' ,
5151 DESCENDING : 'desc' ,
5252 DEFAULT_SORTING : 'defaultSorting' ,
5353 MAX_RESULTS_WINDOW : 'maxResultsWindow' ,
5454 ROW_ID_FIELD_NAME : 'rowIdFieldName' ,
5555} as const ;
5656
57- const NetworkAggregationProperties = {
57+ const networkAggregationProperties = {
5858 GRAPHQL_URL : 'graphqlUrl' ,
5959 DOCUMENT_TYPE : 'documentType' ,
6060 DISPLAY_NAME : 'displayName' ,
6161} as const ;
6262
6363//////////////////////////////////
6464
65- export const ConfigProperties = {
66- ...ConfigRequiredProperties ,
67- ...ConfigOptionalProperties ,
68- ...DataFieldProperties ,
69- ...DownloadProperties ,
70- ...FacetsProperties ,
71- ...TableProperties ,
65+ export const configProperties = {
66+ ...configRequiredProperties ,
67+ ...configOptionalProperties ,
68+ ...dataFieldProperties ,
69+ ...downloadProperties ,
70+ ...facetsProperties ,
71+ ...tableProperties ,
7272} ;
7373
74- export type ConfigProperties = typeof ConfigRequiredProperties | typeof ConfigOptionalProperties ;
74+ export type ConfigProperties = typeof configRequiredProperties | typeof configOptionalProperties ;
7575
76- export interface AggConfigsInterface {
77- [ ConfigProperties . DISPLAY_NAME ] : string ;
78- [ ConfigProperties . DISPLAY_TYPE ] : string ;
79- [ ConfigProperties . FIELD_NAME ] : string ;
80- [ ConfigProperties . IS_ACTIVE ] : boolean ; // TODO: what is this? active = API vs show = UI? "isActive"
81- [ ConfigProperties . SHOW ] : boolean ;
76+ export type AggConfigs = {
77+ [ configProperties . DISPLAY_NAME ] : string ;
78+ [ configProperties . DISPLAY_TYPE ] : string ;
79+ [ configProperties . FIELD_NAME ] : string ;
80+ [ configProperties . IS_ACTIVE ] : boolean ; // TODO: what is this? active = API vs show = UI? "isActive"
81+ [ configProperties . SHOW ] : boolean ;
8282 // TODO: implement these
8383 // max results
8484 // collapsible
85- }
86-
87- export interface ColumnConfigsInterface {
88- [ ConfigProperties . ACCESSOR ] : string ;
89- [ ConfigProperties . CAN_CHANGE_SHOW ] : boolean ;
90- [ ConfigProperties . DISPLAY_FORMAT ] : string ;
91- [ ConfigProperties . DISPLAY_NAME ] : string ;
92- [ ConfigProperties . DISPLAY_TYPE ] : string ;
93- [ ConfigProperties . DISPLAY_VALUES ] : Record < string , any > ; // used for "readable" replacements e.g. true as "yes"
94- [ ConfigProperties . FIELD_NAME ] : string ;
95- [ ConfigProperties . IS_ARRAY ] : boolean ; // should it be displayed as a list of items, or leave as a single string
96- [ ConfigProperties . JSON_PATH ] : string ;
97- [ ConfigProperties . QUERY ] : string ;
98- [ ConfigProperties . SHOW ] : boolean ;
99- [ ConfigProperties . SORTABLE ] : boolean ;
100- }
101-
102- export interface DownloadsConfigsInterface {
103- [ ConfigProperties . ALLOW_CUSTOM_MAX_DOWNLOAD_ROWS ] ?: boolean ;
104- [ ConfigProperties . MAX_DOWNLOAD_ROWS ] ?: number ;
105- }
85+ } ;
86+
87+ export type ColumnConfigs = {
88+ [ configProperties . ACCESSOR ] : string ;
89+ [ configProperties . CAN_CHANGE_SHOW ] : boolean ;
90+ [ configProperties . DISPLAY_FORMAT ] : string ;
91+ [ configProperties . DISPLAY_NAME ] : string ;
92+ [ configProperties . DISPLAY_TYPE ] : string ;
93+ [ configProperties . DISPLAY_VALUES ] : Record < string , any > ; // used for "readable" replacements e.g. true as "yes"
94+ [ configProperties . FIELD_NAME ] : string ;
95+ [ configProperties . IS_ARRAY ] : boolean ; // should it be displayed as a list of items, or leave as a single string
96+ [ configProperties . JSON_PATH ] : string ;
97+ [ configProperties . QUERY ] : string ;
98+ [ configProperties . SHOW ] : boolean ;
99+ [ configProperties . SORTABLE ] : boolean ;
100+ } ;
101+
102+ export type DownloadsConfigs = {
103+ [ configProperties . ALLOW_CUSTOM_MAX_DOWNLOAD_ROWS ] ?: boolean ;
104+ [ configProperties . MAX_DOWNLOAD_ROWS ] ?: number ;
105+ } ;
106106
107107export type DisplayType = 'all' | 'bits' | 'boolean' | 'bytes' | 'date' | 'list' | 'nested' | 'number' ;
108108
109- export interface ExtendedConfigsInterface {
110- [ ConfigProperties . DISPLAY_NAME ] : string ;
111- [ ConfigProperties . DISPLAY_TYPE ] : string ;
112- [ ConfigProperties . DISPLAY_VALUES ] : Record < string , any > ;
113- [ ConfigProperties . FIELD_NAME ] : string ;
114- [ ConfigProperties . IS_ACTIVE ] : boolean ; // TODO: what is this?
115- [ ConfigProperties . IS_ARRAY ] : boolean ;
116- [ ConfigProperties . PRIMARY_KEY ] : boolean ;
117- [ ConfigProperties . QUICKSEARCH_ENABLED ] : boolean ;
118- [ ConfigProperties . RANGE_STEP ] : number ;
119- [ ConfigProperties . TYPE ] : DisplayType ;
120- [ ConfigProperties . UNIT ] : string ;
121- }
122-
123- export interface FacetsConfigsInterface {
124- [ ConfigProperties . AGGS ] : AggConfigsInterface [ ] ;
125- }
126-
127- export interface MatchBoxConfigsInterface {
128- [ ConfigProperties . DISPLAY_NAME ] : string ;
129- [ ConfigProperties . FIELD_NAME ] : string ;
130- }
131-
132- export interface SortingConfigsInterface {
133- [ ConfigProperties . DESCENDING ] : boolean ;
134- [ ConfigProperties . FIELD_NAME ] : string ;
135- [ ConfigProperties . IS_ACTIVE ] : boolean ;
136- }
137-
138- export interface TableConfigsInterface {
139- [ ConfigProperties . COLUMNS ] : ColumnConfigsInterface [ ] ;
140- [ ConfigProperties . DEFAULT_SORTING ] ?: SortingConfigsInterface [ ] ;
141- [ ConfigProperties . MAX_RESULTS_WINDOW ] ?: number ;
142- [ ConfigProperties . ROW_ID_FIELD_NAME ] ?: string ;
143- }
144-
145- interface NetworkAggregationInterface {
146- [ NetworkAggregationProperties . GRAPHQL_URL ] : string ;
147- [ NetworkAggregationProperties . DOCUMENT_TYPE ] : string ;
148- [ NetworkAggregationProperties . DISPLAY_NAME ] : string ;
149- }
150- [ ] ;
151-
152- export interface ConfigObject {
153- [ ConfigProperties . DOCUMENT_TYPE ] : string ;
154- [ ConfigProperties . DOWNLOADS ] ?: DownloadsConfigsInterface ;
155- [ ConfigProperties . EXTENDED ] : any [ ] ;
156- [ ConfigProperties . FACETS ] : FacetsConfigsInterface ;
157- [ ConfigProperties . INDEX ] : string ;
158- [ ConfigProperties . MATCHBOX ] : any [ ] ;
159- [ ConfigProperties . TABLE ] : TableConfigsInterface ;
160- [ ConfigProperties . NETWORK_AGGREGATION ] : any [ ] ;
161- }
162-
163- export interface FieldFromMapping {
109+ export type ExtendedConfigs = {
110+ [ configProperties . DISPLAY_NAME ] : string ;
111+ [ configProperties . DISPLAY_TYPE ] : string ;
112+ [ configProperties . DISPLAY_VALUES ] : Record < string , any > ;
113+ [ configProperties . FIELD_NAME ] : string ;
114+ [ configProperties . IS_ACTIVE ] : boolean ; // TODO: what is this?
115+ [ configProperties . IS_ARRAY ] : boolean ;
116+ [ configProperties . PRIMARY_KEY ] : boolean ;
117+ [ configProperties . QUICKSEARCH_ENABLED ] : boolean ;
118+ [ configProperties . RANGE_STEP ] : number ;
119+ [ configProperties . TYPE ] : DisplayType ;
120+ [ configProperties . UNIT ] : string ;
121+ } ;
122+
123+ export type FacetsConfigs = {
124+ [ configProperties . AGGS ] : AggConfigs [ ] ;
125+ } ;
126+
127+ export type MatchBoxConfigs = {
128+ [ configProperties . DISPLAY_NAME ] : string ;
129+ [ configProperties . FIELD_NAME ] : string ;
130+ } ;
131+
132+ export type SortingConfigs = {
133+ [ configProperties . DESCENDING ] : boolean ;
134+ [ configProperties . FIELD_NAME ] : string ;
135+ [ configProperties . IS_ACTIVE ] : boolean ;
136+ } ;
137+
138+ export type TableConfigs = {
139+ [ configProperties . COLUMNS ] : ColumnConfigs [ ] ;
140+ [ configProperties . DEFAULT_SORTING ] ?: SortingConfigs [ ] ;
141+ [ configProperties . MAX_RESULTS_WINDOW ] ?: number ;
142+ [ configProperties . ROW_ID_FIELD_NAME ] ?: string ;
143+ } ;
144+
145+ export type NetworkAggregation = {
146+ [ networkAggregationProperties . GRAPHQL_URL ] : string ;
147+ [ networkAggregationProperties . DOCUMENT_TYPE ] : string ;
148+ [ networkAggregationProperties . DISPLAY_NAME ] : string ;
149+ } ;
150+
151+ export type ConfigObject = {
152+ [ configProperties . DOCUMENT_TYPE ] : string ;
153+ [ configProperties . DOWNLOADS ] ?: DownloadsConfigs ;
154+ [ configProperties . EXTENDED ] : any [ ] ;
155+ [ configProperties . FACETS ] : FacetsConfigs ;
156+ [ configProperties . INDEX ] : string ;
157+ [ configProperties . MATCHBOX ] : any [ ] ;
158+ [ configProperties . TABLE ] : TableConfigs ;
159+ [ configProperties . NETWORK_AGGREGATION ] : NetworkAggregation [ ] ;
160+ } ;
161+
162+ export type FieldFromMapping = {
164163 fieldName : string ;
165164 type : ES_TYPES ;
166- }
165+ } ;
0 commit comments