Rift.IO OSM R1 Initial Submission
[osm/UI.git] / skyquake / plugins / launchpad / src / instantiate / instantiateSelectDescriptorPanel.jsx
1 /*
2  * 
3  *   Copyright 2016 RIFT.IO Inc
4  *
5  *   Licensed under the Apache License, Version 2.0 (the "License");
6  *   you may not use this file except in compliance with the License.
7  *   You may obtain a copy of the License at
8  *
9  *       http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *   Unless required by applicable law or agreed to in writing, software
12  *   distributed under the License is distributed on an "AS IS" BASIS,
13  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *   See the License for the specific language governing permissions and
15  *   limitations under the License.
16  *
17  */
18 import CatalogCard from './catalogCard.jsx'
19 import Panel from 'widgets/panel/panel.jsx'
20 import React, {Component} from 'react';
21 import './instantiateSelectDescriptorPanel.scss';
22 export default class InstantiateSelectDescriptorPanel extends Component {
23     constructor(props) {
24         super(props)
25     }
26     render() {
27         let self = this;
28         let {catalog, onPreviewDescriptor, onSelectDescriptor, selectedDescriptorID, previewing, isPreviewing, closeCard, openDescriptor, ...props} = self.props;
29         return (
30             <Panel title="Select Descriptor"  className={"InstantiateSelectDescriptorPanel" + (isPreviewing ? " InstantiateSelectDescriptorPanel--previewmode" : '')}>
31             {
32                 catalog.descriptors && catalog.descriptors.map(function(descriptor, i) {
33                     let isSelected = (descriptor.id === selectedDescriptorID);
34                     return (
35                         <CatalogCard
36                             key={i}
37                             isActive={isPreviewing && isSelected}
38                             isSelected={isSelected}
39                             descriptor={descriptor}
40                             onClick={onSelectDescriptor.bind(null, descriptor)}
41                             onDoubleClick={openDescriptor.bind(null, descriptor)}
42                             onPreviewDescriptor={onPreviewDescriptor}
43                             onCloseCard={closeCard}
44                         />
45                     )
46                 })
47             }
48             </Panel>
49         )
50     }
51 }
52
53 InstantiateSelectDescriptorPanel.defaultProps = {
54     catalog: {},
55     onSelectDescriptor: function(descriptor) {
56         return (e) => {
57             console.log('Selecting NSD: ' + descriptor.id)
58         }
59     },
60     onPreviewDescriptor: function(descriptor) {
61         return (e) => {
62             console.log('Previewing NSD: ' + descriptor.id)
63         }
64     }
65 }