Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into implement-multi-chat
This commit is contained in:
commit
c03c75b022
@ -203,10 +203,6 @@ phonecomponents|MuteMeButton {
|
|||||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Logout_RTL");
|
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Logout_RTL");
|
||||||
}
|
}
|
||||||
|
|
||||||
.settingsButtonStyle {
|
|
||||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Settings");
|
|
||||||
}
|
|
||||||
|
|
||||||
.webcamDefaultButtonStyle, .webcamOnButtonStyle, .webcamOffButtonStyle, .webcamOverButtonStyle,
|
.webcamDefaultButtonStyle, .webcamOnButtonStyle, .webcamOffButtonStyle, .webcamOverButtonStyle,
|
||||||
.deskshareDefaultButtonStyle, .deskshareOverButtonStyle, .deskshareOnButtonStyle, .deskshareOffButtonStyle,
|
.deskshareDefaultButtonStyle, .deskshareOverButtonStyle, .deskshareOnButtonStyle, .deskshareOffButtonStyle,
|
||||||
.muteMeDefaultButtonStyle, .muteMeOnButtonStyle, .muteMeOffButtonStyle {
|
.muteMeDefaultButtonStyle, .muteMeOnButtonStyle, .muteMeOffButtonStyle {
|
||||||
@ -831,10 +827,16 @@ presentation|FileExportWindow {
|
|||||||
//------------------------------
|
//------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
views|BBBSettings {
|
views|GuestSettingsWindow {
|
||||||
headerHeight : 0;
|
headerHeight : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.guestListStyle {
|
||||||
|
borderStyle : none;
|
||||||
|
rollOverColor : #FFFFFF;
|
||||||
|
selectionColor : #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
.allowButtonStyle {
|
.allowButtonStyle {
|
||||||
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Allow");
|
icon : Embed(source="assets/swf/v2_skin.swf", symbol="Icon_Allow");
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -120,17 +120,22 @@ bbb.mainToolbar.recordingLabel.notRecording = Not Recording
|
|||||||
bbb.waitWindow.waitMessage.message = You are a guest, please wait moderator approval.
|
bbb.waitWindow.waitMessage.message = You are a guest, please wait moderator approval.
|
||||||
bbb.waitWindow.waitMessage.title = Waiting
|
bbb.waitWindow.waitMessage.title = Waiting
|
||||||
bbb.guests.title = Guests
|
bbb.guests.title = Guests
|
||||||
bbb.guests.message.singular = {0} user wants to join this meeting
|
bbb.guests.message.user.singular = {0} user wants to join this meeting
|
||||||
bbb.guests.message.plural = {0} users want to join this meeting
|
bbb.guests.message.user.plural = {0} users want to join this meeting
|
||||||
|
bbb.guests.message.guest.singular = {0} guest wants to join this meeting
|
||||||
|
bbb.guests.message.guest.plural = {0} guests want to join this meeting
|
||||||
bbb.guests.allowBtn.toolTip = Allow
|
bbb.guests.allowBtn.toolTip = Allow
|
||||||
bbb.guests.allowEveryoneBtn.text = Allow everyone
|
bbb.guests.allowAllAuthenticated.label = Allow all authenticated
|
||||||
bbb.guests.denyBtn.toolTip = Deny
|
bbb.guests.allowAllGuestsBtn.label = Allow all guests
|
||||||
bbb.guests.denyEveryoneBtn.text = Deny everyone
|
bbb.guests.allowEveryone.label = Allow everyone
|
||||||
bbb.guests.rememberAction.text = Remember choice
|
bbb.guests.denyEveryone.label = Deny everyone
|
||||||
bbb.guests.alwaysAccept = Always accept
|
bbb.guests.rememberAction.label = Remember choice
|
||||||
bbb.guests.alwaysDeny = Always deny
|
bbb.guests.alwaysAccept = Accept all users
|
||||||
|
bbb.guests.alwaysDeny = Deny everyone
|
||||||
bbb.guests.askModerator = Ask moderator
|
bbb.guests.askModerator = Ask moderator
|
||||||
bbb.guests.Management = Guest management
|
bbb.guests.alwaysAcceptAuth = Accept all autenticated users
|
||||||
|
bbb.guests.management.title = Guest settings
|
||||||
|
bbb.guests.pending.title = Review Pending Users
|
||||||
bbb.clientstatus.title = Configuration Notifications
|
bbb.clientstatus.title = Configuration Notifications
|
||||||
bbb.clientstatus.notification = Unread notifications
|
bbb.clientstatus.notification = Unread notifications
|
||||||
bbb.clientstatus.close = Close
|
bbb.clientstatus.close = Close
|
||||||
@ -527,10 +532,8 @@ bbb.logour.breakoutRoomClose = Your browser window will be closed
|
|||||||
bbb.logout.ejectedFromMeeting = A moderator has kicked you out of the meeting.
|
bbb.logout.ejectedFromMeeting = A moderator has kicked you out of the meeting.
|
||||||
bbb.logout.refresh.message = If this logout was unexpected click the button below to reconnect.
|
bbb.logout.refresh.message = If this logout was unexpected click the button below to reconnect.
|
||||||
bbb.logout.refresh.label = Reconnect
|
bbb.logout.refresh.label = Reconnect
|
||||||
bbb.settings.title = Settings
|
bbb.guest.settings.ok = OK
|
||||||
bbb.settings.ok = OK
|
bbb.guest.settings.cancel = Cancel
|
||||||
bbb.settings.cancel = Cancel
|
|
||||||
bbb.settings.btn.toolTip = Open configuration window
|
|
||||||
bbb.logout.confirm.title = Confirm Logout
|
bbb.logout.confirm.title = Confirm Logout
|
||||||
bbb.logout.confirm.message = Are you sure you want to log out?
|
bbb.logout.confirm.message = Are you sure you want to log out?
|
||||||
bbb.logout.confirm.endMeeting = Yes and end the meeting
|
bbb.logout.confirm.endMeeting = Yes and end the meeting
|
||||||
@ -813,6 +816,7 @@ bbb.users.settings.lockAll = Lock All Users
|
|||||||
bbb.users.settings.lockAllExcept = Lock Users Except Presenter
|
bbb.users.settings.lockAllExcept = Lock Users Except Presenter
|
||||||
bbb.users.settings.lockSettings = Lock Viewers ...
|
bbb.users.settings.lockSettings = Lock Viewers ...
|
||||||
bbb.users.settings.breakoutRooms = Breakout Rooms ...
|
bbb.users.settings.breakoutRooms = Breakout Rooms ...
|
||||||
|
bbb.users.settings.guestSettings = Guest settings ...
|
||||||
bbb.users.settings.sendBreakoutRoomsInvitations = Send Breakout Rooms Invitations ...
|
bbb.users.settings.sendBreakoutRoomsInvitations = Send Breakout Rooms Invitations ...
|
||||||
bbb.users.settings.unlockAll = Unlock All Viewers
|
bbb.users.settings.unlockAll = Unlock All Viewers
|
||||||
bbb.users.settings.roomIsLocked = Locked by default
|
bbb.users.settings.roomIsLocked = Locked by default
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
/**
|
|
||||||
* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
|
|
||||||
*
|
|
||||||
* Copyright (c) 2010 BigBlueButton Inc. and by respective authors (see below).
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it under the
|
|
||||||
* terms of the GNU Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2.1 of the License, or (at your option) any later
|
|
||||||
* version.
|
|
||||||
*
|
|
||||||
* BigBlueButton 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 Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License along
|
|
||||||
* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.bigbluebutton.common.events
|
|
||||||
{
|
|
||||||
import flash.events.Event;
|
|
||||||
|
|
||||||
import mx.core.UIComponent;
|
|
||||||
|
|
||||||
public class SettingsComponentEvent extends Event
|
|
||||||
{
|
|
||||||
public static const ADD:String = "Add Component Event";
|
|
||||||
public static const REMOVE:String = "Remove Component Event";
|
|
||||||
|
|
||||||
public var component:UIComponent;
|
|
||||||
|
|
||||||
public function SettingsComponentEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
|
|
||||||
{
|
|
||||||
super(type, bubbles, cancelable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,3 +1,21 @@
|
|||||||
|
/**
|
||||||
|
* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
|
||||||
|
*
|
||||||
|
* Copyright (c) 2017 BigBlueButton Inc. and by respective authors (see below).
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it under the
|
||||||
|
* terms of the GNU Lesser General Public License as published by the Free Software
|
||||||
|
* Foundation; either version 3.0 of the License, or (at your option) any later
|
||||||
|
* version.
|
||||||
|
*
|
||||||
|
* BigBlueButton 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 Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License along
|
||||||
|
* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
package org.bigbluebutton.core.model
|
package org.bigbluebutton.core.model
|
||||||
{
|
{
|
||||||
import org.bigbluebutton.core.model.users.GuestsApp;
|
import org.bigbluebutton.core.model.users.GuestsApp;
|
||||||
|
@ -1,13 +1,32 @@
|
|||||||
|
/**
|
||||||
|
* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
|
||||||
|
*
|
||||||
|
* Copyright (c) 2017 BigBlueButton Inc. and by respective authors (see below).
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it under the
|
||||||
|
* terms of the GNU Lesser General Public License as published by the Free Software
|
||||||
|
* Foundation; either version 3.0 of the License, or (at your option) any later
|
||||||
|
* version.
|
||||||
|
*
|
||||||
|
* BigBlueButton 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 Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License along
|
||||||
|
* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
package org.bigbluebutton.core.model
|
package org.bigbluebutton.core.model
|
||||||
{
|
{
|
||||||
import org.bigbluebutton.core.vo.LockSettingsVO;
|
import org.bigbluebutton.core.vo.LockSettingsVO;
|
||||||
|
import org.bigbluebutton.main.model.GuestPolicy;
|
||||||
|
|
||||||
public class MeetingStatus
|
public class MeetingStatus
|
||||||
{
|
{
|
||||||
public var permissions: Permission = new Permission();
|
public var permissions: Permission = new Permission();
|
||||||
public var isRecording: Boolean = false;
|
public var isRecording: Boolean = false;
|
||||||
public var isMeetingMuted: Boolean = false;
|
public var isMeetingMuted: Boolean = false;
|
||||||
public var guestPolicy: String = "ASK_MODERATOR";
|
public var guestPolicy: String = GuestPolicy.ASK_MODERATOR;
|
||||||
public var guestPolicySetBy: String = null;
|
public var guestPolicySetBy: String = null;
|
||||||
public var lockSettings:LockSettingsVO = new LockSettingsVO();
|
public var lockSettings:LockSettingsVO = new LockSettingsVO();
|
||||||
}
|
}
|
||||||
|
@ -49,13 +49,9 @@ package org.bigbluebutton.main.events {
|
|||||||
public static const JOIN_VOICE_FOCUS_HEAD:String = "JOIN_VOICE_FOCUS_HEAD";
|
public static const JOIN_VOICE_FOCUS_HEAD:String = "JOIN_VOICE_FOCUS_HEAD";
|
||||||
public static const CHANGE_RECORDING_STATUS:String = "CHANGE_RECORDING_STATUS";
|
public static const CHANGE_RECORDING_STATUS:String = "CHANGE_RECORDING_STATUS";
|
||||||
|
|
||||||
public static const SETTINGS_CONFIRMED:String = "BBB_SETTINGS_CONFIRMED";
|
|
||||||
public static const SETTINGS_CANCELLED:String = "BBB_SETTINGS_CANCELLED";
|
|
||||||
|
|
||||||
public static const ACCEPT_ALL_WAITING_GUESTS:String = "BBB_ACCEPT_ALL_WAITING_GUESTS";
|
public static const ACCEPT_ALL_WAITING_GUESTS:String = "BBB_ACCEPT_ALL_WAITING_GUESTS";
|
||||||
public static const DENY_ALL_WAITING_GUESTS:String = "BBB_DENY_ALL_WAITING_GUESTS";
|
public static const DENY_ALL_WAITING_GUESTS:String = "BBB_DENY_ALL_WAITING_GUESTS";
|
||||||
public static const BROADCAST_GUEST_POLICY:String = "BBB_BROADCAST_GUEST_POLICY";
|
public static const BROADCAST_GUEST_POLICY:String = "BBB_BROADCAST_GUEST_POLICY";
|
||||||
public static const RETRIEVE_GUEST_POLICY:String = "BBB_RETRIEVE_GUEST_POLICY";
|
|
||||||
public static const MODERATOR_ALLOWED_ME_TO_JOIN:String = "MODERATOR_ALLOWED_ME_TO_JOIN";
|
public static const MODERATOR_ALLOWED_ME_TO_JOIN:String = "MODERATOR_ALLOWED_ME_TO_JOIN";
|
||||||
public static const WAITING_FOR_MODERATOR_ACCEPTANCE:String = "WAITING_FOR_MODERATOR_ACCEPTANCE";
|
public static const WAITING_FOR_MODERATOR_ACCEPTANCE:String = "WAITING_FOR_MODERATOR_ACCEPTANCE";
|
||||||
public static const ADD_GUEST_TO_LIST:String = "ADD_GUEST_TO_LIST";
|
public static const ADD_GUEST_TO_LIST:String = "ADD_GUEST_TO_LIST";
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
/**
|
||||||
|
* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
|
||||||
|
*
|
||||||
|
* Copyright (c) 2017 BigBlueButton Inc. and by respective authors (see below).
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it under the
|
||||||
|
* terms of the GNU Lesser General Public License as published by the Free Software
|
||||||
|
* Foundation; either version 3.0 of the License, or (at your option) any later
|
||||||
|
* version.
|
||||||
|
*
|
||||||
|
* BigBlueButton 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 Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License along
|
||||||
|
* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.bigbluebutton.main.model {
|
||||||
|
|
||||||
|
public final class GuestPolicy {
|
||||||
|
|
||||||
|
public static const ALWAYS_ACCEPT:String = "ALWAYS_ACCEPT";
|
||||||
|
|
||||||
|
public static const ALWAYS_DENY:String = "ALWAYS_DENY";
|
||||||
|
|
||||||
|
public static const ASK_MODERATOR:String = "ASK_MODERATOR";
|
||||||
|
|
||||||
|
public static const ALWAYS_ACCEPT_AUTH:String = "ALWAYS_ACCEPT_AUTH";
|
||||||
|
}
|
||||||
|
}
|
@ -1,63 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<mx:TitleWindow xmlns:mx="library://ns.adobe.com/flex/mx"
|
|
||||||
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
|
||||||
xmlns:common="org.bigbluebutton.common.*"
|
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
|
||||||
implements="org.bigbluebutton.common.IKeyboardClose"
|
|
||||||
show="this.setFocus()"
|
|
||||||
layout="vertical"
|
|
||||||
horizontalAlign="center"
|
|
||||||
showCloseButton="false"
|
|
||||||
minWidth="250"
|
|
||||||
creationComplete="init()">
|
|
||||||
|
|
||||||
<fx:Script>
|
|
||||||
<![CDATA[
|
|
||||||
import mx.core.UIComponent;
|
|
||||||
import mx.managers.PopUpManager;
|
|
||||||
|
|
||||||
import org.bigbluebutton.common.IKeyboardClose;
|
|
||||||
import org.bigbluebutton.main.events.BBBEvent;
|
|
||||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
|
||||||
|
|
||||||
private function init():void {
|
|
||||||
this.x = (this.parent.width - this.width) / 2;
|
|
||||||
this.y = (this.parent.height - this.height) / 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function pushComponents(components:Array):void {
|
|
||||||
for (var i:int = 0; i < components.length; ++i) {
|
|
||||||
addedComponents.addChildAt(components[i] as UIComponent, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function onCancelClicked():void {
|
|
||||||
var event:BBBEvent = new BBBEvent(BBBEvent.SETTINGS_CANCELLED);
|
|
||||||
dispatchEvent(event);
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
|
|
||||||
private function onOkClicked():void {
|
|
||||||
var event:BBBEvent = new BBBEvent(BBBEvent.SETTINGS_CONFIRMED);
|
|
||||||
dispatchEvent(event);
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
|
|
||||||
private function close():void {
|
|
||||||
PopUpManager.removePopUp(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
]]>
|
|
||||||
</fx:Script>
|
|
||||||
|
|
||||||
<common:AdvancedLabel text="{ResourceUtil.getInstance().getString('bbb.settings.title')}"
|
|
||||||
styleName="titleWindowStyle"
|
|
||||||
width="{this.width - 40}" />
|
|
||||||
|
|
||||||
<mx:VBox id="addedComponents" paddingTop="12" height="100%" />
|
|
||||||
|
|
||||||
<mx:ControlBar width="100%" horizontalAlign="right">
|
|
||||||
<mx:Button id="okBtn" styleName="mainActionButton" label="{ResourceUtil.getInstance().getString('bbb.settings.ok')}" click="onOkClicked()"/>
|
|
||||||
<mx:Button id="cancelBtn" label="{ResourceUtil.getInstance().getString('bbb.settings.cancel')}" click="onCancelClicked()"/>
|
|
||||||
</mx:ControlBar>
|
|
||||||
</mx:TitleWindow>
|
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<mx:HBox xmlns:mx="library://ns.adobe.com/flex/mx"
|
<mx:HBox xmlns:mx="library://ns.adobe.com/flex/mx"
|
||||||
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
||||||
verticalAlign="middle" width="100%" >
|
width="90%" verticalAlign="middle">
|
||||||
|
|
||||||
<fx:Script>
|
<fx:Script>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
@ -33,39 +33,29 @@
|
|||||||
|
|
||||||
private var dispatcher:Dispatcher = new Dispatcher();
|
private var dispatcher:Dispatcher = new Dispatcher();
|
||||||
|
|
||||||
[Bindable] private var username:String = "";
|
private function onRejectUserBtnClick():void {
|
||||||
private var userid:String;
|
sendResponseToServer(false);
|
||||||
|
}
|
||||||
|
|
||||||
public function setUser(username:String, userid:String):void {
|
private function onAllowUserBtnClick():void {
|
||||||
this.username = username;
|
sendResponseToServer(true);
|
||||||
this.userid = userid;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private function onRejectUserBtnClick():void {
|
|
||||||
sendResponseToServer(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function onAllowUserBtnClick():void {
|
|
||||||
sendResponseToServer(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function sendResponseToServer(accept:Boolean):void {
|
|
||||||
var approvedGuests: Array = new Array();
|
|
||||||
approvedGuests.push(userid);
|
|
||||||
var respCommand:ResponseModeratorEvent =
|
|
||||||
new ResponseModeratorEvent(approvedGuests, accept);
|
|
||||||
dispatcher.dispatchEvent(respCommand);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
private function sendResponseToServer(accept:Boolean):void {
|
||||||
|
var approvedGuests:Array = new Array();
|
||||||
|
approvedGuests.push(data.intId);
|
||||||
|
var respCommand:ResponseModeratorEvent = new ResponseModeratorEvent(approvedGuests, accept);
|
||||||
|
dispatcher.dispatchEvent(respCommand);
|
||||||
|
}
|
||||||
]]>
|
]]>
|
||||||
</fx:Script>
|
</fx:Script>
|
||||||
|
|
||||||
<mx:Label text="{username}" maxWidth="150" />
|
<mx:Label text="{data.name}" width="{this.width-denyButton.width-allowButton.width-30}" />
|
||||||
<mx:Spacer width="100%" />
|
<mx:Button width="20" height="20" id="denyButton" styleName="denyButtonStyle"
|
||||||
<mx:Button styleName="denyButtonStyle" toolTip="{ResourceUtil.getInstance().getString('bbb.guests.denyBtn.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.guests.denyBtn.toolTip')}"
|
||||||
click="onRejectUserBtnClick()" />
|
click="onRejectUserBtnClick()" />
|
||||||
<mx:Button styleName="allowButtonStyle" toolTip="{ResourceUtil.getInstance().getString('bbb.guests.allowBtn.toolTip')}"
|
<mx:Button width="20" height="20" id="allowButton" styleName="allowButtonStyle"
|
||||||
|
toolTip="{ResourceUtil.getInstance().getString('bbb.guests.allowBtn.toolTip')}"
|
||||||
click="onAllowUserBtnClick()" />
|
click="onAllowUserBtnClick()" />
|
||||||
|
|
||||||
|
|
||||||
</mx:HBox>
|
</mx:HBox>
|
@ -1,106 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<mx:HBox xmlns:mx="library://ns.adobe.com/flex/mx"
|
|
||||||
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
|
||||||
horizontalGap="30"
|
|
||||||
width="400">
|
|
||||||
|
|
||||||
<fx:Declarations>
|
|
||||||
<mate:Listener type="{BBBEvent.RETRIEVE_GUEST_POLICY}" method="refreshGuestPolicy"/>
|
|
||||||
<mate:Listener type="{BBBEvent.SETTINGS_CONFIRMED}" method="onOkClicked"/>
|
|
||||||
<mate:Listener type="{BBBEvent.SETTINGS_CANCELLED}" method="onCancelClicked"/>
|
|
||||||
</fx:Declarations>
|
|
||||||
|
|
||||||
<fx:Script>
|
|
||||||
<![CDATA[
|
|
||||||
import com.asfusion.mate.events.Dispatcher;
|
|
||||||
|
|
||||||
import mx.events.ItemClickEvent;
|
|
||||||
|
|
||||||
import org.as3commons.logging.api.ILogger;
|
|
||||||
import org.as3commons.logging.api.getClassLogger;
|
|
||||||
import org.bigbluebutton.common.events.SettingsComponentEvent;
|
|
||||||
import org.bigbluebutton.main.events.BBBEvent;
|
|
||||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
|
||||||
|
|
||||||
private static const LOGGER:ILogger = getClassLogger(GuestManagement);
|
|
||||||
|
|
||||||
private var option:Number = 0;
|
|
||||||
private var guestPolicy:String;
|
|
||||||
|
|
||||||
private function refreshGuestPolicy(event:BBBEvent):void {
|
|
||||||
setGuestPolicy(event.payload.guestPolicy);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setGuestPolicy(guestPolicy:String):void {
|
|
||||||
this.guestPolicy = guestPolicy;
|
|
||||||
|
|
||||||
if(guestPolicy == "ASK_MODERATOR") {
|
|
||||||
guestManagement.selectedValue = 0;
|
|
||||||
option = 0;
|
|
||||||
} else if(guestPolicy == "ALWAYS_ACCEPT") {
|
|
||||||
guestManagement.selectedValue = 1;
|
|
||||||
option = 1;
|
|
||||||
} else {
|
|
||||||
guestManagement.selectedValue = 2;
|
|
||||||
option = 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function addToSettings():void {
|
|
||||||
var addGuestManagement:SettingsComponentEvent = new SettingsComponentEvent(SettingsComponentEvent.ADD);
|
|
||||||
addGuestManagement.component = this;
|
|
||||||
var dispatcher:Dispatcher = new Dispatcher();
|
|
||||||
dispatcher.dispatchEvent(addGuestManagement);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function onCancelClicked(e:Event = null):void {
|
|
||||||
setGuestPolicy(guestPolicy);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function handleGuestClick(event:ItemClickEvent):void {
|
|
||||||
option = event.currentTarget.selectedValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function onOkClicked(e:Event = null):void {
|
|
||||||
var event:BBBEvent = new BBBEvent(BBBEvent.BROADCAST_GUEST_POLICY);
|
|
||||||
if(option == 0) {
|
|
||||||
event.payload['guestPolicy'] = "ASK_MODERATOR";
|
|
||||||
dispatchEvent(event);
|
|
||||||
}
|
|
||||||
else if(option == 1) {
|
|
||||||
event.payload['guestPolicy'] = "ALWAYS_ACCEPT";
|
|
||||||
dispatchEvent(event);
|
|
||||||
dispatchEvent(new BBBEvent(BBBEvent.ACCEPT_ALL_WAITING_GUESTS));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
event.payload['guestPolicy'] = "ALWAYS_DENY";
|
|
||||||
dispatchEvent(event);
|
|
||||||
dispatchEvent(new BBBEvent(BBBEvent.DENY_ALL_WAITING_GUESTS));
|
|
||||||
}
|
|
||||||
LOGGER.debug("SENDING TO SERVER POLICY");
|
|
||||||
}
|
|
||||||
]]>
|
|
||||||
</fx:Script>
|
|
||||||
<mx:VBox width="30%" horizontalAlign="right">
|
|
||||||
<mx:Label text="{ResourceUtil.getInstance().getString('bbb.guests.Management')}"/>
|
|
||||||
</mx:VBox>
|
|
||||||
<mx:VBox width="70%">
|
|
||||||
<mx:RadioButtonGroup id="guestManagement" itemClick="handleGuestClick(event);"/>
|
|
||||||
<mx:RadioButton groupName="guestManagement"
|
|
||||||
id="askModerator"
|
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.guests.askModerator')}"
|
|
||||||
value="0"
|
|
||||||
/>
|
|
||||||
<mx:RadioButton groupName="guestManagement"
|
|
||||||
id="alwaysAccept"
|
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.guests.alwaysAccept')}"
|
|
||||||
value="1"
|
|
||||||
/>
|
|
||||||
<mx:RadioButton groupName="guestManagement"
|
|
||||||
id="AlwaysDeny"
|
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.guests.alwaysDeny')}"
|
|
||||||
value="2"
|
|
||||||
/>
|
|
||||||
</mx:VBox>
|
|
||||||
</mx:HBox>
|
|
@ -0,0 +1,89 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<mx:TitleWindow xmlns:mx="library://ns.adobe.com/flex/mx"
|
||||||
|
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
|
implements="org.bigbluebutton.common.IKeyboardClose"
|
||||||
|
initialize="init()"
|
||||||
|
show="this.setFocus()"
|
||||||
|
layout="vertical"
|
||||||
|
horizontalAlign="center"
|
||||||
|
showCloseButton="false"
|
||||||
|
minWidth="480">
|
||||||
|
|
||||||
|
<fx:Script>
|
||||||
|
<![CDATA[
|
||||||
|
import mx.managers.PopUpManager;
|
||||||
|
|
||||||
|
import org.as3commons.logging.api.ILogger;
|
||||||
|
import org.as3commons.logging.api.getClassLogger;
|
||||||
|
import org.bigbluebutton.common.IKeyboardClose;
|
||||||
|
import org.bigbluebutton.core.model.LiveMeeting;
|
||||||
|
import org.bigbluebutton.main.events.BBBEvent;
|
||||||
|
import org.bigbluebutton.main.model.GuestPolicy;
|
||||||
|
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||||
|
|
||||||
|
private static const LOGGER:ILogger = getClassLogger(GuestSettingsWindow);
|
||||||
|
|
||||||
|
public function init():void {
|
||||||
|
guestManagement.selectedValue = LiveMeeting.inst().guestsWaiting.getGuestPolicy();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function onOkClicked(e:Event = null):void {
|
||||||
|
var event:BBBEvent = new BBBEvent(BBBEvent.BROADCAST_GUEST_POLICY);
|
||||||
|
event.payload['guestPolicy'] = guestManagement.selectedValue;
|
||||||
|
dispatchEvent(event);
|
||||||
|
LOGGER.debug("Sending guest policy update to server");
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function close():void {
|
||||||
|
PopUpManager.removePopUp(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</fx:Script>
|
||||||
|
|
||||||
|
<common:AdvancedLabel text="{ResourceUtil.getInstance().getString('bbb.guests.management.title')}"
|
||||||
|
styleName="titleWindowStyle"
|
||||||
|
width="{this.width - 40}" />
|
||||||
|
|
||||||
|
<mx:RadioButtonGroup id="guestManagement"/>
|
||||||
|
|
||||||
|
<mx:HBox horizontalGap="30"
|
||||||
|
width="100%">
|
||||||
|
<mx:VBox width="50%">
|
||||||
|
<mx:RadioButton groupName="guestManagement"
|
||||||
|
id="askModerator"
|
||||||
|
width="100%"
|
||||||
|
label="{ResourceUtil.getInstance().getString('bbb.guests.askModerator')}"
|
||||||
|
value="{GuestPolicy.ASK_MODERATOR}"
|
||||||
|
/>
|
||||||
|
<mx:RadioButton groupName="guestManagement"
|
||||||
|
id="AlwaysDeny"
|
||||||
|
width="100%"
|
||||||
|
label="{ResourceUtil.getInstance().getString('bbb.guests.alwaysDeny')}"
|
||||||
|
value="{GuestPolicy.ALWAYS_DENY}"
|
||||||
|
/>
|
||||||
|
</mx:VBox>
|
||||||
|
<mx:VBox width="50%">
|
||||||
|
<mx:RadioButton groupName="guestManagement"
|
||||||
|
id="alwaysAccept"
|
||||||
|
width="100%"
|
||||||
|
label="{ResourceUtil.getInstance().getString('bbb.guests.alwaysAccept')}"
|
||||||
|
value="{GuestPolicy.ALWAYS_ACCEPT}"
|
||||||
|
/>
|
||||||
|
<mx:RadioButton groupName="guestManagement"
|
||||||
|
id="alwaysAcceptAuth"
|
||||||
|
width="100%"
|
||||||
|
label="{ResourceUtil.getInstance().getString('bbb.guests.alwaysAcceptAuth')}"
|
||||||
|
value="{GuestPolicy.ALWAYS_ACCEPT_AUTH}"
|
||||||
|
/>
|
||||||
|
</mx:VBox>
|
||||||
|
</mx:HBox>
|
||||||
|
|
||||||
|
<mx:HBox width="100%" paddingTop="20" horizontalAlign="right">
|
||||||
|
<mx:Button id="okBtn" styleName="mainActionButton" label="{ResourceUtil.getInstance().getString('bbb.guest.settings.ok')}" click="onOkClicked()"/>
|
||||||
|
<mx:Button id="cancelBtn" label="{ResourceUtil.getInstance().getString('bbb.guest.settings.cancel')}" click="close()"/>
|
||||||
|
</mx:HBox>
|
||||||
|
</mx:TitleWindow>
|
@ -1,146 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
BigBlueButton open source conferencing system - http://www.bigbluebutton.org
|
|
||||||
|
|
||||||
Copyright (c) 2010 BigBlueButton Inc. and by respective authors (see below).
|
|
||||||
|
|
||||||
BigBlueButton is free software; you can redistribute it and/or modify it under the
|
|
||||||
terms of the GNU Lesser General Public License as published by the Free Software
|
|
||||||
Foundation; either version 2.1 of the License, or (at your option) any later
|
|
||||||
version.
|
|
||||||
|
|
||||||
BigBlueButton 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 Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License along
|
|
||||||
with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
$Id: $
|
|
||||||
-->
|
|
||||||
|
|
||||||
<mx:TitleWindow xmlns:mx="library://ns.adobe.com/flex/mx"
|
|
||||||
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
|
||||||
title="{ResourceUtil.getInstance().getString('bbb.guests.title')}" showCloseButton="false" creationComplete="init()"
|
|
||||||
x="0" y="0" layout="vertical" width="320" horizontalAlign="center"
|
|
||||||
xmlns:mate="http://mate.asfusion.com/" >
|
|
||||||
|
|
||||||
<fx:Declarations>
|
|
||||||
<mate:Listener type="{BBBEvent.ACCEPT_ALL_WAITING_GUESTS}" method="acceptAllWaitingGuests" />
|
|
||||||
<mate:Listener type="{BBBEvent.DENY_ALL_WAITING_GUESTS}" method="denyAllWaitingGuests" />
|
|
||||||
<mate:Listener type="{RemoveGuestFromViewEvent.REMOVE_GUEST}" receive="{remove(event.userid)}" />
|
|
||||||
</fx:Declarations>
|
|
||||||
|
|
||||||
<fx:Script>
|
|
||||||
<![CDATA[
|
|
||||||
import com.asfusion.mate.events.Dispatcher;
|
|
||||||
|
|
||||||
import mx.managers.PopUpManager;
|
|
||||||
|
|
||||||
import org.bigbluebutton.core.model.LiveMeeting;
|
|
||||||
import org.bigbluebutton.core.model.users.GuestWaiting;
|
|
||||||
import org.bigbluebutton.main.events.BBBEvent;
|
|
||||||
import org.bigbluebutton.main.events.RemoveGuestEvent;
|
|
||||||
import org.bigbluebutton.main.events.RemoveGuestFromViewEvent;
|
|
||||||
import org.bigbluebutton.main.events.ResponseModeratorEvent;
|
|
||||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
|
||||||
|
|
||||||
private var guestButtons:Object = new Object();
|
|
||||||
[Bindable] private var numberOfGuests:Number = 0;
|
|
||||||
private var dispatcher:Dispatcher = new Dispatcher();
|
|
||||||
|
|
||||||
public function init():void {
|
|
||||||
//Uncomment this line to make titlewindow undraggable
|
|
||||||
//this.isPopUp = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function refreshGuestView():void {
|
|
||||||
var _guests: Array = LiveMeeting.inst().guestsWaiting.getGuests();
|
|
||||||
for (var i:int = 0; i < _guests.length; i++) {
|
|
||||||
var _guest: GuestWaiting = _guests[i] as GuestWaiting;
|
|
||||||
if(guestButtons[_guest.intId] == null) {
|
|
||||||
var guestItem:GuestItem = new GuestItem();
|
|
||||||
guestItem.setUser(_guest.name, _guest.intId);
|
|
||||||
guestListBox.addChild(guestItem);
|
|
||||||
guestButtons[_guest.intId] = guestItem;
|
|
||||||
numberOfGuests++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.visible = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function sendResponseToAllGuests(approved:Boolean):void {
|
|
||||||
removeAllGuests();
|
|
||||||
var _guests: Array = LiveMeeting.inst().guestsWaiting.getGuests();
|
|
||||||
var approvedGuests: Array = new Array();
|
|
||||||
for (var i:int = 0; i < _guests.length; i++) {
|
|
||||||
var _guest: GuestWaiting = _guests[i] as GuestWaiting;
|
|
||||||
approvedGuests.push(_guest.intId);
|
|
||||||
}
|
|
||||||
var respCommand:ResponseModeratorEvent =
|
|
||||||
new ResponseModeratorEvent(approvedGuests, approved);
|
|
||||||
dispatcher.dispatchEvent(respCommand);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function sendResponseToAllGuestsCheckBox(resp:Boolean):void {
|
|
||||||
if(rememberCheckBox.selected) {
|
|
||||||
var event:BBBEvent = new BBBEvent(BBBEvent.BROADCAST_GUEST_POLICY);
|
|
||||||
if (resp) {
|
|
||||||
event.payload['guestPolicy'] = "ALWAYS_ACCEPT";
|
|
||||||
} else {
|
|
||||||
event.payload['guestPolicy'] = "ALWAYS_DENY";
|
|
||||||
}
|
|
||||||
dispatcher.dispatchEvent(event);
|
|
||||||
}
|
|
||||||
sendResponseToAllGuests(resp);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function acceptAllWaitingGuests(event:BBBEvent):void {
|
|
||||||
sendResponseToAllGuests(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function denyAllWaitingGuests(event:BBBEvent):void {
|
|
||||||
sendResponseToAllGuests(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function removeAllGuests():void {
|
|
||||||
closeWindow();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function remove(userid:String):void {
|
|
||||||
if (guestButtons[userid] != null) {
|
|
||||||
numberOfGuests = numberOfGuests - 1;
|
|
||||||
guestListBox.removeChild(guestButtons[userid]);
|
|
||||||
delete guestButtons[userid];
|
|
||||||
|
|
||||||
var removeGuestEvent:RemoveGuestEvent = new RemoveGuestEvent();
|
|
||||||
removeGuestEvent.userid = userid;
|
|
||||||
dispatcher.dispatchEvent(removeGuestEvent);
|
|
||||||
|
|
||||||
if (!hasGuest()) {
|
|
||||||
closeWindow();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function hasGuest():Boolean {
|
|
||||||
return numberOfGuests > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function closeWindow():void {
|
|
||||||
this.visible = false;
|
|
||||||
PopUpManager.removePopUp(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
]]>
|
|
||||||
</fx:Script>
|
|
||||||
<mx:Label text="{numberOfGuests > 1? ResourceUtil.getInstance().getString('bbb.guests.message.plural', [String(numberOfGuests)]): ResourceUtil.getInstance().getString('bbb.guests.message.singular', [String(numberOfGuests)])}"/>
|
|
||||||
<mx:HRule width="100%"/>
|
|
||||||
<mx:Button id="allowEveryoneBtn" label="{ResourceUtil.getInstance().getString('bbb.guests.allowEveryoneBtn.text')}" width="70%" click="sendResponseToAllGuestsCheckBox(true)" toolTip="{allowEveryoneBtn.label}"/>
|
|
||||||
<mx:Button id="denyEveryoneBtn" label="{ResourceUtil.getInstance().getString('bbb.guests.denyEveryoneBtn.text')}" width="70%" click="sendResponseToAllGuestsCheckBox(false)" toolTip="{denyEveryoneBtn.label}"/>
|
|
||||||
<mx:CheckBox id="rememberCheckBox" label="{ResourceUtil.getInstance().getString('bbb.guests.rememberAction.text')}"/>
|
|
||||||
<mx:HRule width="100%"/>
|
|
||||||
<mx:VBox id="guestListBox" width="100%" height="100%" maxHeight="200" paddingLeft="10" paddingRight="10" paddingBottom="2" />
|
|
||||||
|
|
||||||
</mx:TitleWindow>
|
|
@ -76,7 +76,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="onLocaleChanged" />
|
<mate:Listener type="{LocaleChangeEvent.LOCALE_CHANGED}" method="onLocaleChanged" />
|
||||||
|
|
||||||
<mate:Listener type="{NetworkStatsEvent.OPEN_NETSTATS_WIN}" method="openNetworkStatsWindow" />
|
<mate:Listener type="{NetworkStatsEvent.OPEN_NETSTATS_WIN}" method="openNetworkStatsWindow" />
|
||||||
<mate:Listener type="{BBBEvent.RETRIEVE_GUEST_POLICY}" method="setGuestPolicy"/>
|
|
||||||
<mate:Listener type="{ConnectionFailedEvent.MODERATOR_DENIED_ME}" method="handleLogout" />
|
<mate:Listener type="{ConnectionFailedEvent.MODERATOR_DENIED_ME}" method="handleLogout" />
|
||||||
<mate:Listener type="{BBBEvent.MODERATOR_ALLOWED_ME_TO_JOIN}" method="guestAllowed" />
|
<mate:Listener type="{BBBEvent.MODERATOR_ALLOWED_ME_TO_JOIN}" method="guestAllowed" />
|
||||||
<mate:Listener type="{NewGuestWaitingEvent.NEW_GUEST_WAITING}" method="refreshGuestView" />
|
<mate:Listener type="{NewGuestWaitingEvent.NEW_GUEST_WAITING}" method="refreshGuestView" />
|
||||||
@ -99,7 +98,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
import mx.binding.utils.ChangeWatcher;
|
import mx.binding.utils.ChangeWatcher;
|
||||||
import mx.collections.ArrayCollection;
|
import mx.collections.ArrayCollection;
|
||||||
import mx.controls.Alert;
|
|
||||||
import mx.core.FlexGlobals;
|
import mx.core.FlexGlobals;
|
||||||
import mx.core.IFlexDisplayObject;
|
import mx.core.IFlexDisplayObject;
|
||||||
import mx.core.UIComponent;
|
import mx.core.UIComponent;
|
||||||
@ -138,6 +136,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
import org.bigbluebutton.main.events.NetworkStatsEvent;
|
import org.bigbluebutton.main.events.NetworkStatsEvent;
|
||||||
import org.bigbluebutton.main.events.ShortcutEvent;
|
import org.bigbluebutton.main.events.ShortcutEvent;
|
||||||
import org.bigbluebutton.main.model.Guest;
|
import org.bigbluebutton.main.model.Guest;
|
||||||
|
import org.bigbluebutton.main.model.GuestPolicy;
|
||||||
import org.bigbluebutton.main.model.ImageLoader;
|
import org.bigbluebutton.main.model.ImageLoader;
|
||||||
import org.bigbluebutton.main.model.options.BrandingOptions;
|
import org.bigbluebutton.main.model.options.BrandingOptions;
|
||||||
import org.bigbluebutton.main.model.options.BrowserVersionsOptions;
|
import org.bigbluebutton.main.model.options.BrowserVersionsOptions;
|
||||||
@ -163,7 +162,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
private var stoppedModules:ArrayCollection;
|
private var stoppedModules:ArrayCollection;
|
||||||
private var logWindow:LogWindow;
|
private var logWindow:LogWindow;
|
||||||
private var waitWindow:WaitingWindow = null;
|
private var waitWindow:WaitingWindow = null;
|
||||||
private var guestWindow:GuestWindow = null;
|
private var guestWindow:PendingGuestsWindow = null;
|
||||||
private var scWindow:ShortcutHelpWindow;
|
private var scWindow:ShortcutHelpWindow;
|
||||||
private var connectionLostWindow:ConnectionLostWindow;
|
private var connectionLostWindow:ConnectionLostWindow;
|
||||||
|
|
||||||
@ -192,9 +191,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
[Bindable] private var isTunneling:Boolean = false;
|
[Bindable] private var isTunneling:Boolean = false;
|
||||||
|
|
||||||
private var guestManagement:GuestManagement = null;
|
|
||||||
private var guest:Guest = new Guest();
|
private var guest:Guest = new Guest();
|
||||||
private var guestPolicy:String = "ASK_MODERATOR";
|
private var guestPolicy:String = GuestPolicy.ASK_MODERATOR;
|
||||||
|
|
||||||
private var confirmingLogout:Boolean = false;
|
private var confirmingLogout:Boolean = false;
|
||||||
|
|
||||||
@ -297,16 +295,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
if (heightWatch != null) heightWatch.unwatch();
|
if (heightWatch != null) heightWatch.unwatch();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function setGuestPolicy(event:BBBEvent):void {
|
|
||||||
guestPolicy = event.payload.guestPolicy;
|
|
||||||
if(guestManagement == null) {
|
|
||||||
LOGGER.debug("ADD Guest Event");
|
|
||||||
guestManagement = new GuestManagement();
|
|
||||||
guestManagement.setGuestPolicy(guestPolicy);
|
|
||||||
guestManagement.addToSettings();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function updateCopyrightLabelDimensions(e:Event = null):void {
|
private function updateCopyrightLabelDimensions(e:Event = null):void {
|
||||||
var appWidth:Number = parentApplication.width;
|
var appWidth:Number = parentApplication.width;
|
||||||
|
|
||||||
@ -374,7 +362,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (guestWindow == null) {
|
if (guestWindow == null) {
|
||||||
guestWindow = PopUpUtil.createModalPopUp( mdiCanvas, GuestWindow, false) as GuestWindow;
|
guestWindow = PopUpUtil.createModalPopUp( mdiCanvas, PendingGuestsWindow, false) as PendingGuestsWindow;
|
||||||
guestWindow.addEventListener(Event.CLOSE, closeGuestWindow);
|
guestWindow.addEventListener(Event.CLOSE, closeGuestWindow);
|
||||||
|
|
||||||
guestWindow.x = systemManager.screen.width - guestWindow.width - 20;
|
guestWindow.x = systemManager.screen.width - guestWindow.width - 20;
|
||||||
|
@ -44,8 +44,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mate:Listener type="{ShortcutEvent.FOCUS_LOGOUT_BUTTON}" method="focusLogoutButton" />
|
<mate:Listener type="{ShortcutEvent.FOCUS_LOGOUT_BUTTON}" method="focusLogoutButton" />
|
||||||
<mate:Listener type="{ConferenceCreatedEvent.CONFERENCE_CREATED_EVENT}" method="retrieveMeetingName" />
|
<mate:Listener type="{ConferenceCreatedEvent.CONFERENCE_CREATED_EVENT}" method="retrieveMeetingName" />
|
||||||
<mate:Listener type="{ConnectionFailedEvent.MODERATOR_DENIED_ME}" method="hideToolbar" />
|
<mate:Listener type="{ConnectionFailedEvent.MODERATOR_DENIED_ME}" method="hideToolbar" />
|
||||||
<mate:Listener type="{SettingsComponentEvent.ADD}" method="addSettingsComponent" />
|
|
||||||
<mate:Listener type="{SettingsComponentEvent.REMOVE}" method="removeSettingsComponent"/>
|
|
||||||
<mate:Listener type="{BBBEvent.CHANGE_RECORDING_STATUS}" method="onRecordingStatusChanged" />
|
<mate:Listener type="{BBBEvent.CHANGE_RECORDING_STATUS}" method="onRecordingStatusChanged" />
|
||||||
<mate:Listener type="{SuccessfulLoginEvent.USER_LOGGED_IN}" method="refreshModeratorButtonsVisibility" />
|
<mate:Listener type="{SuccessfulLoginEvent.USER_LOGGED_IN}" method="refreshModeratorButtonsVisibility" />
|
||||||
<mate:Listener type="{ChangeMyRole.CHANGE_MY_ROLE_EVENT}" method="refreshRole" />
|
<mate:Listener type="{ChangeMyRole.CHANGE_MY_ROLE_EVENT}" method="refreshRole" />
|
||||||
@ -63,7 +61,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
import mx.core.UIComponent;
|
import mx.core.UIComponent;
|
||||||
import mx.events.CloseEvent;
|
import mx.events.CloseEvent;
|
||||||
import mx.events.ToolTipEvent;
|
import mx.events.ToolTipEvent;
|
||||||
import mx.managers.PopUpManager;
|
|
||||||
|
|
||||||
import flashx.textLayout.formats.Direction;
|
import flashx.textLayout.formats.Direction;
|
||||||
|
|
||||||
@ -71,7 +68,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
import org.as3commons.logging.api.ILogger;
|
import org.as3commons.logging.api.ILogger;
|
||||||
import org.as3commons.logging.api.getClassLogger;
|
import org.as3commons.logging.api.getClassLogger;
|
||||||
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
import org.bigbluebutton.common.events.LocaleChangeEvent;
|
||||||
import org.bigbluebutton.common.events.SettingsComponentEvent;
|
|
||||||
import org.bigbluebutton.common.events.ToolbarButtonEvent;
|
import org.bigbluebutton.common.events.ToolbarButtonEvent;
|
||||||
import org.bigbluebutton.core.BBB;
|
import org.bigbluebutton.core.BBB;
|
||||||
import org.bigbluebutton.core.Options;
|
import org.bigbluebutton.core.Options;
|
||||||
@ -106,7 +102,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
[Bindable] private var showHelpBtn:Boolean = false;
|
[Bindable] private var showHelpBtn:Boolean = false;
|
||||||
[Bindable] private var showToolbar:Boolean = false;
|
[Bindable] private var showToolbar:Boolean = false;
|
||||||
[Bindable] private var showGuestSettingsButton:Boolean = false;
|
|
||||||
[Bindable] private var showRecordButton:Boolean = false;
|
[Bindable] private var showRecordButton:Boolean = false;
|
||||||
[Bindable] public var toolbarOptions:LayoutOptions;
|
[Bindable] public var toolbarOptions:LayoutOptions;
|
||||||
[Bindable] private var brandingOptions:BrandingOptions;
|
[Bindable] private var brandingOptions:BrandingOptions;
|
||||||
@ -129,7 +124,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
private var xml:XML;
|
private var xml:XML;
|
||||||
private var settingsComponents:Array = new Array();
|
private var settingsComponents:Array = new Array();
|
||||||
private var settingsPopup:BBBSettings = null;
|
|
||||||
|
|
||||||
private function init():void{
|
private function init():void{
|
||||||
toolbarOptions = Options.getOptions(LayoutOptions) as LayoutOptions;
|
toolbarOptions = Options.getOptions(LayoutOptions) as LayoutOptions;
|
||||||
@ -239,8 +233,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function refreshModeratorButtonsVisibility(e:*):void {
|
private function refreshModeratorButtonsVisibility(e:*):void {
|
||||||
showGuestSettingsButton = UsersUtil.amIModerator() && usersOptions.enableGuestUI;
|
|
||||||
|
|
||||||
showRecordButton = LiveMeeting.inst().meeting.recorded && UsersUtil.amIModerator();
|
showRecordButton = LiveMeeting.inst().meeting.recorded && UsersUtil.amIModerator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -517,20 +509,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
logoSperatator.visible = logo.includeInLayout = false;
|
logoSperatator.visible = logo.includeInLayout = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function addSettingsComponent(e:SettingsComponentEvent = null):void {
|
|
||||||
settingsComponents.push(e.component);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function removeSettingsComponent(e:SettingsComponentEvent = null):void {
|
|
||||||
throw("Not implemented");
|
|
||||||
}
|
|
||||||
|
|
||||||
private function onSettingsButtonClick():void {
|
|
||||||
settingsPopup = PopUpUtil.createModalPopUp(this.parent, BBBSettings, true) as BBBSettings;
|
|
||||||
settingsPopup.pushComponents(settingsComponents);
|
|
||||||
PopUpManager.centerPopUp(settingsPopup);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function refreshRole(e:ChangeMyRole):void {
|
private function refreshRole(e:ChangeMyRole):void {
|
||||||
refreshModeratorButtonsVisibility(null);
|
refreshModeratorButtonsVisibility(null);
|
||||||
}
|
}
|
||||||
@ -573,15 +551,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<views:RecordButton id="recordBtn" visible="{showRecordButton}" includeInLayout="{showRecordButton}"/>
|
<views:RecordButton id="recordBtn" visible="{showRecordButton}" includeInLayout="{showRecordButton}"/>
|
||||||
<views:WebRTCAudioStatus id="webRTCAudioStatus" height="30"/>
|
<views:WebRTCAudioStatus id="webRTCAudioStatus" height="30"/>
|
||||||
|
|
||||||
<mx:Button
|
|
||||||
id="bbbSettings"
|
|
||||||
visible="{showGuestSettingsButton}"
|
|
||||||
includeInLayout="{showGuestSettingsButton}"
|
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.settings.btn.toolTip')}"
|
|
||||||
click="onSettingsButtonClick()"
|
|
||||||
styleName="settingsButtonStyle"
|
|
||||||
height="30"
|
|
||||||
/>
|
|
||||||
<!--
|
<!--
|
||||||
<mx:Button label="DISCONNECT!" click="BBB.initConnectionManager().forceClose()" height="22" toolTip="Click to simulate disconnection" />
|
<mx:Button label="DISCONNECT!" click="BBB.initConnectionManager().forceClose()" height="22" toolTip="Click to simulate disconnection" />
|
||||||
-->
|
-->
|
||||||
|
168
bigbluebutton-client/src/org/bigbluebutton/main/views/PendingGuestsWindow.mxml
Executable file
168
bigbluebutton-client/src/org/bigbluebutton/main/views/PendingGuestsWindow.mxml
Executable file
@ -0,0 +1,168 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
BigBlueButton open source conferencing system - http://www.bigbluebutton.org
|
||||||
|
|
||||||
|
Copyright (c) 2010 BigBlueButton Inc. and by respective authors (see below).
|
||||||
|
|
||||||
|
BigBlueButton is free software; you can redistribute it and/or modify it under the
|
||||||
|
terms of the GNU Lesser General Public License as published by the Free Software
|
||||||
|
Foundation; either version 2.1 of the License, or (at your option) any later
|
||||||
|
version.
|
||||||
|
|
||||||
|
BigBlueButton 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 Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License along
|
||||||
|
with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
$Id: $
|
||||||
|
-->
|
||||||
|
|
||||||
|
<mx:TitleWindow xmlns:mx="library://ns.adobe.com/flex/mx"
|
||||||
|
xmlns:fx="http://ns.adobe.com/mxml/2009"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
|
title="{ResourceUtil.getInstance().getString('bbb.guests.title')}"
|
||||||
|
showCloseButton="false"
|
||||||
|
layout="absolute" width="600" minHeight="400"
|
||||||
|
verticalScrollPolicy="off" horizontalScrollPolicy="off"
|
||||||
|
xmlns:mate="http://mate.asfusion.com/" >
|
||||||
|
|
||||||
|
<fx:Declarations>
|
||||||
|
<mate:Listener type="{BBBEvent.ACCEPT_ALL_WAITING_GUESTS}" method="acceptAllWaitingGuests" />
|
||||||
|
<mate:Listener type="{BBBEvent.DENY_ALL_WAITING_GUESTS}" method="denyAllWaitingGuests" />
|
||||||
|
<mate:Listener type="{RemoveGuestFromViewEvent.REMOVE_GUEST}" receive="{remove(event.userid)}" />
|
||||||
|
</fx:Declarations>
|
||||||
|
|
||||||
|
<fx:Script>
|
||||||
|
<![CDATA[
|
||||||
|
import com.asfusion.mate.events.Dispatcher;
|
||||||
|
|
||||||
|
import mx.collections.ArrayCollection;
|
||||||
|
import mx.managers.PopUpManager;
|
||||||
|
|
||||||
|
import org.bigbluebutton.core.model.LiveMeeting;
|
||||||
|
import org.bigbluebutton.core.model.users.GuestWaiting;
|
||||||
|
import org.bigbluebutton.main.events.BBBEvent;
|
||||||
|
import org.bigbluebutton.main.events.RemoveGuestEvent;
|
||||||
|
import org.bigbluebutton.main.events.RemoveGuestFromViewEvent;
|
||||||
|
import org.bigbluebutton.main.events.ResponseModeratorEvent;
|
||||||
|
import org.bigbluebutton.main.model.GuestPolicy;
|
||||||
|
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||||
|
|
||||||
|
[Bindable]
|
||||||
|
private var guestUsers:ArrayCollection = new ArrayCollection();
|
||||||
|
[Bindable]
|
||||||
|
private var authUsers:ArrayCollection = new ArrayCollection();
|
||||||
|
private var dispatcher:Dispatcher = new Dispatcher();
|
||||||
|
|
||||||
|
public function refreshGuestView():void {
|
||||||
|
guestUsers = new ArrayCollection(LiveMeeting.inst().guestsWaiting.getGuests());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sendResponseToAllGuests(approved:Boolean):void {
|
||||||
|
removeAllGuests();
|
||||||
|
var _guests: Array = LiveMeeting.inst().guestsWaiting.getGuests();
|
||||||
|
var approvedGuests: Array = new Array();
|
||||||
|
for (var i:int = 0; i < _guests.length; i++) {
|
||||||
|
var _guest: GuestWaiting = _guests[i] as GuestWaiting;
|
||||||
|
approvedGuests.push(_guest.intId);
|
||||||
|
}
|
||||||
|
var respCommand:ResponseModeratorEvent =
|
||||||
|
new ResponseModeratorEvent(approvedGuests, approved);
|
||||||
|
dispatcher.dispatchEvent(respCommand);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sendResponseToAllGuestsCheckBox(resp:Boolean):void {
|
||||||
|
if(rememberCheckBox.selected) {
|
||||||
|
var event:BBBEvent = new BBBEvent(BBBEvent.BROADCAST_GUEST_POLICY);
|
||||||
|
if (resp) {
|
||||||
|
event.payload['guestPolicy'] = GuestPolicy.ALWAYS_ACCEPT;
|
||||||
|
} else {
|
||||||
|
event.payload['guestPolicy'] = GuestPolicy.ALWAYS_DENY;
|
||||||
|
}
|
||||||
|
dispatcher.dispatchEvent(event);
|
||||||
|
}
|
||||||
|
sendResponseToAllGuests(resp);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function acceptAllWaitingGuests(event:BBBEvent):void {
|
||||||
|
sendResponseToAllGuests(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function denyAllWaitingGuests(event:BBBEvent):void {
|
||||||
|
sendResponseToAllGuests(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function removeAllGuests():void {
|
||||||
|
closeWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function remove(userid:String):void {
|
||||||
|
refreshGuestView();
|
||||||
|
|
||||||
|
var removeGuestEvent:RemoveGuestEvent = new RemoveGuestEvent();
|
||||||
|
removeGuestEvent.userid = userid;
|
||||||
|
dispatcher.dispatchEvent(removeGuestEvent);
|
||||||
|
|
||||||
|
if (guestUsers.length == 0) {
|
||||||
|
closeWindow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function closeWindow():void {
|
||||||
|
PopUpManager.removePopUp(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</fx:Script>
|
||||||
|
|
||||||
|
<mx:VBox height="100%" width="100%" paddingTop="15" paddingBottom="15" verticalGap="15" horizontalAlign="center">
|
||||||
|
|
||||||
|
<common:AdvancedLabel text="{ResourceUtil.getInstance().getString('bbb.guests.pending.title')}"
|
||||||
|
styleName="titleWindowStyle"
|
||||||
|
width="{this.width - 40}" />
|
||||||
|
|
||||||
|
<mx:HBox paddingLeft="20" paddingRight="20" horizontalGap="20" width="100%" height="100%">
|
||||||
|
<mx:VBox width="200" height="100%">
|
||||||
|
<mx:VBox width="100%">
|
||||||
|
<mx:Button id="allowAllAuthBtn" styleName="mainActionButton"
|
||||||
|
label="{ResourceUtil.getInstance().getString('bbb.guests.allowAllAuthenticated.label')}"
|
||||||
|
width="100%" click="sendResponseToAllGuestsCheckBox(true)" toolTip="{allowEveryoneBtn.label}"/>
|
||||||
|
<mx:Button id="allowAllGuestsBtn" styleName="mainActionButton"
|
||||||
|
label="{ResourceUtil.getInstance().getString('bbb.guests.allowAllGuestsBtn.label')}"
|
||||||
|
width="100%" click="sendResponseToAllGuestsCheckBox(true)" toolTip="{allowEveryoneBtn.label}"/>
|
||||||
|
</mx:VBox>
|
||||||
|
<mx:VBox width="100%" paddingTop="20" paddingBottom="20">
|
||||||
|
<mx:Button id="allowEveryoneBtn" styleName="mainActionButton"
|
||||||
|
label="{ResourceUtil.getInstance().getString('bbb.guests.allowEveryone.label')}"
|
||||||
|
width="100%" click="sendResponseToAllGuestsCheckBox(true)" toolTip="{allowEveryoneBtn.label}"/>
|
||||||
|
<mx:Button id="denyEveryoneBtn" styleName="mainActionButton"
|
||||||
|
label="{ResourceUtil.getInstance().getString('bbb.guests.denyEveryone.label')}"
|
||||||
|
width="100%" click="sendResponseToAllGuestsCheckBox(false)" toolTip="{denyEveryoneBtn.label}"/>
|
||||||
|
</mx:VBox>
|
||||||
|
<mx:CheckBox id="rememberCheckBox" label="{ResourceUtil.getInstance().getString('bbb.guests.rememberAction.label')}"/>
|
||||||
|
</mx:VBox>
|
||||||
|
|
||||||
|
<mx:VRule height="100%"/>
|
||||||
|
|
||||||
|
<mx:VBox width="100%" height="100%">
|
||||||
|
<mx:Label text="{authUsers.length > 1 ? ResourceUtil.getInstance().getString('bbb.guests.message.user.plural', [String(authUsers.length)]): ResourceUtil.getInstance().getString('bbb.guests.message.user.singular', [String(authUsers.length)])}"
|
||||||
|
width="100%"/>
|
||||||
|
<mx:List id="authUsersList" styleName="guestListStyle" itemRenderer="org.bigbluebutton.main.views.GuestItemRenderer"
|
||||||
|
rowCount="4" width="100%" paddingLeft="0" paddingRight="0" dataProvider="{authUsers}" />
|
||||||
|
<mx:Label text="{guestUsers.length > 1 ? ResourceUtil.getInstance().getString('bbb.guests.message.guest.plural', [String(guestUsers.length)]): ResourceUtil.getInstance().getString('bbb.guests.message.guest.singular', [String(guestUsers.length)])}"
|
||||||
|
width="100%"/>
|
||||||
|
<mx:List id="guestList" styleName="guestListStyle" itemRenderer="org.bigbluebutton.main.views.GuestItemRenderer"
|
||||||
|
rowCount="4" width="100%" paddingLeft="0" paddingRight="0" dataProvider="{guestUsers}" />
|
||||||
|
</mx:VBox>
|
||||||
|
</mx:HBox>
|
||||||
|
</mx:VBox>
|
||||||
|
|
||||||
|
<mx:Button id="closeButton" click="closeWindow()" styleName="titleWindowCloseButton"
|
||||||
|
toolTip="{ResourceUtil.getInstance().getString('bbb.guests.pending.close')}"
|
||||||
|
right="10" top="15"
|
||||||
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.guests.pending.close.toolTip')}" />
|
||||||
|
|
||||||
|
</mx:TitleWindow>
|
@ -885,9 +885,7 @@ package org.bigbluebutton.modules.users.services
|
|||||||
var body: Object = msg.body as Object;
|
var body: Object = msg.body as Object;
|
||||||
var policy: String = body.policy as String;
|
var policy: String = body.policy as String;
|
||||||
|
|
||||||
var policyEvent:BBBEvent = new BBBEvent(BBBEvent.RETRIEVE_GUEST_POLICY);
|
LiveMeeting.inst().guestsWaiting.setGuestPolicy(policy);
|
||||||
policyEvent.payload['guestPolicy'] = policy;
|
|
||||||
dispatcher.dispatchEvent(policyEvent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleGetGuestPolicyReply(msg:Object):void {
|
public function handleGetGuestPolicyReply(msg:Object):void {
|
||||||
@ -896,10 +894,6 @@ package org.bigbluebutton.modules.users.services
|
|||||||
var policy: String = body.policy as String;
|
var policy: String = body.policy as String;
|
||||||
|
|
||||||
LiveMeeting.inst().guestsWaiting.setGuestPolicy(policy);
|
LiveMeeting.inst().guestsWaiting.setGuestPolicy(policy);
|
||||||
|
|
||||||
var policyEvent:BBBEvent = new BBBEvent(BBBEvent.RETRIEVE_GUEST_POLICY);
|
|
||||||
policyEvent.payload['guestPolicy'] = policyEvent;
|
|
||||||
dispatcher.dispatchEvent(policyEvent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleGuestAccessDenied(msg:Object):void {
|
public function handleGuestAccessDenied(msg:Object):void {
|
||||||
|
@ -117,6 +117,7 @@ $Id: $
|
|||||||
import org.bigbluebutton.main.model.users.events.StreamStoppedEvent;
|
import org.bigbluebutton.main.model.users.events.StreamStoppedEvent;
|
||||||
import org.bigbluebutton.main.model.users.events.UserAddedToPresenterGroupEvent;
|
import org.bigbluebutton.main.model.users.events.UserAddedToPresenterGroupEvent;
|
||||||
import org.bigbluebutton.main.model.users.events.UserRemovedFromPresenterGroupEvent;
|
import org.bigbluebutton.main.model.users.events.UserRemovedFromPresenterGroupEvent;
|
||||||
|
import org.bigbluebutton.main.views.GuestSettingsWindow;
|
||||||
import org.bigbluebutton.main.views.MainCanvas;
|
import org.bigbluebutton.main.views.MainCanvas;
|
||||||
import org.bigbluebutton.main.views.WellPositionedMenu;
|
import org.bigbluebutton.main.views.WellPositionedMenu;
|
||||||
import org.bigbluebutton.modules.users.events.MeetingMutedEvent;
|
import org.bigbluebutton.modules.users.events.MeetingMutedEvent;
|
||||||
@ -391,7 +392,7 @@ $Id: $
|
|||||||
moodMenu.btn = emojiStatusBtn;
|
moodMenu.btn = emojiStatusBtn;
|
||||||
moodMenu.show();
|
moodMenu.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function openSettings():void {
|
private function openSettings():void {
|
||||||
paramsMenuData = [];
|
paramsMenuData = [];
|
||||||
paramsMenuData.push({label: ResourceUtil.getInstance().getString('bbb.users.settings.clearAllStatus'), icon: getStyle('iconClearStatus'), handler: resetEmojiStatuses});
|
paramsMenuData.push({label: ResourceUtil.getInstance().getString('bbb.users.settings.clearAllStatus'), icon: getStyle('iconClearStatus'), handler: resetEmojiStatuses});
|
||||||
@ -414,6 +415,9 @@ $Id: $
|
|||||||
paramsMenuData.push({label: ResourceUtil.getInstance().getString('bbb.users.settings.sendBreakoutRoomsInvitations'), handler: sendBreakoutRoomsInvitations});
|
paramsMenuData.push({label: ResourceUtil.getInstance().getString('bbb.users.settings.sendBreakoutRoomsInvitations'), handler: sendBreakoutRoomsInvitations});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (partOptions.enableGuestUI) {
|
||||||
|
paramsMenuData.push({label: ResourceUtil.getInstance().getString('bbb.users.settings.guestSettings'), handler: guestSettings});
|
||||||
|
}
|
||||||
|
|
||||||
// make sure the previous menu is closed before opening a new one
|
// make sure the previous menu is closed before opening a new one
|
||||||
// This could be improved to include a flag that tells if the menu is open,
|
// This could be improved to include a flag that tells if the menu is open,
|
||||||
@ -448,6 +452,10 @@ $Id: $
|
|||||||
event.record = breakoutOptions.record;
|
event.record = breakoutOptions.record;
|
||||||
dispatcher.dispatchEvent(event);
|
dispatcher.dispatchEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function guestSettings():void {
|
||||||
|
PopUpUtil.createModalPopUp(this.parent, GuestSettingsWindow, true) as GuestSettingsWindow;
|
||||||
|
}
|
||||||
|
|
||||||
private function sendBreakoutRoomsInvitations():void {
|
private function sendBreakoutRoomsInvitations():void {
|
||||||
var event:BreakoutRoomEvent = new BreakoutRoomEvent(BreakoutRoomEvent.OPEN_BREAKOUT_ROOMS_PANEL);
|
var event:BreakoutRoomEvent = new BreakoutRoomEvent(BreakoutRoomEvent.OPEN_BREAKOUT_ROOMS_PANEL);
|
||||||
|
Loading…
Reference in New Issue
Block a user