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