@agilemotion/oui-react-js 1.3.7 → 1.3.9

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.
Files changed (214) hide show
  1. package/README.TXT +1 -0
  2. package/dist/ApplicationContext.js +161 -284
  3. package/dist/BasicApp.js +1 -1
  4. package/dist/BasicAppHome.js +17 -4
  5. package/dist/BusinessPortalApp.js +4 -4
  6. package/dist/BusinessPortalAppHome.js +10 -39
  7. package/dist/DynamicJS.js +20 -52
  8. package/dist/RestUtils.js +86 -111
  9. package/dist/Utils.js +36 -30
  10. package/dist/assets/jss/components/authNavbarStyle.js +34 -35
  11. package/dist/assets/jss/components/cardHeaderStyle.js +12 -12
  12. package/dist/assets/jss/components/customDropdownStyle.js +26 -26
  13. package/dist/assets/jss/components/customInputStyle.js +2 -8
  14. package/dist/assets/jss/components/dropdownStyle.js +10 -15
  15. package/dist/assets/jss/components/footerStyle.js +12 -18
  16. package/dist/assets/jss/components/headerLinksStyle.js +7 -13
  17. package/dist/assets/jss/components/headerStyle.js +24 -25
  18. package/dist/assets/jss/components/navbarLinksStyle.js +7 -13
  19. package/dist/assets/jss/components/navbarStyle.js +24 -25
  20. package/dist/assets/jss/components/sidebarStyle.js +41 -43
  21. package/dist/assets/jss/components/typographyStyle.js +2 -8
  22. package/dist/assets/jss/rootStyle.js +32 -47
  23. package/dist/assets/jss/views/layoutStyle.js +6 -11
  24. package/dist/assets/jss/views/loginStyle.js +4 -10
  25. package/dist/assets/lotties/call-loading.json +1 -0
  26. package/dist/assets/lotties/calling-2.json +1 -0
  27. package/dist/assets/lotties/calling.json +1 -0
  28. package/dist/assets/lotties/calling2.json +1 -0
  29. package/dist/assets/lotties/chat.json +1 -0
  30. package/dist/assets/lotties/join.json +1 -0
  31. package/dist/assets/lotties/loading.json +1 -0
  32. package/dist/assets/lotties/msg2.json +1 -0
  33. package/dist/assets/lotties/recording.json +1 -0
  34. package/dist/assets/lotties/waiting.json +1 -0
  35. package/dist/assets/scss/black-dashboard-react/bootstrap/_card.scss +5 -5
  36. package/dist/assets/scss/black-dashboard-react/bootstrap/_carousel.scss +2 -2
  37. package/dist/assets/scss/black-dashboard-react/bootstrap/_custom-forms.scss +3 -3
  38. package/dist/assets/scss/black-dashboard-react/bootstrap/_functions.scss +1 -1
  39. package/dist/assets/scss/black-dashboard-react/bootstrap/_images.scss +1 -1
  40. package/dist/assets/scss/black-dashboard-react/bootstrap/_jumbotron.scss +1 -1
  41. package/dist/assets/scss/black-dashboard-react/bootstrap/_popover.scss +7 -5
  42. package/dist/assets/scss/black-dashboard-react/bootstrap/_tooltip.scss +4 -4
  43. package/dist/assets/scss/black-dashboard-react/bootstrap/_variables.scss +5 -5
  44. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid-framework.scss +2 -2
  45. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid.scss +11 -9
  46. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_embed.scss +6 -4
  47. package/dist/assets/scss/black-dashboard-react/custom/_variables.scss +1 -1
  48. package/dist/components/AlertBar.js +39 -80
  49. package/dist/components/AlertItem.js +4 -26
  50. package/dist/components/Button.js +24 -36
  51. package/dist/components/Calendar.js +478 -0
  52. package/dist/components/Calender.css +244 -0
  53. package/dist/components/ConfirmationDialog.js +5 -29
  54. package/dist/components/DataGrid.js +169 -338
  55. package/dist/components/DataGridColumn.js +5 -28
  56. package/dist/components/DataGridFilter.js +46 -114
  57. package/dist/components/DataGridHeading.js +11 -19
  58. package/dist/components/Dialog.js +27 -121
  59. package/dist/components/DocumentViewer.js +15 -35
  60. package/dist/components/DocumentViewerComponent.js +2 -20
  61. package/dist/components/FileThumb.js +115 -0
  62. package/dist/components/Graph.js +25 -75
  63. package/dist/components/GraphNode.js +4 -21
  64. package/dist/components/HtmlPanel.js +59 -78
  65. package/dist/components/Icon.js +99 -1
  66. package/dist/components/LoadingIndicator.js +4 -4
  67. package/dist/components/LottieIcon.js +134 -0
  68. package/dist/components/PopupView.js +2 -20
  69. package/dist/components/RegularButton.js +15 -19
  70. package/dist/components/SignaturePanel.js +9 -40
  71. package/dist/components/SocketManager.js +170 -0
  72. package/dist/components/StepperTitleBar.js +30 -56
  73. package/dist/components/TabPage.js +6 -9
  74. package/dist/components/TabPanel.js +41 -98
  75. package/dist/components/TableCellContent.js +30 -38
  76. package/dist/components/TemplateDesigner.css +0 -1
  77. package/dist/components/TemplateDesigner.js +107 -151
  78. package/dist/components/TemplateItemEventHandler.js +33 -100
  79. package/dist/components/TemplateTable.js +6 -42
  80. package/dist/components/TitleBar.js +35 -52
  81. package/dist/components/Toolbar.js +33 -179
  82. package/dist/components/Tree.js +27 -64
  83. package/dist/components/card/Card.js +16 -20
  84. package/dist/components/card/CardAvatar.js +9 -13
  85. package/dist/components/card/CardBody.js +13 -17
  86. package/dist/components/card/CardFooter.js +12 -16
  87. package/dist/components/card/CardHeader.js +13 -17
  88. package/dist/components/card/CardIcon.js +6 -10
  89. package/dist/components/card/CardText.js +6 -10
  90. package/dist/components/customInput/CustomInput.js +12 -10
  91. package/dist/components/dashboard/BasicBusinessAppDashboard.js +81 -158
  92. package/dist/components/dashboard/BusinessPortalAppDashboard.js +33 -79
  93. package/dist/components/dashboard/components/Header.js +8 -25
  94. package/dist/components/dashboard/components/LeftDrawer.js +3 -1
  95. package/dist/components/dashboard/components/blackDashboard/fixedPlugin/FixedPlugin.js +1 -1
  96. package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +143 -36
  97. package/dist/components/footer/Footer.js +6 -18
  98. package/dist/components/form/AddressSearch.js +32 -66
  99. package/dist/components/form/AutoComplete.js +160 -0
  100. package/dist/components/form/BaseField.js +66 -96
  101. package/dist/components/form/DatePicker.js +3 -21
  102. package/dist/components/form/FieldSet.js +158 -180
  103. package/dist/components/form/Form.css +1 -1
  104. package/dist/components/form/Form.js +137 -471
  105. package/dist/components/form/GridField.js +46 -146
  106. package/dist/components/form/IconField.js +35 -0
  107. package/dist/components/form/ImageEditor.js +19 -57
  108. package/dist/components/form/LookupField.js +8 -29
  109. package/dist/components/form/MultiFileUploadField.js +186 -0
  110. package/dist/components/form/RadioGroup.js +1 -16
  111. package/dist/components/form/Section.js +31 -92
  112. package/dist/components/form/SelectItem.js +14 -33
  113. package/dist/components/form/SignatureTemplateDesignerField.js +4 -2
  114. package/dist/components/form/Switch.js +53 -0
  115. package/dist/components/form/TextField.js +10 -17
  116. package/dist/components/form/TimePicker.js +7 -1
  117. package/dist/components/form/TransferList.css +2 -2
  118. package/dist/components/form/TransferList.js +67 -125
  119. package/dist/components/form/UploadField.js +27 -79
  120. package/dist/components/form/fieldset.css +8 -0
  121. package/dist/components/grid/GridContainer.js +5 -9
  122. package/dist/components/grid/GridItem.js +5 -9
  123. package/dist/components/layout/CollapsiblePanel.js +11 -33
  124. package/dist/components/layout/Layout.js +175 -290
  125. package/dist/components/layout/VC.css +17 -0
  126. package/dist/components/layout/View.css +17 -1
  127. package/dist/components/layout/View.js +77 -194
  128. package/dist/components/loader.css +1 -1
  129. package/dist/components/media/ClosablePanel.css +37 -0
  130. package/dist/components/media/ClosablePanel.js +53 -0
  131. package/dist/components/media/LobbyWaitingList.js +91 -0
  132. package/dist/components/media/MediaSoupHelper.js +223 -0
  133. package/dist/components/media/Recorder.js +235 -0
  134. package/dist/components/media/SideBarContent.css +54 -0
  135. package/dist/components/media/SideBarContent.js +46 -0
  136. package/dist/components/media/SocketRequest.js +20 -0
  137. package/dist/components/media/SocketResponse.js +16 -0
  138. package/dist/components/media/Timer.css +30 -0
  139. package/dist/components/media/Timer.js +88 -0
  140. package/dist/components/media/Toolbar.css +20 -0
  141. package/dist/components/media/Toolbar.js +470 -0
  142. package/dist/components/media/Tracks.js +39 -0
  143. package/dist/components/media/TrainingRoom.js +531 -0
  144. package/dist/components/media/Transports.js +35 -0
  145. package/dist/components/media/VCEventManager.js +74 -0
  146. package/dist/components/media/VCEventType.js +164 -0
  147. package/dist/components/media/VCParticipantList.css +72 -0
  148. package/dist/components/media/VCParticipantList.js +56 -0
  149. package/dist/components/media/VCParticipantListItem.css +73 -0
  150. package/dist/components/media/VCParticipantListItem.js +319 -0
  151. package/dist/components/media/VCRoom.css +42 -0
  152. package/dist/components/media/VCRoom.js +90 -0
  153. package/dist/components/media/VCRoomParticipant.css +25 -0
  154. package/dist/components/media/VCRoomParticipant.js +806 -0
  155. package/dist/components/media/VCRoomWorkspace.css +86 -0
  156. package/dist/components/media/VCRoomWorkspace.js +653 -0
  157. package/dist/components/media/Video.css +4 -0
  158. package/dist/components/media/Video.js +131 -0
  159. package/dist/components/media/chat/ChatRoom.js +926 -0
  160. package/dist/components/media/chat/ChatRoomItem.js +83 -0
  161. package/dist/components/media/chat/ChatRoomList.js +78 -0
  162. package/dist/components/media/chat/ChatRooms.scss +567 -0
  163. package/dist/components/menu/CollapsibleMenu.js +2 -19
  164. package/dist/components/menu/MenuBars.js +6 -33
  165. package/dist/components/menu/MenuButton.js +7 -35
  166. package/dist/components/menu/MenuItem.js +3 -20
  167. package/dist/components/menu/MenuLink.js +18 -12
  168. package/dist/components/navbars/AuthNavbar.js +5 -18
  169. package/dist/components/navbars/HomeNavbar.js +3 -5
  170. package/dist/components/navbars/PortalNavbar.js +4 -22
  171. package/dist/components/signatures/AgilitySignaturePanel.js +35 -101
  172. package/dist/components/signatures/AlertItem.js +3 -24
  173. package/dist/components/signatures/DocumentContainer.js +47 -135
  174. package/dist/components/signatures/ImageSignatureInput.js +8 -35
  175. package/dist/components/signatures/MenuButton.js +1 -16
  176. package/dist/components/signatures/Prompt.js +3 -24
  177. package/dist/components/signatures/ResponsiveTable.js +75 -96
  178. package/dist/components/signatures/SearchView.js +14 -50
  179. package/dist/components/signatures/SignatorySearch.js +83 -98
  180. package/dist/components/signatures/SignatorySearchForm.js +11 -17
  181. package/dist/components/signatures/SignatureInput.js +15 -44
  182. package/dist/components/signatures/SignatureInputProps.js +20 -60
  183. package/dist/components/signatures/SignatureTemplateDesigner.js +148 -235
  184. package/dist/components/signatures/Toolbar.js +7 -34
  185. package/dist/components/signatures/ViewUtils.js +2 -6
  186. package/dist/components/typography/Danger.js +3 -1
  187. package/dist/components/typography/Info.js +3 -1
  188. package/dist/components/typography/Link.js +6 -2
  189. package/dist/event/ActionHandlers.js +3 -3
  190. package/dist/event/EventType.js +7 -1
  191. package/dist/event/LoadDataActionHandler.js +1 -1
  192. package/dist/event/Observable.js +56 -168
  193. package/dist/event/RouteActionHandler.js +45 -11
  194. package/dist/event/ServiceCallActionHandler.js +34 -24
  195. package/dist/js/Addresses.js +10 -8
  196. package/dist/js/Media.js +157 -0
  197. package/dist/redux/store/ConfigureStore.js +3 -9
  198. package/dist/redux/store/DashboardStore.js +42 -94
  199. package/dist/redux/store/SecurityStore.js +15 -50
  200. package/dist/view/Dashboard.js +242 -163
  201. package/dist/view/security/ChangePasswordBasic.js +23 -76
  202. package/dist/view/security/ForgotPassword.js +9 -42
  203. package/dist/view/security/ForgotPasswordBasic.js +8 -41
  204. package/dist/view/security/Login.js +11 -47
  205. package/dist/view/security/LoginBasic.js +8 -41
  206. package/dist/view/security/LoginBusinessPortal.js +8 -41
  207. package/dist/view/security/ResetPassword.js +9 -47
  208. package/dist/view/security/ResetPasswordBasic.js +21 -71
  209. package/dist/view/security/Security.js +1 -0
  210. package/package.json +29 -13
  211. package/README.md +0 -1623
  212. package/dist/components/dashboard/BasicApp.js +0 -140
  213. package/dist/components/navbars/NavbarLinks.js +0 -212
  214. package/dist/components/signatures/OLD.js +0 -1138
@@ -0,0 +1,531 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _Utils = _interopRequireDefault(require("../../Utils"));
11
+
12
+ require("./Video.css");
13
+
14
+ var _Icon = _interopRequireDefault(require("../Icon"));
15
+
16
+ var _ApplicationContext = _interopRequireDefault(require("../../ApplicationContext"));
17
+
18
+ var _Toolbar = _interopRequireDefault(require("./Toolbar"));
19
+
20
+ var _Media = _interopRequireDefault(require("../../js/Media"));
21
+
22
+ var _VCRoom = require("./VCRoom");
23
+
24
+ var _VCRoomWorkspace = _interopRequireDefault(require("./VCRoomWorkspace"));
25
+
26
+ var _VCEventType = require("./VCEventType");
27
+
28
+ var _Alert = _interopRequireDefault(require("react-bootstrap/Alert"));
29
+
30
+ var _VCEventManager = _interopRequireDefault(require("./VCEventManager"));
31
+
32
+ var _SocketManager = _interopRequireDefault(require("../SocketManager"));
33
+
34
+ var _ClosablePanel = _interopRequireDefault(require("./ClosablePanel"));
35
+
36
+ var _SideBarContent = _interopRequireDefault(require("./SideBarContent"));
37
+
38
+ var _RestUtils = require("../../RestUtils");
39
+
40
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
+
42
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
43
+
44
+ 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; }
45
+
46
+ const Status = {
47
+ LOBBY: 'LOBBY',
48
+ SESSION: 'SESSION',
49
+ SESSION_ENDED: 'SESSION_ENDED',
50
+ SYSTEM_ERROR: 'SYSTEM_ERROR',
51
+ CONNECTION_ERROR: 'CONNECTION_ERROR',
52
+ STREAM_ERROR: 'STREAM_ERROR'
53
+ };
54
+ const location = window.location.protocol + '//' + window.location.hostname;
55
+
56
+ const TrainingRoom = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
57
+ const recordRef = (0, _react.useRef)();
58
+ const [hasUnreadChats, setHasUnreadChats] = (0, _react.useState)(null);
59
+ const [participants, setParticipants] = (0, _react.useState)([]);
60
+ const [handRaised, setHandRaised] = (0, _react.useState)(false);
61
+ const [isRecording, setIsRecording] = (0, _react.useState)(false);
62
+ const [screenShared, setScreenShared] = (0, _react.useState)(null);
63
+ const [videoDisabled] = (0, _react.useState)(props.videoDisabled);
64
+ const [audioDisabled, setAudioDisabled] = (0, _react.useState)(props.audioDisabled);
65
+ const [videoMuted, setVideoMuted] = (0, _react.useState)(true);
66
+ const [audioMuted, setAudioMuted] = (0, _react.useState)(true);
67
+ const [displayState, setDisplayState] = (0, _react.useState)('MAXIMIZED');
68
+ const [roomStatus, setRoomStatus] = (0, _react.useState)(null);
69
+ const [someoneSharing, setSomeoneSharing] = (0, _react.useState)(null);
70
+ const [sideBarOpen, setSideBarOpen] = (0, _react.useState)(false);
71
+ const [sideBarTab, setSideBarTab] = (0, _react.useState)('');
72
+ const [allUserParticipantsLeft, setAllUserParticipantsLeft] = (0, _react.useState)(false);
73
+ const [lobbyWaitingList, setLobbyWaitingList] = (0, _react.useState)([]);
74
+ const [isHost, setIsHost] = (0, _react.useState)(false);
75
+ const [meetingParticipantGridMode, setMeetingParticipantGridMode] = (0, _react.useState)('DEFAULT');
76
+ const [autoPermit, setAutoPermit] = (0, _react.useState)(!props.calendarEvent.askToJoin);
77
+ const [rtpCapabilities, setRtpCapabilities] = (0, _react.useState)(null);
78
+ const [activityMessage, setActivityMessage] = (0, _react.useState)(null);
79
+ const [onloadScreenShareData, setOnloadScreenShareData] = (0, _react.useState)(null);
80
+ const [chatMessage, setChatMessage] = (0, _react.useState)(null);
81
+ const [chatSender, setChatSender] = (0, _react.useState)(null);
82
+ const [currentUserFullName, setCurrentUserFullName] = (0, _react.useState)(null);
83
+ const [eventHandler] = (0, _react.useState)({});
84
+ const [meetingChat, setMeetingChat] = (0, _react.useState)(null);
85
+ const shareScreenSource = (0, _react.useRef)();
86
+
87
+ const handler = () => {
88
+ return {
89
+ get id() {
90
+ return 'meeting-room-' + props.calendarEvent.id;
91
+ },
92
+
93
+ get participants() {
94
+ return participants;
95
+ },
96
+
97
+ on: (eventType, be) => {
98
+ switch (eventType) {
99
+ case _VCEventType.VCEventType.REQUEST_TO_JOIN_MEETING:
100
+ break;
101
+
102
+ case _VCEventType.VCEventType.USER_JOINED:
103
+ addUser(be.payload);
104
+ break;
105
+
106
+ case _VCEventType.VCEventType.USER_LEFT_MEETING:
107
+ removeUser(be.payload);
108
+ break;
109
+
110
+ case _VCEventType.VCEventType.AUDIO_VISUAL_SETTINGS_CHANGED:
111
+ onAVSettingsChange(be.payload);
112
+ break;
113
+
114
+ case _VCEventType.VCEventType.SYSTEM_EVENT:
115
+ alert(_VCEventType.VCEventType.SYSTEM_EVENT);
116
+ break;
117
+ }
118
+ }
119
+ };
120
+ };
121
+
122
+ const fetchChats = () => {
123
+ (0, _RestUtils.sendRequest)("".concat(location, "/api/v1/chat/fetchMeetingChat/").concat(props.calendarEvent.id), response => {
124
+ if (response && response.id) {
125
+ setMeetingChat(response);
126
+ }
127
+ }, e => {}, true, false);
128
+ };
129
+
130
+ const onAVSettingsChange = payload => {
131
+ let participant = participants.find(p => p.userId === payload.userId);
132
+
133
+ if (participant) {
134
+ participant.audioMuted = payload.audioMuted;
135
+ participant.videoMuted = payload.videoMuted;
136
+ }
137
+
138
+ _VCEventManager.default.fireEvent(_VCEventType.VCEventType.AUDIO_VISUAL_SETTINGS_CHANGED, payload);
139
+ };
140
+
141
+ function emitAVSettingsChange() {
142
+ _SocketManager.default.emitEvent(_VCEventType.VCEventType.AUDIO_VISUAL_SETTINGS_CHANGED, {
143
+ meetingId: props.calendarEvent.id,
144
+ userId: sessionStorage.getItem('username'),
145
+ audioMuted: audioMuted,
146
+ videoMuted: videoMuted
147
+ }).catch(error => {});
148
+ }
149
+
150
+ (0, _react.useEffect)(() => {
151
+ if (audioMuted !== null) {
152
+ onAVSettingsChange({
153
+ userId: sessionStorage.getItem('username'),
154
+ videoMuted,
155
+ audioMuted
156
+ });
157
+ emitAVSettingsChange();
158
+ }
159
+ }, [audioMuted]);
160
+ (0, _react.useEffect)(() => {
161
+ if (videoMuted !== null) {
162
+ onAVSettingsChange({
163
+ userId: sessionStorage.getItem('username'),
164
+ videoMuted,
165
+ audioMuted
166
+ });
167
+ emitAVSettingsChange();
168
+ }
169
+ }, [videoMuted]);
170
+
171
+ const handleMessageArrived = event => {
172
+ if (roomStatus === Status.SESSION && event.message && event.message.length > 0) {
173
+ setActivityMessage(event.message);
174
+ const messageTimeout = setTimeout(() => {
175
+ setActivityMessage(null);
176
+ clearTimeout(messageTimeout);
177
+ }, 4000);
178
+ }
179
+ };
180
+
181
+ const addUser = payload => {
182
+ console.log('ADD USER : ', payload);
183
+ addUserToParticipants(payload.user);
184
+ setAllUserParticipantsLeft(false);
185
+
186
+ if (roomStatus === Status.LOBBY) {
187
+ setRoomStatus(Status.SESSION);
188
+ setSideBarTab('People');
189
+ setSideBarOpen(true);
190
+ }
191
+
192
+ handleMessageArrived({
193
+ message: payload.user.name + ' has joined'
194
+ });
195
+ };
196
+
197
+ const removeUser = user => {
198
+ if (props.calendarEvent.id === user.meetingId) {
199
+ const userId = user.userId;
200
+ const find = participants.find(p => p.userId === userId);
201
+
202
+ if (find) {
203
+ const newParticipants = participants.filter(p => p.userId !== userId);
204
+
205
+ if (newParticipants.length === 0) {
206
+ setParticipants(newParticipants);
207
+ setAllUserParticipantsLeft(true);
208
+ setRoomStatus(Status.LOBBY);
209
+ }
210
+ }
211
+ }
212
+ };
213
+
214
+ const handleSidebarToggle = e => {
215
+ let paper = document.getElementById('meetingDialogPaper');
216
+
217
+ if (e.detail.open) {
218
+ paper.style.margin = '54px 0 0 136px';
219
+ } else {
220
+ paper.style.margin = '54px 0 0 0';
221
+ }
222
+ };
223
+
224
+ (0, _react.useEffect)(() => {
225
+ eventHandler.api = handler();
226
+ });
227
+ (0, _react.useEffect)(() => {
228
+ if (props.settings) {
229
+ setAudioMuted(!props.settings.audioOn);
230
+ setVideoMuted(!props.settings.videoOn);
231
+ }
232
+ }, [props.settings]);
233
+ (0, _react.useEffect)(() => {
234
+ _VCEventManager.default.removeSubscriptions(eventHandler);
235
+
236
+ _VCEventManager.default.addSubscriptions(eventHandler, _VCEventType.VCEventType.REQUEST_TO_JOIN_MEETING, _VCEventType.VCEventType.USER_JOINED, _VCEventType.VCEventType.USER_LEFT_MEETING, _VCEventType.VCEventType.SYSTEM_EVENT, _VCEventType.VCEventType.SOCKET_CONNECT, _VCEventType.VCEventType.SOCKET_DISCONNECT, _VCEventType.VCEventType.PEER_DISCONNECT, _VCEventType.VCEventType.CONSUMER_TRANSPORT_FAILED, _VCEventType.VCEventType.CREATE_TRANSPORT_FAILED);
237
+
238
+ document.addEventListener('sideBarToggleEvent', handleSidebarToggle);
239
+
240
+ _ApplicationContext.default.setHasActiveMeeting(true);
241
+
242
+ return () => {
243
+ _VCEventManager.default.removeSubscriptions(eventHandler);
244
+
245
+ document.removeEventListener('sideBarToggleEvent', handleSidebarToggle);
246
+
247
+ if (_ApplicationContext.default.hasActiveMeeting()) {
248
+ _SocketManager.default.leaveMeeting(props.calendarEvent.id);
249
+
250
+ _ApplicationContext.default.setHasActiveMeeting(false);
251
+ }
252
+ };
253
+ }, []);
254
+
255
+ _react.default.useEffect(() => {
256
+ _ApplicationContext.default.setHasActiveMeeting(true);
257
+
258
+ let userFullName;
259
+
260
+ if (props.calendarEvent.host.username === sessionStorage.getItem('username')) {
261
+ userFullName = props.calendarEvent.host.name;
262
+ } else {
263
+ userFullName = props.calendarEvent.attendees.find(a => a.username === sessionStorage.getItem('username')).name;
264
+ }
265
+
266
+ setCurrentUserFullName(userFullName);
267
+ setIsHost(props.calendarEvent.host.username === sessionStorage.getItem('username'));
268
+
269
+ try {
270
+ _Media.default.joinMeeting(props.calendarEvent, props.settings, userFullName).then(response => {
271
+ console.log('JOIN RESPONSE : ', response);
272
+ createParticipants(response.participants);
273
+ setRtpCapabilities(response.rtpCapabilities);
274
+ setOnloadScreenShareData(response.shareScreenProducerData);
275
+ setRoomStatus(participants.length > 0 ? Status.SESSION : Status.LOBBY);
276
+ }).catch(e => {
277
+ setRoomStatus(e.message);
278
+ });
279
+ } catch (e) {
280
+ setRoomStatus(Status.SYSTEM_ERROR);
281
+ }
282
+
283
+ return () => {
284
+ _ApplicationContext.default.setHasActiveMeeting(false);
285
+ };
286
+ }, []);
287
+
288
+ function addUserToParticipants(user) {
289
+ // Typically, a user shoud not exist. We are ensuring that there are never duplicates
290
+ console.log('SEARCHING PARTICIPANT : ' + user.userId);
291
+ console.log(participants);
292
+ let participant = participants.find(u => u.userId === user.userId);
293
+
294
+ if (participant) {
295
+ console.log('FOUND EXISTING PARTICIPANT : ', participant);
296
+ participant.name = user.name;
297
+ participant.avatar = user.avatar;
298
+ participant.audioMuted = user.audioMuted;
299
+ participant.videoMuted = user.videoMuted;
300
+ participant.producers = user.producers;
301
+ } else {
302
+ console.log('DID NOT FIND EXISTING PARTICIPANT : ', participant);
303
+ participant = {
304
+ userId: user.userId,
305
+ name: user.name,
306
+ avatar: user.avatar,
307
+ audioMuted: user.audioMuted,
308
+ videoMuted: user.videoMuted,
309
+ producers: user.producers
310
+ };
311
+ participants.push(participant);
312
+ setParticipants([].concat(participants));
313
+ }
314
+ }
315
+
316
+ const changeOtherParticipantAVSettings = (userId, audioMuted, videoMuted) => {};
317
+
318
+ const createParticipants = users => {
319
+ console.log('ALL USERS received and creating participants : ', users);
320
+ users.forEach(user => {
321
+ console.log('ADDING ITEM TO PARTICIPANTS : ', user);
322
+ addUserToParticipants(user);
323
+ });
324
+ setAllUserParticipantsLeft(false);
325
+
326
+ if (participants.length > 0) {
327
+ if (roomStatus === Status.LOBBY) {
328
+ setRoomStatus(Status.SESSION);
329
+ setSideBarOpen(true);
330
+ }
331
+ }
332
+ };
333
+
334
+ const hangUp = () => {
335
+ _SocketManager.default.leaveMeeting(props.calendarEvent.id);
336
+
337
+ _ApplicationContext.default.setHasActiveMeeting(false);
338
+
339
+ _ApplicationContext.default.removeLoadedGraph(true);
340
+
341
+ setSideBarOpen(false);
342
+ setSideBarTab('');
343
+ };
344
+
345
+ return /*#__PURE__*/_react.default.createElement("div", {
346
+ style: {
347
+ width: '100%',
348
+ height: '100%',
349
+ border: '1px solid #e2e2e2',
350
+ borderRadius: '4px'
351
+ }
352
+ }, /*#__PURE__*/_react.default.createElement("div", {
353
+ className: 'row no-margin no-padding w-100 h-100'
354
+ }, /*#__PURE__*/_react.default.createElement("div", {
355
+ className: 'col no-margin no-padding',
356
+ style: {
357
+ display: displayState === 'MAXIMIZED' ? 'inherit' : 'none'
358
+ }
359
+ }, /*#__PURE__*/_react.default.createElement("div", {
360
+ className: 'row no-margin no-padding w-100 h-100'
361
+ }, /*#__PURE__*/_react.default.createElement("div", {
362
+ style: {
363
+ width: '100%',
364
+ borderBottom: '1px solid #e2e2e2'
365
+ }
366
+ }, /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
367
+ eventHandler: {
368
+ onMuteVideo: muted => {
369
+ setVideoMuted(muted);
370
+ },
371
+ onMuteAudio: muted => {
372
+ setAudioMuted(muted);
373
+ },
374
+ endCall: () => {
375
+ hangUp();
376
+ },
377
+ showChat: () => {
378
+ fetchChats();
379
+ },
380
+ showPeople: () => {
381
+ setSideBarTab('People');
382
+ setSideBarOpen(true);
383
+ }
384
+ },
385
+ hasUnreadChats: hasUnreadChats,
386
+ participants: participants,
387
+ handRaised: handRaised,
388
+ videoDisabled: videoDisabled,
389
+ audioDisabled: audioDisabled,
390
+ videoMuted: videoMuted,
391
+ audioMuted: audioMuted,
392
+ displayState: displayState,
393
+ roomStatus: roomStatus,
394
+ isHost: props.calendarEvent.host.username === sessionStorage.getItem('username'),
395
+ autoPermit: !props.calendarEvent.host.askToJoin,
396
+ someoneSharing: someoneSharing,
397
+ screenShared: screenShared,
398
+ isRecording: isRecording
399
+ })), roomStatus === Status.SYSTEM_ERROR && /*#__PURE__*/_react.default.createElement("div", {
400
+ style: {
401
+ color: 'rgb(235, 63, 33)',
402
+ padding: '32px',
403
+ fontSize: '24px',
404
+ width: '100%',
405
+ height: '100%'
406
+ },
407
+ className: 'centered-flex-box'
408
+ }, _VCRoom.SYSTEM_ERROR_MESSAGE), roomStatus === Status.CONNECTION_ERROR && /*#__PURE__*/_react.default.createElement("div", {
409
+ style: {
410
+ color: 'rgb(235, 63, 33)',
411
+ padding: '32px',
412
+ fontSize: '24px',
413
+ width: '100%',
414
+ height: '100%'
415
+ },
416
+ className: 'centered-flex-box'
417
+ }, /*#__PURE__*/_react.default.createElement("div", null, _VCRoom.SYSTEM_ERROR_MESSAGE)), rtpCapabilities && participants && currentUserFullName && (roomStatus === Status.SESSION || roomStatus === Status.LOBBY) && /*#__PURE__*/_react.default.createElement(_VCRoomWorkspace.default, {
418
+ participants: participants,
419
+ mode: meetingParticipantGridMode,
420
+ audioMuted: audioMuted,
421
+ videoMuted: videoMuted,
422
+ meetingTitle: props.calendarEvent.title,
423
+ shareScreenSource: shareScreenSource.current,
424
+ meetingId: props.calendarEvent.id,
425
+ currentUserFullName: currentUserFullName,
426
+ onGridSetup: () => {
427
+ setSideBarTab('People');
428
+ },
429
+ roomStatus: roomStatus,
430
+ isHost: isHost,
431
+ screenShared: screenShared,
432
+ sharingHandler: someoneSharing => setSomeoneSharing(someoneSharing),
433
+ autoPermit: autoPermit,
434
+ rtpCapabilities: rtpCapabilities,
435
+ onloadScreenShareData: onloadScreenShareData,
436
+ allUserParticipantsLeft: allUserParticipantsLeft,
437
+ onAudioDeviceChange: device => {
438
+ setAudioDisabled(_Utils.default.isNull(device));
439
+ },
440
+ onHostAudioMute: participant => {
441
+ changeOtherParticipantAVSettings(participant.userId, true, participant.videoMuted);
442
+ },
443
+ onHostVideoMute: participant => {
444
+ changeOtherParticipantAVSettings(participant.userId, participant.audioMuted, true);
445
+ }
446
+ }))), sideBarOpen && sideBarTab && displayState === 'MAXIMIZED' && roomStatus === Status.SESSION && /*#__PURE__*/_react.default.createElement("div", {
447
+ className: 'closable-panel-container'
448
+ }, /*#__PURE__*/_react.default.createElement(_ClosablePanel.default, {
449
+ closeHandler: e => {
450
+ setSideBarOpen(false);
451
+ setSideBarTab(null);
452
+ },
453
+ title: sideBarTab
454
+ }, /*#__PURE__*/_react.default.createElement(_SideBarContent.default, {
455
+ meetingChat: meetingChat,
456
+ isHost: isHost,
457
+ tab: sideBarTab,
458
+ meetingId: props.calendarEvent.id,
459
+ participants: participants,
460
+ onHostAudioMute: participant => {
461
+ changeOtherParticipantAVSettings(participant.userId, true, participant.videoMuted);
462
+ },
463
+ onHostVideoMute: participant => {
464
+ changeOtherParticipantAVSettings(participant.userId, participant.audioMuted, true);
465
+ }
466
+ })))), /*#__PURE__*/_react.default.createElement("div", {
467
+ style: {
468
+ position: 'absolute',
469
+ right: '48px',
470
+ bottom: '48px'
471
+ }
472
+ }, /*#__PURE__*/_react.default.createElement(_Alert.default, {
473
+ variant: 'info',
474
+ show: activityMessage !== null,
475
+ fade: true
476
+ }, /*#__PURE__*/_react.default.createElement("p", {
477
+ style: {
478
+ color: 'rgba(255, 255, 255, 0.8)'
479
+ }
480
+ }, activityMessage)), /*#__PURE__*/_react.default.createElement(_Alert.default, {
481
+ variant: 'info',
482
+ show: chatMessage !== null,
483
+ fade: true
484
+ }, /*#__PURE__*/_react.default.createElement("div", {
485
+ className: 'row',
486
+ style: {
487
+ borderBottom: '1px solid white',
488
+ paddingBottom: '8px'
489
+ }
490
+ }, /*#__PURE__*/_react.default.createElement("div", {
491
+ className: 'col'
492
+ }, /*#__PURE__*/_react.default.createElement("div", {
493
+ className: 'row'
494
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
495
+ id: 'CHAT_BUBBLE'
496
+ })), /*#__PURE__*/_react.default.createElement("div", {
497
+ className: 'col'
498
+ }, /*#__PURE__*/_react.default.createElement("p", {
499
+ style: {
500
+ color: 'rgba(255, 255, 255, 0.8)'
501
+ }
502
+ }, chatSender))))), /*#__PURE__*/_react.default.createElement("div", {
503
+ className: 'row',
504
+ style: {
505
+ marginTop: '8px'
506
+ }
507
+ }, /*#__PURE__*/_react.default.createElement("div", {
508
+ className: 'col'
509
+ }, /*#__PURE__*/_react.default.createElement("p", {
510
+ style: {
511
+ color: 'rgba(255, 255, 255, 0.8)'
512
+ }
513
+ }, chatMessage))))), /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
514
+ style: {
515
+ display: 'none'
516
+ }
517
+ }, /*#__PURE__*/_react.default.createElement("video", {
518
+ hidden: false,
519
+ muted: true,
520
+ playsInline: true,
521
+ autoPlay: true,
522
+ ref: recordRef,
523
+ style: {
524
+ width: '200px',
525
+ height: '200px'
526
+ }
527
+ }))));
528
+ }));
529
+
530
+ var _default = TrainingRoom;
531
+ exports.default = _default;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+
10
+ class Transports {
11
+ constructor() {
12
+ _defineProperty(this, "closeProducerTransport", () => {
13
+ if (this.producerTransport) {
14
+ this.producerTransport.close();
15
+ }
16
+ });
17
+
18
+ _defineProperty(this, "setProducerTransport", producerTransport => {
19
+ this.producerTransport = producerTransport;
20
+ });
21
+
22
+ _defineProperty(this, "closeConsumerTransport", () => {
23
+ if (this.consumerTransport) {
24
+ this.consumerTransport.close();
25
+ }
26
+ });
27
+
28
+ _defineProperty(this, "setConsumerTransport", consumerTransport => {
29
+ this.consumerTransport = consumerTransport;
30
+ });
31
+ }
32
+
33
+ }
34
+
35
+ exports.default = Transports;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+
10
+ class VCEventManager {
11
+ constructor() {
12
+ _defineProperty(this, "addSubscriptions", (handler, ...eventTypes) => {
13
+ for (const eventType of eventTypes) {
14
+ this.subscriptions.push({
15
+ handler,
16
+ eventType
17
+ });
18
+ }
19
+ });
20
+
21
+ _defineProperty(this, "removeSubscriptions", eventHandler => {
22
+ if (eventHandler.api) {
23
+ this.subscriptions = this.subscriptions.filter(sub => {
24
+ var _sub$handler$api;
25
+
26
+ return ((_sub$handler$api = sub.handler.api) === null || _sub$handler$api === void 0 ? void 0 : _sub$handler$api.id) !== eventHandler.api.id;
27
+ });
28
+ }
29
+ });
30
+
31
+ if (!VCEventManager.instance) {
32
+ this.subscriptions = [];
33
+ VCEventManager.instance = this;
34
+ }
35
+
36
+ return VCEventManager.instance;
37
+ }
38
+ /**
39
+ * Adds a subscription bound by the given event type.
40
+ *
41
+ * @param handler the subscription to be added
42
+ * @param eventTypes the subscription to be added
43
+ */
44
+
45
+
46
+ /**
47
+ * Fires an event.
48
+ *
49
+ * @param eventType eventType the event type
50
+ * @param be the base event
51
+ * @return false if any subscriptions cancel the event.
52
+ */
53
+ async fireEvent(eventType, be) {
54
+ for (const subscription of this.subscriptions) {
55
+ if (subscription.eventType === eventType) {
56
+ subscription.handler.api.on(eventType, be);
57
+ }
58
+ }
59
+ }
60
+
61
+ /**
62
+ * Clears all event subscriptions
63
+ *
64
+ */
65
+ clearAllEventListeners() {
66
+ this.subscriptions.splice(0, this.subscriptions.length);
67
+ }
68
+
69
+ }
70
+
71
+ const instance = new VCEventManager(); //Object.freeze(instance);
72
+
73
+ var _default = instance;
74
+ exports.default = _default;