@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.
- package/dist/RestUtils.js +16 -37
- package/dist/Utils.js +10 -1
- package/dist/components/Calendar.js +15 -0
- package/dist/components/DataGrid.js +1 -3
- package/dist/components/Icon.js +8 -0
- package/dist/components/SocketManager.js +1 -1
- package/dist/components/Toolbar.js +1 -0
- package/dist/components/Tree.js +2 -2
- package/dist/components/dashboard/BasicBusinessAppDashboard.js +19 -2
- package/dist/components/form/FieldSet.js +1 -1
- package/dist/components/form/Form.js +1 -2
- package/dist/components/form/ImageEditor.js +4 -4
- package/dist/components/form/SelectItem.js +1 -1
- package/dist/components/form/TransferList.js +1 -1
- package/dist/components/layout/VC.css +9 -0
- package/dist/components/layout/View.css +8 -0
- package/dist/components/layout/Window.js +63 -8
- package/dist/components/layout/WindowViewPort.js +41 -2
- package/dist/components/media/Toolbar.css +24 -3
- package/dist/components/media/Toolbar.js +77 -81
- package/dist/components/media/TrainingRoom.js +82 -12
- package/dist/components/media/VCEventType.js +5 -1
- package/dist/components/media/VCRoomParticipant.css +9 -2
- package/dist/components/media/VCRoomParticipant.js +2 -4
- package/dist/components/media/VCRoomWorkspace.css +14 -0
- package/dist/components/media/VCRoomWorkspace.js +71 -48
- package/dist/components/signatures/SignatureTemplateDesigner.js +1 -1
- package/dist/event/ServiceCallActionHandler.js +1 -7
- package/dist/js/Media.js +43 -39
- package/dist/view/security/ChangePasswordBasic.js +1 -1
- package/dist/view/security/LoginBasic.js +1 -1
- package/dist/view/security/Security.js +1 -0
- package/package.json +1 -1
package/dist/RestUtils.js
CHANGED
|
@@ -26,9 +26,7 @@ const status = response => {
|
|
|
26
26
|
if (response.ok) {
|
|
27
27
|
return Promise.resolve(response);
|
|
28
28
|
} else {
|
|
29
|
-
|
|
30
|
-
error.code = response.status;
|
|
31
|
-
return Promise.reject(error);
|
|
29
|
+
return Promise.reject(response);
|
|
32
30
|
}
|
|
33
31
|
};
|
|
34
32
|
|
|
@@ -141,21 +139,17 @@ class RestUtils {
|
|
|
141
139
|
if (requestBody !== null || service.method === 'POST') {
|
|
142
140
|
console.log("POSTING REST REQUEST BODY : ", requestBody);
|
|
143
141
|
postData(url, response => {
|
|
144
|
-
if (!_Utils.default.isNull(
|
|
145
|
-
this.
|
|
146
|
-
}
|
|
147
|
-
if (!_Utils.default.isNull(successCallback)) {
|
|
148
|
-
this.processSuccessfulResponseData(component, response, successCallback, viewId, successMessage);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
let path = _Utils.default.getPropertyChainPath(returnValueBinding);
|
|
142
|
+
if (!_Utils.default.isNull(successCallback)) {
|
|
143
|
+
this.processSuccessfulResponseData(component, response, successCallback, viewId, successMessage);
|
|
144
|
+
}
|
|
152
145
|
|
|
153
|
-
|
|
154
|
-
path.valueObject[path.property] = response;
|
|
155
|
-
}
|
|
146
|
+
let path = _Utils.default.getPropertyChainPath(returnValueBinding);
|
|
156
147
|
|
|
157
|
-
|
|
148
|
+
if (!_Utils.default.isNull(path.valueObject) && !_Utils.default.isNull(path.property)) {
|
|
149
|
+
path.valueObject[path.property] = response;
|
|
158
150
|
}
|
|
151
|
+
|
|
152
|
+
this.fireEvent(viewId, component, _EventType.default.SERVICE_CALL_SUCCESS, response);
|
|
159
153
|
}, e => {
|
|
160
154
|
if (!_Utils.default.isNull(errorCallback)) {
|
|
161
155
|
errorCallback(e);
|
|
@@ -212,13 +206,8 @@ class RestUtils {
|
|
|
212
206
|
let val = _ApplicationManager.default.resolveParameterValue(parameterConfig, event ? event.data : null);
|
|
213
207
|
|
|
214
208
|
if (!_Utils.default.isNull(val)) {
|
|
215
|
-
parameter.value = val.value;
|
|
216
|
-
|
|
217
|
-
if (val.type === 'object') {
|
|
218
|
-
parameter.type = 'MapObject';
|
|
219
|
-
} else {
|
|
220
|
-
parameter.type = val.type;
|
|
221
|
-
}
|
|
209
|
+
parameter.value = val.value;
|
|
210
|
+
parameter.type = val.type;
|
|
222
211
|
}
|
|
223
212
|
|
|
224
213
|
if (typeof parameter.value === 'undefined') {
|
|
@@ -247,23 +236,13 @@ class RestUtils {
|
|
|
247
236
|
let path = _Utils.default.getPropertyChainPath(returnValueBinding);
|
|
248
237
|
|
|
249
238
|
if (!_Utils.default.isNull(path.valueObject) && !_Utils.default.isNull(path.property)) {
|
|
250
|
-
path.valueObject[path.property] = response
|
|
239
|
+
path.valueObject[path.property] = response;
|
|
251
240
|
}
|
|
252
241
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
if (!_Utils.default.isNull(responseData) && response.dataType === 'message' && responseData.messageType === 'ERROR') {
|
|
256
|
-
this.fireEvent(viewId, component, _EventType.default.SERVICE_CALL_FAILURE, responseData);
|
|
242
|
+
this.fireEvent(viewId, component, _EventType.default.SERVICE_CALL_SUCCESS, response.data);
|
|
257
243
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
}
|
|
261
|
-
} else {
|
|
262
|
-
this.fireEvent(viewId, component, _EventType.default.SERVICE_CALL_SUCCESS, response.data);
|
|
263
|
-
|
|
264
|
-
if (successCallback !== null) {
|
|
265
|
-
successCallback(response);
|
|
266
|
-
}
|
|
244
|
+
if (successCallback !== null) {
|
|
245
|
+
successCallback(response);
|
|
267
246
|
}
|
|
268
247
|
}
|
|
269
248
|
}, e => {
|
|
@@ -346,7 +325,7 @@ class RestUtils {
|
|
|
346
325
|
}).catch(e => {
|
|
347
326
|
console.error(e);
|
|
348
327
|
|
|
349
|
-
if (e.
|
|
328
|
+
if (e.status === 401 && !url.endsWith('/logout')) {
|
|
350
329
|
errorCallback(e);
|
|
351
330
|
|
|
352
331
|
_ApplicationManager.default.clear();
|
package/dist/Utils.js
CHANGED
|
@@ -404,7 +404,16 @@ _defineProperty(Utils, "mergeStyles", (defaultStyle, config) => {
|
|
|
404
404
|
return defaultStyle;
|
|
405
405
|
});
|
|
406
406
|
|
|
407
|
-
_defineProperty(Utils, "publishErrorMessage", (
|
|
407
|
+
_defineProperty(Utils, "publishErrorMessage", async (e, viewId, component = null) => {
|
|
408
|
+
let messageText;
|
|
409
|
+
|
|
410
|
+
if (e.json) {
|
|
411
|
+
let data = await e.json();
|
|
412
|
+
messageText = data.message;
|
|
413
|
+
} else {
|
|
414
|
+
messageText = Utils.SYSTEM_ERROR_MESSAGE;
|
|
415
|
+
}
|
|
416
|
+
|
|
408
417
|
let message = {
|
|
409
418
|
messageType: 'ERROR',
|
|
410
419
|
message: messageText
|
|
@@ -111,6 +111,7 @@ const Calendar = props => {
|
|
|
111
111
|
const dialogRef = (0, _react.useRef)(null);
|
|
112
112
|
const [dialogTop, setDialogTop] = (0, _react.useState)(null);
|
|
113
113
|
const [dialogLeft, setDialogLeft] = (0, _react.useState)(null);
|
|
114
|
+
const [refresher, setRefresher] = (0, _react.useState)(null);
|
|
114
115
|
const StyledDialog = (0, _withStyles.default)({
|
|
115
116
|
root: {
|
|
116
117
|
pointerEvents: "none"
|
|
@@ -147,6 +148,20 @@ const Calendar = props => {
|
|
|
147
148
|
|
|
148
149
|
(0, _react.useEffect)(() => {
|
|
149
150
|
loadEvents();
|
|
151
|
+
|
|
152
|
+
_ApplicationManager.default.addApplicationContextSubscription({
|
|
153
|
+
handler: {
|
|
154
|
+
get id() {
|
|
155
|
+
return 'window';
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
onContextChange: (context, newValues) => {
|
|
159
|
+
if (Object.keys(newValues).find(key => key === 'windowDisplayState')) {
|
|
160
|
+
setRefresher(!refresher);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
});
|
|
150
165
|
}, []);
|
|
151
166
|
|
|
152
167
|
const calenderScrollListener = () => {
|
|
@@ -499,9 +499,7 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
|
|
|
499
499
|
let data = serviceType === 'rpc' ? result.data : result;
|
|
500
500
|
processData(data, conf);
|
|
501
501
|
}, e => {
|
|
502
|
-
console.error(e);
|
|
503
|
-
|
|
504
|
-
_Utils.default.publishSystemErrorMessage(props.viewId);
|
|
502
|
+
console.error(e); //Utils.publishSystemErrorMessage(props.viewId);
|
|
505
503
|
});
|
|
506
504
|
} else {
|
|
507
505
|
throw new Error('Unknown service type : ' + serviceType);
|
package/dist/components/Icon.js
CHANGED
|
@@ -69,6 +69,8 @@ var _MicOff = _interopRequireDefault(require("@material-ui/icons/MicOff"));
|
|
|
69
69
|
|
|
70
70
|
var _CallEnd = _interopRequireDefault(require("@material-ui/icons/CallEnd"));
|
|
71
71
|
|
|
72
|
+
var _Dock = _interopRequireDefault(require("@material-ui/icons/Dock"));
|
|
73
|
+
|
|
72
74
|
var _icons = require("@material-ui/icons");
|
|
73
75
|
|
|
74
76
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
@@ -195,6 +197,12 @@ class Icon extends _react.Component {
|
|
|
195
197
|
color: this.props.color
|
|
196
198
|
}
|
|
197
199
|
});
|
|
200
|
+
} else if (this.props.id === 'DOCK') {
|
|
201
|
+
return /*#__PURE__*/_react.default.createElement(_Dock.default, {
|
|
202
|
+
style: {
|
|
203
|
+
color: this.props.color
|
|
204
|
+
}
|
|
205
|
+
});
|
|
198
206
|
} else if (this.props.id === 'CAMERA_OFF') {
|
|
199
207
|
return /*#__PURE__*/_react.default.createElement(_VideocamOff.default, {
|
|
200
208
|
style: {
|
|
@@ -126,7 +126,7 @@ class SocketManager {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
registerOnline() {
|
|
129
|
-
(0, _RestUtils.sendRequest)(_RestUtils.location + _ApplicationManager.default.getContextRoot() + '/auth/api/v1/user/
|
|
129
|
+
(0, _RestUtils.sendRequest)(_RestUtils.location + _ApplicationManager.default.getContextRoot() + '/auth/api/v1/user/find', response => {
|
|
130
130
|
this.profile = response.profile;
|
|
131
131
|
this.emitEvent(_SocketRequest.default.REGISTER_ONLINE, {
|
|
132
132
|
user: {
|
|
@@ -96,6 +96,7 @@ const Toolbar = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
96
96
|
minWidth: item.type === 'toolbarSpacer' ? '2' : _Utils.default.isNull(item.attributes) || _Utils.default.isNull(item.attributes['label']) ? '60px' : null,
|
|
97
97
|
marginLeft: item.type === 'toolbarSpacer' ? '4px' : 0,
|
|
98
98
|
marginRight: 4,
|
|
99
|
+
marginBottom: 4,
|
|
99
100
|
marginTop: item.type === 'toolbarSpacer' ? '6px' : 0
|
|
100
101
|
};
|
|
101
102
|
}
|
package/dist/components/Tree.js
CHANGED
|
@@ -163,12 +163,12 @@ const Tree = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
163
163
|
} catch (e) {
|
|
164
164
|
console.error(e);
|
|
165
165
|
|
|
166
|
-
_Utils.default.
|
|
166
|
+
_Utils.default.publishErrorMessage(e, props.viewId);
|
|
167
167
|
}
|
|
168
168
|
}, e => {
|
|
169
169
|
props.console.error(e);
|
|
170
170
|
|
|
171
|
-
_Utils.default.
|
|
171
|
+
_Utils.default.publishErrorMessage(e, props.viewId);
|
|
172
172
|
}, parameter => {});
|
|
173
173
|
} else if (!_Utils.default.isNull(componentConfig.value)) {
|
|
174
174
|
let value = _ApplicationManager.default.isExpression(componentConfig.value) ? _ApplicationManager.default.resolveExpressionValue(componentConfig.value) : componentConfig.value;
|
|
@@ -64,6 +64,8 @@ const BasicBusinessAppDashboard = props => {
|
|
|
64
64
|
|
|
65
65
|
const [opacity, setOpacity] = _react.default.useState(0);
|
|
66
66
|
|
|
67
|
+
const [windowPinned, setWindowPinned] = _react.default.useState(false);
|
|
68
|
+
|
|
67
69
|
const dispatch = (0, _reactRedux.useDispatch)();
|
|
68
70
|
|
|
69
71
|
const handleChangeRequestNavDrawer = () => {
|
|
@@ -351,8 +353,23 @@ const BasicBusinessAppDashboard = props => {
|
|
|
351
353
|
toggleSidebar: toggleSidebar,
|
|
352
354
|
logoutCallBack: props.logoutCallBack
|
|
353
355
|
})), ' ', /*#__PURE__*/_react.default.createElement("div", {
|
|
354
|
-
className: "content"
|
|
355
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
356
|
+
className: "content w-100 h-100"
|
|
357
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
358
|
+
className: "content w-100 h-100 row no-margin no-padding"
|
|
359
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
360
|
+
style: {
|
|
361
|
+
width: windowPinned ? 'calc(100% - 320px)' : '100%'
|
|
362
|
+
}
|
|
363
|
+
}, /*#__PURE__*/_react.default.createElement(_ViewPort.default, null)), /*#__PURE__*/_react.default.createElement("div", {
|
|
364
|
+
className: 'col no-margin no-padding',
|
|
365
|
+
style: {
|
|
366
|
+
width: windowPinned ? '320px' : '0'
|
|
367
|
+
}
|
|
368
|
+
}, /*#__PURE__*/_react.default.createElement(_WindowViewPort.default, {
|
|
369
|
+
stateChangeHandler: state => {
|
|
370
|
+
setWindowPinned(state.pinned);
|
|
371
|
+
}
|
|
372
|
+
}))))), ' '));
|
|
356
373
|
};
|
|
357
374
|
|
|
358
375
|
BasicBusinessAppDashboard.propTypes = {
|
|
@@ -453,7 +453,7 @@ const FieldSet = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
|
|
|
453
453
|
}, e => {
|
|
454
454
|
props.console.error(e);
|
|
455
455
|
|
|
456
|
-
_Utils.default.
|
|
456
|
+
_Utils.default.publishErrorMessage(e, props.viewId);
|
|
457
457
|
}, parameter => {});
|
|
458
458
|
return true;
|
|
459
459
|
}
|
|
@@ -172,7 +172,6 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
|
|
|
172
172
|
let fieldValid = field.handle.api.validate(values.current, null);
|
|
173
173
|
|
|
174
174
|
if (fieldValid === false) {
|
|
175
|
-
console.log("INVALID : " + field.id);
|
|
176
175
|
doValidateParent(field, !fieldValid, false);
|
|
177
176
|
valid = false;
|
|
178
177
|
} else if (valid) {
|
|
@@ -298,7 +297,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
|
|
|
298
297
|
}, e => {
|
|
299
298
|
console.error(e);
|
|
300
299
|
|
|
301
|
-
_Utils.default.
|
|
300
|
+
_Utils.default.publishErrorMessage(e, props.viewId);
|
|
302
301
|
}, parameter => {
|
|
303
302
|
loadingRef.current = false;
|
|
304
303
|
handleDataArrived(null);
|
|
@@ -362,13 +362,13 @@ exports.ImageEditorComponent = ImageEditorComponent;
|
|
|
362
362
|
const ImageEditor = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
363
363
|
const [file, setFile] = _react.default.useState(null);
|
|
364
364
|
|
|
365
|
-
const
|
|
365
|
+
const clearTrigger = _react.default.useRef(false);
|
|
366
366
|
|
|
367
367
|
return /*#__PURE__*/_react.default.createElement(_BaseField.BaseField, _extends({}, props, {
|
|
368
368
|
handle: props.handle,
|
|
369
369
|
valueParser: (value, inbound) => {
|
|
370
370
|
if (inbound) {
|
|
371
|
-
|
|
371
|
+
clearTrigger.current = !clearTrigger.current;
|
|
372
372
|
|
|
373
373
|
if (!_Utils.default.isNull(value)) {
|
|
374
374
|
let val = value; // TODO : Support multiple file upload
|
|
@@ -412,14 +412,14 @@ const ImageEditor = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.defaul
|
|
|
412
412
|
},
|
|
413
413
|
valueChangeCallback: value => {
|
|
414
414
|
if (_Utils.default.isNull(value)) {
|
|
415
|
-
|
|
415
|
+
clearTrigger.current = !clearTrigger.current;
|
|
416
416
|
}
|
|
417
417
|
}
|
|
418
418
|
}), base => /*#__PURE__*/_react.default.createElement(ImageEditorComponent, _extends({
|
|
419
419
|
ref: ref,
|
|
420
420
|
base: base,
|
|
421
421
|
initialFile: file,
|
|
422
|
-
clearTrigger: clearTrigger
|
|
422
|
+
clearTrigger: clearTrigger.current
|
|
423
423
|
}, props)));
|
|
424
424
|
}));
|
|
425
425
|
|
|
@@ -67,7 +67,7 @@ const SelectItemComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_reac
|
|
|
67
67
|
}, e => {
|
|
68
68
|
console.error(e);
|
|
69
69
|
|
|
70
|
-
_Utils.default.
|
|
70
|
+
_Utils.default.publishErrorMessage(e, props.viewId);
|
|
71
71
|
});
|
|
72
72
|
setOptionsLoaded(true);
|
|
73
73
|
}
|
|
@@ -214,7 +214,7 @@ const TransferList = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.defau
|
|
|
214
214
|
}, e => {
|
|
215
215
|
console.error(e);
|
|
216
216
|
|
|
217
|
-
_Utils.default.
|
|
217
|
+
_Utils.default.publishErrorMessage(e, props.viewId);
|
|
218
218
|
|
|
219
219
|
reject(e);
|
|
220
220
|
});
|
|
@@ -15,3 +15,12 @@
|
|
|
15
15
|
width: 500px !important;
|
|
16
16
|
height: 400px !important;
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
.window-pinned .av-settings-container {
|
|
20
|
+
width: 240px !important;
|
|
21
|
+
height: 700px !important;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.window-pinned .av-settings-container .user-video {
|
|
25
|
+
min-width: 220px !important;
|
|
26
|
+
}
|
|
@@ -130,8 +130,10 @@ const Window = props => {
|
|
|
130
130
|
|
|
131
131
|
if (newValues.windowDisplayState === 'MAXIMIZED') {
|
|
132
132
|
maximizeView(null, false);
|
|
133
|
-
} else {
|
|
133
|
+
} else if (newValues.windowDisplayState === 'MINIMIZED') {
|
|
134
134
|
minimizeView(null, false);
|
|
135
|
+
} else {
|
|
136
|
+
pinView(null, false);
|
|
135
137
|
}
|
|
136
138
|
}
|
|
137
139
|
}
|
|
@@ -139,12 +141,16 @@ const Window = props => {
|
|
|
139
141
|
}).then(initialContext => {
|
|
140
142
|
setDisplayState(initialContext ? initialContext.windowDisplayState : 'MAXIMIZED');
|
|
141
143
|
});
|
|
144
|
+
|
|
145
|
+
return () => {};
|
|
142
146
|
}, []);
|
|
143
147
|
(0, _react.useEffect)(() => {
|
|
144
148
|
if (displayState === 'MAXIMIZED') {
|
|
145
149
|
maximizeView(null);
|
|
146
|
-
} else {
|
|
150
|
+
} else if (displayState === 'MINIMIZED') {
|
|
147
151
|
minimizeView(null);
|
|
152
|
+
} else {
|
|
153
|
+
pinView(null);
|
|
148
154
|
}
|
|
149
155
|
}, [displayState]);
|
|
150
156
|
|
|
@@ -168,6 +174,41 @@ const Window = props => {
|
|
|
168
174
|
};
|
|
169
175
|
};
|
|
170
176
|
|
|
177
|
+
const getPinnedStyle = () => {
|
|
178
|
+
return {
|
|
179
|
+
transform: 'translate(0, 0)',
|
|
180
|
+
backgroundColor: '#FFFFFF',
|
|
181
|
+
width: '320px',
|
|
182
|
+
height: 'calc(100% - 88px)',
|
|
183
|
+
margin: '8px'
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
const pinView = (e, updateContext = true) => {
|
|
188
|
+
if (props.pinnable) {
|
|
189
|
+
let paper = document.getElementById('meetingDialogPaper');
|
|
190
|
+
|
|
191
|
+
if (paper) {
|
|
192
|
+
if (windowTransformValue) {
|
|
193
|
+
paper.style.transform = windowTransformValue;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
paper.style.width = '320px';
|
|
197
|
+
paper.style.height = 'calc(100% - 88px)';
|
|
198
|
+
paper.style.boxShadow = 'unset';
|
|
199
|
+
let header = document.getElementsByClassName('dialogHeader')[0];
|
|
200
|
+
header.getElementsByTagName('button')[0].style.color = '#000000';
|
|
201
|
+
setDisplayState('PINNED');
|
|
202
|
+
|
|
203
|
+
if (updateContext) {
|
|
204
|
+
_ApplicationManager.default.updateContext({
|
|
205
|
+
windowDisplayState: 'PINNED'
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
|
|
171
212
|
const minimizeView = (e, updateContext = true) => {
|
|
172
213
|
if (minimizable) {
|
|
173
214
|
let paper = document.getElementById('meetingDialogPaper');
|
|
@@ -224,7 +265,7 @@ const Window = props => {
|
|
|
224
265
|
}
|
|
225
266
|
};
|
|
226
267
|
|
|
227
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
268
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
228
269
|
style: {
|
|
229
270
|
width: '100%',
|
|
230
271
|
height: '100%',
|
|
@@ -237,7 +278,9 @@ const Window = props => {
|
|
|
237
278
|
}, /*#__PURE__*/_react.default.createElement(StyledDialog, {
|
|
238
279
|
disableEnforceFocus: true,
|
|
239
280
|
open: open,
|
|
240
|
-
onClose: e => {
|
|
281
|
+
onClose: e => {
|
|
282
|
+
props.onClose();
|
|
283
|
+
},
|
|
241
284
|
keepMounted: true,
|
|
242
285
|
hideBackdrop: true,
|
|
243
286
|
"aria-labelledby": "meeting-window-title",
|
|
@@ -247,12 +290,15 @@ const Window = props => {
|
|
|
247
290
|
PaperProps: {
|
|
248
291
|
id: 'meetingDialogPaper',
|
|
249
292
|
disabled: displayState === 'MAXIMIZED',
|
|
250
|
-
style: displayState === 'MINIMIZED' ? getMinimizedStyle() : getMaximizedStyle
|
|
293
|
+
style: displayState === 'MINIMIZED' ? getMinimizedStyle() : displayState === 'MAXIMIZED' ? getMaximizedStyle() : getMinimizedStyle()
|
|
251
294
|
}
|
|
295
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
296
|
+
id: 'window-content',
|
|
297
|
+
className: "".concat((displayState === 'PINNED' ? 'window-pinned ' : '') + 'w-100 h-100')
|
|
252
298
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
253
299
|
className: 'meeting-window-header',
|
|
254
300
|
id: "meeting-window-header"
|
|
255
|
-
}, /*#__PURE__*/_react.default.createElement("div", null,
|
|
301
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, displayState && /*#__PURE__*/_react.default.createElement("div", {
|
|
256
302
|
style: {
|
|
257
303
|
width: '48px',
|
|
258
304
|
height: '48px',
|
|
@@ -262,7 +308,7 @@ const Window = props => {
|
|
|
262
308
|
}
|
|
263
309
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
264
310
|
className: 'dialogHeader row'
|
|
265
|
-
}, /*#__PURE__*/_react.default.createElement("div", null, displayState === 'MAXIMIZED' ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
311
|
+
}, minimizable && /*#__PURE__*/_react.default.createElement("div", null, displayState === 'MAXIMIZED' ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
266
312
|
onClick: e => {
|
|
267
313
|
minimizeView(e);
|
|
268
314
|
},
|
|
@@ -280,7 +326,16 @@ const Window = props => {
|
|
|
280
326
|
}
|
|
281
327
|
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
282
328
|
id: 'MAXIMIZE'
|
|
283
|
-
})))
|
|
329
|
+
}))), props.pinnable && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
330
|
+
onClick: e => {
|
|
331
|
+
props.onPin();
|
|
332
|
+
},
|
|
333
|
+
style: {
|
|
334
|
+
marginRight: '4px'
|
|
335
|
+
}
|
|
336
|
+
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
337
|
+
id: 'DOCK'
|
|
338
|
+
}))))))), children))));
|
|
284
339
|
};
|
|
285
340
|
|
|
286
341
|
var _default = Window;
|
|
@@ -17,6 +17,10 @@ var _Observable = _interopRequireDefault(require("../../event/Observable"));
|
|
|
17
17
|
|
|
18
18
|
var _ApplicationManager = _interopRequireDefault(require("../../ApplicationManager"));
|
|
19
19
|
|
|
20
|
+
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
21
|
+
|
|
22
|
+
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
23
|
+
|
|
20
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
25
|
|
|
22
26
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
@@ -26,11 +30,14 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
26
30
|
const WindowViewContainer = props => {
|
|
27
31
|
const [view, setView] = _react.default.useState(null);
|
|
28
32
|
|
|
33
|
+
const [pinned, setPinned] = _react.default.useState(false);
|
|
34
|
+
|
|
29
35
|
function loadView(context) {
|
|
30
36
|
if (context) {
|
|
31
37
|
if (Object.keys(context).find(key => key === 'windowView')) {
|
|
32
38
|
setView(null);
|
|
33
39
|
setView(context.windowView);
|
|
40
|
+
setPinned(false);
|
|
34
41
|
}
|
|
35
42
|
}
|
|
36
43
|
}
|
|
@@ -51,16 +58,48 @@ const WindowViewContainer = props => {
|
|
|
51
58
|
});
|
|
52
59
|
}, []);
|
|
53
60
|
|
|
61
|
+
_react.default.useEffect(() => {
|
|
62
|
+
props.stateChangeHandler({
|
|
63
|
+
pinned
|
|
64
|
+
});
|
|
65
|
+
}, [pinned]);
|
|
66
|
+
|
|
54
67
|
const renderView = () => {
|
|
55
68
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, view && /*#__PURE__*/_react.default.createElement(_Window.default, {
|
|
56
|
-
|
|
69
|
+
pinnable: true,
|
|
70
|
+
minimizable: false,
|
|
57
71
|
open: true,
|
|
58
|
-
displayState: 'MAXIMIZED'
|
|
72
|
+
displayState: 'MAXIMIZED',
|
|
73
|
+
onPin: () => {
|
|
74
|
+
_ApplicationManager.default.updateContext({
|
|
75
|
+
windowDisplayState: pinned ? 'MAXIMIZED' : 'PINNED'
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
setPinned(!pinned);
|
|
79
|
+
},
|
|
80
|
+
onClose: () => {//setPinned(false)
|
|
81
|
+
}
|
|
59
82
|
}, /*#__PURE__*/_react.default.createElement(_View.View, {
|
|
60
83
|
config: view.config,
|
|
61
84
|
parameters: view.parameters,
|
|
62
85
|
ref: /*#__PURE__*/_react.default.createRef(),
|
|
63
86
|
handle: view.handle
|
|
87
|
+
})), view && pinned && /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
88
|
+
onClick: e => {
|
|
89
|
+
_ApplicationManager.default.updateContext({
|
|
90
|
+
windowDisplayState: 'MAXIMIZED'
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
setPinned(false);
|
|
94
|
+
},
|
|
95
|
+
style: {
|
|
96
|
+
marginRight: '8px',
|
|
97
|
+
position: 'absolute',
|
|
98
|
+
right: 0,
|
|
99
|
+
top: 0
|
|
100
|
+
}
|
|
101
|
+
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
102
|
+
id: 'DOCK'
|
|
64
103
|
})));
|
|
65
104
|
};
|
|
66
105
|
|
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
|
|
2
|
-
.vc-toolbar button {
|
|
3
|
-
min-width:
|
|
4
|
-
|
|
2
|
+
.vc-toolbar .button-container {
|
|
3
|
+
min-width: 200px;
|
|
4
|
+
overflow: hidden;
|
|
5
|
+
margin-left: 8px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.window-pinned .vc-toolbar .timer {
|
|
9
|
+
width: 100% !important;
|
|
10
|
+
text-align: center !important;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.vc-toolbar button,
|
|
14
|
+
.vc-toolbar .button-wrapper {
|
|
15
|
+
min-width: 88px;
|
|
16
|
+
width: 88px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.vc-toolbar .hang-up,
|
|
20
|
+
.vc-toolbar .hang-up button {
|
|
21
|
+
min-width: 120px;
|
|
22
|
+
width: 120px;
|
|
5
23
|
}
|
|
6
24
|
|
|
7
25
|
.vc-toolbar button .icon,
|
|
@@ -32,4 +50,7 @@
|
|
|
32
50
|
color: #404239;
|
|
33
51
|
background-color: #e9e9e9;
|
|
34
52
|
font-size: 14px;
|
|
53
|
+
position: absolute;
|
|
54
|
+
margin-left: -56px;
|
|
55
|
+
margin-bottom: 16px;
|
|
35
56
|
}
|