@agilemotion/oui-react-js 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ApplicationManager.js +698 -421
- package/dist/BasicApp.js +5 -5
- package/dist/BasicAppHome.js +55 -26
- package/dist/DynamicJS.js +147 -65
- package/dist/InteractionPortalApp.css +1 -1
- package/dist/InteractionPortalApp.js +5 -5
- package/dist/InteractionPortalAppHome.js +57 -22
- package/dist/InteractionPortalApp_old.js +107 -61
- package/dist/RestUtils.js +339 -287
- package/dist/TypedValue.js +18 -15
- package/dist/Utils.js +375 -276
- package/dist/WithRouter.js +6 -6
- package/dist/assets/jss/components/authNavbarStyle.js +166 -164
- package/dist/assets/jss/components/buttonStyle.js +1 -1
- package/dist/assets/jss/components/cardAvatarStyle.js +1 -1
- package/dist/assets/jss/components/cardBodyStyle.js +1 -1
- package/dist/assets/jss/components/cardFooterStyle.js +1 -1
- package/dist/assets/jss/components/cardHeaderStyle.js +13 -13
- package/dist/assets/jss/components/cardIconStyle.js +1 -1
- package/dist/assets/jss/components/cardStyle.js +1 -1
- package/dist/assets/jss/components/cardTextStyle.js +1 -1
- package/dist/assets/jss/components/customDropdownStyle.js +168 -169
- package/dist/assets/jss/components/customInputStyle.js +9 -3
- package/dist/assets/jss/components/dropdownStyle.js +69 -69
- package/dist/assets/jss/components/footerStyle.js +19 -13
- package/dist/assets/jss/components/headerLinksStyle.js +45 -48
- package/dist/assets/jss/components/headerStyle.js +68 -65
- package/dist/assets/jss/components/navbarLinksStyle.js +66 -77
- package/dist/assets/jss/components/navbarStyle.js +79 -76
- package/dist/assets/jss/components/sidebarStyle.js +436 -436
- package/dist/assets/jss/components/typographyStyle.js +9 -3
- package/dist/assets/jss/rootStyle.js +96 -81
- package/dist/assets/jss/views/layoutStyle.js +44 -41
- package/dist/assets/jss/views/loginBasicStyle.js +1 -1
- package/dist/assets/jss/views/loginBusinessPortalStyle.js +1 -1
- package/dist/assets/jss/views/loginStyle.js +82 -77
- package/dist/components/AlertBar.js +50 -17
- package/dist/components/AlertItem.js +35 -12
- package/dist/components/AlertTemplate.js +30 -29
- package/dist/components/Button.js +62 -34
- package/dist/components/Calendar.js +140 -91
- package/dist/components/ConfirmationDialog.js +36 -11
- package/dist/components/DataGrid.js +512 -270
- package/dist/components/DataGridColumn.js +47 -22
- package/dist/components/DataGridFilter.js +186 -105
- package/dist/components/DataGridHeading.js +50 -32
- package/dist/components/Dialog.js +90 -35
- package/dist/components/DocumentTemplateDesigner.js +34 -16
- package/dist/components/DocumentTemplateDesignerComponent.js +124 -48
- package/dist/components/DocumentTemplatePlaceholderDialog.js +52 -30
- package/dist/components/DocumentViewer.js +34 -18
- package/dist/components/DocumentViewerComponent.js +26 -9
- package/dist/components/ElementResizeHandler.js +229 -207
- package/dist/components/FileThumb.js +32 -10
- package/dist/components/Graph.js +153 -85
- package/dist/components/GraphNode.js +58 -38
- package/dist/components/HtmlPanel.js +67 -39
- package/dist/components/Icon.js +206 -166
- package/dist/components/LoadingIndicator.js +3 -3
- package/dist/components/LottieIcon.js +1 -1
- package/dist/components/PopupView.js +39 -19
- package/dist/components/Portlet.js +32 -17
- package/dist/components/RegularButton.js +28 -32
- package/dist/components/SignaturePanel.js +37 -17
- package/dist/components/SocketManager.js +178 -119
- package/dist/components/StepperTitleBar.js +62 -42
- package/dist/components/TabPage.js +30 -25
- package/dist/components/TabPanel.js +86 -33
- package/dist/components/TableCellContent.js +51 -32
- package/dist/components/TemplateDesigner.js +173 -121
- package/dist/components/TemplateItemEventHandler.js +335 -221
- package/dist/components/TemplateTable.js +183 -118
- package/dist/components/TitleBar.js +26 -11
- package/dist/components/Toolbar.js +67 -38
- package/dist/components/Tooltip.js +43 -35
- package/dist/components/Tree.js +85 -44
- package/dist/components/UseIsVisible.js +25 -4
- package/dist/components/card/Card.js +27 -33
- package/dist/components/card/CardAvatar.js +20 -19
- package/dist/components/card/CardBody.js +24 -27
- package/dist/components/card/CardFooter.js +23 -24
- package/dist/components/card/CardHeader.js +24 -27
- package/dist/components/card/CardIcon.js +17 -13
- package/dist/components/card/CardText.js +17 -13
- package/dist/components/customInput/CustomInput.js +22 -36
- package/dist/components/dashboard/{BasicBusinessAppDashboard.js → FoldingSideTabDashboard.js} +111 -63
- package/dist/components/dashboard/SideMenuModuleDashboard.css +60 -0
- package/dist/components/dashboard/SideMenuModuleDashboard.js +423 -0
- package/dist/components/dashboard/TopMenuModuleDashboard.js +138 -0
- package/dist/components/dashboard/components/Header.js +29 -12
- package/dist/components/dashboard/components/LeftDrawer.js +3 -5
- package/dist/components/dashboard/components/UserIdentity.js +2 -2
- package/dist/components/dashboard/components/blackDashboard/fixedPlugin/FixedPlugin.js +131 -87
- package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.js +488 -0
- package/dist/components/dashboard/components/blackDashboard/sidebar/ModuleMenu.js +64 -0
- package/dist/components/dashboard/components/blackDashboard/sidebar/ModuleMenuSidebar.css +65 -0
- package/dist/components/dashboard/components/blackDashboard/sidebar/ModuleMenuSidebar.js +556 -0
- package/dist/components/dashboard/components/portal/Timeline.js +1 -1
- package/dist/components/dashboard/components/portal/Workspace.js +5 -11
- package/dist/components/footer/Footer.js +31 -24
- package/dist/components/footer/HomeFooter.js +68 -34
- package/dist/components/form/AddressSearch.js +78 -42
- package/dist/components/form/AutoComplete.js +136 -55
- package/dist/components/form/BaseField.js +108 -56
- package/dist/components/form/Checkbox.js +10 -8
- package/dist/components/form/DatePicker.js +47 -25
- package/dist/components/form/FieldSet.js +217 -84
- package/dist/components/form/Form.js +334 -200
- package/dist/components/form/GridField.js +185 -82
- package/dist/components/form/IconField.js +9 -7
- package/dist/components/form/ImageEditor.js +141 -92
- package/dist/components/form/LabelField.js +12 -10
- package/dist/components/form/LookupField.js +54 -32
- package/dist/components/form/MultiFileUploadField.js +101 -67
- package/dist/components/form/RadioGroup.js +33 -16
- package/dist/components/form/Section.js +84 -34
- package/dist/components/form/SelectItem.js +55 -33
- package/dist/components/form/SignatureTemplateDesignerField.js +11 -9
- package/dist/components/form/Switch.js +10 -8
- package/dist/components/form/TextField.js +34 -16
- package/dist/components/form/TimePicker.js +19 -15
- package/dist/components/form/TransferList.js +153 -75
- package/dist/components/form/UploadField.js +183 -128
- package/dist/components/grid/GridContainer.js +12 -8
- package/dist/components/grid/GridItem.js +12 -8
- package/dist/components/layout/CollapsiblePanel.js +44 -18
- package/dist/components/layout/Layout.js +81 -40
- package/dist/components/layout/VC.css +1 -1
- package/dist/components/layout/View.js +136 -62
- package/dist/components/layout/ViewContainer.js +13 -11
- package/dist/components/layout/ViewPort.js +25 -10
- package/dist/components/layout/Window.js +87 -53
- package/dist/components/layout/WindowViewPort.js +38 -16
- package/dist/components/media/ClosablePanel.js +7 -7
- package/dist/components/media/LobbyWaitingList.js +7 -9
- package/dist/components/media/MediaSoupHelper.js +379 -187
- package/dist/components/media/SideBarContent.js +22 -14
- package/dist/components/media/SocketRequest.js +5 -1
- package/dist/components/media/SocketResponse.js +5 -1
- package/dist/components/media/Timer.js +35 -15
- package/dist/components/media/Toolbar.css +5 -0
- package/dist/components/media/Toolbar.js +220 -102
- package/dist/components/media/ToolbarButton.js +82 -33
- package/dist/components/media/Toolbar_bck.js +142 -70
- package/dist/components/media/Tracks.js +31 -28
- package/dist/components/media/TrainingRoom.js +284 -121
- package/dist/components/media/Transports.js +27 -24
- package/dist/components/media/VCEventManager.js +95 -31
- package/dist/components/media/VCEventType.js +5 -1
- package/dist/components/media/VCParticipantList.js +40 -14
- package/dist/components/media/VCParticipantListItem.js +92 -41
- package/dist/components/media/VCRoom.js +29 -11
- package/dist/components/media/VCRoomParticipant.js +488 -242
- package/dist/components/media/VCRoomRecorder.js +236 -175
- package/dist/components/media/VCRoomWorkspace.js +505 -245
- package/dist/components/media/Video.js +89 -25
- package/dist/components/media/VideoPlayer.js +56 -22
- package/dist/components/media/chat/ChatRoom.js +255 -132
- package/dist/components/media/chat/ChatRoomItem.js +35 -14
- package/dist/components/media/chat/ChatRoomList.js +43 -13
- package/dist/components/menu/CollapsibleMenu.js +39 -20
- package/dist/components/menu/MenuBars.js +81 -48
- package/dist/components/menu/MenuButton.js +95 -60
- package/dist/components/menu/MenuItem.js +28 -9
- package/dist/components/menu/MenuLink.js +12 -10
- package/dist/components/menu/PopupMenu.js +16 -12
- package/dist/components/navbars/AuthNavbar.js +27 -18
- package/dist/components/navbars/HomeNavbar.js +243 -194
- package/dist/components/navbars/PortalNavbar.js +50 -26
- package/dist/components/signatures/AgilitySignaturePanel.js +96 -39
- package/dist/components/signatures/AlertItem.js +36 -13
- package/dist/components/signatures/Card.js +4 -4
- package/dist/components/signatures/DocumentContainer.js +141 -57
- package/dist/components/signatures/ImageSignatureInput.js +90 -59
- package/dist/components/signatures/MenuButton.js +53 -33
- package/dist/components/signatures/Prompt.js +26 -5
- package/dist/components/signatures/ResponsiveTable.js +302 -197
- package/dist/components/signatures/SearchView.js +77 -36
- package/dist/components/signatures/SignatorySearch.js +30 -10
- package/dist/components/signatures/SignatorySearchForm.js +35 -18
- package/dist/components/signatures/SignatureInput.js +56 -26
- package/dist/components/signatures/SignatureInputProps.js +107 -55
- package/dist/components/signatures/SignatureTemplateDesigner.js +340 -235
- package/dist/components/signatures/Toolbar.js +135 -94
- package/dist/components/signatures/ViewUtils.js +273 -224
- package/dist/components/typography/Danger.js +3 -5
- package/dist/components/typography/Info.js +3 -5
- package/dist/components/typography/Link.js +3 -5
- package/dist/event/ActionHandlers.js +57 -43
- package/dist/event/Event.js +16 -13
- package/dist/event/EventListener.js +39 -36
- package/dist/event/EventType.js +5 -1
- package/dist/event/LoadDataActionHandler.js +20 -8
- package/dist/event/Observable.js +323 -142
- package/dist/event/RouteActionHandler.js +139 -125
- package/dist/event/ScriptActionHandler.js +20 -8
- package/dist/event/ServiceCallActionHandler.js +51 -39
- package/dist/event/SignalGraphActionHandler.js +19 -7
- package/dist/js/Addresses.js +38 -24
- package/dist/js/Calendar.js +168 -161
- package/dist/js/DynamicLib.js +14 -11
- package/dist/js/Media.js +213 -120
- package/dist/js/Validators.js +6 -5
- package/dist/js/Windows.js +48 -47
- package/dist/redux/store/ConfigureStore.js +17 -9
- package/dist/redux/store/DashboardStore.js +110 -43
- package/dist/redux/store/History.js +1 -1
- package/dist/redux/store/SecurityStore.js +59 -20
- package/dist/security/TokenManager.js +44 -30
- package/dist/theme-default.js +1 -1
- package/dist/view/Dashboard.js +230 -137
- package/dist/view/PortalDashboard.js +4 -4
- package/dist/view/Settings.js +4 -2
- package/dist/view/Views.js +27 -14
- package/dist/view/security/ChangePasswordBasic.js +97 -40
- package/dist/view/security/ForgotPassword.js +59 -22
- package/dist/view/security/ForgotPasswordBasic.js +62 -21
- package/dist/view/security/Login.js +64 -24
- package/dist/view/security/LoginBasic.js +65 -26
- package/dist/view/security/LoginInteractionPortal.js +62 -25
- package/dist/view/security/ResetPassword.js +65 -23
- package/dist/view/security/ResetPasswordBasic.js +91 -37
- package/dist/view/security/Security.js +12 -12
- package/package.json +1 -2
- package/dist/components/dashboard/BusinessPortalAppDashboard.js +0 -115
- package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +0 -447
- /package/dist/components/dashboard/{BusinessPortalAppDashboard.css → TopMenuModuleDashboard.css} +0 -0
- /package/dist/components/dashboard/components/blackDashboard/sidebar/{Sidebar.css → FoldingTabSidebar.css} +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -37,18 +39,37 @@ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
|
37
39
|
|
|
38
40
|
var _ApplicationManager = _interopRequireDefault(require("../../ApplicationManager"));
|
|
39
41
|
|
|
42
|
+
var _this = void 0;
|
|
43
|
+
|
|
40
44
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
41
45
|
|
|
42
|
-
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
46
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
47
|
+
|
|
48
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
49
|
+
|
|
50
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
51
|
+
|
|
52
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
53
|
+
|
|
54
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
55
|
+
|
|
56
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
43
57
|
|
|
44
|
-
function
|
|
58
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
45
59
|
|
|
46
|
-
|
|
47
|
-
|
|
60
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
61
|
+
|
|
62
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
63
|
+
|
|
64
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
65
|
+
|
|
66
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
67
|
+
|
|
68
|
+
var VIDEO_CODEC_OPTIONS = {
|
|
48
69
|
videoGoogleStartBitrate: 1000
|
|
49
70
|
};
|
|
50
71
|
exports.VIDEO_CODEC_OPTIONS = VIDEO_CODEC_OPTIONS;
|
|
51
|
-
|
|
72
|
+
var VIDEO_CONSTRAINTS = {
|
|
52
73
|
audio: false,
|
|
53
74
|
video: {
|
|
54
75
|
width: {
|
|
@@ -62,7 +83,7 @@ const VIDEO_CONSTRAINTS = {
|
|
|
62
83
|
}
|
|
63
84
|
};
|
|
64
85
|
exports.VIDEO_CONSTRAINTS = VIDEO_CONSTRAINTS;
|
|
65
|
-
|
|
86
|
+
var VIDEO_ENCODINGS = [{
|
|
66
87
|
rid: 'r0',
|
|
67
88
|
maxBitrate: 20000,
|
|
68
89
|
//scaleResolutionDownBy: 10.0,
|
|
@@ -77,56 +98,95 @@ const VIDEO_ENCODINGS = [{
|
|
|
77
98
|
scalabilityMode: 'S1T3'
|
|
78
99
|
}];
|
|
79
100
|
exports.VIDEO_ENCODINGS = VIDEO_ENCODINGS;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
101
|
+
var location = window.location.protocol + '//' + window.location.hostname;
|
|
102
|
+
|
|
103
|
+
var VCRoomParticipant = function VCRoomParticipant(props) {
|
|
104
|
+
var _React$useState = _react.default.useState(false),
|
|
105
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
106
|
+
handRaised = _React$useState2[0],
|
|
107
|
+
setHandRaised = _React$useState2[1];
|
|
108
|
+
|
|
109
|
+
var _React$useState3 = _react.default.useState(props.videoMuted),
|
|
110
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
111
|
+
videoMuted = _React$useState4[0],
|
|
112
|
+
setVideoMuted = _React$useState4[1];
|
|
113
|
+
|
|
114
|
+
var _React$useState5 = _react.default.useState(props.audioMuted),
|
|
115
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
116
|
+
audioMuted = _React$useState6[0],
|
|
117
|
+
setAudioMuted = _React$useState6[1];
|
|
118
|
+
|
|
119
|
+
var _React$useState7 = _react.default.useState(props.producerTransport),
|
|
120
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
121
|
+
producerTransport = _React$useState8[0],
|
|
122
|
+
setProducerTransport = _React$useState8[1];
|
|
123
|
+
|
|
124
|
+
var _React$useState9 = _react.default.useState(false),
|
|
125
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
126
|
+
videoRefresher = _React$useState10[0],
|
|
127
|
+
setVideoRefresher = _React$useState10[1];
|
|
128
|
+
|
|
129
|
+
var _React$useState11 = _react.default.useState(new Map()),
|
|
130
|
+
_React$useState12 = _slicedToArray(_React$useState11, 1),
|
|
131
|
+
producers = _React$useState12[0];
|
|
132
|
+
|
|
133
|
+
var _React$useState13 = _react.default.useState([]),
|
|
134
|
+
_React$useState14 = _slicedToArray(_React$useState13, 1),
|
|
135
|
+
failedProducersDueToNullTransport = _React$useState14[0];
|
|
136
|
+
|
|
137
|
+
var _React$useState15 = _react.default.useState([]),
|
|
138
|
+
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
139
|
+
audioDevices = _React$useState16[0],
|
|
140
|
+
setAudioDevices = _React$useState16[1];
|
|
141
|
+
|
|
142
|
+
var _React$useState17 = _react.default.useState(null),
|
|
143
|
+
_React$useState18 = _slicedToArray(_React$useState17, 2),
|
|
144
|
+
selectedAudioDevice = _React$useState18[0],
|
|
145
|
+
setSelectedAudioDevice = _React$useState18[1];
|
|
146
|
+
|
|
147
|
+
var _React$useState19 = _react.default.useState(new Map()),
|
|
148
|
+
_React$useState20 = _slicedToArray(_React$useState19, 1),
|
|
149
|
+
consumers = _React$useState20[0];
|
|
150
|
+
|
|
151
|
+
var _React$useState21 = _react.default.useState(0),
|
|
152
|
+
_React$useState22 = _slicedToArray(_React$useState21, 2),
|
|
153
|
+
soundLevel = _React$useState22[0],
|
|
154
|
+
setSoundLevel = _React$useState22[1];
|
|
155
|
+
|
|
156
|
+
var _useState = (0, _react.useState)({}),
|
|
157
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
158
|
+
eventHandler = _useState2[0];
|
|
159
|
+
|
|
160
|
+
var videoRef = (0, _react.useRef)();
|
|
161
|
+
var videoStream = (0, _react.useRef)();
|
|
162
|
+
var audioRef = (0, _react.useRef)();
|
|
163
|
+
var tracks = (0, _react.useRef)(new _Tracks.default());
|
|
164
|
+
var soundLevelCounter = (0, _react.useRef)(0);
|
|
165
|
+
var showVideo = true;
|
|
166
|
+
var consumerTransport = props.consumerTransport,
|
|
167
|
+
device = props.device,
|
|
168
|
+
participants = props.participants;
|
|
169
|
+
var numberOfInViewParticipants = props.numberOfInViewParticipants;
|
|
170
|
+
|
|
171
|
+
var _useState3 = (0, _react.useState)(null),
|
|
172
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
173
|
+
anchorEl = _useState4[0],
|
|
174
|
+
setAnchorEl = _useState4[1];
|
|
175
|
+
|
|
176
|
+
var openMoreActions = Boolean(anchorEl);
|
|
177
|
+
|
|
178
|
+
var _useState5 = (0, _react.useState)(null),
|
|
179
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
180
|
+
downloadUrl = _useState6[0],
|
|
181
|
+
setDownloadUrl = _useState6[1];
|
|
182
|
+
|
|
183
|
+
var handler = function handler() {
|
|
124
184
|
return {
|
|
125
185
|
get id() {
|
|
126
186
|
return 'meeting-participant-' + props.data.userId;
|
|
127
187
|
},
|
|
128
188
|
|
|
129
|
-
on: (eventType, be)
|
|
189
|
+
on: function on(eventType, be) {
|
|
130
190
|
switch (eventType) {
|
|
131
191
|
case _VCEventType.VCEventType.AUDIO_VISUAL_SETTINGS_CHANGED:
|
|
132
192
|
onAVSettingsChange(be.payload ? be.payload : be);
|
|
@@ -155,37 +215,37 @@ const VCRoomParticipant = props => {
|
|
|
155
215
|
};
|
|
156
216
|
};
|
|
157
217
|
|
|
158
|
-
|
|
218
|
+
var handleClickDevicesIcon = function handleClickDevicesIcon(event) {
|
|
159
219
|
setAnchorEl(event.currentTarget);
|
|
160
220
|
};
|
|
161
221
|
|
|
162
|
-
|
|
222
|
+
var changeAudioDevice = function changeAudioDevice(device) {
|
|
163
223
|
setSelectedAudioDevice(device);
|
|
164
224
|
};
|
|
165
225
|
|
|
166
|
-
|
|
226
|
+
var onRaiseHand = function onRaiseHand(payload) {
|
|
167
227
|
if (payload && payload.userId === props.data.userId) {
|
|
168
228
|
setHandRaised(true);
|
|
169
229
|
props.data.handRaised = true;
|
|
170
230
|
}
|
|
171
231
|
};
|
|
172
232
|
|
|
173
|
-
|
|
233
|
+
var onLowerHand = function onLowerHand(payload) {
|
|
174
234
|
if (payload && payload.userId === props.data.userId) {
|
|
175
235
|
setHandRaised(false);
|
|
176
236
|
props.data.handRaised = false;
|
|
177
237
|
}
|
|
178
238
|
};
|
|
179
239
|
|
|
180
|
-
(0, _react.useEffect)(()
|
|
240
|
+
(0, _react.useEffect)(function () {
|
|
181
241
|
eventHandler.api = handler();
|
|
182
242
|
});
|
|
183
|
-
(0, _react.useEffect)(()
|
|
243
|
+
(0, _react.useEffect)(function () {
|
|
184
244
|
if (videoRef.current && videoStream.current) {
|
|
185
245
|
videoRef.current.srcObject = videoStream.current;
|
|
186
246
|
}
|
|
187
247
|
}, [videoRef.current]);
|
|
188
|
-
(0, _react.useEffect)(()
|
|
248
|
+
(0, _react.useEffect)(function () {
|
|
189
249
|
if (props.soundMonitor && !props.inView) {
|
|
190
250
|
if (soundLevel > 3) {
|
|
191
251
|
soundLevelCounter.current = 10;
|
|
@@ -196,7 +256,7 @@ const VCRoomParticipant = props => {
|
|
|
196
256
|
props.soundMonitor(props.data.userId, soundLevelCounter.current === 0 || audioMuted);
|
|
197
257
|
}
|
|
198
258
|
}, [soundLevel]);
|
|
199
|
-
(0, _react.useEffect)(()
|
|
259
|
+
(0, _react.useEffect)(function () {
|
|
200
260
|
if (audioMuted) {
|
|
201
261
|
setSoundLevel(0);
|
|
202
262
|
|
|
@@ -206,11 +266,11 @@ const VCRoomParticipant = props => {
|
|
|
206
266
|
}
|
|
207
267
|
}, [audioMuted]);
|
|
208
268
|
|
|
209
|
-
|
|
269
|
+
var handleCloseDeviceMenu = function handleCloseDeviceMenu() {
|
|
210
270
|
setAnchorEl(null);
|
|
211
271
|
};
|
|
212
272
|
|
|
213
|
-
|
|
273
|
+
var onAVSettingsChange = function onAVSettingsChange(payload) {
|
|
214
274
|
if (props.data.userId === payload.userId) {
|
|
215
275
|
if (props.isCurrentUser) {
|
|
216
276
|
if (payload.audioMuted) {
|
|
@@ -235,18 +295,18 @@ const VCRoomParticipant = props => {
|
|
|
235
295
|
} else if (props.isCurrentUser) {}
|
|
236
296
|
};
|
|
237
297
|
|
|
238
|
-
(0, _react.useEffect)(()
|
|
298
|
+
(0, _react.useEffect)(function () {
|
|
239
299
|
if (props.data && !_Utils.default.isNull(props.data.avatarId) && props.data.avatarId !== 'undefined' && props.data.avatarId !== 'null') {
|
|
240
300
|
setDownloadUrl(location + _ApplicationManager.default.getContextRoot() + '/docs/api/v1/manager/download/' + props.data.avatarId + '?access_token=' + sessionStorage.getItem('accessToken') + '&idToken=' + sessionStorage.getItem('idToken'));
|
|
241
301
|
}
|
|
242
302
|
}, [props.data]);
|
|
243
|
-
(0, _react.useEffect)(()
|
|
303
|
+
(0, _react.useEffect)(function () {
|
|
244
304
|
setAudioMuted(props.audioMuted);
|
|
245
305
|
}, [props.audioMuted]);
|
|
246
|
-
(0, _react.useEffect)(()
|
|
306
|
+
(0, _react.useEffect)(function () {
|
|
247
307
|
setVideoMuted(props.videoMuted);
|
|
248
308
|
}, [props.videoMuted]);
|
|
249
|
-
(0, _react.useEffect)(()
|
|
309
|
+
(0, _react.useEffect)(function () {
|
|
250
310
|
if (producerTransport) {
|
|
251
311
|
if (props.videoMuted) {
|
|
252
312
|
stopProducing('video');
|
|
@@ -261,13 +321,13 @@ const VCRoomParticipant = props => {
|
|
|
261
321
|
}
|
|
262
322
|
}
|
|
263
323
|
}, [producerTransport]);
|
|
264
|
-
(0, _react.useEffect)(()
|
|
324
|
+
(0, _react.useEffect)(function () {
|
|
265
325
|
setProducerTransport(props.producerTransport);
|
|
266
326
|
}, [props.producerTransport]);
|
|
267
|
-
(0, _react.useEffect)(()
|
|
327
|
+
(0, _react.useEffect)(function () {
|
|
268
328
|
if (props.isCurrentUser) {
|
|
269
329
|
props.onAudioDeviceChange(selectedAudioDevice);
|
|
270
|
-
stopProducing('audio', ()
|
|
330
|
+
stopProducing('audio', function () {
|
|
271
331
|
if (selectedAudioDevice) {
|
|
272
332
|
if (!producerTransport) {
|
|
273
333
|
createProducerTransport();
|
|
@@ -278,7 +338,7 @@ const VCRoomParticipant = props => {
|
|
|
278
338
|
});
|
|
279
339
|
}
|
|
280
340
|
}, [selectedAudioDevice]);
|
|
281
|
-
(0, _react.useEffect)(()
|
|
341
|
+
(0, _react.useEffect)(function () {
|
|
282
342
|
if (consumerTransport) {
|
|
283
343
|
console.log('TRANSI ARRIVED WITH PRODUCERS : ', props.data.producers);
|
|
284
344
|
|
|
@@ -292,26 +352,68 @@ const VCRoomParticipant = props => {
|
|
|
292
352
|
if (producers) {
|
|
293
353
|
console.log('RE-INSTATING CONSUMERS');
|
|
294
354
|
|
|
295
|
-
|
|
296
|
-
|
|
355
|
+
var _iterator = _createForOfIteratorHelper(producers),
|
|
356
|
+
_step;
|
|
357
|
+
|
|
358
|
+
try {
|
|
359
|
+
var _loop = function _loop() {
|
|
360
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
361
|
+
key = _step$value[0],
|
|
362
|
+
value = _step$value[1];
|
|
363
|
+
|
|
364
|
+
console.log('PROCESSING PRODUCER OF TYPE : ' + key + ' : ' + value.id);
|
|
297
365
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
366
|
+
if (!(props.data.producers && _this.props.data.producers.find(function (p) {
|
|
367
|
+
return p.producerId === value.id;
|
|
368
|
+
}))) {
|
|
369
|
+
consume(value.id, key, true, value.userId);
|
|
370
|
+
} else {
|
|
371
|
+
console.log('PRODUCER ALREADY PROCESSED');
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
|
|
375
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
376
|
+
_loop();
|
|
302
377
|
}
|
|
378
|
+
} catch (err) {
|
|
379
|
+
_iterator.e(err);
|
|
380
|
+
} finally {
|
|
381
|
+
_iterator.f();
|
|
303
382
|
}
|
|
304
383
|
}
|
|
305
384
|
}
|
|
306
385
|
}, [consumerTransport]);
|
|
307
386
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
387
|
+
var createProducerTransport = /*#__PURE__*/function () {
|
|
388
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
389
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
390
|
+
while (1) {
|
|
391
|
+
switch (_context.prev = _context.next) {
|
|
392
|
+
case 0:
|
|
393
|
+
_context.t0 = setProducerTransport;
|
|
394
|
+
_context.next = 3;
|
|
395
|
+
return _MediaSoupHelper.default.initProducerTransport(props.device, props.meetingId, sessionStorage.getItem('username'));
|
|
396
|
+
|
|
397
|
+
case 3:
|
|
398
|
+
_context.t1 = _context.sent;
|
|
399
|
+
(0, _context.t0)(_context.t1);
|
|
400
|
+
|
|
401
|
+
case 5:
|
|
402
|
+
case "end":
|
|
403
|
+
return _context.stop();
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}, _callee);
|
|
407
|
+
}));
|
|
408
|
+
|
|
409
|
+
return function createProducerTransport() {
|
|
410
|
+
return _ref.apply(this, arguments);
|
|
411
|
+
};
|
|
412
|
+
}();
|
|
311
413
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
devices.forEach(device
|
|
414
|
+
var handleDevicesChanged = function handleDevicesChanged(devices) {
|
|
415
|
+
var audioDeviceList = [];
|
|
416
|
+
devices.forEach(function (device) {
|
|
315
417
|
if ('audioinput' === device.kind) {
|
|
316
418
|
audioDeviceList.push({
|
|
317
419
|
id: device.deviceId,
|
|
@@ -328,24 +430,28 @@ const VCRoomParticipant = props => {
|
|
|
328
430
|
}
|
|
329
431
|
};
|
|
330
432
|
|
|
331
|
-
(0, _react.useEffect)(()
|
|
433
|
+
(0, _react.useEffect)(function () {
|
|
332
434
|
_VCEventManager.default.removeSubscriptions(eventHandler);
|
|
333
435
|
|
|
334
436
|
_VCEventManager.default.addSubscriptions(eventHandler, _VCEventType.VCEventType.AUDIO_VISUAL_SETTINGS_CHANGED, _VCEventType.VCEventType.RAISE_HAND, _VCEventType.VCEventType.LOWER_HAND, _VCEventType.VCEventType.NEW_PRODUCERS, _VCEventType.VCEventType.CONSUMER_CLOSED);
|
|
335
437
|
|
|
336
438
|
if (props.isCurrentUser) {
|
|
337
|
-
navigator.mediaDevices.ondevicechange = ()
|
|
338
|
-
navigator.mediaDevices.enumerateDevices().then(devices
|
|
439
|
+
navigator.mediaDevices.ondevicechange = function () {
|
|
440
|
+
navigator.mediaDevices.enumerateDevices().then(function (devices) {
|
|
339
441
|
handleDevicesChanged(devices);
|
|
340
442
|
});
|
|
341
443
|
};
|
|
342
444
|
|
|
343
|
-
navigator.mediaDevices.enumerateDevices().then(devices
|
|
445
|
+
navigator.mediaDevices.enumerateDevices().then(function (devices) {
|
|
344
446
|
handleDevicesChanged(devices);
|
|
345
447
|
});
|
|
346
448
|
}
|
|
347
449
|
|
|
348
|
-
|
|
450
|
+
if (props.isCurrentUser) {
|
|
451
|
+
consumeFailedProducers();
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
return function () {
|
|
349
455
|
console.log('======================DESTROYING PARTICIPANT========================= : ' + props.data.userId);
|
|
350
456
|
|
|
351
457
|
if (props.isCurrentUser) {
|
|
@@ -353,114 +459,185 @@ const VCRoomParticipant = props => {
|
|
|
353
459
|
stopProducing('video');
|
|
354
460
|
}
|
|
355
461
|
|
|
356
|
-
|
|
357
|
-
|
|
462
|
+
var _iterator2 = _createForOfIteratorHelper(consumers),
|
|
463
|
+
_step2;
|
|
464
|
+
|
|
465
|
+
try {
|
|
466
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
467
|
+
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
468
|
+
key = _step2$value[0],
|
|
469
|
+
value = _step2$value[1];
|
|
470
|
+
|
|
471
|
+
removeConsumer(key, 'video');
|
|
472
|
+
}
|
|
473
|
+
} catch (err) {
|
|
474
|
+
_iterator2.e(err);
|
|
475
|
+
} finally {
|
|
476
|
+
_iterator2.f();
|
|
358
477
|
}
|
|
359
478
|
|
|
360
479
|
_VCEventManager.default.removeSubscriptions(eventHandler);
|
|
361
480
|
};
|
|
362
481
|
}, []);
|
|
363
482
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
return
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
483
|
+
var produce = /*#__PURE__*/function () {
|
|
484
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(type) {
|
|
485
|
+
var mediaConstraints, stream, track, params, producer;
|
|
486
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
487
|
+
while (1) {
|
|
488
|
+
switch (_context2.prev = _context2.next) {
|
|
489
|
+
case 0:
|
|
490
|
+
if (device) {
|
|
491
|
+
_context2.next = 3;
|
|
492
|
+
break;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
console.error('No available device');
|
|
496
|
+
return _context2.abrupt("return");
|
|
497
|
+
|
|
498
|
+
case 3:
|
|
499
|
+
if (!(!device.canProduce('video') && type === 'video')) {
|
|
500
|
+
_context2.next = 6;
|
|
501
|
+
break;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
console.error('Cannot produce video');
|
|
505
|
+
return _context2.abrupt("return");
|
|
506
|
+
|
|
507
|
+
case 6:
|
|
508
|
+
if (!(!selectedAudioDevice && type === 'audio')) {
|
|
509
|
+
_context2.next = 9;
|
|
510
|
+
break;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
console.error('No audio device selected');
|
|
514
|
+
return _context2.abrupt("return");
|
|
515
|
+
|
|
516
|
+
case 9:
|
|
517
|
+
if (!producers.has(type)) {
|
|
518
|
+
_context2.next = 12;
|
|
519
|
+
break;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
console.log('Producer already exists for this type ' + type);
|
|
523
|
+
return _context2.abrupt("return");
|
|
524
|
+
|
|
525
|
+
case 12:
|
|
526
|
+
_context2.t0 = type;
|
|
527
|
+
_context2.next = _context2.t0 === 'audio' ? 15 : _context2.t0 === 'video' ? 17 : 19;
|
|
528
|
+
break;
|
|
529
|
+
|
|
530
|
+
case 15:
|
|
531
|
+
mediaConstraints = {
|
|
532
|
+
deviceId: selectedAudioDevice.id,
|
|
533
|
+
audio: true,
|
|
534
|
+
video: false
|
|
535
|
+
};
|
|
536
|
+
return _context2.abrupt("break", 20);
|
|
537
|
+
|
|
538
|
+
case 17:
|
|
539
|
+
mediaConstraints = VIDEO_CONSTRAINTS;
|
|
540
|
+
return _context2.abrupt("break", 20);
|
|
541
|
+
|
|
542
|
+
case 19:
|
|
543
|
+
return _context2.abrupt("return");
|
|
544
|
+
|
|
545
|
+
case 20:
|
|
546
|
+
_context2.next = 22;
|
|
547
|
+
return navigator.mediaDevices.getUserMedia(mediaConstraints);
|
|
548
|
+
|
|
549
|
+
case 22:
|
|
550
|
+
stream = _context2.sent;
|
|
551
|
+
track = type === 'audio' ? stream.getAudioTracks()[0] : stream.getVideoTracks()[0];
|
|
552
|
+
params = {
|
|
553
|
+
track: track
|
|
554
|
+
};
|
|
555
|
+
audioRef.current = stream;
|
|
556
|
+
|
|
557
|
+
if (props.isHost && type === 'audio') {
|
|
558
|
+
_VCRoomRecorder.default.addTrack(props.data.userId, track);
|
|
559
|
+
|
|
560
|
+
tracks.current.setAudioTrack(track);
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
if (type === 'video') {
|
|
564
|
+
params.encodings = VIDEO_ENCODINGS;
|
|
565
|
+
params.codecOptions = VIDEO_CODEC_OPTIONS;
|
|
566
|
+
tracks.current.setVideoTrack(track);
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
_context2.prev = 28;
|
|
570
|
+
_context2.next = 31;
|
|
571
|
+
return producerTransport.produce(params);
|
|
572
|
+
|
|
573
|
+
case 31:
|
|
574
|
+
producer = _context2.sent;
|
|
575
|
+
_context2.next = 37;
|
|
576
|
+
break;
|
|
577
|
+
|
|
578
|
+
case 34:
|
|
579
|
+
_context2.prev = 34;
|
|
580
|
+
_context2.t1 = _context2["catch"](28);
|
|
581
|
+
console.log(_context2.t1);
|
|
582
|
+
|
|
583
|
+
case 37:
|
|
584
|
+
if (producer) {
|
|
585
|
+
producerTransport.getStats().then(function (data) {
|
|
586
|
+
return console.log(data);
|
|
587
|
+
});
|
|
588
|
+
producers.set(type, producer);
|
|
589
|
+
|
|
590
|
+
if (type === 'video') {
|
|
591
|
+
videoRef.current.srcObject = stream;
|
|
592
|
+
videoStream.current = stream;
|
|
593
|
+
setVideoRefresher(!videoRefresher);
|
|
594
|
+
console.log(stream);
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
producer.on('transportclose', function () {
|
|
598
|
+
stream.srcObject.getTracks().forEach(function (track) {
|
|
599
|
+
track.stop();
|
|
600
|
+
});
|
|
601
|
+
producers.delete(type);
|
|
602
|
+
});
|
|
603
|
+
producer.on('close', function () {
|
|
604
|
+
stream.srcObject.getTracks().forEach(function (track) {
|
|
605
|
+
track.stop();
|
|
606
|
+
});
|
|
607
|
+
producers.delete(type);
|
|
608
|
+
});
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
case 38:
|
|
612
|
+
case "end":
|
|
613
|
+
return _context2.stop();
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
}, _callee2, null, [[28, 34]]);
|
|
617
|
+
}));
|
|
403
618
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
const params = {
|
|
407
|
-
track
|
|
619
|
+
return function produce(_x) {
|
|
620
|
+
return _ref2.apply(this, arguments);
|
|
408
621
|
};
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
if (props.isHost && type === 'audio') {
|
|
412
|
-
_VCRoomRecorder.default.addTrack(props.data.userId, track);
|
|
413
|
-
|
|
414
|
-
tracks.current.setAudioTrack(track);
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
if (type === 'video') {
|
|
418
|
-
params.encodings = VIDEO_ENCODINGS;
|
|
419
|
-
params.codecOptions = VIDEO_CODEC_OPTIONS;
|
|
420
|
-
tracks.current.setVideoTrack(track);
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
let producer;
|
|
424
|
-
|
|
425
|
-
try {
|
|
426
|
-
producer = await producerTransport.produce(params);
|
|
427
|
-
} catch (e) {
|
|
428
|
-
console.log(e);
|
|
429
|
-
}
|
|
622
|
+
}();
|
|
430
623
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
videoStream.current = stream;
|
|
438
|
-
setVideoRefresher(!videoRefresher);
|
|
439
|
-
console.log(stream);
|
|
624
|
+
var consumeFailedProducers = function consumeFailedProducers() {
|
|
625
|
+
setTimeout(function () {
|
|
626
|
+
if (consumerTransport) {
|
|
627
|
+
onNewProducers(failedProducersDueToNullTransport, true);
|
|
628
|
+
failedProducersDueToNullTransport.splice(0, failedProducersDueToNullTransport.length);
|
|
629
|
+
consumeFailedProducers();
|
|
440
630
|
}
|
|
441
|
-
|
|
442
|
-
producer.on('transportclose', () => {
|
|
443
|
-
stream.srcObject.getTracks().forEach(function (track) {
|
|
444
|
-
track.stop();
|
|
445
|
-
});
|
|
446
|
-
producers.delete(type);
|
|
447
|
-
});
|
|
448
|
-
producer.on('close', () => {
|
|
449
|
-
stream.srcObject.getTracks().forEach(function (track) {
|
|
450
|
-
track.stop();
|
|
451
|
-
});
|
|
452
|
-
producers.delete(type);
|
|
453
|
-
});
|
|
454
|
-
}
|
|
631
|
+
}, 5000);
|
|
455
632
|
};
|
|
456
633
|
|
|
457
|
-
|
|
634
|
+
var stopProducing = function stopProducing(type, callback) {
|
|
458
635
|
if (!producers.has(type)) {
|
|
459
636
|
console.log('There is no producer for this type ' + type);
|
|
460
637
|
return;
|
|
461
638
|
}
|
|
462
639
|
|
|
463
|
-
|
|
640
|
+
var producerId = producers.get(type).id;
|
|
464
641
|
console.log('Close producer', producerId);
|
|
465
642
|
producers.get(type).close();
|
|
466
643
|
producers.delete(type);
|
|
@@ -481,35 +658,53 @@ const VCRoomParticipant = props => {
|
|
|
481
658
|
|
|
482
659
|
_SocketManager.default.emitEvent(_VCEventType.VCEventType.PRODUCER_CLOSED, {
|
|
483
660
|
userId: props.data.userId,
|
|
484
|
-
producerId,
|
|
661
|
+
producerId: producerId,
|
|
485
662
|
roomId: props.meetingId
|
|
486
|
-
}).then(data
|
|
663
|
+
}).then(function (data) {}).catch(function (e) {
|
|
664
|
+
return console.log('PRODUCER_CLOSED ERROR : ', e);
|
|
665
|
+
});
|
|
487
666
|
};
|
|
488
667
|
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
668
|
+
var onNewProducers = function onNewProducers(producers) {
|
|
669
|
+
var loading = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
670
|
+
console.log("====== PRODUCERS RECEIVED : [ " + JSON.stringify(producers) + " ] =======");
|
|
671
|
+
|
|
672
|
+
var _iterator3 = _createForOfIteratorHelper(producers),
|
|
673
|
+
_step3;
|
|
674
|
+
|
|
675
|
+
try {
|
|
676
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
677
|
+
var producer = _step3.value;
|
|
678
|
+
|
|
679
|
+
if (consumerTransport) {
|
|
680
|
+
if (producer.userId === props.data.userId) {
|
|
681
|
+
if (producer.kind === 'video' && !producer.screenSharing) {
|
|
682
|
+
console.log('CALLING CONSUME FROM ON NEW PRODUCERS FOR : ' + props.data.userId + ' - ' + producer.producerId);
|
|
683
|
+
consume(producer.producerId, producer.kind, loading, producer.userId);
|
|
684
|
+
}
|
|
496
685
|
}
|
|
497
|
-
}
|
|
498
686
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
687
|
+
if (props.isCurrentUser || loading) {
|
|
688
|
+
// The small participant box at the bottom belonging to the current user must consume all audio
|
|
689
|
+
// This is because we do not want to disturb the audio due to any rendering such as Bring to view
|
|
690
|
+
if (producer.kind === 'audio') {
|
|
691
|
+
consume(producer.producerId, producer.kind, loading, producer.userId);
|
|
692
|
+
}
|
|
504
693
|
}
|
|
694
|
+
} else {
|
|
695
|
+
failedProducersDueToNullTransport.push(producer);
|
|
505
696
|
}
|
|
506
|
-
} else {
|
|
507
|
-
failedProducersDueToNullTransport.push(producer);
|
|
508
697
|
}
|
|
698
|
+
} catch (err) {
|
|
699
|
+
_iterator3.e(err);
|
|
700
|
+
} finally {
|
|
701
|
+
_iterator3.f();
|
|
509
702
|
}
|
|
703
|
+
|
|
704
|
+
console.log("====== PRODUCERS THAT COULD NOT BE CONSUMES : [ " + JSON.stringify(failedProducersDueToNullTransport) + " ] =======");
|
|
510
705
|
};
|
|
511
706
|
|
|
512
|
-
|
|
707
|
+
var removeConsumer = function removeConsumer(consumerId, kind, userId) {
|
|
513
708
|
if (kind === 'video') {
|
|
514
709
|
if (videoStream.current) {
|
|
515
710
|
if (videoStream.current) {
|
|
@@ -519,7 +714,7 @@ const VCRoomParticipant = props => {
|
|
|
519
714
|
}
|
|
520
715
|
}
|
|
521
716
|
} else if (kind === 'audio') {
|
|
522
|
-
|
|
717
|
+
var audioElement = document.getElementById(consumerId);
|
|
523
718
|
|
|
524
719
|
if (audioElement && audioElement.srcObject) {
|
|
525
720
|
audioElement.srcObject.getTracks().forEach(function (track) {
|
|
@@ -530,7 +725,7 @@ const VCRoomParticipant = props => {
|
|
|
530
725
|
_VCRoomRecorder.default.removeTrack(userId);
|
|
531
726
|
}
|
|
532
727
|
|
|
533
|
-
|
|
728
|
+
var elementById = document.getElementById(props.data.userId + '-audio-el-container');
|
|
534
729
|
|
|
535
730
|
if (elementById) {
|
|
536
731
|
elementById.removeChild(audioElement);
|
|
@@ -541,52 +736,101 @@ const VCRoomParticipant = props => {
|
|
|
541
736
|
consumers.delete(consumerId);
|
|
542
737
|
};
|
|
543
738
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
stream,
|
|
548
|
-
kind
|
|
549
|
-
}) => {
|
|
550
|
-
if (consumer) {
|
|
551
|
-
consumers.set(consumer.id, consumer);
|
|
552
|
-
console.log('=====================================CONSUME===================================== : ' + kind + ' FOR : ' + userId);
|
|
553
|
-
|
|
554
|
-
if (kind === 'video') {
|
|
555
|
-
if (videoRef.current) {
|
|
556
|
-
videoRef.current.srcObject = stream;
|
|
557
|
-
}
|
|
739
|
+
function retryConsume(kind, userId, e, retries, producerId, loading) {
|
|
740
|
+
console.log('FAILED TO CONSUME ' + kind + ' FROM ' + userId);
|
|
741
|
+
console.log(e);
|
|
558
742
|
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
743
|
+
if (retries < 10) {
|
|
744
|
+
console.log('RE-TRYING [' + retries + ']');
|
|
745
|
+
setTimeout(function () {
|
|
746
|
+
consume(producerId, kind, loading, userId, retries);
|
|
747
|
+
}, 5000);
|
|
748
|
+
} else {
|
|
749
|
+
console.log('COMPLETELY FAILED TO CONSUME ' + kind + ' FROM ' + userId);
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
var consume = /*#__PURE__*/function () {
|
|
754
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(producerId, kind, loading, userId) {
|
|
755
|
+
var retries,
|
|
756
|
+
_args3 = arguments;
|
|
757
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
758
|
+
while (1) {
|
|
759
|
+
switch (_context3.prev = _context3.next) {
|
|
760
|
+
case 0:
|
|
761
|
+
retries = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : 0;
|
|
762
|
+
|
|
763
|
+
_MediaSoupHelper.default.getConsumeStream(producerId, device.rtpCapabilities, consumerTransport, props.meetingId, sessionStorage.getItem('username'), kind).then(function (_ref4) {
|
|
764
|
+
var consumer = _ref4.consumer,
|
|
765
|
+
stream = _ref4.stream,
|
|
766
|
+
kind = _ref4.kind;
|
|
767
|
+
|
|
768
|
+
if (consumer) {
|
|
769
|
+
consumers.set(consumer.id, consumer);
|
|
770
|
+
console.log('=====================================CONSUME===================================== : ' + kind + ' FOR : ' + userId);
|
|
771
|
+
|
|
772
|
+
if (kind === 'video') {
|
|
773
|
+
if (videoRef.current) {
|
|
774
|
+
videoRef.current.srcObject = stream;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
videoStream.current = stream;
|
|
778
|
+
setVideoMuted(false);
|
|
779
|
+
setVideoRefresher(!videoRefresher);
|
|
780
|
+
tracks.current.setVideoTrack(stream.getVideoTracks()[0]);
|
|
781
|
+
} else {
|
|
782
|
+
if (props.isCurrentUser || loading) {
|
|
783
|
+
var audioElement = document.createElement('audio');
|
|
784
|
+
audioElement.srcObject = stream;
|
|
785
|
+
audioElement.id = consumer.id;
|
|
786
|
+
audioElement.playsinline = false;
|
|
787
|
+
audioElement.autoplay = true;
|
|
788
|
+
document.getElementById('meeting-audio-el-container').appendChild(audioElement);
|
|
789
|
+
|
|
790
|
+
if (props.isHost) {
|
|
791
|
+
_VCRoomRecorder.default.addTrack(userId, stream.getAudioTracks()[0]);
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
consumer.on('trackended', function () {
|
|
797
|
+
console.log(kind + " CONSUMER TRACK ENDED FOR " + userId);
|
|
798
|
+
removeConsumer(consumer.id, kind, userId);
|
|
799
|
+
var participantVideoMuted = participants.find(function (p) {
|
|
800
|
+
return p.userId === userId;
|
|
801
|
+
}).videoMuted;
|
|
802
|
+
var participantAudioMuted = participants.find(function (p) {
|
|
803
|
+
return p.userId === userId;
|
|
804
|
+
}).audioMuted;
|
|
805
|
+
|
|
806
|
+
if (kind === 'video' && !participantVideoMuted || kind === 'audio' && !participantAudioMuted) {
|
|
807
|
+
retryConsume(kind, userId, new Error('trackended while ' + kind + ' is NOT muted'), retries, producerId, loading);
|
|
808
|
+
}
|
|
809
|
+
});
|
|
810
|
+
consumer.on('transportclose', function () {
|
|
811
|
+
console.log(kind + " CONSUMER CLOSED FOR " + userId);
|
|
812
|
+
removeConsumer(consumer.id, kind, userId);
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
}).catch(function (e) {
|
|
816
|
+
retryConsume(kind, userId, e, retries, producerId, loading);
|
|
817
|
+
});
|
|
818
|
+
|
|
819
|
+
case 2:
|
|
820
|
+
case "end":
|
|
821
|
+
return _context3.stop();
|
|
575
822
|
}
|
|
576
823
|
}
|
|
824
|
+
}, _callee3);
|
|
825
|
+
}));
|
|
577
826
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
removeConsumer(consumer.id, kind, userId);
|
|
583
|
-
});
|
|
584
|
-
}
|
|
585
|
-
});
|
|
586
|
-
};
|
|
827
|
+
return function consume(_x2, _x3, _x4, _x5) {
|
|
828
|
+
return _ref3.apply(this, arguments);
|
|
829
|
+
};
|
|
830
|
+
}();
|
|
587
831
|
|
|
588
|
-
|
|
589
|
-
|
|
832
|
+
var getParticipantName = function getParticipantName() {
|
|
833
|
+
var name = props.data.name;
|
|
590
834
|
|
|
591
835
|
if (_Utils.default.isNull(props.data.userId)) {
|
|
592
836
|
name = "".concat(name, " (Guest)");
|
|
@@ -668,7 +912,7 @@ const VCRoomParticipant = props => {
|
|
|
668
912
|
marginLeft: '4px'
|
|
669
913
|
}
|
|
670
914
|
}, props.isHost && !audioMuted ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
671
|
-
onClick: e
|
|
915
|
+
onClick: function onClick(e) {
|
|
672
916
|
props.onHostAudioMute(props.data);
|
|
673
917
|
},
|
|
674
918
|
style: {
|
|
@@ -684,7 +928,7 @@ const VCRoomParticipant = props => {
|
|
|
684
928
|
}) : /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
685
929
|
id: 'MIC'
|
|
686
930
|
})), props.isHost && !videoMuted && /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
687
|
-
onClick: e
|
|
931
|
+
onClick: function onClick(e) {
|
|
688
932
|
props.onHostVideoMute(props.data);
|
|
689
933
|
},
|
|
690
934
|
style: {
|
|
@@ -784,9 +1028,11 @@ const VCRoomParticipant = props => {
|
|
|
784
1028
|
horizontal: 'right',
|
|
785
1029
|
vertical: 'top'
|
|
786
1030
|
}
|
|
787
|
-
}, audioDevices.map((device, index)
|
|
1031
|
+
}, audioDevices.map(function (device, index) {
|
|
788
1032
|
return /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
|
|
789
|
-
onClick: ()
|
|
1033
|
+
onClick: function onClick() {
|
|
1034
|
+
return changeAudioDevice(device);
|
|
1035
|
+
}
|
|
790
1036
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
791
1037
|
style: {
|
|
792
1038
|
color: selectedAudioDevice && selectedAudioDevice.id === device.id ? '#198754' : null
|