snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
164
react/features/polls/actions.ts
Normal file
164
react/features/polls/actions.ts
Normal file
@@ -0,0 +1,164 @@
|
||||
import {
|
||||
CHANGE_VOTE,
|
||||
CLEAR_POLLS,
|
||||
EDIT_POLL,
|
||||
RECEIVE_ANSWER,
|
||||
RECEIVE_POLL,
|
||||
REGISTER_VOTE,
|
||||
REMOVE_POLL,
|
||||
RESET_UNREAD_POLLS_COUNT,
|
||||
SAVE_POLL
|
||||
} from './actionTypes';
|
||||
import { IIncomingAnswerData, IPoll, IPollData } from './types';
|
||||
|
||||
/**
|
||||
* Action to signal that existing polls needs to be cleared from state.
|
||||
*
|
||||
* @returns {{
|
||||
* type: CLEAR_POLLS
|
||||
* }}
|
||||
*/
|
||||
export const clearPolls = () => {
|
||||
return {
|
||||
type: CLEAR_POLLS
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Action to signal that a poll's vote will be changed.
|
||||
*
|
||||
* @param {string} pollId - The id of the incoming poll.
|
||||
* @param {boolean} value - The value of the 'changing' state.
|
||||
|
||||
* @returns {{
|
||||
* type: CHANGE_VOTE,
|
||||
* pollId: string,
|
||||
* value: boolean
|
||||
* }}
|
||||
*/
|
||||
export const setVoteChanging = (pollId: string, value: boolean) => {
|
||||
return {
|
||||
type: CHANGE_VOTE,
|
||||
pollId,
|
||||
value
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Action to signal that a new poll was received.
|
||||
*
|
||||
* @param {IPoll} poll - The incoming Poll object.
|
||||
* @param {boolean} notify - Whether to send or not a notification.
|
||||
* @returns {{
|
||||
* type: RECEIVE_POLL,
|
||||
* pollId: string,
|
||||
* poll: IPoll,
|
||||
* notify: boolean
|
||||
* }}
|
||||
*/
|
||||
export const receivePoll = (poll: IPoll, notify: boolean) => {
|
||||
return {
|
||||
type: RECEIVE_POLL,
|
||||
poll,
|
||||
notify
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Action to signal that a new answer was received.
|
||||
*
|
||||
* @param {IIncomingAnswerData} answer - The incoming Answer object.
|
||||
* @returns {{
|
||||
* type: RECEIVE_ANSWER,
|
||||
* answer: IIncomingAnswerData
|
||||
* }}
|
||||
*/
|
||||
export const receiveAnswer = (answer: IIncomingAnswerData) => {
|
||||
return {
|
||||
type: RECEIVE_ANSWER,
|
||||
answer
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Action to register a vote on a poll.
|
||||
*
|
||||
* @param {string} pollId - The id of the poll.
|
||||
* @param {?Array<boolean>} answers - The new answers.
|
||||
* @returns {{
|
||||
* type: REGISTER_VOTE,
|
||||
* pollId: string,
|
||||
* answers: ?Array<boolean>
|
||||
* }}
|
||||
*/
|
||||
export const registerVote = (pollId: string, answers: Array<boolean> | null) => {
|
||||
return {
|
||||
type: REGISTER_VOTE,
|
||||
pollId,
|
||||
answers
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Action to signal the number reset of unread polls.
|
||||
*
|
||||
* @returns {{
|
||||
* type: RESET_UNREAD_POLLS_COUNT
|
||||
* }}
|
||||
*/
|
||||
export function resetUnreadPollsCount() {
|
||||
return {
|
||||
type: RESET_UNREAD_POLLS_COUNT
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Action to signal saving a poll.
|
||||
*
|
||||
* @param {IPollData} poll - The Poll object that gets to be saved.
|
||||
* @returns {{
|
||||
* type: SAVE_POLL,
|
||||
* poll: IPollData
|
||||
* }}
|
||||
*/
|
||||
export function savePoll(poll: IPollData) {
|
||||
return {
|
||||
type: SAVE_POLL,
|
||||
poll
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Action to signal editing a poll.
|
||||
*
|
||||
* @param {string} pollId - The id of the poll that gets to be edited.
|
||||
* @param {boolean} editing - Whether the poll is in edit mode or not.
|
||||
* @returns {{
|
||||
* type: EDIT_POLL,
|
||||
* pollId: string,
|
||||
* editing: boolean
|
||||
* }}
|
||||
*/
|
||||
export function editPoll(pollId: string, editing: boolean) {
|
||||
return {
|
||||
type: EDIT_POLL,
|
||||
pollId,
|
||||
editing
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Action to signal that existing polls needs to be removed.
|
||||
*
|
||||
* @param {IPoll} poll - The incoming Poll object.
|
||||
* @returns {{
|
||||
* type: REMOVE_POLL,
|
||||
* poll: IPoll
|
||||
* }}
|
||||
*/
|
||||
export const removePoll = (poll: IPoll) => {
|
||||
return {
|
||||
type: REMOVE_POLL,
|
||||
poll
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user