@@ -10,6 +10,7 @@ import MatchingCard from "./matching/matching-card";
1010import CustomCard from "./custom/custom-card" ;
1111import "./entity-tiles.scss" ;
1212import MergingCard from "./merging/merging-card" ;
13+ import { MappingStepMessages } from "../../config/tooltips.config" ;
1314import { CurationContext } from "../../util/curation-context" ;
1415
1516
@@ -342,76 +343,86 @@ const EntityTiles = (props) => {
342343 }
343344 } ;
344345
346+ // Check if entity name has no matching definition
347+ const titleNoDefinition = ( selectedEntityName ) => {
348+ let entityModels = props . entityModels ;
349+ return ! entityModels [ selectedEntityName ] . model . definitions . hasOwnProperty ( selectedEntityName ) ;
350+ } ;
351+
345352 const outputCards = ( index , entityType , mappingCardData , matchingCardData , mergingCardData , customCardData ) => {
346353 let output ;
347354 if ( viewData [ index ] === "map-" + entityType ) {
348- output = < div className = { styles . cardView } >
349- < MappingCard data = { mappingCardData ? sortStepsByUpdated ( mappingCardData . artifacts ) : [ ] }
350- flows = { props . flows }
351- entityTypeTitle = { entityType }
352- deleteMappingArtifact = { deleteMappingArtifact }
353- createMappingArtifact = { createMappingArtifact }
354- updateMappingArtifact = { updateMappingArtifact }
355- canReadWrite = { canWriteMapping }
356- canReadOnly = { canReadMapping }
357- openStep = { openStep }
358- entityModel = { props . entityModels [ entityType ] }
359- canWriteFlow = { props . canWriteFlow }
360- addStepToFlow = { props . addStepToFlow }
361- addStepToNew = { props . addStepToNew }
362- />
363- </ div > ;
355+ output = ( titleNoDefinition ( entityType ) ) ? < div className = { styles . NoMatchDefTitle } aria-label = { "mappingNoTitleDisplay" } > { MappingStepMessages . titleNoDefinition } </ div >
356+ :< div className = { styles . cardView } >
357+ < MappingCard data = { mappingCardData ? sortStepsByUpdated ( mappingCardData . artifacts ) : [ ] }
358+ flows = { props . flows }
359+ entityTypeTitle = { entityType }
360+ deleteMappingArtifact = { deleteMappingArtifact }
361+ createMappingArtifact = { createMappingArtifact }
362+ updateMappingArtifact = { updateMappingArtifact }
363+ canReadWrite = { canWriteMapping }
364+ canReadOnly = { canReadMapping }
365+ openStep = { openStep }
366+ entityModel = { props . entityModels [ entityType ] }
367+ canWriteFlow = { props . canWriteFlow }
368+ addStepToFlow = { props . addStepToFlow }
369+ addStepToNew = { props . addStepToNew }
370+ />
371+ </ div > ;
364372 } else if ( viewData [ index ] === "match-" + entityType ) {
365- output = < div className = { styles . cardView } >
366- < MatchingCard
367- matchingStepsArray = { matchingCardData ? sortStepsByUpdated ( matchingCardData . artifacts ) : [ ] }
368- flows = { props . flows }
369- entityName = { entityType }
370- deleteMatchingArtifact = { deleteMatchingArtifact }
371- createMatchingArtifact = { createMatchingArtifact }
372- updateMatchingArtifact = { updateMatchingArtifact }
373- canReadMatchMerge = { props . canReadMatchMerge }
374- canWriteMatchMerge = { props . canWriteMatchMerge }
375- entityModel = { props . entityModels [ entityType ] }
376- canWriteFlow = { props . canWriteFlow }
377- addStepToFlow = { props . addStepToFlow }
378- addStepToNew = { props . addStepToNew }
379- />
380- </ div > ;
373+ output = ( titleNoDefinition ( entityType ) ) ? < div className = { styles . NoMatchDefTitle } aria-label = { "matchingNoTitleDisplay" } > { MappingStepMessages . titleNoDefinition } </ div >
374+ : < div className = { styles . cardView } >
375+ < MatchingCard
376+ matchingStepsArray = { matchingCardData ? sortStepsByUpdated ( matchingCardData . artifacts ) : [ ] }
377+ flows = { props . flows }
378+ entityName = { entityType }
379+ deleteMatchingArtifact = { deleteMatchingArtifact }
380+ createMatchingArtifact = { createMatchingArtifact }
381+ updateMatchingArtifact = { updateMatchingArtifact }
382+ canReadMatchMerge = { props . canReadMatchMerge }
383+ canWriteMatchMerge = { props . canWriteMatchMerge }
384+ entityModel = { props . entityModels [ entityType ] }
385+ canWriteFlow = { props . canWriteFlow }
386+ addStepToFlow = { props . addStepToFlow }
387+ addStepToNew = { props . addStepToNew }
388+ />
389+ </ div > ;
381390 //TODO:- Enhance below code for merging when working on DHFPROD-4328
382391 } else if ( viewData [ index ] === "merge-" + entityType ) {
383- output = < div className = { styles . cardView } >
384- < MergingCard
385- mergingStepsArray = { mergingCardData ? sortStepsByUpdated ( mergingCardData . artifacts ) : [ ] }
386- flows = { props . flows }
387- entityName = { entityType }
388- entityModel = { props . entityModels [ entityType ] }
389- canReadMatchMerge = { props . canReadMatchMerge }
390- canWriteMatchMerge = { props . canWriteMatchMerge }
391- deleteMergingArtifact = { deleteMergingArtifact }
392- createMergingArtifact = { createMergingArtifact }
393- updateMergingArtifact = { updateMergingArtifact }
394- addStepToFlow = { props . addStepToFlow }
395- addStepToNew = { props . addStepToNew }
396- canWriteFlow = { props . canWriteFlow }
397- />
398- </ div > ;
392+ output = ( titleNoDefinition ( entityType ) ) ? < div className = { styles . NoMatchDefTitle } aria-label = { "mergingNoTitleDisplay" } > { MappingStepMessages . titleNoDefinition } </ div >
393+ : < div className = { styles . cardView } >
394+ < MergingCard
395+ mergingStepsArray = { mergingCardData ? sortStepsByUpdated ( mergingCardData . artifacts ) : [ ] }
396+ flows = { props . flows }
397+ entityName = { entityType }
398+ entityModel = { props . entityModels [ entityType ] }
399+ canReadMatchMerge = { props . canReadMatchMerge }
400+ canWriteMatchMerge = { props . canWriteMatchMerge }
401+ deleteMergingArtifact = { deleteMergingArtifact }
402+ createMergingArtifact = { createMergingArtifact }
403+ updateMergingArtifact = { updateMergingArtifact }
404+ addStepToFlow = { props . addStepToFlow }
405+ addStepToNew = { props . addStepToNew }
406+ canWriteFlow = { props . canWriteFlow }
407+ />
408+ </ div > ;
399409 } else if ( viewData [ index ] === "custom-" + entityType ) {
400- output = < div className = { styles . cardView } >
401- < div className = { styles . customEntityTitle } aria-label = { "customEntityTitle" } > You can create Custom steps either manually or using Gradle, then deploy them. Deployed Custom steps appear here. Hub Central only allows running Custom steps, not editing or deleting them.</ div >
402- < CustomCard data = { customCardData ? sortStepsByUpdated ( customCardData . artifacts ) : [ ] }
403- flows = { props . flows }
404- entityTypeTitle = { entityType }
405- entityModel = { props . entityModels [ entityType ] }
406- getArtifactProps = { getCustomArtifactProps }
407- updateCustomArtifact = { updateCustomArtifact }
408- canReadOnly = { props . canReadCustom }
409- canReadWrite = { props . canWriteCustom }
410- addStepToFlow = { props . addStepToFlow }
411- addStepToNew = { props . addStepToNew }
412- canWriteFlow = { props . canWriteFlow }
413- />
414- </ div > ;
410+ output = ( titleNoDefinition ( entityType ) ) ? < div className = { styles . NoMatchDefTitle } aria-label = { "customNoTitleDisplay" } > { MappingStepMessages . titleNoDefinition } </ div >
411+ : < div className = { styles . cardView } >
412+ < div className = { styles . customEntityTitle } aria-label = { "customEntityTitle" } > You can create Custom steps either manually or using Gradle, then deploy them. Deployed Custom steps appear here. Hub Central only allows running Custom steps, not editing or deleting them.</ div >
413+ < CustomCard data = { customCardData ? sortStepsByUpdated ( customCardData . artifacts ) : [ ] }
414+ flows = { props . flows }
415+ entityTypeTitle = { entityType }
416+ entityModel = { props . entityModels [ entityType ] }
417+ getArtifactProps = { getCustomArtifactProps }
418+ updateCustomArtifact = { updateCustomArtifact }
419+ canReadOnly = { props . canReadCustom }
420+ canReadWrite = { props . canWriteCustom }
421+ addStepToFlow = { props . addStepToFlow }
422+ addStepToNew = { props . addStepToNew }
423+ canWriteFlow = { props . canWriteFlow }
424+ />
425+ </ div > ;
415426 } else {
416427 output = < div > < br /> This functionality implemented yet.</ div > ;
417428 }
0 commit comments