sadpandajoe commented on code in PR #45619:
URL: https://github.com/apache/superset/pull/45619#discussion_r4354760846
##########
superset-frontend/src/explore/components/useExploreAdditionalActionsMenu/useExploreAdditionalActionsMenu.test.tsx:
##########
@@ -520,3 +520,29 @@ test('Export All Data JPEG screenshot passes
addWarningToast to downloadAsImage'
mockAddWarningToast,
);
});
+
+test('A Big Number chart keeps only the image exports in Data Export Options',
async () => {
+ render(
+ <TestComponent
+ {...defaultProps}
+ latestQueryFormData={{
+ datasource: '1__table',
+ viz_type: 'big_number_total',
+ }}
+ />,
+ {
+ useRedux: true,
+ initialState: { explore: { can_export_image: true } },
+ },
+ );
+
+ await userEvent.hover(await screen.findByText('Data Export Options'));
+ await userEvent.hover(await screen.findByText('Export All Data'));
Review Comment:
This test only opens "Export All Data", so the new `currentViewChildren`
filtering is never exercised. If that filter were removed, CSV/JSON/Excel/PDF
would reappear under "Export Current View" for a Big Number chart and this test
would still pass. Could you also hover "Export Current View" for this fixture
(the registry mock already enables it) and assert that only the screenshot
items remain?
##########
superset-frontend/src/utils/isImageOnlyExportViz.ts:
##########
@@ -0,0 +1,31 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import { VizType } from '@superset-ui/core';
+
+// A KPI card shows one final number: it has no table of data worth exporting,
and a PDF
+// of it is the same picture as the PNG. These charts offer image exports only.
+const IMAGE_ONLY_EXPORT_VIZ_TYPES: string[] = [
+ VizType.BigNumber,
Review Comment:
`VizType.BigNumber` is Big Number with Trendline, and its query returns the
timestamp/metric series, not just the final number. Listing it here removes
CSV/Excel export of that series in both the dashboard menu and Explore, so
someone who exports the daily values behind a KPI-with-trendline loses the only
way to get them. Should the trendline variant keep its data exports, with
image-only limited to `big_number_total` and `pop_kpi`?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]