From a39accdb42ce6921113506dda9dc0533b76da12f Mon Sep 17 00:00:00 2001 From: Dean Date: Tue, 7 Nov 2023 15:07:00 +0000 Subject: [PATCH] Test coverage added for the component. Minor refactor --- .../DataTable/modals/ExportModal.svelte | 53 ++-- .../DataTable/modals/ExportModal.test.js | 240 ++++++++++++++++++ packages/shared-core/src/utils.ts | 14 + 3 files changed, 281 insertions(+), 26 deletions(-) create mode 100644 packages/builder/src/components/backend/DataTable/modals/ExportModal.test.js diff --git a/packages/builder/src/components/backend/DataTable/modals/ExportModal.svelte b/packages/builder/src/components/backend/DataTable/modals/ExportModal.svelte index 61c81c86eb..c2a7ec33fe 100644 --- a/packages/builder/src/components/backend/DataTable/modals/ExportModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/ExportModal.svelte @@ -8,7 +8,8 @@ } from "@budibase/bbui" import download from "downloadjs" import { API } from "api" - import { Constants, LuceneUtils } from "@budibase/frontend-core" + import { LuceneUtils } from "@budibase/frontend-core" + import { utils } from "@budibase/shared-core" import { ROW_EXPORT_FORMATS } from "constants/backend" export let view @@ -17,8 +18,6 @@ export let selectedRows = [] export let formats - $: appliedFilters = filters?.filter(filter => !filter.onEmptyFilter) - const FORMATS = [ { name: "CSV", @@ -34,6 +33,8 @@ }, ] + $: appliedFilters = filters?.filter(filter => !filter.onEmptyFilter) + $: options = FORMATS.filter(format => { if (formats && !formats.includes(format.key)) { return false @@ -55,14 +56,7 @@ appliedFilters ) - const buildFilterLookup = () => { - return Object.keys(Constants.OperatorOptions).reduce((acc, key) => { - const op = Constants.OperatorOptions[key] - acc[op.value] = op.label - return acc - }, {}) - } - filterLookup = buildFilterLookup() + filterLookup = utils.filterValueToLabel() const filterDisplay = () => { if (!appliedFilters) { @@ -173,19 +167,23 @@ > {#if selectedRows?.length} - {selectedRows?.length} - {`row${selectedRows?.length > 1 ? "s" : ""} will be exported`} + + {selectedRows?.length} + {`row${selectedRows?.length > 1 ? "s" : ""} will be exported`} + {:else if appliedFilters?.length || (sorting?.sortOrder && sorting?.sortColumn)} {#if !appliedFilters} - Exporting all rows + + Exporting all rows + {:else} - Filters applied + Filters applied {/if} -
+
{:else} - Exporting all rows + + Exporting all rows + {/if} - - x.name} + getOptionValue={x => x.key} + /> +