diff --git a/bigbluebutton-html5/imports/ui/components/actions-bar/create-breakout-room/component.jsx b/bigbluebutton-html5/imports/ui/components/actions-bar/create-breakout-room/component.jsx index 327f22ed763adb35d79792a081ab966518ba0538..a10f95fd3263f944601d2e153e261ca37383c03d 100644 --- a/bigbluebutton-html5/imports/ui/components/actions-bar/create-breakout-room/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/actions-bar/create-breakout-room/component.jsx @@ -93,6 +93,7 @@ class BreakoutRoom extends Component { this.setRoomUsers = this.setRoomUsers.bind(this); this.setFreeJoin = this.setFreeJoin.bind(this); this.getUserByRoom = this.getUserByRoom.bind(this); + this.onAssignRandomly = this.onAssignRandomly.bind(this); this.renderUserItemByRoom = this.renderUserItemByRoom.bind(this); this.renderRoomsGrid = this.renderRoomsGrid.bind(this); this.renderBreakoutForm = this.renderBreakoutForm.bind(this); @@ -159,6 +160,12 @@ class BreakoutRoom extends Component { Session.set('isUserListOpen', true); } + onAssignRandomly() { + const { numberOfRooms } = this.state; + return this.getUserByRoom(0) + .forEach(user => this.changeUserRoom(user.userId, Math.floor(Math.random() * (numberOfRooms) + 1))); + } + setRoomUsers() { const { users } = this.props; const roomUsers = users.map(user => ({ @@ -201,6 +208,7 @@ class BreakoutRoom extends Component { changeUserRoom(userId, room) { const { users } = this.state; + const idxUser = users.findIndex(user => user.userId === userId); users[idxUser].room = room; this.setState({ users }); @@ -333,7 +341,7 @@ class BreakoutRoom extends Component { </span> </div> </label> - <p className={styles.randomText}>{intl.formatMessage(intlMessages.randomlyAssign)}</p> + <span className={styles.randomText} role="button" onClick={this.onAssignRandomly}>{intl.formatMessage(intlMessages.randomlyAssign)}</span> </div> ); } diff --git a/bigbluebutton-html5/imports/ui/components/actions-bar/create-breakout-room/styles.scss b/bigbluebutton-html5/imports/ui/components/actions-bar/create-breakout-room/styles.scss index 4160d99bdbe7001d61469ad795e37e244ad6c2d2..c3e4c726ed389671a085f4776ca82e01bbc2e171 100644 --- a/bigbluebutton-html5/imports/ui/components/actions-bar/create-breakout-room/styles.scss +++ b/bigbluebutton-html5/imports/ui/components/actions-bar/create-breakout-room/styles.scss @@ -72,11 +72,19 @@ input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-i } .randomText { + cursor: pointer; color: var(--color-primary); font-size: var(--font-size-small); white-space: nowrap; margin-bottom: .5rem; align-self: flex-end; + &:focus, + &:hover { + opacity: 0.5; + } + &:active{ + text-shadow: var(--color-primary) 1px 0 10px; + } } .freeJoinCheckbox {