@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 CHANGED
@@ -1,37 +1,42 @@
1
1
  .App {
2
- text-align: center;
2
+ text-align: center;
3
3
  }
4
4
 
5
5
  .App-logo {
6
- animation: App-logo-spin infinite 20s linear;
7
- height: 80px;
6
+ animation: App-logo-spin infinite 20s linear;
7
+ height: 80px;
8
8
  }
9
9
 
10
10
  .App-header {
11
- background-color: #222;
12
- height: 150px;
13
- padding: 20px;
14
- color: white;
11
+ background-color: #222;
12
+ height: 150px;
13
+ padding: 20px;
14
+ color: white;
15
15
  }
16
16
 
17
17
  .App-intro {
18
- font-size: large;
18
+ font-size: large;
19
19
  }
20
20
 
21
21
  @keyframes App-logo-spin {
22
- from { transform: rotate(0deg); }
23
- to { transform: rotate(360deg); }
22
+ from {
23
+ transform: rotate(0deg);
24
+ }
25
+ to {
26
+ transform: rotate(360deg);
27
+ }
24
28
  }
25
29
 
26
30
  #pdf-frame {
27
- display: none;
28
- align-items: stretch;
29
- position: absolute;
30
- width: 100%;
31
- height: 100%
31
+ display: none;
32
+ align-items: stretch;
33
+ position: absolute;
34
+ width: 100%;
35
+ height: 100%
32
36
  }
33
37
 
34
38
  #root {
35
- height: 100%;
36
- background-color: #ffffff;
39
+ height: 100%;
40
+ background-color: #ffffff;
41
+ overflow: hidden;
37
42
  }
@@ -1,37 +1,42 @@
1
1
  .App {
2
- text-align: center;
2
+ text-align: center;
3
3
  }
4
4
 
5
5
  .App-logo {
6
- animation: App-logo-spin infinite 20s linear;
7
- height: 80px;
6
+ animation: App-logo-spin infinite 20s linear;
7
+ height: 80px;
8
8
  }
9
9
 
10
10
  .App-header {
11
- background-color: #f1f1f1;
12
- height: 150px;
13
- padding: 20px;
14
- color: white;
11
+ background-color: #f1f1f1;
12
+ height: 150px;
13
+ padding: 20px;
14
+ color: white;
15
15
  }
16
16
 
17
17
  .App-intro {
18
- font-size: large;
18
+ font-size: large;
19
19
  }
20
20
 
21
21
  @keyframes App-logo-spin {
22
- from { transform: rotate(0deg); }
23
- to { transform: rotate(360deg); }
22
+ from {
23
+ transform: rotate(0deg);
24
+ }
25
+ to {
26
+ transform: rotate(360deg);
27
+ }
24
28
  }
25
29
 
26
30
  #pdf-frame {
27
- display: none;
28
- align-items: stretch;
29
- position: absolute;
30
- width: 100%;
31
- height: 100%
31
+ display: none;
32
+ align-items: stretch;
33
+ position: absolute;
34
+ width: 100%;
35
+ height: 100%
32
36
  }
33
37
 
34
38
  #root {
35
- height: 100%;
36
- background-color: #ffffff;
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', '38vh');
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: index,
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: index,
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: index,
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.getChildren)) {
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
- }, props?.config?.tabPages?.length > 0 ? props.config.tabPages.map((page, index) => /*#__PURE__*/_react.default.createElement(_Tab.default, _extends({
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
- }))) : null)), !_Utils.default.isNull(props.config) && !_Utils.default.isNull(props.config.tabPages) && props.config.tabPages.length > 0 ? props.config.tabPages.map((page, index) => {
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
- }) : null);
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
- let children = [];
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
- let requiredNewVal = !_Utils.default.isNull(parsedConfig.validator) ? !_Utils.default.evaluateBooleanExpression(parsedConfig.validator.nullable, parsedConfig.id, true) || _Utils.default.evaluateBooleanExpression(parsedConfig.validator.required, parsedConfig.id, false) : false;
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
  };
@@ -60,6 +60,5 @@
60
60
 
61
61
  .side-menu-module-dashboard .sidebar {
62
62
  width: 260px !important;
63
- border: 20px solid red;
64
63
  }
65
64
  }
@@ -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
- setValue(boundValue);
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
- setValue(boundValue);
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
- setRows([].concat(base.value));
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
- _react.default.useEffect(() => {
24
- if (!_Utils.default.isNull(base.value) && !optionsLoaded) {
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(base.value);
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(base.value)) {
31
- initialValue.current = base.value;
32
+ if (_Utils.default.isNull(initialValue.current) && !_Utils.default.isNull(newValue)) {
33
+ initialValue.current = newValue;
32
34
  }
33
- setValue(base.value?.id);
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
- _Utils.default.publishErrorMessage(e, props.viewId);
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(defaultDate);
31
- }, [props.base.valueObject[props.base.valueProperty]]);
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 === 'string') {
72
- const [hours, minutes] = value.split(":").map(Number);
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, 0, 0);
75
- return inbound ? dateObject : dateObject.toLocaleTimeString('it-IT');
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
- return !_Utils.default.isNull(value) ? inbound ? new Date(value) : new Date(value).toLocaleTimeString('it-IT') : null;
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
- let children = [];
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)';
@@ -16,7 +16,8 @@ const withStyledDialog = Component => (0, _withStyles.default)(theme => ({
16
16
  pointerEvents: "none",
17
17
  zIndex: 0,
18
18
  left: 'unset',
19
- borderRadius: '4px'
19
+ borderRadius: '4px',
20
+ position: 'unset'
20
21
  },
21
22
  paper: props => ({
22
23
  pointerEvents: "auto",
@@ -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
- }, !props.isCurrentUser && getParticipantName(), !props.isCurrentUser && /*#__PURE__*/_react.default.createElement("span", {
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: '216px'
640
+ width: '100%'
629
641
  }
630
642
  }, /*#__PURE__*/_react.default.createElement("div", {
631
643
  className: 'col no-margin no-padding',
632
644
  style: {
633
- textAlign: 'left'
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 red'
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: `${(displayState === 'MAXIMIZED' ? 'col ' : '') + 'no-margin no-padding'}`,
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['label']);
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
- for (const attendee of meeting.attendees) {
20
- let username = attendee.username;
21
- if (username !== _ApplicationManager.default.getUserDetails().username) {
22
- recipientIds.push(username);
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
- if (api.model.currentMeetingStep === 'QUORUM' && data.step === 'COMPLIANCE_EVALUATION') {
68
- this.showComponent("preEvaluationNext");
69
- } else if (api.model.currentMeetingStep === 'PRE_COMPLIANCE_EVALUATION' && data.step === 'FUNCTIONAL_EVALUATION') {
70
- this.showComponent("complianceEvaluationNext");
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agilemotion/oui-react-js",
3
- "version": "1.8.44",
3
+ "version": "1.8.46",
4
4
  "description": "AgileMotion React UI Component Library - A comprehensive collection of dashboard components, forms, media controls, and more",
5
5
  "license": "ISC",
6
6
  "author": "",