mirror of
https://github.com/Kingsrook/qqq-frontend-material-dashboard.git
synced 2025-07-18 05:10:45 +00:00
Update export to do a form with post to send Authoriztion header; also commented-out POC of exports to iframe
This commit is contained in:
@ -7,7 +7,7 @@
|
|||||||
"@auth0/auth0-react": "1.10.2",
|
"@auth0/auth0-react": "1.10.2",
|
||||||
"@emotion/react": "11.7.1",
|
"@emotion/react": "11.7.1",
|
||||||
"@emotion/styled": "11.6.0",
|
"@emotion/styled": "11.6.0",
|
||||||
"@kingsrook/qqq-frontend-core": "1.0.42",
|
"@kingsrook/qqq-frontend-core": "1.0.43",
|
||||||
"@mui/icons-material": "5.4.1",
|
"@mui/icons-material": "5.4.1",
|
||||||
"@mui/material": "5.11.1",
|
"@mui/material": "5.11.1",
|
||||||
"@mui/styles": "5.11.1",
|
"@mui/styles": "5.11.1",
|
||||||
|
@ -729,13 +729,30 @@ function RecordQuery({table, launchProcess}: Props): JSX.Element
|
|||||||
<script>
|
<script>
|
||||||
setTimeout(() =>
|
setTimeout(() =>
|
||||||
{
|
{
|
||||||
window.location.href="${url}";
|
document.getElementById("exportForm").submit();
|
||||||
}, 1);
|
}, 1);
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>Generating file <u>${filename}</u>${totalRecords ? " with " + totalRecords.toLocaleString() + " record" + (totalRecords == 1 ? "" : "s") : ""}...</body>
|
<body>
|
||||||
|
Generating file <u>${filename}</u>${totalRecords ? " with " + totalRecords.toLocaleString() + " record" + (totalRecords == 1 ? "" : "s") : ""}...
|
||||||
|
<form id="exportForm" method="post" action="${url}" >
|
||||||
|
<input type="hidden" name="Authorization" value="${qController.getAuthorizationHeaderValue()}">
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
</html>`);
|
</html>`);
|
||||||
|
|
||||||
|
/*
|
||||||
|
// todo - probably better - generate the report in an iframe...
|
||||||
|
// only open question is, giving user immediate feedback, and knowing when the stream has started and/or stopped
|
||||||
|
// maybe a busy-loop that would check iframe's url (e.g., after posting should change, maybe?)
|
||||||
|
const iframe = document.getElementById("exportIFrame");
|
||||||
|
const form = iframe.querySelector("form");
|
||||||
|
form.action = url;
|
||||||
|
form.target = "exportIFrame";
|
||||||
|
(iframe.querySelector("#authorizationInput") as HTMLInputElement).value = qController.getAuthorizationHeaderValue();
|
||||||
|
form.submit();
|
||||||
|
*/
|
||||||
|
|
||||||
///////////////////////////////////////////
|
///////////////////////////////////////////
|
||||||
// Hide the export menu after the export //
|
// Hide the export menu after the export //
|
||||||
///////////////////////////////////////////
|
///////////////////////////////////////////
|
||||||
@ -1126,6 +1143,14 @@ function RecordQuery({table, launchProcess}: Props): JSX.Element
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<DashboardLayout>
|
<DashboardLayout>
|
||||||
|
{/*
|
||||||
|
// see above code that would use this
|
||||||
|
<iframe id="exportIFrame" name="exportIFrame">
|
||||||
|
<form method="post" target="_self">
|
||||||
|
<input type="hidden" id="authorizationInput" name="Authorization" />
|
||||||
|
</form>
|
||||||
|
</iframe>
|
||||||
|
*/}
|
||||||
<NavBar />
|
<NavBar />
|
||||||
<Box my={3}>
|
<Box my={3}>
|
||||||
{alertContent ? (
|
{alertContent ? (
|
||||||
|
Reference in New Issue
Block a user