Skip to content

Commit caec1c1

Browse files
committed
Closable eklendi ve avatar şartı düzenlendi.
1 parent 216b504 commit caec1c1

6 files changed

Lines changed: 44 additions & 7 deletions

File tree

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,8 @@ import { MeetingItem } from 'react-chat-elements'
572572
src: 'https://facebook.github.io/react/img/logo.svg'
573573
]}
574574
onMeetingClick={console.log}
575-
onShareClick={console.log}/>
575+
onShareClick={console.log}
576+
onCloseClick={console.log}/>
576577
```
577578
#### MeetingItem props
578579

@@ -583,9 +584,11 @@ import { MeetingItem } from 'react-chat-elements'
583584
| date | none | date | MeetingItem date |
584585
| dateString | none | string | MeetingItem represents dateString or timeagojs(now, date) |
585586
| lazyLoadingImage | none | image path | lazy loading image |
587+
| closable | true | boolean | MeetingItem closable |
586588
| onClick | none | function | MeetingItem on click |
587589
| onMeetingClick | none | function | MeetingItem on meeting click |
588590
| onShareClick | none | function | MeetingItem on share click |
591+
| onCloseClick | none | function | MeetingItem on close click |
589592
| avatars | none | date | MeetingItem avatars |
590593
| avatarLimit | 5 | date | MeetingItem avatars limit |
591594

@@ -594,6 +597,8 @@ import { MeetingItem } from 'react-chat-elements'
594597

595598
![meetingList-photo](https://user-images.githubusercontent.com/15075759/90499889-ce201b80-e152-11ea-9cdb-7c3ef0e04b4e.png)
596599

600+
![meetingClosable](https://user-images.githubusercontent.com/53093667/90954468-2588f900-e47d-11ea-865e-10522e05f23f.gif)
601+
597602
```javascript
598603
import { MeetingList } from 'react-chat-elements'
599604

@@ -623,6 +628,7 @@ import { MeetingList } from 'react-chat-elements'
623628
| onClick | none | function | meeting list item on click (meeting(object) is returned) |
624629
| onMeetingClick | none | function | meeting list item on meeting click (meeting(object) is returned) |
625630
| onShareClick | none | function | meeting list item on share click (meeting(object) is returned) |
631+
| onCloseClick | none | function | meeting list item on close click (meeting(object) is returned) |
626632
| onContextMenu | none | function | meeting list item on context menu (meeting(object) is returned) |
627633
| onAvatarError | none | function | meeting list item on error avatar img |
628634
| lazyLoadingImage | none | image path | lazy loading image |

example/App.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ export class App extends Component {
198198
avatars: Array(this.token() + 2).fill(1).map(x => ({
199199
src: `data:image/png;base64,${this.photo()}`,
200200
})),
201+
closable: true,
201202
};
202203
}
203204
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-chat-elements",
3-
"version": "10.10.2",
3+
"version": "10.10.3",
44
"description": "Reactjs chat components",
55
"author": "Avare Kodcu <abdurrahmaneker58@gmail.com>",
66
"main": "dist/main.js",

src/MeetingItem/MeetingItem.css

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
}
5252

5353
.rce-mtitem-body--functions {
54-
width: 60px;
54+
width: 70px;
5555
display: flex;
5656
align-items: center;
5757
justify-content: flex-end;
@@ -94,6 +94,22 @@
9494
transition: 300ms;
9595
}
9696

97+
.rce-mtitem-closable {
98+
font-size: 25px;
99+
color: #fff;
100+
background:#ff4a4f;
101+
display: none;
102+
justify-content: center;
103+
align-items: center;
104+
border-radius: 100%;
105+
padding: 3px;
106+
margin-right: 7px;
107+
}
108+
109+
.rce-mtitem:hover .rce-mtitem-closable {
110+
display: flex;
111+
}
112+
97113
.rce-mtitem-share {
98114
font-size: 30px;
99115
display: flex;
@@ -104,7 +120,6 @@
104120
transition: 300ms;
105121
}
106122

107-
108123
.rce-mtitem-button:hover,
109124
.rce-mtitem-share:hover {
110125
opacity: 0.8;

src/MeetingItem/MeetingItem.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import './MeetingItem.css';
33

44
import MdVideoCall from 'react-icons/lib/md/video-call';
55
import MdLink from 'react-icons/lib/md/link';
6+
import MdCall from 'react-icons/lib/md/call';
67

78
import Avatar from '../Avatar/Avatar';
89

@@ -37,7 +38,7 @@ export class MeetingItem extends Component {
3738
<div className="rce-mtitem-body">
3839
<div className="rce-mtitem-body--avatars">
3940
{
40-
this.props.avatars.slice(0, 5).map((x, i) => x instanceof Avatar ? x : (
41+
this.props.avatars.slice(0, AVATAR_LIMIT).map((x, i) => x instanceof Avatar ? x : (
4142
<Avatar
4243
key={i}
4344
src={x.src}
@@ -67,12 +68,20 @@ export class MeetingItem extends Component {
6768
this.props.avatars.length > AVATAR_LIMIT &&
6869
<div className='rce-avatar-container circle small rce-mtitem-letter'>
6970
<span>
70-
{'+' + AVATAR_LIMIT}
71+
{'+' + (this.props.avatars.length - AVATAR_LIMIT)}
7172
</span>
7273
</div>
7374
}
7475
</div>
7576
<div className="rce-mtitem-body--functions">
77+
{
78+
this.props.closable &&
79+
<div
80+
className="rce-mtitem-closable"
81+
onClick={this.props.onCloseClick}>
82+
<MdCall />
83+
</div>
84+
}
7685
<div
7786
className='rce-mtitem-button'
7887
onClick={this.props.onMeetingClick}>

src/MeetingList/MeetingList.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ export class MeetingList extends Component {
3333
this.props.onShareClick(item, i, e);
3434
}
3535

36+
onCloseClick(item, i, e) {
37+
if (this.props.onCloseClick instanceof Function)
38+
this.props.onCloseClick(item, i, e);
39+
}
40+
3641
render() {
3742
return (
3843
<div
@@ -49,7 +54,8 @@ export class MeetingList extends Component {
4954
onContextMenu={(e) => this.onContextMenu(x, i, e)}
5055
onClick={(e) => this.onClick(x, i, e)}
5156
onMeetingClick={(e) => this.onMeetingClick(x, i, e)}
52-
onShareClick={(e) => this.onShareClick(x, i, e)}/>
57+
onShareClick={(e) => this.onShareClick(x, i, e)}
58+
onCloseClick={(e) => this.onCloseClick(x, i, e)}/>
5359
))
5460
}
5561
</div>

0 commit comments

Comments
 (0)