-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Tests] Share Modal Redesign clean up and tests #180406
Changes from 96 commits
d7c1b5f
a59aa43
587895f
8441b80
6851c5a
ac4bb4f
3dd8b6d
266a466
2e73fb9
b537ae8
0a64be6
f40bff5
40b1613
d5493ce
d598f5f
8bb0278
e8e933c
7644cca
f67d3c1
7a11e5b
43990c8
7e75efc
6d4559e
1757e06
7dfe08a
4c5dce5
d277b88
45051cd
0e85fed
e291e28
0a3cb5a
ec92448
747dc20
83bf888
621b704
c1da39e
6356c95
96f39f8
cfe13da
6e2d825
5c756dc
3e878a3
f4ab832
2ac07c0
2ee3139
f95a1ac
730b96b
c61ed87
7b755b6
6e77136
3f5767c
d67d5ff
c2206db
b91c582
d34627e
7be5107
0a341ce
b722a67
4e95751
17da5b1
cb687c5
396b732
4a53d68
dcd6c07
c5e1d65
256369c
17eca1a
e2c8a03
2890c43
da3c9fd
345b30a
b6ad5eb
2f7da87
2b9c3e0
8d2dcd2
5253c7e
d7fc866
14072ba
a8d2241
eb4cdf2
c113280
e051fff
549a78a
a961c7c
59d7260
0df70eb
59cbc27
70b9fae
9ba1217
a65dd9f
7f34f7f
e4ff49d
0b2565d
4e36247
9924170
4625406
113ac39
6db1a25
65538da
6c27c09
caed258
2a48e17
ceff6cb
ca1a8ee
26fc60a
9106416
be1c441
c8a8152
b66b5f4
e0669ee
111b427
a3d42c4
eda4991
1ca30cd
b21a1e7
6d26852
361c523
4a9bce8
1a3c7c9
43bf278
c505a9e
5ee2afd
285cefb
ed699bf
81269ed
d0a4975
c8d190d
2c03b5b
5540f0a
e228011
474b935
03f8d94
2d6d2ad
e3d2765
2eb2ed2
f8a42d6
06d4305
6633b9b
09f5fee
853d8e4
8a5e5bf
ec0bec8
f025e40
7fca971
c67e990
80c1d4c
8dae6f9
7321b69
dbf2567
443d373
b44f3b0
5e419bf
de3066f
2a78628
3903fa2
05c664f
79b4b60
0d659cb
eafff7d
c169a6f
5ec19a9
9151685
263108b
0af44bc
9927823
f989f02
2bba98e
fb66e5f
00d6357
03c1be7
41731ef
62b5f56
11d2a8e
08cbc04
d4e5e3d
ce413f9
1b539aa
77e6df3
178abca
1c6cc61
d52a384
416fd5a
71ce4ce
27ec6e8
5fab1fb
e2bda38
009f105
e39d844
fd0ab8e
206a066
09a1d19
aaf103d
b07e2d1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -274,20 +274,18 @@ export const reportingExportModalProvider = ({ | |
apiClient.getDecoratedJobParams(getJobParams(jobProviderOptions, 'pngV2')()) | ||
); | ||
|
||
const generateReportPDF = ({ | ||
intl, | ||
optimizedForPrinting = false, | ||
}: { | ||
intl: InjectedIntl; | ||
optimizedForPrinting?: boolean; | ||
}) => { | ||
const el = document.querySelector('[data-shared-items-container]'); | ||
const { height, width } = el ? el.getBoundingClientRect() : { height: 768, width: 1024 }; | ||
const dimensions = { height, width }; | ||
const generateReportPDF = ({ intl }: { intl: InjectedIntl }) => { | ||
const { layout: outerLayout } = getJobParams(jobProviderOptions, 'printablePdfV2')(); | ||
let dimensions = outerLayout?.dimensions; | ||
if (!dimensions) { | ||
const el = document.querySelector('[data-shared-items-container]'); | ||
const { height, width } = el ? el.getBoundingClientRect() : { height: 768, width: 1024 }; | ||
dimensions = { height, width }; | ||
} | ||
|
||
const decoratedJobParams = apiClient.getDecoratedJobParams({ | ||
...getJobParams(jobProviderOptions, 'printablePdfV2')(), | ||
layout: { id: optimizedForPrinting ? 'print' : 'preserve_layout', dimensions }, | ||
layout: { id: 'preserve_layout', dimensions }, | ||
objectType, | ||
title: sharingData.title, | ||
}); | ||
|
@@ -322,6 +320,9 @@ export const reportingExportModalProvider = ({ | |
), | ||
'data-test-subj': 'queueReportSuccess', | ||
}); | ||
if (onClose) { | ||
onClose(); | ||
} | ||
}) | ||
.catch((error: any) => { | ||
toasts.addError(error, { | ||
|
@@ -334,11 +335,73 @@ export const reportingExportModalProvider = ({ | |
}); | ||
}; | ||
|
||
const generateReportPNG = ({ intl }: { intl: InjectedIntl }) => { | ||
const el = document.querySelector('[data-shared-items-container]'); | ||
const { height, width } = el ? el.getBoundingClientRect() : { height: 768, width: 1024 }; | ||
const dimensions = { height, width }; | ||
const generateReportPDFForPrinting = ({ intl }: { intl: InjectedIntl }) => { | ||
const { layout: outerLayout } = getJobParams(jobProviderOptions, 'printablePdfV2')(); | ||
let dimensions = outerLayout?.dimensions; | ||
if (!dimensions) { | ||
const el = document.querySelector('[data-shared-items-container]'); | ||
const { height, width } = el ? el.getBoundingClientRect() : { height: 768, width: 1024 }; | ||
dimensions = { height, width }; | ||
} | ||
const decoratedJobParams = apiClient.getDecoratedJobParams({ | ||
...getJobParams(jobProviderOptions, 'printablePdfV2')(), | ||
layout: { id: 'print', dimensions }, | ||
objectType, | ||
title: sharingData.title, | ||
}); | ||
return apiClient | ||
.createReportingJob('printablePdfV2', decoratedJobParams) | ||
.then(() => { | ||
toasts.addSuccess({ | ||
title: intl.formatMessage( | ||
{ | ||
id: 'reporting.share.modalContent.successfullyQueuedReportNotificationTitle', | ||
defaultMessage: 'Queued report for {objectType}', | ||
}, | ||
{ objectType } | ||
), | ||
text: toMountPoint( | ||
<FormattedMessage | ||
id="reporting.share.modalContent.successfullyQueuedReportNotificationDescription" | ||
defaultMessage="Track its progress in {path}." | ||
values={{ | ||
path: ( | ||
<a href={apiClient.getManagementLink()}> | ||
<FormattedMessage | ||
id="reporting.share.publicNotifier.reportLink.reportingSectionUrlLinkLabel" | ||
defaultMessage="Stack Management > Reporting" | ||
/> | ||
</a> | ||
), | ||
}} | ||
/>, | ||
{ theme, i18n: i18nStart } | ||
), | ||
'data-test-subj': 'queueReportSuccess', | ||
}); | ||
if (onClose) { | ||
onClose(); | ||
} | ||
}) | ||
.catch((error: any) => { | ||
toasts.addError(error, { | ||
title: intl.formatMessage({ | ||
id: 'reporting.share.modalContent.notification.reportingErrorTitle', | ||
defaultMessage: 'Unable to create report', | ||
}), | ||
toastMessage: error.body?.message, | ||
}); | ||
}); | ||
}; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we have a reason for including this, the function body for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I had to change this back because it didn't work when the radio buttons were changed when the modal was rendered. |
||
|
||
const generateReportPNG = ({ intl }: { intl: InjectedIntl }) => { | ||
const { layout: outerLayout } = getJobParams(jobProviderOptions, 'printablePdfV2')(); | ||
let dimensions = outerLayout?.dimensions; | ||
if (!dimensions) { | ||
const el = document.querySelector('[data-shared-items-container]'); | ||
const { height, width } = el ? el.getBoundingClientRect() : { height: 768, width: 1024 }; | ||
dimensions = { height, width }; | ||
} | ||
const decoratedJobParams = apiClient.getDecoratedJobParams({ | ||
...getJobParams(jobProviderOptions, 'pngV2')(), | ||
layout: { id: 'preserve_layout', dimensions }, | ||
|
@@ -375,6 +438,9 @@ export const reportingExportModalProvider = ({ | |
), | ||
'data-test-subj': 'queueReportSuccess', | ||
}); | ||
if (onClose) { | ||
onClose(); | ||
} | ||
}) | ||
.catch((error: any) => { | ||
toasts.addError(error, { | ||
|
@@ -397,6 +463,7 @@ export const reportingExportModalProvider = ({ | |
['data-test-subj']: 'imageExports', | ||
}, | ||
label: 'PDF' as const, | ||
generateReportForPrinting: generateReportPDFForPrinting, | ||
generateReport: generateReportPDF, | ||
reportType: 'printablePdfV2', | ||
requiresSavedState, | ||
|
@@ -409,7 +476,6 @@ export const reportingExportModalProvider = ({ | |
generateReportButton: ( | ||
<FormattedMessage | ||
id="reporting.printablePdfV2.generateButtonLabel" | ||
data-test-subj="generateReportButton" | ||
defaultMessage="Generate export" | ||
/> | ||
), | ||
|
@@ -430,6 +496,8 @@ export const reportingExportModalProvider = ({ | |
['data-test-subj']: 'imageExports', | ||
}, | ||
label: 'PNG' as const, | ||
// avoids a bug where for printing toggled to on for PDF and then radio is selected for PNG | ||
generateReportForPrinting: generateReportPNG, | ||
generateReport: generateReportPNG, | ||
reportType: 'pngV2', | ||
requiresSavedState, | ||
|
@@ -443,7 +511,6 @@ export const reportingExportModalProvider = ({ | |
<FormattedMessage | ||
id="reporting.pngV2.generateButtonLabel" | ||
defaultMessage="Generate export" | ||
data-test-subj="generateReportButton" | ||
/> | ||
), | ||
layoutOption: objectType === 'dashboard' ? ('print' as const) : undefined, | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can delegate the responsibility of closing to some UI component much closer to where the sharing modal was opened, for instance in the export content component. what do you think?