/* * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ * Copyright © 2017-2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= */ import React from 'react'; import moment from "moment"; import Col from 'react-bootstrap/lib/Col'; import Panel from 'react-bootstrap/lib/Panel'; const nodeDiffCard = (props) => { let showNoPropsMessage = true; let showNoRelationshipsMessage = true; if(props && props.diff && props.diff.properties){ const properties = Object.entries(props.diff.properties).map((property, idx) => { let prop = property[1]; if(prop && prop.value && prop.value.type !== 'unchanged'){ showNoPropsMessage = false; return (

Attribute: {prop.key.data} ({prop.value.type})

); }else if (prop && prop.type){ showNoPropsMessage = false; return (

Attribute: {prop.data.key} ({prop.type})

); } }); //TODO handle no relationships and no attributes const relationships = Object.entries(props.diff['related-to']).map((property, idx) => { let prop = property[1]; if(prop && prop.type && prop.type.type){ return (''); }else if(prop && prop.type && !prop.data){ showNoRelationshipsMessage = false; return (

Relationship: {prop['relationship-label'].data} {prop['node-type'].data} {prop.url.data} ({prop.type})

); }else if (prop && prop.type && prop.data){ showNoRelationshipsMessage = false; return (

Relationship: {prop.data['relationship-label']} {prop.data['node-type']} {prop.data.url} ({prop.type})

); } }); return (

Changes from Historic to Current State

{properties}

No Attribute differences, current.

{relationships}

No Relationship differences, current.

); }else{ return(

Unable to pull diff

Diff unable to be calculated currently, choose a different timeframe.
); } }; export default nodeDiffCard;