diff --git a/src/components/results/securityanalysis/security-analysis-result-n.tsx b/src/components/results/securityanalysis/security-analysis-result-n.tsx index c2c2987264..10fad1a808 100644 --- a/src/components/results/securityanalysis/security-analysis-result-n.tsx +++ b/src/components/results/securityanalysis/security-analysis-result-n.tsx @@ -42,6 +42,13 @@ export const SecurityAnalysisResultN: FunctionComponent { return { - headerName: intl.formatMessage({ - id: intlId, - }), + headerName: intl.formatMessage({ id: intlId }), colId: fieldId, field: fieldId, - valueFormatter: (param: ValueFormatterParams) => convertDuration(param.value), context: { sortParams, filterComponent: CustomAggridDurationFilter, @@ -232,6 +230,17 @@ const makeAgGridDurationColumn = ( }, }, }, + valueGetter: (param: ValueGetterParams) => { + if ( + param.data.limitType !== intl.formatMessage({ id: 'CURRENT' }) || + param.data[fieldId] === UNDEFINED_ACCEPTABLE_DURATION + ) { + return ' '; + } else if (param.data[fieldId] === null) { + return intl.formatMessage({ id: 'NoneUpcomingOverload' }); + } + return convertDuration(param.data[fieldId]); + }, }; }; @@ -252,7 +261,7 @@ export const securityAnalysisTableNColumnsDefinition = ( updateFilterCallback: onFilter, }; return [ - makeAgGridCustomHeaderColumn(makeAgGridStringColumn('Equipment', 'locationId', intl, filterParams, sortParams)), + makeAgGridCustomHeaderColumn(makeAgGridStringColumn('Equipment', 'subjectId', intl, filterParams, sortParams)), makeAgGridCustomHeaderColumn({ headerName: intl.formatMessage({ id: 'ViolationType' }), colId: 'limitType', @@ -270,22 +279,48 @@ export const securityAnalysisTableNColumnsDefinition = ( }, }, }), + makeAgGridCustomHeaderColumn(makeAgGridStringColumn('Bus', 'locationId', intl, filterParams, sortParams)), makeAgGridCustomHeaderColumn({ ...makeAgGridStringColumn('LimitNameCurrentViolation', 'limitName', intl, filterParams, sortParams, [ FILTER_TEXT_COMPARATORS.EQUALS, ]), valueFormatter: (params: ValueFormatterParams) => formatNAValue(params.value, intl), }), - makeAgGridCustomHeaderColumn(makeAgGridFloatColumn('LimitLabelAOrKv', 'limit', intl, filterParams, sortParams)), - - makeAgGridCustomHeaderColumn(makeAgGridFloatColumn('CalculatedValue', 'value', intl, filterParams, sortParams)), - makeAgGridCustomHeaderColumn(makeAgGridFloatColumn('LimitLoading', 'loading', intl, filterParams, sortParams)), + makeAgGridCustomHeaderColumn( + makeAgGridFloatColumn('PatlLoading', 'patlLoading', intl, filterParams, sortParams) + ), + makeAgGridCustomHeaderColumn( + makeAgGridDurationColumn('actualOverloadDuration', 'acceptableDuration', intl, filterParams, sortParams) + ), + makeAgGridCustomHeaderColumn( + makeAgGridDurationColumn( + 'upComingOverloadDuration', + 'upcomingAcceptableDuration', + intl, + filterParams, + sortParams + ) + ), + makeAgGridCustomHeaderColumn({ + ...makeAgGridStringColumn( + 'NextLimitNameCurrentViolation', + 'nextLimitName', + intl, + filterParams, + sortParams, + [FILTER_TEXT_COMPARATORS.EQUALS] + ), + valueFormatter: (params: ValueFormatterParams) => formatNAValue(params.value, intl), + }), + makeAgGridCustomHeaderColumn(makeAgGridFloatColumn('LimitLabelAOrKv', 'limit', intl, filterParams, sortParams)), makeAgGridCustomHeaderColumn( - makeAgGridDurationColumn('Overload', 'acceptableDuration', intl, filterParams, sortParams) + makeAgGridFloatColumn('PatlLimitValue', 'patlLimit', intl, filterParams, sortParams) ), + makeAgGridCustomHeaderColumn(makeAgGridFloatColumn('CalculatedValue', 'value', intl, filterParams, sortParams)), + makeAgGridCustomHeaderColumn({ headerName: intl.formatMessage({ id: 'LimitSide' }), colId: 'side', @@ -776,8 +811,11 @@ export const FROM_COLUMN_TO_FIELD_N: Record = { side: 'side', acceptableDuration: 'acceptableDuration', limit: 'limit', + patlLimit: 'patlLimit', value: 'value', loading: 'loading', + patlLoading: 'patlLoading', + upcomingAcceptableDuration: 'upcomingAcceptableDuration', }; export const FROM_COLUMN_TO_FIELD_NMK_CONTINGENCIES: Record = { diff --git a/src/components/results/securityanalysis/security-analysis.type.ts b/src/components/results/securityanalysis/security-analysis.type.ts index 269348fa3b..a0542c27d3 100644 --- a/src/components/results/securityanalysis/security-analysis.type.ts +++ b/src/components/results/securityanalysis/security-analysis.type.ts @@ -144,11 +144,19 @@ export interface SecurityAnalysisResultNmkProps { } export interface SecurityAnalysisNTableRow { + subjectId?: string; + locationId?: string; limit?: number; + limitName?: string | null; limitType?: string; - loading?: number; - subjectId?: string; + nextLimitName?: string | null; value?: number; + loading?: number; + patlLoading?: number; + patlLimit?: number; + acceptableDuration?: number | null; + upcomingAcceptableDuration?: number | null; + side?: string; } export interface SecurityAnalysisResultProps {