@agilemotion/oui-react-js 1.3.9 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/{ApplicationContext.js → ApplicationManager.js} +196 -74
  2. package/dist/BasicApp.js +66 -63
  3. package/dist/BasicAppHome.js +85 -118
  4. package/dist/BusinessPortalAppHome.js +9 -15
  5. package/dist/DynamicJS.js +7 -3
  6. package/dist/RestUtils.js +13 -14
  7. package/dist/Utils.js +15 -9
  8. package/dist/WithRouter.js +34 -0
  9. package/dist/assets/scss/black-dashboard-react/custom/_sidebar-and-main-panel.scss +1 -1
  10. package/dist/components/AlertBar.js +1 -1
  11. package/dist/components/Button.js +34 -25
  12. package/dist/components/Calendar.js +9 -45
  13. package/dist/components/DataGrid.js +49 -18
  14. package/dist/components/DataGridColumn.js +1 -1
  15. package/dist/components/DataGridFilter.js +2 -2
  16. package/dist/components/Dialog.js +1 -1
  17. package/dist/components/DocumentViewer.js +5 -5
  18. package/dist/components/FileThumb.js +30 -19
  19. package/dist/components/Graph.js +10 -2
  20. package/dist/components/GraphNode.js +1 -1
  21. package/dist/components/HtmlPanel.js +10 -5
  22. package/dist/components/Icon.js +8 -0
  23. package/dist/components/PopupView.js +1 -1
  24. package/dist/components/Portlet.js +100 -0
  25. package/dist/components/SignaturePanel.js +1 -1
  26. package/dist/components/SocketManager.js +2 -2
  27. package/dist/components/StepperTitleBar.js +4 -4
  28. package/dist/components/TabPanel.js +11 -3
  29. package/dist/components/TableCellContent.js +1 -1
  30. package/dist/components/TemplateDesigner.js +11 -11
  31. package/dist/components/TitleBar.js +4 -3
  32. package/dist/components/Toolbar.js +42 -11
  33. package/dist/components/Tree.js +3 -3
  34. package/dist/components/dashboard/BasicBusinessAppDashboard.js +9 -7
  35. package/dist/components/dashboard/components/Header.js +1 -1
  36. package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.css +7 -0
  37. package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +74 -72
  38. package/dist/components/form/AutoComplete.js +31 -30
  39. package/dist/components/form/BaseField.js +38 -26
  40. package/dist/components/form/DatePicker.js +5 -2
  41. package/dist/components/form/FieldSet.js +11 -19
  42. package/dist/components/form/Form.js +24 -16
  43. package/dist/components/form/ImageEditor.js +4 -4
  44. package/dist/components/form/MultiFileUploadField.js +15 -14
  45. package/dist/components/form/RadioGroup.js +10 -11
  46. package/dist/components/form/Section.js +10 -0
  47. package/dist/components/form/TimePicker.js +1 -0
  48. package/dist/components/form/UploadField.js +115 -108
  49. package/dist/components/layout/Layout.js +65 -12
  50. package/dist/components/layout/View.css +1 -0
  51. package/dist/components/layout/View.js +20 -23
  52. package/dist/components/layout/ViewContainer.css +3 -0
  53. package/dist/components/layout/ViewContainer.js +59 -0
  54. package/dist/components/layout/ViewPort.js +50 -80
  55. package/dist/components/layout/Window.css +18 -0
  56. package/dist/components/layout/Window.js +287 -0
  57. package/dist/components/layout/WindowViewPort.js +71 -0
  58. package/dist/components/media/MediaSoupHelper.js +1 -1
  59. package/dist/components/media/Toolbar.css +18 -3
  60. package/dist/components/media/Toolbar.js +80 -56
  61. package/dist/components/media/TrainingRoom.js +97 -20
  62. package/dist/components/media/VCRoom.js +1 -1
  63. package/dist/components/media/VCRoomParticipant.js +17 -15
  64. package/dist/components/media/VCRoomRecorder.js +223 -0
  65. package/dist/components/media/VCRoomWorkspace.js +169 -156
  66. package/dist/components/media/VideoPlayer.css +10 -0
  67. package/dist/components/media/VideoPlayer.js +86 -0
  68. package/dist/components/menu/MenuButton.js +22 -6
  69. package/dist/components/menu/MenuLink.js +13 -10
  70. package/dist/components/navbars/HomeNavbar.js +2 -2
  71. package/dist/components/navbars/PortalNavbar.js +3 -3
  72. package/dist/components/signatures/AgilitySignaturePanel.js +4 -4
  73. package/dist/components/signatures/ImageSignatureInput.js +4 -4
  74. package/dist/components/signatures/SignatureInput.js +4 -4
  75. package/dist/components/signatures/SignatureTemplateDesigner.js +6 -6
  76. package/dist/event/ActionHandlers.js +3 -3
  77. package/dist/event/Observable.js +33 -15
  78. package/dist/event/RouteActionHandler.js +38 -29
  79. package/dist/event/ServiceCallActionHandler.js +4 -2
  80. package/dist/event/SignalGraphActionHandler.js +2 -2
  81. package/dist/js/Calendar.js +220 -0
  82. package/dist/js/Media.js +2 -2
  83. package/dist/view/Dashboard.js +34 -28
  84. package/dist/view/Views.js +30 -0
  85. package/dist/view/security/ChangePasswordBasic.js +6 -4
  86. package/dist/view/security/ForgotPassword.js +4 -4
  87. package/dist/view/security/ForgotPasswordBasic.js +4 -4
  88. package/dist/view/security/Login.js +4 -4
  89. package/dist/view/security/LoginBasic.js +5 -5
  90. package/dist/view/security/LoginBusinessPortal.js +4 -4
  91. package/dist/view/security/ResetPassword.js +4 -4
  92. package/dist/view/security/ResetPasswordBasic.js +6 -4
  93. package/package.json +8 -14
@@ -53,7 +53,7 @@ const CustomDatePickerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*
53
53
  };
54
54
 
55
55
  const getLimitDate = id => {
56
- let dateAttr = _Utils.default.getComponentAttribute(props.config, id, null);
56
+ let dateAttr = props.config[id];
57
57
 
58
58
  if (dateAttr) {
59
59
  if (dateAttr.toString().includes('now')) {
@@ -113,7 +113,9 @@ const CustomDatePickerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*
113
113
  ref: ref
114
114
  }, /*#__PURE__*/_react.default.createElement(ThemedKeyboardDatePicker, {
115
115
  id: props.id,
116
- InputProps: props.InputProps,
116
+ InputProps: {
117
+ readOnly: true
118
+ },
117
119
  disabled: base.disabled,
118
120
  required: base.required,
119
121
  format: "dd/MM/yyyy",
@@ -121,6 +123,7 @@ const CustomDatePickerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*
121
123
  value: base.value ? base.value : null,
122
124
  className: props.className,
123
125
  error: base.hasError,
126
+ helperText: base.errorMessage,
124
127
  margin: "dense",
125
128
  inputVariant: "outlined",
126
129
  style: _Utils.default.mergeStyles({
@@ -45,7 +45,7 @@ var _RestUtils = require("../../RestUtils");
45
45
 
46
46
  var _SignatureTemplateDesignerField = _interopRequireDefault(require("./SignatureTemplateDesignerField"));
47
47
 
48
- var _ApplicationContext = _interopRequireDefault(require("../../ApplicationContext"));
48
+ var _ApplicationManager = _interopRequireDefault(require("../../ApplicationManager"));
49
49
 
50
50
  require("./fieldset.css");
51
51
 
@@ -66,7 +66,7 @@ var _IconField = _interopRequireDefault(require("./IconField"));
66
66
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
67
67
 
68
68
  const FieldSet = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
69
- const [fieldGrid, setFieldGrid] = _react.default.useState(null);
69
+ const [fieldGrid] = _react.default.useState(_Utils.default.getFieldGrid(props.config.attributes, props.config.fields));
70
70
 
71
71
  const [componentHandles] = _react.default.useState({});
72
72
 
@@ -91,17 +91,14 @@ const FieldSet = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
91
91
  }, []);
92
92
 
93
93
  _react.default.useEffect(() => {
94
+ props.handle.api = api();
94
95
  props.handle.api.refresh();
95
96
 
96
97
  let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
97
98
 
98
99
  _Observable.default.addSubscriptions(parsedConfig.eventHandlingConfig, props.handle, props.viewId);
99
100
 
100
- _Observable.default.addSystemSubscriptions(parsedConfig);
101
-
102
- let fieldGrid = _Utils.default.getFieldGrid(props.config.attributes, props.config.fields);
103
-
104
- setFieldGrid(fieldGrid);
101
+ _Observable.default.addSystemSubscriptions(props.viewId, parsedConfig);
105
102
  }, []);
106
103
 
107
104
  function fireChangeEvent() {
@@ -411,22 +408,17 @@ const FieldSet = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
411
408
  },
412
409
 
413
410
  get value() {
414
- let value = {}; // TODO : First check if the form binding is map and process accordingly
415
-
416
- let map = {};
411
+ let value = {};
417
412
  let formValue = props.form().value;
418
413
 
419
414
  if (formValue === null) {
420
415
  return null;
421
416
  }
422
417
 
423
- if (!_Utils.default.isNull(formValue) && !_Utils.default.isNull(formValue.map)) {
424
- for (const field of props.config.fields) {
425
- map[field.id] = formValue.map[field.id];
426
- }
418
+ for (const field of props.config.fields) {
419
+ value[field.id] = formValue[field.id];
427
420
  }
428
421
 
429
- value.map = map;
430
422
  return value;
431
423
  },
432
424
 
@@ -437,9 +429,9 @@ const FieldSet = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
437
429
  if (componentValue) {
438
430
  let isEventData = componentValue.toString().startsWith('$event.data');
439
431
 
440
- let isEpression = _ApplicationContext.default.isExpression(componentValue);
432
+ let isEpression = _ApplicationManager.default.isExpression(componentValue);
441
433
 
442
- let val = isEventData || isEpression ? _ApplicationContext.default.resolveExpressionValue(componentValue, actionEvent ? actionEvent.data : null) : componentValue;
434
+ let val = isEventData || isEpression ? _ApplicationManager.default.resolveExpressionValue(componentValue, actionEvent ? actionEvent.data : null) : componentValue;
443
435
  props.form().bindData(val);
444
436
  let event = new _Event.default(props.handle, props.viewId, val);
445
437
 
@@ -471,15 +463,15 @@ const FieldSet = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
471
463
  refresh() {
472
464
  if (!_Utils.default.isNull(props.config) && !_Utils.default.isNull(props.config.visible)) {
473
465
  setVisible(_Utils.default.evaluateBooleanExpression(props.config.visible, props.config.id));
474
- refreshComponents();
475
466
  } else {
476
467
  setVisible(true);
477
- refreshComponents();
478
468
  }
479
469
 
480
470
  if (!_Utils.default.isNull(props.config) && !_Utils.default.isNull(props.config.disabled)) {
481
471
  setDisabled(_Utils.default.evaluateBooleanExpression(props.config.disabled, props.config.id));
482
472
  }
473
+
474
+ refreshComponents();
483
475
  }
484
476
 
485
477
  };
@@ -21,7 +21,7 @@ var _asyncMutex = require("async-mutex");
21
21
 
22
22
  var _Observable = _interopRequireDefault(require("../../event/Observable"));
23
23
 
24
- var _ApplicationContext = _interopRequireDefault(require("../../ApplicationContext"));
24
+ var _ApplicationManager = _interopRequireDefault(require("../../ApplicationManager"));
25
25
 
26
26
  var _ServiceCallActionHandler = _interopRequireDefault(require("../../event/ServiceCallActionHandler"));
27
27
 
@@ -184,11 +184,10 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
184
184
 
185
185
  data = values.current;
186
186
 
187
- if (!_Utils.default.isNull(containerErrorCallback.current) && _ApplicationContext.default.isFormMarkersEnabled()) {
187
+ if (!_Utils.default.isNull(containerErrorCallback.current) && _ApplicationManager.default.isFormMarkersEnabled()) {
188
188
  containerErrorCallback.current(fieldParentErrors);
189
189
  }
190
190
 
191
- console.log("FORM : " + valid);
192
191
  return valid ? data : null;
193
192
  }
194
193
 
@@ -251,12 +250,16 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
251
250
  };
252
251
 
253
252
  function updateViewTitle() {
254
- let currentView = _ApplicationContext.default.getCurrentView();
253
+ if (props.viewId) {
254
+ let view = _ApplicationManager.default.getView(props.viewId);
255
255
 
256
- let title = currentView.config.title;
256
+ if (view) {
257
+ let title = view.config.title;
257
258
 
258
- if (title.includes(props.config.id)) {
259
- _ApplicationContext.default.updateAppBarTitle(currentView.config.id, title);
259
+ if (title.includes(props.config.id)) {
260
+ _ApplicationManager.default.updateAppBarTitle(view.config.id, title);
261
+ }
262
+ }
260
263
  }
261
264
  }
262
265
 
@@ -278,7 +281,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
278
281
 
279
282
  function loadData(eventConfig, componentConfig, eventData = null) {
280
283
  let service = !_Utils.default.isNull(componentConfig.dataService) ? componentConfig.dataService : eventConfig !== null ? eventConfig.dataService : null;
281
- let componentValue = !_Utils.default.isNull(componentConfig.value) ? _ApplicationContext.default.resolveParameterConfigValue(componentConfig.value, eventData) : eventConfig !== null ? _ApplicationContext.default.resolveParameterConfigValue(eventConfig.value, eventData) : null;
284
+ let componentValue = !_Utils.default.isNull(componentConfig.value) ? _ApplicationManager.default.resolveParameterConfigValue(componentConfig.value, eventData) : eventConfig !== null ? _ApplicationManager.default.resolveParameterConfigValue(eventConfig.value, eventData) : null;
282
285
 
283
286
  if (!_Utils.default.isNull(service)) {
284
287
  if (service.type === 'rpc') {
@@ -320,17 +323,17 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
320
323
  return true;
321
324
  } else {
322
325
  if (!_Utils.default.isNull(componentValue)) {
323
- if (!_ApplicationContext.default.isExpression(componentValue)) {
324
- componentValue = _ApplicationContext.default.fillEventDataValue(componentValue, eventData);
326
+ if (!_ApplicationManager.default.isExpression(componentValue)) {
327
+ componentValue = _ApplicationManager.default.fillEventDataValue(componentValue, eventData);
325
328
  }
326
329
 
327
330
  let isEventData = componentValue.toString().startsWith('$event.data');
328
331
 
329
- if (_ApplicationContext.default.isExpression(componentValue) && !isEventData) {
332
+ if (_ApplicationManager.default.isExpression(componentValue) && !isEventData) {
330
333
  let path = _Utils.default.getPropertyChainPath(componentValue);
331
334
 
332
335
  if (!_Utils.default.isNull(path.valueObject)) {
333
- _Observable.default.addSystemGeneratedSubscription(props.viewId, props.config.id, () => {
336
+ _Observable.default.addSystemGeneratedSubscription(props.viewId, props.viewId, props.config.id, () => {
334
337
  let value = _DynamicJS.default.executeScript("".concat(props.config.id, "ValueEvaluator"), componentValue);
335
338
 
336
339
  if (!_Utils.default.isNull(value)) {
@@ -347,7 +350,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
347
350
  });
348
351
  }
349
352
  } else {
350
- let val = isEventData ? _ApplicationContext.default.resolveExpressionValue(componentValue, eventData) : componentValue;
353
+ let val = isEventData ? _ApplicationManager.default.resolveExpressionValue(componentValue, eventData) : componentValue;
351
354
 
352
355
  if (binder === 'MAP_OBJECT' && _Utils.default.isNull(componentValue.map)) {
353
356
  val = {};
@@ -377,6 +380,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
377
380
  });
378
381
 
379
382
  _react.default.useEffect(() => {
383
+ props.handle.api = api();
380
384
  let eventHandlingConfig = _Utils.default.isNull(config.eventHandlingConfig) ? {} : config.eventHandlingConfig;
381
385
  eventHandlingConfig.subscriptions = _Utils.default.isNull(eventHandlingConfig.subscriptions) ? [] : eventHandlingConfig.subscriptions;
382
386
 
@@ -397,7 +401,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
397
401
 
398
402
  _Observable.default.addSubscriptions(eventHandlingConfig, props.handle, props.viewId);
399
403
 
400
- _Observable.default.addSystemSubscriptions(config);
404
+ _Observable.default.addSystemSubscriptions(props.viewId, config);
401
405
 
402
406
  setConfig(config);
403
407
 
@@ -413,6 +417,10 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
413
417
  let event = new _Event.default(props.handle, props.viewId, null);
414
418
 
415
419
  _Observable.default.fireEvent(_EventType.default.COMPONENT_LOAD, event);
420
+
421
+ return () => {
422
+ _Observable.default.clearComponentEventListeners(props.handle);
423
+ };
416
424
  }, []);
417
425
 
418
426
  _react.default.useEffect(() => {
@@ -577,7 +585,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
577
585
  fieldParentErrors[field.parentId] = isParentInvalid;
578
586
  }
579
587
 
580
- if (updateErrors && !_Utils.default.isNull(containerErrorCallback.current) && _ApplicationContext.default.isFormMarkersEnabled()) {
588
+ if (updateErrors && !_Utils.default.isNull(containerErrorCallback.current) && _ApplicationManager.default.isFormMarkersEnabled()) {
581
589
  containerErrorCallback.current(fieldParentErrors);
582
590
  }
583
591
 
@@ -667,7 +675,7 @@ const Form = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwa
667
675
  }
668
676
  }
669
677
 
670
- _ApplicationContext.default.enableFormMarkers(false);
678
+ _ApplicationManager.default.enableFormMarkers(false);
671
679
 
672
680
  _Observable.default.processSystemGeneratedSubscriptions(props.config.id);
673
681
 
@@ -15,7 +15,7 @@ var _styles = require("@material-ui/core/styles");
15
15
 
16
16
  var _Utils = _interopRequireDefault(require("../../Utils"));
17
17
 
18
- var _ApplicationContext = _interopRequireDefault(require("./../../ApplicationContext"));
18
+ var _ApplicationManager = _interopRequireDefault(require("../../ApplicationManager"));
19
19
 
20
20
  var _Icon = _interopRequireDefault(require("../Icon"));
21
21
 
@@ -103,7 +103,7 @@ const ImageEditorComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_rea
103
103
  function process(callback, data, action) {
104
104
  let fetchConfig = getFetchConfig(data);
105
105
 
106
- let url = location + _ApplicationContext.default.getContextRoot() + _Utils.default.getComponentAttribute(props.config, 'processingUrl', null) + "/" + action + "/" + _Utils.default.getComponentAttribute(props.config, "mode", "DOC");
106
+ let url = location + _ApplicationManager.default.getContextRoot() + _Utils.default.getComponentAttribute(props.config, 'processingUrl', null) + "/" + action + "/" + _Utils.default.getComponentAttribute(props.config, "mode", "DOC");
107
107
 
108
108
  let rotateAngle = getRotateAngle(action);
109
109
 
@@ -115,9 +115,9 @@ const ImageEditorComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_rea
115
115
  callback(data);
116
116
  }).catch(e => {
117
117
  if (e.code === 401) {
118
- _ApplicationContext.default.clear();
118
+ _ApplicationManager.default.clear();
119
119
 
120
- _ApplicationContext.default.getApplicationHistory().push('/login');
120
+ _ApplicationManager.default.getApplicationHistory().push('/login');
121
121
  }
122
122
  }));
123
123
  }
@@ -49,16 +49,16 @@ const json = response => {
49
49
  return response.text();
50
50
  };
51
51
 
52
- const location = window.location.protocol + "//" + window.location.hostname;
52
+ const location = window.location.protocol + '//' + window.location.hostname;
53
53
 
54
- const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
54
+ const DocumentUpload = props => {
55
55
  const [files, setFiles] = _react.default.useState(null);
56
56
 
57
57
  const [multiple] = _react.default.useState(props.multiple === true);
58
58
 
59
59
  const classes = useStyles();
60
60
 
61
- const [errorMessage, setErrorMessage] = _react.default.useState("");
61
+ const [errorMessage, setErrorMessage] = _react.default.useState('');
62
62
 
63
63
  const base = props.base;
64
64
 
@@ -126,18 +126,18 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
126
126
  type: "file"
127
127
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("label", {
128
128
  htmlFor: "contained-button-file-".concat(props.config.id)
129
- }, /*#__PURE__*/_react.default.createElement(_Button.default, {
129
+ }, !base.disabled && /*#__PURE__*/_react.default.createElement(_Button.default, {
130
130
  component: "span",
131
131
  disabled: base.disabled,
132
132
  className: classes.button,
133
133
  style: {
134
- border: base.hasError ? "1px solid #f44336" : null,
135
- color: base.hasError ? "#f44336" : null
134
+ border: base.hasError ? '1px solid #f44336' : null,
135
+ color: base.hasError ? '#f44336' : null
136
136
  }
137
137
  }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
138
138
  id: _Utils.default.getComponentAttribute(props.config, 'icon', 'UPLOAD')
139
- }), props.config.attributes['label'] ? props.config.attributes['label'] : ""))), /*#__PURE__*/_react.default.createElement("div", {
140
- className: "row",
139
+ }), props.config.attributes['label'] ? props.config.attributes['label'] : ''))), /*#__PURE__*/_react.default.createElement("div", {
140
+ className: 'row',
141
141
  style: {
142
142
  marginLeft: '8px',
143
143
  marginRight: '0',
@@ -145,23 +145,25 @@ const DocumentUpload = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
145
145
  }
146
146
  }, files ? files.map((file, index) => {
147
147
  return /*#__PURE__*/_react.default.createElement("div", {
148
- className: "col",
148
+ key: index,
149
149
  style: {
150
150
  marginLeft: '0',
151
- marginRight: '0'
151
+ marginRight: '8px'
152
152
  }
153
153
  }, /*#__PURE__*/_react.default.createElement(_FileThumb.default, {
154
+ key: file.name,
154
155
  file: file,
156
+ disabled: base.disabled,
155
157
  onDelete: file => {
156
158
  deleteFile(file);
157
159
  }
158
160
  }));
159
161
  }) : null)));
160
- }));
162
+ };
161
163
 
162
164
  exports.DocumentUpload = DocumentUpload;
163
165
 
164
- const MultiFileUploadField = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
166
+ const MultiFileUploadField = props => {
165
167
  const clearTrigger = _react.default.useRef(false);
166
168
 
167
169
  return /*#__PURE__*/_react.default.createElement(_BaseField.BaseField, _extends({}, props, {
@@ -175,11 +177,10 @@ const MultiFileUploadField = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_rea
175
177
  }
176
178
  }
177
179
  }), base => /*#__PURE__*/_react.default.createElement(DocumentUpload, _extends({
178
- ref: ref,
179
180
  base: base,
180
181
  clearTrigger: clearTrigger.current
181
182
  }, props)));
182
- }));
183
+ };
183
184
 
184
185
  exports.MultiFileUploadField = MultiFileUploadField;
185
186
  var _default = MultiFileUploadField;
@@ -19,10 +19,6 @@ var _BaseField = require("./BaseField");
19
19
 
20
20
  var _Utils = _interopRequireDefault(require("../../Utils"));
21
21
 
22
- var _TextField = _interopRequireDefault(require("./TextField"));
23
-
24
- var _Observable = _interopRequireDefault(require("../../event/Observable"));
25
-
26
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
23
 
28
24
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -35,14 +31,13 @@ const RadioGroupWrapper = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.
35
31
 
36
32
  const options = _Utils.default.getComponentAttribute(props.config, 'options', []);
37
33
 
38
- const [initializing, setInitializing] = _react.default.useState(true);
34
+ const [value, setValue] = _react.default.useState(base.value ? base.value : props.defaultValue);
39
35
 
40
36
  _react.default.useEffect(() => {
41
- if (initializing) {
42
- base.handleValueChange(props.defaultValue);
43
- setInitializing(false);
37
+ if (base.value) {
38
+ setValue(base.value);
44
39
  }
45
- });
40
+ }, [base.value]);
46
41
 
47
42
  return /*#__PURE__*/_react.default.createElement("div", {
48
43
  style: {
@@ -56,14 +51,18 @@ const RadioGroupWrapper = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.
56
51
  "aria-label": "gender",
57
52
  name: "radios",
58
53
  required: base.required,
54
+ helperText: base.errorMessage,
59
55
  onChange: e => {
60
56
  base.handleValueChange(e.target.value);
61
57
  },
62
58
  error: base.hasError
63
- }, options.map(option => {
59
+ }, options.map((option, index) => {
64
60
  return /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
61
+ key: index,
65
62
  value: option.value,
66
- control: /*#__PURE__*/_react.default.createElement(_Radio.default, null),
63
+ control: /*#__PURE__*/_react.default.createElement(_Radio.default, {
64
+ checked: option.value === value
65
+ }),
67
66
  label: option.label
68
67
  });
69
68
  })));
@@ -19,6 +19,10 @@ var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
19
19
 
20
20
  var _HtmlPanel = _interopRequireDefault(require("../HtmlPanel"));
21
21
 
22
+ var _Video = _interopRequireDefault(require("../media/Video"));
23
+
24
+ var _VideoPlayer = _interopRequireDefault(require("../media/VideoPlayer"));
25
+
22
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
27
 
24
28
  const Section = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
@@ -76,6 +80,12 @@ const Section = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.fo
76
80
  viewId: props.viewId,
77
81
  values: props.values,
78
82
  key: componentKey++
83
+ }) : component.type === 'videoPlayer' ? /*#__PURE__*/_react.default.createElement(_VideoPlayer.default, {
84
+ config: component,
85
+ handle: createComponentHandle(component),
86
+ ref: /*#__PURE__*/_react.default.createRef(),
87
+ key: componentKey++,
88
+ viewId: props.viewId
79
89
  }) : component.type === 'htmlPanel' ? /*#__PURE__*/_react.default.createElement(_HtmlPanel.default, {
80
90
  config: component,
81
91
  handle: createComponentHandle(component),
@@ -75,6 +75,7 @@ const CustomTimePickerComponent = /*#__PURE__*/_react.default.memo( /*#__PURE__*
75
75
  value: base.value,
76
76
  className: props.className,
77
77
  error: base.hasError,
78
+ helperText: base.errorMessage,
78
79
  margin: "dense",
79
80
  inputVariant: "outlined",
80
81
  style: {