@agilemotion/oui-react-js 1.8.14 → 1.8.16
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/ApplicationManager.js +8 -4
- package/dist/BasicApp.js +2 -1
- package/dist/components/DataGrid.js +39 -3
- package/dist/components/ProgressTracker.js +1 -1
- package/dist/components/Toolbar.js +1 -1
- package/dist/components/dashboard/FoldingSideTabDashboard.js +6 -4
- package/dist/components/form/Form.js +3 -2
- package/dist/components/form/LookupField.js +23 -3
- package/dist/components/layout/CollapsiblePanel.css +9 -9
- package/dist/components/layout/View.css +68 -68
- package/dist/components/layout/View.js +2 -2
- package/dist/components/layout/ViewPort.js +3 -2
- package/dist/components/layout/Window.css +5 -0
- package/dist/components/layout/Window.js +27 -4
- package/dist/components/layout/WindowDialog.js +0 -2
- package/dist/components/layout/WindowViewPort.js +2 -2
- package/dist/components/loader.css +36 -36
- package/dist/components/media/TrainingRoom.js +1 -0
- package/dist/components/media/VCRoom.js +4 -1
- package/dist/components/media/VCRoomParticipant.css +1 -1
- package/dist/components/media/VCRoomParticipant.js +2 -1
- package/dist/components/media/Video.css +4 -4
- package/dist/components/signatures/ResponsiveTable.css +91 -91
- package/dist/components/signatures/widgets.css +126 -126
- package/dist/js/Validators.js +10 -24
- package/dist/view/Dashboard.bck.js +562 -0
- package/dist/view/Dashboard.js +132 -84
- package/package.json +1 -1
package/dist/view/Dashboard.js
CHANGED
|
@@ -56,12 +56,31 @@ const DashboardCard = props => {
|
|
|
56
56
|
if (path && displayType) {
|
|
57
57
|
if (displayType === 'VIEW') {
|
|
58
58
|
(0, _RestUtils.sendRequest)(path, data => {
|
|
59
|
-
|
|
59
|
+
let dashboardView = {};
|
|
60
|
+
let defaultModel = {};
|
|
61
|
+
dashboardView.config = data;
|
|
62
|
+
dashboardView.parent = false;
|
|
63
|
+
dashboardView.popUp = false;
|
|
64
|
+
dashboardView.window = false;
|
|
65
|
+
dashboardView.config.window = false;
|
|
66
|
+
dashboardView.handle = {
|
|
67
|
+
api: {
|
|
68
|
+
get id() {
|
|
69
|
+
return data.id;
|
|
70
|
+
},
|
|
71
|
+
loaded: () => {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
_ApplicationManager.default.addView(dashboardView, path, true);
|
|
77
|
+
let element = /*#__PURE__*/_react.default.createElement(_View.View, {
|
|
60
78
|
key: data.id + "-" + keyCounter.current++,
|
|
61
79
|
config: data,
|
|
62
80
|
parameters: [],
|
|
63
|
-
handle: handle
|
|
64
|
-
})
|
|
81
|
+
handle: dashboardView.handle
|
|
82
|
+
});
|
|
83
|
+
setview(element);
|
|
65
84
|
});
|
|
66
85
|
} else {
|
|
67
86
|
let fetchConfig = {
|
|
@@ -154,16 +173,17 @@ const DashboardCard = props => {
|
|
|
154
173
|
};
|
|
155
174
|
return /*#__PURE__*/_react.default.createElement(_Paper.default, {
|
|
156
175
|
style: {
|
|
157
|
-
minWidth: '200px'
|
|
158
|
-
marginLeft: settings.first ? '0' : '16px',
|
|
159
|
-
minHeight: '40vh'
|
|
176
|
+
minWidth: '200px'
|
|
160
177
|
},
|
|
161
178
|
className: 'col',
|
|
162
179
|
ref: ref
|
|
163
180
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
164
181
|
className: 'row'
|
|
165
182
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
166
|
-
className: 'col-*-*'
|
|
183
|
+
className: 'col-*-*',
|
|
184
|
+
style: {
|
|
185
|
+
height: '64px'
|
|
186
|
+
}
|
|
167
187
|
}, /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledDropdown, null, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownToggle, {
|
|
168
188
|
color: "default",
|
|
169
189
|
"data-toggle": "dropdown",
|
|
@@ -220,10 +240,9 @@ const DashboardCard = props => {
|
|
|
220
240
|
}, name))), /*#__PURE__*/_react.default.createElement("div", {
|
|
221
241
|
className: 'row',
|
|
222
242
|
style: {
|
|
223
|
-
margin: '16px',
|
|
224
243
|
width: '100%',
|
|
225
|
-
height: '
|
|
226
|
-
padding: '8px 32px
|
|
244
|
+
height: 'calc(100% - 64px)',
|
|
245
|
+
padding: '8px 0 32px 32px'
|
|
227
246
|
}
|
|
228
247
|
}, !_Utils.default.isNull(path) && !_Utils.default.isNull(displayType) && displayType !== 'VIEW' && /*#__PURE__*/_react.default.createElement("object", {
|
|
229
248
|
data: path,
|
|
@@ -307,9 +326,9 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
307
326
|
const [settings] = _react.default.useState(_ApplicationManager.default.getDashboardSettings());
|
|
308
327
|
const [taskSummary, setTaskSummary] = _react.default.useState(null);
|
|
309
328
|
const [menuItems, setMenuItems] = _react.default.useState(null);
|
|
310
|
-
const [
|
|
311
|
-
const [
|
|
312
|
-
let
|
|
329
|
+
const [cardCols, setCardCols] = _react.default.useState(null);
|
|
330
|
+
const [columnHeights, setColumnHeights] = _react.default.useState([]);
|
|
331
|
+
let numCols = 2;
|
|
313
332
|
const api = {
|
|
314
333
|
get id() {
|
|
315
334
|
return '_sys_dashboard';
|
|
@@ -327,31 +346,6 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
327
346
|
const handle = {
|
|
328
347
|
'api': api
|
|
329
348
|
};
|
|
330
|
-
function setupCardRows(exclusion, defaultCardsPerRow) {
|
|
331
|
-
let row = null;
|
|
332
|
-
let gridRows = [];
|
|
333
|
-
dashboardCardCounter = 0;
|
|
334
|
-
let i = cardsPerRow ? cardsPerRow : defaultCardsPerRow;
|
|
335
|
-
for (const userDashboard of userDashboards) {
|
|
336
|
-
if (dashboardCardCounter++ % i === 0) {
|
|
337
|
-
row = [];
|
|
338
|
-
gridRows.push(row);
|
|
339
|
-
}
|
|
340
|
-
if (userDashboard !== exclusion) {
|
|
341
|
-
row.push(userDashboard);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
let populatedRows = [];
|
|
345
|
-
for (const gridRow of gridRows) {
|
|
346
|
-
if (gridRow.length > 0) {
|
|
347
|
-
populatedRows.push(gridRow);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
for (const gridRow of populatedRows) {
|
|
351
|
-
gridRow[0].first = true;
|
|
352
|
-
}
|
|
353
|
-
setCardRows(populatedRows);
|
|
354
|
-
}
|
|
355
349
|
const getDashboardMenu = path => {
|
|
356
350
|
return new Promise(resolve => {
|
|
357
351
|
let service = {
|
|
@@ -403,18 +397,40 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
403
397
|
setMenuItems(dashboardMenuitems);
|
|
404
398
|
}
|
|
405
399
|
}
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
"type": "rpc",
|
|
409
|
-
"procedureName": "getWorkFlowSummary",
|
|
410
|
-
"serviceId": "BPM.WorkFlow"
|
|
411
|
-
};*/
|
|
400
|
+
const setupCardCols = () => {
|
|
401
|
+
const totalItems = userDashboards.length;
|
|
412
402
|
|
|
413
|
-
|
|
414
|
-
if (
|
|
415
|
-
|
|
403
|
+
// Special case: 1 or 2 cards — full height
|
|
404
|
+
if (totalItems <= 2) {
|
|
405
|
+
const cols = Array.from({
|
|
406
|
+
length: totalItems
|
|
407
|
+
}, (_, i) => [userDashboards[i]]);
|
|
408
|
+
setCardCols(cols);
|
|
409
|
+
setColumnHeights(Array.from({
|
|
410
|
+
length: totalItems
|
|
411
|
+
}, () => '100%'));
|
|
412
|
+
return;
|
|
416
413
|
}
|
|
417
|
-
|
|
414
|
+
|
|
415
|
+
// Distribute round-robin into columns
|
|
416
|
+
const cols = Array.from({
|
|
417
|
+
length: numCols
|
|
418
|
+
}, () => []);
|
|
419
|
+
userDashboards.forEach((item, index) => {
|
|
420
|
+
cols[index % numCols].push(item);
|
|
421
|
+
});
|
|
422
|
+
setCardCols(cols);
|
|
423
|
+
|
|
424
|
+
// Determine max card count across all columns
|
|
425
|
+
const maxItems = Math.max(...cols.map(col => col.length));
|
|
426
|
+
const baseHeightPerCard = 40; // in vh
|
|
427
|
+
const totalTargetHeight = maxItems * baseHeightPerCard; // total height per column in vh
|
|
428
|
+
|
|
429
|
+
// Calculate target height per card in each column
|
|
430
|
+
const heights = cols.map(col => col.length > 0 ? `${(totalTargetHeight / col.length).toFixed(2)}vh` : '0vh');
|
|
431
|
+
setColumnHeights(heights);
|
|
432
|
+
};
|
|
433
|
+
_react.default.useEffect(() => {
|
|
418
434
|
if (_Utils.default.isNull(taskSummary)) {
|
|
419
435
|
(0, _RestUtils.sendRequest)(`${location + _ApplicationManager.default.getContextRoot()}/bpm/api/v1/summary`, result => {
|
|
420
436
|
if (!_Utils.default.isNull(result)) {
|
|
@@ -430,15 +446,15 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
430
446
|
for (const dashboard of dashboards) {
|
|
431
447
|
userDashboards.push(dashboard);
|
|
432
448
|
}
|
|
433
|
-
|
|
449
|
+
setupCardCols();
|
|
434
450
|
}
|
|
435
451
|
}, e => {
|
|
436
452
|
console.error(e);
|
|
437
453
|
// TODO : Show error message
|
|
438
454
|
}, true, true);
|
|
439
455
|
loadMenus();
|
|
440
|
-
if (!_Utils.default.isNull(settings) && !_Utils.default.isNull(userDashboards) && _Utils.default.isNull(
|
|
441
|
-
|
|
456
|
+
if (!_Utils.default.isNull(settings) && !_Utils.default.isNull(userDashboards) && _Utils.default.isNull(cardCols)) {
|
|
457
|
+
setupCardCols();
|
|
442
458
|
}
|
|
443
459
|
_ApplicationManager.default.setDashboardView({
|
|
444
460
|
handle: handle
|
|
@@ -450,31 +466,31 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
450
466
|
settings.path = path;
|
|
451
467
|
settings.parameters = {};
|
|
452
468
|
userDashboards.push(settings);
|
|
453
|
-
|
|
469
|
+
setupCardCols();
|
|
454
470
|
};
|
|
455
471
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
456
472
|
ref: ref,
|
|
457
473
|
style: {
|
|
458
|
-
|
|
474
|
+
height: '100%'
|
|
459
475
|
}
|
|
460
|
-
}, !_Utils.default.isNull(settings) && /*#__PURE__*/_react.default.createElement(
|
|
461
|
-
className: 'row'
|
|
462
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
463
|
-
className: 'col-*-*',
|
|
476
|
+
}, !_Utils.default.isNull(settings) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
464
477
|
style: {
|
|
465
|
-
|
|
466
|
-
|
|
478
|
+
width: '100%',
|
|
479
|
+
display: 'flex',
|
|
480
|
+
justifyContent: 'space-between'
|
|
467
481
|
}
|
|
468
|
-
}, /*#__PURE__*/_react.default.createElement("
|
|
482
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
469
483
|
style: {
|
|
470
|
-
|
|
484
|
+
display: 'flex',
|
|
485
|
+
alignItems: 'center',
|
|
486
|
+
gap: '4px'
|
|
471
487
|
}
|
|
472
|
-
},
|
|
473
|
-
className: 'col-*-*',
|
|
488
|
+
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
474
489
|
style: {
|
|
475
|
-
|
|
490
|
+
fontSize: '24px',
|
|
491
|
+
margin: 0
|
|
476
492
|
}
|
|
477
|
-
}, /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledDropdown, null, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownToggle, {
|
|
493
|
+
}, "Dashboard"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledDropdown, null, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownToggle, {
|
|
478
494
|
color: "default",
|
|
479
495
|
"data-toggle": "dropdown",
|
|
480
496
|
nav: true
|
|
@@ -495,11 +511,16 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
495
511
|
onClick: () => {
|
|
496
512
|
addDashboardCard(item);
|
|
497
513
|
}
|
|
498
|
-
}, item.attributes.label, ' '), ' '))) : null), ' ')), /*#__PURE__*/_react.default.createElement("div", {
|
|
514
|
+
}, item.attributes.label, ' '), ' '))) : null), ' '))), /*#__PURE__*/_react.default.createElement("div", {
|
|
499
515
|
style: {
|
|
500
|
-
|
|
516
|
+
height: 'calc(100% - 58px)',
|
|
517
|
+
overflowY: 'auto'
|
|
518
|
+
}
|
|
519
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
520
|
+
style: {
|
|
521
|
+
overflowY: 'hidden',
|
|
501
522
|
overflowX: 'hidden',
|
|
502
|
-
|
|
523
|
+
height: '100%',
|
|
503
524
|
padding: '0 4px 64px 0'
|
|
504
525
|
}
|
|
505
526
|
}, /*#__PURE__*/_react.default.createElement(_AlertBar.default, {
|
|
@@ -512,37 +533,64 @@ const Dashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.f
|
|
|
512
533
|
className: 'row',
|
|
513
534
|
style: {
|
|
514
535
|
paddingRight: '16px',
|
|
515
|
-
overflow: 'hidden'
|
|
536
|
+
overflow: 'hidden',
|
|
537
|
+
height: '168px'
|
|
516
538
|
}
|
|
517
539
|
}, /*#__PURE__*/_react.default.createElement(WorkFlowCard, {
|
|
518
|
-
margin: '0 0 16px
|
|
540
|
+
margin: '0 0 16px 8px',
|
|
519
541
|
title: 'Assigned to Me',
|
|
520
542
|
itemCount: taskSummary.personalWorkItemCount,
|
|
521
543
|
path: '/workflow/views/personal-work-items.json'
|
|
522
544
|
}), /*#__PURE__*/_react.default.createElement(WorkFlowCard, {
|
|
523
|
-
margin: '0 0 16px
|
|
545
|
+
margin: '0 0 16px 8px',
|
|
524
546
|
title: 'Available',
|
|
525
547
|
itemCount: taskSummary.groupWorkItemCount,
|
|
526
548
|
path: '/workflow/views/group-work-items.json'
|
|
527
549
|
}), /*#__PURE__*/_react.default.createElement(WorkFlowCard, {
|
|
528
|
-
margin: '0 0 16px
|
|
550
|
+
margin: '0 0 16px 8px',
|
|
529
551
|
title: 'Due Today',
|
|
530
552
|
itemCount: taskSummary.dueTodayItemCount,
|
|
531
553
|
path: '/workflow/views/due-today-work-items.json'
|
|
532
|
-
})), /*#__PURE__*/_react.default.createElement("div",
|
|
533
|
-
className: 'row',
|
|
554
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
534
555
|
style: {
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
556
|
+
overflowY: 'auto',
|
|
557
|
+
overflowX: 'hidden',
|
|
558
|
+
maxHeight: '100%',
|
|
559
|
+
height: 'calc(100% - 104px)'
|
|
560
|
+
}
|
|
561
|
+
}, cardCols && /*#__PURE__*/_react.default.createElement("div", {
|
|
562
|
+
style: {
|
|
563
|
+
display: 'flex',
|
|
564
|
+
width: '100%',
|
|
565
|
+
height: userDashboards.length <= 2 ? '100%' : 'auto'
|
|
566
|
+
}
|
|
567
|
+
}, cardCols.map((col, colIndex) => /*#__PURE__*/_react.default.createElement("div", {
|
|
568
|
+
key: colIndex,
|
|
569
|
+
style: {
|
|
570
|
+
flex: 1,
|
|
571
|
+
boxSizing: 'border-box',
|
|
572
|
+
display: 'flex',
|
|
573
|
+
flexDirection: 'column',
|
|
574
|
+
gap: '12px',
|
|
575
|
+
width: '50%',
|
|
576
|
+
marginLeft: colIndex % numCols ? '4px' : null,
|
|
577
|
+
marginRight: cardCols.length > 1 && !(colIndex % numCols) ? '4px' : null
|
|
578
|
+
}
|
|
579
|
+
}, col.map((dashboard, index) => /*#__PURE__*/_react.default.createElement("div", {
|
|
580
|
+
key: index,
|
|
581
|
+
style: {
|
|
582
|
+
height: columnHeights[colIndex],
|
|
583
|
+
borderRadius: '6px',
|
|
584
|
+
display: 'flex'
|
|
585
|
+
}
|
|
586
|
+
}, /*#__PURE__*/_react.default.createElement(DashboardCard, {
|
|
587
|
+
settings: dashboard,
|
|
588
|
+
index: colIndex + index,
|
|
589
|
+
key: index,
|
|
542
590
|
onDelete: () => {
|
|
543
|
-
userDashboards.splice(userDashboards.indexOf(
|
|
544
|
-
|
|
591
|
+
userDashboards.splice(userDashboards.indexOf(dashboard), 1);
|
|
592
|
+
setupCardCols();
|
|
545
593
|
}
|
|
546
|
-
}))))
|
|
594
|
+
})))))))))));
|
|
547
595
|
}));
|
|
548
596
|
var _default = exports.default = Dashboard;
|