@agilemotion/oui-react-js 1.8.78 → 2.0.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.
- package/README.TXT +10 -0
- package/dist/ApplicationManager.js +39 -2
- package/dist/BasicAppHome.js +4 -0
- package/dist/RestService.js +11 -2
- package/dist/RestUtils.js +11 -2
- package/dist/assets/jss/views/loginBasicStyle.js +5 -5
- package/dist/assets/jss/views/loginBasicStyle.jsx +5 -5
- package/dist/components/Button.js +47 -29
- package/dist/components/DocumentViewer.js +32 -19
- package/dist/components/Icon.js +3 -14
- package/dist/components/Toolbar.js +2 -2
- package/dist/components/Tree.js +237 -141
- package/dist/components/WordDocumentViewer.js +35 -7
- package/dist/components/dashboard/FoldingSideTabDashboard.js +10 -1
- package/dist/components/facialRecognition/FacialRegistration.js +15 -1
- package/dist/components/facialRecognition/FacialVerification.js +23 -2
- package/dist/components/form/FieldSet.js +8 -0
- package/dist/components/form/ImageEditor.js +64 -43
- package/dist/components/form/MultiFileUploadField.js +6 -5
- package/dist/components/form/RadioGroup.js +9 -1
- package/dist/components/form/Section.js +8 -2
- package/dist/components/form/TransferList.js +14 -10
- package/dist/components/form/UploadField.js +17 -4
- package/dist/components/layout/Layout.css +49 -1
- package/dist/components/layout/Layout.js +41 -1
- package/dist/components/layout/View.css +1 -1
- package/dist/components/navbars/PortalNavbar.js +5 -0
- package/dist/components/signatures/AgilitySignaturePanel.js +230 -22
- package/dist/components/signatures/DynamicSignatureDocumentContainer.js +487 -0
- package/dist/components/signatures/ImageSignatureInput.js +1 -2
- package/dist/event/EventType.js +3 -1
- package/package.json +2 -1
|
@@ -10,7 +10,9 @@ var _Observable = _interopRequireDefault(require("../../event/Observable"));
|
|
|
10
10
|
var _Event = _interopRequireDefault(require("../../event/Event"));
|
|
11
11
|
var _EventType = _interopRequireDefault(require("../../event/EventType"));
|
|
12
12
|
var _FaceRecognitionComponent = _interopRequireDefault(require("./FaceRecognitionComponent"));
|
|
13
|
-
var
|
|
13
|
+
var _ApplicationManager = _interopRequireWildcard(require("../../ApplicationManager"));
|
|
14
|
+
var _FoldingSideTabDashboard = require("../dashboard/FoldingSideTabDashboard");
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
17
|
const status = response => {
|
|
16
18
|
if (response.ok) {
|
|
@@ -28,6 +30,7 @@ const location = window.location.protocol + '//' + window.location.hostname + ':
|
|
|
28
30
|
const FacialVerification = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
29
31
|
const [visible, setVisible] = _react.default.useState(false);
|
|
30
32
|
const [value, setValue] = _react.default.useState(null);
|
|
33
|
+
const [offset, setOffset] = _react.default.useState(_FoldingSideTabDashboard.DRAWER_WIDTH);
|
|
31
34
|
_react.default.useEffect(() => {
|
|
32
35
|
props.handle.api = api();
|
|
33
36
|
});
|
|
@@ -38,13 +41,29 @@ const FacialVerification = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.
|
|
|
38
41
|
let event = new _Event.default(props.handle, props.viewId, null);
|
|
39
42
|
_Observable.default.fireEvent(_EventType.default.COMPONENT_LOAD, event);
|
|
40
43
|
props.handle.api.refresh();
|
|
44
|
+
let listener = {};
|
|
45
|
+
listener.id = 'facialVerificationDashboardStateListener';
|
|
46
|
+
listener.type = _ApplicationManager.DASHBOARD_STATE;
|
|
47
|
+
listener.handler = state => {
|
|
48
|
+
setOffset(state.leftOffset);
|
|
49
|
+
};
|
|
50
|
+
_ApplicationManager.default.addApplicationListener(listener);
|
|
41
51
|
return () => {
|
|
42
52
|
_Observable.default.clearComponentEventListeners(props.handle);
|
|
53
|
+
_ApplicationManager.default.removeApplicationListener('facialVerificationDashboardStateListener');
|
|
43
54
|
};
|
|
44
55
|
}, []);
|
|
45
56
|
_react.default.useEffect(() => {
|
|
46
57
|
let event = new _Event.default(props.handle, props.viewId, value);
|
|
47
58
|
_Observable.default.fireEvent(_EventType.default.VALUE_CHANGE, event);
|
|
59
|
+
|
|
60
|
+
// Fire FACIAL_VERIFICATION_SUCCESS only on a confirmed pass.
|
|
61
|
+
// Subscribers (e.g. forms with autoLoadData=false) use this to
|
|
62
|
+
// defer their loadData until the user is verified, instead of
|
|
63
|
+
// pulling sensitive data on view mount.
|
|
64
|
+
if (!_Utils.default.isNull(value) && value.outcome === 'SUCCESS') {
|
|
65
|
+
_Observable.default.fireEvent(_EventType.default.FACIAL_VERIFICATION_SUCCESS, event);
|
|
66
|
+
}
|
|
48
67
|
}, [value]);
|
|
49
68
|
const api = () => {
|
|
50
69
|
return {
|
|
@@ -72,7 +91,9 @@ const FacialVerification = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.
|
|
|
72
91
|
};
|
|
73
92
|
};
|
|
74
93
|
return visible && /*#__PURE__*/_react.default.createElement("div", {
|
|
75
|
-
style: _Utils.default.mergeStyles({
|
|
94
|
+
style: _Utils.default.mergeStyles({
|
|
95
|
+
width: "calc(100% - ".concat(offset, "px)")
|
|
96
|
+
}, props.config)
|
|
76
97
|
}, /*#__PURE__*/_react.default.createElement(_FaceRecognitionComponent.default, {
|
|
77
98
|
mode: "verify",
|
|
78
99
|
onComplete: response => {
|
|
@@ -36,6 +36,7 @@ var _Switch = _interopRequireDefault(require("./Switch"));
|
|
|
36
36
|
var _IconField = _interopRequireDefault(require("./IconField"));
|
|
37
37
|
var _DocumentTemplateDesigner = _interopRequireDefault(require("../DocumentTemplateDesigner"));
|
|
38
38
|
var _DynamicJS = _interopRequireDefault(require("../../DynamicJS"));
|
|
39
|
+
var _Layout = require("../layout/Layout");
|
|
39
40
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
40
41
|
const FieldSet = /*#__PURE__*/_react.default.memo(props => {
|
|
41
42
|
const [fieldGrid] = _react.default.useState(_Utils.default.getFieldGrid(props.config.attributes, props.config.fields));
|
|
@@ -339,6 +340,13 @@ const FieldSet = /*#__PURE__*/_react.default.memo(props => {
|
|
|
339
340
|
handle: createComponentHandle(component),
|
|
340
341
|
viewId: props.viewId
|
|
341
342
|
});
|
|
343
|
+
case 'LAYOUT':
|
|
344
|
+
return /*#__PURE__*/_react.default.createElement(_Layout.Layout, {
|
|
345
|
+
config: component,
|
|
346
|
+
form: props.form,
|
|
347
|
+
handle: createComponentHandle(component),
|
|
348
|
+
viewId: props.viewId
|
|
349
|
+
});
|
|
342
350
|
case 'ICON':
|
|
343
351
|
return /*#__PURE__*/_react.default.createElement(_IconField.default, {
|
|
344
352
|
keyHandler: props.keyHandler,
|
|
@@ -48,7 +48,6 @@ const json = response => {
|
|
|
48
48
|
};
|
|
49
49
|
const location = window.location.protocol + "//" + window.location.hostname;
|
|
50
50
|
const ImageEditorComponent = exports.ImageEditorComponent = /*#__PURE__*/_react.default.memo(props => {
|
|
51
|
-
var _base$value;
|
|
52
51
|
const [viewerFile, setViewerFile] = _react.default.useState(!_Utils.default.isNull(props.initialFile) ? props.initialFile : null);
|
|
53
52
|
const [angle, setAngle] = _react.default.useState(0);
|
|
54
53
|
const [zoomDepth, setZoomDepth] = _react.default.useState(null);
|
|
@@ -409,48 +408,70 @@ const ImageEditorComponent = exports.ImageEditorComponent = /*#__PURE__*/_react.
|
|
|
409
408
|
startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
410
409
|
id: 'ZOOM_IN'
|
|
411
410
|
})
|
|
412
|
-
}) : null)), !_Utils.default.isNull(base.value) || !_Utils.default.isNull(viewerFile) ?
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
411
|
+
}) : null)), !_Utils.default.isNull(base.value) || !_Utils.default.isNull(viewerFile) ? (_base$value => {
|
|
412
|
+
// Two display modes:
|
|
413
|
+
// - default (no user-driven zoom): image fits the box,
|
|
414
|
+
// object-fit contain, parent overflow hidden → no scrollbars.
|
|
415
|
+
// - zoomed (user clicked Zoom In): explicit width/height
|
|
416
|
+
// applied by the zoom useEffect, parent overflow auto so
|
|
417
|
+
// the user can pan around the larger-than-box image.
|
|
418
|
+
const isZoomed = zoomDepth !== null && zoomDepth > 0;
|
|
419
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
420
|
+
className: "row",
|
|
421
|
+
style: {
|
|
422
|
+
padding: "8px 0",
|
|
423
|
+
marginLeft: '0',
|
|
424
|
+
marginRight: '0'
|
|
425
|
+
}
|
|
426
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
427
|
+
id: "__image_parent",
|
|
428
|
+
style: {
|
|
429
|
+
width: "100%",
|
|
430
|
+
height: height,
|
|
431
|
+
backgroundRepeat: 'no-repeat',
|
|
432
|
+
backgroundSize: 'cover',
|
|
433
|
+
backgroundColor: 'transparent',
|
|
434
|
+
backgroundImage: "url(".concat(require('./transparent.jpeg'), ")"),
|
|
435
|
+
border: '1px solid #e1e1e1',
|
|
436
|
+
borderRadius: '4px',
|
|
437
|
+
overflow: isZoomed ? 'auto' : 'hidden',
|
|
438
|
+
boxSizing: 'border-box',
|
|
439
|
+
display: 'flex',
|
|
440
|
+
justifyContent: 'center',
|
|
441
|
+
alignItems: 'center',
|
|
442
|
+
padding: '6px'
|
|
443
|
+
},
|
|
444
|
+
className: "col-*-*"
|
|
445
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
446
|
+
id: "__image_container",
|
|
447
|
+
style: isZoomed ? {
|
|
448
|
+
display: 'inline-block'
|
|
449
|
+
} : {
|
|
450
|
+
width: '100%',
|
|
451
|
+
height: '100%',
|
|
452
|
+
display: 'flex',
|
|
453
|
+
justifyContent: 'center',
|
|
454
|
+
alignItems: 'center'
|
|
455
|
+
}
|
|
456
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
457
|
+
id: "__image",
|
|
458
|
+
src: (viewerFile === null || viewerFile === void 0 ? void 0 : viewerFile.base64) || ((_base$value = base.value) === null || _base$value === void 0 ? void 0 : _base$value.url),
|
|
459
|
+
alt: '',
|
|
460
|
+
draggable: false,
|
|
461
|
+
style: isZoomed ? {
|
|
462
|
+
display: 'block',
|
|
463
|
+
userSelect: 'none'
|
|
464
|
+
} : {
|
|
465
|
+
maxWidth: '100%',
|
|
466
|
+
maxHeight: '100%',
|
|
467
|
+
width: 'auto',
|
|
468
|
+
height: 'auto',
|
|
469
|
+
objectFit: 'contain',
|
|
470
|
+
display: 'block',
|
|
471
|
+
userSelect: 'none'
|
|
472
|
+
}
|
|
473
|
+
}))));
|
|
474
|
+
})() : null);
|
|
454
475
|
});
|
|
455
476
|
const ImageEditor = exports.ImageEditor = /*#__PURE__*/_react.default.memo(props => {
|
|
456
477
|
const [file, setFile] = _react.default.useState(null);
|
|
@@ -48,7 +48,7 @@ const json = response => {
|
|
|
48
48
|
};
|
|
49
49
|
const location = window.location.protocol + '//' + window.location.hostname;
|
|
50
50
|
const DocumentUpload = props => {
|
|
51
|
-
var _props$config$attribu;
|
|
51
|
+
var _props$config$attribu, _props$config$attribu2;
|
|
52
52
|
const [files, setFiles] = _react.default.useState(null);
|
|
53
53
|
const [multiple] = _react.default.useState(props.multiple === true);
|
|
54
54
|
const [payloadStorageMode] = _react.default.useState(props.config.payloadStorageMode || 'base64');
|
|
@@ -225,6 +225,7 @@ const DocumentUpload = props => {
|
|
|
225
225
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
226
226
|
style: _Utils.default.mergeStyles({}, props.config)
|
|
227
227
|
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
228
|
+
accept: ((_props$config$attribu = props.config.attributes) === null || _props$config$attribu === void 0 ? void 0 : _props$config$attribu.accept) || "application/pdf",
|
|
228
229
|
className: classes.input,
|
|
229
230
|
id: "contained-button-file-".concat(props.config.id),
|
|
230
231
|
disabled: base.disabled,
|
|
@@ -234,7 +235,7 @@ const DocumentUpload = props => {
|
|
|
234
235
|
type: "file"
|
|
235
236
|
}), /*#__PURE__*/_react.default.createElement("div", null, !base.disabled && /*#__PURE__*/_react.default.createElement("div", {
|
|
236
237
|
style: {
|
|
237
|
-
height: (_props$config$
|
|
238
|
+
height: (_props$config$attribu2 = props.config.attributes) !== null && _props$config$attribu2 !== void 0 && _props$config$attribu2.showThumbImages ? null : '48px'
|
|
238
239
|
}
|
|
239
240
|
}, /*#__PURE__*/_react.default.createElement("label", {
|
|
240
241
|
htmlFor: "contained-button-file-".concat(props.config.id)
|
|
@@ -256,19 +257,19 @@ const DocumentUpload = props => {
|
|
|
256
257
|
marginBottom: '8px'
|
|
257
258
|
}
|
|
258
259
|
}, files ? files.map((file, index) => {
|
|
259
|
-
var _props$config$
|
|
260
|
+
var _props$config$attribu3, _props$config$attribu4;
|
|
260
261
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
261
262
|
key: index,
|
|
262
263
|
style: {
|
|
263
264
|
marginLeft: '0',
|
|
264
265
|
marginRight: '8px',
|
|
265
|
-
width: (_props$config$
|
|
266
|
+
width: (_props$config$attribu3 = props.config.attributes) !== null && _props$config$attribu3 !== void 0 && _props$config$attribu3.showThumbImages ? null : '100%'
|
|
266
267
|
}
|
|
267
268
|
}, /*#__PURE__*/_react.default.createElement(_FileThumb.default, {
|
|
268
269
|
key: file.name,
|
|
269
270
|
file: file,
|
|
270
271
|
disabled: base.disabled,
|
|
271
|
-
showImage: (_props$config$
|
|
272
|
+
showImage: (_props$config$attribu4 = props.config.attributes) === null || _props$config$attribu4 === void 0 ? void 0 : _props$config$attribu4.showThumbImages,
|
|
272
273
|
onDelete: file => {
|
|
273
274
|
deleteFile(file);
|
|
274
275
|
}
|
|
@@ -19,15 +19,23 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
19
19
|
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); }
|
|
20
20
|
const RadioGroupWrapper = /*#__PURE__*/_react.default.memo(props => {
|
|
21
21
|
const base = props.base;
|
|
22
|
-
const label = _Utils.default.getComponentAttribute(props.config, 'label', null);
|
|
23
22
|
// TODO : Support calling a rest end-point to get options
|
|
24
23
|
const options = _Utils.default.getComponentAttribute(props.config, 'options', []);
|
|
25
24
|
const [value, setValue] = _react.default.useState(base.value ? base.value : props.defaultValue);
|
|
25
|
+
const [label, setLabel] = _react.default.useState(base.value ? base.value : props.defaultValue);
|
|
26
26
|
_react.default.useEffect(() => {
|
|
27
27
|
if (base.value) {
|
|
28
28
|
setValue(base.value);
|
|
29
29
|
}
|
|
30
30
|
}, [base.value]);
|
|
31
|
+
_react.default.useEffect(() => {
|
|
32
|
+
try {
|
|
33
|
+
let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
|
|
34
|
+
setLabel(_Utils.default.prop(_Utils.default.getComponentAttribute(parsedConfig, 'label', null)));
|
|
35
|
+
} catch (e) {
|
|
36
|
+
setLabel(_Utils.default.getComponentAttribute(props.config, 'label', ''));
|
|
37
|
+
}
|
|
38
|
+
}, []);
|
|
31
39
|
return /*#__PURE__*/_react.default.createElement(_FormControl.default, {
|
|
32
40
|
error: base.hasError,
|
|
33
41
|
style: _Utils.default.mergeStyles({
|
|
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
9
|
-
var _Observable = _interopRequireDefault(require("../../event/Observable"));
|
|
10
9
|
var _FieldSet = _interopRequireDefault(require("./FieldSet"));
|
|
11
10
|
var _TabPanel = _interopRequireDefault(require("../TabPanel"));
|
|
12
11
|
var _Grid = _interopRequireDefault(require("@mui/material/Grid"));
|
|
13
12
|
var _HtmlPanel = _interopRequireDefault(require("../HtmlPanel"));
|
|
14
|
-
var _Video = _interopRequireDefault(require("../media/Video"));
|
|
15
13
|
var _VideoPlayer = _interopRequireDefault(require("../media/VideoPlayer"));
|
|
14
|
+
var _Layout = require("../layout/Layout");
|
|
16
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
16
|
const Section = /*#__PURE__*/_react.default.memo(props => {
|
|
18
17
|
const [fieldGrid, setFieldGrid] = _react.default.useState(null);
|
|
@@ -73,6 +72,13 @@ const Section = /*#__PURE__*/_react.default.memo(props => {
|
|
|
73
72
|
viewId: props.viewId,
|
|
74
73
|
key: componentKey++,
|
|
75
74
|
values: props.values
|
|
75
|
+
}) : component.type === 'layout' ? /*#__PURE__*/_react.default.createElement(_Layout.Layout, {
|
|
76
|
+
config: component,
|
|
77
|
+
handle: createComponentHandle(component),
|
|
78
|
+
disabled: props.disabled,
|
|
79
|
+
viewId: props.viewId,
|
|
80
|
+
key: componentKey++,
|
|
81
|
+
values: props.values
|
|
76
82
|
}) : /*#__PURE__*/_react.default.createElement("div", {
|
|
77
83
|
key: componentKey++
|
|
78
84
|
}, 'Unsupported form section component type ' + component.type);
|
|
@@ -189,19 +189,23 @@ const TransferList = /*#__PURE__*/_react.default.memo((props, ref) => {
|
|
|
189
189
|
children.push(selectionListHandle);
|
|
190
190
|
return children;
|
|
191
191
|
},
|
|
192
|
-
valueParser: value => {
|
|
193
|
-
if (
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
192
|
+
valueParser: (value, inbound) => {
|
|
193
|
+
if (inbound) {
|
|
194
|
+
if (!_Utils.default.isNull(value) && value.length > 0) {
|
|
195
|
+
let objectArray = value;
|
|
196
|
+
let val = [];
|
|
197
|
+
if (objectArray.length > 0) {
|
|
198
|
+
let type = objectArray[0].type;
|
|
199
|
+
for (const objectArrayElement of objectArray) {
|
|
200
|
+
val.push(objectArrayElement);
|
|
201
|
+
}
|
|
200
202
|
}
|
|
203
|
+
return val;
|
|
201
204
|
}
|
|
202
|
-
return
|
|
205
|
+
return [];
|
|
206
|
+
} else {
|
|
207
|
+
return value;
|
|
203
208
|
}
|
|
204
|
-
return [];
|
|
205
209
|
},
|
|
206
210
|
loadDataHandler: () => loadData()
|
|
207
211
|
}), base => /*#__PURE__*/_react.default.createElement(TransferListComponent, _extends({
|
|
@@ -20,6 +20,11 @@ var _EventType = _interopRequireDefault(require("../../event/EventType"));
|
|
|
20
20
|
var _noimage = _interopRequireDefault(require("./noimage.png"));
|
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
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); }
|
|
23
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
24
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
26
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
27
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
23
28
|
const useStyles = (0, _styles.makeStyles)(theme => ({
|
|
24
29
|
button: {
|
|
25
30
|
margin: theme.spacing(1)
|
|
@@ -46,6 +51,7 @@ const json = response => {
|
|
|
46
51
|
};
|
|
47
52
|
const location = window.location.protocol + "//" + window.location.hostname;
|
|
48
53
|
const DocumentUpload = exports.DocumentUpload = /*#__PURE__*/_react.default.memo(props => {
|
|
54
|
+
var _props$config$attribu, _props$config$attribu2, _props$config$attribu3;
|
|
49
55
|
const [viewerFile, setViewerFile] = _react.default.useState(!_Utils.default.isNull(props.initialFile) ? props.initialFile : null);
|
|
50
56
|
const [payloadStorageMode, setPayloadStorageMode] = _react.default.useState(props.config.payloadStorageMode || 'base64');
|
|
51
57
|
const [files, setFiles] = _react.default.useState(!_Utils.default.isNull(props.initialFile) ? [props.initialFile] : null);
|
|
@@ -102,6 +108,10 @@ const DocumentUpload = exports.DocumentUpload = /*#__PURE__*/_react.default.memo
|
|
|
102
108
|
metadata.documentRepositoryCacheId = data;
|
|
103
109
|
cacheId.current = data;
|
|
104
110
|
base.handleValueChange(metadata);
|
|
111
|
+
let event = new _Event.default(props.handle, props.viewId, _objectSpread(_objectSpread({}, metadata), {}, {
|
|
112
|
+
url: reader.result
|
|
113
|
+
}));
|
|
114
|
+
_Observable.default.fireEvent(_EventType.default.DOCUMENT_CACHED, event);
|
|
105
115
|
}).catch(e => {
|
|
106
116
|
if (e.code === 401) {
|
|
107
117
|
_ApplicationManager.default.clear();
|
|
@@ -209,7 +219,7 @@ const DocumentUpload = exports.DocumentUpload = /*#__PURE__*/_react.default.memo
|
|
|
209
219
|
}
|
|
210
220
|
};
|
|
211
221
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("input", {
|
|
212
|
-
accept: props.style === 'IMAGE' ? "image/jpeg,image/gif,image/png,image/x-eps" : "
|
|
222
|
+
accept: props.style === 'IMAGE' ? "image/jpeg,image/gif,image/png,image/x-eps" : ((_props$config$attribu = props.config.attributes) === null || _props$config$attribu === void 0 ? void 0 : _props$config$attribu.accept) || "application/pdf",
|
|
213
223
|
className: classes.input,
|
|
214
224
|
id: "contained-button-file-".concat(props.config.id),
|
|
215
225
|
disabled: base.disabled,
|
|
@@ -242,15 +252,18 @@ const DocumentUpload = exports.DocumentUpload = /*#__PURE__*/_react.default.memo
|
|
|
242
252
|
}, base.errorMessage)) : null)) : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("label", {
|
|
243
253
|
htmlFor: "contained-button-file-".concat(props.config.id)
|
|
244
254
|
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
245
|
-
variant: "
|
|
255
|
+
variant: "text",
|
|
246
256
|
component: "span",
|
|
247
257
|
disabled: base.disabled,
|
|
248
258
|
className: classes.button,
|
|
249
259
|
style: {
|
|
250
260
|
border: base.hasError ? "1px solid #f44336" : null,
|
|
251
261
|
color: base.hasError ? "#f44336" : null
|
|
252
|
-
}
|
|
253
|
-
|
|
262
|
+
},
|
|
263
|
+
startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
264
|
+
id: 'UPLOAD'
|
|
265
|
+
})
|
|
266
|
+
}, (_props$config$attribu2 = props.config.attributes) !== null && _props$config$attribu2 !== void 0 && _props$config$attribu2.label ? (_props$config$attribu3 = props.config.attributes) === null || _props$config$attribu3 === void 0 ? void 0 : _props$config$attribu3.label : "")), base.hasError ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
254
267
|
style: {
|
|
255
268
|
color: "#f44336",
|
|
256
269
|
padding: "0 8px"
|
|
@@ -4,5 +4,53 @@
|
|
|
4
4
|
flex-direction: column;
|
|
5
5
|
height: 100% !important;
|
|
6
6
|
width: 100% !important;
|
|
7
|
-
padding:
|
|
7
|
+
padding: 0 !important;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* ---------------------------------------------------------------------
|
|
11
|
+
* Resize splitters — emitted only when a Layout has splitter: true in
|
|
12
|
+
* its config. The library (react-resizable-panels) handles the cursor
|
|
13
|
+
* and drag mechanics; we only paint the handle.
|
|
14
|
+
* ------------------------------------------------------------------- */
|
|
15
|
+
.oui-splitter {
|
|
16
|
+
background: transparent;
|
|
17
|
+
transition: background-color 120ms ease;
|
|
18
|
+
flex: 0 0 auto;
|
|
19
|
+
position: relative;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.oui-splitter-h {
|
|
23
|
+
width: 6px;
|
|
24
|
+
cursor: col-resize;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.oui-splitter-v {
|
|
28
|
+
height: 6px;
|
|
29
|
+
cursor: row-resize;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.oui-splitter:hover,
|
|
33
|
+
.oui-splitter[data-resize-handle-active] {
|
|
34
|
+
background-color: rgba(0, 120, 215, 0.4);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Subtle middle dot to hint that the handle is draggable. */
|
|
38
|
+
.oui-splitter::after {
|
|
39
|
+
content: '';
|
|
40
|
+
position: absolute;
|
|
41
|
+
top: 50%;
|
|
42
|
+
left: 50%;
|
|
43
|
+
transform: translate(-50%, -50%);
|
|
44
|
+
background-color: rgba(0, 0, 0, 0.18);
|
|
45
|
+
border-radius: 1px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.oui-splitter-h::after {
|
|
49
|
+
width: 2px;
|
|
50
|
+
height: 24px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.oui-splitter-v::after {
|
|
54
|
+
width: 24px;
|
|
55
|
+
height: 2px;
|
|
8
56
|
}
|
|
@@ -33,6 +33,7 @@ var _Chart = _interopRequireDefault(require("../Chart"));
|
|
|
33
33
|
var _FacialRegistration = _interopRequireDefault(require("../facialRecognition/FacialRegistration"));
|
|
34
34
|
var _FacialVerification = _interopRequireDefault(require("../facialRecognition/FacialVerification"));
|
|
35
35
|
var _Spinner = _interopRequireDefault(require("../Spinner"));
|
|
36
|
+
var _reactResizablePanels = require("react-resizable-panels");
|
|
36
37
|
require("./Layout.css");
|
|
37
38
|
var _Chat = _interopRequireDefault(require("../media/Chat"));
|
|
38
39
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -369,9 +370,48 @@ const Layout = props => {
|
|
|
369
370
|
}
|
|
370
371
|
return style;
|
|
371
372
|
}
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Render children wrapped in a <PanelGroup> with <PanelResizeHandle>s
|
|
376
|
+
* between consecutive children. Activated when layout.splitter === true.
|
|
377
|
+
* Per-component sizing flows through these optional fields:
|
|
378
|
+
* splitterDefaultSize — initial size as a percentage (0-100)
|
|
379
|
+
* splitterMinSize — minimum size as a percentage
|
|
380
|
+
* splitterMaxSize — maximum size as a percentage
|
|
381
|
+
* splitterCollapsible — whether the panel can be dragged to collapse
|
|
382
|
+
*/
|
|
383
|
+
function renderWithSplitters(layout) {
|
|
384
|
+
const direction = layout.orientation === 'VERTICAL' ? 'vertical' : 'horizontal';
|
|
385
|
+
const handleClass = direction === 'horizontal' ? 'oui-splitter oui-splitter-h' : 'oui-splitter oui-splitter-v';
|
|
386
|
+
const children = [];
|
|
387
|
+
layout.components.forEach((component, index) => {
|
|
388
|
+
if (index > 0) {
|
|
389
|
+
children.push(/*#__PURE__*/_react.default.createElement(_reactResizablePanels.Separator, {
|
|
390
|
+
key: "handle-".concat(component.id),
|
|
391
|
+
className: handleClass
|
|
392
|
+
}));
|
|
393
|
+
}
|
|
394
|
+
children.push(/*#__PURE__*/_react.default.createElement(_reactResizablePanels.Panel, {
|
|
395
|
+
key: "panel-".concat(component.id),
|
|
396
|
+
defaultSize: component.splitterDefaultSize,
|
|
397
|
+
minSize: component.splitterMinSize,
|
|
398
|
+
maxSize: component.splitterMaxSize,
|
|
399
|
+
collapsible: component.splitterCollapsible
|
|
400
|
+
}, renderComponent(component, null)));
|
|
401
|
+
});
|
|
402
|
+
return /*#__PURE__*/_react.default.createElement(_reactResizablePanels.Group, {
|
|
403
|
+
orientation: direction
|
|
404
|
+
}, children);
|
|
405
|
+
}
|
|
372
406
|
function render(layout) {
|
|
373
407
|
setMissingComponentIds();
|
|
374
|
-
|
|
408
|
+
if (_Utils.default.isNull(layout.components) || layout.components.length === 0) {
|
|
409
|
+
return /*#__PURE__*/_react.default.createElement("div", null, "I am a dum empty Layout");
|
|
410
|
+
}
|
|
411
|
+
if (layout.splitter === true) {
|
|
412
|
+
return renderWithSplitters(layout);
|
|
413
|
+
}
|
|
414
|
+
return layout.orientation === 'VERTICAL' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, layout.components.map((component, index) => {
|
|
375
415
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
|
|
376
416
|
key: index
|
|
377
417
|
}, renderComponent(component, null));
|
|
@@ -14,6 +14,7 @@ var _reactstrap = require("reactstrap");
|
|
|
14
14
|
var _ActionHandlers = _interopRequireDefault(require("../../event/ActionHandlers"));
|
|
15
15
|
var _ApplicationManager = _interopRequireWildcard(require("../../ApplicationManager"));
|
|
16
16
|
var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
17
|
+
var _Observable = _interopRequireDefault(require("../../event/Observable"));
|
|
17
18
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
20
|
const useStyles = (0, _styles.makeStyles)(theme => ({
|
|
@@ -34,6 +35,7 @@ const PortalNavbar = /*#__PURE__*/_react.default.memo(props => {
|
|
|
34
35
|
_react.default.useEffect(() => {
|
|
35
36
|
if (initializing.current) {
|
|
36
37
|
let avatarListener = {};
|
|
38
|
+
avatarListener.id = 'portalNavBarAvatarListener';
|
|
37
39
|
avatarListener.type = _ApplicationManager.AVATAR_LISTENER_TYPE;
|
|
38
40
|
avatarListener.handler = avatar => {
|
|
39
41
|
setAvatarUrl(avatar.url);
|
|
@@ -41,6 +43,9 @@ const PortalNavbar = /*#__PURE__*/_react.default.memo(props => {
|
|
|
41
43
|
_ApplicationManager.default.addApplicationListener(avatarListener);
|
|
42
44
|
initializing.current = false;
|
|
43
45
|
}
|
|
46
|
+
return () => {
|
|
47
|
+
_ApplicationManager.default.removeApplicationListener('portalNavBarAvatarListener');
|
|
48
|
+
};
|
|
44
49
|
}, []);
|
|
45
50
|
const launchView = path => {
|
|
46
51
|
let actionConfig = {};
|