@agilemotion/oui-react-js 1.7.1 → 1.7.2

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
@@ -5,9 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _RestUtils = require("../RestUtils");
8
+ var _RestService = require("../RestService");
9
9
  var _DynamicJS = _interopRequireDefault(require("./../DynamicJS"));
10
10
  var _Utils = _interopRequireDefault(require("./../Utils"));
11
+ var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
12
+ var _EventType = _interopRequireDefault(require("./EventType"));
13
+ var _Event = _interopRequireDefault(require("./Event"));
14
+ var _Observable = _interopRequireDefault(require("./Observable"));
11
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
16
  class ServiceCallActionHandler {
13
17
  constructor() {
@@ -16,39 +20,80 @@ class ServiceCallActionHandler {
16
20
  }
17
21
  return ServiceCallActionHandler.instance;
18
22
  }
19
- execute(actionConfig, event, component, currentViewId, successCallback, errorCallback, invalidParameterCallback) {
23
+ async execute(actionConfig, event, component, currentViewId, successCallback, errorCallback, invalidParameterCallback) {
24
+ if (_ApplicationManager.default.isExpression(actionConfig.service.url)) {
25
+ actionConfig.service.url = _DynamicJS.default.executeScript(`${Math.random()}_ServiceEval`, actionConfig.service.url);
26
+ }
20
27
  if (actionConfig.service.type === 'rpc' || actionConfig.service.type === 'rest') {
21
- let method = actionConfig.service.type === 'rpc' ? _RestUtils.invokeRpc : _RestUtils.invokeRest;
22
- method(actionConfig.service, component, currentViewId, result => {
23
- let handle = !_Utils.default.isNull(component) && !_Utils.default.isNull(component.current) ? component.current : component;
24
- if (!_Utils.default.isNull(actionConfig.postScript)) {
25
- try {
26
- let valuesMap = {};
27
- valuesMap.response = result;
28
- _DynamicJS.default.executeScriptObject('postScript_' + currentViewId + '_' + handle.api.id, actionConfig.postScript, handle.api.id, valuesMap, {
29
- data: result
30
- });
31
- } catch (e) {
32
- console.error(e);
33
- }
34
- }
35
- if (!_Utils.default.isNull(successCallback)) {
36
- successCallback(result);
37
- }
38
- }, e => {
39
- _Utils.default.publishErrorMessage(e, currentViewId, component);
40
- if (!_Utils.default.isNull(errorCallback)) {
41
- errorCallback(e);
28
+ let method = actionConfig.service.type === 'rpc' ? _RestService.invokeRpc : _RestService.invokeRest;
29
+ if (actionConfig.service.async === false) {
30
+ try {
31
+ let response = await method({
32
+ service: actionConfig.service,
33
+ component,
34
+ viewId: currentViewId,
35
+ returnValueBinding: actionConfig.returnValueBinding,
36
+ successMessage: actionConfig.successMessage,
37
+ event
38
+ });
39
+ this.handleSuccess(component, actionConfig, response, currentViewId, successCallback);
40
+ } catch (e) {
41
+ this.handleError(e, invalidParameterCallback, currentViewId, component, errorCallback);
42
42
  }
43
- }, () => {
44
- if (invalidParameterCallback) {
45
- invalidParameterCallback();
46
- }
47
- }, actionConfig.returnValueBinding, actionConfig.successMessage, event);
43
+ } else {
44
+ method({
45
+ service: actionConfig.service,
46
+ component,
47
+ viewId: currentViewId,
48
+ returnValueBinding: actionConfig.returnValueBinding,
49
+ successMessage: actionConfig.successMessage,
50
+ event
51
+ }).then(response => {
52
+ this.handleSuccess(component, actionConfig, response, currentViewId, successCallback);
53
+ }).catch(e => {
54
+ this.handleError(e, invalidParameterCallback, currentViewId, component, errorCallback);
55
+ });
56
+ }
48
57
  } else {
49
58
  console.error("Unknown service type : " + actionConfig.service.type);
50
59
  }
51
60
  }
61
+ handleError(e, invalidParameterCallback, currentViewId, component, errorCallback) {
62
+ console.error(e);
63
+ if (e && e.errorType === 'INVALID_PARAMETER') {
64
+ if (invalidParameterCallback) {
65
+ invalidParameterCallback();
66
+ }
67
+ } else {
68
+ _Utils.default.publishErrorMessage(e, currentViewId, component);
69
+ if (!_Utils.default.isNull(errorCallback)) {
70
+ errorCallback(e);
71
+ }
72
+ }
73
+ this.fireEvent(currentViewId, component, _EventType.default.SERVICE_CALL_FAILURE);
74
+ }
75
+ handleSuccess(component, actionConfig, response, currentViewId, successCallback) {
76
+ let handle = !_Utils.default.isNull(component) && !_Utils.default.isNull(component.current) ? component.current : component;
77
+ if (!_Utils.default.isNull(actionConfig.postScript)) {
78
+ try {
79
+ let valuesMap = {};
80
+ valuesMap.response = response;
81
+ _DynamicJS.default.executeScriptObject('postScript_' + currentViewId + '_' + handle.api.id, actionConfig.postScript, handle.api.id, valuesMap, {
82
+ data: response
83
+ });
84
+ } catch (e) {
85
+ console.error(e);
86
+ }
87
+ }
88
+ if (!_Utils.default.isNull(successCallback)) {
89
+ successCallback(response);
90
+ }
91
+ this.fireEvent(currentViewId, component, _EventType.default.SERVICE_CALL_SUCCESS, response);
92
+ }
93
+ fireEvent(viewId, component, eventType, response) {
94
+ let event = new _Event.default(component, viewId, response);
95
+ _Observable.default.fireEvent(eventType, event);
96
+ }
52
97
  }
53
98
  const instance = new ServiceCallActionHandler();
54
99
  Object.freeze(instance);
package/dist/js/Docs.js CHANGED
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = exports.Docs = void 0;
7
7
  var _reactPromiseTracker = require("react-promise-tracker");
8
8
  var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
9
- var _Event = _interopRequireDefault(require("../event/Event"));
10
- var _Observable = _interopRequireDefault(require("../event/Observable"));
11
- var _EventType = _interopRequireDefault(require("../event/EventType"));
12
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
10
  const status = response => {
14
11
  if (response.ok) {
@@ -35,6 +32,43 @@ class Docs {
35
32
  }));
36
33
  });
37
34
  };
35
+ fileToBase64 = file => {
36
+ return new Promise((resolve, reject) => {
37
+ const reader = new FileReader();
38
+ reader.onload = () => {
39
+ // The result is a Base64 string prefixed with data type information
40
+ const base64String = reader.result;
41
+ resolve(base64String);
42
+ };
43
+ reader.onerror = () => {
44
+ reject(new Error('Error reading file'));
45
+ };
46
+
47
+ // Read the file as a data URL (Base64)
48
+ reader.readAsDataURL(file);
49
+ });
50
+ };
51
+ downloadFile = (blob, fileName) => {
52
+ // Create a Blob URL
53
+ const url = URL.createObjectURL(blob);
54
+
55
+ // Create a link element
56
+ const link = document.createElement('a');
57
+ link.href = url;
58
+ link.download = fileName; // Set the file name
59
+
60
+ // Append the link to the body (required for Firefox)
61
+ document.body.appendChild(link);
62
+
63
+ // Programmatically click the link to trigger the download
64
+ link.click();
65
+
66
+ // Remove the link from the document
67
+ document.body.removeChild(link);
68
+
69
+ // Revoke the Blob URL to free up memory
70
+ URL.revokeObjectURL(url);
71
+ };
38
72
  createFormData = data => {
39
73
  let formData = new FormData();
40
74
  Object.keys(data).forEach(key => {
@@ -43,24 +77,25 @@ class Docs {
43
77
  });
44
78
  return formData;
45
79
  };
46
- cacheFile = async (file, correlationId) => {
80
+ cacheFile = async (file, correlationId, orgCode) => {
47
81
  const accessToken = sessionStorage.getItem("accessToken");
48
82
  const idToken = sessionStorage.getItem("idToken");
49
83
  let data = new FormData();
50
- let metadata = {
51
- ...file,
52
- payload: null
53
- };
84
+ let metadata = {};
85
+ metadata.name = file.name;
86
+ metadata.type = file.type;
87
+ metadata.size = file.size;
54
88
  metadata.correlationId = correlationId;
55
89
  data.append("metadata", JSON.stringify(metadata));
56
- data.append("file", await this.jsonFileToJSFile(file));
90
+ data.append("file", file);
57
91
  let uploadUrl = _ApplicationManager.default.getContextRoot() + "/docs/api/v1/manager/upload/save";
58
92
  let fetchConfig = {
59
93
  method: 'POST',
60
94
  headers: {
61
95
  'ContentType': 'application/json',
62
96
  'Authorization': 'Bearer ' + accessToken,
63
- 'idToken': idToken
97
+ 'idToken': idToken,
98
+ 'tenant': orgCode
64
99
  },
65
100
  body: data
66
101
  };
@@ -73,6 +108,18 @@ class Docs {
73
108
  }));
74
109
  });
75
110
  };
111
+ removeAllHtmlBackGroundImages = htmlBase64 => {
112
+ let html = atob(htmlBase64);
113
+ let parser = new DOMParser();
114
+ let doc = parser.parseFromString(html, 'text/html');
115
+ let divs = doc.querySelectorAll('div.dropTarget');
116
+ divs.forEach(div => {
117
+ div.style.backgroundImage = ''; // Clear the background-image inline style
118
+ });
119
+ let serializer = new XMLSerializer();
120
+ let updatedHtmlString = serializer.serializeToString(doc);
121
+ return btoa(updatedHtmlString);
122
+ };
76
123
  }
77
124
  exports.Docs = Docs;
78
125
  const instance = new Docs();
@@ -482,17 +482,17 @@ const Dashboard = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.
482
482
  title: 'Assigned to Me',
483
483
  itemCount: taskSummary.personalWorkItemCount,
484
484
  viewRef: ref,
485
- path: '/workflow/personal-work-items.json'
485
+ path: '/workflow/views/personal-work-items.json'
486
486
  }), /*#__PURE__*/_react.default.createElement(WorkFlowCard, {
487
487
  margin: '0 0 16px 16px',
488
488
  title: 'Available',
489
489
  itemCount: taskSummary.groupWorkItemCount,
490
- path: '/workflow/group-work-items.json'
490
+ path: '/workflow/views/group-work-items.json'
491
491
  }), /*#__PURE__*/_react.default.createElement(WorkFlowCard, {
492
492
  margin: '0 0 16px 16px',
493
493
  title: 'Due Today',
494
494
  itemCount: taskSummary.dueTodayItemCount,
495
- path: '/workflow/due-today-work-items.json'
495
+ path: '/workflow/views/due-today-work-items.json'
496
496
  })), /*#__PURE__*/_react.default.createElement("div", null, !_Utils.default.isNull(cardRows) ? cardRows.map(row => /*#__PURE__*/_react.default.createElement("div", {
497
497
  className: 'row',
498
498
  style: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agilemotion/oui-react-js",
3
- "version": "1.7.1",
3
+ "version": "1.7.2",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -19,10 +19,15 @@
19
19
  "@material-ui/lab": "^4.0.0-alpha.57",
20
20
  "@material-ui/pickers": "^3.3.10",
21
21
  "@material-ui/styles": "^4.11.3",
22
- "@syncfusion/ej2-base": "^26.1.37",
23
- "@syncfusion/ej2-react-popups": "^26.1.35",
24
- "@syncfusion/ej2-react-richtexteditor": "^26.2.7",
25
- "@syncfusion/ej2-react-splitbuttons": "^26.1.35",
22
+ "@syncfusion/ej2-base": "26.2.10",
23
+ "@syncfusion/ej2-buttons": "26.2.10",
24
+ "@syncfusion/ej2-documenteditor": "26.2.14",
25
+ "@syncfusion/ej2-lists": "26.2.14",
26
+ "@syncfusion/ej2-navigations": "26.2.12",
27
+ "@syncfusion/ej2-react-base": "26.2.10",
28
+ "@syncfusion/ej2-react-documenteditor": "26.2.14",
29
+ "@syncfusion/ej2-react-popups": "26.2.11",
30
+ "@syncfusion/ej2-splitbuttons": "26.2.10",
26
31
  "async-mutex": "^0.2.6",
27
32
  "caniuse-lite": "^1.0.30001623",
28
33
  "classnames": "^2.3.1",
@@ -1,4 +0,0 @@
1
- .react-pdf__Page__canvas {
2
- margin: 0 auto;
3
- height: auto !important;
4
- }