@agilemotion/oui-react-js 1.8.44 → 1.8.46
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/BasicApp.css +22 -17
- package/dist/InteractionPortalApp.css +22 -17
- package/dist/components/PopupView.js +1 -1
- package/dist/components/SocketManager.js +1 -1
- package/dist/components/TabPanel.js +24 -11
- package/dist/components/Toolbar.js +20 -13
- package/dist/components/dashboard/SideMenuModuleDashboard.css +0 -1
- package/dist/components/form/BaseField.js +10 -3
- package/dist/components/form/GridField.js +15 -1
- package/dist/components/form/SelectItem.js +18 -7
- package/dist/components/form/TimePicker.js +15 -8
- package/dist/components/layout/Layout.js +23 -15
- package/dist/components/layout/Window.js +0 -1
- package/dist/components/layout/WindowDialog.js +2 -1
- package/dist/components/media/Toolbar.js +1 -1
- package/dist/components/media/VCRoomParticipant.css +11 -0
- package/dist/components/media/VCRoomParticipant.js +18 -13
- package/dist/components/media/VCRoomWorkspace.js +7 -2
- package/dist/components/menu/MenuItem.js +1 -1
- package/dist/js/ProcurementMeetings.js +19 -21
- package/package.json +1 -1
package/dist/BasicApp.css
CHANGED
|
@@ -1,37 +1,42 @@
|
|
|
1
1
|
.App {
|
|
2
|
-
|
|
2
|
+
text-align: center;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
.App-logo {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
animation: App-logo-spin infinite 20s linear;
|
|
7
|
+
height: 80px;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.App-header {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
background-color: #222;
|
|
12
|
+
height: 150px;
|
|
13
|
+
padding: 20px;
|
|
14
|
+
color: white;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.App-intro {
|
|
18
|
-
|
|
18
|
+
font-size: large;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
@keyframes App-logo-spin {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
from {
|
|
23
|
+
transform: rotate(0deg);
|
|
24
|
+
}
|
|
25
|
+
to {
|
|
26
|
+
transform: rotate(360deg);
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
#pdf-frame {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
display: none;
|
|
32
|
+
align-items: stretch;
|
|
33
|
+
position: absolute;
|
|
34
|
+
width: 100%;
|
|
35
|
+
height: 100%
|
|
32
36
|
}
|
|
33
37
|
|
|
34
38
|
#root {
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
height: 100%;
|
|
40
|
+
background-color: #ffffff;
|
|
41
|
+
overflow: hidden;
|
|
37
42
|
}
|
|
@@ -1,37 +1,42 @@
|
|
|
1
1
|
.App {
|
|
2
|
-
|
|
2
|
+
text-align: center;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
.App-logo {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
animation: App-logo-spin infinite 20s linear;
|
|
7
|
+
height: 80px;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.App-header {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
background-color: #f1f1f1;
|
|
12
|
+
height: 150px;
|
|
13
|
+
padding: 20px;
|
|
14
|
+
color: white;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.App-intro {
|
|
18
|
-
|
|
18
|
+
font-size: large;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
@keyframes App-logo-spin {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
from {
|
|
23
|
+
transform: rotate(0deg);
|
|
24
|
+
}
|
|
25
|
+
to {
|
|
26
|
+
transform: rotate(360deg);
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
#pdf-frame {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
display: none;
|
|
32
|
+
align-items: stretch;
|
|
33
|
+
position: absolute;
|
|
34
|
+
width: 100%;
|
|
35
|
+
height: 100%
|
|
32
36
|
}
|
|
33
37
|
|
|
34
38
|
#root {
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
height: 100%;
|
|
40
|
+
background-color: #ffffff;
|
|
41
|
+
overflow: hidden;
|
|
37
42
|
}
|
|
@@ -16,7 +16,7 @@ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"
|
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
function PopupViewDialog(props) {
|
|
18
18
|
const [title, setTitle] = _react.default.useState(null);
|
|
19
|
-
const height = _Utils.default.getComponentStyleAttribute(props.view.config, 'height', '
|
|
19
|
+
const height = _Utils.default.getComponentStyleAttribute(props.view.config, 'height', '80vh');
|
|
20
20
|
const width = _Utils.default.getComponentStyleAttribute(props.view.config, 'width', '60vw');
|
|
21
21
|
const useStyles = (0, _styles.makeStyles)(theme => ({
|
|
22
22
|
dialogPaper: {
|
|
@@ -101,7 +101,7 @@ class SocketManager {
|
|
|
101
101
|
registerOnline() {
|
|
102
102
|
let userDetails = _ApplicationManager.default.getUserDetails();
|
|
103
103
|
// TODO : Resolve the hardcoding
|
|
104
|
-
let profile = typeof JSON.parse(userDetails.profile) === 'string' ? userDetails.profile : 'COJ';
|
|
104
|
+
let profile = typeof (typeof userDetails.profile === 'string' || JSON.parse(userDetails.profile) === 'string') ? userDetails.profile : 'COJ';
|
|
105
105
|
console.log('***** REGISTERING ONLINE ***** [' + profile + ']');
|
|
106
106
|
this.emitEvent(_SocketRequest.default.REGISTER_ONLINE, {
|
|
107
107
|
user: {
|
|
@@ -25,6 +25,7 @@ function a11yProps(index) {
|
|
|
25
25
|
const TabPanel = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
26
26
|
const [tabValue, setTabValue] = _react.default.useState(0);
|
|
27
27
|
const [errors, setErrors] = _react.default.useState({});
|
|
28
|
+
const [visibleTabPages, setVisibleTabPages] = _react.default.useState(null);
|
|
28
29
|
const [componentHandles] = _react.default.useState({});
|
|
29
30
|
const handleTabChange = (event, newValue) => {
|
|
30
31
|
setTabValue(newValue);
|
|
@@ -56,6 +57,21 @@ const TabPanel = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.fo
|
|
|
56
57
|
}
|
|
57
58
|
});
|
|
58
59
|
}
|
|
60
|
+
if (props.config.tabPages) {
|
|
61
|
+
let allVisibleTabPages = [];
|
|
62
|
+
for (const page of props.config.tabPages) {
|
|
63
|
+
if (_Utils.default.isNull(page.id)) {
|
|
64
|
+
page.id = index + '-tab-page';
|
|
65
|
+
}
|
|
66
|
+
let parsedConfig = _Utils.default.parseConfig(page, props.viewId);
|
|
67
|
+
let visible = _Utils.default.isNull(parsedConfig.visible) || _Utils.default.evaluateBooleanExpression(parsedConfig.visible, page.id);
|
|
68
|
+
console.log("VISIBLE : " + page.id + " = " + visible + " - " + parsedConfig.visible);
|
|
69
|
+
if (visible) {
|
|
70
|
+
allVisibleTabPages.push(page);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
setVisibleTabPages(allVisibleTabPages);
|
|
74
|
+
}
|
|
59
75
|
}, []);
|
|
60
76
|
function renderTabPageComponent(component, tabId, index) {
|
|
61
77
|
if (_Utils.default.isNull(component.id)) {
|
|
@@ -63,7 +79,7 @@ const TabPanel = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.fo
|
|
|
63
79
|
}
|
|
64
80
|
return component.type === 'formSection' ? /*#__PURE__*/_react.default.createElement(_Section.default, {
|
|
65
81
|
keyHandler: props.keyHandler,
|
|
66
|
-
key:
|
|
82
|
+
key: component.id,
|
|
67
83
|
config: component,
|
|
68
84
|
handle: createComponentHandle(component),
|
|
69
85
|
form: props.form,
|
|
@@ -73,12 +89,12 @@ const TabPanel = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.fo
|
|
|
73
89
|
}) : component.type === 'toolbar' ? /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
74
90
|
config: component,
|
|
75
91
|
handle: createComponentHandle(component),
|
|
76
|
-
key:
|
|
92
|
+
key: component.id,
|
|
77
93
|
viewId: props.viewId
|
|
78
94
|
}) : component.type === 'layout' ? /*#__PURE__*/_react.default.createElement(_Layout.Layout, {
|
|
79
95
|
config: component,
|
|
80
96
|
handle: createComponentHandle(component),
|
|
81
|
-
key:
|
|
97
|
+
key: component.id,
|
|
82
98
|
viewId: props.viewId
|
|
83
99
|
}) : /*#__PURE__*/_react.default.createElement("div", null, 'Unsupported component type ' + component.type);
|
|
84
100
|
}
|
|
@@ -103,7 +119,7 @@ const TabPanel = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.fo
|
|
|
103
119
|
for (const property of properties) {
|
|
104
120
|
let componentHandle = componentHandles[property];
|
|
105
121
|
children.push(componentHandle);
|
|
106
|
-
if (!_Utils.default.isNull(componentHandle.api
|
|
122
|
+
if (!_Utils.default.isNull(componentHandle.api?.getChildren)) {
|
|
107
123
|
for (const child of componentHandle.api.getChildren()) {
|
|
108
124
|
children.push(child);
|
|
109
125
|
}
|
|
@@ -128,7 +144,7 @@ const TabPanel = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.fo
|
|
|
128
144
|
}
|
|
129
145
|
};
|
|
130
146
|
};
|
|
131
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
147
|
+
return !_Utils.default.isNull(visibleTabPages) && /*#__PURE__*/_react.default.createElement("div", {
|
|
132
148
|
style: _Utils.default.mergeStyles({
|
|
133
149
|
width: '100%'
|
|
134
150
|
}, props.config)
|
|
@@ -158,7 +174,7 @@ const TabPanel = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.fo
|
|
|
158
174
|
minWidth: 120
|
|
159
175
|
}
|
|
160
176
|
}
|
|
161
|
-
},
|
|
177
|
+
}, visibleTabPages.map((page, index) => /*#__PURE__*/_react.default.createElement(_Tab.default, _extends({
|
|
162
178
|
key: index,
|
|
163
179
|
label: page.attributes['label'],
|
|
164
180
|
wrapped: true // allow multi-line label
|
|
@@ -174,16 +190,13 @@ const TabPanel = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.fo
|
|
|
174
190
|
// keep original casing
|
|
175
191
|
color: _ApplicationManager.default.isFormMarkersEnabled() && errors !== null && errors[page.id] === true ? '#ed5249' : undefined
|
|
176
192
|
}
|
|
177
|
-
})))
|
|
178
|
-
if (_Utils.default.isNull(page.id)) {
|
|
179
|
-
page.id = index + '-tab-page';
|
|
180
|
-
}
|
|
193
|
+
}))))), visibleTabPages.map((page, index) => {
|
|
181
194
|
return /*#__PURE__*/_react.default.createElement(_TabPage.default, {
|
|
182
195
|
value: tabValue,
|
|
183
196
|
key: index,
|
|
184
197
|
index: index,
|
|
185
198
|
config: page
|
|
186
199
|
}, renderPage(page, index));
|
|
187
|
-
})
|
|
200
|
+
}));
|
|
188
201
|
}));
|
|
189
202
|
var _default = exports.default = TabPanel;
|
|
@@ -203,6 +203,20 @@ const Toolbar = props => {
|
|
|
203
203
|
}, renderItem(item, defaultId));
|
|
204
204
|
})));
|
|
205
205
|
}
|
|
206
|
+
function getChildren() {
|
|
207
|
+
let children = [];
|
|
208
|
+
let properties = Object.getOwnPropertyNames(buttonItemHandles);
|
|
209
|
+
for (const property of properties) {
|
|
210
|
+
let itemHandle = buttonItemHandles[property];
|
|
211
|
+
children.push(itemHandle);
|
|
212
|
+
}
|
|
213
|
+
properties = Object.getOwnPropertyNames(menuItemHandles);
|
|
214
|
+
for (const property of properties) {
|
|
215
|
+
let itemHandle = menuItemHandles[property];
|
|
216
|
+
children.push(itemHandle);
|
|
217
|
+
}
|
|
218
|
+
return children;
|
|
219
|
+
}
|
|
206
220
|
const api = () => {
|
|
207
221
|
return {
|
|
208
222
|
get id() {
|
|
@@ -213,18 +227,7 @@ const Toolbar = props => {
|
|
|
213
227
|
return props.tableRow;
|
|
214
228
|
},
|
|
215
229
|
getChildren: () => {
|
|
216
|
-
|
|
217
|
-
let properties = Object.getOwnPropertyNames(buttonItemHandles);
|
|
218
|
-
for (const property of properties) {
|
|
219
|
-
let itemHandle = buttonItemHandles[property];
|
|
220
|
-
children.push(itemHandle);
|
|
221
|
-
}
|
|
222
|
-
properties = Object.getOwnPropertyNames(menuItemHandles);
|
|
223
|
-
for (const property of properties) {
|
|
224
|
-
let itemHandle = menuItemHandles[property];
|
|
225
|
-
children.push(itemHandle);
|
|
226
|
-
}
|
|
227
|
-
return children;
|
|
230
|
+
return getChildren();
|
|
228
231
|
},
|
|
229
232
|
set visible(visible) {
|
|
230
233
|
setVisible(visible);
|
|
@@ -232,7 +235,11 @@ const Toolbar = props => {
|
|
|
232
235
|
refresh() {
|
|
233
236
|
let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
|
|
234
237
|
setVisible(_Utils.default.evaluateBooleanExpression(parsedConfig.visible, parsedConfig.id, true));
|
|
235
|
-
|
|
238
|
+
for (const child of getChildren()) {
|
|
239
|
+
if (child.api && child.api.refresh) {
|
|
240
|
+
child.api.refresh();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
236
243
|
}
|
|
237
244
|
};
|
|
238
245
|
};
|
|
@@ -42,16 +42,23 @@ const BaseField = props => {
|
|
|
42
42
|
if (boundValue && !initialValueBound.current) {
|
|
43
43
|
initialValueBound.current = true;
|
|
44
44
|
if (props.config.fieldType === 'SELECT' || props.config.fieldType === 'LOOKUP') {
|
|
45
|
-
console.log("BINDING : " + props.config.id, valueObject[valueProperty]);
|
|
46
45
|
if (!boundValue || _Utils.default.isNull(boundValue.id)) {
|
|
47
46
|
setValue(null);
|
|
48
47
|
valueRef.current = null;
|
|
49
48
|
} else {
|
|
50
|
-
|
|
49
|
+
if (props.valueParser) {
|
|
50
|
+
setValue(props.valueParser(boundValue, true));
|
|
51
|
+
} else {
|
|
52
|
+
setValue(boundValue);
|
|
53
|
+
}
|
|
51
54
|
valueRef.current = boundValue;
|
|
52
55
|
}
|
|
53
56
|
} else {
|
|
54
|
-
|
|
57
|
+
if (props.valueParser) {
|
|
58
|
+
setValue(props.valueParser(boundValue, true));
|
|
59
|
+
} else {
|
|
60
|
+
setValue(boundValue);
|
|
61
|
+
}
|
|
55
62
|
valueRef.current = boundValue;
|
|
56
63
|
}
|
|
57
64
|
}
|
|
@@ -66,11 +66,25 @@ const GridFieldWrapper = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
|
|
|
66
66
|
setLabel(_Utils.default.getComponentAttribute(props.config, 'label', ''));
|
|
67
67
|
}
|
|
68
68
|
}, []);
|
|
69
|
+
function setNewRows(values) {
|
|
70
|
+
if (Array.isArray(values)) {
|
|
71
|
+
let newRows = [];
|
|
72
|
+
for (const value of values) {
|
|
73
|
+
if (value) {
|
|
74
|
+
newRows.push(value);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
setRows(newRows);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
69
80
|
_react.default.useEffect(() => {
|
|
70
81
|
if (!_Utils.default.isNull(base.value) && !initialValueSet.current) {
|
|
71
|
-
|
|
82
|
+
setNewRows(base.value);
|
|
72
83
|
}
|
|
73
84
|
}, [base.value]);
|
|
85
|
+
_react.default.useEffect(() => {
|
|
86
|
+
initialValueSet.current = false;
|
|
87
|
+
}, [base.valueObject[base.valueProperty]]);
|
|
74
88
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
75
89
|
className: "MuiFormControl-root MuiTextField-root MuiFormControl-marginDense",
|
|
76
90
|
style: _Utils.default.mergeStyles({}, props.config)
|
|
@@ -20,18 +20,27 @@ const SelectItemComponent = props => {
|
|
|
20
20
|
const width = !_Utils.default.isNull(props.config.attributes?.style?.width) ? props.config.attributes.style.width : "100%";
|
|
21
21
|
const maxWidth = !_Utils.default.isNull(props.config.attributes?.style?.maxWidth) ? props.config.attributes.style.maxWidth : null;
|
|
22
22
|
const minWidth = !_Utils.default.isNull(props.config.attributes?.style?.minWidth) ? props.config.attributes.style.minWidth : "240px";
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
function processValueChange(newValue, isOptionsLoaded) {
|
|
24
|
+
console.log("\n\n\n\nPROCESSING : ", newValue, isOptionsLoaded);
|
|
25
|
+
if (!_Utils.default.isNull(newValue) && !isOptionsLoaded) {
|
|
25
26
|
let defaultOptions = [];
|
|
26
|
-
defaultOptions.push(
|
|
27
|
+
defaultOptions.push(newValue);
|
|
27
28
|
base.setSelectOptions(defaultOptions);
|
|
28
29
|
setOptionsLoaded(true);
|
|
30
|
+
console.log("DEFAULT SETTINGS SET");
|
|
29
31
|
}
|
|
30
|
-
if (_Utils.default.isNull(initialValue.current) && !_Utils.default.isNull(
|
|
31
|
-
initialValue.current =
|
|
32
|
+
if (_Utils.default.isNull(initialValue.current) && !_Utils.default.isNull(newValue)) {
|
|
33
|
+
initialValue.current = newValue;
|
|
32
34
|
}
|
|
33
|
-
setValue(
|
|
35
|
+
setValue(newValue ? newValue.id : '');
|
|
36
|
+
}
|
|
37
|
+
_react.default.useEffect(() => {
|
|
38
|
+
processValueChange(base.value, optionsLoaded);
|
|
34
39
|
}, [base.value]);
|
|
40
|
+
_react.default.useEffect(() => {
|
|
41
|
+
initialValue.current = null;
|
|
42
|
+
processValueChange(base.valueObject[base.valueProperty], false);
|
|
43
|
+
}, [base.valueObject[base.valueProperty]]);
|
|
35
44
|
_react.default.useEffect(() => {
|
|
36
45
|
if (!_Utils.default.isNull(base.selectOptions) && base.selectOptions.length > 0) {
|
|
37
46
|
if (initialValue.current) {
|
|
@@ -60,7 +69,9 @@ const SelectItemComponent = props => {
|
|
|
60
69
|
base.setSelectOptions(options);
|
|
61
70
|
}).catch(e => {
|
|
62
71
|
console.error(e);
|
|
63
|
-
|
|
72
|
+
if (e.errorType !== 'INVALID_PARAMETER') {
|
|
73
|
+
_Utils.default.publishErrorMessage(e, props.viewId);
|
|
74
|
+
}
|
|
64
75
|
});
|
|
65
76
|
setOptionsLoaded(true);
|
|
66
77
|
}
|
|
@@ -19,7 +19,6 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
19
19
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
20
20
|
const CustomTimePickerComponent = props => {
|
|
21
21
|
const base = props.base;
|
|
22
|
-
const defaultDate = !_Utils.default.isNull(base.valueObject[base.valueProperty]) ? new Date(base.valueObject[base.valueProperty]) : null;
|
|
23
22
|
let minWidth = _Utils.default.getComponentAttribute(props.config, 'minWidth', '240px');
|
|
24
23
|
let width = _Utils.default.getComponentAttribute(props.config, 'width', '100%');
|
|
25
24
|
const handleDateChange = date => {
|
|
@@ -27,8 +26,8 @@ const CustomTimePickerComponent = props => {
|
|
|
27
26
|
base.handleValueChange(date);
|
|
28
27
|
};
|
|
29
28
|
_react.default.useEffect(() => {
|
|
30
|
-
base.setValue(
|
|
31
|
-
}, [
|
|
29
|
+
base.setValue(base.value);
|
|
30
|
+
}, [base.value]);
|
|
32
31
|
const secondaryColor = (0, _reactRedux.useSelector)(state => state.dashboard.secondaryThemeColor);
|
|
33
32
|
const style = {
|
|
34
33
|
minWidth: minWidth,
|
|
@@ -68,16 +67,24 @@ const TimePicker = props => {
|
|
|
68
67
|
valueParser: (value, inbound) => {
|
|
69
68
|
if (!_Utils.default.isNull(value)) {
|
|
70
69
|
if (!value.toString().includes("T")) {
|
|
71
|
-
if (typeof value ===
|
|
72
|
-
const
|
|
70
|
+
if (typeof value === "string") {
|
|
71
|
+
const parts = value.split(":");
|
|
72
|
+
const hours = Number(parts[0] ?? 0);
|
|
73
|
+
const minutes = Number(parts[1] ?? 0);
|
|
74
|
+
let seconds = 0;
|
|
75
|
+
if (parts[2]) {
|
|
76
|
+
seconds = Number(parts[2].split(".")[0] ?? 0);
|
|
77
|
+
}
|
|
73
78
|
const dateObject = new Date();
|
|
74
|
-
dateObject.setHours(hours, minutes,
|
|
75
|
-
return inbound ? dateObject : dateObject.toLocaleTimeString(
|
|
79
|
+
dateObject.setHours(hours, minutes, seconds, 0);
|
|
80
|
+
return inbound ? dateObject : dateObject.toLocaleTimeString("it-IT");
|
|
76
81
|
}
|
|
77
82
|
return value;
|
|
78
83
|
}
|
|
79
84
|
}
|
|
80
|
-
|
|
85
|
+
|
|
86
|
+
// date-time value (contains "T") or something parsable by Date
|
|
87
|
+
return !_Utils.default.isNull(value) ? inbound ? new Date(value) : new Date(value).toLocaleTimeString("it-IT") : null;
|
|
81
88
|
}
|
|
82
89
|
}), base => /*#__PURE__*/_react.default.createElement(CustomTimePickerComponent, _extends({
|
|
83
90
|
base: base
|
|
@@ -301,6 +301,23 @@ const Layout = props => {
|
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
303
|
}
|
|
304
|
+
function getChildren() {
|
|
305
|
+
let children = [];
|
|
306
|
+
let properties = Object.getOwnPropertyNames(componentHandles);
|
|
307
|
+
for (const property of properties) {
|
|
308
|
+
let componentHandle = componentHandles[property];
|
|
309
|
+
children.push(componentHandle);
|
|
310
|
+
if (!_Utils.default.isNull(componentHandle.api) && !_Utils.default.isNull(componentHandle.api.getChildren)) {
|
|
311
|
+
let moreChildren = componentHandle.api.getChildren();
|
|
312
|
+
if (!_Utils.default.isNull(moreChildren)) {
|
|
313
|
+
for (const child of moreChildren) {
|
|
314
|
+
children.push(child);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return children;
|
|
320
|
+
}
|
|
304
321
|
const api = () => {
|
|
305
322
|
return {
|
|
306
323
|
get id() {
|
|
@@ -311,27 +328,18 @@ const Layout = props => {
|
|
|
311
328
|
setVisible(val);
|
|
312
329
|
},
|
|
313
330
|
getChildren: () => {
|
|
314
|
-
|
|
315
|
-
let properties = Object.getOwnPropertyNames(componentHandles);
|
|
316
|
-
for (const property of properties) {
|
|
317
|
-
let componentHandle = componentHandles[property];
|
|
318
|
-
children.push(componentHandle);
|
|
319
|
-
if (!_Utils.default.isNull(componentHandle.api) && !_Utils.default.isNull(componentHandle.api.getChildren)) {
|
|
320
|
-
let moreChildren = componentHandle.api.getChildren();
|
|
321
|
-
if (!_Utils.default.isNull(moreChildren)) {
|
|
322
|
-
for (const child of moreChildren) {
|
|
323
|
-
children.push(child);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
return children;
|
|
331
|
+
return getChildren();
|
|
329
332
|
},
|
|
330
333
|
refresh() {
|
|
331
334
|
if (!_Utils.default.isNull(props.config.visible)) {
|
|
332
335
|
let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
|
|
333
336
|
setVisible(_Utils.default.evaluateBooleanExpression(parsedConfig.visible, props.config.id));
|
|
334
337
|
}
|
|
338
|
+
for (const child of getChildren()) {
|
|
339
|
+
if (child.api && child.api.refresh) {
|
|
340
|
+
child.api.refresh();
|
|
341
|
+
}
|
|
342
|
+
}
|
|
335
343
|
}
|
|
336
344
|
};
|
|
337
345
|
};
|
|
@@ -216,7 +216,6 @@ const Window = props => {
|
|
|
216
216
|
paper.style.right = '0';
|
|
217
217
|
paper.style.position = 'absolute';
|
|
218
218
|
paper.style.top = '72px';
|
|
219
|
-
paper.style.border = '20px solid red';
|
|
220
219
|
paper.style.left = (isNaN(getLeftOffset()) ? '328' : getLeftOffset()) + 'px';
|
|
221
220
|
let header = document.getElementsByClassName('dialogHeader')[0];
|
|
222
221
|
header.getElementsByTagName('button')[0].style.color = 'rgba(0, 0, 0, 0.54)';
|
|
@@ -730,7 +730,7 @@ const Toolbar = props => {
|
|
|
730
730
|
}
|
|
731
731
|
}, /*#__PURE__*/_react.default.createElement(_material.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
732
732
|
id: 'CHAT_BUBBLE'
|
|
733
|
-
})), /*#__PURE__*/_react.default.createElement("div", null, hasUnreadChats ? '1' : '', "\xA0Chat"))), !buttonVisibility.minutes && roomStatus === 'SESSION' && /*#__PURE__*/_react.default.createElement("div", {
|
|
733
|
+
})), /*#__PURE__*/_react.default.createElement("div", null, hasUnreadChats ? '1' : '', "\xA0Chat"))), isHost && !buttonVisibility.minutes && roomStatus === 'SESSION' && /*#__PURE__*/_react.default.createElement("div", {
|
|
734
734
|
className: 'button-wrapper no-margin no-padding'
|
|
735
735
|
}, /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
736
736
|
onClick: () => {
|
|
@@ -10,6 +10,17 @@
|
|
|
10
10
|
background-color: #f9f9f9;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
.people-content-list {
|
|
14
|
+
margin: 4px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.person-card-wrapper {
|
|
18
|
+
border: 1px solid rgb(233, 233, 233);
|
|
19
|
+
border-radius: 4px;
|
|
20
|
+
background-color: rgb(233, 233, 233);
|
|
21
|
+
margin-bottom: 2px;
|
|
22
|
+
}
|
|
23
|
+
|
|
13
24
|
.meeting-participant-container-current-user {
|
|
14
25
|
min-width: 212px;
|
|
15
26
|
min-height: 150px;
|
|
@@ -586,14 +586,26 @@ const VCRoomParticipant = props => {
|
|
|
586
586
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
587
587
|
className: props.sizing === 'sm' ? 'name-label-sm' : 'name-label',
|
|
588
588
|
style: {
|
|
589
|
+
display: 'flex',
|
|
589
590
|
position: 'absolute',
|
|
591
|
+
width: '100%',
|
|
590
592
|
bottom: props.isCurrentUser ? '12px' : '0',
|
|
591
593
|
padding: props.isCurrentUser ? '4px 16px' : props.sizing !== 'sm' ? '4px' : '4px'
|
|
592
594
|
}
|
|
593
|
-
},
|
|
595
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
594
596
|
style: {
|
|
597
|
+
width: '50%',
|
|
598
|
+
display: 'flex',
|
|
599
|
+
justifyContent: 'flex-start',
|
|
595
600
|
marginLeft: '4px'
|
|
596
601
|
}
|
|
602
|
+
}, !props.isCurrentUser && getParticipantName(), props.isCurrentUser && 'You'), !props.isCurrentUser && /*#__PURE__*/_react.default.createElement("div", {
|
|
603
|
+
style: {
|
|
604
|
+
marginLeft: '4px',
|
|
605
|
+
display: 'flex',
|
|
606
|
+
justifyContent: 'flex-end',
|
|
607
|
+
width: '50%'
|
|
608
|
+
}
|
|
597
609
|
}, props.isHost && !audioMuted ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
598
610
|
onClick: e => {
|
|
599
611
|
props.onHostAudioMute(props.data);
|
|
@@ -623,22 +635,14 @@ const VCRoomParticipant = props => {
|
|
|
623
635
|
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
624
636
|
id: 'CAMERA'
|
|
625
637
|
}))), props.isCurrentUser && /*#__PURE__*/_react.default.createElement("div", {
|
|
626
|
-
className: 'row',
|
|
638
|
+
className: 'row no-margin no-padding',
|
|
627
639
|
style: {
|
|
628
|
-
width: '
|
|
640
|
+
width: '100%'
|
|
629
641
|
}
|
|
630
642
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
631
643
|
className: 'col no-margin no-padding',
|
|
632
644
|
style: {
|
|
633
|
-
|
|
634
|
-
}
|
|
635
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
636
|
-
style: {
|
|
637
|
-
marginLeft: '4px'
|
|
638
|
-
}
|
|
639
|
-
}, "You")), /*#__PURE__*/_react.default.createElement("div", {
|
|
640
|
-
className: 'col no-margin no-padding',
|
|
641
|
-
style: {
|
|
645
|
+
width: '50%',
|
|
642
646
|
display: 'flex',
|
|
643
647
|
justifyContent: 'flex-end'
|
|
644
648
|
}
|
|
@@ -681,7 +685,8 @@ const VCRoomParticipant = props => {
|
|
|
681
685
|
filter: 'drop-shadow(0px 2px 8px rgba(0,0,0,0.32))',
|
|
682
686
|
mt: 1.5,
|
|
683
687
|
'& .MuiList-root': {
|
|
684
|
-
border: '1px solid
|
|
688
|
+
border: '1px solid #e1e1e1',
|
|
689
|
+
borderRadius: '4px'
|
|
685
690
|
},
|
|
686
691
|
'& .MuiAvatar-root': {
|
|
687
692
|
width: 32,
|
|
@@ -810,10 +810,15 @@ const VCRoomWorkspace = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
810
810
|
height: '100%'
|
|
811
811
|
}
|
|
812
812
|
}, renderStrip())), /*#__PURE__*/_react.default.createElement("div", {
|
|
813
|
-
className: `${
|
|
813
|
+
className: `${displayState === 'MAXIMIZED' ? 'col ' : ''}`,
|
|
814
814
|
style: {
|
|
815
815
|
width: '200px',
|
|
816
|
-
height: '148px'
|
|
816
|
+
height: '148px',
|
|
817
|
+
display: 'flex',
|
|
818
|
+
alignItems: 'center',
|
|
819
|
+
justifyContent: 'flex-end',
|
|
820
|
+
marginLeft: '16px',
|
|
821
|
+
marginRight: '0'
|
|
817
822
|
}
|
|
818
823
|
}, renderCurrentParticipant())), waitingList && waitingList.length > 0 && /*#__PURE__*/_react.default.createElement("div", {
|
|
819
824
|
className: 'no-side-margin no-side-padding grid-side-bar',
|
|
@@ -72,6 +72,6 @@ const MenuItem = props => {
|
|
|
72
72
|
},
|
|
73
73
|
righticon: props.mode === 'cascaded' && !_Utils.default.isNull(props.menuItems) && props.menuItems.length > 0 ? /*#__PURE__*/_react.default.createElement(_chevronRight.default, null) : null,
|
|
74
74
|
menuitems: props.menuItems
|
|
75
|
-
}, config.attributes
|
|
75
|
+
}, config.attributes?.label);
|
|
76
76
|
};
|
|
77
77
|
var _default = exports.default = MenuItem;
|
|
@@ -16,21 +16,23 @@ class ProcurementMeetings {
|
|
|
16
16
|
emitSocketEvent = (viewId, systemEventType, data, meeting) => {
|
|
17
17
|
return new Promise((resolve, reject) => {
|
|
18
18
|
let recipientIds = [];
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
if (meeting) {
|
|
20
|
+
for (const attendee of meeting.attendees) {
|
|
21
|
+
let username = attendee.username;
|
|
22
|
+
if (username !== _ApplicationManager.default.getUserDetails().username) {
|
|
23
|
+
recipientIds.push(username);
|
|
24
|
+
}
|
|
23
25
|
}
|
|
26
|
+
let eventData = {
|
|
27
|
+
systemEventType: systemEventType,
|
|
28
|
+
recipients: recipientIds,
|
|
29
|
+
data: data
|
|
30
|
+
};
|
|
31
|
+
_SocketManager.default.emitEvent(_VCEventType.VCEventType.SYSTEM_EVENT, eventData).then(result => resolve(result)).catch(e => {
|
|
32
|
+
_ApplicationManager.default.alert(viewId, "You are currently offline. Please check your network connectivity", "ERROR");
|
|
33
|
+
reject(e);
|
|
34
|
+
});
|
|
24
35
|
}
|
|
25
|
-
let eventData = {
|
|
26
|
-
systemEventType: systemEventType,
|
|
27
|
-
recipients: recipientIds,
|
|
28
|
-
data: data
|
|
29
|
-
};
|
|
30
|
-
_SocketManager.default.emitEvent(_VCEventType.VCEventType.SYSTEM_EVENT, eventData).then(result => resolve(result)).catch(e => {
|
|
31
|
-
_ApplicationManager.default.alert(viewId, "You are currently offline. Please check your network connectivity", "ERROR");
|
|
32
|
-
reject(e);
|
|
33
|
-
});
|
|
34
36
|
});
|
|
35
37
|
};
|
|
36
38
|
startMeeting = meeting => {
|
|
@@ -64,14 +66,10 @@ class ProcurementMeetings {
|
|
|
64
66
|
_ApplicationManager.default.resolveComponentApi("vcRoom").loadChats();
|
|
65
67
|
} else if (event.systemEventType === 'meetingStepChanged') {
|
|
66
68
|
let api = _ApplicationManager.default.resolveComponentApi(viewId);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
} else if (api.model.currentMeetingStep === 'COMPLIANCE_EVALUATION' && data.step === 'PRICE_EVALUATION') {
|
|
72
|
-
this.showComponent("functionalEvaluationNext");
|
|
73
|
-
} else if (api.model.currentMeetingStep === 'FUNCTIONAL_EVALUATION' && data.step === 'CONDITION_OF_AWARD') {
|
|
74
|
-
this.showComponent("priceEvaluationNext");
|
|
69
|
+
api.model.currentStep = data.step;
|
|
70
|
+
let component = _ApplicationManager.default.resolveComponentApi("toolbar");
|
|
71
|
+
if (component) {
|
|
72
|
+
component.refresh();
|
|
75
73
|
}
|
|
76
74
|
}
|
|
77
75
|
};
|
package/package.json
CHANGED