datastake-daf 0.6.425 → 0.6.426
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/components/index.js
CHANGED
|
@@ -13302,10 +13302,11 @@ DAFFooter.propTypes = {
|
|
|
13302
13302
|
isViewMode: PropTypes__default["default"].bool
|
|
13303
13303
|
};
|
|
13304
13304
|
|
|
13305
|
-
const
|
|
13306
|
-
// margin-top: 20, bottom: 20;
|
|
13305
|
+
const CONTENT_HEIGHT = 1200; // <--- usable area between header and footer
|
|
13307
13306
|
const FOOTER_HEIGHT = 70;
|
|
13308
13307
|
const HEADER_HEIGHT = 100;
|
|
13308
|
+
const PAGE_HEIGHT = CONTENT_HEIGHT + FOOTER_HEIGHT + HEADER_HEIGHT;
|
|
13309
|
+
const SECTION_GAP = 24;
|
|
13309
13310
|
const Row = _ref => {
|
|
13310
13311
|
let {
|
|
13311
13312
|
widgets,
|
|
@@ -13330,73 +13331,70 @@ const Row = _ref => {
|
|
|
13330
13331
|
ref
|
|
13331
13332
|
});
|
|
13332
13333
|
}
|
|
13333
|
-
}, [height]);
|
|
13334
|
+
}, [height, i, onChangeHeight]);
|
|
13334
13335
|
return /*#__PURE__*/jsxRuntime.jsx("section", {
|
|
13335
13336
|
ref: ref,
|
|
13336
|
-
style: widgets.style,
|
|
13337
|
-
|
|
13337
|
+
style: _objectSpread2(_objectSpread2({}, widgets.style), {}, {
|
|
13338
|
+
marginBottom: SECTION_GAP
|
|
13339
|
+
}),
|
|
13340
|
+
children: typeof widgets.render === "function" ? widgets.render() : null
|
|
13338
13341
|
});
|
|
13339
13342
|
};
|
|
13340
13343
|
function PdfView(_ref2) {
|
|
13341
13344
|
let {
|
|
13342
13345
|
config = [],
|
|
13343
13346
|
customClassName,
|
|
13344
|
-
title =
|
|
13345
|
-
imgSrc =
|
|
13346
|
-
userId =
|
|
13347
|
-
accountId =
|
|
13348
|
-
documentId =
|
|
13349
|
-
downloadId =
|
|
13347
|
+
title = "Title",
|
|
13348
|
+
imgSrc = "",
|
|
13349
|
+
userId = "IDD-0000000",
|
|
13350
|
+
accountId = "IDD-0000000",
|
|
13351
|
+
documentId = "IDD-0000000",
|
|
13352
|
+
downloadId = "DWL-00000123"
|
|
13350
13353
|
} = _ref2;
|
|
13351
13354
|
const [sectionsConfig, setSectionsConfig] = React.useState({});
|
|
13352
13355
|
const [pages, setPages] = React.useState([1]);
|
|
13353
13356
|
const doSizing = React.useCallback(() => {
|
|
13354
13357
|
const keys = Object.keys(sectionsConfig);
|
|
13358
|
+
if (keys.length !== config.length) return;
|
|
13355
13359
|
let _pages = [1];
|
|
13356
|
-
let
|
|
13357
|
-
|
|
13358
|
-
|
|
13359
|
-
|
|
13360
|
-
|
|
13361
|
-
|
|
13362
|
-
|
|
13363
|
-
|
|
13364
|
-
|
|
13365
|
-
|
|
13366
|
-
|
|
13367
|
-
|
|
13368
|
-
|
|
13369
|
-
|
|
13370
|
-
|
|
13371
|
-
|
|
13372
|
-
|
|
13373
|
-
|
|
13374
|
-
|
|
13375
|
-
|
|
13376
|
-
|
|
13377
|
-
|
|
13378
|
-
|
|
13379
|
-
|
|
13380
|
-
|
|
13381
|
-
|
|
13382
|
-
|
|
13383
|
-
|
|
13384
|
-
|
|
13385
|
-
|
|
13386
|
-
|
|
13387
|
-
|
|
13388
|
-
|
|
13389
|
-
|
|
13390
|
-
|
|
13391
|
-
|
|
13392
|
-
|
|
13393
|
-
|
|
13394
|
-
}
|
|
13395
|
-
// console.groupEnd();
|
|
13396
|
-
});
|
|
13397
|
-
setPages(_pages);
|
|
13398
|
-
}
|
|
13399
|
-
}, [sectionsConfig]);
|
|
13360
|
+
let currentPage = 1;
|
|
13361
|
+
let currentHeight = 0;
|
|
13362
|
+
|
|
13363
|
+
// Reset all margins
|
|
13364
|
+
keys.forEach(k => {
|
|
13365
|
+
const {
|
|
13366
|
+
ref
|
|
13367
|
+
} = sectionsConfig[k];
|
|
13368
|
+
if (ref.current) {
|
|
13369
|
+
ref.current.style.marginTop = "0px";
|
|
13370
|
+
ref.current.style.marginBottom = "".concat(SECTION_GAP, "px");
|
|
13371
|
+
}
|
|
13372
|
+
});
|
|
13373
|
+
keys.forEach((k, i) => {
|
|
13374
|
+
const {
|
|
13375
|
+
height,
|
|
13376
|
+
ref
|
|
13377
|
+
} = sectionsConfig[k];
|
|
13378
|
+
const nextHeight = currentHeight + height + SECTION_GAP;
|
|
13379
|
+
|
|
13380
|
+
// If section exceeds current page height, move it to next page
|
|
13381
|
+
if (nextHeight > CONTENT_HEIGHT && currentHeight > 0) {
|
|
13382
|
+
currentPage += 1;
|
|
13383
|
+
_pages.push(currentPage);
|
|
13384
|
+
const offsetTop = PAGE_HEIGHT * (currentPage - 1) + HEADER_HEIGHT;
|
|
13385
|
+
ref.current.style.marginTop = "".concat(offsetTop - ref.current.offsetTop, "px");
|
|
13386
|
+
currentHeight = height + SECTION_GAP;
|
|
13387
|
+
} else {
|
|
13388
|
+
currentHeight = nextHeight;
|
|
13389
|
+
}
|
|
13390
|
+
|
|
13391
|
+
// First section starts after header
|
|
13392
|
+
if (i === 0) {
|
|
13393
|
+
ref.current.style.marginTop = "".concat(HEADER_HEIGHT, "px");
|
|
13394
|
+
}
|
|
13395
|
+
});
|
|
13396
|
+
setPages(_pages);
|
|
13397
|
+
}, [sectionsConfig, config.length]);
|
|
13400
13398
|
React.useEffect(() => {
|
|
13401
13399
|
doSizing();
|
|
13402
13400
|
}, [doSizing]);
|
|
@@ -13405,7 +13403,7 @@ function PdfView(_ref2) {
|
|
|
13405
13403
|
[index]: conf
|
|
13406
13404
|
}));
|
|
13407
13405
|
}, []);
|
|
13408
|
-
const contClassName = formatClassname([
|
|
13406
|
+
const contClassName = formatClassname(["daf-analysis daf-pdf-view", customClassName]);
|
|
13409
13407
|
const renderDashboard = React.useCallback(() => {
|
|
13410
13408
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
13411
13409
|
className: "view-content",
|
|
@@ -13417,35 +13415,29 @@ function PdfView(_ref2) {
|
|
|
13417
13415
|
widgets: widgets,
|
|
13418
13416
|
i: i,
|
|
13419
13417
|
onChangeHeight: onChangeHeight
|
|
13420
|
-
}, "dashboard-
|
|
13418
|
+
}, "dashboard-section-".concat(i)))
|
|
13421
13419
|
})
|
|
13422
13420
|
})
|
|
13423
13421
|
});
|
|
13424
13422
|
}, [config, onChangeHeight]);
|
|
13425
|
-
|
|
13426
|
-
// <div className="daf-analysis">
|
|
13427
|
-
// <Header title={t('Dashboard Title')} />
|
|
13428
|
-
|
|
13429
|
-
// <div className="content">
|
|
13430
|
-
// <div className="view-content">
|
|
13431
|
-
// <div className="daf-analysis-layout">
|
|
13432
|
-
// <div className='sections-cont w-pt'>
|
|
13433
|
-
// <section>
|
|
13434
|
-
|
|
13435
13423
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
13436
13424
|
className: contClassName,
|
|
13437
13425
|
style: {
|
|
13438
|
-
position:
|
|
13426
|
+
position: "relative"
|
|
13439
13427
|
},
|
|
13440
|
-
children: [renderDashboard(), pages.map(page => /*#__PURE__*/jsxRuntime.jsxs(
|
|
13428
|
+
children: [renderDashboard(), pages.map(page => /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
13441
13429
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
13442
13430
|
style: {
|
|
13443
13431
|
top: (page - 1) * PAGE_HEIGHT,
|
|
13444
|
-
width:
|
|
13432
|
+
width: "100%",
|
|
13445
13433
|
height: HEADER_HEIGHT - 24,
|
|
13446
|
-
position:
|
|
13434
|
+
position: "absolute",
|
|
13447
13435
|
left: 0,
|
|
13448
|
-
zIndex: 1000000
|
|
13436
|
+
zIndex: 1000000,
|
|
13437
|
+
display: "flex",
|
|
13438
|
+
justifyContent: "space-between",
|
|
13439
|
+
alignItems: "center",
|
|
13440
|
+
padding: "0 32px"
|
|
13449
13441
|
},
|
|
13450
13442
|
className: "flex-row dashboard-header",
|
|
13451
13443
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -13455,44 +13447,52 @@ function PdfView(_ref2) {
|
|
|
13455
13447
|
})
|
|
13456
13448
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
13457
13449
|
className: "flex flex-column justify-center",
|
|
13458
|
-
children: /*#__PURE__*/jsxRuntime.jsx("img", {
|
|
13450
|
+
children: imgSrc && /*#__PURE__*/jsxRuntime.jsx("img", {
|
|
13459
13451
|
src: imgSrc,
|
|
13460
|
-
alt: "logo"
|
|
13452
|
+
alt: "logo",
|
|
13453
|
+
style: {
|
|
13454
|
+
height: 60,
|
|
13455
|
+
objectFit: "contain"
|
|
13456
|
+
}
|
|
13461
13457
|
})
|
|
13462
13458
|
})]
|
|
13463
|
-
}
|
|
13459
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
13464
13460
|
style: {
|
|
13465
13461
|
top: page * PAGE_HEIGHT - FOOTER_HEIGHT,
|
|
13466
|
-
width:
|
|
13462
|
+
width: "100%",
|
|
13467
13463
|
height: FOOTER_HEIGHT,
|
|
13468
|
-
position:
|
|
13464
|
+
position: "absolute",
|
|
13469
13465
|
left: 0,
|
|
13470
|
-
zIndex: 1000000
|
|
13466
|
+
zIndex: 1000000,
|
|
13467
|
+
display: "flex",
|
|
13468
|
+
justifyContent: "space-between",
|
|
13469
|
+
alignItems: "center",
|
|
13470
|
+
padding: "0 32px"
|
|
13471
13471
|
},
|
|
13472
13472
|
className: "dashboard-footer flex-row",
|
|
13473
13473
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
13474
13474
|
className: "flex flex-column justify-center",
|
|
13475
13475
|
children: /*#__PURE__*/jsxRuntime.jsx("h5", {
|
|
13476
|
-
children: moment__default["default"]().format(
|
|
13476
|
+
children: moment__default["default"]().format("DD MMM YYYY")
|
|
13477
13477
|
})
|
|
13478
13478
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
13479
13479
|
className: "flex flex-column justify-center",
|
|
13480
13480
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
13481
13481
|
className: "flex gap-2",
|
|
13482
13482
|
children: [/*#__PURE__*/jsxRuntime.jsxs("h5", {
|
|
13483
|
-
children: ["User ID:",
|
|
13483
|
+
children: ["User ID: ", /*#__PURE__*/jsxRuntime.jsx("strong", {
|
|
13484
13484
|
children: userId
|
|
13485
13485
|
})]
|
|
13486
13486
|
}), /*#__PURE__*/jsxRuntime.jsxs("h5", {
|
|
13487
|
-
children: ["Account ID:",
|
|
13487
|
+
children: ["Account ID: ", /*#__PURE__*/jsxRuntime.jsx("strong", {
|
|
13488
13488
|
children: accountId
|
|
13489
13489
|
})]
|
|
13490
13490
|
}), /*#__PURE__*/jsxRuntime.jsxs("h5", {
|
|
13491
|
-
children: ["Document ID:",
|
|
13491
|
+
children: ["Document ID: ", /*#__PURE__*/jsxRuntime.jsx("strong", {
|
|
13492
13492
|
children: documentId
|
|
13493
13493
|
})]
|
|
13494
13494
|
}), /*#__PURE__*/jsxRuntime.jsxs("h5", {
|
|
13495
|
-
children: ["Download ID:",
|
|
13495
|
+
children: ["Download ID: ", /*#__PURE__*/jsxRuntime.jsx("strong", {
|
|
13496
13496
|
children: downloadId
|
|
13497
13497
|
})]
|
|
13498
13498
|
})]
|
|
@@ -13503,8 +13503,8 @@ function PdfView(_ref2) {
|
|
|
13503
13503
|
children: page
|
|
13504
13504
|
})
|
|
13505
13505
|
})]
|
|
13506
|
-
}
|
|
13507
|
-
}))]
|
|
13506
|
+
})]
|
|
13507
|
+
}, "page-".concat(page)))]
|
|
13508
13508
|
});
|
|
13509
13509
|
}
|
|
13510
13510
|
PdfView.propTypes = {
|
|
@@ -13514,7 +13514,8 @@ PdfView.propTypes = {
|
|
|
13514
13514
|
imgSrc: PropTypes__default["default"].string,
|
|
13515
13515
|
userId: PropTypes__default["default"].string,
|
|
13516
13516
|
accountId: PropTypes__default["default"].string,
|
|
13517
|
-
documentId: PropTypes__default["default"].string
|
|
13517
|
+
documentId: PropTypes__default["default"].string,
|
|
13518
|
+
downloadId: PropTypes__default["default"].string
|
|
13518
13519
|
};
|
|
13519
13520
|
|
|
13520
13521
|
const ajaxSelectFieldData = async (value, config, getApiBaseUrl = () => {}, getAppHeader = () => {}, app, formValues = {}) => {
|
package/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import moment from "moment";
|
|
2
|
-
import PropTypes from
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
3
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
4
|
import { formatClassname } from "../../../../../helpers/ClassesHelper";
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
// margin-top: 20, bottom: 20;
|
|
6
|
+
const CONTENT_HEIGHT = 1200; // <--- usable area between header and footer
|
|
8
7
|
const FOOTER_HEIGHT = 70;
|
|
9
8
|
const HEADER_HEIGHT = 100;
|
|
9
|
+
const PAGE_HEIGHT = CONTENT_HEIGHT + FOOTER_HEIGHT + HEADER_HEIGHT;
|
|
10
|
+
const SECTION_GAP = 24;
|
|
10
11
|
|
|
11
|
-
const Row = ({ widgets, i, onChangeHeight = () => {
|
|
12
|
+
const Row = ({ widgets, i, onChangeHeight = () => {} }) => {
|
|
12
13
|
const ref = useRef();
|
|
13
14
|
const [height, setHeight] = useState(0);
|
|
14
15
|
|
|
@@ -18,9 +19,7 @@ const Row = ({ widgets, i, onChangeHeight = () => { } }) => {
|
|
|
18
19
|
setHeight(entry.contentRect.height);
|
|
19
20
|
}
|
|
20
21
|
});
|
|
21
|
-
|
|
22
22
|
observer.observe(ref.current);
|
|
23
|
-
|
|
24
23
|
return () => observer.disconnect();
|
|
25
24
|
}, []);
|
|
26
25
|
|
|
@@ -28,96 +27,98 @@ const Row = ({ widgets, i, onChangeHeight = () => { } }) => {
|
|
|
28
27
|
if (height) {
|
|
29
28
|
onChangeHeight(i, { height, ref });
|
|
30
29
|
}
|
|
31
|
-
}, [height])
|
|
30
|
+
}, [height, i, onChangeHeight]);
|
|
32
31
|
|
|
33
32
|
return (
|
|
34
|
-
<section
|
|
35
|
-
{
|
|
33
|
+
<section
|
|
34
|
+
ref={ref}
|
|
35
|
+
style={{
|
|
36
|
+
...widgets.style,
|
|
37
|
+
marginBottom: SECTION_GAP,
|
|
38
|
+
}}
|
|
39
|
+
>
|
|
40
|
+
{typeof widgets.render === "function" ? widgets.render() : null}
|
|
36
41
|
</section>
|
|
37
|
-
)
|
|
42
|
+
);
|
|
38
43
|
};
|
|
39
44
|
|
|
40
45
|
export default function PdfView({
|
|
41
46
|
config = [],
|
|
42
47
|
customClassName,
|
|
43
|
-
title =
|
|
44
|
-
imgSrc =
|
|
45
|
-
userId =
|
|
46
|
-
accountId =
|
|
47
|
-
documentId =
|
|
48
|
-
downloadId =
|
|
48
|
+
title = "Title",
|
|
49
|
+
imgSrc = "",
|
|
50
|
+
userId = "IDD-0000000",
|
|
51
|
+
accountId = "IDD-0000000",
|
|
52
|
+
documentId = "IDD-0000000",
|
|
53
|
+
downloadId = "DWL-00000123",
|
|
49
54
|
}) {
|
|
50
55
|
const [sectionsConfig, setSectionsConfig] = useState({});
|
|
51
56
|
const [pages, setPages] = useState([1]);
|
|
52
57
|
|
|
53
58
|
const doSizing = useCallback(() => {
|
|
54
59
|
const keys = Object.keys(sectionsConfig);
|
|
60
|
+
if (keys.length !== config.length) return;
|
|
61
|
+
|
|
55
62
|
let _pages = [1];
|
|
56
|
-
let
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
ref.current.style.
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
} else {
|
|
94
|
-
incrHeight = newHeight + 24;
|
|
95
|
-
}
|
|
96
|
-
// console.groupEnd();
|
|
97
|
-
})
|
|
98
|
-
setPages(_pages);
|
|
99
|
-
}
|
|
100
|
-
}, [sectionsConfig]);
|
|
63
|
+
let currentPage = 1;
|
|
64
|
+
let currentHeight = 0;
|
|
65
|
+
|
|
66
|
+
// Reset all margins
|
|
67
|
+
keys.forEach((k) => {
|
|
68
|
+
const { ref } = sectionsConfig[k];
|
|
69
|
+
if (ref.current) {
|
|
70
|
+
ref.current.style.marginTop = "0px";
|
|
71
|
+
ref.current.style.marginBottom = `${SECTION_GAP}px`;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
keys.forEach((k, i) => {
|
|
76
|
+
const { height, ref } = sectionsConfig[k];
|
|
77
|
+
const nextHeight = currentHeight + height + SECTION_GAP;
|
|
78
|
+
|
|
79
|
+
// If section exceeds current page height, move it to next page
|
|
80
|
+
if (nextHeight > CONTENT_HEIGHT && currentHeight > 0) {
|
|
81
|
+
currentPage += 1;
|
|
82
|
+
_pages.push(currentPage);
|
|
83
|
+
|
|
84
|
+
const offsetTop = PAGE_HEIGHT * (currentPage - 1) + HEADER_HEIGHT;
|
|
85
|
+
ref.current.style.marginTop = `${offsetTop - ref.current.offsetTop}px`;
|
|
86
|
+
currentHeight = height + SECTION_GAP;
|
|
87
|
+
} else {
|
|
88
|
+
currentHeight = nextHeight;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// First section starts after header
|
|
92
|
+
if (i === 0) {
|
|
93
|
+
ref.current.style.marginTop = `${HEADER_HEIGHT}px`;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
setPages(_pages);
|
|
98
|
+
}, [sectionsConfig, config.length]);
|
|
101
99
|
|
|
102
100
|
useEffect(() => {
|
|
103
101
|
doSizing();
|
|
104
102
|
}, [doSizing]);
|
|
105
103
|
|
|
106
104
|
const onChangeHeight = useCallback((index, conf) => {
|
|
107
|
-
setSectionsConfig((prev) => ({ ...prev, [index]: conf }))
|
|
105
|
+
setSectionsConfig((prev) => ({ ...prev, [index]: conf }));
|
|
108
106
|
}, []);
|
|
109
107
|
|
|
110
|
-
const contClassName = formatClassname([
|
|
108
|
+
const contClassName = formatClassname([
|
|
109
|
+
"daf-analysis daf-pdf-view",
|
|
110
|
+
customClassName,
|
|
111
|
+
]);
|
|
111
112
|
|
|
112
113
|
const renderDashboard = useCallback(() => {
|
|
113
114
|
return (
|
|
114
115
|
<div className="view-content">
|
|
115
116
|
<div className="daf-analysis-layout">
|
|
116
|
-
<div className=
|
|
117
|
+
<div className="sections-cont">
|
|
117
118
|
{config.map((widgets, i) => (
|
|
118
119
|
<Row
|
|
119
120
|
widgets={widgets}
|
|
120
|
-
key={`dashboard-
|
|
121
|
+
key={`dashboard-section-${i}`}
|
|
121
122
|
i={i}
|
|
122
123
|
onChangeHeight={onChangeHeight}
|
|
123
124
|
/>
|
|
@@ -128,61 +129,74 @@ export default function PdfView({
|
|
|
128
129
|
);
|
|
129
130
|
}, [config, onChangeHeight]);
|
|
130
131
|
|
|
131
|
-
// <div className="daf-analysis">
|
|
132
|
-
// <Header title={t('Dashboard Title')} />
|
|
133
|
-
|
|
134
|
-
// <div className="content">
|
|
135
|
-
// <div className="view-content">
|
|
136
|
-
// <div className="daf-analysis-layout">
|
|
137
|
-
// <div className='sections-cont w-pt'>
|
|
138
|
-
// <section>
|
|
139
|
-
|
|
140
132
|
return (
|
|
141
|
-
<div className={contClassName} style={{ position:
|
|
133
|
+
<div className={contClassName} style={{ position: "relative" }}>
|
|
142
134
|
{renderDashboard()}
|
|
135
|
+
|
|
143
136
|
{pages.map((page) => (
|
|
144
|
-
|
|
137
|
+
<div key={`page-${page}`}>
|
|
138
|
+
{/* Header */}
|
|
145
139
|
<div
|
|
146
|
-
style={{
|
|
147
|
-
|
|
140
|
+
style={{
|
|
141
|
+
top: (page - 1) * PAGE_HEIGHT,
|
|
142
|
+
width: "100%",
|
|
143
|
+
height: HEADER_HEIGHT - 24,
|
|
144
|
+
position: "absolute",
|
|
145
|
+
left: 0,
|
|
146
|
+
zIndex: 1000000,
|
|
147
|
+
display: "flex",
|
|
148
|
+
justifyContent: "space-between",
|
|
149
|
+
alignItems: "center",
|
|
150
|
+
padding: "0 32px",
|
|
151
|
+
}}
|
|
148
152
|
className="flex-row dashboard-header"
|
|
149
153
|
>
|
|
150
154
|
<div className="flex flex-column justify-center flex-1">
|
|
151
155
|
<h2>{title}</h2>
|
|
152
156
|
</div>
|
|
153
157
|
<div className="flex flex-column justify-center">
|
|
154
|
-
|
|
158
|
+
{imgSrc && (
|
|
159
|
+
<img
|
|
160
|
+
src={imgSrc}
|
|
161
|
+
alt="logo"
|
|
162
|
+
style={{ height: 60, objectFit: "contain" }}
|
|
163
|
+
/>
|
|
164
|
+
)}
|
|
155
165
|
</div>
|
|
156
166
|
</div>
|
|
167
|
+
|
|
168
|
+
{/* Footer */}
|
|
157
169
|
<div
|
|
158
|
-
style={{
|
|
159
|
-
|
|
170
|
+
style={{
|
|
171
|
+
top: page * PAGE_HEIGHT - FOOTER_HEIGHT,
|
|
172
|
+
width: "100%",
|
|
173
|
+
height: FOOTER_HEIGHT,
|
|
174
|
+
position: "absolute",
|
|
175
|
+
left: 0,
|
|
176
|
+
zIndex: 1000000,
|
|
177
|
+
display: "flex",
|
|
178
|
+
justifyContent: "space-between",
|
|
179
|
+
alignItems: "center",
|
|
180
|
+
padding: "0 32px",
|
|
181
|
+
}}
|
|
160
182
|
className="dashboard-footer flex-row"
|
|
161
183
|
>
|
|
162
184
|
<div className="flex flex-column justify-center">
|
|
163
|
-
<h5>{moment().format(
|
|
185
|
+
<h5>{moment().format("DD MMM YYYY")}</h5>
|
|
164
186
|
</div>
|
|
165
187
|
<div className="flex flex-column justify-center">
|
|
166
188
|
<div className="flex gap-2">
|
|
167
189
|
<h5>
|
|
168
|
-
User ID:
|
|
169
|
-
{' '}
|
|
170
|
-
<strong>{userId}</strong>
|
|
190
|
+
User ID: <strong>{userId}</strong>
|
|
171
191
|
</h5>
|
|
172
192
|
<h5>
|
|
173
|
-
Account ID:
|
|
174
|
-
{' '}
|
|
175
|
-
<strong>{accountId}</strong>
|
|
193
|
+
Account ID: <strong>{accountId}</strong>
|
|
176
194
|
</h5>
|
|
177
195
|
<h5>
|
|
178
|
-
Document ID:
|
|
179
|
-
{' '}
|
|
180
|
-
<strong>{documentId}</strong>
|
|
196
|
+
Document ID: <strong>{documentId}</strong>
|
|
181
197
|
</h5>
|
|
182
198
|
<h5>
|
|
183
|
-
Download ID:
|
|
184
|
-
{' '}
|
|
185
|
-
<strong>{downloadId}</strong>
|
|
199
|
+
Download ID: <strong>{downloadId}</strong>
|
|
186
200
|
</h5>
|
|
187
201
|
</div>
|
|
188
202
|
</div>
|
|
@@ -190,7 +204,7 @@ export default function PdfView({
|
|
|
190
204
|
<h5>{page}</h5>
|
|
191
205
|
</div>
|
|
192
206
|
</div>
|
|
193
|
-
|
|
207
|
+
</div>
|
|
194
208
|
))}
|
|
195
209
|
</div>
|
|
196
210
|
);
|
|
@@ -204,4 +218,5 @@ PdfView.propTypes = {
|
|
|
204
218
|
userId: PropTypes.string,
|
|
205
219
|
accountId: PropTypes.string,
|
|
206
220
|
documentId: PropTypes.string,
|
|
207
|
-
|
|
221
|
+
downloadId: PropTypes.string,
|
|
222
|
+
};
|