@agilemotion/oui-react-js 1.4.3 → 1.4.4

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 (33) hide show
  1. package/dist/RestUtils.js +16 -37
  2. package/dist/Utils.js +10 -1
  3. package/dist/components/Calendar.js +15 -0
  4. package/dist/components/DataGrid.js +1 -3
  5. package/dist/components/Icon.js +8 -0
  6. package/dist/components/SocketManager.js +1 -1
  7. package/dist/components/Toolbar.js +1 -0
  8. package/dist/components/Tree.js +2 -2
  9. package/dist/components/dashboard/BasicBusinessAppDashboard.js +19 -2
  10. package/dist/components/form/FieldSet.js +1 -1
  11. package/dist/components/form/Form.js +1 -2
  12. package/dist/components/form/ImageEditor.js +4 -4
  13. package/dist/components/form/SelectItem.js +1 -1
  14. package/dist/components/form/TransferList.js +1 -1
  15. package/dist/components/layout/VC.css +9 -0
  16. package/dist/components/layout/View.css +8 -0
  17. package/dist/components/layout/Window.js +63 -8
  18. package/dist/components/layout/WindowViewPort.js +41 -2
  19. package/dist/components/media/Toolbar.css +24 -3
  20. package/dist/components/media/Toolbar.js +77 -81
  21. package/dist/components/media/TrainingRoom.js +82 -12
  22. package/dist/components/media/VCEventType.js +5 -1
  23. package/dist/components/media/VCRoomParticipant.css +9 -2
  24. package/dist/components/media/VCRoomParticipant.js +2 -4
  25. package/dist/components/media/VCRoomWorkspace.css +14 -0
  26. package/dist/components/media/VCRoomWorkspace.js +71 -48
  27. package/dist/components/signatures/SignatureTemplateDesigner.js +1 -1
  28. package/dist/event/ServiceCallActionHandler.js +1 -7
  29. package/dist/js/Media.js +43 -39
  30. package/dist/view/security/ChangePasswordBasic.js +1 -1
  31. package/dist/view/security/LoginBasic.js +1 -1
  32. package/dist/view/security/Security.js +1 -0
  33. package/package.json +1 -1
@@ -31,6 +31,8 @@ var _LobbyWaitingList = _interopRequireDefault(require("./LobbyWaitingList"));
31
31
 
32
32
  var _VCRoom = require("./VCRoom");
33
33
 
34
+ var _SideBarContent = _interopRequireDefault(require("./SideBarContent"));
35
+
34
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
37
 
36
38
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -55,8 +57,6 @@ const VCRoomWorkspace = props => {
55
57
 
56
58
  const [producerTransport, setProducerTransport] = _react.default.useState(null);
57
59
 
58
- const [shareScreenSource, setShareScreenSource] = _react.default.useState(null);
59
-
60
60
  const [screenShared, setScreenShared] = _react.default.useState(null);
61
61
 
62
62
  const [someoneSharing, setSomeoneSharing] = _react.default.useState(null);
@@ -77,15 +77,17 @@ const VCRoomWorkspace = props => {
77
77
  waitingList,
78
78
  roomStatus,
79
79
  meetingId,
80
+ meetingChat,
81
+ sideBarTab,
80
82
  meetingTitle,
81
83
  whiteBoardShown,
82
84
  videoMuted,
83
85
  audioMuted,
84
86
  isHost,
85
- autoPermit,
86
87
  rtpCapabilities,
87
88
  onloadScreenShareData,
88
- displayState
89
+ displayState,
90
+ startScreenSharing
89
91
  } = props;
90
92
 
91
93
  const startShareScreen = () => {
@@ -157,41 +159,46 @@ const VCRoomWorkspace = props => {
157
159
  monitorTypeSurfaces: 'exclude'
158
160
  };
159
161
  navigator.mediaDevices.getDisplayMedia(videoConstraints).then(async stream => {
160
- const track = stream.getVideoTracks()[0];
162
+ _SocketManager.default.emitEvent(_VCEventType.VCEventType.CANCEL_SCREEN_SHARE, {
163
+ roomId: props.meetingId
164
+ }).then(async result => {
165
+ const track = stream.getVideoTracks()[0];
161
166
 
162
- track.onended = e => {
163
- track.stop();
164
- stopShareScreen();
165
- };
166
-
167
- const params = {
168
- track,
169
- appData: {
170
- screenSharing: true
167
+ track.onended = e => {
168
+ track.stop();
169
+ stopShareScreen();
170
+ };
171
+
172
+ const params = {
173
+ track,
174
+ appData: {
175
+ screenSharing: true
176
+ }
177
+ };
178
+ let producer = await producerTransport.produce(params);
179
+ setShareScreenProducer(producer);
180
+ shareScreenStream.current = stream;
181
+
182
+ if (showSharedScreen) {
183
+ shareScreenVideoRef.current.srcObject = stream;
171
184
  }
172
- };
173
- let producer = await producerTransport.produce(params);
174
- setShareScreenProducer(producer);
175
- shareScreenStream.current = stream;
176
185
 
177
- if (showSharedScreen) {
178
- shareScreenVideoRef.current.srcObject = stream;
179
- }
180
-
181
- producer.on('transportclose', () => {
182
- stream.srcObject.getTracks().forEach(function (track) {
183
- track.stop();
186
+ producer.on('transportclose', () => {
187
+ stream.srcObject.getTracks().forEach(function (track) {
188
+ track.stop();
189
+ });
190
+ setShareScreenProducer(null);
184
191
  });
185
- setShareScreenProducer(null);
186
- });
187
- producer.on('close', () => {
188
- stream.srcObject.getTracks().forEach(function (track) {
189
- track.stop();
192
+ producer.on('close', () => {
193
+ stream.srcObject.getTracks().forEach(function (track) {
194
+ track.stop();
195
+ });
196
+ setShareScreenProducer(null);
190
197
  });
191
- setShareScreenProducer(null);
192
- });
198
+ props.onStartSharing();
199
+ }).catch(e => console.log('ERROR CANCELLING SCREEN SHARE : ', e));
193
200
  }).catch(e => {
194
- console.error(e);
201
+ props.onStopSharing();
195
202
  });
196
203
  };
197
204
 
@@ -212,9 +219,8 @@ const VCRoomWorkspace = props => {
212
219
 
213
220
  shareScreenProducer.close();
214
221
  stopShareScreen();
215
- setShareScreenProducer(null);
216
- setSomeoneSharing(false);
217
- setShareScreenSource(null);
222
+ setShareScreenProducer(null); //setSomeoneSharing(false);
223
+
218
224
  setScreenShared(false);
219
225
 
220
226
  if (shareScreenStream.current) {
@@ -253,7 +259,6 @@ const VCRoomWorkspace = props => {
253
259
  setScreenShared(true);
254
260
  setSomeoneSharing(true); //setShowSharedScreen(true);
255
261
 
256
- setShareScreenSource(null);
257
262
  setMessage(producer.username + ' is sharing');
258
263
  shareScreenVideoRef.current.srcObject = stream;
259
264
  shareScreenStream.current = stream; //setVideoRefresher(!videoRefresher);
@@ -350,12 +355,15 @@ const VCRoomWorkspace = props => {
350
355
  }, [grid]);*/
351
356
 
352
357
  (0, _react.useEffect)(() => {
353
- if (screenShared && shareScreenSource) {
354
- produceScreenShare();
355
- } else {
358
+ if (!screenShared) {
356
359
  stopProducingScreenShare();
357
360
  }
358
- }, [screenShared, shareScreenSource]);
361
+ }, [screenShared]);
362
+ (0, _react.useEffect)(() => {
363
+ if (startScreenSharing) {
364
+ produceScreenShare();
365
+ }
366
+ }, [startScreenSharing]);
359
367
  (0, _react.useEffect)(() => {
360
368
  if (onloadScreenShareData && device && consumerTransport) {
361
369
  consume(onloadScreenShareData);
@@ -545,7 +553,7 @@ const VCRoomWorkspace = props => {
545
553
  return (!screenShared && !whiteBoardShown || screenShared && !showSharedScreen && !someoneSharing) && /*#__PURE__*/_react.default.createElement(_Box.default, {
546
554
  style: {
547
555
  flexGrow: 1,
548
- height: displayState === 'MAXIMIZED' ? 'calc(100% - 216px)' : '100%',
556
+ height: displayState === 'MAXIMIZED' ? 'calc(100% - 232px)' : '100%',
549
557
  width: '100%',
550
558
  justifyContent: 'center',
551
559
  alignItems: 'center',
@@ -579,13 +587,13 @@ const VCRoomWorkspace = props => {
579
587
  return device ? /*#__PURE__*/_react.default.createElement("div", {
580
588
  className: 'row-*-* grid',
581
589
  style: {
582
- height: displayState === 'MAXIMIZED' ? '100%' : 'calc(100% - 100px)',
590
+ height: displayState === 'MAXIMIZED' ? '100%' : displayState === 'MINIMIZED' ? 'calc(100% - 100px)' : 'calc(100% - 200px)',
583
591
  width: '100%',
584
592
  display: displayState === 'MAXIMIZED' ? null : 'table'
585
593
  }
586
594
  }, (roomStatus === 'LOBBY' || props.allUserParticipantsLeft) && /*#__PURE__*/_react.default.createElement("div", {
587
595
  style: {
588
- height: displayState === 'MAXIMIZED' ? 'calc(100% - 216px)' : '100%',
596
+ height: displayState === 'MAXIMIZED' ? 'calc(100% - 232px)' : '100%',
589
597
  fontSize: '28px',
590
598
  width: '100%',
591
599
  justifyContent: 'center',
@@ -597,7 +605,19 @@ const VCRoomWorkspace = props => {
597
605
  width: 'calc(100% - 200px)',
598
606
  display: 'table-cell'
599
607
  }
600
- }, renderParticipantGrid()), /*#__PURE__*/_react.default.createElement("div", {
608
+ }, renderParticipantGrid()), displayState === 'PINNED' && /*#__PURE__*/_react.default.createElement("div", {
609
+ style: {
610
+ width: '100%'
611
+ }
612
+ }, /*#__PURE__*/_react.default.createElement(_SideBarContent.default, {
613
+ meetingChat: meetingChat,
614
+ isHost: isHost,
615
+ tab: sideBarTab,
616
+ meetingId: meetingId,
617
+ participants: props.participants,
618
+ onHostAudioMute: props.onHostAudioMute,
619
+ onHostVideoMute: props.onHostVideoMute
620
+ })), /*#__PURE__*/_react.default.createElement("div", {
601
621
  className: 'content-box',
602
622
  style: {
603
623
  display: !(screenShared && showSharedScreen || someoneSharing) ? 'none' : null
@@ -621,13 +641,16 @@ const VCRoomWorkspace = props => {
621
641
  className: "".concat(displayState === 'MAXIMIZED' ? 'row-*-*' : ''),
622
642
  style: {
623
643
  width: displayState === 'MAXIMIZED' ? '100%' : '200px',
624
- height: displayState === 'MAXIMIZED' ? '152px' : '100%',
644
+ height: displayState === 'MAXIMIZED' ? '152px' : displayState === 'MINIMIZED' ? '100%' : null,
625
645
  marginRight: '0',
626
- display: screenShared && showSharedScreen || someoneSharing ? 'none' : displayState === 'MAXIMIZED' ? 'flex' : 'table-cell',
646
+ display: screenShared && showSharedScreen || someoneSharing ? 'none' : displayState === 'MAXIMIZED' ? 'flex' : displayState === 'MINIMIZED' ? 'table-cell' : '',
627
647
  alignItems: 'center',
628
- verticalAlign: 'top'
648
+ verticalAlign: 'top',
649
+ bottom: '8px',
650
+ right: '8px'
629
651
  }
630
652
  }, /*#__PURE__*/_react.default.createElement("div", {
653
+ className: ' strip-participants',
631
654
  style: {
632
655
  width: displayState === 'MAXIMIZED' ? 'calc(100% - 232px)' : '100%',
633
656
  height: '148px',
@@ -199,7 +199,7 @@ const SignatureTemplateDesigner = /*#__PURE__*/_react.default.memo( /*#__PURE__*
199
199
  }, e => {
200
200
  console.error(e);
201
201
 
202
- _Utils.default.publishSystemErrorMessage(props.viewId);
202
+ _Utils.default.publishErrorMessage(e, props.viewId);
203
203
  }, parameter => {
204
204
  setLoading(false);
205
205
  });
@@ -47,13 +47,7 @@ class ServiceCallActionHandler {
47
47
  successCallback(result);
48
48
  }
49
49
  }, e => {
50
- if (!e.dataType) {
51
- _Utils.default.publishSystemErrorMessage(currentViewId, component);
52
- } else {
53
- if (e.message) {
54
- _Utils.default.publishErrorMessage(e.message, currentViewId, component);
55
- }
56
- }
50
+ _Utils.default.publishErrorMessage(e, currentViewId, component);
57
51
 
58
52
  if (!_Utils.default.isNull(errorCallback)) {
59
53
  errorCallback(e);
package/dist/js/Media.js CHANGED
@@ -39,7 +39,7 @@ class Media {
39
39
  _Observable.default.fireEvent(_VCEventType.VCEventType.JOIN_MEETING_PERMIT, event);
40
40
  } else {
41
41
  _SocketManager.default.emitEvent(_SocketRequest.default.REQUEST_TO_JOIN_MEETING, {
42
- userId: sessionStorage.getItem("username"),
42
+ userId: sessionStorage.getItem('username'),
43
43
  hostId: calendarEvent.host.username,
44
44
  askToJoin: calendarEvent.askToJoin,
45
45
  meetingId: calendarEvent.id
@@ -61,46 +61,50 @@ class Media {
61
61
  _defineProperty(this, "joinMeeting", (calendarEvent, settings, userFullName) => {
62
62
  let result = {};
63
63
  return new Promise((resolve, reject) => {
64
- try {
65
- _SocketManager.default.emitEvent(_SocketRequest.default.JOIN_MEETING, {
66
- meetingId: calendarEvent.id,
67
- userFullName: userFullName,
68
- userId: sessionStorage.getItem("username"),
69
- avatarId: sessionStorage.getItem("userAvataId"),
70
- isHost: sessionStorage.getItem("username") === calendarEvent.host.username,
71
- settings: settings,
72
- profile: _SocketManager.default.getProfile()
73
- }).then(response => {
74
- result.status = response.status;
75
-
76
- if (response.status === 'SUCCESS') {
77
- result.rtpCapabilities = response.data.rtpCapabilities;
78
- result.shareScreenProducerData = response.data.shareScreenProducerData;
79
- result.participants = response.data.usersInRoom;
80
-
81
- if (sessionStorage.getItem("username") === calendarEvent.host.username) {
82
- _SocketManager.default.emitEvent(_SocketRequest.default.GET_LOBBY, {
83
- meetingId: calendarEvent.id
84
- }).then(getLobbyResponse => {
85
- if (getLobbyResponse.status === 'SUCCESS' && getLobbyResponse.lobby && getLobbyResponse.lobby.people) {
86
- result.lobby = [];
87
-
88
- for (const person of getLobbyResponse.lobby.people) {
89
- result.lobby.push(person);
64
+ if (!_SocketManager.default.getProfile()) {
65
+ reject(new Error('No user profile'));
66
+ } else {
67
+ try {
68
+ _SocketManager.default.emitEvent(_SocketRequest.default.JOIN_MEETING, {
69
+ meetingId: calendarEvent.id,
70
+ userFullName: userFullName,
71
+ userId: sessionStorage.getItem('username'),
72
+ avatarId: sessionStorage.getItem('userAvataId'),
73
+ isHost: sessionStorage.getItem('username') === calendarEvent.host.username,
74
+ settings: settings,
75
+ profile: _SocketManager.default.getProfile()
76
+ }).then(response => {
77
+ result.status = response.status;
78
+
79
+ if (response.status === 'SUCCESS') {
80
+ result.rtpCapabilities = response.data.rtpCapabilities;
81
+ result.shareScreenProducerData = response.data.shareScreenProducerData;
82
+ result.participants = response.data.usersInRoom;
83
+
84
+ if (sessionStorage.getItem('username') === calendarEvent.host.username) {
85
+ _SocketManager.default.emitEvent(_SocketRequest.default.GET_LOBBY, {
86
+ meetingId: calendarEvent.id
87
+ }).then(getLobbyResponse => {
88
+ if (getLobbyResponse.status === 'SUCCESS' && getLobbyResponse.lobby && getLobbyResponse.lobby.people) {
89
+ result.lobby = [];
90
+
91
+ for (const person of getLobbyResponse.lobby.people) {
92
+ result.lobby.push(person);
93
+ }
90
94
  }
91
- }
92
- });
93
- }
95
+ });
96
+ }
94
97
 
95
- resolve(result);
96
- } else {
97
- reject(result);
98
- }
99
- }).catch(error => {
100
- reject(error);
101
- });
102
- } catch (e) {
103
- reject(e);
98
+ resolve(result);
99
+ } else {
100
+ reject(result);
101
+ }
102
+ }).catch(error => {
103
+ reject(error);
104
+ });
105
+ } catch (e) {
106
+ reject(e);
107
+ }
104
108
  }
105
109
  });
106
110
  });
@@ -114,7 +114,7 @@ const ChangePassword = props => {
114
114
 
115
115
  setIsLoading(true);
116
116
  (0, _Security.changePassword)(props.url, username, password, sessionId, challengeParamenters, () => {
117
- props.history.push('/home');
117
+ _ApplicationManager.default.navigate('/');
118
118
  }, errorMessage => {
119
119
  setIsLoading(false);
120
120
  setMessageTitle("Password Change Error!");
@@ -180,7 +180,7 @@ const Login = props => {
180
180
  (0, _Security.login)(props.url, username, password, (authenticated, message, response) => {
181
181
  if (authenticated) {
182
182
  if (!_Utils.default.isNull(response) && response.forcePasswordChange === true) {
183
- props.history.push("/change-password?username=".concat(username, "&sessionId=").concat(response.sessionId, "&challengeParamenters=").concat(encodeURI(JSON.stringify(response.challangeParameters))));
183
+ _ApplicationManager.default.navigate("/change-password?username=".concat(username, "&sessionId=").concat(response.sessionId, "&challengeParamenters=").concat(encodeURI(JSON.stringify(response.challangeParameters))));
184
184
  } else {
185
185
  _ApplicationManager.default.navigate('/');
186
186
  }
@@ -70,6 +70,7 @@ exports.resetPassword = resetPassword;
70
70
 
71
71
  const changePassword = (url, username, password, sessionId, challengeParamenters, callback, errorCallback) => {
72
72
  (0, _RestUtils.sendRequest)("".concat(url, "?newPassword=").concat(password, "&username=").concat(username, "&sessionId=").concat(sessionId, "&challengeParamenters=").concat(challengeParamenters), response => {
73
+ sessionStorage.setItem("username", username);
73
74
  sessionStorage.setItem("accessToken", response.accessToken);
74
75
  sessionStorage.setItem("refreshToken", response.refreshToken);
75
76
  sessionStorage.setItem("idToken", response.idToken);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agilemotion/oui-react-js",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "babel": {
5
5
  "presets": [
6
6
  "@babel/preset-env",