зеркало из https://github.com/nextcloud/spreed.git
Add video to empty view
This commit is contained in:
Родитель
5eac42937a
Коммит
b0a0097d5f
|
@ -28,7 +28,6 @@ video {
|
|||
position: relative;
|
||||
width: 50%;
|
||||
float: left;
|
||||
border-radius: none;
|
||||
}
|
||||
|
||||
.videoView {
|
||||
|
|
|
@ -50,9 +50,9 @@ $(window).load(function() {
|
|||
// If the hash changes a room gets joined
|
||||
$(window).on('hashchange', function() {
|
||||
OCA.SpreedMe.Rooms.join(window.location.hash.substring(1));
|
||||
$('#emptycontent').hide();
|
||||
$('.videoView').addClass('hidden');
|
||||
$('#app-content').addClass('icon-loading');
|
||||
});
|
||||
if(window.location.hash.substring(1) === '') {
|
||||
OCA.SpreedMe.Rooms.join();
|
||||
}
|
||||
|
||||
});
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
OC.generateUrl('/apps/spreed/api/room'),
|
||||
{
|
||||
roomName: roomName
|
||||
},
|
||||
function(roomId) {
|
||||
OCA.SpreedMe.Rooms.join(roomId);
|
||||
}
|
||||
);
|
||||
},
|
||||
|
@ -23,9 +26,12 @@
|
|||
$('#app-navigation').removeClass('icon-loading');
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
join: function(roomId) {
|
||||
$('#emptycontent').hide();
|
||||
$('.videoView').addClass('hidden');
|
||||
$('#app-content').addClass('icon-loading');
|
||||
|
||||
currentRoomId = roomId;
|
||||
webrtc.joinRoom(roomId);
|
||||
OCA.SpreedMe.Rooms.ping();
|
||||
|
|
|
@ -64,12 +64,50 @@ class ApiController extends Controller {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
private function getAllRooms() {
|
||||
$qb = $this->dbConnection->getQueryBuilder();
|
||||
return $qb->select('*')
|
||||
->from('spreedme_rooms')
|
||||
->execute()
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $roomId
|
||||
*/
|
||||
private function deleteRoom($roomId) {
|
||||
$qb = $this->dbConnection->getQueryBuilder();
|
||||
$qb->delete('spreedme_rooms')
|
||||
->where($qb->expr()->eq('id', $qb->createNamedParameter($roomId)))
|
||||
->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks for all empty rooms and deletes them
|
||||
*/
|
||||
private function deleteEmptyRooms() {
|
||||
$rooms = $this->getAllRooms();
|
||||
foreach($rooms as $room) {
|
||||
$activePeers = $this->getActivePeers($room['id']);
|
||||
if(count($activePeers) === 0) {
|
||||
//$this->deleteRoom($room['id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all currently existent rooms
|
||||
*
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*
|
||||
* @return JSONResponse
|
||||
*/
|
||||
public function getRooms() {
|
||||
$this->deleteEmptyRooms();
|
||||
|
||||
$qb = $this->dbConnection->getQueryBuilder();
|
||||
$rooms = $qb->select('*')
|
||||
->from('spreedme_rooms')
|
||||
|
@ -94,9 +132,13 @@ class ApiController extends Controller {
|
|||
[
|
||||
'name' => $qb->createNamedParameter($roomName),
|
||||
]
|
||||
)
|
||||
->execute();
|
||||
return new JSONResponse();
|
||||
)->execute();
|
||||
|
||||
return new JSONResponse(
|
||||
[
|
||||
'roomId' => $qb->getLastInsertId(),
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -72,7 +72,7 @@ class PageController extends Controller {
|
|||
$response = new TemplateResponse($this->appName, 'index', $params);
|
||||
$csp = new ContentSecurityPolicy();
|
||||
$csp->addAllowedConnectDomain('*');
|
||||
$csp->addAllowedMediaDOmain('blob:');
|
||||
$csp->addAllowedMediaDomain('blob:');
|
||||
$response->setContentSecurityPolicy($csp);
|
||||
return $response;
|
||||
}
|
||||
|
|
|
@ -40,6 +40,8 @@ script(
|
|||
<div class="nameIndicator">
|
||||
<button id="mute" class="icon-audio-white" data-title="<?php p($l->t('Mute audio')) ?>"></button>
|
||||
<button id="hideVideo" class="icon-video-white" data-title="<?php p($l->t('Pause video')) ?>"></button>
|
||||
<button id="video-more" class="icon-more" data-title="<?php p($l->t('Pause video')) ?>"></button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="remotes" style="display: inline"></div>
|
||||
|
|
Загрузка…
Ссылка в новой задаче