frontend: remove unused meeting components plugins and action handler interfaces
This commit is contained in:
parent
153af9c673
commit
c3ca84ad66
@ -1,65 +0,0 @@
|
||||
import { InjectionToken, Type } from '@angular/core';
|
||||
|
||||
/**
|
||||
* Interface for registering custom components to be used in the meeting view.
|
||||
* Each property represents a slot where a custom component can be injected.
|
||||
*/
|
||||
export interface MeetingComponentsPlugins {
|
||||
/**
|
||||
* Toolbar-related plugin components
|
||||
*/
|
||||
toolbar?: MeetingComponentsToolbarPlugins;
|
||||
|
||||
/**
|
||||
* Participant panel-related plugin components
|
||||
*/
|
||||
participantPanel?: MeetingComponentsParticipantPanelPlugins;
|
||||
|
||||
/**
|
||||
* Complete custom layout component that replaces the entire default layout.
|
||||
* This component will receive all necessary inputs including additionalElements plugin.
|
||||
*/
|
||||
layout?: Type<any>;
|
||||
|
||||
/**
|
||||
* Additional elements to inject within the layout component.
|
||||
* The layout component should provide an injection point for these elements.
|
||||
*
|
||||
* @example
|
||||
* layoutAdditionalElements: ShareLinkOverlayComponent
|
||||
*/
|
||||
layoutAdditionalElements?: Type<any>;
|
||||
|
||||
/**
|
||||
* Lobby-related plugin components
|
||||
*/
|
||||
lobby?: Type<any>;
|
||||
}
|
||||
|
||||
export interface MeetingComponentsToolbarPlugins {
|
||||
/**
|
||||
* Additional buttons to show in the toolbar (e.g., copy link, settings)
|
||||
*/
|
||||
additionalButtons?: Type<any>;
|
||||
/**
|
||||
* Custom leave button component (only shown for moderators)
|
||||
*/
|
||||
leaveButton?: Type<any>;
|
||||
}
|
||||
|
||||
export interface MeetingComponentsParticipantPanelPlugins {
|
||||
/**
|
||||
* Custom component to render each participant item in the panel
|
||||
*/
|
||||
item?: Type<any>;
|
||||
/**
|
||||
* Component to show after the local participant in the panel
|
||||
*/
|
||||
afterLocalParticipant?: Type<any>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection token for registering meeting plugins.
|
||||
* Apps (CE/PRO) should provide their custom components using this token.
|
||||
*/
|
||||
export const MEETING_COMPONENTS_TOKEN = new InjectionToken<MeetingComponentsPlugins>('MEETING_COMPONENTS_TOKEN');
|
||||
@ -1,89 +0,0 @@
|
||||
import { InjectionToken } from '@angular/core';
|
||||
import { CustomParticipantModel } from '../../models';
|
||||
|
||||
/**
|
||||
* Interface defining the controls to show for a participant in the participant panel.
|
||||
*/
|
||||
export interface ParticipantControls {
|
||||
/**
|
||||
* Whether to show the moderator badge
|
||||
*/
|
||||
showModeratorBadge: boolean;
|
||||
|
||||
/**
|
||||
* Whether to show moderation controls (make/unmake moderator, kick)
|
||||
*/
|
||||
showModerationControls: boolean;
|
||||
|
||||
/**
|
||||
* Whether to show the "Make Moderator" button
|
||||
*/
|
||||
showMakeModerator: boolean;
|
||||
|
||||
/**
|
||||
* Whether to show the "Remove Moderator" button
|
||||
*/
|
||||
showUnmakeModerator: boolean;
|
||||
|
||||
/**
|
||||
* Whether to show the "Kick" button
|
||||
*/
|
||||
showKickButton: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Abstract class defining the actions that can be performed in a meeting.
|
||||
* Apps (CE/PRO) must extend this class and provide their implementation.
|
||||
*/
|
||||
export abstract class MeetingActionHandler {
|
||||
/**
|
||||
* Room ID - will be set by MeetingComponent
|
||||
*/
|
||||
roomId = '';
|
||||
|
||||
/**
|
||||
* Room secret - will be set by MeetingComponent
|
||||
*/
|
||||
roomSecret = '';
|
||||
|
||||
/**
|
||||
* Local participant - will be set by MeetingComponent
|
||||
*/
|
||||
localParticipant?: CustomParticipantModel;
|
||||
|
||||
/**
|
||||
* Kicks a participant from the meeting
|
||||
*/
|
||||
abstract kickParticipant(participant: CustomParticipantModel): Promise<void>;
|
||||
|
||||
/**
|
||||
* Makes a participant a moderator
|
||||
*/
|
||||
abstract makeModerator(participant: CustomParticipantModel): Promise<void>;
|
||||
|
||||
/**
|
||||
* Removes moderator role from a participant
|
||||
*/
|
||||
abstract unmakeModerator(participant: CustomParticipantModel): Promise<void>;
|
||||
|
||||
/**
|
||||
* Copies the moderator link to clipboard
|
||||
*/
|
||||
abstract copyModeratorLink(): Promise<void>;
|
||||
|
||||
/**
|
||||
* Copies the speaker link to clipboard
|
||||
*/
|
||||
abstract copySpeakerLink(): Promise<void>;
|
||||
|
||||
/**
|
||||
* Gets the controls to show for a participant based on permissions and roles
|
||||
*/
|
||||
abstract getParticipantControls(participant: CustomParticipantModel): ParticipantControls;
|
||||
}
|
||||
|
||||
/**
|
||||
* Injection token for the meeting action handler.
|
||||
* Apps (CE/PRO) should provide their implementation using this token.
|
||||
*/
|
||||
export const MEETING_ACTION_HANDLER_TOKEN = new InjectionToken<MeetingActionHandler>('MEETING_ACTION_HANDLER_TOKEN');
|
||||
@ -1,7 +1 @@
|
||||
/**
|
||||
* Index file for customization exports
|
||||
*/
|
||||
export * from './components/meeting-components-plugins.token';
|
||||
export * from './handlers/meeting-action-handler';
|
||||
|
||||
export * from './components/index';
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user