@agilemotion/oui-react-js 1.2.9 → 1.3.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 (35) hide show
  1. package/dist/ApplicationContext.js +90 -36
  2. package/dist/BasicApp.js +4 -4
  3. package/dist/BasicAppHome.js +4 -2
  4. package/dist/RestUtils.js +11 -4
  5. package/dist/assets/css/black-dashboard-react.css +1 -2
  6. package/dist/assets/scss/black-dashboard-react/bootstrap/_reboot.scss +0 -1
  7. package/dist/components/DocumentView.css +4 -0
  8. package/dist/components/DocumentViewer.js +93 -37
  9. package/dist/components/DocumentViewerComponent.js +93 -0
  10. package/dist/components/ElementResizeHandler.js +232 -0
  11. package/dist/components/Graph.js +102 -6
  12. package/dist/components/GraphNode.js +1 -1
  13. package/dist/components/HtmlPanel.js +45 -4
  14. package/dist/components/StepperTitleBar.css +85 -0
  15. package/dist/components/StepperTitleBar.js +188 -0
  16. package/dist/components/TitleBar.js +1 -1
  17. package/dist/components/Toolbar.js +6 -3
  18. package/dist/components/form/Form.js +2 -2
  19. package/dist/components/form/UploadField.js +1 -1
  20. package/dist/components/layout/Layout.js +28 -14
  21. package/dist/components/signatures/AlertItem.js +71 -0
  22. package/dist/components/signatures/Card.js +39 -0
  23. package/dist/components/signatures/MenuButton.js +108 -0
  24. package/dist/components/signatures/Prompt.js +78 -0
  25. package/dist/components/signatures/ResponsiveTable.css +91 -0
  26. package/dist/components/signatures/ResponsiveTable.js +568 -0
  27. package/dist/components/signatures/SearchView.js +236 -0
  28. package/dist/components/signatures/SignatorySearch.js +115 -0
  29. package/dist/components/signatures/SignatorySearchForm.js +77 -0
  30. package/dist/components/signatures/SignatureInputProps.js +336 -0
  31. package/dist/components/signatures/SignatureTemplateDesigner.js +888 -0
  32. package/dist/components/signatures/Toolbar.js +208 -0
  33. package/dist/components/signatures/ViewUtils.js +309 -0
  34. package/dist/components/signatures/widgets.css +126 -0
  35. package/package.json +5 -4
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ElementResizeHandler = void 0;
7
+
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+
10
+ const MIN_WIDTH = 60;
11
+ const MIN_HEIGHT = 40;
12
+ const FULLSCREEN_MARGINS = -10;
13
+ const MARGINS = 4;
14
+
15
+ class ElementResizeHandler {
16
+ constructor(pane, ghostPane) {
17
+ _defineProperty(this, "setBounds", (element, x, y, w, h) => {
18
+ element.style.left = x + 'px';
19
+ element.style.top = y + 'px';
20
+ element.style.width = w + 'px';
21
+ element.style.height = h + 'px';
22
+ });
23
+
24
+ _defineProperty(this, "hintHide", () => {
25
+ this.setBounds(this.ghostPane, this.b.left, this.b.top, this.b.width, this.b.height);
26
+ this.ghostPane.style.opacity = 0;
27
+ });
28
+
29
+ _defineProperty(this, "onTouchDown", e => {
30
+ alert(1);
31
+ this.onDown(e.touches[0]);
32
+ e.preventDefault();
33
+ });
34
+
35
+ _defineProperty(this, "onTouchMove", e => {
36
+ alert(1);
37
+ this.onMove(e.touches[0]);
38
+ });
39
+
40
+ _defineProperty(this, "onTouchEnd", e => {
41
+ alert(1);
42
+
43
+ if (e.touches.length === 0) {
44
+ this.onUp(e.changedTouches[0]);
45
+ }
46
+ });
47
+
48
+ _defineProperty(this, "onMouseDown", e => {
49
+ this.onDown(e);
50
+ e.preventDefault();
51
+ });
52
+
53
+ _defineProperty(this, "onDown", e => {
54
+ this.calc(e);
55
+ var isResizing = this.onRightEdge || this.onBottomEdge || this.onTopEdge || this.onLeftEdge;
56
+ this.clicked = {
57
+ x: this.x,
58
+ y: this.y,
59
+ cx: e.clientX,
60
+ cy: e.clientY,
61
+ w: this.b.width,
62
+ h: this.b.height,
63
+ isResizing: this.isResizing,
64
+ isMoving: !this.isResizing && this.canMove(),
65
+ onTopEdge: this.onTopEdge,
66
+ onLeftEdge: this.onLeftEdge,
67
+ onRightEdge: this.onRightEdge,
68
+ onBottomEdge: this.onBottomEdge
69
+ };
70
+ });
71
+
72
+ _defineProperty(this, "canMove", () => {
73
+ return this.x > 0 && this.x < this.b.width && this.y > 0 && this.y < this.b.height && this.y < 30;
74
+ });
75
+
76
+ _defineProperty(this, "calc", e => {
77
+ this.b = this.pane.getBoundingClientRect();
78
+ this.x = e.clientX - this.b.left;
79
+ this.y = e.clientY - this.b.top;
80
+ this.onTopEdge = this.y < MARGINS;
81
+ this.onLeftEdge = this.x < MARGINS;
82
+ this.onRightEdge = this.x >= this.b.width - MARGINS;
83
+ this.onBottomEdge = this.y >= this.b.height - MARGINS;
84
+ this.rightScreenEdge = window.innerWidth - MARGINS;
85
+ this.bottomScreenEdge = window.innerHeight - MARGINS;
86
+ });
87
+
88
+ _defineProperty(this, "onMove", ee => {
89
+ this.calc(ee);
90
+ this.e = ee;
91
+ this.redraw = true;
92
+ });
93
+
94
+ _defineProperty(this, "animate", () => {
95
+ requestAnimationFrame(this.animate);
96
+ if (!this.redraw) return;
97
+ this.redraw = false;
98
+
99
+ if (this.clicked && this.clicked.isResizing) {
100
+ if (this.clicked.onRightEdge) this.pane.style.width = Math.max(this.x, MIN_WIDTH) + 'px';
101
+ if (this.clicked.onBottomEdge) this.pane.style.height = Math.max(this.y, MIN_HEIGHT) + 'px';
102
+
103
+ if (this.clicked.onLeftEdge) {
104
+ var currentWidth = Math.max(this.clicked.cx - this.e.clientX + this.clicked.w, MIN_WIDTH);
105
+
106
+ if (currentWidth > MIN_WIDTH) {
107
+ this.pane.style.width = currentWidth + 'px';
108
+ this.pane.style.left = this.e.clientX + 'px';
109
+ }
110
+ }
111
+
112
+ if (this.clicked.onTopEdge) {
113
+ var currentHeight = Math.max(this.clicked.cy - this.e.clientY + this.clicked.h, MIN_HEIGHT);
114
+
115
+ if (currentHeight > MIN_HEIGHT) {
116
+ this.pane.style.height = currentHeight + 'px';
117
+ this.pane.style.top = this.e.clientY + 'px';
118
+ }
119
+ }
120
+
121
+ this.hintHide();
122
+ return;
123
+ }
124
+
125
+ if (this.clicked && this.clicked.isMoving) {
126
+ if (this.b.top < FULLSCREEN_MARGINS || this.b.left < FULLSCREEN_MARGINS || this.b.right > window.innerWidth - FULLSCREEN_MARGINS || this.b.bottom > window.innerHeight - FULLSCREEN_MARGINS) {
127
+ // hintFull();
128
+ this.setBounds(this.ghostPane, 0, 0, window.innerWidth, window.innerHeight);
129
+ this.ghostPane.style.opacity = 0.2;
130
+ } else if (this.b.top < MARGINS) {
131
+ // hintTop();
132
+ this.setBounds(this.ghostPane, 0, 0, window.innerWidth, window.innerHeight / 2);
133
+ this.ghostPane.style.opacity = 0.2;
134
+ } else if (this.b.left < MARGINS) {
135
+ // hintLeft();
136
+ this.setBounds(this.ghostPane, 0, 0, window.innerWidth / 2, window.innerHeight);
137
+ this.ghostPane.style.opacity = 0.2;
138
+ } else if (this.b.right > this.rightScreenEdge) {
139
+ // hintRight();
140
+ this.setBounds(this.ghostPane, window.innerWidth / 2, 0, window.innerWidth / 2, window.innerHeight);
141
+ this.ghostPane.style.opacity = 0.2;
142
+ } else if (this.b.bottom > this.bottomScreenEdge) {
143
+ // hintBottom();
144
+ this.setBounds(this.ghostPane, 0, window.innerHeight / 2, window.innerWidth, window.innerWidth / 2);
145
+ this.ghostPane.style.opacity = 0.2;
146
+ } else {
147
+ this.hintHide();
148
+ }
149
+
150
+ if (this.preSnapped) {
151
+ this.setBounds(this.pane, this.e.clientX - this.preSnapped.width / 2, this.e.clientY - Math.min(this.clicked.y, this.preSnapped.height), this.preSnapped.width, this.preSnapped.height);
152
+ return;
153
+ } // moving
154
+
155
+
156
+ this.pane.style.top = this.e.clientY - this.clicked.y + 'px';
157
+ this.pane.style.left = this.e.clientX - this.clicked.x + 'px';
158
+ return;
159
+ } // This code executes when mouse moves without clicking
160
+ // style cursor
161
+
162
+
163
+ if (this.onRightEdge && this.onBottomEdge || this.onLeftEdge && this.onTopEdge) {
164
+ this.pane.style.cursor = 'nwse-resize';
165
+ } else if (this.onRightEdge && this.onTopEdge || this.onBottomEdge && this.onLeftEdge) {
166
+ this.pane.style.cursor = 'nesw-resize';
167
+ } else if (this.onRightEdge || this.onLeftEdge) {
168
+ this.pane.style.cursor = 'ew-resize';
169
+ } else if (this.onBottomEdge || this.onTopEdge) {
170
+ this.pane.style.cursor = 'ns-resize';
171
+ } else if (this.canMove()) {
172
+ this.pane.style.cursor = 'move';
173
+ } else {
174
+ this.pane.style.cursor = 'default';
175
+ }
176
+ });
177
+
178
+ _defineProperty(this, "onUp", e => {
179
+ this.calc(e);
180
+
181
+ if (this.clicked && this.clicked.isMoving) {
182
+ // Snap
183
+ var snapped = {
184
+ width: this.b.width,
185
+ height: this.b.height
186
+ };
187
+
188
+ if (this.b.top < FULLSCREEN_MARGINS || this.b.left < FULLSCREEN_MARGINS || this.b.right > window.innerWidth - FULLSCREEN_MARGINS || this.b.bottom > window.innerHeight - FULLSCREEN_MARGINS) {
189
+ // hintFull();
190
+ this.setBounds(this.pane, 0, 0, window.innerWidth, window.innerHeight);
191
+ this.preSnapped = snapped;
192
+ } else if (this.b.top < MARGINS) {
193
+ // hintTop();
194
+ this.setBounds(this.pane, 0, 0, window.innerWidth, window.innerHeight / 2);
195
+ this.preSnapped = snapped;
196
+ } else if (this.b.left < MARGINS) {
197
+ // hintLeft();
198
+ this.setBounds(this.pane, 0, 0, window.innerWidth / 2, window.innerHeight);
199
+ this.preSnapped = snapped;
200
+ } else if (this.b.right > this.rightScreenEdge) {
201
+ // hintRight();
202
+ this.setBounds(this.pane, window.innerWidth / 2, 0, window.innerWidth / 2, window.innerHeight);
203
+ this.preSnapped = snapped;
204
+ } else if (this.b.bottom > this.bottomScreenEdge) {
205
+ // hintBottom();
206
+ this.setBounds(this.pane, 0, window.innerHeight / 2, window.innerWidth, window.innerWidth / 2);
207
+ this.preSnapped = snapped;
208
+ } else {
209
+ this.preSnapped = null;
210
+ }
211
+
212
+ this.hintHide();
213
+ }
214
+
215
+ this.clicked = null;
216
+ });
217
+
218
+ this.clicked = null;
219
+ pane.addEventListener('mousedown', this.onMouseDown);
220
+ document.addEventListener('mousemove', this.onMove);
221
+ document.addEventListener('mouseup', this.onUp);
222
+ pane.addEventListener('touchstart', this.onTouchDown);
223
+ document.addEventListener('touchmove', this.onTouchMove);
224
+ document.addEventListener('touchend', this.onTouchEnd);
225
+ this.pane = pane;
226
+ this.ghostPane = ghostPane;
227
+ this.animate();
228
+ }
229
+
230
+ }
231
+
232
+ exports.ElementResizeHandler = ElementResizeHandler;
@@ -25,9 +25,36 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
25
25
 
26
26
  class Graph {
27
27
  constructor(config) {
28
+ _defineProperty(this, "getCurrentNodeIndex", () => {
29
+ let index = 0;
30
+ let collection = this.config.stepperMode === null || this.config.stepperMode === "DYNAMIC" ? this.path : this.config.nodes;
31
+
32
+ var _iterator = _createForOfIteratorHelper(collection),
33
+ _step;
34
+
35
+ try {
36
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
37
+ const element = _step.value;
38
+
39
+ if (this.current.config.name === element.name) {
40
+ return index;
41
+ }
42
+
43
+ index++;
44
+ }
45
+ } catch (err) {
46
+ _iterator.e(err);
47
+ } finally {
48
+ _iterator.f();
49
+ }
50
+
51
+ return null;
52
+ });
53
+
28
54
  _defineProperty(this, "init", () => {
29
55
  let root = this.config.nodes[0];
30
56
  this.current = new _GraphNode.default(this.config.nodes[0]);
57
+ this.addNodeToPath(this.current);
31
58
 
32
59
  _ActionHandlers.default.invokeHandler(root.action, null, null, this.config.id);
33
60
  });
@@ -36,15 +63,16 @@ class Graph {
36
63
  let nextNodeName = this.current.getNextNode(event);
37
64
 
38
65
  if (!_Utils.default.isNull(nextNodeName)) {
39
- var _iterator = _createForOfIteratorHelper(this.config.nodes),
40
- _step;
66
+ var _iterator2 = _createForOfIteratorHelper(this.config.nodes),
67
+ _step2;
41
68
 
42
69
  try {
43
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
44
- const node = _step.value;
70
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
71
+ const node = _step2.value;
45
72
 
46
73
  if (node.name === nextNodeName) {
47
74
  this.current = new _GraphNode.default(node);
75
+ this.addNodeToPath(this.current);
48
76
 
49
77
  _ActionHandlers.default.invokeHandler(node.action, null, null, this.config.id);
50
78
 
@@ -52,9 +80,9 @@ class Graph {
52
80
  }
53
81
  }
54
82
  } catch (err) {
55
- _iterator.e(err);
83
+ _iterator2.e(err);
56
84
  } finally {
57
- _iterator.f();
85
+ _iterator2.f();
58
86
  }
59
87
  }
60
88
 
@@ -63,9 +91,77 @@ class Graph {
63
91
  }
64
92
  });
65
93
 
94
+ _defineProperty(this, "setCurrentNodeTitle", title => {
95
+ if (this.current !== null) {
96
+ this.current.title = title;
97
+ }
98
+ });
99
+
100
+ _defineProperty(this, "addNodeToPath", node => {
101
+ if (this.path.length === 0) {
102
+ this.path.push(node);
103
+ } else {
104
+ let lastNode = this.path[this.path.length - 1];
105
+
106
+ if (lastNode.config.name === node.config.name) {
107
+ this.path.pop();
108
+ } else {
109
+ this.path.push(node);
110
+ }
111
+ }
112
+ });
113
+
66
114
  this.config = config;
67
115
  this.modelData = {};
68
116
  this.current = null;
117
+ this.path = [];
118
+ }
119
+
120
+ getTitleStack() {
121
+ let titleStack = [];
122
+ let index = 0;
123
+
124
+ if (this.config.stepperMode === null || this.config.stepperMode === "DYNAMIC") {
125
+ var _iterator3 = _createForOfIteratorHelper(this.path),
126
+ _step3;
127
+
128
+ try {
129
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
130
+ const pathElement = _step3.value;
131
+ let stackItem = {};
132
+ stackItem.title = pathElement.title;
133
+ stackItem.index = index++;
134
+ titleStack.push(stackItem);
135
+ }
136
+ } catch (err) {
137
+ _iterator3.e(err);
138
+ } finally {
139
+ _iterator3.f();
140
+ }
141
+ } else {
142
+ var _iterator4 = _createForOfIteratorHelper(this.config.nodes),
143
+ _step4;
144
+
145
+ try {
146
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
147
+ const node = _step4.value;
148
+ let stackItem = {};
149
+ stackItem.title = node.title;
150
+ stackItem.index = index++;
151
+ titleStack.push(stackItem);
152
+ }
153
+ } catch (err) {
154
+ _iterator4.e(err);
155
+ } finally {
156
+ _iterator4.f();
157
+ }
158
+ }
159
+
160
+ return titleStack;
161
+ }
162
+
163
+ get title() {
164
+ return this.config.title;
69
165
  }
70
166
 
71
167
  get value() {
@@ -46,7 +46,7 @@ class GraphNode {
46
46
  return false;
47
47
  }
48
48
 
49
- let sourceId = event.source.getId();
49
+ let sourceId = event.source.api.id;
50
50
 
51
51
  if (totalEdgeCount === 0) {
52
52
  return (_Utils.default.isNull(eventSource) || sourceId === eventSource) && (_Utils.default.isNull(expression) || _DynamicJS.default.executeScript('graphEdge_' + Math.random(), expression));
@@ -11,14 +11,55 @@ var _Utils = _interopRequireDefault(require("../Utils"));
11
11
 
12
12
  var _reactHtmlRenderer = _interopRequireDefault(require("react-html-renderer"));
13
13
 
14
+ var _Observable = _interopRequireDefault(require("../event/Observable"));
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
 
18
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
+
20
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
+
22
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
+
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
+
26
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
27
+
28
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
+
16
30
  const HtmlPanel = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
17
- _react.default.useImperativeHandle(ref, () => ({
18
- getId: () => {
19
- return props.config.id;
31
+ const _React$useState = _react.default.useState(true),
32
+ _React$useState2 = _slicedToArray(_React$useState, 2),
33
+ initializing = _React$useState2[0],
34
+ setInitializing = _React$useState2[1];
35
+
36
+ _react.default.useEffect(() => {
37
+ props.handle.api = api();
38
+
39
+ if (initializing) {
40
+ let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
41
+
42
+ _Observable.default.addSubscriptions(parsedConfig.eventHandlingConfig, props.handle, props.viewId);
43
+
44
+ _Observable.default.addSystemSubscriptions(parsedConfig);
45
+
46
+ setInitializing(false);
47
+
48
+ if (!_Utils.default.isNull(props.loadCompleteHandler)) {
49
+ props.loadCompleteHandler(props.config.id);
50
+ }
20
51
  }
21
- }));
52
+ });
53
+
54
+ const api = () => {
55
+ return {
56
+ get id() {
57
+ return props.config.id;
58
+ },
59
+
60
+ loadData: actionConfig => {}
61
+ };
62
+ };
22
63
 
23
64
  return /*#__PURE__*/_react.default.createElement("div", {
24
65
  ref: ref
@@ -0,0 +1,85 @@
1
+ .stepDot,
2
+ .stepDotActive,
3
+ .stepDotVisited,
4
+ .stepDotBox,
5
+ .stepDotBoxActive {
6
+ border-radius: 100px;
7
+ display: inline-block;
8
+ text-align: center;
9
+ font-size: 18px;
10
+ color: #888888;
11
+ border: 1px solid #888888;
12
+ }
13
+
14
+ .stepDotBox,
15
+ .stepDotBoxActive {
16
+ border: none;
17
+ }
18
+
19
+ .stepDotVisited,
20
+ .stepDotActive {
21
+ color: #ffffff;
22
+ border: 1px solid #ffffff;
23
+ font-weight: 600;
24
+ }
25
+
26
+ .stepDotVisited {
27
+ border: none;
28
+ }
29
+
30
+ .stepTitle{
31
+ color: #ffffff;
32
+ font-size: 16px;
33
+ height: 30px;
34
+ float: right;
35
+ border-top-right-radius: 100px;
36
+ border-bottom-right-radius: 100px;
37
+ padding: 2px 8px;
38
+ font-weight: 600;
39
+ }
40
+
41
+ @media screen and (min-width:3480px) {
42
+ .stepTitle {
43
+ padding: 2px 0;
44
+ }
45
+ }
46
+
47
+ .stepDot,
48
+ .stepDotVisited,
49
+ .stepDotActive {
50
+ float: left;
51
+ width: 30px;
52
+ height: 30px;
53
+ }
54
+
55
+ .stepperLine {
56
+ width: calc(100% - 30px);
57
+ float: left;
58
+ border-top: 1px solid #888888;
59
+ margin: 14px 0 0 0;
60
+ padding: 0;
61
+ }
62
+
63
+ @media screen and (min-width:732px) {
64
+ .stepperLine {
65
+ width: calc(100% - 30.3px);
66
+ }
67
+ }
68
+
69
+ @media screen and (min-width:1176px) {
70
+ .stepperLine {
71
+ width: calc(100% - 30.4px);
72
+ }
73
+ }
74
+
75
+ @media screen and (min-width:2200px) {
76
+ .stepperLine {
77
+ width: calc(100% - 30.7px);
78
+ }
79
+ }
80
+
81
+ @media screen and (min-width:7320px) {
82
+ .stepperLine {
83
+ width: calc(100% - 32px);
84
+ }
85
+ }