66 */
77
88import { v4 as uuid4 } from 'uuid' ;
9- import {
10- CONTINGENCY_LIST_EQUIPMENTS ,
11- type CriteriaBasedData ,
12- EquipmentType ,
13- FieldConstants ,
14- getCriteriaBasedFormData ,
15- } from '@gridsuite/commons-ui' ;
16- import type { SetRequired } from 'type-fest' ;
9+ import { EquipmentType , FieldConstants } from '@gridsuite/commons-ui' ;
1710import { prepareContingencyListForBackend } from '../contingency-list-helper' ;
1811import { ContingencyListType } from '../../../utils/elementType' ;
1912import {
@@ -42,15 +35,8 @@ export type ContingencyListFormData = {
4235 [ FieldConstants . EQUIPMENT_IDS ] ?: ( string | null | undefined ) [ ] ;
4336 } [ ] ;
4437 [ FieldConstants . CONTINGENCY_LIST_TYPE ] ?: string | null ;
45- [ FieldConstants . EQUIPMENT_TYPE ] ?: string | null ;
46- [ FieldConstants . CRITERIA_BASED ] ?: CriteriaBasedData ;
4738} ;
4839
49- export type ContingencyListFormDataWithRequiredCriteria = SetRequired <
50- ContingencyListFormData ,
51- FieldConstants . CRITERIA_BASED
52- > ;
53-
5440export const makeDefaultRowData = ( ) => ( {
5541 [ FieldConstants . AG_GRID_ROW_UUID ] : uuid4 ( ) ,
5642 [ FieldConstants . CONTINGENCY_NAME ] : '' ,
@@ -64,17 +50,8 @@ export const getContingencyListEmptyFormData = (name = '') => ({
6450 [ FieldConstants . NAME ] : name ,
6551 [ FieldConstants . DESCRIPTION ] : '' ,
6652 [ FieldConstants . EQUIPMENT_TABLE ] : makeDefaultTableRows ( ) ,
67- [ FieldConstants . CONTINGENCY_LIST_TYPE ] : ContingencyListType . CRITERIA_BASED . id ,
53+ [ FieldConstants . CONTINGENCY_LIST_TYPE ] : ContingencyListType . EXPLICIT_NAMING . id ,
6854 [ FieldConstants . EQUIPMENT_TYPE ] : null ,
69- ...getCriteriaBasedFormData ( ) ,
70- } ) ;
71-
72- export const getCriteriaBasedFormDataFromFetchedElement = ( response : any , name : string , description : string ) => ( {
73- [ FieldConstants . NAME ] : name ,
74- [ FieldConstants . DESCRIPTION ] : description ,
75- [ FieldConstants . CONTINGENCY_LIST_TYPE ] : ContingencyListType . CRITERIA_BASED . id ,
76- [ FieldConstants . EQUIPMENT_TYPE ] : response . equipmentType ,
77- ...getCriteriaBasedFormData ( response ) ,
7855} ) ;
7956
8057export const getFilterBasedFormDataFromFetchedElement = (
@@ -117,48 +94,14 @@ export const getExplicitNamingFormDataFromFetchedElement = (response: any, name:
11794 } ;
11895} ;
11996
120- export const getFormContent = (
121- contingencyListId : string | null ,
122- contingencyList : ContingencyListFormDataWithRequiredCriteria
123- ) => {
124- switch ( contingencyList [ FieldConstants . CONTINGENCY_LIST_TYPE ] ) {
125- case ContingencyListType . EXPLICIT_NAMING . id : {
126- return prepareContingencyListForBackend ( contingencyListId , contingencyList ) ;
127- }
128- case ContingencyListType . CRITERIA_BASED . id : {
129- const criteriaBaseForm = contingencyList [ FieldConstants . CRITERIA_BASED ] ;
130- return {
131- equipmentType : contingencyList [ FieldConstants . EQUIPMENT_TYPE ] ,
132- countries : criteriaBaseForm [ FieldConstants . COUNTRIES ] ,
133- countries1 : criteriaBaseForm [ FieldConstants . COUNTRIES_1 ] ,
134- countries2 : criteriaBaseForm [ FieldConstants . COUNTRIES_2 ] ,
135- nominalVoltage : criteriaBaseForm [ FieldConstants . NOMINAL_VOLTAGE ] ,
136- nominalVoltage1 : criteriaBaseForm [ FieldConstants . NOMINAL_VOLTAGE_1 ] ,
137- nominalVoltage2 : criteriaBaseForm [ FieldConstants . NOMINAL_VOLTAGE_2 ] ,
138- } ;
139- }
140- default : {
141- console . info ( `Unknown contingency list type '${ contingencyList [ FieldConstants . CONTINGENCY_LIST_TYPE ] } '` ) ;
142- return null ;
143- }
97+ export const getFormContent = ( contingencyListId : string | null , contingencyList : ContingencyListFormData ) => {
98+ if ( contingencyList [ FieldConstants . CONTINGENCY_LIST_TYPE ] === ContingencyListType . EXPLICIT_NAMING . id ) {
99+ return prepareContingencyListForBackend ( contingencyListId , contingencyList ) ;
144100 }
101+ console . info ( `Unknown contingency list type '${ contingencyList [ FieldConstants . CONTINGENCY_LIST_TYPE ] } '` ) ;
102+ return null ;
145103} ;
146104
147- // Not implemented yet for criteria based contingency lists.
148- // TODO: Exclusions to remove when contingency lists implemented for those equipment types
149- const excludedEquipmentTypes = [
150- EquipmentType . BATTERY ,
151- EquipmentType . LOAD ,
152- EquipmentType . THREE_WINDINGS_TRANSFORMER ,
153- EquipmentType . STATIC_VAR_COMPENSATOR ,
154- ] ;
155-
156- export const SUPPORTED_CONTINGENCY_LIST_EQUIPMENTS = Object . fromEntries (
157- Object . entries ( CONTINGENCY_LIST_EQUIPMENTS ) . filter (
158- ( [ key ] ) => ! excludedEquipmentTypes . includes ( key as EquipmentType )
159- )
160- ) ;
161-
162105export function isSubstationOrVoltageLevelFilter ( filter : FilterElement ) {
163106 return (
164107 filter . specificMetadata . equipmentType === EquipmentType . SUBSTATION ||
0 commit comments