@agilemotion/oui-react-js 1.3.8 → 1.4.0
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/README.TXT +1 -0
- package/dist/{ApplicationContext.js → ApplicationManager.js} +334 -335
- package/dist/BasicApp.js +67 -64
- package/dist/BasicAppHome.js +90 -110
- package/dist/BusinessPortalApp.js +1 -1
- package/dist/BusinessPortalAppHome.js +15 -50
- package/dist/DynamicJS.js +24 -52
- package/dist/RestUtils.js +90 -116
- package/dist/Utils.js +49 -37
- package/dist/WithRouter.js +34 -0
- package/dist/assets/jss/components/authNavbarStyle.js +34 -35
- package/dist/assets/jss/components/cardHeaderStyle.js +12 -12
- package/dist/assets/jss/components/customDropdownStyle.js +26 -26
- package/dist/assets/jss/components/customInputStyle.js +2 -8
- package/dist/assets/jss/components/dropdownStyle.js +10 -15
- package/dist/assets/jss/components/footerStyle.js +12 -18
- package/dist/assets/jss/components/headerLinksStyle.js +7 -13
- package/dist/assets/jss/components/headerStyle.js +24 -25
- package/dist/assets/jss/components/navbarLinksStyle.js +7 -13
- package/dist/assets/jss/components/navbarStyle.js +24 -25
- package/dist/assets/jss/components/sidebarStyle.js +41 -43
- package/dist/assets/jss/components/typographyStyle.js +2 -8
- package/dist/assets/jss/rootStyle.js +32 -47
- package/dist/assets/jss/views/layoutStyle.js +6 -11
- package/dist/assets/jss/views/loginStyle.js +4 -10
- package/dist/assets/lotties/call-loading.json +1 -0
- package/dist/assets/lotties/calling-2.json +1 -0
- package/dist/assets/lotties/calling.json +1 -0
- package/dist/assets/lotties/calling2.json +1 -0
- package/dist/assets/lotties/chat.json +1 -0
- package/dist/assets/lotties/join.json +1 -0
- package/dist/assets/lotties/loading.json +1 -0
- package/dist/assets/lotties/msg2.json +1 -0
- package/dist/assets/lotties/recording.json +1 -0
- package/dist/assets/lotties/waiting.json +1 -0
- package/dist/assets/scss/black-dashboard-react/bootstrap/_card.scss +5 -5
- package/dist/assets/scss/black-dashboard-react/bootstrap/_carousel.scss +2 -2
- package/dist/assets/scss/black-dashboard-react/bootstrap/_custom-forms.scss +3 -3
- package/dist/assets/scss/black-dashboard-react/bootstrap/_functions.scss +1 -1
- package/dist/assets/scss/black-dashboard-react/bootstrap/_images.scss +1 -1
- package/dist/assets/scss/black-dashboard-react/bootstrap/_jumbotron.scss +1 -1
- package/dist/assets/scss/black-dashboard-react/bootstrap/_popover.scss +7 -5
- package/dist/assets/scss/black-dashboard-react/bootstrap/_tooltip.scss +4 -4
- package/dist/assets/scss/black-dashboard-react/bootstrap/_variables.scss +5 -5
- package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid-framework.scss +2 -2
- package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid.scss +11 -9
- package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_embed.scss +6 -4
- package/dist/assets/scss/black-dashboard-react/custom/_sidebar-and-main-panel.scss +1 -1
- package/dist/assets/scss/black-dashboard-react/custom/_variables.scss +1 -1
- package/dist/components/AlertBar.js +39 -80
- package/dist/components/AlertItem.js +4 -26
- package/dist/components/Button.js +49 -52
- package/dist/components/Calendar.js +442 -0
- package/dist/components/Calender.css +244 -0
- package/dist/components/ConfirmationDialog.js +5 -29
- package/dist/components/DataGrid.js +207 -345
- package/dist/components/DataGridColumn.js +6 -29
- package/dist/components/DataGridFilter.js +48 -116
- package/dist/components/DataGridHeading.js +11 -19
- package/dist/components/Dialog.js +27 -121
- package/dist/components/DocumentViewer.js +12 -38
- package/dist/components/DocumentViewerComponent.js +2 -20
- package/dist/components/FileThumb.js +126 -0
- package/dist/components/Graph.js +33 -75
- package/dist/components/GraphNode.js +5 -22
- package/dist/components/HtmlPanel.js +68 -82
- package/dist/components/Icon.js +107 -1
- package/dist/components/LoadingIndicator.js +4 -4
- package/dist/components/LottieIcon.js +134 -0
- package/dist/components/PopupView.js +3 -21
- package/dist/components/Portlet.js +100 -0
- package/dist/components/RegularButton.js +15 -19
- package/dist/components/SignaturePanel.js +9 -40
- package/dist/components/SocketManager.js +170 -0
- package/dist/components/StepperTitleBar.js +33 -59
- package/dist/components/TabPage.js +6 -9
- package/dist/components/TabPanel.js +49 -98
- package/dist/components/TableCellContent.js +31 -39
- package/dist/components/TemplateDesigner.js +114 -158
- package/dist/components/TemplateItemEventHandler.js +33 -100
- package/dist/components/TemplateTable.js +6 -42
- package/dist/components/TitleBar.js +38 -54
- package/dist/components/Toolbar.js +67 -182
- package/dist/components/Tree.js +29 -66
- package/dist/components/card/Card.js +16 -20
- package/dist/components/card/CardAvatar.js +9 -13
- package/dist/components/card/CardBody.js +13 -17
- package/dist/components/card/CardFooter.js +12 -16
- package/dist/components/card/CardHeader.js +13 -17
- package/dist/components/card/CardIcon.js +6 -10
- package/dist/components/card/CardText.js +6 -10
- package/dist/components/customInput/CustomInput.js +12 -10
- package/dist/components/dashboard/BasicBusinessAppDashboard.js +85 -159
- package/dist/components/dashboard/BusinessPortalAppDashboard.js +30 -75
- package/dist/components/dashboard/components/Header.js +9 -26
- package/dist/components/dashboard/components/LeftDrawer.js +3 -1
- package/dist/components/dashboard/components/blackDashboard/fixedPlugin/FixedPlugin.js +1 -1
- package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.css +7 -0
- package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +189 -79
- package/dist/components/footer/Footer.js +6 -18
- package/dist/components/form/AddressSearch.js +32 -66
- package/dist/components/form/AutoComplete.js +161 -0
- package/dist/components/form/BaseField.js +89 -107
- package/dist/components/form/DatePicker.js +8 -23
- package/dist/components/form/FieldSet.js +161 -191
- package/dist/components/form/Form.css +1 -1
- package/dist/components/form/Form.js +153 -479
- package/dist/components/form/GridField.js +46 -146
- package/dist/components/form/IconField.js +35 -0
- package/dist/components/form/ImageEditor.js +22 -60
- package/dist/components/form/LookupField.js +8 -29
- package/dist/components/form/MultiFileUploadField.js +187 -0
- package/dist/components/form/RadioGroup.js +10 -26
- package/dist/components/form/Section.js +40 -91
- package/dist/components/form/SelectItem.js +14 -33
- package/dist/components/form/SignatureTemplateDesignerField.js +0 -1
- package/dist/components/form/Switch.js +53 -0
- package/dist/components/form/TextField.js +10 -17
- package/dist/components/form/TimePicker.js +8 -1
- package/dist/components/form/TransferList.css +2 -2
- package/dist/components/form/TransferList.js +67 -125
- package/dist/components/form/UploadField.js +132 -177
- package/dist/components/form/fieldset.css +8 -0
- package/dist/components/grid/GridContainer.js +5 -9
- package/dist/components/grid/GridItem.js +5 -9
- package/dist/components/layout/CollapsiblePanel.js +11 -33
- package/dist/components/layout/Layout.js +228 -290
- package/dist/components/layout/VC.css +17 -0
- package/dist/components/layout/View.css +18 -1
- package/dist/components/layout/View.js +80 -200
- package/dist/components/layout/ViewContainer.css +3 -0
- package/dist/components/layout/ViewContainer.js +59 -0
- package/dist/components/layout/ViewPort.js +50 -80
- package/dist/components/layout/Window.css +18 -0
- package/dist/components/layout/Window.js +287 -0
- package/dist/components/layout/WindowViewPort.js +71 -0
- package/dist/components/loader.css +1 -1
- package/dist/components/media/ClosablePanel.css +37 -0
- package/dist/components/media/ClosablePanel.js +53 -0
- package/dist/components/media/LobbyWaitingList.js +91 -0
- package/dist/components/media/MediaSoupHelper.js +223 -0
- package/dist/components/media/Recorder.js +235 -0
- package/dist/components/media/SideBarContent.css +54 -0
- package/dist/components/media/SideBarContent.js +46 -0
- package/dist/components/media/SocketRequest.js +20 -0
- package/dist/components/media/SocketResponse.js +16 -0
- package/dist/components/media/Timer.css +30 -0
- package/dist/components/media/Timer.js +88 -0
- package/dist/components/media/Toolbar.css +35 -0
- package/dist/components/media/Toolbar.js +494 -0
- package/dist/components/media/Tracks.js +39 -0
- package/dist/components/media/TrainingRoom.js +608 -0
- package/dist/components/media/Transports.js +35 -0
- package/dist/components/media/VCEventManager.js +74 -0
- package/dist/components/media/VCEventType.js +164 -0
- package/dist/components/media/VCParticipantList.css +72 -0
- package/dist/components/media/VCParticipantList.js +56 -0
- package/dist/components/media/VCParticipantListItem.css +73 -0
- package/dist/components/media/VCParticipantListItem.js +319 -0
- package/dist/components/media/VCRoom.css +42 -0
- package/dist/components/media/VCRoom.js +90 -0
- package/dist/components/media/VCRoomParticipant.css +25 -0
- package/dist/components/media/VCRoomParticipant.js +808 -0
- package/dist/components/media/VCRoomRecorder.js +223 -0
- package/dist/components/media/VCRoomWorkspace.css +86 -0
- package/dist/components/media/VCRoomWorkspace.js +666 -0
- package/dist/components/media/Video.css +4 -0
- package/dist/components/media/Video.js +131 -0
- package/dist/components/media/VideoPlayer.css +10 -0
- package/dist/components/media/VideoPlayer.js +86 -0
- package/dist/components/media/chat/ChatRoom.js +926 -0
- package/dist/components/media/chat/ChatRoomItem.js +83 -0
- package/dist/components/media/chat/ChatRoomList.js +78 -0
- package/dist/components/media/chat/ChatRooms.scss +567 -0
- package/dist/components/menu/CollapsibleMenu.js +2 -19
- package/dist/components/menu/MenuBars.js +6 -33
- package/dist/components/menu/MenuButton.js +27 -39
- package/dist/components/menu/MenuItem.js +3 -20
- package/dist/components/menu/MenuLink.js +22 -13
- package/dist/components/navbars/AuthNavbar.js +5 -18
- package/dist/components/navbars/HomeNavbar.js +5 -7
- package/dist/components/navbars/PortalNavbar.js +7 -25
- package/dist/components/signatures/AgilitySignaturePanel.js +38 -104
- package/dist/components/signatures/AlertItem.js +3 -24
- package/dist/components/signatures/DocumentContainer.js +47 -134
- package/dist/components/signatures/ImageSignatureInput.js +11 -38
- package/dist/components/signatures/MenuButton.js +1 -16
- package/dist/components/signatures/Prompt.js +3 -24
- package/dist/components/signatures/ResponsiveTable.js +42 -83
- package/dist/components/signatures/SearchView.js +13 -50
- package/dist/components/signatures/SignatorySearch.js +83 -99
- package/dist/components/signatures/SignatorySearchForm.js +11 -17
- package/dist/components/signatures/SignatureInput.js +18 -47
- package/dist/components/signatures/SignatureInputProps.js +18 -60
- package/dist/components/signatures/SignatureTemplateDesigner.js +151 -239
- package/dist/components/signatures/Toolbar.js +7 -34
- package/dist/components/signatures/ViewUtils.js +2 -6
- package/dist/components/typography/Danger.js +3 -1
- package/dist/components/typography/Info.js +3 -1
- package/dist/components/typography/Link.js +6 -2
- package/dist/event/ActionHandlers.js +6 -6
- package/dist/event/EventType.js +7 -1
- package/dist/event/LoadDataActionHandler.js +1 -1
- package/dist/event/Observable.js +80 -174
- package/dist/event/RouteActionHandler.js +74 -31
- package/dist/event/ServiceCallActionHandler.js +36 -24
- package/dist/event/SignalGraphActionHandler.js +2 -2
- package/dist/js/Addresses.js +10 -8
- package/dist/js/Calendar.js +220 -0
- package/dist/js/Media.js +157 -0
- package/dist/redux/store/ConfigureStore.js +3 -9
- package/dist/redux/store/DashboardStore.js +42 -94
- package/dist/redux/store/SecurityStore.js +15 -50
- package/dist/view/Dashboard.js +256 -171
- package/dist/view/Views.js +30 -0
- package/dist/view/security/ChangePasswordBasic.js +29 -80
- package/dist/view/security/ForgotPassword.js +13 -46
- package/dist/view/security/ForgotPasswordBasic.js +12 -45
- package/dist/view/security/Login.js +15 -51
- package/dist/view/security/LoginBasic.js +13 -46
- package/dist/view/security/LoginBusinessPortal.js +12 -45
- package/dist/view/security/ResetPassword.js +13 -51
- package/dist/view/security/ResetPasswordBasic.js +27 -75
- package/dist/view/security/Security.js +1 -0
- package/package.json +31 -25
- package/README.md +0 -1623
- package/dist/components/dashboard/BasicApp.js +0 -140
- package/dist/components/navbars/NavbarLinks.js +0 -212
- package/dist/components/signatures/OLD.js +0 -1138
- package/gulpfile.js +0 -77
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _mediasoupClient = require("mediasoup-client");
|
|
9
|
+
|
|
10
|
+
var _VCEventType = require("./VCEventType");
|
|
11
|
+
|
|
12
|
+
var _SocketManager = _interopRequireDefault(require("../SocketManager"));
|
|
13
|
+
|
|
14
|
+
var _VCEventManager = _interopRequireDefault(require("./VCEventManager"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
class MediaSoupHelper {
|
|
21
|
+
constructor() {
|
|
22
|
+
_defineProperty(this, "getParticipantDevice", async routerRtpCapabilities => {
|
|
23
|
+
let device;
|
|
24
|
+
|
|
25
|
+
try {
|
|
26
|
+
device = new _mediasoupClient.Device();
|
|
27
|
+
} catch (error) {
|
|
28
|
+
console.error(error);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
await device.load({
|
|
32
|
+
routerRtpCapabilities
|
|
33
|
+
});
|
|
34
|
+
return device;
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
_defineProperty(this, "getConsumeStream", async (producerId, rtpCapabilities, consumerTransport, roomId, userId, type) => {
|
|
38
|
+
console.log("CONSUMING FROM : " + producerId);
|
|
39
|
+
|
|
40
|
+
if (consumerTransport) {
|
|
41
|
+
const data = await _SocketManager.default.emitEvent(_VCEventType.VCEventType.CONSUME, {
|
|
42
|
+
rtpCapabilities,
|
|
43
|
+
consumerTransportId: consumerTransport.id,
|
|
44
|
+
producerId,
|
|
45
|
+
roomId,
|
|
46
|
+
userId,
|
|
47
|
+
kind: type
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
if (data.params) {
|
|
51
|
+
const {
|
|
52
|
+
id,
|
|
53
|
+
kind,
|
|
54
|
+
rtpParameters
|
|
55
|
+
} = data.params;
|
|
56
|
+
let codecOptions = {};
|
|
57
|
+
|
|
58
|
+
try {
|
|
59
|
+
const consumer = await consumerTransport.consume({
|
|
60
|
+
id,
|
|
61
|
+
producerId,
|
|
62
|
+
kind,
|
|
63
|
+
rtpParameters,
|
|
64
|
+
codecOptions
|
|
65
|
+
});
|
|
66
|
+
console.log(consumer);
|
|
67
|
+
const stream = new MediaStream();
|
|
68
|
+
stream.addTrack(consumer.track);
|
|
69
|
+
return {
|
|
70
|
+
consumer,
|
|
71
|
+
stream,
|
|
72
|
+
kind
|
|
73
|
+
};
|
|
74
|
+
} catch (e) {
|
|
75
|
+
console.error(e);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return {};
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async initConsumerTransport(device, roomId, userId) {
|
|
85
|
+
console.log("CREATING CONSUMER TRANSPORT FOR : " + userId);
|
|
86
|
+
let data = null;
|
|
87
|
+
|
|
88
|
+
try {
|
|
89
|
+
data = await _SocketManager.default.emitEvent(_VCEventType.VCEventType.CREATE_WEBRTC_TRANSPORT, {
|
|
90
|
+
forceTcp: false,
|
|
91
|
+
userId,
|
|
92
|
+
roomId
|
|
93
|
+
});
|
|
94
|
+
} catch (e) {
|
|
95
|
+
_VCEventManager.default.fireEvent(_VCEventType.VCEventType.CREATE_TRANSPORT_FAILED, {});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (!data || data.status === 'ERROR') {
|
|
99
|
+
if (data) {
|
|
100
|
+
console.error(data.error);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
_VCEventManager.default.fireEvent(_VCEventType.VCEventType.CREATE_TRANSPORT_FAILED, {});
|
|
104
|
+
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
let consumerTransport = device.createRecvTransport(data.params);
|
|
109
|
+
consumerTransport.on('connect', function ({
|
|
110
|
+
dtlsParameters
|
|
111
|
+
}, callback, errback) {
|
|
112
|
+
console.log("CONSUMER CONNECT DTLS PARAMS : ", dtlsParameters);
|
|
113
|
+
|
|
114
|
+
_SocketManager.default.emitEvent(_VCEventType.VCEventType.CONNECT_TRANSPORT, {
|
|
115
|
+
dtlsParameters,
|
|
116
|
+
transportId: data.params.id,
|
|
117
|
+
userId,
|
|
118
|
+
roomId
|
|
119
|
+
}).then(callback).catch(errback);
|
|
120
|
+
}.bind(this));
|
|
121
|
+
consumerTransport.on('connectionstatechange', async function (state) {
|
|
122
|
+
switch (state) {
|
|
123
|
+
case 'connecting':
|
|
124
|
+
break;
|
|
125
|
+
|
|
126
|
+
case 'connected':
|
|
127
|
+
break;
|
|
128
|
+
|
|
129
|
+
case 'failed':
|
|
130
|
+
_VCEventManager.default.fireEvent(_VCEventType.VCEventType.CONSUMER_TRANSPORT_FAILED, {});
|
|
131
|
+
|
|
132
|
+
break;
|
|
133
|
+
|
|
134
|
+
default:
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
}.bind(this));
|
|
138
|
+
return consumerTransport;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
async initProducerTransport(device, roomId, userId) {
|
|
142
|
+
let data = null;
|
|
143
|
+
|
|
144
|
+
try {
|
|
145
|
+
data = await _SocketManager.default.emitEvent(_VCEventType.VCEventType.CREATE_WEBRTC_TRANSPORT, {
|
|
146
|
+
forceTcp: false,
|
|
147
|
+
rtpCapabilities: device.rtpCapabilities,
|
|
148
|
+
roomId,
|
|
149
|
+
userId
|
|
150
|
+
});
|
|
151
|
+
} catch (e) {
|
|
152
|
+
_VCEventManager.default.fireEvent(_VCEventType.VCEventType.CREATE_TRANSPORT_FAILED, {});
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if (!data || data.status === 'ERROR') {
|
|
156
|
+
if (data) {
|
|
157
|
+
console.error(data.error);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
_VCEventManager.default.fireEvent(_VCEventType.VCEventType.CREATE_TRANSPORT_FAILED, {});
|
|
161
|
+
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
let producerTransport = device.createSendTransport(data.params);
|
|
166
|
+
producerTransport.on('connect', async function ({
|
|
167
|
+
dtlsParameters
|
|
168
|
+
}, callback, errback) {
|
|
169
|
+
_SocketManager.default.emitEvent(_VCEventType.VCEventType.CONNECT_TRANSPORT, {
|
|
170
|
+
dtlsParameters,
|
|
171
|
+
transportId: data.params.id,
|
|
172
|
+
roomId,
|
|
173
|
+
userId
|
|
174
|
+
}).then(callback).catch(errback);
|
|
175
|
+
}.bind(this));
|
|
176
|
+
producerTransport.on('produce', async function ({
|
|
177
|
+
kind,
|
|
178
|
+
rtpParameters,
|
|
179
|
+
appData
|
|
180
|
+
}, callback, errback) {
|
|
181
|
+
try {
|
|
182
|
+
const {
|
|
183
|
+
producerId
|
|
184
|
+
} = await _SocketManager.default.emitEvent(_VCEventType.VCEventType.PRODUCE, {
|
|
185
|
+
producerTransportId: producerTransport.id,
|
|
186
|
+
kind,
|
|
187
|
+
rtpParameters,
|
|
188
|
+
roomId,
|
|
189
|
+
userId,
|
|
190
|
+
appData
|
|
191
|
+
});
|
|
192
|
+
callback({
|
|
193
|
+
id: producerId
|
|
194
|
+
});
|
|
195
|
+
} catch (err) {
|
|
196
|
+
errback(err);
|
|
197
|
+
}
|
|
198
|
+
}.bind(this));
|
|
199
|
+
producerTransport.on('connectionstatechange', function (state) {
|
|
200
|
+
switch (state) {
|
|
201
|
+
case 'connecting':
|
|
202
|
+
break;
|
|
203
|
+
|
|
204
|
+
case 'connected':
|
|
205
|
+
break;
|
|
206
|
+
|
|
207
|
+
case 'failed':
|
|
208
|
+
producerTransport.close();
|
|
209
|
+
break;
|
|
210
|
+
|
|
211
|
+
default:
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
}.bind(this));
|
|
215
|
+
return producerTransport;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
const instance = new MediaSoupHelper();
|
|
221
|
+
Object.freeze(instance);
|
|
222
|
+
var _default = instance;
|
|
223
|
+
exports.default = _default;
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _SocketManager = _interopRequireDefault(require("../SocketManager"));
|
|
9
|
+
|
|
10
|
+
var _VCEventManager = _interopRequireDefault(require("./VCEventManager"));
|
|
11
|
+
|
|
12
|
+
var _VCEventType = require("./VCEventType");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
const {
|
|
19
|
+
electron
|
|
20
|
+
} = window;
|
|
21
|
+
|
|
22
|
+
class Recorder {
|
|
23
|
+
constructor() {
|
|
24
|
+
_defineProperty(this, "init", async (meetingId, meetingTitle) => {
|
|
25
|
+
this.meetingId = meetingId;
|
|
26
|
+
this.meetingTitle = meetingTitle;
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
_defineProperty(this, "addTrack", (id, track) => {
|
|
30
|
+
console.log("ADDING TRACK FOR : " + id);
|
|
31
|
+
this.audioTracks.set(id, track);
|
|
32
|
+
|
|
33
|
+
if (this.recorder && this.recorder.state === 'recording') {
|
|
34
|
+
let mediaStream = new MediaStream([track]);
|
|
35
|
+
const mediaStreamAudioSourceNode = new MediaStreamAudioSourceNode(this.audioContext, {
|
|
36
|
+
mediaStream: mediaStream
|
|
37
|
+
});
|
|
38
|
+
mediaStreamAudioSourceNode.connect(this.mediaStreamAudioDestinationNode);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
_defineProperty(this, "removeTrack", id => {
|
|
43
|
+
if (this.audioTracks.has(id)) {
|
|
44
|
+
this.audioTracks.delete(id);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
_defineProperty(this, "handleRecordingDataAvailable", e => {
|
|
49
|
+
if (e.data.size > 0) {
|
|
50
|
+
console.log("ADDED CHUNK : " + this.recordingSequence);
|
|
51
|
+
const blob = new Blob([e.data], {
|
|
52
|
+
type: "video/webm"
|
|
53
|
+
});
|
|
54
|
+
const data = {
|
|
55
|
+
userId: _VCEventManager.default.getUserDetails().userId,
|
|
56
|
+
meetingId: this.meetingId,
|
|
57
|
+
name: this.meetingTitle,
|
|
58
|
+
type: blob.type,
|
|
59
|
+
size: blob.size,
|
|
60
|
+
sequenceNumber: this.recordingSequence,
|
|
61
|
+
sessionId: this.currentRecordingId
|
|
62
|
+
};
|
|
63
|
+
const reader = new FileReader();
|
|
64
|
+
reader.readAsDataURL(blob);
|
|
65
|
+
|
|
66
|
+
let _this = this;
|
|
67
|
+
|
|
68
|
+
reader.onload = function (evt) {
|
|
69
|
+
const result = evt.target.result;
|
|
70
|
+
_this.recordingType = blob.type;
|
|
71
|
+
_this.recordingSize += blob.size;
|
|
72
|
+
data.recordedData = result.replace('data:video/webm;base64,', '');
|
|
73
|
+
console.log("======== SAVING RECORDING CHUNK =========");
|
|
74
|
+
console.log(data);
|
|
75
|
+
|
|
76
|
+
_SocketManager.default.emitEvent(_VCEventType.VCEventType.SAVE_RECORDING, data).then(data => {
|
|
77
|
+
console.log("===== SAVE RECORDING SUCCESS ======");
|
|
78
|
+
|
|
79
|
+
if (!_this.isRecording) {
|
|
80
|
+
console.log("======= STOPPING RECORDING =======", _this.meetingTitle);
|
|
81
|
+
const data = {
|
|
82
|
+
meetingId: _this.meetingId,
|
|
83
|
+
name: _this.meetingTitle,
|
|
84
|
+
type: _this.recordingType,
|
|
85
|
+
size: _this.recordingSize,
|
|
86
|
+
sequenceNumber: _this.recordingSequence,
|
|
87
|
+
sessionId: _this.currentRecordingId
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
_SocketManager.default.emitEvent(_VCEventType.VCEventType.STOP_RECORDING, data).catch(error => {});
|
|
91
|
+
}
|
|
92
|
+
}).catch(error => {
|
|
93
|
+
console.log("===== SAVE RECORDING ERROR ======");
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
_this.recordingSequence++;
|
|
98
|
+
} else {
|
|
99
|
+
console.log("no data to push");
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
_defineProperty(this, "recordMeeting", async () => {
|
|
104
|
+
this.recorder = await this.createMediaRecorder();
|
|
105
|
+
|
|
106
|
+
let _this = this;
|
|
107
|
+
|
|
108
|
+
if (this.recorder != null) {
|
|
109
|
+
_SocketManager.default.emitEvent(_VCEventType.VCEventType.TOGGLE_RECORD_MEETING, {
|
|
110
|
+
roomID: _this.meetingId,
|
|
111
|
+
isRecording: true
|
|
112
|
+
}).then(data => {
|
|
113
|
+
console.log("RECORDING STARTED : " + data.id);
|
|
114
|
+
_this.currentRecordingId = data.id;
|
|
115
|
+
_this.recordingSequence = 0;
|
|
116
|
+
_this.recordingSize = 0;
|
|
117
|
+
_this.recordingType = '';
|
|
118
|
+
|
|
119
|
+
_this.recorder.start(60000);
|
|
120
|
+
|
|
121
|
+
_this.isRecording = true;
|
|
122
|
+
}).catch(error => {
|
|
123
|
+
console.log("RECORD START ERROR");
|
|
124
|
+
console.log(error);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
_defineProperty(this, "stopRecordingMeeting", () => {
|
|
130
|
+
try {
|
|
131
|
+
this.isRecording = false;
|
|
132
|
+
|
|
133
|
+
_SocketManager.default.emitEvent(_VCEventType.VCEventType.TOGGLE_RECORD_MEETING, {
|
|
134
|
+
roomID: this.meetingId,
|
|
135
|
+
isRecording: false
|
|
136
|
+
}).catch(error => {});
|
|
137
|
+
|
|
138
|
+
if (this.recorder && this.recorder.state === 'recording') {
|
|
139
|
+
if (this.recorder.stream) {
|
|
140
|
+
var _this$recorder$stream;
|
|
141
|
+
|
|
142
|
+
if (((_this$recorder$stream = this.recorder.stream.getVideoTracks()) === null || _this$recorder$stream === void 0 ? void 0 : _this$recorder$stream.length) > 0) {
|
|
143
|
+
this.recorder.stream.getVideoTracks()[0].stop();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
this.recorder.stop();
|
|
148
|
+
}
|
|
149
|
+
} catch (e) {
|
|
150
|
+
console.error(e);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
_defineProperty(this, "handleStopRecording", e => {
|
|
155
|
+
this.isRecording = false;
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
_defineProperty(this, "createMediaRecorder", () => {
|
|
159
|
+
return new Promise((resolve, reject) => {
|
|
160
|
+
electron.ipcRenderer.getMainWindowId().then(id => {
|
|
161
|
+
if (id) {
|
|
162
|
+
const videoConstraints = {
|
|
163
|
+
audio: false,
|
|
164
|
+
video: {
|
|
165
|
+
mandatory: {
|
|
166
|
+
chromeMediaSource: 'desktop',
|
|
167
|
+
chromeMediaSourceId: id,
|
|
168
|
+
minWidth: 1280,
|
|
169
|
+
maxWidth: 1280,
|
|
170
|
+
minHeight: 720,
|
|
171
|
+
maxHeight: 720
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
let _this = this;
|
|
177
|
+
|
|
178
|
+
navigator.mediaDevices.getUserMedia(videoConstraints).then(stream => {
|
|
179
|
+
const options = {
|
|
180
|
+
mimeType: "video/webm; codecs=vp9"
|
|
181
|
+
};
|
|
182
|
+
let audioContext = new AudioContext();
|
|
183
|
+
let mediaStreamAudioDestinationNode = new MediaStreamAudioDestinationNode(audioContext);
|
|
184
|
+
let tracks = [mediaStreamAudioDestinationNode.stream.getAudioTracks()[0], stream.getVideoTracks()[0]];
|
|
185
|
+
|
|
186
|
+
if (this.audioTracks.size > 0) {
|
|
187
|
+
for (const value of this.audioTracks.values()) {
|
|
188
|
+
tracks.push(value);
|
|
189
|
+
let mediaStreamAudioSourceNode = new MediaStreamAudioSourceNode(audioContext, {
|
|
190
|
+
mediaStream: new MediaStream([value])
|
|
191
|
+
});
|
|
192
|
+
mediaStreamAudioSourceNode.connect(mediaStreamAudioDestinationNode);
|
|
193
|
+
}
|
|
194
|
+
} else {
|
|
195
|
+
let mediaStreamAudioSourceNode = new MediaStreamAudioSourceNode(audioContext, {
|
|
196
|
+
mediaStream: new MediaStream(tracks)
|
|
197
|
+
});
|
|
198
|
+
mediaStreamAudioSourceNode.connect(mediaStreamAudioDestinationNode);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
console.log("INIT WITH TRACKS : ", tracks);
|
|
202
|
+
let initialMediaStream = new MediaStream(tracks);
|
|
203
|
+
const recorder = new MediaRecorder(initialMediaStream, options);
|
|
204
|
+
recorder.ondataavailable = _this.handleRecordingDataAvailable;
|
|
205
|
+
recorder.onstop = _this.handleStopRecording;
|
|
206
|
+
this.audioContext = audioContext;
|
|
207
|
+
this.mediaStreamAudioDestinationNode = mediaStreamAudioDestinationNode;
|
|
208
|
+
resolve(recorder);
|
|
209
|
+
}).catch(e => {
|
|
210
|
+
console.error(e);
|
|
211
|
+
reject(new Error(e.message));
|
|
212
|
+
});
|
|
213
|
+
} else {
|
|
214
|
+
reject(new Error("Cannot initialize recorder. Application screen source not found"));
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
this.meetingId = null;
|
|
221
|
+
this.meetingTitle = '';
|
|
222
|
+
this.recordingSequence = 0;
|
|
223
|
+
this.currentRecordingId = null;
|
|
224
|
+
this.recordingType = null;
|
|
225
|
+
this.recordingSize = null;
|
|
226
|
+
this.isRecording = false;
|
|
227
|
+
this.recorder = null;
|
|
228
|
+
this.audioTracks = new Map();
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const instance = new Recorder();
|
|
234
|
+
var _default = instance;
|
|
235
|
+
exports.default = _default;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
.meeting-room-sb-container {
|
|
2
|
+
width: 100%;
|
|
3
|
+
height: 92%;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.meeting-room-sb-container .people-container,
|
|
7
|
+
.request-to-join-dialog-content .people-container {
|
|
8
|
+
padding: 0 !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.meeting-room-sb-container .people-content,
|
|
12
|
+
.request-to-join-dialog-content .people-content {
|
|
13
|
+
margin-left: 0 !important;
|
|
14
|
+
margin-right: 0 !important;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.meeting-room-sb-container .person-card-wrapper,
|
|
18
|
+
.request-to-join-dialog-content .person-card-wrapper {
|
|
19
|
+
min-width: 100% !important;
|
|
20
|
+
padding-bottom: 4px;
|
|
21
|
+
padding-right: 0 !important;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.request-to-join-dialog-content .people-content {
|
|
25
|
+
max-height: 85% !important;
|
|
26
|
+
overflow-x: hidden !important;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.request-to-join-dialog-content .person-card-wrapper,
|
|
30
|
+
.people-main-view .person-card-wrapper {
|
|
31
|
+
padding: 16px !important;
|
|
32
|
+
margin-right: 4px;
|
|
33
|
+
margin-top: 0;
|
|
34
|
+
margin-bottom: 4px !important;
|
|
35
|
+
background-color: #e9e9e9;
|
|
36
|
+
border-radius: 4px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.meeting-room-sb-container .raised-hands{
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.meeting-room-sb-container .toolbar{
|
|
43
|
+
height: 40px;
|
|
44
|
+
padding: 0 8px;
|
|
45
|
+
width: 100%;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.meeting-room-sb-container .toolbar button:hover {
|
|
49
|
+
transform: unset;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.meeting-room-sb-container .list{
|
|
53
|
+
height: 100%;
|
|
54
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
require("./SideBarContent.css");
|
|
11
|
+
|
|
12
|
+
var _VCParticipantList = _interopRequireDefault(require("./VCParticipantList"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
//import ChatRoom from '../chat/ChatRoom';
|
|
17
|
+
const SideBarContent = props => {
|
|
18
|
+
const {
|
|
19
|
+
tab,
|
|
20
|
+
isHost,
|
|
21
|
+
meetingId,
|
|
22
|
+
participants,
|
|
23
|
+
meetingChat
|
|
24
|
+
} = props;
|
|
25
|
+
|
|
26
|
+
_react.default.useEffect(() => {}, [meetingChat]);
|
|
27
|
+
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
29
|
+
className: 'meeting-room-sb-container'
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
31
|
+
className: 'list'
|
|
32
|
+
}, tab === 'People' ? /*#__PURE__*/_react.default.createElement(_VCParticipantList.default, {
|
|
33
|
+
onChangeMeetingHostHandler: e => props.onChangeMeetingHostHandler(e),
|
|
34
|
+
onPinHandler: (participant, pinned) => props.onPinHandler(participant, pinned),
|
|
35
|
+
onBringToViewHandler: participant => props.onBringToViewHandler(participant),
|
|
36
|
+
onHostVideoMute: participant => props.onHostVideoMute(participant),
|
|
37
|
+
onHostAudioMute: participant => props.onHostAudioMute(participant),
|
|
38
|
+
isHost: isHost,
|
|
39
|
+
participants: participants
|
|
40
|
+
}) : null
|
|
41
|
+
/*<ChatRoom chatTab={true} selectedChat={meetingChat} meetingId={meetingId}/>*/
|
|
42
|
+
));
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var _default = SideBarContent;
|
|
46
|
+
exports.default = _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
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 SocketRequest {}
|
|
11
|
+
|
|
12
|
+
exports.default = SocketRequest;
|
|
13
|
+
|
|
14
|
+
_defineProperty(SocketRequest, "REGISTER_ONLINE", "REGISTER_ONLINE");
|
|
15
|
+
|
|
16
|
+
_defineProperty(SocketRequest, "JOIN_MEETING", "JOIN_MEETING");
|
|
17
|
+
|
|
18
|
+
_defineProperty(SocketRequest, "GET_LOBBY", "GET_LOBBY");
|
|
19
|
+
|
|
20
|
+
_defineProperty(SocketRequest, "REQUEST_TO_JOIN_MEETING", "REQUEST_TO_JOIN_MEETING");
|
|
@@ -0,0 +1,16 @@
|
|
|
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 SocketResponse {}
|
|
11
|
+
|
|
12
|
+
exports.default = SocketResponse;
|
|
13
|
+
|
|
14
|
+
_defineProperty(SocketResponse, "WAITING_FOR_PERMISSION", "WAITING_FOR_PERMISSION");
|
|
15
|
+
|
|
16
|
+
_defineProperty(SocketResponse, "JOIN_MEETING_PERMIT", "JOIN_MEETING_PERMIT");
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
.timer-container {
|
|
2
|
+
min-height: 48px;
|
|
3
|
+
min-width: 160px;
|
|
4
|
+
overflow: hidden;
|
|
5
|
+
display: flex;
|
|
6
|
+
justify-content: right;
|
|
7
|
+
align-items: center;
|
|
8
|
+
margin-top: 8px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.digit,
|
|
12
|
+
.time-label {
|
|
13
|
+
display: flex;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
align-items: center;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.digit {
|
|
19
|
+
font-size: 20px;
|
|
20
|
+
border-radius: 4px;
|
|
21
|
+
border: 1px solid #d1d1d1;
|
|
22
|
+
background-color: #f1f1f1;
|
|
23
|
+
margin-right: 2px !important;
|
|
24
|
+
margin-left: 0 !important;
|
|
25
|
+
color: #000000;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.time-label {
|
|
29
|
+
font-size: 12px;
|
|
30
|
+
}
|