meet-addons-sdk
Version:
SDK for easy creation of addons for meet.rs
400 lines (399 loc) • 14.8 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.SnapshotLoadMessage = exports.HostActivationRequestMessage = exports.KeyDownMessage = exports.HostShellRequestMessage = exports.BadgeUpdateMessage = exports.TokenRefreshMessage = exports.AddonInactivatedMessage = exports.AddonActivatedMessage = exports.HostChangedMessage = exports.InitRequestMessage = exports.ReadyMessage = exports.InitMessage = exports.AddonMessage = exports.PredefinedMeetingState = exports.ParticipantHubInfo = exports.AppTheme = exports.PredefinedColor = exports.ChromeState = exports.AddonMode = exports.MessageType = void 0;
var context_1 = require("./context");
var MessageType;
(function (MessageType) {
MessageType["READY"] = "meet-sdk-ready";
MessageType["INIT"] = "meet-sync-init";
MessageType["DATA"] = "meet-message-data";
MessageType["PARTICIPANTS"] = "meet-message-participants";
MessageType["MEET_STATE"] = "meet-state-changed";
MessageType["TOOLTIPS"] = "meet-tooltip-reqest";
MessageType["REPOSITION"] = "meet-float-reposition";
/**
* Event message of this type is sent when meet participant user profile change.
* e.g. Display name, color, theme?
*/
MessageType["USER_PROFILE"] = "meet-userprofile-changed";
/**
* Event sent from addon to host requesting to be re-initialized
* (eg. token addon is using expired)
*/
MessageType["INIT_REQUESTED"] = "meet-init-requested";
/**
* Event message of this type os sent when host change the context in which addon
* exists (theme change, fullscreen state etc)
*/
MessageType["HOST_CHANGED"] = "meet-host-changed";
/**
* An event sent to addon when host makes addon active.
*/
MessageType["STATE_ACTIVE"] = "meet-addon-active";
/**
* An event sent to addon when addon stops being active by host activating other addon.
*/
MessageType["STATE_INACTIVE"] = "meet-addon-inactive";
/**
* An event sent to addon when addon needs to start using new Meet API access token.
*/
MessageType["TOKEN_REFRESH"] = "meet-token-refresh";
/**
* An event sent from addon to host informing it that
* it needs to update icon badge adorment text.
*/
MessageType["BADGE_TEXT_UPDATE"] = "meet-badge-update";
/**
* Addon sends this message to host to request from host
* to hide pr show the host shell UI elements etc so user can focus on addon
* (e.g. Twilio addon before join can request host to hide app bar so user will not be distracted)
* (e.g. Twilio addon after user joined the call can request host to show app bar)
*/
MessageType["HOST_SHELL_REQUEST"] = "meet-shell-request";
/**
* Host sends this message to addons every time a key down event is detected
*/
MessageType["HOST_KEYBOARD_DOWN"] = "meet-keyboard-down";
/**
* Addons send the message to the host requesting its mode to be adjusted
*/
MessageType["HOST_ACTIVATION_REQUEST"] = "meet-host-activate";
/**
* Event sent from host to addons requesting them to
* load a previously saved snapshot for a given
* snapshot id.
*/
MessageType["SNAPSHOT_LOAD_REQUEST"] = "meet-snapshot-load";
})(MessageType = exports.MessageType || (exports.MessageType = {}));
var AddonMode;
(function (AddonMode) {
AddonMode["HIDDEN"] = "hidden";
AddonMode["MINI"] = "mini";
AddonMode["NORMAL"] = "normal";
AddonMode["FULLSCREEN"] = "fullscreen";
})(AddonMode = exports.AddonMode || (exports.AddonMode = {}));
var ChromeState;
(function (ChromeState) {
ChromeState["TOPBAR"] = "topbar";
ChromeState["NORMAL"] = "normal";
ChromeState["FULLSCREEN"] = "fullscreen";
})(ChromeState = exports.ChromeState || (exports.ChromeState = {}));
var PredefinedColor;
(function (PredefinedColor) {
PredefinedColor["DARK_INDIGO"] = "#303F9F";
PredefinedColor["DEEP_ORANGE"] = "#FF5722";
PredefinedColor["DARK_GREEN"] = "#388E3C";
PredefinedColor["DARK_YELLOW"] = "#FBC02D";
PredefinedColor["DEEP_PURPLE"] = "#512DA8";
PredefinedColor["DARK_PINK"] = "#C2185B";
PredefinedColor["DARK_TEAL"] = "#00796B";
})(PredefinedColor = exports.PredefinedColor || (exports.PredefinedColor = {}));
var AppTheme;
(function (AppTheme) {
AppTheme["LIGHT"] = "light";
AppTheme["DARK"] = "dark";
})(AppTheme = exports.AppTheme || (exports.AppTheme = {}));
/**
* Structure describing signalR specific
* participant information
*
* @export
* @class ParticipantHubInfo
*/
var ParticipantHubInfo = /** @class */ (function (_super) {
__extends(ParticipantHubInfo, _super);
function ParticipantHubInfo() {
return _super !== null && _super.apply(this, arguments) || this;
}
return ParticipantHubInfo;
}(context_1.ParticipantInfo));
exports.ParticipantHubInfo = ParticipantHubInfo;
/**
* List of states in which meeting can be
* during the lifetime of the meeting in which
* addon is loaded.
*
* @export
* @enum {number}
*/
var PredefinedMeetingState;
(function (PredefinedMeetingState) {
PredefinedMeetingState["MEETING_DRAFT"] = "MeetingDraft";
PredefinedMeetingState["MEETING_CREATED"] = "MeetingCreated";
PredefinedMeetingState["MEETING_CANCELED"] = "MeetingCanceled";
PredefinedMeetingState["MEETING_ARCHIVED"] = "MeetingArchived";
PredefinedMeetingState["SCHEDULING_STARTED"] = "SchedulingStarted";
PredefinedMeetingState["SCHEDULING_TIME"] = "SchedulingTime";
PredefinedMeetingState["SCHEDULING_FAILED"] = "SchedulingFailed";
PredefinedMeetingState["SCHEDULING_COMPLETED"] = "SchedulingCompleted";
PredefinedMeetingState["MEETING_STARTED"] = "MeetingStarted";
PredefinedMeetingState["MEETING_FAILED"] = "MeetingFailed";
PredefinedMeetingState["MEETING_STOPPED"] = "MeetingStopped";
PredefinedMeetingState["MEETING_COMPLETED"] = "MeetingCompleted";
PredefinedMeetingState["FEEDBACK_COLLECTING"] = "FeedbackCollecting";
PredefinedMeetingState["FEEDBACK_FAILED"] = "FeedbackFailed";
PredefinedMeetingState["FEEDBACK_COMPLETED"] = "FeedbackCompleted";
PredefinedMeetingState["BILLABLE_STARTED"] = "BillableStarted";
PredefinedMeetingState["BILLABLE_STOPPED"] = "BillableStopped";
})(PredefinedMeetingState = exports.PredefinedMeetingState || (exports.PredefinedMeetingState = {}));
/**
* SDK addon message sent and received from other addons and/or host
*
* @export
* @class AddonMessage
*/
var AddonMessage = /** @class */ (function () {
function AddonMessage(type) {
this.type = type;
}
return AddonMessage;
}());
exports.AddonMessage = AddonMessage;
/**
* A message sent from host to addon
* requesting from addon to perform initialization
* with given parameters.
*
* @export
* @class InitMessage
* @extends {AddonMessage}
*/
var InitMessage = /** @class */ (function (_super) {
__extends(InitMessage, _super);
/**
* Creates an instance of InitMessage.
* @memberof InitMessage
*/
function InitMessage() {
var _this = _super.call(this, MessageType.INIT) || this;
/**
* Gets ths info about the mode in which addon is
* requested to be initialized which addon should use
* to configure its UI
*
* @type {AddonMode}
* @memberof InitMessage
*/
_this.mode = AddonMode.NORMAL;
return _this;
}
return InitMessage;
}(AddonMessage));
exports.InitMessage = InitMessage;
/**
* A message sent from addon to a host when
* initialization had completed and addon is
* ready for performing its functionality
*
* @export
* @class ReadyMessage
* @extends {AddonMessage}
*/
var ReadyMessage = /** @class */ (function (_super) {
__extends(ReadyMessage, _super);
/**
* Creates an instance of ReadyMessage.
* @memberof ReadyMessage
*/
function ReadyMessage() {
return _super.call(this, MessageType.READY) || this;
}
return ReadyMessage;
}(AddonMessage));
exports.ReadyMessage = ReadyMessage;
/**
* A message sent from addon to a host when
* host needs to initialize the addon
* (e.g. addon token expired and addon needs a new token)
*
* @export
* @class InitRequestMessage
* @extends {AddonMessage}
*/
var InitRequestMessage = /** @class */ (function (_super) {
__extends(InitRequestMessage, _super);
/**
* Creates an instance of ReadyMessage.
* @memberof ReadyMessage
*/
function InitRequestMessage() {
return _super.call(this, MessageType.INIT_REQUESTED) || this;
}
return InitRequestMessage;
}(AddonMessage));
exports.InitRequestMessage = InitRequestMessage;
/**
* Event message of this type os sent when host change the context in which addon
* exists (theme change, fullscreen state etc)
*
* @export
* @class HostChangedMessage
* @extends {AddonMessage}
*/
var HostChangedMessage = /** @class */ (function (_super) {
__extends(HostChangedMessage, _super);
/**
* Creates an instance of HostChangedMessage.
* @memberof HostChangedMessage
*/
function HostChangedMessage() {
return _super.call(this, MessageType.HOST_CHANGED) || this;
}
return HostChangedMessage;
}(AddonMessage));
exports.HostChangedMessage = HostChangedMessage;
/**
* A messages sent to addon by host when host activates addon.
*
* @export
* @class AddonActivatedMessage
* @extends {AddonMessage}
*/
var AddonActivatedMessage = /** @class */ (function (_super) {
__extends(AddonActivatedMessage, _super);
/**
* Creates an instance of AddonActivatedMessage.
* @memberof AddonActivatedMessage
*/
function AddonActivatedMessage() {
return _super.call(this, MessageType.STATE_ACTIVE) || this;
}
return AddonActivatedMessage;
}(AddonMessage));
exports.AddonActivatedMessage = AddonActivatedMessage;
/**
* A messages sent to addon by host when host inactivate addon.
*
* @export
* @class AddonInactivatedMessage
* @extends {AddonMessage}
*/
var AddonInactivatedMessage = /** @class */ (function (_super) {
__extends(AddonInactivatedMessage, _super);
/**
* Creates an instance of AddonInactivatedMessage.
* @memberof AddonInactivatedMessage
*/
function AddonInactivatedMessage() {
return _super.call(this, MessageType.STATE_INACTIVE) || this;
}
return AddonInactivatedMessage;
}(AddonMessage));
exports.AddonInactivatedMessage = AddonInactivatedMessage;
/**
* A messages sent to addon by host when there is new access token
* to be used for accessing Meet API
*
* @export
* @class TokenRefreshMessage
* @extends {AddonMessage}
*/
var TokenRefreshMessage = /** @class */ (function (_super) {
__extends(TokenRefreshMessage, _super);
/**
* Creates an instance of TokenRefreshMessage.
* @memberof TokenRefreshMessage
*/
function TokenRefreshMessage() {
return _super.call(this, MessageType.TOKEN_REFRESH) || this;
}
return TokenRefreshMessage;
}(AddonMessage));
exports.TokenRefreshMessage = TokenRefreshMessage;
/**
* A messages sent to addon by host when host inactivate addon.
*
* @export
* @class BadgeUpdateMessage
* @extends {AddonMessage}
*/
var BadgeUpdateMessage = /** @class */ (function (_super) {
__extends(BadgeUpdateMessage, _super);
/**
* Creates an instance of BadgeUpdateMessage.
* @memberof BadgeUpdateMessage
*/
function BadgeUpdateMessage() {
return _super.call(this, MessageType.BADGE_TEXT_UPDATE) || this;
}
return BadgeUpdateMessage;
}(AddonMessage));
exports.BadgeUpdateMessage = BadgeUpdateMessage;
var HostShellRequestMessage = /** @class */ (function (_super) {
__extends(HostShellRequestMessage, _super);
/**
* Creates an instance of HostShellRequestMessage.
* @memberof HostShellRequestMessage
*/
function HostShellRequestMessage() {
return _super.call(this, MessageType.HOST_SHELL_REQUEST) || this;
}
return HostShellRequestMessage;
}(AddonMessage));
exports.HostShellRequestMessage = HostShellRequestMessage;
var KeyDownMessage = /** @class */ (function (_super) {
__extends(KeyDownMessage, _super);
/**
* Creates an instance of KeyDownMessage.
* @memberof KeyDownMessage
*/
function KeyDownMessage() {
return _super.call(this, MessageType.HOST_KEYBOARD_DOWN) || this;
}
return KeyDownMessage;
}(AddonMessage));
exports.KeyDownMessage = KeyDownMessage;
/**
* Message sent from addon to host requesting to be activated (navigated to focus)
*
* @export
* @class HostActivationRequestMessage
* @extends {AddonMessage}
*/
var HostActivationRequestMessage = /** @class */ (function (_super) {
__extends(HostActivationRequestMessage, _super);
/**
* Creates an instance of HostActivationRequestMessage.
* @memberof HostActivationRequestMessage
*/
function HostActivationRequestMessage() {
return _super.call(this, MessageType.HOST_ACTIVATION_REQUEST) || this;
}
return HostActivationRequestMessage;
}(AddonMessage));
exports.HostActivationRequestMessage = HostActivationRequestMessage;
/**
* Event sent from host to addons requesting them to
* load a previously saved snapshot for a given
* snapshot id.
*
* @export
* @class SnapshotLoadMessage
* @extends {AddonMessage}
*/
var SnapshotLoadMessage = /** @class */ (function (_super) {
__extends(SnapshotLoadMessage, _super);
/**
*Creates an instance of SnapshotLoadMessage.
* @memberof SnapshotLoadMessage
*/
function SnapshotLoadMessage() {
return _super.call(this, MessageType.SNAPSHOT_LOAD_REQUEST) || this;
}
return SnapshotLoadMessage;
}(AddonMessage));
exports.SnapshotLoadMessage = SnapshotLoadMessage;
//# sourceMappingURL=messages.js.map