@@ -166,8 +166,18 @@ type ValidationStatusInfo = {
166166 id? : number
167167 label? : string
168168}
169+
170+ const MODIFICATION_UNMODIFIED = 1
171+ const MODIFICATION_ALLOWED = 2
172+ const MODIFICATION_VIOLATION = 3
173+
174+ type ModificationValidationStatus =
175+ typeof MODIFICATION_UNMODIFIED
176+ | typeof MODIFICATION_ALLOWED
177+ | typeof MODIFICATION_VIOLATION
178+
169179type ValidationModificationInfo = {
170- status? : number
180+ status? : ModificationValidationStatus
171181 valid? : boolean
172182}
173183type ValidationDisplaySigner = SignerDetailRecord & {
@@ -310,10 +320,16 @@ function isValidationModificationInfo(value: unknown): value is ValidationModifi
310320 return false
311321 }
312322
313- return isOptionalField (value , ' status' , fieldValue => typeof fieldValue === ' number ' )
323+ return isOptionalField (value , ' status' , isModificationValidationStatus )
314324 && isOptionalField (value , ' valid' , fieldValue => typeof fieldValue === ' boolean' )
315325}
316326
327+ function isModificationValidationStatus(value : unknown ): value is ModificationValidationStatus {
328+ return value === MODIFICATION_UNMODIFIED
329+ || value === MODIFICATION_ALLOWED
330+ || value === MODIFICATION_VIOLATION
331+ }
332+
317333function isValidationMetadataDimension(value : unknown ): value is ValidationMetadataDimension {
318334 if (! isRecord (value )) {
319335 return false
@@ -850,29 +866,36 @@ function hasDocMdpInfo(signer: ValidationDisplaySigner) {
850866 return signer .docmdp || signer .modifications || signer .modification_validation
851867}
852868
853- function getModificationStatusIcon (signer : ValidationDisplaySigner ) {
869+ function getModificationStatusVariant (signer : ValidationDisplaySigner ): ' success ' | ' error ' | ' default ' {
854870 if (! signer .modification_validation ) {
855- return null
871+ return ' default '
856872 }
873+
857874 const status = signer .modification_validation .status
858875 const valid = signer .modification_validation .valid
859876
860- if (valid && status === 2 ) return mdiCheckCircle
861- if (status === 1 ) return mdiCheckCircle
862- if (status === 3 ) return mdiCancel
863- return mdiHelpCircle
864- }
877+ if ((valid && status === MODIFICATION_ALLOWED ) || status === MODIFICATION_UNMODIFIED ) {
878+ return ' success'
879+ }
865880
866- function getModificationStatusClass(signer : ValidationDisplaySigner ) {
867- if (! signer .modification_validation ) {
868- return ' '
881+ if (status === MODIFICATION_VIOLATION ) {
882+ return ' error'
869883 }
870- const status = signer .modification_validation .status
871- const valid = signer .modification_validation .valid
872884
873- if (valid && status === 2 ) return ' icon-success'
874- if (status === 1 ) return ' icon-success'
875- if (status === 3 ) return ' icon-error'
885+ return ' default'
886+ }
887+
888+ function getModificationStatusIcon(signer : ValidationDisplaySigner ) {
889+ const variant = getModificationStatusVariant (signer )
890+ if (variant === ' success' ) return mdiCheckCircle
891+ if (variant === ' error' ) return mdiCancel
892+ return signer .modification_validation ? mdiHelpCircle : null
893+ }
894+
895+ function getModificationStatusClass(signer : ValidationDisplaySigner ) {
896+ const variant = getModificationStatusVariant (signer )
897+ if (variant === ' success' ) return ' icon-success'
898+ if (variant === ' error' ) return ' icon-error'
876899 return ' '
877900}
878901
0 commit comments