2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 * or implied. See the License for the specific language governing
14 * permissions and limitations under the License.
17 import React from 'react';
18 import { DragSource } from 'react-dnd';
20 import Icon from '../../../../../icons/Icon';
21 import iconPlus from '../../../../../../../../../../res/ecomp/asdc/sequencer/sprites/icons/plus.svg';
22 import iconHandle from '../../../../../../../../../../res/ecomp/asdc/sequencer/sprites/icons/handle.svg';
25 * LHS lifeline row view.
27 class MessageNew extends React.Component {
31 * @param props element properties.
32 * @param context react context.
34 constructor(props, context) {
35 super(props, context);
36 this.onClickAdd = this.onClickAdd.bind(this);
43 this.props.designer.addMessage();
51 const { connectDragSource } = this.props;
52 return connectDragSource(
53 <div className="asdcs-designer-message asdcs-designer-message-new">
54 <table className="asdcs-designer-layout asdcs-designer-message-new">
58 <div className="asdcs-designer-sort asdcs-designer-icon">
59 <Icon glyph={iconHandle} />
63 <div className="asdcs-designer-label" onClick={this.onClickAdd}>
68 <div className="asdcs-designer-icon" onClick={this.onClickAdd}>
69 <Icon glyph={iconPlus} />
83 /** Element properties. */
84 MessageNew.propTypes = {
85 designer: React.PropTypes.object.isRequired,
86 messages: React.PropTypes.object.isRequired,
87 connectDragSource: React.PropTypes.func.isRequired,
93 return { id: props.id };
98 const collect = function collection(connect, monitor) {
100 connectDragSource: connect.dragSource(),
101 isDragging: monitor.isDragging(),
105 export default DragSource('message-new', source, collect)(MessageNew);