@agilemotion/oui-react-js 1.3.9 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) 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 +6 -16
  94. package/gulpfile.js +0 -77
@@ -23,7 +23,7 @@ var _Event = _interopRequireDefault(require("../event/Event"));
23
23
 
24
24
  var _EventType = _interopRequireDefault(require("../event/EventType"));
25
25
 
26
- var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
26
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
27
27
 
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
 
@@ -35,22 +35,22 @@ const useStyles = (0, _styles.makeStyles)(theme => ({
35
35
  marginRight: theme.spacing(2)
36
36
  },
37
37
  wrapper: {
38
- maxHeight: '32px',
39
38
  zIndex: 2
40
39
  }
41
40
  }));
42
41
 
43
42
  const Button = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
43
+ var _props$attributes, _props$attributes$sty, _props$config$attribu, _props$config$attribu2, _props$config$attribu3;
44
+
44
45
  const classes = useStyles();
45
46
 
46
47
  const [disabled, setDisabled] = _react.default.useState(false);
47
48
 
48
49
  const [visible, setVisible] = _react.default.useState(true);
49
50
 
50
- let color = _Utils.default.getComponentAttribute(props.config, 'color', 'default');
51
+ const [config, setConfig] = _react.default.useState(null);
51
52
 
52
- let width = !_Utils.default.isNull(props.config.attributes) && !_Utils.default.isNull(props.config.attributes['width']) ? parseInt(props.config.attributes['width'].toString().replace('px', '')) : null;
53
- let height = !_Utils.default.isNull(props.config.attributes) && !_Utils.default.isNull(props.config.attributes['height']) ? parseInt(props.config.attributes['height'].toString().replace('px', '')) : null;
53
+ let color = _Utils.default.getComponentAttribute(props.config, 'color', 'default');
54
54
 
55
55
  let label = _Utils.default.getComponentAttribute(props.config, 'label', null);
56
56
 
@@ -65,17 +65,29 @@ const Button = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
65
65
  }, []);
66
66
 
67
67
  _react.default.useEffect(() => {
68
- let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
68
+ if (config) {
69
+ props.handle.api = api();
70
+
71
+ let parsedConfig = _Utils.default.parseConfig(config, props.viewId);
69
72
 
70
- _Observable.default.addSubscriptions(parsedConfig.eventHandlingConfig, props.handle, props.viewId);
73
+ _Observable.default.addSubscriptions(parsedConfig.eventHandlingConfig, props.handle, props.viewId);
71
74
 
72
- _Observable.default.addSystemSubscriptions(parsedConfig);
75
+ _Observable.default.addSystemSubscriptions(props.viewId, parsedConfig);
73
76
 
74
- props.handle.api.refresh();
77
+ props.handle.api.refresh();
78
+ }
79
+ }, [config]);
80
+
81
+ _react.default.useEffect(() => {
82
+ var _props$tableRow$id;
83
+
84
+ setConfig(props.tableRow ? { ...props.config,
85
+ id: props.config.id + '_' + ((_props$tableRow$id = props.tableRow.id) === null || _props$tableRow$id === void 0 ? void 0 : _props$tableRow$id.replaceAll('-', ''))
86
+ } : props.config);
75
87
  }, []);
76
88
 
77
89
  const handleClick = e => {
78
- _ApplicationContext.default.enableFormMarkers(true);
90
+ _ApplicationManager.default.enableFormMarkers(true);
79
91
 
80
92
  let event = new _Event.default(props.handle, props.viewId);
81
93
 
@@ -85,7 +97,11 @@ const Button = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
85
97
  const api = () => {
86
98
  return {
87
99
  get id() {
88
- return props.config.id;
100
+ return config ? config.id : props.config.id;
101
+ },
102
+
103
+ get tableRow() {
104
+ return props.tableRow;
89
105
  },
90
106
 
91
107
  getChildren: () => {
@@ -101,7 +117,7 @@ const Button = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
101
117
  },
102
118
 
103
119
  refresh() {
104
- let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
120
+ let parsedConfig = _Utils.default.parseConfig(config ? config : props.config, props.viewId);
105
121
 
106
122
  setDisabled(_Utils.default.evaluateBooleanExpression(parsedConfig.disabled, parsedConfig.id));
107
123
  setVisible(_Utils.default.isNull(parsedConfig.visible) || _Utils.default.evaluateBooleanExpression(parsedConfig.visible, parsedConfig.id));
@@ -113,7 +129,7 @@ const Button = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
113
129
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
114
130
  className: classes.root,
115
131
  style: {
116
- width: width,
132
+ width: (_props$attributes = props.attributes) === null || _props$attributes === void 0 ? void 0 : (_props$attributes$sty = _props$attributes.style) === null || _props$attributes$sty === void 0 ? void 0 : _props$attributes$sty.width,
117
133
  display: visible ? 'block' : 'none'
118
134
  }
119
135
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -123,10 +139,7 @@ const Button = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
123
139
  size: "large",
124
140
  color: !_Utils.default.isNull(color) ? color : null,
125
141
  ref: ref,
126
- style: {
127
- width: width,
128
- height: height
129
- },
142
+ style: (_props$config$attribu = props.config.attributes) === null || _props$config$attribu === void 0 ? void 0 : _props$config$attribu.style,
130
143
  disabled: disabled,
131
144
  onClick: handleClick,
132
145
  startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
@@ -136,22 +149,18 @@ const Button = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
136
149
  "aria-controls": "menu-list-grow",
137
150
  ref: ref,
138
151
  disabled: disabled,
139
- style: {
140
- width: width
141
- },
152
+ style: (_props$config$attribu2 = props.config.attributes) === null || _props$config$attribu2 === void 0 ? void 0 : _props$config$attribu2.style,
142
153
  "aria-haspopup": "true",
143
154
  onClick: handleClick
144
155
  }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
145
- id: props.config.icon
156
+ id: props.config.icon,
157
+ color: 'white'
146
158
  })) : /*#__PURE__*/_react.default.createElement(_Button.default, {
147
159
  variant: color === 'secondary' || color === 'primary' ? 'contained' : 'text',
148
160
  "aria-controls": "menu-list-grow",
149
161
  color: color,
150
162
  ref: ref,
151
- style: {
152
- width: width,
153
- height: height
154
- },
163
+ style: (_props$config$attribu3 = props.config.attributes) === null || _props$config$attribu3 === void 0 ? void 0 : _props$config$attribu3.style,
155
164
  disabled: disabled,
156
165
  onClick: handleClick,
157
166
  "aria-haspopup": "true"
@@ -33,7 +33,7 @@ var _Event = _interopRequireDefault(require("../event/Event"));
33
33
 
34
34
  var _EventType = _interopRequireDefault(require("../event/EventType"));
35
35
 
36
- var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
36
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
37
37
 
38
38
  var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
39
39
 
@@ -45,6 +45,8 @@ var _Icon = _interopRequireDefault(require("./Icon"));
45
45
 
46
46
  var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
47
47
 
48
+ var _Calendar = _interopRequireDefault(require("../js/Calendar"));
49
+
48
50
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
49
51
 
50
52
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -97,7 +99,7 @@ const json = response => {
97
99
 
98
100
  const location = window.location.protocol + "//" + window.location.hostname;
99
101
 
100
- const Calendar = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
102
+ const Calendar = props => {
101
103
  const {
102
104
  isRtl
103
105
  } = props;
@@ -130,7 +132,7 @@ const Calendar = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
130
132
  }, props)));
131
133
 
132
134
  const loadEvents = (track = true) => {
133
- fetch(encodeURI(location + _ApplicationContext.default.getContextRoot() + '/calendar/api/v1/event/list'), {
135
+ fetch(encodeURI(location + _ApplicationManager.default.getContextRoot() + '/calendar/api/v1/event/list'), {
134
136
  method: 'GET',
135
137
  headers: {
136
138
  'Accept': 'application/json',
@@ -335,7 +337,7 @@ const Calendar = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
335
337
 
336
338
  _Observable.default.addSubscriptions(eventHandlingConfig, props.handle, props.viewId);
337
339
 
338
- _Observable.default.addSystemSubscriptions(parsedConfig);
340
+ _Observable.default.addSystemSubscriptions(props.viewId, parsedConfig);
339
341
  }, []);
340
342
 
341
343
  const toDateTimeString = date => {
@@ -344,45 +346,8 @@ const Calendar = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
344
346
  return dateStr + ' ' + timeStrTokens[0] + ':' + timeStrTokens[1];
345
347
  };
346
348
 
347
- const getEndDate = event => {
348
- if (event.end) {
349
- return new Date(event.end);
350
- } else if (event.extendedProps.schedule.rrule) {
351
- let startDate = new Date(event.start);
352
- return (0, _moment.default)(startDate).add("minutes", event.extendedProps.duration).toDate();
353
- }
354
-
355
- new Date();
356
- };
357
-
358
349
  const getFormObject = event => {
359
- let end = getEndDate(event);
360
- return {
361
- id: event.id,
362
- title: event.title,
363
- locations: event.extendedProps.locations,
364
- description: event.extendedProps.description,
365
- status: event.extendedProps.status,
366
- host: event.extendedProps.host,
367
- attendees: event.extendedProps.attendees,
368
- privacyType: event.extendedProps.privacyType,
369
- documents: event.extendedProps.documents,
370
- schedule: {
371
- startDate: event.start,
372
- startTime: event.start,
373
- endDate: end,
374
- endTime: end,
375
- scheduleId: event.extendedProps.schedule.id,
376
- recurringFreq: event.extendedProps.schedule.rrule.freq,
377
- recurringInterval: event.extendedProps.schedule.rrule.interval,
378
- recurringDtstart: new Date(event.extendedProps.schedule.rrule.dtstart),
379
- recurringUntil: new Date(event.extendedProps.schedule.rrule.until),
380
- recurringByweekday: event.extendedProps.schedule.rrule.byweekday,
381
- recurringBysetpos: event.extendedProps.schedule.rrule.bysetpos,
382
- recurringBymonthday: event.extendedProps.schedule.rrule.bymonthday
383
- },
384
- askToJoin: _Utils.default.isNull(event.extendedProps.askToJoin) ? false : event.extendedProps.askToJoin
385
- };
350
+ return _Calendar.default.calendarEventToFormObject(event);
386
351
  };
387
352
 
388
353
  const api = () => {
@@ -436,11 +401,11 @@ const Calendar = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
436
401
  size: "large",
437
402
  color: "primary",
438
403
  style: {
439
- color: '#ffffff',
440
404
  borderRadius: '4px',
441
405
  marginRight: '2px'
442
406
  },
443
407
  onClick: e => {
408
+ setOpen(false);
444
409
  let event = new _Event.default(props.handle, props.viewId, getFormObject(selectedEvent));
445
410
 
446
411
  _Observable.default.fireEvent(_EventType.default.CALENDAR_EVENT_START, event);
@@ -450,7 +415,6 @@ const Calendar = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
450
415
 
451
416
  return /*#__PURE__*/_react.default.createElement("div", {
452
417
  className: props.className,
453
- ref: ref,
454
418
  style: _Utils.default.mergeStyles({
455
419
  padding: '16px 0',
456
420
  margin: '0',
@@ -472,7 +436,7 @@ const Calendar = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
472
436
  }, /*#__PURE__*/_react.default.createElement("div", {
473
437
  className: 'w-100 h-100'
474
438
  }, createEventPopup())));
475
- }));
439
+ };
476
440
 
477
441
  var _default = Calendar;
478
442
  exports.default = _default;
@@ -47,7 +47,9 @@ var $ = _interopRequireWildcard(require("jquery"));
47
47
 
48
48
  var _Alert = _interopRequireDefault(require("react-bootstrap/Alert"));
49
49
 
50
- var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
50
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
51
+
52
+ var _Layout = require("./layout/Layout");
51
53
 
52
54
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
53
55
 
@@ -171,16 +173,16 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
171
173
 
172
174
  const [rowsPerPage, setRowsPerPage] = _react.default.useState(props.config.pageSize);
173
175
 
174
- const [cells] = _react.default.useState([]);
176
+ const highlightRowSelection = _react.default.useRef(!_Utils.default.isNull(props.config.highlightRowSelection) ? props.config.highlightRowSelection : true);
175
177
 
176
- const {
177
- actionsToolbar
178
- } = props;
178
+ const [cells] = _react.default.useState([]);
179
179
 
180
180
  const [headingHandle] = _react.default.useState({});
181
181
 
182
182
  const [filterHandle] = _react.default.useState({});
183
183
 
184
+ const [columnLayoutHandles] = _react.default.useState([]);
185
+
184
186
  const rowCount = _react.default.useRef(-1);
185
187
 
186
188
  const loadingRef = _react.default.useRef(true);
@@ -239,6 +241,23 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
239
241
  }
240
242
  }
241
243
 
244
+ let properties = Object.getOwnPropertyNames(columnLayoutHandles);
245
+
246
+ for (const property of properties) {
247
+ let columnLayoutHandle = columnLayoutHandles[property];
248
+ children.push(columnLayoutHandle);
249
+
250
+ if (!_Utils.default.isNull(columnLayoutHandle.api) && !_Utils.default.isNull(columnLayoutHandle.api.getChildren)) {
251
+ let moreChildren = columnLayoutHandle.api.getChildren();
252
+
253
+ if (!_Utils.default.isNull(moreChildren)) {
254
+ for (const child of moreChildren) {
255
+ children.push(child);
256
+ }
257
+ }
258
+ }
259
+ }
260
+
242
261
  return children;
243
262
  },
244
263
  loadData: actionConfig => {
@@ -343,7 +362,7 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
343
362
  props.onSelectionChange([]);
344
363
  }
345
364
 
346
- _ApplicationContext.default.enableFormMarkers(true);
365
+ _ApplicationManager.default.enableFormMarkers(true);
347
366
  }
348
367
 
349
368
  function getSelectedRows(selected) {
@@ -363,7 +382,7 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
363
382
  }
364
383
 
365
384
  function doHandleClick(event, id) {
366
- _ApplicationContext.default.enableFormMarkers(true);
385
+ _ApplicationManager.default.enableFormMarkers(true);
367
386
 
368
387
  const selectedIndex = -1;
369
388
  selected.indexOf(id);
@@ -489,7 +508,7 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
489
508
  }
490
509
  } else {
491
510
  if (actionConfig && actionConfig.value) {
492
- let data = _ApplicationContext.default.resolveParameterConfigValue(actionConfig.value);
511
+ let data = _ApplicationManager.default.resolveParameterConfigValue(actionConfig.value);
493
512
 
494
513
  processData(data, conf);
495
514
  }
@@ -513,17 +532,13 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
513
532
  props.handle.api = api();
514
533
  }, []);
515
534
 
516
- _react.default.useEffect(() => {
517
- console.log('DATA GRID RENDERED : ' + props.config.id);
518
- }, []);
519
-
520
535
  _react.default.useEffect(() => {
521
536
  let eventHandlingConfig = _Utils.default.isNull(config.eventHandlingConfig) ? {} : config.eventHandlingConfig;
522
537
  eventHandlingConfig.subscriptions = _Utils.default.isNull(eventHandlingConfig.subscriptions) ? [] : eventHandlingConfig.subscriptions;
523
538
 
524
539
  _Observable.default.addSubscriptions(eventHandlingConfig, props.handle, props.viewId);
525
540
 
526
- _Observable.default.addSystemSubscriptions(config);
541
+ _Observable.default.addSystemSubscriptions(props.viewId, config);
527
542
 
528
543
  let isEditable = false;
529
544
  let visibleColumnCount = 0;
@@ -753,6 +768,16 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
753
768
  }));
754
769
  }
755
770
 
771
+ function createColumnLayoutHandle(column, index) {
772
+ if (_Utils.default.isNull(columnLayoutHandles[column.id + index])) {
773
+ let handle = {};
774
+ columnLayoutHandles[column.id + index] = handle;
775
+ return handle;
776
+ }
777
+
778
+ return columnLayoutHandles[column.id + index];
779
+ }
780
+
756
781
  return /*#__PURE__*/_react.default.createElement("div", {
757
782
  ref: ref,
758
783
  style: _Utils.default.isNull(props.hasBorder) || props.hasBorder === true ? _Utils.default.mergeStyles({
@@ -837,8 +862,6 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
837
862
  }, stableSort(rows, getSorting(order, orderBy)).map((row, index) => {
838
863
  const isItemSelected = isSelected(row.id);
839
864
  const labelId = "enhanced-table-checkbox-".concat(index);
840
- row.index = index;
841
- let counter = 0;
842
865
  return /*#__PURE__*/_react.default.createElement(_reactSuperResponsiveTable.Tr, {
843
866
  style: {
844
867
  display: 'flex',
@@ -851,7 +874,7 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
851
874
  key: row.id,
852
875
  id: 'ROW-' + row.id,
853
876
  selected: isItemSelected,
854
- className: isItemSelected ? classes.tableSelected : classes.tableRow
877
+ className: highlightRowSelection.current ? isItemSelected ? classes.tableSelected : classes.tableRow : null
855
878
  }, config.selectionMode === 'MULTIPLE' ? /*#__PURE__*/_react.default.createElement(_reactSuperResponsiveTable.Td, {
856
879
  padding: "checkbox",
857
880
  width: MULTI_SELECT_CHECKBOX_COL_WIDTH + 'px',
@@ -861,14 +884,22 @@ const DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.f
861
884
  inputProps: {
862
885
  'aria-labelledby': labelId
863
886
  }
864
- })) : null, config.columns.map(column => column.attributes['hidden'] === true ? null : counter++ === config.columns.length - 1 && actionsToolbar !== null && typeof actionsToolbar !== 'undefined' ? /*#__PURE__*/_react.default.createElement(_reactSuperResponsiveTable.Td, {
887
+ })) : null, config.columns.map(column => column.attributes['hidden'] === true ? null : column.layout ? /*#__PURE__*/_react.default.createElement(_reactSuperResponsiveTable.Td, {
865
888
  style: {
889
+ padding: 0,
866
890
  width: column.attributes.width ? column.attributes.width : 100 / config.columns.length + '%'
867
891
  },
868
892
  align: "left",
869
893
  className: isItemSelected && !_Utils.default.isNull(props.form) && !_Utils.default.isNull(column.editor) ? 'editCell' : null,
870
894
  key: column.id
871
- }, "Row action toolbar not supported") : /*#__PURE__*/_react.default.createElement(_reactSuperResponsiveTable.Td, {
895
+ }, /*#__PURE__*/_react.default.createElement(_Layout.Layout, {
896
+ ref: /*#__PURE__*/_react.default.createRef(),
897
+ handle: createColumnLayoutHandle(column, index),
898
+ tableRow: row,
899
+ config: JSON.parse(JSON.stringify(props.config.columns.find(col => col.id === column.id).layout)),
900
+ viewId: props.viewId,
901
+ parent: false
902
+ })) : /*#__PURE__*/_react.default.createElement(_reactSuperResponsiveTable.Td, {
872
903
  style: {
873
904
  width: column.attributes.width ? column.attributes.width : 100 / config.columns.length + '%'
874
905
  },
@@ -53,7 +53,7 @@ const DataGridColumn = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
53
53
 
54
54
  setConfig(parsedConfig);
55
55
 
56
- _Observable.default.addSystemSubscriptions(parsedConfig);
56
+ _Observable.default.addSystemSubscriptions(props.viewId, parsedConfig);
57
57
  }
58
58
  }, [props.config]);
59
59
 
@@ -21,7 +21,7 @@ var _Search = _interopRequireDefault(require("@material-ui/icons/Search"));
21
21
 
22
22
  var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
23
23
 
24
- var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
24
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
25
25
 
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
 
@@ -181,7 +181,7 @@ const DataGridFilter = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
181
181
  console.error('Invalid filter data');
182
182
  }
183
183
 
184
- _ApplicationContext.default.enableFormMarkers(true);
184
+ _ApplicationManager.default.enableFormMarkers(true);
185
185
  };
186
186
 
187
187
  const api = () => {
@@ -45,7 +45,7 @@ const Dialog = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.for
45
45
 
46
46
  _Observable.default.addSubscriptions(parsedConfig.eventHandlingConfig, props.handle, props.config.id);
47
47
 
48
- _Observable.default.addSystemSubscriptions(parsedConfig);
48
+ _Observable.default.addSystemSubscriptions(props.viewId, parsedConfig);
49
49
  }, []);
50
50
 
51
51
  function doUpdateModel(values) {
@@ -11,7 +11,7 @@ var _Utils = _interopRequireDefault(require("../Utils"));
11
11
 
12
12
  var _Observable = _interopRequireDefault(require("../event/Observable"));
13
13
 
14
- var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
14
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
15
15
 
16
16
  var _RestUtils = require("../RestUtils");
17
17
 
@@ -37,7 +37,7 @@ const DocumentViewer = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
37
37
 
38
38
  _Observable.default.addSubscriptions(parsedConfig.eventHandlingConfig, props.handle, props.viewId);
39
39
 
40
- _Observable.default.addSystemSubscriptions(parsedConfig);
40
+ _Observable.default.addSystemSubscriptions(props.viewId, parsedConfig);
41
41
  }, []);
42
42
 
43
43
  const api = () => {
@@ -48,7 +48,7 @@ const DocumentViewer = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
48
48
 
49
49
  loadData: actionConfig => {
50
50
  if (!_Utils.default.isNull(actionConfig) && !_Utils.default.isNull(actionConfig.value)) {
51
- let value = _ApplicationContext.default.isExpression(actionConfig.value) ? _ApplicationContext.default.resolveExpressionValue(actionConfig.value) : actionConfig.value; // TODO : set value
51
+ let value = _ApplicationManager.default.isExpression(actionConfig.value) ? _ApplicationManager.default.resolveExpressionValue(actionConfig.value) : actionConfig.value; // TODO : set value
52
52
  } else {
53
53
  let service = !_Utils.default.isNull(props.config.dataService) ? props.config.dataService : actionConfig !== null ? actionConfig.dataService : null;
54
54
  let componentValue = !_Utils.default.isNull(props.config.value) ? props.config.value : actionConfig !== null ? actionConfig.value : null;
@@ -78,11 +78,11 @@ const DocumentViewer = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.def
78
78
  }
79
79
  } else {
80
80
  if (!_Utils.default.isNull(componentValue)) {
81
- if (_ApplicationContext.default.isExpression(componentValue)) {
81
+ if (_ApplicationManager.default.isExpression(componentValue)) {
82
82
  let path = _Utils.default.getPropertyChainPath(componentValue);
83
83
 
84
84
  if (!_Utils.default.isNull(path.valueObject)) {
85
- _Observable.default.addSystemGeneratedSubscription(props.viewId, props.config.id, () => {
85
+ _Observable.default.addSystemGeneratedSubscription(props.viewId, props.viewId, props.config.id, () => {
86
86
  let value = _DynamicJS.default.executeScript("".concat(props.config.id, "ValueEvaluator"), componentValue);
87
87
 
88
88
  if (!_Utils.default.isNull(value)) {// TODO : set value
@@ -13,7 +13,7 @@ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton")
13
13
 
14
14
  var _Icon = _interopRequireDefault(require("./Icon"));
15
15
 
16
- var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
16
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
@@ -21,19 +21,30 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
21
21
 
22
22
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
23
 
24
- const location = window.location.protocol + "//" + window.location.hostname;
24
+ const location = window.location.protocol + '//' + window.location.hostname;
25
25
 
26
- const FileThumb = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
27
- const [downloadUrl] = (0, _react.useState)(location + _ApplicationContext.default.getContextRoot() + '/docs/api/v1/manager/download/' + props.file.repositoryId + '?access_token=' + sessionStorage.getItem("accessToken") + '&idToken=' + sessionStorage.getItem("idToken"));
26
+ const FileThumb = props => {
27
+ const [file] = (0, _react.useState)(props.file);
28
+ const [downloadUrl, setDownloadUrl] = (0, _react.useState)(null);
28
29
 
29
- _react.default.useEffect(() => {}, []);
30
+ _react.default.useEffect(() => {
31
+ if (file) {
32
+ setDownloadUrl(location + _ApplicationManager.default.getContextRoot() + '/docs/api/v1/manager/download/' + file.repositoryId + '?access_token=' + sessionStorage.getItem('accessToken') + '&idToken=' + sessionStorage.getItem('idToken'));
33
+ }
34
+ }, [file]);
30
35
 
31
36
  const isImage = () => {
32
- return props.file.type.startsWith('image/');
37
+ var _file$type;
38
+
39
+ return (_file$type = file.type) === null || _file$type === void 0 ? void 0 : _file$type.startsWith('image/');
33
40
  };
34
41
 
35
42
  const getThumbImage = () => {
36
- return props.file.type === 'application/pdf' ? 'pdf-icon.png' : props.file.type === 'application/msword' ? 'doc.png' : props.file.type.startsWith('video/') ? 'media.png' : props.file.type.startsWith('audio/') ? 'media.png' : props.file.type === 'application/zip' ? 'zip.png' : props.file.type === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' ? 'doc.png' : props.file.type === 'application/vnd.ms-excel' ? 'excel.png' : props.file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ? 'excel.png' : props.file.type === 'application/vnd.ms-powerpoint' ? 'powerpoint.png' : 'default-file-thumb.png';
43
+ if (!file || !file.type) {
44
+ return 'default-file-thumb.png';
45
+ }
46
+
47
+ return file.type === 'application/pdf' ? 'pdf-icon.png' : file.type === 'application/msword' ? 'doc.png' : file.type.startsWith('video/') ? 'media.png' : file.type.startsWith('audio/') ? 'media.png' : file.type === 'application/zip' ? 'zip.png' : file.type === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' ? 'doc.png' : file.type === 'application/vnd.ms-excel' ? 'excel.png' : file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ? 'excel.png' : file.type === 'application/vnd.ms-powerpoint' ? 'powerpoint.png' : 'default-file-thumb.png';
37
48
  };
38
49
 
39
50
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -58,36 +69,36 @@ const FileThumb = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.
58
69
  marginLeft: '4px',
59
70
  marginRight: '4px'
60
71
  }
61
- }, /*#__PURE__*/_react.default.createElement("div", {
72
+ }, !props.disabled && /*#__PURE__*/_react.default.createElement("div", {
62
73
  style: {
63
- width: "10%"
74
+ width: '10%'
64
75
  }
65
76
  }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
66
77
  "aria-controls": "menu-list-grow",
67
78
  "aria-haspopup": "true",
68
79
  style: {
69
- width: "8px",
70
- height: "8px"
80
+ width: '8px',
81
+ height: '8px'
71
82
  },
72
- onClick: () => props.onDelete(props.file)
83
+ onClick: () => props.onDelete(file)
73
84
  }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
74
85
  id: 'DELETE'
75
86
  }))), /*#__PURE__*/_react.default.createElement("div", {
76
87
  style: {
77
- overflow: "hidden",
78
- textOverflow: "ellipsis",
88
+ overflow: 'hidden',
89
+ textOverflow: 'ellipsis',
79
90
  marginLeft: '10px',
80
91
  marginTop: '2px',
81
- whiteSpace: "nowrap"
92
+ whiteSpace: 'nowrap'
82
93
  },
83
94
  className: 'col'
84
- }, props.file.repositoryId ? /*#__PURE__*/_react.default.createElement("a", {
95
+ }, file.repositoryId ? /*#__PURE__*/_react.default.createElement("a", {
85
96
  style: {
86
97
  cursor: 'pointer'
87
98
  },
88
99
  target: "_blank",
89
100
  href: "".concat(downloadUrl)
90
- }, props.file.name) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.file.name))), /*#__PURE__*/_react.default.createElement("div", {
101
+ }, file.name) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, file.name))), /*#__PURE__*/_react.default.createElement("div", {
91
102
  className: 'row',
92
103
  style: {
93
104
  width: '98%',
@@ -106,10 +117,10 @@ const FileThumb = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.
106
117
  backgroundSize: 'contain',
107
118
  backgroundPosition: 'center',
108
119
  backgroundColor: 'transparent',
109
- backgroundImage: isImage() ? "url(".concat(props.file.repositoryId ? downloadUrl : props.file.payload, ")") : "url(".concat(require('../../assets/img/' + getThumbImage()), ")")
120
+ backgroundImage: isImage() ? "url(".concat(file.repositoryId ? downloadUrl : file.payload, ")") : "url(".concat(require('../../assets/img/' + getThumbImage()), ")")
110
121
  }
111
122
  })));
112
- }));
123
+ };
113
124
 
114
125
  var _default = FileThumb;
115
126
  exports.default = _default;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
8
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
9
9
 
10
10
  var _ActionHandlers = _interopRequireDefault(require("../event/ActionHandlers"));
11
11
 
@@ -39,6 +39,10 @@ class Graph {
39
39
  this.current = new _GraphNode.default(this.config.nodes[0]);
40
40
  this.addNodeToPath(this.current);
41
41
 
42
+ if (root.action.actionType === 'route') {
43
+ root.action.window = this.config.isWindow;
44
+ }
45
+
42
46
  _ActionHandlers.default.invokeHandler(root.action, null, null, this.config.id);
43
47
  });
44
48
 
@@ -46,7 +50,7 @@ class Graph {
46
50
  let nextNodeName = this.current.getNextNode(event);
47
51
 
48
52
  if (this.current.config.last && nextNodeName === null) {
49
- _ApplicationContext.default.removeLoadedGraph(true);
53
+ _ApplicationManager.default.removeLoadedGraph(true);
50
54
  } else {
51
55
  if (!_Utils.default.isNull(nextNodeName)) {
52
56
  for (const node of this.config.nodes) {
@@ -54,6 +58,10 @@ class Graph {
54
58
  this.current = new _GraphNode.default(node);
55
59
  this.addNodeToPath(this.current);
56
60
 
61
+ if (node.action.actionType === 'route') {
62
+ node.action.window = this.config.isWindow;
63
+ }
64
+
57
65
  _ActionHandlers.default.invokeHandler(node.action, null, null, this.config.id);
58
66
 
59
67
  break;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
8
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
9
9
 
10
10
  var _ActionHandlers = _interopRequireDefault(require("../event/ActionHandlers"));
11
11