public void onEvent()

in openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java [420:537]


	public void onEvent(IEvent<?> event) {
		if (!jsInited) {
			return;
		}
		Client curClient = getClient();
		if (curClient != null && event.getPayload() instanceof WebSocketPushPayload) {
			WebSocketPushPayload wsEvent = (WebSocketPushPayload) event.getPayload();
			if (wsEvent.getMessage() instanceof RoomMessage m) {
				IPartialPageRequestHandler handler = wsEvent.getHandler();
				switch (m.getType()) {
					case POLL_CREATED:
						menu.updatePoll(handler, m.getUserId());
						break;
					case POLL_UPDATED:
						menu.updatePoll(handler, null);
						break;
					case RECORDING_TOGGLED:
						menu.update(handler);
						updateInterviewRecordingButtons(handler);
						break;
					case SHARING_TOGGLED:
						menu.update(handler);
						break;
					case RIGHT_UPDATED:
						onRightUpdated(curClient, (TextRoomMessage)m, handler);
						break;
					case ROOM_ENTER:
						onRoomEnter(curClient, (TextRoomMessage)m, handler);
						break;
					case ROOM_EXIT:
						onRoomExit((TextRoomMessage)m, handler);
						break;
					case ROOM_CLOSED:
						handler.add(room.setVisible(false));
						roomClosed.show(handler);
						break;
					case REQUEST_RIGHT_MODERATOR:
						sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_MODERATOR), handler);
						break;
					case REQUEST_RIGHT_PRESENTER:
						sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_PRESENTER), handler);
						break;
					case REQUEST_RIGHT_WB:
						sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_WB), handler);
						break;
					case REQUEST_RIGHT_SHARE:
						sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_SHARE), handler);
						break;
					case REQUEST_RIGHT_REMOTE:
						sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_REMOTE), handler);
						break;
					case REQUEST_RIGHT_A:
						sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_A), handler);
						break;
					case REQUEST_RIGHT_AV:
						sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_AV), handler);
						break;
					case REQUEST_RIGHT_MUTE_OTHERS:
						sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_MUTE_OTHERS), handler);
						break;
					case ACTIVITY_REMOVE:
						sidebar.removeActivity(((TextRoomMessage)m).getText(), handler);
						break;
					case HAVE_QUESTION:
						if (curClient.hasRight(Room.Right.MODERATOR) || getUserId().equals(m.getUserId())) {
							sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.REQ_RIGHT_HAVE_QUESTION), handler);
						}
						break;
					case KICK:
						onKick(curClient, (TextRoomMessage)m, handler);
						break;
					case MUTE:
						onMute(curClient, (TextRoomMessage)m, handler);
						break;
					case MUTE_OTHERS:
						onMuteOthers((TextRoomMessage)m, handler);
						break;
					case QUICK_POLL_UPDATED:
						menu.update(handler);
						handler.appendJavaScript(getQuickPollJs());
						break;
					case KURENTO_STATUS:
						menu.update(handler);
						break;
					case WB_RELOAD:
						if (Room.Type.INTERVIEW != r.getType()) {
							wb.reloadWb(handler);
						}
						break;
					case MODERATOR_IN_ROOM:
						if (!r.isModerated() || !r.isWaitModerator()) {
							log.warn("Something weird: `moderatorInRoom` in wrong room {}", r);
						} else if (!curClient.hasRight(Room.Right.MODERATOR)) {
							boolean moderInRoom = Boolean.TRUE.equals(Boolean.valueOf(((TextRoomMessage)m).getText()));
							log.warn("!! moderatorInRoom: {}", moderInRoom);
							if (room.isVisible() != moderInRoom) {
								handler.add(room.setVisible(moderInRoom));
								getMainPanel().getChat().toggle(handler, moderInRoom && !r.isHidden(RoomElement.CHAT));
								if (room.isVisible()) {
									handler.appendJavaScript(roomEnter.getCallbackScript());
									handler.add(waitModerator.setVisible(false));
								} else {
									handler.add(waitModerator.setVisible(true));
								}
							}
						}
						break;
					case WB_PUT_FILE:
						onWbPutFile((TextRoomMessage)m);
						break;
					case FILE_TREE_UPDATE:
						onFileTreeUpdate(handler);
						break;
				}
			}
		}
		super.onEvent(event);
	}