import RecordViewActions from './recordViewActions.js';
import LoadingIndicator from 'widgets/loading-indicator/loadingIndicator.jsx';
import DashboardCard from 'widgets/dashboard_card/dashboard_card.jsx';
+import Utils from 'utils/utils.js';
+
import './recordNavigator.scss';
-import nsdImg from 'style/img/catalog-default.svg';
export default class RecordNavigator extends React.Component{
constructor(props) {
super(props)
}
+ handleImageError = (e) => {
+ console.log('Bad logo path, using default');
+ e.target.src = require('style/img/catalog-default.svg');
+ }
+
+ getDescriptorTypeFromRecordType = (recordType) => {
+ if (recordType == 'nsr') {
+ return 'nsd';
+ } else if (recordType == 'vnfr') {
+ return 'vnfd';
+ }
+
+ return null;
+ }
+
+ getDescriptorIdFromRecord = (record) => {
+ if (record.type && record.type == 'nsr') {
+ return record.nsd && record.nsd.id;
+ } else if (record.type && record.type == 'vnfr') {
+ return record.vnfd && record.vnfd.id;
+ }
+
+ return null;
+ }
+
render(){
let navClass = 'catalogItems';
}
navObj.push(
<div key={'id' + k + '-' + vnfr.id} onClick={self.props.loadRecord.bind(self,vnfr)} className={iClassName}>
- <img src={nsdImg} />
+ <img
+ onError={self.handleImageError}
+ src={Utils.cleanImageDataURI(vnfr.logo, self.getDescriptorTypeFromRecordType(vnfr.type), getDescriptorIdFromRecord(vnfr))}
+ />
<section id={vnfr.id}>
<h1 title={vnfr.name}>{vnfr.name}</h1>
<h2>{vnfr.type}</h2>
}
navObj.push(
<div key={'id' + k + '-' + n.id} onClick={self.props.loadRecord.bind(self,n)} className={itemClassName}>
- <img src={nsdImg} />
+ <img
+ onError={self.handleImageError}
+ src={Utils.cleanImageDataURI(n.logo, self.getDescriptorTypeFromRecordType(n.type), self.getDescriptorIdFromRecord(n))}
+ />
<section id={n.id}>
<h1 title={n.name}>{n.name}</h1>
<h2>{n.type}</h2>