@agilemotion/oui-react-js 1.8.27 → 1.8.29
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 +13 -8
- package/dist/DateUtils.js +78 -0
- package/dist/DynamicJS.js +5 -0
- package/dist/RestService.js +2 -3
- package/dist/Utils.js +3 -3
- package/dist/components/DataGrid.js +5 -1
- package/dist/components/DataGridColumn.js +25 -4
- package/dist/components/HtmlPanel.js +4 -2
- package/dist/components/Icon.js +3 -0
- package/dist/components/PDFViewer.js +6 -1
- package/dist/components/TabPanel.js +6 -0
- package/dist/components/TableCellContent.js +46 -1
- package/dist/components/facialRecognition/FaceRecognitionComponent.js +205 -0
- package/dist/components/facialRecognition/FacialRecognition.css +3 -0
- package/dist/components/facialRecognition/FacialRegistration.js +73 -0
- package/dist/components/facialRecognition/FacialVerification.js +84 -0
- package/dist/components/facialRecognition/Modal.js +33 -0
- package/dist/components/facialRecognition/service/faceApi.js +55 -0
- package/dist/components/form/BaseField.js +1 -4
- package/dist/components/form/FieldSet.js +4 -2
- package/dist/components/form/Form.js +1 -0
- package/dist/components/form/GridField.js +5 -5
- package/dist/components/form/ImageEditor.js +200 -84
- package/dist/components/form/LookupField.js +3 -4
- package/dist/components/form/RadioGroup.js +1 -1
- package/dist/components/layout/Layout.js +16 -0
- package/dist/components/layout/View.js +2 -0
- package/dist/components/signatures/DocumentContainer.js +1 -1
- package/dist/components/signatures/ViewUtils.js +1 -1
- package/dist/event/ActionHandlers.js +1 -1
- package/dist/event/ServiceCallActionHandler.js +2 -1
- package/dist/js/Validators.js +2 -1
- package/package.json +13 -4
|
@@ -8,10 +8,14 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
9
9
|
var _BaseField = require("./BaseField");
|
|
10
10
|
var _styles = require("@mui/styles");
|
|
11
|
+
var _DocumentViewer = _interopRequireDefault(require("../DocumentViewer"));
|
|
11
12
|
var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
12
13
|
var _ApplicationManager = _interopRequireDefault(require("../../ApplicationManager"));
|
|
13
14
|
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
14
15
|
var _reactPromiseTracker = require("react-promise-tracker");
|
|
16
|
+
var _Event = _interopRequireDefault(require("../../event/Event"));
|
|
17
|
+
var _Observable = _interopRequireDefault(require("../../event/Observable"));
|
|
18
|
+
var _EventType = _interopRequireDefault(require("../../event/EventType"));
|
|
15
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
20
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
21
|
const useStyles = (0, _styles.makeStyles)(theme => ({
|
|
@@ -29,9 +33,10 @@ const status = response => {
|
|
|
29
33
|
if (response.ok) {
|
|
30
34
|
return Promise.resolve(response);
|
|
31
35
|
} else {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
return Promise.reject({
|
|
37
|
+
code: response.status,
|
|
38
|
+
message: response.statusText
|
|
39
|
+
});
|
|
35
40
|
}
|
|
36
41
|
};
|
|
37
42
|
const json = response => {
|
|
@@ -39,16 +44,38 @@ const json = response => {
|
|
|
39
44
|
};
|
|
40
45
|
const location = window.location.protocol + "//" + window.location.hostname;
|
|
41
46
|
const ImageEditorComponent = exports.ImageEditorComponent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
42
|
-
const [
|
|
47
|
+
const [viewerFile, setViewerFile] = _react.default.useState(!_Utils.default.isNull(props.initialFile) ? props.initialFile : null);
|
|
43
48
|
const [angle, setAngle] = _react.default.useState(0);
|
|
44
49
|
const [zoomDepth, setZoomDepth] = _react.default.useState(null);
|
|
45
50
|
const [originalImageWidth, setOriginalImageWidth] = _react.default.useState(null);
|
|
46
51
|
const [originalImageHeight, setOriginalImageHeight] = _react.default.useState(null);
|
|
52
|
+
const [payloadStorageMode, setPayloadStorageMode] = _react.default.useState(props.config.payloadStorageMode || 'base64');
|
|
53
|
+
const [files, setFiles] = _react.default.useState(!_Utils.default.isNull(props.initialFile) ? [props.initialFile] : null);
|
|
54
|
+
const [loading, setLoading] = _react.default.useState(true);
|
|
55
|
+
const [nullable] = _react.default.useState(_Utils.default.isNull(props.config.validator) || props.config.validator.nullable === true);
|
|
56
|
+
const [multiple] = _react.default.useState(props.multiple === true);
|
|
57
|
+
const [show, setShow] = _react.default.useState(false);
|
|
47
58
|
const classes = useStyles();
|
|
48
|
-
const
|
|
49
|
-
const
|
|
59
|
+
const [reference, setReference] = _react.default.useState(ref ? ref : /*#__PURE__*/_react.default.createRef());
|
|
60
|
+
const [hasError, setHasError] = _react.default.useState(null);
|
|
61
|
+
const width = _Utils.default.getComponentAttribute(props.config, 'width', '200px');
|
|
62
|
+
const height = _Utils.default.getComponentAttribute(props.config, 'height', '200px');
|
|
63
|
+
const [errorMessage, setErrorMessage] = _react.default.useState("");
|
|
64
|
+
const cacheId = _react.default.useRef(!_Utils.default.isNull(props.base.value) ? props.base.value.documentRepositoryCacheId : null);
|
|
50
65
|
const base = props.base;
|
|
51
|
-
_react.default.useEffect(() => {
|
|
66
|
+
_react.default.useEffect(() => {
|
|
67
|
+
return () => {
|
|
68
|
+
if (cacheId.current) {
|
|
69
|
+
//remove().catch((e) => {});
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}, []);
|
|
73
|
+
_react.default.useEffect(() => {
|
|
74
|
+
setViewerFile(props.initialFile);
|
|
75
|
+
}, [props.initialFile]);
|
|
76
|
+
const handleViewerLoad = numPages => {
|
|
77
|
+
setLoading(false);
|
|
78
|
+
};
|
|
52
79
|
function getFetchConfig(data) {
|
|
53
80
|
const accessToken = sessionStorage.getItem("accessToken");
|
|
54
81
|
const idToken = sessionStorage.getItem("idToken");
|
|
@@ -71,48 +98,154 @@ const ImageEditorComponent = exports.ImageEditorComponent = /*#__PURE__*/_react.
|
|
|
71
98
|
}
|
|
72
99
|
return rotateAngle;
|
|
73
100
|
}
|
|
74
|
-
function
|
|
75
|
-
let
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
_ApplicationManager.default.getApplicationHistory().push('/login');
|
|
87
|
-
}
|
|
88
|
-
}));
|
|
101
|
+
function base64ToFile(b64, originalFile) {
|
|
102
|
+
let mime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "image/png";
|
|
103
|
+
const clean = b64.startsWith("data:") ? b64.split(",")[1] : b64;
|
|
104
|
+
const bin = atob(clean);
|
|
105
|
+
const arr = new Uint8Array(bin.length);
|
|
106
|
+
for (let i = 0; i < bin.length; i++) arr[i] = bin.charCodeAt(i);
|
|
107
|
+
const ext = mime.split("/")[1] || "png";
|
|
108
|
+
const base = originalFile.name.replace(/\.[^.]+$/, "");
|
|
109
|
+
return new File([arr], `${base}-processed.${ext}`, {
|
|
110
|
+
type: mime,
|
|
111
|
+
lastModified: Date.now()
|
|
112
|
+
});
|
|
89
113
|
}
|
|
114
|
+
const upload = (metadata, file, payload) => {
|
|
115
|
+
let uploadUrl = _Utils.default.getComponentAttribute(props.config, 'uploadUrl', null);
|
|
116
|
+
if (uploadUrl === null) {
|
|
117
|
+
uploadUrl = _ApplicationManager.default.getContextRoot() + "/docs/api/v1/manager/upload/save";
|
|
118
|
+
}
|
|
119
|
+
let payloadStorageMode = props.config.payloadStorageMode;
|
|
120
|
+
if (payloadStorageMode === 'post') {
|
|
121
|
+
const accessToken = sessionStorage.getItem("accessToken");
|
|
122
|
+
const idToken = sessionStorage.getItem("idToken");
|
|
123
|
+
let data = new FormData();
|
|
124
|
+
metadata.correlationId = props.viewId + "." + props.config.id;
|
|
125
|
+
data.append("metadata", JSON.stringify(metadata));
|
|
126
|
+
const processedFile = base64ToFile(payload, file, "image/png");
|
|
127
|
+
data.append("file", processedFile);
|
|
128
|
+
let fetchConfig = getFetchConfig(data);
|
|
129
|
+
let url = location + uploadUrl;
|
|
130
|
+
(0, _reactPromiseTracker.trackPromise)(fetch(encodeURI(url), fetchConfig).then(status).then(json).then(data => {
|
|
131
|
+
metadata.documentRepositoryId = !_Utils.default.isNull(base.value) ? base.value.documentRepositoryId : null;
|
|
132
|
+
metadata.documentRepositoryCacheId = data;
|
|
133
|
+
cacheId.current = data;
|
|
134
|
+
base.handleValueChange(metadata);
|
|
135
|
+
}).catch(e => {
|
|
136
|
+
if (e.code === 401) {
|
|
137
|
+
_ApplicationManager.default.clear();
|
|
138
|
+
_ApplicationManager.default.getApplicationHistory().push('/login');
|
|
139
|
+
}
|
|
140
|
+
let message = {
|
|
141
|
+
messageType: 'ERROR',
|
|
142
|
+
message: 'An error has accurred while uploading file'
|
|
143
|
+
};
|
|
144
|
+
let event = new _Event.default(_ApplicationManager.default, props.viewId, message);
|
|
145
|
+
_Observable.default.fireEvent(_EventType.default.MESSAGE_ARRIVED, event);
|
|
146
|
+
}));
|
|
147
|
+
} else {
|
|
148
|
+
metadata.payload = payload;
|
|
149
|
+
base.handleValueChange(metadata);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
const remove = () => {
|
|
153
|
+
return new Promise((resolve, reject) => {
|
|
154
|
+
const accessToken = sessionStorage.getItem("accessToken");
|
|
155
|
+
const idToken = sessionStorage.getItem("idToken");
|
|
156
|
+
let fetchConfig = {
|
|
157
|
+
method: 'GET',
|
|
158
|
+
headers: {
|
|
159
|
+
'Accept': 'application/json',
|
|
160
|
+
'Authorization': 'Bearer ' + accessToken,
|
|
161
|
+
'idToken': idToken,
|
|
162
|
+
'tenant': _ApplicationManager.default.getActiveTenant()
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
let url = location + _ApplicationManager.default.getContextRoot() + '/docs/api/v1/manager/upload/remove/' + cacheId.current;
|
|
166
|
+
(0, _reactPromiseTracker.trackPromise)(fetch(encodeURI(url), fetchConfig).then(status).then(() => {
|
|
167
|
+
resolve();
|
|
168
|
+
}).catch(e => {
|
|
169
|
+
if (e.code === 401) {
|
|
170
|
+
_ApplicationManager.default.clear();
|
|
171
|
+
_ApplicationManager.default.getApplicationHistory().push('/login');
|
|
172
|
+
} else {
|
|
173
|
+
reject(e);
|
|
174
|
+
}
|
|
175
|
+
}));
|
|
176
|
+
});
|
|
177
|
+
};
|
|
90
178
|
const handleChange = () => event => {
|
|
91
179
|
let files = event.target.files;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
180
|
+
var allFiles = [];
|
|
181
|
+
for (var i = 0; i < files.length; i++) {
|
|
182
|
+
let file = files[i];
|
|
183
|
+
let reader = new FileReader();
|
|
184
|
+
reader.readAsDataURL(file);
|
|
185
|
+
reader.onload = () => {
|
|
186
|
+
let fileInfo = {
|
|
187
|
+
name: file.name,
|
|
188
|
+
type: file.type,
|
|
189
|
+
size: file.size,
|
|
190
|
+
base64: reader.result,
|
|
191
|
+
file: file
|
|
192
|
+
};
|
|
193
|
+
console.log("\n\n\n\nFILE : ", file);
|
|
194
|
+
allFiles.push(fileInfo);
|
|
195
|
+
if (allFiles.length === files.length) {
|
|
196
|
+
if (multiple === true) {
|
|
197
|
+
if (!_Utils.default.isNull(props.onUploadHandler)) {
|
|
198
|
+
props.onUploadHandler(allFiles);
|
|
199
|
+
}
|
|
200
|
+
} else {
|
|
201
|
+
if (!_Utils.default.isNull(props.onUploadHandler)) {
|
|
202
|
+
props.onUploadHandler(allFiles[0]);
|
|
203
|
+
}
|
|
204
|
+
setLoading(true);
|
|
205
|
+
}
|
|
206
|
+
setFiles(allFiles);
|
|
103
207
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
208
|
+
};
|
|
209
|
+
reader.onloadend = () => {
|
|
210
|
+
if (!_Utils.default.isNull(props.form)) {
|
|
211
|
+
if (_Utils.default.getComponentAttribute(props.config, 'autoRemoveBackground', false)) {
|
|
212
|
+
process(data => {
|
|
213
|
+
allFiles[0].base64 = data;
|
|
214
|
+
setViewerFile(allFiles[0]);
|
|
215
|
+
handleloadEnded(allFiles, data);
|
|
216
|
+
}, allFiles[0].base64, 'removeBackground');
|
|
217
|
+
} else {
|
|
218
|
+
handleloadEnded(allFile, reader.payload);
|
|
219
|
+
setViewerFile(allFiles[0]);
|
|
220
|
+
}
|
|
112
221
|
}
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
const handleloadEnded = (allFiles, payload) => {
|
|
226
|
+
let fileMetaData = {};
|
|
227
|
+
fileMetaData.name = allFiles[0].name;
|
|
228
|
+
fileMetaData.type = allFiles[0].type;
|
|
229
|
+
fileMetaData.size = allFiles[0].size;
|
|
230
|
+
if (base.value) {
|
|
231
|
+
fileMetaData.id = base.value.id;
|
|
232
|
+
fileMetaData.documentRepositoryId = base.value.documentRepositoryId;
|
|
233
|
+
}
|
|
234
|
+
if ('base64' === payloadStorageMode) {
|
|
235
|
+
fileMetaData.payload = allFiles[0].base64;
|
|
236
|
+
base.handleValueChange(fileMetaData);
|
|
237
|
+
} else {
|
|
238
|
+
fileMetaData.correlationId = props.config.id;
|
|
239
|
+
fileMetaData.domain = props.viewId;
|
|
240
|
+
if (cacheId.current) {
|
|
241
|
+
remove().then(() => {
|
|
242
|
+
cacheId.current = null;
|
|
243
|
+
upload(fileMetaData, allFiles[0].file, payload);
|
|
244
|
+
}).catch(e => {});
|
|
245
|
+
} else {
|
|
246
|
+
upload(fileMetaData, allFiles[0].file, payload);
|
|
113
247
|
}
|
|
114
|
-
}
|
|
115
|
-
reader.onloadend = () => {};
|
|
248
|
+
}
|
|
116
249
|
};
|
|
117
250
|
_react.default.useEffect(() => {
|
|
118
251
|
let container = document.getElementById("__image_container");
|
|
@@ -125,6 +258,22 @@ const ImageEditorComponent = exports.ImageEditorComponent = /*#__PURE__*/_react.
|
|
|
125
258
|
image.style.height = container.style.height;
|
|
126
259
|
}
|
|
127
260
|
}, [zoomDepth]);
|
|
261
|
+
function process(callback, data, action) {
|
|
262
|
+
let fetchConfig = getFetchConfig(data);
|
|
263
|
+
let url = location + _ApplicationManager.default.getContextRoot() + _Utils.default.getComponentAttribute(props.config, 'processingUrl', null) + "/" + action + "/" + _Utils.default.getComponentAttribute(props.config, "mode", "DOC");
|
|
264
|
+
let rotateAngle = getRotateAngle(action);
|
|
265
|
+
if (rotateAngle) {
|
|
266
|
+
url += "?angle=" + rotateAngle;
|
|
267
|
+
}
|
|
268
|
+
(0, _reactPromiseTracker.trackPromise)(fetch(encodeURI(url), fetchConfig).then(status).then(json).then(data => {
|
|
269
|
+
callback(data);
|
|
270
|
+
}).catch(e => {
|
|
271
|
+
if (e.code === 401) {
|
|
272
|
+
_ApplicationManager.default.clear();
|
|
273
|
+
_ApplicationManager.default.getApplicationHistory().push('/login');
|
|
274
|
+
}
|
|
275
|
+
}));
|
|
276
|
+
}
|
|
128
277
|
const zoom = direction => {
|
|
129
278
|
if (originalImageWidth === null) {
|
|
130
279
|
setOriginalImageWidth(document.getElementById("__image").width);
|
|
@@ -140,11 +289,13 @@ const ImageEditorComponent = exports.ImageEditorComponent = /*#__PURE__*/_react.
|
|
|
140
289
|
let rotateMode = _Utils.default.getComponentAttribute(props.config, "rotateMode", null);
|
|
141
290
|
if (rotateMode === null || rotateMode === 'SERVER') {
|
|
142
291
|
process(data => {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
292
|
+
files[0].base64 = data;
|
|
293
|
+
setViewerFile({
|
|
294
|
+
...files[0],
|
|
295
|
+
base64: data
|
|
146
296
|
});
|
|
147
|
-
|
|
297
|
+
handleloadEnded(files, data);
|
|
298
|
+
}, files[0].base64, 'rotate' + direction);
|
|
148
299
|
} else {
|
|
149
300
|
let rotateAngle = angle + getRotateAngle("rotate" + direction);
|
|
150
301
|
document.getElementById("__image_container").style.transform = "rotate(" + rotateAngle + "deg)";
|
|
@@ -264,7 +415,7 @@ const ImageEditorComponent = exports.ImageEditorComponent = /*#__PURE__*/_react.
|
|
|
264
415
|
startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
265
416
|
id: 'ZOOM_IN'
|
|
266
417
|
})
|
|
267
|
-
}) : null)), !_Utils.default.isNull(base.value) ? /*#__PURE__*/_react.default.createElement("div", {
|
|
418
|
+
}) : null)), !_Utils.default.isNull(base.value) || !_Utils.default.isNull(viewerFile) ? /*#__PURE__*/_react.default.createElement("div", {
|
|
268
419
|
className: "row",
|
|
269
420
|
style: {
|
|
270
421
|
padding: "8px 0",
|
|
@@ -300,7 +451,7 @@ const ImageEditorComponent = exports.ImageEditorComponent = /*#__PURE__*/_react.
|
|
|
300
451
|
id: "__image_container"
|
|
301
452
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
302
453
|
id: "__image",
|
|
303
|
-
src: base.value
|
|
454
|
+
src: viewerFile?.base64 || base.value?.url,
|
|
304
455
|
alt: '',
|
|
305
456
|
style: {
|
|
306
457
|
maxHeight: parseFloat(height.replace('px', '')) - 20 + 'px'
|
|
@@ -313,41 +464,6 @@ const ImageEditor = exports.ImageEditor = /*#__PURE__*/_react.default.memo(/*#__
|
|
|
313
464
|
return /*#__PURE__*/_react.default.createElement(_BaseField.BaseField, _extends({}, props, {
|
|
314
465
|
handle: props.handle,
|
|
315
466
|
valueParser: (value, inbound) => {
|
|
316
|
-
if (inbound) {
|
|
317
|
-
clearTrigger.current = !clearTrigger.current;
|
|
318
|
-
if (!_Utils.default.isNull(value)) {
|
|
319
|
-
let val = value;
|
|
320
|
-
|
|
321
|
-
// TODO : Support multiple file upload
|
|
322
|
-
if (_Utils.default.getComponentAttribute(props.config, 'multiple', false)) {
|
|
323
|
-
if (typeof value.length !== 'undefined' && value.length > 0) {
|
|
324
|
-
val = value[0];
|
|
325
|
-
} else {
|
|
326
|
-
if (value.documentRepositoryId) {
|
|
327
|
-
return value;
|
|
328
|
-
}
|
|
329
|
-
return null;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
if (val.map) {
|
|
333
|
-
val = val.map;
|
|
334
|
-
}
|
|
335
|
-
let fileMetaData = {};
|
|
336
|
-
fileMetaData.name = !_Utils.default.isNull(val.label) ? val.label : val.name;
|
|
337
|
-
fileMetaData.id = val.id;
|
|
338
|
-
fileMetaData.type = val.type;
|
|
339
|
-
fileMetaData.size = val.size;
|
|
340
|
-
fileMetaData.documentRepositoryId = !_Utils.default.isNull(val.key) ? val.key : val.documentRepositoryId;
|
|
341
|
-
fileMetaData.documentRepositoryCacheId = val.documentRepositoryCacheId;
|
|
342
|
-
fileMetaData.url = val.url;
|
|
343
|
-
if (!_Utils.default.isNull(val.url)) {
|
|
344
|
-
let file = {};
|
|
345
|
-
file.base64 = val.url;
|
|
346
|
-
setFile(file);
|
|
347
|
-
}
|
|
348
|
-
return fileMetaData;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
467
|
return value;
|
|
352
468
|
},
|
|
353
469
|
valueChangeCallback: value => {
|
|
@@ -105,11 +105,11 @@ const LookupFieldComponent = exports.LookupFieldComponent = /*#__PURE__*/_react.
|
|
|
105
105
|
}, "...")), /*#__PURE__*/_react.default.createElement("div", {
|
|
106
106
|
className: 'col-*-* no-margin no-padding',
|
|
107
107
|
style: {
|
|
108
|
-
width: 'calc(100% - 72px)',
|
|
108
|
+
width: !base.disabled ? 'calc(100% - 72px)' : '100%',
|
|
109
109
|
marginBottom: value ? '0' : '8px',
|
|
110
110
|
position: 'relative'
|
|
111
111
|
}
|
|
112
|
-
}, !base.required && /*#__PURE__*/_react.default.createElement("div", {
|
|
112
|
+
}, !base.required && !base.disabled && /*#__PURE__*/_react.default.createElement("div", {
|
|
113
113
|
style: {
|
|
114
114
|
width: '32px',
|
|
115
115
|
height: '32px',
|
|
@@ -119,8 +119,7 @@ const LookupFieldComponent = exports.LookupFieldComponent = /*#__PURE__*/_react.
|
|
|
119
119
|
}
|
|
120
120
|
}, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
121
121
|
variant: 'outlined',
|
|
122
|
-
onClick: clearValue
|
|
123
|
-
disabled: base.disabled
|
|
122
|
+
onClick: clearValue
|
|
124
123
|
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
125
124
|
id: "CLEAR"
|
|
126
125
|
}))), /*#__PURE__*/_react.default.createElement(_TextField.default, {
|
|
@@ -30,6 +30,8 @@ var _DocumentTemplateDesigner = _interopRequireDefault(require("../DocumentTempl
|
|
|
30
30
|
var _ChatRoomWrapper = _interopRequireDefault(require("../media/chat/ChatRoomWrapper"));
|
|
31
31
|
var _ProgressTracker = _interopRequireDefault(require("../ProgressTracker"));
|
|
32
32
|
var _Chart = _interopRequireDefault(require("../Chart"));
|
|
33
|
+
var _FacialRegistration = _interopRequireDefault(require("../facialRecognition/FacialRegistration"));
|
|
34
|
+
var _FacialVerification = _interopRequireDefault(require("../facialRecognition/FacialVerification"));
|
|
33
35
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
34
36
|
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); }
|
|
35
37
|
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; }
|
|
@@ -251,6 +253,20 @@ const Layout = props => {
|
|
|
251
253
|
key: index,
|
|
252
254
|
viewId: props.viewId
|
|
253
255
|
});
|
|
256
|
+
case 'facialRegistration':
|
|
257
|
+
return /*#__PURE__*/_react.default.createElement(_FacialRegistration.default, {
|
|
258
|
+
config: component,
|
|
259
|
+
handle: createComponentHandle(component),
|
|
260
|
+
key: index,
|
|
261
|
+
viewId: props.viewId
|
|
262
|
+
});
|
|
263
|
+
case 'facialVerification':
|
|
264
|
+
return /*#__PURE__*/_react.default.createElement(_FacialVerification.default, {
|
|
265
|
+
config: component,
|
|
266
|
+
handle: createComponentHandle(component),
|
|
267
|
+
key: index,
|
|
268
|
+
viewId: props.viewId
|
|
269
|
+
});
|
|
254
270
|
case 'chart':
|
|
255
271
|
return /*#__PURE__*/_react.default.createElement(_Chart.default, {
|
|
256
272
|
config: component,
|
|
@@ -130,6 +130,7 @@ const View = props => {
|
|
|
130
130
|
return props.parameters;
|
|
131
131
|
},
|
|
132
132
|
get model() {
|
|
133
|
+
_ApplicationManager.default.enableFormMarkers(false);
|
|
133
134
|
let children = layoutHandle.api.getChildren();
|
|
134
135
|
for (const child of children) {
|
|
135
136
|
if (!_Utils.default.isNull(child.api)) {
|
|
@@ -139,6 +140,7 @@ const View = props => {
|
|
|
139
140
|
}
|
|
140
141
|
}
|
|
141
142
|
}
|
|
143
|
+
_ApplicationManager.default.enableFormMarkers(true);
|
|
142
144
|
return model;
|
|
143
145
|
},
|
|
144
146
|
getChild: id => {
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _reactPromiseTracker = require("react-promise-tracker");
|
|
8
8
|
class ViewUtils {
|
|
9
9
|
constructor() {}
|
|
10
|
-
SYSTEM_ERROR_MESSAGE = "A system error has
|
|
10
|
+
SYSTEM_ERROR_MESSAGE = "A system error has occurred. Please contact your system administrator";
|
|
11
11
|
isNull(value) {
|
|
12
12
|
return value === null || typeof value === 'undefined';
|
|
13
13
|
}
|
|
@@ -52,7 +52,7 @@ class ActionHandlers {
|
|
|
52
52
|
if (!actionHandler) {
|
|
53
53
|
throw new Error("No action handler found for [" + action.actionType + "]");
|
|
54
54
|
}
|
|
55
|
-
let message = action.confirmationMessage;
|
|
55
|
+
let message = action.confirmationMessage ? _DynamicJS.default.executeScript("__confirmation_messaage_" + viewId + "_" + component.id, action.confirmationMessage) : null;
|
|
56
56
|
let condition = action.condition;
|
|
57
57
|
let shouldRun = true;
|
|
58
58
|
if (!_Utils.default.isNull(condition)) {
|
|
@@ -59,12 +59,13 @@ class ServiceCallActionHandler {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
handleError(e, invalidParameterCallback, currentViewId, component, errorCallback) {
|
|
62
|
-
console.error(e);
|
|
63
62
|
if (e && e.errorType === 'INVALID_PARAMETER') {
|
|
63
|
+
console.warn("The service was not be called because of a null required parameter : ", e.parameter);
|
|
64
64
|
if (invalidParameterCallback) {
|
|
65
65
|
invalidParameterCallback();
|
|
66
66
|
}
|
|
67
67
|
} else {
|
|
68
|
+
console.error(e);
|
|
68
69
|
_Utils.default.publishErrorMessage(e, currentViewId, component);
|
|
69
70
|
if (!_Utils.default.isNull(errorCallback)) {
|
|
70
71
|
errorCallback(e);
|
package/dist/js/Validators.js
CHANGED
|
@@ -23,7 +23,8 @@ class Validators {
|
|
|
23
23
|
messageType: 'ERROR',
|
|
24
24
|
message: ''
|
|
25
25
|
};
|
|
26
|
-
}
|
|
26
|
+
} //0179a4f4-99b9-4d6b-b2ba-d9eb381748b7 0179a4f4-99b9-4d6b-b2ba-d9eb381748b5
|
|
27
|
+
|
|
27
28
|
if (item.procurementMethod.type === 'CONTRACT' || item.procurementMethod.type === 'TRANSVERSAL_CONTRACT') {
|
|
28
29
|
if (item.procurementMethod.type === 'TRANSVERSAL_CONTRACT' && !item.contract.owner) {
|
|
29
30
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agilemotion/oui-react-js",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.29",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist"
|
|
6
6
|
],
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"dayjs": "^1.11.13",
|
|
43
43
|
"dotenv-webpack": "^8.1.0",
|
|
44
44
|
"emotion-theming": "^11.0.0",
|
|
45
|
+
"face-api.js": "^0.22.2",
|
|
45
46
|
"handlebars": "^4.7.7",
|
|
46
47
|
"html-to-image": "^1.6.2",
|
|
47
48
|
"install": "^0.13.0",
|
|
@@ -84,9 +85,13 @@
|
|
|
84
85
|
"redux": "^4.0.5",
|
|
85
86
|
"redux-thunk": "^2.3.0",
|
|
86
87
|
"rrule": "^2.8.1",
|
|
87
|
-
"save-dev": "^0.0.1-security",
|
|
88
88
|
"socket.io-client": "^4.7.5",
|
|
89
|
-
"styled-components": "^5.2.3"
|
|
89
|
+
"styled-components": "^5.2.3",
|
|
90
|
+
"@testing-library/dom": "^10.4.0",
|
|
91
|
+
"@testing-library/jest-dom": "^6.6.3",
|
|
92
|
+
"@testing-library/react": "^16.3.0",
|
|
93
|
+
"@testing-library/user-event": "^13.5.0",
|
|
94
|
+
"web-vitals": "^2.1.4"
|
|
90
95
|
},
|
|
91
96
|
"devDependencies": {
|
|
92
97
|
"@babel/cli": "^7.13.14",
|
|
@@ -113,7 +118,11 @@
|
|
|
113
118
|
"url-loader": "^4.1.1",
|
|
114
119
|
"webpack": "^5.98.0",
|
|
115
120
|
"webpack-cli": "^6.0.1",
|
|
116
|
-
"webpack-dev-server": "^5.2.0"
|
|
121
|
+
"webpack-dev-server": "^5.2.0",
|
|
122
|
+
"autoprefixer": "^10.4.21",
|
|
123
|
+
"postcss": "^8.5.3",
|
|
124
|
+
"react-app-rewired": "^2.2.1",
|
|
125
|
+
"tailwindcss": "^3.4.1"
|
|
117
126
|
},
|
|
118
127
|
"scripts": {
|
|
119
128
|
"publish:npm": "rm -rf dist && mkdir dist && babel src/lib -d dist --copy-files",
|