@agilemotion/oui-react-js 1.7.1 → 1.7.3

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 (58) hide show
  1. package/dist/ApplicationManager.js +8 -3
  2. package/dist/BasicAppHome.js +1 -1
  3. package/dist/DynamicJS.js +5 -2
  4. package/dist/InteractionPortalAppHome.js +5 -0
  5. package/dist/RestService.js +344 -0
  6. package/dist/RestUtils.js +22 -8
  7. package/dist/Utils.js +9 -0
  8. package/dist/components/AlertBar.js +3 -0
  9. package/dist/components/DataGrid.js +72 -43
  10. package/dist/components/DocumentTemplateDesigner.css +2 -2
  11. package/dist/components/DocumentTemplateDesigner.js +43 -31
  12. package/dist/components/DocumentTemplateDesignerComponent.css +15 -0
  13. package/dist/components/DocumentTemplateDesignerComponent.js +368 -72
  14. package/dist/components/DocumentTemplatePlaceholderDialog.js +6 -6
  15. package/dist/components/DocumentViewer.css +10 -0
  16. package/dist/components/DocumentViewer.js +95 -45
  17. package/dist/components/Graph.js +12 -2
  18. package/dist/components/GraphNode.js +0 -2
  19. package/dist/components/{DocumentViewerComponent.js → PDFViewer.js} +2 -2
  20. package/dist/components/TabPage.js +7 -3
  21. package/dist/components/TabPanel.js +13 -3
  22. package/dist/components/TableCellContent.js +21 -4
  23. package/dist/components/TemplateDesigner.css +3 -2
  24. package/dist/components/TemplateDesigner.js +3 -1
  25. package/dist/components/TemplateItemEventHandler.js +30 -15
  26. package/dist/components/Toolbar.js +3 -1
  27. package/dist/components/Tree.js +5 -5
  28. package/dist/components/WordDocumentViewer.js +167 -0
  29. package/dist/components/dashboard/SideMenuModuleDashboard.js +1 -3
  30. package/dist/components/dashboard/components/blackDashboard/sidebar/ModuleMenuSidebar.css +4 -0
  31. package/dist/components/dashboard/components/blackDashboard/sidebar/ModuleMenuSidebar.js +131 -159
  32. package/dist/components/form/AutoComplete.js +28 -6
  33. package/dist/components/form/BaseField.js +3 -3
  34. package/dist/components/form/DatePicker.js +7 -2
  35. package/dist/components/form/FieldSet.js +24 -8
  36. package/dist/components/form/Form.js +4 -3
  37. package/dist/components/form/GridField.js +13 -37
  38. package/dist/components/form/LookupField.js +23 -23
  39. package/dist/components/form/RadioGroup.js +2 -1
  40. package/dist/components/form/Section.js +4 -0
  41. package/dist/components/form/SelectItem.js +2 -3
  42. package/dist/components/form/TextField.js +6 -6
  43. package/dist/components/layout/Layout.js +24 -15
  44. package/dist/components/menu/MenuButton.js +12 -7
  45. package/dist/components/menu/MenuLink.js +6 -0
  46. package/dist/components/signatures/AgilitySignaturePanel.js +33 -14
  47. package/dist/components/signatures/DocumentContainer.css +26 -1
  48. package/dist/components/signatures/DocumentContainer.js +55 -10
  49. package/dist/components/signatures/SignatureInputProps.js +59 -9
  50. package/dist/components/signatures/SignatureTemplateDesigner.js +71 -38
  51. package/dist/event/ActionHandlers.js +7 -4
  52. package/dist/event/RouteActionHandler.js +3 -3
  53. package/dist/event/ScriptActionHandler.js +2 -2
  54. package/dist/event/ServiceCallActionHandler.js +73 -28
  55. package/dist/js/Docs.js +57 -10
  56. package/dist/view/Dashboard.js +3 -3
  57. package/package.json +10 -5
  58. package/dist/components/DocumentView.css +0 -4
@@ -27,6 +27,7 @@ var $ = _interopRequireWildcard(require("jquery"));
27
27
  var _Alert = _interopRequireDefault(require("react-bootstrap/Alert"));
28
28
  var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
29
29
  var _Layout = require("./layout/Layout");
30
+ var _DynamicJS = _interopRequireDefault(require("../DynamicJS"));
30
31
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
31
32
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
33
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -115,20 +116,20 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
115
116
  const [totalNumberOfRows, setTotalNumberOfRows] = _react.default.useState(0);
116
117
  const [criteria] = _react.default.useState({});
117
118
  const [page, setPage] = _react.default.useState(0);
118
- const [rows, setRows] = _react.default.useState(!_Utils.default.isNull(props.rows) ? props.rows : []);
119
+ const [rows, setRows] = _react.default.useState([]);
119
120
  const [deletedRows, setDeletedRows] = _react.default.useState([]);
120
121
  const [editable, setEditable] = _react.default.useState(false);
121
122
  const [scrollWidth, setScrollWidth] = _react.default.useState(0);
122
123
  const [rowsPerPageOptions] = _react.default.useState([15, 30, 45, 60, 75]);
123
124
  const [rowsPerPageLoading, setRowsPerPageLoading] = _react.default.useState(true);
124
125
  const [rowsPerPage, setRowsPerPage] = _react.default.useState(props.config.pageSize);
125
- const highlightRowSelection = _react.default.useRef(!_Utils.default.isNull(props.config.highlightRowSelection) ? props.config.highlightRowSelection : true);
126
+ const highlightRowSelection = _react.default.useRef(!_Utils.default.isNull(props.config.highlightRowSelection) ? props.config.highlightRowSelection : !_Utils.default.isNull(props.config.disableRowSelection) ? !props.config.disableRowSelection : true);
126
127
  const [cells] = _react.default.useState([]);
127
128
  const [headingHandle] = _react.default.useState({});
128
129
  const [filterHandle] = _react.default.useState({});
129
130
  const [columnLayoutHandles] = _react.default.useState([]);
130
131
  const rowCount = _react.default.useRef(-1);
131
- const loadingRef = _react.default.useRef(true);
132
+ const rowsRef = _react.default.useRef([]);
132
133
  let noteKey = 0;
133
134
  const api = () => {
134
135
  return {
@@ -210,6 +211,7 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
210
211
  },
211
212
  clear: () => {
212
213
  // TODO : dispose from observer
214
+ rowsRef.current = [];
213
215
  setRows([]);
214
216
  },
215
217
  addRows: newRows => {
@@ -220,7 +222,9 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
220
222
  for (const newRow of newRows) {
221
223
  newSelection.push(newRow.id);
222
224
  }
223
- setSelected(newSelection);
225
+ if (_Utils.default.isNull(props.config.disableRowSelection) || props.config.disableRowSelection === false) {
226
+ setSelected(newSelection);
227
+ }
224
228
  if (!_Utils.default.isNull(props.onSelectionChange)) {
225
229
  props.onSelectionChange(newRows);
226
230
  }
@@ -233,7 +237,7 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
233
237
  return totalNumberOfRows / rowsPerPage;
234
238
  },
235
239
  get rows() {
236
- return rows;
240
+ return rowsRef.current;
237
241
  },
238
242
  search: () => {
239
243
  search();
@@ -260,15 +264,17 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
260
264
  setOrderBy(property);
261
265
  };
262
266
  function handleSelectAllClick(event) {
263
- if (event.target.checked) {
264
- const newSelecteds = rows.map(n => n.name);
265
- setSelected(newSelecteds);
266
- props.onSelectionChange(newSelecteds);
267
- } else {
268
- setSelected([]);
269
- props.onSelectionChange([]);
267
+ if (_Utils.default.isNull(props.config.disableRowSelection) || props.config.disableRowSelection === false) {
268
+ if (event.target.checked) {
269
+ const newSelecteds = rows.map(n => n.name);
270
+ setSelected(newSelecteds);
271
+ props.onSelectionChange(newSelecteds);
272
+ } else {
273
+ setSelected([]);
274
+ props.onSelectionChange([]);
275
+ }
276
+ _ApplicationManager.default.enableFormMarkers(true);
270
277
  }
271
- _ApplicationManager.default.enableFormMarkers(true);
272
278
  }
273
279
  function getSelectedRows(selected) {
274
280
  let selectedRows = [];
@@ -283,27 +289,29 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
283
289
  return selectedRows;
284
290
  }
285
291
  function doHandleClick(event, id) {
286
- _ApplicationManager.default.enableFormMarkers(true);
287
- const selectedIndex = -1;
288
- selected.indexOf(id);
289
- let newSelected = [];
290
- if (props.multiSelect === true) {
291
- if (selectedIndex === -1) {
292
- newSelected = newSelected.concat(selected, id);
293
- } else if (selectedIndex === 0) {
294
- newSelected = newSelected.concat(selected.slice(1));
295
- } else if (selectedIndex === selected.length - 1) {
296
- newSelected = newSelected.concat(selected.slice(0, -1));
297
- } else if (selectedIndex > 0) {
298
- newSelected = newSelected.concat(selected.slice(0, selectedIndex), selected.slice(selectedIndex + 1));
292
+ if (_Utils.default.isNull(props.config.disableRowSelection) || props.config.disableRowSelection === false) {
293
+ _ApplicationManager.default.enableFormMarkers(true);
294
+ const selectedIndex = -1;
295
+ selected.indexOf(id);
296
+ let newSelected = [];
297
+ if (props.multiSelect === true) {
298
+ if (selectedIndex === -1) {
299
+ newSelected = newSelected.concat(selected, id);
300
+ } else if (selectedIndex === 0) {
301
+ newSelected = newSelected.concat(selected.slice(1));
302
+ } else if (selectedIndex === selected.length - 1) {
303
+ newSelected = newSelected.concat(selected.slice(0, -1));
304
+ } else if (selectedIndex > 0) {
305
+ newSelected = newSelected.concat(selected.slice(0, selectedIndex), selected.slice(selectedIndex + 1));
306
+ }
307
+ } else {
308
+ newSelected.push(id);
309
+ }
310
+ let selectedRows = getSelectedRows(newSelected);
311
+ setSelected(newSelected);
312
+ if (!_Utils.default.isNull(props.onSelectionChange)) {
313
+ props.onSelectionChange(selectedRows);
299
314
  }
300
- } else {
301
- newSelected.push(id);
302
- }
303
- let selectedRows = getSelectedRows(newSelected);
304
- setSelected(newSelected);
305
- if (!_Utils.default.isNull(props.onSelectionChange)) {
306
- props.onSelectionChange(selectedRows);
307
315
  }
308
316
  }
309
317
  function fireSelectionEvent() {
@@ -349,11 +357,14 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
349
357
  };
350
358
  function processData(data, conf) {
351
359
  setTotalNumberOfRows(data.totalNumberOfRecords ? data.totalNumberOfRecords : data.records.length);
360
+ rowsRef.current = data.records;
361
+ updateRowClasses(data.records);
352
362
  let tableRows = [];
353
363
  let records = data.records;
354
364
  for (let i = 0; i < records.length; i++) {
355
365
  tableRows.push(observeRow(records[i]));
356
366
  }
367
+ rowsRef.current = tableRows;
357
368
  setRows(tableRows);
358
369
  }
359
370
  const search = function () {
@@ -371,8 +382,7 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
371
382
  if (serviceType === 'rpc' || serviceType === 'rest') {
372
383
  let method = serviceType === 'rpc' ? _RestUtils.invokeRpc : _RestUtils.invokeRest;
373
384
  method(service, props.handle, props.viewId, result => {
374
- let data = serviceType === 'rpc' ? result.data : result;
375
- processData(data, conf);
385
+ processData(result, conf);
376
386
  }, e => {
377
387
  console.error(e);
378
388
  //Utils.publishSystemErrorMessage(props.viewId);
@@ -460,9 +470,24 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
460
470
  newSelected.push(selectedElement);
461
471
  }
462
472
  }
463
- setSelected(newSelected);
473
+ if (_Utils.default.isNull(props.config.disableRowSelection) || props.config.disableRowSelection === false) {
474
+ setSelected(newSelected);
475
+ }
464
476
  });
465
477
  }
478
+ const updateRowClasses = newRows => {
479
+ if (newRows) {
480
+ if (props.config.rowAttributes && props.config.rowAttributes.classEvaluator) {
481
+ let index = 0;
482
+ for (const row of newRows) {
483
+ row.className = _DynamicJS.default.executeScriptObject('ROW-' + row.id + 'classEvaluator', props.config.rowAttributes.classEvaluator, props.config.id, {
484
+ index
485
+ }, null);
486
+ index++;
487
+ }
488
+ }
489
+ }
490
+ };
466
491
  _react.default.useEffect(() => {
467
492
  updateScrollBarPadding();
468
493
  _Observable.default.processSystemGeneratedSubscriptions(props.config.id);
@@ -481,9 +506,12 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
481
506
  _react.default.useEffect(() => {
482
507
  if (!_Utils.default.isNull(props.rows)) {
483
508
  let rowValues = [];
509
+ rowsRef.current = props.rows;
510
+ updateRowClasses(props.rows);
484
511
  for (const row of props.rows) {
485
512
  rowValues.push(observeRow(row));
486
513
  }
514
+ rowsRef.current = rowValues;
487
515
  setRows(rowValues);
488
516
  }
489
517
  }, [props.rows]);
@@ -676,19 +704,20 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
676
704
  }, rows.map((row, index) => {
677
705
  const isItemSelected = isSelected(row.id);
678
706
  const labelId = `enhanced-table-checkbox-${index}`;
707
+ let defaultRowStyle = {
708
+ display: 'flex',
709
+ flexWrap: 'wrap'
710
+ };
679
711
  return /*#__PURE__*/_react.default.createElement(_reactSuperResponsiveTable.Tr, {
680
- style: {
681
- display: 'flex',
682
- flexWrap: 'wrap'
683
- },
712
+ style: props.config.rowAttributes && props.config.rowAttributes.style ? _Utils.default.mergeObjects(props.config.rowAttributes.style, defaultRowStyle) : defaultRowStyle,
684
713
  onClick: event => handleClick(event, row.id),
685
714
  role: "checkbox",
686
715
  "aria-checked": isItemSelected,
687
716
  tabIndex: -1,
688
- key: row.id,
717
+ key: index,
689
718
  id: 'ROW-' + row.id,
690
719
  selected: isItemSelected,
691
- className: highlightRowSelection.current ? isItemSelected ? classes.tableSelected : classes.tableRow : null
720
+ className: (highlightRowSelection.current ? isItemSelected ? classes.tableSelected : classes.tableRow : '') + (row.className ? ' ' + row.className : '')
692
721
  }, config.selectionMode === 'MULTIPLE' ? /*#__PURE__*/_react.default.createElement(_reactSuperResponsiveTable.Td, {
693
722
  padding: "checkbox",
694
723
  width: MULTI_SELECT_CHECKBOX_COL_WIDTH + 'px',
@@ -734,7 +763,7 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo( /*#__PURE_
734
763
  columnConfig: column,
735
764
  dataBinding: !_Utils.default.isNull(column.dataBinding) ? column.dataBinding : column.id,
736
765
  row: row,
737
- contentType: column.fieldType
766
+ contentType: column.fieldType || column.editor?.fieldType
738
767
  }))));
739
768
  })))), _Utils.default.isNull(props.pagination) || props.pagination === true ? /*#__PURE__*/_react.default.createElement(_TablePagination.default, {
740
769
  rowsPerPageOptions: rowsPerPageOptions,
@@ -1,7 +1,7 @@
1
- .dropTarget {
1
+ .documentTemplateDesigner .dropTarget {
2
2
  }
3
3
 
4
- ._draggable_ {
4
+ .documentTemplateDesigner ._draggable_ {
5
5
  position: absolute;
6
6
  border-radius: 2px;
7
7
  display: inline-block;
@@ -9,19 +9,28 @@ var _Utils = _interopRequireDefault(require("../Utils"));
9
9
  var _Observable = _interopRequireDefault(require("../event/Observable"));
10
10
  require("./DocumentTemplateDesigner.css");
11
11
  var _DocumentTemplateDesignerComponent = _interopRequireDefault(require("./DocumentTemplateDesignerComponent"));
12
+ var _Event = _interopRequireDefault(require("../event/Event"));
13
+ var _EventType = _interopRequireDefault(require("../event/EventType"));
12
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- const DocumentTemplateDesigner = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
15
+ const DocumentTemplateDesigner = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
14
16
  const [visible, setVisible] = _react.default.useState(false);
15
- const [uploadTrigger, setUploadTrigger] = _react.default.useState(null);
16
- const [value, setValue] = _react.default.useState({});
17
+ const [loading, setLoading] = _react.default.useState(true);
18
+ const [value, setValue] = _react.default.useState(null);
19
+ const [documentName, setDocumentName] = _react.default.useState(null);
20
+ const [hasError, setHasError] = _react.default.useState(null);
21
+ const [markInvalid, setMarkInvalid] = _react.default.useState(false);
22
+ const [templateDesignerHandle] = _react.default.useState({});
17
23
  _react.default.useEffect(() => {
18
24
  props.handle.api = api();
19
25
  });
20
26
  _react.default.useEffect(() => {
27
+ props.handle.api = api();
21
28
  let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
22
29
  _Observable.default.addSubscriptions(parsedConfig.eventHandlingConfig, props.handle, props.viewId);
23
30
  _Observable.default.addSystemSubscriptions(props.viewId, parsedConfig);
24
31
  props.handle.api.refresh();
32
+ let event = new _Event.default(props.handle, props.viewId, null);
33
+ _Observable.default.fireEvent(_EventType.default.COMPONENT_LOAD, event);
25
34
  return () => {
26
35
  _Observable.default.clearComponentEventListeners(props.handle);
27
36
  };
@@ -41,49 +50,52 @@ const DocumentTemplateDesigner = /*#__PURE__*/_react.default.memo( /*#__PURE__*/
41
50
  }
42
51
  },
43
52
  getChildren: () => {
44
- return [];
53
+ return [templateDesignerHandle];
45
54
  },
46
55
  set visible(visible) {
47
56
  setVisible(visible);
48
57
  },
58
+ set documentName(documentName) {
59
+ setDocumentName(documentName);
60
+ },
49
61
  handleUploadDocument: event => {
50
62
  setUploadTrigger(current => !current);
51
63
  },
52
64
  get value() {
65
+ setMarkInvalid(visible);
53
66
  return value;
67
+ },
68
+ set value(val) {
69
+ setHasError(null);
70
+ setValue(val);
71
+ },
72
+ set loading(val) {
73
+ setLoading(val);
54
74
  }
55
75
  };
56
76
  };
57
- const htmlToBase64 = htmlString => {
58
- const base64String = btoa(encodeURIComponent(htmlString).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(parseInt(p1, 16))));
59
- return `data:text/html;base64,${base64String}`;
60
- };
61
- const addDocumentMetaData = (file, html) => {
62
- const docMetaData = {
63
- name: file.name,
64
- size: file.size,
65
- type: 'text/html',
66
- payload: htmlToBase64(html)
67
- };
68
- setValue(docMetaData);
69
- };
70
77
  const onValueChange = newValue => {
71
- setValue(currentValue => {
72
- return {
73
- ...currentValue,
74
- ['payload']: htmlToBase64(newValue)
75
- };
76
- });
78
+ setHasError(!newValue);
79
+ setValue(newValue);
77
80
  };
78
81
  return /*#__PURE__*/_react.default.createElement("div", {
79
82
  ref: ref,
80
- style: {
81
- display: visible ? 'block' : 'none'
82
- }
83
- }, /*#__PURE__*/_react.default.createElement(_DocumentTemplateDesignerComponent.default, {
84
- valueChangeHandler: onValueChange,
85
- addDocumentMetaDataHandler: addDocumentMetaData,
86
- uploadTrigger: uploadTrigger
83
+ className: 'documentTemplateDesigner',
84
+ style: _Utils.default.mergeStyles({
85
+ display: visible ? 'block' : 'none',
86
+ height: '100%',
87
+ borderRadius: '4px',
88
+ border: hasError === true && markInvalid ? '1px solid red' : null
89
+ }, props.config)
90
+ }, loading ? /*#__PURE__*/_react.default.createElement("div", null, "Loading...") : /*#__PURE__*/_react.default.createElement(_DocumentTemplateDesignerComponent.default, {
91
+ id: props.config.id,
92
+ viewId: props.viewId,
93
+ visible: visible,
94
+ documentName: documentName,
95
+ handle: templateDesignerHandle,
96
+ propertiesFormConfig: props.config.propertiesForm,
97
+ value: value,
98
+ valueChangeHandler: onValueChange
87
99
  }));
88
- }));
100
+ });
89
101
  var _default = exports.default = DocumentTemplateDesigner;
@@ -0,0 +1,15 @@
1
+ @import '@syncfusion/ej2-base/styles/material.css';
2
+ @import '@syncfusion/ej2-buttons/styles/material.css';
3
+ @import '@syncfusion/ej2-inputs/styles/material.css';
4
+ @import '@syncfusion/ej2-popups/styles/material.css';
5
+ @import '@syncfusion/ej2-lists/styles/material.css';
6
+ @import '@syncfusion/ej2-navigations/styles/material.css';
7
+ @import '@syncfusion/ej2-splitbuttons/styles/material.css';
8
+ @import '@syncfusion/ej2-dropdowns/styles/material.css';
9
+ @import "@syncfusion/ej2-react-documenteditor/styles/material.css";
10
+
11
+ .e-de-toolbar.e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn.e-btn {
12
+ }
13
+
14
+ #parent-container {
15
+ }