botserver/packages/default.gbui/src/players/GBMultiUrlPlayer.js

93 lines
3.9 KiB
JavaScript
Raw Normal View History

2024-04-14 23:17:37 -03:00
/*****************************************************************************\
| ® |
| |
| |
| |
| |
| |
2024-04-20 17:24:00 -03:00
| General Bots Copyright (c) pragmatismo.cloud. All rights reserved. |
2024-04-14 23:17:37 -03:00
| Licensed under the AGPL-3.0. |
| |
| According to our dual licensing model, this program can be used either |
| under the terms of the GNU Affero General Public License, version 3, |
| or under a proprietary license. |
| |
| The texts of the GNU Affero General Public License with an additional |
| permission and of our proprietary license can be found at and |
| in the LICENSE file you have received along with this program. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU Affero General Public License for more details. |
| |
2024-04-20 17:24:00 -03:00
| "General Bots" is a registered trademark of pragmatismo.cloud. |
2024-04-14 23:17:37 -03:00
| The licensing of the program under the AGPLv3 does not imply a |
| trademark license. Therefore any rights, title and interest in |
| our trademarks remain entirely with us. |
| |
\*****************************************************************************/
import React, { Component } from 'react';
class RenderItem extends Component {
send(item) {
setTimeout(() => {
window.botConnection.postActivity({
type: 'event',
name: 'answerEvent',
data: item.questionId,
locale: 'en-us',
textFormat: 'plain',
timestamp: new Date().toISOString(),
from: window.user
});
}, 400);
}
render() {
return (
<div className="gb-video-player-wrapper">
{this.props.list.map(item => (
<iframe
2024-09-17 19:27:06 -03:00
key={item.url}
2024-04-14 23:17:37 -03:00
title="Video"
ref="video"
className="gb-video-react-player"
2024-09-17 19:27:06 -03:00
src={`${item.url}?t=${Date.now()}`}
2024-04-14 23:17:37 -03:00
width="100%"
height="100%"
/>
))}
</div>
);
}
}
class GBMultiUrlPlayer extends Component {
constructor() {
super();
this.state = {
list: []
};
}
play(data) {
this.setState({ list: data });
}
stop() {
this.setState({ list: [] });
}
render() {
return (
<div className="gb-bullet-player" ref={i => (this.playerText = i)}>
<RenderItem app={this.props.app} list={this.state.list} ref={i => (this.playerList = i)} />
</div>
);
}
}
export default GBMultiUrlPlayer;