@agilemotion/oui-react-js 1.3.1 → 1.3.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.
- package/dist/ApplicationContext.js +148 -39
- package/dist/BasicApp.js +12 -5
- package/dist/BasicAppHome.js +18 -12
- package/dist/BusinessPortalApp.css +37 -0
- package/dist/BusinessPortalApp.js +90 -0
- package/dist/BusinessPortalAppHome.js +160 -0
- package/dist/RestUtils.js +65 -40
- package/dist/Utils.js +47 -1
- package/dist/assets/jss/components/footerStyle.js +7 -4
- package/dist/assets/jss/views/loginBasicStyle.js +0 -1
- package/dist/assets/jss/views/loginBusinessPortalStyle.js +76 -0
- package/dist/components/AlertBar.js +40 -11
- package/dist/components/ConfirmationDialog.js +54 -8
- package/dist/components/DataGrid.css +3 -1
- package/dist/components/DataGrid.js +149 -82
- package/dist/components/DataGridFilter.js +85 -8
- package/dist/components/Dialog.js +258 -0
- package/dist/components/Graph.js +26 -18
- package/dist/components/GraphNode.js +0 -2
- package/dist/components/HtmlPanel.js +103 -4
- package/dist/components/Icon.js +60 -0
- package/dist/components/PopupView.js +55 -6
- package/dist/components/SignaturePanel.js +147 -0
- package/dist/components/StepperTitleBar.bck.css +85 -0
- package/dist/components/StepperTitleBar.css +53 -54
- package/dist/components/StepperTitleBar.js +42 -29
- package/dist/components/TabPanel.js +10 -11
- package/dist/components/TableCellContent.js +6 -3
- package/dist/components/TemplateDesigner.css +13 -0
- package/dist/components/TemplateDesigner.js +494 -0
- package/dist/components/TemplateItemEventHandler.js +440 -0
- package/dist/components/TemplateTable.js +222 -0
- package/dist/components/TitleBar.js +21 -14
- package/dist/components/Toolbar.js +7 -5
- package/dist/components/Tree.js +5 -2
- package/dist/components/dashboard/{BasicBusinessApp.js → BasicBusinessAppDashboard.js} +30 -25
- package/dist/components/dashboard/BusinessPortalAppDashboard.css +5 -0
- package/dist/components/dashboard/BusinessPortalAppDashboard.js +236 -0
- package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +23 -12
- package/dist/components/dashboard/components/portal/Timeline.js +17 -0
- package/dist/components/dashboard/components/portal/Workspace.css +25 -0
- package/dist/components/dashboard/components/portal/Workspace.js +48 -0
- package/dist/components/dashboard/components/portal/portal-dashboard.css +25 -0
- package/dist/components/footer/Footer.js +43 -10
- package/dist/components/form/AddressSearch.js +140 -0
- package/dist/components/form/BaseField.js +42 -8
- package/dist/components/form/Checkbox.js +3 -0
- package/dist/components/form/DatePicker.js +70 -4
- package/dist/components/form/FieldSet.js +247 -72
- package/dist/components/form/Form.js +178 -127
- package/dist/components/form/GridField.js +3 -2
- package/dist/components/form/ImageEditor.js +461 -0
- package/dist/components/form/LabelField.js +2 -2
- package/dist/components/form/LookupField.js +16 -4
- package/dist/components/form/RadioGroup.js +107 -0
- package/dist/components/form/Section.js +58 -19
- package/dist/components/form/SelectItem.js +14 -5
- package/dist/components/form/SignatureTemplateDesignerField.js +46 -0
- package/dist/components/form/TextField.js +5 -9
- package/dist/components/form/TransferList.js +7 -7
- package/dist/components/form/UploadField.js +184 -55
- package/dist/components/form/noimage-person.png +0 -0
- package/dist/components/form/noimage.png +0 -0
- package/dist/components/form/transparent.jpeg +0 -0
- package/dist/components/layout/CollapsiblePanel.js +0 -6
- package/dist/components/layout/Layout.js +49 -19
- package/dist/components/layout/View.css +43 -0
- package/dist/components/layout/View.js +76 -156
- package/dist/components/layout/ViewPort.js +32 -49
- package/dist/components/menu/MenuLink.js +7 -0
- package/dist/components/navbars/HomeNavbar.js +29 -14
- package/dist/components/navbars/PortalNavbar.css +75 -0
- package/dist/components/navbars/PortalNavbar.js +227 -0
- package/dist/components/signatures/AgilitySignaturePanel.js +312 -0
- package/dist/components/signatures/DocumentContainer.css +33 -0
- package/dist/components/signatures/DocumentContainer.js +206 -0
- package/dist/components/signatures/ImageSignatureInput.js +265 -0
- package/dist/components/signatures/ResponsiveTable.js +1 -3
- package/dist/components/signatures/SignatureInput.js +303 -0
- package/dist/components/signatures/SignatureInputProps.js +17 -11
- package/dist/components/signatures/SignatureTemplateDesigner.js +192 -81
- package/dist/components/signatures/transparent.jpeg +0 -0
- package/dist/event/LoadDataActionHandler.js +1 -1
- package/dist/event/Observable.js +1 -1
- package/dist/event/RouteActionHandler.js +18 -5
- package/dist/event/ServiceCallActionHandler.js +7 -3
- package/dist/js/Addresses.js +16 -9
- package/dist/view/Dashboard.js +27 -19
- package/dist/view/PortalDashboard.js +33 -0
- package/dist/view/security/ChangePasswordBasic.js +1 -0
- package/dist/view/security/ForgotPasswordBasic.js +1 -0
- package/dist/view/security/LoginBasic.js +6 -1
- package/dist/view/security/LoginBusinessPortal.js +268 -0
- package/dist/view/security/ResetPasswordBasic.js +1 -0
- package/package.json +25 -21
- package/dist/assets/img/flogo.png +0 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
11
|
+
|
|
12
|
+
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
13
|
+
|
|
14
|
+
var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
15
|
+
|
|
16
|
+
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
17
|
+
|
|
18
|
+
var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
|
|
19
|
+
|
|
20
|
+
var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
|
|
21
|
+
|
|
22
|
+
var _SignatureInput = _interopRequireDefault(require("../signatures/SignatureInput"));
|
|
23
|
+
|
|
24
|
+
var _htmlToImage = require("html-to-image");
|
|
25
|
+
|
|
26
|
+
var _DocumentContainer = _interopRequireDefault(require("./DocumentContainer"));
|
|
27
|
+
|
|
28
|
+
var _ApplicationContext = _interopRequireDefault(require("../../ApplicationContext"));
|
|
29
|
+
|
|
30
|
+
var _reactPromiseTracker = require("react-promise-tracker");
|
|
31
|
+
|
|
32
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
|
+
|
|
34
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
35
|
+
|
|
36
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
37
|
+
|
|
38
|
+
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."); }
|
|
39
|
+
|
|
40
|
+
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); }
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
44
|
+
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; }
|
|
45
|
+
|
|
46
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
47
|
+
|
|
48
|
+
const status = response => {
|
|
49
|
+
if (response.ok) {
|
|
50
|
+
return Promise.resolve(response);
|
|
51
|
+
} else {
|
|
52
|
+
let error = new Error(response.statusText);
|
|
53
|
+
error.code = response.status;
|
|
54
|
+
return Promise.reject(error);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const json = response => {
|
|
59
|
+
return response.text();
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const location = window.location.protocol + "//" + window.location.hostname;
|
|
63
|
+
|
|
64
|
+
const AgilitySignaturePanel = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
65
|
+
const _React$useState = _react.default.useState(null),
|
|
66
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
67
|
+
inputMode = _React$useState2[0],
|
|
68
|
+
setInputMode = _React$useState2[1];
|
|
69
|
+
|
|
70
|
+
const _React$useState3 = _react.default.useState(false),
|
|
71
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
72
|
+
open = _React$useState4[0],
|
|
73
|
+
setOpen = _React$useState4[1];
|
|
74
|
+
|
|
75
|
+
const _React$useState5 = _react.default.useState(false),
|
|
76
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
77
|
+
imagesFetched = _React$useState6[0],
|
|
78
|
+
setImagesFetched = _React$useState6[1];
|
|
79
|
+
|
|
80
|
+
const _React$useState7 = _react.default.useState(false),
|
|
81
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
82
|
+
signing = _React$useState8[0],
|
|
83
|
+
setSigning = _React$useState8[1];
|
|
84
|
+
|
|
85
|
+
const _React$useState9 = _react.default.useState(null),
|
|
86
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
87
|
+
signatureImage = _React$useState10[0],
|
|
88
|
+
setSignatureImage = _React$useState10[1];
|
|
89
|
+
|
|
90
|
+
const _React$useState11 = _react.default.useState(null),
|
|
91
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
92
|
+
initialImage = _React$useState12[0],
|
|
93
|
+
setInitialImage = _React$useState12[1];
|
|
94
|
+
|
|
95
|
+
const _React$useState13 = _react.default.useState(null),
|
|
96
|
+
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
97
|
+
systemSignatures = _React$useState14[0],
|
|
98
|
+
setSystemSignatures = _React$useState14[1];
|
|
99
|
+
|
|
100
|
+
const username = sessionStorage.getItem("username");
|
|
101
|
+
|
|
102
|
+
_react.default.useEffect(() => {
|
|
103
|
+
if (!imagesFetched) {
|
|
104
|
+
fetchImages();
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
_react.default.useEffect(() => {
|
|
109
|
+
if (imagesFetched) {
|
|
110
|
+
if (!_Utils.default.isNull(initialImage) && !_Utils.default.isNull(signatureImage)) {
|
|
111
|
+
let signers = props.config.documents[0].signers;
|
|
112
|
+
|
|
113
|
+
var _iterator = _createForOfIteratorHelper(signers),
|
|
114
|
+
_step;
|
|
115
|
+
|
|
116
|
+
try {
|
|
117
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
118
|
+
const signer = _step.value;
|
|
119
|
+
|
|
120
|
+
if (signer.email === username) {
|
|
121
|
+
let signingInputs = signer.signatureInputs;
|
|
122
|
+
|
|
123
|
+
var _iterator2 = _createForOfIteratorHelper(signingInputs),
|
|
124
|
+
_step2;
|
|
125
|
+
|
|
126
|
+
try {
|
|
127
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
128
|
+
const signingInput = _step2.value;
|
|
129
|
+
|
|
130
|
+
if ("SIGN" === signingInput.inputType) {
|
|
131
|
+
signingInput.value = signatureImage;
|
|
132
|
+
} else if ("INITIAL" === signingInput.inputType) {
|
|
133
|
+
signingInput.value = initialImage;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
} catch (err) {
|
|
137
|
+
_iterator2.e(err);
|
|
138
|
+
} finally {
|
|
139
|
+
_iterator2.f();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
} catch (err) {
|
|
144
|
+
_iterator.e(err);
|
|
145
|
+
} finally {
|
|
146
|
+
_iterator.f();
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
props.valueChangeHandler(signers);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}, [initialImage, signatureImage]);
|
|
153
|
+
|
|
154
|
+
const showInput = mode => {
|
|
155
|
+
setInputMode(mode);
|
|
156
|
+
setOpen(true);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
const doSign = dataUrl => {
|
|
160
|
+
setSigning(false);
|
|
161
|
+
|
|
162
|
+
if (inputMode === 'SIGN') {
|
|
163
|
+
setSignatureImage(dataUrl);
|
|
164
|
+
} else {
|
|
165
|
+
setInitialImage(dataUrl);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
setOpen(false);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
const sign = (method, data) => {
|
|
172
|
+
setSigning(true);
|
|
173
|
+
|
|
174
|
+
if (method === 'type') {
|
|
175
|
+
let node = document.getElementById("template");
|
|
176
|
+
node.innerText = data;
|
|
177
|
+
(0, _htmlToImage.toPng)(node).then(function (dataUrl) {
|
|
178
|
+
doSign(dataUrl);
|
|
179
|
+
}).catch(function (error) {
|
|
180
|
+
console.error('oops, something went wrong!', error);
|
|
181
|
+
});
|
|
182
|
+
} else {
|
|
183
|
+
doSign(data.url);
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
function getFetchConfig() {
|
|
188
|
+
const accessToken = sessionStorage.getItem("accessToken");
|
|
189
|
+
const idToken = sessionStorage.getItem("idToken");
|
|
190
|
+
return {
|
|
191
|
+
method: 'GET',
|
|
192
|
+
headers: {
|
|
193
|
+
'Accept': 'application/json',
|
|
194
|
+
'Authorization': 'Bearer ' + accessToken,
|
|
195
|
+
'idToken': idToken
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function fetchImages() {
|
|
201
|
+
let fetchConfig = getFetchConfig();
|
|
202
|
+
let url = location + _ApplicationContext.default.getBaseApiUrl() + props.signatureImageUrl + "/find";
|
|
203
|
+
setImagesFetched(true);
|
|
204
|
+
(0, _reactPromiseTracker.trackPromise)(fetch(encodeURI(url), fetchConfig).then(status).then(json).then(data => {
|
|
205
|
+
if (data && data.length > 0) {
|
|
206
|
+
let images = JSON.parse(data);
|
|
207
|
+
setSystemSignatures(images);
|
|
208
|
+
}
|
|
209
|
+
}).catch(e => {
|
|
210
|
+
if (e.code === 401) {
|
|
211
|
+
_ApplicationContext.default.clear();
|
|
212
|
+
|
|
213
|
+
_ApplicationContext.default.getApplicationHistory().push('/login');
|
|
214
|
+
}
|
|
215
|
+
}));
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
219
|
+
ref: ref,
|
|
220
|
+
style: {
|
|
221
|
+
padding: "4px 32px"
|
|
222
|
+
}
|
|
223
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
224
|
+
style: {
|
|
225
|
+
position: 'absolute',
|
|
226
|
+
left: '-100000px'
|
|
227
|
+
}
|
|
228
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
229
|
+
id: 'template',
|
|
230
|
+
style: {
|
|
231
|
+
font: 'italic 64px Brush Script MT, Brush Script Std, cursive',
|
|
232
|
+
background: 'transparent',
|
|
233
|
+
padding: '8px'
|
|
234
|
+
}
|
|
235
|
+
})), /*#__PURE__*/_react.default.createElement(_Dialog.default, {
|
|
236
|
+
open: open,
|
|
237
|
+
maxWidth: "xl",
|
|
238
|
+
"aria-labelledby": "alert-dialog-title",
|
|
239
|
+
"aria-describedby": "alert-dialog-description"
|
|
240
|
+
}, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, {
|
|
241
|
+
id: "alert-dialog-title"
|
|
242
|
+
}, "Signature Input"), /*#__PURE__*/_react.default.createElement(_DialogContent.default, null, /*#__PURE__*/_react.default.createElement(_SignatureInput.default, {
|
|
243
|
+
mode: inputMode,
|
|
244
|
+
signing: signing,
|
|
245
|
+
imageProcessingUrl: props.imageProcessingUrl,
|
|
246
|
+
signatureImageUrl: props.signatureImageUrl,
|
|
247
|
+
systemImage: systemSignatures,
|
|
248
|
+
systemSignaturesChangeHandler: newSignatures => {
|
|
249
|
+
setSystemSignatures(newSignatures);
|
|
250
|
+
},
|
|
251
|
+
callback: (action, mode = null, data = null) => {
|
|
252
|
+
if (action === 'CLOSE') {
|
|
253
|
+
setOpen(false);
|
|
254
|
+
} else {
|
|
255
|
+
sign(mode, data);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
259
|
+
style: {
|
|
260
|
+
border: '1px solid #f1f1f1',
|
|
261
|
+
height: '64px',
|
|
262
|
+
width: '100%',
|
|
263
|
+
borderRadius: '4px'
|
|
264
|
+
}
|
|
265
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
266
|
+
className: 'row',
|
|
267
|
+
style: {
|
|
268
|
+
padding: "4px 32px"
|
|
269
|
+
}
|
|
270
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
271
|
+
className: 'col-*-*'
|
|
272
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
273
|
+
variant: 'text',
|
|
274
|
+
size: "large",
|
|
275
|
+
style: {
|
|
276
|
+
width: '100px',
|
|
277
|
+
height: '48px'
|
|
278
|
+
},
|
|
279
|
+
onClick: () => {
|
|
280
|
+
showInput('INITIAL');
|
|
281
|
+
},
|
|
282
|
+
startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
283
|
+
id: 'INITIAL',
|
|
284
|
+
color: 'rgba(0, 0, 0, 0.54)'
|
|
285
|
+
})
|
|
286
|
+
}, "INITIAL"), /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
287
|
+
variant: 'text',
|
|
288
|
+
size: "large",
|
|
289
|
+
style: {
|
|
290
|
+
width: '100px',
|
|
291
|
+
height: '48px'
|
|
292
|
+
},
|
|
293
|
+
onClick: () => {
|
|
294
|
+
showInput('SIGN');
|
|
295
|
+
},
|
|
296
|
+
startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
297
|
+
id: 'SIGN',
|
|
298
|
+
color: 'rgba(0, 0, 0, 0.54)'
|
|
299
|
+
})
|
|
300
|
+
}, "SIGN")))), /*#__PURE__*/_react.default.createElement("div", {
|
|
301
|
+
style: {
|
|
302
|
+
width: '100%'
|
|
303
|
+
}
|
|
304
|
+
}, /*#__PURE__*/_react.default.createElement(_DocumentContainer.default, {
|
|
305
|
+
config: props.config,
|
|
306
|
+
signatureImage: signatureImage,
|
|
307
|
+
initialImage: initialImage
|
|
308
|
+
})));
|
|
309
|
+
}));
|
|
310
|
+
|
|
311
|
+
var _default = AgilitySignaturePanel;
|
|
312
|
+
exports.default = _default;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
* {
|
|
3
|
+
outline: none !important;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.container {
|
|
7
|
+
padding: 16px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.container .row {
|
|
11
|
+
margin-left: 0 !important;
|
|
12
|
+
margin-right: 0 !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.doc-container-layout .p,
|
|
16
|
+
.doc-container-layout .r {
|
|
17
|
+
position: absolute;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.doc-container-layout .page {
|
|
21
|
+
position: relative;
|
|
22
|
+
margin: 0.5em
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@supports (-webkit-text-stroke: 1px black) {
|
|
26
|
+
.doc-container-layout .p {
|
|
27
|
+
text-shadow: none !important;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.doc-container-layout {
|
|
32
|
+
height: auto
|
|
33
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
require("./DocumentContainer.css");
|
|
11
|
+
|
|
12
|
+
var _reactHtmlRenderer = _interopRequireDefault(require("react-html-renderer"));
|
|
13
|
+
|
|
14
|
+
var _reactConfirmAlert = require("react-confirm-alert");
|
|
15
|
+
|
|
16
|
+
require("react-confirm-alert/src/react-confirm-alert.css");
|
|
17
|
+
|
|
18
|
+
var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
23
|
+
|
|
24
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
|
+
|
|
26
|
+
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."); }
|
|
27
|
+
|
|
28
|
+
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); }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
+
|
|
36
|
+
// Import css
|
|
37
|
+
const DocumentContainer = props => {
|
|
38
|
+
const _React$useState = _react.default.useState(null),
|
|
39
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
40
|
+
documentContent = _React$useState2[0],
|
|
41
|
+
setDocumentContent = _React$useState2[1];
|
|
42
|
+
|
|
43
|
+
const _React$useState3 = _react.default.useState(null),
|
|
44
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
45
|
+
signatureImage = _React$useState4[0],
|
|
46
|
+
setSignatureImage = _React$useState4[1];
|
|
47
|
+
|
|
48
|
+
const _React$useState5 = _react.default.useState(null),
|
|
49
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
50
|
+
initialImage = _React$useState6[0],
|
|
51
|
+
setInitialImage = _React$useState6[1];
|
|
52
|
+
|
|
53
|
+
const _React$useState7 = _react.default.useState(null),
|
|
54
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
55
|
+
htmlRendererProps = _React$useState8[0],
|
|
56
|
+
setHtmlRendererProps = _React$useState8[1];
|
|
57
|
+
|
|
58
|
+
const username = sessionStorage.getItem("username");
|
|
59
|
+
|
|
60
|
+
_react.default.useEffect(() => {
|
|
61
|
+
if (signatureImage !== props.signatureImage) {
|
|
62
|
+
setSignatureImage(props.signatureImage);
|
|
63
|
+
}
|
|
64
|
+
}, [props.signatureImage]);
|
|
65
|
+
|
|
66
|
+
_react.default.useEffect(() => {
|
|
67
|
+
if (initialImage !== props.initialImage) {
|
|
68
|
+
setInitialImage(props.initialImage);
|
|
69
|
+
}
|
|
70
|
+
}, [props.initialImage]);
|
|
71
|
+
|
|
72
|
+
_react.default.useEffect(() => {
|
|
73
|
+
createTemplate();
|
|
74
|
+
}, [initialImage, signatureImage]);
|
|
75
|
+
|
|
76
|
+
const createTemplate = () => {
|
|
77
|
+
let template = props.config.documents[0].template;
|
|
78
|
+
let signers = props.config.documents[0].signers;
|
|
79
|
+
let count = 0;
|
|
80
|
+
let total = 0;
|
|
81
|
+
let rendererProps = {};
|
|
82
|
+
|
|
83
|
+
var _iterator = _createForOfIteratorHelper(signers),
|
|
84
|
+
_step;
|
|
85
|
+
|
|
86
|
+
try {
|
|
87
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
88
|
+
const signer = _step.value;
|
|
89
|
+
total += signer.signatureInputs.length;
|
|
90
|
+
}
|
|
91
|
+
} catch (err) {
|
|
92
|
+
_iterator.e(err);
|
|
93
|
+
} finally {
|
|
94
|
+
_iterator.f();
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
var _iterator2 = _createForOfIteratorHelper(signers),
|
|
98
|
+
_step2;
|
|
99
|
+
|
|
100
|
+
try {
|
|
101
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
102
|
+
const signer = _step2.value;
|
|
103
|
+
|
|
104
|
+
if (signer.email === username) {
|
|
105
|
+
let signingInputs = signer.signatureInputs;
|
|
106
|
+
|
|
107
|
+
var _iterator4 = _createForOfIteratorHelper(signingInputs),
|
|
108
|
+
_step4;
|
|
109
|
+
|
|
110
|
+
try {
|
|
111
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
112
|
+
const signingInput = _step4.value;
|
|
113
|
+
signingInput.isFirst = count === 0;
|
|
114
|
+
signingInput.isLast = count === total - 1;
|
|
115
|
+
count++;
|
|
116
|
+
}
|
|
117
|
+
} catch (err) {
|
|
118
|
+
_iterator4.e(err);
|
|
119
|
+
} finally {
|
|
120
|
+
_iterator4.f();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
} catch (err) {
|
|
125
|
+
_iterator2.e(err);
|
|
126
|
+
} finally {
|
|
127
|
+
_iterator2.f();
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
var _iterator3 = _createForOfIteratorHelper(signers),
|
|
131
|
+
_step3;
|
|
132
|
+
|
|
133
|
+
try {
|
|
134
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
135
|
+
const signer = _step3.value;
|
|
136
|
+
|
|
137
|
+
if (signer.email === username) {
|
|
138
|
+
let signingInputs = signer.signatureInputs;
|
|
139
|
+
|
|
140
|
+
var _iterator5 = _createForOfIteratorHelper(signingInputs),
|
|
141
|
+
_step5;
|
|
142
|
+
|
|
143
|
+
try {
|
|
144
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
145
|
+
const signingInput = _step5.value;
|
|
146
|
+
let color = 'transparent';
|
|
147
|
+
|
|
148
|
+
if ("SIGN" === signingInput.inputType && signatureImage === null || "INITIAL" === signingInput.inputType && initialImage === null) {
|
|
149
|
+
color = 'red';
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
template = template.replace(signingInput.tagName, "<sgvp".concat(signingInput.index, " />"));
|
|
153
|
+
|
|
154
|
+
rendererProps["sgvp".concat(signingInput.index)] = props => /*#__PURE__*/_react.default.createElement("div", {
|
|
155
|
+
style: {
|
|
156
|
+
borderRadius: '4px',
|
|
157
|
+
border: '4px dashed ' + color,
|
|
158
|
+
position: 'absolute',
|
|
159
|
+
top: signingInput.padPosition.top ? signingInput.padPosition.top + 'px' : '0',
|
|
160
|
+
left: signingInput.padPosition.left ? signingInput.padPosition.left + 'px' : '0',
|
|
161
|
+
width: signingInput.padPosition.width ? signingInput.padPosition.width + 'px' : "SIGN" === signingInput.inputType ? '200px' : '48px',
|
|
162
|
+
height: signingInput.padPosition.height ? signingInput.padPosition.height + 'px' : "SIGN" === signingInput.inputType ? '64px' : '48px'
|
|
163
|
+
}
|
|
164
|
+
}, "SIGN" === signingInput.inputType && signatureImage !== null ? /*#__PURE__*/_react.default.createElement("img", {
|
|
165
|
+
src: signatureImage,
|
|
166
|
+
alt: '',
|
|
167
|
+
style: {
|
|
168
|
+
maxHeight: '100%',
|
|
169
|
+
maxWidth: '100%'
|
|
170
|
+
}
|
|
171
|
+
}) : "INITIAL" === signingInput.inputType && initialImage !== null ? /*#__PURE__*/_react.default.createElement("img", {
|
|
172
|
+
src: initialImage,
|
|
173
|
+
alt: '',
|
|
174
|
+
style: {
|
|
175
|
+
maxHeight: '100%',
|
|
176
|
+
maxWidth: '100%'
|
|
177
|
+
}
|
|
178
|
+
}) : null);
|
|
179
|
+
}
|
|
180
|
+
} catch (err) {
|
|
181
|
+
_iterator5.e(err);
|
|
182
|
+
} finally {
|
|
183
|
+
_iterator5.f();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
} catch (err) {
|
|
188
|
+
_iterator3.e(err);
|
|
189
|
+
} finally {
|
|
190
|
+
_iterator3.f();
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
setHtmlRendererProps(rendererProps);
|
|
194
|
+
setDocumentContent(template.replace("<html>", "<!--html-->").replace("</html>", "<!--/html-->").replace("<head>", "<!--head-->").replace("</head>", "<!--/head-->").replace("<body>", "<!--body-->").replace("</body>", "<!--/body-->"));
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
return documentContent !== null && htmlRendererProps !== null ? /*#__PURE__*/_react.default.createElement("div", {
|
|
198
|
+
className: "container"
|
|
199
|
+
}, /*#__PURE__*/_react.default.createElement(_reactHtmlRenderer.default, {
|
|
200
|
+
html: documentContent,
|
|
201
|
+
components: htmlRendererProps
|
|
202
|
+
})) : null;
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
var _default = DocumentContainer;
|
|
206
|
+
exports.default = _default;
|